@inspectr/mcplab 1.21.0 → 1.21.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -53,7 +53,7 @@ If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHid
53
53
  For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return m.useEffect(()=>{e&&(document.getElementById(e)||console.error(n))},[n,e]),null},PY="DialogDescriptionWarning",EY=({contentRef:e,descriptionId:t})=>{const r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${m3(PY).contentName}}.`;return m.useEffect(()=>{const s=e.current?.getAttribute("aria-describedby");t&&s&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null},Rv=t3,TY=r3,Ov=s3,fu=i3,pu=o3,If=c3,$f=d3,Mv=p3;const v3=Rv,RY=Ov,g3=m.forwardRef(({className:e,...t},n)=>a.jsx(fu,{className:Pe("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t,ref:n}));g3.displayName=fu.displayName;const OY=gl("fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),nC=m.forwardRef(({side:e="right",className:t,children:n,...r},s)=>a.jsxs(RY,{children:[a.jsx(g3,{}),a.jsxs(pu,{ref:s,className:Pe(OY({side:e}),t),...r,children:[n,a.jsxs(Mv,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity data-[state=open]:bg-secondary hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none",children:[a.jsx(Ra,{className:"h-4 w-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));nC.displayName=pu.displayName;const x3=({className:e,...t})=>a.jsx("div",{className:Pe("flex flex-col space-y-2 text-center sm:text-left",e),...t});x3.displayName="SheetHeader";const y3=m.forwardRef(({className:e,...t},n)=>a.jsx(If,{ref:n,className:Pe("text-lg font-semibold text-foreground",e),...t}));y3.displayName=If.displayName;const MY=m.forwardRef(({className:e,...t},n)=>a.jsx($f,{ref:n,className:Pe("text-sm text-muted-foreground",e),...t}));MY.displayName=$f.displayName;function iE({className:e,...t}){return a.jsx("div",{className:Pe("animate-pulse rounded-md bg-muted",e),...t})}const IY="sidebar:state",$Y=3600*24*7,DY="16rem",LY="18rem",FY="3rem",zY="b",b3=m.createContext(null);function Df(){const e=m.useContext(b3);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}const w3=m.forwardRef(({defaultOpen:e=!0,open:t,onOpenChange:n,className:r,style:s,children:i,...o},c)=>{const d=gG(),[f,h]=m.useState(!1),[p,g]=m.useState(e),x=t??p,j=m.useCallback(N=>{const C=typeof N=="function"?N(x):N;n?n(C):g(C),document.cookie=`${IY}=${C}; path=/; max-age=${$Y}`},[n,x]),y=m.useCallback(()=>d?h(N=>!N):j(N=>!N),[d,j,h]);m.useEffect(()=>{const N=C=>{C.key===zY&&(C.metaKey||C.ctrlKey)&&(C.preventDefault(),y())};return window.addEventListener("keydown",N),()=>window.removeEventListener("keydown",N)},[y]);const b=x?"expanded":"collapsed",S=m.useMemo(()=>({state:b,open:x,setOpen:j,isMobile:d,openMobile:f,setOpenMobile:h,toggleSidebar:y}),[b,x,j,d,f,h,y]);return a.jsx(b3.Provider,{value:S,children:a.jsx(ci,{delayDuration:0,children:a.jsx("div",{style:{"--sidebar-width":DY,"--sidebar-width-icon":FY,...s},className:Pe("group/sidebar-wrapper flex min-h-svh w-full has-[[data-variant=inset]]:bg-sidebar",r),ref:c,...o,children:i})})})});w3.displayName="SidebarProvider";const j3=m.forwardRef(({side:e="left",variant:t="sidebar",collapsible:n="offcanvas",className:r,children:s,...i},o)=>{const{isMobile:c,state:d,openMobile:f,setOpenMobile:h}=Df();return n==="none"?a.jsx("div",{className:Pe("flex h-full w-[--sidebar-width] flex-col bg-sidebar text-sidebar-foreground",r),ref:o,...i,children:s}):c?a.jsx(v3,{open:f,onOpenChange:h,...i,children:a.jsx(nC,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":LY},side:e,children:a.jsx("div",{className:"flex h-full w-full flex-col",children:s})})}):a.jsxs("div",{ref:o,className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":d==="collapsed"?n:"","data-variant":t,"data-side":e,children:[a.jsx("div",{className:Pe("relative h-svh w-[--sidebar-width] bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",t==="floating"||t==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),a.jsx("div",{className:Pe("fixed inset-y-0 z-10 hidden h-svh w-[--sidebar-width] transition-[left,right,width] duration-200 ease-linear md:flex",e==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",t==="floating"||t==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l",r),...i,children:a.jsx("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow",children:s})})]})});j3.displayName="Sidebar";const S3=m.forwardRef(({className:e,onClick:t,...n},r)=>{const{toggleSidebar:s}=Df();return a.jsxs(re,{ref:r,"data-sidebar":"trigger",variant:"ghost",size:"icon",className:Pe("h-7 w-7",e),onClick:i=>{t?.(i),s()},...n,children:[a.jsx(x9,{}),a.jsx("span",{className:"sr-only",children:"Toggle Sidebar"})]})});S3.displayName="SidebarTrigger";const BY=m.forwardRef(({className:e,...t},n)=>{const{toggleSidebar:r}=Df();return a.jsx("button",{ref:n,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:Pe("absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] group-data-[side=left]:-right-4 group-data-[side=right]:left-0 hover:after:bg-sidebar-border sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",e),...t})});BY.displayName="SidebarRail";const qY=m.forwardRef(({className:e,...t},n)=>a.jsx("main",{ref:n,className:Pe("relative flex min-h-svh flex-1 flex-col bg-background","peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow",e),...t}));qY.displayName="SidebarInset";const UY=m.forwardRef(({className:e,...t},n)=>a.jsx(jt,{ref:n,"data-sidebar":"input",className:Pe("h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring",e),...t}));UY.displayName="SidebarInput";const N3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"header",className:Pe("flex flex-col gap-2 p-2",e),...t}));N3.displayName="SidebarHeader";const C3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"footer",className:Pe("flex flex-col gap-2 p-2",e),...t}));C3.displayName="SidebarFooter";const $S=m.forwardRef(({className:e,...t},n)=>a.jsx(U5,{ref:n,"data-sidebar":"separator",className:Pe("mx-2 w-auto bg-sidebar-border",e),...t}));$S.displayName="SidebarSeparator";const _3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"content",className:Pe("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),...t}));_3.displayName="SidebarContent";const A3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"group",className:Pe("relative flex w-full min-w-0 flex-col p-2",e),...t}));A3.displayName="SidebarGroup";const k3=m.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const s=t?lo:"div";return a.jsx(s,{ref:r,"data-sidebar":"group-label",className:Pe("flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opa] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",e),...n})});k3.displayName="SidebarGroupLabel";const WY=m.forwardRef(({className:e,asChild:t=!1,...n},r)=>{const s=t?lo:"button";return a.jsx(s,{ref:r,"data-sidebar":"group-action",className:Pe("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",e),...n})});WY.displayName="SidebarGroupAction";const P3=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"group-content",className:Pe("w-full text-sm",e),...t}));P3.displayName="SidebarGroupContent";const E3=m.forwardRef(({className:e,...t},n)=>a.jsx("ul",{ref:n,"data-sidebar":"menu",className:Pe("flex w-full min-w-0 flex-col gap-1",e),...t}));E3.displayName="SidebarMenu";const T3=m.forwardRef(({className:e,...t},n)=>a.jsx("li",{ref:n,"data-sidebar":"menu-item",className:Pe("group/menu-item relative",e),...t}));T3.displayName="SidebarMenuItem";const VY=gl("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"}},defaultVariants:{variant:"default",size:"default"}}),R3=m.forwardRef(({asChild:e=!1,isActive:t=!1,variant:n="default",size:r="default",tooltip:s,className:i,...o},c)=>{const d=e?lo:"button",{isMobile:f,state:h}=Df(),p=a.jsx(d,{ref:c,"data-sidebar":"menu-button","data-size":r,"data-active":t,className:Pe(VY({variant:n,size:r}),i),...o});return s?(typeof s=="string"&&(s={children:s}),a.jsxs(ui,{children:[a.jsx(di,{asChild:!0,children:p}),a.jsx(Es,{side:"right",align:"center",hidden:h!=="collapsed"||f,...s})]})):p});R3.displayName="SidebarMenuButton";const HY=m.forwardRef(({className:e,asChild:t=!1,showOnHover:n=!1,...r},s)=>{const i=t?lo:"button";return a.jsx(i,{ref:s,"data-sidebar":"menu-action",className:Pe("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform peer-hover/menu-button:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",n&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",e),...r})});HY.displayName="SidebarMenuAction";const KY=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,"data-sidebar":"menu-badge",className:Pe("pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground","peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e),...t}));KY.displayName="SidebarMenuBadge";const GY=m.forwardRef(({className:e,showIcon:t=!1,...n},r)=>{const s=m.useMemo(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return a.jsxs("div",{ref:r,"data-sidebar":"menu-skeleton",className:Pe("flex h-8 items-center gap-2 rounded-md px-2",e),...n,children:[t&&a.jsx(iE,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),a.jsx(iE,{className:"h-4 max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})});GY.displayName="SidebarMenuSkeleton";const YY=m.forwardRef(({className:e,...t},n)=>a.jsx("ul",{ref:n,"data-sidebar":"menu-sub",className:Pe("mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5","group-data-[collapsible=icon]:hidden",e),...t}));YY.displayName="SidebarMenuSub";const XY=m.forwardRef(({...e},t)=>a.jsx("li",{ref:t,...e}));XY.displayName="SidebarMenuSubItem";const QY=m.forwardRef(({asChild:e=!1,size:t="md",isActive:n,className:r,...s},i)=>{const o=e?lo:"a";return a.jsx(o,{ref:i,"data-sidebar":"menu-sub-button","data-size":t,"data-active":n,className:Pe("flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring aria-disabled:pointer-events-none aria-disabled:opacity-50 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground","data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",t==="sm"&&"text-xs",t==="md"&&"text-sm","group-data-[collapsible=icon]:hidden",r),...s})});QY.displayName="SidebarMenuSubButton";const O3=m.forwardRef(({className:e,activeClassName:t,pendingClassName:n,to:r,...s},i)=>a.jsx(iG,{ref:i,to:r,className:({isActive:o,isPending:c})=>Pe(e,o&&t,c&&n),...s}));O3.displayName="NavLink";function JY({width:e=24,height:t=24,from:n="#53afba",to:r="#76fffb",...s}){const i=`grad-${m.useId().slice(1)}`;return a.jsxs("svg",{className:"inline-block",width:e,height:t,viewBox:"0 0 1648 1648",xmlns:"http://www.w3.org/2000/svg",...s,children:[a.jsx("defs",{children:a.jsxs("linearGradient",{id:i,x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:[a.jsx("stop",{offset:"0%",style:{stopColor:n}}),a.jsx("stop",{offset:"100%",style:{stopColor:r}})]})}),a.jsx("path",{d:"m610 216.654c-66.158 4.092-126.119 35.849-164.917 87.346-8.408 11.16-13.344 19.191-19.983 32.513-12.431 24.946-19.521 50.434-22.11 79.487-1.665 18.687-.854 826.238.841 837.939 7.867 54.284 32.465 101.134 70.706 134.667 16.297 14.291 32.283 24.657 53.963 34.991 16.889 8.05 34.568 13.468 60.5 18.541 9.019 1.764 52.201 1.795 61.5.044 26.487-4.989 43.97-10.341 61-18.675 15.131-7.406 21.53-11.135 60.5-35.267 20.813-12.887 23.095-14.298 29.5-18.24l13-8 13-8c6.901-4.247 12.593-7.767 29.54-18.271 5.796-3.593 12.771-7.863 15.5-9.49 2.728-1.626 8.56-5.19 12.96-7.921 4.4-2.73 72.575-44.711 151.5-93.29s150.925-92.918 160-98.531c9.075-5.612 24.15-14.936 33.5-20.719s23.075-14.234 30.5-18.78c85.169-52.142 120.029-73.942 130.014-81.304 40.974-30.211 68.344-69.764 81.788-118.194 13.864-49.94 8.549-104.847-14.809-153-16.836-34.708-41.252-62.432-74.993-85.154-4.125-2.778-17.625-11.26-30-18.849s-27-16.594-32.5-20.009c-5.5-3.416-109.45-67.427-231-142.246-306.386-188.593-335.221-206.352-350-215.553-30.562-19.028-59.301-29.911-90-34.083-11.697-1.59-30.408-2.514-39.5-1.952m-10.5 77.269c-39.541 6.402-76.013 29.73-97.661 62.467-13.001 19.66-19.718 38.39-22.802 63.584-1.472 12.028-1.434 802.191.04 818.026 1.861 19.998 6.142 35.48 14.415 52.133 17.942 36.114 53.025 64.18 91.508 73.203 3.575.839 8.975 2.118 12 2.844 8.221 1.973 40.343 1.613 49.971-.56 32.301-7.289 65.233-26.686 94.817-55.849 15.26-15.042 22.884-24.803 33.571-42.979 13.939-23.706 20.949-43.36 27.745-77.792 1.004-5.086 1.428-50 1.949-206.5.465-139.686 1.001-201.809 1.777-206 .611-3.3 1.608-9.15 2.217-13 1.672-10.583 4.039-21.117 7.191-32 8.179-28.247 20.714-55.13 37.188-79.751 24.262-36.262 53.189-63.572 93.074-87.872 4.95-3.016 12.825-7.435 17.5-9.82s8.95-4.668 9.5-5.074c3.565-2.63 34.688-13.266 52.465-17.93 6.2-1.627 11.49-3.174 11.754-3.439 1.003-1.002-1.016-2.602-10.967-8.689-5.639-3.449-16.552-10.172-24.252-14.94-13.435-8.319-31.76-19.604-58.5-36.029-6.875-4.222-16.1-9.911-20.5-12.641-7.667-4.758-73.088-45.103-122.5-75.546-75.227-46.348-108.509-66.591-116.5-70.86-9.422-5.033-25.23-10.76-37.043-13.419-7.967-1.794-40.076-2.843-47.957-1.567m473.5 305.564c-5.775.685-11.625 1.491-13 1.792-1.375.3-5.2 1.088-8.5 1.749-7.914 1.587-27.103 7.461-36.5 11.174-38.797 15.33-75.171 44.925-98.829 80.41-11.24 16.86-21.329 38.407-26.167 55.888-2.443 8.825-3.85 14.608-4.866 20-.621 3.3-1.653 8.475-2.292 11.5-.846 4.008-1.345 59.624-1.837 205-.618 182.331-.824 200.361-2.399 209.5-1.629 9.459-4.196 22.506-6.744 34.279-.628 2.903-.881 5.54-.561 5.859.596.596 455.986-279.084 472.195-290.001 17.547-11.819 36.335-33.412 46.291-53.203 3.956-7.863 9.527-23.924 11.597-33.434 4.848-22.272 3.572-48.26-3.506-71.387-6.907-22.572-18.055-40.93-35.316-58.158-12.705-12.681-16.829-15.485-79.066-53.756-7.15-4.397-15.7-9.654-19-11.684-3.3-2.029-8.925-5.504-12.5-7.722-53.826-33.397-67.199-40.611-88.616-47.8-29.343-9.85-61.599-13.421-90.384-10.006m-1066.25 1048.256c3.988.189 10.513.189 14.5 0 3.988-.19.725-.346-7.25-.346s-11.238.156-7.25.346",fill:`url(#${i})`,fillRule:"evenodd"})]})}const ZY=[{title:"Home",items:[{title:"Dashboard",url:"/",icon:ED}]},{title:"Lab",items:[{title:"MCP Evaluations",url:"/mcp-evaluations",icon:kD},{title:"Analyze MCP",url:"/tool-analysis",icon:TD},{title:"OAuth Debugger",url:"/oauth-debugger",icon:w9}]},{title:"Libraries",items:[{title:"Test Cases",url:"/libraries/test-cases",icon:AD},{title:"MCP servers",url:"/libraries/servers",icon:_D},{title:"Agents",url:"/libraries/agents",icon:Ar}]},{title:"Execution",items:[{title:"Run Evaluation",url:"/run",icon:is},{title:"Evaluation Results",url:"/results",icon:Ac},{title:"Compare Evaluations",url:"/compare",icon:PD},{title:"MCP Analysis Results",url:"/tool-analysis-results",icon:RD},{title:"Custom Reports",url:"/markdown-reports",icon:pc}]},{title:"Workspace",items:[{title:"Settings",url:"/settings",icon:IN},{title:"MCPLab MCP server",url:"/settings/mcp",icon:gS}]}];function eX(e={version:null}){const t=e.version??null,{state:n}=Df(),r=n==="collapsed",s=ds(),i=m.useMemo(()=>ZY,[]);return a.jsxs(j3,{collapsible:"icon",children:[a.jsx(N3,{className:`border-b border-sidebar-border py-3 ${r?"px-2":"px-4"}`,children:a.jsxs("div",{className:`flex items-center ${r?"justify-center overflow-visible":"gap-2.5 overflow-hidden"}`,children:[a.jsx("div",{className:"flex h-8 w-8 shrink-0 items-center justify-center rounded-lg bg-sidebar-accent/50 border border-primary/60",children:a.jsx(JY,{width:22,height:22,from:"#f97316",to:"#fb923c"})}),!r&&a.jsxs("div",{className:"flex flex-col",children:[a.jsx("span",{className:"text-sm font-semibold text-sidebar-foreground",children:"MCPLab"}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"MCP Evaluation Lab"})]})]})}),a.jsx(_3,{children:i.map((o,c)=>a.jsxs("div",{children:[c>0&&!r&&a.jsx($S,{className:"my-1.5"}),a.jsxs(A3,{className:r?"px-2":"px-3 py-2",children:[!r&&a.jsx(k3,{className:"px-1 pb-1.5 text-[10px] font-semibold uppercase tracking-[0.08em] text-muted-foreground/90",children:o.title}),a.jsx(P3,{children:a.jsx(E3,{children:o.items.map(d=>a.jsx(T3,{children:a.jsx(R3,{asChild:!0,isActive:d.url==="/"?s.pathname==="/":d.url==="/settings"?s.pathname==="/settings":s.pathname.startsWith(d.url),tooltip:d.title,children:a.jsxs(O3,{to:d.url,end:d.url==="/"||d.url==="/settings",activeClassName:"bg-sidebar-accent text-sidebar-accent-foreground",children:[a.jsx(d.icon,{className:"h-4 w-4"}),a.jsx("span",{children:d.title})]})})},d.title))})})]})]},o.title))}),a.jsxs(C3,{className:r?"px-2 py-2":"px-3 py-3",children:[a.jsx($S,{className:"my-1.5"}),a.jsxs("div",{className:`flex ${r?"justify-center":"items-center justify-center gap-2"} w-full`,children:[a.jsxs("a",{href:"https://github.com/inspectr-hq/mcplab",target:"_blank",rel:"noreferrer",className:`inline-flex items-center rounded-md border border-sidebar-border/70 bg-sidebar-accent/20 text-sidebar-foreground/85 transition-colors hover:bg-sidebar-accent/35 hover:text-sidebar-foreground ${r?"justify-center p-2":"gap-2 px-2.5 py-1.5"}`,title:`GitHub${t?` · v${t}`:""}`,"aria-label":"GitHub repository",children:[a.jsx(f9,{className:"h-4 w-4 shrink-0"}),!r&&a.jsx("span",{className:"text-xs text-sidebar-foreground/85",children:`v${t??"unknown"}`})]}),!r&&a.jsxs("a",{href:"https://inspectr.dev",target:"_blank",rel:"noreferrer",className:"text-xs text-muted-foreground transition-colors hover:text-sidebar-foreground",children:["Built by ",a.jsx("span",{className:"text-[#00e5ff] hover:text-[#00b8d4]",children:"Inspectr"})]})]})]})]})}const M3=m.forwardRef(({...e},t)=>a.jsx("nav",{ref:t,"aria-label":"breadcrumb",...e}));M3.displayName="Breadcrumb";const I3=m.forwardRef(({className:e,...t},n)=>a.jsx("ol",{ref:n,className:Pe("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...t}));I3.displayName="BreadcrumbList";const $3=m.forwardRef(({className:e,...t},n)=>a.jsx("li",{ref:n,className:Pe("inline-flex items-center gap-1.5",e),...t}));$3.displayName="BreadcrumbItem";const D3=m.forwardRef(({asChild:e,className:t,...n},r)=>{const s=e?lo:"a";return a.jsx(s,{ref:r,className:Pe("transition-colors hover:text-foreground",t),...n})});D3.displayName="BreadcrumbLink";const L3=m.forwardRef(({className:e,...t},n)=>a.jsx("span",{ref:n,role:"link","aria-disabled":"true","aria-current":"page",className:Pe("font-normal text-foreground",e),...t}));L3.displayName="BreadcrumbPage";const F3=({children:e,className:t,...n})=>a.jsx("li",{role:"presentation","aria-hidden":"true",className:Pe("[&>svg]:size-3.5",t),...n,children:e??a.jsx(RN,{})});F3.displayName="BreadcrumbSeparator";function bs(){return{input:0,output:0,total:0,hasInput:!1,hasOutput:!1,hasTotal:!1}}function cc(e,t){t&&(typeof t.inputTokens=="number"&&(e.input+=t.inputTokens,e.hasInput=!0),typeof t.outputTokens=="number"&&(e.output+=t.outputTokens,e.hasOutput=!0),typeof t.totalTokens=="number"&&(e.total+=t.totalTokens,e.hasTotal=!0))}function Xs(e){return!e.hasInput&&!e.hasOutput&&!e.hasTotal?null:{inputTokens:e.hasInput?e.input:null,outputTokens:e.hasOutput?e.output:null,totalTokens:e.hasTotal?e.total:null}}function tX(e){const t=bs();for(const n of e)cc(t,n);return Xs(t)}function nX(e,t){return`${e}-${t+1}`}function rX(e){switch(e.type){case"regex":return{type:"response_regex",value:e.pattern};case"contains":return{type:"response_contains",value:e.value};case"not_contains":return{type:"response_not_contains",value:e.value};case"starts_with":return{type:"response_starts_with",value:e.value};case"ends_with":return{type:"response_ends_with",value:e.value};case"equals":return{type:"response_equals",value:e.value};case"jsonpath":return{type:"response_jsonpath",path:e.path,equals:e.equals};case"jsonpath_exists":return{type:"response_jsonpath_exists",path:e.path};case"jsonpath_not_exists":return{type:"response_jsonpath_not_exists",path:e.path};default:throw new Error(`Unsupported response assertion type in config: ${String(e?.type??"(missing type)")}`)}}function aX(e){return e.type==="required_tool"||e.type==="forbidden_tool"?null:e.type==="response_contains"?e.value?{type:"contains",value:e.value}:null:e.type==="response_not_contains"?e.value?{type:"not_contains",value:e.value}:null:e.type==="response_starts_with"?e.value?{type:"starts_with",value:e.value}:null:e.type==="response_ends_with"?e.value?{type:"ends_with",value:e.value}:null:e.type==="response_equals"?e.value?{type:"equals",value:e.value}:null:e.type==="response_regex"?e.value?{type:"regex",pattern:e.value}:null:e.type==="response_jsonpath"?e.path?.trim()?e.equals!==void 0?{type:"jsonpath",path:e.path.trim(),equals:e.equals}:{type:"jsonpath",path:e.path.trim()}:null:e.type==="response_jsonpath_exists"?e.path?.trim()?{type:"jsonpath_exists",path:e.path.trim()}:null:e.type==="response_jsonpath_not_exists"&&e.path?.trim()?{type:"jsonpath_not_exists",path:e.path.trim()}:null}function sX(e){const t=e.filter(i=>i.type==="required_tool").map(i=>i.value).filter(i=>typeof i=="string"&&i.length>0),n=e.filter(i=>i.type==="forbidden_tool").map(i=>i.value).filter(i=>typeof i=="string"&&i.length>0),r=e.map(i=>aX(i)).filter(i=>!!i),s=t.length>0||n.length>0?{...t.length>0?{required_tools:t}:{},...n.length>0?{forbidden_tools:n}:{}}:void 0;if(!(!s&&r.length===0))return{...s?{tool_constraints:s}:{},...r.length>0?{response_assertions:r}:{}}}function iX(e){if(e.length!==0)return e.map(t=>({name:t.name,from:"final_text",regex:t.pattern}))}function z3(e,t){const n=sX(e.evalRules),r=iX(e.extractRules);return{id:e.id,name:e.name||void 0,mcp_servers:t,prompt:e.prompt,eval:n,extract:r}}function oE(e){if(!("id"in e)||!e.id)return null;const t=String(e.id),n=e.auth,r={id:t,name:String(e.name||t),transport:"streamable-http",url:String(e.url||""),authType:n?.type==="bearer"?"bearer":n?.type==="api_key"||n?.type==="oauth_client_credentials"?"api-key":n?.type==="oauth_authorization_code"?"oauth2":"none",authValue:n?.type==="bearer"?String(n.token||"")||(n.env?`\${${n.env}}`:void 0):n?.type==="api_key"?String(n.value||""):void 0,apiKeyHeaderName:n?.type==="api_key"?String(n.header_name||""):void 0,oauthClientId:n?.type==="oauth_authorization_code"&&String(n.client_id||"")||void 0,oauthClientSecret:n?.type==="oauth_authorization_code"&&String(n.client_secret||"")||void 0,oauthRedirectUrl:n?.type==="oauth_authorization_code"&&String(n.redirect_url||"")||void 0,oauthScope:(n?.type==="oauth_authorization_code"||n?.type==="oauth_client_credentials")&&String(n.scope||"")||void 0,oauthMode:n?.type==="oauth_authorization_code"?n.mode:void 0,oauthAuthorizationUrl:n?.type==="oauth_authorization_code"&&String(n.authorization_url||"")||void 0,oauthTokenEndpoint:n?.type==="oauth_authorization_code"&&String(n.token_url||"")||void 0,oauthTokenUrl:n?.type==="oauth_client_credentials"?String(n.token_url||""):void 0,oauthClientIdEnv:n?.type==="oauth_client_credentials"?String(n.client_id_env||""):void 0,oauthClientSecretEnv:n?.type==="oauth_client_credentials"?String(n.client_secret_env||""):void 0,oauthAudience:n?.type==="oauth_client_credentials"&&String(n.audience||"")||void 0};return{id:t,server:r}}function Lh(e){const t=typeof e.config.name=="string"&&e.config.name.trim().length>0?e.config.name.trim():void 0,n=Array.isArray(e.config.servers)?e.config.servers:[],r=Array.isArray(e.config.agents)?e.config.agents:[],s=new Map,i=[],o=[];for(const p of n){if("ref"in p){const b=String(p.ref||"").trim();if(!b)continue;s.set(b,b),o.push({kind:"referenced",ref:b});continue}const g=String(p.id||p.name||"").trim();if(!g)continue;const x=g;s.set(g,x);const j=p.auth?.type==="bearer"?"bearer":p.auth?.type==="api_key"||p.auth?.type==="oauth_client_credentials"?"api-key":p.auth?.type==="oauth_authorization_code"?"oauth2":"none",y={id:x,name:String(p.name||g),transport:"streamable-http",url:p.url,authType:j,authValue:p.auth?.type==="bearer"?p.auth.token??(p.auth.env?`\${${p.auth.env}}`:void 0):p.auth?.type==="api_key"?p.auth.value:void 0,apiKeyHeaderName:p.auth?.type==="api_key"?p.auth.header_name:void 0,oauthClientId:p.auth?.type==="oauth_authorization_code"?p.auth.client_id:void 0,oauthClientSecret:p.auth?.type==="oauth_authorization_code"?p.auth.client_secret:void 0,oauthRedirectUrl:p.auth?.type==="oauth_authorization_code"?p.auth.redirect_url:void 0,oauthScope:p.auth?.type==="oauth_authorization_code"||p.auth?.type==="oauth_client_credentials"?p.auth.scope:void 0,oauthMode:p.auth?.type==="oauth_authorization_code"?p.auth.mode:void 0,oauthAuthorizationUrl:p.auth?.type==="oauth_authorization_code"?p.auth.authorization_url:void 0,oauthTokenEndpoint:p.auth?.type==="oauth_authorization_code"?p.auth.token_url:void 0,oauthTokenUrl:p.auth?.type==="oauth_client_credentials"?p.auth.token_url:void 0,oauthClientIdEnv:p.auth?.type==="oauth_client_credentials"?p.auth.client_id_env:void 0,oauthClientSecretEnv:p.auth?.type==="oauth_client_credentials"?p.auth.client_secret_env:void 0,oauthAudience:p.auth?.type==="oauth_client_credentials"?p.auth.audience:void 0};i.push(y),o.push({kind:"inline",server:y})}const c=[],d=[];for(const p of r){if("ref"in p){const b=String(p.ref||"").trim();if(!b)continue;d.push({kind:"referenced",ref:b});continue}const g=String(p.id||p.name||"").trim();if(!g)continue;const x=g,j=p.provider==="azure_openai"?"azure":p.provider,y={id:x,name:String(p.name||g),provider:j,model:p.model,temperature:p.temperature??0,maxTokens:p.max_tokens??2048,maxTurns:p.max_turns,systemPrompt:p.system};c.push(y),d.push({kind:"inline",agent:y})}const f=[],h=[];return e.config.scenarios.forEach((p,g)=>{if("ref"in p){const y=String(p.ref||"").trim();if(!y)return;const b=p.mcp_servers,S=Array.isArray(b)?b.flatMap(N=>{if("ref"in N&&N.ref)return[{kind:"referenced",ref:String(N.ref)}];const C=oE(N);return C?[{kind:"inline",server:C.server}]:[]}):void 0;h.push({kind:"referenced",ref:y,...S?{mcpServers:S}:{}});return}const x=[];for(const y of p.eval?.tool_constraints?.required_tools??[])x.push({type:"required_tool",value:y});for(const y of p.eval?.tool_constraints?.forbidden_tools??[])x.push({type:"forbidden_tool",value:y});for(const y of p.eval?.response_assertions??[])x.push(rX(y));const j={id:p.id||nX("scn",g),name:p.name||p.id||`Scenario ${g+1}`,serverIds:(()=>{if((p.servers??[]).length>0)return p.servers.map(b=>s.get(b)??b).filter(Boolean);const y=p.mcp_servers;return Array.isArray(y)?y.flatMap(b=>{if("ref"in b&&b.ref)return[String(b.ref)];const S=oE(b);if(S){const N=S.id;return s.has(N)||(s.set(N,N),i.push(S.server),o.push({kind:"inline",server:i[i.length-1]})),[N]}return[]}):[]})(),prompt:p.prompt,evalRules:x,extractRules:(p.extract??[]).map(y=>({name:y.name,pattern:y.regex}))};f.push(j),h.push({kind:"inline",scenario:j})}),{id:e.id,name:t||e.name,configName:t,configHash:e.hash,description:e.path,...e.relativePath?{relativePath:e.relativePath}:{},...e.suitePath!==void 0?{suitePath:e.suitePath}:{},loadError:e.error,loadWarnings:e.warnings,servers:i,serverEntries:o,agents:c,agentEntries:d,scenarios:f,scenarioEntries:h,runDefaults:e.config.run_defaults?.selected_agents&&e.config.run_defaults.selected_agents.length>0?{selectedAgentNames:[...e.config.run_defaults.selected_agents]}:void 0,createdAt:e.mtime,updatedAt:e.mtime,sourcePath:e.path}}function oX(e){const t={id:"library",name:"library",path:"library",mtime:new Date(0).toISOString(),hash:"",config:{servers:Object.entries(e.servers).map(([r,s])=>({id:r,name:s.name||r,transport:s.transport,url:s.url,auth:s.auth})),agents:Object.entries(e.agents).map(([r,s])=>({id:r,name:s.name||r,provider:s.provider,model:s.model,temperature:s.temperature,max_tokens:s.max_tokens,max_turns:s.max_turns,system:s.system})),scenarios:e.scenarios}},n=Lh(t);return{servers:n.servers,agents:n.agents,scenarios:n.scenarios}}function lE(e){const t=new Map,n=x=>{const j=x.id,y=x.authValue?.trim()??"",b=x.apiKeyHeaderName?.trim()??"",S=x.authType==="bearer"?(()=>{if(!y)throw new Error(`Server '${j}' is missing bearer token value`);return{type:"bearer",token:y}})():x.authType==="api-key"&&!x.oauthTokenUrl?{type:"api_key",...b?{header_name:b}:{},value:(()=>{if(!y)throw new Error(`Server '${j}' is missing API key value`);return y})()}:x.authType==="api-key"?{type:"oauth_client_credentials",token_url:x.oauthTokenUrl||"",client_id_env:x.oauthClientIdEnv||"",client_secret_env:x.oauthClientSecretEnv||"",...x.oauthScope?{scope:x.oauthScope}:{},...x.oauthAudience?{audience:x.oauthAudience}:{}}:x.authType==="oauth2"?{type:"oauth_authorization_code",...x.oauthMode==="dcr"?{mode:"dcr"}:{},...x.oauthMode!=="dcr"&&x.oauthClientId?{client_id:x.oauthClientId}:{},...x.oauthClientSecret?{client_secret:x.oauthClientSecret}:{},...x.oauthRedirectUrl?{redirect_url:x.oauthRedirectUrl}:{},...x.oauthScope?{scope:x.oauthScope}:{},...x.oauthAuthorizationUrl?{authorization_url:x.oauthAuthorizationUrl}:{},...x.oauthTokenEndpoint?{token_url:x.oauthTokenEndpoint}:{}}:void 0;return{id:j,...x.name&&x.name!==j?{name:x.name}:{},transport:"http",url:x.url||"http://localhost:3000/mcp",...S!==void 0?{auth:S}:{}}},r=e.serverEntries&&e.serverEntries.length>0?e.serverEntries:[...e.servers.map(x=>({kind:"inline",server:x}))],s=new Set,i=new Map,o=r.flatMap(x=>{if(x.kind==="referenced"){const y=String(x.ref||"").trim();return!y||s.has(y)?[]:(s.add(y),t.set(y,y),[{ref:y}])}const j=n(x.server);return t.set(x.server.id,j.id),i.set(j.id,j),[j]}),c=x=>{const j=x.id;return{id:j,...x.name&&x.name!==j?{name:x.name}:{},provider:x.provider==="azure"?"azure_openai":x.provider==="anthropic"?"anthropic":"openai",model:x.model,temperature:x.temperature,max_tokens:x.maxTokens,max_turns:x.maxTurns,system:x.systemPrompt}},d=e.agentEntries&&e.agentEntries.length>0?e.agentEntries:[...e.agents.map(x=>({kind:"inline",agent:x}))],f=new Set,h=d.flatMap(x=>{if(x.kind==="referenced"){const j=String(x.ref||"").trim();return!j||f.has(j)?[]:(f.add(j),[{ref:j}])}return[c(x.agent)]}),p=x=>{const j=x.serverIds.length>0?x.serverIds.map(y=>{const b=t.get(y)??y;return i.get(b)??{ref:b}}):void 0;return z3(x,j)},g=e.scenarioEntries&&e.scenarioEntries.length>0?e.scenarioEntries.map(x=>x.kind==="referenced"?{ref:x.ref,...Array.isArray(x.mcpServers)?{mcp_servers:x.mcpServers.map(j=>j.kind==="referenced"?{ref:j.ref}:n(j.server))}:{}}:p(x.scenario)):[...e.scenarios.map(x=>p(x))];return{name:e.configName?.trim()||void 0,servers:o,agents:h,scenarios:g,run_defaults:e.runDefaults?.selectedAgentNames&&e.runDefaults.selectedAgentNames.length>0?{selected_agents:[...e.runDefaults.selectedAgentNames]}:void 0}}function lX(e){const t=Object.fromEntries((e.servers??[]).map(r=>[r.id,(()=>{const s=r.authValue?.trim()??"",i=r.apiKeyHeaderName?.trim()??"";return{...r.name&&r.name!==r.id?{name:r.name}:{},transport:"http",url:r.url||"http://localhost:3000/mcp",auth:r.authType==="bearer"?(()=>{if(!s)throw new Error(`Server '${r.id}' is missing bearer token value`);return{type:"bearer",token:s}})():r.authType==="api-key"&&!r.oauthTokenUrl?{type:"api_key",...i?{header_name:i}:{},value:(()=>{if(!s)throw new Error(`Server '${r.id}' is missing API key value`);return s})()}:r.authType==="api-key"?{type:"oauth_client_credentials",token_url:r.oauthTokenUrl||"",client_id_env:r.oauthClientIdEnv||"",client_secret_env:r.oauthClientSecretEnv||"",...r.oauthScope?{scope:r.oauthScope}:{},...r.oauthAudience?{audience:r.oauthAudience}:{}}:r.authType==="oauth2"?{type:"oauth_authorization_code",...r.oauthMode==="dcr"?{mode:"dcr"}:{},...r.oauthMode!=="dcr"&&r.oauthClientId?{client_id:r.oauthClientId}:{},...r.oauthClientSecret?{client_secret:r.oauthClientSecret}:{},...r.oauthRedirectUrl?{redirect_url:r.oauthRedirectUrl}:{},...r.oauthScope?{scope:r.oauthScope}:{},...r.oauthAuthorizationUrl?{authorization_url:r.oauthAuthorizationUrl}:{},...r.oauthTokenEndpoint?{token_url:r.oauthTokenEndpoint}:{}}:void 0}})()])),n=Object.fromEntries(e.agents.map(r=>[r.id,{...r.name&&r.name!==r.id?{name:r.name}:{},provider:r.provider==="azure"?"azure_openai":r.provider==="anthropic"?"anthropic":"openai",model:r.model,temperature:r.temperature,max_tokens:r.maxTokens,max_turns:r.maxTurns,system:r.systemPrompt}]));return{servers:t,agents:n,scenarios:e.scenarios.map(r=>z3(r,r.serverIds.length>0?r.serverIds.map(s=>({ref:s})):void 0))}}function cX(e,t){if(e)return`${e}::${t??""}`}function mh(e){return e.type==="text"}function B3(e,t){if(!t)return e.tool_calls.map((s,i)=>({name:s,arguments:{},duration:e.tool_durations_ms[i]??0,timestamp:new Date().toISOString()}));const n=[],r=new Map;for(const s of t.messages)for(const i of s.content)i.type==="tool_use"?n.push({id:i.id,name:i.name,input:i.input??{},ts:s.ts}):i.type==="tool_result"&&r.set(i.tool_use_id,{durationMs:i.duration_ms,tsEnd:i.ts_end});return n.map((s,i)=>{const o=r.get(s.id);return{name:s.name,arguments:s.input,duration:o?.durationMs??e.tool_durations_ms[i]??0,timestamp:o?.tsEnd??s.ts??new Date().toISOString()}})}function q3(e,t){const n=[];if(!e)return n;let r;const s=e.messages??[];for(let i=0;i<s.length;i+=1){const o=s[i];if(o.role==="user"){const c=o.content.filter(mh);for(const d of c)n.push({id:`user_prompt-${n.length}`,kind:"user_prompt",text:d.text,timestamp:o.ts});continue}if(o.role==="assistant"){const c=o.content.filter(h=>h.type==="tool_use");for(const h of o.content)h.type==="text"&&(n.push({id:`assistant_thought-${n.length}`,kind:"assistant_thought",text:h.text,timestamp:o.ts}),r=n.length-1);const d=s[i+1],f=d?.role==="tool";if(c.length>0&&f){const h=new Map,p=[];for(const g of d.content)g.type==="tool_result"&&(g.tool_use_id?h.set(g.tool_use_id,g):p.push(g));for(const g of c){n.push({id:`tool_call-${n.length}`,kind:"tool_call",text:cE(g.input??{}),toolName:g.name,timestamp:o.ts,estimatedTokens:g.estimated_tokens?{inputTokens:g.estimated_tokens.input,outputTokens:g.estimated_tokens.output,totalTokens:g.estimated_tokens.total}:void 0,estimatedTokenMethod:g.estimated_tokens?.method});const x=h.get(g.id);if(!x)continue;const j=x.content.filter(mh).map(y=>y.text).join(`
54
54
  `);n.push({id:`tool_result-${n.length}`,kind:"tool_result",text:j,toolName:x.name,ok:!x.is_error,durationMs:x.duration_ms,timestamp:x.ts_end??d.ts,estimatedTokens:x.estimated_tokens?{inputTokens:x.estimated_tokens.input,outputTokens:x.estimated_tokens.output,totalTokens:x.estimated_tokens.total}:void 0,estimatedTokenMethod:x.estimated_tokens?.method}),h.delete(g.id)}for(const g of[...h.values(),...p]){const x=g.content.filter(mh).map(j=>j.text).join(`
55
55
  `);n.push({id:`tool_result-${n.length}`,kind:"tool_result",text:x,toolName:g.name,ok:!g.is_error,durationMs:g.duration_ms,timestamp:g.ts_end??d.ts,estimatedTokens:g.estimated_tokens?{inputTokens:g.estimated_tokens.input,outputTokens:g.estimated_tokens.output,totalTokens:g.estimated_tokens.total}:void 0,estimatedTokenMethod:g.estimated_tokens?.method})}i+=1}else for(const h of c)n.push({id:`tool_call-${n.length}`,kind:"tool_call",text:cE(h.input??{}),toolName:h.name,timestamp:o.ts,estimatedTokens:h.estimated_tokens?{inputTokens:h.estimated_tokens.input,outputTokens:h.estimated_tokens.output,totalTokens:h.estimated_tokens.total}:void 0,estimatedTokenMethod:h.estimated_tokens?.method});continue}if(o.role==="tool")for(const c of o.content){if(c.type!=="tool_result")continue;const d=c.content.filter(mh).map(f=>f.text).join(`
56
- `);n.push({id:`tool_result-${n.length}`,kind:"tool_result",text:d,toolName:c.name,ok:!c.is_error,durationMs:c.duration_ms,timestamp:c.ts_end??o.ts,estimatedTokens:c.estimated_tokens?{inputTokens:c.estimated_tokens.input,outputTokens:c.estimated_tokens.output,totalTokens:c.estimated_tokens.total}:void 0,estimatedTokenMethod:c.estimated_tokens?.method})}}return typeof r=="number"&&n[r]&&(n[r]={...n[r],kind:"assistant_final"}),n}function cE(e){try{return JSON.stringify(e)}catch{return String(e)}}function uE(e,t){t&&(typeof t.input_tokens=="number"&&(e.input+=t.input_tokens,e.hasInput=!0),typeof t.output_tokens=="number"&&(e.output+=t.output_tokens,e.hasOutput=!0),typeof t.total_tokens=="number"&&(e.total+=t.total_tokens,e.hasTotal=!0))}function qy(e,t){if(typeof e!="number"||t<=0)return new Array(t).fill(void 0);const n=Math.floor(e/t),r=e%t;return Array.from({length:t},(s,i)=>n+(i<r?1:0))}function U3(e){const t=bs(),n=bs(),r=new Map;if(!e)return{assistant:null,tool:null,perTool:{}};for(const i of e.messages??[]){if(i.role!=="assistant")continue;uE(t,i.usage);const o=i.content.filter(p=>p.type==="tool_use");if(o.length===0)continue;if(o.every(p=>!!p.estimated_tokens)){for(const p of o){const g=p.estimated_tokens;n.input+=g.input,n.hasInput=!0,n.output+=g.output,n.hasOutput=!0,n.total+=g.total,n.hasTotal=!0;const x=r.get(p.name)??bs();x.input+=g.input,x.hasInput=!0,x.output+=g.output,x.hasOutput=!0,x.total+=g.total,x.hasTotal=!0,r.set(p.name,x)}continue}uE(n,i.usage);const d=qy(i.usage?.input_tokens,o.length),f=qy(i.usage?.output_tokens,o.length),h=qy(i.usage?.total_tokens,o.length);for(let p=0;p<o.length;p+=1){const g=o[p].name,x=r.get(g)??bs(),j=d[p],y=f[p],b=h[p];typeof j=="number"&&(x.input+=j,x.hasInput=!0),typeof y=="number"&&(x.output+=y,x.hasOutput=!0),typeof b=="number"&&(x.total+=b,x.hasTotal=!0),r.set(g,x)}}const s={};for(const[i,o]of Array.from(r.entries()).sort((c,d)=>c[0].localeCompare(d[0]))){const c=Xs(o);c&&(s[i]=c)}return{assistant:Xs(t),tool:Xs(n),perTool:s}}function W3(e,t){if(t){const n=Date.parse(t.ts_start),r=Date.parse(t.ts_end);if(Number.isFinite(n)&&Number.isFinite(r))return Math.max(0,r-n)}return e.tool_durations_ms.reduce((n,r)=>n+r,0)}function dE(e,t=[]){const n=new Map;for(const o of t){const c=cX(o.scenario_id,o.agent);if(!c)continue;const d=n.get(c)??[];d.push(o),n.set(c,d)}const r=e.scenarios.map(o=>{const c=n.get(`${o.scenario_id}::${o.agent}`)??[],d=new Map;for(const b of c)d.set(b.run_index,b);const f=o.runs.map((b,S)=>{const N=d.get(b.run_index)??c[S],C=U3(N);return{runIndex:b.run_index,passed:b.pass,error:b.error,toolCalls:B3(b,N),assistantTokenUsage:C.assistant,toolTokenUsage:C.tool,toolTokenUsageByTool:C.perTool,finalAnswer:b.final_text,conversation:q3(N),duration:W3(b,N),extractedValues:Object.fromEntries(Object.entries(b.extracted).map(([k,A])=>[k,String(A??"")])),failureReasons:b.failures}}),h=bs(),p=bs(),g=new Map;for(const b of f){cc(h,b.assistantTokenUsage),cc(p,b.toolTokenUsage);for(const[S,N]of Object.entries(b.toolTokenUsageByTool??{})){const C=g.get(S)??bs();cc(C,N),g.set(S,C)}}const x={};for(const[b,S]of Array.from(g.entries()).sort((N,C)=>N[0].localeCompare(C[0]))){const N=Xs(S);N&&(x[b]=N)}const j=f.length===0?0:Math.round(f.reduce((b,S)=>b+S.duration,0)/f.length),y=f.length===0?0:f.reduce((b,S)=>b+S.toolCalls.length,0)/f.length;return{scenarioId:o.scenario_id,scenarioName:o.scenario_name||o.scenario_id,agentId:o.agent,agentName:o.agent,provider:o.provider,model:o.model,runs:f,passRate:o.pass_rate,avgToolCalls:y,avgDuration:j,assistantTokenUsage:Xs(h),toolTokenUsage:Xs(p),toolTokenUsageByTool:x}}),s=bs(),i=bs();for(const o of r)cc(s,o.assistantTokenUsage),cc(i,o.toolTokenUsage);return{id:e.metadata.run_id,configId:"",configHash:e.metadata.config_hash,configPath:e.metadata.config_path,configName:e.metadata.config_name,rerunAgents:e.metadata.rerun_agents,rerunScenarioIds:e.metadata.rerun_scenario_ids,rerunServerOverrideAll:e.metadata.rerun_server_override_all,rerunScenarioServerOverrides:e.metadata.rerun_scenario_server_overrides,timestamp:e.metadata.timestamp,runNote:e.metadata.run_note,mcpServerVersions:e.metadata.mcp_server_versions??{},scenarios:r,assistantTokenUsage:Xs(s),toolTokenUsage:Xs(i),overallPassRate:e.summary.pass_rate,totalScenarios:e.summary.total_scenarios,totalRuns:e.summary.total_runs,avgToolCalls:e.summary.avg_tool_calls_per_run,avgLatency:Math.round(e.summary.avg_tool_latency_ms??0),totalToolDurationMs:typeof e.metadata.total_tool_duration_ms=="number"?Math.max(0,e.metadata.total_tool_duration_ms??0):0}}function uX(e,t){const n=U3(t??void 0);return{runIndex:e.run_index,passed:e.pass,error:e.error,toolCalls:B3(e,t??void 0),assistantTokenUsage:n.assistant,toolTokenUsage:n.tool,toolTokenUsageByTool:n.perTool,finalAnswer:e.final_text,conversation:q3(t??void 0),duration:W3(e,t??void 0),extractedValues:Object.fromEntries(Object.entries(e.extracted).map(([r,s])=>[r,String(s??"")])),failureReasons:e.failures}}function dX(){return typeof window>"u"?"":window.location.port==="8685"?"http://127.0.0.1:8787":""}const Gi=dX();class rC extends Error{constructor(t,n){super(n),this.status=t,this.name="ApiError"}}async function yt(e,t){const n=await fetch(`${Gi}${e}`,{...t,headers:{"content-type":"application/json",...t?.headers||{}}});if(!n.ok){const r=await n.text();throw new rC(n.status,`Request failed (${n.status}): ${r}`)}return await n.json()}async function fX(e,t){const n=await fetch(`${Gi}${e}`,{...t,headers:{}});if(!n.ok){const r=await n.text();throw new rC(n.status,`Request failed (${n.status}): ${r}`)}return n.text()}function fE(e,t){const n=new EventSource(`${Gi}${e}`),r=e.replace(/\/events$/,""),s=["session_started","turn_started","tool_call_requested","tool_call_approved","tool_call_denied","tool_call_resolved","assistant_message_completed","session_warning","session_error","session_finished"];let i=!1;const o=()=>{i||(i=!0,n.close())},c=d=>{if(!i&&!(typeof d.data!="string"||!d.data))try{const f=JSON.parse(d.data);f.type==="session_finished"&&o(),t(f)}catch{}};for(const d of s)n.addEventListener(d,c);return n.onerror=()=>{if(!i){if(n.readyState===2){o();return}fetch(`${Gi}${r}`,{method:"GET",cache:"no-store",headers:{accept:"application/json"}}).then(d=>{(d.status===404||d.status===410)&&o()}).catch(()=>{})}},()=>o()}function Uy(e,t,n){if(typeof n!="number"||!Number.isFinite(n))return;const r=Math.floor(n);r<=0||e.set(t,String(r))}function Wy(e,t,n){if(typeof n!="number"||!Number.isFinite(n))return;const r=Math.floor(n);r<0||e.set(t,String(r))}const st={health:()=>yt("/api/health"),getSettings:()=>yt("/api/settings"),updateSettings:e=>yt("/api/settings",{method:"PUT",body:JSON.stringify(e)}),listConfigs:()=>yt("/api/evals"),createConfig:(e,t)=>yt("/api/evals",{method:"POST",body:JSON.stringify({fileName:e,config:t})}),updateConfig:(e,t,n)=>yt(`/api/evals/${e}`,{method:"PUT",body:JSON.stringify({config:t,fileName:n})}),deleteConfig:e=>yt(`/api/evals/${e}`,{method:"DELETE"}),listRuns:e=>{const t=new URLSearchParams;e?.since?.trim()&&t.set("since",e.since.trim()),e?.until?.trim()&&t.set("until",e.until.trim()),typeof e?.lastDays=="number"&&Number.isFinite(e.lastDays)&&e.lastDays>0&&t.set("last_days",String(Math.floor(e.lastDays))),e?.scenario?.trim()&&t.set("scenario",e.scenario.trim()),Uy(t,"limit",e?.limit),Wy(t,"offset",e?.offset);const n=t.size>0?`?${t.toString()}`:"";return yt(`/api/runs${n}`)},getLatestPassRatesByConfigIds:e=>yt("/api/runs/latest-pass-rates",{method:"POST",body:JSON.stringify(e)}).then(t=>t.byConfigId),listMarkdownReports:e=>{const t=new URLSearchParams;Uy(t,"limit",e?.limit),Wy(t,"offset",e?.offset);const n=t.size>0?`?${t.toString()}`:"";return yt(`/api/markdown-reports${n}`)},listToolAnalysisServers:()=>yt("/api/tool-analysis-results/servers").then(e=>e.data),getMarkdownReport:e=>yt(`/api/markdown-reports/content?path=${encodeURIComponent(e)}`),getMarkdownReportById:e=>yt(`/api/markdown-reports/${encodeURIComponent(e)}`),deleteMarkdownReport:e=>yt(`/api/markdown-reports?path=${encodeURIComponent(e)}`,{method:"DELETE"}).then(()=>{}),getRun:e=>yt(`/api/runs/${e}`),deleteRun:e=>yt(`/api/runs/${e}`,{method:"DELETE"}),updateRunNote:(e,t)=>yt(`/api/runs/${encodeURIComponent(e)}/note`,{method:"PATCH",body:JSON.stringify({runNote:t??""})}).then(()=>{}),getRunTrace:e=>yt(`/api/runs/${e}/trace`),applyResultAssistantReport:e=>yt(`/api/runs/${encodeURIComponent(e.runId)}/assistant/apply-report`,{method:"POST",body:JSON.stringify({markdown:e.markdown,outputPath:e.outputPath,overwrite:e.overwrite})}),createResultAssistantSession:(e,t)=>yt("/api/result-assistant/sessions",{method:"POST",body:JSON.stringify(e),signal:t}),getResultAssistantSession:e=>yt(`/api/result-assistant/sessions/${e}`),sendResultAssistantMessage:(e,t,n)=>yt(`/api/result-assistant/sessions/${e}/messages`,{method:"POST",body:JSON.stringify({message:t}),signal:n}),approveResultAssistantToolCall:(e,t,n)=>yt(`/api/result-assistant/sessions/${e}/tool-calls/${t}/approve`,{method:"POST",body:JSON.stringify(n===void 0?{}:{argumentsOverride:n})}),denyResultAssistantToolCall:(e,t)=>yt(`/api/result-assistant/sessions/${e}/tool-calls/${t}/deny`,{method:"POST",body:JSON.stringify({})}),closeResultAssistantSession:e=>yt(`/api/result-assistant/sessions/${e}`,{method:"DELETE"}).then(()=>{}),subscribeResultAssistantSessionEvents:(e,t)=>fE(`/api/result-assistant/sessions/${e}/events`,t),getLibraries:()=>yt("/api/libraries"),saveLibraries:e=>yt("/api/libraries",{method:"PUT",body:JSON.stringify(e)}),startRun:e=>yt("/api/runs",{method:"POST",body:JSON.stringify(e)}),runScenarioPreview:e=>yt("/api/runs/preview",{method:"POST",body:JSON.stringify(e)}),listProviderModels:e=>yt(`/api/providers/models?provider=${encodeURIComponent(e)}`),createScenarioAssistantSession:(e,t)=>yt("/api/scenario-assistant/sessions",{method:"POST",body:JSON.stringify(e),signal:t}),getScenarioAssistantSession:e=>yt(`/api/scenario-assistant/sessions/${e}`),sendScenarioAssistantMessage:(e,t,n)=>yt(`/api/scenario-assistant/sessions/${e}/messages`,{method:"POST",body:JSON.stringify({message:t}),signal:n}),approveScenarioAssistantToolCall:(e,t)=>yt(`/api/scenario-assistant/sessions/${e}/tool-calls/${t}/approve`,{method:"POST",body:JSON.stringify({})}),denyScenarioAssistantToolCall:(e,t)=>yt(`/api/scenario-assistant/sessions/${e}/tool-calls/${t}/deny`,{method:"POST",body:JSON.stringify({})}),approveAllScenarioAssistantToolCalls:e=>yt(`/api/scenario-assistant/sessions/${e}/tool-calls/approve-all`,{method:"POST",body:JSON.stringify({})}),closeScenarioAssistantSession:e=>yt(`/api/scenario-assistant/sessions/${e}`,{method:"DELETE"}),subscribeScenarioAssistantSessionEvents:(e,t)=>fE(`/api/scenario-assistant/sessions/${e}/events`,t),discoverToolsForAnalysis:e=>yt("/api/tool-analysis/discover-tools",{method:"POST",body:JSON.stringify(e)}),startToolAnalysis:e=>yt("/api/tool-analysis/jobs",{method:"POST",body:JSON.stringify(e)}),getToolAnalysisResult:e=>yt(`/api/tool-analysis/jobs/${e}/result`),stopToolAnalysis:e=>yt(`/api/tool-analysis/jobs/${e}/stop`,{method:"POST"}),subscribeToolAnalysisJob:(e,t)=>{const n=new EventSource(`${Gi}/api/tool-analysis/jobs/${e}/events`);let r=!1;const s=()=>{r||(r=!0,n.close())},i=o=>{if(!r&&!(typeof o.data!="string"||!o.data))try{const c=JSON.parse(o.data);t(c),(c.type==="completed"||c.type==="error")&&s()}catch{}};return n.addEventListener("started",i),n.addEventListener("log",i),n.addEventListener("completed",i),n.addEventListener("error",i),n.onerror=()=>{r||(t({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error"}}),s())},()=>s()},listToolAnalysisResults:e=>{const t=new URLSearchParams;Uy(t,"limit",e?.limit),Wy(t,"offset",e?.offset),e?.server?.trim()&&t.set("server",e.server.trim());const n=t.size>0?`?${t.toString()}`:"";return yt(`/api/tool-analysis-results${n}`)},getToolAnalysisSavedResult:e=>yt(`/api/tool-analysis-results/${e}`),deleteToolAnalysisSavedResult:e=>yt(`/api/tool-analysis-results/${e}`,{method:"DELETE"}).then(()=>{}),createOAuthDebuggerSession:e=>yt("/api/oauth-debugger/sessions",{method:"POST",body:JSON.stringify(e)}),getOAuthDebuggerSession:e=>yt(`/api/oauth-debugger/sessions/${e}`),startOAuthDebuggerSession:e=>yt(`/api/oauth-debugger/sessions/${e}/start`,{method:"POST",body:JSON.stringify({})}),subscribeOAuthDebuggerSession:(e,t)=>{const n=new EventSource(`${Gi}/api/oauth-debugger/sessions/${e}/events`);let r=!1;const s=()=>{r||(r=!0,n.close())},i=o=>{if(!r&&!(typeof o.data!="string"||!o.data))try{const c=JSON.parse(o.data);t(c),(c.type==="completed"||c.type==="error"||c.type==="stopped")&&s()}catch{}};return["started","step_started","step_completed","step_failed","http_request","http_response","validation","log","waiting_for_user","waiting_for_browser_callback","completed","error","stopped"].forEach(o=>n.addEventListener(o,i)),n.onerror=()=>{r||(t({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error"}}),s())},()=>s()},submitOAuthDebuggerManualCallback:(e,t)=>yt(`/api/oauth-debugger/sessions/${e}/manual-callback`,{method:"POST",body:JSON.stringify(t)}),stopOAuthDebuggerSession:e=>yt(`/api/oauth-debugger/sessions/${e}/stop`,{method:"POST",body:JSON.stringify({})}),exportOAuthDebuggerSession:(e,t)=>t==="json"?yt(`/api/oauth-debugger/sessions/${e}/export?format=json`):fX(`/api/oauth-debugger/sessions/${e}/export?format=${t}`),createOAuthRuntimeSession:e=>yt("/api/oauth-runtime/sessions",{method:"POST",body:JSON.stringify(e)}),getOAuthRuntimeSession:e=>yt(`/api/oauth-runtime/sessions/${e}`),getOAuthRuntimeSessionToken:e=>yt(`/api/oauth-runtime/sessions/${e}/token`),submitOAuthRuntimeCallback:(e,t)=>yt(`/api/oauth-runtime/sessions/${e}/callback`,{method:"POST",body:JSON.stringify(t)}),cancelOAuthRuntimeSession:e=>yt(`/api/oauth-runtime/sessions/${e}/cancel`,{method:"POST",body:JSON.stringify({})}),ensureOAuthServers:e=>yt("/api/oauth-runtime/servers/ensure",{method:"POST",body:JSON.stringify(e)}),stopRun:e=>yt(`/api/runs/jobs/${e}/stop`,{method:"POST"}),getRunQueue:()=>yt("/api/runs/queue"),subscribeRunQueue:e=>{const t=new EventSource(`${Gi}/api/runs/queue/events`);let n=!1;const r=()=>{n||(n=!0,t.close())},s=i=>{if(!n&&!(typeof i.data!="string"||!i.data))try{const o=JSON.parse(i.data);e(o)}catch{}};return t.addEventListener("queue_event",s),t.onopen=()=>{n||e({type:"connected",ts:new Date().toISOString(),payload:{message:"SSE connected"}})},t.onerror=()=>{n||(e({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error",reconnecting:t.readyState!==2}}),t.readyState===2&&r())},()=>{r()}},removeQueuedRun:e=>yt(`/api/runs/queue/${e}`,{method:"DELETE"}).then(()=>{}),resumeQueue:()=>yt("/api/runs/queue/resume",{method:"POST"}),subscribeRunJob:(e,t)=>{const n=new EventSource(`${Gi}/api/runs/jobs/${e}/events`);let r=!1;const s=()=>{r||(r=!0,n.close())},i=o=>{if(!r&&!(typeof o.data!="string"||!o.data))try{const c=JSON.parse(o.data);t(c),(c.type==="completed"||c.type==="error")&&s()}catch{}};return n.addEventListener("queued",i),n.addEventListener("started",i),n.addEventListener("log",i),n.addEventListener("completed",i),n.addEventListener("error",i),n.addEventListener("oauth_required",i),n.onerror=()=>{r||(t({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error"}}),s())},()=>{s()}}};function pX(e){if(e.sourcePath){const t=e.sourcePath.split("/");return t[t.length-1].replace(/\.(yaml|yml)$/i,"")}return e.name||`config-${Date.now()}`}function hX(e){return e||`config-${Date.now()}`}const mX={async health(){return st.health()},async listConfigs(){return(await st.listConfigs()).map(Lh)},async createConfig(e){const t=await st.createConfig(pX(e),lE(e));return Lh(t)},async updateConfig(e){const t=await st.updateConfig(e.id,lE(e),hX(e.name));return Lh(t)},async deleteConfig(e){await st.deleteConfig(e)},async listResults(e){const n=(await st.listRuns(e)).data.map(async r=>{const[{results:s},i]=await Promise.all([st.getRun(r.runId),st.getRunTrace(r.runId)]);return dE(s,i.records)});return Promise.all(n)},async listRunSummaries(e){const t=Math.max(1,Math.min(100,e?.limit??100));let n=Math.max(0,e?.offset??0);const r=[];for(;;){const s=await st.listRuns({...e,limit:t,offset:n});if(r.push(...s.data),!s.has_more||s.next_offset===null)break;n=s.next_offset}return r},async listRunSummariesPage(e){return st.listRuns(e)},async getLatestPassRatesByConfigIds(e){return st.getLatestPassRatesByConfigIds(e)},async getResult(e){try{const[{results:t},n]=await Promise.all([st.getRun(e),st.getRunTrace(e)]);return dE(t,n.records)}catch{return}},async deleteResult(e){await st.deleteRun(e)},async updateRunNote(e,t){await st.updateRunNote(e,t)},async listMarkdownReports(e){if(e?.limit!==void 0||e?.offset!==void 0)return(await st.listMarkdownReports(e)).data;const t=[];let n=0;const r=100;for(;;){const s=await st.listMarkdownReports({limit:r,offset:n});if(t.push(...s.data),!s.has_more||s.next_offset===null)break;n=s.next_offset}return t},async listMarkdownReportsPage(e){return st.listMarkdownReports(e)},async getMarkdownReport(e){return st.getMarkdownReport(e)},async getMarkdownReportById(e){return st.getMarkdownReportById(e)},async deleteMarkdownReport(e){await st.deleteMarkdownReport(e)},async startRun(e){return st.startRun(e)},async runScenarioPreview(e){const t=await st.runScenarioPreview(e),n=t.scenario.run;if(!n)throw new Error("Preview run did not return a run result");return{runId:t.runId,scenarioId:t.scenario.scenarioId,agentName:t.scenario.agent,run:uX(n,t.scenario.traceRecord)}},async stopRun(e){await st.stopRun(e)},async getRunQueue(){return st.getRunQueue()},subscribeRunQueue(e){return st.subscribeRunQueue(e)},async removeQueuedRun(e){await st.removeQueuedRun(e)},async resumeQueue(){return st.resumeQueue()},subscribeRunJob(e,t){return st.subscribeRunJob(e,t)},async applyResultAssistantReport(e){return st.applyResultAssistantReport(e)},async createResultAssistantSession(e,t){return st.createResultAssistantSession(e,t)},async getResultAssistantSession(e){return st.getResultAssistantSession(e)},async sendResultAssistantMessage(e,t,n){return st.sendResultAssistantMessage(e,t,n)},async approveResultAssistantToolCall(e,t,n){return st.approveResultAssistantToolCall(e,t,n)},async denyResultAssistantToolCall(e,t){return st.denyResultAssistantToolCall(e,t)},async closeResultAssistantSession(e){await st.closeResultAssistantSession(e)},subscribeResultAssistantSessionEvents(e,t){return st.subscribeResultAssistantSessionEvents(e,t)},async getLibraries(){const e=await st.getLibraries();return oX(e)},async saveLibraries(e){await st.saveLibraries(lX(e))},async listProviderModels(e){return st.listProviderModels(e)},async getWorkspaceSettings(){return st.getSettings()},async updateWorkspaceSettings(e){return st.updateSettings(e)},async createScenarioAssistantSession(e,t){return st.createScenarioAssistantSession(e,t)},async getScenarioAssistantSession(e){return st.getScenarioAssistantSession(e)},async sendScenarioAssistantMessage(e,t,n){return st.sendScenarioAssistantMessage(e,t,n)},async approveScenarioAssistantToolCall(e,t){return st.approveScenarioAssistantToolCall(e,t)},async denyScenarioAssistantToolCall(e,t){return st.denyScenarioAssistantToolCall(e,t)},async approveAllScenarioAssistantToolCalls(e){return st.approveAllScenarioAssistantToolCalls(e)},async closeScenarioAssistantSession(e){await st.closeScenarioAssistantSession(e)},subscribeScenarioAssistantSessionEvents(e,t){return st.subscribeScenarioAssistantSessionEvents(e,t)},async discoverToolsForAnalysis(e){return st.discoverToolsForAnalysis(e)},async startToolAnalysis(e){return st.startToolAnalysis(e)},subscribeToolAnalysisJob(e,t){return st.subscribeToolAnalysisJob(e,t)},async getToolAnalysisResult(e){return st.getToolAnalysisResult(e)},async stopToolAnalysis(e){return st.stopToolAnalysis(e)},async listToolAnalysisResults(e){if(e?.limit!==void 0||e?.offset!==void 0)return(await st.listToolAnalysisResults(e)).data;const t=[];let n=0;const r=100;for(;;){const s=await st.listToolAnalysisResults({limit:r,offset:n});if(t.push(...s.data),!s.has_more||s.next_offset===null)break;n=s.next_offset}return t},async listToolAnalysisResultsPage(e){return st.listToolAnalysisResults(e)},async listToolAnalysisServers(){return st.listToolAnalysisServers()},async getToolAnalysisSavedResult(e){return st.getToolAnalysisSavedResult(e)},async deleteToolAnalysisSavedResult(e){await st.deleteToolAnalysisSavedResult(e)},async createOAuthDebuggerSession(e){return st.createOAuthDebuggerSession(e)},async getOAuthDebuggerSession(e){return st.getOAuthDebuggerSession(e)},async startOAuthDebuggerSession(e){return st.startOAuthDebuggerSession(e)},subscribeOAuthDebuggerSession(e,t){return st.subscribeOAuthDebuggerSession(e,t)},async submitOAuthDebuggerManualCallback(e,t){return st.submitOAuthDebuggerManualCallback(e,t)},async stopOAuthDebuggerSession(e){return st.stopOAuthDebuggerSession(e)},async exportOAuthDebuggerSession(e,t){return st.exportOAuthDebuggerSession(e,t)},async createOAuthRuntimeSession(e){return st.createOAuthRuntimeSession(e)},async getOAuthRuntimeSession(e){return st.getOAuthRuntimeSession(e)},async getOAuthRuntimeSessionToken(e){return st.getOAuthRuntimeSessionToken(e)},async submitOAuthRuntimeCallback(e,t){return st.submitOAuthRuntimeCallback(e,t)},async cancelOAuthRuntimeSession(e){return st.cancelOAuthRuntimeSession(e)},async ensureOAuthServers(e){return st.ensureOAuthServers(e)}},V3=m.createContext(null);function vX({children:e}){const t="workspace",[n,r]=m.useState("checking"),[s,i]=m.useState(null);m.useEffect(()=>{r("checking"),st.health().then(c=>{r("connected"),i(typeof c?.version=="string"?c.version:null)}).catch(()=>{r("disconnected"),i(null)})},[t]);const o=m.useMemo(()=>mX,[]);return a.jsx(V3.Provider,{value:{mode:t,connection:n,version:s,source:o},children:e})}function Nn(){const e=m.useContext(V3);if(!e)throw new Error("useDataSource must be used within DataSourceProvider");return e}const gX=5,xX=2e3;function yX(e){return e.filter(t=>t.status==="blocked_auth"&&t.blockedReason==="oauth_required").length}function bX(e){const t=e?.active??null,n=Array.isArray(e?.active_jobs)?e.active_jobs:t?[t]:[],r=Array.isArray(e?.admitting_jobs)?e.admitting_jobs:[],s=Array.isArray(e?.queued)?e.queued:[];return{active:t,active_jobs:n,admitting_jobs:r,queued:s}}function wX(){const{source:e}=Nn(),[t,n]=m.useState({active:null,active_jobs:[],admitting_jobs:[],queued:[]}),[r,s]=m.useState("connecting"),[i,o]=m.useState(0),c=m.useRef("connecting"),d=m.useRef(0);return m.useEffect(()=>{let f=!1,h=0,p=null,g=null;const x=()=>{p!==null&&(window.clearTimeout(p),p=null)},j=()=>{f||(x(),s("connecting"),c.current="connecting",g?.(),g=e.subscribeRunQueue(b=>{const S=b.payload.event;if(b.type==="connected"){h=0,s("connected"),c.current="connected";return}if(b.type==="queue_event"&&S){d.current+=1,s("connected"),c.current="connected",n(bX(S));return}if(b.type==="error"){if(g?.(),g=null,h>=gX){s("disconnected"),c.current="disconnected";return}h+=1,s("connecting"),c.current="connecting";const N=xX*2**(h-1);p=window.setTimeout(()=>{j()},N)}}))};j();const y=()=>{c.current!=="connected"&&j()};return window.addEventListener("focus",y),()=>{f=!0,g?.(),x(),window.removeEventListener("focus",y)}},[e,i]),m.useMemo(()=>{const f=t.active_jobs.length>0||t.admitting_jobs.length>0,h=t.queued.length,p=yX(t.queued);return{isRunning:f,queuedCount:h,oauthBlockedCount:p,streamStatus:r,reconnectStream:()=>{o(g=>g+1)}}},[t,r])}const jX=(e,t)=>{if(e==="/")return[{label:"Dashboard"}];const n=[{label:"Dashboard",to:"/"}];if(un("/mcp-evaluations/:id/edit",e))return n.push({label:"MCP Evaluations",to:"/mcp-evaluations"},{label:"MCP Evaluation",to:e.replace(/\/edit$/,"")},{label:"Edit"}),n;if(un("/mcp-evaluations/:id",e))return n.push({label:"MCP Evaluations",to:"/mcp-evaluations"},{label:"MCP Evaluation"}),n;if(un("/mcp-evaluations",e))return n.push({label:"MCP Evaluations"}),n;if(un("/settings/mcp",e))return n.push({label:"Settings",to:"/settings"},{label:"MCP Connection"}),n;if(un("/settings",e))return n.push({label:"Settings"}),n;if(un("/tool-analysis",e))return n.push({label:"Analyze MCP Tools"}),n;if(un("/tool-analysis-results/:id",e)){const r=un("/tool-analysis-results/:id",e);return n.push({label:"Tool Analysis Results",to:"/tool-analysis-results"},{label:r?.params.id??"Report"}),n}if(un("/tool-analysis-results",e))return n.push({label:"Tool Analysis Results"}),n;if(un("/markdown-reports/view",e))return n.push({label:"Markdown Reports",to:"/markdown-reports"},{label:"View Report"}),n;if(un("/markdown-reports",e))return n.push({label:"Markdown Reports"}),n;if(un("/oauth-debugger",e))return n.push({label:"OAuth Debugger"}),n;if(un("/results/:id",e))return n.push({label:"Evaluation Results",to:"/results"},{label:"Result"}),n;if(un("/results",e))return n.push({label:"Evaluation Results"}),n;if(un("/run",e))return n.push({label:"Run Evaluation"}),n;if(un("/libraries/servers/:serverId",e)){const r=un("/libraries/servers/:serverId",e),s=r?.params.serverId?decodeURIComponent(r.params.serverId):"Server";return n.push({label:"Libraries",to:"/libraries/servers"},{label:"MCP servers",to:"/libraries/servers"},{label:s==="new"?"New Server":s}),n}if(un("/libraries/servers",e))return n.push({label:"Libraries",to:"/libraries/servers"},{label:"MCP servers"}),n;if(un("/libraries/agents/:agentName",e)){const r=un("/libraries/agents/:agentName",e),s=r?.params.agentName?decodeURIComponent(r.params.agentName):"Agent";return n.push({label:"Libraries",to:"/libraries/agents"},{label:"Agents",to:"/libraries/agents"},{label:s==="new"?"New Agent":s}),n}if(un("/libraries/agents",e))return n.push({label:"Libraries",to:"/libraries/agents"},{label:"Agents"}),n;if(un("/libraries/test-cases/:testCaseId",e)){const r=un("/libraries/test-cases/:testCaseId",e),s=r?.params.testCaseId?decodeURIComponent(r.params.testCaseId):"Test Case";return n.push({label:"Libraries",to:"/libraries/test-cases"},{label:"Test Cases",to:"/libraries/test-cases"},{label:s}),n}if(un("/libraries/test-cases",e))return n.push({label:"Libraries",to:"/libraries/test-cases"},{label:"Test Cases"}),n;if(un("/compare/results",e))return n.push({label:"Compare Evaluations",to:"/compare"},{label:"Full Result Compare"}),n;if(un("/compare",e)){const s=new URLSearchParams(t).get("mode")==="within-run"?"Agents":"Runs";return n.push({label:"Compare Evaluations",to:"/compare"},{label:s}),n}return n};function SX(){const e=ds(),t=new URLSearchParams(e.search).get("embed")==="1",n=jX(e.pathname,e.search),{version:r}=Nn(),{isRunning:s,queuedCount:i,oauthBlockedCount:o,streamStatus:c,reconnectStream:d}=wX(),f=i+(s?1:0);return t?a.jsx("main",{className:"min-h-screen overflow-auto bg-background p-4",children:a.jsx(HP,{})}):a.jsx(w3,{children:a.jsxs("div",{className:"flex min-h-screen w-full",children:[a.jsx(eX,{version:r}),a.jsxs("div",{className:"flex flex-1 flex-col",children:[a.jsxs("header",{className:"flex h-12 items-center gap-2 border-b bg-card px-4",children:[a.jsx(S3,{}),a.jsx(M3,{children:a.jsx(I3,{children:n.map((h,p)=>{const g=p===n.length-1;return a.jsxs(m.Fragment,{children:[a.jsx($3,{children:h.to&&!g?a.jsx(D3,{asChild:!0,children:a.jsx(St,{to:h.to,children:h.label})}):a.jsx(L3,{children:h.label})}),!g&&a.jsx(F3,{})]},`${h.label}-${p}`)})})}),a.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[(s||i>0||o>0)&&a.jsxs(St,{to:"/run",className:"inline-flex items-center gap-2 rounded-full border px-2.5 py-1 hover:bg-muted/50 transition-colors",title:"Open Run Evaluation queue",children:[a.jsx("span",{className:"text-xs text-muted-foreground",children:"Run Queue"}),a.jsx("span",{className:`inline-flex min-w-5 items-center justify-center rounded-full px-1.5 py-0.5 text-xs font-semibold ${o>0?"bg-yellow-500/20 text-yellow-800 dark:text-yellow-300":"bg-muted text-foreground"}`,children:f}),s&&a.jsx("span",{className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-emerald-500 border-t-transparent","aria-label":"Queue processing"}),o>0&&a.jsx("span",{className:"text-xs text-yellow-700 dark:text-yellow-400",children:"OAuth wait"})]}),a.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 rounded-full border px-2.5 py-1 disabled:opacity-70",onClick:()=>{c==="disconnected"&&d()},disabled:c==="connecting",title:c==="disconnected"?"Retry queue connection":c==="connecting"?"Connecting to queue stream...":"Queue stream connected",children:[a.jsx("span",{className:`h-2 w-2 rounded-full ${c==="connected"?"bg-emerald-500":c==="connecting"?"bg-amber-400":"bg-rose-500"}`,"aria-hidden":"true"}),a.jsx("span",{className:`text-xs ${c==="connected"?"text-emerald-700":c==="connecting"?"text-muted-foreground":"text-destructive"}`,children:c})]})]})]}),a.jsx("main",{className:"flex-1 overflow-auto p-6",children:a.jsx(HP,{})})]})]})})}const H3=m.createContext(null);function NX({children:e}){const{source:t}=Nn(),[n,r]=m.useState([]),[s,i]=m.useState(!0),o=m.useCallback(async()=>{i(!0);try{const g=await t.listConfigs();r(g)}finally{i(!1)}},[t]);m.useEffect(()=>{o()},[o]);const c=m.useCallback(g=>n.find(x=>x.id===g),[n]),d=m.useCallback(async g=>{const x=await t.createConfig(g);return r(j=>[...j,x]),x},[t]),f=m.useCallback(async(g,x)=>{const j=await t.updateConfig({...x,id:g});return r(y=>y.map(b=>b.id===g?j:b)),j},[t]),h=m.useCallback(async g=>{await t.deleteConfig(g),r(x=>x.filter(j=>j.id!==g))},[t]),p=m.useCallback(async g=>{const x=n.find(b=>b.id===g);if(!x)throw new Error("Config not found");const j={...structuredClone(x),id:`cfg-${Date.now()}`,name:`${x.name} (Copy)`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},y=await t.createConfig(j);return r(b=>[...b,y]),y},[n,t]);return a.jsx(H3.Provider,{value:{configs:n,loading:s,getConfig:c,addConfig:d,updateConfig:f,deleteConfig:h,cloneConfig:p,reload:o},children:e})}function Lf(){const e=m.useContext(H3);if(!e)throw new Error("useConfigs must be used within ConfigProvider");return e}const K3=m.createContext(null);function CX({children:e}){const{source:t}=Nn(),[n,r]=m.useState({servers:[],agents:[],scenarios:[]}),[s,i]=m.useState(!0),o=m.useCallback(async()=>{i(!0);try{const f=await t.getLibraries();r(f)}finally{i(!1)}},[t]);m.useEffect(()=>{o()},[t]),m.useEffect(()=>{const f=()=>{o()};return window.addEventListener("focus",f),()=>{window.removeEventListener("focus",f)}},[t]);const c=m.useCallback(async f=>{r(f),await t.saveLibraries(f)},[t]),d=m.useMemo(()=>({...n,loading:s,setServers:async f=>c({...n,servers:f}),setAgents:async f=>c({...n,agents:f}),setScenarios:async f=>c({...n,scenarios:f}),reload:o}),[n,s,o,c]);return a.jsx(K3.Provider,{value:d,children:e})}function ps(){const e=m.useContext(K3);if(!e)throw new Error("useLibraries must be used within LibraryProvider");return e}const et=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Pe("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));et.displayName="Card";const Ot=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Pe("flex flex-col space-y-1.5 p-6",e),...t}));Ot.displayName="CardHeader";const Mt=m.forwardRef(({className:e,...t},n)=>a.jsx("h3",{ref:n,className:Pe("text-2xl font-semibold leading-none tracking-tight",e),...t}));Mt.displayName="CardTitle";const jr=m.forwardRef(({className:e,...t},n)=>a.jsx("p",{ref:n,className:Pe("text-sm text-muted-foreground",e),...t}));jr.displayName="CardDescription";const tt=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Pe("p-6 pt-0",e),...t}));tt.displayName="CardContent";const _X=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Pe("flex items-center p-6 pt-0",e),...t}));_X.displayName="CardFooter";const Br=m.forwardRef(({className:e,containerClassName:t,...n},r)=>a.jsx("div",{className:Pe("relative w-full overflow-auto",t),children:a.jsx("table",{ref:r,className:Pe("w-full caption-bottom text-sm",e),...n})}));Br.displayName="Table";const qr=m.forwardRef(({className:e,...t},n)=>a.jsx("thead",{ref:n,className:Pe("[&_tr]:border-b",e),...t}));qr.displayName="TableHeader";const Ur=m.forwardRef(({className:e,...t},n)=>a.jsx("tbody",{ref:n,className:Pe("[&_tr:last-child]:border-0",e),...t}));Ur.displayName="TableBody";const AX=m.forwardRef(({className:e,...t},n)=>a.jsx("tfoot",{ref:n,className:Pe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));AX.displayName="TableFooter";const Ft=m.forwardRef(({className:e,...t},n)=>a.jsx("tr",{ref:n,className:Pe("border-b transition-colors data-[state=selected]:bg-muted hover:bg-muted/50",e),...t}));Ft.displayName="TableRow";const lt=m.forwardRef(({className:e,...t},n)=>a.jsx("th",{ref:n,className:Pe("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));lt.displayName="TableHead";const We=m.forwardRef(({className:e,...t},n)=>a.jsx("td",{ref:n,className:Pe("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));We.displayName="TableCell";const kX=m.forwardRef(({className:e,...t},n)=>a.jsx("caption",{ref:n,className:Pe("mt-4 text-sm text-muted-foreground",e),...t}));kX.displayName="TableCaption";function Sa({title:e,value:t,subtitle:n,icon:r,trend:s}){return a.jsx(et,{children:a.jsx(tt,{className:"p-4",children:a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:e}),a.jsx("p",{className:"text-2xl font-bold",children:t}),n&&a.jsxs("p",{className:`text-xs ${s==="up"?"text-success":s==="down"?"text-destructive":"text-muted-foreground"}`,children:[s==="up"&&"↑ ",s==="down"&&"↓ ",n]})]}),a.jsx("div",{className:"rounded-lg bg-primary/10 p-2",children:a.jsx(r,{className:"h-4 w-4 text-primary"})})]})})})}const PX=gl("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),nt=m.forwardRef(({className:e,variant:t,asChild:n,...r},s)=>{const i=n?lo:"div";return a.jsx(i,{ref:s,className:Pe(PX({variant:t}),e),...r})});nt.displayName="Badge";function ws({rate:e,className:t}){const n=Math.round(e*100),r=n>=80?"default":n>=50?"secondary":"destructive";return a.jsxs(nt,{variant:r,className:`font-mono text-xs ${n>=80?"bg-success/15 text-success hover:bg-success/20 border-0":n>=50?"bg-warning/15 text-warning hover:bg-warning/20 border-0":"bg-destructive/15 text-destructive hover:bg-destructive/20 border-0"} ${t??""}`,children:[n,"%"]})}function EX(e){const t=[];for(const n of e.scenarios)for(const r of n.runs)r.error&&t.push(r.error),t.push(...r.failureReasons);return t.map(n=>String(n??"").trim()).filter(Boolean)}function TX(e){const t=e.toLowerCase();return t.includes("invalid_token")||t.includes("authentication failed")||t.includes("bearer token")||t.includes("oauth")?"auth":t.includes("429")||t.includes("too many requests")||t.includes("rate limit")?"rate_limit":t.includes("scenario error:")||t.includes("failed to list tools")||t.includes("failed to connect to mcp server")||t.includes("tool call failed")||t.includes("fetch failed")||t.includes("streamable http error")?"infra":null}function RX(e){return e==="auth"?"Auth error":e==="rate_limit"?"Rate limited":"Infra error"}function OX(e){const t=EX(e),n=["auth","rate_limit","infra"];for(const r of n){const s=t.find(i=>TX(i)===r);if(s)return{kind:r,label:RX(r),detail:s}}return null}function MX(e){return e==="auth"?"border-amber-500/30 bg-amber-500/10 text-amber-700":e==="rate_limit"?"border-orange-500/30 bg-orange-500/10 text-orange-700":"border-slate-500/30 bg-slate-500/10 text-slate-700"}function G3({run:e}){const t=OX(e);return t?a.jsx(ci,{delayDuration:0,children:a.jsxs(ui,{children:[a.jsx(di,{asChild:!0,children:a.jsx(nt,{variant:"outline",className:`h-5 text-[10px] ${MX(t.kind)}`,children:t.label})}),a.jsx(Es,{className:"max-w-sm text-xs",children:a.jsx("p",{children:t.detail})})]})}):null}var Vy,pE;function Kr(){if(pE)return Vy;pE=1;var e=Array.isArray;return Vy=e,Vy}var Hy,hE;function Y3(){if(hE)return Hy;hE=1;var e=typeof ah=="object"&&ah&&ah.Object===Object&&ah;return Hy=e,Hy}var Ky,mE;function $s(){if(mE)return Ky;mE=1;var e=Y3(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Ky=n,Ky}var Gy,vE;function Ff(){if(vE)return Gy;vE=1;var e=$s(),t=e.Symbol;return Gy=t,Gy}var Yy,gE;function IX(){if(gE)return Yy;gE=1;var e=Ff(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,s=e?e.toStringTag:void 0;function i(o){var c=n.call(o,s),d=o[s];try{o[s]=void 0;var f=!0}catch{}var h=r.call(o);return f&&(c?o[s]=d:delete o[s]),h}return Yy=i,Yy}var Xy,xE;function $X(){if(xE)return Xy;xE=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return Xy=n,Xy}var Qy,yE;function gi(){if(yE)return Qy;yE=1;var e=Ff(),t=IX(),n=$X(),r="[object Null]",s="[object Undefined]",i=e?e.toStringTag:void 0;function o(c){return c==null?c===void 0?s:r:i&&i in Object(c)?t(c):n(c)}return Qy=o,Qy}var Jy,bE;function xi(){if(bE)return Jy;bE=1;function e(t){return t!=null&&typeof t=="object"}return Jy=e,Jy}var Zy,wE;function hu(){if(wE)return Zy;wE=1;var e=gi(),t=xi(),n="[object Symbol]";function r(s){return typeof s=="symbol"||t(s)&&e(s)==n}return Zy=r,Zy}var eb,jE;function aC(){if(jE)return eb;jE=1;var e=Kr(),t=hu(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function s(i,o){if(e(i))return!1;var c=typeof i;return c=="number"||c=="symbol"||c=="boolean"||i==null||t(i)?!0:r.test(i)||!n.test(i)||o!=null&&i in Object(o)}return eb=s,eb}var tb,SE;function co(){if(SE)return tb;SE=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return tb=e,tb}var nb,NE;function sC(){if(NE)return nb;NE=1;var e=gi(),t=co(),n="[object AsyncFunction]",r="[object Function]",s="[object GeneratorFunction]",i="[object Proxy]";function o(c){if(!t(c))return!1;var d=e(c);return d==r||d==s||d==n||d==i}return nb=o,nb}var rb,CE;function DX(){if(CE)return rb;CE=1;var e=$s(),t=e["__core-js_shared__"];return rb=t,rb}var ab,_E;function LX(){if(_E)return ab;_E=1;var e=DX(),t=(function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""})();function n(r){return!!t&&t in r}return ab=n,ab}var sb,AE;function X3(){if(AE)return sb;AE=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return sb=n,sb}var ib,kE;function FX(){if(kE)return ib;kE=1;var e=sC(),t=LX(),n=co(),r=X3(),s=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,o=Function.prototype,c=Object.prototype,d=o.toString,f=c.hasOwnProperty,h=RegExp("^"+d.call(f).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function p(g){if(!n(g)||t(g))return!1;var x=e(g)?h:i;return x.test(r(g))}return ib=p,ib}var ob,PE;function zX(){if(PE)return ob;PE=1;function e(t,n){return t?.[n]}return ob=e,ob}var lb,EE;function yl(){if(EE)return lb;EE=1;var e=FX(),t=zX();function n(r,s){var i=t(r,s);return e(i)?i:void 0}return lb=n,lb}var cb,TE;function Iv(){if(TE)return cb;TE=1;var e=yl(),t=e(Object,"create");return cb=t,cb}var ub,RE;function BX(){if(RE)return ub;RE=1;var e=Iv();function t(){this.__data__=e?e(null):{},this.size=0}return ub=t,ub}var db,OE;function qX(){if(OE)return db;OE=1;function e(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}return db=e,db}var fb,ME;function UX(){if(ME)return fb;ME=1;var e=Iv(),t="__lodash_hash_undefined__",n=Object.prototype,r=n.hasOwnProperty;function s(i){var o=this.__data__;if(e){var c=o[i];return c===t?void 0:c}return r.call(o,i)?o[i]:void 0}return fb=s,fb}var pb,IE;function WX(){if(IE)return pb;IE=1;var e=Iv(),t=Object.prototype,n=t.hasOwnProperty;function r(s){var i=this.__data__;return e?i[s]!==void 0:n.call(i,s)}return pb=r,pb}var hb,$E;function VX(){if($E)return hb;$E=1;var e=Iv(),t="__lodash_hash_undefined__";function n(r,s){var i=this.__data__;return this.size+=this.has(r)?0:1,i[r]=e&&s===void 0?t:s,this}return hb=n,hb}var mb,DE;function HX(){if(DE)return mb;DE=1;var e=BX(),t=qX(),n=UX(),r=WX(),s=VX();function i(o){var c=-1,d=o==null?0:o.length;for(this.clear();++c<d;){var f=o[c];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=s,mb=i,mb}var vb,LE;function KX(){if(LE)return vb;LE=1;function e(){this.__data__=[],this.size=0}return vb=e,vb}var gb,FE;function iC(){if(FE)return gb;FE=1;function e(t,n){return t===n||t!==t&&n!==n}return gb=e,gb}var xb,zE;function $v(){if(zE)return xb;zE=1;var e=iC();function t(n,r){for(var s=n.length;s--;)if(e(n[s][0],r))return s;return-1}return xb=t,xb}var yb,BE;function GX(){if(BE)return yb;BE=1;var e=$v(),t=Array.prototype,n=t.splice;function r(s){var i=this.__data__,o=e(i,s);if(o<0)return!1;var c=i.length-1;return o==c?i.pop():n.call(i,o,1),--this.size,!0}return yb=r,yb}var bb,qE;function YX(){if(qE)return bb;qE=1;var e=$v();function t(n){var r=this.__data__,s=e(r,n);return s<0?void 0:r[s][1]}return bb=t,bb}var wb,UE;function XX(){if(UE)return wb;UE=1;var e=$v();function t(n){return e(this.__data__,n)>-1}return wb=t,wb}var jb,WE;function QX(){if(WE)return jb;WE=1;var e=$v();function t(n,r){var s=this.__data__,i=e(s,n);return i<0?(++this.size,s.push([n,r])):s[i][1]=r,this}return jb=t,jb}var Sb,VE;function Dv(){if(VE)return Sb;VE=1;var e=KX(),t=GX(),n=YX(),r=XX(),s=QX();function i(o){var c=-1,d=o==null?0:o.length;for(this.clear();++c<d;){var f=o[c];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=s,Sb=i,Sb}var Nb,HE;function oC(){if(HE)return Nb;HE=1;var e=yl(),t=$s(),n=e(t,"Map");return Nb=n,Nb}var Cb,KE;function JX(){if(KE)return Cb;KE=1;var e=HX(),t=Dv(),n=oC();function r(){this.size=0,this.__data__={hash:new e,map:new(n||t),string:new e}}return Cb=r,Cb}var _b,GE;function ZX(){if(GE)return _b;GE=1;function e(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}return _b=e,_b}var Ab,YE;function Lv(){if(YE)return Ab;YE=1;var e=ZX();function t(n,r){var s=n.__data__;return e(r)?s[typeof r=="string"?"string":"hash"]:s.map}return Ab=t,Ab}var kb,XE;function eQ(){if(XE)return kb;XE=1;var e=Lv();function t(n){var r=e(this,n).delete(n);return this.size-=r?1:0,r}return kb=t,kb}var Pb,QE;function tQ(){if(QE)return Pb;QE=1;var e=Lv();function t(n){return e(this,n).get(n)}return Pb=t,Pb}var Eb,JE;function nQ(){if(JE)return Eb;JE=1;var e=Lv();function t(n){return e(this,n).has(n)}return Eb=t,Eb}var Tb,ZE;function rQ(){if(ZE)return Tb;ZE=1;var e=Lv();function t(n,r){var s=e(this,n),i=s.size;return s.set(n,r),this.size+=s.size==i?0:1,this}return Tb=t,Tb}var Rb,eT;function lC(){if(eT)return Rb;eT=1;var e=JX(),t=eQ(),n=tQ(),r=nQ(),s=rQ();function i(o){var c=-1,d=o==null?0:o.length;for(this.clear();++c<d;){var f=o[c];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=s,Rb=i,Rb}var Ob,tT;function Q3(){if(tT)return Ob;tT=1;var e=lC(),t="Expected a function";function n(r,s){if(typeof r!="function"||s!=null&&typeof s!="function")throw new TypeError(t);var i=function(){var o=arguments,c=s?s.apply(this,o):o[0],d=i.cache;if(d.has(c))return d.get(c);var f=r.apply(this,o);return i.cache=d.set(c,f)||d,f};return i.cache=new(n.Cache||e),i}return n.Cache=e,Ob=n,Ob}var Mb,nT;function aQ(){if(nT)return Mb;nT=1;var e=Q3(),t=500;function n(r){var s=e(r,function(o){return i.size===t&&i.clear(),o}),i=s.cache;return s}return Mb=n,Mb}var Ib,rT;function sQ(){if(rT)return Ib;rT=1;var e=aQ(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g,r=e(function(s){var i=[];return s.charCodeAt(0)===46&&i.push(""),s.replace(t,function(o,c,d,f){i.push(d?f.replace(n,"$1"):c||o)}),i});return Ib=r,Ib}var $b,aT;function cC(){if(aT)return $b;aT=1;function e(t,n){for(var r=-1,s=t==null?0:t.length,i=Array(s);++r<s;)i[r]=n(t[r],r,t);return i}return $b=e,$b}var Db,sT;function iQ(){if(sT)return Db;sT=1;var e=Ff(),t=cC(),n=Kr(),r=hu(),s=e?e.prototype:void 0,i=s?s.toString:void 0;function o(c){if(typeof c=="string")return c;if(n(c))return t(c,o)+"";if(r(c))return i?i.call(c):"";var d=c+"";return d=="0"&&1/c==-1/0?"-0":d}return Db=o,Db}var Lb,iT;function J3(){if(iT)return Lb;iT=1;var e=iQ();function t(n){return n==null?"":e(n)}return Lb=t,Lb}var Fb,oT;function Z3(){if(oT)return Fb;oT=1;var e=Kr(),t=aC(),n=sQ(),r=J3();function s(i,o){return e(i)?i:t(i,o)?[i]:n(r(i))}return Fb=s,Fb}var zb,lT;function Fv(){if(lT)return zb;lT=1;var e=hu();function t(n){if(typeof n=="string"||e(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}return zb=t,zb}var Bb,cT;function uC(){if(cT)return Bb;cT=1;var e=Z3(),t=Fv();function n(r,s){s=e(s,r);for(var i=0,o=s.length;r!=null&&i<o;)r=r[t(s[i++])];return i&&i==o?r:void 0}return Bb=n,Bb}var qb,uT;function eL(){if(uT)return qb;uT=1;var e=uC();function t(n,r,s){var i=n==null?void 0:e(n,r);return i===void 0?s:i}return qb=t,qb}var oQ=eL();const ca=dn(oQ);var Ub,dT;function lQ(){if(dT)return Ub;dT=1;function e(t){return t==null}return Ub=e,Ub}var cQ=lQ();const Lt=dn(cQ);var Wb,fT;function uQ(){if(fT)return Wb;fT=1;var e=gi(),t=Kr(),n=xi(),r="[object String]";function s(i){return typeof i=="string"||!t(i)&&n(i)&&e(i)==r}return Wb=s,Wb}var dQ=uQ();const tl=dn(dQ);var fQ=sC();const Dt=dn(fQ);var pQ=co();const mu=dn(pQ);var Vb={exports:{}},on={};var pT;function hQ(){if(pT)return on;pT=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),o=Symbol.for("react.context"),c=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),x=Symbol.for("react.offscreen"),j;j=Symbol.for("react.module.reference");function y(b){if(typeof b=="object"&&b!==null){var S=b.$$typeof;switch(S){case e:switch(b=b.type,b){case n:case s:case r:case f:case h:return b;default:switch(b=b&&b.$$typeof,b){case c:case o:case d:case g:case p:case i:return b;default:return S}}case t:return S}}}return on.ContextConsumer=o,on.ContextProvider=i,on.Element=e,on.ForwardRef=d,on.Fragment=n,on.Lazy=g,on.Memo=p,on.Portal=t,on.Profiler=s,on.StrictMode=r,on.Suspense=f,on.SuspenseList=h,on.isAsyncMode=function(){return!1},on.isConcurrentMode=function(){return!1},on.isContextConsumer=function(b){return y(b)===o},on.isContextProvider=function(b){return y(b)===i},on.isElement=function(b){return typeof b=="object"&&b!==null&&b.$$typeof===e},on.isForwardRef=function(b){return y(b)===d},on.isFragment=function(b){return y(b)===n},on.isLazy=function(b){return y(b)===g},on.isMemo=function(b){return y(b)===p},on.isPortal=function(b){return y(b)===t},on.isProfiler=function(b){return y(b)===s},on.isStrictMode=function(b){return y(b)===r},on.isSuspense=function(b){return y(b)===f},on.isSuspenseList=function(b){return y(b)===h},on.isValidElementType=function(b){return typeof b=="string"||typeof b=="function"||b===n||b===s||b===r||b===f||b===h||b===x||typeof b=="object"&&b!==null&&(b.$$typeof===g||b.$$typeof===p||b.$$typeof===i||b.$$typeof===o||b.$$typeof===d||b.$$typeof===j||b.getModuleId!==void 0)},on.typeOf=y,on}var hT;function mQ(){return hT||(hT=1,Vb.exports=hQ()),Vb.exports}var vQ=mQ(),Hb,mT;function tL(){if(mT)return Hb;mT=1;var e=gi(),t=xi(),n="[object Number]";function r(s){return typeof s=="number"||t(s)&&e(s)==n}return Hb=r,Hb}var Kb,vT;function gQ(){if(vT)return Kb;vT=1;var e=tL();function t(n){return e(n)&&n!=+n}return Kb=t,Kb}var xQ=gQ();const zf=dn(xQ);var yQ=tL();const bQ=dn(yQ);var Nr=function(t){return t===0?0:t>0?1:-1},zo=function(t){return tl(t)&&t.indexOf("%")===t.length-1},rt=function(t){return bQ(t)&&!zf(t)},wQ=function(t){return Lt(t)},Qn=function(t){return rt(t)||tl(t)},jQ=0,vu=function(t){var n=++jQ;return"".concat(t||"").concat(n)},Cr=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!rt(t)&&!tl(t))return r;var i;if(zo(t)){var o=t.indexOf("%");i=n*parseFloat(t.slice(0,o))/100}else i=+t;return zf(i)&&(i=r),s&&i>n&&(i=n),i},uc=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},SQ=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},s=0;s<n;s++)if(!r[t[s]])r[t[s]]=!0;else return!0;return!1},aa=function(t,n){return rt(t)&&rt(n)?function(r){return t+r*(n-t)}:function(){return n}};function Qh(e,t,n){return!e||!e.length?null:e.find(function(r){return r&&(typeof t=="function"?t(r):ca(r,t))===n})}var NQ=function(t,n){return rt(t)&&rt(n)?t-n:tl(t)&&tl(n)?t.localeCompare(n):t instanceof Date&&n instanceof Date?t.getTime()-n.getTime():String(t).localeCompare(String(n))};function Sc(e,t){for(var n in e)if({}.hasOwnProperty.call(e,n)&&(!{}.hasOwnProperty.call(t,n)||e[n]!==t[n]))return!1;for(var r in t)if({}.hasOwnProperty.call(t,r)&&!{}.hasOwnProperty.call(e,r))return!1;return!0}function DS(e){"@babel/helpers - typeof";return DS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},DS(e)}var CQ=["viewBox","children"],_Q=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],gT=["points","pathLength"],Gb={svg:CQ,polygon:gT,polyline:gT},dC=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"],Jh=function(t,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var r=t;if(m.isValidElement(t)&&(r=t.props),!mu(r))return null;var s={};return Object.keys(r).forEach(function(i){dC.includes(i)&&(s[i]=n||function(o){return r[i](r,o)})}),s},AQ=function(t,n,r){return function(s){return t(n,r,s),null}},nl=function(t,n,r){if(!mu(t)||DS(t)!=="object")return null;var s=null;return Object.keys(t).forEach(function(i){var o=t[i];dC.includes(i)&&typeof o=="function"&&(s||(s={}),s[i]=AQ(o,n,r))}),s},kQ=["children"],PQ=["children"];function xT(e,t){if(e==null)return{};var n=EQ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function EQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function LS(e){"@babel/helpers - typeof";return LS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},LS(e)}var yT={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},ei=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},bT=null,Yb=null,fC=function e(t){if(t===bT&&Array.isArray(Yb))return Yb;var n=[];return m.Children.forEach(t,function(r){Lt(r)||(vQ.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),Yb=n,bT=t,n};function ua(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(s){return ei(s)}):r=[ei(t)],fC(e).forEach(function(s){var i=ca(s,"type.displayName")||ca(s,"type.name");r.indexOf(i)!==-1&&n.push(s)}),n}function na(e,t){var n=ua(e,t);return n&&n[0]}var wT=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,s=n.height;return!(!rt(r)||r<=0||!rt(s)||s<=0)},TQ=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],RQ=function(t){return t&&t.type&&tl(t.type)&&TQ.indexOf(t.type)>=0},OQ=function(t){return t&&LS(t)==="object"&&"clipDot"in t},MQ=function(t,n,r,s){var i,o=(i=Gb?.[s])!==null&&i!==void 0?i:[];return n.startsWith("data-")||!Dt(t)&&(s&&o.includes(n)||_Q.includes(n))||r&&dC.includes(n)},kt=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var s=t;if(m.isValidElement(t)&&(s=t.props),!mu(s))return null;var i={};return Object.keys(s).forEach(function(o){var c;MQ((c=s)===null||c===void 0?void 0:c[o],o,n,r)&&(i[o]=s[o])}),i},FS=function e(t,n){if(t===n)return!0;var r=m.Children.count(t);if(r!==m.Children.count(n))return!1;if(r===0)return!0;if(r===1)return jT(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var s=0;s<r;s++){var i=t[s],o=n[s];if(Array.isArray(i)||Array.isArray(o)){if(!e(i,o))return!1}else if(!jT(i,o))return!1}return!0},jT=function(t,n){if(Lt(t)&&Lt(n))return!0;if(!Lt(t)&&!Lt(n)){var r=t.props||{},s=r.children,i=xT(r,kQ),o=n.props||{},c=o.children,d=xT(o,PQ);return s&&c?Sc(i,d)&&FS(s,c):!s&&!c?Sc(i,d):!1}return!1},ST=function(t,n){var r=[],s={};return fC(t).forEach(function(i,o){if(RQ(i))r.push(i);else if(i){var c=ei(i.type),d=n[c]||{},f=d.handler,h=d.once;if(f&&(!h||!s[c])){var p=f(i,c,o);r.push(p),s[c]=!0}}}),r},IQ=function(t){var n=t&&t.type;return n&&yT[n]?yT[n]:null},$Q=function(t,n){return fC(n).indexOf(t)},DQ=["children","width","height","viewBox","className","style","title","desc"];function zS(){return zS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zS.apply(this,arguments)}function LQ(e,t){if(e==null)return{};var n=FQ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function FQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function BS(e){var t=e.children,n=e.width,r=e.height,s=e.viewBox,i=e.className,o=e.style,c=e.title,d=e.desc,f=LQ(e,DQ),h=s||{width:n,height:r,x:0,y:0},p=zt("recharts-surface",i);return X.createElement("svg",zS({},kt(f,!0,"svg"),{className:p,width:n,height:r,style:o,viewBox:"".concat(h.x," ").concat(h.y," ").concat(h.width," ").concat(h.height)}),X.createElement("title",null,c),X.createElement("desc",null,d),t)}var zQ=["children","className"];function qS(){return qS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qS.apply(this,arguments)}function BQ(e,t){if(e==null)return{};var n=qQ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function qQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var rn=X.forwardRef(function(e,t){var n=e.children,r=e.className,s=BQ(e,zQ),i=zt("recharts-layer",r);return X.createElement("g",qS({className:i},kt(s,!0),{ref:t}),n)}),ti=function(t,n){for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i]},Xb,NT;function UQ(){if(NT)return Xb;NT=1;function e(t,n,r){var s=-1,i=t.length;n<0&&(n=-n>i?0:i+n),r=r>i?i:r,r<0&&(r+=i),i=n>r?0:r-n>>>0,n>>>=0;for(var o=Array(i);++s<i;)o[s]=t[s+n];return o}return Xb=e,Xb}var Qb,CT;function WQ(){if(CT)return Qb;CT=1;var e=UQ();function t(n,r,s){var i=n.length;return s=s===void 0?i:s,!r&&s>=i?n:e(n,r,s)}return Qb=t,Qb}var Jb,_T;function nL(){if(_T)return Jb;_T=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",s=t+n+r,i="\\ufe0e\\ufe0f",o="\\u200d",c=RegExp("["+o+e+s+i+"]");function d(f){return c.test(f)}return Jb=d,Jb}var Zb,AT;function VQ(){if(AT)return Zb;AT=1;function e(t){return t.split("")}return Zb=e,Zb}var e0,kT;function HQ(){if(kT)return e0;kT=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",s=t+n+r,i="\\ufe0e\\ufe0f",o="["+e+"]",c="["+s+"]",d="\\ud83c[\\udffb-\\udfff]",f="(?:"+c+"|"+d+")",h="[^"+e+"]",p="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",j=f+"?",y="["+i+"]?",b="(?:"+x+"(?:"+[h,p,g].join("|")+")"+y+j+")*",S=y+j+b,N="(?:"+[h+c+"?",c,p,g,o].join("|")+")",C=RegExp(d+"(?="+d+")|"+N+S,"g");function k(A){return A.match(C)||[]}return e0=k,e0}var t0,PT;function KQ(){if(PT)return t0;PT=1;var e=VQ(),t=nL(),n=HQ();function r(s){return t(s)?n(s):e(s)}return t0=r,t0}var n0,ET;function GQ(){if(ET)return n0;ET=1;var e=WQ(),t=nL(),n=KQ(),r=J3();function s(i){return function(o){o=r(o);var c=t(o)?n(o):void 0,d=c?c[0]:o.charAt(0),f=c?e(c,1).join(""):o.slice(1);return d[i]()+f}}return n0=s,n0}var r0,TT;function YQ(){if(TT)return r0;TT=1;var e=GQ(),t=e("toUpperCase");return r0=t,r0}var XQ=YQ();const zv=dn(XQ);function xn(e){return function(){return e}}const rL=Math.cos,Zh=Math.sin,hs=Math.sqrt,em=Math.PI,Bv=2*em,US=Math.PI,WS=2*US,$o=1e-6,QQ=WS-$o;function aL(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function JQ(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return aL;const n=10**t;return function(r){this._+=r[0];for(let s=1,i=r.length;s<i;++s)this._+=Math.round(arguments[s]*n)/n+r[s]}}class ZQ{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?aL:JQ(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,s){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+s}`}bezierCurveTo(t,n,r,s,i,o){this._append`C${+t},${+n},${+r},${+s},${this._x1=+i},${this._y1=+o}`}arcTo(t,n,r,s,i){if(t=+t,n=+n,r=+r,s=+s,i=+i,i<0)throw new Error(`negative radius: ${i}`);let o=this._x1,c=this._y1,d=r-t,f=s-n,h=o-t,p=c-n,g=h*h+p*p;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(g>$o)if(!(Math.abs(p*d-f*h)>$o)||!i)this._append`L${this._x1=t},${this._y1=n}`;else{let x=r-o,j=s-c,y=d*d+f*f,b=x*x+j*j,S=Math.sqrt(y),N=Math.sqrt(g),C=i*Math.tan((US-Math.acos((y+g-b)/(2*S*N)))/2),k=C/N,A=C/S;Math.abs(k-1)>$o&&this._append`L${t+k*h},${n+k*p}`,this._append`A${i},${i},0,0,${+(p*x>h*j)},${this._x1=t+A*d},${this._y1=n+A*f}`}}arc(t,n,r,s,i,o){if(t=+t,n=+n,r=+r,o=!!o,r<0)throw new Error(`negative radius: ${r}`);let c=r*Math.cos(s),d=r*Math.sin(s),f=t+c,h=n+d,p=1^o,g=o?s-i:i-s;this._x1===null?this._append`M${f},${h}`:(Math.abs(this._x1-f)>$o||Math.abs(this._y1-h)>$o)&&this._append`L${f},${h}`,r&&(g<0&&(g=g%WS+WS),g>QQ?this._append`A${r},${r},0,1,${p},${t-c},${n-d}A${r},${r},0,1,${p},${this._x1=f},${this._y1=h}`:g>$o&&this._append`A${r},${r},0,${+(g>=US)},${p},${this._x1=t+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(t,n,r,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+s}h${-r}Z`}toString(){return this._}}function pC(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new ZQ(t)}function hC(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function sL(e){this._context=e}sL.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 qv(e){return new sL(e)}function iL(e){return e[0]}function oL(e){return e[1]}function lL(e,t){var n=xn(!0),r=null,s=qv,i=null,o=pC(c);e=typeof e=="function"?e:e===void 0?iL:xn(e),t=typeof t=="function"?t:t===void 0?oL:xn(t);function c(d){var f,h=(d=hC(d)).length,p,g=!1,x;for(r==null&&(i=s(x=o())),f=0;f<=h;++f)!(f<h&&n(p=d[f],f,d))===g&&((g=!g)?i.lineStart():i.lineEnd()),g&&i.point(+e(p,f,d),+t(p,f,d));if(x)return i=null,x+""||null}return c.x=function(d){return arguments.length?(e=typeof d=="function"?d:xn(+d),c):e},c.y=function(d){return arguments.length?(t=typeof d=="function"?d:xn(+d),c):t},c.defined=function(d){return arguments.length?(n=typeof d=="function"?d:xn(!!d),c):n},c.curve=function(d){return arguments.length?(s=d,r!=null&&(i=s(r)),c):s},c.context=function(d){return arguments.length?(d==null?r=i=null:i=s(r=d),c):r},c}function vh(e,t,n){var r=null,s=xn(!0),i=null,o=qv,c=null,d=pC(f);e=typeof e=="function"?e:e===void 0?iL:xn(+e),t=typeof t=="function"?t:xn(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?oL:xn(+n);function f(p){var g,x,j,y=(p=hC(p)).length,b,S=!1,N,C=new Array(y),k=new Array(y);for(i==null&&(c=o(N=d())),g=0;g<=y;++g){if(!(g<y&&s(b=p[g],g,p))===S)if(S=!S)x=g,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),j=g-1;j>=x;--j)c.point(C[j],k[j]);c.lineEnd(),c.areaEnd()}S&&(C[g]=+e(b,g,p),k[g]=+t(b,g,p),c.point(r?+r(b,g,p):C[g],n?+n(b,g,p):k[g]))}if(N)return c=null,N+""||null}function h(){return lL().defined(s).curve(o).context(i)}return f.x=function(p){return arguments.length?(e=typeof p=="function"?p:xn(+p),r=null,f):e},f.x0=function(p){return arguments.length?(e=typeof p=="function"?p:xn(+p),f):e},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:xn(+p),f):r},f.y=function(p){return arguments.length?(t=typeof p=="function"?p:xn(+p),n=null,f):t},f.y0=function(p){return arguments.length?(t=typeof p=="function"?p:xn(+p),f):t},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:xn(+p),f):n},f.lineX0=f.lineY0=function(){return h().x(e).y(t)},f.lineY1=function(){return h().x(e).y(n)},f.lineX1=function(){return h().x(r).y(t)},f.defined=function(p){return arguments.length?(s=typeof p=="function"?p:xn(!!p),f):s},f.curve=function(p){return arguments.length?(o=p,i!=null&&(c=o(i)),f):o},f.context=function(p){return arguments.length?(p==null?i=c=null:c=o(i=p),f):i},f}class cL{constructor(t,n){this._context=t,this._x=n}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,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function eJ(e){return new cL(e,!0)}function tJ(e){return new cL(e,!1)}const mC={draw(e,t){const n=hs(t/em);e.moveTo(n,0),e.arc(0,0,n,0,Bv)}},nJ={draw(e,t){const n=hs(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},uL=hs(1/3),rJ=uL*2,aJ={draw(e,t){const n=hs(t/rJ),r=n*uL;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},sJ={draw(e,t){const n=hs(t),r=-n/2;e.rect(r,r,n,n)}},iJ=.8908130915292852,dL=Zh(em/10)/Zh(7*em/10),oJ=Zh(Bv/10)*dL,lJ=-rL(Bv/10)*dL,cJ={draw(e,t){const n=hs(t*iJ),r=oJ*n,s=lJ*n;e.moveTo(0,-n),e.lineTo(r,s);for(let i=1;i<5;++i){const o=Bv*i/5,c=rL(o),d=Zh(o);e.lineTo(d*n,-c*n),e.lineTo(c*r-d*s,d*r+c*s)}e.closePath()}},a0=hs(3),uJ={draw(e,t){const n=-hs(t/(a0*3));e.moveTo(0,n*2),e.lineTo(-a0*n,-n),e.lineTo(a0*n,-n),e.closePath()}},ba=-.5,wa=hs(3)/2,VS=1/hs(12),dJ=(VS/2+1)*3,fJ={draw(e,t){const n=hs(t/dJ),r=n/2,s=n*VS,i=r,o=n*VS+n,c=-i,d=o;e.moveTo(r,s),e.lineTo(i,o),e.lineTo(c,d),e.lineTo(ba*r-wa*s,wa*r+ba*s),e.lineTo(ba*i-wa*o,wa*i+ba*o),e.lineTo(ba*c-wa*d,wa*c+ba*d),e.lineTo(ba*r+wa*s,ba*s-wa*r),e.lineTo(ba*i+wa*o,ba*o-wa*i),e.lineTo(ba*c+wa*d,ba*d-wa*c),e.closePath()}};function pJ(e,t){let n=null,r=pC(s);e=typeof e=="function"?e:xn(e||mC),t=typeof t=="function"?t:xn(t===void 0?64:+t);function s(){let i;if(n||(n=i=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+""||null}return s.type=function(i){return arguments.length?(e=typeof i=="function"?i:xn(i),s):e},s.size=function(i){return arguments.length?(t=typeof i=="function"?i:xn(+i),s):t},s.context=function(i){return arguments.length?(n=i??null,s):n},s}function tm(){}function nm(e,t,n){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+n)/6)}function fL(e){this._context=e}fL.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:nm(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:nm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function hJ(e){return new fL(e)}function pL(e){this._context=e}pL.prototype={areaStart:tm,areaEnd:tm,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:nm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function mJ(e){return new pL(e)}function hL(e){this._context=e}hL.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 n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:nm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function vJ(e){return new hL(e)}function mL(e){this._context=e}mL.prototype={areaStart:tm,areaEnd:tm,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 gJ(e){return new mL(e)}function RT(e){return e<0?-1:1}function OT(e,t,n){var r=e._x1-e._x0,s=t-e._x1,i=(e._y1-e._y0)/(r||s<0&&-0),o=(n-e._y1)/(s||r<0&&-0),c=(i*s+o*r)/(r+s);return(RT(i)+RT(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(c))||0}function MT(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function s0(e,t,n){var r=e._x0,s=e._y0,i=e._x1,o=e._y1,c=(i-r)/3;e._context.bezierCurveTo(r+c,s+c*t,i-c,o-c*n,i,o)}function rm(e){this._context=e}rm.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:s0(this,this._t0,MT(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 n=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,s0(this,MT(this,n=OT(this,e,t)),n);break;default:s0(this,this._t0,n=OT(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function vL(e){this._context=new gL(e)}(vL.prototype=Object.create(rm.prototype)).point=function(e,t){rm.prototype.point.call(this,t,e)};function gL(e){this._context=e}gL.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,n,r,s,i){this._context.bezierCurveTo(t,e,r,n,i,s)}};function xJ(e){return new rm(e)}function yJ(e){return new vL(e)}function xL(e){this._context=e}xL.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,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=IT(e),s=IT(t),i=0,o=1;o<n;++i,++o)this._context.bezierCurveTo(r[0][i],s[0][i],r[1][i],s[1][i],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function IT(e){var t,n=e.length-1,r,s=new Array(n),i=new Array(n),o=new Array(n);for(s[0]=0,i[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)s[t]=1,i[t]=4,o[t]=4*e[t]+2*e[t+1];for(s[n-1]=2,i[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=s[t]/i[t-1],i[t]-=r,o[t]-=r*o[t-1];for(s[n-1]=o[n-1]/i[n-1],t=n-2;t>=0;--t)s[t]=(o[t]-s[t+1])/i[t];for(i[n-1]=(e[n]+s[n-1])/2,t=0;t<n-1;++t)i[t]=2*e[t+1]-s[t+1];return[s,i]}function bJ(e){return new xL(e)}function Uv(e,t){this._context=e,this._t=t}Uv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=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 n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function wJ(e){return new Uv(e,.5)}function jJ(e){return new Uv(e,0)}function SJ(e){return new Uv(e,1)}function Oc(e,t){if((o=e.length)>1)for(var n=1,r,s,i=e[t[0]],o,c=i.length;n<o;++n)for(s=i,i=e[t[n]],r=0;r<c;++r)i[r][1]+=i[r][0]=isNaN(s[r][1])?s[r][0]:s[r][1]}function HS(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function NJ(e,t){return e[t]}function CJ(e){const t=[];return t.key=e,t}function _J(){var e=xn([]),t=HS,n=Oc,r=NJ;function s(i){var o=Array.from(e.apply(this,arguments),CJ),c,d=o.length,f=-1,h;for(const p of i)for(c=0,++f;c<d;++c)(o[c][f]=[0,+r(p,o[c].key,f,i)]).data=p;for(c=0,h=hC(t(o));c<d;++c)o[h[c]].index=c;return n(o,h),o}return s.keys=function(i){return arguments.length?(e=typeof i=="function"?i:xn(Array.from(i)),s):e},s.value=function(i){return arguments.length?(r=typeof i=="function"?i:xn(+i),s):r},s.order=function(i){return arguments.length?(t=i==null?HS:typeof i=="function"?i:xn(Array.from(i)),s):t},s.offset=function(i){return arguments.length?(n=i??Oc,s):n},s}function AJ(e,t){if((r=e.length)>0){for(var n,r,s=0,i=e[0].length,o;s<i;++s){for(o=n=0;n<r;++n)o+=e[n][s][1]||0;if(o)for(n=0;n<r;++n)e[n][s][1]/=o}Oc(e,t)}}function kJ(e,t){if((s=e.length)>0){for(var n=0,r=e[t[0]],s,i=r.length;n<i;++n){for(var o=0,c=0;o<s;++o)c+=e[o][n][1]||0;r[n][1]+=r[n][0]=-c/2}Oc(e,t)}}function PJ(e,t){if(!(!((o=e.length)>0)||!((i=(s=e[t[0]]).length)>0))){for(var n=0,r=1,s,i,o;r<i;++r){for(var c=0,d=0,f=0;c<o;++c){for(var h=e[t[c]],p=h[r][1]||0,g=h[r-1][1]||0,x=(p-g)/2,j=0;j<c;++j){var y=e[t[j]],b=y[r][1]||0,S=y[r-1][1]||0;x+=b-S}d+=p,f+=x*p}s[r-1][1]+=s[r-1][0]=n,d&&(n-=f/d)}s[r-1][1]+=s[r-1][0]=n,Oc(e,t)}}function qd(e){"@babel/helpers - typeof";return qd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qd(e)}var EJ=["type","size","sizeType"];function KS(){return KS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},KS.apply(this,arguments)}function $T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function DT(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?$T(Object(n),!0).forEach(function(r){TJ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$T(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function TJ(e,t,n){return t=RJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function RJ(e){var t=OJ(e,"string");return qd(t)=="symbol"?t:t+""}function OJ(e,t){if(qd(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(qd(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function MJ(e,t){if(e==null)return{};var n=IJ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function IJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var yL={symbolCircle:mC,symbolCross:nJ,symbolDiamond:aJ,symbolSquare:sJ,symbolStar:cJ,symbolTriangle:uJ,symbolWye:fJ},$J=Math.PI/180,DJ=function(t){var n="symbol".concat(zv(t));return yL[n]||mC},LJ=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var s=18*$J;return 1.25*t*t*(Math.tan(s)-Math.tan(s*2)*Math.pow(Math.tan(s),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},FJ=function(t,n){yL["symbol".concat(zv(t))]=n},vC=function(t){var n=t.type,r=n===void 0?"circle":n,s=t.size,i=s===void 0?64:s,o=t.sizeType,c=o===void 0?"area":o,d=MJ(t,EJ),f=DT(DT({},d),{},{type:r,size:i,sizeType:c}),h=function(){var b=DJ(r),S=pJ().type(b).size(LJ(i,c,r));return S()},p=f.className,g=f.cx,x=f.cy,j=kt(f,!0);return g===+g&&x===+x&&i===+i?X.createElement("path",KS({},j,{className:zt("recharts-symbols",p),transform:"translate(".concat(g,", ").concat(x,")"),d:h()})):null};vC.registerSymbol=FJ;function Mc(e){"@babel/helpers - typeof";return Mc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mc(e)}function GS(){return GS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},GS.apply(this,arguments)}function LT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function zJ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?LT(Object(n),!0).forEach(function(r){Ud(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):LT(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function BJ(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qJ(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,wL(r.key),r)}}function UJ(e,t,n){return t&&qJ(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function WJ(e,t,n){return t=am(t),VJ(e,bL()?Reflect.construct(t,n||[],am(e).constructor):t.apply(e,n))}function VJ(e,t){if(t&&(Mc(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return HJ(e)}function HJ(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bL(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(bL=function(){return!!e})()}function am(e){return am=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},am(e)}function KJ(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&YS(e,t)}function YS(e,t){return YS=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,s){return r.__proto__=s,r},YS(e,t)}function Ud(e,t,n){return t=wL(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wL(e){var t=GJ(e,"string");return Mc(t)=="symbol"?t:t+""}function GJ(e,t){if(Mc(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Mc(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var ja=32,gC=(function(e){function t(){return BJ(this,t),WJ(this,t,arguments)}return KJ(t,e),UJ(t,[{key:"renderIcon",value:function(r){var s=this.props.inactiveColor,i=ja/2,o=ja/6,c=ja/3,d=r.inactive?s:r.color;if(r.type==="plainline")return X.createElement("line",{strokeWidth:4,fill:"none",stroke:d,strokeDasharray:r.payload.strokeDasharray,x1:0,y1:i,x2:ja,y2:i,className:"recharts-legend-icon"});if(r.type==="line")return X.createElement("path",{strokeWidth:4,fill:"none",stroke:d,d:"M0,".concat(i,"h").concat(c,`
56
+ `);n.push({id:`tool_result-${n.length}`,kind:"tool_result",text:d,toolName:c.name,ok:!c.is_error,durationMs:c.duration_ms,timestamp:c.ts_end??o.ts,estimatedTokens:c.estimated_tokens?{inputTokens:c.estimated_tokens.input,outputTokens:c.estimated_tokens.output,totalTokens:c.estimated_tokens.total}:void 0,estimatedTokenMethod:c.estimated_tokens?.method})}}return typeof r=="number"&&n[r]&&(n[r]={...n[r],kind:"assistant_final"}),n}function cE(e){try{return JSON.stringify(e)}catch{return String(e)}}function uE(e,t){t&&(typeof t.input_tokens=="number"&&(e.input+=t.input_tokens,e.hasInput=!0),typeof t.output_tokens=="number"&&(e.output+=t.output_tokens,e.hasOutput=!0),typeof t.total_tokens=="number"&&(e.total+=t.total_tokens,e.hasTotal=!0))}function qy(e,t){if(typeof e!="number"||t<=0)return new Array(t).fill(void 0);const n=Math.floor(e/t),r=e%t;return Array.from({length:t},(s,i)=>n+(i<r?1:0))}function U3(e){const t=bs(),n=bs(),r=new Map;if(!e)return{assistant:null,tool:null,perTool:{}};for(const i of e.messages??[]){if(i.role!=="assistant")continue;uE(t,i.usage);const o=i.content.filter(p=>p.type==="tool_use");if(o.length===0)continue;if(o.every(p=>!!p.estimated_tokens)){for(const p of o){const g=p.estimated_tokens;n.input+=g.input,n.hasInput=!0,n.output+=g.output,n.hasOutput=!0,n.total+=g.total,n.hasTotal=!0;const x=r.get(p.name)??bs();x.input+=g.input,x.hasInput=!0,x.output+=g.output,x.hasOutput=!0,x.total+=g.total,x.hasTotal=!0,r.set(p.name,x)}continue}uE(n,i.usage);const d=qy(i.usage?.input_tokens,o.length),f=qy(i.usage?.output_tokens,o.length),h=qy(i.usage?.total_tokens,o.length);for(let p=0;p<o.length;p+=1){const g=o[p].name,x=r.get(g)??bs(),j=d[p],y=f[p],b=h[p];typeof j=="number"&&(x.input+=j,x.hasInput=!0),typeof y=="number"&&(x.output+=y,x.hasOutput=!0),typeof b=="number"&&(x.total+=b,x.hasTotal=!0),r.set(g,x)}}const s={};for(const[i,o]of Array.from(r.entries()).sort((c,d)=>c[0].localeCompare(d[0]))){const c=Xs(o);c&&(s[i]=c)}return{assistant:Xs(t),tool:Xs(n),perTool:s}}function W3(e,t){if(t){const n=Date.parse(t.ts_start),r=Date.parse(t.ts_end);if(Number.isFinite(n)&&Number.isFinite(r))return Math.max(0,r-n)}return e.tool_durations_ms.reduce((n,r)=>n+r,0)}function dE(e,t=[]){const n=new Map;for(const o of t){const c=cX(o.scenario_id,o.agent);if(!c)continue;const d=n.get(c)??[];d.push(o),n.set(c,d)}const r=e.scenarios.map(o=>{const c=n.get(`${o.scenario_id}::${o.agent}`)??[],d=new Map;for(const b of c)d.set(b.run_index,b);const f=o.runs.map((b,S)=>{const N=d.get(b.run_index)??c[S],C=U3(N);return{runIndex:b.run_index,passed:b.pass,error:b.error,toolCalls:B3(b,N),assistantTokenUsage:C.assistant,toolTokenUsage:C.tool,toolTokenUsageByTool:C.perTool,finalAnswer:b.final_text,conversation:q3(N),duration:W3(b,N),extractedValues:Object.fromEntries(Object.entries(b.extracted).map(([k,A])=>[k,String(A??"")])),failureReasons:b.failures}}),h=bs(),p=bs(),g=new Map;for(const b of f){cc(h,b.assistantTokenUsage),cc(p,b.toolTokenUsage);for(const[S,N]of Object.entries(b.toolTokenUsageByTool??{})){const C=g.get(S)??bs();cc(C,N),g.set(S,C)}}const x={};for(const[b,S]of Array.from(g.entries()).sort((N,C)=>N[0].localeCompare(C[0]))){const N=Xs(S);N&&(x[b]=N)}const j=f.length===0?0:Math.round(f.reduce((b,S)=>b+S.duration,0)/f.length),y=f.length===0?0:f.reduce((b,S)=>b+S.toolCalls.length,0)/f.length;return{scenarioId:o.scenario_id,scenarioName:o.scenario_name||o.scenario_id,agentId:o.agent,agentName:o.agent,provider:o.provider,model:o.model,runs:f,passRate:o.pass_rate,avgToolCalls:y,avgDuration:j,assistantTokenUsage:Xs(h),toolTokenUsage:Xs(p),toolTokenUsageByTool:x}}),s=bs(),i=bs();for(const o of r)cc(s,o.assistantTokenUsage),cc(i,o.toolTokenUsage);return{id:e.metadata.run_id,configId:"",configHash:e.metadata.config_hash,configPath:e.metadata.config_path,configName:e.metadata.config_name,rerunAgents:e.metadata.rerun_agents,rerunScenarioIds:e.metadata.rerun_scenario_ids,rerunServerOverrideAll:e.metadata.rerun_server_override_all,rerunScenarioServerOverrides:e.metadata.rerun_scenario_server_overrides,timestamp:e.metadata.timestamp,runNote:e.metadata.run_note,mcpServerVersions:e.metadata.mcp_server_versions??{},scenarios:r,assistantTokenUsage:Xs(s),toolTokenUsage:Xs(i),overallPassRate:e.summary.pass_rate,totalScenarios:e.summary.total_scenarios,totalRuns:e.summary.total_runs,avgToolCalls:e.summary.avg_tool_calls_per_run,avgLatency:Math.round(e.summary.avg_tool_latency_ms??0),totalToolDurationMs:typeof e.metadata.total_tool_duration_ms=="number"?Math.max(0,e.metadata.total_tool_duration_ms??0):0}}function uX(e,t){const n=U3(t??void 0);return{runIndex:e.run_index,passed:e.pass,error:e.error,toolCalls:B3(e,t??void 0),assistantTokenUsage:n.assistant,toolTokenUsage:n.tool,toolTokenUsageByTool:n.perTool,finalAnswer:e.final_text,conversation:q3(t??void 0),duration:W3(e,t??void 0),extractedValues:Object.fromEntries(Object.entries(e.extracted).map(([r,s])=>[r,String(s??"")])),failureReasons:e.failures}}function dX(){return typeof window>"u"?"":window.location.port==="8685"?"http://127.0.0.1:8787":""}const Gi=dX();class rC extends Error{constructor(t,n){super(n),this.status=t,this.name="ApiError"}}async function yt(e,t){const n=await fetch(`${Gi}${e}`,{...t,headers:{"content-type":"application/json",...t?.headers||{}}});if(!n.ok){const r=await n.text();throw new rC(n.status,`Request failed (${n.status}): ${r}`)}return await n.json()}async function fX(e,t){const n=await fetch(`${Gi}${e}`,{...t,headers:{}});if(!n.ok){const r=await n.text();throw new rC(n.status,`Request failed (${n.status}): ${r}`)}return n.text()}function fE(e,t){const n=new EventSource(`${Gi}${e}`),r=e.replace(/\/events$/,""),s=["session_started","turn_started","tool_call_requested","tool_call_approved","tool_call_denied","tool_call_resolved","assistant_message_completed","session_warning","session_error","session_finished"];let i=!1;const o=()=>{i||(i=!0,n.close())},c=d=>{if(!i&&!(typeof d.data!="string"||!d.data))try{const f=JSON.parse(d.data);f.type==="session_finished"&&o(),t(f)}catch{}};for(const d of s)n.addEventListener(d,c);return n.onerror=()=>{if(!i){if(n.readyState===2){o();return}fetch(`${Gi}${r}`,{method:"GET",cache:"no-store",headers:{accept:"application/json"}}).then(d=>{(d.status===404||d.status===410)&&o()}).catch(()=>{})}},()=>o()}function Uy(e,t,n){if(typeof n!="number"||!Number.isFinite(n))return;const r=Math.floor(n);r<=0||e.set(t,String(r))}function Wy(e,t,n){if(typeof n!="number"||!Number.isFinite(n))return;const r=Math.floor(n);r<0||e.set(t,String(r))}const st={health:()=>yt("/api/health"),getSettings:()=>yt("/api/settings"),updateSettings:e=>yt("/api/settings",{method:"PUT",body:JSON.stringify(e)}),listConfigs:()=>yt("/api/evals"),createConfig:(e,t)=>yt("/api/evals",{method:"POST",body:JSON.stringify({fileName:e,config:t})}),updateConfig:(e,t,n)=>yt(`/api/evals/${e}`,{method:"PUT",body:JSON.stringify({config:t,fileName:n})}),deleteConfig:e=>yt(`/api/evals/${e}`,{method:"DELETE"}),listRuns:e=>{const t=new URLSearchParams;e?.since?.trim()&&t.set("since",e.since.trim()),e?.until?.trim()&&t.set("until",e.until.trim()),typeof e?.lastDays=="number"&&Number.isFinite(e.lastDays)&&e.lastDays>0&&t.set("last_days",String(Math.floor(e.lastDays))),e?.scenario?.trim()&&t.set("scenario",e.scenario.trim()),Uy(t,"limit",e?.limit),Wy(t,"offset",e?.offset);const n=t.size>0?`?${t.toString()}`:"";return yt(`/api/runs${n}`)},getLatestPassRatesByConfigIds:e=>yt("/api/runs/latest-pass-rates",{method:"POST",body:JSON.stringify(e)}).then(t=>t.byConfigId),listMarkdownReports:e=>{const t=new URLSearchParams;Uy(t,"limit",e?.limit),Wy(t,"offset",e?.offset);const n=t.size>0?`?${t.toString()}`:"";return yt(`/api/markdown-reports${n}`)},listToolAnalysisServers:()=>yt("/api/tool-analysis-results/servers").then(e=>e.data),getMarkdownReport:e=>yt(`/api/markdown-reports/content?path=${encodeURIComponent(e)}`),getMarkdownReportById:e=>yt(`/api/markdown-reports/${encodeURIComponent(e)}`),deleteMarkdownReport:e=>yt(`/api/markdown-reports?path=${encodeURIComponent(e)}`,{method:"DELETE"}).then(()=>{}),getRun:e=>yt(`/api/runs/${e}`),deleteRun:e=>yt(`/api/runs/${e}`,{method:"DELETE"}),updateRunNote:(e,t)=>yt(`/api/runs/${encodeURIComponent(e)}/note`,{method:"PATCH",body:JSON.stringify({runNote:t??""})}).then(()=>{}),getRunTrace:e=>yt(`/api/runs/${e}/trace`),applyResultAssistantReport:e=>yt(`/api/runs/${encodeURIComponent(e.runId)}/assistant/apply-report`,{method:"POST",body:JSON.stringify({markdown:e.markdown,outputPath:e.outputPath,overwrite:e.overwrite})}),createResultAssistantSession:(e,t)=>yt("/api/result-assistant/sessions",{method:"POST",body:JSON.stringify(e),signal:t}),getResultAssistantSession:e=>yt(`/api/result-assistant/sessions/${e}`),sendResultAssistantMessage:(e,t,n)=>yt(`/api/result-assistant/sessions/${e}/messages`,{method:"POST",body:JSON.stringify({message:t}),signal:n}),approveResultAssistantToolCall:(e,t,n)=>yt(`/api/result-assistant/sessions/${e}/tool-calls/${t}/approve`,{method:"POST",body:JSON.stringify(n===void 0?{}:{argumentsOverride:n})}),denyResultAssistantToolCall:(e,t)=>yt(`/api/result-assistant/sessions/${e}/tool-calls/${t}/deny`,{method:"POST",body:JSON.stringify({})}),closeResultAssistantSession:e=>yt(`/api/result-assistant/sessions/${e}`,{method:"DELETE"}).then(()=>{}),subscribeResultAssistantSessionEvents:(e,t)=>fE(`/api/result-assistant/sessions/${e}/events`,t),getLibraries:()=>yt("/api/libraries"),saveLibraries:e=>yt("/api/libraries",{method:"PUT",body:JSON.stringify(e)}),startRun:e=>yt("/api/runs",{method:"POST",body:JSON.stringify(e)}),runScenarioPreview:e=>yt("/api/runs/preview",{method:"POST",body:JSON.stringify(e)}),listProviderModels:e=>yt(`/api/providers/models?provider=${encodeURIComponent(e)}`),createScenarioAssistantSession:(e,t)=>yt("/api/scenario-assistant/sessions",{method:"POST",body:JSON.stringify(e),signal:t}),getScenarioAssistantSession:e=>yt(`/api/scenario-assistant/sessions/${e}`),sendScenarioAssistantMessage:(e,t,n)=>yt(`/api/scenario-assistant/sessions/${e}/messages`,{method:"POST",body:JSON.stringify({message:t}),signal:n}),approveScenarioAssistantToolCall:(e,t)=>yt(`/api/scenario-assistant/sessions/${e}/tool-calls/${t}/approve`,{method:"POST",body:JSON.stringify({})}),denyScenarioAssistantToolCall:(e,t)=>yt(`/api/scenario-assistant/sessions/${e}/tool-calls/${t}/deny`,{method:"POST",body:JSON.stringify({})}),approveAllScenarioAssistantToolCalls:e=>yt(`/api/scenario-assistant/sessions/${e}/tool-calls/approve-all`,{method:"POST",body:JSON.stringify({})}),closeScenarioAssistantSession:e=>yt(`/api/scenario-assistant/sessions/${e}`,{method:"DELETE"}),subscribeScenarioAssistantSessionEvents:(e,t)=>fE(`/api/scenario-assistant/sessions/${e}/events`,t),discoverToolsForAnalysis:e=>yt("/api/tool-analysis/discover-tools",{method:"POST",body:JSON.stringify(e)}),startToolAnalysis:e=>yt("/api/tool-analysis/jobs",{method:"POST",body:JSON.stringify(e)}),getToolAnalysisResult:e=>yt(`/api/tool-analysis/jobs/${e}/result`),stopToolAnalysis:e=>yt(`/api/tool-analysis/jobs/${e}/stop`,{method:"POST"}),subscribeToolAnalysisJob:(e,t)=>{const n=new EventSource(`${Gi}/api/tool-analysis/jobs/${e}/events`);let r=!1;const s=()=>{r||(r=!0,n.close())},i=o=>{if(!r&&!(typeof o.data!="string"||!o.data))try{const c=JSON.parse(o.data);t(c),(c.type==="completed"||c.type==="error")&&s()}catch{}};return n.addEventListener("started",i),n.addEventListener("log",i),n.addEventListener("completed",i),n.addEventListener("error",i),n.onerror=()=>{r||(t({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error"}}),s())},()=>s()},listToolAnalysisResults:e=>{const t=new URLSearchParams;Uy(t,"limit",e?.limit),Wy(t,"offset",e?.offset),e?.server?.trim()&&t.set("server",e.server.trim());const n=t.size>0?`?${t.toString()}`:"";return yt(`/api/tool-analysis-results${n}`)},getToolAnalysisSavedResult:e=>yt(`/api/tool-analysis-results/${e}`),deleteToolAnalysisSavedResult:e=>yt(`/api/tool-analysis-results/${e}`,{method:"DELETE"}).then(()=>{}),createOAuthDebuggerSession:e=>yt("/api/oauth-debugger/sessions",{method:"POST",body:JSON.stringify(e)}),getOAuthDebuggerSession:e=>yt(`/api/oauth-debugger/sessions/${e}`),startOAuthDebuggerSession:e=>yt(`/api/oauth-debugger/sessions/${e}/start`,{method:"POST",body:JSON.stringify({})}),subscribeOAuthDebuggerSession:(e,t)=>{const n=new EventSource(`${Gi}/api/oauth-debugger/sessions/${e}/events`);let r=!1;const s=()=>{r||(r=!0,n.close())},i=o=>{if(!r&&!(typeof o.data!="string"||!o.data))try{const c=JSON.parse(o.data);t(c),(c.type==="completed"||c.type==="error"||c.type==="stopped")&&s()}catch{}};return["started","step_started","step_completed","step_failed","http_request","http_response","validation","log","waiting_for_user","waiting_for_browser_callback","completed","error","stopped"].forEach(o=>n.addEventListener(o,i)),n.onerror=()=>{r||(t({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error"}}),s())},()=>s()},submitOAuthDebuggerManualCallback:(e,t)=>yt(`/api/oauth-debugger/sessions/${e}/manual-callback`,{method:"POST",body:JSON.stringify(t)}),stopOAuthDebuggerSession:e=>yt(`/api/oauth-debugger/sessions/${e}/stop`,{method:"POST",body:JSON.stringify({})}),exportOAuthDebuggerSession:(e,t)=>t==="json"?yt(`/api/oauth-debugger/sessions/${e}/export?format=json`):fX(`/api/oauth-debugger/sessions/${e}/export?format=${t}`),createOAuthRuntimeSession:e=>yt("/api/oauth-runtime/sessions",{method:"POST",body:JSON.stringify(e)}),getOAuthRuntimeSession:e=>yt(`/api/oauth-runtime/sessions/${e}`),getOAuthRuntimeSessionToken:e=>yt(`/api/oauth-runtime/sessions/${e}/token`),submitOAuthRuntimeCallback:(e,t)=>yt(`/api/oauth-runtime/sessions/${e}/callback`,{method:"POST",body:JSON.stringify(t)}),cancelOAuthRuntimeSession:e=>yt(`/api/oauth-runtime/sessions/${e}/cancel`,{method:"POST",body:JSON.stringify({})}),ensureOAuthServers:e=>yt("/api/oauth-runtime/servers/ensure",{method:"POST",body:JSON.stringify(e)}),stopRun:e=>yt(`/api/runs/jobs/${e}/stop`,{method:"POST"}),getRunQueue:()=>yt("/api/runs/queue"),subscribeRunQueue:e=>{const t=new SharedWorker(new URL("/assets/sse-queue-worker-D8VxSJOl.js",import.meta.url),{type:"module"});let n=!1;return t.port.onmessage=r=>{n||typeof r.data!="object"||!r.data||e(r.data)},t.port.start(),t.port.postMessage({type:"init",baseUrl:Gi}),()=>{n||(n=!0,t.port.postMessage({type:"close"}))}},removeQueuedRun:e=>yt(`/api/runs/queue/${e}`,{method:"DELETE"}).then(()=>{}),resumeQueue:()=>yt("/api/runs/queue/resume",{method:"POST"}),subscribeRunJob:(e,t)=>{const n=new EventSource(`${Gi}/api/runs/jobs/${e}/events`);let r=!1;const s=()=>{r||(r=!0,n.close())},i=o=>{if(!r&&!(typeof o.data!="string"||!o.data))try{const c=JSON.parse(o.data);t(c),(c.type==="completed"||c.type==="error")&&s()}catch{}};return n.addEventListener("queued",i),n.addEventListener("started",i),n.addEventListener("log",i),n.addEventListener("completed",i),n.addEventListener("error",i),n.addEventListener("oauth_required",i),n.onerror=()=>{r||(t({type:"error",ts:new Date().toISOString(),payload:{message:"SSE connection error"}}),s())},()=>{s()}}};function pX(e){if(e.sourcePath){const t=e.sourcePath.split("/");return t[t.length-1].replace(/\.(yaml|yml)$/i,"")}return e.name||`config-${Date.now()}`}function hX(e){return e||`config-${Date.now()}`}const mX={async health(){return st.health()},async listConfigs(){return(await st.listConfigs()).map(Lh)},async createConfig(e){const t=await st.createConfig(pX(e),lE(e));return Lh(t)},async updateConfig(e){const t=await st.updateConfig(e.id,lE(e),hX(e.name));return Lh(t)},async deleteConfig(e){await st.deleteConfig(e)},async listResults(e){const n=(await st.listRuns(e)).data.map(async r=>{const[{results:s},i]=await Promise.all([st.getRun(r.runId),st.getRunTrace(r.runId)]);return dE(s,i.records)});return Promise.all(n)},async listRunSummaries(e){const t=Math.max(1,Math.min(100,e?.limit??100));let n=Math.max(0,e?.offset??0);const r=[];for(;;){const s=await st.listRuns({...e,limit:t,offset:n});if(r.push(...s.data),!s.has_more||s.next_offset===null)break;n=s.next_offset}return r},async listRunSummariesPage(e){return st.listRuns(e)},async getLatestPassRatesByConfigIds(e){return st.getLatestPassRatesByConfigIds(e)},async getResult(e){try{const[{results:t},n]=await Promise.all([st.getRun(e),st.getRunTrace(e)]);return dE(t,n.records)}catch{return}},async deleteResult(e){await st.deleteRun(e)},async updateRunNote(e,t){await st.updateRunNote(e,t)},async listMarkdownReports(e){if(e?.limit!==void 0||e?.offset!==void 0)return(await st.listMarkdownReports(e)).data;const t=[];let n=0;const r=100;for(;;){const s=await st.listMarkdownReports({limit:r,offset:n});if(t.push(...s.data),!s.has_more||s.next_offset===null)break;n=s.next_offset}return t},async listMarkdownReportsPage(e){return st.listMarkdownReports(e)},async getMarkdownReport(e){return st.getMarkdownReport(e)},async getMarkdownReportById(e){return st.getMarkdownReportById(e)},async deleteMarkdownReport(e){await st.deleteMarkdownReport(e)},async startRun(e){return st.startRun(e)},async runScenarioPreview(e){const t=await st.runScenarioPreview(e),n=t.scenario.run;if(!n)throw new Error("Preview run did not return a run result");return{runId:t.runId,scenarioId:t.scenario.scenarioId,agentName:t.scenario.agent,run:uX(n,t.scenario.traceRecord)}},async stopRun(e){await st.stopRun(e)},async getRunQueue(){return st.getRunQueue()},subscribeRunQueue(e){return st.subscribeRunQueue(e)},async removeQueuedRun(e){await st.removeQueuedRun(e)},async resumeQueue(){return st.resumeQueue()},subscribeRunJob(e,t){return st.subscribeRunJob(e,t)},async applyResultAssistantReport(e){return st.applyResultAssistantReport(e)},async createResultAssistantSession(e,t){return st.createResultAssistantSession(e,t)},async getResultAssistantSession(e){return st.getResultAssistantSession(e)},async sendResultAssistantMessage(e,t,n){return st.sendResultAssistantMessage(e,t,n)},async approveResultAssistantToolCall(e,t,n){return st.approveResultAssistantToolCall(e,t,n)},async denyResultAssistantToolCall(e,t){return st.denyResultAssistantToolCall(e,t)},async closeResultAssistantSession(e){await st.closeResultAssistantSession(e)},subscribeResultAssistantSessionEvents(e,t){return st.subscribeResultAssistantSessionEvents(e,t)},async getLibraries(){const e=await st.getLibraries();return oX(e)},async saveLibraries(e){await st.saveLibraries(lX(e))},async listProviderModels(e){return st.listProviderModels(e)},async getWorkspaceSettings(){return st.getSettings()},async updateWorkspaceSettings(e){return st.updateSettings(e)},async createScenarioAssistantSession(e,t){return st.createScenarioAssistantSession(e,t)},async getScenarioAssistantSession(e){return st.getScenarioAssistantSession(e)},async sendScenarioAssistantMessage(e,t,n){return st.sendScenarioAssistantMessage(e,t,n)},async approveScenarioAssistantToolCall(e,t){return st.approveScenarioAssistantToolCall(e,t)},async denyScenarioAssistantToolCall(e,t){return st.denyScenarioAssistantToolCall(e,t)},async approveAllScenarioAssistantToolCalls(e){return st.approveAllScenarioAssistantToolCalls(e)},async closeScenarioAssistantSession(e){await st.closeScenarioAssistantSession(e)},subscribeScenarioAssistantSessionEvents(e,t){return st.subscribeScenarioAssistantSessionEvents(e,t)},async discoverToolsForAnalysis(e){return st.discoverToolsForAnalysis(e)},async startToolAnalysis(e){return st.startToolAnalysis(e)},subscribeToolAnalysisJob(e,t){return st.subscribeToolAnalysisJob(e,t)},async getToolAnalysisResult(e){return st.getToolAnalysisResult(e)},async stopToolAnalysis(e){return st.stopToolAnalysis(e)},async listToolAnalysisResults(e){if(e?.limit!==void 0||e?.offset!==void 0)return(await st.listToolAnalysisResults(e)).data;const t=[];let n=0;const r=100;for(;;){const s=await st.listToolAnalysisResults({limit:r,offset:n});if(t.push(...s.data),!s.has_more||s.next_offset===null)break;n=s.next_offset}return t},async listToolAnalysisResultsPage(e){return st.listToolAnalysisResults(e)},async listToolAnalysisServers(){return st.listToolAnalysisServers()},async getToolAnalysisSavedResult(e){return st.getToolAnalysisSavedResult(e)},async deleteToolAnalysisSavedResult(e){await st.deleteToolAnalysisSavedResult(e)},async createOAuthDebuggerSession(e){return st.createOAuthDebuggerSession(e)},async getOAuthDebuggerSession(e){return st.getOAuthDebuggerSession(e)},async startOAuthDebuggerSession(e){return st.startOAuthDebuggerSession(e)},subscribeOAuthDebuggerSession(e,t){return st.subscribeOAuthDebuggerSession(e,t)},async submitOAuthDebuggerManualCallback(e,t){return st.submitOAuthDebuggerManualCallback(e,t)},async stopOAuthDebuggerSession(e){return st.stopOAuthDebuggerSession(e)},async exportOAuthDebuggerSession(e,t){return st.exportOAuthDebuggerSession(e,t)},async createOAuthRuntimeSession(e){return st.createOAuthRuntimeSession(e)},async getOAuthRuntimeSession(e){return st.getOAuthRuntimeSession(e)},async getOAuthRuntimeSessionToken(e){return st.getOAuthRuntimeSessionToken(e)},async submitOAuthRuntimeCallback(e,t){return st.submitOAuthRuntimeCallback(e,t)},async cancelOAuthRuntimeSession(e){return st.cancelOAuthRuntimeSession(e)},async ensureOAuthServers(e){return st.ensureOAuthServers(e)}},V3=m.createContext(null);function vX({children:e}){const t="workspace",[n,r]=m.useState("checking"),[s,i]=m.useState(null);m.useEffect(()=>{r("checking"),st.health().then(c=>{r("connected"),i(typeof c?.version=="string"?c.version:null)}).catch(()=>{r("disconnected"),i(null)})},[t]);const o=m.useMemo(()=>mX,[]);return a.jsx(V3.Provider,{value:{mode:t,connection:n,version:s,source:o},children:e})}function Nn(){const e=m.useContext(V3);if(!e)throw new Error("useDataSource must be used within DataSourceProvider");return e}const gX=5,xX=2e3;function yX(e){return e.filter(t=>t.status==="blocked_auth"&&t.blockedReason==="oauth_required").length}function bX(e){const t=e?.active??null,n=Array.isArray(e?.active_jobs)?e.active_jobs:t?[t]:[],r=Array.isArray(e?.admitting_jobs)?e.admitting_jobs:[],s=Array.isArray(e?.queued)?e.queued:[];return{active:t,active_jobs:n,admitting_jobs:r,queued:s}}function wX(){const{source:e}=Nn(),[t,n]=m.useState({active:null,active_jobs:[],admitting_jobs:[],queued:[]}),[r,s]=m.useState("connecting"),[i,o]=m.useState(0),c=m.useRef("connecting"),d=m.useRef(0);return m.useEffect(()=>{let f=!1,h=0,p=null,g=null;const x=()=>{p!==null&&(window.clearTimeout(p),p=null)},j=()=>{f||(x(),s("connecting"),c.current="connecting",g?.(),g=e.subscribeRunQueue(b=>{const S=b.payload.event;if(b.type==="connected"){h=0,s("connected"),c.current="connected";return}if(b.type==="queue_event"&&S){d.current+=1,s("connected"),c.current="connected",n(bX(S));return}if(b.type==="error"){if(g?.(),g=null,h>=gX){s("disconnected"),c.current="disconnected";return}h+=1,s("connecting"),c.current="connecting";const N=xX*2**(h-1);p=window.setTimeout(()=>{j()},N)}}))};j();const y=()=>{c.current!=="connected"&&j()};return window.addEventListener("focus",y),()=>{f=!0,g?.(),x(),window.removeEventListener("focus",y)}},[e,i]),m.useMemo(()=>{const f=t.active_jobs.length>0||t.admitting_jobs.length>0,h=t.queued.length,p=yX(t.queued);return{isRunning:f,queuedCount:h,oauthBlockedCount:p,streamStatus:r,reconnectStream:()=>{o(g=>g+1)}}},[t,r])}const jX=(e,t)=>{if(e==="/")return[{label:"Dashboard"}];const n=[{label:"Dashboard",to:"/"}];if(un("/mcp-evaluations/:id/edit",e))return n.push({label:"MCP Evaluations",to:"/mcp-evaluations"},{label:"MCP Evaluation",to:e.replace(/\/edit$/,"")},{label:"Edit"}),n;if(un("/mcp-evaluations/:id",e))return n.push({label:"MCP Evaluations",to:"/mcp-evaluations"},{label:"MCP Evaluation"}),n;if(un("/mcp-evaluations",e))return n.push({label:"MCP Evaluations"}),n;if(un("/settings/mcp",e))return n.push({label:"Settings",to:"/settings"},{label:"MCP Connection"}),n;if(un("/settings",e))return n.push({label:"Settings"}),n;if(un("/tool-analysis",e))return n.push({label:"Analyze MCP Tools"}),n;if(un("/tool-analysis-results/:id",e)){const r=un("/tool-analysis-results/:id",e);return n.push({label:"Tool Analysis Results",to:"/tool-analysis-results"},{label:r?.params.id??"Report"}),n}if(un("/tool-analysis-results",e))return n.push({label:"Tool Analysis Results"}),n;if(un("/markdown-reports/view",e))return n.push({label:"Markdown Reports",to:"/markdown-reports"},{label:"View Report"}),n;if(un("/markdown-reports",e))return n.push({label:"Markdown Reports"}),n;if(un("/oauth-debugger",e))return n.push({label:"OAuth Debugger"}),n;if(un("/results/:id",e))return n.push({label:"Evaluation Results",to:"/results"},{label:"Result"}),n;if(un("/results",e))return n.push({label:"Evaluation Results"}),n;if(un("/run",e))return n.push({label:"Run Evaluation"}),n;if(un("/libraries/servers/:serverId",e)){const r=un("/libraries/servers/:serverId",e),s=r?.params.serverId?decodeURIComponent(r.params.serverId):"Server";return n.push({label:"Libraries",to:"/libraries/servers"},{label:"MCP servers",to:"/libraries/servers"},{label:s==="new"?"New Server":s}),n}if(un("/libraries/servers",e))return n.push({label:"Libraries",to:"/libraries/servers"},{label:"MCP servers"}),n;if(un("/libraries/agents/:agentName",e)){const r=un("/libraries/agents/:agentName",e),s=r?.params.agentName?decodeURIComponent(r.params.agentName):"Agent";return n.push({label:"Libraries",to:"/libraries/agents"},{label:"Agents",to:"/libraries/agents"},{label:s==="new"?"New Agent":s}),n}if(un("/libraries/agents",e))return n.push({label:"Libraries",to:"/libraries/agents"},{label:"Agents"}),n;if(un("/libraries/test-cases/:testCaseId",e)){const r=un("/libraries/test-cases/:testCaseId",e),s=r?.params.testCaseId?decodeURIComponent(r.params.testCaseId):"Test Case";return n.push({label:"Libraries",to:"/libraries/test-cases"},{label:"Test Cases",to:"/libraries/test-cases"},{label:s}),n}if(un("/libraries/test-cases",e))return n.push({label:"Libraries",to:"/libraries/test-cases"},{label:"Test Cases"}),n;if(un("/compare/results",e))return n.push({label:"Compare Evaluations",to:"/compare"},{label:"Full Result Compare"}),n;if(un("/compare",e)){const s=new URLSearchParams(t).get("mode")==="within-run"?"Agents":"Runs";return n.push({label:"Compare Evaluations",to:"/compare"},{label:s}),n}return n};function SX(){const e=ds(),t=new URLSearchParams(e.search).get("embed")==="1",n=jX(e.pathname,e.search),{version:r}=Nn(),{isRunning:s,queuedCount:i,oauthBlockedCount:o,streamStatus:c,reconnectStream:d}=wX(),f=i+(s?1:0);return t?a.jsx("main",{className:"min-h-screen overflow-auto bg-background p-4",children:a.jsx(HP,{})}):a.jsx(w3,{children:a.jsxs("div",{className:"flex min-h-screen w-full",children:[a.jsx(eX,{version:r}),a.jsxs("div",{className:"flex flex-1 flex-col",children:[a.jsxs("header",{className:"flex h-12 items-center gap-2 border-b bg-card px-4",children:[a.jsx(S3,{}),a.jsx(M3,{children:a.jsx(I3,{children:n.map((h,p)=>{const g=p===n.length-1;return a.jsxs(m.Fragment,{children:[a.jsx($3,{children:h.to&&!g?a.jsx(D3,{asChild:!0,children:a.jsx(St,{to:h.to,children:h.label})}):a.jsx(L3,{children:h.label})}),!g&&a.jsx(F3,{})]},`${h.label}-${p}`)})})}),a.jsxs("div",{className:"ml-auto flex items-center gap-2",children:[(s||i>0||o>0)&&a.jsxs(St,{to:"/run",className:"inline-flex items-center gap-2 rounded-full border px-2.5 py-1 hover:bg-muted/50 transition-colors",title:"Open Run Evaluation queue",children:[a.jsx("span",{className:"text-xs text-muted-foreground",children:"Run Queue"}),a.jsx("span",{className:`inline-flex min-w-5 items-center justify-center rounded-full px-1.5 py-0.5 text-xs font-semibold ${o>0?"bg-yellow-500/20 text-yellow-800 dark:text-yellow-300":"bg-muted text-foreground"}`,children:f}),s&&a.jsx("span",{className:"inline-block h-3 w-3 animate-spin rounded-full border-2 border-emerald-500 border-t-transparent","aria-label":"Queue processing"}),o>0&&a.jsx("span",{className:"text-xs text-yellow-700 dark:text-yellow-400",children:"OAuth wait"})]}),a.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 rounded-full border px-2.5 py-1 disabled:opacity-70",onClick:()=>{c==="disconnected"&&d()},disabled:c==="connecting",title:c==="disconnected"?"Retry queue connection":c==="connecting"?"Connecting to queue stream...":"Queue stream connected",children:[a.jsx("span",{className:`h-2 w-2 rounded-full ${c==="connected"?"bg-emerald-500":c==="connecting"?"bg-amber-400":"bg-rose-500"}`,"aria-hidden":"true"}),a.jsx("span",{className:`text-xs ${c==="connected"?"text-emerald-700":c==="connecting"?"text-muted-foreground":"text-destructive"}`,children:c})]})]})]}),a.jsx("main",{className:"flex-1 overflow-auto p-6",children:a.jsx(HP,{})})]})]})})}const H3=m.createContext(null);function NX({children:e}){const{source:t}=Nn(),[n,r]=m.useState([]),[s,i]=m.useState(!0),o=m.useCallback(async()=>{i(!0);try{const g=await t.listConfigs();r(g)}finally{i(!1)}},[t]);m.useEffect(()=>{o()},[o]);const c=m.useCallback(g=>n.find(x=>x.id===g),[n]),d=m.useCallback(async g=>{const x=await t.createConfig(g);return r(j=>[...j,x]),x},[t]),f=m.useCallback(async(g,x)=>{const j=await t.updateConfig({...x,id:g});return r(y=>y.map(b=>b.id===g?j:b)),j},[t]),h=m.useCallback(async g=>{await t.deleteConfig(g),r(x=>x.filter(j=>j.id!==g))},[t]),p=m.useCallback(async g=>{const x=n.find(b=>b.id===g);if(!x)throw new Error("Config not found");const j={...structuredClone(x),id:`cfg-${Date.now()}`,name:`${x.name} (Copy)`,createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()},y=await t.createConfig(j);return r(b=>[...b,y]),y},[n,t]);return a.jsx(H3.Provider,{value:{configs:n,loading:s,getConfig:c,addConfig:d,updateConfig:f,deleteConfig:h,cloneConfig:p,reload:o},children:e})}function Lf(){const e=m.useContext(H3);if(!e)throw new Error("useConfigs must be used within ConfigProvider");return e}const K3=m.createContext(null);function CX({children:e}){const{source:t}=Nn(),[n,r]=m.useState({servers:[],agents:[],scenarios:[]}),[s,i]=m.useState(!0),o=m.useCallback(async()=>{i(!0);try{const f=await t.getLibraries();r(f)}finally{i(!1)}},[t]);m.useEffect(()=>{o()},[t]),m.useEffect(()=>{const f=()=>{o()};return window.addEventListener("focus",f),()=>{window.removeEventListener("focus",f)}},[t]);const c=m.useCallback(async f=>{r(f),await t.saveLibraries(f)},[t]),d=m.useMemo(()=>({...n,loading:s,setServers:async f=>c({...n,servers:f}),setAgents:async f=>c({...n,agents:f}),setScenarios:async f=>c({...n,scenarios:f}),reload:o}),[n,s,o,c]);return a.jsx(K3.Provider,{value:d,children:e})}function ps(){const e=m.useContext(K3);if(!e)throw new Error("useLibraries must be used within LibraryProvider");return e}const et=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Pe("rounded-lg border bg-card text-card-foreground shadow-sm",e),...t}));et.displayName="Card";const Ot=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Pe("flex flex-col space-y-1.5 p-6",e),...t}));Ot.displayName="CardHeader";const Mt=m.forwardRef(({className:e,...t},n)=>a.jsx("h3",{ref:n,className:Pe("text-2xl font-semibold leading-none tracking-tight",e),...t}));Mt.displayName="CardTitle";const jr=m.forwardRef(({className:e,...t},n)=>a.jsx("p",{ref:n,className:Pe("text-sm text-muted-foreground",e),...t}));jr.displayName="CardDescription";const tt=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Pe("p-6 pt-0",e),...t}));tt.displayName="CardContent";const _X=m.forwardRef(({className:e,...t},n)=>a.jsx("div",{ref:n,className:Pe("flex items-center p-6 pt-0",e),...t}));_X.displayName="CardFooter";const Br=m.forwardRef(({className:e,containerClassName:t,...n},r)=>a.jsx("div",{className:Pe("relative w-full overflow-auto",t),children:a.jsx("table",{ref:r,className:Pe("w-full caption-bottom text-sm",e),...n})}));Br.displayName="Table";const qr=m.forwardRef(({className:e,...t},n)=>a.jsx("thead",{ref:n,className:Pe("[&_tr]:border-b",e),...t}));qr.displayName="TableHeader";const Ur=m.forwardRef(({className:e,...t},n)=>a.jsx("tbody",{ref:n,className:Pe("[&_tr:last-child]:border-0",e),...t}));Ur.displayName="TableBody";const AX=m.forwardRef(({className:e,...t},n)=>a.jsx("tfoot",{ref:n,className:Pe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));AX.displayName="TableFooter";const Ft=m.forwardRef(({className:e,...t},n)=>a.jsx("tr",{ref:n,className:Pe("border-b transition-colors data-[state=selected]:bg-muted hover:bg-muted/50",e),...t}));Ft.displayName="TableRow";const lt=m.forwardRef(({className:e,...t},n)=>a.jsx("th",{ref:n,className:Pe("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));lt.displayName="TableHead";const We=m.forwardRef(({className:e,...t},n)=>a.jsx("td",{ref:n,className:Pe("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));We.displayName="TableCell";const kX=m.forwardRef(({className:e,...t},n)=>a.jsx("caption",{ref:n,className:Pe("mt-4 text-sm text-muted-foreground",e),...t}));kX.displayName="TableCaption";function Sa({title:e,value:t,subtitle:n,icon:r,trend:s}){return a.jsx(et,{children:a.jsx(tt,{className:"p-4",children:a.jsxs("div",{className:"flex items-start justify-between",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground uppercase tracking-wider",children:e}),a.jsx("p",{className:"text-2xl font-bold",children:t}),n&&a.jsxs("p",{className:`text-xs ${s==="up"?"text-success":s==="down"?"text-destructive":"text-muted-foreground"}`,children:[s==="up"&&"↑ ",s==="down"&&"↓ ",n]})]}),a.jsx("div",{className:"rounded-lg bg-primary/10 p-2",children:a.jsx(r,{className:"h-4 w-4 text-primary"})})]})})})}const PX=gl("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}}),nt=m.forwardRef(({className:e,variant:t,asChild:n,...r},s)=>{const i=n?lo:"div";return a.jsx(i,{ref:s,className:Pe(PX({variant:t}),e),...r})});nt.displayName="Badge";function ws({rate:e,className:t}){const n=Math.round(e*100),r=n>=80?"default":n>=50?"secondary":"destructive";return a.jsxs(nt,{variant:r,className:`font-mono text-xs ${n>=80?"bg-success/15 text-success hover:bg-success/20 border-0":n>=50?"bg-warning/15 text-warning hover:bg-warning/20 border-0":"bg-destructive/15 text-destructive hover:bg-destructive/20 border-0"} ${t??""}`,children:[n,"%"]})}function EX(e){const t=[];for(const n of e.scenarios)for(const r of n.runs)r.error&&t.push(r.error),t.push(...r.failureReasons);return t.map(n=>String(n??"").trim()).filter(Boolean)}function TX(e){const t=e.toLowerCase();return t.includes("invalid_token")||t.includes("authentication failed")||t.includes("bearer token")||t.includes("oauth")?"auth":t.includes("429")||t.includes("too many requests")||t.includes("rate limit")?"rate_limit":t.includes("scenario error:")||t.includes("failed to list tools")||t.includes("failed to connect to mcp server")||t.includes("tool call failed")||t.includes("fetch failed")||t.includes("streamable http error")?"infra":null}function RX(e){return e==="auth"?"Auth error":e==="rate_limit"?"Rate limited":"Infra error"}function OX(e){const t=EX(e),n=["auth","rate_limit","infra"];for(const r of n){const s=t.find(i=>TX(i)===r);if(s)return{kind:r,label:RX(r),detail:s}}return null}function MX(e){return e==="auth"?"border-amber-500/30 bg-amber-500/10 text-amber-700":e==="rate_limit"?"border-orange-500/30 bg-orange-500/10 text-orange-700":"border-slate-500/30 bg-slate-500/10 text-slate-700"}function G3({run:e}){const t=OX(e);return t?a.jsx(ci,{delayDuration:0,children:a.jsxs(ui,{children:[a.jsx(di,{asChild:!0,children:a.jsx(nt,{variant:"outline",className:`h-5 text-[10px] ${MX(t.kind)}`,children:t.label})}),a.jsx(Es,{className:"max-w-sm text-xs",children:a.jsx("p",{children:t.detail})})]})}):null}var Vy,pE;function Kr(){if(pE)return Vy;pE=1;var e=Array.isArray;return Vy=e,Vy}var Hy,hE;function Y3(){if(hE)return Hy;hE=1;var e=typeof ah=="object"&&ah&&ah.Object===Object&&ah;return Hy=e,Hy}var Ky,mE;function $s(){if(mE)return Ky;mE=1;var e=Y3(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Ky=n,Ky}var Gy,vE;function Ff(){if(vE)return Gy;vE=1;var e=$s(),t=e.Symbol;return Gy=t,Gy}var Yy,gE;function IX(){if(gE)return Yy;gE=1;var e=Ff(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,s=e?e.toStringTag:void 0;function i(o){var c=n.call(o,s),d=o[s];try{o[s]=void 0;var f=!0}catch{}var h=r.call(o);return f&&(c?o[s]=d:delete o[s]),h}return Yy=i,Yy}var Xy,xE;function $X(){if(xE)return Xy;xE=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return Xy=n,Xy}var Qy,yE;function gi(){if(yE)return Qy;yE=1;var e=Ff(),t=IX(),n=$X(),r="[object Null]",s="[object Undefined]",i=e?e.toStringTag:void 0;function o(c){return c==null?c===void 0?s:r:i&&i in Object(c)?t(c):n(c)}return Qy=o,Qy}var Jy,bE;function xi(){if(bE)return Jy;bE=1;function e(t){return t!=null&&typeof t=="object"}return Jy=e,Jy}var Zy,wE;function hu(){if(wE)return Zy;wE=1;var e=gi(),t=xi(),n="[object Symbol]";function r(s){return typeof s=="symbol"||t(s)&&e(s)==n}return Zy=r,Zy}var eb,jE;function aC(){if(jE)return eb;jE=1;var e=Kr(),t=hu(),n=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,r=/^\w*$/;function s(i,o){if(e(i))return!1;var c=typeof i;return c=="number"||c=="symbol"||c=="boolean"||i==null||t(i)?!0:r.test(i)||!n.test(i)||o!=null&&i in Object(o)}return eb=s,eb}var tb,SE;function co(){if(SE)return tb;SE=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return tb=e,tb}var nb,NE;function sC(){if(NE)return nb;NE=1;var e=gi(),t=co(),n="[object AsyncFunction]",r="[object Function]",s="[object GeneratorFunction]",i="[object Proxy]";function o(c){if(!t(c))return!1;var d=e(c);return d==r||d==s||d==n||d==i}return nb=o,nb}var rb,CE;function DX(){if(CE)return rb;CE=1;var e=$s(),t=e["__core-js_shared__"];return rb=t,rb}var ab,_E;function LX(){if(_E)return ab;_E=1;var e=DX(),t=(function(){var r=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||"");return r?"Symbol(src)_1."+r:""})();function n(r){return!!t&&t in r}return ab=n,ab}var sb,AE;function X3(){if(AE)return sb;AE=1;var e=Function.prototype,t=e.toString;function n(r){if(r!=null){try{return t.call(r)}catch{}try{return r+""}catch{}}return""}return sb=n,sb}var ib,kE;function FX(){if(kE)return ib;kE=1;var e=sC(),t=LX(),n=co(),r=X3(),s=/[\\^$.*+?()[\]{}|]/g,i=/^\[object .+?Constructor\]$/,o=Function.prototype,c=Object.prototype,d=o.toString,f=c.hasOwnProperty,h=RegExp("^"+d.call(f).replace(s,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function p(g){if(!n(g)||t(g))return!1;var x=e(g)?h:i;return x.test(r(g))}return ib=p,ib}var ob,PE;function zX(){if(PE)return ob;PE=1;function e(t,n){return t?.[n]}return ob=e,ob}var lb,EE;function yl(){if(EE)return lb;EE=1;var e=FX(),t=zX();function n(r,s){var i=t(r,s);return e(i)?i:void 0}return lb=n,lb}var cb,TE;function Iv(){if(TE)return cb;TE=1;var e=yl(),t=e(Object,"create");return cb=t,cb}var ub,RE;function BX(){if(RE)return ub;RE=1;var e=Iv();function t(){this.__data__=e?e(null):{},this.size=0}return ub=t,ub}var db,OE;function qX(){if(OE)return db;OE=1;function e(t){var n=this.has(t)&&delete this.__data__[t];return this.size-=n?1:0,n}return db=e,db}var fb,ME;function UX(){if(ME)return fb;ME=1;var e=Iv(),t="__lodash_hash_undefined__",n=Object.prototype,r=n.hasOwnProperty;function s(i){var o=this.__data__;if(e){var c=o[i];return c===t?void 0:c}return r.call(o,i)?o[i]:void 0}return fb=s,fb}var pb,IE;function WX(){if(IE)return pb;IE=1;var e=Iv(),t=Object.prototype,n=t.hasOwnProperty;function r(s){var i=this.__data__;return e?i[s]!==void 0:n.call(i,s)}return pb=r,pb}var hb,$E;function VX(){if($E)return hb;$E=1;var e=Iv(),t="__lodash_hash_undefined__";function n(r,s){var i=this.__data__;return this.size+=this.has(r)?0:1,i[r]=e&&s===void 0?t:s,this}return hb=n,hb}var mb,DE;function HX(){if(DE)return mb;DE=1;var e=BX(),t=qX(),n=UX(),r=WX(),s=VX();function i(o){var c=-1,d=o==null?0:o.length;for(this.clear();++c<d;){var f=o[c];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=s,mb=i,mb}var vb,LE;function KX(){if(LE)return vb;LE=1;function e(){this.__data__=[],this.size=0}return vb=e,vb}var gb,FE;function iC(){if(FE)return gb;FE=1;function e(t,n){return t===n||t!==t&&n!==n}return gb=e,gb}var xb,zE;function $v(){if(zE)return xb;zE=1;var e=iC();function t(n,r){for(var s=n.length;s--;)if(e(n[s][0],r))return s;return-1}return xb=t,xb}var yb,BE;function GX(){if(BE)return yb;BE=1;var e=$v(),t=Array.prototype,n=t.splice;function r(s){var i=this.__data__,o=e(i,s);if(o<0)return!1;var c=i.length-1;return o==c?i.pop():n.call(i,o,1),--this.size,!0}return yb=r,yb}var bb,qE;function YX(){if(qE)return bb;qE=1;var e=$v();function t(n){var r=this.__data__,s=e(r,n);return s<0?void 0:r[s][1]}return bb=t,bb}var wb,UE;function XX(){if(UE)return wb;UE=1;var e=$v();function t(n){return e(this.__data__,n)>-1}return wb=t,wb}var jb,WE;function QX(){if(WE)return jb;WE=1;var e=$v();function t(n,r){var s=this.__data__,i=e(s,n);return i<0?(++this.size,s.push([n,r])):s[i][1]=r,this}return jb=t,jb}var Sb,VE;function Dv(){if(VE)return Sb;VE=1;var e=KX(),t=GX(),n=YX(),r=XX(),s=QX();function i(o){var c=-1,d=o==null?0:o.length;for(this.clear();++c<d;){var f=o[c];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=s,Sb=i,Sb}var Nb,HE;function oC(){if(HE)return Nb;HE=1;var e=yl(),t=$s(),n=e(t,"Map");return Nb=n,Nb}var Cb,KE;function JX(){if(KE)return Cb;KE=1;var e=HX(),t=Dv(),n=oC();function r(){this.size=0,this.__data__={hash:new e,map:new(n||t),string:new e}}return Cb=r,Cb}var _b,GE;function ZX(){if(GE)return _b;GE=1;function e(t){var n=typeof t;return n=="string"||n=="number"||n=="symbol"||n=="boolean"?t!=="__proto__":t===null}return _b=e,_b}var Ab,YE;function Lv(){if(YE)return Ab;YE=1;var e=ZX();function t(n,r){var s=n.__data__;return e(r)?s[typeof r=="string"?"string":"hash"]:s.map}return Ab=t,Ab}var kb,XE;function eQ(){if(XE)return kb;XE=1;var e=Lv();function t(n){var r=e(this,n).delete(n);return this.size-=r?1:0,r}return kb=t,kb}var Pb,QE;function tQ(){if(QE)return Pb;QE=1;var e=Lv();function t(n){return e(this,n).get(n)}return Pb=t,Pb}var Eb,JE;function nQ(){if(JE)return Eb;JE=1;var e=Lv();function t(n){return e(this,n).has(n)}return Eb=t,Eb}var Tb,ZE;function rQ(){if(ZE)return Tb;ZE=1;var e=Lv();function t(n,r){var s=e(this,n),i=s.size;return s.set(n,r),this.size+=s.size==i?0:1,this}return Tb=t,Tb}var Rb,eT;function lC(){if(eT)return Rb;eT=1;var e=JX(),t=eQ(),n=tQ(),r=nQ(),s=rQ();function i(o){var c=-1,d=o==null?0:o.length;for(this.clear();++c<d;){var f=o[c];this.set(f[0],f[1])}}return i.prototype.clear=e,i.prototype.delete=t,i.prototype.get=n,i.prototype.has=r,i.prototype.set=s,Rb=i,Rb}var Ob,tT;function Q3(){if(tT)return Ob;tT=1;var e=lC(),t="Expected a function";function n(r,s){if(typeof r!="function"||s!=null&&typeof s!="function")throw new TypeError(t);var i=function(){var o=arguments,c=s?s.apply(this,o):o[0],d=i.cache;if(d.has(c))return d.get(c);var f=r.apply(this,o);return i.cache=d.set(c,f)||d,f};return i.cache=new(n.Cache||e),i}return n.Cache=e,Ob=n,Ob}var Mb,nT;function aQ(){if(nT)return Mb;nT=1;var e=Q3(),t=500;function n(r){var s=e(r,function(o){return i.size===t&&i.clear(),o}),i=s.cache;return s}return Mb=n,Mb}var Ib,rT;function sQ(){if(rT)return Ib;rT=1;var e=aQ(),t=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,n=/\\(\\)?/g,r=e(function(s){var i=[];return s.charCodeAt(0)===46&&i.push(""),s.replace(t,function(o,c,d,f){i.push(d?f.replace(n,"$1"):c||o)}),i});return Ib=r,Ib}var $b,aT;function cC(){if(aT)return $b;aT=1;function e(t,n){for(var r=-1,s=t==null?0:t.length,i=Array(s);++r<s;)i[r]=n(t[r],r,t);return i}return $b=e,$b}var Db,sT;function iQ(){if(sT)return Db;sT=1;var e=Ff(),t=cC(),n=Kr(),r=hu(),s=e?e.prototype:void 0,i=s?s.toString:void 0;function o(c){if(typeof c=="string")return c;if(n(c))return t(c,o)+"";if(r(c))return i?i.call(c):"";var d=c+"";return d=="0"&&1/c==-1/0?"-0":d}return Db=o,Db}var Lb,iT;function J3(){if(iT)return Lb;iT=1;var e=iQ();function t(n){return n==null?"":e(n)}return Lb=t,Lb}var Fb,oT;function Z3(){if(oT)return Fb;oT=1;var e=Kr(),t=aC(),n=sQ(),r=J3();function s(i,o){return e(i)?i:t(i,o)?[i]:n(r(i))}return Fb=s,Fb}var zb,lT;function Fv(){if(lT)return zb;lT=1;var e=hu();function t(n){if(typeof n=="string"||e(n))return n;var r=n+"";return r=="0"&&1/n==-1/0?"-0":r}return zb=t,zb}var Bb,cT;function uC(){if(cT)return Bb;cT=1;var e=Z3(),t=Fv();function n(r,s){s=e(s,r);for(var i=0,o=s.length;r!=null&&i<o;)r=r[t(s[i++])];return i&&i==o?r:void 0}return Bb=n,Bb}var qb,uT;function eL(){if(uT)return qb;uT=1;var e=uC();function t(n,r,s){var i=n==null?void 0:e(n,r);return i===void 0?s:i}return qb=t,qb}var oQ=eL();const ca=dn(oQ);var Ub,dT;function lQ(){if(dT)return Ub;dT=1;function e(t){return t==null}return Ub=e,Ub}var cQ=lQ();const Lt=dn(cQ);var Wb,fT;function uQ(){if(fT)return Wb;fT=1;var e=gi(),t=Kr(),n=xi(),r="[object String]";function s(i){return typeof i=="string"||!t(i)&&n(i)&&e(i)==r}return Wb=s,Wb}var dQ=uQ();const tl=dn(dQ);var fQ=sC();const Dt=dn(fQ);var pQ=co();const mu=dn(pQ);var Vb={exports:{}},on={};var pT;function hQ(){if(pT)return on;pT=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),i=Symbol.for("react.provider"),o=Symbol.for("react.context"),c=Symbol.for("react.server_context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),p=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),x=Symbol.for("react.offscreen"),j;j=Symbol.for("react.module.reference");function y(b){if(typeof b=="object"&&b!==null){var S=b.$$typeof;switch(S){case e:switch(b=b.type,b){case n:case s:case r:case f:case h:return b;default:switch(b=b&&b.$$typeof,b){case c:case o:case d:case g:case p:case i:return b;default:return S}}case t:return S}}}return on.ContextConsumer=o,on.ContextProvider=i,on.Element=e,on.ForwardRef=d,on.Fragment=n,on.Lazy=g,on.Memo=p,on.Portal=t,on.Profiler=s,on.StrictMode=r,on.Suspense=f,on.SuspenseList=h,on.isAsyncMode=function(){return!1},on.isConcurrentMode=function(){return!1},on.isContextConsumer=function(b){return y(b)===o},on.isContextProvider=function(b){return y(b)===i},on.isElement=function(b){return typeof b=="object"&&b!==null&&b.$$typeof===e},on.isForwardRef=function(b){return y(b)===d},on.isFragment=function(b){return y(b)===n},on.isLazy=function(b){return y(b)===g},on.isMemo=function(b){return y(b)===p},on.isPortal=function(b){return y(b)===t},on.isProfiler=function(b){return y(b)===s},on.isStrictMode=function(b){return y(b)===r},on.isSuspense=function(b){return y(b)===f},on.isSuspenseList=function(b){return y(b)===h},on.isValidElementType=function(b){return typeof b=="string"||typeof b=="function"||b===n||b===s||b===r||b===f||b===h||b===x||typeof b=="object"&&b!==null&&(b.$$typeof===g||b.$$typeof===p||b.$$typeof===i||b.$$typeof===o||b.$$typeof===d||b.$$typeof===j||b.getModuleId!==void 0)},on.typeOf=y,on}var hT;function mQ(){return hT||(hT=1,Vb.exports=hQ()),Vb.exports}var vQ=mQ(),Hb,mT;function tL(){if(mT)return Hb;mT=1;var e=gi(),t=xi(),n="[object Number]";function r(s){return typeof s=="number"||t(s)&&e(s)==n}return Hb=r,Hb}var Kb,vT;function gQ(){if(vT)return Kb;vT=1;var e=tL();function t(n){return e(n)&&n!=+n}return Kb=t,Kb}var xQ=gQ();const zf=dn(xQ);var yQ=tL();const bQ=dn(yQ);var Nr=function(t){return t===0?0:t>0?1:-1},zo=function(t){return tl(t)&&t.indexOf("%")===t.length-1},rt=function(t){return bQ(t)&&!zf(t)},wQ=function(t){return Lt(t)},Qn=function(t){return rt(t)||tl(t)},jQ=0,vu=function(t){var n=++jQ;return"".concat(t||"").concat(n)},Cr=function(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,s=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!rt(t)&&!tl(t))return r;var i;if(zo(t)){var o=t.indexOf("%");i=n*parseFloat(t.slice(0,o))/100}else i=+t;return zf(i)&&(i=r),s&&i>n&&(i=n),i},uc=function(t){if(!t)return null;var n=Object.keys(t);return n&&n.length?t[n[0]]:null},SQ=function(t){if(!Array.isArray(t))return!1;for(var n=t.length,r={},s=0;s<n;s++)if(!r[t[s]])r[t[s]]=!0;else return!0;return!1},aa=function(t,n){return rt(t)&&rt(n)?function(r){return t+r*(n-t)}:function(){return n}};function Qh(e,t,n){return!e||!e.length?null:e.find(function(r){return r&&(typeof t=="function"?t(r):ca(r,t))===n})}var NQ=function(t,n){return rt(t)&&rt(n)?t-n:tl(t)&&tl(n)?t.localeCompare(n):t instanceof Date&&n instanceof Date?t.getTime()-n.getTime():String(t).localeCompare(String(n))};function Sc(e,t){for(var n in e)if({}.hasOwnProperty.call(e,n)&&(!{}.hasOwnProperty.call(t,n)||e[n]!==t[n]))return!1;for(var r in t)if({}.hasOwnProperty.call(t,r)&&!{}.hasOwnProperty.call(e,r))return!1;return!0}function DS(e){"@babel/helpers - typeof";return DS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},DS(e)}var CQ=["viewBox","children"],_Q=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],gT=["points","pathLength"],Gb={svg:CQ,polygon:gT,polyline:gT},dC=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"],Jh=function(t,n){if(!t||typeof t=="function"||typeof t=="boolean")return null;var r=t;if(m.isValidElement(t)&&(r=t.props),!mu(r))return null;var s={};return Object.keys(r).forEach(function(i){dC.includes(i)&&(s[i]=n||function(o){return r[i](r,o)})}),s},AQ=function(t,n,r){return function(s){return t(n,r,s),null}},nl=function(t,n,r){if(!mu(t)||DS(t)!=="object")return null;var s=null;return Object.keys(t).forEach(function(i){var o=t[i];dC.includes(i)&&typeof o=="function"&&(s||(s={}),s[i]=AQ(o,n,r))}),s},kQ=["children"],PQ=["children"];function xT(e,t){if(e==null)return{};var n=EQ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function EQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function LS(e){"@babel/helpers - typeof";return LS=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},LS(e)}var yT={click:"onClick",mousedown:"onMouseDown",mouseup:"onMouseUp",mouseover:"onMouseOver",mousemove:"onMouseMove",mouseout:"onMouseOut",mouseenter:"onMouseEnter",mouseleave:"onMouseLeave",touchcancel:"onTouchCancel",touchend:"onTouchEnd",touchmove:"onTouchMove",touchstart:"onTouchStart",contextmenu:"onContextMenu",dblclick:"onDoubleClick"},ei=function(t){return typeof t=="string"?t:t?t.displayName||t.name||"Component":""},bT=null,Yb=null,fC=function e(t){if(t===bT&&Array.isArray(Yb))return Yb;var n=[];return m.Children.forEach(t,function(r){Lt(r)||(vQ.isFragment(r)?n=n.concat(e(r.props.children)):n.push(r))}),Yb=n,bT=t,n};function ua(e,t){var n=[],r=[];return Array.isArray(t)?r=t.map(function(s){return ei(s)}):r=[ei(t)],fC(e).forEach(function(s){var i=ca(s,"type.displayName")||ca(s,"type.name");r.indexOf(i)!==-1&&n.push(s)}),n}function na(e,t){var n=ua(e,t);return n&&n[0]}var wT=function(t){if(!t||!t.props)return!1;var n=t.props,r=n.width,s=n.height;return!(!rt(r)||r<=0||!rt(s)||s<=0)},TQ=["a","altGlyph","altGlyphDef","altGlyphItem","animate","animateColor","animateMotion","animateTransform","circle","clipPath","color-profile","cursor","defs","desc","ellipse","feBlend","feColormatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","font","font-face","font-face-format","font-face-name","font-face-url","foreignObject","g","glyph","glyphRef","hkern","image","line","lineGradient","marker","mask","metadata","missing-glyph","mpath","path","pattern","polygon","polyline","radialGradient","rect","script","set","stop","style","svg","switch","symbol","text","textPath","title","tref","tspan","use","view","vkern"],RQ=function(t){return t&&t.type&&tl(t.type)&&TQ.indexOf(t.type)>=0},OQ=function(t){return t&&LS(t)==="object"&&"clipDot"in t},MQ=function(t,n,r,s){var i,o=(i=Gb?.[s])!==null&&i!==void 0?i:[];return n.startsWith("data-")||!Dt(t)&&(s&&o.includes(n)||_Q.includes(n))||r&&dC.includes(n)},kt=function(t,n,r){if(!t||typeof t=="function"||typeof t=="boolean")return null;var s=t;if(m.isValidElement(t)&&(s=t.props),!mu(s))return null;var i={};return Object.keys(s).forEach(function(o){var c;MQ((c=s)===null||c===void 0?void 0:c[o],o,n,r)&&(i[o]=s[o])}),i},FS=function e(t,n){if(t===n)return!0;var r=m.Children.count(t);if(r!==m.Children.count(n))return!1;if(r===0)return!0;if(r===1)return jT(Array.isArray(t)?t[0]:t,Array.isArray(n)?n[0]:n);for(var s=0;s<r;s++){var i=t[s],o=n[s];if(Array.isArray(i)||Array.isArray(o)){if(!e(i,o))return!1}else if(!jT(i,o))return!1}return!0},jT=function(t,n){if(Lt(t)&&Lt(n))return!0;if(!Lt(t)&&!Lt(n)){var r=t.props||{},s=r.children,i=xT(r,kQ),o=n.props||{},c=o.children,d=xT(o,PQ);return s&&c?Sc(i,d)&&FS(s,c):!s&&!c?Sc(i,d):!1}return!1},ST=function(t,n){var r=[],s={};return fC(t).forEach(function(i,o){if(RQ(i))r.push(i);else if(i){var c=ei(i.type),d=n[c]||{},f=d.handler,h=d.once;if(f&&(!h||!s[c])){var p=f(i,c,o);r.push(p),s[c]=!0}}}),r},IQ=function(t){var n=t&&t.type;return n&&yT[n]?yT[n]:null},$Q=function(t,n){return fC(n).indexOf(t)},DQ=["children","width","height","viewBox","className","style","title","desc"];function zS(){return zS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},zS.apply(this,arguments)}function LQ(e,t){if(e==null)return{};var n=FQ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function FQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function BS(e){var t=e.children,n=e.width,r=e.height,s=e.viewBox,i=e.className,o=e.style,c=e.title,d=e.desc,f=LQ(e,DQ),h=s||{width:n,height:r,x:0,y:0},p=zt("recharts-surface",i);return X.createElement("svg",zS({},kt(f,!0,"svg"),{className:p,width:n,height:r,style:o,viewBox:"".concat(h.x," ").concat(h.y," ").concat(h.width," ").concat(h.height)}),X.createElement("title",null,c),X.createElement("desc",null,d),t)}var zQ=["children","className"];function qS(){return qS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},qS.apply(this,arguments)}function BQ(e,t){if(e==null)return{};var n=qQ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function qQ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var rn=X.forwardRef(function(e,t){var n=e.children,r=e.className,s=BQ(e,zQ),i=zt("recharts-layer",r);return X.createElement("g",qS({className:i},kt(s,!0),{ref:t}),n)}),ti=function(t,n){for(var r=arguments.length,s=new Array(r>2?r-2:0),i=2;i<r;i++)s[i-2]=arguments[i]},Xb,NT;function UQ(){if(NT)return Xb;NT=1;function e(t,n,r){var s=-1,i=t.length;n<0&&(n=-n>i?0:i+n),r=r>i?i:r,r<0&&(r+=i),i=n>r?0:r-n>>>0,n>>>=0;for(var o=Array(i);++s<i;)o[s]=t[s+n];return o}return Xb=e,Xb}var Qb,CT;function WQ(){if(CT)return Qb;CT=1;var e=UQ();function t(n,r,s){var i=n.length;return s=s===void 0?i:s,!r&&s>=i?n:e(n,r,s)}return Qb=t,Qb}var Jb,_T;function nL(){if(_T)return Jb;_T=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",s=t+n+r,i="\\ufe0e\\ufe0f",o="\\u200d",c=RegExp("["+o+e+s+i+"]");function d(f){return c.test(f)}return Jb=d,Jb}var Zb,AT;function VQ(){if(AT)return Zb;AT=1;function e(t){return t.split("")}return Zb=e,Zb}var e0,kT;function HQ(){if(kT)return e0;kT=1;var e="\\ud800-\\udfff",t="\\u0300-\\u036f",n="\\ufe20-\\ufe2f",r="\\u20d0-\\u20ff",s=t+n+r,i="\\ufe0e\\ufe0f",o="["+e+"]",c="["+s+"]",d="\\ud83c[\\udffb-\\udfff]",f="(?:"+c+"|"+d+")",h="[^"+e+"]",p="(?:\\ud83c[\\udde6-\\uddff]){2}",g="[\\ud800-\\udbff][\\udc00-\\udfff]",x="\\u200d",j=f+"?",y="["+i+"]?",b="(?:"+x+"(?:"+[h,p,g].join("|")+")"+y+j+")*",S=y+j+b,N="(?:"+[h+c+"?",c,p,g,o].join("|")+")",C=RegExp(d+"(?="+d+")|"+N+S,"g");function k(A){return A.match(C)||[]}return e0=k,e0}var t0,PT;function KQ(){if(PT)return t0;PT=1;var e=VQ(),t=nL(),n=HQ();function r(s){return t(s)?n(s):e(s)}return t0=r,t0}var n0,ET;function GQ(){if(ET)return n0;ET=1;var e=WQ(),t=nL(),n=KQ(),r=J3();function s(i){return function(o){o=r(o);var c=t(o)?n(o):void 0,d=c?c[0]:o.charAt(0),f=c?e(c,1).join(""):o.slice(1);return d[i]()+f}}return n0=s,n0}var r0,TT;function YQ(){if(TT)return r0;TT=1;var e=GQ(),t=e("toUpperCase");return r0=t,r0}var XQ=YQ();const zv=dn(XQ);function xn(e){return function(){return e}}const rL=Math.cos,Zh=Math.sin,hs=Math.sqrt,em=Math.PI,Bv=2*em,US=Math.PI,WS=2*US,$o=1e-6,QQ=WS-$o;function aL(e){this._+=e[0];for(let t=1,n=e.length;t<n;++t)this._+=arguments[t]+e[t]}function JQ(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return aL;const n=10**t;return function(r){this._+=r[0];for(let s=1,i=r.length;s<i;++s)this._+=Math.round(arguments[s]*n)/n+r[s]}}class ZQ{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?aL:JQ(t)}moveTo(t,n){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,n){this._append`L${this._x1=+t},${this._y1=+n}`}quadraticCurveTo(t,n,r,s){this._append`Q${+t},${+n},${this._x1=+r},${this._y1=+s}`}bezierCurveTo(t,n,r,s,i,o){this._append`C${+t},${+n},${+r},${+s},${this._x1=+i},${this._y1=+o}`}arcTo(t,n,r,s,i){if(t=+t,n=+n,r=+r,s=+s,i=+i,i<0)throw new Error(`negative radius: ${i}`);let o=this._x1,c=this._y1,d=r-t,f=s-n,h=o-t,p=c-n,g=h*h+p*p;if(this._x1===null)this._append`M${this._x1=t},${this._y1=n}`;else if(g>$o)if(!(Math.abs(p*d-f*h)>$o)||!i)this._append`L${this._x1=t},${this._y1=n}`;else{let x=r-o,j=s-c,y=d*d+f*f,b=x*x+j*j,S=Math.sqrt(y),N=Math.sqrt(g),C=i*Math.tan((US-Math.acos((y+g-b)/(2*S*N)))/2),k=C/N,A=C/S;Math.abs(k-1)>$o&&this._append`L${t+k*h},${n+k*p}`,this._append`A${i},${i},0,0,${+(p*x>h*j)},${this._x1=t+A*d},${this._y1=n+A*f}`}}arc(t,n,r,s,i,o){if(t=+t,n=+n,r=+r,o=!!o,r<0)throw new Error(`negative radius: ${r}`);let c=r*Math.cos(s),d=r*Math.sin(s),f=t+c,h=n+d,p=1^o,g=o?s-i:i-s;this._x1===null?this._append`M${f},${h}`:(Math.abs(this._x1-f)>$o||Math.abs(this._y1-h)>$o)&&this._append`L${f},${h}`,r&&(g<0&&(g=g%WS+WS),g>QQ?this._append`A${r},${r},0,1,${p},${t-c},${n-d}A${r},${r},0,1,${p},${this._x1=f},${this._y1=h}`:g>$o&&this._append`A${r},${r},0,${+(g>=US)},${p},${this._x1=t+r*Math.cos(i)},${this._y1=n+r*Math.sin(i)}`)}rect(t,n,r,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+s}h${-r}Z`}toString(){return this._}}function pC(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new ZQ(t)}function hC(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function sL(e){this._context=e}sL.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 qv(e){return new sL(e)}function iL(e){return e[0]}function oL(e){return e[1]}function lL(e,t){var n=xn(!0),r=null,s=qv,i=null,o=pC(c);e=typeof e=="function"?e:e===void 0?iL:xn(e),t=typeof t=="function"?t:t===void 0?oL:xn(t);function c(d){var f,h=(d=hC(d)).length,p,g=!1,x;for(r==null&&(i=s(x=o())),f=0;f<=h;++f)!(f<h&&n(p=d[f],f,d))===g&&((g=!g)?i.lineStart():i.lineEnd()),g&&i.point(+e(p,f,d),+t(p,f,d));if(x)return i=null,x+""||null}return c.x=function(d){return arguments.length?(e=typeof d=="function"?d:xn(+d),c):e},c.y=function(d){return arguments.length?(t=typeof d=="function"?d:xn(+d),c):t},c.defined=function(d){return arguments.length?(n=typeof d=="function"?d:xn(!!d),c):n},c.curve=function(d){return arguments.length?(s=d,r!=null&&(i=s(r)),c):s},c.context=function(d){return arguments.length?(d==null?r=i=null:i=s(r=d),c):r},c}function vh(e,t,n){var r=null,s=xn(!0),i=null,o=qv,c=null,d=pC(f);e=typeof e=="function"?e:e===void 0?iL:xn(+e),t=typeof t=="function"?t:xn(t===void 0?0:+t),n=typeof n=="function"?n:n===void 0?oL:xn(+n);function f(p){var g,x,j,y=(p=hC(p)).length,b,S=!1,N,C=new Array(y),k=new Array(y);for(i==null&&(c=o(N=d())),g=0;g<=y;++g){if(!(g<y&&s(b=p[g],g,p))===S)if(S=!S)x=g,c.areaStart(),c.lineStart();else{for(c.lineEnd(),c.lineStart(),j=g-1;j>=x;--j)c.point(C[j],k[j]);c.lineEnd(),c.areaEnd()}S&&(C[g]=+e(b,g,p),k[g]=+t(b,g,p),c.point(r?+r(b,g,p):C[g],n?+n(b,g,p):k[g]))}if(N)return c=null,N+""||null}function h(){return lL().defined(s).curve(o).context(i)}return f.x=function(p){return arguments.length?(e=typeof p=="function"?p:xn(+p),r=null,f):e},f.x0=function(p){return arguments.length?(e=typeof p=="function"?p:xn(+p),f):e},f.x1=function(p){return arguments.length?(r=p==null?null:typeof p=="function"?p:xn(+p),f):r},f.y=function(p){return arguments.length?(t=typeof p=="function"?p:xn(+p),n=null,f):t},f.y0=function(p){return arguments.length?(t=typeof p=="function"?p:xn(+p),f):t},f.y1=function(p){return arguments.length?(n=p==null?null:typeof p=="function"?p:xn(+p),f):n},f.lineX0=f.lineY0=function(){return h().x(e).y(t)},f.lineY1=function(){return h().x(e).y(n)},f.lineX1=function(){return h().x(r).y(t)},f.defined=function(p){return arguments.length?(s=typeof p=="function"?p:xn(!!p),f):s},f.curve=function(p){return arguments.length?(o=p,i!=null&&(c=o(i)),f):o},f.context=function(p){return arguments.length?(p==null?i=c=null:c=o(i=p),f):i},f}class cL{constructor(t,n){this._context=t,this._x=n}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,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function eJ(e){return new cL(e,!0)}function tJ(e){return new cL(e,!1)}const mC={draw(e,t){const n=hs(t/em);e.moveTo(n,0),e.arc(0,0,n,0,Bv)}},nJ={draw(e,t){const n=hs(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},uL=hs(1/3),rJ=uL*2,aJ={draw(e,t){const n=hs(t/rJ),r=n*uL;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},sJ={draw(e,t){const n=hs(t),r=-n/2;e.rect(r,r,n,n)}},iJ=.8908130915292852,dL=Zh(em/10)/Zh(7*em/10),oJ=Zh(Bv/10)*dL,lJ=-rL(Bv/10)*dL,cJ={draw(e,t){const n=hs(t*iJ),r=oJ*n,s=lJ*n;e.moveTo(0,-n),e.lineTo(r,s);for(let i=1;i<5;++i){const o=Bv*i/5,c=rL(o),d=Zh(o);e.lineTo(d*n,-c*n),e.lineTo(c*r-d*s,d*r+c*s)}e.closePath()}},a0=hs(3),uJ={draw(e,t){const n=-hs(t/(a0*3));e.moveTo(0,n*2),e.lineTo(-a0*n,-n),e.lineTo(a0*n,-n),e.closePath()}},ba=-.5,wa=hs(3)/2,VS=1/hs(12),dJ=(VS/2+1)*3,fJ={draw(e,t){const n=hs(t/dJ),r=n/2,s=n*VS,i=r,o=n*VS+n,c=-i,d=o;e.moveTo(r,s),e.lineTo(i,o),e.lineTo(c,d),e.lineTo(ba*r-wa*s,wa*r+ba*s),e.lineTo(ba*i-wa*o,wa*i+ba*o),e.lineTo(ba*c-wa*d,wa*c+ba*d),e.lineTo(ba*r+wa*s,ba*s-wa*r),e.lineTo(ba*i+wa*o,ba*o-wa*i),e.lineTo(ba*c+wa*d,ba*d-wa*c),e.closePath()}};function pJ(e,t){let n=null,r=pC(s);e=typeof e=="function"?e:xn(e||mC),t=typeof t=="function"?t:xn(t===void 0?64:+t);function s(){let i;if(n||(n=i=r()),e.apply(this,arguments).draw(n,+t.apply(this,arguments)),i)return n=null,i+""||null}return s.type=function(i){return arguments.length?(e=typeof i=="function"?i:xn(i),s):e},s.size=function(i){return arguments.length?(t=typeof i=="function"?i:xn(+i),s):t},s.context=function(i){return arguments.length?(n=i??null,s):n},s}function tm(){}function nm(e,t,n){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+n)/6)}function fL(e){this._context=e}fL.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:nm(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:nm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function hJ(e){return new fL(e)}function pL(e){this._context=e}pL.prototype={areaStart:tm,areaEnd:tm,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:nm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function mJ(e){return new pL(e)}function hL(e){this._context=e}hL.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 n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:nm(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function vJ(e){return new hL(e)}function mL(e){this._context=e}mL.prototype={areaStart:tm,areaEnd:tm,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 gJ(e){return new mL(e)}function RT(e){return e<0?-1:1}function OT(e,t,n){var r=e._x1-e._x0,s=t-e._x1,i=(e._y1-e._y0)/(r||s<0&&-0),o=(n-e._y1)/(s||r<0&&-0),c=(i*s+o*r)/(r+s);return(RT(i)+RT(o))*Math.min(Math.abs(i),Math.abs(o),.5*Math.abs(c))||0}function MT(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function s0(e,t,n){var r=e._x0,s=e._y0,i=e._x1,o=e._y1,c=(i-r)/3;e._context.bezierCurveTo(r+c,s+c*t,i-c,o-c*n,i,o)}function rm(e){this._context=e}rm.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:s0(this,this._t0,MT(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 n=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,s0(this,MT(this,n=OT(this,e,t)),n);break;default:s0(this,this._t0,n=OT(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function vL(e){this._context=new gL(e)}(vL.prototype=Object.create(rm.prototype)).point=function(e,t){rm.prototype.point.call(this,t,e)};function gL(e){this._context=e}gL.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,n,r,s,i){this._context.bezierCurveTo(t,e,r,n,i,s)}};function xJ(e){return new rm(e)}function yJ(e){return new vL(e)}function xL(e){this._context=e}xL.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,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=IT(e),s=IT(t),i=0,o=1;o<n;++i,++o)this._context.bezierCurveTo(r[0][i],s[0][i],r[1][i],s[1][i],e[o],t[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function IT(e){var t,n=e.length-1,r,s=new Array(n),i=new Array(n),o=new Array(n);for(s[0]=0,i[0]=2,o[0]=e[0]+2*e[1],t=1;t<n-1;++t)s[t]=1,i[t]=4,o[t]=4*e[t]+2*e[t+1];for(s[n-1]=2,i[n-1]=7,o[n-1]=8*e[n-1]+e[n],t=1;t<n;++t)r=s[t]/i[t-1],i[t]-=r,o[t]-=r*o[t-1];for(s[n-1]=o[n-1]/i[n-1],t=n-2;t>=0;--t)s[t]=(o[t]-s[t+1])/i[t];for(i[n-1]=(e[n]+s[n-1])/2,t=0;t<n-1;++t)i[t]=2*e[t+1]-s[t+1];return[s,i]}function bJ(e){return new xL(e)}function Uv(e,t){this._context=e,this._t=t}Uv.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=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 n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function wJ(e){return new Uv(e,.5)}function jJ(e){return new Uv(e,0)}function SJ(e){return new Uv(e,1)}function Oc(e,t){if((o=e.length)>1)for(var n=1,r,s,i=e[t[0]],o,c=i.length;n<o;++n)for(s=i,i=e[t[n]],r=0;r<c;++r)i[r][1]+=i[r][0]=isNaN(s[r][1])?s[r][0]:s[r][1]}function HS(e){for(var t=e.length,n=new Array(t);--t>=0;)n[t]=t;return n}function NJ(e,t){return e[t]}function CJ(e){const t=[];return t.key=e,t}function _J(){var e=xn([]),t=HS,n=Oc,r=NJ;function s(i){var o=Array.from(e.apply(this,arguments),CJ),c,d=o.length,f=-1,h;for(const p of i)for(c=0,++f;c<d;++c)(o[c][f]=[0,+r(p,o[c].key,f,i)]).data=p;for(c=0,h=hC(t(o));c<d;++c)o[h[c]].index=c;return n(o,h),o}return s.keys=function(i){return arguments.length?(e=typeof i=="function"?i:xn(Array.from(i)),s):e},s.value=function(i){return arguments.length?(r=typeof i=="function"?i:xn(+i),s):r},s.order=function(i){return arguments.length?(t=i==null?HS:typeof i=="function"?i:xn(Array.from(i)),s):t},s.offset=function(i){return arguments.length?(n=i??Oc,s):n},s}function AJ(e,t){if((r=e.length)>0){for(var n,r,s=0,i=e[0].length,o;s<i;++s){for(o=n=0;n<r;++n)o+=e[n][s][1]||0;if(o)for(n=0;n<r;++n)e[n][s][1]/=o}Oc(e,t)}}function kJ(e,t){if((s=e.length)>0){for(var n=0,r=e[t[0]],s,i=r.length;n<i;++n){for(var o=0,c=0;o<s;++o)c+=e[o][n][1]||0;r[n][1]+=r[n][0]=-c/2}Oc(e,t)}}function PJ(e,t){if(!(!((o=e.length)>0)||!((i=(s=e[t[0]]).length)>0))){for(var n=0,r=1,s,i,o;r<i;++r){for(var c=0,d=0,f=0;c<o;++c){for(var h=e[t[c]],p=h[r][1]||0,g=h[r-1][1]||0,x=(p-g)/2,j=0;j<c;++j){var y=e[t[j]],b=y[r][1]||0,S=y[r-1][1]||0;x+=b-S}d+=p,f+=x*p}s[r-1][1]+=s[r-1][0]=n,d&&(n-=f/d)}s[r-1][1]+=s[r-1][0]=n,Oc(e,t)}}function qd(e){"@babel/helpers - typeof";return qd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qd(e)}var EJ=["type","size","sizeType"];function KS(){return KS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},KS.apply(this,arguments)}function $T(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function DT(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?$T(Object(n),!0).forEach(function(r){TJ(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):$T(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function TJ(e,t,n){return t=RJ(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function RJ(e){var t=OJ(e,"string");return qd(t)=="symbol"?t:t+""}function OJ(e,t){if(qd(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(qd(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function MJ(e,t){if(e==null)return{};var n=IJ(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function IJ(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}var yL={symbolCircle:mC,symbolCross:nJ,symbolDiamond:aJ,symbolSquare:sJ,symbolStar:cJ,symbolTriangle:uJ,symbolWye:fJ},$J=Math.PI/180,DJ=function(t){var n="symbol".concat(zv(t));return yL[n]||mC},LJ=function(t,n,r){if(n==="area")return t;switch(r){case"cross":return 5*t*t/9;case"diamond":return .5*t*t/Math.sqrt(3);case"square":return t*t;case"star":{var s=18*$J;return 1.25*t*t*(Math.tan(s)-Math.tan(s*2)*Math.pow(Math.tan(s),2))}case"triangle":return Math.sqrt(3)*t*t/4;case"wye":return(21-10*Math.sqrt(3))*t*t/8;default:return Math.PI*t*t/4}},FJ=function(t,n){yL["symbol".concat(zv(t))]=n},vC=function(t){var n=t.type,r=n===void 0?"circle":n,s=t.size,i=s===void 0?64:s,o=t.sizeType,c=o===void 0?"area":o,d=MJ(t,EJ),f=DT(DT({},d),{},{type:r,size:i,sizeType:c}),h=function(){var b=DJ(r),S=pJ().type(b).size(LJ(i,c,r));return S()},p=f.className,g=f.cx,x=f.cy,j=kt(f,!0);return g===+g&&x===+x&&i===+i?X.createElement("path",KS({},j,{className:zt("recharts-symbols",p),transform:"translate(".concat(g,", ").concat(x,")"),d:h()})):null};vC.registerSymbol=FJ;function Mc(e){"@babel/helpers - typeof";return Mc=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Mc(e)}function GS(){return GS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},GS.apply(this,arguments)}function LT(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function zJ(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?LT(Object(n),!0).forEach(function(r){Ud(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):LT(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function BJ(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function qJ(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,wL(r.key),r)}}function UJ(e,t,n){return t&&qJ(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function WJ(e,t,n){return t=am(t),VJ(e,bL()?Reflect.construct(t,n||[],am(e).constructor):t.apply(e,n))}function VJ(e,t){if(t&&(Mc(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return HJ(e)}function HJ(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function bL(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(bL=function(){return!!e})()}function am(e){return am=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},am(e)}function KJ(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&YS(e,t)}function YS(e,t){return YS=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,s){return r.__proto__=s,r},YS(e,t)}function Ud(e,t,n){return t=wL(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function wL(e){var t=GJ(e,"string");return Mc(t)=="symbol"?t:t+""}function GJ(e,t){if(Mc(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Mc(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var ja=32,gC=(function(e){function t(){return BJ(this,t),WJ(this,t,arguments)}return KJ(t,e),UJ(t,[{key:"renderIcon",value:function(r){var s=this.props.inactiveColor,i=ja/2,o=ja/6,c=ja/3,d=r.inactive?s:r.color;if(r.type==="plainline")return X.createElement("line",{strokeWidth:4,fill:"none",stroke:d,strokeDasharray:r.payload.strokeDasharray,x1:0,y1:i,x2:ja,y2:i,className:"recharts-legend-icon"});if(r.type==="line")return X.createElement("path",{strokeWidth:4,fill:"none",stroke:d,d:"M0,".concat(i,"h").concat(c,`
57
57
  A`).concat(o,",").concat(o,",0,1,1,").concat(2*c,",").concat(i,`
58
58
  H`).concat(ja,"M").concat(2*c,",").concat(i,`
59
59
  A`).concat(o,",").concat(o,",0,1,1,").concat(c,",").concat(i),className:"recharts-legend-icon"});if(r.type==="rect")return X.createElement("path",{stroke:"none",fill:d,d:"M0,".concat(ja/8,"h").concat(ja,"v").concat(ja*3/4,"h").concat(-ja,"z"),className:"recharts-legend-icon"});if(X.isValidElement(r.legendIcon)){var f=zJ({},r);return delete f.legendIcon,X.cloneElement(r.legendIcon,f)}return X.createElement(vC,{fill:d,cx:i,cy:i,size:ja,sizeType:"diameter",type:r.type})}},{key:"renderItems",value:function(){var r=this,s=this.props,i=s.payload,o=s.iconSize,c=s.layout,d=s.formatter,f=s.inactiveColor,h={x:0,y:0,width:ja,height:ja},p={display:c==="horizontal"?"inline-block":"block",marginRight:10},g={display:"inline-block",verticalAlign:"middle",marginRight:4};return i.map(function(x,j){var y=x.formatter||d,b=zt(Ud(Ud({"recharts-legend-item":!0},"legend-item-".concat(j),!0),"inactive",x.inactive));if(x.type==="none")return null;var S=Dt(x.value)?null:x.value;ti(!Dt(x.value),`The name property is also required when using a function for the dataKey of a chart's cartesian components. Ex: <Bar name="Name of my Data"/>`);var N=x.inactive?f:x.color;return X.createElement("li",GS({className:b,style:p,key:"legend-item-".concat(j)},nl(r.props,x,j)),X.createElement(BS,{width:o,height:o,viewBox:h,style:g},r.renderIcon(x)),X.createElement("span",{className:"recharts-legend-item-text",style:{color:N}},y?y(S,x,j):S))})}},{key:"render",value:function(){var r=this.props,s=r.payload,i=r.layout,o=r.align;if(!s||!s.length)return null;var c={padding:0,margin:0,textAlign:i==="horizontal"?o:"left"};return X.createElement("ul",{className:"recharts-default-legend",style:c},this.renderItems())}}])})(m.PureComponent);Ud(gC,"displayName","Legend");Ud(gC,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"middle",inactiveColor:"#ccc"});var i0,FT;function YJ(){if(FT)return i0;FT=1;var e=Dv();function t(){this.__data__=new e,this.size=0}return i0=t,i0}var o0,zT;function XJ(){if(zT)return o0;zT=1;function e(t){var n=this.__data__,r=n.delete(t);return this.size=n.size,r}return o0=e,o0}var l0,BT;function QJ(){if(BT)return l0;BT=1;function e(t){return this.__data__.get(t)}return l0=e,l0}var c0,qT;function JJ(){if(qT)return c0;qT=1;function e(t){return this.__data__.has(t)}return c0=e,c0}var u0,UT;function ZJ(){if(UT)return u0;UT=1;var e=Dv(),t=oC(),n=lC(),r=200;function s(i,o){var c=this.__data__;if(c instanceof e){var d=c.__data__;if(!t||d.length<r-1)return d.push([i,o]),this.size=++c.size,this;c=this.__data__=new n(d)}return c.set(i,o),this.size=c.size,this}return u0=s,u0}var d0,WT;function jL(){if(WT)return d0;WT=1;var e=Dv(),t=YJ(),n=XJ(),r=QJ(),s=JJ(),i=ZJ();function o(c){var d=this.__data__=new e(c);this.size=d.size}return o.prototype.clear=t,o.prototype.delete=n,o.prototype.get=r,o.prototype.has=s,o.prototype.set=i,d0=o,d0}var f0,VT;function eZ(){if(VT)return f0;VT=1;var e="__lodash_hash_undefined__";function t(n){return this.__data__.set(n,e),this}return f0=t,f0}var p0,HT;function tZ(){if(HT)return p0;HT=1;function e(t){return this.__data__.has(t)}return p0=e,p0}var h0,KT;function SL(){if(KT)return h0;KT=1;var e=lC(),t=eZ(),n=tZ();function r(s){var i=-1,o=s==null?0:s.length;for(this.__data__=new e;++i<o;)this.add(s[i])}return r.prototype.add=r.prototype.push=t,r.prototype.has=n,h0=r,h0}var m0,GT;function NL(){if(GT)return m0;GT=1;function e(t,n){for(var r=-1,s=t==null?0:t.length;++r<s;)if(n(t[r],r,t))return!0;return!1}return m0=e,m0}var v0,YT;function CL(){if(YT)return v0;YT=1;function e(t,n){return t.has(n)}return v0=e,v0}var g0,XT;function _L(){if(XT)return g0;XT=1;var e=SL(),t=NL(),n=CL(),r=1,s=2;function i(o,c,d,f,h,p){var g=d&r,x=o.length,j=c.length;if(x!=j&&!(g&&j>x))return!1;var y=p.get(o),b=p.get(c);if(y&&b)return y==c&&b==o;var S=-1,N=!0,C=d&s?new e:void 0;for(p.set(o,c),p.set(c,o);++S<x;){var k=o[S],A=c[S];if(f)var P=g?f(A,k,S,c,o,p):f(k,A,S,o,c,p);if(P!==void 0){if(P)continue;N=!1;break}if(C){if(!t(c,function(T,R){if(!n(C,R)&&(k===T||h(k,T,d,f,p)))return C.push(R)})){N=!1;break}}else if(!(k===A||h(k,A,d,f,p))){N=!1;break}}return p.delete(o),p.delete(c),N}return g0=i,g0}var x0,QT;function nZ(){if(QT)return x0;QT=1;var e=$s(),t=e.Uint8Array;return x0=t,x0}var y0,JT;function rZ(){if(JT)return y0;JT=1;function e(t){var n=-1,r=Array(t.size);return t.forEach(function(s,i){r[++n]=[i,s]}),r}return y0=e,y0}var b0,ZT;function xC(){if(ZT)return b0;ZT=1;function e(t){var n=-1,r=Array(t.size);return t.forEach(function(s){r[++n]=s}),r}return b0=e,b0}var w0,eR;function aZ(){if(eR)return w0;eR=1;var e=Ff(),t=nZ(),n=iC(),r=_L(),s=rZ(),i=xC(),o=1,c=2,d="[object Boolean]",f="[object Date]",h="[object Error]",p="[object Map]",g="[object Number]",x="[object RegExp]",j="[object Set]",y="[object String]",b="[object Symbol]",S="[object ArrayBuffer]",N="[object DataView]",C=e?e.prototype:void 0,k=C?C.valueOf:void 0;function A(P,T,R,M,D,W,B){switch(R){case N:if(P.byteLength!=T.byteLength||P.byteOffset!=T.byteOffset)return!1;P=P.buffer,T=T.buffer;case S:return!(P.byteLength!=T.byteLength||!W(new t(P),new t(T)));case d:case f:case g:return n(+P,+T);case h:return P.name==T.name&&P.message==T.message;case x:case y:return P==T+"";case p:var Y=s;case j:var V=M&o;if(Y||(Y=i),P.size!=T.size&&!V)return!1;var L=B.get(P);if(L)return L==T;M|=c,B.set(P,T);var I=r(Y(P),Y(T),M,D,W,B);return B.delete(P),I;case b:if(k)return k.call(P)==k.call(T)}return!1}return w0=A,w0}var j0,tR;function AL(){if(tR)return j0;tR=1;function e(t,n){for(var r=-1,s=n.length,i=t.length;++r<s;)t[i+r]=n[r];return t}return j0=e,j0}var S0,nR;function sZ(){if(nR)return S0;nR=1;var e=AL(),t=Kr();function n(r,s,i){var o=s(r);return t(r)?o:e(o,i(r))}return S0=n,S0}var N0,rR;function iZ(){if(rR)return N0;rR=1;function e(t,n){for(var r=-1,s=t==null?0:t.length,i=0,o=[];++r<s;){var c=t[r];n(c,r,t)&&(o[i++]=c)}return o}return N0=e,N0}var C0,aR;function oZ(){if(aR)return C0;aR=1;function e(){return[]}return C0=e,C0}var _0,sR;function lZ(){if(sR)return _0;sR=1;var e=iZ(),t=oZ(),n=Object.prototype,r=n.propertyIsEnumerable,s=Object.getOwnPropertySymbols,i=s?function(o){return o==null?[]:(o=Object(o),e(s(o),function(c){return r.call(o,c)}))}:t;return _0=i,_0}var A0,iR;function cZ(){if(iR)return A0;iR=1;function e(t,n){for(var r=-1,s=Array(t);++r<t;)s[r]=n(r);return s}return A0=e,A0}var k0,oR;function uZ(){if(oR)return k0;oR=1;var e=gi(),t=xi(),n="[object Arguments]";function r(s){return t(s)&&e(s)==n}return k0=r,k0}var P0,lR;function yC(){if(lR)return P0;lR=1;var e=uZ(),t=xi(),n=Object.prototype,r=n.hasOwnProperty,s=n.propertyIsEnumerable,i=e((function(){return arguments})())?e:function(o){return t(o)&&r.call(o,"callee")&&!s.call(o,"callee")};return P0=i,P0}var jd={exports:{}},E0,cR;function dZ(){if(cR)return E0;cR=1;function e(){return!1}return E0=e,E0}jd.exports;var uR;function kL(){return uR||(uR=1,(function(e,t){var n=$s(),r=dZ(),s=t&&!t.nodeType&&t,i=s&&!0&&e&&!e.nodeType&&e,o=i&&i.exports===s,c=o?n.Buffer:void 0,d=c?c.isBuffer:void 0,f=d||r;e.exports=f})(jd,jd.exports)),jd.exports}var T0,dR;function bC(){if(dR)return T0;dR=1;var e=9007199254740991,t=/^(?:0|[1-9]\d*)$/;function n(r,s){var i=typeof r;return s=s??e,!!s&&(i=="number"||i!="symbol"&&t.test(r))&&r>-1&&r%1==0&&r<s}return T0=n,T0}var R0,fR;function wC(){if(fR)return R0;fR=1;var e=9007199254740991;function t(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=e}return R0=t,R0}var O0,pR;function fZ(){if(pR)return O0;pR=1;var e=gi(),t=wC(),n=xi(),r="[object Arguments]",s="[object Array]",i="[object Boolean]",o="[object Date]",c="[object Error]",d="[object Function]",f="[object Map]",h="[object Number]",p="[object Object]",g="[object RegExp]",x="[object Set]",j="[object String]",y="[object WeakMap]",b="[object ArrayBuffer]",S="[object DataView]",N="[object Float32Array]",C="[object Float64Array]",k="[object Int8Array]",A="[object Int16Array]",P="[object Int32Array]",T="[object Uint8Array]",R="[object Uint8ClampedArray]",M="[object Uint16Array]",D="[object Uint32Array]",W={};W[N]=W[C]=W[k]=W[A]=W[P]=W[T]=W[R]=W[M]=W[D]=!0,W[r]=W[s]=W[b]=W[i]=W[S]=W[o]=W[c]=W[d]=W[f]=W[h]=W[p]=W[g]=W[x]=W[j]=W[y]=!1;function B(Y){return n(Y)&&t(Y.length)&&!!W[e(Y)]}return O0=B,O0}var M0,hR;function PL(){if(hR)return M0;hR=1;function e(t){return function(n){return t(n)}}return M0=e,M0}var Sd={exports:{}};Sd.exports;var mR;function pZ(){return mR||(mR=1,(function(e,t){var n=Y3(),r=t&&!t.nodeType&&t,s=r&&!0&&e&&!e.nodeType&&e,i=s&&s.exports===r,o=i&&n.process,c=(function(){try{var d=s&&s.require&&s.require("util").types;return d||o&&o.binding&&o.binding("util")}catch{}})();e.exports=c})(Sd,Sd.exports)),Sd.exports}var I0,vR;function EL(){if(vR)return I0;vR=1;var e=fZ(),t=PL(),n=pZ(),r=n&&n.isTypedArray,s=r?t(r):e;return I0=s,I0}var $0,gR;function hZ(){if(gR)return $0;gR=1;var e=cZ(),t=yC(),n=Kr(),r=kL(),s=bC(),i=EL(),o=Object.prototype,c=o.hasOwnProperty;function d(f,h){var p=n(f),g=!p&&t(f),x=!p&&!g&&r(f),j=!p&&!g&&!x&&i(f),y=p||g||x||j,b=y?e(f.length,String):[],S=b.length;for(var N in f)(h||c.call(f,N))&&!(y&&(N=="length"||x&&(N=="offset"||N=="parent")||j&&(N=="buffer"||N=="byteLength"||N=="byteOffset")||s(N,S)))&&b.push(N);return b}return $0=d,$0}var D0,xR;function mZ(){if(xR)return D0;xR=1;var e=Object.prototype;function t(n){var r=n&&n.constructor,s=typeof r=="function"&&r.prototype||e;return n===s}return D0=t,D0}var L0,yR;function TL(){if(yR)return L0;yR=1;function e(t,n){return function(r){return t(n(r))}}return L0=e,L0}var F0,bR;function vZ(){if(bR)return F0;bR=1;var e=TL(),t=e(Object.keys,Object);return F0=t,F0}var z0,wR;function gZ(){if(wR)return z0;wR=1;var e=mZ(),t=vZ(),n=Object.prototype,r=n.hasOwnProperty;function s(i){if(!e(i))return t(i);var o=[];for(var c in Object(i))r.call(i,c)&&c!="constructor"&&o.push(c);return o}return z0=s,z0}var B0,jR;function Bf(){if(jR)return B0;jR=1;var e=sC(),t=wC();function n(r){return r!=null&&t(r.length)&&!e(r)}return B0=n,B0}var q0,SR;function Wv(){if(SR)return q0;SR=1;var e=hZ(),t=gZ(),n=Bf();function r(s){return n(s)?e(s):t(s)}return q0=r,q0}var U0,NR;function xZ(){if(NR)return U0;NR=1;var e=sZ(),t=lZ(),n=Wv();function r(s){return e(s,n,t)}return U0=r,U0}var W0,CR;function yZ(){if(CR)return W0;CR=1;var e=xZ(),t=1,n=Object.prototype,r=n.hasOwnProperty;function s(i,o,c,d,f,h){var p=c&t,g=e(i),x=g.length,j=e(o),y=j.length;if(x!=y&&!p)return!1;for(var b=x;b--;){var S=g[b];if(!(p?S in o:r.call(o,S)))return!1}var N=h.get(i),C=h.get(o);if(N&&C)return N==o&&C==i;var k=!0;h.set(i,o),h.set(o,i);for(var A=p;++b<x;){S=g[b];var P=i[S],T=o[S];if(d)var R=p?d(T,P,S,o,i,h):d(P,T,S,i,o,h);if(!(R===void 0?P===T||f(P,T,c,d,h):R)){k=!1;break}A||(A=S=="constructor")}if(k&&!A){var M=i.constructor,D=o.constructor;M!=D&&"constructor"in i&&"constructor"in o&&!(typeof M=="function"&&M instanceof M&&typeof D=="function"&&D instanceof D)&&(k=!1)}return h.delete(i),h.delete(o),k}return W0=s,W0}var V0,_R;function bZ(){if(_R)return V0;_R=1;var e=yl(),t=$s(),n=e(t,"DataView");return V0=n,V0}var H0,AR;function wZ(){if(AR)return H0;AR=1;var e=yl(),t=$s(),n=e(t,"Promise");return H0=n,H0}var K0,kR;function RL(){if(kR)return K0;kR=1;var e=yl(),t=$s(),n=e(t,"Set");return K0=n,K0}var G0,PR;function jZ(){if(PR)return G0;PR=1;var e=yl(),t=$s(),n=e(t,"WeakMap");return G0=n,G0}var Y0,ER;function SZ(){if(ER)return Y0;ER=1;var e=bZ(),t=oC(),n=wZ(),r=RL(),s=jZ(),i=gi(),o=X3(),c="[object Map]",d="[object Object]",f="[object Promise]",h="[object Set]",p="[object WeakMap]",g="[object DataView]",x=o(e),j=o(t),y=o(n),b=o(r),S=o(s),N=i;return(e&&N(new e(new ArrayBuffer(1)))!=g||t&&N(new t)!=c||n&&N(n.resolve())!=f||r&&N(new r)!=h||s&&N(new s)!=p)&&(N=function(C){var k=i(C),A=k==d?C.constructor:void 0,P=A?o(A):"";if(P)switch(P){case x:return g;case j:return c;case y:return f;case b:return h;case S:return p}return k}),Y0=N,Y0}var X0,TR;function NZ(){if(TR)return X0;TR=1;var e=jL(),t=_L(),n=aZ(),r=yZ(),s=SZ(),i=Kr(),o=kL(),c=EL(),d=1,f="[object Arguments]",h="[object Array]",p="[object Object]",g=Object.prototype,x=g.hasOwnProperty;function j(y,b,S,N,C,k){var A=i(y),P=i(b),T=A?h:s(y),R=P?h:s(b);T=T==f?p:T,R=R==f?p:R;var M=T==p,D=R==p,W=T==R;if(W&&o(y)){if(!o(b))return!1;A=!0,M=!1}if(W&&!M)return k||(k=new e),A||c(y)?t(y,b,S,N,C,k):n(y,b,T,S,N,C,k);if(!(S&d)){var B=M&&x.call(y,"__wrapped__"),Y=D&&x.call(b,"__wrapped__");if(B||Y){var V=B?y.value():y,L=Y?b.value():b;return k||(k=new e),C(V,L,S,N,k)}}return W?(k||(k=new e),r(y,b,S,N,C,k)):!1}return X0=j,X0}var Q0,RR;function jC(){if(RR)return Q0;RR=1;var e=NZ(),t=xi();function n(r,s,i,o,c){return r===s?!0:r==null||s==null||!t(r)&&!t(s)?r!==r&&s!==s:e(r,s,i,o,n,c)}return Q0=n,Q0}var J0,OR;function CZ(){if(OR)return J0;OR=1;var e=jL(),t=jC(),n=1,r=2;function s(i,o,c,d){var f=c.length,h=f,p=!d;if(i==null)return!h;for(i=Object(i);f--;){var g=c[f];if(p&&g[2]?g[1]!==i[g[0]]:!(g[0]in i))return!1}for(;++f<h;){g=c[f];var x=g[0],j=i[x],y=g[1];if(p&&g[2]){if(j===void 0&&!(x in i))return!1}else{var b=new e;if(d)var S=d(j,y,x,i,o,b);if(!(S===void 0?t(y,j,n|r,d,b):S))return!1}}return!0}return J0=s,J0}var Z0,MR;function OL(){if(MR)return Z0;MR=1;var e=co();function t(n){return n===n&&!e(n)}return Z0=t,Z0}var ew,IR;function _Z(){if(IR)return ew;IR=1;var e=OL(),t=Wv();function n(r){for(var s=t(r),i=s.length;i--;){var o=s[i],c=r[o];s[i]=[o,c,e(c)]}return s}return ew=n,ew}var tw,$R;function ML(){if($R)return tw;$R=1;function e(t,n){return function(r){return r==null?!1:r[t]===n&&(n!==void 0||t in Object(r))}}return tw=e,tw}var nw,DR;function AZ(){if(DR)return nw;DR=1;var e=CZ(),t=_Z(),n=ML();function r(s){var i=t(s);return i.length==1&&i[0][2]?n(i[0][0],i[0][1]):function(o){return o===s||e(o,s,i)}}return nw=r,nw}var rw,LR;function kZ(){if(LR)return rw;LR=1;function e(t,n){return t!=null&&n in Object(t)}return rw=e,rw}var aw,FR;function PZ(){if(FR)return aw;FR=1;var e=Z3(),t=yC(),n=Kr(),r=bC(),s=wC(),i=Fv();function o(c,d,f){d=e(d,c);for(var h=-1,p=d.length,g=!1;++h<p;){var x=i(d[h]);if(!(g=c!=null&&f(c,x)))break;c=c[x]}return g||++h!=p?g:(p=c==null?0:c.length,!!p&&s(p)&&r(x,p)&&(n(c)||t(c)))}return aw=o,aw}var sw,zR;function EZ(){if(zR)return sw;zR=1;var e=kZ(),t=PZ();function n(r,s){return r!=null&&t(r,s,e)}return sw=n,sw}var iw,BR;function TZ(){if(BR)return iw;BR=1;var e=jC(),t=eL(),n=EZ(),r=aC(),s=OL(),i=ML(),o=Fv(),c=1,d=2;function f(h,p){return r(h)&&s(p)?i(o(h),p):function(g){var x=t(g,h);return x===void 0&&x===p?n(g,h):e(p,x,c|d)}}return iw=f,iw}var ow,qR;function gu(){if(qR)return ow;qR=1;function e(t){return t}return ow=e,ow}var lw,UR;function RZ(){if(UR)return lw;UR=1;function e(t){return function(n){return n?.[t]}}return lw=e,lw}var cw,WR;function OZ(){if(WR)return cw;WR=1;var e=uC();function t(n){return function(r){return e(r,n)}}return cw=t,cw}var uw,VR;function MZ(){if(VR)return uw;VR=1;var e=RZ(),t=OZ(),n=aC(),r=Fv();function s(i){return n(i)?e(r(i)):t(i)}return uw=s,uw}var dw,HR;function Ds(){if(HR)return dw;HR=1;var e=AZ(),t=TZ(),n=gu(),r=Kr(),s=MZ();function i(o){return typeof o=="function"?o:o==null?n:typeof o=="object"?r(o)?t(o[0],o[1]):e(o):s(o)}return dw=i,dw}var fw,KR;function IL(){if(KR)return fw;KR=1;function e(t,n,r,s){for(var i=t.length,o=r+(s?1:-1);s?o--:++o<i;)if(n(t[o],o,t))return o;return-1}return fw=e,fw}var pw,GR;function IZ(){if(GR)return pw;GR=1;function e(t){return t!==t}return pw=e,pw}var hw,YR;function $Z(){if(YR)return hw;YR=1;function e(t,n,r){for(var s=r-1,i=t.length;++s<i;)if(t[s]===n)return s;return-1}return hw=e,hw}var mw,XR;function DZ(){if(XR)return mw;XR=1;var e=IL(),t=IZ(),n=$Z();function r(s,i,o){return i===i?n(s,i,o):e(s,t,o)}return mw=r,mw}var vw,QR;function LZ(){if(QR)return vw;QR=1;var e=DZ();function t(n,r){var s=n==null?0:n.length;return!!s&&e(n,r,0)>-1}return vw=t,vw}var gw,JR;function FZ(){if(JR)return gw;JR=1;function e(t,n,r){for(var s=-1,i=t==null?0:t.length;++s<i;)if(r(n,t[s]))return!0;return!1}return gw=e,gw}var xw,ZR;function zZ(){if(ZR)return xw;ZR=1;function e(){}return xw=e,xw}var yw,eO;function BZ(){if(eO)return yw;eO=1;var e=RL(),t=zZ(),n=xC(),r=1/0,s=e&&1/n(new e([,-0]))[1]==r?function(i){return new e(i)}:t;return yw=s,yw}var bw,tO;function qZ(){if(tO)return bw;tO=1;var e=SL(),t=LZ(),n=FZ(),r=CL(),s=BZ(),i=xC(),o=200;function c(d,f,h){var p=-1,g=t,x=d.length,j=!0,y=[],b=y;if(h)j=!1,g=n;else if(x>=o){var S=f?null:s(d);if(S)return i(S);j=!1,g=r,b=new e}else b=f?[]:y;e:for(;++p<x;){var N=d[p],C=f?f(N):N;if(N=h||N!==0?N:0,j&&C===C){for(var k=b.length;k--;)if(b[k]===C)continue e;f&&b.push(C),y.push(N)}else g(b,C,h)||(b!==y&&b.push(C),y.push(N))}return y}return bw=c,bw}var ww,nO;function UZ(){if(nO)return ww;nO=1;var e=Ds(),t=qZ();function n(r,s){return r&&r.length?t(r,e(s,2)):[]}return ww=n,ww}var WZ=UZ();const rO=dn(WZ);function $L(e,t,n){return t===!0?rO(e,n):Dt(t)?rO(e,t):e}function Ic(e){"@babel/helpers - typeof";return Ic=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ic(e)}var VZ=["ref"];function aO(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Gs(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?aO(Object(n),!0).forEach(function(r){Vv(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):aO(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function HZ(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function sO(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,LL(r.key),r)}}function KZ(e,t,n){return t&&sO(e.prototype,t),n&&sO(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function GZ(e,t,n){return t=sm(t),YZ(e,DL()?Reflect.construct(t,n||[],sm(e).constructor):t.apply(e,n))}function YZ(e,t){if(t&&(Ic(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return XZ(e)}function XZ(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function DL(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(DL=function(){return!!e})()}function sm(e){return sm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},sm(e)}function QZ(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&XS(e,t)}function XS(e,t){return XS=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,s){return r.__proto__=s,r},XS(e,t)}function Vv(e,t,n){return t=LL(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function LL(e){var t=JZ(e,"string");return Ic(t)=="symbol"?t:t+""}function JZ(e,t){if(Ic(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Ic(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function ZZ(e,t){if(e==null)return{};var n=eee(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function eee(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function tee(e){return e.value}function nee(e,t){if(X.isValidElement(e))return X.cloneElement(e,t);if(typeof e=="function")return X.createElement(e,t);t.ref;var n=ZZ(t,VZ);return X.createElement(gC,n)}var iO=1,Ko=(function(e){function t(){var n;HZ(this,t);for(var r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return n=GZ(this,t,[].concat(s)),Vv(n,"lastBoundingBox",{width:-1,height:-1}),n}return QZ(t,e),KZ(t,[{key:"componentDidMount",value:function(){this.updateBBox()}},{key:"componentDidUpdate",value:function(){this.updateBBox()}},{key:"getBBox",value:function(){if(this.wrapperNode&&this.wrapperNode.getBoundingClientRect){var r=this.wrapperNode.getBoundingClientRect();return r.height=this.wrapperNode.offsetHeight,r.width=this.wrapperNode.offsetWidth,r}return null}},{key:"updateBBox",value:function(){var r=this.props.onBBoxUpdate,s=this.getBBox();s?(Math.abs(s.width-this.lastBoundingBox.width)>iO||Math.abs(s.height-this.lastBoundingBox.height)>iO)&&(this.lastBoundingBox.width=s.width,this.lastBoundingBox.height=s.height,r&&r(s)):(this.lastBoundingBox.width!==-1||this.lastBoundingBox.height!==-1)&&(this.lastBoundingBox.width=-1,this.lastBoundingBox.height=-1,r&&r(null))}},{key:"getBBoxSnapshot",value:function(){return this.lastBoundingBox.width>=0&&this.lastBoundingBox.height>=0?Gs({},this.lastBoundingBox):{width:0,height:0}}},{key:"getDefaultPosition",value:function(r){var s=this.props,i=s.layout,o=s.align,c=s.verticalAlign,d=s.margin,f=s.chartWidth,h=s.chartHeight,p,g;if(!r||(r.left===void 0||r.left===null)&&(r.right===void 0||r.right===null))if(o==="center"&&i==="vertical"){var x=this.getBBoxSnapshot();p={left:((f||0)-x.width)/2}}else p=o==="right"?{right:d&&d.right||0}:{left:d&&d.left||0};if(!r||(r.top===void 0||r.top===null)&&(r.bottom===void 0||r.bottom===null))if(c==="middle"){var j=this.getBBoxSnapshot();g={top:((h||0)-j.height)/2}}else g=c==="bottom"?{bottom:d&&d.bottom||0}:{top:d&&d.top||0};return Gs(Gs({},p),g)}},{key:"render",value:function(){var r=this,s=this.props,i=s.content,o=s.width,c=s.height,d=s.wrapperStyle,f=s.payloadUniqBy,h=s.payload,p=Gs(Gs({position:"absolute",width:o||"auto",height:c||"auto"},this.getDefaultPosition(d)),d);return X.createElement("div",{className:"recharts-legend-wrapper",style:p,ref:function(x){r.wrapperNode=x}},nee(i,Gs(Gs({},this.props),{},{payload:$L(h,f,tee)})))}}],[{key:"getWithHeight",value:function(r,s){var i=Gs(Gs({},this.defaultProps),r.props),o=i.layout;return o==="vertical"&&rt(r.props.height)?{height:r.props.height}:o==="horizontal"?{width:r.props.width||s}:null}}])})(m.PureComponent);Vv(Ko,"displayName","Legend");Vv(Ko,"defaultProps",{iconSize:14,layout:"horizontal",align:"center",verticalAlign:"bottom"});var jw,oO;function ree(){if(oO)return jw;oO=1;var e=Ff(),t=yC(),n=Kr(),r=e?e.isConcatSpreadable:void 0;function s(i){return n(i)||t(i)||!!(r&&i&&i[r])}return jw=s,jw}var Sw,lO;function FL(){if(lO)return Sw;lO=1;var e=AL(),t=ree();function n(r,s,i,o,c){var d=-1,f=r.length;for(i||(i=t),c||(c=[]);++d<f;){var h=r[d];s>0&&i(h)?s>1?n(h,s-1,i,o,c):e(c,h):o||(c[c.length]=h)}return c}return Sw=n,Sw}var Nw,cO;function aee(){if(cO)return Nw;cO=1;function e(t){return function(n,r,s){for(var i=-1,o=Object(n),c=s(n),d=c.length;d--;){var f=c[t?d:++i];if(r(o[f],f,o)===!1)break}return n}}return Nw=e,Nw}var Cw,uO;function see(){if(uO)return Cw;uO=1;var e=aee(),t=e();return Cw=t,Cw}var _w,dO;function zL(){if(dO)return _w;dO=1;var e=see(),t=Wv();function n(r,s){return r&&e(r,s,t)}return _w=n,_w}var Aw,fO;function iee(){if(fO)return Aw;fO=1;var e=Bf();function t(n,r){return function(s,i){if(s==null)return s;if(!e(s))return n(s,i);for(var o=s.length,c=r?o:-1,d=Object(s);(r?c--:++c<o)&&i(d[c],c,d)!==!1;);return s}}return Aw=t,Aw}var kw,pO;function SC(){if(pO)return kw;pO=1;var e=zL(),t=iee(),n=t(e);return kw=n,kw}var Pw,hO;function BL(){if(hO)return Pw;hO=1;var e=SC(),t=Bf();function n(r,s){var i=-1,o=t(r)?Array(r.length):[];return e(r,function(c,d,f){o[++i]=s(c,d,f)}),o}return Pw=n,Pw}var Ew,mO;function oee(){if(mO)return Ew;mO=1;function e(t,n){var r=t.length;for(t.sort(n);r--;)t[r]=t[r].value;return t}return Ew=e,Ew}var Tw,vO;function lee(){if(vO)return Tw;vO=1;var e=hu();function t(n,r){if(n!==r){var s=n!==void 0,i=n===null,o=n===n,c=e(n),d=r!==void 0,f=r===null,h=r===r,p=e(r);if(!f&&!p&&!c&&n>r||c&&d&&h&&!f&&!p||i&&d&&h||!s&&h||!o)return 1;if(!i&&!c&&!p&&n<r||p&&s&&o&&!i&&!c||f&&s&&o||!d&&o||!h)return-1}return 0}return Tw=t,Tw}var Rw,gO;function cee(){if(gO)return Rw;gO=1;var e=lee();function t(n,r,s){for(var i=-1,o=n.criteria,c=r.criteria,d=o.length,f=s.length;++i<d;){var h=e(o[i],c[i]);if(h){if(i>=f)return h;var p=s[i];return h*(p=="desc"?-1:1)}}return n.index-r.index}return Rw=t,Rw}var Ow,xO;function uee(){if(xO)return Ow;xO=1;var e=cC(),t=uC(),n=Ds(),r=BL(),s=oee(),i=PL(),o=cee(),c=gu(),d=Kr();function f(h,p,g){p.length?p=e(p,function(y){return d(y)?function(b){return t(b,y.length===1?y[0]:y)}:y}):p=[c];var x=-1;p=e(p,i(n));var j=r(h,function(y,b,S){var N=e(p,function(C){return C(y)});return{criteria:N,index:++x,value:y}});return s(j,function(y,b){return o(y,b,g)})}return Ow=f,Ow}var Mw,yO;function dee(){if(yO)return Mw;yO=1;function e(t,n,r){switch(r.length){case 0:return t.call(n);case 1:return t.call(n,r[0]);case 2:return t.call(n,r[0],r[1]);case 3:return t.call(n,r[0],r[1],r[2])}return t.apply(n,r)}return Mw=e,Mw}var Iw,bO;function fee(){if(bO)return Iw;bO=1;var e=dee(),t=Math.max;function n(r,s,i){return s=t(s===void 0?r.length-1:s,0),function(){for(var o=arguments,c=-1,d=t(o.length-s,0),f=Array(d);++c<d;)f[c]=o[s+c];c=-1;for(var h=Array(s+1);++c<s;)h[c]=o[c];return h[s]=i(f),e(r,this,h)}}return Iw=n,Iw}var $w,wO;function pee(){if(wO)return $w;wO=1;function e(t){return function(){return t}}return $w=e,$w}var Dw,jO;function qL(){if(jO)return Dw;jO=1;var e=yl(),t=(function(){try{var n=e(Object,"defineProperty");return n({},"",{}),n}catch{}})();return Dw=t,Dw}var Lw,SO;function hee(){if(SO)return Lw;SO=1;var e=pee(),t=qL(),n=gu(),r=t?function(s,i){return t(s,"toString",{configurable:!0,enumerable:!1,value:e(i),writable:!0})}:n;return Lw=r,Lw}var Fw,NO;function mee(){if(NO)return Fw;NO=1;var e=800,t=16,n=Date.now;function r(s){var i=0,o=0;return function(){var c=n(),d=t-(c-o);if(o=c,d>0){if(++i>=e)return arguments[0]}else i=0;return s.apply(void 0,arguments)}}return Fw=r,Fw}var zw,CO;function vee(){if(CO)return zw;CO=1;var e=hee(),t=mee(),n=t(e);return zw=n,zw}var Bw,_O;function gee(){if(_O)return Bw;_O=1;var e=gu(),t=fee(),n=vee();function r(s,i){return n(t(s,i,e),s+"")}return Bw=r,Bw}var qw,AO;function Hv(){if(AO)return qw;AO=1;var e=iC(),t=Bf(),n=bC(),r=co();function s(i,o,c){if(!r(c))return!1;var d=typeof o;return(d=="number"?t(c)&&n(o,c.length):d=="string"&&o in c)?e(c[o],i):!1}return qw=s,qw}var Uw,kO;function xee(){if(kO)return Uw;kO=1;var e=FL(),t=uee(),n=gee(),r=Hv(),s=n(function(i,o){if(i==null)return[];var c=o.length;return c>1&&r(i,o[0],o[1])?o=[]:c>2&&r(o[0],o[1],o[2])&&(o=[o[0]]),t(i,e(o,1),[])});return Uw=s,Uw}var yee=xee();const NC=dn(yee);function Wd(e){"@babel/helpers - typeof";return Wd=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Wd(e)}function QS(){return QS=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},QS.apply(this,arguments)}function bee(e,t){return Nee(e)||See(e,t)||jee(e,t)||wee()}function wee(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
@@ -117,7 +117,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
117
117
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Mfe(e,t){if(e){if(typeof e=="string")return K1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return K1(e,t)}}function Ife(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function $fe(e){if(Array.isArray(e))return K1(e)}function K1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function Dfe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function XI(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,ez(r.key),r)}}function Lfe(e,t,n){return t&&XI(e.prototype,t),n&&XI(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function Ffe(e,t,n){return t=Gm(t),zfe(e,ZF()?Reflect.construct(t,n||[],Gm(e).constructor):t.apply(e,n))}function zfe(e,t){if(t&&(Zc(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Bfe(e)}function Bfe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function ZF(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ZF=function(){return!!e})()}function Gm(e){return Gm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Gm(e)}function qfe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&G1(e,t)}function G1(e,t){return G1=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,s){return r.__proto__=s,r},G1(e,t)}function ts(e,t,n){return t=ez(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ez(e){var t=Ufe(e,"string");return Zc(t)=="symbol"?t:t+""}function Ufe(e,t){if(Zc(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Zc(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var il=(function(e){function t(){var n;Dfe(this,t);for(var r=arguments.length,s=new Array(r),i=0;i<r;i++)s[i]=arguments[i];return n=Ffe(this,t,[].concat(s)),ts(n,"state",{isAnimationFinished:!0,totalLength:0}),ts(n,"generateSimpleStrokeDasharray",function(o,c){return"".concat(c,"px ").concat(o-c,"px")}),ts(n,"getStrokeDasharray",function(o,c,d){var f=d.reduce(function(S,N){return S+N});if(!f)return n.generateSimpleStrokeDasharray(c,o);for(var h=Math.floor(o/f),p=o%f,g=c-o,x=[],j=0,y=0;j<d.length;y+=d[j],++j)if(y+d[j]>p){x=[].concat(sc(d.slice(0,j)),[p-y]);break}var b=x.length%2===0?[0,g]:[g];return[].concat(sc(t.repeat(d,h)),sc(x),b).map(function(S){return"".concat(S,"px")}).join(", ")}),ts(n,"id",vu("recharts-line-")),ts(n,"pathRef",function(o){n.mainCurve=o}),ts(n,"handleAnimationEnd",function(){n.setState({isAnimationFinished:!0}),n.props.onAnimationEnd&&n.props.onAnimationEnd()}),ts(n,"handleAnimationStart",function(){n.setState({isAnimationFinished:!1}),n.props.onAnimationStart&&n.props.onAnimationStart()}),n}return qfe(t,e),Lfe(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();this.setState({totalLength:r})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var r=this.getTotalLength();r!==this.state.totalLength&&this.setState({totalLength:r})}}},{key:"getTotalLength",value:function(){var r=this.mainCurve;try{return r&&r.getTotalLength&&r.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(r,s){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var i=this.props,o=i.points,c=i.xAxis,d=i.yAxis,f=i.layout,h=i.children,p=ua(h,Kf);if(!p)return null;var g=function(y,b){return{x:y.x,y:y.y,value:y.value,errorVal:Xn(y.payload,b)}},x={clipPath:r?"url(#clipPath-".concat(s,")"):null};return X.createElement(rn,x,p.map(function(j){return X.cloneElement(j,{key:"bar-".concat(j.props.dataKey),data:o,xAxis:c,yAxis:d,layout:f,dataPointFormatter:g})}))}},{key:"renderDots",value:function(r,s,i){var o=this.props.isAnimationActive;if(o&&!this.state.isAnimationFinished)return null;var c=this.props,d=c.dot,f=c.points,h=c.dataKey,p=kt(this.props,!1),g=kt(d,!0),x=f.map(function(y,b){var S=ea(ea(ea({key:"dot-".concat(b),r:3},p),g),{},{index:b,cx:y.x,cy:y.y,value:y.value,dataKey:h,payload:y.payload,points:f});return t.renderDotItem(d,S)}),j={clipPath:r?"url(#clipPath-".concat(s?"":"dots-").concat(i,")"):null};return X.createElement(rn,Id({className:"recharts-line-dots",key:"dots"},j),x)}},{key:"renderCurveStatically",value:function(r,s,i,o){var c=this.props,d=c.type,f=c.layout,h=c.connectNulls;c.ref;var p=GI(c,Efe),g=ea(ea(ea({},kt(p,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:s?"url(#clipPath-".concat(i,")"):null,points:r},o),{},{type:d,layout:f,connectNulls:h});return X.createElement(Am,Id({},g,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(r,s){var i=this,o=this.props,c=o.points,d=o.strokeDasharray,f=o.isAnimationActive,h=o.animationBegin,p=o.animationDuration,g=o.animationEasing,x=o.animationId,j=o.animateNewValues,y=o.width,b=o.height,S=this.state,N=S.prevPoints,C=S.totalLength;return X.createElement(Rs,{begin:h,duration:p,isActive:f,easing:g,from:{t:0},to:{t:1},key:"line-".concat(x),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(k){var A=k.t;if(N){var P=N.length/c.length,T=c.map(function(B,Y){var V=Math.floor(Y*P);if(N[V]){var L=N[V],I=aa(L.x,B.x),Q=aa(L.y,B.y);return ea(ea({},B),{},{x:I(A),y:Q(A)})}if(j){var H=aa(y*2,B.x),O=aa(b/2,B.y);return ea(ea({},B),{},{x:H(A),y:O(A)})}return ea(ea({},B),{},{x:B.x,y:B.y})});return i.renderCurveStatically(T,r,s)}var R=aa(0,C),M=R(A),D;if(d){var W="".concat(d).split(/[,\s]+/gim).map(function(B){return parseFloat(B)});D=i.getStrokeDasharray(M,C,W)}else D=i.generateSimpleStrokeDasharray(C,M);return i.renderCurveStatically(c,r,s,{strokeDasharray:D})})}},{key:"renderCurve",value:function(r,s){var i=this.props,o=i.points,c=i.isAnimationActive,d=this.state,f=d.prevPoints,h=d.totalLength;return c&&o&&o.length&&(!f&&h>0||!Hf(f,o))?this.renderCurveWithAnimation(r,s):this.renderCurveStatically(o,r,s)}},{key:"render",value:function(){var r,s=this.props,i=s.hide,o=s.dot,c=s.points,d=s.className,f=s.xAxis,h=s.yAxis,p=s.top,g=s.left,x=s.width,j=s.height,y=s.isAnimationActive,b=s.id;if(i||!c||!c.length)return null;var S=this.state.isAnimationFinished,N=c.length===1,C=zt("recharts-line",d),k=f&&f.allowDataOverflow,A=h&&h.allowDataOverflow,P=k||A,T=Lt(b)?this.id:b,R=(r=kt(o,!1))!==null&&r!==void 0?r:{r:3,strokeWidth:2},M=R.r,D=M===void 0?3:M,W=R.strokeWidth,B=W===void 0?2:W,Y=OQ(o)?o:{},V=Y.clipDot,L=V===void 0?!0:V,I=D*2+B;return X.createElement(rn,{className:C},k||A?X.createElement("defs",null,X.createElement("clipPath",{id:"clipPath-".concat(T)},X.createElement("rect",{x:k?g:g-x/2,y:A?p:p-j/2,width:k?x:x*2,height:A?j:j*2})),!L&&X.createElement("clipPath",{id:"clipPath-dots-".concat(T)},X.createElement("rect",{x:g-I/2,y:p-I/2,width:x+I,height:j+I}))):null,!N&&this.renderCurve(P,T),this.renderErrorBar(P,T),(N||o)&&this.renderDots(P,L,T),(!y||S)&&ri.renderCallByParent(this.props,c))}}],[{key:"getDerivedStateFromProps",value:function(r,s){return r.animationId!==s.prevAnimationId?{prevAnimationId:r.animationId,curPoints:r.points,prevPoints:s.curPoints}:r.points!==s.curPoints?{curPoints:r.points}:null}},{key:"repeat",value:function(r,s){for(var i=r.length%2!==0?[].concat(sc(r),[0]):r,o=[],c=0;c<s;++c)o=[].concat(sc(o),sc(i));return o}},{key:"renderDotItem",value:function(r,s){var i;if(X.isValidElement(r))i=X.cloneElement(r,s);else if(Dt(r))i=r(s);else{var o=s.key,c=GI(s,Tfe),d=zt("recharts-line-dot",typeof r!="boolean"?r.className:"");i=X.createElement(sg,Id({key:o},c,{className:d}))}return i}}])})(m.PureComponent);ts(il,"displayName","Line");ts(il,"defaultProps",{xAxisId:0,yAxisId:0,connectNulls:!1,activeDot:!0,dot:!0,legendType:"line",stroke:"#3182bd",strokeWidth:1,fill:"#fff",points:[],isAnimationActive:!bl.isSsr,animateNewValues:!0,animationBegin:0,animationDuration:1500,animationEasing:"ease",hide:!1,label:!1});ts(il,"getComposedData",function(e){var t=e.props,n=e.xAxis,r=e.yAxis,s=e.xAxisTicks,i=e.yAxisTicks,o=e.dataKey,c=e.bandSize,d=e.displayedData,f=e.offset,h=t.layout,p=d.map(function(g,x){var j=Xn(g,o);return h==="horizontal"?{x:rM({axis:n,ticks:s,bandSize:c,entry:g,index:x}),y:Lt(j)?null:r.scale(j),value:j,payload:g}:{x:Lt(j)?null:n.scale(j),y:rM({axis:r,ticks:i,bandSize:c,entry:g,index:x}),value:j,payload:g}});return ea({points:p,layout:h},f)});function eu(e){"@babel/helpers - typeof";return eu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},eu(e)}function Wfe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Vfe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,rz(r.key),r)}}function Hfe(e,t,n){return t&&Vfe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Kfe(e,t,n){return t=Ym(t),Gfe(e,tz()?Reflect.construct(t,n||[],Ym(e).constructor):t.apply(e,n))}function Gfe(e,t){if(t&&(eu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Yfe(e)}function Yfe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function tz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(tz=function(){return!!e})()}function Ym(e){return Ym=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Ym(e)}function Xfe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Y1(e,t)}function Y1(e,t){return Y1=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,s){return r.__proto__=s,r},Y1(e,t)}function nz(e,t,n){return t=rz(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function rz(e){var t=Qfe(e,"string");return eu(t)=="symbol"?t:t+""}function Qfe(e,t){if(eu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(eu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function X1(){return X1=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},X1.apply(this,arguments)}function Jfe(e){var t=e.xAxisId,n=qF(),r=UF(),s=zF(t);return s==null?null:m.createElement(gg,X1({},s,{className:zt("recharts-".concat(s.axisType," ").concat(s.axisType),s.className),viewBox:{x:0,y:0,width:n,height:r},ticksGenerator:function(o){return Uo(o,!0)}}))}var ao=(function(e){function t(){return Wfe(this,t),Kfe(this,t,arguments)}return Xfe(t,e),Hfe(t,[{key:"render",value:function(){return m.createElement(Jfe,this.props)}}])})(m.Component);nz(ao,"displayName","XAxis");nz(ao,"defaultProps",{allowDecimals:!0,hide:!1,orientation:"bottom",width:0,height:30,mirror:!1,xAxisId:0,tickCount:5,type:"category",padding:{left:0,right:0},allowDataOverflow:!1,scale:"auto",reversed:!1,allowDuplicatedCategory:!0});function tu(e){"@babel/helpers - typeof";return tu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tu(e)}function Zfe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function epe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,iz(r.key),r)}}function tpe(e,t,n){return t&&epe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function npe(e,t,n){return t=Xm(t),rpe(e,az()?Reflect.construct(t,n||[],Xm(e).constructor):t.apply(e,n))}function rpe(e,t){if(t&&(tu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ape(e)}function ape(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function az(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(az=function(){return!!e})()}function Xm(e){return Xm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Xm(e)}function spe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Q1(e,t)}function Q1(e,t){return Q1=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,s){return r.__proto__=s,r},Q1(e,t)}function sz(e,t,n){return t=iz(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function iz(e){var t=ipe(e,"string");return tu(t)=="symbol"?t:t+""}function ipe(e,t){if(tu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(tu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function J1(){return J1=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},J1.apply(this,arguments)}var ope=function(t){var n=t.yAxisId,r=qF(),s=UF(),i=BF(n);return i==null?null:m.createElement(gg,J1({},i,{className:zt("recharts-".concat(i.axisType," ").concat(i.axisType),i.className),viewBox:{x:0,y:0,width:r,height:s},ticksGenerator:function(c){return Uo(c,!0)}}))},so=(function(e){function t(){return Zfe(this,t),npe(this,t,arguments)}return spe(t,e),tpe(t,[{key:"render",value:function(){return m.createElement(ope,this.props)}}])})(m.Component);sz(so,"displayName","YAxis");sz(so,"defaultProps",{allowDuplicatedCategory:!0,allowDecimals:!0,hide:!1,orientation:"left",width:60,height:0,mirror:!1,yAxisId:0,tickCount:5,type:"number",padding:{top:0,bottom:0},allowDataOverflow:!1,scale:"auto",reversed:!1});function QI(e){return dpe(e)||upe(e)||cpe(e)||lpe()}function lpe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
118
118
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function cpe(e,t){if(e){if(typeof e=="string")return Z1(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Z1(e,t)}}function upe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function dpe(e){if(Array.isArray(e))return Z1(e)}function Z1(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var eN=function(t,n,r,s,i){var o=ua(t,e_),c=ua(t,hg),d=[].concat(QI(o),QI(c)),f=ua(t,vg),h="".concat(s,"Id"),p=s[0],g=n;if(d.length&&(g=d.reduce(function(y,b){if(b.props[h]===r&&As(b.props,"extendDomain")&&rt(b.props[p])){var S=b.props[p];return[Math.min(y[0],S),Math.max(y[1],S)]}return y},g)),f.length){var x="".concat(p,"1"),j="".concat(p,"2");g=f.reduce(function(y,b){if(b.props[h]===r&&As(b.props,"extendDomain")&&rt(b.props[x])&&rt(b.props[j])){var S=b.props[x],N=b.props[j];return[Math.min(y[0],S,N),Math.max(y[1],S,N)]}return y},g)}return i&&i.length&&(g=i.reduce(function(y,b){return rt(b)?[Math.min(y[0],b),Math.max(y[1],b)]:y},g)),g},Uj={exports:{}},JI;function fpe(){return JI||(JI=1,(function(e){var t=Object.prototype.hasOwnProperty,n="~";function r(){}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(n=!1));function s(d,f,h){this.fn=d,this.context=f,this.once=h||!1}function i(d,f,h,p,g){if(typeof h!="function")throw new TypeError("The listener must be a function");var x=new s(h,p||d,g),j=n?n+f:f;return d._events[j]?d._events[j].fn?d._events[j]=[d._events[j],x]:d._events[j].push(x):(d._events[j]=x,d._eventsCount++),d}function o(d,f){--d._eventsCount===0?d._events=new r:delete d._events[f]}function c(){this._events=new r,this._eventsCount=0}c.prototype.eventNames=function(){var f=[],h,p;if(this._eventsCount===0)return f;for(p in h=this._events)t.call(h,p)&&f.push(n?p.slice(1):p);return Object.getOwnPropertySymbols?f.concat(Object.getOwnPropertySymbols(h)):f},c.prototype.listeners=function(f){var h=n?n+f:f,p=this._events[h];if(!p)return[];if(p.fn)return[p.fn];for(var g=0,x=p.length,j=new Array(x);g<x;g++)j[g]=p[g].fn;return j},c.prototype.listenerCount=function(f){var h=n?n+f:f,p=this._events[h];return p?p.fn?1:p.length:0},c.prototype.emit=function(f,h,p,g,x,j){var y=n?n+f:f;if(!this._events[y])return!1;var b=this._events[y],S=arguments.length,N,C;if(b.fn){switch(b.once&&this.removeListener(f,b.fn,void 0,!0),S){case 1:return b.fn.call(b.context),!0;case 2:return b.fn.call(b.context,h),!0;case 3:return b.fn.call(b.context,h,p),!0;case 4:return b.fn.call(b.context,h,p,g),!0;case 5:return b.fn.call(b.context,h,p,g,x),!0;case 6:return b.fn.call(b.context,h,p,g,x,j),!0}for(C=1,N=new Array(S-1);C<S;C++)N[C-1]=arguments[C];b.fn.apply(b.context,N)}else{var k=b.length,A;for(C=0;C<k;C++)switch(b[C].once&&this.removeListener(f,b[C].fn,void 0,!0),S){case 1:b[C].fn.call(b[C].context);break;case 2:b[C].fn.call(b[C].context,h);break;case 3:b[C].fn.call(b[C].context,h,p);break;case 4:b[C].fn.call(b[C].context,h,p,g);break;default:if(!N)for(A=1,N=new Array(S-1);A<S;A++)N[A-1]=arguments[A];b[C].fn.apply(b[C].context,N)}}return!0},c.prototype.on=function(f,h,p){return i(this,f,h,p,!1)},c.prototype.once=function(f,h,p){return i(this,f,h,p,!0)},c.prototype.removeListener=function(f,h,p,g){var x=n?n+f:f;if(!this._events[x])return this;if(!h)return o(this,x),this;var j=this._events[x];if(j.fn)j.fn===h&&(!g||j.once)&&(!p||j.context===p)&&o(this,x);else{for(var y=0,b=[],S=j.length;y<S;y++)(j[y].fn!==h||g&&!j[y].once||p&&j[y].context!==p)&&b.push(j[y]);b.length?this._events[x]=b.length===1?b[0]:b:o(this,x)}return this},c.prototype.removeAllListeners=function(f){var h;return f?(h=n?n+f:f,this._events[h]&&o(this,h)):(this._events=new r,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=n,c.EventEmitter=c,e.exports=c})(Uj)),Uj.exports}var ppe=fpe();const hpe=dn(ppe);var Wj=new hpe,Vj="recharts.syncMouseEvents";function jf(e){"@babel/helpers - typeof";return jf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},jf(e)}function mpe(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function vpe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,oz(r.key),r)}}function gpe(e,t,n){return t&&vpe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Hj(e,t,n){return t=oz(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function oz(e){var t=xpe(e,"string");return jf(t)=="symbol"?t:t+""}function xpe(e,t){if(jf(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(jf(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}var ype=(function(){function e(){mpe(this,e),Hj(this,"activeIndex",0),Hj(this,"coordinateList",[]),Hj(this,"layout","horizontal")}return gpe(e,[{key:"setDetails",value:function(n){var r,s=n.coordinateList,i=s===void 0?null:s,o=n.container,c=o===void 0?null:o,d=n.layout,f=d===void 0?null:d,h=n.offset,p=h===void 0?null:h,g=n.mouseHandlerCallback,x=g===void 0?null:g;this.coordinateList=(r=i??this.coordinateList)!==null&&r!==void 0?r:[],this.container=c??this.container,this.layout=f??this.layout,this.offset=p??this.offset,this.mouseHandlerCallback=x??this.mouseHandlerCallback,this.activeIndex=Math.min(Math.max(this.activeIndex,0),this.coordinateList.length-1)}},{key:"focus",value:function(){this.spoofMouse()}},{key:"keyboardEvent",value:function(n){if(this.coordinateList.length!==0)switch(n.key){case"ArrowRight":{if(this.layout!=="horizontal")return;this.activeIndex=Math.min(this.activeIndex+1,this.coordinateList.length-1),this.spoofMouse();break}case"ArrowLeft":{if(this.layout!=="horizontal")return;this.activeIndex=Math.max(this.activeIndex-1,0),this.spoofMouse();break}}}},{key:"setIndex",value:function(n){this.activeIndex=n}},{key:"spoofMouse",value:function(){var n,r;if(this.layout==="horizontal"&&this.coordinateList.length!==0){var s=this.container.getBoundingClientRect(),i=s.x,o=s.y,c=s.height,d=this.coordinateList[this.activeIndex].coordinate,f=((n=window)===null||n===void 0?void 0:n.scrollX)||0,h=((r=window)===null||r===void 0?void 0:r.scrollY)||0,p=i+d+f,g=o+this.offset.top+c/2+h;this.mouseHandlerCallback({pageX:p,pageY:g})}}}])})();function bpe(e,t,n){if(n==="number"&&t===!0&&Array.isArray(e)){var r=e?.[0],s=e?.[1];if(r&&s&&rt(r)&&rt(s))return!0}return!1}function wpe(e,t,n,r){var s=r/2;return{stroke:"none",fill:"#ccc",x:e==="horizontal"?t.x-s:n.left+.5,y:e==="horizontal"?n.top+.5:t.y-s,width:e==="horizontal"?r:n.width-1,height:e==="horizontal"?n.height-1:r}}function lz(e){var t=e.cx,n=e.cy,r=e.radius,s=e.startAngle,i=e.endAngle,o=yn(t,n,r,s),c=yn(t,n,r,i);return{points:[o,c],cx:t,cy:n,radius:r,startAngle:s,endAngle:i}}function jpe(e,t,n){var r,s,i,o;if(e==="horizontal")r=t.x,i=r,s=n.top,o=n.top+n.height;else if(e==="vertical")s=t.y,o=s,r=n.left,i=n.left+n.width;else if(t.cx!=null&&t.cy!=null)if(e==="centric"){var c=t.cx,d=t.cy,f=t.innerRadius,h=t.outerRadius,p=t.angle,g=yn(c,d,f,p),x=yn(c,d,h,p);r=g.x,s=g.y,i=x.x,o=x.y}else return lz(t);return[{x:r,y:s},{x:i,y:o}]}function Sf(e){"@babel/helpers - typeof";return Sf=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Sf(e)}function ZI(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function Ah(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?ZI(Object(n),!0).forEach(function(r){Spe(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ZI(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Spe(e,t,n){return t=Npe(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Npe(e){var t=Cpe(e,"string");return Sf(t)=="symbol"?t:t+""}function Cpe(e,t){if(Sf(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(Sf(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function _pe(e){var t,n,r=e.element,s=e.tooltipEventType,i=e.isActive,o=e.activeCoordinate,c=e.activePayload,d=e.offset,f=e.activeTooltipIndex,h=e.tooltipAxisBandSize,p=e.layout,g=e.chartName,x=(t=r.props.cursor)!==null&&t!==void 0?t:(n=r.type.defaultProps)===null||n===void 0?void 0:n.cursor;if(!r||!x||!i||!o||g!=="ScatterChart"&&s!=="axis")return null;var j,y=Am;if(g==="ScatterChart")j=o,y=cce;else if(g==="BarChart")j=wpe(p,o,d,h),y=QC;else if(p==="radial"){var b=lz(o),S=b.cx,N=b.cy,C=b.radius,k=b.startAngle,A=b.endAngle;j={cx:S,cy:N,startAngle:k,endAngle:A,innerRadius:C,outerRadius:C},y=lF}else j={points:jpe(p,o,d)},y=Am;var P=Ah(Ah(Ah(Ah({stroke:"#ccc",pointerEvents:"none"},d),j),kt(x,!1)),{},{payload:c,payloadIndex:f,className:zt("recharts-tooltip-cursor",x.className)});return m.isValidElement(x)?m.cloneElement(x,P):m.createElement(y,P)}var Ape=["item"],kpe=["children","className","width","height","style","compact","title","desc"];function nu(e){"@babel/helpers - typeof";return nu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},nu(e)}function xc(){return xc=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},xc.apply(this,arguments)}function e$(e,t){return Tpe(e)||Epe(e,t)||uz(e,t)||Ppe()}function Ppe(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
119
119
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Epe(e,t){var n=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(n!=null){var r,s,i,o,c=[],d=!0,f=!1;try{if(i=(n=n.call(e)).next,t!==0)for(;!(d=(r=i.call(n)).done)&&(c.push(r.value),c.length!==t);d=!0);}catch(h){f=!0,s=h}finally{try{if(!d&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(f)throw s}}return c}}function Tpe(e){if(Array.isArray(e))return e}function t$(e,t){if(e==null)return{};var n=Rpe(e,t),r,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(s=0;s<i.length;s++)r=i[s],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}function Rpe(e,t){if(e==null)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}function Ope(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Mpe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,dz(r.key),r)}}function Ipe(e,t,n){return t&&Mpe(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function $pe(e,t,n){return t=Qm(t),Dpe(e,cz()?Reflect.construct(t,n||[],Qm(e).constructor):t.apply(e,n))}function Dpe(e,t){if(t&&(nu(t)==="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Lpe(e)}function Lpe(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function cz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(cz=function(){return!!e})()}function Qm(e){return Qm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(n){return n.__proto__||Object.getPrototypeOf(n)},Qm(e)}function Fpe(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&tN(e,t)}function tN(e,t){return tN=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,s){return r.__proto__=s,r},tN(e,t)}function ru(e){return qpe(e)||Bpe(e)||uz(e)||zpe()}function zpe(){throw new TypeError(`Invalid attempt to spread non-iterable instance.
120
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uz(e,t){if(e){if(typeof e=="string")return nN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nN(e,t)}}function Bpe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function qpe(e){if(Array.isArray(e))return nN(e)}function nN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function n$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function _e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?n$(Object(n),!0).forEach(function(r){Et(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):n$(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Et(e,t,n){return t=dz(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dz(e){var t=Upe(e,"string");return nu(t)=="symbol"?t:t+""}function Upe(e,t){if(nu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(nu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Wpe={xAxis:["bottom","top"],yAxis:["left","right"]},Vpe={width:"100%",height:"100%"},fz={x:0,y:0};function kh(e){return e}var Hpe=function(t,n){return n==="horizontal"?t.x:n==="vertical"?t.y:n==="centric"?t.angle:t.radius},Kpe=function(t,n,r,s){var i=n.find(function(h){return h&&h.index===r});if(i){if(t==="horizontal")return{x:i.coordinate,y:s.y};if(t==="vertical")return{x:s.x,y:i.coordinate};if(t==="centric"){var o=i.coordinate,c=s.radius;return _e(_e(_e({},s),yn(s.cx,s.cy,c,o)),{},{angle:o,radius:c})}var d=i.coordinate,f=s.angle;return _e(_e(_e({},s),yn(s.cx,s.cy,d,f)),{},{angle:f,radius:d})}return fz},xg=function(t,n){var r=n.graphicalItems,s=n.dataStartIndex,i=n.dataEndIndex,o=(r??[]).reduce(function(c,d){var f=d.props.data;return f&&f.length?[].concat(ru(c),ru(f)):c},[]);return o.length>0?o:t&&t.length&&rt(s)&&rt(i)?t.slice(s,i+1):[]};function pz(e){return e==="number"?[0,"auto"]:void 0}var rN=function(t,n,r,s){var i=t.graphicalItems,o=t.tooltipAxis,c=xg(n,t);return r<0||!i||!i.length||r>=c.length?null:i.reduce(function(d,f){var h,p=(h=f.props.data)!==null&&h!==void 0?h:n;p&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(p=p.slice(t.dataStartIndex,t.dataEndIndex+1));var g;if(o.dataKey&&!o.allowDuplicatedCategory){var x=p===void 0?c:p;g=Qh(x,o.dataKey,s)}else g=p&&p[r]||c[r];return g?[].concat(ru(d),[nF(f,g)]):d},[])},r$=function(t,n,r,s){var i=s||{x:t.chartX,y:t.chartY},o=Hpe(i,r),c=t.orderedTooltipTicks,d=t.tooltipAxis,f=t.tooltipTicks,h=Ese(o,c,f,d);if(h>=0&&f){var p=f[h]&&f[h].value,g=rN(t,n,h,p),x=Kpe(r,c,h,i);return{activeTooltipIndex:h,activeLabel:p,activePayload:g,activeCoordinate:x}}return null},Gpe=function(t,n){var r=n.axes,s=n.graphicalItems,i=n.axisType,o=n.axisIdKey,c=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,h=t.layout,p=t.children,g=t.stackOffset,x=Q4(h,i);return r.reduce(function(j,y){var b,S=y.type.defaultProps!==void 0?_e(_e({},y.type.defaultProps),y.props):y.props,N=S.type,C=S.dataKey,k=S.allowDataOverflow,A=S.allowDuplicatedCategory,P=S.scale,T=S.ticks,R=S.includeHidden,M=S[o];if(j[M])return j;var D=xg(t.data,{graphicalItems:s.filter(function(z){var G,ae=o in z.props?z.props[o]:(G=z.type.defaultProps)===null||G===void 0?void 0:G[o];return ae===M}),dataStartIndex:d,dataEndIndex:f}),W=D.length,B,Y,V;bpe(S.domain,k,N)&&(B=g1(S.domain,null,k),x&&(N==="number"||P!=="auto")&&(V=Td(D,C,"category")));var L=pz(N);if(!B||B.length===0){var I,Q=(I=S.domain)!==null&&I!==void 0?I:L;if(C){if(B=Td(D,C,N),N==="category"&&x){var H=SQ(B);A&&H?(Y=B,B=Lm(0,W)):A||(B=oM(Q,B,y).reduce(function(z,G){return z.indexOf(G)>=0?z:[].concat(ru(z),[G])},[]))}else if(N==="category")A?B=B.filter(function(z){return z!==""&&!Lt(z)}):B=oM(Q,B,y).reduce(function(z,G){return z.indexOf(G)>=0||G===""||Lt(G)?z:[].concat(ru(z),[G])},[]);else if(N==="number"){var O=Ise(D,s.filter(function(z){var G,ae,ee=o in z.props?z.props[o]:(G=z.type.defaultProps)===null||G===void 0?void 0:G[o],ce="hide"in z.props?z.props.hide:(ae=z.type.defaultProps)===null||ae===void 0?void 0:ae.hide;return ee===M&&(R||!ce)}),C,i,h);O&&(B=O)}x&&(N==="number"||P!=="auto")&&(V=Td(D,C,"category"))}else x?B=Lm(0,W):c&&c[M]&&c[M].hasStack&&N==="number"?B=g==="expand"?[0,1]:tF(c[M].stackGroups,d,f):B=X4(D,s.filter(function(z){var G=o in z.props?z.props[o]:z.type.defaultProps[o],ae="hide"in z.props?z.props.hide:z.type.defaultProps.hide;return G===M&&(R||!ae)}),N,h,!0);if(N==="number")B=eN(p,B,M,i,T),Q&&(B=g1(Q,B,k));else if(N==="category"&&Q){var Z=Q,U=B.every(function(z){return Z.indexOf(z)>=0});U&&(B=Z)}}return _e(_e({},j),{},Et({},M,_e(_e({},S),{},{axisType:i,domain:B,categoricalDomain:V,duplicateDomain:Y,originalDomain:(b=S.domain)!==null&&b!==void 0?b:L,isCategorical:x,layout:h})))},{})},Ype=function(t,n){var r=n.graphicalItems,s=n.Axis,i=n.axisType,o=n.axisIdKey,c=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,h=t.layout,p=t.children,g=xg(t.data,{graphicalItems:r,dataStartIndex:d,dataEndIndex:f}),x=g.length,j=Q4(h,i),y=-1;return r.reduce(function(b,S){var N=S.type.defaultProps!==void 0?_e(_e({},S.type.defaultProps),S.props):S.props,C=N[o],k=pz("number");if(!b[C]){y++;var A;return j?A=Lm(0,x):c&&c[C]&&c[C].hasStack?(A=tF(c[C].stackGroups,d,f),A=eN(p,A,C,i)):(A=g1(k,X4(g,r.filter(function(P){var T,R,M=o in P.props?P.props[o]:(T=P.type.defaultProps)===null||T===void 0?void 0:T[o],D="hide"in P.props?P.props.hide:(R=P.type.defaultProps)===null||R===void 0?void 0:R.hide;return M===C&&!D}),"number",h),s.defaultProps.allowDataOverflow),A=eN(p,A,C,i)),_e(_e({},b),{},Et({},C,_e(_e({axisType:i},s.defaultProps),{},{hide:!0,orientation:ca(Wpe,"".concat(i,".").concat(y%2),null),domain:A,originalDomain:k,isCategorical:j,layout:h})))}return b},{})},Xpe=function(t,n){var r=n.axisType,s=r===void 0?"xAxis":r,i=n.AxisComp,o=n.graphicalItems,c=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,h=t.children,p="".concat(s,"Id"),g=ua(h,i),x={};return g&&g.length?x=Gpe(t,{axes:g,graphicalItems:o,axisType:s,axisIdKey:p,stackGroups:c,dataStartIndex:d,dataEndIndex:f}):o&&o.length&&(x=Ype(t,{Axis:i,graphicalItems:o,axisType:s,axisIdKey:p,stackGroups:c,dataStartIndex:d,dataEndIndex:f})),x},Qpe=function(t){var n=uc(t),r=Uo(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:NC(r,function(s){return s.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Nm(n,r)}},a$=function(t){var n=t.children,r=t.defaultShowTooltip,s=na(n,Kc),i=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),s&&s.props&&(s.props.startIndex>=0&&(i=s.props.startIndex),s.props.endIndex>=0&&(o=s.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!r}},Jpe=function(t){return!t||!t.length?!1:t.some(function(n){var r=ei(n&&n.type);return r&&r.indexOf("Bar")>=0})},s$=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},Zpe=function(t,n){var r=t.props,s=t.graphicalItems,i=t.xAxisMap,o=i===void 0?{}:i,c=t.yAxisMap,d=c===void 0?{}:c,f=r.width,h=r.height,p=r.children,g=r.margin||{},x=na(p,Kc),j=na(p,Ko),y=Object.keys(d).reduce(function(A,P){var T=d[P],R=T.orientation;return!T.mirror&&!T.hide?_e(_e({},A),{},Et({},R,A[R]+T.width)):A},{left:g.left||0,right:g.right||0}),b=Object.keys(o).reduce(function(A,P){var T=o[P],R=T.orientation;return!T.mirror&&!T.hide?_e(_e({},A),{},Et({},R,ca(A,"".concat(R))+T.height)):A},{top:g.top||0,bottom:g.bottom||0}),S=_e(_e({},b),y),N=S.bottom;x&&(S.bottom+=x.props.height||Kc.defaultProps.height),j&&n&&(S=Ose(S,s,r,n));var C=f-S.left-S.right,k=h-S.top-S.bottom;return _e(_e({brushBottom:N},S),{},{width:Math.max(C,0),height:Math.max(k,0)})},ehe=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},n_=function(t){var n=t.chartName,r=t.GraphicalChild,s=t.defaultTooltipEventType,i=s===void 0?"axis":s,o=t.validateTooltipEventTypes,c=o===void 0?["axis"]:o,d=t.axisComponents,f=t.legendContent,h=t.formatAxisMap,p=t.defaultProps,g=function(S,N){var C=N.graphicalItems,k=N.stackGroups,A=N.offset,P=N.updateId,T=N.dataStartIndex,R=N.dataEndIndex,M=S.barSize,D=S.layout,W=S.barGap,B=S.barCategoryGap,Y=S.maxBarSize,V=s$(D),L=V.numericAxisName,I=V.cateAxisName,Q=Jpe(C),H=[];return C.forEach(function(O,Z){var U=xg(S.data,{graphicalItems:[O],dataStartIndex:T,dataEndIndex:R}),z=O.type.defaultProps!==void 0?_e(_e({},O.type.defaultProps),O.props):O.props,G=z.dataKey,ae=z.maxBarSize,ee=z["".concat(L,"Id")],ce=z["".concat(I,"Id")],oe={},ve=d.reduce(function(Be,At){var qt=N["".concat(At.axisType,"Map")],Tt=z["".concat(At.axisType,"Id")];qt&&qt[Tt]||At.axisType==="zAxis"||sl();var Jt=qt[Tt];return _e(_e({},Be),{},Et(Et({},At.axisType,Jt),"".concat(At.axisType,"Ticks"),Uo(Jt)))},oe),se=ve[I],pe=ve["".concat(I,"Ticks")],Te=k&&k[ee]&&k[ee].hasStack&&Wse(O,k[ee].stackGroups),J=ei(O.type).indexOf("Bar")>=0,Ne=Nm(se,pe),je=[],ct=Q&&Tse({barSize:M,stackGroups:k,totalSize:ehe(ve,I)});if(J){var at,vt,Ce=Lt(ae)?Y:ae,Se=(at=(vt=Nm(se,pe,!0))!==null&&vt!==void 0?vt:Ce)!==null&&at!==void 0?at:0;je=Rse({barGap:W,barCategoryGap:B,bandSize:Se!==Ne?Se:Ne,sizeList:ct[ce],maxBarSize:Ce}),Se!==Ne&&(je=je.map(function(Be){return _e(_e({},Be),{},{position:_e(_e({},Be.position),{},{offset:Be.position.offset-Se/2})})}))}var Ke=O&&O.type&&O.type.getComposedData;Ke&&H.push({props:_e(_e({},Ke(_e(_e({},ve),{},{displayedData:U,props:S,dataKey:G,item:O,bandSize:Ne,barPosition:je,offset:A,stackedData:Te,layout:D,dataStartIndex:T,dataEndIndex:R}))),{},Et(Et(Et({key:O.key||"item-".concat(Z)},L,ve[L]),I,ve[I]),"animationId",P)),childIndex:$Q(O,S.children),item:O})}),H},x=function(S,N){var C=S.props,k=S.dataStartIndex,A=S.dataEndIndex,P=S.updateId;if(!wT({props:C}))return null;var T=C.children,R=C.layout,M=C.stackOffset,D=C.data,W=C.reverseStackOrder,B=s$(R),Y=B.numericAxisName,V=B.cateAxisName,L=ua(T,r),I=qse(D,L,"".concat(Y,"Id"),"".concat(V,"Id"),M,W),Q=d.reduce(function(z,G){var ae="".concat(G.axisType,"Map");return _e(_e({},z),{},Et({},ae,Xpe(C,_e(_e({},G),{},{graphicalItems:L,stackGroups:G.axisType===Y&&I,dataStartIndex:k,dataEndIndex:A}))))},{}),H=Zpe(_e(_e({},Q),{},{props:C,graphicalItems:L}),N?.legendBBox);Object.keys(Q).forEach(function(z){Q[z]=h(C,Q[z],H,z.replace("Map",""),n)});var O=Q["".concat(V,"Map")],Z=Qpe(O),U=g(C,_e(_e({},Q),{},{dataStartIndex:k,dataEndIndex:A,updateId:P,graphicalItems:L,stackGroups:I,offset:H}));return _e(_e({formattedGraphicalItems:U,graphicalItems:L,offset:H,stackGroups:I},Z),Q)},j=(function(b){function S(N){var C,k,A;return Ope(this,S),A=$pe(this,S,[N]),Et(A,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Et(A,"accessibilityManager",new ype),Et(A,"handleLegendBBoxUpdate",function(P){if(P){var T=A.state,R=T.dataStartIndex,M=T.dataEndIndex,D=T.updateId;A.setState(_e({legendBBox:P},x({props:A.props,dataStartIndex:R,dataEndIndex:M,updateId:D},_e(_e({},A.state),{},{legendBBox:P}))))}}),Et(A,"handleReceiveSyncEvent",function(P,T,R){if(A.props.syncId===P){if(R===A.eventEmitterSymbol&&typeof A.props.syncMethod!="function")return;A.applySyncEvent(T)}}),Et(A,"handleBrushChange",function(P){var T=P.startIndex,R=P.endIndex;if(T!==A.state.dataStartIndex||R!==A.state.dataEndIndex){var M=A.state.updateId;A.setState(function(){return _e({dataStartIndex:T,dataEndIndex:R},x({props:A.props,dataStartIndex:T,dataEndIndex:R,updateId:M},A.state))}),A.triggerSyncEvent({dataStartIndex:T,dataEndIndex:R})}}),Et(A,"handleMouseEnter",function(P){var T=A.getMouseInfo(P);if(T){var R=_e(_e({},T),{},{isTooltipActive:!0});A.setState(R),A.triggerSyncEvent(R);var M=A.props.onMouseEnter;Dt(M)&&M(R,P)}}),Et(A,"triggeredAfterMouseMove",function(P){var T=A.getMouseInfo(P),R=T?_e(_e({},T),{},{isTooltipActive:!0}):{isTooltipActive:!1};A.setState(R),A.triggerSyncEvent(R);var M=A.props.onMouseMove;Dt(M)&&M(R,P)}),Et(A,"handleItemMouseEnter",function(P){A.setState(function(){return{isTooltipActive:!0,activeItem:P,activePayload:P.tooltipPayload,activeCoordinate:P.tooltipPosition||{x:P.cx,y:P.cy}}})}),Et(A,"handleItemMouseLeave",function(){A.setState(function(){return{isTooltipActive:!1}})}),Et(A,"handleMouseMove",function(P){P.persist(),A.throttleTriggeredAfterMouseMove(P)}),Et(A,"handleMouseLeave",function(P){A.throttleTriggeredAfterMouseMove.cancel();var T={isTooltipActive:!1};A.setState(T),A.triggerSyncEvent(T);var R=A.props.onMouseLeave;Dt(R)&&R(T,P)}),Et(A,"handleOuterEvent",function(P){var T=IQ(P),R=ca(A.props,"".concat(T));if(T&&Dt(R)){var M,D;/.*touch.*/i.test(T)?D=A.getMouseInfo(P.changedTouches[0]):D=A.getMouseInfo(P),R((M=D)!==null&&M!==void 0?M:{},P)}}),Et(A,"handleClick",function(P){var T=A.getMouseInfo(P);if(T){var R=_e(_e({},T),{},{isTooltipActive:!0});A.setState(R),A.triggerSyncEvent(R);var M=A.props.onClick;Dt(M)&&M(R,P)}}),Et(A,"handleMouseDown",function(P){var T=A.props.onMouseDown;if(Dt(T)){var R=A.getMouseInfo(P);T(R,P)}}),Et(A,"handleMouseUp",function(P){var T=A.props.onMouseUp;if(Dt(T)){var R=A.getMouseInfo(P);T(R,P)}}),Et(A,"handleTouchMove",function(P){P.changedTouches!=null&&P.changedTouches.length>0&&A.throttleTriggeredAfterMouseMove(P.changedTouches[0])}),Et(A,"handleTouchStart",function(P){P.changedTouches!=null&&P.changedTouches.length>0&&A.handleMouseDown(P.changedTouches[0])}),Et(A,"handleTouchEnd",function(P){P.changedTouches!=null&&P.changedTouches.length>0&&A.handleMouseUp(P.changedTouches[0])}),Et(A,"handleDoubleClick",function(P){var T=A.props.onDoubleClick;if(Dt(T)){var R=A.getMouseInfo(P);T(R,P)}}),Et(A,"handleContextMenu",function(P){var T=A.props.onContextMenu;if(Dt(T)){var R=A.getMouseInfo(P);T(R,P)}}),Et(A,"triggerSyncEvent",function(P){A.props.syncId!==void 0&&Wj.emit(Vj,A.props.syncId,P,A.eventEmitterSymbol)}),Et(A,"applySyncEvent",function(P){var T=A.props,R=T.layout,M=T.syncMethod,D=A.state.updateId,W=P.dataStartIndex,B=P.dataEndIndex;if(P.dataStartIndex!==void 0||P.dataEndIndex!==void 0)A.setState(_e({dataStartIndex:W,dataEndIndex:B},x({props:A.props,dataStartIndex:W,dataEndIndex:B,updateId:D},A.state)));else if(P.activeTooltipIndex!==void 0){var Y=P.chartX,V=P.chartY,L=P.activeTooltipIndex,I=A.state,Q=I.offset,H=I.tooltipTicks;if(!Q)return;if(typeof M=="function")L=M(H,P);else if(M==="value"){L=-1;for(var O=0;O<H.length;O++)if(H[O].value===P.activeLabel){L=O;break}}var Z=_e(_e({},Q),{},{x:Q.left,y:Q.top}),U=Math.min(Y,Z.x+Z.width),z=Math.min(V,Z.y+Z.height),G=H[L]&&H[L].value,ae=rN(A.state,A.props.data,L),ee=H[L]?{x:R==="horizontal"?H[L].coordinate:U,y:R==="horizontal"?z:H[L].coordinate}:fz;A.setState(_e(_e({},P),{},{activeLabel:G,activeCoordinate:ee,activePayload:ae,activeTooltipIndex:L}))}else A.setState(P)}),Et(A,"renderCursor",function(P){var T,R=A.state,M=R.isTooltipActive,D=R.activeCoordinate,W=R.activePayload,B=R.offset,Y=R.activeTooltipIndex,V=R.tooltipAxisBandSize,L=A.getTooltipEventType(),I=(T=P.props.active)!==null&&T!==void 0?T:M,Q=A.props.layout,H=P.key||"_recharts-cursor";return X.createElement(_pe,{key:H,activeCoordinate:D,activePayload:W,activeTooltipIndex:Y,chartName:n,element:P,isActive:I,layout:Q,offset:B,tooltipAxisBandSize:V,tooltipEventType:L})}),Et(A,"renderPolarAxis",function(P,T,R){var M=ca(P,"type.axisType"),D=ca(A.state,"".concat(M,"Map")),W=P.type.defaultProps,B=W!==void 0?_e(_e({},W),P.props):P.props,Y=D&&D[B["".concat(M,"Id")]];return m.cloneElement(P,_e(_e({},Y),{},{className:zt(M,Y.className),key:P.key||"".concat(T,"-").concat(R),ticks:Uo(Y,!0)}))}),Et(A,"renderPolarGrid",function(P){var T=P.props,R=T.radialLines,M=T.polarAngles,D=T.polarRadius,W=A.state,B=W.radiusAxisMap,Y=W.angleAxisMap,V=uc(B),L=uc(Y),I=L.cx,Q=L.cy,H=L.innerRadius,O=L.outerRadius;return m.cloneElement(P,{polarAngles:Array.isArray(M)?M:Uo(L,!0).map(function(Z){return Z.coordinate}),polarRadius:Array.isArray(D)?D:Uo(V,!0).map(function(Z){return Z.coordinate}),cx:I,cy:Q,innerRadius:H,outerRadius:O,key:P.key||"polar-grid",radialLines:R})}),Et(A,"renderLegend",function(){var P=A.state.formattedGraphicalItems,T=A.props,R=T.children,M=T.width,D=T.height,W=A.props.margin||{},B=M-(W.left||0)-(W.right||0),Y=G4({children:R,formattedGraphicalItems:P,legendWidth:B,legendContent:f});if(!Y)return null;var V=Y.item,L=t$(Y,Ape);return m.cloneElement(V,_e(_e({},L),{},{chartWidth:M,chartHeight:D,margin:W,onBBoxUpdate:A.handleLegendBBoxUpdate}))}),Et(A,"renderTooltip",function(){var P,T=A.props,R=T.children,M=T.accessibilityLayer,D=na(R,Fr);if(!D)return null;var W=A.state,B=W.isTooltipActive,Y=W.activeCoordinate,V=W.activePayload,L=W.activeLabel,I=W.offset,Q=(P=D.props.active)!==null&&P!==void 0?P:B;return m.cloneElement(D,{viewBox:_e(_e({},I),{},{x:I.left,y:I.top}),active:Q,label:L,payload:Q?V:[],coordinate:Y,accessibilityLayer:M})}),Et(A,"renderBrush",function(P){var T=A.props,R=T.margin,M=T.data,D=A.state,W=D.offset,B=D.dataStartIndex,Y=D.dataEndIndex,V=D.updateId;return m.cloneElement(P,{key:P.key||"_recharts-brush",onChange:Sh(A.handleBrushChange,P.props.onChange),data:M,x:rt(P.props.x)?P.props.x:W.left,y:rt(P.props.y)?P.props.y:W.top+W.height+W.brushBottom-(R.bottom||0),width:rt(P.props.width)?P.props.width:W.width,startIndex:B,endIndex:Y,updateId:"brush-".concat(V)})}),Et(A,"renderReferenceElement",function(P,T,R){if(!P)return null;var M=A,D=M.clipPathId,W=A.state,B=W.xAxisMap,Y=W.yAxisMap,V=W.offset,L=P.type.defaultProps||{},I=P.props,Q=I.xAxisId,H=Q===void 0?L.xAxisId:Q,O=I.yAxisId,Z=O===void 0?L.yAxisId:O;return m.cloneElement(P,{key:P.key||"".concat(T,"-").concat(R),xAxis:B[H],yAxis:Y[Z],viewBox:{x:V.left,y:V.top,width:V.width,height:V.height},clipPathId:D})}),Et(A,"renderActivePoints",function(P){var T=P.item,R=P.activePoint,M=P.basePoint,D=P.childIndex,W=P.isRange,B=[],Y=T.props.key,V=T.item.type.defaultProps!==void 0?_e(_e({},T.item.type.defaultProps),T.item.props):T.item.props,L=V.activeDot,I=V.dataKey,Q=_e(_e({index:D,dataKey:I,cx:R.x,cy:R.y,r:4,fill:XC(T.item),strokeWidth:2,stroke:"#fff",payload:R.payload,value:R.value},kt(L,!1)),Jh(L));return B.push(S.renderActiveDot(L,Q,"".concat(Y,"-activePoint-").concat(D))),M?B.push(S.renderActiveDot(L,_e(_e({},Q),{},{cx:M.x,cy:M.y}),"".concat(Y,"-basePoint-").concat(D))):W&&B.push(null),B}),Et(A,"renderGraphicChild",function(P,T,R){var M=A.filterFormatItem(P,T,R);if(!M)return null;var D=A.getTooltipEventType(),W=A.state,B=W.isTooltipActive,Y=W.tooltipAxis,V=W.activeTooltipIndex,L=W.activeLabel,I=A.props.children,Q=na(I,Fr),H=M.props,O=H.points,Z=H.isRange,U=H.baseLine,z=M.item.type.defaultProps!==void 0?_e(_e({},M.item.type.defaultProps),M.item.props):M.item.props,G=z.activeDot,ae=z.hide,ee=z.activeBar,ce=z.activeShape,oe=!!(!ae&&B&&Q&&(G||ee||ce)),ve={};D!=="axis"&&Q&&Q.props.trigger==="click"?ve={onClick:Sh(A.handleItemMouseEnter,P.props.onClick)}:D!=="axis"&&(ve={onMouseLeave:Sh(A.handleItemMouseLeave,P.props.onMouseLeave),onMouseEnter:Sh(A.handleItemMouseEnter,P.props.onMouseEnter)});var se=m.cloneElement(P,_e(_e({},M.props),ve));function pe(At){return typeof Y.dataKey=="function"?Y.dataKey(At.payload):null}if(oe)if(V>=0){var Te,J;if(Y.dataKey&&!Y.allowDuplicatedCategory){var Ne=typeof Y.dataKey=="function"?pe:"payload.".concat(Y.dataKey.toString());Te=Qh(O,Ne,L),J=Z&&U&&Qh(U,Ne,L)}else Te=O?.[V],J=Z&&U&&U[V];if(ce||ee){var je=P.props.activeIndex!==void 0?P.props.activeIndex:V;return[m.cloneElement(P,_e(_e(_e({},M.props),ve),{},{activeIndex:je})),null,null]}if(!Lt(Te))return[se].concat(ru(A.renderActivePoints({item:M,activePoint:Te,basePoint:J,childIndex:V,isRange:Z})))}else{var ct,at=(ct=A.getItemByXY(A.state.activeCoordinate))!==null&&ct!==void 0?ct:{graphicalItem:se},vt=at.graphicalItem,Ce=vt.item,Se=Ce===void 0?P:Ce,Ke=vt.childIndex,Be=_e(_e(_e({},M.props),ve),{},{activeIndex:Ke});return[m.cloneElement(Se,Be),null,null]}return Z?[se,null,null]:[se,null]}),Et(A,"renderCustomized",function(P,T,R){return m.cloneElement(P,_e(_e({key:"recharts-customized-".concat(R)},A.props),A.state))}),Et(A,"renderMap",{CartesianGrid:{handler:kh,once:!0},ReferenceArea:{handler:A.renderReferenceElement},ReferenceLine:{handler:kh},ReferenceDot:{handler:A.renderReferenceElement},XAxis:{handler:kh},YAxis:{handler:kh},Brush:{handler:A.renderBrush,once:!0},Bar:{handler:A.renderGraphicChild},Line:{handler:A.renderGraphicChild},Area:{handler:A.renderGraphicChild},Radar:{handler:A.renderGraphicChild},RadialBar:{handler:A.renderGraphicChild},Scatter:{handler:A.renderGraphicChild},Pie:{handler:A.renderGraphicChild},Funnel:{handler:A.renderGraphicChild},Tooltip:{handler:A.renderCursor,once:!0},PolarGrid:{handler:A.renderPolarGrid,once:!0},PolarAngleAxis:{handler:A.renderPolarAxis},PolarRadiusAxis:{handler:A.renderPolarAxis},Customized:{handler:A.renderCustomized}}),A.clipPathId="".concat((C=N.id)!==null&&C!==void 0?C:vu("recharts"),"-clip"),A.throttleTriggeredAfterMouseMove=GL(A.triggeredAfterMouseMove,(k=N.throttleDelay)!==null&&k!==void 0?k:1e3/60),A.state={},A}return Fpe(S,b),Ipe(S,[{key:"componentDidMount",value:function(){var C,k;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(k=this.props.margin.top)!==null&&k!==void 0?k:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var C=this.props,k=C.children,A=C.data,P=C.height,T=C.layout,R=na(k,Fr);if(R){var M=R.props.defaultIndex;if(!(typeof M!="number"||M<0||M>this.state.tooltipTicks.length-1)){var D=this.state.tooltipTicks[M]&&this.state.tooltipTicks[M].value,W=rN(this.state,A,M,D),B=this.state.tooltipTicks[M].coordinate,Y=(this.state.offset.top+P)/2,V=T==="horizontal",L=V?{x:B,y:Y}:{y:B,x:Y},I=this.state.formattedGraphicalItems.find(function(H){var O=H.item;return O.type.name==="Scatter"});I&&(L=_e(_e({},L),I.props.points[M].tooltipPosition),W=I.props.points[M].tooltipPayload);var Q={activeTooltipIndex:M,isTooltipActive:!0,activeLabel:D,activePayload:W,activeCoordinate:L};this.setState(Q),this.renderCursor(R),this.accessibilityManager.setIndex(M)}}}},{key:"getSnapshotBeforeUpdate",value:function(C,k){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==k.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==C.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==C.margin){var A,P;this.accessibilityManager.setDetails({offset:{left:(A=this.props.margin.left)!==null&&A!==void 0?A:0,top:(P=this.props.margin.top)!==null&&P!==void 0?P:0}})}return null}},{key:"componentDidUpdate",value:function(C){FS([na(C.children,Fr)],[na(this.props.children,Fr)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var C=na(this.props.children,Fr);if(C&&typeof C.props.shared=="boolean"){var k=C.props.shared?"axis":"item";return c.indexOf(k)>=0?k:i}return i}},{key:"getMouseInfo",value:function(C){if(!this.container)return null;var k=this.container,A=k.getBoundingClientRect(),P=jte(A),T={chartX:Math.round(C.pageX-P.left),chartY:Math.round(C.pageY-P.top)},R=A.width/k.offsetWidth||1,M=this.inRange(T.chartX,T.chartY,R);if(!M)return null;var D=this.state,W=D.xAxisMap,B=D.yAxisMap,Y=this.getTooltipEventType(),V=r$(this.state,this.props.data,this.props.layout,M);if(Y!=="axis"&&W&&B){var L=uc(W).scale,I=uc(B).scale,Q=L&&L.invert?L.invert(T.chartX):null,H=I&&I.invert?I.invert(T.chartY):null;return _e(_e({},T),{},{xValue:Q,yValue:H},V)}return V?_e(_e({},T),V):null}},{key:"inRange",value:function(C,k){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,P=this.props.layout,T=C/A,R=k/A;if(P==="horizontal"||P==="vertical"){var M=this.state.offset,D=T>=M.left&&T<=M.left+M.width&&R>=M.top&&R<=M.top+M.height;return D?{x:T,y:R}:null}var W=this.state,B=W.angleAxisMap,Y=W.radiusAxisMap;if(B&&Y){var V=uc(B);return uM({x:T,y:R},V)}return null}},{key:"parseEventsOfWrapper",value:function(){var C=this.props.children,k=this.getTooltipEventType(),A=na(C,Fr),P={};A&&k==="axis"&&(A.props.trigger==="click"?P={onClick:this.handleClick}:P={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var T=Jh(this.props,this.handleOuterEvent);return _e(_e({},T),P)}},{key:"addListener",value:function(){Wj.on(Vj,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Wj.removeListener(Vj,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(C,k,A){for(var P=this.state.formattedGraphicalItems,T=0,R=P.length;T<R;T++){var M=P[T];if(M.item===C||M.props.key===C.key||k===ei(M.item.type)&&A===M.childIndex)return M}return null}},{key:"renderClipPath",value:function(){var C=this.clipPathId,k=this.state.offset,A=k.left,P=k.top,T=k.height,R=k.width;return X.createElement("defs",null,X.createElement("clipPath",{id:C},X.createElement("rect",{x:A,y:P,height:T,width:R})))}},{key:"getXScales",value:function(){var C=this.state.xAxisMap;return C?Object.entries(C).reduce(function(k,A){var P=e$(A,2),T=P[0],R=P[1];return _e(_e({},k),{},Et({},T,R.scale))},{}):null}},{key:"getYScales",value:function(){var C=this.state.yAxisMap;return C?Object.entries(C).reduce(function(k,A){var P=e$(A,2),T=P[0],R=P[1];return _e(_e({},k),{},Et({},T,R.scale))},{}):null}},{key:"getXScaleByAxisId",value:function(C){var k;return(k=this.state.xAxisMap)===null||k===void 0||(k=k[C])===null||k===void 0?void 0:k.scale}},{key:"getYScaleByAxisId",value:function(C){var k;return(k=this.state.yAxisMap)===null||k===void 0||(k=k[C])===null||k===void 0?void 0:k.scale}},{key:"getItemByXY",value:function(C){var k=this.state,A=k.formattedGraphicalItems,P=k.activeItem;if(A&&A.length)for(var T=0,R=A.length;T<R;T++){var M=A[T],D=M.props,W=M.item,B=W.type.defaultProps!==void 0?_e(_e({},W.type.defaultProps),W.props):W.props,Y=ei(W.type);if(Y==="Bar"){var V=(D.data||[]).find(function(H){return Ule(C,H)});if(V)return{graphicalItem:M,payload:V}}else if(Y==="RadialBar"){var L=(D.data||[]).find(function(H){return uM(C,H)});if(L)return{graphicalItem:M,payload:L}}else if(ug(M,P)||dg(M,P)||gf(M,P)){var I=fue({graphicalItem:M,activeTooltipItem:P,itemData:B.data}),Q=B.activeIndex===void 0?I:B.activeIndex;return{graphicalItem:_e(_e({},M),{},{childIndex:Q}),payload:gf(M,P)?B.data[I]:M.props.data[I]}}}return null}},{key:"render",value:function(){var C=this;if(!wT(this))return null;var k=this.props,A=k.children,P=k.className,T=k.width,R=k.height,M=k.style,D=k.compact,W=k.title,B=k.desc,Y=t$(k,kpe),V=kt(Y,!1);if(D)return X.createElement(DI,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},X.createElement(BS,xc({},V,{width:T,height:R,title:W,desc:B}),this.renderClipPath(),ST(A,this.renderMap)));if(this.props.accessibilityLayer){var L,I;V.tabIndex=(L=this.props.tabIndex)!==null&&L!==void 0?L:0,V.role=(I=this.props.role)!==null&&I!==void 0?I:"application",V.onKeyDown=function(H){C.accessibilityManager.keyboardEvent(H)},V.onFocus=function(){C.accessibilityManager.focus()}}var Q=this.parseEventsOfWrapper();return X.createElement(DI,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},X.createElement("div",xc({className:zt("recharts-wrapper",P),style:_e({position:"relative",cursor:"default",width:T,height:R},M)},Q,{ref:function(O){C.container=O}}),X.createElement(BS,xc({},V,{width:T,height:R,title:W,desc:B,style:Vpe}),this.renderClipPath(),ST(A,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])})(m.Component);Et(j,"displayName",n),Et(j,"defaultProps",_e({layout:"horizontal",stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index"},p)),Et(j,"getDerivedStateFromProps",function(b,S){var N=b.dataKey,C=b.data,k=b.children,A=b.width,P=b.height,T=b.layout,R=b.stackOffset,M=b.margin,D=S.dataStartIndex,W=S.dataEndIndex;if(S.updateId===void 0){var B=a$(b);return _e(_e(_e({},B),{},{updateId:0},x(_e(_e({props:b},B),{},{updateId:0}),S)),{},{prevDataKey:N,prevData:C,prevWidth:A,prevHeight:P,prevLayout:T,prevStackOffset:R,prevMargin:M,prevChildren:k})}if(N!==S.prevDataKey||C!==S.prevData||A!==S.prevWidth||P!==S.prevHeight||T!==S.prevLayout||R!==S.prevStackOffset||!Sc(M,S.prevMargin)){var Y=a$(b),V={chartX:S.chartX,chartY:S.chartY,isTooltipActive:S.isTooltipActive},L=_e(_e({},r$(S,C,T)),{},{updateId:S.updateId+1}),I=_e(_e(_e({},Y),V),L);return _e(_e(_e({},I),x(_e({props:b},I),S)),{},{prevDataKey:N,prevData:C,prevWidth:A,prevHeight:P,prevLayout:T,prevStackOffset:R,prevMargin:M,prevChildren:k})}if(!FS(k,S.prevChildren)){var Q,H,O,Z,U=na(k,Kc),z=U&&(Q=(H=U.props)===null||H===void 0?void 0:H.startIndex)!==null&&Q!==void 0?Q:D,G=U&&(O=(Z=U.props)===null||Z===void 0?void 0:Z.endIndex)!==null&&O!==void 0?O:W,ae=z!==D||G!==W,ee=!Lt(C),ce=ee&&!ae?S.updateId:S.updateId+1;return _e(_e({updateId:ce},x(_e(_e({props:b},S),{},{updateId:ce,dataStartIndex:z,dataEndIndex:G}),S)),{},{prevChildren:k,dataStartIndex:z,dataEndIndex:G})}return null}),Et(j,"renderActiveDot",function(b,S,N){var C;return m.isValidElement(b)?C=m.cloneElement(b,S):Dt(b)?C=b(S):C=X.createElement(sg,S),X.createElement(rn,{className:"recharts-active-dot",key:N},C)});var y=m.forwardRef(function(S,N){return X.createElement(j,xc({},S,{ref:N}))});return y.displayName=j.displayName,y},aN=n_({chartName:"LineChart",GraphicalChild:il,axisComponents:[{axisType:"xAxis",AxisComp:ao},{axisType:"yAxis",AxisComp:so}],formatAxisMap:TF}),the=n_({chartName:"BarChart",GraphicalChild:Nl,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:ao},{axisType:"yAxis",AxisComp:so}],formatAxisMap:TF}),nhe=n_({chartName:"PieChart",GraphicalChild:bi,validateTooltipEventTypes:["item"],defaultTooltipEventType:"item",legendContent:"children",axisComponents:[{axisType:"angleAxis",AxisComp:cg},{axisType:"radiusAxis",AxisComp:og}],formatAxisMap:eie,defaultProps:{layout:"centric",startAngle:0,endAngle:360,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"}});function r_(e){const t=Array.from(new Map(e.scenarios.map(p=>{const g=String(p.scenarioId??"").trim(),x=String(p.scenarioName??"").trim();return!g&&!x?null:[g||x,x||g]}).filter(p=>!!p)).values()),n=Array.from(new Set(e.scenarios.map(p=>p.agentName||p.agentId).filter(Boolean))),r=Array.from(new Set(e.scenarios.map(p=>p.model).filter(p=>!!p))),s=t.slice(0,2).join(", "),i=t.length>2?` +${t.length-2}`:"",o=r.slice(0,2).join(", "),c=r.length>2?` +${r.length-2}`:"",d=e.configName?.trim()||"",f=e.configPath?.trim()||"",h=d&&f?`${d} · ${f}`:d||f;return{scenarioCount:t.length,agentCount:n.length,scopePreview:h||(s?`${s}${i}`:"n/a"),modelSummary:o?`${o}${c}`:""}}function Wo(e){const t=typeof e.toolTokensTotal=="number"?e.toolTokensTotal:null;return{id:e.runId,configId:"",configHash:e.configHash,configPath:e.configPath,configName:e.configName,rerunAgents:e.rerunAgents,rerunScenarioIds:e.rerunScenarioIds,rerunServerOverrideAll:e.rerunServerOverrideAll,rerunScenarioServerOverrides:e.rerunScenarioServerOverrides,timestamp:e.timestamp,runNote:e.runNote,mcpServerVersions:{},scenarios:(e.scenarioIds??[]).map((n,r)=>({scenarioId:n,scenarioName:e.scenarioNames?.[r]??n,agentId:"",agentName:"",runs:[],passRate:0,avgToolCalls:0,avgDuration:0})),assistantTokenUsage:null,toolTokenUsage:t===null?null:{inputTokens:null,outputTokens:null,totalTokens:t},overallPassRate:e.passRate,totalScenarios:e.totalScenarios,totalRuns:e.totalRuns,avgToolCalls:e.avgToolCalls,avgLatency:Math.round(e.avgLatencyMs??0),totalDurationMs:typeof e.totalDurationMs=="number"?Math.max(0,e.totalDurationMs):void 0,totalToolDurationMs:typeof e.totalToolDurationMs=="number"?Math.max(0,e.totalToolDurationMs):void 0}}const i$=10080*60*1e3;function o$(e){return e.length===0?0:e.reduce((t,n)=>t+n,0)/e.length}function l$(e,t=0){const n=Number(e.toFixed(t));return`${n>0?"+":""}${n.toFixed(t)}`}const rhe=()=>{const{configs:e}=Lf(),{source:t}=Nn(),[n,r]=m.useState(!0),[s,i]=m.useState([]),[o,c]=m.useState([]),[d,f]=m.useState([]),[h,p]=m.useState("timestamp"),[g,x]=m.useState("desc"),j=I=>{if(h===I){x(Q=>Q==="asc"?"desc":"asc");return}p(I),x("desc")};m.useEffect(()=>{let I=!0;r(!0);const Q=Date.now(),H=Q-720*60*60*1e3,O=Q-i$,Z=O-i$,U=new Date(H).toISOString(),z=new Date(O).toISOString(),G=new Date(Z).toISOString(),ae=new Date(O-1).toISOString(),ee=new Date(Q).toISOString(),ce=async(oe,ve)=>t.listRunSummaries?(await t.listRunSummaries({since:oe,until:ve})).map(Wo):t.listResults({since:oe,until:ve});return Promise.all([t.listResults({since:U,until:ee}),ce(z,ee),ce(G,ae)]).then(([oe,ve,se])=>{I&&(i(oe),c(ve),f(se))}).finally(()=>{I&&r(!1)}),()=>{I=!1}},[t]);const y=e.length,b=s.length,S=o.length===0?0:o.reduce((I,Q)=>I+Q.overallPassRate,0)/o.length,N=o.length===0?0:Math.round(o.reduce((I,Q)=>I+Q.avgLatency,0)/o.length),C=o$(d.map(I=>I.overallPassRate)),k=o$(d.map(I=>I.avgLatency)),A=(S-C)*100,P=N-k,T=d.length>0,R=T?`${l$(A,1)}% from last week`:"No prior-week baseline",M=T?`${l$(P,0)}ms from last week`:"No prior-week baseline",D=T?A>0?"up":A<0?"down":"neutral":"neutral",W=T?P<0?"up":P>0?"down":"neutral":"neutral",B=m.useMemo(()=>[...s].sort((Q,H)=>{let O=0;return h==="timestamp"&&(O=new Date(Q.timestamp).getTime()-new Date(H.timestamp).getTime()),h==="passRate"&&(O=Q.overallPassRate-H.overallPassRate),h==="latency"&&(O=Q.avgLatency-H.avgLatency),h==="scenarios"&&(O=Q.totalScenarios-H.totalScenarios),g==="asc"?O:-O}),[s,h,g]),Y=B.slice(0,20),V=I=>{const Q=I.toolTokenUsage?.totalTokens;return typeof Q=="number"?Q.toLocaleString():"n/a"},L=[...B].reverse().map(I=>({date:new Date(I.timestamp).toLocaleDateString("en-US",{month:"short",day:"numeric"}),passRate:Math.round(I.overallPassRate*100),latency:I.avgLatency}));return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-start justify-between gap-4",children:[a.jsxs("div",{children:[a.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[a.jsx(ED,{className:"h-6 w-6"}),"Dashboard"]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Overview of your MCP evaluation runs"})]}),a.jsxs("div",{className:"flex gap-3",children:[a.jsx(re,{asChild:!0,children:a.jsxs(St,{to:"/mcp-evaluations/new",children:[a.jsx(IN,{className:"mr-2 h-4 w-4"}),"New MCP Evaluation"]})}),a.jsx(re,{variant:"outline",asChild:!0,children:a.jsxs(St,{to:"/run",children:[a.jsx(is,{className:"mr-2 h-4 w-4"}),"Run Evaluation"]})}),a.jsx(re,{variant:"outline",asChild:!0,children:a.jsxs(St,{to:"/results",children:[a.jsx(Ac,{className:"mr-2 h-4 w-4"}),"Browse Results"]})})]})]}),a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[a.jsx(Sa,{title:"MCP Evaluations",value:y,icon:vS,subtitle:`${y} active`}),a.jsx(Sa,{title:"Total Runs",value:b,icon:SD,subtitle:"Last 30 days"}),a.jsx(Sa,{title:"Pass Rate",value:n?"—":`${Math.round(S*100)}%`,icon:Ac,subtitle:n?"Loading...":R,trend:n?"neutral":D}),a.jsx(Sa,{title:"Avg Latency",value:n?"—":`${N}ms`,icon:OD,subtitle:n?"Loading...":M,trend:n?"neutral":W})]}),a.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Pass Rate Trend"})}),a.jsx(tt,{children:a.jsx(lm,{width:"100%",height:200,children:a.jsxs(aN,{data:L,children:[a.jsx(ao,{dataKey:"date",tick:{fontSize:11},tickLine:!1,axisLine:!1}),a.jsx(so,{domain:[0,100],tick:{fontSize:11},tickLine:!1,axisLine:!1,tickFormatter:I=>`${I}%`}),a.jsx(Fr,{formatter:I=>[`${I}%`,"Pass Rate"]}),a.jsx(il,{type:"monotone",dataKey:"passRate",stroke:"hsl(38, 92%, 50%)",strokeWidth:2,dot:{r:3,fill:"hsl(38, 92%, 50%)"}})]})})})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Recent Tool Latency (ms)"})}),a.jsx(tt,{children:a.jsx(lm,{width:"100%",height:200,children:a.jsxs(aN,{data:L,children:[a.jsx(ao,{dataKey:"date",tick:{fontSize:11},tickLine:!1,axisLine:!1}),a.jsx(so,{tick:{fontSize:11},tickLine:!1,axisLine:!1}),a.jsx(Fr,{formatter:I=>[`${I}ms`,"Latency"]}),a.jsx(il,{type:"monotone",dataKey:"latency",stroke:"hsl(200, 80%, 50%)",strokeWidth:2,dot:{r:3,fill:"hsl(200, 80%, 50%)"}})]})})})]})]}),a.jsx("div",{className:"grid gap-6",children:a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Recent Runs"})}),a.jsxs(tt,{className:"p-0",children:[a.jsxs(Br,{children:[a.jsx(qr,{children:a.jsxs(Ft,{children:[a.jsx(lt,{children:"Run ID"}),a.jsx(lt,{children:"Evaluated"}),a.jsx(lt,{children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>j("timestamp"),children:["Timestamp",h==="timestamp"?g==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}):a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"})]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex w-full items-center justify-end gap-1 hover:text-foreground",onClick:()=>j("passRate"),children:["Pass Rate",h==="passRate"?g==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}):a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"})]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>j("scenarios"),children:["Scenarios",h==="scenarios"?g==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}):a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"})]})}),a.jsx(lt,{className:"text-right",children:"Avg Tool Calls"}),a.jsx(lt,{className:"text-right",children:"Tool Tokens"})]})}),a.jsxs(Ur,{children:[Y.length===0&&a.jsx(Ft,{children:a.jsx(We,{colSpan:7,className:"py-8 text-center text-sm text-muted-foreground",children:"No runs in the past 30 days."})}),Y.map(I=>a.jsxs(Ft,{className:"cursor-pointer",children:[a.jsx(We,{children:a.jsx(St,{to:`/results/${I.id}`,className:"font-mono text-xs text-primary hover:underline",children:I.id})}),a.jsx(We,{className:"text-[11px] text-muted-foreground",children:(()=>{const Q=r_(I);return a.jsxs("div",{className:"space-y-0.5",children:[a.jsxs("div",{children:["Evaluated: ",Q.scenarioCount," scenario",Q.scenarioCount===1?"":"s"," · ",Q.agentCount," agent",Q.agentCount===1?"":"s",Q.modelSummary?` · ${Q.modelSummary}`:""]}),a.jsx("div",{className:"font-mono text-xs text-foreground/80",children:Q.scopePreview})]})})()}),a.jsx(We,{className:"text-xs text-muted-foreground",children:a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(os,{className:"h-3 w-3"}),new Date(I.timestamp).toLocaleString()]})}),a.jsx(We,{className:"text-right",children:a.jsxs("div",{className:"flex flex-col items-end gap-1",children:[a.jsx(ws,{rate:I.overallPassRate}),a.jsx(G3,{run:I})]})}),a.jsx(We,{className:"text-right font-mono text-sm",children:I.totalScenarios}),a.jsx(We,{className:"text-right font-mono text-sm",children:I.avgToolCalls.toFixed(0)}),a.jsx(We,{className:"text-right font-mono text-sm",children:V(I)})]},I.id))]})]}),B.length>20&&a.jsx("div",{className:"border-t p-4 text-center",children:a.jsx(re,{variant:"outline",asChild:!0,children:a.jsx(St,{to:"/results",children:"Show more"})})})]})]})})]})};function a_({value:e,onValueChange:t,placeholder:n="Search...",className:r,inputClassName:s,clearAriaLabel:i="Clear search"}){return a.jsxs("div",{className:Pe("relative",r),children:[a.jsx(jt,{value:e,onChange:o=>t(o.target.value),placeholder:n,className:Pe("h-9 w-[240px] pr-8",s)}),e&&a.jsx(re,{type:"button",variant:"ghost",size:"icon",className:"absolute right-1 top-1/2 h-7 w-7 -translate-y-1/2 border border-border/60",onClick:()=>t(""),"aria-label":i,children:a.jsx(Ra,{className:"h-4 w-4"})})]})}var ahe=m.createContext(void 0);function wu(e){const t=m.useContext(ahe);return e||t||"ltr"}var Kj="rovingFocusGroup.onEntryFocus",she={bubbles:!1,cancelable:!0},Gf="RovingFocusGroup",[sN,hz,ihe]=kf(Gf),[ohe,yg]=fr(Gf,[ihe]),[lhe,che]=ohe(Gf),mz=m.forwardRef((e,t)=>a.jsx(sN.Provider,{scope:e.__scopeRovingFocusGroup,children:a.jsx(sN.Slot,{scope:e.__scopeRovingFocusGroup,children:a.jsx(uhe,{...e,ref:t})})}));mz.displayName=Gf;var uhe=m.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:s=!1,dir:i,currentTabStopId:o,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:f,preventScrollOnEntryFocus:h=!1,...p}=e,g=m.useRef(null),x=_t(t,g),j=wu(i),[y,b]=da({prop:o,defaultProp:c??null,onChange:d,caller:Gf}),[S,N]=m.useState(!1),C=Fn(f),k=hz(n),A=m.useRef(!1),[P,T]=m.useState(0);return m.useEffect(()=>{const R=g.current;if(R)return R.addEventListener(Kj,C),()=>R.removeEventListener(Kj,C)},[C]),a.jsx(lhe,{scope:n,orientation:r,dir:j,loop:s,currentTabStopId:y,onItemFocus:m.useCallback(R=>b(R),[b]),onItemShiftTab:m.useCallback(()=>N(!0),[]),onFocusableItemAdd:m.useCallback(()=>T(R=>R+1),[]),onFocusableItemRemove:m.useCallback(()=>T(R=>R-1),[]),children:a.jsx(it.div,{tabIndex:S||P===0?-1:0,"data-orientation":r,...p,ref:x,style:{outline:"none",...e.style},onMouseDown:qe(e.onMouseDown,()=>{A.current=!0}),onFocus:qe(e.onFocus,R=>{const M=!A.current;if(R.target===R.currentTarget&&M&&!S){const D=new CustomEvent(Kj,she);if(R.currentTarget.dispatchEvent(D),!D.defaultPrevented){const W=k().filter(I=>I.focusable),B=W.find(I=>I.active),Y=W.find(I=>I.id===y),L=[B,Y,...W].filter(Boolean).map(I=>I.ref.current);xz(L,h)}}A.current=!1}),onBlur:qe(e.onBlur,()=>N(!1))})})}),vz="RovingFocusGroupItem",gz=m.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:s=!1,tabStopId:i,children:o,...c}=e,d=Jn(),f=i||d,h=che(vz,n),p=h.currentTabStopId===f,g=hz(n),{onFocusableItemAdd:x,onFocusableItemRemove:j,currentTabStopId:y}=h;return m.useEffect(()=>{if(r)return x(),()=>j()},[r,x,j]),a.jsx(sN.ItemSlot,{scope:n,id:f,focusable:r,active:s,children:a.jsx(it.span,{tabIndex:p?0:-1,"data-orientation":h.orientation,...c,ref:t,onMouseDown:qe(e.onMouseDown,b=>{r?h.onItemFocus(f):b.preventDefault()}),onFocus:qe(e.onFocus,()=>h.onItemFocus(f)),onKeyDown:qe(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){h.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const S=phe(b,h.orientation,h.dir);if(S!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let C=g().filter(k=>k.focusable).map(k=>k.ref.current);if(S==="last")C.reverse();else if(S==="prev"||S==="next"){S==="prev"&&C.reverse();const k=C.indexOf(b.currentTarget);C=h.loop?hhe(C,k+1):C.slice(k+1)}setTimeout(()=>xz(C))}}),children:typeof o=="function"?o({isCurrentTabStop:p,hasTabStop:y!=null}):o})})});gz.displayName=vz;var dhe={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function fhe(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function phe(e,t,n){const r=fhe(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return dhe[r]}function xz(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function hhe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var yz=mz,bz=gz;function mhe(e){const t=vhe(e),n=m.forwardRef((r,s)=>{const{children:i,...o}=r,c=m.Children.toArray(i),d=c.find(xhe);if(d){const f=d.props.children,h=c.map(p=>p===d?m.Children.count(f)>1?m.Children.only(null):m.isValidElement(f)?f.props.children:null:p);return a.jsx(t,{...o,ref:s,children:m.isValidElement(f)?m.cloneElement(f,void 0,h):null})}return a.jsx(t,{...o,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}function vhe(e){const t=m.forwardRef((n,r)=>{const{children:s,...i}=n;if(m.isValidElement(s)){const o=bhe(s),c=yhe(i,s.props);return s.type!==m.Fragment&&(c.ref=r?kr(r,o):o),m.cloneElement(s,c)}return m.Children.count(s)>1?m.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ghe=Symbol("radix.slottable");function xhe(e){return m.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ghe}function yhe(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...c)=>{const d=i(...c);return s(...c),d}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function bhe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var iN=["Enter"," "],whe=["ArrowDown","PageUp","Home"],wz=["ArrowUp","PageDown","End"],jhe=[...whe,...wz],She={ltr:[...iN,"ArrowRight"],rtl:[...iN,"ArrowLeft"]},Nhe={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Yf="Menu",[Nf,Che,_he]=kf(Yf),[Cl,jz]=fr(Yf,[_he,oo,yg]),bg=oo(),Sz=yg(),[Ahe,_l]=Cl(Yf),[khe,Xf]=Cl(Yf),Nz=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:s,onOpenChange:i,modal:o=!0}=e,c=bg(t),[d,f]=m.useState(null),h=m.useRef(!1),p=Fn(i),g=wu(s);return m.useEffect(()=>{const x=()=>{h.current=!0,document.addEventListener("pointerdown",j,{capture:!0,once:!0}),document.addEventListener("pointermove",j,{capture:!0,once:!0})},j=()=>h.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",j,{capture:!0}),document.removeEventListener("pointermove",j,{capture:!0})}},[]),a.jsx(xv,{...c,children:a.jsx(Ahe,{scope:t,open:n,onOpenChange:p,content:d,onContentChange:f,children:a.jsx(khe,{scope:t,onClose:m.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:h,dir:g,modal:o,children:r})})})};Nz.displayName=Yf;var Phe="MenuAnchor",s_=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,s=bg(n);return a.jsx(Tf,{...s,...r,ref:t})});s_.displayName=Phe;var i_="MenuPortal",[Ehe,Cz]=Cl(i_,{forceMount:void 0}),_z=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:s}=e,i=_l(i_,t);return a.jsx(Ehe,{scope:t,forceMount:n,children:a.jsx(Wn,{present:n||i.open,children:a.jsx(vl,{asChild:!0,container:s,children:r})})})};_z.displayName=i_;var ka="MenuContent",[The,o_]=Cl(ka),Az=m.forwardRef((e,t)=>{const n=Cz(ka,e.__scopeMenu),{forceMount:r=n.forceMount,...s}=e,i=_l(ka,e.__scopeMenu),o=Xf(ka,e.__scopeMenu);return a.jsx(Nf.Provider,{scope:e.__scopeMenu,children:a.jsx(Wn,{present:r||i.open,children:a.jsx(Nf.Slot,{scope:e.__scopeMenu,children:o.modal?a.jsx(Rhe,{...s,ref:t}):a.jsx(Ohe,{...s,ref:t})})})})}),Rhe=m.forwardRef((e,t)=>{const n=_l(ka,e.__scopeMenu),r=m.useRef(null),s=_t(t,r);return m.useEffect(()=>{const i=r.current;if(i)return Ev(i)},[]),a.jsx(l_,{...e,ref:s,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:qe(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Ohe=m.forwardRef((e,t)=>{const n=_l(ka,e.__scopeMenu);return a.jsx(l_,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Mhe=mhe("MenuContent.ScrollLock"),l_=m.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:s,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:p,onInteractOutside:g,onDismiss:x,disableOutsideScroll:j,...y}=e,b=_l(ka,n),S=Xf(ka,n),N=bg(n),C=Sz(n),k=Che(n),[A,P]=m.useState(null),T=m.useRef(null),R=_t(t,T,b.onContentChange),M=m.useRef(0),D=m.useRef(""),W=m.useRef(0),B=m.useRef(null),Y=m.useRef("right"),V=m.useRef(0),L=j?Mf:m.Fragment,I=j?{as:Mhe,allowPinchZoom:!0}:void 0,Q=O=>{const Z=D.current+O,U=k().filter(oe=>!oe.disabled),z=document.activeElement,G=U.find(oe=>oe.ref.current===z)?.textValue,ae=U.map(oe=>oe.textValue),ee=Hhe(ae,Z,G),ce=U.find(oe=>oe.textValue===ee)?.ref.current;(function oe(ve){D.current=ve,window.clearTimeout(M.current),ve!==""&&(M.current=window.setTimeout(()=>oe(""),1e3))})(Z),ce&&setTimeout(()=>ce.focus())};m.useEffect(()=>()=>window.clearTimeout(M.current),[]),kv();const H=m.useCallback(O=>Y.current===B.current?.side&&Ghe(O,B.current?.area),[]);return a.jsx(The,{scope:n,searchRef:D,onItemEnter:m.useCallback(O=>{H(O)&&O.preventDefault()},[H]),onItemLeave:m.useCallback(O=>{H(O)||(T.current?.focus(),P(null))},[H]),onTriggerLeave:m.useCallback(O=>{H(O)&&O.preventDefault()},[H]),pointerGraceTimerRef:W,onPointerGraceIntentChange:m.useCallback(O=>{B.current=O},[]),children:a.jsx(L,{...I,children:a.jsx(Of,{asChild:!0,trapped:s,onMountAutoFocus:qe(i,O=>{O.preventDefault(),T.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:a.jsx(ml,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:p,onInteractOutside:g,onDismiss:x,children:a.jsx(yz,{asChild:!0,...C,dir:S.dir,orientation:"vertical",loop:r,currentTabStopId:A,onCurrentTabStopIdChange:P,onEntryFocus:qe(d,O=>{S.isUsingKeyboardRef.current||O.preventDefault()}),preventScrollOnEntryFocus:!0,children:a.jsx(yv,{role:"menu","aria-orientation":"vertical","data-state":Uz(b.open),"data-radix-menu-content":"",dir:S.dir,...N,...y,ref:R,style:{outline:"none",...y.style},onKeyDown:qe(y.onKeyDown,O=>{const U=O.target.closest("[data-radix-menu-content]")===O.currentTarget,z=O.ctrlKey||O.altKey||O.metaKey,G=O.key.length===1;U&&(O.key==="Tab"&&O.preventDefault(),!z&&G&&Q(O.key));const ae=T.current;if(O.target!==ae||!jhe.includes(O.key))return;O.preventDefault();const ce=k().filter(oe=>!oe.disabled).map(oe=>oe.ref.current);wz.includes(O.key)&&ce.reverse(),Whe(ce)}),onBlur:qe(e.onBlur,O=>{O.currentTarget.contains(O.target)||(window.clearTimeout(M.current),D.current="")}),onPointerMove:qe(e.onPointerMove,Cf(O=>{const Z=O.target,U=V.current!==O.clientX;if(O.currentTarget.contains(Z)&&U){const z=O.clientX>V.current?"right":"left";Y.current=z,V.current=O.clientX}}))})})})})})})});Az.displayName=ka;var Ihe="MenuGroup",c_=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return a.jsx(it.div,{role:"group",...r,ref:t})});c_.displayName=Ihe;var $he="MenuLabel",kz=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return a.jsx(it.div,{...r,ref:t})});kz.displayName=$he;var Jm="MenuItem",c$="menu.itemSelect",wg=m.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...s}=e,i=m.useRef(null),o=Xf(Jm,e.__scopeMenu),c=o_(Jm,e.__scopeMenu),d=_t(t,i),f=m.useRef(!1),h=()=>{const p=i.current;if(!n&&p){const g=new CustomEvent(c$,{bubbles:!0,cancelable:!0});p.addEventListener(c$,x=>r?.(x),{once:!0}),kN(p,g),g.defaultPrevented?f.current=!1:o.onClose()}};return a.jsx(Pz,{...s,ref:d,disabled:n,onClick:qe(e.onClick,h),onPointerDown:p=>{e.onPointerDown?.(p),f.current=!0},onPointerUp:qe(e.onPointerUp,p=>{f.current||p.currentTarget?.click()}),onKeyDown:qe(e.onKeyDown,p=>{const g=c.searchRef.current!=="";n||g&&p.key===" "||iN.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});wg.displayName=Jm;var Pz=m.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:s,...i}=e,o=o_(Jm,n),c=Sz(n),d=m.useRef(null),f=_t(t,d),[h,p]=m.useState(!1),[g,x]=m.useState("");return m.useEffect(()=>{const j=d.current;j&&x((j.textContent??"").trim())},[i.children]),a.jsx(Nf.ItemSlot,{scope:n,disabled:r,textValue:s??g,children:a.jsx(bz,{asChild:!0,...c,focusable:!r,children:a.jsx(it.div,{role:"menuitem","data-highlighted":h?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:f,onPointerMove:qe(e.onPointerMove,Cf(j=>{r?o.onItemLeave(j):(o.onItemEnter(j),j.defaultPrevented||j.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:qe(e.onPointerLeave,Cf(j=>o.onItemLeave(j))),onFocus:qe(e.onFocus,()=>p(!0)),onBlur:qe(e.onBlur,()=>p(!1))})})})}),Dhe="MenuCheckboxItem",Ez=m.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...s}=e;return a.jsx(Iz,{scope:e.__scopeMenu,checked:n,children:a.jsx(wg,{role:"menuitemcheckbox","aria-checked":Zm(n)?"mixed":n,...s,ref:t,"data-state":d_(n),onSelect:qe(s.onSelect,()=>r?.(Zm(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Ez.displayName=Dhe;var Tz="MenuRadioGroup",[Lhe,Fhe]=Cl(Tz,{value:void 0,onValueChange:()=>{}}),Rz=m.forwardRef((e,t)=>{const{value:n,onValueChange:r,...s}=e,i=Fn(r);return a.jsx(Lhe,{scope:e.__scopeMenu,value:n,onValueChange:i,children:a.jsx(c_,{...s,ref:t})})});Rz.displayName=Tz;var Oz="MenuRadioItem",Mz=m.forwardRef((e,t)=>{const{value:n,...r}=e,s=Fhe(Oz,e.__scopeMenu),i=n===s.value;return a.jsx(Iz,{scope:e.__scopeMenu,checked:i,children:a.jsx(wg,{role:"menuitemradio","aria-checked":i,...r,ref:t,"data-state":d_(i),onSelect:qe(r.onSelect,()=>s.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Mz.displayName=Oz;var u_="MenuItemIndicator",[Iz,zhe]=Cl(u_,{checked:!1}),$z=m.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...s}=e,i=zhe(u_,n);return a.jsx(Wn,{present:r||Zm(i.checked)||i.checked===!0,children:a.jsx(it.span,{...s,ref:t,"data-state":d_(i.checked)})})});$z.displayName=u_;var Bhe="MenuSeparator",Dz=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return a.jsx(it.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});Dz.displayName=Bhe;var qhe="MenuArrow",Lz=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,s=bg(n);return a.jsx(bv,{...s,...r,ref:t})});Lz.displayName=qhe;var Uhe="MenuSub",[vbe,Fz]=Cl(Uhe),Cd="MenuSubTrigger",zz=m.forwardRef((e,t)=>{const n=_l(Cd,e.__scopeMenu),r=Xf(Cd,e.__scopeMenu),s=Fz(Cd,e.__scopeMenu),i=o_(Cd,e.__scopeMenu),o=m.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=i,f={__scopeMenu:e.__scopeMenu},h=m.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return m.useEffect(()=>h,[h]),m.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),d(null)}},[c,d]),a.jsx(s_,{asChild:!0,...f,children:a.jsx(Pz,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":s.contentId,"data-state":Uz(n.open),...e,ref:kr(t,s.onTriggerChange),onClick:p=>{e.onClick?.(p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:qe(e.onPointerMove,Cf(p=>{i.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(i.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),h()},100))})),onPointerLeave:qe(e.onPointerLeave,Cf(p=>{h();const g=n.content?.getBoundingClientRect();if(g){const x=n.content?.dataset.side,j=x==="right",y=j?-5:5,b=g[j?"left":"right"],S=g[j?"right":"left"];i.onPointerGraceIntentChange({area:[{x:p.clientX+y,y:p.clientY},{x:b,y:g.top},{x:S,y:g.top},{x:S,y:g.bottom},{x:b,y:g.bottom}],side:x}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(p),p.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:qe(e.onKeyDown,p=>{const g=i.searchRef.current!=="";e.disabled||g&&p.key===" "||She[r.dir].includes(p.key)&&(n.onOpenChange(!0),n.content?.focus(),p.preventDefault())})})})});zz.displayName=Cd;var Bz="MenuSubContent",qz=m.forwardRef((e,t)=>{const n=Cz(ka,e.__scopeMenu),{forceMount:r=n.forceMount,...s}=e,i=_l(ka,e.__scopeMenu),o=Xf(ka,e.__scopeMenu),c=Fz(Bz,e.__scopeMenu),d=m.useRef(null),f=_t(t,d);return a.jsx(Nf.Provider,{scope:e.__scopeMenu,children:a.jsx(Wn,{present:r||i.open,children:a.jsx(Nf.Slot,{scope:e.__scopeMenu,children:a.jsx(l_,{id:c.contentId,"aria-labelledby":c.triggerId,...s,ref:f,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:h=>{o.isUsingKeyboardRef.current&&d.current?.focus(),h.preventDefault()},onCloseAutoFocus:h=>h.preventDefault(),onFocusOutside:qe(e.onFocusOutside,h=>{h.target!==c.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:qe(e.onEscapeKeyDown,h=>{o.onClose(),h.preventDefault()}),onKeyDown:qe(e.onKeyDown,h=>{const p=h.currentTarget.contains(h.target),g=Nhe[o.dir].includes(h.key);p&&g&&(i.onOpenChange(!1),c.trigger?.focus(),h.preventDefault())})})})})})});qz.displayName=Bz;function Uz(e){return e?"open":"closed"}function Zm(e){return e==="indeterminate"}function d_(e){return Zm(e)?"indeterminate":e?"checked":"unchecked"}function Whe(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Vhe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Hhe(e,t,n){const s=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let o=Vhe(e,Math.max(i,0));s.length===1&&(o=o.filter(f=>f!==n));const d=o.find(f=>f.toLowerCase().startsWith(s.toLowerCase()));return d!==n?d:void 0}function Khe(e,t){const{x:n,y:r}=e;let s=!1;for(let i=0,o=t.length-1;i<t.length;o=i++){const c=t[i],d=t[o],f=c.x,h=c.y,p=d.x,g=d.y;h>r!=g>r&&n<(p-f)*(r-h)/(g-h)+f&&(s=!s)}return s}function Ghe(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return Khe(n,t)}function Cf(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Yhe=Nz,Xhe=s_,Qhe=_z,Jhe=Az,Zhe=c_,eme=kz,tme=wg,nme=Ez,rme=Rz,ame=Mz,sme=$z,ime=Dz,ome=Lz,lme=zz,cme=qz,jg="DropdownMenu",[ume]=fr(jg,[jz]),Pr=jz(),[dme,Wz]=ume(jg),Vz=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:s,defaultOpen:i,onOpenChange:o,modal:c=!0}=e,d=Pr(t),f=m.useRef(null),[h,p]=da({prop:s,defaultProp:i??!1,onChange:o,caller:jg});return a.jsx(dme,{scope:t,triggerId:Jn(),triggerRef:f,contentId:Jn(),open:h,onOpenChange:p,onOpenToggle:m.useCallback(()=>p(g=>!g),[p]),modal:c,children:a.jsx(Yhe,{...d,open:h,onOpenChange:p,dir:r,modal:c,children:n})})};Vz.displayName=jg;var Hz="DropdownMenuTrigger",Kz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...s}=e,i=Wz(Hz,n),o=Pr(n);return a.jsx(Xhe,{asChild:!0,...o,children:a.jsx(it.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...s,ref:kr(t,i.triggerRef),onPointerDown:qe(e.onPointerDown,c=>{!r&&c.button===0&&c.ctrlKey===!1&&(i.onOpenToggle(),i.open||c.preventDefault())}),onKeyDown:qe(e.onKeyDown,c=>{r||(["Enter"," "].includes(c.key)&&i.onOpenToggle(),c.key==="ArrowDown"&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});Kz.displayName=Hz;var fme="DropdownMenuPortal",Gz=e=>{const{__scopeDropdownMenu:t,...n}=e,r=Pr(t);return a.jsx(Qhe,{...r,...n})};Gz.displayName=fme;var Yz="DropdownMenuContent",Xz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Wz(Yz,n),i=Pr(n),o=m.useRef(!1);return a.jsx(Jhe,{id:s.contentId,"aria-labelledby":s.triggerId,...i,...r,ref:t,onCloseAutoFocus:qe(e.onCloseAutoFocus,c=>{o.current||s.triggerRef.current?.focus(),o.current=!1,c.preventDefault()}),onInteractOutside:qe(e.onInteractOutside,c=>{const d=c.detail.originalEvent,f=d.button===0&&d.ctrlKey===!0,h=d.button===2||f;(!s.modal||h)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Xz.displayName=Yz;var pme="DropdownMenuGroup",hme=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(Zhe,{...s,...r,ref:t})});hme.displayName=pme;var mme="DropdownMenuLabel",Qz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(eme,{...s,...r,ref:t})});Qz.displayName=mme;var vme="DropdownMenuItem",Jz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(tme,{...s,...r,ref:t})});Jz.displayName=vme;var gme="DropdownMenuCheckboxItem",Zz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(nme,{...s,...r,ref:t})});Zz.displayName=gme;var xme="DropdownMenuRadioGroup",yme=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(rme,{...s,...r,ref:t})});yme.displayName=xme;var bme="DropdownMenuRadioItem",eB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(ame,{...s,...r,ref:t})});eB.displayName=bme;var wme="DropdownMenuItemIndicator",tB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(sme,{...s,...r,ref:t})});tB.displayName=wme;var jme="DropdownMenuSeparator",nB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(ime,{...s,...r,ref:t})});nB.displayName=jme;var Sme="DropdownMenuArrow",Nme=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(ome,{...s,...r,ref:t})});Nme.displayName=Sme;var Cme="DropdownMenuSubTrigger",rB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(lme,{...s,...r,ref:t})});rB.displayName=Cme;var _me="DropdownMenuSubContent",aB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(cme,{...s,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});aB.displayName=_me;var Ame=Vz,kme=Kz,Pme=Gz,sB=Xz,iB=Qz,oB=Jz,lB=Zz,cB=eB,uB=tB,dB=nB,fB=rB,pB=aB;const Qf=Ame,Jf=kme,Eme=m.forwardRef(({className:e,inset:t,children:n,...r},s)=>a.jsxs(fB,{ref:s,className:Pe("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent",t&&"pl-8",e),...r,children:[n,a.jsx(RN,{className:"ml-auto h-4 w-4"})]}));Eme.displayName=fB.displayName;const Tme=m.forwardRef(({className:e,...t},n)=>a.jsx(pB,{ref:n,className:Pe("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));Tme.displayName=pB.displayName;const ju=m.forwardRef(({className:e,sideOffset:t=4,...n},r)=>a.jsx(Pme,{children:a.jsx(sB,{ref:r,sideOffset:t,className:Pe("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));ju.displayName=sB.displayName;const Sr=m.forwardRef(({className:e,inset:t,...n},r)=>a.jsx(oB,{ref:r,className:Pe("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",t&&"pl-8",e),...n}));Sr.displayName=oB.displayName;const Rme=m.forwardRef(({className:e,children:t,checked:n,...r},s)=>a.jsxs(lB,{ref:s,className:Pe("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",e),checked:n,...r,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(uB,{children:a.jsx(kc,{className:"h-4 w-4"})})}),t]}));Rme.displayName=lB.displayName;const Ome=m.forwardRef(({className:e,children:t,...n},r)=>a.jsxs(cB,{ref:r,className:Pe("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",e),...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(uB,{children:a.jsx(c9,{className:"h-2 w-2 fill-current"})})}),t]}));Ome.displayName=cB.displayName;const hB=m.forwardRef(({className:e,inset:t,...n},r)=>a.jsx(iB,{ref:r,className:Pe("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...n}));hB.displayName=iB.displayName;const mB=m.forwardRef(({className:e,...t},n)=>a.jsx(dB,{ref:n,className:Pe("-mx-1 my-1 h-px bg-muted",e),...t}));mB.displayName=dB.displayName;function _f(e,[t,n]){return Math.min(n,Math.max(t,e))}function Mme(e){const t=Ime(e),n=m.forwardRef((r,s)=>{const{children:i,...o}=r,c=m.Children.toArray(i),d=c.find(Dme);if(d){const f=d.props.children,h=c.map(p=>p===d?m.Children.count(f)>1?m.Children.only(null):m.isValidElement(f)?f.props.children:null:p);return a.jsx(t,{...o,ref:s,children:m.isValidElement(f)?m.cloneElement(f,void 0,h):null})}return a.jsx(t,{...o,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}function Ime(e){const t=m.forwardRef((n,r)=>{const{children:s,...i}=n;if(m.isValidElement(s)){const o=Fme(s),c=Lme(i,s.props);return s.type!==m.Fragment&&(c.ref=r?kr(r,o):o),m.cloneElement(s,c)}return m.Children.count(s)>1?m.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var $me=Symbol("radix.slottable");function Dme(e){return m.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===$me}function Lme(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...c)=>{const d=i(...c);return s(...c),d}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function Fme(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Sg(e){const t=m.useRef({value:e,previous:e});return m.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var zme=[" ","Enter","ArrowUp","ArrowDown"],Bme=[" ","Enter"],ol="Select",[Ng,Cg,qme]=kf(ol),[Su]=fr(ol,[qme,oo]),_g=oo(),[Ume,ho]=Su(ol),[Wme,Vme]=Su(ol),vB=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:s,onOpenChange:i,value:o,defaultValue:c,onValueChange:d,dir:f,name:h,autoComplete:p,disabled:g,required:x,form:j}=e,y=_g(t),[b,S]=m.useState(null),[N,C]=m.useState(null),[k,A]=m.useState(!1),P=wu(f),[T,R]=da({prop:r,defaultProp:s??!1,onChange:i,caller:ol}),[M,D]=da({prop:o,defaultProp:c,onChange:d,caller:ol}),W=m.useRef(null),B=b?j||!!b.closest("form"):!0,[Y,V]=m.useState(new Set),L=Array.from(Y).map(I=>I.props.value).join(";");return a.jsx(xv,{...y,children:a.jsxs(Ume,{required:x,scope:t,trigger:b,onTriggerChange:S,valueNode:N,onValueNodeChange:C,valueNodeHasChildren:k,onValueNodeHasChildrenChange:A,contentId:Jn(),value:M,onValueChange:D,open:T,onOpenChange:R,dir:P,triggerPointerDownPosRef:W,disabled:g,children:[a.jsx(Ng.Provider,{scope:t,children:a.jsx(Wme,{scope:e.__scopeSelect,onNativeOptionAdd:m.useCallback(I=>{V(Q=>new Set(Q).add(I))},[]),onNativeOptionRemove:m.useCallback(I=>{V(Q=>{const H=new Set(Q);return H.delete(I),H})},[]),children:n})}),B?a.jsxs(zB,{"aria-hidden":!0,required:x,tabIndex:-1,name:h,autoComplete:p,value:M,onChange:I=>D(I.target.value),disabled:g,form:j,children:[M===void 0?a.jsx("option",{value:""}):null,Array.from(Y)]},L):null]})})};vB.displayName=ol;var gB="SelectTrigger",xB=m.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...s}=e,i=_g(n),o=ho(gB,n),c=o.disabled||r,d=_t(t,o.onTriggerChange),f=Cg(n),h=m.useRef("touch"),[p,g,x]=qB(y=>{const b=f().filter(C=>!C.disabled),S=b.find(C=>C.value===o.value),N=UB(b,y,S);N!==void 0&&o.onValueChange(N.value)}),j=y=>{c||(o.onOpenChange(!0),x()),y&&(o.triggerPointerDownPosRef.current={x:Math.round(y.pageX),y:Math.round(y.pageY)})};return a.jsx(Tf,{asChild:!0,...i,children:a.jsx(it.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":BB(o.value)?"":void 0,...s,ref:d,onClick:qe(s.onClick,y=>{y.currentTarget.focus(),h.current!=="mouse"&&j(y)}),onPointerDown:qe(s.onPointerDown,y=>{h.current=y.pointerType;const b=y.target;b.hasPointerCapture(y.pointerId)&&b.releasePointerCapture(y.pointerId),y.button===0&&y.ctrlKey===!1&&y.pointerType==="mouse"&&(j(y),y.preventDefault())}),onKeyDown:qe(s.onKeyDown,y=>{const b=p.current!=="";!(y.ctrlKey||y.altKey||y.metaKey)&&y.key.length===1&&g(y.key),!(b&&y.key===" ")&&zme.includes(y.key)&&(j(),y.preventDefault())})})})});xB.displayName=gB;var yB="SelectValue",bB=m.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:s,children:i,placeholder:o="",...c}=e,d=ho(yB,n),{onValueNodeHasChildrenChange:f}=d,h=i!==void 0,p=_t(t,d.onValueNodeChange);return Zn(()=>{f(h)},[f,h]),a.jsx(it.span,{...c,ref:p,style:{pointerEvents:"none"},children:BB(d.value)?a.jsx(a.Fragment,{children:o}):i})});bB.displayName=yB;var Hme="SelectIcon",wB=m.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...s}=e;return a.jsx(it.span,{"aria-hidden":!0,...s,ref:t,children:r||"▼"})});wB.displayName=Hme;var Kme="SelectPortal",jB=e=>a.jsx(vl,{asChild:!0,...e});jB.displayName=Kme;var ll="SelectContent",SB=m.forwardRef((e,t)=>{const n=ho(ll,e.__scopeSelect),[r,s]=m.useState();if(Zn(()=>{s(new DocumentFragment)},[]),!n.open){const i=r;return i?iu.createPortal(a.jsx(NB,{scope:e.__scopeSelect,children:a.jsx(Ng.Slot,{scope:e.__scopeSelect,children:a.jsx("div",{children:e.children})})}),i):null}return a.jsx(CB,{...e,ref:t})});SB.displayName=ll;var Ja=10,[NB,mo]=Su(ll),Gme="SelectContentImpl",Yme=Mme("SelectContent.RemoveScroll"),CB=m.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:i,onPointerDownOutside:o,side:c,sideOffset:d,align:f,alignOffset:h,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:y,avoidCollisions:b,...S}=e,N=ho(ll,n),[C,k]=m.useState(null),[A,P]=m.useState(null),T=_t(t,oe=>k(oe)),[R,M]=m.useState(null),[D,W]=m.useState(null),B=Cg(n),[Y,V]=m.useState(!1),L=m.useRef(!1);m.useEffect(()=>{if(C)return Ev(C)},[C]),kv();const I=m.useCallback(oe=>{const[ve,...se]=B().map(J=>J.ref.current),[pe]=se.slice(-1),Te=document.activeElement;for(const J of oe)if(J===Te||(J?.scrollIntoView({block:"nearest"}),J===ve&&A&&(A.scrollTop=0),J===pe&&A&&(A.scrollTop=A.scrollHeight),J?.focus(),document.activeElement!==Te))return},[B,A]),Q=m.useCallback(()=>I([R,C]),[I,R,C]);m.useEffect(()=>{Y&&Q()},[Y,Q]);const{onOpenChange:H,triggerPointerDownPosRef:O}=N;m.useEffect(()=>{if(C){let oe={x:0,y:0};const ve=pe=>{oe={x:Math.abs(Math.round(pe.pageX)-(O.current?.x??0)),y:Math.abs(Math.round(pe.pageY)-(O.current?.y??0))}},se=pe=>{oe.x<=10&&oe.y<=10?pe.preventDefault():C.contains(pe.target)||H(!1),document.removeEventListener("pointermove",ve),O.current=null};return O.current!==null&&(document.addEventListener("pointermove",ve),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ve),document.removeEventListener("pointerup",se,{capture:!0})}}},[C,H,O]),m.useEffect(()=>{const oe=()=>H(!1);return window.addEventListener("blur",oe),window.addEventListener("resize",oe),()=>{window.removeEventListener("blur",oe),window.removeEventListener("resize",oe)}},[H]);const[Z,U]=qB(oe=>{const ve=B().filter(Te=>!Te.disabled),se=ve.find(Te=>Te.ref.current===document.activeElement),pe=UB(ve,oe,se);pe&&setTimeout(()=>pe.ref.current.focus())}),z=m.useCallback((oe,ve,se)=>{const pe=!L.current&&!se;(N.value!==void 0&&N.value===ve||pe)&&(M(oe),pe&&(L.current=!0))},[N.value]),G=m.useCallback(()=>C?.focus(),[C]),ae=m.useCallback((oe,ve,se)=>{const pe=!L.current&&!se;(N.value!==void 0&&N.value===ve||pe)&&W(oe)},[N.value]),ee=r==="popper"?oN:_B,ce=ee===oN?{side:c,sideOffset:d,align:f,alignOffset:h,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:y,avoidCollisions:b}:{};return a.jsx(NB,{scope:n,content:C,viewport:A,onViewportChange:P,itemRefCallback:z,selectedItem:R,onItemLeave:G,itemTextRefCallback:ae,focusSelectedItem:Q,selectedItemText:D,position:r,isPositioned:Y,searchRef:Z,children:a.jsx(Mf,{as:Yme,allowPinchZoom:!0,children:a.jsx(Of,{asChild:!0,trapped:N.open,onMountAutoFocus:oe=>{oe.preventDefault()},onUnmountAutoFocus:qe(s,oe=>{N.trigger?.focus({preventScroll:!0}),oe.preventDefault()}),children:a.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:oe=>oe.preventDefault(),onDismiss:()=>N.onOpenChange(!1),children:a.jsx(ee,{role:"listbox",id:N.contentId,"data-state":N.open?"open":"closed",dir:N.dir,onContextMenu:oe=>oe.preventDefault(),...S,...ce,onPlaced:()=>V(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...S.style},onKeyDown:qe(S.onKeyDown,oe=>{const ve=oe.ctrlKey||oe.altKey||oe.metaKey;if(oe.key==="Tab"&&oe.preventDefault(),!ve&&oe.key.length===1&&U(oe.key),["ArrowUp","ArrowDown","Home","End"].includes(oe.key)){let pe=B().filter(Te=>!Te.disabled).map(Te=>Te.ref.current);if(["ArrowUp","End"].includes(oe.key)&&(pe=pe.slice().reverse()),["ArrowUp","ArrowDown"].includes(oe.key)){const Te=oe.target,J=pe.indexOf(Te);pe=pe.slice(J+1)}setTimeout(()=>I(pe)),oe.preventDefault()}})})})})})})});CB.displayName=Gme;var Xme="SelectItemAlignedPosition",_B=m.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...s}=e,i=ho(ll,n),o=mo(ll,n),[c,d]=m.useState(null),[f,h]=m.useState(null),p=_t(t,T=>h(T)),g=Cg(n),x=m.useRef(!1),j=m.useRef(!0),{viewport:y,selectedItem:b,selectedItemText:S,focusSelectedItem:N}=o,C=m.useCallback(()=>{if(i.trigger&&i.valueNode&&c&&f&&y&&b&&S){const T=i.trigger.getBoundingClientRect(),R=f.getBoundingClientRect(),M=i.valueNode.getBoundingClientRect(),D=S.getBoundingClientRect();if(i.dir!=="rtl"){const Te=D.left-R.left,J=M.left-Te,Ne=T.left-J,je=T.width+Ne,ct=Math.max(je,R.width),at=window.innerWidth-Ja,vt=_f(J,[Ja,Math.max(Ja,at-ct)]);c.style.minWidth=je+"px",c.style.left=vt+"px"}else{const Te=R.right-D.right,J=window.innerWidth-M.right-Te,Ne=window.innerWidth-T.right-J,je=T.width+Ne,ct=Math.max(je,R.width),at=window.innerWidth-Ja,vt=_f(J,[Ja,Math.max(Ja,at-ct)]);c.style.minWidth=je+"px",c.style.right=vt+"px"}const W=g(),B=window.innerHeight-Ja*2,Y=y.scrollHeight,V=window.getComputedStyle(f),L=parseInt(V.borderTopWidth,10),I=parseInt(V.paddingTop,10),Q=parseInt(V.borderBottomWidth,10),H=parseInt(V.paddingBottom,10),O=L+I+Y+H+Q,Z=Math.min(b.offsetHeight*5,O),U=window.getComputedStyle(y),z=parseInt(U.paddingTop,10),G=parseInt(U.paddingBottom,10),ae=T.top+T.height/2-Ja,ee=B-ae,ce=b.offsetHeight/2,oe=b.offsetTop+ce,ve=L+I+oe,se=O-ve;if(ve<=ae){const Te=W.length>0&&b===W[W.length-1].ref.current;c.style.bottom="0px";const J=f.clientHeight-y.offsetTop-y.offsetHeight,Ne=Math.max(ee,ce+(Te?G:0)+J+Q),je=ve+Ne;c.style.height=je+"px"}else{const Te=W.length>0&&b===W[0].ref.current;c.style.top="0px";const Ne=Math.max(ae,L+y.offsetTop+(Te?z:0)+ce)+se;c.style.height=Ne+"px",y.scrollTop=ve-ae+y.offsetTop}c.style.margin=`${Ja}px 0`,c.style.minHeight=Z+"px",c.style.maxHeight=B+"px",r?.(),requestAnimationFrame(()=>x.current=!0)}},[g,i.trigger,i.valueNode,c,f,y,b,S,i.dir,r]);Zn(()=>C(),[C]);const[k,A]=m.useState();Zn(()=>{f&&A(window.getComputedStyle(f).zIndex)},[f]);const P=m.useCallback(T=>{T&&j.current===!0&&(C(),N?.(),j.current=!1)},[C,N]);return a.jsx(Jme,{scope:n,contentWrapper:c,shouldExpandOnScrollRef:x,onScrollButtonChange:P,children:a.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:a.jsx(it.div,{...s,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});_B.displayName=Xme;var Qme="SelectPopperPosition",oN=m.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:s=Ja,...i}=e,o=_g(n);return a.jsx(yv,{...o,...i,ref:t,align:r,collisionPadding:s,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});oN.displayName=Qme;var[Jme,f_]=Su(ll,{}),lN="SelectViewport",AB=m.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...s}=e,i=mo(lN,n),o=f_(lN,n),c=_t(t,i.onViewportChange),d=m.useRef(0);return a.jsxs(a.Fragment,{children:[a.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),a.jsx(Ng.Slot,{scope:n,children:a.jsx(it.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:qe(s.onScroll,f=>{const h=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:g}=o;if(g?.current&&p){const x=Math.abs(d.current-h.scrollTop);if(x>0){const j=window.innerHeight-Ja*2,y=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),S=Math.max(y,b);if(S<j){const N=S+x,C=Math.min(j,N),k=N-C;p.style.height=C+"px",p.style.bottom==="0px"&&(h.scrollTop=k>0?k:0,p.style.justifyContent="flex-end")}}}d.current=h.scrollTop})})})]})});AB.displayName=lN;var kB="SelectGroup",[Zme,eve]=Su(kB),tve=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=Jn();return a.jsx(Zme,{scope:n,id:s,children:a.jsx(it.div,{role:"group","aria-labelledby":s,...r,ref:t})})});tve.displayName=kB;var PB="SelectLabel",EB=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=eve(PB,n);return a.jsx(it.div,{id:s.id,...r,ref:t})});EB.displayName=PB;var ev="SelectItem",[nve,TB]=Su(ev),RB=m.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:s=!1,textValue:i,...o}=e,c=ho(ev,n),d=mo(ev,n),f=c.value===r,[h,p]=m.useState(i??""),[g,x]=m.useState(!1),j=_t(t,N=>d.itemRefCallback?.(N,r,s)),y=Jn(),b=m.useRef("touch"),S=()=>{s||(c.onValueChange(r),c.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return a.jsx(nve,{scope:n,value:r,disabled:s,textId:y,isSelected:f,onItemTextChange:m.useCallback(N=>{p(C=>C||(N?.textContent??"").trim())},[]),children:a.jsx(Ng.ItemSlot,{scope:n,value:r,disabled:s,textValue:h,children:a.jsx(it.div,{role:"option","aria-labelledby":y,"data-highlighted":g?"":void 0,"aria-selected":f&&g,"data-state":f?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...o,ref:j,onFocus:qe(o.onFocus,()=>x(!0)),onBlur:qe(o.onBlur,()=>x(!1)),onClick:qe(o.onClick,()=>{b.current!=="mouse"&&S()}),onPointerUp:qe(o.onPointerUp,()=>{b.current==="mouse"&&S()}),onPointerDown:qe(o.onPointerDown,N=>{b.current=N.pointerType}),onPointerMove:qe(o.onPointerMove,N=>{b.current=N.pointerType,s?d.onItemLeave?.():b.current==="mouse"&&N.currentTarget.focus({preventScroll:!0})}),onPointerLeave:qe(o.onPointerLeave,N=>{N.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:qe(o.onKeyDown,N=>{d.searchRef?.current!==""&&N.key===" "||(Bme.includes(N.key)&&S(),N.key===" "&&N.preventDefault())})})})})});RB.displayName=ev;var _d="SelectItemText",OB=m.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:s,...i}=e,o=ho(_d,n),c=mo(_d,n),d=TB(_d,n),f=Vme(_d,n),[h,p]=m.useState(null),g=_t(t,S=>p(S),d.onItemTextChange,S=>c.itemTextRefCallback?.(S,d.value,d.disabled)),x=h?.textContent,j=m.useMemo(()=>a.jsx("option",{value:d.value,disabled:d.disabled,children:x},d.value),[d.disabled,d.value,x]),{onNativeOptionAdd:y,onNativeOptionRemove:b}=f;return Zn(()=>(y(j),()=>b(j)),[y,b,j]),a.jsxs(a.Fragment,{children:[a.jsx(it.span,{id:d.textId,...i,ref:g}),d.isSelected&&o.valueNode&&!o.valueNodeHasChildren?iu.createPortal(i.children,o.valueNode):null]})});OB.displayName=_d;var MB="SelectItemIndicator",IB=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return TB(MB,n).isSelected?a.jsx(it.span,{"aria-hidden":!0,...r,ref:t}):null});IB.displayName=MB;var cN="SelectScrollUpButton",$B=m.forwardRef((e,t)=>{const n=mo(cN,e.__scopeSelect),r=f_(cN,e.__scopeSelect),[s,i]=m.useState(!1),o=_t(t,r.onScrollButtonChange);return Zn(()=>{if(n.viewport&&n.isPositioned){let c=function(){const f=d.scrollTop>0;i(f)};const d=n.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[n.viewport,n.isPositioned]),s?a.jsx(LB,{...e,ref:o,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=n;c&&d&&(c.scrollTop=c.scrollTop-d.offsetHeight)}}):null});$B.displayName=cN;var uN="SelectScrollDownButton",DB=m.forwardRef((e,t)=>{const n=mo(uN,e.__scopeSelect),r=f_(uN,e.__scopeSelect),[s,i]=m.useState(!1),o=_t(t,r.onScrollButtonChange);return Zn(()=>{if(n.viewport&&n.isPositioned){let c=function(){const f=d.scrollHeight-d.clientHeight,h=Math.ceil(d.scrollTop)<f;i(h)};const d=n.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[n.viewport,n.isPositioned]),s?a.jsx(LB,{...e,ref:o,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=n;c&&d&&(c.scrollTop=c.scrollTop+d.offsetHeight)}}):null});DB.displayName=uN;var LB=m.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...s}=e,i=mo("SelectScrollButton",n),o=m.useRef(null),c=Cg(n),d=m.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return m.useEffect(()=>()=>d(),[d]),Zn(()=>{c().find(h=>h.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),a.jsx(it.div,{"aria-hidden":!0,...s,ref:t,style:{flexShrink:0,...s.style},onPointerDown:qe(s.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:qe(s.onPointerMove,()=>{i.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:qe(s.onPointerLeave,()=>{d()})})}),rve="SelectSeparator",FB=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return a.jsx(it.div,{"aria-hidden":!0,...r,ref:t})});FB.displayName=rve;var dN="SelectArrow",ave=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=_g(n),i=ho(dN,n),o=mo(dN,n);return i.open&&o.position==="popper"?a.jsx(bv,{...s,...r,ref:t}):null});ave.displayName=dN;var sve="SelectBubbleInput",zB=m.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const s=m.useRef(null),i=_t(r,s),o=Sg(t);return m.useEffect(()=>{const c=s.current;if(!c)return;const d=window.HTMLSelectElement.prototype,h=Object.getOwnPropertyDescriptor(d,"value").set;if(o!==t&&h){const p=new Event("change",{bubbles:!0});h.call(c,t),c.dispatchEvent(p)}},[o,t]),a.jsx(it.select,{...n,style:{...tD,...n.style},ref:i,defaultValue:t})});zB.displayName=sve;function BB(e){return e===""||e===void 0}function qB(e){const t=Fn(e),n=m.useRef(""),r=m.useRef(0),s=m.useCallback(o=>{const c=n.current+o;t(c),(function d(f){n.current=f,window.clearTimeout(r.current),f!==""&&(r.current=window.setTimeout(()=>d(""),1e3))})(c)},[t]),i=m.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return m.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,s,i]}function UB(e,t,n){const s=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let o=ive(e,Math.max(i,0));s.length===1&&(o=o.filter(f=>f!==n));const d=o.find(f=>f.textValue.toLowerCase().startsWith(s.toLowerCase()));return d!==n?d:void 0}function ive(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ove=vB,WB=xB,lve=bB,cve=wB,uve=jB,VB=SB,dve=AB,HB=EB,KB=RB,fve=OB,pve=IB,GB=$B,YB=DB,XB=FB;const Tn=ove,Rn=lve,_n=m.forwardRef(({className:e,children:t,...n},r)=>a.jsxs(WB,{ref:r,className:Pe("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[t,a.jsx(cve,{asChild:!0,children:a.jsx(Yt,{className:"h-4 w-4 opacity-50"})})]}));_n.displayName=WB.displayName;const QB=m.forwardRef(({className:e,...t},n)=>a.jsx(GB,{ref:n,className:Pe("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Ns,{className:"h-4 w-4"})}));QB.displayName=GB.displayName;const JB=m.forwardRef(({className:e,...t},n)=>a.jsx(YB,{ref:n,className:Pe("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Yt,{className:"h-4 w-4"})}));JB.displayName=YB.displayName;const An=m.forwardRef(({className:e,children:t,position:n="popper",...r},s)=>a.jsx(uve,{children:a.jsxs(VB,{ref:s,className:Pe("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[a.jsx(QB,{}),a.jsx(dve,{className:Pe("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),a.jsx(JB,{})]})}));An.displayName=VB.displayName;const hve=m.forwardRef(({className:e,...t},n)=>a.jsx(HB,{ref:n,className:Pe("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));hve.displayName=HB.displayName;const mt=m.forwardRef(({className:e,children:t,...n},r)=>a.jsxs(KB,{ref:r,className:Pe("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",e),...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(pve,{children:a.jsx(kc,{className:"h-4 w-4"})})}),a.jsx(fve,{children:t})]}));mt.displayName=KB.displayName;const mve=m.forwardRef(({className:e,...t},n)=>a.jsx(XB,{ref:n,className:Pe("-mx-1 my-1 h-px bg-muted",e),...t}));mve.displayName=XB.displayName;function fN(e){const n=(e.agentEntries&&e.agentEntries.length>0?e.agentEntries:e.agents.map(s=>({kind:"inline",agent:s}))).map(s=>s.kind==="inline"?s.agent.id:s.ref).map(s=>s.trim()).filter(Boolean),r=(e.runDefaults?.selectedAgentNames??[]).filter(s=>n.includes(s));return r.length>0?r:n}const Wi=e=>e.configName?.trim()||e.name,vve="(root)",ZB="__ROOT__",u$="mcplab.configurations.collapsedSuites",Gj=e=>e.suitePath&&e.suitePath.trim().length>0?e.suitePath.trim():null,Oo=e=>e??vve,Yj=e=>e===null?ZB:`suite:${e}`,gve=e=>e===ZB?null:e.startsWith("suite:")?e.slice(6):null,xve=(e,t)=>t===null?e===null:e===null?!1:e===t||e.startsWith(`${t}/`),yve=e=>{for(const t of e){const n=t.scenarioEntries??[];for(const s of n){if(s.kind==="inline"&&s.scenario?.id)return String(s.scenario.id);if(s.kind==="referenced"&&s.ref)return String(s.ref)}const r=t.scenarios??[];for(const s of r)if(s?.id)return String(s.id)}return null},bve=e=>yve([e]),wve=e=>{const t=bve(e);return t?{href:`/results?scenario=${encodeURIComponent(t)}`,tooltipLabel:`Open results filtered by scenario ${t}`}:{href:"/results",tooltipLabel:"Open results"}},d$=["bg-red-400","bg-red-500","bg-orange-400","bg-orange-500","bg-amber-400","bg-amber-500","bg-yellow-400","bg-yellow-500","bg-lime-400","bg-lime-500","bg-green-400","bg-green-500","bg-emerald-400","bg-emerald-500","bg-teal-400","bg-teal-500","bg-cyan-400","bg-cyan-500","bg-sky-400","bg-sky-500","bg-blue-400","bg-blue-500","bg-indigo-400","bg-indigo-500","bg-violet-400","bg-violet-500","bg-purple-400","bg-purple-500","bg-fuchsia-400","bg-fuchsia-500","bg-pink-400","bg-pink-500","bg-rose-400","bg-rose-500"];function jve(e){if(e===null)return"bg-slate-400";const t=e.split("").reduce((n,r)=>(n+r.charCodeAt(0))%d$.length,0);return d$[t]??"bg-slate-400"}const Sve=()=>{const{configs:e,deleteConfig:t,cloneConfig:n,loading:r,reload:s}=Lf(),{source:i}=Nn(),o=Ba(),[c,d]=m.useState("name"),[f,h]=m.useState("asc"),[p,g]=m.useState(""),[x,j]=m.useState("all"),[y,b]=m.useState(()=>{try{const G=window.localStorage.getItem(u$);if(!G)return new Set;const ae=JSON.parse(G);return Array.isArray(ae)?new Set(ae.filter(ee=>typeof ee=="string")):new Set}catch(G){return console.warn("Failed to restore collapsed suites from localStorage",G),new Set}}),[S,N]=m.useState(new Set),[C,k]=m.useState(new Set),[A,P]=m.useState(new Set),[T,R]=m.useState({}),M=p.trim().toLowerCase(),D=G=>{if(c===G){h(ae=>ae==="asc"?"desc":"asc");return}d(G),h(G==="updatedAt"?"desc":"asc")};m.useEffect(()=>{s();const G=()=>{s()};return window.addEventListener("focus",G),()=>{window.removeEventListener("focus",G)}},[s]),m.useEffect(()=>{let G=!1;return(async()=>{try{if(i.getLatestPassRatesByConfigIds){const ee=await i.getLatestPassRatesByConfigIds({lastDays:365,configs:e.map(ce=>({id:ce.id,sourcePath:ce.sourcePath,relativePath:ce.relativePath,configHash:ce.configHash}))});G||R(ee);return}R({})}catch{G||R({})}})(),()=>{G=!0}},[e,i]);const W=async(G,ae)=>{await t(G),Me({title:"Deleted",description:`"${ae}" has been removed.`})},B=async G=>{const ae=await n(G);Me({title:"Cloned",description:`Created "${Wi(ae)}".`}),o(`/mcp-evaluations/${ae.id}`)},Y=G=>G.agentEntries?.length??G.agents?.length??0,V=G=>G.scenarioEntries?.length??G.scenarios?.length??0,L=m.useMemo(()=>{const G=new Set;for(const ae of e){const ee=Gj(ae);if(G.add(ee),!ee)continue;const ce=ee.split("/").filter(Boolean);for(let oe=1;oe<ce.length;oe+=1)G.add(ce.slice(0,oe).join("/"))}return Array.from(G).sort((ae,ee)=>Oo(ae).localeCompare(Oo(ee)))},[e]),I=m.useMemo(()=>e.filter(G=>{const ae=Gj(G),ee=x==="all"?void 0:gve(x),ce=Oo(ae);return ee!==void 0&&!xve(ae,ee)?!1:M.length===0?!0:[Wi(G),G.id,G.description??"",G.loadError??"",ce,G.relativePath??""].join(" ").toLowerCase().includes(M)}),[e,M,x]),Q=m.useMemo(()=>[...I].sort((ae,ee)=>{let ce=0;return c==="name"&&(ce=Wi(ae).localeCompare(Wi(ee))),c==="scenarios"&&(ce=V(ae)-V(ee)),c==="agents"&&(ce=Y(ae)-Y(ee)),c==="updatedAt"&&(ce=new Date(ae.updatedAt).getTime()-new Date(ee.updatedAt).getTime()),f==="asc"?ce:-ce}),[I,c,f]),H=G=>c!==G?a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"}):f==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}),O=G=>{b(ae=>{const ee=new Set(ae);return ee.has(G)?ee.delete(G):ee.add(G),ee})},Z=async(G,ae,ee)=>{if(C.has(G))return;const ce=e.find(ve=>ve.id===G),oe=ce?fN(ce):[];k(ve=>new Set(ve).add(G));try{await i.startRun({configPath:ae,runsPerScenario:1,...oe.length>0?{agents:oe}:{}}),N(ve=>new Set(ve).add(G)),window.setTimeout(()=>{N(ve=>{const se=new Set(ve);return se.delete(G),se})},2e3),Me({title:"Queued",description:`"${ee}" added to run queue.`})}catch(ve){Me({title:"Could not queue evaluation",description:ve instanceof Error?ve.message:String(ve),variant:"destructive"})}finally{k(ve=>{const se=new Set(ve);return se.delete(G),se})}};m.useEffect(()=>{try{window.localStorage.setItem(u$,JSON.stringify(Array.from(y)))}catch(G){console.warn("Failed to persist collapsed suites to localStorage (quota/private mode?)",G)}},[y]);const U=async(G,ae,ee)=>{if(!A.has(G)){P(ce=>new Set(ce).add(G));try{const ce=ee.filter(J=>typeof J.sourcePath=="string"&&J.sourcePath.trim().length>0);if(ce.length===0){Me({title:"No runnable evaluations",description:`Suite "${ae}" has no evaluation files with a source path.`,variant:"destructive"});return}const oe=await Promise.allSettled(ce.map(J=>{const Ne=fN(J);return i.startRun({configPath:String(J.sourcePath),runsPerScenario:1,...Ne.length>0?{agents:Ne}:{}})})),ve=oe.filter(J=>J.status==="fulfilled").length,se=oe.length-ve,pe=oe.find(J=>J.status==="rejected"),Te=pe?pe.reason instanceof Error?pe.reason.message:String(pe.reason):void 0;Me({title:se===0?"Suite queued":"Suite queued with errors",description:se===0?`Queued ${ve} evaluation${ve===1?"":"s"} for suite "${ae}".`:`Queued ${ve}/${ce.length} evaluations for suite "${ae}" (${se} failed${Te?`: ${Te}`:""}).`,variant:se===0?"default":"destructive"})}catch(ce){Me({title:"Could not queue suite",description:ce instanceof Error?ce.message:String(ce),variant:"destructive"})}finally{P(ce=>{const oe=new Set(ce);return oe.delete(G),oe})}}},z=m.useMemo(()=>{const G=new Map;for(const ae of Q){const ee=Gj(ae),ce=G.get(ee);ce?ce.push(ae):G.set(ee,[ae])}return Array.from(G.entries()).sort((ae,ee)=>Oo(ae[0]).localeCompare(Oo(ee[0])))},[Q]);return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[a.jsx(kD,{className:"h-6 w-6"}),"MCP Evaluations"]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Manage your MCP evaluation suites"})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(a_,{value:p,onValueChange:g,placeholder:"Search evaluations..."}),a.jsxs(Tn,{value:x,onValueChange:j,children:[a.jsx(_n,{className:"h-9 w-[200px]",children:a.jsx(Rn,{placeholder:"All suites"})}),a.jsxs(An,{children:[a.jsx(mt,{value:"all",children:"All suites"}),L.map(G=>a.jsx(mt,{value:Yj(G),children:Oo(G)},Yj(G)))]})]}),a.jsxs(re,{variant:"outline",size:"sm",onClick:()=>{s()},children:[a.jsx(Ea,{className:"mr-2 h-4 w-4"}),"Refresh"]}),a.jsxs(re,{variant:"outline",size:"sm",children:[a.jsx(j9,{className:"mr-2 h-4 w-4"}),"Import YAML"]}),a.jsx(re,{size:"sm",asChild:!0,children:a.jsxs(St,{to:"/mcp-evaluations/new",children:[a.jsx(ii,{className:"mr-2 h-4 w-4"}),"Create New"]})})]})]}),a.jsx(et,{children:a.jsx(tt,{className:"p-0",children:a.jsxs(Br,{children:[a.jsx(qr,{children:a.jsxs(Ft,{children:[a.jsx(lt,{children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>D("name"),children:["Name",H("name")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>D("scenarios"),children:["Scenarios",H("scenarios")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>D("agents"),children:["Agents",H("agents")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>D("updatedAt"),children:["Last Updated",H("updatedAt")]})}),a.jsx(lt,{className:"text-right",children:"Last Run"}),a.jsx(lt,{className:"w-[220px] text-right"})]})}),a.jsxs(Ur,{children:[z.map(([G,ae])=>{const ee=Oo(G),ce=Yj(G),oe=y.has(ce),ve=A.has(ce);return a.jsxs(m.Fragment,{children:[a.jsx(Ft,{className:"bg-muted/40 hover:bg-muted/40",children:a.jsx(We,{colSpan:6,className:"py-2",children:a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs("button",{type:"button",className:"inline-flex h-6 items-center gap-2 text-xs leading-none hover:text-foreground",onClick:()=>O(ce),"aria-expanded":!oe,"aria-label":`${oe?"Expand":"Collapse"} suite ${ee}`,children:[a.jsx(RN,{className:`h-3.5 w-3.5 text-muted-foreground transition-transform ${oe?"":"rotate-90"}`,"aria-hidden":"true"}),a.jsx("span",{className:`h-2 w-2 rounded-full ${jve(G)}`,"aria-hidden":"true"}),G===null?a.jsx(p9,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"}):a.jsx(d9,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"}),a.jsx("span",{className:"font-medium",children:ee}),a.jsxs("span",{className:"text-muted-foreground",children:["(",ae.length,")"]})]}),a.jsxs(re,{type:"button",size:"sm",variant:"outline",className:"h-7 px-2 text-xs",disabled:ve,onClick:()=>{U(ce,ee,ae)},children:[a.jsx(is,{className:"mr-1 h-3.5 w-3.5"}),ve?"Queueing...":"Run Suite"]})]})})},`suite-${ce}`),!oe&&ae.map(se=>{const pe=wve(se);return a.jsxs(Ft,{children:[a.jsx(We,{children:a.jsxs("div",{children:[a.jsx(St,{to:`/mcp-evaluations/${se.id}`,className:"font-medium text-sm hover:text-primary",children:Wi(se)}),se.loadError&&a.jsxs(nt,{variant:"destructive",className:"ml-2 align-middle text-[10px]",children:[a.jsx(Mh,{className:"mr-1 h-3 w-3"}),"Broken"]}),se.relativePath&&a.jsx("div",{className:"mt-0.5",children:a.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:se.relativePath})}),se.loadError&&a.jsx("p",{className:"text-xs text-destructive mt-0.5 break-all",children:se.loadError})]})}),a.jsx(We,{className:"text-right font-mono text-sm",children:V(se)}),a.jsx(We,{className:"text-right font-mono text-sm",children:Y(se)}),a.jsx(We,{className:"text-right text-xs text-muted-foreground",children:a.jsxs("div",{className:"inline-flex items-center gap-1",children:[a.jsx(os,{className:"h-3 w-3"}),new Date(se.updatedAt).toLocaleDateString()]})}),a.jsx(We,{className:"text-right",children:typeof T[se.id]=="number"?a.jsx("div",{className:"inline-flex justify-end",children:a.jsx(ws,{rate:T[se.id]})}):""}),a.jsx(We,{className:"w-[220px] whitespace-nowrap",children:a.jsxs("div",{className:"flex items-center justify-end gap-2",children:[a.jsxs(Qf,{children:[a.jsx(Jf,{asChild:!0,children:a.jsx(re,{variant:"ghost",size:"icon",className:"h-8 w-8",children:a.jsx(dv,{className:"h-4 w-4"})})}),a.jsxs(ju,{align:"end",children:[a.jsxs(Sr,{onClick:()=>o(`/mcp-evaluations/${se.id}`),children:[a.jsx(fv,{className:"mr-2 h-3.5 w-3.5"}),"Edit"]}),a.jsxs(Sr,{onClick:()=>{B(se.id)},children:[a.jsx(Hr,{className:"mr-2 h-3.5 w-3.5"}),"Clone"]}),a.jsxs(Sr,{className:"text-destructive",onClick:()=>{W(se.id,Wi(se))},children:[a.jsx(Ta,{className:"mr-2 h-3.5 w-3.5"}),"Delete"]})]})]}),a.jsx(ci,{children:a.jsxs(ui,{children:[a.jsx(di,{asChild:!0,children:a.jsx(re,{size:"icon",variant:"outline",className:"h-8 w-8",asChild:!0,"aria-label":pe.tooltipLabel,children:a.jsxs(St,{to:pe.href,children:[a.jsx(Ac,{className:"h-3.5 w-3.5"}),a.jsx("span",{className:"sr-only",children:pe.tooltipLabel})]})})}),a.jsx(Es,{children:pe.tooltipLabel})]})}),a.jsx(ci,{children:a.jsxs(ui,{children:[a.jsx(di,{asChild:!0,children:a.jsx(re,{size:"sm",variant:"outline",className:`h-8 px-2 text-xs ${S.has(se.id)?"border-green-600 bg-green-600 text-white hover:bg-green-700 hover:text-white":""}`,disabled:C.has(se.id)||!se.sourcePath,onClick:()=>se.sourcePath&&void Z(se.id,se.sourcePath,Wi(se)),"aria-label":`Queue ${Wi(se)}`,children:S.has(se.id)?"Queued":C.has(se.id)?"Queueing...":a.jsxs(a.Fragment,{children:[a.jsx(v9,{className:"h-3.5 w-3.5"}),a.jsx("span",{className:"sr-only",children:"Queue evaluation"})]})})}),a.jsx(Es,{children:"Queue evaluation run"})]})}),a.jsx(re,{size:"sm",variant:"outline",asChild:!0,children:a.jsxs(St,{to:`/run?configId=${encodeURIComponent(se.id)}`,children:[a.jsx(is,{className:"h-3.5 w-3.5"}),"Run"]})})]})})]},se.id)})]},`suite-group-${ce}`)}),!r&&e.length===0&&a.jsx(Ft,{children:a.jsx(We,{colSpan:6,className:"text-center py-12 text-muted-foreground",children:"No MCP evaluations yet. Create your first one to get started."})}),!r&&e.length>0&&Q.length===0&&a.jsx(Ft,{children:a.jsx(We,{colSpan:6,className:"text-center py-12 text-muted-foreground",children:"No MCP evaluations match this filter."})}),r&&a.jsx(Ft,{children:a.jsx(We,{colSpan:6,className:"text-center py-12 text-muted-foreground",children:"Loading MCP evaluations..."})})]})]})})})]})};var Nve=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Cve=Nve.reduce((e,t)=>{const n=Av(`Primitive.${t}`),r=m.forwardRef((s,i)=>{const{asChild:o,...c}=s,d=o?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(d,{...c,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),_ve="Label",e6=m.forwardRef((e,t)=>a.jsx(Cve.label,{...e,ref:t,onMouseDown:n=>{n.target.closest("button, input, select, textarea")||(e.onMouseDown?.(n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));e6.displayName=_ve;var t6=e6;const Ave=gl("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),He=m.forwardRef(({className:e,...t},n)=>a.jsx(t6,{ref:n,className:Pe(Ave(),e),...t}));He.displayName=t6.displayName;const Os=m.forwardRef(({className:e,...t},n)=>a.jsx("textarea",{className:Pe("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...t}));Os.displayName="Textarea";var Ag="Tabs",[kve]=fr(Ag,[yg]),n6=yg(),[Pve,p_]=kve(Ag),r6=m.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:s,defaultValue:i,orientation:o="horizontal",dir:c,activationMode:d="automatic",...f}=e,h=wu(c),[p,g]=da({prop:r,onChange:s,defaultProp:i??"",caller:Ag});return a.jsx(Pve,{scope:n,baseId:Jn(),value:p,onValueChange:g,orientation:o,dir:h,activationMode:d,children:a.jsx(it.div,{dir:h,"data-orientation":o,...f,ref:t})})});r6.displayName=Ag;var a6="TabsList",s6=m.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...s}=e,i=p_(a6,n),o=n6(n);return a.jsx(yz,{asChild:!0,...o,orientation:i.orientation,dir:i.dir,loop:r,children:a.jsx(it.div,{role:"tablist","aria-orientation":i.orientation,...s,ref:t})})});s6.displayName=a6;var i6="TabsTrigger",o6=m.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:s=!1,...i}=e,o=p_(i6,n),c=n6(n),d=u6(o.baseId,r),f=d6(o.baseId,r),h=r===o.value;return a.jsx(bz,{asChild:!0,...c,focusable:!s,active:h,children:a.jsx(it.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":f,"data-state":h?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:d,...i,ref:t,onMouseDown:qe(e.onMouseDown,p=>{!s&&p.button===0&&p.ctrlKey===!1?o.onValueChange(r):p.preventDefault()}),onKeyDown:qe(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&o.onValueChange(r)}),onFocus:qe(e.onFocus,()=>{const p=o.activationMode!=="manual";!h&&!s&&p&&o.onValueChange(r)})})})});o6.displayName=i6;var l6="TabsContent",c6=m.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:s,children:i,...o}=e,c=p_(l6,n),d=u6(c.baseId,r),f=d6(c.baseId,r),h=r===c.value,p=m.useRef(h);return m.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),a.jsx(Wn,{present:s||h,children:({present:g})=>a.jsx(it.div,{"data-state":h?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":d,hidden:!g,id:f,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&i})})});c6.displayName=l6;function u6(e,t){return`${e}-trigger-${t}`}function d6(e,t){return`${e}-content-${t}`}var Eve=r6,f6=s6,p6=o6,h6=c6;const kg=Eve,Zf=m.forwardRef(({className:e,...t},n)=>a.jsx(f6,{ref:n,className:Pe("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));Zf.displayName=f6.displayName;const ks=m.forwardRef(({className:e,...t},n)=>a.jsx(p6,{ref:n,className:Pe("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",e),...t}));ks.displayName=p6.displayName;const Af=m.forwardRef(({className:e,...t},n)=>a.jsx(h6,{ref:n,className:Pe("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));Af.displayName=h6.displayName;const Tve={openai:"OpenAI",anthropic:"Anthropic",azure:"Azure OpenAI",azure_openai:"Azure OpenAI",google:"Google"};function tv(e){return Tve[e]??e}const f$={openai:"bg-emerald-100 text-emerald-800",anthropic:"bg-orange-100 text-orange-800",azure:"bg-blue-100 text-blue-800",azure_openai:"bg-blue-100 text-blue-800",google:"bg-yellow-100 text-yellow-800",custom:"bg-gray-100 text-gray-800"};function m6({provider:e}){return a.jsx("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${f$[e]??f$.custom}`,children:tv(e)})}var Pg="Collapsible",[Rve]=fr(Pg),[Ove,h_]=Rve(Pg),v6=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:s,disabled:i,onOpenChange:o,...c}=e,[d,f]=da({prop:r,defaultProp:s??!1,onChange:o,caller:Pg});return a.jsx(Ove,{scope:n,disabled:i,contentId:Jn(),open:d,onOpenToggle:m.useCallback(()=>f(h=>!h),[f]),children:a.jsx(it.div,{"data-state":v_(d),"data-disabled":i?"":void 0,...c,ref:t})})});v6.displayName=Pg;var g6="CollapsibleTrigger",x6=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,s=h_(g6,n);return a.jsx(it.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":v_(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...r,ref:t,onClick:qe(e.onClick,s.onOpenToggle)})});x6.displayName=g6;var m_="CollapsibleContent",y6=m.forwardRef((e,t)=>{const{forceMount:n,...r}=e,s=h_(m_,e.__scopeCollapsible);return a.jsx(Wn,{present:n||s.open,children:({present:i})=>a.jsx(Mve,{...r,ref:t,present:i})})});y6.displayName=m_;var Mve=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:s,...i}=e,o=h_(m_,n),[c,d]=m.useState(r),f=m.useRef(null),h=_t(t,f),p=m.useRef(0),g=p.current,x=m.useRef(0),j=x.current,y=o.open||c,b=m.useRef(y),S=m.useRef(void 0);return m.useEffect(()=>{const N=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(N)},[]),Zn(()=>{const N=f.current;if(N){S.current=S.current||{transitionDuration:N.style.transitionDuration,animationName:N.style.animationName},N.style.transitionDuration="0s",N.style.animationName="none";const C=N.getBoundingClientRect();p.current=C.height,x.current=C.width,b.current||(N.style.transitionDuration=S.current.transitionDuration,N.style.animationName=S.current.animationName),d(r)}},[o.open,r]),a.jsx(it.div,{"data-state":v_(o.open),"data-disabled":o.disabled?"":void 0,id:o.contentId,hidden:!y,...i,ref:h,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":j?`${j}px`:void 0,...e.style},children:y&&s})});function v_(e){return e?"open":"closed"}var Ive=v6;const ns=Ive,Na=x6,rs=y6;function Pa({text:e,variant:t="assistant",className:n}){const r=$ve(e);return a.jsx("div",{className:Pe("space-y-2",t==="system"&&"text-xs",n),children:r.map((s,i)=>a.jsx(m.Fragment,{children:Dve(s,i,t)},`md-${i}`))})}function $ve(e){const t=e.replace(/\r\n/g,`
120
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function uz(e,t){if(e){if(typeof e=="string")return nN(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return nN(e,t)}}function Bpe(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function qpe(e){if(Array.isArray(e))return nN(e)}function nN(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function n$(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(s){return Object.getOwnPropertyDescriptor(e,s).enumerable})),n.push.apply(n,r)}return n}function _e(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]!=null?arguments[t]:{};t%2?n$(Object(n),!0).forEach(function(r){Et(e,r,n[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):n$(Object(n)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))})}return e}function Et(e,t,n){return t=dz(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function dz(e){var t=Upe(e,"string");return nu(t)=="symbol"?t:t+""}function Upe(e,t){if(nu(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(nu(r)!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var Wpe={xAxis:["bottom","top"],yAxis:["left","right"]},Vpe={width:"100%",height:"100%"},fz={x:0,y:0};function kh(e){return e}var Hpe=function(t,n){return n==="horizontal"?t.x:n==="vertical"?t.y:n==="centric"?t.angle:t.radius},Kpe=function(t,n,r,s){var i=n.find(function(h){return h&&h.index===r});if(i){if(t==="horizontal")return{x:i.coordinate,y:s.y};if(t==="vertical")return{x:s.x,y:i.coordinate};if(t==="centric"){var o=i.coordinate,c=s.radius;return _e(_e(_e({},s),yn(s.cx,s.cy,c,o)),{},{angle:o,radius:c})}var d=i.coordinate,f=s.angle;return _e(_e(_e({},s),yn(s.cx,s.cy,d,f)),{},{angle:f,radius:d})}return fz},xg=function(t,n){var r=n.graphicalItems,s=n.dataStartIndex,i=n.dataEndIndex,o=(r??[]).reduce(function(c,d){var f=d.props.data;return f&&f.length?[].concat(ru(c),ru(f)):c},[]);return o.length>0?o:t&&t.length&&rt(s)&&rt(i)?t.slice(s,i+1):[]};function pz(e){return e==="number"?[0,"auto"]:void 0}var rN=function(t,n,r,s){var i=t.graphicalItems,o=t.tooltipAxis,c=xg(n,t);return r<0||!i||!i.length||r>=c.length?null:i.reduce(function(d,f){var h,p=(h=f.props.data)!==null&&h!==void 0?h:n;p&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=r&&(p=p.slice(t.dataStartIndex,t.dataEndIndex+1));var g;if(o.dataKey&&!o.allowDuplicatedCategory){var x=p===void 0?c:p;g=Qh(x,o.dataKey,s)}else g=p&&p[r]||c[r];return g?[].concat(ru(d),[nF(f,g)]):d},[])},r$=function(t,n,r,s){var i=s||{x:t.chartX,y:t.chartY},o=Hpe(i,r),c=t.orderedTooltipTicks,d=t.tooltipAxis,f=t.tooltipTicks,h=Ese(o,c,f,d);if(h>=0&&f){var p=f[h]&&f[h].value,g=rN(t,n,h,p),x=Kpe(r,c,h,i);return{activeTooltipIndex:h,activeLabel:p,activePayload:g,activeCoordinate:x}}return null},Gpe=function(t,n){var r=n.axes,s=n.graphicalItems,i=n.axisType,o=n.axisIdKey,c=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,h=t.layout,p=t.children,g=t.stackOffset,x=Q4(h,i);return r.reduce(function(j,y){var b,S=y.type.defaultProps!==void 0?_e(_e({},y.type.defaultProps),y.props):y.props,N=S.type,C=S.dataKey,k=S.allowDataOverflow,A=S.allowDuplicatedCategory,P=S.scale,T=S.ticks,R=S.includeHidden,M=S[o];if(j[M])return j;var D=xg(t.data,{graphicalItems:s.filter(function(z){var G,ae=o in z.props?z.props[o]:(G=z.type.defaultProps)===null||G===void 0?void 0:G[o];return ae===M}),dataStartIndex:d,dataEndIndex:f}),W=D.length,B,Y,V;bpe(S.domain,k,N)&&(B=g1(S.domain,null,k),x&&(N==="number"||P!=="auto")&&(V=Td(D,C,"category")));var L=pz(N);if(!B||B.length===0){var I,Q=(I=S.domain)!==null&&I!==void 0?I:L;if(C){if(B=Td(D,C,N),N==="category"&&x){var H=SQ(B);A&&H?(Y=B,B=Lm(0,W)):A||(B=oM(Q,B,y).reduce(function(z,G){return z.indexOf(G)>=0?z:[].concat(ru(z),[G])},[]))}else if(N==="category")A?B=B.filter(function(z){return z!==""&&!Lt(z)}):B=oM(Q,B,y).reduce(function(z,G){return z.indexOf(G)>=0||G===""||Lt(G)?z:[].concat(ru(z),[G])},[]);else if(N==="number"){var O=Ise(D,s.filter(function(z){var G,ae,ee=o in z.props?z.props[o]:(G=z.type.defaultProps)===null||G===void 0?void 0:G[o],ce="hide"in z.props?z.props.hide:(ae=z.type.defaultProps)===null||ae===void 0?void 0:ae.hide;return ee===M&&(R||!ce)}),C,i,h);O&&(B=O)}x&&(N==="number"||P!=="auto")&&(V=Td(D,C,"category"))}else x?B=Lm(0,W):c&&c[M]&&c[M].hasStack&&N==="number"?B=g==="expand"?[0,1]:tF(c[M].stackGroups,d,f):B=X4(D,s.filter(function(z){var G=o in z.props?z.props[o]:z.type.defaultProps[o],ae="hide"in z.props?z.props.hide:z.type.defaultProps.hide;return G===M&&(R||!ae)}),N,h,!0);if(N==="number")B=eN(p,B,M,i,T),Q&&(B=g1(Q,B,k));else if(N==="category"&&Q){var Z=Q,U=B.every(function(z){return Z.indexOf(z)>=0});U&&(B=Z)}}return _e(_e({},j),{},Et({},M,_e(_e({},S),{},{axisType:i,domain:B,categoricalDomain:V,duplicateDomain:Y,originalDomain:(b=S.domain)!==null&&b!==void 0?b:L,isCategorical:x,layout:h})))},{})},Ype=function(t,n){var r=n.graphicalItems,s=n.Axis,i=n.axisType,o=n.axisIdKey,c=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,h=t.layout,p=t.children,g=xg(t.data,{graphicalItems:r,dataStartIndex:d,dataEndIndex:f}),x=g.length,j=Q4(h,i),y=-1;return r.reduce(function(b,S){var N=S.type.defaultProps!==void 0?_e(_e({},S.type.defaultProps),S.props):S.props,C=N[o],k=pz("number");if(!b[C]){y++;var A;return j?A=Lm(0,x):c&&c[C]&&c[C].hasStack?(A=tF(c[C].stackGroups,d,f),A=eN(p,A,C,i)):(A=g1(k,X4(g,r.filter(function(P){var T,R,M=o in P.props?P.props[o]:(T=P.type.defaultProps)===null||T===void 0?void 0:T[o],D="hide"in P.props?P.props.hide:(R=P.type.defaultProps)===null||R===void 0?void 0:R.hide;return M===C&&!D}),"number",h),s.defaultProps.allowDataOverflow),A=eN(p,A,C,i)),_e(_e({},b),{},Et({},C,_e(_e({axisType:i},s.defaultProps),{},{hide:!0,orientation:ca(Wpe,"".concat(i,".").concat(y%2),null),domain:A,originalDomain:k,isCategorical:j,layout:h})))}return b},{})},Xpe=function(t,n){var r=n.axisType,s=r===void 0?"xAxis":r,i=n.AxisComp,o=n.graphicalItems,c=n.stackGroups,d=n.dataStartIndex,f=n.dataEndIndex,h=t.children,p="".concat(s,"Id"),g=ua(h,i),x={};return g&&g.length?x=Gpe(t,{axes:g,graphicalItems:o,axisType:s,axisIdKey:p,stackGroups:c,dataStartIndex:d,dataEndIndex:f}):o&&o.length&&(x=Ype(t,{Axis:i,graphicalItems:o,axisType:s,axisIdKey:p,stackGroups:c,dataStartIndex:d,dataEndIndex:f})),x},Qpe=function(t){var n=uc(t),r=Uo(n,!1,!0);return{tooltipTicks:r,orderedTooltipTicks:NC(r,function(s){return s.coordinate}),tooltipAxis:n,tooltipAxisBandSize:Nm(n,r)}},a$=function(t){var n=t.children,r=t.defaultShowTooltip,s=na(n,Kc),i=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),s&&s.props&&(s.props.startIndex>=0&&(i=s.props.startIndex),s.props.endIndex>=0&&(o=s.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:i,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!r}},Jpe=function(t){return!t||!t.length?!1:t.some(function(n){var r=ei(n&&n.type);return r&&r.indexOf("Bar")>=0})},s$=function(t){return t==="horizontal"?{numericAxisName:"yAxis",cateAxisName:"xAxis"}:t==="vertical"?{numericAxisName:"xAxis",cateAxisName:"yAxis"}:t==="centric"?{numericAxisName:"radiusAxis",cateAxisName:"angleAxis"}:{numericAxisName:"angleAxis",cateAxisName:"radiusAxis"}},Zpe=function(t,n){var r=t.props,s=t.graphicalItems,i=t.xAxisMap,o=i===void 0?{}:i,c=t.yAxisMap,d=c===void 0?{}:c,f=r.width,h=r.height,p=r.children,g=r.margin||{},x=na(p,Kc),j=na(p,Ko),y=Object.keys(d).reduce(function(A,P){var T=d[P],R=T.orientation;return!T.mirror&&!T.hide?_e(_e({},A),{},Et({},R,A[R]+T.width)):A},{left:g.left||0,right:g.right||0}),b=Object.keys(o).reduce(function(A,P){var T=o[P],R=T.orientation;return!T.mirror&&!T.hide?_e(_e({},A),{},Et({},R,ca(A,"".concat(R))+T.height)):A},{top:g.top||0,bottom:g.bottom||0}),S=_e(_e({},b),y),N=S.bottom;x&&(S.bottom+=x.props.height||Kc.defaultProps.height),j&&n&&(S=Ose(S,s,r,n));var C=f-S.left-S.right,k=h-S.top-S.bottom;return _e(_e({brushBottom:N},S),{},{width:Math.max(C,0),height:Math.max(k,0)})},ehe=function(t,n){if(n==="xAxis")return t[n].width;if(n==="yAxis")return t[n].height},n_=function(t){var n=t.chartName,r=t.GraphicalChild,s=t.defaultTooltipEventType,i=s===void 0?"axis":s,o=t.validateTooltipEventTypes,c=o===void 0?["axis"]:o,d=t.axisComponents,f=t.legendContent,h=t.formatAxisMap,p=t.defaultProps,g=function(S,N){var C=N.graphicalItems,k=N.stackGroups,A=N.offset,P=N.updateId,T=N.dataStartIndex,R=N.dataEndIndex,M=S.barSize,D=S.layout,W=S.barGap,B=S.barCategoryGap,Y=S.maxBarSize,V=s$(D),L=V.numericAxisName,I=V.cateAxisName,Q=Jpe(C),H=[];return C.forEach(function(O,Z){var U=xg(S.data,{graphicalItems:[O],dataStartIndex:T,dataEndIndex:R}),z=O.type.defaultProps!==void 0?_e(_e({},O.type.defaultProps),O.props):O.props,G=z.dataKey,ae=z.maxBarSize,ee=z["".concat(L,"Id")],ce=z["".concat(I,"Id")],oe={},ve=d.reduce(function(Be,At){var qt=N["".concat(At.axisType,"Map")],Tt=z["".concat(At.axisType,"Id")];qt&&qt[Tt]||At.axisType==="zAxis"||sl();var Jt=qt[Tt];return _e(_e({},Be),{},Et(Et({},At.axisType,Jt),"".concat(At.axisType,"Ticks"),Uo(Jt)))},oe),se=ve[I],pe=ve["".concat(I,"Ticks")],Te=k&&k[ee]&&k[ee].hasStack&&Wse(O,k[ee].stackGroups),J=ei(O.type).indexOf("Bar")>=0,Ne=Nm(se,pe),je=[],ct=Q&&Tse({barSize:M,stackGroups:k,totalSize:ehe(ve,I)});if(J){var at,vt,Ce=Lt(ae)?Y:ae,Se=(at=(vt=Nm(se,pe,!0))!==null&&vt!==void 0?vt:Ce)!==null&&at!==void 0?at:0;je=Rse({barGap:W,barCategoryGap:B,bandSize:Se!==Ne?Se:Ne,sizeList:ct[ce],maxBarSize:Ce}),Se!==Ne&&(je=je.map(function(Be){return _e(_e({},Be),{},{position:_e(_e({},Be.position),{},{offset:Be.position.offset-Se/2})})}))}var Ke=O&&O.type&&O.type.getComposedData;Ke&&H.push({props:_e(_e({},Ke(_e(_e({},ve),{},{displayedData:U,props:S,dataKey:G,item:O,bandSize:Ne,barPosition:je,offset:A,stackedData:Te,layout:D,dataStartIndex:T,dataEndIndex:R}))),{},Et(Et(Et({key:O.key||"item-".concat(Z)},L,ve[L]),I,ve[I]),"animationId",P)),childIndex:$Q(O,S.children),item:O})}),H},x=function(S,N){var C=S.props,k=S.dataStartIndex,A=S.dataEndIndex,P=S.updateId;if(!wT({props:C}))return null;var T=C.children,R=C.layout,M=C.stackOffset,D=C.data,W=C.reverseStackOrder,B=s$(R),Y=B.numericAxisName,V=B.cateAxisName,L=ua(T,r),I=qse(D,L,"".concat(Y,"Id"),"".concat(V,"Id"),M,W),Q=d.reduce(function(z,G){var ae="".concat(G.axisType,"Map");return _e(_e({},z),{},Et({},ae,Xpe(C,_e(_e({},G),{},{graphicalItems:L,stackGroups:G.axisType===Y&&I,dataStartIndex:k,dataEndIndex:A}))))},{}),H=Zpe(_e(_e({},Q),{},{props:C,graphicalItems:L}),N?.legendBBox);Object.keys(Q).forEach(function(z){Q[z]=h(C,Q[z],H,z.replace("Map",""),n)});var O=Q["".concat(V,"Map")],Z=Qpe(O),U=g(C,_e(_e({},Q),{},{dataStartIndex:k,dataEndIndex:A,updateId:P,graphicalItems:L,stackGroups:I,offset:H}));return _e(_e({formattedGraphicalItems:U,graphicalItems:L,offset:H,stackGroups:I},Z),Q)},j=(function(b){function S(N){var C,k,A;return Ope(this,S),A=$pe(this,S,[N]),Et(A,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),Et(A,"accessibilityManager",new ype),Et(A,"handleLegendBBoxUpdate",function(P){if(P){var T=A.state,R=T.dataStartIndex,M=T.dataEndIndex,D=T.updateId;A.setState(_e({legendBBox:P},x({props:A.props,dataStartIndex:R,dataEndIndex:M,updateId:D},_e(_e({},A.state),{},{legendBBox:P}))))}}),Et(A,"handleReceiveSyncEvent",function(P,T,R){if(A.props.syncId===P){if(R===A.eventEmitterSymbol&&typeof A.props.syncMethod!="function")return;A.applySyncEvent(T)}}),Et(A,"handleBrushChange",function(P){var T=P.startIndex,R=P.endIndex;if(T!==A.state.dataStartIndex||R!==A.state.dataEndIndex){var M=A.state.updateId;A.setState(function(){return _e({dataStartIndex:T,dataEndIndex:R},x({props:A.props,dataStartIndex:T,dataEndIndex:R,updateId:M},A.state))}),A.triggerSyncEvent({dataStartIndex:T,dataEndIndex:R})}}),Et(A,"handleMouseEnter",function(P){var T=A.getMouseInfo(P);if(T){var R=_e(_e({},T),{},{isTooltipActive:!0});A.setState(R),A.triggerSyncEvent(R);var M=A.props.onMouseEnter;Dt(M)&&M(R,P)}}),Et(A,"triggeredAfterMouseMove",function(P){var T=A.getMouseInfo(P),R=T?_e(_e({},T),{},{isTooltipActive:!0}):{isTooltipActive:!1};A.setState(R),A.triggerSyncEvent(R);var M=A.props.onMouseMove;Dt(M)&&M(R,P)}),Et(A,"handleItemMouseEnter",function(P){A.setState(function(){return{isTooltipActive:!0,activeItem:P,activePayload:P.tooltipPayload,activeCoordinate:P.tooltipPosition||{x:P.cx,y:P.cy}}})}),Et(A,"handleItemMouseLeave",function(){A.setState(function(){return{isTooltipActive:!1}})}),Et(A,"handleMouseMove",function(P){P.persist(),A.throttleTriggeredAfterMouseMove(P)}),Et(A,"handleMouseLeave",function(P){A.throttleTriggeredAfterMouseMove.cancel();var T={isTooltipActive:!1};A.setState(T),A.triggerSyncEvent(T);var R=A.props.onMouseLeave;Dt(R)&&R(T,P)}),Et(A,"handleOuterEvent",function(P){var T=IQ(P),R=ca(A.props,"".concat(T));if(T&&Dt(R)){var M,D;/.*touch.*/i.test(T)?D=A.getMouseInfo(P.changedTouches[0]):D=A.getMouseInfo(P),R((M=D)!==null&&M!==void 0?M:{},P)}}),Et(A,"handleClick",function(P){var T=A.getMouseInfo(P);if(T){var R=_e(_e({},T),{},{isTooltipActive:!0});A.setState(R),A.triggerSyncEvent(R);var M=A.props.onClick;Dt(M)&&M(R,P)}}),Et(A,"handleMouseDown",function(P){var T=A.props.onMouseDown;if(Dt(T)){var R=A.getMouseInfo(P);T(R,P)}}),Et(A,"handleMouseUp",function(P){var T=A.props.onMouseUp;if(Dt(T)){var R=A.getMouseInfo(P);T(R,P)}}),Et(A,"handleTouchMove",function(P){P.changedTouches!=null&&P.changedTouches.length>0&&A.throttleTriggeredAfterMouseMove(P.changedTouches[0])}),Et(A,"handleTouchStart",function(P){P.changedTouches!=null&&P.changedTouches.length>0&&A.handleMouseDown(P.changedTouches[0])}),Et(A,"handleTouchEnd",function(P){P.changedTouches!=null&&P.changedTouches.length>0&&A.handleMouseUp(P.changedTouches[0])}),Et(A,"handleDoubleClick",function(P){var T=A.props.onDoubleClick;if(Dt(T)){var R=A.getMouseInfo(P);T(R,P)}}),Et(A,"handleContextMenu",function(P){var T=A.props.onContextMenu;if(Dt(T)){var R=A.getMouseInfo(P);T(R,P)}}),Et(A,"triggerSyncEvent",function(P){A.props.syncId!==void 0&&Wj.emit(Vj,A.props.syncId,P,A.eventEmitterSymbol)}),Et(A,"applySyncEvent",function(P){var T=A.props,R=T.layout,M=T.syncMethod,D=A.state.updateId,W=P.dataStartIndex,B=P.dataEndIndex;if(P.dataStartIndex!==void 0||P.dataEndIndex!==void 0)A.setState(_e({dataStartIndex:W,dataEndIndex:B},x({props:A.props,dataStartIndex:W,dataEndIndex:B,updateId:D},A.state)));else if(P.activeTooltipIndex!==void 0){var Y=P.chartX,V=P.chartY,L=P.activeTooltipIndex,I=A.state,Q=I.offset,H=I.tooltipTicks;if(!Q)return;if(typeof M=="function")L=M(H,P);else if(M==="value"){L=-1;for(var O=0;O<H.length;O++)if(H[O].value===P.activeLabel){L=O;break}}var Z=_e(_e({},Q),{},{x:Q.left,y:Q.top}),U=Math.min(Y,Z.x+Z.width),z=Math.min(V,Z.y+Z.height),G=H[L]&&H[L].value,ae=rN(A.state,A.props.data,L),ee=H[L]?{x:R==="horizontal"?H[L].coordinate:U,y:R==="horizontal"?z:H[L].coordinate}:fz;A.setState(_e(_e({},P),{},{activeLabel:G,activeCoordinate:ee,activePayload:ae,activeTooltipIndex:L}))}else A.setState(P)}),Et(A,"renderCursor",function(P){var T,R=A.state,M=R.isTooltipActive,D=R.activeCoordinate,W=R.activePayload,B=R.offset,Y=R.activeTooltipIndex,V=R.tooltipAxisBandSize,L=A.getTooltipEventType(),I=(T=P.props.active)!==null&&T!==void 0?T:M,Q=A.props.layout,H=P.key||"_recharts-cursor";return X.createElement(_pe,{key:H,activeCoordinate:D,activePayload:W,activeTooltipIndex:Y,chartName:n,element:P,isActive:I,layout:Q,offset:B,tooltipAxisBandSize:V,tooltipEventType:L})}),Et(A,"renderPolarAxis",function(P,T,R){var M=ca(P,"type.axisType"),D=ca(A.state,"".concat(M,"Map")),W=P.type.defaultProps,B=W!==void 0?_e(_e({},W),P.props):P.props,Y=D&&D[B["".concat(M,"Id")]];return m.cloneElement(P,_e(_e({},Y),{},{className:zt(M,Y.className),key:P.key||"".concat(T,"-").concat(R),ticks:Uo(Y,!0)}))}),Et(A,"renderPolarGrid",function(P){var T=P.props,R=T.radialLines,M=T.polarAngles,D=T.polarRadius,W=A.state,B=W.radiusAxisMap,Y=W.angleAxisMap,V=uc(B),L=uc(Y),I=L.cx,Q=L.cy,H=L.innerRadius,O=L.outerRadius;return m.cloneElement(P,{polarAngles:Array.isArray(M)?M:Uo(L,!0).map(function(Z){return Z.coordinate}),polarRadius:Array.isArray(D)?D:Uo(V,!0).map(function(Z){return Z.coordinate}),cx:I,cy:Q,innerRadius:H,outerRadius:O,key:P.key||"polar-grid",radialLines:R})}),Et(A,"renderLegend",function(){var P=A.state.formattedGraphicalItems,T=A.props,R=T.children,M=T.width,D=T.height,W=A.props.margin||{},B=M-(W.left||0)-(W.right||0),Y=G4({children:R,formattedGraphicalItems:P,legendWidth:B,legendContent:f});if(!Y)return null;var V=Y.item,L=t$(Y,Ape);return m.cloneElement(V,_e(_e({},L),{},{chartWidth:M,chartHeight:D,margin:W,onBBoxUpdate:A.handleLegendBBoxUpdate}))}),Et(A,"renderTooltip",function(){var P,T=A.props,R=T.children,M=T.accessibilityLayer,D=na(R,Fr);if(!D)return null;var W=A.state,B=W.isTooltipActive,Y=W.activeCoordinate,V=W.activePayload,L=W.activeLabel,I=W.offset,Q=(P=D.props.active)!==null&&P!==void 0?P:B;return m.cloneElement(D,{viewBox:_e(_e({},I),{},{x:I.left,y:I.top}),active:Q,label:L,payload:Q?V:[],coordinate:Y,accessibilityLayer:M})}),Et(A,"renderBrush",function(P){var T=A.props,R=T.margin,M=T.data,D=A.state,W=D.offset,B=D.dataStartIndex,Y=D.dataEndIndex,V=D.updateId;return m.cloneElement(P,{key:P.key||"_recharts-brush",onChange:Sh(A.handleBrushChange,P.props.onChange),data:M,x:rt(P.props.x)?P.props.x:W.left,y:rt(P.props.y)?P.props.y:W.top+W.height+W.brushBottom-(R.bottom||0),width:rt(P.props.width)?P.props.width:W.width,startIndex:B,endIndex:Y,updateId:"brush-".concat(V)})}),Et(A,"renderReferenceElement",function(P,T,R){if(!P)return null;var M=A,D=M.clipPathId,W=A.state,B=W.xAxisMap,Y=W.yAxisMap,V=W.offset,L=P.type.defaultProps||{},I=P.props,Q=I.xAxisId,H=Q===void 0?L.xAxisId:Q,O=I.yAxisId,Z=O===void 0?L.yAxisId:O;return m.cloneElement(P,{key:P.key||"".concat(T,"-").concat(R),xAxis:B[H],yAxis:Y[Z],viewBox:{x:V.left,y:V.top,width:V.width,height:V.height},clipPathId:D})}),Et(A,"renderActivePoints",function(P){var T=P.item,R=P.activePoint,M=P.basePoint,D=P.childIndex,W=P.isRange,B=[],Y=T.props.key,V=T.item.type.defaultProps!==void 0?_e(_e({},T.item.type.defaultProps),T.item.props):T.item.props,L=V.activeDot,I=V.dataKey,Q=_e(_e({index:D,dataKey:I,cx:R.x,cy:R.y,r:4,fill:XC(T.item),strokeWidth:2,stroke:"#fff",payload:R.payload,value:R.value},kt(L,!1)),Jh(L));return B.push(S.renderActiveDot(L,Q,"".concat(Y,"-activePoint-").concat(D))),M?B.push(S.renderActiveDot(L,_e(_e({},Q),{},{cx:M.x,cy:M.y}),"".concat(Y,"-basePoint-").concat(D))):W&&B.push(null),B}),Et(A,"renderGraphicChild",function(P,T,R){var M=A.filterFormatItem(P,T,R);if(!M)return null;var D=A.getTooltipEventType(),W=A.state,B=W.isTooltipActive,Y=W.tooltipAxis,V=W.activeTooltipIndex,L=W.activeLabel,I=A.props.children,Q=na(I,Fr),H=M.props,O=H.points,Z=H.isRange,U=H.baseLine,z=M.item.type.defaultProps!==void 0?_e(_e({},M.item.type.defaultProps),M.item.props):M.item.props,G=z.activeDot,ae=z.hide,ee=z.activeBar,ce=z.activeShape,oe=!!(!ae&&B&&Q&&(G||ee||ce)),ve={};D!=="axis"&&Q&&Q.props.trigger==="click"?ve={onClick:Sh(A.handleItemMouseEnter,P.props.onClick)}:D!=="axis"&&(ve={onMouseLeave:Sh(A.handleItemMouseLeave,P.props.onMouseLeave),onMouseEnter:Sh(A.handleItemMouseEnter,P.props.onMouseEnter)});var se=m.cloneElement(P,_e(_e({},M.props),ve));function pe(At){return typeof Y.dataKey=="function"?Y.dataKey(At.payload):null}if(oe)if(V>=0){var Te,J;if(Y.dataKey&&!Y.allowDuplicatedCategory){var Ne=typeof Y.dataKey=="function"?pe:"payload.".concat(Y.dataKey.toString());Te=Qh(O,Ne,L),J=Z&&U&&Qh(U,Ne,L)}else Te=O?.[V],J=Z&&U&&U[V];if(ce||ee){var je=P.props.activeIndex!==void 0?P.props.activeIndex:V;return[m.cloneElement(P,_e(_e(_e({},M.props),ve),{},{activeIndex:je})),null,null]}if(!Lt(Te))return[se].concat(ru(A.renderActivePoints({item:M,activePoint:Te,basePoint:J,childIndex:V,isRange:Z})))}else{var ct,at=(ct=A.getItemByXY(A.state.activeCoordinate))!==null&&ct!==void 0?ct:{graphicalItem:se},vt=at.graphicalItem,Ce=vt.item,Se=Ce===void 0?P:Ce,Ke=vt.childIndex,Be=_e(_e(_e({},M.props),ve),{},{activeIndex:Ke});return[m.cloneElement(Se,Be),null,null]}return Z?[se,null,null]:[se,null]}),Et(A,"renderCustomized",function(P,T,R){return m.cloneElement(P,_e(_e({key:"recharts-customized-".concat(R)},A.props),A.state))}),Et(A,"renderMap",{CartesianGrid:{handler:kh,once:!0},ReferenceArea:{handler:A.renderReferenceElement},ReferenceLine:{handler:kh},ReferenceDot:{handler:A.renderReferenceElement},XAxis:{handler:kh},YAxis:{handler:kh},Brush:{handler:A.renderBrush,once:!0},Bar:{handler:A.renderGraphicChild},Line:{handler:A.renderGraphicChild},Area:{handler:A.renderGraphicChild},Radar:{handler:A.renderGraphicChild},RadialBar:{handler:A.renderGraphicChild},Scatter:{handler:A.renderGraphicChild},Pie:{handler:A.renderGraphicChild},Funnel:{handler:A.renderGraphicChild},Tooltip:{handler:A.renderCursor,once:!0},PolarGrid:{handler:A.renderPolarGrid,once:!0},PolarAngleAxis:{handler:A.renderPolarAxis},PolarRadiusAxis:{handler:A.renderPolarAxis},Customized:{handler:A.renderCustomized}}),A.clipPathId="".concat((C=N.id)!==null&&C!==void 0?C:vu("recharts"),"-clip"),A.throttleTriggeredAfterMouseMove=GL(A.triggeredAfterMouseMove,(k=N.throttleDelay)!==null&&k!==void 0?k:1e3/60),A.state={},A}return Fpe(S,b),Ipe(S,[{key:"componentDidMount",value:function(){var C,k;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(C=this.props.margin.left)!==null&&C!==void 0?C:0,top:(k=this.props.margin.top)!==null&&k!==void 0?k:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var C=this.props,k=C.children,A=C.data,P=C.height,T=C.layout,R=na(k,Fr);if(R){var M=R.props.defaultIndex;if(!(typeof M!="number"||M<0||M>this.state.tooltipTicks.length-1)){var D=this.state.tooltipTicks[M]&&this.state.tooltipTicks[M].value,W=rN(this.state,A,M,D),B=this.state.tooltipTicks[M].coordinate,Y=(this.state.offset.top+P)/2,V=T==="horizontal",L=V?{x:B,y:Y}:{y:B,x:Y},I=this.state.formattedGraphicalItems.find(function(H){var O=H.item;return O.type.name==="Scatter"});I&&(L=_e(_e({},L),I.props.points[M].tooltipPosition),W=I.props.points[M].tooltipPayload);var Q={activeTooltipIndex:M,isTooltipActive:!0,activeLabel:D,activePayload:W,activeCoordinate:L};this.setState(Q),this.renderCursor(R),this.accessibilityManager.setIndex(M)}}}},{key:"getSnapshotBeforeUpdate",value:function(C,k){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==k.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==C.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==C.margin){var A,P;this.accessibilityManager.setDetails({offset:{left:(A=this.props.margin.left)!==null&&A!==void 0?A:0,top:(P=this.props.margin.top)!==null&&P!==void 0?P:0}})}return null}},{key:"componentDidUpdate",value:function(C){FS([na(C.children,Fr)],[na(this.props.children,Fr)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var C=na(this.props.children,Fr);if(C&&typeof C.props.shared=="boolean"){var k=C.props.shared?"axis":"item";return c.indexOf(k)>=0?k:i}return i}},{key:"getMouseInfo",value:function(C){if(!this.container)return null;var k=this.container,A=k.getBoundingClientRect(),P=jte(A),T={chartX:Math.round(C.pageX-P.left),chartY:Math.round(C.pageY-P.top)},R=A.width/k.offsetWidth||1,M=this.inRange(T.chartX,T.chartY,R);if(!M)return null;var D=this.state,W=D.xAxisMap,B=D.yAxisMap,Y=this.getTooltipEventType(),V=r$(this.state,this.props.data,this.props.layout,M);if(Y!=="axis"&&W&&B){var L=uc(W).scale,I=uc(B).scale,Q=L&&L.invert?L.invert(T.chartX):null,H=I&&I.invert?I.invert(T.chartY):null;return _e(_e({},T),{},{xValue:Q,yValue:H},V)}return V?_e(_e({},T),V):null}},{key:"inRange",value:function(C,k){var A=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,P=this.props.layout,T=C/A,R=k/A;if(P==="horizontal"||P==="vertical"){var M=this.state.offset,D=T>=M.left&&T<=M.left+M.width&&R>=M.top&&R<=M.top+M.height;return D?{x:T,y:R}:null}var W=this.state,B=W.angleAxisMap,Y=W.radiusAxisMap;if(B&&Y){var V=uc(B);return uM({x:T,y:R},V)}return null}},{key:"parseEventsOfWrapper",value:function(){var C=this.props.children,k=this.getTooltipEventType(),A=na(C,Fr),P={};A&&k==="axis"&&(A.props.trigger==="click"?P={onClick:this.handleClick}:P={onMouseEnter:this.handleMouseEnter,onDoubleClick:this.handleDoubleClick,onMouseMove:this.handleMouseMove,onMouseLeave:this.handleMouseLeave,onTouchMove:this.handleTouchMove,onTouchStart:this.handleTouchStart,onTouchEnd:this.handleTouchEnd,onContextMenu:this.handleContextMenu});var T=Jh(this.props,this.handleOuterEvent);return _e(_e({},T),P)}},{key:"addListener",value:function(){Wj.on(Vj,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){Wj.removeListener(Vj,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(C,k,A){for(var P=this.state.formattedGraphicalItems,T=0,R=P.length;T<R;T++){var M=P[T];if(M.item===C||M.props.key===C.key||k===ei(M.item.type)&&A===M.childIndex)return M}return null}},{key:"renderClipPath",value:function(){var C=this.clipPathId,k=this.state.offset,A=k.left,P=k.top,T=k.height,R=k.width;return X.createElement("defs",null,X.createElement("clipPath",{id:C},X.createElement("rect",{x:A,y:P,height:T,width:R})))}},{key:"getXScales",value:function(){var C=this.state.xAxisMap;return C?Object.entries(C).reduce(function(k,A){var P=e$(A,2),T=P[0],R=P[1];return _e(_e({},k),{},Et({},T,R.scale))},{}):null}},{key:"getYScales",value:function(){var C=this.state.yAxisMap;return C?Object.entries(C).reduce(function(k,A){var P=e$(A,2),T=P[0],R=P[1];return _e(_e({},k),{},Et({},T,R.scale))},{}):null}},{key:"getXScaleByAxisId",value:function(C){var k;return(k=this.state.xAxisMap)===null||k===void 0||(k=k[C])===null||k===void 0?void 0:k.scale}},{key:"getYScaleByAxisId",value:function(C){var k;return(k=this.state.yAxisMap)===null||k===void 0||(k=k[C])===null||k===void 0?void 0:k.scale}},{key:"getItemByXY",value:function(C){var k=this.state,A=k.formattedGraphicalItems,P=k.activeItem;if(A&&A.length)for(var T=0,R=A.length;T<R;T++){var M=A[T],D=M.props,W=M.item,B=W.type.defaultProps!==void 0?_e(_e({},W.type.defaultProps),W.props):W.props,Y=ei(W.type);if(Y==="Bar"){var V=(D.data||[]).find(function(H){return Ule(C,H)});if(V)return{graphicalItem:M,payload:V}}else if(Y==="RadialBar"){var L=(D.data||[]).find(function(H){return uM(C,H)});if(L)return{graphicalItem:M,payload:L}}else if(ug(M,P)||dg(M,P)||gf(M,P)){var I=fue({graphicalItem:M,activeTooltipItem:P,itemData:B.data}),Q=B.activeIndex===void 0?I:B.activeIndex;return{graphicalItem:_e(_e({},M),{},{childIndex:Q}),payload:gf(M,P)?B.data[I]:M.props.data[I]}}}return null}},{key:"render",value:function(){var C=this;if(!wT(this))return null;var k=this.props,A=k.children,P=k.className,T=k.width,R=k.height,M=k.style,D=k.compact,W=k.title,B=k.desc,Y=t$(k,kpe),V=kt(Y,!1);if(D)return X.createElement(DI,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},X.createElement(BS,xc({},V,{width:T,height:R,title:W,desc:B}),this.renderClipPath(),ST(A,this.renderMap)));if(this.props.accessibilityLayer){var L,I;V.tabIndex=(L=this.props.tabIndex)!==null&&L!==void 0?L:0,V.role=(I=this.props.role)!==null&&I!==void 0?I:"application",V.onKeyDown=function(H){C.accessibilityManager.keyboardEvent(H)},V.onFocus=function(){C.accessibilityManager.focus()}}var Q=this.parseEventsOfWrapper();return X.createElement(DI,{state:this.state,width:this.props.width,height:this.props.height,clipPathId:this.clipPathId},X.createElement("div",xc({className:zt("recharts-wrapper",P),style:_e({position:"relative",cursor:"default",width:T,height:R},M)},Q,{ref:function(O){C.container=O}}),X.createElement(BS,xc({},V,{width:T,height:R,title:W,desc:B,style:Vpe}),this.renderClipPath(),ST(A,this.renderMap)),this.renderLegend(),this.renderTooltip()))}}])})(m.Component);Et(j,"displayName",n),Et(j,"defaultProps",_e({layout:"horizontal",stackOffset:"none",barCategoryGap:"10%",barGap:4,margin:{top:5,right:5,bottom:5,left:5},reverseStackOrder:!1,syncMethod:"index"},p)),Et(j,"getDerivedStateFromProps",function(b,S){var N=b.dataKey,C=b.data,k=b.children,A=b.width,P=b.height,T=b.layout,R=b.stackOffset,M=b.margin,D=S.dataStartIndex,W=S.dataEndIndex;if(S.updateId===void 0){var B=a$(b);return _e(_e(_e({},B),{},{updateId:0},x(_e(_e({props:b},B),{},{updateId:0}),S)),{},{prevDataKey:N,prevData:C,prevWidth:A,prevHeight:P,prevLayout:T,prevStackOffset:R,prevMargin:M,prevChildren:k})}if(N!==S.prevDataKey||C!==S.prevData||A!==S.prevWidth||P!==S.prevHeight||T!==S.prevLayout||R!==S.prevStackOffset||!Sc(M,S.prevMargin)){var Y=a$(b),V={chartX:S.chartX,chartY:S.chartY,isTooltipActive:S.isTooltipActive},L=_e(_e({},r$(S,C,T)),{},{updateId:S.updateId+1}),I=_e(_e(_e({},Y),V),L);return _e(_e(_e({},I),x(_e({props:b},I),S)),{},{prevDataKey:N,prevData:C,prevWidth:A,prevHeight:P,prevLayout:T,prevStackOffset:R,prevMargin:M,prevChildren:k})}if(!FS(k,S.prevChildren)){var Q,H,O,Z,U=na(k,Kc),z=U&&(Q=(H=U.props)===null||H===void 0?void 0:H.startIndex)!==null&&Q!==void 0?Q:D,G=U&&(O=(Z=U.props)===null||Z===void 0?void 0:Z.endIndex)!==null&&O!==void 0?O:W,ae=z!==D||G!==W,ee=!Lt(C),ce=ee&&!ae?S.updateId:S.updateId+1;return _e(_e({updateId:ce},x(_e(_e({props:b},S),{},{updateId:ce,dataStartIndex:z,dataEndIndex:G}),S)),{},{prevChildren:k,dataStartIndex:z,dataEndIndex:G})}return null}),Et(j,"renderActiveDot",function(b,S,N){var C;return m.isValidElement(b)?C=m.cloneElement(b,S):Dt(b)?C=b(S):C=X.createElement(sg,S),X.createElement(rn,{className:"recharts-active-dot",key:N},C)});var y=m.forwardRef(function(S,N){return X.createElement(j,xc({},S,{ref:N}))});return y.displayName=j.displayName,y},aN=n_({chartName:"LineChart",GraphicalChild:il,axisComponents:[{axisType:"xAxis",AxisComp:ao},{axisType:"yAxis",AxisComp:so}],formatAxisMap:TF}),the=n_({chartName:"BarChart",GraphicalChild:Nl,defaultTooltipEventType:"axis",validateTooltipEventTypes:["axis","item"],axisComponents:[{axisType:"xAxis",AxisComp:ao},{axisType:"yAxis",AxisComp:so}],formatAxisMap:TF}),nhe=n_({chartName:"PieChart",GraphicalChild:bi,validateTooltipEventTypes:["item"],defaultTooltipEventType:"item",legendContent:"children",axisComponents:[{axisType:"angleAxis",AxisComp:cg},{axisType:"radiusAxis",AxisComp:og}],formatAxisMap:eie,defaultProps:{layout:"centric",startAngle:0,endAngle:360,cx:"50%",cy:"50%",innerRadius:0,outerRadius:"80%"}});function r_(e){const t=Array.from(new Map(e.scenarios.map(g=>{const x=String(g.scenarioId??"").trim(),j=String(g.scenarioName??"").trim();return!x&&!j?null:[x||j,j||x]}).filter(g=>!!g)).values()),n=e.scenarios.map(g=>g.agentName||g.agentId).filter(Boolean),r=Array.from(new Set(n.length>0?n:e.rerunAgents??[])),s=Array.from(new Set(e.scenarios.map(g=>g.model).filter(g=>!!g))),i=t.slice(0,2).join(", "),o=t.length>2?` +${t.length-2}`:"",c=s.slice(0,2).join(", "),d=s.length>2?` +${s.length-2}`:"",f=e.configName?.trim()||"",h=e.configPath?.trim()||"",p=f&&h?`${f} · ${h}`:f||h;return{scenarioCount:t.length,agentCount:r.length,scopePreview:p||(i?`${i}${o}`:"n/a"),modelSummary:c?`${c}${d}`:""}}function Wo(e){const t=typeof e.toolTokensTotal=="number"?e.toolTokensTotal:null;return{id:e.runId,configId:"",configHash:e.configHash,configPath:e.configPath,configName:e.configName,rerunAgents:e.rerunAgents,rerunScenarioIds:e.rerunScenarioIds,rerunServerOverrideAll:e.rerunServerOverrideAll,rerunScenarioServerOverrides:e.rerunScenarioServerOverrides,timestamp:e.timestamp,runNote:e.runNote,mcpServerVersions:{},scenarios:(e.scenarioIds??[]).map((n,r)=>({scenarioId:n,scenarioName:e.scenarioNames?.[r]??n,agentId:"",agentName:"",runs:[],passRate:0,avgToolCalls:0,avgDuration:0})),assistantTokenUsage:null,toolTokenUsage:t===null?null:{inputTokens:null,outputTokens:null,totalTokens:t},overallPassRate:e.passRate,totalScenarios:e.totalScenarios,totalRuns:e.totalRuns,avgToolCalls:e.avgToolCalls,avgLatency:Math.round(e.avgLatencyMs??0),totalDurationMs:typeof e.totalDurationMs=="number"?Math.max(0,e.totalDurationMs):void 0,totalToolDurationMs:typeof e.totalToolDurationMs=="number"?Math.max(0,e.totalToolDurationMs):void 0}}const i$=10080*60*1e3;function o$(e){return e.length===0?0:e.reduce((t,n)=>t+n,0)/e.length}function l$(e,t=0){const n=Number(e.toFixed(t));return`${n>0?"+":""}${n.toFixed(t)}`}const rhe=()=>{const{configs:e}=Lf(),{source:t}=Nn(),[n,r]=m.useState(!0),[s,i]=m.useState([]),[o,c]=m.useState([]),[d,f]=m.useState([]),[h,p]=m.useState("timestamp"),[g,x]=m.useState("desc"),j=I=>{if(h===I){x(Q=>Q==="asc"?"desc":"asc");return}p(I),x("desc")};m.useEffect(()=>{let I=!0;r(!0);const Q=Date.now(),H=Q-720*60*60*1e3,O=Q-i$,Z=O-i$,U=new Date(H).toISOString(),z=new Date(O).toISOString(),G=new Date(Z).toISOString(),ae=new Date(O-1).toISOString(),ee=new Date(Q).toISOString(),ce=async(oe,ve)=>t.listRunSummaries?(await t.listRunSummaries({since:oe,until:ve})).map(Wo):t.listResults({since:oe,until:ve});return Promise.all([t.listResults({since:U,until:ee}),ce(z,ee),ce(G,ae)]).then(([oe,ve,se])=>{I&&(i(oe),c(ve),f(se))}).finally(()=>{I&&r(!1)}),()=>{I=!1}},[t]);const y=e.length,b=s.length,S=o.length===0?0:o.reduce((I,Q)=>I+Q.overallPassRate,0)/o.length,N=o.length===0?0:Math.round(o.reduce((I,Q)=>I+Q.avgLatency,0)/o.length),C=o$(d.map(I=>I.overallPassRate)),k=o$(d.map(I=>I.avgLatency)),A=(S-C)*100,P=N-k,T=d.length>0,R=T?`${l$(A,1)}% from last week`:"No prior-week baseline",M=T?`${l$(P,0)}ms from last week`:"No prior-week baseline",D=T?A>0?"up":A<0?"down":"neutral":"neutral",W=T?P<0?"up":P>0?"down":"neutral":"neutral",B=m.useMemo(()=>[...s].sort((Q,H)=>{let O=0;return h==="timestamp"&&(O=new Date(Q.timestamp).getTime()-new Date(H.timestamp).getTime()),h==="passRate"&&(O=Q.overallPassRate-H.overallPassRate),h==="latency"&&(O=Q.avgLatency-H.avgLatency),h==="scenarios"&&(O=Q.totalScenarios-H.totalScenarios),g==="asc"?O:-O}),[s,h,g]),Y=B.slice(0,20),V=I=>{const Q=I.toolTokenUsage?.totalTokens;return typeof Q=="number"?Q.toLocaleString():"n/a"},L=[...B].reverse().map(I=>({date:new Date(I.timestamp).toLocaleDateString("en-US",{month:"short",day:"numeric"}),passRate:Math.round(I.overallPassRate*100),latency:I.avgLatency}));return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-start justify-between gap-4",children:[a.jsxs("div",{children:[a.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[a.jsx(ED,{className:"h-6 w-6"}),"Dashboard"]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Overview of your MCP evaluation runs"})]}),a.jsxs("div",{className:"flex gap-3",children:[a.jsx(re,{asChild:!0,children:a.jsxs(St,{to:"/mcp-evaluations/new",children:[a.jsx(IN,{className:"mr-2 h-4 w-4"}),"New MCP Evaluation"]})}),a.jsx(re,{variant:"outline",asChild:!0,children:a.jsxs(St,{to:"/run",children:[a.jsx(is,{className:"mr-2 h-4 w-4"}),"Run Evaluation"]})}),a.jsx(re,{variant:"outline",asChild:!0,children:a.jsxs(St,{to:"/results",children:[a.jsx(Ac,{className:"mr-2 h-4 w-4"}),"Browse Results"]})})]})]}),a.jsxs("div",{className:"grid gap-4 sm:grid-cols-2 lg:grid-cols-4",children:[a.jsx(Sa,{title:"MCP Evaluations",value:y,icon:vS,subtitle:`${y} active`}),a.jsx(Sa,{title:"Total Runs",value:b,icon:SD,subtitle:"Last 30 days"}),a.jsx(Sa,{title:"Pass Rate",value:n?"—":`${Math.round(S*100)}%`,icon:Ac,subtitle:n?"Loading...":R,trend:n?"neutral":D}),a.jsx(Sa,{title:"Avg Latency",value:n?"—":`${N}ms`,icon:OD,subtitle:n?"Loading...":M,trend:n?"neutral":W})]}),a.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Pass Rate Trend"})}),a.jsx(tt,{children:a.jsx(lm,{width:"100%",height:200,children:a.jsxs(aN,{data:L,children:[a.jsx(ao,{dataKey:"date",tick:{fontSize:11},tickLine:!1,axisLine:!1}),a.jsx(so,{domain:[0,100],tick:{fontSize:11},tickLine:!1,axisLine:!1,tickFormatter:I=>`${I}%`}),a.jsx(Fr,{formatter:I=>[`${I}%`,"Pass Rate"]}),a.jsx(il,{type:"monotone",dataKey:"passRate",stroke:"hsl(38, 92%, 50%)",strokeWidth:2,dot:{r:3,fill:"hsl(38, 92%, 50%)"}})]})})})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Recent Tool Latency (ms)"})}),a.jsx(tt,{children:a.jsx(lm,{width:"100%",height:200,children:a.jsxs(aN,{data:L,children:[a.jsx(ao,{dataKey:"date",tick:{fontSize:11},tickLine:!1,axisLine:!1}),a.jsx(so,{tick:{fontSize:11},tickLine:!1,axisLine:!1}),a.jsx(Fr,{formatter:I=>[`${I}ms`,"Latency"]}),a.jsx(il,{type:"monotone",dataKey:"latency",stroke:"hsl(200, 80%, 50%)",strokeWidth:2,dot:{r:3,fill:"hsl(200, 80%, 50%)"}})]})})})]})]}),a.jsx("div",{className:"grid gap-6",children:a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Recent Runs"})}),a.jsxs(tt,{className:"p-0",children:[a.jsxs(Br,{children:[a.jsx(qr,{children:a.jsxs(Ft,{children:[a.jsx(lt,{children:"Run ID"}),a.jsx(lt,{children:"Evaluated"}),a.jsx(lt,{children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>j("timestamp"),children:["Timestamp",h==="timestamp"?g==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}):a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"})]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex w-full items-center justify-end gap-1 hover:text-foreground",onClick:()=>j("passRate"),children:["Pass Rate",h==="passRate"?g==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}):a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"})]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>j("scenarios"),children:["Scenarios",h==="scenarios"?g==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}):a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"})]})}),a.jsx(lt,{className:"text-right",children:"Avg Tool Calls"}),a.jsx(lt,{className:"text-right",children:"Tool Tokens"})]})}),a.jsxs(Ur,{children:[Y.length===0&&a.jsx(Ft,{children:a.jsx(We,{colSpan:7,className:"py-8 text-center text-sm text-muted-foreground",children:"No runs in the past 30 days."})}),Y.map(I=>a.jsxs(Ft,{className:"cursor-pointer",children:[a.jsx(We,{children:a.jsx(St,{to:`/results/${I.id}`,className:"font-mono text-xs text-primary hover:underline",children:I.id})}),a.jsx(We,{className:"text-[11px] text-muted-foreground",children:(()=>{const Q=r_(I);return a.jsxs("div",{className:"space-y-0.5",children:[a.jsxs("div",{children:["Evaluated: ",Q.scenarioCount," scenario",Q.scenarioCount===1?"":"s"," · ",Q.agentCount," agent",Q.agentCount===1?"":"s",Q.modelSummary?` · ${Q.modelSummary}`:""]}),a.jsx("div",{className:"font-mono text-xs text-foreground/80",children:Q.scopePreview})]})})()}),a.jsx(We,{className:"text-xs text-muted-foreground",children:a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(os,{className:"h-3 w-3"}),new Date(I.timestamp).toLocaleString()]})}),a.jsx(We,{className:"text-right",children:a.jsxs("div",{className:"flex flex-col items-end gap-1",children:[a.jsx(ws,{rate:I.overallPassRate}),a.jsx(G3,{run:I})]})}),a.jsx(We,{className:"text-right font-mono text-sm",children:I.totalScenarios}),a.jsx(We,{className:"text-right font-mono text-sm",children:I.avgToolCalls.toFixed(0)}),a.jsx(We,{className:"text-right font-mono text-sm",children:V(I)})]},I.id))]})]}),B.length>20&&a.jsx("div",{className:"border-t p-4 text-center",children:a.jsx(re,{variant:"outline",asChild:!0,children:a.jsx(St,{to:"/results",children:"Show more"})})})]})]})})]})};function a_({value:e,onValueChange:t,placeholder:n="Search...",className:r,inputClassName:s,clearAriaLabel:i="Clear search"}){return a.jsxs("div",{className:Pe("relative",r),children:[a.jsx(jt,{value:e,onChange:o=>t(o.target.value),placeholder:n,className:Pe("h-9 w-[240px] pr-8",s)}),e&&a.jsx(re,{type:"button",variant:"ghost",size:"icon",className:"absolute right-1 top-1/2 h-7 w-7 -translate-y-1/2 border border-border/60",onClick:()=>t(""),"aria-label":i,children:a.jsx(Ra,{className:"h-4 w-4"})})]})}var ahe=m.createContext(void 0);function wu(e){const t=m.useContext(ahe);return e||t||"ltr"}var Kj="rovingFocusGroup.onEntryFocus",she={bubbles:!1,cancelable:!0},Gf="RovingFocusGroup",[sN,hz,ihe]=kf(Gf),[ohe,yg]=fr(Gf,[ihe]),[lhe,che]=ohe(Gf),mz=m.forwardRef((e,t)=>a.jsx(sN.Provider,{scope:e.__scopeRovingFocusGroup,children:a.jsx(sN.Slot,{scope:e.__scopeRovingFocusGroup,children:a.jsx(uhe,{...e,ref:t})})}));mz.displayName=Gf;var uhe=m.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,orientation:r,loop:s=!1,dir:i,currentTabStopId:o,defaultCurrentTabStopId:c,onCurrentTabStopIdChange:d,onEntryFocus:f,preventScrollOnEntryFocus:h=!1,...p}=e,g=m.useRef(null),x=_t(t,g),j=wu(i),[y,b]=da({prop:o,defaultProp:c??null,onChange:d,caller:Gf}),[S,N]=m.useState(!1),C=Fn(f),k=hz(n),A=m.useRef(!1),[P,T]=m.useState(0);return m.useEffect(()=>{const R=g.current;if(R)return R.addEventListener(Kj,C),()=>R.removeEventListener(Kj,C)},[C]),a.jsx(lhe,{scope:n,orientation:r,dir:j,loop:s,currentTabStopId:y,onItemFocus:m.useCallback(R=>b(R),[b]),onItemShiftTab:m.useCallback(()=>N(!0),[]),onFocusableItemAdd:m.useCallback(()=>T(R=>R+1),[]),onFocusableItemRemove:m.useCallback(()=>T(R=>R-1),[]),children:a.jsx(it.div,{tabIndex:S||P===0?-1:0,"data-orientation":r,...p,ref:x,style:{outline:"none",...e.style},onMouseDown:qe(e.onMouseDown,()=>{A.current=!0}),onFocus:qe(e.onFocus,R=>{const M=!A.current;if(R.target===R.currentTarget&&M&&!S){const D=new CustomEvent(Kj,she);if(R.currentTarget.dispatchEvent(D),!D.defaultPrevented){const W=k().filter(I=>I.focusable),B=W.find(I=>I.active),Y=W.find(I=>I.id===y),L=[B,Y,...W].filter(Boolean).map(I=>I.ref.current);xz(L,h)}}A.current=!1}),onBlur:qe(e.onBlur,()=>N(!1))})})}),vz="RovingFocusGroupItem",gz=m.forwardRef((e,t)=>{const{__scopeRovingFocusGroup:n,focusable:r=!0,active:s=!1,tabStopId:i,children:o,...c}=e,d=Jn(),f=i||d,h=che(vz,n),p=h.currentTabStopId===f,g=hz(n),{onFocusableItemAdd:x,onFocusableItemRemove:j,currentTabStopId:y}=h;return m.useEffect(()=>{if(r)return x(),()=>j()},[r,x,j]),a.jsx(sN.ItemSlot,{scope:n,id:f,focusable:r,active:s,children:a.jsx(it.span,{tabIndex:p?0:-1,"data-orientation":h.orientation,...c,ref:t,onMouseDown:qe(e.onMouseDown,b=>{r?h.onItemFocus(f):b.preventDefault()}),onFocus:qe(e.onFocus,()=>h.onItemFocus(f)),onKeyDown:qe(e.onKeyDown,b=>{if(b.key==="Tab"&&b.shiftKey){h.onItemShiftTab();return}if(b.target!==b.currentTarget)return;const S=phe(b,h.orientation,h.dir);if(S!==void 0){if(b.metaKey||b.ctrlKey||b.altKey||b.shiftKey)return;b.preventDefault();let C=g().filter(k=>k.focusable).map(k=>k.ref.current);if(S==="last")C.reverse();else if(S==="prev"||S==="next"){S==="prev"&&C.reverse();const k=C.indexOf(b.currentTarget);C=h.loop?hhe(C,k+1):C.slice(k+1)}setTimeout(()=>xz(C))}}),children:typeof o=="function"?o({isCurrentTabStop:p,hasTabStop:y!=null}):o})})});gz.displayName=vz;var dhe={ArrowLeft:"prev",ArrowUp:"prev",ArrowRight:"next",ArrowDown:"next",PageUp:"first",Home:"first",PageDown:"last",End:"last"};function fhe(e,t){return t!=="rtl"?e:e==="ArrowLeft"?"ArrowRight":e==="ArrowRight"?"ArrowLeft":e}function phe(e,t,n){const r=fhe(e.key,n);if(!(t==="vertical"&&["ArrowLeft","ArrowRight"].includes(r))&&!(t==="horizontal"&&["ArrowUp","ArrowDown"].includes(r)))return dhe[r]}function xz(e,t=!1){const n=document.activeElement;for(const r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}function hhe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var yz=mz,bz=gz;function mhe(e){const t=vhe(e),n=m.forwardRef((r,s)=>{const{children:i,...o}=r,c=m.Children.toArray(i),d=c.find(xhe);if(d){const f=d.props.children,h=c.map(p=>p===d?m.Children.count(f)>1?m.Children.only(null):m.isValidElement(f)?f.props.children:null:p);return a.jsx(t,{...o,ref:s,children:m.isValidElement(f)?m.cloneElement(f,void 0,h):null})}return a.jsx(t,{...o,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}function vhe(e){const t=m.forwardRef((n,r)=>{const{children:s,...i}=n;if(m.isValidElement(s)){const o=bhe(s),c=yhe(i,s.props);return s.type!==m.Fragment&&(c.ref=r?kr(r,o):o),m.cloneElement(s,c)}return m.Children.count(s)>1?m.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var ghe=Symbol("radix.slottable");function xhe(e){return m.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===ghe}function yhe(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...c)=>{const d=i(...c);return s(...c),d}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function bhe(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var iN=["Enter"," "],whe=["ArrowDown","PageUp","Home"],wz=["ArrowUp","PageDown","End"],jhe=[...whe,...wz],She={ltr:[...iN,"ArrowRight"],rtl:[...iN,"ArrowLeft"]},Nhe={ltr:["ArrowLeft"],rtl:["ArrowRight"]},Yf="Menu",[Nf,Che,_he]=kf(Yf),[Cl,jz]=fr(Yf,[_he,oo,yg]),bg=oo(),Sz=yg(),[Ahe,_l]=Cl(Yf),[khe,Xf]=Cl(Yf),Nz=e=>{const{__scopeMenu:t,open:n=!1,children:r,dir:s,onOpenChange:i,modal:o=!0}=e,c=bg(t),[d,f]=m.useState(null),h=m.useRef(!1),p=Fn(i),g=wu(s);return m.useEffect(()=>{const x=()=>{h.current=!0,document.addEventListener("pointerdown",j,{capture:!0,once:!0}),document.addEventListener("pointermove",j,{capture:!0,once:!0})},j=()=>h.current=!1;return document.addEventListener("keydown",x,{capture:!0}),()=>{document.removeEventListener("keydown",x,{capture:!0}),document.removeEventListener("pointerdown",j,{capture:!0}),document.removeEventListener("pointermove",j,{capture:!0})}},[]),a.jsx(xv,{...c,children:a.jsx(Ahe,{scope:t,open:n,onOpenChange:p,content:d,onContentChange:f,children:a.jsx(khe,{scope:t,onClose:m.useCallback(()=>p(!1),[p]),isUsingKeyboardRef:h,dir:g,modal:o,children:r})})})};Nz.displayName=Yf;var Phe="MenuAnchor",s_=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,s=bg(n);return a.jsx(Tf,{...s,...r,ref:t})});s_.displayName=Phe;var i_="MenuPortal",[Ehe,Cz]=Cl(i_,{forceMount:void 0}),_z=e=>{const{__scopeMenu:t,forceMount:n,children:r,container:s}=e,i=_l(i_,t);return a.jsx(Ehe,{scope:t,forceMount:n,children:a.jsx(Wn,{present:n||i.open,children:a.jsx(vl,{asChild:!0,container:s,children:r})})})};_z.displayName=i_;var ka="MenuContent",[The,o_]=Cl(ka),Az=m.forwardRef((e,t)=>{const n=Cz(ka,e.__scopeMenu),{forceMount:r=n.forceMount,...s}=e,i=_l(ka,e.__scopeMenu),o=Xf(ka,e.__scopeMenu);return a.jsx(Nf.Provider,{scope:e.__scopeMenu,children:a.jsx(Wn,{present:r||i.open,children:a.jsx(Nf.Slot,{scope:e.__scopeMenu,children:o.modal?a.jsx(Rhe,{...s,ref:t}):a.jsx(Ohe,{...s,ref:t})})})})}),Rhe=m.forwardRef((e,t)=>{const n=_l(ka,e.__scopeMenu),r=m.useRef(null),s=_t(t,r);return m.useEffect(()=>{const i=r.current;if(i)return Ev(i)},[]),a.jsx(l_,{...e,ref:s,trapFocus:n.open,disableOutsidePointerEvents:n.open,disableOutsideScroll:!0,onFocusOutside:qe(e.onFocusOutside,i=>i.preventDefault(),{checkForDefaultPrevented:!1}),onDismiss:()=>n.onOpenChange(!1)})}),Ohe=m.forwardRef((e,t)=>{const n=_l(ka,e.__scopeMenu);return a.jsx(l_,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,disableOutsideScroll:!1,onDismiss:()=>n.onOpenChange(!1)})}),Mhe=mhe("MenuContent.ScrollLock"),l_=m.forwardRef((e,t)=>{const{__scopeMenu:n,loop:r=!1,trapFocus:s,onOpenAutoFocus:i,onCloseAutoFocus:o,disableOutsidePointerEvents:c,onEntryFocus:d,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:p,onInteractOutside:g,onDismiss:x,disableOutsideScroll:j,...y}=e,b=_l(ka,n),S=Xf(ka,n),N=bg(n),C=Sz(n),k=Che(n),[A,P]=m.useState(null),T=m.useRef(null),R=_t(t,T,b.onContentChange),M=m.useRef(0),D=m.useRef(""),W=m.useRef(0),B=m.useRef(null),Y=m.useRef("right"),V=m.useRef(0),L=j?Mf:m.Fragment,I=j?{as:Mhe,allowPinchZoom:!0}:void 0,Q=O=>{const Z=D.current+O,U=k().filter(oe=>!oe.disabled),z=document.activeElement,G=U.find(oe=>oe.ref.current===z)?.textValue,ae=U.map(oe=>oe.textValue),ee=Hhe(ae,Z,G),ce=U.find(oe=>oe.textValue===ee)?.ref.current;(function oe(ve){D.current=ve,window.clearTimeout(M.current),ve!==""&&(M.current=window.setTimeout(()=>oe(""),1e3))})(Z),ce&&setTimeout(()=>ce.focus())};m.useEffect(()=>()=>window.clearTimeout(M.current),[]),kv();const H=m.useCallback(O=>Y.current===B.current?.side&&Ghe(O,B.current?.area),[]);return a.jsx(The,{scope:n,searchRef:D,onItemEnter:m.useCallback(O=>{H(O)&&O.preventDefault()},[H]),onItemLeave:m.useCallback(O=>{H(O)||(T.current?.focus(),P(null))},[H]),onTriggerLeave:m.useCallback(O=>{H(O)&&O.preventDefault()},[H]),pointerGraceTimerRef:W,onPointerGraceIntentChange:m.useCallback(O=>{B.current=O},[]),children:a.jsx(L,{...I,children:a.jsx(Of,{asChild:!0,trapped:s,onMountAutoFocus:qe(i,O=>{O.preventDefault(),T.current?.focus({preventScroll:!0})}),onUnmountAutoFocus:o,children:a.jsx(ml,{asChild:!0,disableOutsidePointerEvents:c,onEscapeKeyDown:f,onPointerDownOutside:h,onFocusOutside:p,onInteractOutside:g,onDismiss:x,children:a.jsx(yz,{asChild:!0,...C,dir:S.dir,orientation:"vertical",loop:r,currentTabStopId:A,onCurrentTabStopIdChange:P,onEntryFocus:qe(d,O=>{S.isUsingKeyboardRef.current||O.preventDefault()}),preventScrollOnEntryFocus:!0,children:a.jsx(yv,{role:"menu","aria-orientation":"vertical","data-state":Uz(b.open),"data-radix-menu-content":"",dir:S.dir,...N,...y,ref:R,style:{outline:"none",...y.style},onKeyDown:qe(y.onKeyDown,O=>{const U=O.target.closest("[data-radix-menu-content]")===O.currentTarget,z=O.ctrlKey||O.altKey||O.metaKey,G=O.key.length===1;U&&(O.key==="Tab"&&O.preventDefault(),!z&&G&&Q(O.key));const ae=T.current;if(O.target!==ae||!jhe.includes(O.key))return;O.preventDefault();const ce=k().filter(oe=>!oe.disabled).map(oe=>oe.ref.current);wz.includes(O.key)&&ce.reverse(),Whe(ce)}),onBlur:qe(e.onBlur,O=>{O.currentTarget.contains(O.target)||(window.clearTimeout(M.current),D.current="")}),onPointerMove:qe(e.onPointerMove,Cf(O=>{const Z=O.target,U=V.current!==O.clientX;if(O.currentTarget.contains(Z)&&U){const z=O.clientX>V.current?"right":"left";Y.current=z,V.current=O.clientX}}))})})})})})})});Az.displayName=ka;var Ihe="MenuGroup",c_=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return a.jsx(it.div,{role:"group",...r,ref:t})});c_.displayName=Ihe;var $he="MenuLabel",kz=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return a.jsx(it.div,{...r,ref:t})});kz.displayName=$he;var Jm="MenuItem",c$="menu.itemSelect",wg=m.forwardRef((e,t)=>{const{disabled:n=!1,onSelect:r,...s}=e,i=m.useRef(null),o=Xf(Jm,e.__scopeMenu),c=o_(Jm,e.__scopeMenu),d=_t(t,i),f=m.useRef(!1),h=()=>{const p=i.current;if(!n&&p){const g=new CustomEvent(c$,{bubbles:!0,cancelable:!0});p.addEventListener(c$,x=>r?.(x),{once:!0}),kN(p,g),g.defaultPrevented?f.current=!1:o.onClose()}};return a.jsx(Pz,{...s,ref:d,disabled:n,onClick:qe(e.onClick,h),onPointerDown:p=>{e.onPointerDown?.(p),f.current=!0},onPointerUp:qe(e.onPointerUp,p=>{f.current||p.currentTarget?.click()}),onKeyDown:qe(e.onKeyDown,p=>{const g=c.searchRef.current!=="";n||g&&p.key===" "||iN.includes(p.key)&&(p.currentTarget.click(),p.preventDefault())})})});wg.displayName=Jm;var Pz=m.forwardRef((e,t)=>{const{__scopeMenu:n,disabled:r=!1,textValue:s,...i}=e,o=o_(Jm,n),c=Sz(n),d=m.useRef(null),f=_t(t,d),[h,p]=m.useState(!1),[g,x]=m.useState("");return m.useEffect(()=>{const j=d.current;j&&x((j.textContent??"").trim())},[i.children]),a.jsx(Nf.ItemSlot,{scope:n,disabled:r,textValue:s??g,children:a.jsx(bz,{asChild:!0,...c,focusable:!r,children:a.jsx(it.div,{role:"menuitem","data-highlighted":h?"":void 0,"aria-disabled":r||void 0,"data-disabled":r?"":void 0,...i,ref:f,onPointerMove:qe(e.onPointerMove,Cf(j=>{r?o.onItemLeave(j):(o.onItemEnter(j),j.defaultPrevented||j.currentTarget.focus({preventScroll:!0}))})),onPointerLeave:qe(e.onPointerLeave,Cf(j=>o.onItemLeave(j))),onFocus:qe(e.onFocus,()=>p(!0)),onBlur:qe(e.onBlur,()=>p(!1))})})})}),Dhe="MenuCheckboxItem",Ez=m.forwardRef((e,t)=>{const{checked:n=!1,onCheckedChange:r,...s}=e;return a.jsx(Iz,{scope:e.__scopeMenu,checked:n,children:a.jsx(wg,{role:"menuitemcheckbox","aria-checked":Zm(n)?"mixed":n,...s,ref:t,"data-state":d_(n),onSelect:qe(s.onSelect,()=>r?.(Zm(n)?!0:!n),{checkForDefaultPrevented:!1})})})});Ez.displayName=Dhe;var Tz="MenuRadioGroup",[Lhe,Fhe]=Cl(Tz,{value:void 0,onValueChange:()=>{}}),Rz=m.forwardRef((e,t)=>{const{value:n,onValueChange:r,...s}=e,i=Fn(r);return a.jsx(Lhe,{scope:e.__scopeMenu,value:n,onValueChange:i,children:a.jsx(c_,{...s,ref:t})})});Rz.displayName=Tz;var Oz="MenuRadioItem",Mz=m.forwardRef((e,t)=>{const{value:n,...r}=e,s=Fhe(Oz,e.__scopeMenu),i=n===s.value;return a.jsx(Iz,{scope:e.__scopeMenu,checked:i,children:a.jsx(wg,{role:"menuitemradio","aria-checked":i,...r,ref:t,"data-state":d_(i),onSelect:qe(r.onSelect,()=>s.onValueChange?.(n),{checkForDefaultPrevented:!1})})})});Mz.displayName=Oz;var u_="MenuItemIndicator",[Iz,zhe]=Cl(u_,{checked:!1}),$z=m.forwardRef((e,t)=>{const{__scopeMenu:n,forceMount:r,...s}=e,i=zhe(u_,n);return a.jsx(Wn,{present:r||Zm(i.checked)||i.checked===!0,children:a.jsx(it.span,{...s,ref:t,"data-state":d_(i.checked)})})});$z.displayName=u_;var Bhe="MenuSeparator",Dz=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e;return a.jsx(it.div,{role:"separator","aria-orientation":"horizontal",...r,ref:t})});Dz.displayName=Bhe;var qhe="MenuArrow",Lz=m.forwardRef((e,t)=>{const{__scopeMenu:n,...r}=e,s=bg(n);return a.jsx(bv,{...s,...r,ref:t})});Lz.displayName=qhe;var Uhe="MenuSub",[vbe,Fz]=Cl(Uhe),Cd="MenuSubTrigger",zz=m.forwardRef((e,t)=>{const n=_l(Cd,e.__scopeMenu),r=Xf(Cd,e.__scopeMenu),s=Fz(Cd,e.__scopeMenu),i=o_(Cd,e.__scopeMenu),o=m.useRef(null),{pointerGraceTimerRef:c,onPointerGraceIntentChange:d}=i,f={__scopeMenu:e.__scopeMenu},h=m.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=null},[]);return m.useEffect(()=>h,[h]),m.useEffect(()=>{const p=c.current;return()=>{window.clearTimeout(p),d(null)}},[c,d]),a.jsx(s_,{asChild:!0,...f,children:a.jsx(Pz,{id:s.triggerId,"aria-haspopup":"menu","aria-expanded":n.open,"aria-controls":s.contentId,"data-state":Uz(n.open),...e,ref:kr(t,s.onTriggerChange),onClick:p=>{e.onClick?.(p),!(e.disabled||p.defaultPrevented)&&(p.currentTarget.focus(),n.open||n.onOpenChange(!0))},onPointerMove:qe(e.onPointerMove,Cf(p=>{i.onItemEnter(p),!p.defaultPrevented&&!e.disabled&&!n.open&&!o.current&&(i.onPointerGraceIntentChange(null),o.current=window.setTimeout(()=>{n.onOpenChange(!0),h()},100))})),onPointerLeave:qe(e.onPointerLeave,Cf(p=>{h();const g=n.content?.getBoundingClientRect();if(g){const x=n.content?.dataset.side,j=x==="right",y=j?-5:5,b=g[j?"left":"right"],S=g[j?"right":"left"];i.onPointerGraceIntentChange({area:[{x:p.clientX+y,y:p.clientY},{x:b,y:g.top},{x:S,y:g.top},{x:S,y:g.bottom},{x:b,y:g.bottom}],side:x}),window.clearTimeout(c.current),c.current=window.setTimeout(()=>i.onPointerGraceIntentChange(null),300)}else{if(i.onTriggerLeave(p),p.defaultPrevented)return;i.onPointerGraceIntentChange(null)}})),onKeyDown:qe(e.onKeyDown,p=>{const g=i.searchRef.current!=="";e.disabled||g&&p.key===" "||She[r.dir].includes(p.key)&&(n.onOpenChange(!0),n.content?.focus(),p.preventDefault())})})})});zz.displayName=Cd;var Bz="MenuSubContent",qz=m.forwardRef((e,t)=>{const n=Cz(ka,e.__scopeMenu),{forceMount:r=n.forceMount,...s}=e,i=_l(ka,e.__scopeMenu),o=Xf(ka,e.__scopeMenu),c=Fz(Bz,e.__scopeMenu),d=m.useRef(null),f=_t(t,d);return a.jsx(Nf.Provider,{scope:e.__scopeMenu,children:a.jsx(Wn,{present:r||i.open,children:a.jsx(Nf.Slot,{scope:e.__scopeMenu,children:a.jsx(l_,{id:c.contentId,"aria-labelledby":c.triggerId,...s,ref:f,align:"start",side:o.dir==="rtl"?"left":"right",disableOutsidePointerEvents:!1,disableOutsideScroll:!1,trapFocus:!1,onOpenAutoFocus:h=>{o.isUsingKeyboardRef.current&&d.current?.focus(),h.preventDefault()},onCloseAutoFocus:h=>h.preventDefault(),onFocusOutside:qe(e.onFocusOutside,h=>{h.target!==c.trigger&&i.onOpenChange(!1)}),onEscapeKeyDown:qe(e.onEscapeKeyDown,h=>{o.onClose(),h.preventDefault()}),onKeyDown:qe(e.onKeyDown,h=>{const p=h.currentTarget.contains(h.target),g=Nhe[o.dir].includes(h.key);p&&g&&(i.onOpenChange(!1),c.trigger?.focus(),h.preventDefault())})})})})})});qz.displayName=Bz;function Uz(e){return e?"open":"closed"}function Zm(e){return e==="indeterminate"}function d_(e){return Zm(e)?"indeterminate":e?"checked":"unchecked"}function Whe(e){const t=document.activeElement;for(const n of e)if(n===t||(n.focus(),document.activeElement!==t))return}function Vhe(e,t){return e.map((n,r)=>e[(t+r)%e.length])}function Hhe(e,t,n){const s=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let o=Vhe(e,Math.max(i,0));s.length===1&&(o=o.filter(f=>f!==n));const d=o.find(f=>f.toLowerCase().startsWith(s.toLowerCase()));return d!==n?d:void 0}function Khe(e,t){const{x:n,y:r}=e;let s=!1;for(let i=0,o=t.length-1;i<t.length;o=i++){const c=t[i],d=t[o],f=c.x,h=c.y,p=d.x,g=d.y;h>r!=g>r&&n<(p-f)*(r-h)/(g-h)+f&&(s=!s)}return s}function Ghe(e,t){if(!t)return!1;const n={x:e.clientX,y:e.clientY};return Khe(n,t)}function Cf(e){return t=>t.pointerType==="mouse"?e(t):void 0}var Yhe=Nz,Xhe=s_,Qhe=_z,Jhe=Az,Zhe=c_,eme=kz,tme=wg,nme=Ez,rme=Rz,ame=Mz,sme=$z,ime=Dz,ome=Lz,lme=zz,cme=qz,jg="DropdownMenu",[ume]=fr(jg,[jz]),Pr=jz(),[dme,Wz]=ume(jg),Vz=e=>{const{__scopeDropdownMenu:t,children:n,dir:r,open:s,defaultOpen:i,onOpenChange:o,modal:c=!0}=e,d=Pr(t),f=m.useRef(null),[h,p]=da({prop:s,defaultProp:i??!1,onChange:o,caller:jg});return a.jsx(dme,{scope:t,triggerId:Jn(),triggerRef:f,contentId:Jn(),open:h,onOpenChange:p,onOpenToggle:m.useCallback(()=>p(g=>!g),[p]),modal:c,children:a.jsx(Yhe,{...d,open:h,onOpenChange:p,dir:r,modal:c,children:n})})};Vz.displayName=jg;var Hz="DropdownMenuTrigger",Kz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,disabled:r=!1,...s}=e,i=Wz(Hz,n),o=Pr(n);return a.jsx(Xhe,{asChild:!0,...o,children:a.jsx(it.button,{type:"button",id:i.triggerId,"aria-haspopup":"menu","aria-expanded":i.open,"aria-controls":i.open?i.contentId:void 0,"data-state":i.open?"open":"closed","data-disabled":r?"":void 0,disabled:r,...s,ref:kr(t,i.triggerRef),onPointerDown:qe(e.onPointerDown,c=>{!r&&c.button===0&&c.ctrlKey===!1&&(i.onOpenToggle(),i.open||c.preventDefault())}),onKeyDown:qe(e.onKeyDown,c=>{r||(["Enter"," "].includes(c.key)&&i.onOpenToggle(),c.key==="ArrowDown"&&i.onOpenChange(!0),["Enter"," ","ArrowDown"].includes(c.key)&&c.preventDefault())})})})});Kz.displayName=Hz;var fme="DropdownMenuPortal",Gz=e=>{const{__scopeDropdownMenu:t,...n}=e,r=Pr(t);return a.jsx(Qhe,{...r,...n})};Gz.displayName=fme;var Yz="DropdownMenuContent",Xz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Wz(Yz,n),i=Pr(n),o=m.useRef(!1);return a.jsx(Jhe,{id:s.contentId,"aria-labelledby":s.triggerId,...i,...r,ref:t,onCloseAutoFocus:qe(e.onCloseAutoFocus,c=>{o.current||s.triggerRef.current?.focus(),o.current=!1,c.preventDefault()}),onInteractOutside:qe(e.onInteractOutside,c=>{const d=c.detail.originalEvent,f=d.button===0&&d.ctrlKey===!0,h=d.button===2||f;(!s.modal||h)&&(o.current=!0)}),style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});Xz.displayName=Yz;var pme="DropdownMenuGroup",hme=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(Zhe,{...s,...r,ref:t})});hme.displayName=pme;var mme="DropdownMenuLabel",Qz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(eme,{...s,...r,ref:t})});Qz.displayName=mme;var vme="DropdownMenuItem",Jz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(tme,{...s,...r,ref:t})});Jz.displayName=vme;var gme="DropdownMenuCheckboxItem",Zz=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(nme,{...s,...r,ref:t})});Zz.displayName=gme;var xme="DropdownMenuRadioGroup",yme=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(rme,{...s,...r,ref:t})});yme.displayName=xme;var bme="DropdownMenuRadioItem",eB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(ame,{...s,...r,ref:t})});eB.displayName=bme;var wme="DropdownMenuItemIndicator",tB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(sme,{...s,...r,ref:t})});tB.displayName=wme;var jme="DropdownMenuSeparator",nB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(ime,{...s,...r,ref:t})});nB.displayName=jme;var Sme="DropdownMenuArrow",Nme=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(ome,{...s,...r,ref:t})});Nme.displayName=Sme;var Cme="DropdownMenuSubTrigger",rB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(lme,{...s,...r,ref:t})});rB.displayName=Cme;var _me="DropdownMenuSubContent",aB=m.forwardRef((e,t)=>{const{__scopeDropdownMenu:n,...r}=e,s=Pr(n);return a.jsx(cme,{...s,...r,ref:t,style:{...e.style,"--radix-dropdown-menu-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-dropdown-menu-content-available-width":"var(--radix-popper-available-width)","--radix-dropdown-menu-content-available-height":"var(--radix-popper-available-height)","--radix-dropdown-menu-trigger-width":"var(--radix-popper-anchor-width)","--radix-dropdown-menu-trigger-height":"var(--radix-popper-anchor-height)"}})});aB.displayName=_me;var Ame=Vz,kme=Kz,Pme=Gz,sB=Xz,iB=Qz,oB=Jz,lB=Zz,cB=eB,uB=tB,dB=nB,fB=rB,pB=aB;const Qf=Ame,Jf=kme,Eme=m.forwardRef(({className:e,inset:t,children:n,...r},s)=>a.jsxs(fB,{ref:s,className:Pe("flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[state=open]:bg-accent focus:bg-accent",t&&"pl-8",e),...r,children:[n,a.jsx(RN,{className:"ml-auto h-4 w-4"})]}));Eme.displayName=fB.displayName;const Tme=m.forwardRef(({className:e,...t},n)=>a.jsx(pB,{ref:n,className:Pe("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...t}));Tme.displayName=pB.displayName;const ju=m.forwardRef(({className:e,sideOffset:t=4,...n},r)=>a.jsx(Pme,{children:a.jsx(sB,{ref:r,sideOffset:t,className:Pe("z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...n})}));ju.displayName=sB.displayName;const Sr=m.forwardRef(({className:e,inset:t,...n},r)=>a.jsx(oB,{ref:r,className:Pe("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",t&&"pl-8",e),...n}));Sr.displayName=oB.displayName;const Rme=m.forwardRef(({className:e,children:t,checked:n,...r},s)=>a.jsxs(lB,{ref:s,className:Pe("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",e),checked:n,...r,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(uB,{children:a.jsx(kc,{className:"h-4 w-4"})})}),t]}));Rme.displayName=lB.displayName;const Ome=m.forwardRef(({className:e,children:t,...n},r)=>a.jsxs(cB,{ref:r,className:Pe("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",e),...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(uB,{children:a.jsx(c9,{className:"h-2 w-2 fill-current"})})}),t]}));Ome.displayName=cB.displayName;const hB=m.forwardRef(({className:e,inset:t,...n},r)=>a.jsx(iB,{ref:r,className:Pe("px-2 py-1.5 text-sm font-semibold",t&&"pl-8",e),...n}));hB.displayName=iB.displayName;const mB=m.forwardRef(({className:e,...t},n)=>a.jsx(dB,{ref:n,className:Pe("-mx-1 my-1 h-px bg-muted",e),...t}));mB.displayName=dB.displayName;function _f(e,[t,n]){return Math.min(n,Math.max(t,e))}function Mme(e){const t=Ime(e),n=m.forwardRef((r,s)=>{const{children:i,...o}=r,c=m.Children.toArray(i),d=c.find(Dme);if(d){const f=d.props.children,h=c.map(p=>p===d?m.Children.count(f)>1?m.Children.only(null):m.isValidElement(f)?f.props.children:null:p);return a.jsx(t,{...o,ref:s,children:m.isValidElement(f)?m.cloneElement(f,void 0,h):null})}return a.jsx(t,{...o,ref:s,children:i})});return n.displayName=`${e}.Slot`,n}function Ime(e){const t=m.forwardRef((n,r)=>{const{children:s,...i}=n;if(m.isValidElement(s)){const o=Fme(s),c=Lme(i,s.props);return s.type!==m.Fragment&&(c.ref=r?kr(r,o):o),m.cloneElement(s,c)}return m.Children.count(s)>1?m.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var $me=Symbol("radix.slottable");function Dme(e){return m.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===$me}function Lme(e,t){const n={...t};for(const r in t){const s=e[r],i=t[r];/^on[A-Z]/.test(r)?s&&i?n[r]=(...c)=>{const d=i(...c);return s(...c),d}:s&&(n[r]=s):r==="style"?n[r]={...s,...i}:r==="className"&&(n[r]=[s,i].filter(Boolean).join(" "))}return{...e,...n}}function Fme(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,n=t&&"isReactWarning"in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}function Sg(e){const t=m.useRef({value:e,previous:e});return m.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}var zme=[" ","Enter","ArrowUp","ArrowDown"],Bme=[" ","Enter"],ol="Select",[Ng,Cg,qme]=kf(ol),[Su]=fr(ol,[qme,oo]),_g=oo(),[Ume,ho]=Su(ol),[Wme,Vme]=Su(ol),vB=e=>{const{__scopeSelect:t,children:n,open:r,defaultOpen:s,onOpenChange:i,value:o,defaultValue:c,onValueChange:d,dir:f,name:h,autoComplete:p,disabled:g,required:x,form:j}=e,y=_g(t),[b,S]=m.useState(null),[N,C]=m.useState(null),[k,A]=m.useState(!1),P=wu(f),[T,R]=da({prop:r,defaultProp:s??!1,onChange:i,caller:ol}),[M,D]=da({prop:o,defaultProp:c,onChange:d,caller:ol}),W=m.useRef(null),B=b?j||!!b.closest("form"):!0,[Y,V]=m.useState(new Set),L=Array.from(Y).map(I=>I.props.value).join(";");return a.jsx(xv,{...y,children:a.jsxs(Ume,{required:x,scope:t,trigger:b,onTriggerChange:S,valueNode:N,onValueNodeChange:C,valueNodeHasChildren:k,onValueNodeHasChildrenChange:A,contentId:Jn(),value:M,onValueChange:D,open:T,onOpenChange:R,dir:P,triggerPointerDownPosRef:W,disabled:g,children:[a.jsx(Ng.Provider,{scope:t,children:a.jsx(Wme,{scope:e.__scopeSelect,onNativeOptionAdd:m.useCallback(I=>{V(Q=>new Set(Q).add(I))},[]),onNativeOptionRemove:m.useCallback(I=>{V(Q=>{const H=new Set(Q);return H.delete(I),H})},[]),children:n})}),B?a.jsxs(zB,{"aria-hidden":!0,required:x,tabIndex:-1,name:h,autoComplete:p,value:M,onChange:I=>D(I.target.value),disabled:g,form:j,children:[M===void 0?a.jsx("option",{value:""}):null,Array.from(Y)]},L):null]})})};vB.displayName=ol;var gB="SelectTrigger",xB=m.forwardRef((e,t)=>{const{__scopeSelect:n,disabled:r=!1,...s}=e,i=_g(n),o=ho(gB,n),c=o.disabled||r,d=_t(t,o.onTriggerChange),f=Cg(n),h=m.useRef("touch"),[p,g,x]=qB(y=>{const b=f().filter(C=>!C.disabled),S=b.find(C=>C.value===o.value),N=UB(b,y,S);N!==void 0&&o.onValueChange(N.value)}),j=y=>{c||(o.onOpenChange(!0),x()),y&&(o.triggerPointerDownPosRef.current={x:Math.round(y.pageX),y:Math.round(y.pageY)})};return a.jsx(Tf,{asChild:!0,...i,children:a.jsx(it.button,{type:"button",role:"combobox","aria-controls":o.contentId,"aria-expanded":o.open,"aria-required":o.required,"aria-autocomplete":"none",dir:o.dir,"data-state":o.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":BB(o.value)?"":void 0,...s,ref:d,onClick:qe(s.onClick,y=>{y.currentTarget.focus(),h.current!=="mouse"&&j(y)}),onPointerDown:qe(s.onPointerDown,y=>{h.current=y.pointerType;const b=y.target;b.hasPointerCapture(y.pointerId)&&b.releasePointerCapture(y.pointerId),y.button===0&&y.ctrlKey===!1&&y.pointerType==="mouse"&&(j(y),y.preventDefault())}),onKeyDown:qe(s.onKeyDown,y=>{const b=p.current!=="";!(y.ctrlKey||y.altKey||y.metaKey)&&y.key.length===1&&g(y.key),!(b&&y.key===" ")&&zme.includes(y.key)&&(j(),y.preventDefault())})})})});xB.displayName=gB;var yB="SelectValue",bB=m.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:s,children:i,placeholder:o="",...c}=e,d=ho(yB,n),{onValueNodeHasChildrenChange:f}=d,h=i!==void 0,p=_t(t,d.onValueNodeChange);return Zn(()=>{f(h)},[f,h]),a.jsx(it.span,{...c,ref:p,style:{pointerEvents:"none"},children:BB(d.value)?a.jsx(a.Fragment,{children:o}):i})});bB.displayName=yB;var Hme="SelectIcon",wB=m.forwardRef((e,t)=>{const{__scopeSelect:n,children:r,...s}=e;return a.jsx(it.span,{"aria-hidden":!0,...s,ref:t,children:r||"▼"})});wB.displayName=Hme;var Kme="SelectPortal",jB=e=>a.jsx(vl,{asChild:!0,...e});jB.displayName=Kme;var ll="SelectContent",SB=m.forwardRef((e,t)=>{const n=ho(ll,e.__scopeSelect),[r,s]=m.useState();if(Zn(()=>{s(new DocumentFragment)},[]),!n.open){const i=r;return i?iu.createPortal(a.jsx(NB,{scope:e.__scopeSelect,children:a.jsx(Ng.Slot,{scope:e.__scopeSelect,children:a.jsx("div",{children:e.children})})}),i):null}return a.jsx(CB,{...e,ref:t})});SB.displayName=ll;var Ja=10,[NB,mo]=Su(ll),Gme="SelectContentImpl",Yme=Mme("SelectContent.RemoveScroll"),CB=m.forwardRef((e,t)=>{const{__scopeSelect:n,position:r="item-aligned",onCloseAutoFocus:s,onEscapeKeyDown:i,onPointerDownOutside:o,side:c,sideOffset:d,align:f,alignOffset:h,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:y,avoidCollisions:b,...S}=e,N=ho(ll,n),[C,k]=m.useState(null),[A,P]=m.useState(null),T=_t(t,oe=>k(oe)),[R,M]=m.useState(null),[D,W]=m.useState(null),B=Cg(n),[Y,V]=m.useState(!1),L=m.useRef(!1);m.useEffect(()=>{if(C)return Ev(C)},[C]),kv();const I=m.useCallback(oe=>{const[ve,...se]=B().map(J=>J.ref.current),[pe]=se.slice(-1),Te=document.activeElement;for(const J of oe)if(J===Te||(J?.scrollIntoView({block:"nearest"}),J===ve&&A&&(A.scrollTop=0),J===pe&&A&&(A.scrollTop=A.scrollHeight),J?.focus(),document.activeElement!==Te))return},[B,A]),Q=m.useCallback(()=>I([R,C]),[I,R,C]);m.useEffect(()=>{Y&&Q()},[Y,Q]);const{onOpenChange:H,triggerPointerDownPosRef:O}=N;m.useEffect(()=>{if(C){let oe={x:0,y:0};const ve=pe=>{oe={x:Math.abs(Math.round(pe.pageX)-(O.current?.x??0)),y:Math.abs(Math.round(pe.pageY)-(O.current?.y??0))}},se=pe=>{oe.x<=10&&oe.y<=10?pe.preventDefault():C.contains(pe.target)||H(!1),document.removeEventListener("pointermove",ve),O.current=null};return O.current!==null&&(document.addEventListener("pointermove",ve),document.addEventListener("pointerup",se,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",ve),document.removeEventListener("pointerup",se,{capture:!0})}}},[C,H,O]),m.useEffect(()=>{const oe=()=>H(!1);return window.addEventListener("blur",oe),window.addEventListener("resize",oe),()=>{window.removeEventListener("blur",oe),window.removeEventListener("resize",oe)}},[H]);const[Z,U]=qB(oe=>{const ve=B().filter(Te=>!Te.disabled),se=ve.find(Te=>Te.ref.current===document.activeElement),pe=UB(ve,oe,se);pe&&setTimeout(()=>pe.ref.current.focus())}),z=m.useCallback((oe,ve,se)=>{const pe=!L.current&&!se;(N.value!==void 0&&N.value===ve||pe)&&(M(oe),pe&&(L.current=!0))},[N.value]),G=m.useCallback(()=>C?.focus(),[C]),ae=m.useCallback((oe,ve,se)=>{const pe=!L.current&&!se;(N.value!==void 0&&N.value===ve||pe)&&W(oe)},[N.value]),ee=r==="popper"?oN:_B,ce=ee===oN?{side:c,sideOffset:d,align:f,alignOffset:h,arrowPadding:p,collisionBoundary:g,collisionPadding:x,sticky:j,hideWhenDetached:y,avoidCollisions:b}:{};return a.jsx(NB,{scope:n,content:C,viewport:A,onViewportChange:P,itemRefCallback:z,selectedItem:R,onItemLeave:G,itemTextRefCallback:ae,focusSelectedItem:Q,selectedItemText:D,position:r,isPositioned:Y,searchRef:Z,children:a.jsx(Mf,{as:Yme,allowPinchZoom:!0,children:a.jsx(Of,{asChild:!0,trapped:N.open,onMountAutoFocus:oe=>{oe.preventDefault()},onUnmountAutoFocus:qe(s,oe=>{N.trigger?.focus({preventScroll:!0}),oe.preventDefault()}),children:a.jsx(ml,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:i,onPointerDownOutside:o,onFocusOutside:oe=>oe.preventDefault(),onDismiss:()=>N.onOpenChange(!1),children:a.jsx(ee,{role:"listbox",id:N.contentId,"data-state":N.open?"open":"closed",dir:N.dir,onContextMenu:oe=>oe.preventDefault(),...S,...ce,onPlaced:()=>V(!0),ref:T,style:{display:"flex",flexDirection:"column",outline:"none",...S.style},onKeyDown:qe(S.onKeyDown,oe=>{const ve=oe.ctrlKey||oe.altKey||oe.metaKey;if(oe.key==="Tab"&&oe.preventDefault(),!ve&&oe.key.length===1&&U(oe.key),["ArrowUp","ArrowDown","Home","End"].includes(oe.key)){let pe=B().filter(Te=>!Te.disabled).map(Te=>Te.ref.current);if(["ArrowUp","End"].includes(oe.key)&&(pe=pe.slice().reverse()),["ArrowUp","ArrowDown"].includes(oe.key)){const Te=oe.target,J=pe.indexOf(Te);pe=pe.slice(J+1)}setTimeout(()=>I(pe)),oe.preventDefault()}})})})})})})});CB.displayName=Gme;var Xme="SelectItemAlignedPosition",_B=m.forwardRef((e,t)=>{const{__scopeSelect:n,onPlaced:r,...s}=e,i=ho(ll,n),o=mo(ll,n),[c,d]=m.useState(null),[f,h]=m.useState(null),p=_t(t,T=>h(T)),g=Cg(n),x=m.useRef(!1),j=m.useRef(!0),{viewport:y,selectedItem:b,selectedItemText:S,focusSelectedItem:N}=o,C=m.useCallback(()=>{if(i.trigger&&i.valueNode&&c&&f&&y&&b&&S){const T=i.trigger.getBoundingClientRect(),R=f.getBoundingClientRect(),M=i.valueNode.getBoundingClientRect(),D=S.getBoundingClientRect();if(i.dir!=="rtl"){const Te=D.left-R.left,J=M.left-Te,Ne=T.left-J,je=T.width+Ne,ct=Math.max(je,R.width),at=window.innerWidth-Ja,vt=_f(J,[Ja,Math.max(Ja,at-ct)]);c.style.minWidth=je+"px",c.style.left=vt+"px"}else{const Te=R.right-D.right,J=window.innerWidth-M.right-Te,Ne=window.innerWidth-T.right-J,je=T.width+Ne,ct=Math.max(je,R.width),at=window.innerWidth-Ja,vt=_f(J,[Ja,Math.max(Ja,at-ct)]);c.style.minWidth=je+"px",c.style.right=vt+"px"}const W=g(),B=window.innerHeight-Ja*2,Y=y.scrollHeight,V=window.getComputedStyle(f),L=parseInt(V.borderTopWidth,10),I=parseInt(V.paddingTop,10),Q=parseInt(V.borderBottomWidth,10),H=parseInt(V.paddingBottom,10),O=L+I+Y+H+Q,Z=Math.min(b.offsetHeight*5,O),U=window.getComputedStyle(y),z=parseInt(U.paddingTop,10),G=parseInt(U.paddingBottom,10),ae=T.top+T.height/2-Ja,ee=B-ae,ce=b.offsetHeight/2,oe=b.offsetTop+ce,ve=L+I+oe,se=O-ve;if(ve<=ae){const Te=W.length>0&&b===W[W.length-1].ref.current;c.style.bottom="0px";const J=f.clientHeight-y.offsetTop-y.offsetHeight,Ne=Math.max(ee,ce+(Te?G:0)+J+Q),je=ve+Ne;c.style.height=je+"px"}else{const Te=W.length>0&&b===W[0].ref.current;c.style.top="0px";const Ne=Math.max(ae,L+y.offsetTop+(Te?z:0)+ce)+se;c.style.height=Ne+"px",y.scrollTop=ve-ae+y.offsetTop}c.style.margin=`${Ja}px 0`,c.style.minHeight=Z+"px",c.style.maxHeight=B+"px",r?.(),requestAnimationFrame(()=>x.current=!0)}},[g,i.trigger,i.valueNode,c,f,y,b,S,i.dir,r]);Zn(()=>C(),[C]);const[k,A]=m.useState();Zn(()=>{f&&A(window.getComputedStyle(f).zIndex)},[f]);const P=m.useCallback(T=>{T&&j.current===!0&&(C(),N?.(),j.current=!1)},[C,N]);return a.jsx(Jme,{scope:n,contentWrapper:c,shouldExpandOnScrollRef:x,onScrollButtonChange:P,children:a.jsx("div",{ref:d,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:a.jsx(it.div,{...s,ref:p,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});_B.displayName=Xme;var Qme="SelectPopperPosition",oN=m.forwardRef((e,t)=>{const{__scopeSelect:n,align:r="start",collisionPadding:s=Ja,...i}=e,o=_g(n);return a.jsx(yv,{...o,...i,ref:t,align:r,collisionPadding:s,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});oN.displayName=Qme;var[Jme,f_]=Su(ll,{}),lN="SelectViewport",AB=m.forwardRef((e,t)=>{const{__scopeSelect:n,nonce:r,...s}=e,i=mo(lN,n),o=f_(lN,n),c=_t(t,i.onViewportChange),d=m.useRef(0);return a.jsxs(a.Fragment,{children:[a.jsx("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:r}),a.jsx(Ng.Slot,{scope:n,children:a.jsx(it.div,{"data-radix-select-viewport":"",role:"presentation",...s,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...s.style},onScroll:qe(s.onScroll,f=>{const h=f.currentTarget,{contentWrapper:p,shouldExpandOnScrollRef:g}=o;if(g?.current&&p){const x=Math.abs(d.current-h.scrollTop);if(x>0){const j=window.innerHeight-Ja*2,y=parseFloat(p.style.minHeight),b=parseFloat(p.style.height),S=Math.max(y,b);if(S<j){const N=S+x,C=Math.min(j,N),k=N-C;p.style.height=C+"px",p.style.bottom==="0px"&&(h.scrollTop=k>0?k:0,p.style.justifyContent="flex-end")}}}d.current=h.scrollTop})})})]})});AB.displayName=lN;var kB="SelectGroup",[Zme,eve]=Su(kB),tve=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=Jn();return a.jsx(Zme,{scope:n,id:s,children:a.jsx(it.div,{role:"group","aria-labelledby":s,...r,ref:t})})});tve.displayName=kB;var PB="SelectLabel",EB=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=eve(PB,n);return a.jsx(it.div,{id:s.id,...r,ref:t})});EB.displayName=PB;var ev="SelectItem",[nve,TB]=Su(ev),RB=m.forwardRef((e,t)=>{const{__scopeSelect:n,value:r,disabled:s=!1,textValue:i,...o}=e,c=ho(ev,n),d=mo(ev,n),f=c.value===r,[h,p]=m.useState(i??""),[g,x]=m.useState(!1),j=_t(t,N=>d.itemRefCallback?.(N,r,s)),y=Jn(),b=m.useRef("touch"),S=()=>{s||(c.onValueChange(r),c.onOpenChange(!1))};if(r==="")throw new Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return a.jsx(nve,{scope:n,value:r,disabled:s,textId:y,isSelected:f,onItemTextChange:m.useCallback(N=>{p(C=>C||(N?.textContent??"").trim())},[]),children:a.jsx(Ng.ItemSlot,{scope:n,value:r,disabled:s,textValue:h,children:a.jsx(it.div,{role:"option","aria-labelledby":y,"data-highlighted":g?"":void 0,"aria-selected":f&&g,"data-state":f?"checked":"unchecked","aria-disabled":s||void 0,"data-disabled":s?"":void 0,tabIndex:s?void 0:-1,...o,ref:j,onFocus:qe(o.onFocus,()=>x(!0)),onBlur:qe(o.onBlur,()=>x(!1)),onClick:qe(o.onClick,()=>{b.current!=="mouse"&&S()}),onPointerUp:qe(o.onPointerUp,()=>{b.current==="mouse"&&S()}),onPointerDown:qe(o.onPointerDown,N=>{b.current=N.pointerType}),onPointerMove:qe(o.onPointerMove,N=>{b.current=N.pointerType,s?d.onItemLeave?.():b.current==="mouse"&&N.currentTarget.focus({preventScroll:!0})}),onPointerLeave:qe(o.onPointerLeave,N=>{N.currentTarget===document.activeElement&&d.onItemLeave?.()}),onKeyDown:qe(o.onKeyDown,N=>{d.searchRef?.current!==""&&N.key===" "||(Bme.includes(N.key)&&S(),N.key===" "&&N.preventDefault())})})})})});RB.displayName=ev;var _d="SelectItemText",OB=m.forwardRef((e,t)=>{const{__scopeSelect:n,className:r,style:s,...i}=e,o=ho(_d,n),c=mo(_d,n),d=TB(_d,n),f=Vme(_d,n),[h,p]=m.useState(null),g=_t(t,S=>p(S),d.onItemTextChange,S=>c.itemTextRefCallback?.(S,d.value,d.disabled)),x=h?.textContent,j=m.useMemo(()=>a.jsx("option",{value:d.value,disabled:d.disabled,children:x},d.value),[d.disabled,d.value,x]),{onNativeOptionAdd:y,onNativeOptionRemove:b}=f;return Zn(()=>(y(j),()=>b(j)),[y,b,j]),a.jsxs(a.Fragment,{children:[a.jsx(it.span,{id:d.textId,...i,ref:g}),d.isSelected&&o.valueNode&&!o.valueNodeHasChildren?iu.createPortal(i.children,o.valueNode):null]})});OB.displayName=_d;var MB="SelectItemIndicator",IB=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return TB(MB,n).isSelected?a.jsx(it.span,{"aria-hidden":!0,...r,ref:t}):null});IB.displayName=MB;var cN="SelectScrollUpButton",$B=m.forwardRef((e,t)=>{const n=mo(cN,e.__scopeSelect),r=f_(cN,e.__scopeSelect),[s,i]=m.useState(!1),o=_t(t,r.onScrollButtonChange);return Zn(()=>{if(n.viewport&&n.isPositioned){let c=function(){const f=d.scrollTop>0;i(f)};const d=n.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[n.viewport,n.isPositioned]),s?a.jsx(LB,{...e,ref:o,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=n;c&&d&&(c.scrollTop=c.scrollTop-d.offsetHeight)}}):null});$B.displayName=cN;var uN="SelectScrollDownButton",DB=m.forwardRef((e,t)=>{const n=mo(uN,e.__scopeSelect),r=f_(uN,e.__scopeSelect),[s,i]=m.useState(!1),o=_t(t,r.onScrollButtonChange);return Zn(()=>{if(n.viewport&&n.isPositioned){let c=function(){const f=d.scrollHeight-d.clientHeight,h=Math.ceil(d.scrollTop)<f;i(h)};const d=n.viewport;return c(),d.addEventListener("scroll",c),()=>d.removeEventListener("scroll",c)}},[n.viewport,n.isPositioned]),s?a.jsx(LB,{...e,ref:o,onAutoScroll:()=>{const{viewport:c,selectedItem:d}=n;c&&d&&(c.scrollTop=c.scrollTop+d.offsetHeight)}}):null});DB.displayName=uN;var LB=m.forwardRef((e,t)=>{const{__scopeSelect:n,onAutoScroll:r,...s}=e,i=mo("SelectScrollButton",n),o=m.useRef(null),c=Cg(n),d=m.useCallback(()=>{o.current!==null&&(window.clearInterval(o.current),o.current=null)},[]);return m.useEffect(()=>()=>d(),[d]),Zn(()=>{c().find(h=>h.ref.current===document.activeElement)?.ref.current?.scrollIntoView({block:"nearest"})},[c]),a.jsx(it.div,{"aria-hidden":!0,...s,ref:t,style:{flexShrink:0,...s.style},onPointerDown:qe(s.onPointerDown,()=>{o.current===null&&(o.current=window.setInterval(r,50))}),onPointerMove:qe(s.onPointerMove,()=>{i.onItemLeave?.(),o.current===null&&(o.current=window.setInterval(r,50))}),onPointerLeave:qe(s.onPointerLeave,()=>{d()})})}),rve="SelectSeparator",FB=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e;return a.jsx(it.div,{"aria-hidden":!0,...r,ref:t})});FB.displayName=rve;var dN="SelectArrow",ave=m.forwardRef((e,t)=>{const{__scopeSelect:n,...r}=e,s=_g(n),i=ho(dN,n),o=mo(dN,n);return i.open&&o.position==="popper"?a.jsx(bv,{...s,...r,ref:t}):null});ave.displayName=dN;var sve="SelectBubbleInput",zB=m.forwardRef(({__scopeSelect:e,value:t,...n},r)=>{const s=m.useRef(null),i=_t(r,s),o=Sg(t);return m.useEffect(()=>{const c=s.current;if(!c)return;const d=window.HTMLSelectElement.prototype,h=Object.getOwnPropertyDescriptor(d,"value").set;if(o!==t&&h){const p=new Event("change",{bubbles:!0});h.call(c,t),c.dispatchEvent(p)}},[o,t]),a.jsx(it.select,{...n,style:{...tD,...n.style},ref:i,defaultValue:t})});zB.displayName=sve;function BB(e){return e===""||e===void 0}function qB(e){const t=Fn(e),n=m.useRef(""),r=m.useRef(0),s=m.useCallback(o=>{const c=n.current+o;t(c),(function d(f){n.current=f,window.clearTimeout(r.current),f!==""&&(r.current=window.setTimeout(()=>d(""),1e3))})(c)},[t]),i=m.useCallback(()=>{n.current="",window.clearTimeout(r.current)},[]);return m.useEffect(()=>()=>window.clearTimeout(r.current),[]),[n,s,i]}function UB(e,t,n){const s=t.length>1&&Array.from(t).every(f=>f===t[0])?t[0]:t,i=n?e.indexOf(n):-1;let o=ive(e,Math.max(i,0));s.length===1&&(o=o.filter(f=>f!==n));const d=o.find(f=>f.textValue.toLowerCase().startsWith(s.toLowerCase()));return d!==n?d:void 0}function ive(e,t){return e.map((n,r)=>e[(t+r)%e.length])}var ove=vB,WB=xB,lve=bB,cve=wB,uve=jB,VB=SB,dve=AB,HB=EB,KB=RB,fve=OB,pve=IB,GB=$B,YB=DB,XB=FB;const Tn=ove,Rn=lve,_n=m.forwardRef(({className:e,children:t,...n},r)=>a.jsxs(WB,{ref:r,className:Pe("flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...n,children:[t,a.jsx(cve,{asChild:!0,children:a.jsx(Yt,{className:"h-4 w-4 opacity-50"})})]}));_n.displayName=WB.displayName;const QB=m.forwardRef(({className:e,...t},n)=>a.jsx(GB,{ref:n,className:Pe("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Ns,{className:"h-4 w-4"})}));QB.displayName=GB.displayName;const JB=m.forwardRef(({className:e,...t},n)=>a.jsx(YB,{ref:n,className:Pe("flex cursor-default items-center justify-center py-1",e),...t,children:a.jsx(Yt,{className:"h-4 w-4"})}));JB.displayName=YB.displayName;const An=m.forwardRef(({className:e,children:t,position:n="popper",...r},s)=>a.jsx(uve,{children:a.jsxs(VB,{ref:s,className:Pe("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",n==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:n,...r,children:[a.jsx(QB,{}),a.jsx(dve,{className:Pe("p-1",n==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:t}),a.jsx(JB,{})]})}));An.displayName=VB.displayName;const hve=m.forwardRef(({className:e,...t},n)=>a.jsx(HB,{ref:n,className:Pe("py-1.5 pl-8 pr-2 text-sm font-semibold",e),...t}));hve.displayName=HB.displayName;const mt=m.forwardRef(({className:e,children:t,...n},r)=>a.jsxs(KB,{ref:r,className:Pe("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 focus:bg-accent focus:text-accent-foreground",e),...n,children:[a.jsx("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center",children:a.jsx(pve,{children:a.jsx(kc,{className:"h-4 w-4"})})}),a.jsx(fve,{children:t})]}));mt.displayName=KB.displayName;const mve=m.forwardRef(({className:e,...t},n)=>a.jsx(XB,{ref:n,className:Pe("-mx-1 my-1 h-px bg-muted",e),...t}));mve.displayName=XB.displayName;function fN(e){const n=(e.agentEntries&&e.agentEntries.length>0?e.agentEntries:e.agents.map(s=>({kind:"inline",agent:s}))).map(s=>s.kind==="inline"?s.agent.id:s.ref).map(s=>s.trim()).filter(Boolean),r=(e.runDefaults?.selectedAgentNames??[]).filter(s=>n.includes(s));return r.length>0?r:n}const Wi=e=>e.configName?.trim()||e.name,vve="(root)",ZB="__ROOT__",u$="mcplab.configurations.collapsedSuites",Gj=e=>e.suitePath&&e.suitePath.trim().length>0?e.suitePath.trim():null,Oo=e=>e??vve,Yj=e=>e===null?ZB:`suite:${e}`,gve=e=>e===ZB?null:e.startsWith("suite:")?e.slice(6):null,xve=(e,t)=>t===null?e===null:e===null?!1:e===t||e.startsWith(`${t}/`),yve=e=>{for(const t of e){const n=t.scenarioEntries??[];for(const s of n){if(s.kind==="inline"&&s.scenario?.id)return String(s.scenario.id);if(s.kind==="referenced"&&s.ref)return String(s.ref)}const r=t.scenarios??[];for(const s of r)if(s?.id)return String(s.id)}return null},bve=e=>yve([e]),wve=e=>{const t=bve(e);return t?{href:`/results?scenario=${encodeURIComponent(t)}`,tooltipLabel:`Open results filtered by scenario ${t}`}:{href:"/results",tooltipLabel:"Open results"}},d$=["bg-red-400","bg-red-500","bg-orange-400","bg-orange-500","bg-amber-400","bg-amber-500","bg-yellow-400","bg-yellow-500","bg-lime-400","bg-lime-500","bg-green-400","bg-green-500","bg-emerald-400","bg-emerald-500","bg-teal-400","bg-teal-500","bg-cyan-400","bg-cyan-500","bg-sky-400","bg-sky-500","bg-blue-400","bg-blue-500","bg-indigo-400","bg-indigo-500","bg-violet-400","bg-violet-500","bg-purple-400","bg-purple-500","bg-fuchsia-400","bg-fuchsia-500","bg-pink-400","bg-pink-500","bg-rose-400","bg-rose-500"];function jve(e){if(e===null)return"bg-slate-400";const t=e.split("").reduce((n,r)=>(n+r.charCodeAt(0))%d$.length,0);return d$[t]??"bg-slate-400"}const Sve=()=>{const{configs:e,deleteConfig:t,cloneConfig:n,loading:r,reload:s}=Lf(),{source:i}=Nn(),o=Ba(),[c,d]=m.useState("name"),[f,h]=m.useState("asc"),[p,g]=m.useState(""),[x,j]=m.useState("all"),[y,b]=m.useState(()=>{try{const G=window.localStorage.getItem(u$);if(!G)return new Set;const ae=JSON.parse(G);return Array.isArray(ae)?new Set(ae.filter(ee=>typeof ee=="string")):new Set}catch(G){return console.warn("Failed to restore collapsed suites from localStorage",G),new Set}}),[S,N]=m.useState(new Set),[C,k]=m.useState(new Set),[A,P]=m.useState(new Set),[T,R]=m.useState({}),M=p.trim().toLowerCase(),D=G=>{if(c===G){h(ae=>ae==="asc"?"desc":"asc");return}d(G),h(G==="updatedAt"?"desc":"asc")};m.useEffect(()=>{s();const G=()=>{s()};return window.addEventListener("focus",G),()=>{window.removeEventListener("focus",G)}},[s]),m.useEffect(()=>{let G=!1;return(async()=>{try{if(i.getLatestPassRatesByConfigIds){const ee=await i.getLatestPassRatesByConfigIds({lastDays:365,configs:e.map(ce=>({id:ce.id,sourcePath:ce.sourcePath,relativePath:ce.relativePath,configHash:ce.configHash}))});G||R(ee);return}R({})}catch{G||R({})}})(),()=>{G=!0}},[e,i]);const W=async(G,ae)=>{await t(G),Me({title:"Deleted",description:`"${ae}" has been removed.`})},B=async G=>{const ae=await n(G);Me({title:"Cloned",description:`Created "${Wi(ae)}".`}),o(`/mcp-evaluations/${ae.id}`)},Y=G=>G.agentEntries?.length??G.agents?.length??0,V=G=>G.scenarioEntries?.length??G.scenarios?.length??0,L=m.useMemo(()=>{const G=new Set;for(const ae of e){const ee=Gj(ae);if(G.add(ee),!ee)continue;const ce=ee.split("/").filter(Boolean);for(let oe=1;oe<ce.length;oe+=1)G.add(ce.slice(0,oe).join("/"))}return Array.from(G).sort((ae,ee)=>Oo(ae).localeCompare(Oo(ee)))},[e]),I=m.useMemo(()=>e.filter(G=>{const ae=Gj(G),ee=x==="all"?void 0:gve(x),ce=Oo(ae);return ee!==void 0&&!xve(ae,ee)?!1:M.length===0?!0:[Wi(G),G.id,G.description??"",G.loadError??"",ce,G.relativePath??""].join(" ").toLowerCase().includes(M)}),[e,M,x]),Q=m.useMemo(()=>[...I].sort((ae,ee)=>{let ce=0;return c==="name"&&(ce=Wi(ae).localeCompare(Wi(ee))),c==="scenarios"&&(ce=V(ae)-V(ee)),c==="agents"&&(ce=Y(ae)-Y(ee)),c==="updatedAt"&&(ce=new Date(ae.updatedAt).getTime()-new Date(ee.updatedAt).getTime()),f==="asc"?ce:-ce}),[I,c,f]),H=G=>c!==G?a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"}):f==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}),O=G=>{b(ae=>{const ee=new Set(ae);return ee.has(G)?ee.delete(G):ee.add(G),ee})},Z=async(G,ae,ee)=>{if(C.has(G))return;const ce=e.find(ve=>ve.id===G),oe=ce?fN(ce):[];k(ve=>new Set(ve).add(G));try{await i.startRun({configPath:ae,runsPerScenario:1,...oe.length>0?{agents:oe}:{}}),N(ve=>new Set(ve).add(G)),window.setTimeout(()=>{N(ve=>{const se=new Set(ve);return se.delete(G),se})},2e3),Me({title:"Queued",description:`"${ee}" added to run queue.`})}catch(ve){Me({title:"Could not queue evaluation",description:ve instanceof Error?ve.message:String(ve),variant:"destructive"})}finally{k(ve=>{const se=new Set(ve);return se.delete(G),se})}};m.useEffect(()=>{try{window.localStorage.setItem(u$,JSON.stringify(Array.from(y)))}catch(G){console.warn("Failed to persist collapsed suites to localStorage (quota/private mode?)",G)}},[y]);const U=async(G,ae,ee)=>{if(!A.has(G)){P(ce=>new Set(ce).add(G));try{const ce=ee.filter(J=>typeof J.sourcePath=="string"&&J.sourcePath.trim().length>0);if(ce.length===0){Me({title:"No runnable evaluations",description:`Suite "${ae}" has no evaluation files with a source path.`,variant:"destructive"});return}const oe=await Promise.allSettled(ce.map(J=>{const Ne=fN(J);return i.startRun({configPath:String(J.sourcePath),runsPerScenario:1,...Ne.length>0?{agents:Ne}:{}})})),ve=oe.filter(J=>J.status==="fulfilled").length,se=oe.length-ve,pe=oe.find(J=>J.status==="rejected"),Te=pe?pe.reason instanceof Error?pe.reason.message:String(pe.reason):void 0;Me({title:se===0?"Suite queued":"Suite queued with errors",description:se===0?`Queued ${ve} evaluation${ve===1?"":"s"} for suite "${ae}".`:`Queued ${ve}/${ce.length} evaluations for suite "${ae}" (${se} failed${Te?`: ${Te}`:""}).`,variant:se===0?"default":"destructive"})}catch(ce){Me({title:"Could not queue suite",description:ce instanceof Error?ce.message:String(ce),variant:"destructive"})}finally{P(ce=>{const oe=new Set(ce);return oe.delete(G),oe})}}},z=m.useMemo(()=>{const G=new Map;for(const ae of Q){const ee=Gj(ae),ce=G.get(ee);ce?ce.push(ae):G.set(ee,[ae])}return Array.from(G.entries()).sort((ae,ee)=>Oo(ae[0]).localeCompare(Oo(ee[0])))},[Q]);return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsxs("div",{children:[a.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[a.jsx(kD,{className:"h-6 w-6"}),"MCP Evaluations"]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Manage your MCP evaluation suites"})]}),a.jsxs("div",{className:"flex gap-2",children:[a.jsx(a_,{value:p,onValueChange:g,placeholder:"Search evaluations..."}),a.jsxs(Tn,{value:x,onValueChange:j,children:[a.jsx(_n,{className:"h-9 w-[200px]",children:a.jsx(Rn,{placeholder:"All suites"})}),a.jsxs(An,{children:[a.jsx(mt,{value:"all",children:"All suites"}),L.map(G=>a.jsx(mt,{value:Yj(G),children:Oo(G)},Yj(G)))]})]}),a.jsxs(re,{variant:"outline",size:"sm",onClick:()=>{s()},children:[a.jsx(Ea,{className:"mr-2 h-4 w-4"}),"Refresh"]}),a.jsxs(re,{variant:"outline",size:"sm",children:[a.jsx(j9,{className:"mr-2 h-4 w-4"}),"Import YAML"]}),a.jsx(re,{size:"sm",asChild:!0,children:a.jsxs(St,{to:"/mcp-evaluations/new",children:[a.jsx(ii,{className:"mr-2 h-4 w-4"}),"Create New"]})})]})]}),a.jsx(et,{children:a.jsx(tt,{className:"p-0",children:a.jsxs(Br,{children:[a.jsx(qr,{children:a.jsxs(Ft,{children:[a.jsx(lt,{children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>D("name"),children:["Name",H("name")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>D("scenarios"),children:["Scenarios",H("scenarios")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>D("agents"),children:["Agents",H("agents")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>D("updatedAt"),children:["Last Updated",H("updatedAt")]})}),a.jsx(lt,{className:"text-right",children:"Last Run"}),a.jsx(lt,{className:"w-[220px] text-right"})]})}),a.jsxs(Ur,{children:[z.map(([G,ae])=>{const ee=Oo(G),ce=Yj(G),oe=y.has(ce),ve=A.has(ce);return a.jsxs(m.Fragment,{children:[a.jsx(Ft,{className:"bg-muted/40 hover:bg-muted/40",children:a.jsx(We,{colSpan:6,className:"py-2",children:a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs("button",{type:"button",className:"inline-flex h-6 items-center gap-2 text-xs leading-none hover:text-foreground",onClick:()=>O(ce),"aria-expanded":!oe,"aria-label":`${oe?"Expand":"Collapse"} suite ${ee}`,children:[a.jsx(RN,{className:`h-3.5 w-3.5 text-muted-foreground transition-transform ${oe?"":"rotate-90"}`,"aria-hidden":"true"}),a.jsx("span",{className:`h-2 w-2 rounded-full ${jve(G)}`,"aria-hidden":"true"}),G===null?a.jsx(p9,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"}):a.jsx(d9,{className:"h-3.5 w-3.5 text-muted-foreground","aria-hidden":"true"}),a.jsx("span",{className:"font-medium",children:ee}),a.jsxs("span",{className:"text-muted-foreground",children:["(",ae.length,")"]})]}),a.jsxs(re,{type:"button",size:"sm",variant:"outline",className:"h-7 px-2 text-xs",disabled:ve,onClick:()=>{U(ce,ee,ae)},children:[a.jsx(is,{className:"mr-1 h-3.5 w-3.5"}),ve?"Queueing...":"Run Suite"]})]})})},`suite-${ce}`),!oe&&ae.map(se=>{const pe=wve(se);return a.jsxs(Ft,{children:[a.jsx(We,{children:a.jsxs("div",{children:[a.jsx(St,{to:`/mcp-evaluations/${se.id}`,className:"font-medium text-sm hover:text-primary",children:Wi(se)}),se.loadError&&a.jsxs(nt,{variant:"destructive",className:"ml-2 align-middle text-[10px]",children:[a.jsx(Mh,{className:"mr-1 h-3 w-3"}),"Broken"]}),se.relativePath&&a.jsx("div",{className:"mt-0.5",children:a.jsx("span",{className:"text-xs text-muted-foreground font-mono",children:se.relativePath})}),se.loadError&&a.jsx("p",{className:"text-xs text-destructive mt-0.5 break-all",children:se.loadError})]})}),a.jsx(We,{className:"text-right font-mono text-sm",children:V(se)}),a.jsx(We,{className:"text-right font-mono text-sm",children:Y(se)}),a.jsx(We,{className:"text-right text-xs text-muted-foreground",children:a.jsxs("div",{className:"inline-flex items-center gap-1",children:[a.jsx(os,{className:"h-3 w-3"}),new Date(se.updatedAt).toLocaleDateString()]})}),a.jsx(We,{className:"text-right",children:typeof T[se.id]=="number"?a.jsx("div",{className:"inline-flex justify-end",children:a.jsx(ws,{rate:T[se.id]})}):""}),a.jsx(We,{className:"w-[220px] whitespace-nowrap",children:a.jsxs("div",{className:"flex items-center justify-end gap-2",children:[a.jsxs(Qf,{children:[a.jsx(Jf,{asChild:!0,children:a.jsx(re,{variant:"ghost",size:"icon",className:"h-8 w-8",children:a.jsx(dv,{className:"h-4 w-4"})})}),a.jsxs(ju,{align:"end",children:[a.jsxs(Sr,{onClick:()=>o(`/mcp-evaluations/${se.id}`),children:[a.jsx(fv,{className:"mr-2 h-3.5 w-3.5"}),"Edit"]}),a.jsxs(Sr,{onClick:()=>{B(se.id)},children:[a.jsx(Hr,{className:"mr-2 h-3.5 w-3.5"}),"Clone"]}),a.jsxs(Sr,{className:"text-destructive",onClick:()=>{W(se.id,Wi(se))},children:[a.jsx(Ta,{className:"mr-2 h-3.5 w-3.5"}),"Delete"]})]})]}),a.jsx(ci,{children:a.jsxs(ui,{children:[a.jsx(di,{asChild:!0,children:a.jsx(re,{size:"icon",variant:"outline",className:"h-8 w-8",asChild:!0,"aria-label":pe.tooltipLabel,children:a.jsxs(St,{to:pe.href,children:[a.jsx(Ac,{className:"h-3.5 w-3.5"}),a.jsx("span",{className:"sr-only",children:pe.tooltipLabel})]})})}),a.jsx(Es,{children:pe.tooltipLabel})]})}),a.jsx(ci,{children:a.jsxs(ui,{children:[a.jsx(di,{asChild:!0,children:a.jsx(re,{size:"sm",variant:"outline",className:`h-8 px-2 text-xs ${S.has(se.id)?"border-green-600 bg-green-600 text-white hover:bg-green-700 hover:text-white":""}`,disabled:C.has(se.id)||!se.sourcePath,onClick:()=>se.sourcePath&&void Z(se.id,se.sourcePath,Wi(se)),"aria-label":`Queue ${Wi(se)}`,children:S.has(se.id)?"Queued":C.has(se.id)?"Queueing...":a.jsxs(a.Fragment,{children:[a.jsx(v9,{className:"h-3.5 w-3.5"}),a.jsx("span",{className:"sr-only",children:"Queue evaluation"})]})})}),a.jsx(Es,{children:"Queue evaluation run"})]})}),a.jsx(re,{size:"sm",variant:"outline",asChild:!0,children:a.jsxs(St,{to:`/run?configId=${encodeURIComponent(se.id)}`,children:[a.jsx(is,{className:"h-3.5 w-3.5"}),"Run"]})})]})})]},se.id)})]},`suite-group-${ce}`)}),!r&&e.length===0&&a.jsx(Ft,{children:a.jsx(We,{colSpan:6,className:"text-center py-12 text-muted-foreground",children:"No MCP evaluations yet. Create your first one to get started."})}),!r&&e.length>0&&Q.length===0&&a.jsx(Ft,{children:a.jsx(We,{colSpan:6,className:"text-center py-12 text-muted-foreground",children:"No MCP evaluations match this filter."})}),r&&a.jsx(Ft,{children:a.jsx(We,{colSpan:6,className:"text-center py-12 text-muted-foreground",children:"Loading MCP evaluations..."})})]})]})})})]})};var Nve=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Cve=Nve.reduce((e,t)=>{const n=Av(`Primitive.${t}`),r=m.forwardRef((s,i)=>{const{asChild:o,...c}=s,d=o?n:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(d,{...c,ref:i})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),_ve="Label",e6=m.forwardRef((e,t)=>a.jsx(Cve.label,{...e,ref:t,onMouseDown:n=>{n.target.closest("button, input, select, textarea")||(e.onMouseDown?.(n),!n.defaultPrevented&&n.detail>1&&n.preventDefault())}}));e6.displayName=_ve;var t6=e6;const Ave=gl("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),He=m.forwardRef(({className:e,...t},n)=>a.jsx(t6,{ref:n,className:Pe(Ave(),e),...t}));He.displayName=t6.displayName;const Os=m.forwardRef(({className:e,...t},n)=>a.jsx("textarea",{className:Pe("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:n,...t}));Os.displayName="Textarea";var Ag="Tabs",[kve]=fr(Ag,[yg]),n6=yg(),[Pve,p_]=kve(Ag),r6=m.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,onValueChange:s,defaultValue:i,orientation:o="horizontal",dir:c,activationMode:d="automatic",...f}=e,h=wu(c),[p,g]=da({prop:r,onChange:s,defaultProp:i??"",caller:Ag});return a.jsx(Pve,{scope:n,baseId:Jn(),value:p,onValueChange:g,orientation:o,dir:h,activationMode:d,children:a.jsx(it.div,{dir:h,"data-orientation":o,...f,ref:t})})});r6.displayName=Ag;var a6="TabsList",s6=m.forwardRef((e,t)=>{const{__scopeTabs:n,loop:r=!0,...s}=e,i=p_(a6,n),o=n6(n);return a.jsx(yz,{asChild:!0,...o,orientation:i.orientation,dir:i.dir,loop:r,children:a.jsx(it.div,{role:"tablist","aria-orientation":i.orientation,...s,ref:t})})});s6.displayName=a6;var i6="TabsTrigger",o6=m.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,disabled:s=!1,...i}=e,o=p_(i6,n),c=n6(n),d=u6(o.baseId,r),f=d6(o.baseId,r),h=r===o.value;return a.jsx(bz,{asChild:!0,...c,focusable:!s,active:h,children:a.jsx(it.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":f,"data-state":h?"active":"inactive","data-disabled":s?"":void 0,disabled:s,id:d,...i,ref:t,onMouseDown:qe(e.onMouseDown,p=>{!s&&p.button===0&&p.ctrlKey===!1?o.onValueChange(r):p.preventDefault()}),onKeyDown:qe(e.onKeyDown,p=>{[" ","Enter"].includes(p.key)&&o.onValueChange(r)}),onFocus:qe(e.onFocus,()=>{const p=o.activationMode!=="manual";!h&&!s&&p&&o.onValueChange(r)})})})});o6.displayName=i6;var l6="TabsContent",c6=m.forwardRef((e,t)=>{const{__scopeTabs:n,value:r,forceMount:s,children:i,...o}=e,c=p_(l6,n),d=u6(c.baseId,r),f=d6(c.baseId,r),h=r===c.value,p=m.useRef(h);return m.useEffect(()=>{const g=requestAnimationFrame(()=>p.current=!1);return()=>cancelAnimationFrame(g)},[]),a.jsx(Wn,{present:s||h,children:({present:g})=>a.jsx(it.div,{"data-state":h?"active":"inactive","data-orientation":c.orientation,role:"tabpanel","aria-labelledby":d,hidden:!g,id:f,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:p.current?"0s":void 0},children:g&&i})})});c6.displayName=l6;function u6(e,t){return`${e}-trigger-${t}`}function d6(e,t){return`${e}-content-${t}`}var Eve=r6,f6=s6,p6=o6,h6=c6;const kg=Eve,Zf=m.forwardRef(({className:e,...t},n)=>a.jsx(f6,{ref:n,className:Pe("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));Zf.displayName=f6.displayName;const ks=m.forwardRef(({className:e,...t},n)=>a.jsx(p6,{ref:n,className:Pe("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",e),...t}));ks.displayName=p6.displayName;const Af=m.forwardRef(({className:e,...t},n)=>a.jsx(h6,{ref:n,className:Pe("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...t}));Af.displayName=h6.displayName;const Tve={openai:"OpenAI",anthropic:"Anthropic",azure:"Azure OpenAI",azure_openai:"Azure OpenAI",google:"Google"};function tv(e){return Tve[e]??e}const f$={openai:"bg-emerald-100 text-emerald-800",anthropic:"bg-orange-100 text-orange-800",azure:"bg-blue-100 text-blue-800",azure_openai:"bg-blue-100 text-blue-800",google:"bg-yellow-100 text-yellow-800",custom:"bg-gray-100 text-gray-800"};function m6({provider:e}){return a.jsx("span",{className:`inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${f$[e]??f$.custom}`,children:tv(e)})}var Pg="Collapsible",[Rve]=fr(Pg),[Ove,h_]=Rve(Pg),v6=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,open:r,defaultOpen:s,disabled:i,onOpenChange:o,...c}=e,[d,f]=da({prop:r,defaultProp:s??!1,onChange:o,caller:Pg});return a.jsx(Ove,{scope:n,disabled:i,contentId:Jn(),open:d,onOpenToggle:m.useCallback(()=>f(h=>!h),[f]),children:a.jsx(it.div,{"data-state":v_(d),"data-disabled":i?"":void 0,...c,ref:t})})});v6.displayName=Pg;var g6="CollapsibleTrigger",x6=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,...r}=e,s=h_(g6,n);return a.jsx(it.button,{type:"button","aria-controls":s.contentId,"aria-expanded":s.open||!1,"data-state":v_(s.open),"data-disabled":s.disabled?"":void 0,disabled:s.disabled,...r,ref:t,onClick:qe(e.onClick,s.onOpenToggle)})});x6.displayName=g6;var m_="CollapsibleContent",y6=m.forwardRef((e,t)=>{const{forceMount:n,...r}=e,s=h_(m_,e.__scopeCollapsible);return a.jsx(Wn,{present:n||s.open,children:({present:i})=>a.jsx(Mve,{...r,ref:t,present:i})})});y6.displayName=m_;var Mve=m.forwardRef((e,t)=>{const{__scopeCollapsible:n,present:r,children:s,...i}=e,o=h_(m_,n),[c,d]=m.useState(r),f=m.useRef(null),h=_t(t,f),p=m.useRef(0),g=p.current,x=m.useRef(0),j=x.current,y=o.open||c,b=m.useRef(y),S=m.useRef(void 0);return m.useEffect(()=>{const N=requestAnimationFrame(()=>b.current=!1);return()=>cancelAnimationFrame(N)},[]),Zn(()=>{const N=f.current;if(N){S.current=S.current||{transitionDuration:N.style.transitionDuration,animationName:N.style.animationName},N.style.transitionDuration="0s",N.style.animationName="none";const C=N.getBoundingClientRect();p.current=C.height,x.current=C.width,b.current||(N.style.transitionDuration=S.current.transitionDuration,N.style.animationName=S.current.animationName),d(r)}},[o.open,r]),a.jsx(it.div,{"data-state":v_(o.open),"data-disabled":o.disabled?"":void 0,id:o.contentId,hidden:!y,...i,ref:h,style:{"--radix-collapsible-content-height":g?`${g}px`:void 0,"--radix-collapsible-content-width":j?`${j}px`:void 0,...e.style},children:y&&s})});function v_(e){return e?"open":"closed"}var Ive=v6;const ns=Ive,Na=x6,rs=y6;function Pa({text:e,variant:t="assistant",className:n}){const r=$ve(e);return a.jsx("div",{className:Pe("space-y-2",t==="system"&&"text-xs",n),children:r.map((s,i)=>a.jsx(m.Fragment,{children:Dve(s,i,t)},`md-${i}`))})}function $ve(e){const t=e.replace(/\r\n/g,`
121
121
  `).split(`
122
122
  `),n=[];let r=0;const s=o=>o.trim()==="",i=o=>o.trimStart().startsWith("```");for(;r<t.length;){const o=t[r],c=o.trim();if(s(o)){r+=1;continue}if(i(o)){const g=c.replace(/^```/,"").trim()||void 0;r+=1;const x=[];for(;r<t.length&&!i(t[r]);)x.push(t[r]),r+=1;r<t.length&&i(t[r])&&(r+=1),n.push({type:"code",lang:g,code:x.join(`
123
123
  `)});continue}if(/^---+$/.test(c)||/^\*\*\*+$/.test(c)){n.push({type:"hr"}),r+=1;continue}if(c.startsWith(">")){const g=[];for(;r<t.length&&t[r].trim().startsWith(">");)g.push(t[r].trim().replace(/^>\s?/,"")),r+=1;n.push({type:"blockquote",text:g.join(`
@@ -251,4 +251,4 @@ new Chart(document.getElementById('barChart'),{type:'bar',data:{labels:${JSON.st
251
251
  <\/script>
252
252
  </body>
253
253
  </html>`}function Io(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}const qye="mcplab.resultAssistantScenarioHandoff",Uye=[{label:"Summarize Run Results",description:"Highlight failures first, then notable tool usage and extracted values.",prompt:"Summarize the scenario results in this run. Highlight failed scenarios/checks first, then mention notable tool usage and extracted values."},{label:"Compare Agent Answer Quality",description:"Rank agents by completeness, depth, and recommendation quality.",prompt:"Compare the answer quality across all agents for this run. Rank them by completeness, analytical depth, and usefulness of recommendations. Highlight concrete differences in tool usage."},{label:"Explain Key Failures",description:"Use traces and tool outputs to identify likely root causes.",prompt:"Identify the most important failures in this run and explain likely root causes using the trace and tool outputs."},{label:"Compare With Previous Run",description:"Summarize changes in outcomes, tool usage, and extracted values.",prompt:"Compare this run with the previous run and summarize changes in outcomes, tool usage, and extracted values."}];function B$(e){const t=new Date().toISOString().replace(/[:]/g,"-").replace(/\..+/,"");return`mcplab/reports/result-assistant/${e}-${t}.md`}function q$(e){const t=e.toFixed(1);return t.endsWith(".0")?t.slice(0,-2):t}const Wye=()=>{const{id:e}=xl(),t=Ba(),[n]=vi(),{source:r}=Nn(),s=n.get("embed")==="1",{configs:i}=Lf(),{scenarios:o}=ps(),[c,d]=m.useState(void 0),[f,h]=m.useState(!0),[p,g]=m.useState(!1),[x,j]=m.useState(""),[y,b]=m.useState(!1),[S,N]=m.useState(new Set),[C,k]=m.useState(new Set),[A,P]=m.useState(""),[T,R]=m.useState(!1),[M,D]=m.useState(!1),[W,B]=m.useState("assistant"),[Y,V]=m.useState(null),[L,I]=m.useState(!1),[Q,H]=m.useState(""),[O,Z]=m.useState(""),[U,z]=m.useState(!1),[G,ae]=m.useState(!1),[ee,ce]=m.useState(!1),[oe,ve]=m.useState([]),[se,pe]=m.useState(!1),[Te,J]=m.useState(""),[Ne,je]=m.useState(null),[ct,at]=m.useState(!1),[vt,Ce]=m.useState(null),[Se,Ke]=m.useState(!1),[Be,At]=m.useState(!1),[qt,Tt]=m.useState(!1),Jt=m.useRef(null),[It,Xt]=m.useState(!1),{assistantMessages:Bt,assistantPendingToolCalls:we,assistantInput:Xe,assistantLoading:Je,assistantTurnCancelable:$t,cancelAssistantTurn:Pt,assistantChatEndRef:Ut,assistantInputRef:me,setAssistantInput:Ve,askAssistant:De,approveResultAssistantToolCall:q,denyResultAssistantToolCall:ge,applyResultAssistantSnippet:Oe,ensureIntroMessage:F,resetAssistantSession:le}=pq({source:r,open:T,scope:"run",runId:e,onSessionSync:void 0}),de=m.useCallback(async(ie,ke)=>{pe(!0);try{const Qe=(await r.listMarkdownReports()).filter(Qt=>{const tn=String(Qt.relativePath??""),fn=String(Qt.name??"");return tn.includes(ie)||fn.includes(ie)});if(ve(Qe),ke&&Qe.length>0){const Qt=Qe.find(tn=>tn.relativePath===ke||tn.path===ke||tn.relativePath.endsWith(ke)||tn.path.endsWith(ke));Qt&&J(Qt.relativePath)}return Qe}catch{return ve([]),[]}finally{pe(!1)}},[r]);m.useEffect(()=>{if(!e)return;let ie=!0;return le(),h(!0),r.getResult(e).then(ke=>{ie&&(d(ke),j(ke?.runNote??""),g(!1),h(!1))}),()=>{ie=!1}},[e,r,le]),m.useEffect(()=>{const ie=Jt.current;if(!ie)return;const ke=()=>{Xt(ie.clientWidth<800)};if(ke(),typeof ResizeObserver<"u"){const bt=new ResizeObserver(()=>ke());return bt.observe(ie),()=>bt.disconnect()}return window.addEventListener("resize",ke),()=>window.removeEventListener("resize",ke)},[f]),m.useEffect(()=>{if(!c?.id){ve([]);return}let ie=!0;return(async()=>{const ke=await de(c.id)})(),()=>{ie=!1}},[c?.id,de]),m.useEffect(()=>{if(oe.length===0){J(""),je(null),Ce(null);return}(!Te||!oe.some(ie=>ie.relativePath===Te))&&J(oe[0].relativePath)},[oe,Te]),m.useEffect(()=>{if(!T||W!=="reports")return;if(!Te){je(null),Ce(null);return}let ie=!0;return at(!0),Ce(null),r.getMarkdownReport(Te).then(ke=>{ie&&je(ke)}).catch(ke=>{ie&&(je(null),Ce(ke instanceof Error?ke.message:String(ke)))}).finally(()=>{ie&&at(!1)}),()=>{ie=!1}},[T,W,Te,r]);const $e=n.get("configId")??"",Ie=(n.get("agent")??"").trim(),Ye=m.useMemo(()=>{const ie=$e?i.find(ke=>ke.id===$e):void 0;return ie||(c?i.find(ke=>ke.id===c.configId):void 0)},[i,$e,c]),Re=m.useMemo(()=>{const ie=c?.configName?.trim();if(ie)return ie;const ke=c?.configPath?.trim();if(ke)return ke;const bt=Ye?.relativePath?.trim()||Ye?.name?.trim();return bt||c?.configId?.trim()||""},[c,Ye]),K=m.useMemo(()=>{const ie=c?.configName?.trim();return ie||Ye?.name?.trim()||""},[c,Ye]),he=m.useMemo(()=>{const ie=c?.configPath?.trim();return ie||Ye?.relativePath?.trim()||""},[c,Ye]),Ae=m.useMemo(()=>{const ie=new Map;if(Ye){for(const ke of Ye.scenarios)ie.set(ke.id,ke),ke.name&&!ie.has(ke.name)&&ie.set(ke.name,ke);for(const ke of Ye.scenarioEntries??[]){if(ke.kind!=="referenced")continue;const bt=o.find(Qe=>Qe.id===ke.ref);bt&&(ie.set(bt.id,bt),bt.name&&ie.set(bt.name,bt),ie.has(ke.ref)||ie.set(ke.ref,bt))}}for(const ke of o)ie.has(ke.id)||ie.set(ke.id,ke),ke.name&&!ie.has(ke.name)&&ie.set(ke.name,ke);return ie},[Ye,o]),Ze=m.useMemo(()=>"",[]);m.useEffect(()=>{if($e&&i.some(ie=>ie.id===$e)){P($e);return}Ze&&P(ie=>ie||Ze)},[$e,i,Ze]);const{filteredScenarios:ne,filteredTotalRuns:Le,filteredPassCount:ut,displayPassRate:Vt,displayAvgToolCalls:Ee,displayAvgLatency:Kt,displayDurationMs:wt,displayToolTimeMs:Ht,displayToolTokenUsage:Vn}=m.useMemo(()=>{if(!c)return{filteredScenarios:[],filteredTotalRuns:0,filteredPassCount:0,displayPassRate:0,displayAvgToolCalls:0,displayAvgLatency:0,displayDurationMs:null,displayToolTimeMs:null,displayToolTokenUsage:null};const ie=Ie?c.scenarios.filter(fn=>fn.agentId===Ie||fn.agentName===Ie):c.scenarios,ke=ie.reduce((fn,tr)=>fn+tr.runs.length,0),bt=ie.reduce((fn,tr)=>fn+tr.runs.filter(Er=>Er.passed).length,0),Qe=ie.reduce((fn,tr)=>fn+tr.runs.reduce((Er,cn)=>Er+cn.toolCalls.length,0),0),Qt=iv({...c,scenarios:ie}),tn=ov({...c,scenarios:ie});return{filteredScenarios:ie,filteredTotalRuns:ke,filteredPassCount:bt,displayPassRate:ke===0?0:bt/ke,displayAvgToolCalls:ke===0?0:Qe/ke,displayAvgLatency:ke===0||Qt===null?0:Math.round(Qt/ke),displayDurationMs:Qt,displayToolTimeMs:tn,displayToolTokenUsage:tX(ie.map(fn=>fn.toolTokenUsage))}},[c,Ie]),Dn=m.useMemo(()=>{const ie={};return ne.forEach(ke=>ke.runs.forEach(bt=>bt.toolCalls.forEach(Qe=>{ie[Qe.name]=(ie[Qe.name]||0)+1}))),Object.entries(ie).map(([ke,bt])=>({name:ke,count:bt})).sort((ke,bt)=>bt.count-ke.count)},[ne]);if(f)return a.jsx("div",{className:"p-8 text-center text-muted-foreground",children:"Loading result..."});if(!c)return a.jsx("div",{className:"p-8 text-center text-muted-foreground",children:"Result not found"});const Cu=Object.entries(c.mcpServerVersions??{}).map(([ie,ke])=>`${ie}: ${ke??"unknown"}`).join(", "),_u=ut,Au=Math.max(0,Le-_u),ku=[{name:"Pass",value:_u,color:"hsl(152, 69%, 40%)"},{name:"Fail",value:Au,color:"hsl(0, 72%, 51%)"}],np=ie=>{N(ke=>{const bt=new Set(ke);return bt.has(ie)?bt.delete(ie):bt.add(ie),bt})},zn=(ie,ke,bt,Qe)=>`${ie}:${ke}:${bt}:${Qe}`,Fg=(ie,ke)=>`${ie}::${ke}`,ji=ie=>{k(ke=>{const bt=new Set(ke);return bt.has(ie)?bt.delete(ie):bt.add(ie),bt})},Zt=ie=>{const ke=!ie.endsWith(":conversation");return C.has(ie)?!ke:ke},kl=(ie,ke)=>{B("assistant"),R(!0),V(ke?.scenarioId??null),F("Ask me to explain failures, tool usage, or suggest what to inspect next in this result."),ie&&Ve(ie)},Pl=we.filter(ie=>ie.status==="pending"&&!Bt.some(ke=>ke.pendingToolCallId===ie.id)),rp=ie=>{B("reports"),R(!0)},El=()=>{B("note"),R(!0)},zg=ie=>{if(!c)return;if(!Y){Me({title:"No scenario context",description:"Ask about a specific scenario or run first, then send the suggestion.",variant:"destructive"});return}const ke=o.find(Qe=>Qe.id===Y)??o.find(Qe=>Qe.name===Y);if(!ke){Me({title:"Scenario not found in library",description:`Could not find library scenario '${Y}' to open in Scenario Assistant.`,variant:"destructive"});return}const bt=[`I am sending a suggestion from the Result Assistant for scenario '${Y}' based on run '${c.id}'.`,"Please review the suggestion, check it against the current scenario configuration, and propose concrete updates to the Checks and/or Value Capture Rules if appropriate.","","Result Assistant suggestion:",ie].join(`
254
- `);try{window.sessionStorage.setItem(qye,JSON.stringify({type:"result-assistant-handoff-v1",runId:c.id,configId:$e||c.configId||"",scenarioId:ke.id,prompt:bt,sourceReply:ie})),t(`/libraries/test-cases/${encodeURIComponent(ke.id)}?assistantHandoff=1`)}catch(Qe){Me({title:"Could not create handoff",description:Qe instanceof Error?Qe.message:String(Qe),variant:"destructive"})}},Pu=ie=>{c&&(ce(!1),H(ie),Z(B$(c.id)),z(!1),I(!0))},Tl=()=>{c&&(ce(!0),H(""),Z(B$(c.id)),z(!1),I(!0))},fa=async()=>{if(!c)return;if(!Q.trim()){Me({title:"No markdown to write",description:"The selected assistant response is empty.",variant:"destructive"});return}ae(!0);try{const ke=await r.applyResultAssistantReport({runId:c.id,markdown:Q,outputPath:O.trim()||void 0,overwrite:U});Me({title:"Markdown report written",description:typeof ke.path=="string"&&ke.path?ke.path:ke.outputPath}),await de(c.id,typeof ke.path=="string"&&ke.path||ke.outputPath||void 0),T&&B("reports"),I(!1)}catch(ke){Me({title:"Could not write markdown report",description:ke instanceof Error?ke.message:String(ke),variant:"destructive"})}finally{ae(!1)}},Bg=async ie=>{try{await navigator.clipboard.writeText(ie),Me({title:"Copied"})}catch(ke){Me({title:"Could not copy",description:ke instanceof Error?ke.message:String(ke),variant:"destructive"})}},Yr=async()=>{if(c){b(!0);try{const ie=x.trim();await r.updateRunNote(c.id,ie||void 0),d(ke=>ke&&{...ke,runNote:ie||void 0}),j(ie),g(!1),Me({title:"Run note saved"})}catch(ie){Me({title:"Could not save run note",description:ie instanceof Error?ie.message:String(ie),variant:"destructive"})}finally{b(!1)}}},qg=async()=>{if(c?.id){At(!0);try{await r.deleteResult(c.id),Me({title:"Run deleted",description:c.id}),t("/results")}catch(ie){Me({title:"Could not delete run",description:ie instanceof Error?ie.message:String(ie),variant:"destructive"})}finally{At(!1),Ke(!1)}}},Ug=async()=>{if(!c?.id)return;if(!he.trim()){Me({title:"Cannot rerun",description:"This run has no config path in metadata.",variant:"destructive"});return}Tt(!0);try{await hq(r,c),Me({title:"Rerun queued",description:`${c.id} queued with previous run settings.`})}catch(ke){Me({title:"Could not rerun",description:ke instanceof Error?ke.message:String(ke),variant:"destructive"})}finally{Tt(!1)}};return a.jsxs("div",{className:`${T?"xl:flex xl:h-[calc(100vh-2rem-48px)] xl:min-h-0 xl:flex-col xl:overflow-hidden":""}`,children:[a.jsx("div",{className:`${T?"xl:shrink-0 xl:pb-6":"mb-6"}`,children:a.jsxs("div",{ref:Jt,className:"flex flex-wrap items-start justify-between gap-3",children:[a.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[!s&&a.jsx(re,{variant:"ghost",size:"icon",asChild:!0,children:a.jsx(St,{to:"/results",children:a.jsx(to,{className:"h-4 w-4"})})}),a.jsxs("div",{className:"min-w-0",children:[a.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[a.jsx("h1",{className:"text-2xl font-bold font-mono",children:c.id}),a.jsx(ws,{rate:Vt})]}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:[a.jsxs("span",{className:"inline-flex items-center gap-1 align-middle",children:[a.jsx(mP,{className:"h-3 w-3 shrink-0"}),new Date(c.timestamp).toLocaleString()]}),a.jsx("span",{className:"mx-1",children:"·"}),Ie?a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"inline-flex items-center align-middle",children:["Agent: ",Ie]}),a.jsx("span",{className:"mx-1",children:"·"})]}):null,K?a.jsxs("span",{className:"inline-flex items-center align-middle",children:["Eval: ",a.jsx("span",{className:"ml-1 font-medium",children:K})]}):null,K&&he?a.jsx("span",{className:"mx-1",children:"·"}):null,he?a.jsxs("span",{className:"inline-flex items-center align-middle",children:["Path: ",a.jsx("span",{className:"ml-1 font-mono",children:he})]}):null,!K&&!he&&Re?a.jsxs("span",{className:"inline-flex items-center align-middle",children:["Config: ",a.jsx("span",{className:"ml-1 font-mono",children:Re})]}):null]})]})]}),a.jsxs("div",{className:"flex w-full min-w-0 items-center justify-between gap-2 sm:ml-auto sm:w-auto",children:[Cu?a.jsxs("span",{className:"inline-flex max-w-[18rem] min-w-0 items-center rounded-sm border border-border/60 bg-muted/30 px-1.5 py-1 text-[11px] text-muted-foreground",children:[a.jsx("span",{className:"font-medium",children:"MCP:"}),a.jsx("span",{className:"ml-1 min-w-0 truncate font-mono",children:Cu})]}):null,a.jsxs("div",{className:"flex min-w-0 flex-wrap items-center justify-end gap-2",children:[a.jsxs(re,{variant:"outline",size:"sm",className:`max-w-full gap-1.5 ${s?"px-2":""}`,onClick:()=>{const ie=Bye(c),ke=new Blob([ie],{type:"text/html"}),bt=URL.createObjectURL(ke),Qe=document.createElement("a");Qe.href=bt,Qe.download=`mcplab-report-${c.id}.html`,Qe.click(),URL.revokeObjectURL(bt)},"aria-label":"Download Report",title:"Download Report",children:[a.jsx(Wr,{className:"h-3.5 w-3.5"}),!s&&"Download Report"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5",onClick:()=>rp(),disabled:se,children:[a.jsx(pc,{className:"h-3.5 w-3.5"}),se?"Reports...":`Reports${oe.length?` (${oe.length})`:""}`]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5","aria-label":"Run Note",onClick:()=>El(),children:[a.jsx(pc,{className:"h-3.5 w-3.5"}),It?"Note":"Run Note"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5","aria-label":"MCP Lab Assistant",onClick:()=>kl(),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),It?"Assistant":"MCP Lab Assistant"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5",onClick:()=>{Ug()},disabled:qt||!he.trim(),children:[a.jsx(is,{className:"h-3.5 w-3.5"}),qt?"Queueing...":"Rerun"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5 text-destructive",onClick:()=>Ke(!0),disabled:Be,"aria-label":Be?"Deleting run":"Delete run",children:[Be?a.jsx(dr,{className:"h-4 w-4 animate-spin"}):a.jsx(Fo,{className:"h-4 w-4"}),It?null:Be?"Deleting...":"Delete"]})]})]})]})}),a.jsxs("div",{className:`grid gap-6 items-start ${T?M?"xl:grid-cols-[minmax(0,1fr)_52rem] xl:flex-1 xl:min-h-0 xl:overflow-hidden":"xl:grid-cols-[minmax(0,1fr)_28rem] xl:flex-1 xl:min-h-0 xl:overflow-hidden":"grid-cols-1"}`,children:[a.jsxs("div",{className:`min-w-0 space-y-6 ${T?"xl:h-full xl:min-h-0 xl:overflow-y-auto xl:pr-2":""}`,children:[a.jsxs("div",{className:`grid gap-4 ${T?"grid-cols-3":"sm:grid-cols-2 lg:grid-cols-8"}`,children:[a.jsx(Sa,{title:"Scenarios",value:ne.length,icon:vS}),a.jsx(Sa,{title:"Total Runs",value:Le,icon:SD}),a.jsx(Sa,{title:"Pass Rate",value:`${Math.round(Vt*100)}%`,icon:Ac}),a.jsx(Sa,{title:"Avg Tool Calls",value:q$(Ee),icon:Zs}),a.jsx(Sa,{title:"Avg Latency",value:`${Kt}ms`,icon:OD}),wt!==null?a.jsx(Sa,{title:"Total Time",value:Ca(wt),icon:os}):null,Ht!==null?a.jsx(Sa,{title:"Tool Duration",value:Ca(Ht),icon:os}):null,a.jsx(Sa,{title:"Tool Tokens",value:Dr(Vn?.totalTokens),icon:as})]}),a.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-2",children:a.jsx(Mt,{className:"text-base",children:"Pass / Fail"})}),a.jsxs(tt,{className:"flex items-center justify-center",children:[a.jsxs(nhe,{width:180,height:180,children:[a.jsx(bi,{data:ku,dataKey:"value",innerRadius:50,outerRadius:75,paddingAngle:3,children:ku.map((ie,ke)=>a.jsx(Kv,{fill:ie.color},ke))}),a.jsx(Fr,{})]}),a.jsxs("div",{className:"ml-4 space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[a.jsx("div",{className:"h-3 w-3 rounded-full bg-success"}),_u," passed"]}),a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[a.jsx("div",{className:"h-3 w-3 rounded-full bg-destructive"}),Au," failed"]})]})]})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-2",children:a.jsx(Mt,{className:"text-base",children:"Tool Usage"})}),a.jsx(tt,{children:a.jsx(lm,{width:"100%",height:180,children:a.jsxs(the,{data:Dn,layout:"vertical",children:[a.jsx(ao,{type:"number",tick:{fontSize:11}}),a.jsx(so,{type:"category",dataKey:"name",tick:{fontSize:11},width:120}),a.jsx(Fr,{}),a.jsx(Nl,{dataKey:"count",fill:"hsl(38, 92%, 50%)",radius:[0,4,4,0]})]})})})]})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsx(Mt,{className:"text-base",children:"Scenarios"}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-8 gap-1.5 px-2 text-xs",onClick:()=>kl("Summarize the scenario results in this run. Highlight failed scenarios/checks first, then mention notable tool usage and extracted values."),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),"Ask Assistant"]})]})}),a.jsx(tt,{className:"p-0",children:a.jsxs(Br,{children:[a.jsx(qr,{children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-8"}),a.jsx(lt,{children:"Scenario"}),a.jsx(lt,{children:"Agent"}),a.jsx(lt,{children:"Runs"}),a.jsx(lt,{children:"Pass Rate"}),a.jsx(lt,{children:"Total Time"}),a.jsx(lt,{children:"Tool Calls"}),a.jsx(lt,{children:"Tool Tokens"}),a.jsx(lt,{children:"Tool Duration"})]})}),a.jsx(Ur,{children:ne.map(ie=>{const ke=Fg(ie.scenarioId,ie.agentName),bt=ie.scenarioName||ie.scenarioId;return a.jsx(ns,{open:S.has(ke),onOpenChange:()=>np(ke),asChild:!0,children:a.jsxs(a.Fragment,{children:[a.jsx(Na,{asChild:!0,children:a.jsxs(Ft,{className:"cursor-pointer hover:bg-muted/50",children:[a.jsx(We,{children:a.jsx(Yt,{className:`h-4 w-4 transition-transform ${S.has(ke)?"rotate-180":""}`})}),a.jsx(We,{className:"font-medium text-sm",children:ie.scenarioName}),a.jsxs(We,{className:"text-sm",children:[a.jsx("div",{children:ie.agentName}),(ie.provider||ie.model)&&a.jsx("div",{className:"text-xs text-muted-foreground",children:[ie.provider?tv(ie.provider):null,ie.model].filter(Boolean).join(" · ")})]}),a.jsx(We,{className:"font-mono text-sm",children:ie.runs.length}),a.jsx(We,{children:a.jsx(ws,{rate:ie.passRate})}),a.jsx(We,{className:"font-mono text-sm",children:Ca(SN(ie),{preciseUnderTenSeconds:!0})}),a.jsx(We,{className:"font-mono text-sm",children:q$(ie.avgToolCalls)}),a.jsx(We,{className:"font-mono text-sm",children:Dr(ie.toolTokenUsage?.totalTokens)}),a.jsx(We,{className:"font-mono text-sm",children:Ca(NN(ie),{preciseUnderTenSeconds:!0})})]})}),a.jsx(rs,{asChild:!0,children:a.jsx("tr",{children:a.jsx("td",{colSpan:9,className:"p-0",children:a.jsxs("div",{className:"bg-muted/30 p-4 space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border bg-card px-3 py-2",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("p",{className:"text-xs font-semibold",children:"Scenario details"}),a.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[bt," · ",ie.agentName," ·"," ",Math.round(ie.passRate*100),"% pass rate ·"," ",Dr(ie.toolTokenUsage?.totalTokens)," tool tokens ·"," ",Ca(SN(ie),{preciseUnderTenSeconds:!0})," ","total time ·"," ",Ca(NN(ie),{preciseUnderTenSeconds:!0})," ","tool time"]})]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs shrink-0",onClick:()=>kl(`Explain why scenario '${bt}' failed (agent: ${ie.agentName}). Summarize the likely cause from the result details and suggest what to inspect next.`,{scenarioId:ie.scenarioId}),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),"Ask Assistant"]})]}),ie.runs.map(Qe=>a.jsxs("div",{className:"flex items-start gap-3 rounded-md border bg-card p-3 text-sm",children:[a.jsx("div",{className:"mt-0.5",children:Qe.passed?a.jsx(Zs,{className:"h-4 w-4 text-success"}):a.jsx(Fo,{className:"h-4 w-4 text-destructive"})}),a.jsxs("div",{className:"flex-1 space-y-1",children:[(()=>{const Qt=Ae.get(ie.scenarioId),tn=Qt?Kye(Qt.evalRules,Qe.failureReasons,Qe.error):[],fn=tn.filter(cn=>cn.status==="failed"),tr=tn.filter(cn=>cn.status==="passed"),Er=tn.filter(cn=>cn.status==="not_evaluated");return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["Run #",Qe.runIndex+1]}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"·"}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:[Qe.duration,"ms"]}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"·"}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:[Dr(Qe.toolTokenUsage?.totalTokens)," ","tool tokens"]}),!Qe.passed&&a.jsx(nt,{variant:"outline",className:"h-5 border-destructive/30 bg-destructive/10 text-destructive text-[10px]",children:"Failed"})]}),Qe.failureReasons.length>0&&a.jsxs("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-2",children:[a.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[11px] font-semibold uppercase tracking-wide text-destructive",children:[a.jsx(Fo,{className:"h-3.5 w-3.5"}),"Failure reasons"]}),a.jsx("ul",{className:"space-y-1 text-xs text-destructive",children:Qe.failureReasons.map((cn,pa)=>a.jsxs("li",{children:["• ",H$(cn)]},pa))})]}),tn.length>0&&a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"checks")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"checks")),children:a.jsxs("div",{className:"rounded-md border bg-muted/20 p-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"mb-2 flex w-full flex-wrap items-center gap-2 text-left",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"checks"))?"rotate-180":""}`}),a.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Checks"}),a.jsxs(nt,{variant:"outline",className:"h-5 border-success/30 bg-success/10 text-success text-[10px]",children:[tr.length," passed"]}),a.jsxs(nt,{variant:"outline",className:`h-5 text-[10px] ${fn.length>0?"border-destructive/30 bg-destructive/10 text-destructive":""}`,children:[fn.length," failed"]}),Er.length>0&&a.jsxs(nt,{variant:"outline",className:"h-5 border-muted-foreground/30 bg-muted text-[10px] text-muted-foreground",children:[Er.length," not evaluated"]})]})}),a.jsxs(rs,{children:[Er.length>0&&a.jsx("p",{className:"mb-2 text-[11px] text-muted-foreground",children:"Checks were not evaluated because this run failed before evaluation."}),a.jsx("div",{className:"space-y-1",children:tn.map((cn,pa)=>a.jsxs("div",{className:`flex items-start justify-between gap-2 rounded-md border px-2 py-1.5 text-xs ${cn.status==="failed"?"border-destructive/20 bg-destructive/5":cn.status==="not_evaluated"?"border-muted-foreground/20 bg-muted/40":"border-success/20 bg-success/5"}`,children:[a.jsxs("div",{className:"min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[cn.status==="failed"?a.jsx(Fo,{className:"h-3.5 w-3.5 shrink-0 text-destructive"}):cn.status==="not_evaluated"?a.jsx(mP,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):a.jsx(Zs,{className:"h-3.5 w-3.5 shrink-0 text-success"}),a.jsx("span",{className:"font-medium",children:Yye(cn.rule)})]}),cn.failureReason&&a.jsx("p",{className:"mt-1 pl-5 text-[11px] text-destructive",children:H$(cn.failureReason)})]}),a.jsx(nt,{variant:"outline",className:`shrink-0 text-[10px] ${cn.status==="failed"?"border-destructive/30 text-destructive":cn.status==="not_evaluated"?"border-muted-foreground/30 text-muted-foreground":"border-success/30 text-success"}`,children:cn.status})]},`${cn.rule.type}-${cn.rule.value??cn.rule.path??""}-${pa}`))})]})]})})]})})(),a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"extracts")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"extracts")),children:a.jsxs("div",{className:"rounded-md border border-violet-500/20 bg-violet-500/5 p-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"mb-2 flex w-full flex-wrap items-center justify-between gap-2 text-left",children:[a.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 shrink-0 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"extracts"))?"rotate-180":""}`}),a.jsxs("p",{className:"flex items-center gap-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[a.jsx(vS,{className:"h-3.5 w-3.5 text-violet-600"}),"Extracted values"]})]}),a.jsxs(nt,{variant:"outline",className:"h-5 text-[10px]",children:[Object.keys(Qe.extractedValues??{}).length," ","total"]})]})}),a.jsx(rs,{children:Object.keys(Qe.extractedValues??{}).length===0?a.jsx("p",{className:"text-xs text-muted-foreground",children:"No extracted values captured for this run."}):a.jsx("div",{className:"grid gap-1.5 sm:grid-cols-2",children:Object.entries(Qe.extractedValues??{}).map(([Qt,tn])=>a.jsxs("div",{className:"rounded-md border bg-background px-2 py-1.5 text-xs",children:[a.jsx("div",{className:"mb-0.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:Qt}),a.jsx("div",{className:"font-mono break-all text-foreground",children:tn===null?"null":String(tn)})]},Qt))})})]})}),a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"tools")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"tools")),children:a.jsxs("div",{className:"rounded-md border border-sky-500/20 bg-sky-500/5 p-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"mb-2 flex w-full flex-wrap items-center justify-between gap-2 text-left",children:[a.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 shrink-0 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"tools"))?"rotate-180":""}`}),a.jsxs("p",{className:"flex items-center gap-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[a.jsx(as,{className:"h-3.5 w-3.5 text-sky-600"}),"Tool call sequence"]})]}),a.jsxs(nt,{variant:"outline",className:"h-5 text-[10px]",children:[Qe.toolCalls.length," total"]})]})}),a.jsx(rs,{children:Qe.toolCalls.length===0?a.jsx("p",{className:"text-xs text-muted-foreground",children:"No tool calls captured for this run."}):a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"flex flex-wrap gap-1",children:a.jsx(ci,{delayDuration:0,children:Qe.toolCalls.map((Qt,tn)=>{const fn=Qe.conversation.filter(Er=>Er.kind==="tool_call")[tn]?.estimatedTokens,tr=typeof fn?.totalTokens=="number";return a.jsxs(ui,{children:[a.jsx(di,{asChild:!0,children:a.jsxs(nt,{variant:"outline",className:"font-mono text-xs bg-background",children:[a.jsxs("span",{className:"mr-1 text-muted-foreground",children:["#",tn+1]}),Qt.name,a.jsxs("span",{className:"ml-1 text-muted-foreground",children:[Qt.duration,"ms"]}),tr&&a.jsxs("span",{className:"ml-1 text-muted-foreground",children:["·"," ",Dr(fn?.totalTokens),"tok"]})]})}),tr&&a.jsx(Es,{className:"text-xs",children:`${Qt.name} · tokens total: ${Dr(fn?.totalTokens)} · in: ${Dr(fn?.inputTokens)} · out: ${Dr(fn?.outputTokens)}`})]},tn)})})}),a.jsxs("div",{className:"rounded-md border bg-background p-2",children:[a.jsxs("div",{className:"mb-1.5 flex items-center justify-between gap-2",children:[a.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Tool token estimate"}),a.jsx(nt,{variant:"outline",className:"h-5 text-[10px]",children:"estimated"})]}),Object.keys(Qe.toolTokenUsageByTool??{}).length===0?a.jsx("p",{className:"text-xs text-muted-foreground",children:"n/a"}):a.jsx("div",{className:"grid gap-1.5 sm:grid-cols-2",children:Object.entries(Qe.toolTokenUsageByTool??{}).map(([Qt,tn])=>a.jsxs("div",{className:"rounded border bg-muted/30 px-2 py-1.5 text-xs",children:[a.jsx("div",{className:"font-mono text-[11px]",children:Qt}),a.jsxs("div",{className:"text-muted-foreground",children:["total:"," ",Dr(tn.totalTokens)," ","· in:"," ",Dr(tn.inputTokens)," ","· out:"," ",Dr(tn.outputTokens)]})]},Qt))})]})]})})]})}),a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"final")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"final")),children:a.jsxs("div",{className:"rounded-md border border-muted-foreground/20 bg-card p-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"mb-2 flex w-full items-center gap-2 text-left",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"final"))?"rotate-180":""}`}),a.jsxs("p",{className:"flex items-center gap-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[a.jsx(Ar,{className:"h-3.5 w-3.5"}),"Final answer"]})]})}),a.jsx(rs,{children:a.jsx(_N,{text:Qe.finalAnswer||"No final answer captured.",maxLength:1200,className:"text-xs text-foreground"})})]})}),a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation")),children:a.jsxs("div",{className:"rounded-md border bg-muted/10 p-2",children:[a.jsxs("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"flex min-w-0 items-center gap-2 text-left",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 shrink-0 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation"))?"rotate-180":""}`}),a.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Conversation trace"})]})}),a.jsx("div",{className:"flex flex-wrap gap-2",children:a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>kl(`Explain Run #${Qe.runIndex+1} for scenario '${bt}'. It ${Qe.passed?"passed":"failed"} in ${Qe.duration}ms. Focus on the tool sequence and ${Qe.passed?"why it passed":"what caused the failure"}.`,{scenarioId:ie.scenarioId}),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),"Ask Assistant"]})})]}),a.jsx(rs,{children:a.jsx("div",{className:"space-y-2 rounded-md border bg-muted/20 p-2",children:Qe.conversation.length===0?a.jsx("p",{className:"text-xs text-muted-foreground",children:"No conversation trace captured."}):Qe.conversation.map(Qt=>a.jsx(Vye,{item:Qt,fallbackUserPrompt:Ae.get(ie.scenarioId)?.prompt},Qt.id))})}),!Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation"))&&a.jsx("button",{type:"button",className:"text-xs text-muted-foreground underline decoration-dotted underline-offset-2 hover:text-foreground",onClick:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation")),children:"Expand to inspect user/assistant/tool messages for this run."})]})})]})]},Qe.runIndex))]})})})})]})},ke)})})]})})]})]}),T&&a.jsxs("div",{className:"min-w-0 space-y-0 xl:flex xl:h-full xl:min-h-0 xl:flex-col",children:[a.jsx(kg,{value:W,onValueChange:ie=>B(ie),className:"min-w-0 -mb-px px-3 pt-1",children:a.jsxs(Zf,{className:"h-auto w-full justify-start rounded-none border-b bg-transparent p-0",children:[a.jsx(ks,{value:"assistant",className:"-mb-px h-9 rounded-none rounded-t border border-border border-b-border bg-muted/20 px-3 text-xs text-muted-foreground data-[state=active]:z-10 data-[state=active]:bg-card data-[state=active]:text-foreground data-[state=active]:border-border data-[state=active]:border-b-card data-[state=active]:shadow-none",children:"Assistant"}),a.jsx(ks,{value:"reports",className:"-mb-px h-9 rounded-none rounded-t border border-border border-b-border bg-muted/20 px-3 text-xs text-muted-foreground data-[state=active]:z-10 data-[state=active]:bg-card data-[state=active]:text-foreground data-[state=active]:border-border data-[state=active]:border-b-card data-[state=active]:shadow-none",children:"Reports"}),a.jsx(ks,{value:"note",className:"-mb-px h-9 rounded-none rounded-t border border-border border-b-border bg-muted/20 px-3 text-xs text-muted-foreground data-[state=active]:z-10 data-[state=active]:bg-card data-[state=active]:text-foreground data-[state=active]:border-border data-[state=active]:border-b-card data-[state=active]:shadow-none",children:"Note"})]})}),W==="assistant"?a.jsx(fq,{title:"MCP Lab Assistant",description:"Ask questions about this run result, failures, and tool usage.",expanded:M,onToggleExpanded:()=>D(ie=>!ie),onHide:()=>R(!1),messages:Bt,pendingToolCalls:we,loading:Je,onCancel:$t?Pt:void 0,input:Xe,onInputChange:Ve,onSend:()=>{De()},inputPlaceholder:"Ask about this result...",snippets:Uye,onSnippetSelect:Oe,onApproveToolCall:ie=>{q(ie)},onDenyToolCall:ie=>{ge(ie)},chatEndRef:Ut,inputRef:me,className:"min-w-0 overflow-hidden rounded-t-none xl:flex xl:h-full xl:min-h-0 xl:flex-col",renderMessage:({message:ie,index:ke,linkedPendingToolCall:bt,isUser:Qe,isAssistant:Qt,isSystem:tn,isTool:fn})=>{const tr=Qt&&!!ie.pendingToolCallId;if(fn&&/^(Approved|Denied) tool call\\b/i.test(String(ie.text??"").trim()))return null;const Er=bt?.tool??ie.toolRequestName,cn=bt?.publicToolName??ie.toolRequestPublicName,pa=Qt&&!tr&&Hye(ie.text,!!Y);if(tr){const go=bt?.status==="pending",sn=zh(Er??cn??"unknown_tool");return a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-emerald-500/30 bg-emerald-500/10 text-emerald-700",children:a.jsx(Ar,{className:"h-3 w-3"})}),a.jsxs("details",{open:!!bt,className:"group min-w-0 w-full max-w-[92%] overflow-hidden rounded-md border border-border/60 bg-background",children:[a.jsxs("summary",{className:"flex cursor-pointer list-none items-center justify-between gap-3 px-3 py-2",children:[a.jsx("div",{className:"min-w-0 flex-1",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(as,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),a.jsx("span",{className:"min-w-0 truncate text-sm font-medium",children:`Tool call ${sn}`}),a.jsx("span",{className:`shrink-0 whitespace-nowrap rounded px-1.5 py-0.5 text-[10px] font-semibold ${go?"bg-amber-100 text-amber-900":"bg-muted text-muted-foreground"}`,children:go?"Needs approval":"Completed"})]})}),a.jsx(Yt,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180"})]}),a.jsxs("div",{className:"min-w-0 space-y-2 border-t border-border/50 px-3 py-2",children:[a.jsx(Pa,{text:ie.text,className:"text-sm"}),go&&bt&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:"max-h-40 min-w-0 w-full max-w-full overflow-x-auto overflow-y-auto whitespace-pre-wrap break-words rounded border bg-muted/50 p-2 text-xs",children:a.jsx("code",{className:"break-words",children:JSON.stringify(bt.arguments??{},null,2)})}),a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(re,{type:"button",size:"sm",variant:"outline",className:"h-7 px-2 text-xs",disabled:Je,onClick:()=>{ge(bt.id)},children:"Deny"}),a.jsx(re,{type:"button",size:"sm",className:"h-7 px-2 text-xs",disabled:Je,onClick:()=>{q(bt.id)},children:"Approve"})]})]})]})]})]},`${ie.id??`${ie.role}-${ke}`}:${bt?"pending":"completed"}`)}const Wg=Qe||Qt&&!fn&&!tn;return a.jsxs("div",{className:`flex items-start gap-2 ${Qe?"justify-end":"justify-start"}`,children:[!Qe&&a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-emerald-500/30 bg-emerald-500/10 text-emerald-700",children:tn?a.jsx(ON,{className:"h-3 w-3"}):a.jsx(Ar,{className:"h-3 w-3"})}),a.jsxs("div",{className:"relative max-w-[92%]",children:[a.jsxs("div",{className:`max-w-full rounded-md border p-3 text-sm ${Qe?"border-primary/20 bg-primary/10":tn?"border-amber-400/30 bg-amber-50/70":fn?"border-blue-300/30 bg-blue-50/50":"border-border/80 bg-background shadow-sm"}`,children:[!(Qe||tn)&&a.jsx("p",{className:`mb-2 text-[11px] font-semibold text-muted-foreground ${Qe?"text-right":""}`,children:fn?"Tool":"Assistant"}),Qe?a.jsx("p",{className:"whitespace-pre-wrap",children:ie.text}):a.jsx(Pa,{text:ie.text,className:"text-sm"}),pa&&a.jsxs("div",{className:"mt-3 flex max-w-full flex-wrap justify-end gap-2 overflow-x-auto pb-1",children:[a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>zg(ie.text),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),"Send to Scenario Assistant"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>Pu(ie.text),children:[a.jsx(as,{className:"h-3.5 w-3.5"}),"Apply: Write Markdown Report"]})]}),!pa&&Qt&&!tr&&a.jsx("div",{className:"mt-3 flex max-w-full justify-end overflow-x-auto pb-1",children:a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>Pu(ie.text),children:[a.jsx(as,{className:"h-3.5 w-3.5"}),"Apply: Write Markdown Report"]})})]}),Wg&&a.jsx(re,{type:"button",variant:"ghost",size:"icon",className:"absolute -right-8 bottom-1 h-6 w-6 text-muted-foreground",onClick:()=>{Bg(ie.text)},"aria-label":"Copy message",title:"Copy message",children:a.jsx(Hr,{className:"h-3.5 w-3.5"})})]}),Qe&&a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-primary/30 bg-primary/15 text-primary",children:a.jsx(Pc,{className:"h-3 w-3"})})]},ie.id??`${ie.role}-${ke}`)},renderMessageExtras:Pl.length>0?a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Pending actions (approve/deny)"}),Pl.map(ie=>a.jsxs("details",{open:!0,className:"group min-w-0 rounded-md border bg-background",children:[a.jsxs("summary",{className:"flex cursor-pointer list-none items-center justify-between gap-2 p-3",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:"break-all font-mono text-xs font-semibold",children:zh(ie.publicToolName)}),a.jsxs("p",{className:"break-all text-xs text-muted-foreground",children:[ie.server,"::",zh(ie.tool)]})]}),a.jsx(Yt,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180"})]}),a.jsxs("div",{className:"border-t px-3 pb-3 pt-2",children:[a.jsx("pre",{className:"max-h-48 min-w-0 w-full max-w-full overflow-x-auto overflow-y-auto whitespace-pre-wrap break-words rounded border bg-muted/50 p-2 text-xs",children:a.jsx("code",{className:"break-words",children:JSON.stringify(ie.arguments??{},null,2)})}),a.jsxs("div",{className:"mt-2 flex justify-end gap-2",children:[a.jsx(re,{type:"button",size:"sm",variant:"outline",className:"h-7 px-2 text-xs",disabled:Je,onClick:()=>{ge(ie.id)},children:"Deny"}),a.jsx(re,{type:"button",size:"sm",className:"h-7 px-2 text-xs",disabled:Je,onClick:()=>{q(ie.id)},children:"Approve"})]})]})]},ie.id))]}):null}):W==="reports"?a.jsxs(et,{className:"min-w-0 overflow-hidden rounded-t-none xl:flex xl:h-full xl:min-h-0 xl:flex-col",children:[a.jsx(Ot,{className:"border-b px-4 py-3",children:a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs(Mt,{className:"flex items-center gap-2 text-base",children:[a.jsx(pc,{className:"h-4 w-4 text-muted-foreground"}),"Reports"]}),a.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1 px-2 text-xs",onClick:()=>D(ie=>!ie),children:[M?a.jsx(xS,{className:"h-3.5 w-3.5"}):a.jsx(yS,{className:"h-3.5 w-3.5"}),M?"Compact":"Expand"]}),a.jsx(re,{type:"button",variant:"outline",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>R(!1),children:"Hide"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Review markdown reports for this run while keeping the result visible."})]})}),a.jsxs(tt,{className:"flex h-[70vh] min-h-[520px] flex-col p-0 xl:h-auto xl:min-h-0 xl:flex-1",children:[(se||oe.length===0||oe.length>1)&&a.jsx("div",{className:"border-b px-4 py-3",children:se?a.jsx("p",{className:"text-xs text-muted-foreground",children:"Loading reference reports..."}):oe.length===0?a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsx("p",{className:"text-sm text-muted-foreground",children:"No reference reports for this run yet."}),a.jsxs(re,{type:"button",size:"sm",variant:"outline",className:"shrink-0 gap-1.5",onClick:()=>Tl(),children:[a.jsx(ii,{className:"h-3.5 w-3.5"}),"New Report"]})]}):a.jsx("div",{className:"space-y-2",children:oe.length>1?a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Selected report"}),a.jsxs(Tn,{value:Te,onValueChange:J,children:[a.jsx(_n,{className:"h-8",children:a.jsx(Rn,{placeholder:"Select a report"})}),a.jsx(An,{children:oe.map(ie=>a.jsx(mt,{value:ie.relativePath,children:ie.name},ie.path))})]})]}):null})}),a.jsx(w_,{className:"min-h-0 flex-1 bg-muted/15 px-4 py-4",children:oe.length===0?a.jsx("div",{className:"text-sm text-muted-foreground",children:"No report selected."}):ct?a.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[a.jsx(dr,{className:"h-4 w-4 animate-spin"}),"Loading report..."]}):vt?a.jsxs("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-3 text-sm text-destructive",children:["Could not load report: ",vt]}):Ne?a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"rounded-md border bg-background p-3",children:[a.jsx("p",{className:"font-mono text-xs font-semibold",children:Ne.name}),a.jsx("p",{className:"mt-1 text-[11px] text-muted-foreground",children:Ne.relativePath}),a.jsx("p",{className:"mt-1 text-[11px] text-muted-foreground",children:new Date(Ne.mtime).toLocaleString()})]}),a.jsx("div",{className:"rounded-md border bg-background p-3",children:a.jsx(Pa,{text:Ne.content,className:"text-sm"})})]}):a.jsx("div",{className:"text-sm text-muted-foreground",children:"Select a report to preview."})})]})]}):a.jsxs(et,{className:"min-w-0 overflow-hidden rounded-t-none xl:flex xl:h-full xl:min-h-0 xl:flex-col",children:[a.jsx(Ot,{className:"border-b px-4 py-3",children:a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs(Mt,{className:"flex items-center gap-2 text-base",children:[a.jsx(pc,{className:"h-4 w-4 text-muted-foreground"}),"Run Note"]}),a.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1 px-2 text-xs",onClick:()=>D(ie=>!ie),children:[M?a.jsx(xS,{className:"h-3.5 w-3.5"}):a.jsx(yS,{className:"h-3.5 w-3.5"}),M?"Compact":"Expand"]}),a.jsx(re,{type:"button",variant:"outline",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>R(!1),children:"Hide"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Add context for this run, such as server version or environment details."})]})}),a.jsx(tt,{className:"flex h-[70vh] min-h-[520px] flex-col p-4 xl:h-auto xl:min-h-0 xl:flex-1",children:p?a.jsxs("div",{className:"w-full max-w-xl space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("p",{className:"text-xs font-medium",children:"Run note"}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:[x.length,"/500"]})]}),a.jsx(Os,{value:x,onChange:ie=>j(ie.target.value.slice(0,500)),placeholder:"Optional context for this run",rows:3,className:"min-h-20 resize"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(re,{size:"sm",onClick:()=>{Yr()},disabled:y,children:y?"Saving...":"Save note"}),a.jsx(re,{size:"sm",variant:"outline",onClick:()=>{j(c.runNote??""),g(!1)},disabled:y,children:"Cancel"})]})]}):a.jsxs("div",{className:"flex w-full max-w-3xl items-center gap-2 rounded-md border bg-muted/20 px-2 py-1 text-xs",children:[a.jsxs("div",{className:"min-w-0 flex items-center gap-2",children:[a.jsx("span",{className:"text-muted-foreground",children:"Run note:"}),a.jsx("span",{className:`break-words ${c.runNote?"text-foreground":"text-muted-foreground"}`,children:c.runNote||"none"})]}),a.jsx(re,{size:"sm",variant:"ghost",className:"ml-auto h-6 px-2 text-xs",onClick:()=>g(!0),children:c.runNote?"Edit":"Add note"})]})})]})]}),a.jsx(us,{open:L,onOpenChange:ie=>!G&&I(ie),children:a.jsxs(Ma,{className:"max-w-2xl",children:[a.jsxs(Ia,{children:[a.jsx(Da,{children:ee?"Create markdown report":"Approve MCP action: write markdown report"}),a.jsx(La,{children:ee?"Write a custom markdown report and save it to the workspace.":a.jsxs(a.Fragment,{children:["This will call ",a.jsx("code",{children:"mcplab_write_markdown_report"})," via the local MCPLab MCP server."]})})]}),a.jsxs("div",{className:"space-y-3",children:[!ee&&a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Output path"}),a.jsx(jt,{value:O,onChange:ie=>Z(ie.target.value),placeholder:"mcplab/reports/result-assistant/my-report.md",disabled:G})]}),a.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[a.jsx(oa,{checked:U,onCheckedChange:ie=>z(ie===!0),disabled:G}),a.jsx("span",{children:"Overwrite if file exists"})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:ee?"Markdown content":"Markdown preview (to be written)"}),a.jsx(Os,{value:Q,onChange:ie=>H(ie.target.value),rows:10,className:"font-mono text-xs",disabled:G})]})]}),a.jsxs($a,{children:[a.jsx(za,{disabled:G,children:"Cancel"}),a.jsx(Fa,{onClick:ie=>{ie.preventDefault(),fa()},disabled:G,children:G?"Writing...":ee?"Save Report":"Approve & Write"})]})]})}),a.jsx(us,{open:Se,onOpenChange:Ke,children:a.jsxs(Ma,{children:[a.jsxs(Ia,{children:[a.jsx(Da,{children:"Delete run?"}),a.jsxs(La,{children:["This will permanently remove run ",a.jsx("span",{className:"font-mono",children:c?.id}),". This action cannot be undone."]})]}),a.jsxs($a,{children:[a.jsx(za,{disabled:Be,children:"Cancel"}),a.jsx(Fa,{disabled:Be||!c?.id,onClick:ie=>{ie.preventDefault(),qg()},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:Be?"Deleting...":"Delete"})]})]})})]})]})};function Vye({item:e,fallbackUserPrompt:t}){if(e.kind==="tool_call"){const d=U$(e,"input");return a.jsx(V$,{variant:"call",title:`Tool call · ${e.toolName||"unknown"}${d}`,text:e.text})}if(e.kind==="tool_result"){const d=U$(e,"output"),f=e.ok?a.jsx(Zs,{className:"h-3.5 w-3.5 text-emerald-700 dark:text-emerald-300"}):a.jsx(Fo,{className:"h-3.5 w-3.5 text-rose-700 dark:text-rose-300"});return a.jsx(V$,{variant:e.ok?"result_ok":"result_error",title:`Tool result · ${e.toolName||"unknown"} · ${e.ok?"ok":"error"}${typeof e.durationMs=="number"?` · ${e.durationMs}ms`:""}${d}`,text:e.text,icon:f})}const n=e.kind==="user_prompt",r=W$(e.text,e.kind),s=t?W$(t,"user_prompt"):"",i=n&&!r&&s?s:r,o=n?"User prompt":e.kind==="assistant_final"?"Agent final":"Agent",c=n?Pc:Ar;return a.jsxs("div",{className:`flex items-start gap-2 text-xs ${n?"justify-end":"justify-start"}`,children:[!n&&a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",children:a.jsx(c,{className:"h-3 w-3"})}),a.jsxs("div",{className:`max-w-[90%] rounded-md p-2 ${n?"bg-primary/10":"bg-muted/50"}`,children:[a.jsx("p",{className:`mb-1 text-[11px] font-semibold text-muted-foreground ${n?"text-right":""}`,children:o}),n?a.jsx(_N,{text:i,maxLength:280,className:"text-xs"}):a.jsx(_N,{text:i,maxLength:500,className:"text-xs"})]}),n&&a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-primary/30 bg-primary/15 text-primary",children:a.jsx(c,{className:"h-3 w-3"})})]})}function U$(e,t){const n=t==="input"?e.estimatedTokens?.inputTokens:e.estimatedTokens?.outputTokens;return typeof n!="number"?"":` · ${Dr(n)} tokens`}function W$(e,t){const r=String(e??"").replace(/^\s+/,"");return t==="user_prompt"?r.replace(/^user:\s*/i,""):t==="assistant_final"||t==="assistant_thought"?r.replace(/^assistant:\s*/i,""):r}function Hye(e,t){if(!t)return!1;const n=String(e??"").toLowerCase();if(!n.trim())return!1;const r=["check","checks","rule","rules","regex","pattern","value capture","extract rule","update","change","replace","modify","adjust","use ","set "],s=["change ","replace ","update ","use ","set the","suggested","you should","try ","text match failed","text must match pattern"];if(["i can only read","i don't have write access","i cannot directly edit","what happened","summary"].some(h=>n.includes(h))&&!s.some(h=>n.includes(h)))return!1;const o=r.some(h=>n.includes(h)),c=s.some(h=>n.includes(h)),d=/(^|\n)\s*[-*]\s+/.test(e)||/(^|\n)\s*\d+\.\s+/.test(e),f=/["'`][^"'`\n]{2,}["'`]/.test(e);return o&&(c||d||f)}function V$({variant:e,title:t,text:n,icon:r}){const[s,i]=m.useState(!1),o={call:"border-sky-500/30 bg-sky-500/10 text-sky-700 dark:text-sky-300",result_ok:"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",result_error:"border-rose-500/30 bg-rose-500/10 text-rose-700 dark:text-rose-300"};return a.jsx(ns,{open:s,onOpenChange:i,children:a.jsxs("div",{className:`rounded-md border p-2 text-xs ${o[e]}`,children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"flex w-full items-center justify-between gap-2 text-left",children:[a.jsxs("div",{className:"flex items-center gap-1.5 font-mono text-[11px]",children:[r??a.jsx(as,{className:"h-3.5 w-3.5"}),a.jsx("span",{children:t})]}),a.jsx("span",{className:"text-[11px] font-semibold",children:s?"Hide content":"Show content"})]})}),a.jsx(rs,{children:a.jsx("p",{className:"mt-2 font-mono whitespace-pre-wrap text-foreground",children:n})})]})})}function _N({text:e,maxLength:t,className:n}){const[r,s]=m.useState(!1),i=e.length>t,o=r||!i?e:`${e.slice(0,t)}...`;return a.jsxs("div",{children:[a.jsx(Pa,{text:o,className:n}),i&&a.jsx("button",{type:"button",className:"mt-1 text-[11px] font-medium text-primary hover:underline",onClick:()=>s(c=>!c),children:r?"Show less":"Show all"})]})}function Kye(e,t,n){return n||t.find(s=>s.startsWith("Scenario error:"))?e.map(s=>({rule:s,status:"not_evaluated",failureReason:void 0})):e.map(s=>{const i=Gye(s,t);return{rule:s,status:i?"failed":"passed",failureReason:i}})}function Gye(e,t){const n=e.type==="required_tool"?`Required tool not used: ${e.value}`:e.type==="forbidden_tool"?`Forbidden tool used: ${e.value}`:e.type==="response_contains"?`Contains assertion failed: ${e.value}`:e.type==="response_not_contains"?`Not-contains assertion failed: ${e.value}`:e.type==="response_starts_with"?`Starts-with assertion failed: ${e.value}`:e.type==="response_ends_with"?`Ends-with assertion failed: ${e.value}`:e.type==="response_equals"?`Equals assertion failed: ${e.value}`:e.type==="response_regex"?`Regex assertion failed: ${e.value}`:e.type==="response_jsonpath"?e.equals!==void 0?`JSONPath equals assertion failed: ${e.path}`:`JSONPath assertion failed: ${e.path}`:e.type==="response_jsonpath_exists"?`JSONPath assertion failed: ${e.path}`:e.type==="response_jsonpath_not_exists"?`JSONPath not-exists assertion failed: ${e.path}`:"",r=t.find(s=>s===n);if(r)return r;if(e.type==="response_regex")return t.find(s=>s.startsWith("Regex assertion failed:")&&s.includes(e.value??""));if(e.type==="response_jsonpath"||e.type==="response_jsonpath_exists"||e.type==="response_jsonpath_not_exists")return t.find(s=>s.includes(e.path??""))}function Yye(e){return e.type==="required_tool"?`Required tool · ${e.value}`:e.type==="forbidden_tool"?`Forbidden tool · ${e.value}`:e.type==="response_contains"?`Text contains · ${e.value}`:e.type==="response_not_contains"?`Text does not contain · ${e.value}`:e.type==="response_starts_with"?`Text starts with · ${e.value}`:e.type==="response_ends_with"?`Text ends with · ${e.value}`:e.type==="response_equals"?`Text equals · ${e.value}`:e.type==="response_regex"?`Text matches regex · ${e.value}`:e.type==="response_jsonpath"?e.equals!==void 0?`JSONPath equals · ${e.path} == ${String(e.equals)}`:`JSONPath exists · ${e.path}`:e.type==="response_jsonpath_exists"?`JSONPath exists · ${e.path}`:e.type==="response_jsonpath_not_exists"?`JSONPath not exists · ${e.path}`:`${e.type} · ${e.value}`}function H$(e){const t=String(e??"").trim(),n=t.match(/^Regex assertion failed:\s*(.+)$/i);return n?`Text match failed: ${n[1]}`:t}const dS=["hsl(38, 92%, 50%)","hsl(200, 80%, 50%)","hsl(152, 69%, 40%)","hsl(280, 60%, 50%)","hsl(0, 72%, 51%)"],Xye=9,K$="mcplab.compare.showDaySeparators",lc=[{value:"15min",label:"Last 15min",durationMs:900*1e3},{value:"30min",label:"Last 30min",durationMs:1800*1e3},{value:"1h",label:"Last hour",durationMs:3600*1e3},{value:"24h",label:"Last 24 hours",durationMs:1440*60*1e3},{value:"7d",label:"Last 7 days",durationMs:10080*60*1e3},{value:"14d",label:"Last 14 days",durationMs:336*60*60*1e3},{value:"30d",label:"Last 30 days",durationMs:720*60*60*1e3}];function Ho(e){if(!e.trim())return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Th(e){const t=Ho(e);return t?t.toLocaleString():""}function Qye(e){const t=Ho(e);if(!t)return e;const n=t.getUTCFullYear(),r=String(t.getUTCMonth()+1).padStart(2,"0"),s=String(t.getUTCDate()).padStart(2,"0");return`${n}-${r}-${s}`}function Jye(e){const t=Object.entries(e??{});return t.length===0?"—":t.sort((n,r)=>n[0].localeCompare(r[0])).map(([n,r])=>`${n}@${r??"unknown"}`).join(", ")}function Zye(e){const t=Ho(e);return t?t.toLocaleDateString(void 0,{weekday:"long",month:"short",day:"numeric",year:"numeric",timeZone:"UTC"}):"Unknown day"}function ebe(e){return e==="all"||e==="last"||e==="custom"}function tbe(e){return e==="15min"||e==="30min"||e==="1h"||e==="24h"||e==="7d"||e==="14d"||e==="30d"}function nbe(e){const t=e.get("time_filter"),n=e.get("time_preset");return{mode:ebe(t)?t:"all",preset:tbe(n)?n:"15min",start:e.get("time_start")??"",end:e.get("time_end")??""}}function rbe(e,t){return e.length!==t.length?!1:e.every((n,r)=>n===t[r])}function abe(e){const t=e.find(n=>n.provider&&n.model)??e.find(n=>n.provider||n.model);return{provider:t?.provider,model:t?.model}}const sbe=()=>{const{source:e}=Nn(),[t,n]=vi(),r=nbe(t),s=t.get("mode")==="within-run"?"within-run":"runs",[i,o]=m.useState([]),[c,d]=m.useState({}),[f,h]=m.useState(!1),[p,g]=m.useState(new Set),[x,j]=m.useState("timestamp"),[y,b]=m.useState("desc"),[S,N]=m.useState("all"),[C,k]=m.useState(!1),[A,P]=m.useState(()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(K$)==="1"}catch{return!1}}),[T,R]=m.useState(r.mode),[M,D]=m.useState(r.preset),[W,B]=m.useState(r.start),[Y,V]=m.useState(r.end),[L,I]=m.useState(!1),Q=100,H=Dg(Q),{offset:O,hasMore:Z,totalCount:U}=H,z=t.get("runId")??"",G=(t.get("agents")??"").split(",").map(F=>F.trim()).filter(Boolean),ae=t.get("scenario")??"all",[ee,ce]=m.useState(z),[oe,ve]=m.useState(G),[se,pe]=m.useState(ae),[Te,J]=m.useState(!1),Ne=m.useRef(0),je=m.useMemo(()=>{if(T==="all")return{};if(T==="last"){const de=lc.find(Ie=>Ie.value===M)??lc[0],$e=new Date;return{since:new Date($e.getTime()-de.durationMs).toISOString(),until:$e.toISOString()}}const F=Ho(W)?.toISOString(),le=Ho(Y)?.toISOString();return{since:F,until:le}},[Y,T,M,W]),ct=async()=>{const F=Ne.current+1;Ne.current=F,h(!0);try{if(e.listRunSummariesPage){const le={limit:Q,offset:O};S!=="all"&&(le.scenario=S),je.since&&(le.since=je.since),je.until&&(le.until=je.until);const de=await e.listRunSummariesPage(le);if(Ne.current!==F)return;H.updateMeta(de),o(de.data.map(Wo))}else{const le=await e.listResults();if(Ne.current!==F)return;o(le)}}catch(le){Me({title:"Could not load results",description:le instanceof Error?le.message:String(le),variant:"destructive"})}finally{Ne.current===F&&h(!1)}};m.useEffect(()=>{let F=!0;return Ne.current+=1,h(!0),(e.listRunSummariesPage?e.listRunSummariesPage({limit:Q,offset:O,scenario:S==="all"?void 0:S,since:je.since,until:je.until}).then(de=>(F&&H.updateMeta(de),de.data.map(Wo))):e.listResults()).then(de=>{F&&o(de)}).catch(de=>{F&&Me({title:"Could not load results",description:de instanceof Error?de.message:String(de),variant:"destructive"})}).finally(()=>{F&&h(!1)}),()=>{F=!1}},[O,S,e,je]);const at=F=>{if(x===F){b(le=>le==="asc"?"desc":"asc");return}j(F),b(F==="timestamp"?"desc":"asc")},vt=F=>{g(le=>{const de=new Set(le);return de.has(F)?de.delete(F):de.add(F),de})},Ce=m.useMemo(()=>{const F=new Set;return i.forEach(le=>{le.scenarios.forEach(de=>{const $e=String(de.scenarioName??"").trim(),Ie=String(de.scenarioId??"").trim(),Ye=$e||Ie;Ye&&F.add(Ye)})}),Array.from(F).sort((le,de)=>le.localeCompare(de))},[i]),Se=m.useMemo(()=>{const F=S==="all"?i:i.filter(Re=>Re.scenarios.some(K=>{const he=String(K.scenarioName??"").trim(),Ae=String(K.scenarioId??"").trim();return(he||Ae)===S}));if(s!=="runs"||T==="all")return F;const le=Date.now();if(T==="last"){const Re=lc.find(he=>he.value===M)??lc[0],K=le-Re.durationMs;return F.filter(he=>{const Ae=new Date(he.timestamp).getTime();return Ae>=K&&Ae<=le})}const de=Ho(W)?.getTime()??null,$e=Ho(Y)?.getTime()??null,Ie=de!==null&&$e!==null?Math.min(de,$e):de??null,Ye=de!==null&&$e!==null?Math.max(de,$e):$e??null;return F.filter(Re=>{const K=new Date(Re.timestamp).getTime();return!(Number.isNaN(K)||Ie!==null&&K<Ie||Ye!==null&&K>Ye)})},[s,i,S,Y,T,M,W]),Ke=m.useMemo(()=>[...Se].sort((F,le)=>{let de=0;return x==="id"&&(de=F.id.localeCompare(le.id)),x==="timestamp"&&(de=new Date(F.timestamp).getTime()-new Date(le.timestamp).getTime()),x==="passRate"&&(de=F.overallPassRate-le.overallPassRate),x==="scenarios"&&(de=F.totalScenarios-le.totalScenarios),y==="asc"?de:-de}),[Se,x,y]),Be=m.useMemo(()=>Ke.filter(F=>p.has(F.id)).map(F=>c[F.id]??F),[c,Ke,p]),At=m.useMemo(()=>{if(!A)return Ke.map(de=>({type:"run",run:de}));const F=[];let le=null;for(const de of Ke){const $e=Qye(de.timestamp);$e!==le&&(F.push({type:"day-separator",dayKey:$e,dayLabel:Zye(de.timestamp)}),le=$e),F.push({type:"run",run:de})}return F},[A,Ke]);m.useEffect(()=>{if(!(typeof window>"u"))try{window.localStorage.setItem(K$,A?"1":"0")}catch{}},[A]);const qt=F=>x!==F?a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"}):y==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}),Tt=m.useMemo(()=>{const F=new Map;for(const le of Ke)F.set(le.id,r_(le));return F},[Ke]),Jt=F=>{const le=Array.from(new Set(F.scenarios.map(de=>de.agentId).filter(Boolean)));return le.slice(0,Math.min(2,le.length))},It=F=>{const le=Jt(F);ce(F.id),ve(le),pe("all");const de=new URLSearchParams(t);de.set("mode","within-run"),de.set("runId",F.id),le.length>0?de.set("agents",le.join(",")):de.delete("agents"),de.delete("scenario"),n(de,{replace:!0})},Xt=m.useMemo(()=>[...new Set(Be.flatMap(F=>F.scenarios.map(le=>le.scenarioId)))],[Be]),Bt=m.useMemo(()=>{const F=new Map;for(const le of Be)for(const de of le.scenarios){const $e=String(de.scenarioId??"").trim();if(!$e)continue;const Ie=String(de.scenarioName??"").trim();F.set($e,Ie||$e)}return F},[Be]),we=m.useMemo(()=>c[ee]??i.find(F=>F.id===ee),[c,i,ee]);m.useEffect(()=>{if(typeof e.getResult!="function"||p.size===0&&!ee)return;const F=new Set([...p]);ee&&F.add(ee);for(const le of F)c[le]||e.getResult(le).then(de=>{de&&d($e=>$e[le]?$e:{...$e,[le]:de})})},[c,p,e,ee]),m.useEffect(()=>{H.reset()},[H.reset,S,T,M,W,Y]);const Xe=m.useMemo(()=>{if(!we)return[];const F=new Map;for(const le of we.scenarios)F.set(le.agentId,le.agentName||le.agentId);return Array.from(F.entries()).map(([le,de])=>({id:le,name:de})).sort((le,de)=>le.name.localeCompare(de.name))},[we]),Je=m.useMemo(()=>{if(!we)return[];const F=new Set;for(const le of we.scenarios){const de=String(le.scenarioName??"").trim(),$e=String(le.scenarioId??"").trim(),Ie=de||$e;Ie&&F.add(Ie)}return Array.from(F).sort((le,de)=>le.localeCompare(de))},[we]),$t=m.useMemo(()=>oe.join(","),[oe]);m.useEffect(()=>{if(s==="within-run"){const F=t.get("runId")??"",le=(t.get("agents")??"").split(",").map($e=>$e.trim()).filter(Boolean),de=t.get("scenario")??"all";ce($e=>$e===F?$e:F),ve($e=>rbe($e,le)?$e:le),pe($e=>$e===de?$e:de)}},[s,t]),m.useEffect(()=>{if(s!=="within-run"||i.length===0)return;let F=ee;(!F||!i.some(K=>K.id===F))&&(F=i[0].id);const le=i.find(K=>K.id===F),de=(()=>{if(!le)return[];const K=new Map;for(const he of le.scenarios)K.set(he.agentId,he.agentName||he.agentId);return Array.from(K.keys())})(),$e=new Set(de);let Ie=$t.split(",").map(K=>K.trim()).filter(K=>!!K).filter(K=>$e.has(K));Ie.length===0&&de.length>0&&(Ie=de.slice(0,Math.min(2,de.length)));const Ye=(()=>{if(!le)return new Set;const K=new Set;for(const he of le.scenarios){const Ae=String(he.scenarioName??"").trim(),Ze=String(he.scenarioId??"").trim(),ne=Ae||Ze;ne&&K.add(ne)}return new Set(K)})(),Re=se!=="all"&&!Ye.has(se)?"all":se;F!==ee&&ce(F),Ie.join(",")!==$t&&ve(Ie),Re!==se&&pe(Re)},[s,i,ee,$t,se]),m.useEffect(()=>{const F=new URLSearchParams(t);s==="within-run"?(F.set("mode","within-run"),ee?F.set("runId",ee):F.delete("runId"),oe.length>0?F.set("agents",oe.join(",")):F.delete("agents"),se!=="all"?F.set("scenario",se):F.delete("scenario"),F.delete("time_filter"),F.delete("time_preset"),F.delete("time_start"),F.delete("time_end")):(F.delete("mode"),F.delete("runId"),F.delete("agents"),F.delete("scenario"),T==="all"?(F.delete("time_filter"),F.delete("time_preset"),F.delete("time_start"),F.delete("time_end")):T==="last"?(F.set("time_filter","last"),F.set("time_preset",M),F.delete("time_start"),F.delete("time_end")):(F.set("time_filter","custom"),F.delete("time_preset"),W.trim()?F.set("time_start",W.trim()):F.delete("time_start"),Y.trim()?F.set("time_end",Y.trim()):F.delete("time_end")));const le=t.toString(),de=F.toString();le!==de&&n(F,{replace:!0})},[s,Y,T,M,W,ee,oe,se,t,n]);const Pt=m.useMemo(()=>{if(T==="all")return"All time";if(T==="last")return lc.find(de=>de.value===M)?.label??"Last range";const F=!!W.trim(),le=!!Y.trim();return!F&&!le?"Custom range":F&&le?`${Th(W)} - ${Th(Y)}`:F?`From ${Th(W)}`:`Until ${Th(Y)}`},[Y,T,M,W]),Ut=()=>{R("all"),D("15min"),B(""),V("")},me=m.useMemo(()=>{if(!we)return[];const F=new Map;for(const de of we.scenarios){const $e=String(de.scenarioId??"").trim(),Ie=String(de.scenarioName??"").trim(),Ye=Ie||$e;if(!$e&&!Ye)continue;const Re=$e||Ye,K=F.get(Re);if(K){K.byAgent[de.agentId]=de;continue}F.set(Re,{scenarioId:$e||Ye,scenarioName:Ie,displayLabel:Ye||$e,byAgent:{[de.agentId]:de}})}const le=Array.from(F.values()).sort((de,$e)=>{const Ie=(de.displayLabel||de.scenarioId).toLowerCase(),Ye=($e.displayLabel||$e.scenarioId).toLowerCase();return Ie.localeCompare(Ye)});return se==="all"?le:le.filter(de=>de.displayLabel===se)},[we,se]),Ve=m.useMemo(()=>{const F=new Map(Xe.map(le=>[le.id,le]));return oe.map(le=>F.get(le)).filter(le=>!!le)},[oe,Xe]),De=m.useMemo(()=>{if(!we||Ve.length!==2)return null;const[F,le]=Ve;return{left:F,right:le,link:`/compare/results?left=${encodeURIComponent(we.id)}&right=${encodeURIComponent(we.id)}&leftConfig=${encodeURIComponent(we.configId)}&rightConfig=${encodeURIComponent(we.configId)}&leftAgent=${encodeURIComponent(F.id)}&rightAgent=${encodeURIComponent(le.id)}`}},[we,Ve]),q=m.useMemo(()=>!we||Ve.length===0?[]:Ve.map(F=>{const le=me.map(Ae=>Ae.byAgent[F.id]).filter(Ae=>!!Ae),de=le.flatMap(Ae=>Ae.runs),$e=de.length,Ie=de.filter(Ae=>Ae.passed).length,Ye=de.reduce((Ae,Ze)=>Ae+Ze.toolCalls.length,0),Re=de.reduce((Ae,Ze)=>Ae+Ze.duration,0),{provider:K,model:he}=abe(le);return{agentId:F.id,agentName:F.name,provider:K,model:he,passRate:$e===0?0:Ie/$e,totalRuns:$e,avgToolCalls:$e===0?0:Ye/$e,avgLatency:$e===0?0:Re/$e}}),[we,Ve,me]),ge=F=>{ve(le=>le.includes(F)?le.filter(de=>de!==F):[...le,F])},Oe=F=>a.jsxs("div",{className:"min-w-0 rounded border bg-muted/20 px-2 py-1.5",children:[a.jsxs("div",{className:"text-xs",children:[a.jsxs("span",{className:"font-mono",children:["#",F.runIndex+1]})," ",a.jsx("span",{className:F.passed?"text-emerald-700":"text-destructive",children:F.passed?"PASS":"FAIL"})," ","· tools: ",F.toolCalls.length," · ",F.duration,"ms"]}),!F.passed&&F.failureReasons.length>0&&a.jsx("div",{className:"mt-1 max-h-16 overflow-y-auto whitespace-pre-wrap break-all pr-1 text-[11px] text-muted-foreground",children:F.failureReasons.join("; ")})]},F.runIndex);return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsxs("div",{children:[a.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[a.jsx(PD,{className:"h-6 w-6"}),"Compare Runs"]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:s==="runs"?"Select 2–5 runs to compare":"Compare agents side-by-side within one run"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[s==="within-run"&&a.jsxs(re,{variant:"outline",size:"sm",onClick:()=>{const F=new URLSearchParams(t);F.delete("mode"),F.delete("runId"),F.delete("agents"),F.delete("scenario"),n(F,{replace:!0})},children:[a.jsx(ND,{className:"mr-1.5 h-4 w-4"}),"Back to Compare"]}),s==="runs"&&a.jsxs(a.Fragment,{children:[a.jsxs(Ji,{open:C,onOpenChange:k,children:[a.jsx(Zi,{asChild:!0,children:a.jsxs(re,{type:"button",variant:"outline",role:"combobox","aria-expanded":C,"aria-controls":"compare-scenario-command-list",className:`w-[260px] justify-between font-normal ${S!=="all"?"border-primary/40":""}`,children:[a.jsx("span",{className:"truncate text-left",children:S==="all"?"All scenarios":S}),a.jsx(Yt,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),a.jsx(si,{className:"w-[260px] p-0",align:"start",children:a.jsxs(ul,{children:[a.jsx(dl,{placeholder:"Search scenarios..."}),a.jsxs(fl,{id:"compare-scenario-command-list",children:[a.jsx(pl,{children:"No scenarios found."}),a.jsxs(hl,{children:[a.jsx(ia,{value:"all scenarios",onSelect:()=>{N("all"),k(!1)},children:"All scenarios"}),Ce.map(F=>a.jsx(ia,{value:F,onSelect:()=>{N(F),k(!1)},children:F},F))]})]})]})})]}),a.jsxs(Ji,{open:L,onOpenChange:I,children:[a.jsx(Zi,{asChild:!0,children:a.jsxs(re,{type:"button",variant:"outline",role:"combobox","aria-expanded":L,"aria-controls":"compare-time-command-list",className:`w-[320px] justify-between font-normal ${T!=="all"?"border-primary/40":""}`,children:[a.jsxs("span",{className:"flex min-w-0 items-center gap-2 truncate text-left",children:[a.jsx(CD,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),a.jsx("span",{className:"truncate",children:Pt})]}),a.jsx(Yt,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),a.jsxs(si,{className:"w-[360px] p-0",align:"start",children:[a.jsxs("div",{className:"border-b px-3 py-2",children:[a.jsx("p",{className:"text-sm font-medium",children:"Date and time filter"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Filter runs by timestamp."})]}),a.jsxs("div",{id:"compare-time-command-list",className:"grid gap-1 p-2",children:[a.jsx(re,{type:"button",variant:T==="all"?"secondary":"ghost",className:"justify-start",onClick:()=>{Ut(),I(!1)},children:"All time"}),lc.map(F=>a.jsx(re,{type:"button",variant:T==="last"&&M===F.value?"secondary":"ghost",className:"justify-start",onClick:()=>{R("last"),D(F.value),I(!1)},children:F.label},F.value)),a.jsx(re,{type:"button",variant:T==="custom"?"secondary":"ghost",className:"justify-start",onClick:()=>R("custom"),children:"Custom date time range"})]}),T==="custom"&&a.jsxs("div",{className:"space-y-3 border-t p-3",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(He,{htmlFor:"compare-time-filter-start",children:"Start"}),a.jsx(jt,{id:"compare-time-filter-start",type:"datetime-local",value:W,onChange:F=>B(F.target.value)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(He,{htmlFor:"compare-time-filter-end",children:"End"}),a.jsx(jt,{id:"compare-time-filter-end",type:"datetime-local",value:Y,onChange:F=>V(F.target.value)})]}),a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs(re,{type:"button",variant:"ghost",size:"sm",className:"px-2",onClick:Ut,children:[a.jsx(Ra,{className:"mr-1.5 h-3.5 w-3.5"}),"Clear"]}),a.jsx(re,{type:"button",size:"sm",onClick:()=>I(!1),children:"Done"})]})]})]})]})]}),a.jsxs("div",{className:"inline-flex items-center gap-2 rounded-md border px-3 py-2",children:[a.jsx(He,{htmlFor:"compare-day-separators-switch",className:"text-sm font-medium",children:"Group by day"}),a.jsx(sv,{id:"compare-day-separators-switch",checked:A,onCheckedChange:P,"aria-label":"Group by day"})]}),a.jsx(re,{variant:"outline",onClick:()=>{ct()},disabled:f,children:f?"Refreshing...":"Refresh"}),a.jsx(re,{variant:"outline",onClick:H.prev,disabled:f||O===0,children:"Prev"}),a.jsx(re,{variant:"outline",onClick:H.next,disabled:f||!Z,children:"Next"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:H.rangeLabel(i.length)}),s==="within-run"&&a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Within One Run Controls"})}),a.jsxs(tt,{className:"space-y-4",children:[a.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Run"}),a.jsxs(Tn,{value:ee,onValueChange:ce,children:[a.jsx(_n,{children:a.jsx(Rn,{placeholder:"Select run"})}),a.jsx(An,{children:i.map(F=>a.jsx(mt,{value:F.id,children:F.id},F.id))})]})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Scenario filter"}),a.jsxs(Ji,{open:Te,onOpenChange:J,children:[a.jsx(Zi,{asChild:!0,children:a.jsxs(re,{type:"button",variant:"outline",role:"combobox","aria-expanded":Te,"aria-controls":"compare-within-run-scenario-command-list",className:"w-full justify-between font-normal",children:[a.jsx("span",{className:"truncate text-left",children:se==="all"?"All scenarios":se}),a.jsx(Yt,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),a.jsx(si,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:a.jsxs(ul,{children:[a.jsx(dl,{placeholder:"Search scenarios..."}),a.jsxs(fl,{id:"compare-within-run-scenario-command-list",children:[a.jsx(pl,{children:"No scenarios found."}),a.jsxs(hl,{children:[a.jsx(ia,{value:"all scenarios",onSelect:()=>{pe("all"),J(!1)},children:"All scenarios"}),Je.map(F=>a.jsx(ia,{value:F,onSelect:()=>{pe(F),J(!1)},children:F},F))]})]})]})})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Agents (select 2+)"}),a.jsxs("div",{className:"flex flex-wrap gap-3 rounded-md border p-3",children:[Xe.length===0&&a.jsx("p",{className:"text-xs text-muted-foreground",children:"No agents available for selected run."}),Xe.map(F=>a.jsxs("label",{className:"inline-flex items-center gap-2 text-sm",children:[a.jsx(oa,{checked:oe.includes(F.id),onCheckedChange:()=>ge(F.id)}),a.jsx("span",{children:F.name})]},F.id))]})]})]})]}),s==="runs"&&a.jsx(et,{children:a.jsx(tt,{className:"p-0",children:a.jsxs(Br,{containerClassName:"max-h-[36rem] overflow-auto",children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-10"}),a.jsx(lt,{children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>at("id"),children:["Run ID",qt("id")]})}),a.jsx(lt,{children:"Evaluated"}),a.jsx(lt,{children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>at("timestamp"),children:["Timestamp",qt("timestamp")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex w-full items-center justify-end gap-1 hover:text-foreground",onClick:()=>at("passRate"),children:["Pass Rate",qt("passRate")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>at("scenarios"),children:["Scenarios",qt("scenarios")]})}),a.jsx(lt,{className:"text-right",children:"Tool Tokens"}),a.jsx(lt,{className:"text-right",children:"Agents"}),a.jsx(lt,{className:"w-[140px] text-right",children:"Action"})]})}),a.jsx(Ur,{children:At.map((F,le)=>F.type==="day-separator"?a.jsx(Ft,{className:"bg-muted/30 hover:bg-muted/30",children:a.jsx(We,{colSpan:Xye,className:"px-4 py-3",children:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"h-px flex-1 bg-border/70"}),a.jsx("span",{className:"shrink-0 rounded-full border border-border bg-background px-2.5 py-0.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:F.dayLabel}),a.jsx("div",{className:"h-px flex-1 bg-border/70"})]})})},`day-${F.dayKey}-${le}`):a.jsxs(Ft,{children:[a.jsx(We,{children:a.jsx(oa,{checked:p.has(F.run.id),onCheckedChange:()=>vt(F.run.id),disabled:!p.has(F.run.id)&&p.size>=5})}),a.jsx(We,{className:"font-mono text-xs",children:F.run.id}),a.jsx(We,{className:"text-[11px] text-muted-foreground",children:(()=>{const de=Tt.get(F.run.id)??{scenarioCount:0,agentCount:0,scopePreview:"n/a",modelSummary:""};return a.jsxs("div",{className:"space-y-0.5",children:[a.jsxs("div",{children:["Evaluated: ",de.scenarioCount," scenario",de.scenarioCount===1?"":"s"," · ",de.agentCount," agent",de.agentCount===1?"":"s",de.modelSummary?` · ${de.modelSummary}`:""]}),a.jsx("div",{className:"font-mono text-xs text-foreground/80",children:de.scopePreview})]})})()}),a.jsx(We,{className:"text-xs text-muted-foreground",children:a.jsxs("div",{className:"space-y-0.5",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(os,{className:"h-3 w-3"}),new Date(F.run.timestamp).toLocaleString()]}),(()=>{const de=iv(F.run);return de===null?null:a.jsxs("div",{className:"font-mono text-[11px] text-muted-foreground/90",children:["Total time: ",Ca(de)]})})()]})}),a.jsx(We,{className:"text-right",children:a.jsx(ws,{rate:F.run.overallPassRate})}),a.jsx(We,{className:"text-right font-mono text-sm",children:F.run.totalScenarios}),a.jsx(We,{className:"text-right",children:a.jsxs("div",{className:"space-y-0.5",children:[a.jsx("div",{className:"font-mono text-sm",children:Dr(F.run.toolTokenUsage?.totalTokens)}),(()=>{const de=ov(F.run);return de===null?null:a.jsxs("div",{className:"font-mono text-[11px] text-muted-foreground/90",children:["Tool time: ",Ca(de)]})})()]})}),a.jsx(We,{className:"text-right font-mono text-sm",children:Tt.get(F.run.id)?.agentCount??0}),a.jsx(We,{className:"text-right",children:(Tt.get(F.run.id)?.agentCount??0)>1?a.jsx(re,{type:"button",size:"sm",variant:"outline",onClick:()=>It(F.run),children:"Compare agents"}):a.jsx("span",{className:"text-xs text-muted-foreground",children:"—"})})]},F.run.id))})]})})}),s==="runs"&&Be.length<2&&a.jsx(et,{children:a.jsxs(tt,{className:"py-12 text-center",children:[a.jsx("p",{className:"text-sm font-medium",children:"No runs selected"}),a.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Select 2–5 runs from the table above to start a comparison."})]})}),s==="runs"&&Be.length>=2&&a.jsxs(a.Fragment,{children:[Be.length===2&&a.jsx(et,{children:a.jsx(tt,{className:"pt-6",children:a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:"Need a deeper comparison?"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Open the two selected runs in a dedicated side-by-side full result compare view."})]}),a.jsx(re,{asChild:!0,size:"sm",children:a.jsx(St,{to:`/compare/results?left=${encodeURIComponent(Be[0].id)}&right=${encodeURIComponent(Be[1].id)}&leftConfig=${encodeURIComponent(Be[0].configId)}&rightConfig=${encodeURIComponent(Be[1].configId)}`,children:"Compare full results"})})]})})}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Summary Comparison"})}),a.jsx(tt,{className:"max-h-[24rem] overflow-auto p-0",children:a.jsxs(Br,{className:"table-fixed",children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-[220px]",children:"Metric"}),Be.map((F,le)=>a.jsxs(lt,{style:{color:dS[le]},className:"font-mono text-xs",children:[a.jsx("div",{children:F.id}),F.configPath?.trim()?a.jsx("div",{className:"mt-0.5 font-mono text-[10px] font-normal text-muted-foreground",children:F.configPath.trim()}):null]},F.id))]})}),a.jsxs(Ur,{children:[a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Pass Rate"}),Be.map(F=>a.jsx(We,{children:a.jsx(ws,{rate:F.overallPassRate})},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Total Runs"}),Be.map(F=>a.jsx(We,{className:"font-mono",children:F.totalRuns},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Tool Calls"}),Be.map(F=>a.jsx(We,{className:"font-mono",children:F.avgToolCalls.toFixed(1)},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Avg Latency"}),Be.map(F=>a.jsxs(We,{className:"font-mono",children:[F.avgLatency,"ms"]},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Total Time"}),Be.map(F=>a.jsx(We,{className:"font-mono",children:(()=>{const le=iv(F);return le===null?"—":Ca(le)})()},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Tool Time"}),Be.map(F=>a.jsx(We,{className:"font-mono",children:(()=>{const le=ov(F);return le===null?"—":Ca(le)})()},F.id))]})]})]})})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Scenario Breakdown"})}),a.jsx(tt,{className:"max-h-[26rem] overflow-auto p-0",children:a.jsxs(Br,{className:"table-fixed",children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-[220px]",children:"Scenario"}),Be.map((F,le)=>a.jsxs(lt,{style:{color:dS[le]},className:"font-mono text-xs",children:[a.jsx("div",{children:F.id}),F.configPath?.trim()?a.jsx("div",{className:"mt-0.5 font-mono text-[10px] font-normal text-muted-foreground",children:F.configPath.trim()}):null,a.jsxs("div",{className:"mt-0.5 text-[10px] font-normal text-muted-foreground",children:["MCP: ",Jye(F.mcpServerVersions)]})]},F.id))]})}),a.jsx(Ur,{children:Xt.map(F=>a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium text-sm",children:Bt.get(F)??F}),Be.map(le=>{const de=le.scenarios.find($e=>$e.scenarioId===F);return a.jsx(We,{children:de?a.jsx(ws,{rate:de.passRate}):a.jsx("span",{className:"text-xs text-muted-foreground",children:"—"})},le.id)})]},F))})]})})]})]}),s==="runs"&&Be.length>=2&&a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Pass Rate Trend"})}),a.jsx(tt,{className:"h-72",children:a.jsx(lm,{width:"100%",height:"100%",children:a.jsxs(aN,{data:Be.map((F,le)=>({idx:le+1,runId:F.id,passRate:Number((F.overallPassRate*100).toFixed(1))})),children:[a.jsx(ao,{dataKey:"idx",tickFormatter:F=>String(F)}),a.jsx(so,{unit:"%",domain:[0,100]}),a.jsx(Fr,{formatter:F=>[`${F}%`,"Pass Rate"],labelFormatter:F=>`Run ${F}`}),a.jsx(Ko,{}),a.jsx(il,{type:"monotone",dataKey:"passRate",stroke:dS[0],strokeWidth:2.5,dot:!0})]})})})]}),s==="within-run"&&we&&Ve.length<2&&a.jsx(et,{children:a.jsx(tt,{className:"pt-6 text-sm text-muted-foreground",children:"Select at least 2 agents to compare side-by-side within this run."})}),s==="within-run"&&we&&Ve.length>=2&&a.jsxs(a.Fragment,{children:[a.jsx(et,{children:a.jsx(tt,{className:"pt-6",children:a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:"Need full result details?"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:De?"Open a side-by-side full result view filtered by the selected agents.":"Open the complete run result page for all details and trace navigation."})]}),a.jsx(re,{asChild:!0,size:"sm",children:De?a.jsx(St,{to:De.link,children:"Compare full results"}):a.jsx(St,{to:`/results/${encodeURIComponent(we.id)}${we.configId?`?configId=${encodeURIComponent(we.configId)}`:""}`,children:"Open full result"})})]})})}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Agent Summary"})}),a.jsx(tt,{className:"max-h-[24rem] overflow-auto p-0",children:a.jsxs(Br,{children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{children:"Metric"}),q.map(F=>a.jsxs(lt,{children:[a.jsx("div",{className:"font-medium text-sm",children:F.agentName}),(F.provider||F.model)&&a.jsx("div",{className:"font-mono text-xs font-normal text-muted-foreground",children:[F.provider?tv(F.provider):null,F.model].filter(Boolean).join(" · ")})]},F.agentId))]})}),a.jsxs(Ur,{children:[a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Pass Rate"}),q.map(F=>a.jsx(We,{children:a.jsx(ws,{rate:F.passRate})},F.agentId))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Total Runs"}),q.map(F=>a.jsx(We,{className:"font-mono",children:F.totalRuns},F.agentId))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Avg Tool Calls"}),q.map(F=>a.jsx(We,{className:"font-mono",children:F.avgToolCalls.toFixed(1)},F.agentId))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Avg Latency"}),q.map(F=>a.jsxs(We,{className:"font-mono",children:[Math.round(F.avgLatency),"ms"]},F.agentId))]})]})]})})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Scenario × Agent Matrix"})}),a.jsx(tt,{className:"max-h-[34rem] overflow-auto p-0",children:a.jsxs(Br,{className:"table-fixed",children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-[260px]",children:"Scenario"}),Ve.map(F=>{const le=q.find(de=>de.agentId===F.id);return a.jsxs(lt,{children:[a.jsx("div",{className:"font-medium text-sm",children:F.name}),(le?.provider||le?.model)&&a.jsx("div",{className:"font-mono text-xs font-normal text-muted-foreground",children:[le.provider?tv(le.provider):null,le.model].filter(Boolean).join(" · ")})]},F.id)})]})}),a.jsx(Ur,{children:me.map(F=>a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium text-sm",children:F.displayLabel}),Ve.map(le=>{const de=F.byAgent[le.id];return de?a.jsx(We,{className:"min-w-0 align-top",children:a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"text-xs text-muted-foreground",children:[a.jsx(ws,{rate:de.passRate})," ",a.jsxs("span",{className:"ml-2",children:["runs: ",de.runs.length]})," · calls:"," ",de.avgToolCalls.toFixed(1)," · latency:"," ",Math.round(de.avgDuration),"ms"]}),de.runs.length>0?a.jsx("div",{className:"space-y-1.5",children:de.runs.map($e=>Oe($e))}):a.jsx("div",{className:"text-xs text-muted-foreground",children:"No runs captured."})]})},le.id):a.jsx(We,{children:a.jsx("span",{className:"text-xs text-muted-foreground",children:"—"})},le.id)})]},F.scenarioId))})]})})]})]})]})},G$=(e,t,n)=>{const r=new URLSearchParams;return t&&r.set("configId",t),n&&r.set("agent",n),r.set("embed","1"),`/results/${encodeURIComponent(e)}?${r.toString()}`},Y$=(e,t,n)=>{const r=new URLSearchParams;t&&r.set("configId",t),n&&r.set("agent",n);const s=r.toString();return`/results/${encodeURIComponent(e)}${s?`?${s}`:""}`},ibe=()=>{const{source:e}=Nn(),[t]=vi(),n=t.get("left")??"",r=t.get("right")??"",s=t.get("leftConfig"),i=t.get("rightConfig"),o=t.get("leftAgent"),c=t.get("rightAgent"),d=o?`${n} · ${o}`:n,f=c?`${r} · ${c}`:r,[h,p]=m.useState(null),[g,x]=m.useState(null);return m.useEffect(()=>{if(!n||typeof e.getResult!="function"){p(null);return}let j=!0;return e.getResult(n).then(y=>{j&&p(y??null)}),()=>{j=!1}},[n,e]),m.useEffect(()=>{if(!r||typeof e.getResult!="function"){x(null);return}let j=!0;return e.getResult(r).then(y=>{j&&x(y??null)}),()=>{j=!1}},[r,e]),!n||!r?a.jsxs(et,{children:[a.jsx(Ot,{children:a.jsx(Mt,{className:"text-base",children:"Full Result Compare"})}),a.jsxs(tt,{className:"space-y-3",children:[a.jsx("p",{className:"text-sm text-muted-foreground",children:"Select exactly two runs in Compare and use the “Compare full results” action."}),a.jsx(re,{asChild:!0,variant:"outline",children:a.jsx(St,{to:"/compare",children:"Back to Compare"})})]})]}):a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-bold",children:"Full Result Compare"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:o||c?"Side-by-side Result Detail views for deep inspection, filtered by selected agents.":"Side-by-side Result Detail views for deep inspection."})]}),a.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[a.jsx(re,{variant:"outline",size:"sm",asChild:!0,children:a.jsxs(St,{to:"/compare",children:[a.jsx(ND,{className:"mr-1.5 h-4 w-4"}),"Back to Compare"]})}),a.jsx(re,{variant:"outline",size:"sm",asChild:!0,children:a.jsxs("a",{href:Y$(n,s,o),target:"_blank",rel:"noreferrer",children:["Open Left",a.jsx(Bh,{className:"ml-1.5 h-3.5 w-3.5"})]})}),a.jsx(re,{variant:"outline",size:"sm",asChild:!0,children:a.jsxs("a",{href:Y$(r,i,c),target:"_blank",rel:"noreferrer",children:["Open Right",a.jsx(Bh,{className:"ml-1.5 h-3.5 w-3.5"})]})})]})]}),a.jsxs("div",{className:"grid gap-4 xl:grid-cols-2",children:[a.jsxs(et,{className:"overflow-hidden",children:[a.jsx(Ot,{className:"py-3",children:a.jsx(Mt,{className:"text-sm font-mono",children:d})}),a.jsx(tt,{className:"p-0",children:a.jsx("iframe",{title:`Result ${d}`,src:G$(n,s,o),className:"h-[calc(100vh-15rem)] w-full border-0"})})]}),a.jsxs(et,{className:"overflow-hidden",children:[a.jsx(Ot,{className:"py-3",children:a.jsx(Mt,{className:"text-sm font-mono",children:f})}),a.jsx(tt,{className:"p-0",children:a.jsx("iframe",{title:`Result ${f}`,src:G$(r,i,c),className:"h-[calc(100vh-15rem)] w-full border-0"})})]})]})]})};function obe(e){return e.match(/(?:^|\/)(?:result-assistant|results?)\/([0-9]{8}-[0-9]{6})(?:-|\/)/i)?.[1]??null}function lbe(){const{source:e}=Nn(),[t,n]=m.useState([]),[r,s]=m.useState(!0),[i,o]=m.useState(null),[c,d]=m.useState(!1),f=100,h=Dg(f),{offset:p,hasMore:g}=h,x=async()=>{s(!0);try{if(e.listMarkdownReportsPage){const S=await e.listMarkdownReportsPage({limit:f,offset:p});n(S.data),h.updateMeta(S)}else n(await e.listMarkdownReports({limit:f,offset:p}))}catch(S){Me({title:"Could not load markdown reports",description:S instanceof Error?S.message:String(S),variant:"destructive"})}finally{s(!1)}};m.useEffect(()=>{x()},[p]);const j=m.useMemo(()=>t[0],[t]),y=m.useMemo(()=>t.find(S=>S.relativePath===i)??null,[t,i]),b=async()=>{if(i){d(!0);try{await e.deleteMarkdownReport(i),n(S=>S.filter(N=>N.relativePath!==i)),Me({title:"Markdown report deleted"}),o(null)}catch(S){Me({title:"Could not delete markdown report",description:S instanceof Error?S.message:String(S),variant:"destructive"})}finally{d(!1)}}};return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsxs("div",{children:[a.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[a.jsx(pc,{className:"h-6 w-6"}),"Markdown Reports"]}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Browse Markdown files under ",a.jsx("code",{children:"mcplab/reports"}),"."]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(re,{variant:"outline",onClick:()=>{x()},children:"Refresh"}),j?a.jsx(re,{asChild:!0,variant:"outline",children:a.jsx(St,{to:`/markdown-reports/view?id=${encodeURIComponent(j.reportId)}`,children:"Open latest"})}):null,a.jsx(re,{variant:"outline",onClick:h.prev,disabled:r||p===0,children:"Prev"}),a.jsx(re,{variant:"outline",onClick:h.next,disabled:r||!g,children:"Next"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:h.rangeLabel(t.length)}),a.jsx(et,{children:a.jsx(tt,{className:"p-0",children:r?a.jsx("p",{className:"p-6 text-sm text-muted-foreground",children:"Loading markdown reports..."}):t.length===0?a.jsx("p",{className:"p-6 text-sm text-muted-foreground",children:"No markdown reports found yet."}):a.jsxs(Br,{children:[a.jsx(qr,{children:a.jsxs(Ft,{children:[a.jsx(lt,{children:"Report"}),a.jsx(lt,{children:"Result"}),a.jsx(lt,{children:"Folder"}),a.jsx(lt,{children:"Timestamp"}),a.jsx(lt,{className:"w-10"})]})}),a.jsx(Ur,{children:t.map(S=>a.jsxs(Ft,{children:[a.jsx(We,{children:a.jsxs("div",{className:"space-y-1",children:[a.jsx(St,{to:`/markdown-reports/view?id=${encodeURIComponent(S.reportId)}`,className:"font-mono text-xs text-primary hover:underline",children:S.name}),a.jsx("div",{className:"font-mono text-[11px] text-muted-foreground",children:S.relativePath})]})}),a.jsx(We,{className:"text-xs text-muted-foreground font-mono",children:(()=>{const N=obe(S.relativePath);return N?a.jsx(St,{to:`/results/${encodeURIComponent(N)}`,className:"text-primary hover:underline",children:N}):a.jsx("span",{className:"text-muted-foreground",children:"—"})})()}),a.jsx(We,{className:"text-xs text-muted-foreground font-mono",children:S.relativePath.includes("/")?S.relativePath.slice(0,S.relativePath.lastIndexOf("/")):"."}),a.jsx(We,{className:"text-xs text-muted-foreground",children:a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(os,{className:"h-3 w-3"}),new Date(S.mtime).toLocaleString()]})}),a.jsx(We,{children:a.jsxs(Qf,{children:[a.jsx(Jf,{asChild:!0,children:a.jsx(re,{variant:"ghost",size:"icon",className:"h-8 w-8",children:a.jsx(dv,{className:"h-4 w-4"})})}),a.jsxs(ju,{align:"end",children:[a.jsx(Sr,{asChild:!0,children:a.jsx(St,{to:`/markdown-reports/view?id=${encodeURIComponent(S.reportId)}`,children:"View"})}),a.jsxs(Sr,{className:"text-destructive",onSelect:N=>{N.preventDefault(),o(S.relativePath)},children:[a.jsx(Ta,{className:"mr-2 h-3.5 w-3.5"})," Delete"]})]})]})})]},S.path))})]})})}),a.jsx(us,{open:!!i,onOpenChange:S=>!S&&o(null),children:a.jsxs(Ma,{children:[a.jsxs(Ia,{children:[a.jsx(Da,{children:"Delete markdown report?"}),a.jsx(La,{children:y?`Delete '${y.name}' from disk? This cannot be undone.`:"Delete this report from disk? This cannot be undone."})]}),a.jsxs($a,{children:[a.jsx(za,{disabled:c,children:"Cancel"}),a.jsx(Fa,{onClick:S=>{S.preventDefault(),b()},disabled:c,children:c?"Deleting...":"Delete"})]})]})})]})}function cbe(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function ube(e){const t=e.relativePath.match(/(?:^|\/)(?:result-assistant|results?)\/([0-9]{8}-[0-9]{6})(?:-|\/)/i);return t?.[1]?t[1]:(e.content.match(/(?:^|\n)\s*\*\*Run:\*\*\s*`([^`]+)`/i)??e.content.match(/(?:^|\n)\s*Run ID:\s*([^\s]+)/i))?.[1]?.trim()||null}function dbe(){const{source:e}=Nn(),[t]=vi(),n=(t.get("id")??"").trim(),r=(t.get("path")??"").trim(),[s,i]=m.useState(null),[o,c]=m.useState(!0),[d,f]=m.useState(!1),[h,p]=m.useState(!1);if(m.useEffect(()=>{let x=!0;if(i(null),f(!1),!n&&!r){c(!1);return}return c(!0),(n&&e.getMarkdownReportById?e.getMarkdownReportById(n):e.getMarkdownReport(r)).then(y=>{x&&i(y)}).catch(y=>{if(!x)return;const b=y instanceof Error?y.message:String(y);if(b.includes("(404)")){f(!0);return}Me({title:"Could not load markdown report",description:b,variant:"destructive"})}).finally(()=>{x&&c(!1)}),()=>{x=!1}},[r,n,e]),!n&&!r)return a.jsxs("div",{className:"space-y-4",children:[a.jsx("h1",{className:"text-2xl font-bold",children:"Markdown Report"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Missing report identifier."}),a.jsx(re,{asChild:!0,variant:"outline",children:a.jsx(St,{to:"/markdown-reports",children:"Back to Markdown Reports"})})]});if(o)return a.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading markdown report..."});if(d||!s)return a.jsxs("div",{className:"space-y-4",children:[a.jsx("h1",{className:"text-2xl font-bold",children:"Markdown Report"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Report not found."}),a.jsx(re,{asChild:!0,variant:"outline",children:a.jsx(St,{to:"/markdown-reports",children:"Back to Markdown Reports"})})]});const g=ube(s);return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("h1",{className:"font-mono text-xl font-semibold",children:s.name}),a.jsxs("div",{className:"mt-0.5 flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[a.jsx("span",{className:"font-mono",children:s.relativePath}),a.jsx("span",{"aria-hidden":!0,children:"·"}),a.jsxs("span",{className:"inline-flex items-center gap-1 align-middle",children:[a.jsx(os,{className:"h-3 w-3 shrink-0"}),new Date(s.mtime).toLocaleString()]}),a.jsx("span",{"aria-hidden":!0,children:"·"}),a.jsx("span",{children:cbe(s.sizeBytes)})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[g?a.jsxs(a.Fragment,{children:[a.jsx(re,{variant:"outline",size:"sm",onClick:()=>p(!0),children:"Open Result Panel"}),a.jsx(re,{asChild:!0,variant:"outline",size:"sm",children:a.jsx(St,{to:`/results/${encodeURIComponent(g)}`,children:"Open Result"})})]}):null,a.jsx(re,{asChild:!0,variant:"outline",size:"sm",children:a.jsx(St,{to:"/markdown-reports",children:"Back to reports"})})]})]}),a.jsx(et,{children:a.jsx(tt,{className:"pt-6",children:a.jsx(Pa,{text:s.content,variant:"assistant"})})}),g?a.jsx(v3,{open:h,onOpenChange:p,children:a.jsxs(nC,{side:"right",className:"w-[96vw] max-w-none p-0 sm:max-w-5xl",children:[a.jsx(x3,{className:"border-b px-4 py-3 pr-12",children:a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs(y3,{className:"text-base",children:["Result ",g]}),a.jsx(re,{asChild:!0,variant:"outline",size:"sm",children:a.jsx(St,{to:`/results/${encodeURIComponent(g)}`,target:"_blank",rel:"noreferrer",children:"Open full page"})})]})}),a.jsx("div",{className:"h-[calc(100vh-64px)]",children:a.jsx("iframe",{title:`Result ${g}`,src:`/results/${encodeURIComponent(g)}?embed=1`,className:"h-full w-full border-0"})})]})}):null]})}const fbe=()=>{const e=ds();return m.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),a.jsx("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:a.jsxs("div",{className:"text-center",children:[a.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"404"}),a.jsx("p",{className:"mb-4 text-xl text-muted-foreground",children:"Oops! Page not found"}),a.jsx("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:"Return to Home"})]})})},pbe=new eK;function hbe(){const{scenarioId:e}=xl();return a.jsx(L5,{to:e?`/libraries/test-cases/${encodeURIComponent(e)}`:"/libraries/test-cases",replace:!0})}const mbe=()=>a.jsx(nK,{client:pbe,children:a.jsx(ci,{children:a.jsx(vX,{children:a.jsx(CX,{children:a.jsxs(NX,{children:[a.jsx(aW,{}),a.jsx($W,{}),a.jsx(rG,{future:{v7_startTransition:!0,v7_relativeSplatPath:!0},children:a.jsxs(GK,{children:[a.jsxs(pn,{element:a.jsx(SX,{}),children:[a.jsx(pn,{path:"/",element:a.jsx(rhe,{})}),a.jsx(pn,{path:"/mcp-evaluations",element:a.jsx(Sve,{})}),a.jsx(pn,{path:"/mcp-evaluations/:id",element:a.jsx(b$,{})}),a.jsx(pn,{path:"/mcp-evaluations/:id/:tab",element:a.jsx(b$,{})}),a.jsx(pn,{path:"/tool-analysis",element:a.jsx(mye,{})}),a.jsx(pn,{path:"/tool-analysis-results",element:a.jsx(vye,{})}),a.jsx(pn,{path:"/tool-analysis-results/:id",element:a.jsx(gye,{})}),a.jsx(pn,{path:"/oauth-debugger",element:a.jsx(Sye,{})}),a.jsx(pn,{path:"/libraries/servers",element:a.jsx(Pge,{})}),a.jsx(pn,{path:"/libraries/servers/:serverId",element:a.jsx(Ege,{})}),a.jsx(pn,{path:"/libraries/agents",element:a.jsx(Tge,{})}),a.jsx(pn,{path:"/libraries/agents/:agentName",element:a.jsx(zxe,{})}),a.jsx(pn,{path:"/libraries/test-cases",element:a.jsx(E$,{})}),a.jsx(pn,{path:"/libraries/test-cases/:testCaseId",element:a.jsx(E$,{})}),a.jsx(pn,{path:"/libraries/scenarios",element:a.jsx(L5,{to:"/libraries/test-cases",replace:!0})}),a.jsx(pn,{path:"/libraries/scenarios/:scenarioId",element:a.jsx(hbe,{})}),a.jsx(pn,{path:"/settings",element:a.jsx(Bxe,{})}),a.jsx(pn,{path:"/settings/mcp",element:a.jsx(Gxe,{})}),a.jsx(pn,{path:"/run",element:a.jsx(Mye,{})}),a.jsx(pn,{path:"/results",element:a.jsx(zye,{})}),a.jsx(pn,{path:"/results/:id",element:a.jsx(Wye,{})}),a.jsx(pn,{path:"/markdown-reports",element:a.jsx(lbe,{})}),a.jsx(pn,{path:"/markdown-reports/view",element:a.jsx(dbe,{})}),a.jsx(pn,{path:"/compare",element:a.jsx(sbe,{})}),a.jsx(pn,{path:"/compare/results",element:a.jsx(ibe,{})})]}),a.jsx(pn,{path:"*",element:a.jsx(fbe,{})})]})})]})})})})});r7.createRoot(document.getElementById("root")).render(a.jsx(mbe,{}));
254
+ `);try{window.sessionStorage.setItem(qye,JSON.stringify({type:"result-assistant-handoff-v1",runId:c.id,configId:$e||c.configId||"",scenarioId:ke.id,prompt:bt,sourceReply:ie})),t(`/libraries/test-cases/${encodeURIComponent(ke.id)}?assistantHandoff=1`)}catch(Qe){Me({title:"Could not create handoff",description:Qe instanceof Error?Qe.message:String(Qe),variant:"destructive"})}},Pu=ie=>{c&&(ce(!1),H(ie),Z(B$(c.id)),z(!1),I(!0))},Tl=()=>{c&&(ce(!0),H(""),Z(B$(c.id)),z(!1),I(!0))},fa=async()=>{if(!c)return;if(!Q.trim()){Me({title:"No markdown to write",description:"The selected assistant response is empty.",variant:"destructive"});return}ae(!0);try{const ke=await r.applyResultAssistantReport({runId:c.id,markdown:Q,outputPath:O.trim()||void 0,overwrite:U});Me({title:"Markdown report written",description:typeof ke.path=="string"&&ke.path?ke.path:ke.outputPath}),await de(c.id,typeof ke.path=="string"&&ke.path||ke.outputPath||void 0),T&&B("reports"),I(!1)}catch(ke){Me({title:"Could not write markdown report",description:ke instanceof Error?ke.message:String(ke),variant:"destructive"})}finally{ae(!1)}},Bg=async ie=>{try{await navigator.clipboard.writeText(ie),Me({title:"Copied"})}catch(ke){Me({title:"Could not copy",description:ke instanceof Error?ke.message:String(ke),variant:"destructive"})}},Yr=async()=>{if(c){b(!0);try{const ie=x.trim();await r.updateRunNote(c.id,ie||void 0),d(ke=>ke&&{...ke,runNote:ie||void 0}),j(ie),g(!1),Me({title:"Run note saved"})}catch(ie){Me({title:"Could not save run note",description:ie instanceof Error?ie.message:String(ie),variant:"destructive"})}finally{b(!1)}}},qg=async()=>{if(c?.id){At(!0);try{await r.deleteResult(c.id),Me({title:"Run deleted",description:c.id}),t("/results")}catch(ie){Me({title:"Could not delete run",description:ie instanceof Error?ie.message:String(ie),variant:"destructive"})}finally{At(!1),Ke(!1)}}},Ug=async()=>{if(!c?.id)return;if(!he.trim()){Me({title:"Cannot rerun",description:"This run has no config path in metadata.",variant:"destructive"});return}Tt(!0);try{await hq(r,c),Me({title:"Rerun queued",description:`${c.id} queued with previous run settings.`})}catch(ke){Me({title:"Could not rerun",description:ke instanceof Error?ke.message:String(ke),variant:"destructive"})}finally{Tt(!1)}};return a.jsxs("div",{className:`${T?"xl:flex xl:h-[calc(100vh-2rem-48px)] xl:min-h-0 xl:flex-col xl:overflow-hidden":""}`,children:[a.jsx("div",{className:`${T?"xl:shrink-0 xl:pb-6":"mb-6"}`,children:a.jsxs("div",{ref:Jt,className:"flex flex-wrap items-start justify-between gap-3",children:[a.jsxs("div",{className:"flex min-w-0 items-start gap-3",children:[!s&&a.jsx(re,{variant:"ghost",size:"icon",asChild:!0,children:a.jsx(St,{to:"/results",children:a.jsx(to,{className:"h-4 w-4"})})}),a.jsxs("div",{className:"min-w-0",children:[a.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[a.jsx("h1",{className:"text-2xl font-bold font-mono",children:c.id}),a.jsx(ws,{rate:Vt})]}),a.jsxs("p",{className:"text-xs text-muted-foreground",children:[a.jsxs("span",{className:"inline-flex items-center gap-1 align-middle",children:[a.jsx(mP,{className:"h-3 w-3 shrink-0"}),new Date(c.timestamp).toLocaleString()]}),a.jsx("span",{className:"mx-1",children:"·"}),Ie?a.jsxs(a.Fragment,{children:[a.jsxs("span",{className:"inline-flex items-center align-middle",children:["Agent: ",Ie]}),a.jsx("span",{className:"mx-1",children:"·"})]}):null,K?a.jsxs("span",{className:"inline-flex items-center align-middle",children:["Eval: ",a.jsx("span",{className:"ml-1 font-medium",children:K})]}):null,K&&he?a.jsx("span",{className:"mx-1",children:"·"}):null,he?a.jsxs("span",{className:"inline-flex items-center align-middle",children:["Path: ",a.jsx("span",{className:"ml-1 font-mono",children:he})]}):null,!K&&!he&&Re?a.jsxs("span",{className:"inline-flex items-center align-middle",children:["Config: ",a.jsx("span",{className:"ml-1 font-mono",children:Re})]}):null]})]})]}),a.jsxs("div",{className:"flex w-full min-w-0 items-center justify-between gap-2 sm:ml-auto sm:w-auto",children:[Cu?a.jsxs("span",{className:"inline-flex max-w-[18rem] min-w-0 items-center rounded-sm border border-border/60 bg-muted/30 px-1.5 py-1 text-[11px] text-muted-foreground",children:[a.jsx("span",{className:"font-medium",children:"MCP:"}),a.jsx("span",{className:"ml-1 min-w-0 truncate font-mono",children:Cu})]}):null,a.jsxs("div",{className:"flex min-w-0 flex-wrap items-center justify-end gap-2",children:[a.jsxs(re,{variant:"outline",size:"sm",className:`max-w-full gap-1.5 ${s?"px-2":""}`,onClick:()=>{const ie=Bye(c),ke=new Blob([ie],{type:"text/html"}),bt=URL.createObjectURL(ke),Qe=document.createElement("a");Qe.href=bt,Qe.download=`mcplab-report-${c.id}.html`,Qe.click(),URL.revokeObjectURL(bt)},"aria-label":"Download Report",title:"Download Report",children:[a.jsx(Wr,{className:"h-3.5 w-3.5"}),!s&&"Download Report"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5",onClick:()=>rp(),disabled:se,children:[a.jsx(pc,{className:"h-3.5 w-3.5"}),se?"Reports...":`Reports${oe.length?` (${oe.length})`:""}`]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5","aria-label":"Run Note",onClick:()=>El(),children:[a.jsx(pc,{className:"h-3.5 w-3.5"}),It?"Note":"Run Note"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5","aria-label":"MCP Lab Assistant",onClick:()=>kl(),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),It?"Assistant":"MCP Lab Assistant"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5",onClick:()=>{Ug()},disabled:qt||!he.trim(),children:[a.jsx(is,{className:"h-3.5 w-3.5"}),qt?"Queueing...":"Rerun"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"max-w-full gap-1.5 text-destructive",onClick:()=>Ke(!0),disabled:Be,"aria-label":Be?"Deleting run":"Delete run",children:[Be?a.jsx(dr,{className:"h-4 w-4 animate-spin"}):a.jsx(Fo,{className:"h-4 w-4"}),It?null:Be?"Deleting...":"Delete"]})]})]})]})}),a.jsxs("div",{className:`grid gap-6 items-start ${T?M?"xl:grid-cols-[minmax(0,1fr)_52rem] xl:flex-1 xl:min-h-0 xl:overflow-hidden":"xl:grid-cols-[minmax(0,1fr)_28rem] xl:flex-1 xl:min-h-0 xl:overflow-hidden":"grid-cols-1"}`,children:[a.jsxs("div",{className:`min-w-0 space-y-6 ${T?"xl:h-full xl:min-h-0 xl:overflow-y-auto xl:pr-2":""}`,children:[a.jsxs("div",{className:`grid gap-4 ${T?"grid-cols-3":"sm:grid-cols-2 lg:grid-cols-8"}`,children:[a.jsx(Sa,{title:"Scenarios",value:ne.length,icon:vS}),a.jsx(Sa,{title:"Total Runs",value:Le,icon:SD}),a.jsx(Sa,{title:"Pass Rate",value:`${Math.round(Vt*100)}%`,icon:Ac}),a.jsx(Sa,{title:"Avg Tool Calls",value:q$(Ee),icon:Zs}),a.jsx(Sa,{title:"Avg Latency",value:`${Kt}ms`,icon:OD}),wt!==null?a.jsx(Sa,{title:"Total Time",value:Ca(wt),icon:os}):null,Ht!==null?a.jsx(Sa,{title:"Tool Duration",value:Ca(Ht),icon:os}):null,a.jsx(Sa,{title:"Tool Tokens",value:Dr(Vn?.totalTokens),icon:as})]}),a.jsxs("div",{className:"grid gap-6 lg:grid-cols-2",children:[a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-2",children:a.jsx(Mt,{className:"text-base",children:"Pass / Fail"})}),a.jsxs(tt,{className:"flex items-center justify-center",children:[a.jsxs(nhe,{width:180,height:180,children:[a.jsx(bi,{data:ku,dataKey:"value",innerRadius:50,outerRadius:75,paddingAngle:3,children:ku.map((ie,ke)=>a.jsx(Kv,{fill:ie.color},ke))}),a.jsx(Fr,{})]}),a.jsxs("div",{className:"ml-4 space-y-2",children:[a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[a.jsx("div",{className:"h-3 w-3 rounded-full bg-success"}),_u," passed"]}),a.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[a.jsx("div",{className:"h-3 w-3 rounded-full bg-destructive"}),Au," failed"]})]})]})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-2",children:a.jsx(Mt,{className:"text-base",children:"Tool Usage"})}),a.jsx(tt,{children:a.jsx(lm,{width:"100%",height:180,children:a.jsxs(the,{data:Dn,layout:"vertical",children:[a.jsx(ao,{type:"number",tick:{fontSize:11}}),a.jsx(so,{type:"category",dataKey:"name",tick:{fontSize:11},width:120}),a.jsx(Fr,{}),a.jsx(Nl,{dataKey:"count",fill:"hsl(38, 92%, 50%)",radius:[0,4,4,0]})]})})})]})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsx(Mt,{className:"text-base",children:"Scenarios"}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-8 gap-1.5 px-2 text-xs",onClick:()=>kl("Summarize the scenario results in this run. Highlight failed scenarios/checks first, then mention notable tool usage and extracted values."),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),"Ask Assistant"]})]})}),a.jsx(tt,{className:"p-0",children:a.jsxs(Br,{children:[a.jsx(qr,{children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-8"}),a.jsx(lt,{children:"Scenario"}),a.jsx(lt,{children:"Agent"}),a.jsx(lt,{children:"Runs"}),a.jsx(lt,{children:"Pass Rate"}),a.jsx(lt,{children:"Total Time"}),a.jsx(lt,{children:"Tool Calls"}),a.jsx(lt,{children:"Tool Tokens"}),a.jsx(lt,{children:"Tool Duration"})]})}),a.jsx(Ur,{children:ne.map(ie=>{const ke=Fg(ie.scenarioId,ie.agentName),bt=ie.scenarioName||ie.scenarioId;return a.jsx(ns,{open:S.has(ke),onOpenChange:()=>np(ke),asChild:!0,children:a.jsxs(a.Fragment,{children:[a.jsx(Na,{asChild:!0,children:a.jsxs(Ft,{className:"cursor-pointer hover:bg-muted/50",children:[a.jsx(We,{children:a.jsx(Yt,{className:`h-4 w-4 transition-transform ${S.has(ke)?"rotate-180":""}`})}),a.jsx(We,{className:"font-medium text-sm",children:ie.scenarioName}),a.jsxs(We,{className:"text-sm",children:[a.jsx("div",{children:ie.agentName}),(ie.provider||ie.model)&&a.jsx("div",{className:"text-xs text-muted-foreground",children:[ie.provider?tv(ie.provider):null,ie.model].filter(Boolean).join(" · ")})]}),a.jsx(We,{className:"font-mono text-sm",children:ie.runs.length}),a.jsx(We,{children:a.jsx(ws,{rate:ie.passRate})}),a.jsx(We,{className:"font-mono text-sm",children:Ca(SN(ie),{preciseUnderTenSeconds:!0})}),a.jsx(We,{className:"font-mono text-sm",children:q$(ie.avgToolCalls)}),a.jsx(We,{className:"font-mono text-sm",children:Dr(ie.toolTokenUsage?.totalTokens)}),a.jsx(We,{className:"font-mono text-sm",children:Ca(NN(ie),{preciseUnderTenSeconds:!0})})]})}),a.jsx(rs,{asChild:!0,children:a.jsx("tr",{children:a.jsx("td",{colSpan:9,className:"p-0",children:a.jsxs("div",{className:"bg-muted/30 p-4 space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2 rounded-md border bg-card px-3 py-2",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("p",{className:"text-xs font-semibold",children:"Scenario details"}),a.jsxs("p",{className:"text-[11px] text-muted-foreground",children:[bt," · ",ie.agentName," ·"," ",Math.round(ie.passRate*100),"% pass rate ·"," ",Dr(ie.toolTokenUsage?.totalTokens)," tool tokens ·"," ",Ca(SN(ie),{preciseUnderTenSeconds:!0})," ","total time ·"," ",Ca(NN(ie),{preciseUnderTenSeconds:!0})," ","tool time"]})]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs shrink-0",onClick:()=>kl(`Explain why scenario '${bt}' failed (agent: ${ie.agentName}). Summarize the likely cause from the result details and suggest what to inspect next.`,{scenarioId:ie.scenarioId}),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),"Ask Assistant"]})]}),ie.runs.map(Qe=>a.jsxs("div",{className:"flex items-start gap-3 rounded-md border bg-card p-3 text-sm",children:[a.jsx("div",{className:"mt-0.5",children:Qe.passed?a.jsx(Zs,{className:"h-4 w-4 text-success"}):a.jsx(Fo,{className:"h-4 w-4 text-destructive"})}),a.jsxs("div",{className:"flex-1 space-y-1",children:[(()=>{const Qt=Ae.get(ie.scenarioId),tn=Qt?Kye(Qt.evalRules,Qe.failureReasons,Qe.error):[],fn=tn.filter(cn=>cn.status==="failed"),tr=tn.filter(cn=>cn.status==="passed"),Er=tn.filter(cn=>cn.status==="not_evaluated");return a.jsxs(a.Fragment,{children:[a.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[a.jsxs("span",{className:"font-mono text-xs text-muted-foreground",children:["Run #",Qe.runIndex+1]}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"·"}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:[Qe.duration,"ms"]}),a.jsx("span",{className:"text-xs text-muted-foreground",children:"·"}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:[Dr(Qe.toolTokenUsage?.totalTokens)," ","tool tokens"]}),!Qe.passed&&a.jsx(nt,{variant:"outline",className:"h-5 border-destructive/30 bg-destructive/10 text-destructive text-[10px]",children:"Failed"})]}),Qe.failureReasons.length>0&&a.jsxs("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-2",children:[a.jsxs("p",{className:"mb-1 flex items-center gap-1 text-[11px] font-semibold uppercase tracking-wide text-destructive",children:[a.jsx(Fo,{className:"h-3.5 w-3.5"}),"Failure reasons"]}),a.jsx("ul",{className:"space-y-1 text-xs text-destructive",children:Qe.failureReasons.map((cn,pa)=>a.jsxs("li",{children:["• ",H$(cn)]},pa))})]}),tn.length>0&&a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"checks")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"checks")),children:a.jsxs("div",{className:"rounded-md border bg-muted/20 p-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"mb-2 flex w-full flex-wrap items-center gap-2 text-left",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"checks"))?"rotate-180":""}`}),a.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Checks"}),a.jsxs(nt,{variant:"outline",className:"h-5 border-success/30 bg-success/10 text-success text-[10px]",children:[tr.length," passed"]}),a.jsxs(nt,{variant:"outline",className:`h-5 text-[10px] ${fn.length>0?"border-destructive/30 bg-destructive/10 text-destructive":""}`,children:[fn.length," failed"]}),Er.length>0&&a.jsxs(nt,{variant:"outline",className:"h-5 border-muted-foreground/30 bg-muted text-[10px] text-muted-foreground",children:[Er.length," not evaluated"]})]})}),a.jsxs(rs,{children:[Er.length>0&&a.jsx("p",{className:"mb-2 text-[11px] text-muted-foreground",children:"Checks were not evaluated because this run failed before evaluation."}),a.jsx("div",{className:"space-y-1",children:tn.map((cn,pa)=>a.jsxs("div",{className:`flex items-start justify-between gap-2 rounded-md border px-2 py-1.5 text-xs ${cn.status==="failed"?"border-destructive/20 bg-destructive/5":cn.status==="not_evaluated"?"border-muted-foreground/20 bg-muted/40":"border-success/20 bg-success/5"}`,children:[a.jsxs("div",{className:"min-w-0",children:[a.jsxs("div",{className:"flex items-center gap-2",children:[cn.status==="failed"?a.jsx(Fo,{className:"h-3.5 w-3.5 shrink-0 text-destructive"}):cn.status==="not_evaluated"?a.jsx(mP,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}):a.jsx(Zs,{className:"h-3.5 w-3.5 shrink-0 text-success"}),a.jsx("span",{className:"font-medium",children:Yye(cn.rule)})]}),cn.failureReason&&a.jsx("p",{className:"mt-1 pl-5 text-[11px] text-destructive",children:H$(cn.failureReason)})]}),a.jsx(nt,{variant:"outline",className:`shrink-0 text-[10px] ${cn.status==="failed"?"border-destructive/30 text-destructive":cn.status==="not_evaluated"?"border-muted-foreground/30 text-muted-foreground":"border-success/30 text-success"}`,children:cn.status})]},`${cn.rule.type}-${cn.rule.value??cn.rule.path??""}-${pa}`))})]})]})})]})})(),a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"extracts")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"extracts")),children:a.jsxs("div",{className:"rounded-md border border-violet-500/20 bg-violet-500/5 p-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"mb-2 flex w-full flex-wrap items-center justify-between gap-2 text-left",children:[a.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 shrink-0 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"extracts"))?"rotate-180":""}`}),a.jsxs("p",{className:"flex items-center gap-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[a.jsx(vS,{className:"h-3.5 w-3.5 text-violet-600"}),"Extracted values"]})]}),a.jsxs(nt,{variant:"outline",className:"h-5 text-[10px]",children:[Object.keys(Qe.extractedValues??{}).length," ","total"]})]})}),a.jsx(rs,{children:Object.keys(Qe.extractedValues??{}).length===0?a.jsx("p",{className:"text-xs text-muted-foreground",children:"No extracted values captured for this run."}):a.jsx("div",{className:"grid gap-1.5 sm:grid-cols-2",children:Object.entries(Qe.extractedValues??{}).map(([Qt,tn])=>a.jsxs("div",{className:"rounded-md border bg-background px-2 py-1.5 text-xs",children:[a.jsx("div",{className:"mb-0.5 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:Qt}),a.jsx("div",{className:"font-mono break-all text-foreground",children:tn===null?"null":String(tn)})]},Qt))})})]})}),a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"tools")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"tools")),children:a.jsxs("div",{className:"rounded-md border border-sky-500/20 bg-sky-500/5 p-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"mb-2 flex w-full flex-wrap items-center justify-between gap-2 text-left",children:[a.jsxs("div",{className:"flex min-w-0 flex-wrap items-center gap-2",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 shrink-0 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"tools"))?"rotate-180":""}`}),a.jsxs("p",{className:"flex items-center gap-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[a.jsx(as,{className:"h-3.5 w-3.5 text-sky-600"}),"Tool call sequence"]})]}),a.jsxs(nt,{variant:"outline",className:"h-5 text-[10px]",children:[Qe.toolCalls.length," total"]})]})}),a.jsx(rs,{children:Qe.toolCalls.length===0?a.jsx("p",{className:"text-xs text-muted-foreground",children:"No tool calls captured for this run."}):a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"flex flex-wrap gap-1",children:a.jsx(ci,{delayDuration:0,children:Qe.toolCalls.map((Qt,tn)=>{const fn=Qe.conversation.filter(Er=>Er.kind==="tool_call")[tn]?.estimatedTokens,tr=typeof fn?.totalTokens=="number";return a.jsxs(ui,{children:[a.jsx(di,{asChild:!0,children:a.jsxs(nt,{variant:"outline",className:"font-mono text-xs bg-background",children:[a.jsxs("span",{className:"mr-1 text-muted-foreground",children:["#",tn+1]}),Qt.name,a.jsxs("span",{className:"ml-1 text-muted-foreground",children:[Qt.duration,"ms"]}),tr&&a.jsxs("span",{className:"ml-1 text-muted-foreground",children:["·"," ",Dr(fn?.totalTokens),"tok"]})]})}),tr&&a.jsx(Es,{className:"text-xs",children:`${Qt.name} · tokens total: ${Dr(fn?.totalTokens)} · in: ${Dr(fn?.inputTokens)} · out: ${Dr(fn?.outputTokens)}`})]},tn)})})}),a.jsxs("div",{className:"rounded-md border bg-background p-2",children:[a.jsxs("div",{className:"mb-1.5 flex items-center justify-between gap-2",children:[a.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Tool token estimate"}),a.jsx(nt,{variant:"outline",className:"h-5 text-[10px]",children:"estimated"})]}),Object.keys(Qe.toolTokenUsageByTool??{}).length===0?a.jsx("p",{className:"text-xs text-muted-foreground",children:"n/a"}):a.jsx("div",{className:"grid gap-1.5 sm:grid-cols-2",children:Object.entries(Qe.toolTokenUsageByTool??{}).map(([Qt,tn])=>a.jsxs("div",{className:"rounded border bg-muted/30 px-2 py-1.5 text-xs",children:[a.jsx("div",{className:"font-mono text-[11px]",children:Qt}),a.jsxs("div",{className:"text-muted-foreground",children:["total:"," ",Dr(tn.totalTokens)," ","· in:"," ",Dr(tn.inputTokens)," ","· out:"," ",Dr(tn.outputTokens)]})]},Qt))})]})]})})]})}),a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"final")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"final")),children:a.jsxs("div",{className:"rounded-md border border-muted-foreground/20 bg-card p-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"mb-2 flex w-full items-center gap-2 text-left",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"final"))?"rotate-180":""}`}),a.jsxs("p",{className:"flex items-center gap-1 text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:[a.jsx(Ar,{className:"h-3.5 w-3.5"}),"Final answer"]})]})}),a.jsx(rs,{children:a.jsx(_N,{text:Qe.finalAnswer||"No final answer captured.",maxLength:1200,className:"text-xs text-foreground"})})]})}),a.jsx(ns,{open:Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation")),onOpenChange:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation")),children:a.jsxs("div",{className:"rounded-md border bg-muted/10 p-2",children:[a.jsxs("div",{className:"mb-2 flex flex-wrap items-center justify-between gap-2",children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"flex min-w-0 items-center gap-2 text-left",children:[a.jsx(Yt,{className:`h-3.5 w-3.5 shrink-0 transition-transform ${Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation"))?"rotate-180":""}`}),a.jsx("p",{className:"text-[11px] font-semibold uppercase tracking-wide text-muted-foreground",children:"Conversation trace"})]})}),a.jsx("div",{className:"flex flex-wrap gap-2",children:a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>kl(`Explain Run #${Qe.runIndex+1} for scenario '${bt}'. It ${Qe.passed?"passed":"failed"} in ${Qe.duration}ms. Focus on the tool sequence and ${Qe.passed?"why it passed":"what caused the failure"}.`,{scenarioId:ie.scenarioId}),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),"Ask Assistant"]})})]}),a.jsx(rs,{children:a.jsx("div",{className:"space-y-2 rounded-md border bg-muted/20 p-2",children:Qe.conversation.length===0?a.jsx("p",{className:"text-xs text-muted-foreground",children:"No conversation trace captured."}):Qe.conversation.map(Qt=>a.jsx(Vye,{item:Qt,fallbackUserPrompt:Ae.get(ie.scenarioId)?.prompt},Qt.id))})}),!Zt(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation"))&&a.jsx("button",{type:"button",className:"text-xs text-muted-foreground underline decoration-dotted underline-offset-2 hover:text-foreground",onClick:()=>ji(zn(ie.scenarioId,ie.agentName,Qe.runIndex,"conversation")),children:"Expand to inspect user/assistant/tool messages for this run."})]})})]})]},Qe.runIndex))]})})})})]})},ke)})})]})})]})]}),T&&a.jsxs("div",{className:"min-w-0 space-y-0 xl:flex xl:h-full xl:min-h-0 xl:flex-col",children:[a.jsx(kg,{value:W,onValueChange:ie=>B(ie),className:"min-w-0 -mb-px px-3 pt-1",children:a.jsxs(Zf,{className:"h-auto w-full justify-start rounded-none border-b bg-transparent p-0",children:[a.jsx(ks,{value:"assistant",className:"-mb-px h-9 rounded-none rounded-t border border-border border-b-border bg-muted/20 px-3 text-xs text-muted-foreground data-[state=active]:z-10 data-[state=active]:bg-card data-[state=active]:text-foreground data-[state=active]:border-border data-[state=active]:border-b-card data-[state=active]:shadow-none",children:"Assistant"}),a.jsx(ks,{value:"reports",className:"-mb-px h-9 rounded-none rounded-t border border-border border-b-border bg-muted/20 px-3 text-xs text-muted-foreground data-[state=active]:z-10 data-[state=active]:bg-card data-[state=active]:text-foreground data-[state=active]:border-border data-[state=active]:border-b-card data-[state=active]:shadow-none",children:"Reports"}),a.jsx(ks,{value:"note",className:"-mb-px h-9 rounded-none rounded-t border border-border border-b-border bg-muted/20 px-3 text-xs text-muted-foreground data-[state=active]:z-10 data-[state=active]:bg-card data-[state=active]:text-foreground data-[state=active]:border-border data-[state=active]:border-b-card data-[state=active]:shadow-none",children:"Note"})]})}),W==="assistant"?a.jsx(fq,{title:"MCP Lab Assistant",description:"Ask questions about this run result, failures, and tool usage.",expanded:M,onToggleExpanded:()=>D(ie=>!ie),onHide:()=>R(!1),messages:Bt,pendingToolCalls:we,loading:Je,onCancel:$t?Pt:void 0,input:Xe,onInputChange:Ve,onSend:()=>{De()},inputPlaceholder:"Ask about this result...",snippets:Uye,onSnippetSelect:Oe,onApproveToolCall:ie=>{q(ie)},onDenyToolCall:ie=>{ge(ie)},chatEndRef:Ut,inputRef:me,className:"min-w-0 overflow-hidden rounded-t-none xl:flex xl:h-full xl:min-h-0 xl:flex-col",renderMessage:({message:ie,index:ke,linkedPendingToolCall:bt,isUser:Qe,isAssistant:Qt,isSystem:tn,isTool:fn})=>{const tr=Qt&&!!ie.pendingToolCallId;if(fn&&/^(Approved|Denied) tool call\\b/i.test(String(ie.text??"").trim()))return null;const Er=bt?.tool??ie.toolRequestName,cn=bt?.publicToolName??ie.toolRequestPublicName,pa=Qt&&!tr&&Hye(ie.text,!!Y);if(tr){const go=bt?.status==="pending",sn=zh(Er??cn??"unknown_tool");return a.jsxs("div",{className:"flex items-start gap-2",children:[a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-emerald-500/30 bg-emerald-500/10 text-emerald-700",children:a.jsx(Ar,{className:"h-3 w-3"})}),a.jsxs("details",{open:!!bt,className:"group min-w-0 w-full max-w-[92%] overflow-hidden rounded-md border border-border/60 bg-background",children:[a.jsxs("summary",{className:"flex cursor-pointer list-none items-center justify-between gap-3 px-3 py-2",children:[a.jsx("div",{className:"min-w-0 flex-1",children:a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(as,{className:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),a.jsx("span",{className:"min-w-0 truncate text-sm font-medium",children:`Tool call ${sn}`}),a.jsx("span",{className:`shrink-0 whitespace-nowrap rounded px-1.5 py-0.5 text-[10px] font-semibold ${go?"bg-amber-100 text-amber-900":"bg-muted text-muted-foreground"}`,children:go?"Needs approval":"Completed"})]})}),a.jsx(Yt,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180"})]}),a.jsxs("div",{className:"min-w-0 space-y-2 border-t border-border/50 px-3 py-2",children:[a.jsx(Pa,{text:ie.text,className:"text-sm"}),go&&bt&&a.jsxs(a.Fragment,{children:[a.jsx("pre",{className:"max-h-40 min-w-0 w-full max-w-full overflow-x-auto overflow-y-auto whitespace-pre-wrap break-words rounded border bg-muted/50 p-2 text-xs",children:a.jsx("code",{className:"break-words",children:JSON.stringify(bt.arguments??{},null,2)})}),a.jsxs("div",{className:"flex justify-end gap-2",children:[a.jsx(re,{type:"button",size:"sm",variant:"outline",className:"h-7 px-2 text-xs",disabled:Je,onClick:()=>{ge(bt.id)},children:"Deny"}),a.jsx(re,{type:"button",size:"sm",className:"h-7 px-2 text-xs",disabled:Je,onClick:()=>{q(bt.id)},children:"Approve"})]})]})]})]})]},`${ie.id??`${ie.role}-${ke}`}:${bt?"pending":"completed"}`)}const Wg=Qe||Qt&&!fn&&!tn;return a.jsxs("div",{className:`flex items-start gap-2 ${Qe?"justify-end":"justify-start"}`,children:[!Qe&&a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-emerald-500/30 bg-emerald-500/10 text-emerald-700",children:tn?a.jsx(ON,{className:"h-3 w-3"}):a.jsx(Ar,{className:"h-3 w-3"})}),a.jsxs("div",{className:"relative max-w-[92%]",children:[a.jsxs("div",{className:`max-w-full rounded-md border p-3 text-sm ${Qe?"border-primary/20 bg-primary/10":tn?"border-amber-400/30 bg-amber-50/70":fn?"border-blue-300/30 bg-blue-50/50":"border-border/80 bg-background shadow-sm"}`,children:[!(Qe||tn)&&a.jsx("p",{className:`mb-2 text-[11px] font-semibold text-muted-foreground ${Qe?"text-right":""}`,children:fn?"Tool":"Assistant"}),Qe?a.jsx("p",{className:"whitespace-pre-wrap",children:ie.text}):a.jsx(Pa,{text:ie.text,className:"text-sm"}),pa&&a.jsxs("div",{className:"mt-3 flex max-w-full flex-wrap justify-end gap-2 overflow-x-auto pb-1",children:[a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>zg(ie.text),children:[a.jsx(zr,{className:"h-4 w-4 text-amber-500"}),"Send to Scenario Assistant"]}),a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>Pu(ie.text),children:[a.jsx(as,{className:"h-3.5 w-3.5"}),"Apply: Write Markdown Report"]})]}),!pa&&Qt&&!tr&&a.jsx("div",{className:"mt-3 flex max-w-full justify-end overflow-x-auto pb-1",children:a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1.5 px-2 text-xs",onClick:()=>Pu(ie.text),children:[a.jsx(as,{className:"h-3.5 w-3.5"}),"Apply: Write Markdown Report"]})})]}),Wg&&a.jsx(re,{type:"button",variant:"ghost",size:"icon",className:"absolute -right-8 bottom-1 h-6 w-6 text-muted-foreground",onClick:()=>{Bg(ie.text)},"aria-label":"Copy message",title:"Copy message",children:a.jsx(Hr,{className:"h-3.5 w-3.5"})})]}),Qe&&a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-primary/30 bg-primary/15 text-primary",children:a.jsx(Pc,{className:"h-3 w-3"})})]},ie.id??`${ie.role}-${ke}`)},renderMessageExtras:Pl.length>0?a.jsxs("div",{className:"space-y-2",children:[a.jsx("div",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Pending actions (approve/deny)"}),Pl.map(ie=>a.jsxs("details",{open:!0,className:"group min-w-0 rounded-md border bg-background",children:[a.jsxs("summary",{className:"flex cursor-pointer list-none items-center justify-between gap-2 p-3",children:[a.jsxs("div",{className:"min-w-0 flex-1",children:[a.jsx("p",{className:"break-all font-mono text-xs font-semibold",children:zh(ie.publicToolName)}),a.jsxs("p",{className:"break-all text-xs text-muted-foreground",children:[ie.server,"::",zh(ie.tool)]})]}),a.jsx(Yt,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform group-open:rotate-180"})]}),a.jsxs("div",{className:"border-t px-3 pb-3 pt-2",children:[a.jsx("pre",{className:"max-h-48 min-w-0 w-full max-w-full overflow-x-auto overflow-y-auto whitespace-pre-wrap break-words rounded border bg-muted/50 p-2 text-xs",children:a.jsx("code",{className:"break-words",children:JSON.stringify(ie.arguments??{},null,2)})}),a.jsxs("div",{className:"mt-2 flex justify-end gap-2",children:[a.jsx(re,{type:"button",size:"sm",variant:"outline",className:"h-7 px-2 text-xs",disabled:Je,onClick:()=>{ge(ie.id)},children:"Deny"}),a.jsx(re,{type:"button",size:"sm",className:"h-7 px-2 text-xs",disabled:Je,onClick:()=>{q(ie.id)},children:"Approve"})]})]})]},ie.id))]}):null}):W==="reports"?a.jsxs(et,{className:"min-w-0 overflow-hidden rounded-t-none xl:flex xl:h-full xl:min-h-0 xl:flex-col",children:[a.jsx(Ot,{className:"border-b px-4 py-3",children:a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs(Mt,{className:"flex items-center gap-2 text-base",children:[a.jsx(pc,{className:"h-4 w-4 text-muted-foreground"}),"Reports"]}),a.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1 px-2 text-xs",onClick:()=>D(ie=>!ie),children:[M?a.jsx(xS,{className:"h-3.5 w-3.5"}):a.jsx(yS,{className:"h-3.5 w-3.5"}),M?"Compact":"Expand"]}),a.jsx(re,{type:"button",variant:"outline",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>R(!1),children:"Hide"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Review markdown reports for this run while keeping the result visible."})]})}),a.jsxs(tt,{className:"flex h-[70vh] min-h-[520px] flex-col p-0 xl:h-auto xl:min-h-0 xl:flex-1",children:[(se||oe.length===0||oe.length>1)&&a.jsx("div",{className:"border-b px-4 py-3",children:se?a.jsx("p",{className:"text-xs text-muted-foreground",children:"Loading reference reports..."}):oe.length===0?a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsx("p",{className:"text-sm text-muted-foreground",children:"No reference reports for this run yet."}),a.jsxs(re,{type:"button",size:"sm",variant:"outline",className:"shrink-0 gap-1.5",onClick:()=>Tl(),children:[a.jsx(ii,{className:"h-3.5 w-3.5"}),"New Report"]})]}):a.jsx("div",{className:"space-y-2",children:oe.length>1?a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Selected report"}),a.jsxs(Tn,{value:Te,onValueChange:J,children:[a.jsx(_n,{className:"h-8",children:a.jsx(Rn,{placeholder:"Select a report"})}),a.jsx(An,{children:oe.map(ie=>a.jsx(mt,{value:ie.relativePath,children:ie.name},ie.path))})]})]}):null})}),a.jsx(w_,{className:"min-h-0 flex-1 bg-muted/15 px-4 py-4",children:oe.length===0?a.jsx("div",{className:"text-sm text-muted-foreground",children:"No report selected."}):ct?a.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[a.jsx(dr,{className:"h-4 w-4 animate-spin"}),"Loading report..."]}):vt?a.jsxs("div",{className:"rounded-md border border-destructive/30 bg-destructive/5 p-3 text-sm text-destructive",children:["Could not load report: ",vt]}):Ne?a.jsxs("div",{className:"space-y-3",children:[a.jsxs("div",{className:"rounded-md border bg-background p-3",children:[a.jsx("p",{className:"font-mono text-xs font-semibold",children:Ne.name}),a.jsx("p",{className:"mt-1 text-[11px] text-muted-foreground",children:Ne.relativePath}),a.jsx("p",{className:"mt-1 text-[11px] text-muted-foreground",children:new Date(Ne.mtime).toLocaleString()})]}),a.jsx("div",{className:"rounded-md border bg-background p-3",children:a.jsx(Pa,{text:Ne.content,className:"text-sm"})})]}):a.jsx("div",{className:"text-sm text-muted-foreground",children:"Select a report to preview."})})]})]}):a.jsxs(et,{className:"min-w-0 overflow-hidden rounded-t-none xl:flex xl:h-full xl:min-h-0 xl:flex-col",children:[a.jsx(Ot,{className:"border-b px-4 py-3",children:a.jsxs("div",{className:"space-y-1",children:[a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs(Mt,{className:"flex items-center gap-2 text-base",children:[a.jsx(pc,{className:"h-4 w-4 text-muted-foreground"}),"Run Note"]}),a.jsxs("div",{className:"flex items-center gap-2 shrink-0",children:[a.jsxs(re,{type:"button",variant:"outline",size:"sm",className:"h-7 gap-1 px-2 text-xs",onClick:()=>D(ie=>!ie),children:[M?a.jsx(xS,{className:"h-3.5 w-3.5"}):a.jsx(yS,{className:"h-3.5 w-3.5"}),M?"Compact":"Expand"]}),a.jsx(re,{type:"button",variant:"outline",size:"sm",className:"h-7 px-2 text-xs",onClick:()=>R(!1),children:"Hide"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Add context for this run, such as server version or environment details."})]})}),a.jsx(tt,{className:"flex h-[70vh] min-h-[520px] flex-col p-4 xl:h-auto xl:min-h-0 xl:flex-1",children:p?a.jsxs("div",{className:"w-full max-w-xl space-y-2",children:[a.jsxs("div",{className:"flex items-center justify-between",children:[a.jsx("p",{className:"text-xs font-medium",children:"Run note"}),a.jsxs("span",{className:"text-xs text-muted-foreground",children:[x.length,"/500"]})]}),a.jsx(Os,{value:x,onChange:ie=>j(ie.target.value.slice(0,500)),placeholder:"Optional context for this run",rows:3,className:"min-h-20 resize"}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(re,{size:"sm",onClick:()=>{Yr()},disabled:y,children:y?"Saving...":"Save note"}),a.jsx(re,{size:"sm",variant:"outline",onClick:()=>{j(c.runNote??""),g(!1)},disabled:y,children:"Cancel"})]})]}):a.jsxs("div",{className:"flex w-full max-w-3xl items-center gap-2 rounded-md border bg-muted/20 px-2 py-1 text-xs",children:[a.jsxs("div",{className:"min-w-0 flex items-center gap-2",children:[a.jsx("span",{className:"text-muted-foreground",children:"Run note:"}),a.jsx("span",{className:`break-words ${c.runNote?"text-foreground":"text-muted-foreground"}`,children:c.runNote||"none"})]}),a.jsx(re,{size:"sm",variant:"ghost",className:"ml-auto h-6 px-2 text-xs",onClick:()=>g(!0),children:c.runNote?"Edit":"Add note"})]})})]})]}),a.jsx(us,{open:L,onOpenChange:ie=>!G&&I(ie),children:a.jsxs(Ma,{className:"max-w-2xl",children:[a.jsxs(Ia,{children:[a.jsx(Da,{children:ee?"Create markdown report":"Approve MCP action: write markdown report"}),a.jsx(La,{children:ee?"Write a custom markdown report and save it to the workspace.":a.jsxs(a.Fragment,{children:["This will call ",a.jsx("code",{children:"mcplab_write_markdown_report"})," via the local MCPLab MCP server."]})})]}),a.jsxs("div",{className:"space-y-3",children:[!ee&&a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Output path"}),a.jsx(jt,{value:O,onChange:ie=>Z(ie.target.value),placeholder:"mcplab/reports/result-assistant/my-report.md",disabled:G})]}),a.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[a.jsx(oa,{checked:U,onCheckedChange:ie=>z(ie===!0),disabled:G}),a.jsx("span",{children:"Overwrite if file exists"})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:ee?"Markdown content":"Markdown preview (to be written)"}),a.jsx(Os,{value:Q,onChange:ie=>H(ie.target.value),rows:10,className:"font-mono text-xs",disabled:G})]})]}),a.jsxs($a,{children:[a.jsx(za,{disabled:G,children:"Cancel"}),a.jsx(Fa,{onClick:ie=>{ie.preventDefault(),fa()},disabled:G,children:G?"Writing...":ee?"Save Report":"Approve & Write"})]})]})}),a.jsx(us,{open:Se,onOpenChange:Ke,children:a.jsxs(Ma,{children:[a.jsxs(Ia,{children:[a.jsx(Da,{children:"Delete run?"}),a.jsxs(La,{children:["This will permanently remove run ",a.jsx("span",{className:"font-mono",children:c?.id}),". This action cannot be undone."]})]}),a.jsxs($a,{children:[a.jsx(za,{disabled:Be,children:"Cancel"}),a.jsx(Fa,{disabled:Be||!c?.id,onClick:ie=>{ie.preventDefault(),qg()},className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:Be?"Deleting...":"Delete"})]})]})})]})]})};function Vye({item:e,fallbackUserPrompt:t}){if(e.kind==="tool_call"){const d=U$(e,"input");return a.jsx(V$,{variant:"call",title:`Tool call · ${e.toolName||"unknown"}${d}`,text:e.text})}if(e.kind==="tool_result"){const d=U$(e,"output"),f=e.ok?a.jsx(Zs,{className:"h-3.5 w-3.5 text-emerald-700 dark:text-emerald-300"}):a.jsx(Fo,{className:"h-3.5 w-3.5 text-rose-700 dark:text-rose-300"});return a.jsx(V$,{variant:e.ok?"result_ok":"result_error",title:`Tool result · ${e.toolName||"unknown"} · ${e.ok?"ok":"error"}${typeof e.durationMs=="number"?` · ${e.durationMs}ms`:""}${d}`,text:e.text,icon:f})}const n=e.kind==="user_prompt",r=W$(e.text,e.kind),s=t?W$(t,"user_prompt"):"",i=n&&!r&&s?s:r,o=n?"User prompt":e.kind==="assistant_final"?"Agent final":"Agent",c=n?Pc:Ar;return a.jsxs("div",{className:`flex items-start gap-2 text-xs ${n?"justify-end":"justify-start"}`,children:[!n&&a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",children:a.jsx(c,{className:"h-3 w-3"})}),a.jsxs("div",{className:`max-w-[90%] rounded-md p-2 ${n?"bg-primary/10":"bg-muted/50"}`,children:[a.jsx("p",{className:`mb-1 text-[11px] font-semibold text-muted-foreground ${n?"text-right":""}`,children:o}),n?a.jsx(_N,{text:i,maxLength:280,className:"text-xs"}):a.jsx(_N,{text:i,maxLength:500,className:"text-xs"})]}),n&&a.jsx("div",{className:"mt-0.5 flex h-5 w-5 shrink-0 items-center justify-center rounded-full border border-primary/30 bg-primary/15 text-primary",children:a.jsx(c,{className:"h-3 w-3"})})]})}function U$(e,t){const n=t==="input"?e.estimatedTokens?.inputTokens:e.estimatedTokens?.outputTokens;return typeof n!="number"?"":` · ${Dr(n)} tokens`}function W$(e,t){const r=String(e??"").replace(/^\s+/,"");return t==="user_prompt"?r.replace(/^user:\s*/i,""):t==="assistant_final"||t==="assistant_thought"?r.replace(/^assistant:\s*/i,""):r}function Hye(e,t){if(!t)return!1;const n=String(e??"").toLowerCase();if(!n.trim())return!1;const r=["check","checks","rule","rules","regex","pattern","value capture","extract rule","update","change","replace","modify","adjust","use ","set "],s=["change ","replace ","update ","use ","set the","suggested","you should","try ","text match failed","text must match pattern"];if(["i can only read","i don't have write access","i cannot directly edit","what happened","summary"].some(h=>n.includes(h))&&!s.some(h=>n.includes(h)))return!1;const o=r.some(h=>n.includes(h)),c=s.some(h=>n.includes(h)),d=/(^|\n)\s*[-*]\s+/.test(e)||/(^|\n)\s*\d+\.\s+/.test(e),f=/["'`][^"'`\n]{2,}["'`]/.test(e);return o&&(c||d||f)}function V$({variant:e,title:t,text:n,icon:r}){const[s,i]=m.useState(!1),o={call:"border-sky-500/30 bg-sky-500/10 text-sky-700 dark:text-sky-300",result_ok:"border-emerald-500/30 bg-emerald-500/10 text-emerald-700 dark:text-emerald-300",result_error:"border-rose-500/30 bg-rose-500/10 text-rose-700 dark:text-rose-300"};return a.jsx(ns,{open:s,onOpenChange:i,children:a.jsxs("div",{className:`rounded-md border p-2 text-xs ${o[e]}`,children:[a.jsx(Na,{asChild:!0,children:a.jsxs("button",{type:"button",className:"flex w-full items-center justify-between gap-2 text-left",children:[a.jsxs("div",{className:"flex items-center gap-1.5 font-mono text-[11px]",children:[r??a.jsx(as,{className:"h-3.5 w-3.5"}),a.jsx("span",{children:t})]}),a.jsx("span",{className:"text-[11px] font-semibold",children:s?"Hide content":"Show content"})]})}),a.jsx(rs,{children:a.jsx("p",{className:"mt-2 font-mono whitespace-pre-wrap text-foreground",children:n})})]})})}function _N({text:e,maxLength:t,className:n}){const[r,s]=m.useState(!1),i=e.length>t,o=r||!i?e:`${e.slice(0,t)}...`;return a.jsxs("div",{children:[a.jsx(Pa,{text:o,className:n}),i&&a.jsx("button",{type:"button",className:"mt-1 text-[11px] font-medium text-primary hover:underline",onClick:()=>s(c=>!c),children:r?"Show less":"Show all"})]})}function Kye(e,t,n){return n||t.find(s=>s.startsWith("Scenario error:"))?e.map(s=>({rule:s,status:"not_evaluated",failureReason:void 0})):e.map(s=>{const i=Gye(s,t);return{rule:s,status:i?"failed":"passed",failureReason:i}})}function Gye(e,t){const n=e.type==="required_tool"?`Required tool not used: ${e.value}`:e.type==="forbidden_tool"?`Forbidden tool used: ${e.value}`:e.type==="response_contains"?`Contains assertion failed: ${e.value}`:e.type==="response_not_contains"?`Not-contains assertion failed: ${e.value}`:e.type==="response_starts_with"?`Starts-with assertion failed: ${e.value}`:e.type==="response_ends_with"?`Ends-with assertion failed: ${e.value}`:e.type==="response_equals"?`Equals assertion failed: ${e.value}`:e.type==="response_regex"?`Regex assertion failed: ${e.value}`:e.type==="response_jsonpath"?e.equals!==void 0?`JSONPath equals assertion failed: ${e.path}`:`JSONPath assertion failed: ${e.path}`:e.type==="response_jsonpath_exists"?`JSONPath assertion failed: ${e.path}`:e.type==="response_jsonpath_not_exists"?`JSONPath not-exists assertion failed: ${e.path}`:"",r=t.find(s=>s===n);if(r)return r;if(e.type==="response_regex")return t.find(s=>s.startsWith("Regex assertion failed:")&&s.includes(e.value??""));if(e.type==="response_jsonpath"||e.type==="response_jsonpath_exists"||e.type==="response_jsonpath_not_exists")return t.find(s=>s.includes(e.path??""))}function Yye(e){return e.type==="required_tool"?`Required tool · ${e.value}`:e.type==="forbidden_tool"?`Forbidden tool · ${e.value}`:e.type==="response_contains"?`Text contains · ${e.value}`:e.type==="response_not_contains"?`Text does not contain · ${e.value}`:e.type==="response_starts_with"?`Text starts with · ${e.value}`:e.type==="response_ends_with"?`Text ends with · ${e.value}`:e.type==="response_equals"?`Text equals · ${e.value}`:e.type==="response_regex"?`Text matches regex · ${e.value}`:e.type==="response_jsonpath"?e.equals!==void 0?`JSONPath equals · ${e.path} == ${String(e.equals)}`:`JSONPath exists · ${e.path}`:e.type==="response_jsonpath_exists"?`JSONPath exists · ${e.path}`:e.type==="response_jsonpath_not_exists"?`JSONPath not exists · ${e.path}`:`${e.type} · ${e.value}`}function H$(e){const t=String(e??"").trim(),n=t.match(/^Regex assertion failed:\s*(.+)$/i);return n?`Text match failed: ${n[1]}`:t}const dS=["hsl(38, 92%, 50%)","hsl(200, 80%, 50%)","hsl(152, 69%, 40%)","hsl(280, 60%, 50%)","hsl(0, 72%, 51%)"],Xye=9,K$="mcplab.compare.showDaySeparators",lc=[{value:"15min",label:"Last 15min",durationMs:900*1e3},{value:"30min",label:"Last 30min",durationMs:1800*1e3},{value:"1h",label:"Last hour",durationMs:3600*1e3},{value:"24h",label:"Last 24 hours",durationMs:1440*60*1e3},{value:"7d",label:"Last 7 days",durationMs:10080*60*1e3},{value:"14d",label:"Last 14 days",durationMs:336*60*60*1e3},{value:"30d",label:"Last 30 days",durationMs:720*60*60*1e3}];function Ho(e){if(!e.trim())return null;const t=new Date(e);return Number.isNaN(t.getTime())?null:t}function Th(e){const t=Ho(e);return t?t.toLocaleString():""}function Qye(e){const t=Ho(e);if(!t)return e;const n=t.getUTCFullYear(),r=String(t.getUTCMonth()+1).padStart(2,"0"),s=String(t.getUTCDate()).padStart(2,"0");return`${n}-${r}-${s}`}function Jye(e){const t=Object.entries(e??{});return t.length===0?"—":t.sort((n,r)=>n[0].localeCompare(r[0])).map(([n,r])=>`${n}@${r??"unknown"}`).join(", ")}function Zye(e){const t=Ho(e);return t?t.toLocaleDateString(void 0,{weekday:"long",month:"short",day:"numeric",year:"numeric",timeZone:"UTC"}):"Unknown day"}function ebe(e){return e==="all"||e==="last"||e==="custom"}function tbe(e){return e==="15min"||e==="30min"||e==="1h"||e==="24h"||e==="7d"||e==="14d"||e==="30d"}function nbe(e){const t=e.get("time_filter"),n=e.get("time_preset");return{mode:ebe(t)?t:"all",preset:tbe(n)?n:"15min",start:e.get("time_start")??"",end:e.get("time_end")??""}}function rbe(e,t){return e.length!==t.length?!1:e.every((n,r)=>n===t[r])}function abe(e){const t=e.find(n=>n.provider&&n.model)??e.find(n=>n.provider||n.model);return{provider:t?.provider,model:t?.model}}const sbe=()=>{const{source:e}=Nn(),[t,n]=vi(),r=nbe(t),s=t.get("mode")==="within-run"?"within-run":"runs",[i,o]=m.useState([]),[c,d]=m.useState({}),[f,h]=m.useState(!1),[p,g]=m.useState(new Set),[x,j]=m.useState("timestamp"),[y,b]=m.useState("desc"),[S,N]=m.useState("all"),[C,k]=m.useState(!1),[A,P]=m.useState(()=>{if(typeof window>"u")return!1;try{return window.localStorage.getItem(K$)==="1"}catch{return!1}}),[T,R]=m.useState(r.mode),[M,D]=m.useState(r.preset),[W,B]=m.useState(r.start),[Y,V]=m.useState(r.end),[L,I]=m.useState(!1),Q=100,H=Dg(Q),{offset:O,hasMore:Z,totalCount:U}=H,z=t.get("runId")??"",G=(t.get("agents")??"").split(",").map(F=>F.trim()).filter(Boolean),ae=t.get("scenario")??"all",[ee,ce]=m.useState(z),[oe,ve]=m.useState(G),[se,pe]=m.useState(ae),[Te,J]=m.useState(!1),Ne=m.useRef(0),je=m.useMemo(()=>{if(T==="all")return{};if(T==="last"){const de=lc.find(Ie=>Ie.value===M)??lc[0],$e=new Date;return{since:new Date($e.getTime()-de.durationMs).toISOString(),until:$e.toISOString()}}const F=Ho(W)?.toISOString(),le=Ho(Y)?.toISOString();return{since:F,until:le}},[Y,T,M,W]),ct=async()=>{const F=Ne.current+1;Ne.current=F,h(!0);try{if(e.listRunSummariesPage){const le={limit:Q,offset:O};S!=="all"&&(le.scenario=S),je.since&&(le.since=je.since),je.until&&(le.until=je.until);const de=await e.listRunSummariesPage(le);if(Ne.current!==F)return;H.updateMeta(de),o(de.data.map(Wo))}else{const le=await e.listResults();if(Ne.current!==F)return;o(le)}}catch(le){Me({title:"Could not load results",description:le instanceof Error?le.message:String(le),variant:"destructive"})}finally{Ne.current===F&&h(!1)}};m.useEffect(()=>{let F=!0;return Ne.current+=1,h(!0),(e.listRunSummariesPage?e.listRunSummariesPage({limit:Q,offset:O,scenario:S==="all"?void 0:S,since:je.since,until:je.until}).then(de=>(F&&H.updateMeta(de),de.data.map(Wo))):e.listResults()).then(de=>{F&&o(de)}).catch(de=>{F&&Me({title:"Could not load results",description:de instanceof Error?de.message:String(de),variant:"destructive"})}).finally(()=>{F&&h(!1)}),()=>{F=!1}},[O,S,e,je]);const at=F=>{if(x===F){b(le=>le==="asc"?"desc":"asc");return}j(F),b(F==="timestamp"?"desc":"asc")},vt=F=>{g(le=>{const de=new Set(le);return de.has(F)?de.delete(F):de.add(F),de})},Ce=m.useMemo(()=>{const F=new Set;return i.forEach(le=>{le.scenarios.forEach(de=>{const $e=String(de.scenarioName??"").trim(),Ie=String(de.scenarioId??"").trim(),Ye=$e||Ie;Ye&&F.add(Ye)})}),Array.from(F).sort((le,de)=>le.localeCompare(de))},[i]),Se=m.useMemo(()=>{const F=S==="all"?i:i.filter(Re=>Re.scenarios.some(K=>{const he=String(K.scenarioName??"").trim(),Ae=String(K.scenarioId??"").trim();return(he||Ae)===S}));if(s!=="runs"||T==="all")return F;const le=Date.now();if(T==="last"){const Re=lc.find(he=>he.value===M)??lc[0],K=le-Re.durationMs;return F.filter(he=>{const Ae=new Date(he.timestamp).getTime();return Ae>=K&&Ae<=le})}const de=Ho(W)?.getTime()??null,$e=Ho(Y)?.getTime()??null,Ie=de!==null&&$e!==null?Math.min(de,$e):de??null,Ye=de!==null&&$e!==null?Math.max(de,$e):$e??null;return F.filter(Re=>{const K=new Date(Re.timestamp).getTime();return!(Number.isNaN(K)||Ie!==null&&K<Ie||Ye!==null&&K>Ye)})},[s,i,S,Y,T,M,W]),Ke=m.useMemo(()=>[...Se].sort((F,le)=>{let de=0;return x==="id"&&(de=F.id.localeCompare(le.id)),x==="timestamp"&&(de=new Date(F.timestamp).getTime()-new Date(le.timestamp).getTime()),x==="passRate"&&(de=F.overallPassRate-le.overallPassRate),x==="scenarios"&&(de=F.totalScenarios-le.totalScenarios),y==="asc"?de:-de}),[Se,x,y]),Be=m.useMemo(()=>Ke.filter(F=>p.has(F.id)).map(F=>c[F.id]??F),[c,Ke,p]),At=m.useMemo(()=>{if(!A)return Ke.map(de=>({type:"run",run:de}));const F=[];let le=null;for(const de of Ke){const $e=Qye(de.timestamp);$e!==le&&(F.push({type:"day-separator",dayKey:$e,dayLabel:Zye(de.timestamp)}),le=$e),F.push({type:"run",run:de})}return F},[A,Ke]);m.useEffect(()=>{if(!(typeof window>"u"))try{window.localStorage.setItem(K$,A?"1":"0")}catch{}},[A]);const qt=F=>x!==F?a.jsx(yc,{className:"h-3.5 w-3.5 text-muted-foreground"}):y==="asc"?a.jsx(Ns,{className:"h-3.5 w-3.5"}):a.jsx(Yt,{className:"h-3.5 w-3.5"}),Tt=m.useMemo(()=>{const F=new Map;for(const le of Ke)F.set(le.id,r_(le));return F},[Ke]),Jt=F=>{const le=Array.from(new Set(F.scenarios.map(de=>de.agentId).filter(Boolean)));return le.slice(0,Math.min(2,le.length))},It=F=>{const le=Jt(F);ce(F.id),ve(le),pe("all");const de=new URLSearchParams(t);de.set("mode","within-run"),de.set("runId",F.id),le.length>0?de.set("agents",le.join(",")):de.delete("agents"),de.delete("scenario"),n(de,{replace:!0})},Xt=m.useMemo(()=>[...new Set(Be.flatMap(F=>F.scenarios.map(le=>le.scenarioId)))],[Be]),Bt=m.useMemo(()=>{const F=new Map;for(const le of Be)for(const de of le.scenarios){const $e=String(de.scenarioId??"").trim();if(!$e)continue;const Ie=String(de.scenarioName??"").trim();F.set($e,Ie||$e)}return F},[Be]),we=m.useMemo(()=>c[ee]??i.find(F=>F.id===ee),[c,i,ee]);m.useEffect(()=>{if(typeof e.getResult!="function"||p.size===0&&!ee)return;const F=new Set([...p]);ee&&F.add(ee);for(const le of F)c[le]||e.getResult(le).then(de=>{de&&d($e=>$e[le]?$e:{...$e,[le]:de})})},[c,p,e,ee]),m.useEffect(()=>{H.reset()},[H.reset,S,T,M,W,Y]);const Xe=m.useMemo(()=>{if(!we)return[];const F=new Map;for(const le of we.scenarios)F.set(le.agentId,le.agentName||le.agentId);return Array.from(F.entries()).map(([le,de])=>({id:le,name:de})).sort((le,de)=>le.name.localeCompare(de.name))},[we]),Je=m.useMemo(()=>{if(!we)return[];const F=new Set;for(const le of we.scenarios){const de=String(le.scenarioName??"").trim(),$e=String(le.scenarioId??"").trim(),Ie=de||$e;Ie&&F.add(Ie)}return Array.from(F).sort((le,de)=>le.localeCompare(de))},[we]),$t=m.useMemo(()=>oe.join(","),[oe]);m.useEffect(()=>{if(s==="within-run"){const F=t.get("runId")??"",le=(t.get("agents")??"").split(",").map($e=>$e.trim()).filter(Boolean),de=t.get("scenario")??"all";ce($e=>$e===F?$e:F),ve($e=>rbe($e,le)?$e:le),pe($e=>$e===de?$e:de)}},[s,t]),m.useEffect(()=>{if(s!=="within-run"||i.length===0)return;let F=ee;(!F||!i.some(K=>K.id===F))&&(F=i[0].id);const le=i.find(K=>K.id===F),de=(()=>{if(!le)return[];const K=new Map;for(const he of le.scenarios)K.set(he.agentId,he.agentName||he.agentId);return Array.from(K.keys())})(),$e=new Set(de);let Ie=$t.split(",").map(K=>K.trim()).filter(K=>!!K).filter(K=>$e.has(K));Ie.length===0&&de.length>0&&(Ie=de.slice(0,Math.min(2,de.length)));const Ye=(()=>{if(!le)return new Set;const K=new Set;for(const he of le.scenarios){const Ae=String(he.scenarioName??"").trim(),Ze=String(he.scenarioId??"").trim(),ne=Ae||Ze;ne&&K.add(ne)}return new Set(K)})(),Re=se!=="all"&&!Ye.has(se)?"all":se;F!==ee&&ce(F),Ie.join(",")!==$t&&ve(Ie),Re!==se&&pe(Re)},[s,i,ee,$t,se]),m.useEffect(()=>{const F=new URLSearchParams(t);s==="within-run"?(F.set("mode","within-run"),ee?F.set("runId",ee):F.delete("runId"),oe.length>0?F.set("agents",oe.join(",")):F.delete("agents"),se!=="all"?F.set("scenario",se):F.delete("scenario"),F.delete("time_filter"),F.delete("time_preset"),F.delete("time_start"),F.delete("time_end")):(F.delete("mode"),F.delete("runId"),F.delete("agents"),F.delete("scenario"),T==="all"?(F.delete("time_filter"),F.delete("time_preset"),F.delete("time_start"),F.delete("time_end")):T==="last"?(F.set("time_filter","last"),F.set("time_preset",M),F.delete("time_start"),F.delete("time_end")):(F.set("time_filter","custom"),F.delete("time_preset"),W.trim()?F.set("time_start",W.trim()):F.delete("time_start"),Y.trim()?F.set("time_end",Y.trim()):F.delete("time_end")));const le=t.toString(),de=F.toString();le!==de&&n(F,{replace:!0})},[s,Y,T,M,W,ee,oe,se,t,n]);const Pt=m.useMemo(()=>{if(T==="all")return"All time";if(T==="last")return lc.find(de=>de.value===M)?.label??"Last range";const F=!!W.trim(),le=!!Y.trim();return!F&&!le?"Custom range":F&&le?`${Th(W)} - ${Th(Y)}`:F?`From ${Th(W)}`:`Until ${Th(Y)}`},[Y,T,M,W]),Ut=()=>{R("all"),D("15min"),B(""),V("")},me=m.useMemo(()=>{if(!we)return[];const F=new Map;for(const de of we.scenarios){const $e=String(de.scenarioId??"").trim(),Ie=String(de.scenarioName??"").trim(),Ye=Ie||$e;if(!$e&&!Ye)continue;const Re=$e||Ye,K=F.get(Re);if(K){K.byAgent[de.agentId]=de;continue}F.set(Re,{scenarioId:$e||Ye,scenarioName:Ie,displayLabel:Ye||$e,byAgent:{[de.agentId]:de}})}const le=Array.from(F.values()).sort((de,$e)=>{const Ie=(de.displayLabel||de.scenarioId).toLowerCase(),Ye=($e.displayLabel||$e.scenarioId).toLowerCase();return Ie.localeCompare(Ye)});return se==="all"?le:le.filter(de=>de.displayLabel===se)},[we,se]),Ve=m.useMemo(()=>{const F=new Map(Xe.map(le=>[le.id,le]));return oe.map(le=>F.get(le)).filter(le=>!!le)},[oe,Xe]),De=m.useMemo(()=>{if(!we||Ve.length!==2)return null;const[F,le]=Ve;return{left:F,right:le,link:`/compare/results?left=${encodeURIComponent(we.id)}&right=${encodeURIComponent(we.id)}&leftConfig=${encodeURIComponent(we.configId)}&rightConfig=${encodeURIComponent(we.configId)}&leftAgent=${encodeURIComponent(F.id)}&rightAgent=${encodeURIComponent(le.id)}`}},[we,Ve]),q=m.useMemo(()=>!we||Ve.length===0?[]:Ve.map(F=>{const le=me.map(Ae=>Ae.byAgent[F.id]).filter(Ae=>!!Ae),de=le.flatMap(Ae=>Ae.runs),$e=de.length,Ie=de.filter(Ae=>Ae.passed).length,Ye=de.reduce((Ae,Ze)=>Ae+Ze.toolCalls.length,0),Re=de.reduce((Ae,Ze)=>Ae+Ze.duration,0),{provider:K,model:he}=abe(le);return{agentId:F.id,agentName:F.name,provider:K,model:he,passRate:$e===0?0:Ie/$e,totalRuns:$e,avgToolCalls:$e===0?0:Ye/$e,avgLatency:$e===0?0:Re/$e}}),[we,Ve,me]),ge=F=>{ve(le=>le.includes(F)?le.filter(de=>de!==F):[...le,F])},Oe=F=>a.jsxs("div",{className:"min-w-0 rounded border bg-muted/20 px-2 py-1.5",children:[a.jsxs("div",{className:"text-xs",children:[a.jsxs("span",{className:"font-mono",children:["#",F.runIndex+1]})," ",a.jsx("span",{className:F.passed?"text-emerald-700":"text-destructive",children:F.passed?"PASS":"FAIL"})," ","· tools: ",F.toolCalls.length," · ",F.duration,"ms"]}),!F.passed&&F.failureReasons.length>0&&a.jsx("div",{className:"mt-1 max-h-16 overflow-y-auto whitespace-pre-wrap break-all pr-1 text-[11px] text-muted-foreground",children:F.failureReasons.join("; ")})]},F.runIndex);return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsxs("div",{children:[a.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[a.jsx(PD,{className:"h-6 w-6"}),"Compare Runs"]}),a.jsx("p",{className:"text-sm text-muted-foreground",children:s==="runs"?"Select 2–5 runs to compare":"Compare agents side-by-side within one run"})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[s==="within-run"&&a.jsxs(re,{variant:"outline",size:"sm",onClick:()=>{const F=new URLSearchParams(t);F.delete("mode"),F.delete("runId"),F.delete("agents"),F.delete("scenario"),n(F,{replace:!0})},children:[a.jsx(ND,{className:"mr-1.5 h-4 w-4"}),"Back to Compare"]}),s==="runs"&&a.jsxs(a.Fragment,{children:[a.jsxs(Ji,{open:C,onOpenChange:k,children:[a.jsx(Zi,{asChild:!0,children:a.jsxs(re,{type:"button",variant:"outline",role:"combobox","aria-expanded":C,"aria-controls":"compare-scenario-command-list",className:`w-[260px] justify-between font-normal ${S!=="all"?"border-primary/40":""}`,children:[a.jsx("span",{className:"truncate text-left",children:S==="all"?"All scenarios":S}),a.jsx(Yt,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),a.jsx(si,{className:"w-[260px] p-0",align:"start",children:a.jsxs(ul,{children:[a.jsx(dl,{placeholder:"Search scenarios..."}),a.jsxs(fl,{id:"compare-scenario-command-list",children:[a.jsx(pl,{children:"No scenarios found."}),a.jsxs(hl,{children:[a.jsx(ia,{value:"all scenarios",onSelect:()=>{N("all"),k(!1)},children:"All scenarios"}),Ce.map(F=>a.jsx(ia,{value:F,onSelect:()=>{N(F),k(!1)},children:F},F))]})]})]})})]}),a.jsxs(Ji,{open:L,onOpenChange:I,children:[a.jsx(Zi,{asChild:!0,children:a.jsxs(re,{type:"button",variant:"outline",role:"combobox","aria-expanded":L,"aria-controls":"compare-time-command-list",className:`w-[320px] justify-between font-normal ${T!=="all"?"border-primary/40":""}`,children:[a.jsxs("span",{className:"flex min-w-0 items-center gap-2 truncate text-left",children:[a.jsx(CD,{className:"h-4 w-4 shrink-0 text-muted-foreground"}),a.jsx("span",{className:"truncate",children:Pt})]}),a.jsx(Yt,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),a.jsxs(si,{className:"w-[360px] p-0",align:"start",children:[a.jsxs("div",{className:"border-b px-3 py-2",children:[a.jsx("p",{className:"text-sm font-medium",children:"Date and time filter"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Filter runs by timestamp."})]}),a.jsxs("div",{id:"compare-time-command-list",className:"grid gap-1 p-2",children:[a.jsx(re,{type:"button",variant:T==="all"?"secondary":"ghost",className:"justify-start",onClick:()=>{Ut(),I(!1)},children:"All time"}),lc.map(F=>a.jsx(re,{type:"button",variant:T==="last"&&M===F.value?"secondary":"ghost",className:"justify-start",onClick:()=>{R("last"),D(F.value),I(!1)},children:F.label},F.value)),a.jsx(re,{type:"button",variant:T==="custom"?"secondary":"ghost",className:"justify-start",onClick:()=>R("custom"),children:"Custom date time range"})]}),T==="custom"&&a.jsxs("div",{className:"space-y-3 border-t p-3",children:[a.jsxs("div",{className:"space-y-2",children:[a.jsx(He,{htmlFor:"compare-time-filter-start",children:"Start"}),a.jsx(jt,{id:"compare-time-filter-start",type:"datetime-local",value:W,onChange:F=>B(F.target.value)})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx(He,{htmlFor:"compare-time-filter-end",children:"End"}),a.jsx(jt,{id:"compare-time-filter-end",type:"datetime-local",value:Y,onChange:F=>V(F.target.value)})]}),a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs(re,{type:"button",variant:"ghost",size:"sm",className:"px-2",onClick:Ut,children:[a.jsx(Ra,{className:"mr-1.5 h-3.5 w-3.5"}),"Clear"]}),a.jsx(re,{type:"button",size:"sm",onClick:()=>I(!1),children:"Done"})]})]})]})]})]}),a.jsxs("div",{className:"inline-flex items-center gap-2 rounded-md border px-3 py-2",children:[a.jsx(He,{htmlFor:"compare-day-separators-switch",className:"text-sm font-medium",children:"Group by day"}),a.jsx(sv,{id:"compare-day-separators-switch",checked:A,onCheckedChange:P,"aria-label":"Group by day"})]}),a.jsx(re,{variant:"outline",onClick:()=>{ct()},disabled:f,children:f?"Refreshing...":"Refresh"}),a.jsx(re,{variant:"outline",onClick:H.prev,disabled:f||O===0,children:"Prev"}),a.jsx(re,{variant:"outline",onClick:H.next,disabled:f||!Z,children:"Next"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:H.rangeLabel(i.length)}),s==="within-run"&&a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Within One Run Controls"})}),a.jsxs(tt,{className:"space-y-4",children:[a.jsxs("div",{className:"grid gap-3 sm:grid-cols-2",children:[a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Run"}),a.jsxs(Tn,{value:ee,onValueChange:ce,children:[a.jsx(_n,{children:a.jsx(Rn,{placeholder:"Select run"})}),a.jsx(An,{children:i.map(F=>a.jsx(mt,{value:F.id,children:F.id},F.id))})]})]}),a.jsxs("div",{className:"space-y-1",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Scenario filter"}),a.jsxs(Ji,{open:Te,onOpenChange:J,children:[a.jsx(Zi,{asChild:!0,children:a.jsxs(re,{type:"button",variant:"outline",role:"combobox","aria-expanded":Te,"aria-controls":"compare-within-run-scenario-command-list",className:"w-full justify-between font-normal",children:[a.jsx("span",{className:"truncate text-left",children:se==="all"?"All scenarios":se}),a.jsx(Yt,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),a.jsx(si,{className:"w-[var(--radix-popover-trigger-width)] p-0",align:"start",children:a.jsxs(ul,{children:[a.jsx(dl,{placeholder:"Search scenarios..."}),a.jsxs(fl,{id:"compare-within-run-scenario-command-list",children:[a.jsx(pl,{children:"No scenarios found."}),a.jsxs(hl,{children:[a.jsx(ia,{value:"all scenarios",onSelect:()=>{pe("all"),J(!1)},children:"All scenarios"}),Je.map(F=>a.jsx(ia,{value:F,onSelect:()=>{pe(F),J(!1)},children:F},F))]})]})]})})]})]})]}),a.jsxs("div",{className:"space-y-2",children:[a.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"Agents (select 2+)"}),a.jsxs("div",{className:"flex flex-wrap gap-3 rounded-md border p-3",children:[Xe.length===0&&a.jsx("p",{className:"text-xs text-muted-foreground",children:"No agents available for selected run."}),Xe.map(F=>a.jsxs("label",{className:"inline-flex items-center gap-2 text-sm",children:[a.jsx(oa,{checked:oe.includes(F.id),onCheckedChange:()=>ge(F.id)}),a.jsx("span",{children:F.name})]},F.id))]})]})]})]}),s==="runs"&&a.jsx(et,{children:a.jsx(tt,{className:"p-0",children:a.jsxs(Br,{containerClassName:"max-h-[36rem] overflow-auto",children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-10"}),a.jsx(lt,{children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>at("id"),children:["Run ID",qt("id")]})}),a.jsx(lt,{children:"Evaluated"}),a.jsx(lt,{children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>at("timestamp"),children:["Timestamp",qt("timestamp")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex w-full items-center justify-end gap-1 hover:text-foreground",onClick:()=>at("passRate"),children:["Pass Rate",qt("passRate")]})}),a.jsx(lt,{className:"text-right",children:a.jsxs("button",{type:"button",className:"inline-flex items-center gap-1 hover:text-foreground",onClick:()=>at("scenarios"),children:["Scenarios",qt("scenarios")]})}),a.jsx(lt,{className:"text-right",children:"Tool Tokens"}),a.jsx(lt,{className:"text-right",children:"Agents"}),a.jsx(lt,{className:"w-[140px] text-right",children:"Action"})]})}),a.jsx(Ur,{children:At.map((F,le)=>F.type==="day-separator"?a.jsx(Ft,{className:"bg-muted/30 hover:bg-muted/30",children:a.jsx(We,{colSpan:Xye,className:"px-4 py-3",children:a.jsxs("div",{className:"flex items-center gap-3",children:[a.jsx("div",{className:"h-px flex-1 bg-border/70"}),a.jsx("span",{className:"shrink-0 rounded-full border border-border bg-background px-2.5 py-0.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground",children:F.dayLabel}),a.jsx("div",{className:"h-px flex-1 bg-border/70"})]})})},`day-${F.dayKey}-${le}`):a.jsxs(Ft,{children:[a.jsx(We,{children:a.jsx(oa,{checked:p.has(F.run.id),onCheckedChange:()=>vt(F.run.id),disabled:!p.has(F.run.id)&&p.size>=5})}),a.jsx(We,{className:"font-mono text-xs",children:F.run.id}),a.jsx(We,{className:"text-[11px] text-muted-foreground",children:(()=>{const de=Tt.get(F.run.id)??{scenarioCount:0,agentCount:0,scopePreview:"n/a",modelSummary:""};return a.jsxs("div",{className:"space-y-0.5",children:[a.jsxs("div",{children:["Evaluated: ",de.scenarioCount," scenario",de.scenarioCount===1?"":"s"," · ",de.agentCount," agent",de.agentCount===1?"":"s",de.modelSummary?` · ${de.modelSummary}`:""]}),a.jsx("div",{className:"font-mono text-xs text-foreground/80",children:de.scopePreview})]})})()}),a.jsx(We,{className:"text-xs text-muted-foreground",children:a.jsxs("div",{className:"space-y-0.5",children:[a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(os,{className:"h-3 w-3"}),new Date(F.run.timestamp).toLocaleString()]}),(()=>{const de=iv(F.run);return de===null?null:a.jsxs("div",{className:"font-mono text-[11px] text-muted-foreground/90",children:["Total time: ",Ca(de)]})})()]})}),a.jsx(We,{className:"text-right",children:a.jsx(ws,{rate:F.run.overallPassRate})}),a.jsx(We,{className:"text-right font-mono text-sm",children:F.run.totalScenarios}),a.jsx(We,{className:"text-right",children:a.jsxs("div",{className:"space-y-0.5",children:[a.jsx("div",{className:"font-mono text-sm",children:Dr(F.run.toolTokenUsage?.totalTokens)}),(()=>{const de=ov(F.run);return de===null?null:a.jsxs("div",{className:"font-mono text-[11px] text-muted-foreground/90",children:["Tool time: ",Ca(de)]})})()]})}),a.jsx(We,{className:"text-right font-mono text-sm",children:Tt.get(F.run.id)?.agentCount??0}),a.jsx(We,{className:"text-right",children:(Tt.get(F.run.id)?.agentCount??0)>1?a.jsx(re,{type:"button",size:"sm",variant:"outline",onClick:()=>It(F.run),children:"Compare agents"}):a.jsx("span",{className:"text-xs text-muted-foreground",children:"—"})})]},F.run.id))})]})})}),s==="runs"&&Be.length<2&&a.jsx(et,{children:a.jsxs(tt,{className:"py-12 text-center",children:[a.jsx("p",{className:"text-sm font-medium",children:"No runs selected"}),a.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:"Select 2–5 runs from the table above to start a comparison."})]})}),s==="runs"&&Be.length>=2&&a.jsxs(a.Fragment,{children:[Be.length===2&&a.jsx(et,{children:a.jsx(tt,{className:"pt-6",children:a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:"Need a deeper comparison?"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:"Open the two selected runs in a dedicated side-by-side full result compare view."})]}),a.jsx(re,{asChild:!0,size:"sm",children:a.jsx(St,{to:`/compare/results?left=${encodeURIComponent(Be[0].id)}&right=${encodeURIComponent(Be[1].id)}&leftConfig=${encodeURIComponent(Be[0].configId)}&rightConfig=${encodeURIComponent(Be[1].configId)}`,children:"Compare full results"})})]})})}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Summary Comparison"})}),a.jsx(tt,{className:"max-h-[24rem] overflow-auto p-0",children:a.jsxs(Br,{className:"table-fixed",children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-[220px]",children:"Metric"}),Be.map((F,le)=>a.jsxs(lt,{style:{color:dS[le]},className:"font-mono text-xs",children:[a.jsx("div",{children:F.id}),F.configPath?.trim()?a.jsx("div",{className:"mt-0.5 font-mono text-[10px] font-normal text-muted-foreground",children:F.configPath.trim()}):null]},F.id))]})}),a.jsxs(Ur,{children:[a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Pass Rate"}),Be.map(F=>a.jsx(We,{children:a.jsx(ws,{rate:F.overallPassRate})},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Total Runs"}),Be.map(F=>a.jsx(We,{className:"font-mono",children:F.totalRuns},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Tool Calls"}),Be.map(F=>a.jsx(We,{className:"font-mono",children:F.avgToolCalls.toFixed(1)},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Avg Latency"}),Be.map(F=>a.jsxs(We,{className:"font-mono",children:[F.avgLatency,"ms"]},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Total Time"}),Be.map(F=>a.jsx(We,{className:"font-mono",children:(()=>{const le=iv(F);return le===null?"—":Ca(le)})()},F.id))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Tool Time"}),Be.map(F=>a.jsx(We,{className:"font-mono",children:(()=>{const le=ov(F);return le===null?"—":Ca(le)})()},F.id))]})]})]})})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Scenario Breakdown"})}),a.jsx(tt,{className:"max-h-[26rem] overflow-auto p-0",children:a.jsxs(Br,{className:"table-fixed",children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-[220px]",children:"Scenario"}),Be.map((F,le)=>a.jsxs(lt,{style:{color:dS[le]},className:"font-mono text-xs",children:[a.jsx("div",{children:F.id}),F.configPath?.trim()?a.jsx("div",{className:"mt-0.5 font-mono text-[10px] font-normal text-muted-foreground",children:F.configPath.trim()}):null,a.jsxs("div",{className:"mt-0.5 text-[10px] font-normal text-muted-foreground",children:["MCP: ",Jye(F.mcpServerVersions)]})]},F.id))]})}),a.jsx(Ur,{children:Xt.map(F=>a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium text-sm",children:Bt.get(F)??F}),Be.map(le=>{const de=le.scenarios.find($e=>$e.scenarioId===F);return a.jsx(We,{children:de?a.jsx(ws,{rate:de.passRate}):a.jsx("span",{className:"text-xs text-muted-foreground",children:"—"})},le.id)})]},F))})]})})]})]}),s==="runs"&&Be.length>=2&&a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Pass Rate Trend"})}),a.jsx(tt,{className:"h-72",children:a.jsx(lm,{width:"100%",height:"100%",children:a.jsxs(aN,{data:Be.map((F,le)=>({idx:le+1,runId:F.id,passRate:Number((F.overallPassRate*100).toFixed(1))})),children:[a.jsx(ao,{dataKey:"idx",tickFormatter:F=>String(F)}),a.jsx(so,{unit:"%",domain:[0,100]}),a.jsx(Fr,{formatter:F=>[`${F}%`,"Pass Rate"],labelFormatter:F=>`Run ${F}`}),a.jsx(Ko,{}),a.jsx(il,{type:"monotone",dataKey:"passRate",stroke:dS[0],strokeWidth:2.5,dot:!0})]})})})]}),s==="within-run"&&we&&Ve.length<2&&a.jsx(et,{children:a.jsx(tt,{className:"pt-6 text-sm text-muted-foreground",children:"Select at least 2 agents to compare side-by-side within this run."})}),s==="within-run"&&we&&Ve.length>=2&&a.jsxs(a.Fragment,{children:[a.jsx(et,{children:a.jsx(tt,{className:"pt-6",children:a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-sm font-medium",children:"Need full result details?"}),a.jsx("p",{className:"text-xs text-muted-foreground",children:De?"Open a side-by-side full result view filtered by the selected agents.":"Open the complete run result page for all details and trace navigation."})]}),a.jsx(re,{asChild:!0,size:"sm",children:De?a.jsx(St,{to:De.link,children:"Compare full results"}):a.jsx(St,{to:`/results/${encodeURIComponent(we.id)}${we.configId?`?configId=${encodeURIComponent(we.configId)}`:""}`,children:"Open full result"})})]})})}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Agent Summary"})}),a.jsx(tt,{className:"max-h-[24rem] overflow-auto p-0",children:a.jsxs(Br,{children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{children:"Metric"}),q.map(F=>a.jsxs(lt,{children:[a.jsx("div",{className:"font-medium text-sm",children:F.agentName}),(F.provider||F.model)&&a.jsx("div",{className:"font-mono text-xs font-normal text-muted-foreground",children:[F.provider?tv(F.provider):null,F.model].filter(Boolean).join(" · ")})]},F.agentId))]})}),a.jsxs(Ur,{children:[a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Pass Rate"}),q.map(F=>a.jsx(We,{children:a.jsx(ws,{rate:F.passRate})},F.agentId))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Total Runs"}),q.map(F=>a.jsx(We,{className:"font-mono",children:F.totalRuns},F.agentId))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Avg Tool Calls"}),q.map(F=>a.jsx(We,{className:"font-mono",children:F.avgToolCalls.toFixed(1)},F.agentId))]}),a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium",children:"Avg Latency"}),q.map(F=>a.jsxs(We,{className:"font-mono",children:[Math.round(F.avgLatency),"ms"]},F.agentId))]})]})]})})]}),a.jsxs(et,{children:[a.jsx(Ot,{className:"pb-3",children:a.jsx(Mt,{className:"text-base",children:"Scenario × Agent Matrix"})}),a.jsx(tt,{className:"max-h-[34rem] overflow-auto p-0",children:a.jsxs(Br,{className:"table-fixed",children:[a.jsx(qr,{className:"[&_th]:sticky [&_th]:top-0 [&_th]:z-10 [&_th]:bg-background",children:a.jsxs(Ft,{children:[a.jsx(lt,{className:"w-[260px]",children:"Scenario"}),Ve.map(F=>{const le=q.find(de=>de.agentId===F.id);return a.jsxs(lt,{children:[a.jsx("div",{className:"font-medium text-sm",children:F.name}),(le?.provider||le?.model)&&a.jsx("div",{className:"font-mono text-xs font-normal text-muted-foreground",children:[le.provider?tv(le.provider):null,le.model].filter(Boolean).join(" · ")})]},F.id)})]})}),a.jsx(Ur,{children:me.map(F=>a.jsxs(Ft,{children:[a.jsx(We,{className:"font-medium text-sm",children:F.displayLabel}),Ve.map(le=>{const de=F.byAgent[le.id];return de?a.jsx(We,{className:"min-w-0 align-top",children:a.jsxs("div",{className:"space-y-2",children:[a.jsxs("div",{className:"text-xs text-muted-foreground",children:[a.jsx(ws,{rate:de.passRate})," ",a.jsxs("span",{className:"ml-2",children:["runs: ",de.runs.length]})," · calls:"," ",de.avgToolCalls.toFixed(1)," · latency:"," ",Math.round(de.avgDuration),"ms"]}),de.runs.length>0?a.jsx("div",{className:"space-y-1.5",children:de.runs.map($e=>Oe($e))}):a.jsx("div",{className:"text-xs text-muted-foreground",children:"No runs captured."})]})},le.id):a.jsx(We,{children:a.jsx("span",{className:"text-xs text-muted-foreground",children:"—"})},le.id)})]},F.scenarioId))})]})})]})]})]})},G$=(e,t,n)=>{const r=new URLSearchParams;return t&&r.set("configId",t),n&&r.set("agent",n),r.set("embed","1"),`/results/${encodeURIComponent(e)}?${r.toString()}`},Y$=(e,t,n)=>{const r=new URLSearchParams;t&&r.set("configId",t),n&&r.set("agent",n);const s=r.toString();return`/results/${encodeURIComponent(e)}${s?`?${s}`:""}`},ibe=()=>{const{source:e}=Nn(),[t]=vi(),n=t.get("left")??"",r=t.get("right")??"",s=t.get("leftConfig"),i=t.get("rightConfig"),o=t.get("leftAgent"),c=t.get("rightAgent"),d=o?`${n} · ${o}`:n,f=c?`${r} · ${c}`:r,[h,p]=m.useState(null),[g,x]=m.useState(null);return m.useEffect(()=>{if(!n||typeof e.getResult!="function"){p(null);return}let j=!0;return e.getResult(n).then(y=>{j&&p(y??null)}),()=>{j=!1}},[n,e]),m.useEffect(()=>{if(!r||typeof e.getResult!="function"){x(null);return}let j=!0;return e.getResult(r).then(y=>{j&&x(y??null)}),()=>{j=!1}},[r,e]),!n||!r?a.jsxs(et,{children:[a.jsx(Ot,{children:a.jsx(Mt,{className:"text-base",children:"Full Result Compare"})}),a.jsxs(tt,{className:"space-y-3",children:[a.jsx("p",{className:"text-sm text-muted-foreground",children:"Select exactly two runs in Compare and use the “Compare full results” action."}),a.jsx(re,{asChild:!0,variant:"outline",children:a.jsx(St,{to:"/compare",children:"Back to Compare"})})]})]}):a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[a.jsxs("div",{children:[a.jsx("h1",{className:"text-2xl font-bold",children:"Full Result Compare"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:o||c?"Side-by-side Result Detail views for deep inspection, filtered by selected agents.":"Side-by-side Result Detail views for deep inspection."})]}),a.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[a.jsx(re,{variant:"outline",size:"sm",asChild:!0,children:a.jsxs(St,{to:"/compare",children:[a.jsx(ND,{className:"mr-1.5 h-4 w-4"}),"Back to Compare"]})}),a.jsx(re,{variant:"outline",size:"sm",asChild:!0,children:a.jsxs("a",{href:Y$(n,s,o),target:"_blank",rel:"noreferrer",children:["Open Left",a.jsx(Bh,{className:"ml-1.5 h-3.5 w-3.5"})]})}),a.jsx(re,{variant:"outline",size:"sm",asChild:!0,children:a.jsxs("a",{href:Y$(r,i,c),target:"_blank",rel:"noreferrer",children:["Open Right",a.jsx(Bh,{className:"ml-1.5 h-3.5 w-3.5"})]})})]})]}),a.jsxs("div",{className:"grid gap-4 xl:grid-cols-2",children:[a.jsxs(et,{className:"overflow-hidden",children:[a.jsx(Ot,{className:"py-3",children:a.jsx(Mt,{className:"text-sm font-mono",children:d})}),a.jsx(tt,{className:"p-0",children:a.jsx("iframe",{title:`Result ${d}`,src:G$(n,s,o),className:"h-[calc(100vh-12rem)] w-full border-0"})})]}),a.jsxs(et,{className:"overflow-hidden",children:[a.jsx(Ot,{className:"py-3",children:a.jsx(Mt,{className:"text-sm font-mono",children:f})}),a.jsx(tt,{className:"p-0",children:a.jsx("iframe",{title:`Result ${f}`,src:G$(r,i,c),className:"h-[calc(100vh-12rem)] w-full border-0"})})]})]})]})};function obe(e){return e.match(/(?:^|\/)(?:result-assistant|results?)\/([0-9]{8}-[0-9]{6})(?:-|\/)/i)?.[1]??null}function lbe(){const{source:e}=Nn(),[t,n]=m.useState([]),[r,s]=m.useState(!0),[i,o]=m.useState(null),[c,d]=m.useState(!1),f=100,h=Dg(f),{offset:p,hasMore:g}=h,x=async()=>{s(!0);try{if(e.listMarkdownReportsPage){const S=await e.listMarkdownReportsPage({limit:f,offset:p});n(S.data),h.updateMeta(S)}else n(await e.listMarkdownReports({limit:f,offset:p}))}catch(S){Me({title:"Could not load markdown reports",description:S instanceof Error?S.message:String(S),variant:"destructive"})}finally{s(!1)}};m.useEffect(()=>{x()},[p]);const j=m.useMemo(()=>t[0],[t]),y=m.useMemo(()=>t.find(S=>S.relativePath===i)??null,[t,i]),b=async()=>{if(i){d(!0);try{await e.deleteMarkdownReport(i),n(S=>S.filter(N=>N.relativePath!==i)),Me({title:"Markdown report deleted"}),o(null)}catch(S){Me({title:"Could not delete markdown report",description:S instanceof Error?S.message:String(S),variant:"destructive"})}finally{d(!1)}}};return a.jsxs("div",{className:"space-y-6",children:[a.jsxs("div",{className:"flex items-start justify-between gap-3",children:[a.jsxs("div",{children:[a.jsxs("h1",{className:"inline-flex items-center gap-2 text-2xl font-bold",children:[a.jsx(pc,{className:"h-6 w-6"}),"Markdown Reports"]}),a.jsxs("p",{className:"text-sm text-muted-foreground",children:["Browse Markdown files under ",a.jsx("code",{children:"mcplab/reports"}),"."]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[a.jsx(re,{variant:"outline",onClick:()=>{x()},children:"Refresh"}),j?a.jsx(re,{asChild:!0,variant:"outline",children:a.jsx(St,{to:`/markdown-reports/view?id=${encodeURIComponent(j.reportId)}`,children:"Open latest"})}):null,a.jsx(re,{variant:"outline",onClick:h.prev,disabled:r||p===0,children:"Prev"}),a.jsx(re,{variant:"outline",onClick:h.next,disabled:r||!g,children:"Next"})]})]}),a.jsx("p",{className:"text-xs text-muted-foreground",children:h.rangeLabel(t.length)}),a.jsx(et,{children:a.jsx(tt,{className:"p-0",children:r?a.jsx("p",{className:"p-6 text-sm text-muted-foreground",children:"Loading markdown reports..."}):t.length===0?a.jsx("p",{className:"p-6 text-sm text-muted-foreground",children:"No markdown reports found yet."}):a.jsxs(Br,{children:[a.jsx(qr,{children:a.jsxs(Ft,{children:[a.jsx(lt,{children:"Report"}),a.jsx(lt,{children:"Result"}),a.jsx(lt,{children:"Folder"}),a.jsx(lt,{children:"Timestamp"}),a.jsx(lt,{className:"w-10"})]})}),a.jsx(Ur,{children:t.map(S=>a.jsxs(Ft,{children:[a.jsx(We,{children:a.jsxs("div",{className:"space-y-1",children:[a.jsx(St,{to:`/markdown-reports/view?id=${encodeURIComponent(S.reportId)}`,className:"font-mono text-xs text-primary hover:underline",children:S.name}),a.jsx("div",{className:"font-mono text-[11px] text-muted-foreground",children:S.relativePath})]})}),a.jsx(We,{className:"text-xs text-muted-foreground font-mono",children:(()=>{const N=obe(S.relativePath);return N?a.jsx(St,{to:`/results/${encodeURIComponent(N)}`,className:"text-primary hover:underline",children:N}):a.jsx("span",{className:"text-muted-foreground",children:"—"})})()}),a.jsx(We,{className:"text-xs text-muted-foreground font-mono",children:S.relativePath.includes("/")?S.relativePath.slice(0,S.relativePath.lastIndexOf("/")):"."}),a.jsx(We,{className:"text-xs text-muted-foreground",children:a.jsxs("div",{className:"flex items-center gap-1",children:[a.jsx(os,{className:"h-3 w-3"}),new Date(S.mtime).toLocaleString()]})}),a.jsx(We,{children:a.jsxs(Qf,{children:[a.jsx(Jf,{asChild:!0,children:a.jsx(re,{variant:"ghost",size:"icon",className:"h-8 w-8",children:a.jsx(dv,{className:"h-4 w-4"})})}),a.jsxs(ju,{align:"end",children:[a.jsx(Sr,{asChild:!0,children:a.jsx(St,{to:`/markdown-reports/view?id=${encodeURIComponent(S.reportId)}`,children:"View"})}),a.jsxs(Sr,{className:"text-destructive",onSelect:N=>{N.preventDefault(),o(S.relativePath)},children:[a.jsx(Ta,{className:"mr-2 h-3.5 w-3.5"})," Delete"]})]})]})})]},S.path))})]})})}),a.jsx(us,{open:!!i,onOpenChange:S=>!S&&o(null),children:a.jsxs(Ma,{children:[a.jsxs(Ia,{children:[a.jsx(Da,{children:"Delete markdown report?"}),a.jsx(La,{children:y?`Delete '${y.name}' from disk? This cannot be undone.`:"Delete this report from disk? This cannot be undone."})]}),a.jsxs($a,{children:[a.jsx(za,{disabled:c,children:"Cancel"}),a.jsx(Fa,{onClick:S=>{S.preventDefault(),b()},disabled:c,children:c?"Deleting...":"Delete"})]})]})})]})}function cbe(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function ube(e){const t=e.relativePath.match(/(?:^|\/)(?:result-assistant|results?)\/([0-9]{8}-[0-9]{6})(?:-|\/)/i);return t?.[1]?t[1]:(e.content.match(/(?:^|\n)\s*\*\*Run:\*\*\s*`([^`]+)`/i)??e.content.match(/(?:^|\n)\s*Run ID:\s*([^\s]+)/i))?.[1]?.trim()||null}function dbe(){const{source:e}=Nn(),[t]=vi(),n=(t.get("id")??"").trim(),r=(t.get("path")??"").trim(),[s,i]=m.useState(null),[o,c]=m.useState(!0),[d,f]=m.useState(!1),[h,p]=m.useState(!1);if(m.useEffect(()=>{let x=!0;if(i(null),f(!1),!n&&!r){c(!1);return}return c(!0),(n&&e.getMarkdownReportById?e.getMarkdownReportById(n):e.getMarkdownReport(r)).then(y=>{x&&i(y)}).catch(y=>{if(!x)return;const b=y instanceof Error?y.message:String(y);if(b.includes("(404)")){f(!0);return}Me({title:"Could not load markdown report",description:b,variant:"destructive"})}).finally(()=>{x&&c(!1)}),()=>{x=!1}},[r,n,e]),!n&&!r)return a.jsxs("div",{className:"space-y-4",children:[a.jsx("h1",{className:"text-2xl font-bold",children:"Markdown Report"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Missing report identifier."}),a.jsx(re,{asChild:!0,variant:"outline",children:a.jsx(St,{to:"/markdown-reports",children:"Back to Markdown Reports"})})]});if(o)return a.jsx("p",{className:"text-sm text-muted-foreground",children:"Loading markdown report..."});if(d||!s)return a.jsxs("div",{className:"space-y-4",children:[a.jsx("h1",{className:"text-2xl font-bold",children:"Markdown Report"}),a.jsx("p",{className:"text-sm text-muted-foreground",children:"Report not found."}),a.jsx(re,{asChild:!0,variant:"outline",children:a.jsx(St,{to:"/markdown-reports",children:"Back to Markdown Reports"})})]});const g=ube(s);return a.jsxs("div",{className:"space-y-4",children:[a.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[a.jsxs("div",{className:"min-w-0",children:[a.jsx("h1",{className:"font-mono text-xl font-semibold",children:s.name}),a.jsxs("div",{className:"mt-0.5 flex flex-wrap items-center gap-2 text-xs text-muted-foreground",children:[a.jsx("span",{className:"font-mono",children:s.relativePath}),a.jsx("span",{"aria-hidden":!0,children:"·"}),a.jsxs("span",{className:"inline-flex items-center gap-1 align-middle",children:[a.jsx(os,{className:"h-3 w-3 shrink-0"}),new Date(s.mtime).toLocaleString()]}),a.jsx("span",{"aria-hidden":!0,children:"·"}),a.jsx("span",{children:cbe(s.sizeBytes)})]})]}),a.jsxs("div",{className:"flex items-center gap-2",children:[g?a.jsxs(a.Fragment,{children:[a.jsx(re,{variant:"outline",size:"sm",onClick:()=>p(!0),children:"Open Result Panel"}),a.jsx(re,{asChild:!0,variant:"outline",size:"sm",children:a.jsx(St,{to:`/results/${encodeURIComponent(g)}`,children:"Open Result"})})]}):null,a.jsx(re,{asChild:!0,variant:"outline",size:"sm",children:a.jsx(St,{to:"/markdown-reports",children:"Back to reports"})})]})]}),a.jsx(et,{children:a.jsx(tt,{className:"pt-6",children:a.jsx(Pa,{text:s.content,variant:"assistant"})})}),g?a.jsx(v3,{open:h,onOpenChange:p,children:a.jsxs(nC,{side:"right",className:"w-[96vw] max-w-none p-0 sm:max-w-5xl",children:[a.jsx(x3,{className:"border-b px-4 py-3 pr-12",children:a.jsxs("div",{className:"flex items-center justify-between gap-2",children:[a.jsxs(y3,{className:"text-base",children:["Result ",g]}),a.jsx(re,{asChild:!0,variant:"outline",size:"sm",children:a.jsx(St,{to:`/results/${encodeURIComponent(g)}`,target:"_blank",rel:"noreferrer",children:"Open full page"})})]})}),a.jsx("div",{className:"h-[calc(100vh-64px)]",children:a.jsx("iframe",{title:`Result ${g}`,src:`/results/${encodeURIComponent(g)}?embed=1`,className:"h-full w-full border-0"})})]})}):null]})}const fbe=()=>{const e=ds();return m.useEffect(()=>{console.error("404 Error: User attempted to access non-existent route:",e.pathname)},[e.pathname]),a.jsx("div",{className:"flex min-h-screen items-center justify-center bg-muted",children:a.jsxs("div",{className:"text-center",children:[a.jsx("h1",{className:"mb-4 text-4xl font-bold",children:"404"}),a.jsx("p",{className:"mb-4 text-xl text-muted-foreground",children:"Oops! Page not found"}),a.jsx("a",{href:"/",className:"text-primary underline hover:text-primary/90",children:"Return to Home"})]})})},pbe=new eK;function hbe(){const{scenarioId:e}=xl();return a.jsx(L5,{to:e?`/libraries/test-cases/${encodeURIComponent(e)}`:"/libraries/test-cases",replace:!0})}const mbe=()=>a.jsx(nK,{client:pbe,children:a.jsx(ci,{children:a.jsx(vX,{children:a.jsx(CX,{children:a.jsxs(NX,{children:[a.jsx(aW,{}),a.jsx($W,{}),a.jsx(rG,{future:{v7_startTransition:!0,v7_relativeSplatPath:!0},children:a.jsxs(GK,{children:[a.jsxs(pn,{element:a.jsx(SX,{}),children:[a.jsx(pn,{path:"/",element:a.jsx(rhe,{})}),a.jsx(pn,{path:"/mcp-evaluations",element:a.jsx(Sve,{})}),a.jsx(pn,{path:"/mcp-evaluations/:id",element:a.jsx(b$,{})}),a.jsx(pn,{path:"/mcp-evaluations/:id/:tab",element:a.jsx(b$,{})}),a.jsx(pn,{path:"/tool-analysis",element:a.jsx(mye,{})}),a.jsx(pn,{path:"/tool-analysis-results",element:a.jsx(vye,{})}),a.jsx(pn,{path:"/tool-analysis-results/:id",element:a.jsx(gye,{})}),a.jsx(pn,{path:"/oauth-debugger",element:a.jsx(Sye,{})}),a.jsx(pn,{path:"/libraries/servers",element:a.jsx(Pge,{})}),a.jsx(pn,{path:"/libraries/servers/:serverId",element:a.jsx(Ege,{})}),a.jsx(pn,{path:"/libraries/agents",element:a.jsx(Tge,{})}),a.jsx(pn,{path:"/libraries/agents/:agentName",element:a.jsx(zxe,{})}),a.jsx(pn,{path:"/libraries/test-cases",element:a.jsx(E$,{})}),a.jsx(pn,{path:"/libraries/test-cases/:testCaseId",element:a.jsx(E$,{})}),a.jsx(pn,{path:"/libraries/scenarios",element:a.jsx(L5,{to:"/libraries/test-cases",replace:!0})}),a.jsx(pn,{path:"/libraries/scenarios/:scenarioId",element:a.jsx(hbe,{})}),a.jsx(pn,{path:"/settings",element:a.jsx(Bxe,{})}),a.jsx(pn,{path:"/settings/mcp",element:a.jsx(Gxe,{})}),a.jsx(pn,{path:"/run",element:a.jsx(Mye,{})}),a.jsx(pn,{path:"/results",element:a.jsx(zye,{})}),a.jsx(pn,{path:"/results/:id",element:a.jsx(Wye,{})}),a.jsx(pn,{path:"/markdown-reports",element:a.jsx(lbe,{})}),a.jsx(pn,{path:"/markdown-reports/view",element:a.jsx(dbe,{})}),a.jsx(pn,{path:"/compare",element:a.jsx(sbe,{})}),a.jsx(pn,{path:"/compare/results",element:a.jsx(ibe,{})})]}),a.jsx(pn,{path:"*",element:a.jsx(fbe,{})})]})})]})})})})});r7.createRoot(document.getElementById("root")).render(a.jsx(mbe,{}));