From bcb65cbd8102e6d37a7cde6995eb79e34f93711a Mon Sep 17 00:00:00 2001 From: kerthcet Date: Sat, 21 Feb 2026 20:12:31 +0000 Subject: [PATCH 1/2] update the color Signed-off-by: kerthcet --- .../src/components/dashboard/daily-token-usage-chart.tsx | 6 +++--- dashboard/src/components/ui/badge.tsx | 3 ++- dashboard/src/pages/experiments/[id].tsx | 4 ++-- dashboard/src/pages/experiments/compare.tsx | 4 ++-- dashboard/src/pages/experiments/index.tsx | 4 ++-- dashboard/src/pages/projects/[id].tsx | 4 ++-- dashboard/src/pages/runs/[id].tsx | 4 ++-- dashboard/src/pages/runs/index.tsx | 4 ++-- .../assets/{index-EyZydF7m.css => index-CnjXmhZz.css} | 2 +- .../static/assets/{index-jnqNSGCv.js => index-DripdgQr.js} | 6 +++--- .../{react-plotly-vwUBUZui.js => react-plotly-rXbFfZ8j.js} | 2 +- dashboard/static/index.html | 4 ++-- 12 files changed, 24 insertions(+), 23 deletions(-) rename dashboard/static/assets/{index-EyZydF7m.css => index-CnjXmhZz.css} (79%) rename dashboard/static/assets/{index-jnqNSGCv.js => index-DripdgQr.js} (89%) rename dashboard/static/assets/{react-plotly-vwUBUZui.js => react-plotly-rXbFfZ8j.js} (99%) diff --git a/dashboard/src/components/dashboard/daily-token-usage-chart.tsx b/dashboard/src/components/dashboard/daily-token-usage-chart.tsx index 303a1f4a..33b6c4ec 100644 --- a/dashboard/src/components/dashboard/daily-token-usage-chart.tsx +++ b/dashboard/src/components/dashboard/daily-token-usage-chart.tsx @@ -89,7 +89,7 @@ export function DailyTokenUsageChart({ data, timeRange }: DailyTokenUsageChartPr - + value >= 1000000 ? `${(value / 1000000).toFixed(1)}M` @@ -112,7 +112,7 @@ export function DailyTokenUsageChart({ data, timeRange }: DailyTokenUsageChartPr value: 'Tokens', angle: -90, position: 'insideLeft', - offset: 8, + offset: -5, style: { textAnchor: 'middle', fontSize: 11 } }} /> diff --git a/dashboard/src/components/ui/badge.tsx b/dashboard/src/components/ui/badge.tsx index 4930514b..0cd374b2 100644 --- a/dashboard/src/components/ui/badge.tsx +++ b/dashboard/src/components/ui/badge.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { cn } from '../../lib/utils'; export interface BadgeProps extends React.HTMLAttributes { - variant?: 'default' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning' | 'unknown'; + variant?: 'default' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning' | 'unknown' | 'info'; } function Badge({ className, variant = 'default', ...props }: BadgeProps) { @@ -14,6 +14,7 @@ function Badge({ className, variant = 'default', ...props }: BadgeProps) { success: 'border-transparent bg-green-500 text-white hover:bg-green-600', warning: 'border-transparent bg-yellow-500 text-white hover:bg-yellow-600', unknown: 'border-transparent bg-purple-100 text-purple-700 hover:bg-purple-200', + info: 'border-transparent bg-blue-500 text-white hover:bg-blue-600', }; return ( diff --git a/dashboard/src/pages/experiments/[id].tsx b/dashboard/src/pages/experiments/[id].tsx index 20f66de3..9860e6fc 100644 --- a/dashboard/src/pages/experiments/[id].tsx +++ b/dashboard/src/pages/experiments/[id].tsx @@ -29,10 +29,10 @@ import { formatDistanceToNow } from 'date-fns'; import { PieChart, Pie, Cell, ResponsiveContainer, Legend, Tooltip } from 'recharts'; import type { Status } from '../../types'; -const STATUS_VARIANTS: Record = { +const STATUS_VARIANTS: Record = { UNKNOWN: 'unknown', PENDING: 'warning', - RUNNING: 'default', + RUNNING: 'info', CANCELLED: 'secondary', COMPLETED: 'success', FAILED: 'destructive', diff --git a/dashboard/src/pages/experiments/compare.tsx b/dashboard/src/pages/experiments/compare.tsx index 63a6f145..cf930644 100644 --- a/dashboard/src/pages/experiments/compare.tsx +++ b/dashboard/src/pages/experiments/compare.tsx @@ -14,10 +14,10 @@ import { ParameterDiff } from '../../components/comparison/parameter-diff'; import { MetricsOverlay } from '../../components/comparison/metrics-overlay'; import type { Status } from '../../types'; -const STATUS_VARIANTS: Record = { +const STATUS_VARIANTS: Record = { UNKNOWN: 'unknown', PENDING: 'warning', - RUNNING: 'default', + RUNNING: 'info', CANCELLED: 'secondary', COMPLETED: 'success', FAILED: 'destructive', diff --git a/dashboard/src/pages/experiments/index.tsx b/dashboard/src/pages/experiments/index.tsx index 53a49482..19f32528 100644 --- a/dashboard/src/pages/experiments/index.tsx +++ b/dashboard/src/pages/experiments/index.tsx @@ -23,10 +23,10 @@ import { Button } from '../../components/ui/button'; import { formatDistanceToNow } from 'date-fns'; import type { Status } from '../../types'; -const STATUS_VARIANTS: Record = { +const STATUS_VARIANTS: Record = { UNKNOWN: 'unknown', PENDING: 'warning', - RUNNING: 'default', + RUNNING: 'info', CANCELLED: 'secondary', COMPLETED: 'success', FAILED: 'destructive', diff --git a/dashboard/src/pages/projects/[id].tsx b/dashboard/src/pages/projects/[id].tsx index 50164057..7a0594d6 100644 --- a/dashboard/src/pages/projects/[id].tsx +++ b/dashboard/src/pages/projects/[id].tsx @@ -27,10 +27,10 @@ import { formatDistanceToNow } from 'date-fns'; import { PieChart, Pie, Cell, ResponsiveContainer, Legend, Tooltip } from 'recharts'; import type { Status } from '../../types'; -const STATUS_VARIANTS: Record = { +const STATUS_VARIANTS: Record = { UNKNOWN: 'unknown', PENDING: 'warning', - RUNNING: 'default', + RUNNING: 'info', CANCELLED: 'secondary', COMPLETED: 'success', FAILED: 'destructive', diff --git a/dashboard/src/pages/runs/[id].tsx b/dashboard/src/pages/runs/[id].tsx index c8988cf4..fb360b31 100644 --- a/dashboard/src/pages/runs/[id].tsx +++ b/dashboard/src/pages/runs/[id].tsx @@ -25,10 +25,10 @@ import { formatDistanceToNow } from 'date-fns'; import { Eye, Copy, Check } from 'lucide-react'; import type { Status } from '../../types'; -const STATUS_VARIANTS: Record = { +const STATUS_VARIANTS: Record = { UNKNOWN: 'unknown', PENDING: 'warning', - RUNNING: 'default', + RUNNING: 'info', CANCELLED: 'secondary', COMPLETED: 'success', FAILED: 'destructive', diff --git a/dashboard/src/pages/runs/index.tsx b/dashboard/src/pages/runs/index.tsx index 7cc7ec27..43247243 100644 --- a/dashboard/src/pages/runs/index.tsx +++ b/dashboard/src/pages/runs/index.tsx @@ -24,10 +24,10 @@ import { Button } from '../../components/ui/button'; import { formatDistanceToNow } from 'date-fns'; import type { Status } from '../../types'; -const STATUS_VARIANTS: Record = { +const STATUS_VARIANTS: Record = { UNKNOWN: 'unknown', PENDING: 'warning', - RUNNING: 'default', + RUNNING: 'info', CANCELLED: 'secondary', COMPLETED: 'success', FAILED: 'destructive', diff --git a/dashboard/static/assets/index-EyZydF7m.css b/dashboard/static/assets/index-CnjXmhZz.css similarity index 79% rename from dashboard/static/assets/index-EyZydF7m.css rename to dashboard/static/assets/index-CnjXmhZz.css index 7091a39f..cf33b4fc 100644 --- a/dashboard/static/assets/index-EyZydF7m.css +++ b/dashboard/static/assets/index-CnjXmhZz.css @@ -1 +1 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 210 20% 98%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 93.4%;--input: 214.3 31.8% 93.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}*{border-color:hsl(var(--border))}html,body,#root{height:100%;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-2\.5{left:.625rem}.left-4{left:1rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[50\%\]{top:50%}.top-full{top:100%}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-auto{margin-top:auto}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[550px\]{height:550px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-\[85vh\]{max-height:85vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[20px\]{width:20px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[4rem\]{min-width:4rem}.max-w-5xl{max-width:64rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-border{border-color:hsl(var(--border))}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-cyan-200{--tw-border-opacity: 1;border-color:rgb(165 243 252 / var(--tw-border-opacity, 1))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-indigo-200{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/50{background-color:hsl(var(--accent) / .5)}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-cyan-100{--tw-bg-opacity: 1;background-color:rgb(207 250 254 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-400{--tw-bg-opacity: 1;background-color:rgb(192 132 252 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pl-8{padding-left:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-700{--tw-text-opacity: 1;color:rgb(14 116 144 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/30:hover{background-color:hsl(var(--accent) / .3)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-purple-200:hover{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-yellow-600:hover{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.focus\:bg-blue-50:focus{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.dark\:bg-blue-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 37 84 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(66 32 6 / var(--tw-bg-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px} +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 210 20% 98%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 84% 4.9%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 93.4%;--input: 214.3 31.8% 93.4%;--ring: 222.2 84% 4.9%;--radius: .5rem}*{border-color:hsl(var(--border))}html,body,#root{height:100%;overflow:hidden}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.bottom-full{bottom:100%}.left-0{left:0}.left-2\.5{left:.625rem}.left-4{left:1rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-4{right:1rem}.top-0{top:0}.top-1\/2{top:50%}.top-4{top:1rem}.top-\[50\%\]{top:50%}.top-full{top:100%}.z-40{z-index:40}.z-50{z-index:50}.col-span-2{grid-column:span 2 / span 2}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-auto{margin-top:auto}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-32{height:8rem}.h-4{height:1rem}.h-48{height:12rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-96{height:24rem}.h-\[550px\]{height:550px}.h-full{height:100%}.h-px{height:1px}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-\[85vh\]{max-height:85vh}.w-1{width:.25rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-48{width:12rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[20px\]{width:20px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[4rem\]{min-width:4rem}.max-w-5xl{max-width:64rem}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.caption-bottom{caption-side:bottom}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\[-50\%\]{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-crosshair{cursor:crosshair}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-border{border-color:hsl(var(--border))}.border-border\/40{border-color:hsl(var(--border) / .4)}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-cyan-200{--tw-border-opacity: 1;border-color:rgb(165 243 252 / var(--tw-border-opacity, 1))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-emerald-500{--tw-border-opacity: 1;border-color:rgb(16 185 129 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-indigo-200{--tw-border-opacity: 1;border-color:rgb(199 210 254 / var(--tw-border-opacity, 1))}.border-input{border-color:hsl(var(--input))}.border-purple-200{--tw-border-opacity: 1;border-color:rgb(233 213 255 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-accent{background-color:hsl(var(--accent))}.bg-accent\/50{background-color:hsl(var(--accent) / .5)}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-background{background-color:hsl(var(--background))}.bg-black\/80{background-color:#000c}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-cyan-100{--tw-bg-opacity: 1;background-color:rgb(207 250 254 / var(--tw-bg-opacity, 1))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-indigo-100{--tw-bg-opacity: 1;background-color:rgb(224 231 255 / var(--tw-bg-opacity, 1))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/20{background-color:hsl(var(--muted) / .2)}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-primary{background-color:hsl(var(--primary))}.bg-purple-100{--tw-bg-opacity: 1;background-color:rgb(243 232 255 / var(--tw-bg-opacity, 1))}.bg-purple-400{--tw-bg-opacity: 1;background-color:rgb(192 132 252 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-slate-950{--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-50{--tw-bg-opacity: 1;background-color:rgb(254 252 232 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-2{padding-bottom:.5rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pl-8{padding-left:2rem}.pt-0{padding-top:0}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-700{--tw-text-opacity: 1;color:rgb(14 116 144 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-indigo-700{--tw-text-opacity: 1;color:rgb(67 56 202 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/30{color:hsl(var(--muted-foreground) / .3)}.text-muted-foreground\/40{color:hsl(var(--muted-foreground) / .4)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-purple-600{--tw-text-opacity: 1;color:rgb(147 51 234 / var(--tw-text-opacity, 1))}.text-purple-700{--tw-text-opacity: 1;color:rgb(126 34 206 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-50{--tw-text-opacity: 1;color:rgb(248 250 252 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.hover\:border-border:hover{border-color:hsl(var(--border))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-accent\/30:hover{background-color:hsl(var(--accent) / .3)}.hover\:bg-accent\/50:hover{background-color:hsl(var(--accent) / .5)}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-600:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/30:hover{background-color:hsl(var(--muted) / .3)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-purple-200:hover{--tw-bg-opacity: 1;background-color:rgb(233 213 255 / var(--tw-bg-opacity, 1))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:bg-yellow-600:hover{--tw-bg-opacity: 1;background-color:rgb(202 138 4 / var(--tw-bg-opacity, 1))}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-blue-800:hover{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-blue-300:focus{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.focus\:bg-blue-50:focus{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-0:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:opacity-100{opacity:1}.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:hsl(var(--accent))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:hsl(var(--muted-foreground))}.dark\:bg-blue-400:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(96 165 250 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(30 58 138 / var(--tw-bg-opacity, 1))}.dark\:bg-blue-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(23 37 84 / var(--tw-bg-opacity, 1))}.dark\:bg-green-900:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(20 83 45 / var(--tw-bg-opacity, 1))}.dark\:bg-slate-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(2 6 23 / var(--tw-bg-opacity, 1))}.dark\:bg-yellow-950:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(66 32 6 / var(--tw-bg-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-blue-400:is(.dark *){--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.dark\:text-green-300:is(.dark *){--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.dark\:hover\:text-blue-300:hover:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}@media (min-width: 640px){.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}}@media (min-width: 768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0px}.\[\&_tr\]\:border-b tr{border-bottom-width:1px} diff --git a/dashboard/static/assets/index-jnqNSGCv.js b/dashboard/static/assets/index-DripdgQr.js similarity index 89% rename from dashboard/static/assets/index-jnqNSGCv.js rename to dashboard/static/assets/index-DripdgQr.js index 4f16c732..194e29e9 100644 --- a/dashboard/static/assets/index-jnqNSGCv.js +++ b/dashboard/static/assets/index-DripdgQr.js @@ -531,14 +531,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gue(e,t){if(e){if(typeof e=="string")return y0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y0(e,t)}}function xue(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bue(e){if(Array.isArray(e))return y0(e)}function y0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);rf){p=[].concat(Co(l.slice(0,v)),[f-m]);break}var g=p.length%2===0?[0,h]:[h];return[].concat(Co(t.repeat(l,c)),Co(p),g).map(function(y){return"".concat(y,"px")}).join(", ")}),Zr(r,"id",po("recharts-line-")),Zr(r,"pathRef",function(o){r.mainCurve=o}),Zr(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),Zr(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return Eue(t,e),Sue(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();this.setState({totalLength:n})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();n!==this.state.totalLength&&this.setState({totalLength:n})}}},{key:"getTotalLength",value:function(){var n=this.mainCurve;try{return n&&n.getTotalLength&&n.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(n,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var a=this.props,o=a.points,s=a.xAxis,l=a.yAxis,u=a.layout,c=a.children,f=Yt(c,Ol);if(!f)return null;var h=function(m,g){return{x:m.x,y:m.y,value:m.value,errorVal:Xe(m.payload,g)}},p={clipPath:n?"url(#clipPath-".concat(i,")"):null};return k.createElement(pe,p,f.map(function(v){return k.cloneElement(v,{key:"bar-".concat(v.props.dataKey),data:o,xAxis:s,yAxis:l,layout:u,dataPointFormatter:h})}))}},{key:"renderDots",value:function(n,i,a){var o=this.props.isAnimationActive;if(o&&!this.state.isAnimationFinished)return null;var s=this.props,l=s.dot,u=s.points,c=s.dataKey,f=te(this.props,!1),h=te(l,!0),p=u.map(function(m,g){var y=pr(pr(pr({key:"dot-".concat(g),r:3},f),h),{},{index:g,cx:m.x,cy:m.y,value:m.value,dataKey:c,payload:m.payload,points:u});return t.renderDotItem(l,y)}),v={clipPath:n?"url(#clipPath-".concat(i?"":"dots-").concat(a,")"):null};return k.createElement(pe,pu({className:"recharts-line-dots",key:"dots"},v),p)}},{key:"renderCurveStatically",value:function(n,i,a,o){var s=this.props,l=s.type,u=s.layout,c=s.connectNulls;s.ref;var f=XP(s,pue),h=pr(pr(pr({},te(f,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(a,")"):null,points:n},o),{},{type:l,layout:u,connectNulls:c});return k.createElement(oc,pu({},h,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(n,i){var a=this,o=this.props,s=o.points,l=o.strokeDasharray,u=o.isAnimationActive,c=o.animationBegin,f=o.animationDuration,h=o.animationEasing,p=o.animationId,v=o.animateNewValues,m=o.width,g=o.height,y=this.state,x=y.prevPoints,b=y.totalLength;return k.createElement(un,{begin:c,duration:f,isActive:u,easing:h,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(S){var w=S.t;if(x){var O=x.length/s.length,j=s.map(function(N,M){var R=Math.floor(M*O);if(x[R]){var I=x[R],D=Nt(I.x,N.x),z=Nt(I.y,N.y);return pr(pr({},N),{},{x:D(w),y:z(w)})}if(v){var C=Nt(m*2,N.x),F=Nt(g/2,N.y);return pr(pr({},N),{},{x:C(w),y:F(w)})}return pr(pr({},N),{},{x:N.x,y:N.y})});return a.renderCurveStatically(j,n,i)}var E=Nt(0,b),A=E(w),T;if(l){var _="".concat(l).split(/[,\s]+/gim).map(function(N){return parseFloat(N)});T=a.getStrokeDasharray(A,b,_)}else T=a.generateSimpleStrokeDasharray(b,A);return a.renderCurveStatically(s,n,i,{strokeDasharray:T})})}},{key:"renderCurve",value:function(n,i){var a=this.props,o=a.points,s=a.isAnimationActive,l=this.state,u=l.prevPoints,c=l.totalLength;return s&&o&&o.length&&(!u&&c>0||!bl(u,o))?this.renderCurveWithAnimation(n,i):this.renderCurveStatically(o,n,i)}},{key:"render",value:function(){var n,i=this.props,a=i.hide,o=i.dot,s=i.points,l=i.className,u=i.xAxis,c=i.yAxis,f=i.top,h=i.left,p=i.width,v=i.height,m=i.isAnimationActive,g=i.id;if(a||!s||!s.length)return null;var y=this.state.isAnimationFinished,x=s.length===1,b=ue("recharts-line",l),S=u&&u.allowDataOverflow,w=c&&c.allowDataOverflow,O=S||w,j=ae(g)?this.id:g,E=(n=te(o,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},A=E.r,T=A===void 0?3:A,_=E.strokeWidth,N=_===void 0?2:_,M=q8(o)?o:{},R=M.clipDot,I=R===void 0?!0:R,D=T*2+N;return k.createElement(pe,{className:b},S||w?k.createElement("defs",null,k.createElement("clipPath",{id:"clipPath-".concat(j)},k.createElement("rect",{x:S?h:h-p/2,y:w?f:f-v/2,width:S?p:p*2,height:w?v:v*2})),!I&&k.createElement("clipPath",{id:"clipPath-dots-".concat(j)},k.createElement("rect",{x:h-D/2,y:f-D/2,width:p+D,height:v+D}))):null,!x&&this.renderCurve(O,j),this.renderErrorBar(O,j),(x||o)&&this.renderDots(O,I,j),(!m||y)&&En.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(n,i){return n.animationId!==i.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,prevPoints:i.curPoints}:n.points!==i.curPoints?{curPoints:n.points}:null}},{key:"repeat",value:function(n,i){for(var a=n.length%2!==0?[].concat(Co(n),[0]):n,o=[],s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Lue(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Fue(e){var t=e.option,r=e.isActive,n=Rue(e,Due);return typeof t=="string"?P.createElement(wh,mu({option:P.createElement(Cp,mu({type:t},n)),isActive:r,shapeType:"symbols"},n)):P.createElement(wh,mu({option:t,isActive:r,shapeType:"symbols"},n))}function Js(e){"@babel/helpers - typeof";return Js=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},Js(e)}function vu(){return vu=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Mce(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Ice(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Dce(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?o:t&&t.length&&q(i)&&q(a)?t.slice(i,a+1):[]};function v2(e){return e==="number"?[0,"auto"]:void 0}var T0=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,s=om(r,t);return n<0||!a||!a.length||n>=s.length?null:a.reduce(function(l,u){var c,f=(c=u.props.data)!==null&&c!==void 0?c:r;f&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(f=f.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var p=f===void 0?s:f;h=Md(p,o.dataKey,i)}else h=f&&f[n]||s[n];return h?[].concat(rl(l),[QC(u,h)]):l},[])},oE=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=Gce(a,n),s=t.orderedTooltipTicks,l=t.tooltipAxis,u=t.tooltipTicks,c=Vee(o,s,u,l);if(c>=0&&u){var f=u[c]&&u[c].value,h=T0(t,r,c,f),p=Yce(n,s,c,a);return{activeTooltipIndex:c,activeLabel:f,activePayload:h,activeCoordinate:p}}return null},Xce=function(t,r){var n=r.axes,i=r.graphicalItems,a=r.axisType,o=r.axisIdKey,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.layout,f=t.children,h=t.stackOffset,p=KC(c,a);return n.reduce(function(v,m){var g,y=m.type.defaultProps!==void 0?B(B({},m.type.defaultProps),m.props):m.props,x=y.type,b=y.dataKey,S=y.allowDataOverflow,w=y.allowDuplicatedCategory,O=y.scale,j=y.ticks,E=y.includeHidden,A=y[o];if(v[A])return v;var T=om(t.data,{graphicalItems:i.filter(function(H){var Y,re=o in H.props?H.props[o]:(Y=H.type.defaultProps)===null||Y===void 0?void 0:Y[o];return re===A}),dataStartIndex:l,dataEndIndex:u}),_=T.length,N,M,R;Sce(y.domain,S,x)&&(N=zg(y.domain,null,S),p&&(x==="number"||O!=="auto")&&(R=cu(T,b,"category")));var I=v2(x);if(!N||N.length===0){var D,z=(D=y.domain)!==null&&D!==void 0?D:I;if(b){if(N=cu(T,b,x),x==="category"&&p){var C=I8(N);w&&C?(M=N,N=Oh(0,_)):w||(N=Tj(z,N,m).reduce(function(H,Y){return H.indexOf(Y)>=0?H:[].concat(rl(H),[Y])},[]))}else if(x==="category")w?N=N.filter(function(H){return H!==""&&!ae(H)}):N=Tj(z,N,m).reduce(function(H,Y){return H.indexOf(Y)>=0||Y===""||ae(Y)?H:[].concat(rl(H),[Y])},[]);else if(x==="number"){var F=Jee(T,i.filter(function(H){var Y,re,be=o in H.props?H.props[o]:(Y=H.type.defaultProps)===null||Y===void 0?void 0:Y[o],Ke="hide"in H.props?H.props.hide:(re=H.type.defaultProps)===null||re===void 0?void 0:re.hide;return be===A&&(E||!Ke)}),b,a,c);F&&(N=F)}p&&(x==="number"||O!=="auto")&&(R=cu(T,b,"category"))}else p?N=Oh(0,_):s&&s[A]&&s[A].hasStack&&x==="number"?N=h==="expand"?[0,1]:XC(s[A].stackGroups,l,u):N=HC(T,i.filter(function(H){var Y=o in H.props?H.props[o]:H.type.defaultProps[o],re="hide"in H.props?H.props.hide:H.type.defaultProps.hide;return Y===A&&(E||!re)}),x,c,!0);if(x==="number")N=E0(f,N,A,a,j),z&&(N=zg(z,N,S));else if(x==="category"&&z){var W=z,V=N.every(function(H){return W.indexOf(H)>=0});V&&(N=W)}}return B(B({},v),{},ie({},A,B(B({},y),{},{axisType:a,domain:N,categoricalDomain:R,duplicateDomain:M,originalDomain:(g=y.domain)!==null&&g!==void 0?g:I,isCategorical:p,layout:c})))},{})},Qce=function(t,r){var n=r.graphicalItems,i=r.Axis,a=r.axisType,o=r.axisIdKey,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.layout,f=t.children,h=om(t.data,{graphicalItems:n,dataStartIndex:l,dataEndIndex:u}),p=h.length,v=KC(c,a),m=-1;return n.reduce(function(g,y){var x=y.type.defaultProps!==void 0?B(B({},y.type.defaultProps),y.props):y.props,b=x[o],S=v2("number");if(!g[b]){m++;var w;return v?w=Oh(0,p):s&&s[b]&&s[b].hasStack?(w=XC(s[b].stackGroups,l,u),w=E0(f,w,b,a)):(w=zg(S,HC(h,n.filter(function(O){var j,E,A=o in O.props?O.props[o]:(j=O.type.defaultProps)===null||j===void 0?void 0:j[o],T="hide"in O.props?O.props.hide:(E=O.type.defaultProps)===null||E===void 0?void 0:E.hide;return A===b&&!T}),"number",c),i.defaultProps.allowDataOverflow),w=E0(f,w,b,a)),B(B({},g),{},ie({},b,B(B({axisType:a},i.defaultProps),{},{hide:!0,orientation:wr(qce,"".concat(a,".").concat(m%2),null),domain:w,originalDomain:S,isCategorical:v,layout:c})))}return g},{})},Jce=function(t,r){var n=r.axisType,i=n===void 0?"xAxis":n,a=r.AxisComp,o=r.graphicalItems,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.children,f="".concat(i,"Id"),h=Yt(c,a),p={};return h&&h.length?p=Xce(t,{axes:h,graphicalItems:o,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:l,dataEndIndex:u}):o&&o.length&&(p=Qce(t,{Axis:a,graphicalItems:o,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:l,dataEndIndex:u})),p},Zce=function(t){var r=Si(t),n=Kn(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:db(n,function(i){return i.coordinate}),tooltipAxis:r,tooltipAxisBandSize:uh(r,n)}},sE=function(t){var r=t.children,n=t.defaultShowTooltip,i=yr(r,Ws),a=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(a=i.props.startIndex),i.props.endIndex>=0&&(o=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:a,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!n}},efe=function(t){return!t||!t.length?!1:t.some(function(r){var n=Vn(r&&r.type);return n&&n.indexOf("Bar")>=0})},lE=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"}},tfe=function(t,r){var n=t.props,i=t.graphicalItems,a=t.xAxisMap,o=a===void 0?{}:a,s=t.yAxisMap,l=s===void 0?{}:s,u=n.width,c=n.height,f=n.children,h=n.margin||{},p=yr(f,Ws),v=yr(f,Br),m=Object.keys(l).reduce(function(w,O){var j=l[O],E=j.orientation;return!j.mirror&&!j.hide?B(B({},w),{},ie({},E,w[E]+j.width)):w},{left:h.left||0,right:h.right||0}),g=Object.keys(o).reduce(function(w,O){var j=o[O],E=j.orientation;return!j.mirror&&!j.hide?B(B({},w),{},ie({},E,wr(w,"".concat(E))+j.height)):w},{top:h.top||0,bottom:h.bottom||0}),y=B(B({},g),m),x=y.bottom;p&&(y.bottom+=p.props.height||Ws.defaultProps.height),v&&r&&(y=Xee(y,i,n,r));var b=u-y.left-y.right,S=c-y.top-y.bottom;return B(B({brushBottom:x},y),{},{width:Math.max(b,0),height:Math.max(S,0)})},rfe=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},Yb=function(t){var r=t.chartName,n=t.GraphicalChild,i=t.defaultTooltipEventType,a=i===void 0?"axis":i,o=t.validateTooltipEventTypes,s=o===void 0?["axis"]:o,l=t.axisComponents,u=t.legendContent,c=t.formatAxisMap,f=t.defaultProps,h=function(y,x){var b=x.graphicalItems,S=x.stackGroups,w=x.offset,O=x.updateId,j=x.dataStartIndex,E=x.dataEndIndex,A=y.barSize,T=y.layout,_=y.barGap,N=y.barCategoryGap,M=y.maxBarSize,R=lE(T),I=R.numericAxisName,D=R.cateAxisName,z=efe(b),C=[];return b.forEach(function(F,W){var V=om(y.data,{graphicalItems:[F],dataStartIndex:j,dataEndIndex:E}),H=F.type.defaultProps!==void 0?B(B({},F.type.defaultProps),F.props):F.props,Y=H.dataKey,re=H.maxBarSize,be=H["".concat(I,"Id")],Ke=H["".concat(D,"Id")],Se={},Pt=l.reduce(function(la,ua){var hm=x["".concat(ua.axisType,"Map")],aw=H["".concat(ua.axisType,"Id")];hm&&hm[aw]||ua.axisType==="zAxis"||ro();var ow=hm[aw];return B(B({},la),{},ie(ie({},ua.axisType,ow),"".concat(ua.axisType,"Ticks"),Kn(ow)))},Se),G=Pt[D],se=Pt["".concat(D,"Ticks")],le=S&&S[be]&&S[be].hasStack&&ste(F,S[be].stackGroups),U=Vn(F.type).indexOf("Bar")>=0,Ze=uh(G,se),ge=[],ct=z&&Gee({barSize:A,stackGroups:S,totalSize:rfe(Pt,D)});if(U){var ft,er,ci=ae(re)?M:re,jo=(ft=(er=uh(G,se,!0))!==null&&er!==void 0?er:ci)!==null&&ft!==void 0?ft:0;ge=Yee({barGap:_,barCategoryGap:N,bandSize:jo!==Ze?jo:Ze,sizeList:ct[Ke],maxBarSize:ci}),jo!==Ze&&(ge=ge.map(function(la){return B(B({},la),{},{position:B(B({},la.position),{},{offset:la.position.offset-jo/2})})}))}var Vc=F&&F.type&&F.type.getComposedData;Vc&&C.push({props:B(B({},Vc(B(B({},Pt),{},{displayedData:V,props:y,dataKey:Y,item:F,bandSize:Ze,barPosition:ge,offset:w,stackedData:le,layout:T,dataStartIndex:j,dataEndIndex:E}))),{},ie(ie(ie({key:F.key||"item-".concat(W)},I,Pt[I]),D,Pt[D]),"animationId",O)),childIndex:Y8(F,y.children),item:F})}),C},p=function(y,x){var b=y.props,S=y.dataStartIndex,w=y.dataEndIndex,O=y.updateId;if(!OS({props:b}))return null;var j=b.children,E=b.layout,A=b.stackOffset,T=b.data,_=b.reverseStackOrder,N=lE(E),M=N.numericAxisName,R=N.cateAxisName,I=Yt(j,n),D=ate(T,I,"".concat(M,"Id"),"".concat(R,"Id"),A,_),z=l.reduce(function(H,Y){var re="".concat(Y.axisType,"Map");return B(B({},H),{},ie({},re,Jce(b,B(B({},Y),{},{graphicalItems:I,stackGroups:Y.axisType===M&&D,dataStartIndex:S,dataEndIndex:w}))))},{}),C=tfe(B(B({},z),{},{props:b,graphicalItems:I}),x==null?void 0:x.legendBBox);Object.keys(z).forEach(function(H){z[H]=c(b,z[H],C,H.replace("Map",""),r)});var F=z["".concat(R,"Map")],W=Zce(F),V=h(b,B(B({},z),{},{dataStartIndex:S,dataEndIndex:w,updateId:O,graphicalItems:I,stackGroups:D,offset:C}));return B(B({formattedGraphicalItems:V,graphicalItems:I,offset:C,stackGroups:D},W),z)},v=function(g){function y(x){var b,S,w;return Ice(this,y),w=Lce(this,y,[x]),ie(w,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),ie(w,"accessibilityManager",new wce),ie(w,"handleLegendBBoxUpdate",function(O){if(O){var j=w.state,E=j.dataStartIndex,A=j.dataEndIndex,T=j.updateId;w.setState(B({legendBBox:O},p({props:w.props,dataStartIndex:E,dataEndIndex:A,updateId:T},B(B({},w.state),{},{legendBBox:O}))))}}),ie(w,"handleReceiveSyncEvent",function(O,j,E){if(w.props.syncId===O){if(E===w.eventEmitterSymbol&&typeof w.props.syncMethod!="function")return;w.applySyncEvent(j)}}),ie(w,"handleBrushChange",function(O){var j=O.startIndex,E=O.endIndex;if(j!==w.state.dataStartIndex||E!==w.state.dataEndIndex){var A=w.state.updateId;w.setState(function(){return B({dataStartIndex:j,dataEndIndex:E},p({props:w.props,dataStartIndex:j,dataEndIndex:E,updateId:A},w.state))}),w.triggerSyncEvent({dataStartIndex:j,dataEndIndex:E})}}),ie(w,"handleMouseEnter",function(O){var j=w.getMouseInfo(O);if(j){var E=B(B({},j),{},{isTooltipActive:!0});w.setState(E),w.triggerSyncEvent(E);var A=w.props.onMouseEnter;oe(A)&&A(E,O)}}),ie(w,"triggeredAfterMouseMove",function(O){var j=w.getMouseInfo(O),E=j?B(B({},j),{},{isTooltipActive:!0}):{isTooltipActive:!1};w.setState(E),w.triggerSyncEvent(E);var A=w.props.onMouseMove;oe(A)&&A(E,O)}),ie(w,"handleItemMouseEnter",function(O){w.setState(function(){return{isTooltipActive:!0,activeItem:O,activePayload:O.tooltipPayload,activeCoordinate:O.tooltipPosition||{x:O.cx,y:O.cy}}})}),ie(w,"handleItemMouseLeave",function(){w.setState(function(){return{isTooltipActive:!1}})}),ie(w,"handleMouseMove",function(O){O.persist(),w.throttleTriggeredAfterMouseMove(O)}),ie(w,"handleMouseLeave",function(O){w.throttleTriggeredAfterMouseMove.cancel();var j={isTooltipActive:!1};w.setState(j),w.triggerSyncEvent(j);var E=w.props.onMouseLeave;oe(E)&&E(j,O)}),ie(w,"handleOuterEvent",function(O){var j=G8(O),E=wr(w.props,"".concat(j));if(j&&oe(E)){var A,T;/.*touch.*/i.test(j)?T=w.getMouseInfo(O.changedTouches[0]):T=w.getMouseInfo(O),E((A=T)!==null&&A!==void 0?A:{},O)}}),ie(w,"handleClick",function(O){var j=w.getMouseInfo(O);if(j){var E=B(B({},j),{},{isTooltipActive:!0});w.setState(E),w.triggerSyncEvent(E);var A=w.props.onClick;oe(A)&&A(E,O)}}),ie(w,"handleMouseDown",function(O){var j=w.props.onMouseDown;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleMouseUp",function(O){var j=w.props.onMouseUp;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleTouchMove",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.throttleTriggeredAfterMouseMove(O.changedTouches[0])}),ie(w,"handleTouchStart",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseDown(O.changedTouches[0])}),ie(w,"handleTouchEnd",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseUp(O.changedTouches[0])}),ie(w,"handleDoubleClick",function(O){var j=w.props.onDoubleClick;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleContextMenu",function(O){var j=w.props.onContextMenu;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"triggerSyncEvent",function(O){w.props.syncId!==void 0&&wv.emit(Sv,w.props.syncId,O,w.eventEmitterSymbol)}),ie(w,"applySyncEvent",function(O){var j=w.props,E=j.layout,A=j.syncMethod,T=w.state.updateId,_=O.dataStartIndex,N=O.dataEndIndex;if(O.dataStartIndex!==void 0||O.dataEndIndex!==void 0)w.setState(B({dataStartIndex:_,dataEndIndex:N},p({props:w.props,dataStartIndex:_,dataEndIndex:N,updateId:T},w.state)));else if(O.activeTooltipIndex!==void 0){var M=O.chartX,R=O.chartY,I=O.activeTooltipIndex,D=w.state,z=D.offset,C=D.tooltipTicks;if(!z)return;if(typeof A=="function")I=A(C,O);else if(A==="value"){I=-1;for(var F=0;F=0){var le,U;if(M.dataKey&&!M.allowDuplicatedCategory){var Ze=typeof M.dataKey=="function"?se:"payload.".concat(M.dataKey.toString());le=Md(F,Ze,I),U=W&&V&&Md(V,Ze,I)}else le=F==null?void 0:F[R],U=W&&V&&V[R];if(Ke||be){var ge=O.props.activeIndex!==void 0?O.props.activeIndex:R;return[P.cloneElement(O,B(B(B({},A.props),Pt),{},{activeIndex:ge})),null,null]}if(!ae(le))return[G].concat(rl(w.renderActivePoints({item:A,activePoint:le,basePoint:U,childIndex:R,isRange:W})))}else{var ct,ft=(ct=w.getItemByXY(w.state.activeCoordinate))!==null&&ct!==void 0?ct:{graphicalItem:G},er=ft.graphicalItem,ci=er.item,jo=ci===void 0?O:ci,Vc=er.childIndex,la=B(B(B({},A.props),Pt),{},{activeIndex:Vc});return[P.cloneElement(jo,la),null,null]}return W?[G,null,null]:[G,null]}),ie(w,"renderCustomized",function(O,j,E){return P.cloneElement(O,B(B({key:"recharts-customized-".concat(E)},w.props),w.state))}),ie(w,"renderMap",{CartesianGrid:{handler:kf,once:!0},ReferenceArea:{handler:w.renderReferenceElement},ReferenceLine:{handler:kf},ReferenceDot:{handler:w.renderReferenceElement},XAxis:{handler:kf},YAxis:{handler:kf},Brush:{handler:w.renderBrush,once:!0},Bar:{handler:w.renderGraphicChild},Line:{handler:w.renderGraphicChild},Area:{handler:w.renderGraphicChild},Radar:{handler:w.renderGraphicChild},RadialBar:{handler:w.renderGraphicChild},Scatter:{handler:w.renderGraphicChild},Pie:{handler:w.renderGraphicChild},Funnel:{handler:w.renderGraphicChild},Tooltip:{handler:w.renderCursor,once:!0},PolarGrid:{handler:w.renderPolarGrid,once:!0},PolarAngleAxis:{handler:w.renderPolarAxis},PolarRadiusAxis:{handler:w.renderPolarAxis},Customized:{handler:w.renderCustomized}}),w.clipPathId="".concat((b=x.id)!==null&&b!==void 0?b:po("recharts"),"-clip"),w.throttleTriggeredAfterMouseMove=zk(w.triggeredAfterMouseMove,(S=x.throttleDelay)!==null&&S!==void 0?S:1e3/60),w.state={},w}return zce(y,g),Rce(y,[{key:"componentDidMount",value:function(){var b,S;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(b=this.props.margin.left)!==null&&b!==void 0?b:0,top:(S=this.props.margin.top)!==null&&S!==void 0?S:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var b=this.props,S=b.children,w=b.data,O=b.height,j=b.layout,E=yr(S,_t);if(E){var A=E.props.defaultIndex;if(!(typeof A!="number"||A<0||A>this.state.tooltipTicks.length-1)){var T=this.state.tooltipTicks[A]&&this.state.tooltipTicks[A].value,_=T0(this.state,w,A,T),N=this.state.tooltipTicks[A].coordinate,M=(this.state.offset.top+O)/2,R=j==="horizontal",I=R?{x:N,y:M}:{y:N,x:M},D=this.state.formattedGraphicalItems.find(function(C){var F=C.item;return F.type.name==="Scatter"});D&&(I=B(B({},I),D.props.points[A].tooltipPosition),_=D.props.points[A].tooltipPayload);var z={activeTooltipIndex:A,isTooltipActive:!0,activeLabel:T,activePayload:_,activeCoordinate:I};this.setState(z),this.renderCursor(E),this.accessibilityManager.setIndex(A)}}}},{key:"getSnapshotBeforeUpdate",value:function(b,S){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==S.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==b.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==b.margin){var w,O;this.accessibilityManager.setDetails({offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(O=this.props.margin.top)!==null&&O!==void 0?O:0}})}return null}},{key:"componentDidUpdate",value:function(b){rg([yr(b.children,_t)],[yr(this.props.children,_t)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var b=yr(this.props.children,_t);if(b&&typeof b.props.shared=="boolean"){var S=b.props.shared?"axis":"item";return s.indexOf(S)>=0?S:a}return a}},{key:"getMouseInfo",value:function(b){if(!this.container)return null;var S=this.container,w=S.getBoundingClientRect(),O=wX(w),j={chartX:Math.round(b.pageX-O.left),chartY:Math.round(b.pageY-O.top)},E=w.width/S.offsetWidth||1,A=this.inRange(j.chartX,j.chartY,E);if(!A)return null;var T=this.state,_=T.xAxisMap,N=T.yAxisMap,M=this.getTooltipEventType(),R=oE(this.state,this.props.data,this.props.layout,A);if(M!=="axis"&&_&&N){var I=Si(_).scale,D=Si(N).scale,z=I&&I.invert?I.invert(j.chartX):null,C=D&&D.invert?D.invert(j.chartY):null;return B(B({},j),{},{xValue:z,yValue:C},R)}return R?B(B({},j),R):null}},{key:"inRange",value:function(b,S){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,O=this.props.layout,j=b/w,E=S/w;if(O==="horizontal"||O==="vertical"){var A=this.state.offset,T=j>=A.left&&j<=A.left+A.width&&E>=A.top&&E<=A.top+A.height;return T?{x:j,y:E}:null}var _=this.state,N=_.angleAxisMap,M=_.radiusAxisMap;if(N&&M){var R=Si(N);return Cj({x:j,y:E},R)}return null}},{key:"parseEventsOfWrapper",value:function(){var b=this.props.children,S=this.getTooltipEventType(),w=yr(b,_t),O={};w&&S==="axis"&&(w.props.trigger==="click"?O={onClick:this.handleClick}:O={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 j=Id(this.props,this.handleOuterEvent);return B(B({},j),O)}},{key:"addListener",value:function(){wv.on(Sv,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){wv.removeListener(Sv,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(b,S,w){for(var O=this.state.formattedGraphicalItems,j=0,E=O.length;j{const i=ife.find(s=>s.value===t);if(!i)return[];const a=new Date,o=new Map;for(let s=0;s{const l=new Date(s.createdAt),u=qi(Jy(l),"yyyy-MM-dd"),c=o.get(u)||0;o.set(u,c+1)}),Array.from(o.entries()).map(([s,l])=>({date:s,experiments:l,displayDate:qi(new Date(s),"MMM dd")})).sort((s,l)=>s.date.localeCompare(l.date))},[e,t]),n=P.useMemo(()=>e.length,[e]);return d.jsxs("div",{className:"space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Experiments Timeline"}),d.jsxs("div",{className:"text-xs text-muted-foreground",children:["Total: ",n]})]}),d.jsx(Zi,{width:"100%",height:260,children:d.jsxs(sm,{data:r,margin:{left:0,right:15,top:15,bottom:15},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e2e8f0",opacity:.5}),d.jsx(ri,{dataKey:"displayDate",tick:{fontSize:10},angle:-45,textAnchor:"end",height:70}),d.jsx(ni,{tick:{fontSize:10},width:40,label:{value:"Count",angle:-90,position:"insideLeft",offset:8,style:{textAnchor:"middle",fontSize:11}}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"12px"},content:({active:i,payload:a,label:o})=>{if(!i||!a||!a.length)return null;const s=a[0].payload;return d.jsxs("div",{className:"bg-card border border-border rounded-md p-2 shadow-sm",children:[d.jsx("div",{className:"text-xs font-medium mb-1.5",children:o}),d.jsx("div",{className:"space-y-0.5 text-xs",children:d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-purple-400"}),d.jsx("span",{className:"text-muted-foreground",children:"Launched:"}),d.jsx("span",{className:"font-medium ml-auto",children:s.experiments})]})})]})}}),d.jsx(Br,{wrapperStyle:{fontSize:"11px"},iconType:"circle",iconSize:8}),d.jsx(_n,{type:"monotone",dataKey:"experiments",stroke:"#a78bfa",strokeWidth:2,dot:{fill:"#a78bfa",r:3},activeDot:{r:5},name:"Launched"})]})})]})}const uE={COMPLETED:"#22c55e",RUNNING:"#3b82f6",FAILED:"#ef4444",PENDING:"#eab308",CANCELLED:"#6b7280",UNKNOWN:"#a78bfa"};function ofe({experiments:e}){const t=P.useMemo(()=>{const r=new Map;return e.forEach(n=>{const i=n.status,a=r.get(i)||0;r.set(i,a+1)}),Array.from(r.entries()).map(([n,i])=>({name:n,value:i,color:uE[n]||uE.UNKNOWN})).sort((n,i)=>i.value-n.value)},[e]);return t.length===0?d.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"No data available"}):d.jsxs("div",{className:"space-y-3",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Experiments Distribution"}),d.jsx(Zi,{width:"100%",height:220,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:t,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:58,label:({name:r,value:n})=>`${r}: ${n}`,style:{fontSize:"11px"},children:t.map((r,n)=>d.jsx(mo,{fill:r.color},`cell-${n}`))}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"11px"}}),d.jsx(Br,{wrapperStyle:{fontSize:"11px"}})]})})]})}const sfe=[{value:"7days",label:"7 Days",days:7},{value:"1month",label:"1 Month",days:30},{value:"3months",label:"3 Months",days:90}];function lfe({data:e,timeRange:t}){const r=P.useMemo(()=>{const o=sfe.find(u=>u.value===t);if(!o)return[];const s=new Date,l=new Map;for(let u=0;u{const c=qi(new Date(u.date),"yyyy-MM-dd");l.has(c)&&l.set(c,{totalTokens:u.totalTokens,inputTokens:u.inputTokens,outputTokens:u.outputTokens})}),Array.from(l.entries()).map(([u,c])=>({date:u,displayDate:qi(new Date(u),"MMM dd"),totalTokens:c.totalTokens,inputTokens:c.inputTokens,outputTokens:c.outputTokens})).sort((u,c)=>u.date.localeCompare(c.date))},[e,t]),n=P.useMemo(()=>r.reduce((o,s)=>o+s.totalTokens,0),[r]),i=P.useMemo(()=>r.reduce((o,s)=>o+s.inputTokens,0),[r]),a=P.useMemo(()=>r.reduce((o,s)=>o+s.outputTokens,0),[r]);return d.jsxs("div",{className:"space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Token Usage"}),d.jsxs("div",{className:"text-xs text-muted-foreground",children:["Total: ",n.toLocaleString()," (",i.toLocaleString(),"↓ ",a.toLocaleString(),"↑)"]})]}),d.jsx(Zi,{width:"100%",height:260,children:d.jsxs(sm,{data:r,margin:{left:0,right:15,top:15,bottom:15},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e2e8f0",opacity:.5}),d.jsx(ri,{dataKey:"displayDate",tick:{fontSize:10},angle:-45,textAnchor:"end",height:70}),d.jsx(ni,{tick:{fontSize:10},width:40,tickFormatter:o=>o>=1e6?`${(o/1e6).toFixed(1)}M`:o>=1e3?`${(o/1e3).toFixed(1)}K`:o.toString(),label:{value:"Tokens",angle:-90,position:"insideLeft",offset:8,style:{textAnchor:"middle",fontSize:11}}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"12px"},content:({active:o,payload:s,label:l})=>{if(!o||!s||!s.length)return null;const u=s[0].payload;return d.jsxs("div",{className:"bg-card border border-border rounded-md p-2 shadow-sm",children:[d.jsx("div",{className:"text-xs font-medium mb-1.5",children:l}),d.jsxs("div",{className:"space-y-0.5 text-xs",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Total:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.totalTokens.toLocaleString()})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Input:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.inputTokens.toLocaleString()})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-orange-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Output:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.outputTokens.toLocaleString()})]})]})]})}}),d.jsx(Br,{wrapperStyle:{fontSize:"11px"},iconType:"circle",iconSize:8}),d.jsx(_n,{type:"monotone",dataKey:"totalTokens",stroke:"#3b82f6",strokeWidth:2,dot:{fill:"#3b82f6",r:3},activeDot:{r:5},name:"Total"}),d.jsx(_n,{type:"monotone",dataKey:"inputTokens",stroke:"#10b981",strokeWidth:2,dot:{fill:"#10b981",r:3},activeDot:{r:5},name:"Input"}),d.jsx(_n,{type:"monotone",dataKey:"outputTokens",stroke:"#f59e0b",strokeWidth:2,dot:{fill:"#f59e0b",r:3},activeDot:{r:5},name:"Output"})]})})]})}const cE=[{value:"7days",label:"7 Days",days:7},{value:"1month",label:"1 Month",days:30},{value:"3months",label:"3 Months",days:90}];function ufe(){var f;const{selectedTeamId:e}=fo(),[t,r]=P.useState("7days"),{data:n,isLoading:i}=T5(e||""),{data:a,isLoading:o}=eB(e||"",{enabled:!!e}),s=((f=cE.find(h=>h.value===t))==null?void 0:f.days)||30,{data:l,isLoading:u}=tB(e||"",s),c=P.useMemo(()=>{if(!a)return[];const h=new Date,p=t==="7days"?Wx(h,7):t==="1month"?Zy(h,1):Zy(h,3);return a.filter(v=>{const m=new Date(v.createdAt);return m>=p&&m<=h})},[a,t]);return d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"pb-2 border-b",children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Dashboard"}),e&&d.jsxs("p",{className:"mt-0.5 text-muted-foreground font-mono text-xs",children:["TeamID: ",e]})]}),d.jsx("div",{children:d.jsx("h2",{className:"text-base font-semibold text-foreground mb-2",children:"Overview"})}),i?d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-2.5",children:[d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"})]}):d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-2.5",children:[d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"PROJECTS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalProjects)||0})]}),d.jsx("div",{className:"p-1.5 bg-blue-100 rounded-lg",children:d.jsx(iN,{className:"h-3.5 w-3.5 text-blue-600"})})]})})}),d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"EXPERIMENTS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalExperiments)||0})]}),d.jsx("div",{className:"p-1.5 bg-purple-100 rounded-lg",children:d.jsx(yF,{className:"h-3.5 w-3.5 text-purple-600"})})]})})}),d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"RUNS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalRuns)||0})]}),d.jsx("div",{className:"p-1.5 bg-green-100 rounded-lg",children:d.jsx(TF,{className:"h-3.5 w-3.5 text-green-600"})})]})})})]}),d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h2",{className:"text-base font-semibold text-foreground",children:"Activity"}),d.jsx("div",{className:"flex gap-1",children:cE.map(h=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(h.value),className:`h-8 px-2.5 text-xs transition-colors ${t===h.value?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:h.label},h.value))})]}),d.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[d.jsx(de,{children:d.jsx(he,{className:"p-4",children:o?d.jsx(Te,{className:"h-56 w-full"}):c&&c.length>0?d.jsx(ofe,{experiments:c}):d.jsx("div",{className:"flex h-56 items-center justify-center text-sm text-muted-foreground",children:"No experiments data available for this time range"})})}),d.jsx(de,{children:d.jsx(he,{className:"p-4",children:o?d.jsx(Te,{className:"h-56 w-full"}):c&&c.length>0?d.jsx(afe,{experiments:c,timeRange:t}):d.jsx("div",{className:"flex h-56 items-center justify-center text-sm text-muted-foreground",children:"No experiments data available for this time range"})})})]}),d.jsx(de,{children:d.jsx(he,{className:"p-4",children:u?d.jsx(Te,{className:"h-80 w-full"}):l?d.jsx(lfe,{data:l,timeRange:t}):d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"No token usage data available for this time range"})})})]})]})}const xo=P.forwardRef(({className:e,...t},r)=>d.jsx("div",{className:"relative w-full overflow-auto",children:d.jsx("table",{ref:r,className:Oe("w-full caption-bottom text-sm",e),...t})}));xo.displayName="Table";const bo=P.forwardRef(({className:e,...t},r)=>d.jsx("thead",{ref:r,className:Oe("[&_tr]:border-b",e),...t}));bo.displayName="TableHeader";const wo=P.forwardRef(({className:e,...t},r)=>d.jsx("tbody",{ref:r,className:Oe("[&_tr:last-child]:border-0",e),...t}));wo.displayName="TableBody";const cfe=P.forwardRef(({className:e,...t},r)=>d.jsx("tfoot",{ref:r,className:Oe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));cfe.displayName="TableFooter";const Or=P.forwardRef(({className:e,...t},r)=>d.jsx("tr",{ref:r,className:Oe("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Or.displayName="TableRow";const Re=P.forwardRef(({className:e,...t},r)=>d.jsx("th",{ref:r,className:Oe("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));Re.displayName="TableHead";const Le=P.forwardRef(({className:e,...t},r)=>d.jsx("td",{ref:r,className:Oe("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));Le.displayName="TableCell";const ffe=P.forwardRef(({className:e,...t},r)=>d.jsx("caption",{ref:r,className:Oe("mt-4 text-sm text-muted-foreground",e),...t}));ffe.displayName="TableCaption";const So=P.forwardRef(({className:e,type:t,...r},n)=>d.jsx("input",{type:t,className:Oe("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium 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,...r}));So.displayName="Input";const fE=20;function dfe(){const{selectedTeamId:e}=fo(),[t,r]=P.useState(1),[n,i]=P.useState(""),{data:a,isLoading:o,error:s}=fp(e||"",{page:t-1,pageSize:fE,enabled:!!e}),l=P.useMemo(()=>{if(!a)return[];let u=[...a];if(n.trim()){const c=n.toLowerCase();u=u.filter(f=>{var h,p,v;return((h=f.name)==null?void 0:h.toLowerCase().includes(c))||((p=f.description)==null?void 0:p.toLowerCase().includes(c))||((v=f.id)==null?void 0:v.toLowerCase().includes(c))})}return u.sort((c,f)=>new Date(f.createdAt).getTime()-new Date(c.createdAt).getTime()),u},[a,n]);return o?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-64 w-full"})]}):e?s?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load projects"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:s.message})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsx("div",{children:d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Projects"})}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("div",{className:"flex gap-2 mb-3 items-center",children:d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search projects...",value:n,onChange:u=>i(u.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]})}),!a||a.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No projects found"}):l.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No projects match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"UUID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"})]})}),d.jsx(wo,{children:l.map(u=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 font-mono text-sm",children:d.jsx(Tn,{to:`/projects/${u.id}`,className:"text-primary font-medium hover:underline",children:u.id})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:u.name||"Unnamed Project"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:u.description||"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(u.createdAt),{addSuffix:!0})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(u.updatedAt),{addSuffix:!0})})]},u.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",t]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{r(t-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:t===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{r(t+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:a.lengthd.jsx(Qb.Provider,{value:{value:t,onValueChange:r},children:d.jsx("div",{ref:i,className:Oe("w-full",e),...n})}));lm.displayName="Tabs";const um=P.forwardRef(({className:e,...t},r)=>d.jsx("div",{ref:r,className:Oe("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));um.displayName="TabsList";const io=P.forwardRef(({className:e,value:t,...r},n)=>{const i=P.useContext(Qb);if(!i)throw new Error("TabsTrigger must be used within Tabs");const a=i.value===t;return d.jsx("button",{ref:n,className:Oe("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",a?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground",e),onClick:()=>i.onValueChange(t),...r})});io.displayName="TabsTrigger";const ao=P.forwardRef(({className:e,value:t,...r},n)=>{const i=P.useContext(Qb);if(!i)throw new Error("TabsContent must be used within Tabs");return i.value!==t?null:d.jsx("div",{ref:n,className:Oe("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...r})});ao.displayName="TabsContent";const hfe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"default",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"},dE=20;function pfe(){const{id:e}=np(),[t,r]=P.useState("overview"),[n,i]=P.useState(1),[a,o]=P.useState(""),[s,l]=P.useState("ALL"),{data:u,isLoading:c,error:f}=bN(e),{data:h,isLoading:p,error:v}=Nd(e,{page:n-1,pageSize:dE,enabled:!!e}),{data:m}=Nd(e,{page:0,pageSize:1e3,enabled:!!e}),g=P.useMemo(()=>{if(!h)return[];let x=[...h];if(a.trim()){const b=a.toLowerCase();x=x.filter(S=>{var w,O,j;return((w=S.name)==null?void 0:w.toLowerCase().includes(b))||((O=S.description)==null?void 0:O.toLowerCase().includes(b))||((j=S.id)==null?void 0:j.toLowerCase().includes(b))})}return s!=="ALL"&&(x=x.filter(b=>b.status===s)),x.sort((b,S)=>new Date(S.createdAt).getTime()-new Date(b.createdAt).getTime()),x},[h,a,s]),y=P.useMemo(()=>!m||m.length===0?[]:[{name:"COMPLETED",value:m.filter(b=>b.status==="COMPLETED").length,color:"#22c55e"},{name:"RUNNING",value:m.filter(b=>b.status==="RUNNING").length,color:"#3b82f6"},{name:"FAILED",value:m.filter(b=>b.status==="FAILED").length,color:"#ef4444"},{name:"PENDING",value:m.filter(b=>b.status==="PENDING").length,color:"#eab308"},{name:"CANCELLED",value:m.filter(b=>b.status==="CANCELLED").length,color:"#6b7280"},{name:"UNKNOWN",value:m.filter(b=>b.status==="UNKNOWN").length,color:"#a78bfa"}].filter(b=>b.value>0),[m]);return c?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-64 w-full"})]}):f||!u?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load project"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(f==null?void 0:f.message)||"Project not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:u.name||"Unnamed Project"}),d.jsx("p",{className:"mt-0.5 text-muted-foreground font-mono text-sm",children:u.id})]}),d.jsxs(lm,{value:t,onValueChange:r,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"experiments",children:"Experiments"})]}),d.jsx(ao,{value:"overview",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Details"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[u.description&&d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.description})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.createdAt),{addSuffix:!0})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.updatedAt),{addSuffix:!0})})]})]}),u.meta&&Object.keys(u.meta).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.meta).map(([x,b])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:x}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof b=="string"?b:JSON.stringify(b)})]},x))})]}),m&&m.length>0&&y.length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsxs("h3",{className:"text-base font-semibold mb-6",children:["Statistics (",m.length," experiments)"]}),d.jsx(Zi,{width:"100%",height:180,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:y,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:48,label:({name:x,value:b})=>`${x}: ${b}`,style:{fontSize:"12px"},children:y.map((x,b)=>d.jsx(mo,{fill:x.color},`cell-${b}`))}),d.jsx(_t,{}),d.jsx(Br,{wrapperStyle:{fontSize:"12px"}})]})})]})]})})}),d.jsx(ao,{value:"experiments",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search experiments...",value:a,onChange:x=>o(x.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(x=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l(x),className:`h-8 px-2.5 text-xs transition-colors ${s===x?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:x},x))})]}),p?d.jsx(Te,{className:"h-24 w-full"}):v?d.jsxs("div",{className:"rounded-lg border border-destructive/50 bg-destructive/10 p-3",children:[d.jsx("p",{className:"text-sm font-medium text-destructive",children:"Failed to load experiments"}),d.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:v.message})]}):!h||h.length===0?d.jsxs("div",{className:"flex flex-col items-center justify-center h-24 text-center",children:[d.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"No experiments found"}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Create experiments using the AlphaTrion SDK"})]}):g.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No experiments match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"UUID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:g.map(x=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${x.id}`,className:"font-mono text-primary font-medium hover:underline",children:x.id})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:x.name}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:hfe[x.status],className:"text-xs px-2 py-0.5",children:x.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground tabular-nums",children:x.duration>0?`${x.duration.toFixed(2)}s`:"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(x.createdAt),{addSuffix:!0})})]},x.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",n]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:n===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:h.length{if(!l)return[];let p=[...l];if(n.trim()){const v=n.toLowerCase();p=p.filter(m=>{var g,y,x,b;return((g=m.name)==null?void 0:g.toLowerCase().includes(v))||((y=m.description)==null?void 0:y.toLowerCase().includes(v))||((x=m.id)==null?void 0:x.toLowerCase().includes(v))||((b=m.projectId)==null?void 0:b.toLowerCase().includes(v))})}return t!=="ALL"&&(p=p.filter(v=>v.status===t)),p.sort((v,m)=>new Date(m.createdAt).getTime()-new Date(v.createdAt).getTime()),p},[l,t,n]),f=o||u;return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Experiments"}),d.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Browse and manage experiments"})]}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search experiments...",value:n,onChange:p=>i(p.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(p=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(p),className:`h-8 px-2.5 text-xs transition-colors ${t===p?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:p},p))})]}),f?d.jsx(Te,{className:"h-24 w-full"}):!c||c.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:n.trim()?"No experiments match your search":t!=="ALL"?`No ${t} experiments found`:"No experiments found"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Experiment ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Project ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:c.map(p=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:p.name}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${p.id}`,className:"font-mono text-primary font-medium hover:underline",children:p.id})}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/projects/${p.projectId}`,className:"font-mono text-primary font-medium hover:underline",children:p.projectId})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:mfe[p.status],className:"text-xs px-2 py-0.5",children:p.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground tabular-nums",children:p.duration>0?`${p.duration.toFixed(2)}s`:"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(p.createdAt),{addSuffix:!0})})]},p.id))})]})]})})]})}function y2(e){const{data:t,...r}=dp(e),n=P.useMemo(()=>{const i={};return((t==null?void 0:t.metrics)||[]).forEach(o=>{const s=o.key||"unknown";i[s]||(i[s]=[]),i[s].push(o)}),Object.keys(i).forEach(o=>{i[o].sort((s,l)=>new Date(s.createdAt).getTime()-new Date(l.createdAt).getTime())}),i},[t==null?void 0:t.metrics]);return{...r,data:n,metricKeys:Object.keys(n)}}const yfe="modulepreload",gfe=function(e){return"/static/"+e},hE={},xfe=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),s=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=Promise.allSettled(r.map(l=>{if(l=gfe(l),l in hE)return;hE[l]=!0;const u=l.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${c}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":yfe,u||(f.as="script"),f.crossOrigin="",f.href=l,s&&f.setAttribute("nonce",s),document.head.appendChild(f),u)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function a(o){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o}return i.then(o=>{for(const s of o||[])s.status==="rejected"&&a(s.reason);return t().catch(a)})};function bfe(e){const{data:t,...r}=dp(e),{runMetrics:n,availableMetrics:i}=P.useMemo(()=>{const a=(t==null?void 0:t.metrics)||[];if(a.length===0)return{runMetrics:[],availableMetrics:[]};const o=new Map,s=new Set;[...a].sort((c,f)=>new Date(c.createdAt).getTime()-new Date(f.createdAt).getTime()).forEach(c=>{!c.key||c.value===null||(s.add(c.key),o.has(c.runId)||o.set(c.runId,new Map),o.get(c.runId).set(c.key,c.value))});const u=[];return o.forEach((c,f)=>{const h={};c.forEach((p,v)=>{h[v]=p}),u.push({runId:f,metrics:h})}),{runMetrics:u,availableMetrics:Array.from(s).sort()}},[t==null?void 0:t.metrics]);return{...r,runMetrics:n,availableMetrics:i}}function wfe(e,t,r){let n=!1;for(const i of r){const a=e.metrics[i.key],o=t.metrics[i.key];if(a===void 0||o===void 0)return!1;if(i.direction==="maximize"){if(ao&&(n=!0)}else{if(a>o)return!1;axfe(()=>import("./react-plotly-vwUBUZui.js").then(e=>e.r),[])),pi=["#0ea5e9","#8b5cf6","#ec4899","#f59e0b","#10b981","#ef4444","#6366f1","#14b8a6"],pE="#10b981",mE="#9ca3af",vE="#f59e0b";function jfe({metrics:e,experimentId:t,title:r="Metrics",description:n}){const i=Object.keys(e),[a,o]=P.useState(i[0]||""),[s,l]=P.useState("timeline"),[u,c]=P.useState([]),{runMetrics:f,availableMetrics:h}=bfe(t),p=P.useMemo(()=>{const j=[];return Object.values(e).forEach(E=>{j.push(...E)}),j.length===0?null:j[0].runId},[e]),v=P.useMemo(()=>u.length===0?f:f.filter(j=>u.every(E=>j.metrics[E.key]!==void 0)),[f,u]),m=P.useMemo(()=>u.length<2||v.length<2?new Set:Sfe(v,u),[v,u]),g=P.useMemo(()=>{var E;if(i.length===0||!a)return[];const j=[];return e[a]&&e[a].forEach((A,T)=>{A.value!==null&&j.push({timestamp:new Date(A.createdAt).getTime(),index:T,time:qi(new Date(A.createdAt),"MMM dd HH:mm:ss"),value:A.value,runId:A.runId})}),j.sort((A,T)=>A.timestamp-T.timestamp),j.forEach((A,T)=>{A.index=T}),console.log("[MetricsChart] Selected key:",a),console.log("[MetricsChart] Total metrics for this key:",(E=e[a])==null?void 0:E.length),console.log("[MetricsChart] Total data points after processing:",j.length),console.log("[MetricsChart] All data points:",j),j},[e,i,a]),y=P.useMemo(()=>{if(u.length<2)return{all:[],paretoLine:[]};const j=u[0],E=u[1],A=u.length>=3?u[2]:void 0,T=v.map(N=>({runId:N.runId,x:N.metrics[j.key],y:N.metrics[E.key],z:A?N.metrics[A.key]:void 0,isParetoOptimal:m.has(N.runId),metrics:N.metrics})),_=T.filter(N=>N.isParetoOptimal).sort((N,M)=>N.x-M.x);return{all:T,paretoLine:_}},[v,u,m]),x=P.useMemo(()=>{if(u.length!==3||y.all.length===0)return null;const j=[...y.paretoLine].sort((N,M)=>N.x!==M.x?N.x-M.x:N.y!==M.y?N.y-M.y:(N.z||0)-(M.z||0)),E=y.all.find(N=>N.runId===p),A=j.filter(N=>N.runId!==p),T=y.all.filter(N=>!N.isParetoOptimal&&N.runId!==p),_=[{x:T.map(N=>N.x),y:T.map(N=>N.y),z:T.map(N=>N.z),mode:"markers",type:"scatter3d",name:"Dominated",showlegend:!1,marker:{size:5,color:mE,opacity:.4,symbol:"circle",line:{color:"#6b7280",width:1,opacity:.3}},customdata:T.map(N=>[N.runId,N.x,N.y,N.z]),hovertemplate:`Run: %{customdata[0]}
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#fafafa",bordercolor:"#d1d5db",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}},{x:A.map(N=>N.x),y:A.map(N=>N.y),z:A.map(N=>N.z),mode:"markers",type:"scatter3d",name:"Pareto Optimal",showlegend:!1,marker:{size:5,color:pE,symbol:"circle",opacity:.95,line:{color:"#059669",width:1,opacity:.8}},customdata:A.map(N=>[N.runId,N.x,N.y,N.z]),hovertemplate:`Run: %{customdata[0]}
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#f0fdf4",bordercolor:"#86efac",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}}];return E&&_.push({x:[E.x],y:[E.y],z:[E.z],mode:"markers",type:"scatter3d",name:"Start Point",showlegend:!1,marker:{size:5,color:vE,symbol:"circle",opacity:1,line:{color:"#d97706",width:1,opacity:1}},customdata:[[E.runId,E.x,E.y,E.z]],hovertemplate:`Run: %{customdata[0]} (StartPoint)
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#fef3c7",bordercolor:"#fcd34d",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}}),_},[y,u,p]),b=j=>{o(j)},S=j=>{u.length>=3||u.some(E=>E.key===j)||c([...u,{key:j,direction:"maximize"}])},w=j=>{c(u.filter(E=>E.key!==j))},O=j=>{c(u.map(E=>E.key===j?{...E,direction:E.direction==="maximize"?"minimize":"maximize"}:E))};return i.length===0?d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsx(Bt,{className:"text-sm",children:r}),n&&d.jsx(dr,{className:"text-xs",children:n})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-48 items-center justify-center text-sm text-muted-foreground",children:"No metrics data available"})})]}):d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx(Bt,{className:"text-sm",children:r}),n&&d.jsx(dr,{className:"text-xs",children:n})]}),d.jsxs("div",{className:"flex gap-1",children:[d.jsx(lt,{variant:s==="timeline"?"default":"outline",size:"sm",onClick:()=>l("timeline"),className:"h-7 px-3 text-xs",children:"Timeline"}),d.jsx(lt,{variant:s==="pareto"?"default":"outline",size:"sm",onClick:()=>l("pareto"),className:"h-7 px-3 text-xs",children:"Pareto"})]})]}),s==="timeline"?d.jsx("div",{className:"flex flex-wrap gap-1.5 pt-3",children:i.map((j,E)=>d.jsx(jr,{variant:a===j?"default":"outline",className:"cursor-pointer text-xs px-2 py-0.5",style:{backgroundColor:a===j?pi[E%pi.length]:void 0},onClick:()=>b(j),children:j},j))}):d.jsxs("div",{className:"space-y-2 pt-3",children:[d.jsx("div",{className:"flex flex-wrap gap-1.5",children:h.map((j,E)=>{const A=u.find(_=>_.key===j),T=(A==null?void 0:A.direction)==="maximize";return d.jsxs(jr,{variant:A?"default":"outline",className:"cursor-pointer text-xs px-2 py-1 transition-colors relative",style:{backgroundColor:A?pi[E%pi.length]:void 0,borderColor:A?pi[E%pi.length]:void 0},onClick:()=>{A?O(j):u.length<3&&S(j)},onContextMenu:_=>{_.preventDefault(),A&&w(j)},children:[j,A&&d.jsx("span",{className:"ml-1 text-[10px] opacity-90",children:T?"↑":"↓"})]},j)})}),u.length>0&&d.jsx("div",{className:"text-xs text-gray-500 italic",children:"Click: toggle direction ↑↓ • Right-click: remove"}),d.jsx("div",{className:"text-xs text-muted-foreground",children:u.length===0?d.jsx("span",{children:"Click metrics to select (up to 3)"}):u.length<2?d.jsx("span",{children:"Select at least 2 metrics for analysis"}):d.jsxs("div",{className:"flex items-center gap-4",children:[d.jsxs("span",{children:["Runs: ",v.length]}),m.size>0&&d.jsxs("span",{className:"text-emerald-600 font-medium",children:["Pareto Optimal: ",m.size]})]})})]})]}),d.jsx(he,{className:"pt-0",children:s==="timeline"?a?d.jsx(Zi,{width:"100%",height:280,children:d.jsxs(sm,{data:g,margin:{top:5,right:20,left:10,bottom:5},onClick:j=>{if(j&&j.activePayload&&j.activePayload[0]){const E=j.activePayload[0].payload;E.runId&&window.open(`/runs/${E.runId}`,"_blank")}},children:[d.jsx(Ys,{strokeDasharray:"3 3"}),d.jsx(ri,{dataKey:"index",label:{value:"Index",position:"insideBottom",offset:-5,style:{fontSize:12}},type:"number",domain:["dataMin","dataMax"],tick:{fontSize:11}}),d.jsx(ni,{label:{value:"Value",angle:-90,position:"insideLeft",style:{fontSize:12}},tick:{fontSize:11}}),d.jsx(_t,{cursor:{strokeDasharray:"5 5",stroke:"#94a3b8",strokeWidth:1},contentStyle:{backgroundColor:"transparent",border:"none",padding:0},content:({active:j,payload:E})=>{if(!j||!E||E.length===0)return null;const A=E[0].payload;return A.runId?d.jsxs("div",{style:{backgroundColor:"#f9fafb",border:"1px solid #d1d5db",borderRadius:"6px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)",fontFamily:"system-ui, -apple-system, sans-serif",lineHeight:"1.4"},children:[d.jsxs("div",{style:{fontWeight:600,fontSize:"12px"},children:["Run: ",A.runId]}),d.jsxs("div",{style:{fontSize:"12px"},children:[a,": ",typeof A.value=="number"?A.value.toFixed(4):A.value]})]}):null}}),d.jsx(_n,{type:"monotone",dataKey:"value",name:a,stroke:pi[i.indexOf(a)%pi.length],strokeWidth:2,dot:{r:3,style:{cursor:"pointer"}},activeDot:{r:5,style:{cursor:"pointer"}},connectNulls:!0})]})}):d.jsx("div",{className:"flex h-48 items-center justify-center text-sm text-muted-foreground",children:"Select a metric to display"}):u.length<2?d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"Select at least 2 metrics for Pareto analysis"}):y.all.length===0?d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"No runs with complete data for selected metrics"}):u.length===3?d.jsxs("div",{className:"w-full h-[550px] rounded-lg overflow-hidden",style:{background:"linear-gradient(135deg, #fafafa 0%, #f3f4f6 100%)"},children:[d.jsx("style",{children:` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function h2(e,t){if(e){if(typeof e=="string")return _0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _0(e,t)}}function Wce(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Hce(e){if(Array.isArray(e))return _0(e)}function _0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?o:t&&t.length&&q(i)&&q(a)?t.slice(i,a+1):[]};function v2(e){return e==="number"?[0,"auto"]:void 0}var T0=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,s=om(r,t);return n<0||!a||!a.length||n>=s.length?null:a.reduce(function(l,u){var c,f=(c=u.props.data)!==null&&c!==void 0?c:r;f&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(f=f.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var p=f===void 0?s:f;h=Md(p,o.dataKey,i)}else h=f&&f[n]||s[n];return h?[].concat(rl(l),[QC(u,h)]):l},[])},oE=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=Gce(a,n),s=t.orderedTooltipTicks,l=t.tooltipAxis,u=t.tooltipTicks,c=Vee(o,s,u,l);if(c>=0&&u){var f=u[c]&&u[c].value,h=T0(t,r,c,f),p=Yce(n,s,c,a);return{activeTooltipIndex:c,activeLabel:f,activePayload:h,activeCoordinate:p}}return null},Xce=function(t,r){var n=r.axes,i=r.graphicalItems,a=r.axisType,o=r.axisIdKey,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.layout,f=t.children,h=t.stackOffset,p=KC(c,a);return n.reduce(function(v,m){var g,y=m.type.defaultProps!==void 0?B(B({},m.type.defaultProps),m.props):m.props,x=y.type,b=y.dataKey,S=y.allowDataOverflow,w=y.allowDuplicatedCategory,O=y.scale,j=y.ticks,E=y.includeHidden,A=y[o];if(v[A])return v;var T=om(t.data,{graphicalItems:i.filter(function(H){var Y,re=o in H.props?H.props[o]:(Y=H.type.defaultProps)===null||Y===void 0?void 0:Y[o];return re===A}),dataStartIndex:l,dataEndIndex:u}),_=T.length,N,M,R;Sce(y.domain,S,x)&&(N=zg(y.domain,null,S),p&&(x==="number"||O!=="auto")&&(R=cu(T,b,"category")));var I=v2(x);if(!N||N.length===0){var D,z=(D=y.domain)!==null&&D!==void 0?D:I;if(b){if(N=cu(T,b,x),x==="category"&&p){var C=I8(N);w&&C?(M=N,N=Oh(0,_)):w||(N=Tj(z,N,m).reduce(function(H,Y){return H.indexOf(Y)>=0?H:[].concat(rl(H),[Y])},[]))}else if(x==="category")w?N=N.filter(function(H){return H!==""&&!ae(H)}):N=Tj(z,N,m).reduce(function(H,Y){return H.indexOf(Y)>=0||Y===""||ae(Y)?H:[].concat(rl(H),[Y])},[]);else if(x==="number"){var F=Jee(T,i.filter(function(H){var Y,re,be=o in H.props?H.props[o]:(Y=H.type.defaultProps)===null||Y===void 0?void 0:Y[o],Ke="hide"in H.props?H.props.hide:(re=H.type.defaultProps)===null||re===void 0?void 0:re.hide;return be===A&&(E||!Ke)}),b,a,c);F&&(N=F)}p&&(x==="number"||O!=="auto")&&(R=cu(T,b,"category"))}else p?N=Oh(0,_):s&&s[A]&&s[A].hasStack&&x==="number"?N=h==="expand"?[0,1]:XC(s[A].stackGroups,l,u):N=HC(T,i.filter(function(H){var Y=o in H.props?H.props[o]:H.type.defaultProps[o],re="hide"in H.props?H.props.hide:H.type.defaultProps.hide;return Y===A&&(E||!re)}),x,c,!0);if(x==="number")N=E0(f,N,A,a,j),z&&(N=zg(z,N,S));else if(x==="category"&&z){var W=z,V=N.every(function(H){return W.indexOf(H)>=0});V&&(N=W)}}return B(B({},v),{},ie({},A,B(B({},y),{},{axisType:a,domain:N,categoricalDomain:R,duplicateDomain:M,originalDomain:(g=y.domain)!==null&&g!==void 0?g:I,isCategorical:p,layout:c})))},{})},Qce=function(t,r){var n=r.graphicalItems,i=r.Axis,a=r.axisType,o=r.axisIdKey,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.layout,f=t.children,h=om(t.data,{graphicalItems:n,dataStartIndex:l,dataEndIndex:u}),p=h.length,v=KC(c,a),m=-1;return n.reduce(function(g,y){var x=y.type.defaultProps!==void 0?B(B({},y.type.defaultProps),y.props):y.props,b=x[o],S=v2("number");if(!g[b]){m++;var w;return v?w=Oh(0,p):s&&s[b]&&s[b].hasStack?(w=XC(s[b].stackGroups,l,u),w=E0(f,w,b,a)):(w=zg(S,HC(h,n.filter(function(O){var j,E,A=o in O.props?O.props[o]:(j=O.type.defaultProps)===null||j===void 0?void 0:j[o],T="hide"in O.props?O.props.hide:(E=O.type.defaultProps)===null||E===void 0?void 0:E.hide;return A===b&&!T}),"number",c),i.defaultProps.allowDataOverflow),w=E0(f,w,b,a)),B(B({},g),{},ie({},b,B(B({axisType:a},i.defaultProps),{},{hide:!0,orientation:wr(qce,"".concat(a,".").concat(m%2),null),domain:w,originalDomain:S,isCategorical:v,layout:c})))}return g},{})},Jce=function(t,r){var n=r.axisType,i=n===void 0?"xAxis":n,a=r.AxisComp,o=r.graphicalItems,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.children,f="".concat(i,"Id"),h=Yt(c,a),p={};return h&&h.length?p=Xce(t,{axes:h,graphicalItems:o,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:l,dataEndIndex:u}):o&&o.length&&(p=Qce(t,{Axis:a,graphicalItems:o,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:l,dataEndIndex:u})),p},Zce=function(t){var r=Si(t),n=Kn(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:db(n,function(i){return i.coordinate}),tooltipAxis:r,tooltipAxisBandSize:uh(r,n)}},sE=function(t){var r=t.children,n=t.defaultShowTooltip,i=yr(r,Ws),a=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(a=i.props.startIndex),i.props.endIndex>=0&&(o=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:a,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!n}},efe=function(t){return!t||!t.length?!1:t.some(function(r){var n=Vn(r&&r.type);return n&&n.indexOf("Bar")>=0})},lE=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"}},tfe=function(t,r){var n=t.props,i=t.graphicalItems,a=t.xAxisMap,o=a===void 0?{}:a,s=t.yAxisMap,l=s===void 0?{}:s,u=n.width,c=n.height,f=n.children,h=n.margin||{},p=yr(f,Ws),v=yr(f,Br),m=Object.keys(l).reduce(function(w,O){var j=l[O],E=j.orientation;return!j.mirror&&!j.hide?B(B({},w),{},ie({},E,w[E]+j.width)):w},{left:h.left||0,right:h.right||0}),g=Object.keys(o).reduce(function(w,O){var j=o[O],E=j.orientation;return!j.mirror&&!j.hide?B(B({},w),{},ie({},E,wr(w,"".concat(E))+j.height)):w},{top:h.top||0,bottom:h.bottom||0}),y=B(B({},g),m),x=y.bottom;p&&(y.bottom+=p.props.height||Ws.defaultProps.height),v&&r&&(y=Xee(y,i,n,r));var b=u-y.left-y.right,S=c-y.top-y.bottom;return B(B({brushBottom:x},y),{},{width:Math.max(b,0),height:Math.max(S,0)})},rfe=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},Yb=function(t){var r=t.chartName,n=t.GraphicalChild,i=t.defaultTooltipEventType,a=i===void 0?"axis":i,o=t.validateTooltipEventTypes,s=o===void 0?["axis"]:o,l=t.axisComponents,u=t.legendContent,c=t.formatAxisMap,f=t.defaultProps,h=function(y,x){var b=x.graphicalItems,S=x.stackGroups,w=x.offset,O=x.updateId,j=x.dataStartIndex,E=x.dataEndIndex,A=y.barSize,T=y.layout,_=y.barGap,N=y.barCategoryGap,M=y.maxBarSize,R=lE(T),I=R.numericAxisName,D=R.cateAxisName,z=efe(b),C=[];return b.forEach(function(F,W){var V=om(y.data,{graphicalItems:[F],dataStartIndex:j,dataEndIndex:E}),H=F.type.defaultProps!==void 0?B(B({},F.type.defaultProps),F.props):F.props,Y=H.dataKey,re=H.maxBarSize,be=H["".concat(I,"Id")],Ke=H["".concat(D,"Id")],Se={},Pt=l.reduce(function(la,ua){var hm=x["".concat(ua.axisType,"Map")],aw=H["".concat(ua.axisType,"Id")];hm&&hm[aw]||ua.axisType==="zAxis"||ro();var ow=hm[aw];return B(B({},la),{},ie(ie({},ua.axisType,ow),"".concat(ua.axisType,"Ticks"),Kn(ow)))},Se),G=Pt[D],se=Pt["".concat(D,"Ticks")],le=S&&S[be]&&S[be].hasStack&&ste(F,S[be].stackGroups),U=Vn(F.type).indexOf("Bar")>=0,Ze=uh(G,se),ge=[],ct=z&&Gee({barSize:A,stackGroups:S,totalSize:rfe(Pt,D)});if(U){var ft,er,ci=ae(re)?M:re,jo=(ft=(er=uh(G,se,!0))!==null&&er!==void 0?er:ci)!==null&&ft!==void 0?ft:0;ge=Yee({barGap:_,barCategoryGap:N,bandSize:jo!==Ze?jo:Ze,sizeList:ct[Ke],maxBarSize:ci}),jo!==Ze&&(ge=ge.map(function(la){return B(B({},la),{},{position:B(B({},la.position),{},{offset:la.position.offset-jo/2})})}))}var Vc=F&&F.type&&F.type.getComposedData;Vc&&C.push({props:B(B({},Vc(B(B({},Pt),{},{displayedData:V,props:y,dataKey:Y,item:F,bandSize:Ze,barPosition:ge,offset:w,stackedData:le,layout:T,dataStartIndex:j,dataEndIndex:E}))),{},ie(ie(ie({key:F.key||"item-".concat(W)},I,Pt[I]),D,Pt[D]),"animationId",O)),childIndex:Y8(F,y.children),item:F})}),C},p=function(y,x){var b=y.props,S=y.dataStartIndex,w=y.dataEndIndex,O=y.updateId;if(!OS({props:b}))return null;var j=b.children,E=b.layout,A=b.stackOffset,T=b.data,_=b.reverseStackOrder,N=lE(E),M=N.numericAxisName,R=N.cateAxisName,I=Yt(j,n),D=ate(T,I,"".concat(M,"Id"),"".concat(R,"Id"),A,_),z=l.reduce(function(H,Y){var re="".concat(Y.axisType,"Map");return B(B({},H),{},ie({},re,Jce(b,B(B({},Y),{},{graphicalItems:I,stackGroups:Y.axisType===M&&D,dataStartIndex:S,dataEndIndex:w}))))},{}),C=tfe(B(B({},z),{},{props:b,graphicalItems:I}),x==null?void 0:x.legendBBox);Object.keys(z).forEach(function(H){z[H]=c(b,z[H],C,H.replace("Map",""),r)});var F=z["".concat(R,"Map")],W=Zce(F),V=h(b,B(B({},z),{},{dataStartIndex:S,dataEndIndex:w,updateId:O,graphicalItems:I,stackGroups:D,offset:C}));return B(B({formattedGraphicalItems:V,graphicalItems:I,offset:C,stackGroups:D},W),z)},v=function(g){function y(x){var b,S,w;return Ice(this,y),w=Lce(this,y,[x]),ie(w,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),ie(w,"accessibilityManager",new wce),ie(w,"handleLegendBBoxUpdate",function(O){if(O){var j=w.state,E=j.dataStartIndex,A=j.dataEndIndex,T=j.updateId;w.setState(B({legendBBox:O},p({props:w.props,dataStartIndex:E,dataEndIndex:A,updateId:T},B(B({},w.state),{},{legendBBox:O}))))}}),ie(w,"handleReceiveSyncEvent",function(O,j,E){if(w.props.syncId===O){if(E===w.eventEmitterSymbol&&typeof w.props.syncMethod!="function")return;w.applySyncEvent(j)}}),ie(w,"handleBrushChange",function(O){var j=O.startIndex,E=O.endIndex;if(j!==w.state.dataStartIndex||E!==w.state.dataEndIndex){var A=w.state.updateId;w.setState(function(){return B({dataStartIndex:j,dataEndIndex:E},p({props:w.props,dataStartIndex:j,dataEndIndex:E,updateId:A},w.state))}),w.triggerSyncEvent({dataStartIndex:j,dataEndIndex:E})}}),ie(w,"handleMouseEnter",function(O){var j=w.getMouseInfo(O);if(j){var E=B(B({},j),{},{isTooltipActive:!0});w.setState(E),w.triggerSyncEvent(E);var A=w.props.onMouseEnter;oe(A)&&A(E,O)}}),ie(w,"triggeredAfterMouseMove",function(O){var j=w.getMouseInfo(O),E=j?B(B({},j),{},{isTooltipActive:!0}):{isTooltipActive:!1};w.setState(E),w.triggerSyncEvent(E);var A=w.props.onMouseMove;oe(A)&&A(E,O)}),ie(w,"handleItemMouseEnter",function(O){w.setState(function(){return{isTooltipActive:!0,activeItem:O,activePayload:O.tooltipPayload,activeCoordinate:O.tooltipPosition||{x:O.cx,y:O.cy}}})}),ie(w,"handleItemMouseLeave",function(){w.setState(function(){return{isTooltipActive:!1}})}),ie(w,"handleMouseMove",function(O){O.persist(),w.throttleTriggeredAfterMouseMove(O)}),ie(w,"handleMouseLeave",function(O){w.throttleTriggeredAfterMouseMove.cancel();var j={isTooltipActive:!1};w.setState(j),w.triggerSyncEvent(j);var E=w.props.onMouseLeave;oe(E)&&E(j,O)}),ie(w,"handleOuterEvent",function(O){var j=G8(O),E=wr(w.props,"".concat(j));if(j&&oe(E)){var A,T;/.*touch.*/i.test(j)?T=w.getMouseInfo(O.changedTouches[0]):T=w.getMouseInfo(O),E((A=T)!==null&&A!==void 0?A:{},O)}}),ie(w,"handleClick",function(O){var j=w.getMouseInfo(O);if(j){var E=B(B({},j),{},{isTooltipActive:!0});w.setState(E),w.triggerSyncEvent(E);var A=w.props.onClick;oe(A)&&A(E,O)}}),ie(w,"handleMouseDown",function(O){var j=w.props.onMouseDown;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleMouseUp",function(O){var j=w.props.onMouseUp;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleTouchMove",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.throttleTriggeredAfterMouseMove(O.changedTouches[0])}),ie(w,"handleTouchStart",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseDown(O.changedTouches[0])}),ie(w,"handleTouchEnd",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseUp(O.changedTouches[0])}),ie(w,"handleDoubleClick",function(O){var j=w.props.onDoubleClick;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleContextMenu",function(O){var j=w.props.onContextMenu;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"triggerSyncEvent",function(O){w.props.syncId!==void 0&&wv.emit(Sv,w.props.syncId,O,w.eventEmitterSymbol)}),ie(w,"applySyncEvent",function(O){var j=w.props,E=j.layout,A=j.syncMethod,T=w.state.updateId,_=O.dataStartIndex,N=O.dataEndIndex;if(O.dataStartIndex!==void 0||O.dataEndIndex!==void 0)w.setState(B({dataStartIndex:_,dataEndIndex:N},p({props:w.props,dataStartIndex:_,dataEndIndex:N,updateId:T},w.state)));else if(O.activeTooltipIndex!==void 0){var M=O.chartX,R=O.chartY,I=O.activeTooltipIndex,D=w.state,z=D.offset,C=D.tooltipTicks;if(!z)return;if(typeof A=="function")I=A(C,O);else if(A==="value"){I=-1;for(var F=0;F=0){var le,U;if(M.dataKey&&!M.allowDuplicatedCategory){var Ze=typeof M.dataKey=="function"?se:"payload.".concat(M.dataKey.toString());le=Md(F,Ze,I),U=W&&V&&Md(V,Ze,I)}else le=F==null?void 0:F[R],U=W&&V&&V[R];if(Ke||be){var ge=O.props.activeIndex!==void 0?O.props.activeIndex:R;return[P.cloneElement(O,B(B(B({},A.props),Pt),{},{activeIndex:ge})),null,null]}if(!ae(le))return[G].concat(rl(w.renderActivePoints({item:A,activePoint:le,basePoint:U,childIndex:R,isRange:W})))}else{var ct,ft=(ct=w.getItemByXY(w.state.activeCoordinate))!==null&&ct!==void 0?ct:{graphicalItem:G},er=ft.graphicalItem,ci=er.item,jo=ci===void 0?O:ci,Vc=er.childIndex,la=B(B(B({},A.props),Pt),{},{activeIndex:Vc});return[P.cloneElement(jo,la),null,null]}return W?[G,null,null]:[G,null]}),ie(w,"renderCustomized",function(O,j,E){return P.cloneElement(O,B(B({key:"recharts-customized-".concat(E)},w.props),w.state))}),ie(w,"renderMap",{CartesianGrid:{handler:kf,once:!0},ReferenceArea:{handler:w.renderReferenceElement},ReferenceLine:{handler:kf},ReferenceDot:{handler:w.renderReferenceElement},XAxis:{handler:kf},YAxis:{handler:kf},Brush:{handler:w.renderBrush,once:!0},Bar:{handler:w.renderGraphicChild},Line:{handler:w.renderGraphicChild},Area:{handler:w.renderGraphicChild},Radar:{handler:w.renderGraphicChild},RadialBar:{handler:w.renderGraphicChild},Scatter:{handler:w.renderGraphicChild},Pie:{handler:w.renderGraphicChild},Funnel:{handler:w.renderGraphicChild},Tooltip:{handler:w.renderCursor,once:!0},PolarGrid:{handler:w.renderPolarGrid,once:!0},PolarAngleAxis:{handler:w.renderPolarAxis},PolarRadiusAxis:{handler:w.renderPolarAxis},Customized:{handler:w.renderCustomized}}),w.clipPathId="".concat((b=x.id)!==null&&b!==void 0?b:po("recharts"),"-clip"),w.throttleTriggeredAfterMouseMove=zk(w.triggeredAfterMouseMove,(S=x.throttleDelay)!==null&&S!==void 0?S:1e3/60),w.state={},w}return zce(y,g),Rce(y,[{key:"componentDidMount",value:function(){var b,S;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(b=this.props.margin.left)!==null&&b!==void 0?b:0,top:(S=this.props.margin.top)!==null&&S!==void 0?S:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var b=this.props,S=b.children,w=b.data,O=b.height,j=b.layout,E=yr(S,_t);if(E){var A=E.props.defaultIndex;if(!(typeof A!="number"||A<0||A>this.state.tooltipTicks.length-1)){var T=this.state.tooltipTicks[A]&&this.state.tooltipTicks[A].value,_=T0(this.state,w,A,T),N=this.state.tooltipTicks[A].coordinate,M=(this.state.offset.top+O)/2,R=j==="horizontal",I=R?{x:N,y:M}:{y:N,x:M},D=this.state.formattedGraphicalItems.find(function(C){var F=C.item;return F.type.name==="Scatter"});D&&(I=B(B({},I),D.props.points[A].tooltipPosition),_=D.props.points[A].tooltipPayload);var z={activeTooltipIndex:A,isTooltipActive:!0,activeLabel:T,activePayload:_,activeCoordinate:I};this.setState(z),this.renderCursor(E),this.accessibilityManager.setIndex(A)}}}},{key:"getSnapshotBeforeUpdate",value:function(b,S){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==S.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==b.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==b.margin){var w,O;this.accessibilityManager.setDetails({offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(O=this.props.margin.top)!==null&&O!==void 0?O:0}})}return null}},{key:"componentDidUpdate",value:function(b){rg([yr(b.children,_t)],[yr(this.props.children,_t)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var b=yr(this.props.children,_t);if(b&&typeof b.props.shared=="boolean"){var S=b.props.shared?"axis":"item";return s.indexOf(S)>=0?S:a}return a}},{key:"getMouseInfo",value:function(b){if(!this.container)return null;var S=this.container,w=S.getBoundingClientRect(),O=wX(w),j={chartX:Math.round(b.pageX-O.left),chartY:Math.round(b.pageY-O.top)},E=w.width/S.offsetWidth||1,A=this.inRange(j.chartX,j.chartY,E);if(!A)return null;var T=this.state,_=T.xAxisMap,N=T.yAxisMap,M=this.getTooltipEventType(),R=oE(this.state,this.props.data,this.props.layout,A);if(M!=="axis"&&_&&N){var I=Si(_).scale,D=Si(N).scale,z=I&&I.invert?I.invert(j.chartX):null,C=D&&D.invert?D.invert(j.chartY):null;return B(B({},j),{},{xValue:z,yValue:C},R)}return R?B(B({},j),R):null}},{key:"inRange",value:function(b,S){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,O=this.props.layout,j=b/w,E=S/w;if(O==="horizontal"||O==="vertical"){var A=this.state.offset,T=j>=A.left&&j<=A.left+A.width&&E>=A.top&&E<=A.top+A.height;return T?{x:j,y:E}:null}var _=this.state,N=_.angleAxisMap,M=_.radiusAxisMap;if(N&&M){var R=Si(N);return Cj({x:j,y:E},R)}return null}},{key:"parseEventsOfWrapper",value:function(){var b=this.props.children,S=this.getTooltipEventType(),w=yr(b,_t),O={};w&&S==="axis"&&(w.props.trigger==="click"?O={onClick:this.handleClick}:O={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 j=Id(this.props,this.handleOuterEvent);return B(B({},j),O)}},{key:"addListener",value:function(){wv.on(Sv,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){wv.removeListener(Sv,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(b,S,w){for(var O=this.state.formattedGraphicalItems,j=0,E=O.length;j{const i=ife.find(s=>s.value===t);if(!i)return[];const a=new Date,o=new Map;for(let s=0;s{const l=new Date(s.createdAt),u=qi(Jy(l),"yyyy-MM-dd"),c=o.get(u)||0;o.set(u,c+1)}),Array.from(o.entries()).map(([s,l])=>({date:s,experiments:l,displayDate:qi(new Date(s),"MMM dd")})).sort((s,l)=>s.date.localeCompare(l.date))},[e,t]),n=P.useMemo(()=>e.length,[e]);return d.jsxs("div",{className:"space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Experiments Timeline"}),d.jsxs("div",{className:"text-xs text-muted-foreground",children:["Total: ",n]})]}),d.jsx(Zi,{width:"100%",height:260,children:d.jsxs(sm,{data:r,margin:{left:0,right:15,top:15,bottom:15},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e2e8f0",opacity:.5}),d.jsx(ri,{dataKey:"displayDate",tick:{fontSize:10},angle:-45,textAnchor:"end",height:70}),d.jsx(ni,{tick:{fontSize:10},width:40,label:{value:"Count",angle:-90,position:"insideLeft",offset:8,style:{textAnchor:"middle",fontSize:11}}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"12px"},content:({active:i,payload:a,label:o})=>{if(!i||!a||!a.length)return null;const s=a[0].payload;return d.jsxs("div",{className:"bg-card border border-border rounded-md p-2 shadow-sm",children:[d.jsx("div",{className:"text-xs font-medium mb-1.5",children:o}),d.jsx("div",{className:"space-y-0.5 text-xs",children:d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-purple-400"}),d.jsx("span",{className:"text-muted-foreground",children:"Launched:"}),d.jsx("span",{className:"font-medium ml-auto",children:s.experiments})]})})]})}}),d.jsx(Br,{wrapperStyle:{fontSize:"11px"},iconType:"circle",iconSize:8}),d.jsx(_n,{type:"monotone",dataKey:"experiments",stroke:"#a78bfa",strokeWidth:2,dot:{fill:"#a78bfa",r:3},activeDot:{r:5},name:"Launched"})]})})]})}const uE={COMPLETED:"#22c55e",RUNNING:"#3b82f6",FAILED:"#ef4444",PENDING:"#eab308",CANCELLED:"#6b7280",UNKNOWN:"#a78bfa"};function ofe({experiments:e}){const t=P.useMemo(()=>{const r=new Map;return e.forEach(n=>{const i=n.status,a=r.get(i)||0;r.set(i,a+1)}),Array.from(r.entries()).map(([n,i])=>({name:n,value:i,color:uE[n]||uE.UNKNOWN})).sort((n,i)=>i.value-n.value)},[e]);return t.length===0?d.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"No data available"}):d.jsxs("div",{className:"space-y-3",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Experiments Distribution"}),d.jsx(Zi,{width:"100%",height:220,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:t,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:58,label:({name:r,value:n})=>`${r}: ${n}`,style:{fontSize:"11px"},children:t.map((r,n)=>d.jsx(mo,{fill:r.color},`cell-${n}`))}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"11px"}}),d.jsx(Br,{wrapperStyle:{fontSize:"11px"}})]})})]})}const sfe=[{value:"7days",label:"7 Days",days:7},{value:"1month",label:"1 Month",days:30},{value:"3months",label:"3 Months",days:90}];function lfe({data:e,timeRange:t}){const r=P.useMemo(()=>{const o=sfe.find(u=>u.value===t);if(!o)return[];const s=new Date,l=new Map;for(let u=0;u{const c=qi(new Date(u.date),"yyyy-MM-dd");l.has(c)&&l.set(c,{totalTokens:u.totalTokens,inputTokens:u.inputTokens,outputTokens:u.outputTokens})}),Array.from(l.entries()).map(([u,c])=>({date:u,displayDate:qi(new Date(u),"MMM dd"),totalTokens:c.totalTokens,inputTokens:c.inputTokens,outputTokens:c.outputTokens})).sort((u,c)=>u.date.localeCompare(c.date))},[e,t]),n=P.useMemo(()=>r.reduce((o,s)=>o+s.totalTokens,0),[r]),i=P.useMemo(()=>r.reduce((o,s)=>o+s.inputTokens,0),[r]),a=P.useMemo(()=>r.reduce((o,s)=>o+s.outputTokens,0),[r]);return d.jsxs("div",{className:"space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Token Usage"}),d.jsxs("div",{className:"text-xs text-muted-foreground",children:["Total: ",n.toLocaleString()," (",i.toLocaleString(),"↓ ",a.toLocaleString(),"↑)"]})]}),d.jsx(Zi,{width:"100%",height:260,children:d.jsxs(sm,{data:r,margin:{left:10,right:15,top:15,bottom:15},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e2e8f0",opacity:.5}),d.jsx(ri,{dataKey:"displayDate",tick:{fontSize:10},angle:-45,textAnchor:"end",height:70}),d.jsx(ni,{tick:{fontSize:10},width:50,tickFormatter:o=>o>=1e6?`${(o/1e6).toFixed(1)}M`:o>=1e3?`${(o/1e3).toFixed(1)}K`:o.toString(),label:{value:"Tokens",angle:-90,position:"insideLeft",offset:-5,style:{textAnchor:"middle",fontSize:11}}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"12px"},content:({active:o,payload:s,label:l})=>{if(!o||!s||!s.length)return null;const u=s[0].payload;return d.jsxs("div",{className:"bg-card border border-border rounded-md p-2 shadow-sm",children:[d.jsx("div",{className:"text-xs font-medium mb-1.5",children:l}),d.jsxs("div",{className:"space-y-0.5 text-xs",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Total:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.totalTokens.toLocaleString()})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Input:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.inputTokens.toLocaleString()})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-orange-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Output:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.outputTokens.toLocaleString()})]})]})]})}}),d.jsx(Br,{wrapperStyle:{fontSize:"11px"},iconType:"circle",iconSize:8}),d.jsx(_n,{type:"monotone",dataKey:"totalTokens",stroke:"#3b82f6",strokeWidth:2,dot:{fill:"#3b82f6",r:3},activeDot:{r:5},name:"Total"}),d.jsx(_n,{type:"monotone",dataKey:"inputTokens",stroke:"#10b981",strokeWidth:2,dot:{fill:"#10b981",r:3},activeDot:{r:5},name:"Input"}),d.jsx(_n,{type:"monotone",dataKey:"outputTokens",stroke:"#f59e0b",strokeWidth:2,dot:{fill:"#f59e0b",r:3},activeDot:{r:5},name:"Output"})]})})]})}const cE=[{value:"7days",label:"7 Days",days:7},{value:"1month",label:"1 Month",days:30},{value:"3months",label:"3 Months",days:90}];function ufe(){var f;const{selectedTeamId:e}=fo(),[t,r]=P.useState("7days"),{data:n,isLoading:i}=T5(e||""),{data:a,isLoading:o}=eB(e||"",{enabled:!!e}),s=((f=cE.find(h=>h.value===t))==null?void 0:f.days)||30,{data:l,isLoading:u}=tB(e||"",s),c=P.useMemo(()=>{if(!a)return[];const h=new Date,p=t==="7days"?Wx(h,7):t==="1month"?Zy(h,1):Zy(h,3);return a.filter(v=>{const m=new Date(v.createdAt);return m>=p&&m<=h})},[a,t]);return d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"pb-2 border-b",children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Dashboard"}),e&&d.jsxs("p",{className:"mt-0.5 text-muted-foreground font-mono text-xs",children:["TeamID: ",e]})]}),d.jsx("div",{children:d.jsx("h2",{className:"text-base font-semibold text-foreground mb-2",children:"Overview"})}),i?d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-2.5",children:[d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"})]}):d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-2.5",children:[d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"PROJECTS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalProjects)||0})]}),d.jsx("div",{className:"p-1.5 bg-blue-100 rounded-lg",children:d.jsx(iN,{className:"h-3.5 w-3.5 text-blue-600"})})]})})}),d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"EXPERIMENTS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalExperiments)||0})]}),d.jsx("div",{className:"p-1.5 bg-purple-100 rounded-lg",children:d.jsx(yF,{className:"h-3.5 w-3.5 text-purple-600"})})]})})}),d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"RUNS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalRuns)||0})]}),d.jsx("div",{className:"p-1.5 bg-green-100 rounded-lg",children:d.jsx(TF,{className:"h-3.5 w-3.5 text-green-600"})})]})})})]}),d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h2",{className:"text-base font-semibold text-foreground",children:"Activity"}),d.jsx("div",{className:"flex gap-1",children:cE.map(h=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(h.value),className:`h-8 px-2.5 text-xs transition-colors ${t===h.value?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:h.label},h.value))})]}),d.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[d.jsx(de,{children:d.jsx(he,{className:"p-4",children:o?d.jsx(Te,{className:"h-56 w-full"}):c&&c.length>0?d.jsx(ofe,{experiments:c}):d.jsx("div",{className:"flex h-56 items-center justify-center text-sm text-muted-foreground",children:"No experiments data available for this time range"})})}),d.jsx(de,{children:d.jsx(he,{className:"p-4",children:o?d.jsx(Te,{className:"h-56 w-full"}):c&&c.length>0?d.jsx(afe,{experiments:c,timeRange:t}):d.jsx("div",{className:"flex h-56 items-center justify-center text-sm text-muted-foreground",children:"No experiments data available for this time range"})})})]}),d.jsx(de,{children:d.jsx(he,{className:"p-4",children:u?d.jsx(Te,{className:"h-80 w-full"}):l?d.jsx(lfe,{data:l,timeRange:t}):d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"No token usage data available for this time range"})})})]})]})}const xo=P.forwardRef(({className:e,...t},r)=>d.jsx("div",{className:"relative w-full overflow-auto",children:d.jsx("table",{ref:r,className:Oe("w-full caption-bottom text-sm",e),...t})}));xo.displayName="Table";const bo=P.forwardRef(({className:e,...t},r)=>d.jsx("thead",{ref:r,className:Oe("[&_tr]:border-b",e),...t}));bo.displayName="TableHeader";const wo=P.forwardRef(({className:e,...t},r)=>d.jsx("tbody",{ref:r,className:Oe("[&_tr:last-child]:border-0",e),...t}));wo.displayName="TableBody";const cfe=P.forwardRef(({className:e,...t},r)=>d.jsx("tfoot",{ref:r,className:Oe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));cfe.displayName="TableFooter";const Or=P.forwardRef(({className:e,...t},r)=>d.jsx("tr",{ref:r,className:Oe("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Or.displayName="TableRow";const Re=P.forwardRef(({className:e,...t},r)=>d.jsx("th",{ref:r,className:Oe("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));Re.displayName="TableHead";const Le=P.forwardRef(({className:e,...t},r)=>d.jsx("td",{ref:r,className:Oe("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));Le.displayName="TableCell";const ffe=P.forwardRef(({className:e,...t},r)=>d.jsx("caption",{ref:r,className:Oe("mt-4 text-sm text-muted-foreground",e),...t}));ffe.displayName="TableCaption";const So=P.forwardRef(({className:e,type:t,...r},n)=>d.jsx("input",{type:t,className:Oe("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium 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,...r}));So.displayName="Input";const fE=20;function dfe(){const{selectedTeamId:e}=fo(),[t,r]=P.useState(1),[n,i]=P.useState(""),{data:a,isLoading:o,error:s}=fp(e||"",{page:t-1,pageSize:fE,enabled:!!e}),l=P.useMemo(()=>{if(!a)return[];let u=[...a];if(n.trim()){const c=n.toLowerCase();u=u.filter(f=>{var h,p,v;return((h=f.name)==null?void 0:h.toLowerCase().includes(c))||((p=f.description)==null?void 0:p.toLowerCase().includes(c))||((v=f.id)==null?void 0:v.toLowerCase().includes(c))})}return u.sort((c,f)=>new Date(f.createdAt).getTime()-new Date(c.createdAt).getTime()),u},[a,n]);return o?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-64 w-full"})]}):e?s?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load projects"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:s.message})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsx("div",{children:d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Projects"})}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("div",{className:"flex gap-2 mb-3 items-center",children:d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search projects...",value:n,onChange:u=>i(u.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]})}),!a||a.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No projects found"}):l.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No projects match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"UUID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"})]})}),d.jsx(wo,{children:l.map(u=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 font-mono text-sm",children:d.jsx(Tn,{to:`/projects/${u.id}`,className:"text-primary font-medium hover:underline",children:u.id})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:u.name||"Unnamed Project"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:u.description||"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(u.createdAt),{addSuffix:!0})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(u.updatedAt),{addSuffix:!0})})]},u.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",t]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{r(t-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:t===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{r(t+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:a.lengthd.jsx(Qb.Provider,{value:{value:t,onValueChange:r},children:d.jsx("div",{ref:i,className:Oe("w-full",e),...n})}));lm.displayName="Tabs";const um=P.forwardRef(({className:e,...t},r)=>d.jsx("div",{ref:r,className:Oe("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));um.displayName="TabsList";const io=P.forwardRef(({className:e,value:t,...r},n)=>{const i=P.useContext(Qb);if(!i)throw new Error("TabsTrigger must be used within Tabs");const a=i.value===t;return d.jsx("button",{ref:n,className:Oe("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",a?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground",e),onClick:()=>i.onValueChange(t),...r})});io.displayName="TabsTrigger";const ao=P.forwardRef(({className:e,value:t,...r},n)=>{const i=P.useContext(Qb);if(!i)throw new Error("TabsContent must be used within Tabs");return i.value!==t?null:d.jsx("div",{ref:n,className:Oe("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...r})});ao.displayName="TabsContent";const hfe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"},dE=20;function pfe(){const{id:e}=np(),[t,r]=P.useState("overview"),[n,i]=P.useState(1),[a,o]=P.useState(""),[s,l]=P.useState("ALL"),{data:u,isLoading:c,error:f}=bN(e),{data:h,isLoading:p,error:v}=Nd(e,{page:n-1,pageSize:dE,enabled:!!e}),{data:m}=Nd(e,{page:0,pageSize:1e3,enabled:!!e}),g=P.useMemo(()=>{if(!h)return[];let x=[...h];if(a.trim()){const b=a.toLowerCase();x=x.filter(S=>{var w,O,j;return((w=S.name)==null?void 0:w.toLowerCase().includes(b))||((O=S.description)==null?void 0:O.toLowerCase().includes(b))||((j=S.id)==null?void 0:j.toLowerCase().includes(b))})}return s!=="ALL"&&(x=x.filter(b=>b.status===s)),x.sort((b,S)=>new Date(S.createdAt).getTime()-new Date(b.createdAt).getTime()),x},[h,a,s]),y=P.useMemo(()=>!m||m.length===0?[]:[{name:"COMPLETED",value:m.filter(b=>b.status==="COMPLETED").length,color:"#22c55e"},{name:"RUNNING",value:m.filter(b=>b.status==="RUNNING").length,color:"#3b82f6"},{name:"FAILED",value:m.filter(b=>b.status==="FAILED").length,color:"#ef4444"},{name:"PENDING",value:m.filter(b=>b.status==="PENDING").length,color:"#eab308"},{name:"CANCELLED",value:m.filter(b=>b.status==="CANCELLED").length,color:"#6b7280"},{name:"UNKNOWN",value:m.filter(b=>b.status==="UNKNOWN").length,color:"#a78bfa"}].filter(b=>b.value>0),[m]);return c?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-64 w-full"})]}):f||!u?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load project"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(f==null?void 0:f.message)||"Project not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:u.name||"Unnamed Project"}),d.jsx("p",{className:"mt-0.5 text-muted-foreground font-mono text-sm",children:u.id})]}),d.jsxs(lm,{value:t,onValueChange:r,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"experiments",children:"Experiments"})]}),d.jsx(ao,{value:"overview",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Details"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[u.description&&d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.description})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.createdAt),{addSuffix:!0})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.updatedAt),{addSuffix:!0})})]})]}),u.meta&&Object.keys(u.meta).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.meta).map(([x,b])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:x}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof b=="string"?b:JSON.stringify(b)})]},x))})]}),m&&m.length>0&&y.length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsxs("h3",{className:"text-base font-semibold mb-6",children:["Statistics (",m.length," experiments)"]}),d.jsx(Zi,{width:"100%",height:180,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:y,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:48,label:({name:x,value:b})=>`${x}: ${b}`,style:{fontSize:"12px"},children:y.map((x,b)=>d.jsx(mo,{fill:x.color},`cell-${b}`))}),d.jsx(_t,{}),d.jsx(Br,{wrapperStyle:{fontSize:"12px"}})]})})]})]})})}),d.jsx(ao,{value:"experiments",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search experiments...",value:a,onChange:x=>o(x.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(x=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l(x),className:`h-8 px-2.5 text-xs transition-colors ${s===x?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:x},x))})]}),p?d.jsx(Te,{className:"h-24 w-full"}):v?d.jsxs("div",{className:"rounded-lg border border-destructive/50 bg-destructive/10 p-3",children:[d.jsx("p",{className:"text-sm font-medium text-destructive",children:"Failed to load experiments"}),d.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:v.message})]}):!h||h.length===0?d.jsxs("div",{className:"flex flex-col items-center justify-center h-24 text-center",children:[d.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"No experiments found"}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Create experiments using the AlphaTrion SDK"})]}):g.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No experiments match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"UUID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:g.map(x=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${x.id}`,className:"font-mono text-primary font-medium hover:underline",children:x.id})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:x.name}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:hfe[x.status],className:"text-xs px-2 py-0.5",children:x.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground tabular-nums",children:x.duration>0?`${x.duration.toFixed(2)}s`:"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(x.createdAt),{addSuffix:!0})})]},x.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",n]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:n===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:h.length{if(!l)return[];let p=[...l];if(n.trim()){const v=n.toLowerCase();p=p.filter(m=>{var g,y,x,b;return((g=m.name)==null?void 0:g.toLowerCase().includes(v))||((y=m.description)==null?void 0:y.toLowerCase().includes(v))||((x=m.id)==null?void 0:x.toLowerCase().includes(v))||((b=m.projectId)==null?void 0:b.toLowerCase().includes(v))})}return t!=="ALL"&&(p=p.filter(v=>v.status===t)),p.sort((v,m)=>new Date(m.createdAt).getTime()-new Date(v.createdAt).getTime()),p},[l,t,n]),f=o||u;return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Experiments"}),d.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Browse and manage experiments"})]}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search experiments...",value:n,onChange:p=>i(p.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(p=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(p),className:`h-8 px-2.5 text-xs transition-colors ${t===p?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:p},p))})]}),f?d.jsx(Te,{className:"h-24 w-full"}):!c||c.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:n.trim()?"No experiments match your search":t!=="ALL"?`No ${t} experiments found`:"No experiments found"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Experiment ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Project ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:c.map(p=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:p.name}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${p.id}`,className:"font-mono text-primary font-medium hover:underline",children:p.id})}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/projects/${p.projectId}`,className:"font-mono text-primary font-medium hover:underline",children:p.projectId})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:mfe[p.status],className:"text-xs px-2 py-0.5",children:p.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground tabular-nums",children:p.duration>0?`${p.duration.toFixed(2)}s`:"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(p.createdAt),{addSuffix:!0})})]},p.id))})]})]})})]})}function y2(e){const{data:t,...r}=dp(e),n=P.useMemo(()=>{const i={};return((t==null?void 0:t.metrics)||[]).forEach(o=>{const s=o.key||"unknown";i[s]||(i[s]=[]),i[s].push(o)}),Object.keys(i).forEach(o=>{i[o].sort((s,l)=>new Date(s.createdAt).getTime()-new Date(l.createdAt).getTime())}),i},[t==null?void 0:t.metrics]);return{...r,data:n,metricKeys:Object.keys(n)}}const yfe="modulepreload",gfe=function(e){return"/static/"+e},hE={},xfe=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),s=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=Promise.allSettled(r.map(l=>{if(l=gfe(l),l in hE)return;hE[l]=!0;const u=l.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${c}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":yfe,u||(f.as="script"),f.crossOrigin="",f.href=l,s&&f.setAttribute("nonce",s),document.head.appendChild(f),u)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function a(o){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o}return i.then(o=>{for(const s of o||[])s.status==="rejected"&&a(s.reason);return t().catch(a)})};function bfe(e){const{data:t,...r}=dp(e),{runMetrics:n,availableMetrics:i}=P.useMemo(()=>{const a=(t==null?void 0:t.metrics)||[];if(a.length===0)return{runMetrics:[],availableMetrics:[]};const o=new Map,s=new Set;[...a].sort((c,f)=>new Date(c.createdAt).getTime()-new Date(f.createdAt).getTime()).forEach(c=>{!c.key||c.value===null||(s.add(c.key),o.has(c.runId)||o.set(c.runId,new Map),o.get(c.runId).set(c.key,c.value))});const u=[];return o.forEach((c,f)=>{const h={};c.forEach((p,v)=>{h[v]=p}),u.push({runId:f,metrics:h})}),{runMetrics:u,availableMetrics:Array.from(s).sort()}},[t==null?void 0:t.metrics]);return{...r,runMetrics:n,availableMetrics:i}}function wfe(e,t,r){let n=!1;for(const i of r){const a=e.metrics[i.key],o=t.metrics[i.key];if(a===void 0||o===void 0)return!1;if(i.direction==="maximize"){if(ao&&(n=!0)}else{if(a>o)return!1;axfe(()=>import("./react-plotly-rXbFfZ8j.js").then(e=>e.r),[])),pi=["#0ea5e9","#8b5cf6","#ec4899","#f59e0b","#10b981","#ef4444","#6366f1","#14b8a6"],pE="#10b981",mE="#9ca3af",vE="#f59e0b";function jfe({metrics:e,experimentId:t,title:r="Metrics",description:n}){const i=Object.keys(e),[a,o]=P.useState(i[0]||""),[s,l]=P.useState("timeline"),[u,c]=P.useState([]),{runMetrics:f,availableMetrics:h}=bfe(t),p=P.useMemo(()=>{const j=[];return Object.values(e).forEach(E=>{j.push(...E)}),j.length===0?null:j[0].runId},[e]),v=P.useMemo(()=>u.length===0?f:f.filter(j=>u.every(E=>j.metrics[E.key]!==void 0)),[f,u]),m=P.useMemo(()=>u.length<2||v.length<2?new Set:Sfe(v,u),[v,u]),g=P.useMemo(()=>{var E;if(i.length===0||!a)return[];const j=[];return e[a]&&e[a].forEach((A,T)=>{A.value!==null&&j.push({timestamp:new Date(A.createdAt).getTime(),index:T,time:qi(new Date(A.createdAt),"MMM dd HH:mm:ss"),value:A.value,runId:A.runId})}),j.sort((A,T)=>A.timestamp-T.timestamp),j.forEach((A,T)=>{A.index=T}),console.log("[MetricsChart] Selected key:",a),console.log("[MetricsChart] Total metrics for this key:",(E=e[a])==null?void 0:E.length),console.log("[MetricsChart] Total data points after processing:",j.length),console.log("[MetricsChart] All data points:",j),j},[e,i,a]),y=P.useMemo(()=>{if(u.length<2)return{all:[],paretoLine:[]};const j=u[0],E=u[1],A=u.length>=3?u[2]:void 0,T=v.map(N=>({runId:N.runId,x:N.metrics[j.key],y:N.metrics[E.key],z:A?N.metrics[A.key]:void 0,isParetoOptimal:m.has(N.runId),metrics:N.metrics})),_=T.filter(N=>N.isParetoOptimal).sort((N,M)=>N.x-M.x);return{all:T,paretoLine:_}},[v,u,m]),x=P.useMemo(()=>{if(u.length!==3||y.all.length===0)return null;const j=[...y.paretoLine].sort((N,M)=>N.x!==M.x?N.x-M.x:N.y!==M.y?N.y-M.y:(N.z||0)-(M.z||0)),E=y.all.find(N=>N.runId===p),A=j.filter(N=>N.runId!==p),T=y.all.filter(N=>!N.isParetoOptimal&&N.runId!==p),_=[{x:T.map(N=>N.x),y:T.map(N=>N.y),z:T.map(N=>N.z),mode:"markers",type:"scatter3d",name:"Dominated",showlegend:!1,marker:{size:5,color:mE,opacity:.4,symbol:"circle",line:{color:"#6b7280",width:1,opacity:.3}},customdata:T.map(N=>[N.runId,N.x,N.y,N.z]),hovertemplate:`Run: %{customdata[0]}
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#fafafa",bordercolor:"#d1d5db",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}},{x:A.map(N=>N.x),y:A.map(N=>N.y),z:A.map(N=>N.z),mode:"markers",type:"scatter3d",name:"Pareto Optimal",showlegend:!1,marker:{size:5,color:pE,symbol:"circle",opacity:.95,line:{color:"#059669",width:1,opacity:.8}},customdata:A.map(N=>[N.runId,N.x,N.y,N.z]),hovertemplate:`Run: %{customdata[0]}
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#f0fdf4",bordercolor:"#86efac",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}}];return E&&_.push({x:[E.x],y:[E.y],z:[E.z],mode:"markers",type:"scatter3d",name:"Start Point",showlegend:!1,marker:{size:5,color:vE,symbol:"circle",opacity:1,line:{color:"#d97706",width:1,opacity:1}},customdata:[[E.runId,E.x,E.y,E.z]],hovertemplate:`Run: %{customdata[0]} (StartPoint)
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#fef3c7",bordercolor:"#fcd34d",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}}),_},[y,u,p]),b=j=>{o(j)},S=j=>{u.length>=3||u.some(E=>E.key===j)||c([...u,{key:j,direction:"maximize"}])},w=j=>{c(u.filter(E=>E.key!==j))},O=j=>{c(u.map(E=>E.key===j?{...E,direction:E.direction==="maximize"?"minimize":"maximize"}:E))};return i.length===0?d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsx(Bt,{className:"text-sm",children:r}),n&&d.jsx(dr,{className:"text-xs",children:n})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-48 items-center justify-center text-sm text-muted-foreground",children:"No metrics data available"})})]}):d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx(Bt,{className:"text-sm",children:r}),n&&d.jsx(dr,{className:"text-xs",children:n})]}),d.jsxs("div",{className:"flex gap-1",children:[d.jsx(lt,{variant:s==="timeline"?"default":"outline",size:"sm",onClick:()=>l("timeline"),className:"h-7 px-3 text-xs",children:"Timeline"}),d.jsx(lt,{variant:s==="pareto"?"default":"outline",size:"sm",onClick:()=>l("pareto"),className:"h-7 px-3 text-xs",children:"Pareto"})]})]}),s==="timeline"?d.jsx("div",{className:"flex flex-wrap gap-1.5 pt-3",children:i.map((j,E)=>d.jsx(jr,{variant:a===j?"default":"outline",className:"cursor-pointer text-xs px-2 py-0.5",style:{backgroundColor:a===j?pi[E%pi.length]:void 0},onClick:()=>b(j),children:j},j))}):d.jsxs("div",{className:"space-y-2 pt-3",children:[d.jsx("div",{className:"flex flex-wrap gap-1.5",children:h.map((j,E)=>{const A=u.find(_=>_.key===j),T=(A==null?void 0:A.direction)==="maximize";return d.jsxs(jr,{variant:A?"default":"outline",className:"cursor-pointer text-xs px-2 py-1 transition-colors relative",style:{backgroundColor:A?pi[E%pi.length]:void 0,borderColor:A?pi[E%pi.length]:void 0},onClick:()=>{A?O(j):u.length<3&&S(j)},onContextMenu:_=>{_.preventDefault(),A&&w(j)},children:[j,A&&d.jsx("span",{className:"ml-1 text-[10px] opacity-90",children:T?"↑":"↓"})]},j)})}),u.length>0&&d.jsx("div",{className:"text-xs text-gray-500 italic",children:"Click: toggle direction ↑↓ • Right-click: remove"}),d.jsx("div",{className:"text-xs text-muted-foreground",children:u.length===0?d.jsx("span",{children:"Click metrics to select (up to 3)"}):u.length<2?d.jsx("span",{children:"Select at least 2 metrics for analysis"}):d.jsxs("div",{className:"flex items-center gap-4",children:[d.jsxs("span",{children:["Runs: ",v.length]}),m.size>0&&d.jsxs("span",{className:"text-emerald-600 font-medium",children:["Pareto Optimal: ",m.size]})]})})]})]}),d.jsx(he,{className:"pt-0",children:s==="timeline"?a?d.jsx(Zi,{width:"100%",height:280,children:d.jsxs(sm,{data:g,margin:{top:5,right:20,left:10,bottom:5},onClick:j=>{if(j&&j.activePayload&&j.activePayload[0]){const E=j.activePayload[0].payload;E.runId&&window.open(`/runs/${E.runId}`,"_blank")}},children:[d.jsx(Ys,{strokeDasharray:"3 3"}),d.jsx(ri,{dataKey:"index",label:{value:"Index",position:"insideBottom",offset:-5,style:{fontSize:12}},type:"number",domain:["dataMin","dataMax"],tick:{fontSize:11}}),d.jsx(ni,{label:{value:"Value",angle:-90,position:"insideLeft",style:{fontSize:12}},tick:{fontSize:11}}),d.jsx(_t,{cursor:{strokeDasharray:"5 5",stroke:"#94a3b8",strokeWidth:1},contentStyle:{backgroundColor:"transparent",border:"none",padding:0},content:({active:j,payload:E})=>{if(!j||!E||E.length===0)return null;const A=E[0].payload;return A.runId?d.jsxs("div",{style:{backgroundColor:"#f9fafb",border:"1px solid #d1d5db",borderRadius:"6px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)",fontFamily:"system-ui, -apple-system, sans-serif",lineHeight:"1.4"},children:[d.jsxs("div",{style:{fontWeight:600,fontSize:"12px"},children:["Run: ",A.runId]}),d.jsxs("div",{style:{fontSize:"12px"},children:[a,": ",typeof A.value=="number"?A.value.toFixed(4):A.value]})]}):null}}),d.jsx(_n,{type:"monotone",dataKey:"value",name:a,stroke:pi[i.indexOf(a)%pi.length],strokeWidth:2,dot:{r:3,style:{cursor:"pointer"}},activeDot:{r:5,style:{cursor:"pointer"}},connectNulls:!0})]})}):d.jsx("div",{className:"flex h-48 items-center justify-center text-sm text-muted-foreground",children:"Select a metric to display"}):u.length<2?d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"Select at least 2 metrics for Pareto analysis"}):y.all.length===0?d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"No runs with complete data for selected metrics"}):u.length===3?d.jsxs("div",{className:"w-full h-[550px] rounded-lg overflow-hidden",style:{background:"linear-gradient(135deg, #fafafa 0%, #f3f4f6 100%)"},children:[d.jsx("style",{children:` #pareto-3d-plot .nsewdrag { cursor: default !important; } #pareto-3d-plot .nsewdrag.cursor-crosshair { cursor: default !important; } - `}),d.jsx(P.Suspense,{fallback:d.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:d.jsxs("div",{className:"text-center space-y-2",children:[d.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-emerald-500 mx-auto"}),d.jsx("div",{children:"Loading 3D visualization..."})]})}),children:d.jsx(Ofe,{divId:"pareto-3d-plot",data:x,onInitialized:(j,E)=>{E.on("plotly_click",A=>{var T;if(A&&A.points&&A.points[0]){const N=(T=A.points[0].customdata)==null?void 0:T[0];N&&window.open(`/runs/${N}`,"_blank")}})},onUpdate:(j,E)=>{E.removeAllListeners("plotly_click"),E.on("plotly_click",A=>{var T;if(A&&A.points&&A.points[0]){const N=(T=A.points[0].customdata)==null?void 0:T[0];N&&window.open(`/runs/${N}`,"_blank")}})},layout:{autosize:!0,transition:{duration:0},scene:{xaxis:{title:{text:`${u[0].key} (${u[0].direction})`,font:{size:12,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},yaxis:{title:{text:`${u[1].key} (${u[1].direction})`,font:{size:12,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},zaxis:{title:{text:`${u[2].key} (${u[2].direction})`,font:{size:12,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},camera:{eye:{x:1.7,y:1.7,z:1.3},center:{x:0,y:0,z:0},up:{x:0,y:0,z:1}},aspectmode:"cube"},showlegend:!1,hovermode:"closest",margin:{l:10,r:10,t:10,b:10},paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",dragmode:"orbit"},config:{responsive:!0,displayModeBar:!0,displaylogo:!1,modeBarButtonsToRemove:["toImage"],modeBarButtonsToAdd:[]},style:{width:"100%",height:"100%"}})})]}):d.jsx(Zi,{width:"100%",height:400,children:d.jsxs(nfe,{margin:{top:20,right:20,bottom:60,left:60},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),d.jsx(ri,{type:"number",dataKey:"x",name:u[0].key,label:{value:`${u[0].key} (${u[0].direction})`,position:"insideBottom",offset:-10,style:{fontSize:12,fill:"#374151"}},tick:{fontSize:11,fill:"#6b7280"},domain:["dataMin - 0.1 * abs(dataMin)","dataMax + 0.1 * abs(dataMax)"]}),d.jsx(ni,{type:"number",dataKey:"y",name:u[1].key,label:{value:`${u[1].key} (${u[1].direction})`,angle:-90,position:"insideLeft",style:{fontSize:12,fill:"#374151"}},tick:{fontSize:11,fill:"#6b7280"},domain:["dataMin - 0.1 * abs(dataMin)","dataMax + 0.1 * abs(dataMax)"]}),d.jsx(_t,{cursor:{strokeDasharray:"3 3"},content:({active:j,payload:E})=>{var R,I;if(!j||!E||!E[0])return null;const A=E[0].payload,T=A.runId===p,_=A.isParetoOptimal,N=T?"#fef3c7":_?"#f0fdf4":"#fafafa",M=T?"#fcd34d":_?"#86efac":"#d1d5db";return d.jsxs("div",{style:{backgroundColor:N,border:`1px solid ${M}`,borderRadius:"6px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",fontSize:"12px"},children:[d.jsxs("div",{style:{fontWeight:600,marginBottom:"4px"},children:["Run: ",A.runId,T?" (StartPoint)":""]}),d.jsxs("div",{children:[u[0].key,": ",(R=A.x)==null?void 0:R.toFixed(4)]}),d.jsxs("div",{children:[u[1].key,": ",(I=A.y)==null?void 0:I.toFixed(4)]})]})}}),d.jsx(Ha,{name:"Dominated",data:y.all.filter(j=>!j.isParetoOptimal&&j.runId!==p),fill:mE,fillOpacity:.4,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")}),d.jsx(Ha,{name:"Pareto",data:y.all.filter(j=>j.isParetoOptimal&&j.runId!==p),fill:pE,fillOpacity:.95,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")}),p&&d.jsx(Ha,{name:"Start",data:y.all.filter(j=>j.runId===p),fill:vE,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")})]})})})]})}const yE={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"default",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"},gE=20;function Pfe(){var b;const{id:e}=np(),[t,r]=P.useState("overview"),[n,i]=P.useState(1),[a,o]=P.useState(""),[s,l]=P.useState("ALL"),{data:u,isLoading:c,error:f}=dp(e),{data:h,isLoading:p}=Xy(e,{page:n-1,pageSize:gE}),{data:v}=Xy(e,{page:0,pageSize:1e3}),{data:m,isLoading:g}=y2(e),y=P.useMemo(()=>{if(!h)return[];let S=[...h];if(a.trim()){const w=a.toLowerCase();S=S.filter(O=>{var j;return(j=O.id)==null?void 0:j.toLowerCase().includes(w)})}return s!=="ALL"&&(S=S.filter(w=>w.status===s)),S.sort((w,O)=>new Date(O.createdAt).getTime()-new Date(w.createdAt).getTime()),S},[h,a,s]),x=P.useMemo(()=>!v||v.length===0?[]:[{name:"COMPLETED",value:v.filter(w=>w.status==="COMPLETED").length,color:"#22c55e"},{name:"RUNNING",value:v.filter(w=>w.status==="RUNNING").length,color:"#3b82f6"},{name:"FAILED",value:v.filter(w=>w.status==="FAILED").length,color:"#ef4444"},{name:"PENDING",value:v.filter(w=>w.status==="PENDING").length,color:"#eab308"},{name:"CANCELLED",value:v.filter(w=>w.status==="CANCELLED").length,color:"#6b7280"},{name:"UNKNOWN",value:v.filter(w=>w.status==="UNKNOWN").length,color:"#a78bfa"}].filter(w=>w.value>0),[v]);return c?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):f||!u?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load experiment"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(f==null?void 0:f.message)||"Experiment not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:u.name}),d.jsx("p",{className:"mt-0.5 text-muted-foreground font-mono text-sm",children:u.id})]}),d.jsx(jr,{variant:yE[u.status],children:u.status})]}),d.jsxs(lm,{value:t,onValueChange:r,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"runs",children:"Runs"})]}),d.jsxs(ao,{value:"overview",className:"space-y-4",children:[d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Details"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[u.description&&d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.description})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.duration>0?`${u.duration.toFixed(2)}s`:"-"})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Total Tokens"}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm",children:((b=u.meta)==null?void 0:b.total_tokens)!==void 0?d.jsxs(d.Fragment,{children:[Number(u.meta.total_tokens).toLocaleString(),u.meta.input_tokens!==void 0&&u.meta.output_tokens!==void 0&&d.jsxs("span",{className:"text-muted-foreground text-xs ml-1",children:["(",Number(u.meta.input_tokens).toLocaleString(),"↓ ",Number(u.meta.output_tokens).toLocaleString(),"↑)"]})]}):d.jsx("span",{className:"text-muted-foreground",children:"-"})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.createdAt),{addSuffix:!0})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.updatedAt),{addSuffix:!0})})]})]}),u.meta&&Object.keys(u.meta).filter(S=>!["total_tokens","input_tokens","output_tokens"].includes(S)).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.meta).filter(([S])=>!["total_tokens","input_tokens","output_tokens"].includes(S)).map(([S,w])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:S}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof w=="string"?w:JSON.stringify(w)})]},S))})]}),u.params&&Object.keys(u.params).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Parameters"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.params).map(([S,w])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:S}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof w=="string"?w:JSON.stringify(w)})]},S))})]}),v&&v.length>0&&x.length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsxs("h3",{className:"text-base font-semibold mb-6",children:["Statistics (",v.length," runs)"]}),d.jsx(Zi,{width:"100%",height:180,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:x,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:48,label:({name:S,value:w})=>`${S}: ${w}`,style:{fontSize:"12px"},children:x.map((S,w)=>d.jsx(mo,{fill:S.color},`cell-${w}`))}),d.jsx(_t,{}),d.jsx(Br,{wrapperStyle:{fontSize:"12px"}})]})})]})]})}),g?d.jsx(Te,{className:"h-80 w-full"}):m&&Object.keys(m).length>0?d.jsx(jfe,{metrics:m,experimentId:e,title:"Metrics",description:"Switch between timeline and Pareto analysis views"}):d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsx(Bt,{className:"text-sm",children:"Metrics"}),d.jsx(dr,{className:"text-xs",children:"No metrics data available"})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:v&&v.length>0?"No metrics logged yet":"No runs in this experiment"})})]})]}),d.jsx(ao,{value:"runs",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search runs...",value:a,onChange:S=>o(S.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(S=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l(S),className:`h-8 px-2.5 text-xs transition-colors ${s===S?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:S},S))})]}),p?d.jsx(Te,{className:"h-24 w-full"}):!h||h.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No runs found"}):y.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No runs match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Run ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:y.map(S=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/runs/${S.id}`,className:"font-mono text-primary font-medium hover:underline",children:S.id})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:yE[S.status],className:"text-xs px-2 py-0.5",children:S.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(S.createdAt),{addSuffix:!0})})]},S.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",n]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:n===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:h.length{const r=new Set;return e.forEach(i=>{i.params&&Object.keys(i.params).forEach(a=>r.add(a))}),Array.from(r).map(i=>{const a=e.map(l=>l.params&&i in l.params?JSON.stringify(l.params[i]):null),s=new Set(a.filter(l=>l!==null)).size>1;return{key:i,values:a,isDifferent:s}}).sort((i,a)=>i.isDifferent!==a.isDifferent?i.isDifferent?-1:1:i.key.localeCompare(a.key))},[e]);return d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Parameter Comparison"}),d.jsx(dr,{children:"Side-by-side comparison of experiment parameters"})]}),d.jsx(he,{children:t.length===0?d.jsx("div",{className:"flex h-32 items-center justify-center text-muted-foreground",children:"No parameters to compare"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"font-semibold",children:"Parameter"}),e.map((r,n)=>d.jsx(Re,{className:"font-semibold",children:r.name},r.id))]})}),d.jsx(wo,{children:t.map(r=>d.jsxs(Or,{className:r.isDifferent?"bg-yellow-50 dark:bg-yellow-950":"",children:[d.jsx(Le,{className:"font-medium",children:r.key}),r.values.map((n,i)=>d.jsx(Le,{className:n===null?"text-muted-foreground italic":r.isDifferent?"font-medium":"",children:n===null?"-":n},i))]},r.key))})]})})]})}const xE=["#0ea5e9","#8b5cf6","#ec4899","#f59e0b","#10b981"];function Afe({experimentIds:e}){const t=e.map(a=>y2(a)),r=t.some(a=>a.isLoading),n=P.useMemo(()=>{if(r)return[];const a=new Map;return t.forEach((o,s)=>{const l=o.data||{};Object.entries(l).forEach(([u,c])=>{c.forEach(f=>{const h=f.createdAt,p=`exp${s+1}_${u}`;a.has(h)||a.set(h,{timestamp:h,time:qi(new Date(h),"HH:mm:ss")});const v=a.get(h);v[p]=f.value})})}),Array.from(a.values()).sort((o,s)=>new Date(o.timestamp).getTime()-new Date(s.timestamp).getTime())},[t,r]),i=P.useMemo(()=>{const a=new Set;return n.length>0&&Object.keys(n[0]).forEach(o=>{o!=="timestamp"&&o!=="time"&&a.add(o)}),Array.from(a)},[n]);return r?d.jsxs(de,{children:[d.jsx(Ft,{children:d.jsx(Bt,{children:"Metrics Overlay"})}),d.jsx(he,{children:d.jsx(Te,{className:"h-96 w-full"})})]}):n.length===0?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Metrics Overlay"}),d.jsx(dr,{children:"Combined metrics visualization across experiments"})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:"No metrics data available for comparison"})})]}):d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Metrics Overlay"}),d.jsx(dr,{children:"Combined metrics from all selected experiments"})]}),d.jsx(he,{children:d.jsx(Zi,{width:"100%",height:400,children:d.jsxs(sm,{data:n,margin:{top:5,right:30,left:20,bottom:5},children:[d.jsx(Ys,{strokeDasharray:"3 3"}),d.jsx(ri,{dataKey:"time",label:{value:"Time",position:"insideBottom",offset:-5}}),d.jsx(ni,{label:{value:"Value",angle:-90,position:"insideLeft"}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"0.5rem"}}),d.jsx(Br,{}),i.map((a,o)=>d.jsx(_n,{type:"monotone",dataKey:a,stroke:xE[o%xE.length],strokeWidth:2,dot:{r:3},connectNulls:!0},a))]})})})]})}const _fe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"default",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function Tfe(){var i;const[e]=yL(),t=((i=e.get("ids"))==null?void 0:i.split(","))||[],{data:r,isLoading:n}=k5(t);return n?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):!r||r.length<2?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Experiment Comparison"}),d.jsx(dr,{children:"Select at least 2 experiments to compare"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-muted-foreground",children:"No experiments selected for comparison"})})]}):d.jsxs("div",{className:"space-y-6",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-3xl font-bold text-foreground",children:"Experiment Comparison"}),d.jsxs("p",{className:"mt-2 text-muted-foreground",children:["Comparing ",r.length," experiments"]})]}),d.jsx("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:r.map(a=>d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsx(Bt,{className:"text-lg",children:a.name}),d.jsx(jr,{variant:_fe[a.status],children:a.status})]}),a.description&&d.jsx(dr,{children:a.description})]}),d.jsx(he,{children:d.jsxs("dl",{className:"space-y-2 text-sm",children:[d.jsxs("div",{className:"flex justify-between",children:[d.jsx("dt",{className:"text-muted-foreground",children:"Duration"}),d.jsx("dd",{className:"font-medium",children:a.duration>0?`${a.duration.toFixed(2)}s`:"-"})]}),d.jsxs("div",{className:"flex justify-between",children:[d.jsx("dt",{className:"text-muted-foreground",children:"Params"}),d.jsx("dd",{className:"font-medium",children:a.params?Object.keys(a.params).length:0})]})]})})]},a.id))}),d.jsx(Efe,{experiments:r}),d.jsx(Afe,{experimentIds:t})]})}const Nfe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"default",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function kfe(){var m,g;const{selectedTeamId:e}=fo(),[t,r]=P.useState("ALL"),[n,i]=P.useState(""),{data:a,isLoading:o}=fp(e||"",{page:0,pageSize:1e3,enabled:!!e}),s=((m=a==null?void 0:a[0])==null?void 0:m.id)||"",{data:l,isLoading:u}=Nd(s,{page:0,pageSize:100,enabled:!!s}),c=((g=l==null?void 0:l[0])==null?void 0:g.id)||"",{data:f,isLoading:h}=Xy(c,{page:0,pageSize:100,enabled:!!c}),p=P.useMemo(()=>{if(!f)return[];let y=[...f];if(n.trim()){const x=n.toLowerCase();y=y.filter(b=>{var S,w;return((S=b.id)==null?void 0:S.toLowerCase().includes(x))||((w=b.experimentId)==null?void 0:w.toLowerCase().includes(x))})}return t!=="ALL"&&(y=y.filter(x=>x.status===t)),y.sort((x,b)=>new Date(b.createdAt).getTime()-new Date(x.createdAt).getTime()),y},[f,t,n]),v=o||u||h;return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-foreground",children:"Runs"}),d.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Browse and monitor individual runs"})]}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search runs...",value:n,onChange:y=>i(y.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(y=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(y),className:`h-8 px-2.5 text-xs transition-colors ${t===y?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:y},y))})]}),v?d.jsx(Te,{className:"h-24 w-full"}):!p||p.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:n.trim()?"No runs match your search":t!=="ALL"?`No ${t} runs found`:"No runs found"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Run ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Experiment ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:p.map(y=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/runs/${y.id}`,className:"font-mono text-primary font-medium hover:underline",children:y.id})}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${y.experimentId}`,className:"font-mono text-primary font-medium hover:underline",children:y.experimentId})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:Nfe[y.status],className:"text-xs px-2 py-0.5",children:y.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(y.createdAt),{addSuffix:!0})})]},y.id))})]})]})})]})}async function Cfe(e,t,r){try{return(await Xt(Qt.listArtifactTags,{team_id:e,project_id:t,repo_type:r})).artifactTags.map(i=>i.name)}catch(n){throw new Error(`Failed to list tags for project ${t}: ${n instanceof Error?n.message:"Unknown error"}`)}}async function $fe(e,t,r,n){try{return(await Xt(Qt.getArtifactContent,{team_id:e,project_id:t,tag:r,repo_type:n})).artifactContent}catch(i){throw new Error(`Failed to get artifact content: ${i instanceof Error?i.message:"Unknown error"}`)}}function Mfe(e,t,r){return Ar({queryKey:["artifacts","tags",e,t,r],queryFn:()=>Cfe(e,t,r),enabled:!!(e&&t),staleTime:10*60*1e3})}function g2(e,t,r,n,i=!0){return Ar({queryKey:["artifacts","content",e,t,r,n],queryFn:()=>$fe(e,t,r,n),enabled:!!(i&&e&&t&&r),staleTime:1/0,gcTime:30*60*1e3,retry:1})}function Gi(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function bE(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function x2(...e){return t=>{let r=!1;const n=e.map(i=>{const a=bE(i,t);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let i=0;i{const{children:o,...s}=a,l=P.useMemo(()=>s,Object.values(s));return d.jsx(r.Provider,{value:l,children:o})};n.displayName=e+"Provider";function i(a){const o=P.useContext(r);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[n,i]}function Dfe(e,t=[]){let r=[];function n(a,o){const s=P.createContext(o),l=r.length;r=[...r,o];const u=f=>{var y;const{scope:h,children:p,...v}=f,m=((y=h==null?void 0:h[e])==null?void 0:y[l])||s,g=P.useMemo(()=>v,Object.values(v));return d.jsx(m.Provider,{value:g,children:p})};u.displayName=a+"Provider";function c(f,h){var m;const p=((m=h==null?void 0:h[e])==null?void 0:m[l])||s,v=P.useContext(p);if(v)return v;if(o!==void 0)return o;throw new Error(`\`${f}\` must be used within \`${a}\``)}return[u,c]}const i=()=>{const a=r.map(o=>P.createContext(o));return function(s){const l=(s==null?void 0:s[e])||a;return P.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return i.scopeName=e,[n,Rfe(i,...t)]}function Rfe(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(a){const o=n.reduce((s,{useScope:l,scopeName:u})=>{const f=l(a)[`__scope${u}`];return{...s,...f}},{});return P.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}var bc=globalThis!=null&&globalThis.document?P.useLayoutEffect:()=>{},Lfe=R0[" useId ".trim().toString()]||(()=>{}),Ffe=0;function jv(e){const[t,r]=P.useState(Lfe());return bc(()=>{r(n=>n??String(Ffe++))},[e]),e||(t?`radix-${t}`:"")}var Bfe=R0[" useInsertionEffect ".trim().toString()]||bc;function zfe({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,a,o]=Ufe({defaultProp:t,onChange:r}),s=e!==void 0,l=s?e:i;{const c=P.useRef(e!==void 0);P.useEffect(()=>{const f=c.current;f!==s&&console.warn(`${n} is changing from ${f?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),c.current=s},[s,n])}const u=P.useCallback(c=>{var f;if(s){const h=Wfe(c)?c(e):c;h!==e&&((f=o.current)==null||f.call(o,h))}else a(c)},[s,e,a,o]);return[l,u]}function Ufe({defaultProp:e,onChange:t}){const[r,n]=P.useState(e),i=P.useRef(r),a=P.useRef(t);return Bfe(()=>{a.current=t},[t]),P.useEffect(()=>{var o;i.current!==r&&((o=a.current)==null||o.call(a,r),i.current=r)},[r,i]),[r,n,a]}function Wfe(e){return typeof e=="function"}function b2(e){const t=Hfe(e),r=P.forwardRef((n,i)=>{const{children:a,...o}=n,s=P.Children.toArray(a),l=s.find(qfe);if(l){const u=l.props.children,c=s.map(f=>f===l?P.Children.count(u)>1?P.Children.only(null):P.isValidElement(u)?u.props.children:null:f);return d.jsx(t,{...o,ref:i,children:P.isValidElement(u)?P.cloneElement(u,void 0,c):null})}return d.jsx(t,{...o,ref:i,children:a})});return r.displayName=`${e}.Slot`,r}function Hfe(e){const t=P.forwardRef((r,n)=>{const{children:i,...a}=r;if(P.isValidElement(i)){const o=Gfe(i),s=Vfe(a,i.props);return i.type!==P.Fragment&&(s.ref=n?x2(n,o):o),P.cloneElement(i,s)}return P.Children.count(i)>1?P.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Kfe=Symbol("radix.slottable");function qfe(e){return P.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Kfe}function Vfe(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...s)=>{const l=a(...s);return i(...s),l}:i&&(r[n]=i):n==="style"?r[n]={...i,...a}:n==="className"&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}function Gfe(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Yfe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ui=Yfe.reduce((e,t)=>{const r=b2(`Primitive.${t}`),n=P.forwardRef((i,a)=>{const{asChild:o,...s}=i,l=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(l,{...s,ref:a})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Xfe(e,t){e&&_x.flushSync(()=>e.dispatchEvent(t))}function wc(e){const t=P.useRef(e);return P.useEffect(()=>{t.current=e}),P.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}function Qfe(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e);P.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var Jfe="DismissableLayer",N0="dismissableLayer.update",Zfe="dismissableLayer.pointerDownOutside",ede="dismissableLayer.focusOutside",wE,w2=P.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),S2=P.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...l}=e,u=P.useContext(w2),[c,f]=P.useState(null),h=(c==null?void 0:c.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=P.useState({}),v=Oo(t,j=>f(j)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=m.indexOf(g),x=c?m.indexOf(c):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,S=x>=y,w=nde(j=>{const E=j.target,A=[...u.branches].some(T=>T.contains(E));!S||A||(i==null||i(j),o==null||o(j),j.defaultPrevented||s==null||s())},h),O=ide(j=>{const E=j.target;[...u.branches].some(T=>T.contains(E))||(a==null||a(j),o==null||o(j),j.defaultPrevented||s==null||s())},h);return Qfe(j=>{x===u.layers.size-1&&(n==null||n(j),!j.defaultPrevented&&s&&(j.preventDefault(),s()))},h),P.useEffect(()=>{if(c)return r&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(wE=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(c)),u.layers.add(c),SE(),()=>{r&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=wE)}},[c,h,r,u]),P.useEffect(()=>()=>{c&&(u.layers.delete(c),u.layersWithOutsidePointerEventsDisabled.delete(c),SE())},[c,u]),P.useEffect(()=>{const j=()=>p({});return document.addEventListener(N0,j),()=>document.removeEventListener(N0,j)},[]),d.jsx(ui.div,{...l,ref:v,style:{pointerEvents:b?S?"auto":"none":void 0,...e.style},onFocusCapture:Gi(e.onFocusCapture,O.onFocusCapture),onBlurCapture:Gi(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:Gi(e.onPointerDownCapture,w.onPointerDownCapture)})});S2.displayName=Jfe;var tde="DismissableLayerBranch",rde=P.forwardRef((e,t)=>{const r=P.useContext(w2),n=P.useRef(null),i=Oo(t,n);return P.useEffect(()=>{const a=n.current;if(a)return r.branches.add(a),()=>{r.branches.delete(a)}},[r.branches]),d.jsx(ui.div,{...e,ref:i})});rde.displayName=tde;function nde(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e),n=P.useRef(!1),i=P.useRef(()=>{});return P.useEffect(()=>{const a=s=>{if(s.target&&!n.current){let l=function(){O2(Zfe,r,u,{discrete:!0})};const u={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=l,t.addEventListener("click",i.current,{once:!0})):l()}else t.removeEventListener("click",i.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",a),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function ide(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e),n=P.useRef(!1);return P.useEffect(()=>{const i=a=>{a.target&&!n.current&&O2(ede,r,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function SE(){const e=new CustomEvent(N0);document.dispatchEvent(e)}function O2(e,t,r,{discrete:n}){const i=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?Xfe(i,a):i.dispatchEvent(a)}var Pv="focusScope.autoFocusOnMount",Ev="focusScope.autoFocusOnUnmount",OE={bubbles:!1,cancelable:!0},ade="FocusScope",j2=P.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,l]=P.useState(null),u=wc(i),c=wc(a),f=P.useRef(null),h=Oo(t,m=>l(m)),p=P.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;P.useEffect(()=>{if(n){let m=function(b){if(p.paused||!s)return;const S=b.target;s.contains(S)?f.current=S:vi(f.current,{select:!0})},g=function(b){if(p.paused||!s)return;const S=b.relatedTarget;S!==null&&(s.contains(S)||vi(f.current,{select:!0}))},y=function(b){if(document.activeElement===document.body)for(const w of b)w.removedNodes.length>0&&vi(s)};document.addEventListener("focusin",m),document.addEventListener("focusout",g);const x=new MutationObserver(y);return s&&x.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",g),x.disconnect()}}},[n,s,p.paused]),P.useEffect(()=>{if(s){PE.add(p);const m=document.activeElement;if(!s.contains(m)){const y=new CustomEvent(Pv,OE);s.addEventListener(Pv,u),s.dispatchEvent(y),y.defaultPrevented||(ode(fde(P2(s)),{select:!0}),document.activeElement===m&&vi(s))}return()=>{s.removeEventListener(Pv,u),setTimeout(()=>{const y=new CustomEvent(Ev,OE);s.addEventListener(Ev,c),s.dispatchEvent(y),y.defaultPrevented||vi(m??document.body,{select:!0}),s.removeEventListener(Ev,c),PE.remove(p)},0)}}},[s,u,c,p]);const v=P.useCallback(m=>{if(!r&&!n||p.paused)return;const g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,y=document.activeElement;if(g&&y){const x=m.currentTarget,[b,S]=sde(x);b&&S?!m.shiftKey&&y===S?(m.preventDefault(),r&&vi(b,{select:!0})):m.shiftKey&&y===b&&(m.preventDefault(),r&&vi(S,{select:!0})):y===x&&m.preventDefault()}},[r,n,p.paused]);return d.jsx(ui.div,{tabIndex:-1,...o,ref:h,onKeyDown:v})});j2.displayName=ade;function ode(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(vi(n,{select:t}),document.activeElement!==r)return}function sde(e){const t=P2(e),r=jE(t,e),n=jE(t.reverse(),e);return[r,n]}function P2(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function jE(e,t){for(const r of e)if(!lde(r,{upTo:t}))return r}function lde(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function ude(e){return e instanceof HTMLInputElement&&"select"in e}function vi(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&ude(e)&&t&&e.select()}}var PE=cde();function cde(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=EE(e,t),e.unshift(t)},remove(t){var r;e=EE(e,t),(r=e[0])==null||r.resume()}}}function EE(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function fde(e){return e.filter(t=>t.tagName!=="A")}var dde="Portal",E2=P.forwardRef((e,t)=>{var s;const{container:r,...n}=e,[i,a]=P.useState(!1);bc(()=>a(!0),[]);const o=r||i&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return o?TD.createPortal(d.jsx(ui.div,{...n,ref:t}),o):null});E2.displayName=dde;function hde(e,t){return P.useReducer((r,n)=>t[r][n]??r,e)}var cm=e=>{const{present:t,children:r}=e,n=pde(t),i=typeof r=="function"?r({present:n.isPresent}):P.Children.only(r),a=Oo(n.ref,mde(i));return typeof r=="function"||n.isPresent?P.cloneElement(i,{ref:a}):null};cm.displayName="Presence";function pde(e){const[t,r]=P.useState(),n=P.useRef(null),i=P.useRef(e),a=P.useRef("none"),o=e?"mounted":"unmounted",[s,l]=hde(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return P.useEffect(()=>{const u=Cf(n.current);a.current=s==="mounted"?u:"none"},[s]),bc(()=>{const u=n.current,c=i.current;if(c!==e){const h=a.current,p=Cf(u);e?l("MOUNT"):p==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(c&&h!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),bc(()=>{if(t){let u;const c=t.ownerDocument.defaultView??window,f=p=>{const m=Cf(n.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(l("ANIMATION_END"),!i.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",u=c.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},h=p=>{p.target===t&&(a.current=Cf(n.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{c.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:P.useCallback(u=>{n.current=u?getComputedStyle(u):null,r(u)},[])}}function Cf(e){return(e==null?void 0:e.animationName)||"none"}function mde(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Av=0;function vde(){P.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??AE()),document.body.insertAdjacentElement("beforeend",e[1]??AE()),Av++,()=>{Av===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Av--}},[])}function AE(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var wn=function(){return wn=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return $de;var t=Mde(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},Dde=N2(),ls="data-scroll-locked",Rde=function(e,t,r,n){var i=e.left,a=e.top,o=e.right,s=e.gap;return r===void 0&&(r="margin"),` + `}),d.jsx(P.Suspense,{fallback:d.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:d.jsxs("div",{className:"text-center space-y-2",children:[d.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-emerald-500 mx-auto"}),d.jsx("div",{children:"Loading 3D visualization..."})]})}),children:d.jsx(Ofe,{divId:"pareto-3d-plot",data:x,onInitialized:(j,E)=>{E.on("plotly_click",A=>{var T;if(A&&A.points&&A.points[0]){const N=(T=A.points[0].customdata)==null?void 0:T[0];N&&window.open(`/runs/${N}`,"_blank")}})},onUpdate:(j,E)=>{E.removeAllListeners("plotly_click"),E.on("plotly_click",A=>{var T;if(A&&A.points&&A.points[0]){const N=(T=A.points[0].customdata)==null?void 0:T[0];N&&window.open(`/runs/${N}`,"_blank")}})},layout:{autosize:!0,transition:{duration:0},scene:{xaxis:{title:{text:`${u[0].key} (${u[0].direction})`,font:{size:12,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},yaxis:{title:{text:`${u[1].key} (${u[1].direction})`,font:{size:12,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},zaxis:{title:{text:`${u[2].key} (${u[2].direction})`,font:{size:12,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},camera:{eye:{x:1.7,y:1.7,z:1.3},center:{x:0,y:0,z:0},up:{x:0,y:0,z:1}},aspectmode:"cube"},showlegend:!1,hovermode:"closest",margin:{l:10,r:10,t:10,b:10},paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",dragmode:"orbit"},config:{responsive:!0,displayModeBar:!0,displaylogo:!1,modeBarButtonsToRemove:["toImage"],modeBarButtonsToAdd:[]},style:{width:"100%",height:"100%"}})})]}):d.jsx(Zi,{width:"100%",height:400,children:d.jsxs(nfe,{margin:{top:20,right:20,bottom:60,left:60},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),d.jsx(ri,{type:"number",dataKey:"x",name:u[0].key,label:{value:`${u[0].key} (${u[0].direction})`,position:"insideBottom",offset:-10,style:{fontSize:12,fill:"#374151"}},tick:{fontSize:11,fill:"#6b7280"},domain:["dataMin - 0.1 * abs(dataMin)","dataMax + 0.1 * abs(dataMax)"]}),d.jsx(ni,{type:"number",dataKey:"y",name:u[1].key,label:{value:`${u[1].key} (${u[1].direction})`,angle:-90,position:"insideLeft",style:{fontSize:12,fill:"#374151"}},tick:{fontSize:11,fill:"#6b7280"},domain:["dataMin - 0.1 * abs(dataMin)","dataMax + 0.1 * abs(dataMax)"]}),d.jsx(_t,{cursor:{strokeDasharray:"3 3"},content:({active:j,payload:E})=>{var R,I;if(!j||!E||!E[0])return null;const A=E[0].payload,T=A.runId===p,_=A.isParetoOptimal,N=T?"#fef3c7":_?"#f0fdf4":"#fafafa",M=T?"#fcd34d":_?"#86efac":"#d1d5db";return d.jsxs("div",{style:{backgroundColor:N,border:`1px solid ${M}`,borderRadius:"6px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",fontSize:"12px"},children:[d.jsxs("div",{style:{fontWeight:600,marginBottom:"4px"},children:["Run: ",A.runId,T?" (StartPoint)":""]}),d.jsxs("div",{children:[u[0].key,": ",(R=A.x)==null?void 0:R.toFixed(4)]}),d.jsxs("div",{children:[u[1].key,": ",(I=A.y)==null?void 0:I.toFixed(4)]})]})}}),d.jsx(Ha,{name:"Dominated",data:y.all.filter(j=>!j.isParetoOptimal&&j.runId!==p),fill:mE,fillOpacity:.4,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")}),d.jsx(Ha,{name:"Pareto",data:y.all.filter(j=>j.isParetoOptimal&&j.runId!==p),fill:pE,fillOpacity:.95,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")}),p&&d.jsx(Ha,{name:"Start",data:y.all.filter(j=>j.runId===p),fill:vE,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")})]})})})]})}const yE={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"},gE=20;function Pfe(){var b;const{id:e}=np(),[t,r]=P.useState("overview"),[n,i]=P.useState(1),[a,o]=P.useState(""),[s,l]=P.useState("ALL"),{data:u,isLoading:c,error:f}=dp(e),{data:h,isLoading:p}=Xy(e,{page:n-1,pageSize:gE}),{data:v}=Xy(e,{page:0,pageSize:1e3}),{data:m,isLoading:g}=y2(e),y=P.useMemo(()=>{if(!h)return[];let S=[...h];if(a.trim()){const w=a.toLowerCase();S=S.filter(O=>{var j;return(j=O.id)==null?void 0:j.toLowerCase().includes(w)})}return s!=="ALL"&&(S=S.filter(w=>w.status===s)),S.sort((w,O)=>new Date(O.createdAt).getTime()-new Date(w.createdAt).getTime()),S},[h,a,s]),x=P.useMemo(()=>!v||v.length===0?[]:[{name:"COMPLETED",value:v.filter(w=>w.status==="COMPLETED").length,color:"#22c55e"},{name:"RUNNING",value:v.filter(w=>w.status==="RUNNING").length,color:"#3b82f6"},{name:"FAILED",value:v.filter(w=>w.status==="FAILED").length,color:"#ef4444"},{name:"PENDING",value:v.filter(w=>w.status==="PENDING").length,color:"#eab308"},{name:"CANCELLED",value:v.filter(w=>w.status==="CANCELLED").length,color:"#6b7280"},{name:"UNKNOWN",value:v.filter(w=>w.status==="UNKNOWN").length,color:"#a78bfa"}].filter(w=>w.value>0),[v]);return c?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):f||!u?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load experiment"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(f==null?void 0:f.message)||"Experiment not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:u.name}),d.jsx("p",{className:"mt-0.5 text-muted-foreground font-mono text-sm",children:u.id})]}),d.jsx(jr,{variant:yE[u.status],children:u.status})]}),d.jsxs(lm,{value:t,onValueChange:r,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"runs",children:"Runs"})]}),d.jsxs(ao,{value:"overview",className:"space-y-4",children:[d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Details"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[u.description&&d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.description})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.duration>0?`${u.duration.toFixed(2)}s`:"-"})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Total Tokens"}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm",children:((b=u.meta)==null?void 0:b.total_tokens)!==void 0?d.jsxs(d.Fragment,{children:[Number(u.meta.total_tokens).toLocaleString(),u.meta.input_tokens!==void 0&&u.meta.output_tokens!==void 0&&d.jsxs("span",{className:"text-muted-foreground text-xs ml-1",children:["(",Number(u.meta.input_tokens).toLocaleString(),"↓ ",Number(u.meta.output_tokens).toLocaleString(),"↑)"]})]}):d.jsx("span",{className:"text-muted-foreground",children:"-"})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.createdAt),{addSuffix:!0})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.updatedAt),{addSuffix:!0})})]})]}),u.meta&&Object.keys(u.meta).filter(S=>!["total_tokens","input_tokens","output_tokens"].includes(S)).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.meta).filter(([S])=>!["total_tokens","input_tokens","output_tokens"].includes(S)).map(([S,w])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:S}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof w=="string"?w:JSON.stringify(w)})]},S))})]}),u.params&&Object.keys(u.params).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Parameters"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.params).map(([S,w])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:S}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof w=="string"?w:JSON.stringify(w)})]},S))})]}),v&&v.length>0&&x.length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsxs("h3",{className:"text-base font-semibold mb-6",children:["Statistics (",v.length," runs)"]}),d.jsx(Zi,{width:"100%",height:180,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:x,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:48,label:({name:S,value:w})=>`${S}: ${w}`,style:{fontSize:"12px"},children:x.map((S,w)=>d.jsx(mo,{fill:S.color},`cell-${w}`))}),d.jsx(_t,{}),d.jsx(Br,{wrapperStyle:{fontSize:"12px"}})]})})]})]})}),g?d.jsx(Te,{className:"h-80 w-full"}):m&&Object.keys(m).length>0?d.jsx(jfe,{metrics:m,experimentId:e,title:"Metrics",description:"Switch between timeline and Pareto analysis views"}):d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsx(Bt,{className:"text-sm",children:"Metrics"}),d.jsx(dr,{className:"text-xs",children:"No metrics data available"})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:v&&v.length>0?"No metrics logged yet":"No runs in this experiment"})})]})]}),d.jsx(ao,{value:"runs",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search runs...",value:a,onChange:S=>o(S.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(S=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l(S),className:`h-8 px-2.5 text-xs transition-colors ${s===S?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:S},S))})]}),p?d.jsx(Te,{className:"h-24 w-full"}):!h||h.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No runs found"}):y.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No runs match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Run ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:y.map(S=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/runs/${S.id}`,className:"font-mono text-primary font-medium hover:underline",children:S.id})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:yE[S.status],className:"text-xs px-2 py-0.5",children:S.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(S.createdAt),{addSuffix:!0})})]},S.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",n]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:n===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:h.length{const r=new Set;return e.forEach(i=>{i.params&&Object.keys(i.params).forEach(a=>r.add(a))}),Array.from(r).map(i=>{const a=e.map(l=>l.params&&i in l.params?JSON.stringify(l.params[i]):null),s=new Set(a.filter(l=>l!==null)).size>1;return{key:i,values:a,isDifferent:s}}).sort((i,a)=>i.isDifferent!==a.isDifferent?i.isDifferent?-1:1:i.key.localeCompare(a.key))},[e]);return d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Parameter Comparison"}),d.jsx(dr,{children:"Side-by-side comparison of experiment parameters"})]}),d.jsx(he,{children:t.length===0?d.jsx("div",{className:"flex h-32 items-center justify-center text-muted-foreground",children:"No parameters to compare"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"font-semibold",children:"Parameter"}),e.map((r,n)=>d.jsx(Re,{className:"font-semibold",children:r.name},r.id))]})}),d.jsx(wo,{children:t.map(r=>d.jsxs(Or,{className:r.isDifferent?"bg-yellow-50 dark:bg-yellow-950":"",children:[d.jsx(Le,{className:"font-medium",children:r.key}),r.values.map((n,i)=>d.jsx(Le,{className:n===null?"text-muted-foreground italic":r.isDifferent?"font-medium":"",children:n===null?"-":n},i))]},r.key))})]})})]})}const xE=["#0ea5e9","#8b5cf6","#ec4899","#f59e0b","#10b981"];function Afe({experimentIds:e}){const t=e.map(a=>y2(a)),r=t.some(a=>a.isLoading),n=P.useMemo(()=>{if(r)return[];const a=new Map;return t.forEach((o,s)=>{const l=o.data||{};Object.entries(l).forEach(([u,c])=>{c.forEach(f=>{const h=f.createdAt,p=`exp${s+1}_${u}`;a.has(h)||a.set(h,{timestamp:h,time:qi(new Date(h),"HH:mm:ss")});const v=a.get(h);v[p]=f.value})})}),Array.from(a.values()).sort((o,s)=>new Date(o.timestamp).getTime()-new Date(s.timestamp).getTime())},[t,r]),i=P.useMemo(()=>{const a=new Set;return n.length>0&&Object.keys(n[0]).forEach(o=>{o!=="timestamp"&&o!=="time"&&a.add(o)}),Array.from(a)},[n]);return r?d.jsxs(de,{children:[d.jsx(Ft,{children:d.jsx(Bt,{children:"Metrics Overlay"})}),d.jsx(he,{children:d.jsx(Te,{className:"h-96 w-full"})})]}):n.length===0?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Metrics Overlay"}),d.jsx(dr,{children:"Combined metrics visualization across experiments"})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:"No metrics data available for comparison"})})]}):d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Metrics Overlay"}),d.jsx(dr,{children:"Combined metrics from all selected experiments"})]}),d.jsx(he,{children:d.jsx(Zi,{width:"100%",height:400,children:d.jsxs(sm,{data:n,margin:{top:5,right:30,left:20,bottom:5},children:[d.jsx(Ys,{strokeDasharray:"3 3"}),d.jsx(ri,{dataKey:"time",label:{value:"Time",position:"insideBottom",offset:-5}}),d.jsx(ni,{label:{value:"Value",angle:-90,position:"insideLeft"}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"0.5rem"}}),d.jsx(Br,{}),i.map((a,o)=>d.jsx(_n,{type:"monotone",dataKey:a,stroke:xE[o%xE.length],strokeWidth:2,dot:{r:3},connectNulls:!0},a))]})})})]})}const _fe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function Tfe(){var i;const[e]=yL(),t=((i=e.get("ids"))==null?void 0:i.split(","))||[],{data:r,isLoading:n}=k5(t);return n?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):!r||r.length<2?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Experiment Comparison"}),d.jsx(dr,{children:"Select at least 2 experiments to compare"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-muted-foreground",children:"No experiments selected for comparison"})})]}):d.jsxs("div",{className:"space-y-6",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-3xl font-bold text-foreground",children:"Experiment Comparison"}),d.jsxs("p",{className:"mt-2 text-muted-foreground",children:["Comparing ",r.length," experiments"]})]}),d.jsx("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:r.map(a=>d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsx(Bt,{className:"text-lg",children:a.name}),d.jsx(jr,{variant:_fe[a.status],children:a.status})]}),a.description&&d.jsx(dr,{children:a.description})]}),d.jsx(he,{children:d.jsxs("dl",{className:"space-y-2 text-sm",children:[d.jsxs("div",{className:"flex justify-between",children:[d.jsx("dt",{className:"text-muted-foreground",children:"Duration"}),d.jsx("dd",{className:"font-medium",children:a.duration>0?`${a.duration.toFixed(2)}s`:"-"})]}),d.jsxs("div",{className:"flex justify-between",children:[d.jsx("dt",{className:"text-muted-foreground",children:"Params"}),d.jsx("dd",{className:"font-medium",children:a.params?Object.keys(a.params).length:0})]})]})})]},a.id))}),d.jsx(Efe,{experiments:r}),d.jsx(Afe,{experimentIds:t})]})}const Nfe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function kfe(){var m,g;const{selectedTeamId:e}=fo(),[t,r]=P.useState("ALL"),[n,i]=P.useState(""),{data:a,isLoading:o}=fp(e||"",{page:0,pageSize:1e3,enabled:!!e}),s=((m=a==null?void 0:a[0])==null?void 0:m.id)||"",{data:l,isLoading:u}=Nd(s,{page:0,pageSize:100,enabled:!!s}),c=((g=l==null?void 0:l[0])==null?void 0:g.id)||"",{data:f,isLoading:h}=Xy(c,{page:0,pageSize:100,enabled:!!c}),p=P.useMemo(()=>{if(!f)return[];let y=[...f];if(n.trim()){const x=n.toLowerCase();y=y.filter(b=>{var S,w;return((S=b.id)==null?void 0:S.toLowerCase().includes(x))||((w=b.experimentId)==null?void 0:w.toLowerCase().includes(x))})}return t!=="ALL"&&(y=y.filter(x=>x.status===t)),y.sort((x,b)=>new Date(b.createdAt).getTime()-new Date(x.createdAt).getTime()),y},[f,t,n]),v=o||u||h;return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-foreground",children:"Runs"}),d.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Browse and monitor individual runs"})]}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search runs...",value:n,onChange:y=>i(y.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(y=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(y),className:`h-8 px-2.5 text-xs transition-colors ${t===y?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:y},y))})]}),v?d.jsx(Te,{className:"h-24 w-full"}):!p||p.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:n.trim()?"No runs match your search":t!=="ALL"?`No ${t} runs found`:"No runs found"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Run ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Experiment ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:p.map(y=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/runs/${y.id}`,className:"font-mono text-primary font-medium hover:underline",children:y.id})}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${y.experimentId}`,className:"font-mono text-primary font-medium hover:underline",children:y.experimentId})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:Nfe[y.status],className:"text-xs px-2 py-0.5",children:y.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(y.createdAt),{addSuffix:!0})})]},y.id))})]})]})})]})}async function Cfe(e,t,r){try{return(await Xt(Qt.listArtifactTags,{team_id:e,project_id:t,repo_type:r})).artifactTags.map(i=>i.name)}catch(n){throw new Error(`Failed to list tags for project ${t}: ${n instanceof Error?n.message:"Unknown error"}`)}}async function $fe(e,t,r,n){try{return(await Xt(Qt.getArtifactContent,{team_id:e,project_id:t,tag:r,repo_type:n})).artifactContent}catch(i){throw new Error(`Failed to get artifact content: ${i instanceof Error?i.message:"Unknown error"}`)}}function Mfe(e,t,r){return Ar({queryKey:["artifacts","tags",e,t,r],queryFn:()=>Cfe(e,t,r),enabled:!!(e&&t),staleTime:10*60*1e3})}function g2(e,t,r,n,i=!0){return Ar({queryKey:["artifacts","content",e,t,r,n],queryFn:()=>$fe(e,t,r,n),enabled:!!(i&&e&&t&&r),staleTime:1/0,gcTime:30*60*1e3,retry:1})}function Gi(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function bE(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function x2(...e){return t=>{let r=!1;const n=e.map(i=>{const a=bE(i,t);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let i=0;i{const{children:o,...s}=a,l=P.useMemo(()=>s,Object.values(s));return d.jsx(r.Provider,{value:l,children:o})};n.displayName=e+"Provider";function i(a){const o=P.useContext(r);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[n,i]}function Dfe(e,t=[]){let r=[];function n(a,o){const s=P.createContext(o),l=r.length;r=[...r,o];const u=f=>{var y;const{scope:h,children:p,...v}=f,m=((y=h==null?void 0:h[e])==null?void 0:y[l])||s,g=P.useMemo(()=>v,Object.values(v));return d.jsx(m.Provider,{value:g,children:p})};u.displayName=a+"Provider";function c(f,h){var m;const p=((m=h==null?void 0:h[e])==null?void 0:m[l])||s,v=P.useContext(p);if(v)return v;if(o!==void 0)return o;throw new Error(`\`${f}\` must be used within \`${a}\``)}return[u,c]}const i=()=>{const a=r.map(o=>P.createContext(o));return function(s){const l=(s==null?void 0:s[e])||a;return P.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return i.scopeName=e,[n,Rfe(i,...t)]}function Rfe(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(a){const o=n.reduce((s,{useScope:l,scopeName:u})=>{const f=l(a)[`__scope${u}`];return{...s,...f}},{});return P.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}var bc=globalThis!=null&&globalThis.document?P.useLayoutEffect:()=>{},Lfe=R0[" useId ".trim().toString()]||(()=>{}),Ffe=0;function jv(e){const[t,r]=P.useState(Lfe());return bc(()=>{r(n=>n??String(Ffe++))},[e]),e||(t?`radix-${t}`:"")}var Bfe=R0[" useInsertionEffect ".trim().toString()]||bc;function zfe({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,a,o]=Ufe({defaultProp:t,onChange:r}),s=e!==void 0,l=s?e:i;{const c=P.useRef(e!==void 0);P.useEffect(()=>{const f=c.current;f!==s&&console.warn(`${n} is changing from ${f?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),c.current=s},[s,n])}const u=P.useCallback(c=>{var f;if(s){const h=Wfe(c)?c(e):c;h!==e&&((f=o.current)==null||f.call(o,h))}else a(c)},[s,e,a,o]);return[l,u]}function Ufe({defaultProp:e,onChange:t}){const[r,n]=P.useState(e),i=P.useRef(r),a=P.useRef(t);return Bfe(()=>{a.current=t},[t]),P.useEffect(()=>{var o;i.current!==r&&((o=a.current)==null||o.call(a,r),i.current=r)},[r,i]),[r,n,a]}function Wfe(e){return typeof e=="function"}function b2(e){const t=Hfe(e),r=P.forwardRef((n,i)=>{const{children:a,...o}=n,s=P.Children.toArray(a),l=s.find(qfe);if(l){const u=l.props.children,c=s.map(f=>f===l?P.Children.count(u)>1?P.Children.only(null):P.isValidElement(u)?u.props.children:null:f);return d.jsx(t,{...o,ref:i,children:P.isValidElement(u)?P.cloneElement(u,void 0,c):null})}return d.jsx(t,{...o,ref:i,children:a})});return r.displayName=`${e}.Slot`,r}function Hfe(e){const t=P.forwardRef((r,n)=>{const{children:i,...a}=r;if(P.isValidElement(i)){const o=Gfe(i),s=Vfe(a,i.props);return i.type!==P.Fragment&&(s.ref=n?x2(n,o):o),P.cloneElement(i,s)}return P.Children.count(i)>1?P.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Kfe=Symbol("radix.slottable");function qfe(e){return P.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Kfe}function Vfe(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...s)=>{const l=a(...s);return i(...s),l}:i&&(r[n]=i):n==="style"?r[n]={...i,...a}:n==="className"&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}function Gfe(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Yfe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ui=Yfe.reduce((e,t)=>{const r=b2(`Primitive.${t}`),n=P.forwardRef((i,a)=>{const{asChild:o,...s}=i,l=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(l,{...s,ref:a})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Xfe(e,t){e&&_x.flushSync(()=>e.dispatchEvent(t))}function wc(e){const t=P.useRef(e);return P.useEffect(()=>{t.current=e}),P.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}function Qfe(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e);P.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var Jfe="DismissableLayer",N0="dismissableLayer.update",Zfe="dismissableLayer.pointerDownOutside",ede="dismissableLayer.focusOutside",wE,w2=P.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),S2=P.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...l}=e,u=P.useContext(w2),[c,f]=P.useState(null),h=(c==null?void 0:c.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=P.useState({}),v=Oo(t,j=>f(j)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=m.indexOf(g),x=c?m.indexOf(c):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,S=x>=y,w=nde(j=>{const E=j.target,A=[...u.branches].some(T=>T.contains(E));!S||A||(i==null||i(j),o==null||o(j),j.defaultPrevented||s==null||s())},h),O=ide(j=>{const E=j.target;[...u.branches].some(T=>T.contains(E))||(a==null||a(j),o==null||o(j),j.defaultPrevented||s==null||s())},h);return Qfe(j=>{x===u.layers.size-1&&(n==null||n(j),!j.defaultPrevented&&s&&(j.preventDefault(),s()))},h),P.useEffect(()=>{if(c)return r&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(wE=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(c)),u.layers.add(c),SE(),()=>{r&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=wE)}},[c,h,r,u]),P.useEffect(()=>()=>{c&&(u.layers.delete(c),u.layersWithOutsidePointerEventsDisabled.delete(c),SE())},[c,u]),P.useEffect(()=>{const j=()=>p({});return document.addEventListener(N0,j),()=>document.removeEventListener(N0,j)},[]),d.jsx(ui.div,{...l,ref:v,style:{pointerEvents:b?S?"auto":"none":void 0,...e.style},onFocusCapture:Gi(e.onFocusCapture,O.onFocusCapture),onBlurCapture:Gi(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:Gi(e.onPointerDownCapture,w.onPointerDownCapture)})});S2.displayName=Jfe;var tde="DismissableLayerBranch",rde=P.forwardRef((e,t)=>{const r=P.useContext(w2),n=P.useRef(null),i=Oo(t,n);return P.useEffect(()=>{const a=n.current;if(a)return r.branches.add(a),()=>{r.branches.delete(a)}},[r.branches]),d.jsx(ui.div,{...e,ref:i})});rde.displayName=tde;function nde(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e),n=P.useRef(!1),i=P.useRef(()=>{});return P.useEffect(()=>{const a=s=>{if(s.target&&!n.current){let l=function(){O2(Zfe,r,u,{discrete:!0})};const u={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=l,t.addEventListener("click",i.current,{once:!0})):l()}else t.removeEventListener("click",i.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",a),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function ide(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e),n=P.useRef(!1);return P.useEffect(()=>{const i=a=>{a.target&&!n.current&&O2(ede,r,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function SE(){const e=new CustomEvent(N0);document.dispatchEvent(e)}function O2(e,t,r,{discrete:n}){const i=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?Xfe(i,a):i.dispatchEvent(a)}var Pv="focusScope.autoFocusOnMount",Ev="focusScope.autoFocusOnUnmount",OE={bubbles:!1,cancelable:!0},ade="FocusScope",j2=P.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,l]=P.useState(null),u=wc(i),c=wc(a),f=P.useRef(null),h=Oo(t,m=>l(m)),p=P.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;P.useEffect(()=>{if(n){let m=function(b){if(p.paused||!s)return;const S=b.target;s.contains(S)?f.current=S:vi(f.current,{select:!0})},g=function(b){if(p.paused||!s)return;const S=b.relatedTarget;S!==null&&(s.contains(S)||vi(f.current,{select:!0}))},y=function(b){if(document.activeElement===document.body)for(const w of b)w.removedNodes.length>0&&vi(s)};document.addEventListener("focusin",m),document.addEventListener("focusout",g);const x=new MutationObserver(y);return s&&x.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",g),x.disconnect()}}},[n,s,p.paused]),P.useEffect(()=>{if(s){PE.add(p);const m=document.activeElement;if(!s.contains(m)){const y=new CustomEvent(Pv,OE);s.addEventListener(Pv,u),s.dispatchEvent(y),y.defaultPrevented||(ode(fde(P2(s)),{select:!0}),document.activeElement===m&&vi(s))}return()=>{s.removeEventListener(Pv,u),setTimeout(()=>{const y=new CustomEvent(Ev,OE);s.addEventListener(Ev,c),s.dispatchEvent(y),y.defaultPrevented||vi(m??document.body,{select:!0}),s.removeEventListener(Ev,c),PE.remove(p)},0)}}},[s,u,c,p]);const v=P.useCallback(m=>{if(!r&&!n||p.paused)return;const g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,y=document.activeElement;if(g&&y){const x=m.currentTarget,[b,S]=sde(x);b&&S?!m.shiftKey&&y===S?(m.preventDefault(),r&&vi(b,{select:!0})):m.shiftKey&&y===b&&(m.preventDefault(),r&&vi(S,{select:!0})):y===x&&m.preventDefault()}},[r,n,p.paused]);return d.jsx(ui.div,{tabIndex:-1,...o,ref:h,onKeyDown:v})});j2.displayName=ade;function ode(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(vi(n,{select:t}),document.activeElement!==r)return}function sde(e){const t=P2(e),r=jE(t,e),n=jE(t.reverse(),e);return[r,n]}function P2(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function jE(e,t){for(const r of e)if(!lde(r,{upTo:t}))return r}function lde(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function ude(e){return e instanceof HTMLInputElement&&"select"in e}function vi(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&ude(e)&&t&&e.select()}}var PE=cde();function cde(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=EE(e,t),e.unshift(t)},remove(t){var r;e=EE(e,t),(r=e[0])==null||r.resume()}}}function EE(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function fde(e){return e.filter(t=>t.tagName!=="A")}var dde="Portal",E2=P.forwardRef((e,t)=>{var s;const{container:r,...n}=e,[i,a]=P.useState(!1);bc(()=>a(!0),[]);const o=r||i&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return o?TD.createPortal(d.jsx(ui.div,{...n,ref:t}),o):null});E2.displayName=dde;function hde(e,t){return P.useReducer((r,n)=>t[r][n]??r,e)}var cm=e=>{const{present:t,children:r}=e,n=pde(t),i=typeof r=="function"?r({present:n.isPresent}):P.Children.only(r),a=Oo(n.ref,mde(i));return typeof r=="function"||n.isPresent?P.cloneElement(i,{ref:a}):null};cm.displayName="Presence";function pde(e){const[t,r]=P.useState(),n=P.useRef(null),i=P.useRef(e),a=P.useRef("none"),o=e?"mounted":"unmounted",[s,l]=hde(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return P.useEffect(()=>{const u=Cf(n.current);a.current=s==="mounted"?u:"none"},[s]),bc(()=>{const u=n.current,c=i.current;if(c!==e){const h=a.current,p=Cf(u);e?l("MOUNT"):p==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(c&&h!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),bc(()=>{if(t){let u;const c=t.ownerDocument.defaultView??window,f=p=>{const m=Cf(n.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(l("ANIMATION_END"),!i.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",u=c.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},h=p=>{p.target===t&&(a.current=Cf(n.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{c.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:P.useCallback(u=>{n.current=u?getComputedStyle(u):null,r(u)},[])}}function Cf(e){return(e==null?void 0:e.animationName)||"none"}function mde(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Av=0;function vde(){P.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??AE()),document.body.insertAdjacentElement("beforeend",e[1]??AE()),Av++,()=>{Av===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Av--}},[])}function AE(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var wn=function(){return wn=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return $de;var t=Mde(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},Dde=N2(),ls="data-scroll-locked",Rde=function(e,t,r,n){var i=e.left,a=e.top,o=e.right,s=e.gap;return r===void 0&&(r="margin"),` .`.concat(gde,` { overflow: hidden `).concat(n,`; padding-right: `).concat(s,"px ").concat(n,`; @@ -585,4 +585,4 @@ If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHid For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return P.useEffect(()=>{e&&(document.getElementById(e)||console.error(r))},[r,e]),null},fhe="DialogDescriptionWarning",dhe=({contentRef:e,descriptionId:t})=>{const n=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${X2(fhe).contentName}}.`;return P.useEffect(()=>{var a;const i=(a=e.current)==null?void 0:a.getAttribute("aria-describedby");t&&i&&(document.getElementById(t)||console.warn(n))},[n,e,t]),null},hhe=R2,phe=B2,Q2=z2,J2=U2,Z2=H2,eM=q2,mhe=G2;const tM=hhe,vhe=phe,rM=P.forwardRef(({className:e,...t},r)=>d.jsx(Q2,{ref:r,className:Oe("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}));rM.displayName=Q2.displayName;const tw=P.forwardRef(({className:e,children:t,...r},n)=>d.jsxs(vhe,{children:[d.jsx(rM,{}),d.jsxs(J2,{ref:n,className:Oe("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...r,children:[t,d.jsxs(mhe,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[d.jsx(oN,{className:"h-4 w-4"}),d.jsx("span",{className:"sr-only",children:"Close"})]})]})]}));tw.displayName=J2.displayName;const rw=({className:e,...t})=>d.jsx("div",{className:Oe("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});rw.displayName="DialogHeader";const nw=P.forwardRef(({className:e,...t},r)=>d.jsx(Z2,{ref:r,className:Oe("text-lg font-semibold leading-none tracking-tight",e),...t}));nw.displayName=Z2.displayName;const iw=P.forwardRef(({className:e,...t},r)=>d.jsx(eM,{ref:r,className:Oe("text-sm text-muted-foreground",e),...t}));iw.displayName=eM.displayName;const $E={OK:"bg-green-500",ERROR:"bg-red-500",UNSET:"bg-green-500"},ME=e=>{var n,i;const t=e.spanName.toLowerCase(),r=e.spanKind;return t.includes("openai")||t.includes("chat")||t.includes("completion")?{label:"LLM",icon:d.jsx(iF,{className:"h-3 w-3"}),badgeColor:"bg-purple-100 text-purple-700 border-purple-200"}:r==="CLIENT"||t.includes("http")||t.includes("api")?{label:"API",icon:d.jsx(SF,{className:"h-3 w-3"}),badgeColor:"bg-blue-100 text-blue-700 border-blue-200"}:t.includes("db")||t.includes("database")||t.includes("query")?{label:"DB",icon:d.jsx(rN,{className:"h-3 w-3"}),badgeColor:"bg-cyan-100 text-cyan-700 border-cyan-200"}:((n=e.spanAttributes)==null?void 0:n["traceloop.span.kind"])==="workflow"?{label:"Workflow",icon:d.jsx(kF,{className:"h-3 w-3"}),badgeColor:"bg-indigo-100 text-indigo-700 border-indigo-200"}:((i=e.spanAttributes)==null?void 0:i["traceloop.span.kind"])==="task"?{label:"Task",icon:d.jsx(DF,{className:"h-3 w-3"}),badgeColor:"bg-amber-100 text-amber-700 border-amber-200"}:{label:"Span",icon:d.jsx(Gy,{className:"h-3 w-3"}),badgeColor:"bg-gray-100 text-gray-700 border-gray-200"}};function yhe({spans:e}){const[t,r]=P.useState(()=>new Set(e.filter(g=>!g.parentSpanId||g.parentSpanId==="").map(g=>g.spanId))),[n,i]=P.useState(null),a=()=>{const g=new Set(e.map(y=>y.spanId));r(g)},o=()=>{r(new Set)},s=P.useMemo(()=>{if(!e||e.length===0)return[];const g=new Map,y=[];e.forEach(S=>{g.set(S.spanId,{span:S,children:[],depth:0})}),e.forEach(S=>{const w=g.get(S.spanId);if(!S.parentSpanId||S.parentSpanId==="")y.push(w);else{const O=g.get(S.parentSpanId);O?(w.depth=O.depth+1,O.children.push(w)):y.push(w)}});const x=S=>{S.sort((w,O)=>new Date(w.span.timestamp).getTime()-new Date(O.span.timestamp).getTime()),S.forEach(w=>x(w.children))},b=S=>{var _,N,M;S.children.forEach(R=>b(R));const w=parseInt((_=S.span.spanAttributes)==null?void 0:_["gen_ai.usage.input_tokens"])||0,O=parseInt((N=S.span.spanAttributes)==null?void 0:N["gen_ai.usage.output_tokens"])||0,j=parseInt((M=S.span.spanAttributes)==null?void 0:M["llm.usage.total_tokens"])||0,E=S.children.reduce((R,I)=>R+(I.inputTokens||0),0),A=S.children.reduce((R,I)=>R+(I.outputTokens||0),0),T=S.children.reduce((R,I)=>R+(I.totalTokens||0),0);S.inputTokens=w+E,S.outputTokens=O+A,S.totalTokens=j+T};return x(y),y.forEach(S=>b(S)),y},[e]),{minTimestamp:l,maxTimestamp:u,totalDuration:c}=P.useMemo(()=>{if(!e||e.length===0)return{minTimestamp:0,maxTimestamp:0,totalDuration:0};const g=e.map(w=>new Date(w.timestamp).getTime()),y=e.map(w=>new Date(w.timestamp).getTime()+w.duration/1e6),x=Math.min(...g),b=Math.max(...y),S=b-x;return{minTimestamp:x,maxTimestamp:b,totalDuration:S||1}},[e]),f=g=>{r(y=>{const x=new Set(y);return x.has(g)?x.delete(g):x.add(g),x})},h=g=>{const y=g/1e3,x=y/1e3,b=x/1e3;return b>=1?`${b.toFixed(2)}s`:x>=1?`${x.toFixed(2)}ms`:`${y.toFixed(2)}μs`},p=g=>{const{span:y}=g,x=new Date(y.timestamp).getTime(),b=x+y.duration/1e6,S=(x-l)/c*100,w=(b-x)/c*100,O=$E[y.statusCode]||$E.UNSET;return d.jsx("div",{className:`${O} absolute h-7 rounded flex items-center px-2 text-white text-[11px] font-medium overflow-hidden transition-all hover:opacity-90 hover:shadow-md cursor-pointer shadow`,style:{left:`${S}%`,width:`${Math.max(w,.8)}%`},title:`${y.spanName} Duration: ${h(y.duration)} Status: ${y.statusCode} -Kind: ${y.spanKind}`,children:d.jsx("span",{className:"truncate",children:h(y.duration)})})},v=g=>{const{span:y,children:x,depth:b,totalTokens:S,inputTokens:w,outputTokens:O}=g,j=x.length>0,E=t.has(y.spanId),A=ME(y),T=j&&S&&S>0;return d.jsxs("div",{children:[d.jsxs("div",{className:`flex items-center border-b border-border hover:bg-muted/30 transition-colors cursor-pointer ${(n==null?void 0:n.spanId)===y.spanId?"bg-accent":""}`,onClick:_=>{_.target.closest("button")||i(y)},children:[d.jsxs("div",{className:"flex-shrink-0 flex items-center gap-2 py-2 min-w-0",style:{width:"360px",paddingLeft:`${b*12+12}px`,paddingRight:"12px"},children:[b>0&&d.jsx("div",{className:"absolute h-full border-l border-border/60",style:{left:`${(b-1)*12+12}px`}}),j?d.jsx("button",{onClick:()=>f(y.spanId),className:"p-0.5 hover:bg-accent rounded flex-shrink-0 transition-colors",children:E?d.jsx(up,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}):d.jsx(Qi,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"})}):d.jsx("div",{className:"w-[20px] flex-shrink-0"}),d.jsxs(jr,{variant:"outline",className:`${A.badgeColor} flex items-center gap-1 px-2 py-0.5 text-xs font-medium flex-shrink-0`,children:[A.icon,d.jsx("span",{children:A.label})]}),d.jsx("span",{className:"text-sm font-medium truncate text-foreground",title:y.spanName,children:y.spanName})]}),d.jsxs("div",{className:"flex-shrink-0 flex items-center gap-1.5 whitespace-nowrap text-foreground py-2",style:{width:"105px",paddingLeft:"12px",paddingRight:"12px"},children:[d.jsx(Gy,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}),d.jsx("span",{className:"text-xs font-mono",children:h(y.duration)})]}),d.jsx("div",{className:"flex-shrink-0 flex flex-col justify-center whitespace-nowrap text-foreground py-2",style:{width:"105px",paddingLeft:"12px",paddingRight:"6px"},children:S&&S>0?d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"font-mono flex items-center text-xs",children:[T&&d.jsx("span",{className:"inline-block align-middle mr-1 text-muted-foreground",children:"∑"}),d.jsx("span",{children:S.toLocaleString()})]}),w&&O&&w>0&&O>0&&d.jsxs("div",{className:"text-muted-foreground text-[10px] mt-0.5 font-mono",children:[w.toLocaleString(),"↓ ",O.toLocaleString(),"↑"]})]}):d.jsx("span",{className:"text-muted-foreground/40 text-xs",children:"—"})}),d.jsx("div",{className:"flex-1 relative h-9 min-w-0 flex items-center",style:{paddingLeft:"2px",paddingRight:"12px"},children:p(g)})]}),j&&E&&d.jsx("div",{children:x.map(_=>v(_))})]},y.spanId)};if(!e||e.length===0)return d.jsx(de,{children:d.jsx(he,{className:"p-4",children:d.jsx("div",{className:"flex h-32 items-center justify-center text-sm text-muted-foreground",children:"No traces available"})})});const m=g=>{const y=ME(g),x=g.spanAttributes||{},b=x["gen_ai.request.model"]||x["gen_ai.response.model"],S=x["gen_ai.request.temperature"],w=x["gen_ai.request.max_tokens"],O=x["gen_ai.request.top_p"],j=[];let E=0;for(;x[`gen_ai.prompt.${E}.role`];)j.push({role:x[`gen_ai.prompt.${E}.role`],content:x[`gen_ai.prompt.${E}.content`]}),E++;const A=[];for(E=0;x[`gen_ai.completion.${E}.role`];)A.push({role:x[`gen_ai.completion.${E}.role`],content:x[`gen_ai.completion.${E}.content`],finishReason:x[`gen_ai.completion.${E}.finish_reason`]}),E++;return d.jsx(de,{className:"mt-3 border-2",children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex items-start justify-between mb-4",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsxs(jr,{variant:"outline",className:`${y.badgeColor} flex items-center gap-1 px-2 py-1 text-xs`,children:[y.icon,y.label]}),d.jsx("h4",{className:"font-semibold text-sm",children:g.spanName})]}),d.jsx(lt,{variant:"ghost",size:"sm",onClick:()=>i(null),className:"h-6 w-6 p-0 hover:bg-muted",children:d.jsx(oN,{className:"h-3.5 w-3.5"})})]}),b&&d.jsxs("div",{className:"mb-4",children:[d.jsx("h5",{className:"text-xs font-semibold mb-2 text-foreground uppercase tracking-wide",children:"Model Configuration"}),d.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs border rounded-md p-3 bg-muted/30",children:[d.jsxs("div",{className:"col-span-2",children:[d.jsx("span",{className:"text-muted-foreground font-medium",children:"Model:"}),d.jsx("span",{className:"ml-2 font-mono text-foreground",children:b})]}),S!==void 0&&d.jsxs("div",{children:[d.jsx("span",{className:"text-muted-foreground font-medium",children:"Temperature:"}),d.jsx("span",{className:"ml-2 font-mono text-foreground",children:S})]}),w&&d.jsxs("div",{children:[d.jsx("span",{className:"text-muted-foreground font-medium",children:"Max Tokens:"}),d.jsx("span",{className:"ml-2 font-mono text-foreground",children:w})]}),O!==void 0&&d.jsxs("div",{children:[d.jsx("span",{className:"text-muted-foreground font-medium",children:"Top P:"}),d.jsx("span",{className:"ml-2 font-mono text-foreground",children:O})]})]})]}),j.length>0&&d.jsxs("div",{className:"mb-4",children:[d.jsx("h5",{className:"text-xs font-semibold mb-2 text-foreground uppercase tracking-wide",children:"Input"}),d.jsx("div",{className:"space-y-2",children:j.map((T,_)=>d.jsxs("div",{className:"border rounded-md p-3 bg-muted/30",children:[d.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground mb-2 uppercase tracking-wide",children:T.role}),d.jsx("div",{className:"text-xs whitespace-pre-wrap leading-relaxed text-foreground",children:T.content})]},_))})]}),A.length>0&&d.jsxs("div",{className:"mb-4",children:[d.jsx("h5",{className:"text-xs font-semibold mb-2 text-foreground uppercase tracking-wide",children:"Output"}),d.jsx("div",{className:"space-y-2",children:A.map((T,_)=>d.jsxs("div",{className:"border rounded-md p-3 bg-muted/30",children:[d.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground mb-2 uppercase tracking-wide",children:T.role}),d.jsx("div",{className:"text-xs whitespace-pre-wrap leading-relaxed text-foreground",children:T.content})]},_))})]}),d.jsxs("details",{className:"mt-3",children:[d.jsxs("summary",{className:"text-xs font-semibold cursor-pointer hover:text-foreground text-muted-foreground py-1 uppercase tracking-wide",children:["All Attributes (",Object.keys(x).length,")"]}),d.jsx("div",{className:"mt-2 text-xs space-y-1 bg-muted/30 rounded-md p-3 max-h-64 overflow-auto border",children:Object.entries(x).map(([T,_])=>d.jsxs("div",{className:"grid grid-cols-3 gap-3 py-1",children:[d.jsxs("span",{className:"text-muted-foreground truncate font-medium",title:T,children:[T,":"]}),d.jsx("span",{className:"col-span-2 font-mono break-all text-xs text-foreground",children:String(_)})]},T))})]})]})})};return d.jsx(de,{className:"shadow-sm",children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx(Gy,{className:"h-4 w-4 text-muted-foreground"}),d.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"Timeline"}),d.jsxs("span",{className:"text-xs text-muted-foreground",children:[h(c*1e6)," · ",e.length," span",e.length!==1?"s":""]})]}),d.jsxs("div",{className:"flex items-center gap-1.5",children:[d.jsx("button",{onClick:a,className:"text-xs px-2 py-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground transition-colors font-medium",children:"Expand all"}),d.jsx("span",{className:"text-muted-foreground/30",children:"|"}),d.jsx("button",{onClick:o,className:"text-xs px-2 py-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground transition-colors font-medium",children:"Collapse all"})]})]}),d.jsxs("div",{className:"flex items-center gap-3 text-xs",children:[d.jsxs("div",{className:"flex items-center gap-1.5",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Success"})]}),d.jsxs("div",{className:"flex items-center gap-1.5",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-red-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Error"})]})]})]}),d.jsxs("div",{className:"border rounded-md overflow-hidden bg-background shadow-sm",children:[d.jsxs("div",{className:"flex items-center bg-muted/50 border-b border-border font-semibold text-[11px] text-foreground uppercase tracking-wide",children:[d.jsx("div",{className:"flex-shrink-0 py-2",style:{width:"360px",paddingLeft:"12px",paddingRight:"12px"},children:"Span Name"}),d.jsx("div",{className:"flex-shrink-0 py-2",style:{width:"105px",paddingLeft:"12px",paddingRight:"12px"},children:"Duration"}),d.jsx("div",{className:"flex-shrink-0 py-2",style:{width:"105px",paddingLeft:"12px",paddingRight:"6px"},children:"Tokens"}),d.jsx("div",{className:"flex-1 py-2",style:{paddingLeft:"2px",paddingRight:"12px"},children:"Timeline"})]}),s.map(g=>v(g))]}),n&&d.jsx("div",{className:"mt-3",children:m(n)})]})})}const ghe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"default",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function xhe(){var A,T;const{id:e}=np(),{data:t,isLoading:r,error:n}=wN(e),[i,a]=P.useState(!1),[o,s]=P.useState(!1),[l,u]=P.useState("overview"),c=(t==null?void 0:t.metrics)||[],f=(t==null?void 0:t.spans)||[],h=r,p=r,v=n,m=(A=t==null?void 0:t.meta)==null?void 0:A.execution_result,g=(m==null?void 0:m.path)&&(m==null?void 0:m.file_name);let y="";if(g){let _=m.path;if(_.includes(":")&&(_=_.split(":")[1]),_.includes("/")){const N=_.split("/");_=N[N.length-1],_.includes(":")&&(_=_.split(":")[1])}y=_}const{data:x,isLoading:b,error:S}=g2((t==null?void 0:t.teamId)||"",(t==null?void 0:t.projectId)||"",y,"execution",i&&g),w=()=>{!g||!t||(s(!1),a(!0))};S&&i&&console.error("Failed to load artifact:",S);const O=()=>{x!=null&&x.content&&(navigator.clipboard.writeText(x.content),s(!0),setTimeout(()=>s(!1),2e3))},j=()=>{if(!x)return"";const{content:_,filename:N,contentType:M}=x;if(M==="application/json"||N.endsWith(".json"))try{const R=JSON.parse(_);return JSON.stringify(R,null,2)}catch{return _}return _},E=()=>{if(!x)return"";const{filename:_,contentType:N}=x;return N==="application/json"||_.endsWith(".json")?"language-json":""};return r?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):n||!t?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load run"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(n==null?void 0:n.message)||"Run not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Run Details"}),d.jsx("p",{className:"mt-1 text-muted-foreground font-mono text-sm",children:t.id})]}),d.jsx(jr,{variant:ghe[t.status],children:t.status})]}),d.jsxs(lm,{value:l,onValueChange:u,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"traces",children:"Traces"})]}),d.jsxs(ao,{value:"overview",className:"space-y-4",children:[d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Overview"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Execution Result"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:g?d.jsxs("button",{onClick:w,disabled:b,className:"inline-flex items-center gap-1.5 text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300 hover:underline",children:[d.jsx(nN,{className:"h-3.5 w-3.5"}),m.file_name]}):d.jsx("span",{className:"text-muted-foreground",children:"-"})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Tokens"}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm",children:((T=t.meta)==null?void 0:T.total_tokens)!==void 0?d.jsxs(d.Fragment,{children:[Number(t.meta.total_tokens).toLocaleString(),d.jsxs("span",{className:"text-muted-foreground text-xs ml-1",children:["(",Number(t.meta.input_tokens||0).toLocaleString(),"↓ ",Number(t.meta.output_tokens||0).toLocaleString(),"↑)"]})]}):d.jsx("span",{className:"text-muted-foreground",children:"-"})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(t.createdAt),{addSuffix:!0})})]})]}),t.meta&&Object.keys(t.meta).filter(_=>!["total_tokens","input_tokens","output_tokens","execution_result"].includes(_)).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(t.meta).filter(([_])=>!["total_tokens","input_tokens","output_tokens","execution_result"].includes(_)).map(([_,N])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:_}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof N=="string"?N:JSON.stringify(N)})]},_))})]})]})}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metrics"}),h?d.jsx(Te,{className:"h-32 w-full"}):c.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No metrics logged for this run"}):d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:c.map(_=>d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:_.key}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm",children:_.value})]},_.id))})]})})]}),d.jsx(ao,{value:"traces",children:p?d.jsx(de,{children:d.jsx(he,{className:"p-4",children:d.jsx(Te,{className:"h-64 w-full"})})}):v?d.jsx(de,{children:d.jsx(he,{className:"p-4",children:d.jsxs("div",{className:"text-red-500",children:["Error loading traces: ",v.message]})})}):f&&f.length>0?d.jsx(yhe,{spans:f}):d.jsx(de,{children:d.jsx(he,{className:"p-4",children:d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No traces available for this run"})})})})]}),d.jsx(tM,{open:i,onOpenChange:a,children:d.jsxs(tw,{className:"max-w-5xl max-h-[85vh] overflow-hidden flex flex-col",children:[d.jsx(rw,{children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx(nw,{className:"text-base",children:"Artifact Content"}),d.jsx(iw,{className:"text-xs font-mono mt-1 truncate",children:(x==null?void 0:x.filename)||"Loading..."})]}),x&&d.jsx(lt,{variant:"outline",size:"sm",onClick:O,className:"ml-2 h-8 flex-shrink-0",children:o?d.jsxs(d.Fragment,{children:[d.jsx(zx,{className:"h-3.5 w-3.5 mr-1.5"}),"Copied"]}):d.jsxs(d.Fragment,{children:[d.jsx(tN,{className:"h-3.5 w-3.5 mr-1.5"}),"Copy"]})})]})}),d.jsx("div",{className:"flex-1 overflow-auto border rounded-md bg-slate-950 dark:bg-slate-950",children:b&&!x?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsx("div",{className:"text-slate-400 text-sm",children:"Loading artifact..."})}):S?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsx("div",{className:"text-red-400 text-sm",children:"Failed to load artifact"})}):d.jsx("pre",{className:`text-xs p-4 overflow-auto text-slate-50 ${E()}`,children:d.jsx("code",{className:"text-slate-50",children:j()})})})]})})]})}function IE({teamId:e,projectId:t,repoType:r,icon:n,title:i,color:a}){const{data:o,isLoading:s}=Mfe(e,t,r),[l,u]=P.useState(!1),[c,f]=P.useState(1),[h,p]=P.useState(!1),[v,m]=P.useState(""),[g,y]=P.useState(!1),x=10,{data:b,isLoading:S,error:w}=g2(e,t,v,r,h&&!!v),O=I=>{y(!1),m(I),p(!0)};w&&h&&console.error("Failed to load artifact:",w);const j=()=>{b!=null&&b.content&&(navigator.clipboard.writeText(b.content),y(!0),setTimeout(()=>y(!1),2e3))},E=()=>{if(!b)return"";const{content:I,filename:D,contentType:z}=b;if(z==="application/json"||D.endsWith(".json"))try{const C=JSON.parse(I);return JSON.stringify(C,null,2)}catch{return I}return I},A=()=>{if(!b)return"";const{filename:I,contentType:D}=b;return D==="application/json"||I.endsWith(".json")?"language-json":""};if(s)return d.jsxs("div",{className:"flex items-center gap-2 p-2 rounded border bg-card",children:[n,d.jsxs("div",{className:"flex-1",children:[d.jsx("div",{className:"text-xs font-medium",children:i}),d.jsx(Te,{className:"h-3 w-20 mt-0.5"})]})]});const T=o?Math.ceil(o.length/x):0,_=(c-1)*x,N=_+x,M=o==null?void 0:o.slice(_,N),R=o&&o.length>x;return d.jsxs("div",{className:"rounded border bg-card hover:bg-accent/50 transition-colors",children:[d.jsxs("button",{className:"w-full flex items-center gap-2 p-2 text-left",onClick:()=>u(!l),children:[n,d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx("div",{className:"text-xs font-medium",children:i}),d.jsx("div",{className:"text-xs text-muted-foreground",children:!o||o.length===0?"No artifacts":`${o.length} item${o.length===1?"":"s"}`})]}),o&&o.length>0&&d.jsxs(d.Fragment,{children:[d.jsx(jr,{variant:"secondary",className:`${a} text-xs h-5 px-1.5`,children:o.length}),l?d.jsx(up,{className:"h-3.5 w-3.5 text-muted-foreground"}):d.jsx(Qi,{className:"h-3.5 w-3.5 text-muted-foreground"})]})]}),l&&o&&o.length>0&&d.jsxs("div",{className:"px-2 pb-2",children:[d.jsx("div",{className:"h-px bg-border mb-1"}),d.jsx("div",{className:"space-y-0.5",children:M==null?void 0:M.map((I,D)=>d.jsxs("button",{onClick:z=>{z.stopPropagation(),O(I)},disabled:S,className:"w-full flex items-center gap-1.5 py-1 px-1.5 rounded hover:bg-muted/50 transition-colors cursor-pointer group text-left",children:[d.jsxs("span",{className:"text-xs text-muted-foreground font-mono w-8 flex-shrink-0",children:[_+D+1,"."]}),d.jsx("code",{className:"text-sm bg-muted px-1.5 py-0.5 rounded flex-1 truncate",children:I}),d.jsx(nN,{className:"h-3 w-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]},I))}),R&&d.jsxs("div",{className:"flex items-center justify-between gap-2 mt-2 pt-2 border-t",children:[d.jsx(lt,{variant:"ghost",size:"sm",onClick:I=>{I.stopPropagation(),f(D=>Math.max(1,D-1))},disabled:c===1,className:"h-7 w-7 p-0",children:d.jsx(cp,{className:"h-3.5 w-3.5"})}),d.jsxs("span",{className:"text-xs text-muted-foreground",children:["Page ",c," of ",T]}),d.jsx(lt,{variant:"ghost",size:"sm",onClick:I=>{I.stopPropagation(),f(D=>Math.min(T,D+1))},disabled:c===T,className:"h-7 w-7 p-0",children:d.jsx(Qi,{className:"h-3.5 w-3.5"})})]})]}),d.jsx(tM,{open:h,onOpenChange:p,children:d.jsxs(tw,{className:"max-w-5xl max-h-[85vh] overflow-hidden flex flex-col",children:[d.jsx(rw,{children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx(nw,{className:"text-base",children:"Artifact Content"}),d.jsx(iw,{className:"text-xs font-mono mt-1 truncate",children:(b==null?void 0:b.filename)||"Loading..."})]}),b&&d.jsx(lt,{variant:"outline",size:"sm",onClick:j,className:"ml-2 h-8 flex-shrink-0",children:g?d.jsxs(d.Fragment,{children:[d.jsx(zx,{className:"h-3.5 w-3.5 mr-1.5"}),"Copied"]}):d.jsxs(d.Fragment,{children:[d.jsx(tN,{className:"h-3.5 w-3.5 mr-1.5"}),"Copy"]})})]})}),d.jsx("div",{className:"flex-1 overflow-auto border rounded-md bg-slate-950 dark:bg-slate-950",children:S&&!b?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsx("div",{className:"text-slate-400 text-sm",children:"Loading artifact..."})}):w?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsx("div",{className:"text-red-400 text-sm",children:"Failed to load artifact"})}):d.jsx("pre",{className:`text-xs p-4 overflow-auto text-slate-50 ${A()}`,children:d.jsx("code",{className:"text-slate-50",children:E()})})})]})})]})}function bhe({project:e,teamId:t}){const[r,n]=P.useState(!1);return d.jsxs(de,{className:"overflow-hidden hover:shadow-sm transition-shadow",children:[d.jsx(Ft,{className:"cursor-pointer hover:bg-muted/30 transition-colors p-3",onClick:()=>n(!r),children:d.jsxs("div",{className:"flex items-center justify-between gap-3",children:[d.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[d.jsx("div",{className:"flex-shrink-0",children:r?d.jsx(up,{className:"h-4 w-4 text-muted-foreground"}):d.jsx(Qi,{className:"h-4 w-4 text-muted-foreground"})}),d.jsx("div",{className:"flex-1 min-w-0",children:d.jsxs(Bt,{className:"text-sm font-medium truncate",children:[e.name," ",d.jsxs("span",{className:"text-sm text-muted-foreground font-normal",children:["(",e.id,")"]})]})})]}),d.jsx("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:d.jsx(aN,{className:"h-3.5 w-3.5 text-muted-foreground"})})]})}),r&&d.jsx(he,{className:"pt-0 pb-2 px-3",children:d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-2",children:[d.jsx(IE,{teamId:t,projectId:e.id,repoType:"execution",icon:d.jsx(mF,{className:"h-3.5 w-3.5 text-blue-500"}),title:"Execution Results",color:"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300"}),d.jsx(IE,{teamId:t,projectId:e.id,repoType:"checkpoint",icon:d.jsx(rN,{className:"h-3.5 w-3.5 text-green-500"}),title:"Checkpoints",color:"bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-300"})]})})]})}function whe(){const{selectedTeamId:e}=fo(),[t,r]=P.useState(""),{data:n,isLoading:i}=fp(e||"",{pageSize:100}),a=n==null?void 0:n.filter(o=>{var s,l;return((s=o.name)==null?void 0:s.toLowerCase().includes(t.toLowerCase()))||((l=o.id)==null?void 0:l.toLowerCase().includes(t.toLowerCase()))});return d.jsxs("div",{className:"space-y-3 pb-6",children:[d.jsxs("div",{className:"flex items-center justify-between gap-3",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Artifacts"}),d.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Browse execution results and checkpoints across all projects"})]}),d.jsxs(jr,{variant:"secondary",className:"text-xs h-6 px-2",children:[(n==null?void 0:n.length)||0," projects"]})]}),n&&n.length>0&&d.jsxs("div",{className:"relative max-w-md",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search projects...",value:t,onChange:o=>r(o.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),i?d.jsxs("div",{className:"space-y-2",children:[d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"})]}):!n||n.length===0?d.jsx(de,{children:d.jsxs(he,{className:"flex flex-col items-center justify-center py-10",children:[d.jsx("div",{className:"rounded-full bg-muted p-3 mb-3",children:d.jsx(aN,{className:"h-6 w-6 text-muted-foreground"})}),d.jsx("h3",{className:"text-xs font-semibold mb-1",children:"No Projects Found"}),d.jsx("p",{className:"text-xs text-muted-foreground text-center max-w-sm",children:"Create a project to start managing artifacts for your experiments"})]})}):a&&a.length===0?d.jsx(de,{children:d.jsxs(he,{className:"flex flex-col items-center justify-center py-8",children:[d.jsx(Ja,{className:"h-8 w-8 text-muted-foreground mb-2"}),d.jsx("h3",{className:"text-xs font-semibold mb-0.5",children:"No matches found"}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Try adjusting your search query"})]})}):d.jsx("div",{className:"space-y-2",children:a==null?void 0:a.map(o=>d.jsx(bhe,{project:o,teamId:e||""},o.id))})]})}function She(){const[e,t]=P.useState(null),[r,n]=P.useState(!0),[i,a]=P.useState(null),{selectedTeamId:o,setSelectedTeamId:s}=fo(),l=hT();return P.useEffect(()=>{async function u(){try{const c=await wL(),f=localStorage.getItem("alphatrion_user_id");f&&f!==c&&(console.log("User ID changed, clearing cache"),l.clear()),localStorage.setItem("alphatrion_user_id",c);const h=await Xt(Qt.getUser,{id:c});if(!h.user)throw new Error(`User with ID ${c} not found`);t(h.user);const p=await Xt(Qt.listTeams,{userId:c});if(p.teams&&p.teams.length>0){const v=`alphatrion_selected_team_${c}`,m=localStorage.getItem(v);let g;m&&p.teams.find(x=>x.id===m)?g=m:g=p.teams[0].id,s(g,c)}}catch(c){console.error("Failed to initialize app:",c),a(c)}finally{n(!1)}}u()},[s,l]),r?d.jsx("div",{className:"flex h-screen items-center justify-center",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"}),d.jsx("p",{className:"text-gray-600",children:"Loading user information..."})]})}):i?d.jsx("div",{className:"flex h-screen items-center justify-center",children:d.jsxs("div",{className:"text-center max-w-md",children:[d.jsx("h1",{className:"text-2xl font-bold text-red-600 mb-4",children:"Error Loading User"}),d.jsx("p",{className:"text-gray-700 mb-2",children:i.message}),d.jsx("p",{className:"text-gray-500 text-sm",children:"Please verify:"}),d.jsxs("ul",{className:"text-gray-500 text-sm text-left mt-2 space-y-1",children:[d.jsx("li",{children:"• The user ID exists in the database"}),d.jsx("li",{children:"• The backend server is running"}),d.jsx("li",{children:"• The dashboard was started with correct --userid flag"})]})]})}):e?d.jsx("div",{className:"h-full",children:d.jsx(Q3,{user:e,children:d.jsx(aL,{children:d.jsxs(tr,{path:"/",element:d.jsx($5,{}),children:[d.jsx(tr,{index:!0,element:d.jsx(ufe,{})}),d.jsxs(tr,{path:"projects",children:[d.jsx(tr,{index:!0,element:d.jsx(dfe,{})}),d.jsx(tr,{path:":id",element:d.jsx(pfe,{})})]}),d.jsxs(tr,{path:"experiments",children:[d.jsx(tr,{index:!0,element:d.jsx(vfe,{})}),d.jsx(tr,{path:":id",element:d.jsx(Pfe,{})}),d.jsx(tr,{path:"compare",element:d.jsx(Tfe,{})})]}),d.jsxs(tr,{path:"runs",children:[d.jsx(tr,{index:!0,element:d.jsx(kfe,{})}),d.jsx(tr,{path:":id",element:d.jsx(xhe,{})})]}),d.jsx(tr,{path:"artifacts",element:d.jsx(whe,{})})]})})})}):null}Cv.createRoot(document.getElementById("root")).render(d.jsx(k.StrictMode,{children:d.jsx(eR,{client:gL,children:d.jsx(hL,{children:d.jsx(xL,{children:d.jsx(She,{})})})})}));export{Yc as c,Ee as g,xre as p,P as r}; +Kind: ${y.spanKind}`,children:d.jsx("span",{className:"truncate",children:h(y.duration)})})},v=g=>{const{span:y,children:x,depth:b,totalTokens:S,inputTokens:w,outputTokens:O}=g,j=x.length>0,E=t.has(y.spanId),A=ME(y),T=j&&S&&S>0;return d.jsxs("div",{children:[d.jsxs("div",{className:`flex items-center border-b border-border hover:bg-muted/30 transition-colors cursor-pointer ${(n==null?void 0:n.spanId)===y.spanId?"bg-accent":""}`,onClick:_=>{_.target.closest("button")||i(y)},children:[d.jsxs("div",{className:"flex-shrink-0 flex items-center gap-2 py-2 min-w-0",style:{width:"360px",paddingLeft:`${b*12+12}px`,paddingRight:"12px"},children:[b>0&&d.jsx("div",{className:"absolute h-full border-l border-border/60",style:{left:`${(b-1)*12+12}px`}}),j?d.jsx("button",{onClick:()=>f(y.spanId),className:"p-0.5 hover:bg-accent rounded flex-shrink-0 transition-colors",children:E?d.jsx(up,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"}):d.jsx(Qi,{className:"h-4 w-4 text-muted-foreground hover:text-foreground"})}):d.jsx("div",{className:"w-[20px] flex-shrink-0"}),d.jsxs(jr,{variant:"outline",className:`${A.badgeColor} flex items-center gap-1 px-2 py-0.5 text-xs font-medium flex-shrink-0`,children:[A.icon,d.jsx("span",{children:A.label})]}),d.jsx("span",{className:"text-sm font-medium truncate text-foreground",title:y.spanName,children:y.spanName})]}),d.jsxs("div",{className:"flex-shrink-0 flex items-center gap-1.5 whitespace-nowrap text-foreground py-2",style:{width:"105px",paddingLeft:"12px",paddingRight:"12px"},children:[d.jsx(Gy,{className:"h-3.5 w-3.5 flex-shrink-0 text-muted-foreground"}),d.jsx("span",{className:"text-xs font-mono",children:h(y.duration)})]}),d.jsx("div",{className:"flex-shrink-0 flex flex-col justify-center whitespace-nowrap text-foreground py-2",style:{width:"105px",paddingLeft:"12px",paddingRight:"6px"},children:S&&S>0?d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"font-mono flex items-center text-xs",children:[T&&d.jsx("span",{className:"inline-block align-middle mr-1 text-muted-foreground",children:"∑"}),d.jsx("span",{children:S.toLocaleString()})]}),w&&O&&w>0&&O>0&&d.jsxs("div",{className:"text-muted-foreground text-[10px] mt-0.5 font-mono",children:[w.toLocaleString(),"↓ ",O.toLocaleString(),"↑"]})]}):d.jsx("span",{className:"text-muted-foreground/40 text-xs",children:"—"})}),d.jsx("div",{className:"flex-1 relative h-9 min-w-0 flex items-center",style:{paddingLeft:"2px",paddingRight:"12px"},children:p(g)})]}),j&&E&&d.jsx("div",{children:x.map(_=>v(_))})]},y.spanId)};if(!e||e.length===0)return d.jsx(de,{children:d.jsx(he,{className:"p-4",children:d.jsx("div",{className:"flex h-32 items-center justify-center text-sm text-muted-foreground",children:"No traces available"})})});const m=g=>{const y=ME(g),x=g.spanAttributes||{},b=x["gen_ai.request.model"]||x["gen_ai.response.model"],S=x["gen_ai.request.temperature"],w=x["gen_ai.request.max_tokens"],O=x["gen_ai.request.top_p"],j=[];let E=0;for(;x[`gen_ai.prompt.${E}.role`];)j.push({role:x[`gen_ai.prompt.${E}.role`],content:x[`gen_ai.prompt.${E}.content`]}),E++;const A=[];for(E=0;x[`gen_ai.completion.${E}.role`];)A.push({role:x[`gen_ai.completion.${E}.role`],content:x[`gen_ai.completion.${E}.content`],finishReason:x[`gen_ai.completion.${E}.finish_reason`]}),E++;return d.jsx(de,{className:"mt-3 border-2",children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex items-start justify-between mb-4",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsxs(jr,{variant:"outline",className:`${y.badgeColor} flex items-center gap-1 px-2 py-1 text-xs`,children:[y.icon,y.label]}),d.jsx("h4",{className:"font-semibold text-sm",children:g.spanName})]}),d.jsx(lt,{variant:"ghost",size:"sm",onClick:()=>i(null),className:"h-6 w-6 p-0 hover:bg-muted",children:d.jsx(oN,{className:"h-3.5 w-3.5"})})]}),b&&d.jsxs("div",{className:"mb-4",children:[d.jsx("h5",{className:"text-xs font-semibold mb-2 text-foreground uppercase tracking-wide",children:"Model Configuration"}),d.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs border rounded-md p-3 bg-muted/30",children:[d.jsxs("div",{className:"col-span-2",children:[d.jsx("span",{className:"text-muted-foreground font-medium",children:"Model:"}),d.jsx("span",{className:"ml-2 font-mono text-foreground",children:b})]}),S!==void 0&&d.jsxs("div",{children:[d.jsx("span",{className:"text-muted-foreground font-medium",children:"Temperature:"}),d.jsx("span",{className:"ml-2 font-mono text-foreground",children:S})]}),w&&d.jsxs("div",{children:[d.jsx("span",{className:"text-muted-foreground font-medium",children:"Max Tokens:"}),d.jsx("span",{className:"ml-2 font-mono text-foreground",children:w})]}),O!==void 0&&d.jsxs("div",{children:[d.jsx("span",{className:"text-muted-foreground font-medium",children:"Top P:"}),d.jsx("span",{className:"ml-2 font-mono text-foreground",children:O})]})]})]}),j.length>0&&d.jsxs("div",{className:"mb-4",children:[d.jsx("h5",{className:"text-xs font-semibold mb-2 text-foreground uppercase tracking-wide",children:"Input"}),d.jsx("div",{className:"space-y-2",children:j.map((T,_)=>d.jsxs("div",{className:"border rounded-md p-3 bg-muted/30",children:[d.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground mb-2 uppercase tracking-wide",children:T.role}),d.jsx("div",{className:"text-xs whitespace-pre-wrap leading-relaxed text-foreground",children:T.content})]},_))})]}),A.length>0&&d.jsxs("div",{className:"mb-4",children:[d.jsx("h5",{className:"text-xs font-semibold mb-2 text-foreground uppercase tracking-wide",children:"Output"}),d.jsx("div",{className:"space-y-2",children:A.map((T,_)=>d.jsxs("div",{className:"border rounded-md p-3 bg-muted/30",children:[d.jsx("div",{className:"text-[11px] font-semibold text-muted-foreground mb-2 uppercase tracking-wide",children:T.role}),d.jsx("div",{className:"text-xs whitespace-pre-wrap leading-relaxed text-foreground",children:T.content})]},_))})]}),d.jsxs("details",{className:"mt-3",children:[d.jsxs("summary",{className:"text-xs font-semibold cursor-pointer hover:text-foreground text-muted-foreground py-1 uppercase tracking-wide",children:["All Attributes (",Object.keys(x).length,")"]}),d.jsx("div",{className:"mt-2 text-xs space-y-1 bg-muted/30 rounded-md p-3 max-h-64 overflow-auto border",children:Object.entries(x).map(([T,_])=>d.jsxs("div",{className:"grid grid-cols-3 gap-3 py-1",children:[d.jsxs("span",{className:"text-muted-foreground truncate font-medium",title:T,children:[T,":"]}),d.jsx("span",{className:"col-span-2 font-mono break-all text-xs text-foreground",children:String(_)})]},T))})]})]})})};return d.jsx(de,{className:"shadow-sm",children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"mb-3 flex items-center justify-between",children:[d.jsxs("div",{className:"flex items-center gap-3",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx(Gy,{className:"h-4 w-4 text-muted-foreground"}),d.jsx("h3",{className:"text-sm font-semibold text-foreground",children:"Timeline"}),d.jsxs("span",{className:"text-xs text-muted-foreground",children:[h(c*1e6)," · ",e.length," span",e.length!==1?"s":""]})]}),d.jsxs("div",{className:"flex items-center gap-1.5",children:[d.jsx("button",{onClick:a,className:"text-xs px-2 py-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground transition-colors font-medium",children:"Expand all"}),d.jsx("span",{className:"text-muted-foreground/30",children:"|"}),d.jsx("button",{onClick:o,className:"text-xs px-2 py-0.5 rounded hover:bg-accent text-muted-foreground hover:text-foreground transition-colors font-medium",children:"Collapse all"})]})]}),d.jsxs("div",{className:"flex items-center gap-3 text-xs",children:[d.jsxs("div",{className:"flex items-center gap-1.5",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Success"})]}),d.jsxs("div",{className:"flex items-center gap-1.5",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-red-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Error"})]})]})]}),d.jsxs("div",{className:"border rounded-md overflow-hidden bg-background shadow-sm",children:[d.jsxs("div",{className:"flex items-center bg-muted/50 border-b border-border font-semibold text-[11px] text-foreground uppercase tracking-wide",children:[d.jsx("div",{className:"flex-shrink-0 py-2",style:{width:"360px",paddingLeft:"12px",paddingRight:"12px"},children:"Span Name"}),d.jsx("div",{className:"flex-shrink-0 py-2",style:{width:"105px",paddingLeft:"12px",paddingRight:"12px"},children:"Duration"}),d.jsx("div",{className:"flex-shrink-0 py-2",style:{width:"105px",paddingLeft:"12px",paddingRight:"6px"},children:"Tokens"}),d.jsx("div",{className:"flex-1 py-2",style:{paddingLeft:"2px",paddingRight:"12px"},children:"Timeline"})]}),s.map(g=>v(g))]}),n&&d.jsx("div",{className:"mt-3",children:m(n)})]})})}const ghe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function xhe(){var A,T;const{id:e}=np(),{data:t,isLoading:r,error:n}=wN(e),[i,a]=P.useState(!1),[o,s]=P.useState(!1),[l,u]=P.useState("overview"),c=(t==null?void 0:t.metrics)||[],f=(t==null?void 0:t.spans)||[],h=r,p=r,v=n,m=(A=t==null?void 0:t.meta)==null?void 0:A.execution_result,g=(m==null?void 0:m.path)&&(m==null?void 0:m.file_name);let y="";if(g){let _=m.path;if(_.includes(":")&&(_=_.split(":")[1]),_.includes("/")){const N=_.split("/");_=N[N.length-1],_.includes(":")&&(_=_.split(":")[1])}y=_}const{data:x,isLoading:b,error:S}=g2((t==null?void 0:t.teamId)||"",(t==null?void 0:t.projectId)||"",y,"execution",i&&g),w=()=>{!g||!t||(s(!1),a(!0))};S&&i&&console.error("Failed to load artifact:",S);const O=()=>{x!=null&&x.content&&(navigator.clipboard.writeText(x.content),s(!0),setTimeout(()=>s(!1),2e3))},j=()=>{if(!x)return"";const{content:_,filename:N,contentType:M}=x;if(M==="application/json"||N.endsWith(".json"))try{const R=JSON.parse(_);return JSON.stringify(R,null,2)}catch{return _}return _},E=()=>{if(!x)return"";const{filename:_,contentType:N}=x;return N==="application/json"||_.endsWith(".json")?"language-json":""};return r?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):n||!t?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load run"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(n==null?void 0:n.message)||"Run not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Run Details"}),d.jsx("p",{className:"mt-1 text-muted-foreground font-mono text-sm",children:t.id})]}),d.jsx(jr,{variant:ghe[t.status],children:t.status})]}),d.jsxs(lm,{value:l,onValueChange:u,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"traces",children:"Traces"})]}),d.jsxs(ao,{value:"overview",className:"space-y-4",children:[d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Overview"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Execution Result"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:g?d.jsxs("button",{onClick:w,disabled:b,className:"inline-flex items-center gap-1.5 text-blue-600 hover:text-blue-800 dark:text-blue-400 dark:hover:text-blue-300 hover:underline",children:[d.jsx(nN,{className:"h-3.5 w-3.5"}),m.file_name]}):d.jsx("span",{className:"text-muted-foreground",children:"-"})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Tokens"}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm",children:((T=t.meta)==null?void 0:T.total_tokens)!==void 0?d.jsxs(d.Fragment,{children:[Number(t.meta.total_tokens).toLocaleString(),d.jsxs("span",{className:"text-muted-foreground text-xs ml-1",children:["(",Number(t.meta.input_tokens||0).toLocaleString(),"↓ ",Number(t.meta.output_tokens||0).toLocaleString(),"↑)"]})]}):d.jsx("span",{className:"text-muted-foreground",children:"-"})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(t.createdAt),{addSuffix:!0})})]})]}),t.meta&&Object.keys(t.meta).filter(_=>!["total_tokens","input_tokens","output_tokens","execution_result"].includes(_)).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(t.meta).filter(([_])=>!["total_tokens","input_tokens","output_tokens","execution_result"].includes(_)).map(([_,N])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:_}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof N=="string"?N:JSON.stringify(N)})]},_))})]})]})}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metrics"}),h?d.jsx(Te,{className:"h-32 w-full"}):c.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No metrics logged for this run"}):d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:c.map(_=>d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:_.key}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm",children:_.value})]},_.id))})]})})]}),d.jsx(ao,{value:"traces",children:p?d.jsx(de,{children:d.jsx(he,{className:"p-4",children:d.jsx(Te,{className:"h-64 w-full"})})}):v?d.jsx(de,{children:d.jsx(he,{className:"p-4",children:d.jsxs("div",{className:"text-red-500",children:["Error loading traces: ",v.message]})})}):f&&f.length>0?d.jsx(yhe,{spans:f}):d.jsx(de,{children:d.jsx(he,{className:"p-4",children:d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No traces available for this run"})})})})]}),d.jsx(tM,{open:i,onOpenChange:a,children:d.jsxs(tw,{className:"max-w-5xl max-h-[85vh] overflow-hidden flex flex-col",children:[d.jsx(rw,{children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx(nw,{className:"text-base",children:"Artifact Content"}),d.jsx(iw,{className:"text-xs font-mono mt-1 truncate",children:(x==null?void 0:x.filename)||"Loading..."})]}),x&&d.jsx(lt,{variant:"outline",size:"sm",onClick:O,className:"ml-2 h-8 flex-shrink-0",children:o?d.jsxs(d.Fragment,{children:[d.jsx(zx,{className:"h-3.5 w-3.5 mr-1.5"}),"Copied"]}):d.jsxs(d.Fragment,{children:[d.jsx(tN,{className:"h-3.5 w-3.5 mr-1.5"}),"Copy"]})})]})}),d.jsx("div",{className:"flex-1 overflow-auto border rounded-md bg-slate-950 dark:bg-slate-950",children:b&&!x?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsx("div",{className:"text-slate-400 text-sm",children:"Loading artifact..."})}):S?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsx("div",{className:"text-red-400 text-sm",children:"Failed to load artifact"})}):d.jsx("pre",{className:`text-xs p-4 overflow-auto text-slate-50 ${E()}`,children:d.jsx("code",{className:"text-slate-50",children:j()})})})]})})]})}function IE({teamId:e,projectId:t,repoType:r,icon:n,title:i,color:a}){const{data:o,isLoading:s}=Mfe(e,t,r),[l,u]=P.useState(!1),[c,f]=P.useState(1),[h,p]=P.useState(!1),[v,m]=P.useState(""),[g,y]=P.useState(!1),x=10,{data:b,isLoading:S,error:w}=g2(e,t,v,r,h&&!!v),O=I=>{y(!1),m(I),p(!0)};w&&h&&console.error("Failed to load artifact:",w);const j=()=>{b!=null&&b.content&&(navigator.clipboard.writeText(b.content),y(!0),setTimeout(()=>y(!1),2e3))},E=()=>{if(!b)return"";const{content:I,filename:D,contentType:z}=b;if(z==="application/json"||D.endsWith(".json"))try{const C=JSON.parse(I);return JSON.stringify(C,null,2)}catch{return I}return I},A=()=>{if(!b)return"";const{filename:I,contentType:D}=b;return D==="application/json"||I.endsWith(".json")?"language-json":""};if(s)return d.jsxs("div",{className:"flex items-center gap-2 p-2 rounded border bg-card",children:[n,d.jsxs("div",{className:"flex-1",children:[d.jsx("div",{className:"text-xs font-medium",children:i}),d.jsx(Te,{className:"h-3 w-20 mt-0.5"})]})]});const T=o?Math.ceil(o.length/x):0,_=(c-1)*x,N=_+x,M=o==null?void 0:o.slice(_,N),R=o&&o.length>x;return d.jsxs("div",{className:"rounded border bg-card hover:bg-accent/50 transition-colors",children:[d.jsxs("button",{className:"w-full flex items-center gap-2 p-2 text-left",onClick:()=>u(!l),children:[n,d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx("div",{className:"text-xs font-medium",children:i}),d.jsx("div",{className:"text-xs text-muted-foreground",children:!o||o.length===0?"No artifacts":`${o.length} item${o.length===1?"":"s"}`})]}),o&&o.length>0&&d.jsxs(d.Fragment,{children:[d.jsx(jr,{variant:"secondary",className:`${a} text-xs h-5 px-1.5`,children:o.length}),l?d.jsx(up,{className:"h-3.5 w-3.5 text-muted-foreground"}):d.jsx(Qi,{className:"h-3.5 w-3.5 text-muted-foreground"})]})]}),l&&o&&o.length>0&&d.jsxs("div",{className:"px-2 pb-2",children:[d.jsx("div",{className:"h-px bg-border mb-1"}),d.jsx("div",{className:"space-y-0.5",children:M==null?void 0:M.map((I,D)=>d.jsxs("button",{onClick:z=>{z.stopPropagation(),O(I)},disabled:S,className:"w-full flex items-center gap-1.5 py-1 px-1.5 rounded hover:bg-muted/50 transition-colors cursor-pointer group text-left",children:[d.jsxs("span",{className:"text-xs text-muted-foreground font-mono w-8 flex-shrink-0",children:[_+D+1,"."]}),d.jsx("code",{className:"text-sm bg-muted px-1.5 py-0.5 rounded flex-1 truncate",children:I}),d.jsx(nN,{className:"h-3 w-3 text-muted-foreground opacity-0 group-hover:opacity-100 transition-opacity flex-shrink-0"})]},I))}),R&&d.jsxs("div",{className:"flex items-center justify-between gap-2 mt-2 pt-2 border-t",children:[d.jsx(lt,{variant:"ghost",size:"sm",onClick:I=>{I.stopPropagation(),f(D=>Math.max(1,D-1))},disabled:c===1,className:"h-7 w-7 p-0",children:d.jsx(cp,{className:"h-3.5 w-3.5"})}),d.jsxs("span",{className:"text-xs text-muted-foreground",children:["Page ",c," of ",T]}),d.jsx(lt,{variant:"ghost",size:"sm",onClick:I=>{I.stopPropagation(),f(D=>Math.min(T,D+1))},disabled:c===T,className:"h-7 w-7 p-0",children:d.jsx(Qi,{className:"h-3.5 w-3.5"})})]})]}),d.jsx(tM,{open:h,onOpenChange:p,children:d.jsxs(tw,{className:"max-w-5xl max-h-[85vh] overflow-hidden flex flex-col",children:[d.jsx(rw,{children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"flex-1 min-w-0",children:[d.jsx(nw,{className:"text-base",children:"Artifact Content"}),d.jsx(iw,{className:"text-xs font-mono mt-1 truncate",children:(b==null?void 0:b.filename)||"Loading..."})]}),b&&d.jsx(lt,{variant:"outline",size:"sm",onClick:j,className:"ml-2 h-8 flex-shrink-0",children:g?d.jsxs(d.Fragment,{children:[d.jsx(zx,{className:"h-3.5 w-3.5 mr-1.5"}),"Copied"]}):d.jsxs(d.Fragment,{children:[d.jsx(tN,{className:"h-3.5 w-3.5 mr-1.5"}),"Copy"]})})]})}),d.jsx("div",{className:"flex-1 overflow-auto border rounded-md bg-slate-950 dark:bg-slate-950",children:S&&!b?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsx("div",{className:"text-slate-400 text-sm",children:"Loading artifact..."})}):w?d.jsx("div",{className:"flex items-center justify-center h-full",children:d.jsx("div",{className:"text-red-400 text-sm",children:"Failed to load artifact"})}):d.jsx("pre",{className:`text-xs p-4 overflow-auto text-slate-50 ${A()}`,children:d.jsx("code",{className:"text-slate-50",children:E()})})})]})})]})}function bhe({project:e,teamId:t}){const[r,n]=P.useState(!1);return d.jsxs(de,{className:"overflow-hidden hover:shadow-sm transition-shadow",children:[d.jsx(Ft,{className:"cursor-pointer hover:bg-muted/30 transition-colors p-3",onClick:()=>n(!r),children:d.jsxs("div",{className:"flex items-center justify-between gap-3",children:[d.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[d.jsx("div",{className:"flex-shrink-0",children:r?d.jsx(up,{className:"h-4 w-4 text-muted-foreground"}):d.jsx(Qi,{className:"h-4 w-4 text-muted-foreground"})}),d.jsx("div",{className:"flex-1 min-w-0",children:d.jsxs(Bt,{className:"text-sm font-medium truncate",children:[e.name," ",d.jsxs("span",{className:"text-sm text-muted-foreground font-normal",children:["(",e.id,")"]})]})})]}),d.jsx("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:d.jsx(aN,{className:"h-3.5 w-3.5 text-muted-foreground"})})]})}),r&&d.jsx(he,{className:"pt-0 pb-2 px-3",children:d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-2",children:[d.jsx(IE,{teamId:t,projectId:e.id,repoType:"execution",icon:d.jsx(mF,{className:"h-3.5 w-3.5 text-blue-500"}),title:"Execution Results",color:"bg-blue-100 text-blue-700 dark:bg-blue-900 dark:text-blue-300"}),d.jsx(IE,{teamId:t,projectId:e.id,repoType:"checkpoint",icon:d.jsx(rN,{className:"h-3.5 w-3.5 text-green-500"}),title:"Checkpoints",color:"bg-green-100 text-green-700 dark:bg-green-900 dark:text-green-300"})]})})]})}function whe(){const{selectedTeamId:e}=fo(),[t,r]=P.useState(""),{data:n,isLoading:i}=fp(e||"",{pageSize:100}),a=n==null?void 0:n.filter(o=>{var s,l;return((s=o.name)==null?void 0:s.toLowerCase().includes(t.toLowerCase()))||((l=o.id)==null?void 0:l.toLowerCase().includes(t.toLowerCase()))});return d.jsxs("div",{className:"space-y-3 pb-6",children:[d.jsxs("div",{className:"flex items-center justify-between gap-3",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Artifacts"}),d.jsx("p",{className:"text-xs text-muted-foreground mt-0.5",children:"Browse execution results and checkpoints across all projects"})]}),d.jsxs(jr,{variant:"secondary",className:"text-xs h-6 px-2",children:[(n==null?void 0:n.length)||0," projects"]})]}),n&&n.length>0&&d.jsxs("div",{className:"relative max-w-md",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search projects...",value:t,onChange:o=>r(o.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),i?d.jsxs("div",{className:"space-y-2",children:[d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"})]}):!n||n.length===0?d.jsx(de,{children:d.jsxs(he,{className:"flex flex-col items-center justify-center py-10",children:[d.jsx("div",{className:"rounded-full bg-muted p-3 mb-3",children:d.jsx(aN,{className:"h-6 w-6 text-muted-foreground"})}),d.jsx("h3",{className:"text-xs font-semibold mb-1",children:"No Projects Found"}),d.jsx("p",{className:"text-xs text-muted-foreground text-center max-w-sm",children:"Create a project to start managing artifacts for your experiments"})]})}):a&&a.length===0?d.jsx(de,{children:d.jsxs(he,{className:"flex flex-col items-center justify-center py-8",children:[d.jsx(Ja,{className:"h-8 w-8 text-muted-foreground mb-2"}),d.jsx("h3",{className:"text-xs font-semibold mb-0.5",children:"No matches found"}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Try adjusting your search query"})]})}):d.jsx("div",{className:"space-y-2",children:a==null?void 0:a.map(o=>d.jsx(bhe,{project:o,teamId:e||""},o.id))})]})}function She(){const[e,t]=P.useState(null),[r,n]=P.useState(!0),[i,a]=P.useState(null),{selectedTeamId:o,setSelectedTeamId:s}=fo(),l=hT();return P.useEffect(()=>{async function u(){try{const c=await wL(),f=localStorage.getItem("alphatrion_user_id");f&&f!==c&&(console.log("User ID changed, clearing cache"),l.clear()),localStorage.setItem("alphatrion_user_id",c);const h=await Xt(Qt.getUser,{id:c});if(!h.user)throw new Error(`User with ID ${c} not found`);t(h.user);const p=await Xt(Qt.listTeams,{userId:c});if(p.teams&&p.teams.length>0){const v=`alphatrion_selected_team_${c}`,m=localStorage.getItem(v);let g;m&&p.teams.find(x=>x.id===m)?g=m:g=p.teams[0].id,s(g,c)}}catch(c){console.error("Failed to initialize app:",c),a(c)}finally{n(!1)}}u()},[s,l]),r?d.jsx("div",{className:"flex h-screen items-center justify-center",children:d.jsxs("div",{className:"text-center",children:[d.jsx("div",{className:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"}),d.jsx("p",{className:"text-gray-600",children:"Loading user information..."})]})}):i?d.jsx("div",{className:"flex h-screen items-center justify-center",children:d.jsxs("div",{className:"text-center max-w-md",children:[d.jsx("h1",{className:"text-2xl font-bold text-red-600 mb-4",children:"Error Loading User"}),d.jsx("p",{className:"text-gray-700 mb-2",children:i.message}),d.jsx("p",{className:"text-gray-500 text-sm",children:"Please verify:"}),d.jsxs("ul",{className:"text-gray-500 text-sm text-left mt-2 space-y-1",children:[d.jsx("li",{children:"• The user ID exists in the database"}),d.jsx("li",{children:"• The backend server is running"}),d.jsx("li",{children:"• The dashboard was started with correct --userid flag"})]})]})}):e?d.jsx("div",{className:"h-full",children:d.jsx(Q3,{user:e,children:d.jsx(aL,{children:d.jsxs(tr,{path:"/",element:d.jsx($5,{}),children:[d.jsx(tr,{index:!0,element:d.jsx(ufe,{})}),d.jsxs(tr,{path:"projects",children:[d.jsx(tr,{index:!0,element:d.jsx(dfe,{})}),d.jsx(tr,{path:":id",element:d.jsx(pfe,{})})]}),d.jsxs(tr,{path:"experiments",children:[d.jsx(tr,{index:!0,element:d.jsx(vfe,{})}),d.jsx(tr,{path:":id",element:d.jsx(Pfe,{})}),d.jsx(tr,{path:"compare",element:d.jsx(Tfe,{})})]}),d.jsxs(tr,{path:"runs",children:[d.jsx(tr,{index:!0,element:d.jsx(kfe,{})}),d.jsx(tr,{path:":id",element:d.jsx(xhe,{})})]}),d.jsx(tr,{path:"artifacts",element:d.jsx(whe,{})})]})})})}):null}Cv.createRoot(document.getElementById("root")).render(d.jsx(k.StrictMode,{children:d.jsx(eR,{client:gL,children:d.jsx(hL,{children:d.jsx(xL,{children:d.jsx(She,{})})})})}));export{Yc as c,Ee as g,xre as p,P as r}; diff --git a/dashboard/static/assets/react-plotly-vwUBUZui.js b/dashboard/static/assets/react-plotly-rXbFfZ8j.js similarity index 99% rename from dashboard/static/assets/react-plotly-vwUBUZui.js rename to dashboard/static/assets/react-plotly-rXbFfZ8j.js index c709625d..2cc5212b 100644 --- a/dashboard/static/assets/react-plotly-vwUBUZui.js +++ b/dashboard/static/assets/react-plotly-rXbFfZ8j.js @@ -1,4 +1,4 @@ -import{r as FD,p as OD,c as BD,g as ND}from"./index-jnqNSGCv.js";function UD(zh,Yh){for(var Fh=0;FhAu[Th]})}}}return Object.freeze(Object.defineProperty(zh,Symbol.toStringTag,{value:"Module"}))}var rb={},V5={};(function(zh){function Yh(bs){"@babel/helpers - typeof";return Yh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Hs){return typeof Hs}:function(Hs){return Hs&&typeof Symbol=="function"&&Hs.constructor===Symbol&&Hs!==Symbol.prototype?"symbol":typeof Hs},Yh(bs)}Object.defineProperty(zh,"__esModule",{value:!0}),zh.default=qm;var Fh=Yv(FD),Au=Th(OD);function Th(bs){return bs&&bs.__esModule?bs:{default:bs}}function uv(bs){if(typeof WeakMap!="function")return null;var Hs=new WeakMap,Mc=new WeakMap;return(uv=function(bi){return bi?Mc:Hs})(bs)}function Yv(bs,Hs){if(bs&&bs.__esModule)return bs;if(bs===null||Yh(bs)!=="object"&&typeof bs!="function")return{default:bs};var Mc=uv(Hs);if(Mc&&Mc.has(bs))return Mc.get(bs);var zc={},bi=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var nc in bs)if(nc!=="default"&&Object.prototype.hasOwnProperty.call(bs,nc)){var bo=bi?Object.getOwnPropertyDescriptor(bs,nc):null;bo&&(bo.get||bo.set)?Object.defineProperty(zc,nc,bo):zc[nc]=bs[nc]}return zc.default=bs,Mc&&Mc.set(bs,zc),zc}function Gy(bs,Hs){if(!(bs instanceof Hs))throw new TypeError("Cannot call a class as a function")}function M0(bs,Hs){for(var Mc=0;Mc"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function gp(bs){return gp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Mc){return Mc.__proto__||Object.getPrototypeOf(Mc)},gp(bs)}var Ll=["AfterExport","AfterPlot","Animated","AnimatingFrame","AnimationInterrupted","AutoSize","BeforeExport","BeforeHover","ButtonClicked","Click","ClickAnnotation","Deselect","DoubleClick","Framework","Hover","LegendClick","LegendDoubleClick","Relayout","Relayouting","Restyle","Redraw","Selected","Selecting","SliderChange","SliderEnd","SliderStart","SunburstClick","Transitioning","TransitionInterrupted","Unhover","WebGlContextLost"],He=["plotly_restyle","plotly_redraw","plotly_relayout","plotly_relayouting","plotly_doubleclick","plotly_animated","plotly_sunburstclick"],yp=typeof window<"u";function qm(bs){var Hs=function(Mc){Hy(bi,Mc);var zc=jm(bi);function bi(nc){var bo;return Gy(this,bi),bo=zc.call(this,nc),bo.p=Promise.resolve(),bo.resizeHandler=null,bo.handlers={},bo.syncWindowResize=bo.syncWindowResize.bind(sh(bo)),bo.syncEventHandlers=bo.syncEventHandlers.bind(sh(bo)),bo.attachUpdateEvents=bo.attachUpdateEvents.bind(sh(bo)),bo.getRef=bo.getRef.bind(sh(bo)),bo.handleUpdate=bo.handleUpdate.bind(sh(bo)),bo.figureCallback=bo.figureCallback.bind(sh(bo)),bo.updatePlotly=bo.updatePlotly.bind(sh(bo)),bo}return mp(bi,[{key:"updatePlotly",value:function(bo,Fc,Eh){var Bi=this;this.p=this.p.then(function(){if(!Bi.unmounting){if(!Bi.el)throw new Error("Missing element reference");return bs.react(Bi.el,{data:Bi.props.data,layout:Bi.props.layout,config:Bi.props.config,frames:Bi.props.frames})}}).then(function(){Bi.unmounting||(Bi.syncWindowResize(bo),Bi.syncEventHandlers(),Bi.figureCallback(Fc),Eh&&Bi.attachUpdateEvents())}).catch(function(Yo){Bi.props.onError&&Bi.props.onError(Yo)})}},{key:"componentDidMount",value:function(){this.unmounting=!1,this.updatePlotly(!0,this.props.onInitialized,!0)}},{key:"componentDidUpdate",value:function(bo){this.unmounting=!1;var Fc=bo.frames&&bo.frames.length?bo.frames.length:0,Eh=this.props.frames&&this.props.frames.length?this.props.frames.length:0,Bi=!(bo.layout===this.props.layout&&bo.data===this.props.data&&bo.config===this.props.config&&Eh===Fc),Yo=bo.revision!==void 0,_p=bo.revision!==this.props.revision;!Bi&&(!Yo||Yo&&!_p)||this.updatePlotly(!1,this.props.onUpdate,!1)}},{key:"componentWillUnmount",value:function(){this.unmounting=!0,this.figureCallback(this.props.onPurge),this.resizeHandler&&yp&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.removeUpdateEvents(),bs.purge(this.el)}},{key:"attachUpdateEvents",value:function(){var bo=this;!this.el||!this.el.removeListener||He.forEach(function(Fc){bo.el.on(Fc,bo.handleUpdate)})}},{key:"removeUpdateEvents",value:function(){var bo=this;!this.el||!this.el.removeListener||He.forEach(function(Fc){bo.el.removeListener(Fc,bo.handleUpdate)})}},{key:"handleUpdate",value:function(){this.figureCallback(this.props.onUpdate)}},{key:"figureCallback",value:function(bo){if(typeof bo=="function"){var Fc=this.el,Eh=Fc.data,Bi=Fc.layout,Yo=this.el._transitionData?this.el._transitionData._frames:null,_p={data:Eh,layout:Bi,frames:Yo};bo(_p,this.el)}}},{key:"syncWindowResize",value:function(bo){var Fc=this;yp&&(this.props.useResizeHandler&&!this.resizeHandler?(this.resizeHandler=function(){return bs.Plots.resize(Fc.el)},window.addEventListener("resize",this.resizeHandler),bo&&this.resizeHandler()):!this.props.useResizeHandler&&this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null))}},{key:"getRef",value:function(bo){this.el=bo,this.props.debug&&yp&&(window.gd=this.el)}},{key:"syncEventHandlers",value:function(){var bo=this;Ll.forEach(function(Fc){var Eh=bo.props["on"+Fc],Bi=bo.handlers[Fc],Yo=!!Bi;Eh&&!Yo?bo.addEventHandler(Fc,Eh):!Eh&&Yo?bo.removeEventHandler(Fc):Eh&&Yo&&Eh!==Bi&&(bo.removeEventHandler(Fc),bo.addEventHandler(Fc,Eh))})}},{key:"addEventHandler",value:function(bo,Fc){this.handlers[bo]=Fc,this.el.on(this.getPlotlyEventName(bo),this.handlers[bo])}},{key:"removeEventHandler",value:function(bo){this.el.removeListener(this.getPlotlyEventName(bo),this.handlers[bo]),delete this.handlers[bo]}},{key:"getPlotlyEventName",value:function(bo){return"plotly_"+bo.toLowerCase()}},{key:"render",value:function(){return Fh.default.createElement("div",{id:this.props.divId,style:this.props.style,ref:this.getRef,className:this.props.className})}}]),bi}(Fh.Component);return Hs.propTypes={data:Au.default.arrayOf(Au.default.object),config:Au.default.object,layout:Au.default.object,frames:Au.default.arrayOf(Au.default.object),revision:Au.default.number,onInitialized:Au.default.func,onPurge:Au.default.func,onError:Au.default.func,onUpdate:Au.default.func,debug:Au.default.bool,style:Au.default.object,className:Au.default.string,useResizeHandler:Au.default.bool,divId:Au.default.string},Ll.forEach(function(Mc){Hs.propTypes["on"+Mc]=Au.default.func}),Hs.defaultProps={debug:!1,useResizeHandler:!1,data:[],style:{position:"relative",display:"inline-block"}},Hs}})(V5);var q5={exports:{}};(function(zh){var Yh={};(function(Fh,Au){zh.exports?zh.exports=Au():Fh.moduleName=Au()})(typeof self<"u"?self:BD,()=>{var Fh=(()=>{var Au=Object.create,Th=Object.defineProperty,uv=Object.defineProperties,Yv=Object.getOwnPropertyDescriptor,Gy=Object.getOwnPropertyDescriptors,M0=Object.getOwnPropertyNames,mp=Object.getOwnPropertySymbols,Hy=Object.getPrototypeOf,Cd=Object.prototype.hasOwnProperty,jm=Object.prototype.propertyIsEnumerable,Vm=(Y,G,h)=>G in Y?Th(Y,G,{enumerable:!0,configurable:!0,writable:!0,value:h}):Y[G]=h,sh=(Y,G)=>{for(var h in G||(G={}))Cd.call(G,h)&&Vm(Y,h,G[h]);if(mp)for(var h of mp(G))jm.call(G,h)&&Vm(Y,h,G[h]);return Y},Ld=(Y,G)=>uv(Y,Gy(G)),gp=(Y,G)=>{var h={};for(var b in Y)Cd.call(Y,b)&&G.indexOf(b)<0&&(h[b]=Y[b]);if(Y!=null&&mp)for(var b of mp(Y))G.indexOf(b)<0&&jm.call(Y,b)&&(h[b]=Y[b]);return h},Ll=(Y,G)=>function(){return Y&&(G=(0,Y[M0(Y)[0]])(Y=0)),G},He=(Y,G)=>function(){return G||(0,Y[M0(Y)[0]])((G={exports:{}}).exports,G),G.exports},yp=(Y,G)=>{for(var h in G)Th(Y,h,{get:G[h],enumerable:!0})},qm=(Y,G,h,b)=>{if(G&&typeof G=="object"||typeof G=="function")for(let S of M0(G))!Cd.call(Y,S)&&S!==h&&Th(Y,S,{get:()=>G[S],enumerable:!(b=Yv(G,S))||b.enumerable});return Y},bs=(Y,G,h)=>(h=Y!=null?Au(Hy(Y)):{},qm(Th(h,"default",{value:Y,enumerable:!0}),Y)),Hs=Y=>qm(Th({},"__esModule",{value:!0}),Y),Mc=He({"src/version.js"(Y){Y.version="3.3.1"}}),zc=He({"node_modules/native-promise-only/lib/npo.src.js"(Y,G){(function(b,S,E){S[b]=S[b]||E(),typeof G<"u"&&G.exports&&(G.exports=S[b])})("Promise",typeof window<"u"?window:Y,function(){var b,S,E,e=Object.prototype.toString,t=typeof setImmediate<"u"?function(g){return setImmediate(g)}:setTimeout;try{Object.defineProperty({},"x",{}),b=function(g,x,A,M){return Object.defineProperty(g,x,{value:A,writable:!0,configurable:M!==!1})}}catch{b=function(x,A,M){return x[A]=M,x}}E=function(){var g,x,A;function M(_,w){this.fn=_,this.self=w,this.next=void 0}return{add:function(w,m){A=new M(w,m),x?x.next=A:g=A,x=A,A=void 0},drain:function(){var w=g;for(g=x=S=void 0;w;)w.fn.call(w.self),w=w.next}}}();function r(l,g){E.add(l,g),S||(S=t(E.drain))}function o(l){var g,x=typeof l;return l!=null&&(x=="object"||x=="function")&&(g=l.then),typeof g=="function"?g:!1}function a(){for(var l=0;l0&&r(a,x))}catch(A){s.call(new c(x),A)}}}function s(l){var g=this;g.triggered||(g.triggered=!0,g.def&&(g=g.def),g.msg=l,g.state=2,g.chain.length>0&&r(a,g))}function f(l,g,x,A){for(var M=0;MPe?1:de>=Pe?0:NaN}h.descending=function(de,Pe){return Pede?1:Pe>=de?0:NaN},h.min=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt;if(arguments.length===1){for(;++Ke=Tt){mt=Tt;break}for(;++KeTt&&(mt=Tt)}else{for(;++Ke=Tt){mt=Tt;break}for(;++KeTt&&(mt=Tt)}return mt},h.max=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt;if(arguments.length===1){for(;++Ke=Tt){mt=Tt;break}for(;++Kemt&&(mt=Tt)}else{for(;++Ke=Tt){mt=Tt;break}for(;++Kemt&&(mt=Tt)}return mt},h.extent=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt,qt;if(arguments.length===1){for(;++Ke=Tt){mt=qt=Tt;break}for(;++KeTt&&(mt=Tt),qt=Tt){mt=qt=Tt;break}for(;++KeTt&&(mt=Tt),qt1)return qt/(or-1)},h.deviation=function(){var de=h.variance.apply(this,arguments);return de&&Math.sqrt(de)};function p(de){return{left:function(Pe,Ke,vt,mt){for(arguments.length<3&&(vt=0),arguments.length<4&&(mt=Pe.length);vt>>1;de(Pe[Tt],Ke)<0?vt=Tt+1:mt=Tt}return vt},right:function(Pe,Ke,vt,mt){for(arguments.length<3&&(vt=0),arguments.length<4&&(mt=Pe.length);vt>>1;de(Pe[Tt],Ke)>0?mt=Tt:vt=Tt+1}return vt}}}var d=p(s);h.bisectLeft=d.left,h.bisect=h.bisectRight=d.right,h.bisector=function(de){return p(de.length===1?function(Pe,Ke){return s(de(Pe),Ke)}:de)},h.shuffle=function(de,Pe,Ke){(vt=arguments.length)<3&&(Ke=de.length,vt<2&&(Pe=0));for(var vt=Ke-Pe,mt,Tt;vt;)Tt=Math.random()*vt--|0,mt=de[vt+Pe],de[vt+Pe]=de[Tt+Pe],de[Tt+Pe]=mt;return de},h.permute=function(de,Pe){for(var Ke=Pe.length,vt=new Array(Ke);Ke--;)vt[Ke]=de[Pe[Ke]];return vt},h.pairs=function(de){for(var Pe=0,Ke=de.length-1,vt=de[0],mt=new Array(Ke<0?0:Ke);Pe=0;)for(qt=de[Pe],Ke=qt.length;--Ke>=0;)Tt[--mt]=qt[Ke];return Tt};var l=Math.abs;h.range=function(de,Pe,Ke){if(arguments.length<3&&(Ke=1,arguments.length<2&&(Pe=de,de=0)),(Pe-de)/Ke===1/0)throw new Error("infinite range");var vt=[],mt=g(l(Ke)),Tt=-1,qt;if(de*=mt,Pe*=mt,Ke*=mt,Ke<0)for(;(qt=de+Ke*++Tt)>Pe;)vt.push(qt/mt);else for(;(qt=de+Ke*++Tt)=Pe.length)return mt?mt.call(de,or):vt?or.sort(vt):or;for(var Lr=-1,Zr=or.length,ia=Pe[Ir++],la,an,da,La=new A,Oa;++Lr=Pe.length)return Vt;var Ir=[],Lr=Ke[or++];return Vt.forEach(function(Zr,ia){Ir.push({key:Zr,values:qt(ia,or)})}),Lr?Ir.sort(function(Zr,ia){return Lr(Zr.key,ia.key)}):Ir}return de.map=function(Vt,or){return Tt(or,Vt,0)},de.entries=function(Vt){return qt(Tt(h.map,Vt,0),0)},de.key=function(Vt){return Pe.push(Vt),de},de.sortKeys=function(Vt){return Ke[Pe.length-1]=Vt,de},de.sortValues=function(Vt){return vt=Vt,de},de.rollup=function(Vt){return mt=Vt,de},de},h.set=function(de){var Pe=new z;if(de)for(var Ke=0,vt=de.length;Ke=0&&(vt=de.slice(Ke+1),de=de.slice(0,Ke)),de)return arguments.length<2?this[de].on(vt):this[de].on(vt,Pe);if(arguments.length===2){if(Pe==null)for(de in this)this.hasOwnProperty(de)&&this[de].on(vt,null);return this}};function X(de){var Pe=[],Ke=new A;function vt(){for(var mt=Pe,Tt=-1,qt=mt.length,Vt;++Tt=0&&(Ke=de.slice(0,Pe))!=="xmlns"&&(de=de.slice(Pe+1)),fe.hasOwnProperty(Ke)?{space:fe[Ke],local:de}:de}},Q.attr=function(de,Pe){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node();return de=h.ns.qualify(de),de.local?Ke.getAttributeNS(de.space,de.local):Ke.getAttribute(de)}for(Pe in de)this.each(be(Pe,de[Pe]));return this}return this.each(be(de,Pe))};function be(de,Pe){de=h.ns.qualify(de);function Ke(){this.removeAttribute(de)}function vt(){this.removeAttributeNS(de.space,de.local)}function mt(){this.setAttribute(de,Pe)}function Tt(){this.setAttributeNS(de.space,de.local,Pe)}function qt(){var or=Pe.apply(this,arguments);or==null?this.removeAttribute(de):this.setAttribute(de,or)}function Vt(){var or=Pe.apply(this,arguments);or==null?this.removeAttributeNS(de.space,de.local):this.setAttributeNS(de.space,de.local,or)}return Pe==null?de.local?vt:Ke:typeof Pe=="function"?de.local?Vt:qt:de.local?Tt:mt}function Me(de){return de.trim().replace(/\s+/g," ")}Q.classed=function(de,Pe){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node(),vt=(de=Le(de)).length,mt=-1;if(Pe=Ke.classList){for(;++mt=0;)(Tt=Ke[vt])&&(mt&&mt!==Tt.nextSibling&&mt.parentNode.insertBefore(Tt,mt),mt=Tt);return this},Q.sort=function(de){de=De.apply(this,arguments);for(var Pe=-1,Ke=this.length;++Pe=Pe&&(Pe=mt+1);!(or=qt[Pe])&&++Pe0&&(de=de.slice(0,mt));var qt=jt.get(de);qt&&(de=qt,Tt=dr);function Vt(){var Lr=this[vt];Lr&&(this.removeEventListener(de,Lr,Lr.$),delete this[vt])}function or(){var Lr=Tt(Pe,S(arguments));Vt.call(this),this.addEventListener(de,this[vt]=Lr,Lr.$=Ke),Lr._=Pe}function Ir(){var Lr=new RegExp("^__on([^.]+)"+h.requote(de)+"$"),Zr;for(var ia in this)if(Zr=ia.match(Lr)){var la=this[ia];this.removeEventListener(Zr[1],la,la.$),delete this[ia]}}return mt?Pe?or:Vt:Pe?N:Ir}var jt=h.map({mouseenter:"mouseover",mouseleave:"mouseout"});E&&jt.forEach(function(de){"on"+de in E&&jt.remove(de)});function Wt(de,Pe){return function(Ke){var vt=h.event;h.event=Ke,Pe[0]=this.__data__;try{de.apply(this,Pe)}finally{h.event=vt}}}function dr(de,Pe){var Ke=Wt(de,Pe);return function(vt){var mt=this,Tt=vt.relatedTarget;(!Tt||Tt!==mt&&!(Tt.compareDocumentPosition(mt)&8))&&Ke.call(mt,vt)}}var vr,Dr=0;function hr(de){var Pe=".dragsuppress-"+ ++Dr,Ke="click"+Pe,vt=h.select(t(de)).on("touchmove"+Pe,ee).on("dragstart"+Pe,ee).on("selectstart"+Pe,ee);if(vr==null&&(vr="onselectstart"in de?!1:O(de.style,"userSelect")),vr){var mt=e(de).style,Tt=mt[vr];mt[vr]="none"}return function(qt){if(vt.on(Pe,null),vr&&(mt[vr]=Tt),qt){var Vt=function(){vt.on(Ke,null)};vt.on(Ke,function(){ee(),Vt()},!0),setTimeout(Vt,0)}}}h.mouse=function(de){return gt(de,ue())};var Ar=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function gt(de,Pe){Pe.changedTouches&&(Pe=Pe.changedTouches[0]);var Ke=de.ownerSVGElement||de;if(Ke.createSVGPoint){var vt=Ke.createSVGPoint();if(Ar<0){var mt=t(de);if(mt.scrollX||mt.scrollY){Ke=h.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Tt=Ke[0][0].getScreenCTM();Ar=!(Tt.f||Tt.e),Ke.remove()}}return Ar?(vt.x=Pe.pageX,vt.y=Pe.pageY):(vt.x=Pe.clientX,vt.y=Pe.clientY),vt=vt.matrixTransform(de.getScreenCTM().inverse()),[vt.x,vt.y]}var qt=de.getBoundingClientRect();return[Pe.clientX-qt.left-de.clientLeft,Pe.clientY-qt.top-de.clientTop]}h.touch=function(de,Pe,Ke){if(arguments.length<3&&(Ke=Pe,Pe=ue().changedTouches),Pe){for(var vt=0,mt=Pe.length,Tt;vt1?Ue:de<-1?-Ue:Math.asin(de)}function Nt(de){return((de=Math.exp(de))-1/de)/2}function sr(de){return((de=Math.exp(de))+1/de)/2}function ar(de){return((de=Math.exp(2*de))-1)/(de+1)}var tr=Math.SQRT2,Tr=2,sa=4;h.interpolateZoom=function(de,Pe){var Ke=de[0],vt=de[1],mt=de[2],Tt=Pe[0],qt=Pe[1],Vt=Pe[2],or=Tt-Ke,Ir=qt-vt,Lr=or*or+Ir*Ir,Zr,ia;if(Lr0&&(pi=pi.transition().duration(qt)),pi.call(on.event)}function Ti(){La&&La.domain(da.range().map(function(pi){return(pi-de.x)/de.k}).map(da.invert)),Qa&&Qa.domain(Oa.range().map(function(pi){return(pi-de.y)/de.k}).map(Oa.invert))}function ki(pi){Vt++||pi({type:"zoomstart"})}function Go(pi){Ti(),pi({type:"zoom",scale:de.k,translate:[de.x,de.y]})}function Pi(pi){--Vt||(pi({type:"zoomend"}),Ke=null)}function oo(){var pi=this,ko=an.of(pi,arguments),Xo=0,Os=h.select(t(pi)).on(Ir,gs).on(Lr,Bs),Ms=Fa(h.mouse(pi)),Zl=hr(pi);$a.call(pi),ki(ko);function gs(){Xo=1,Kn(h.mouse(pi),Ms),Go(ko)}function Bs(){Os.on(Ir,null).on(Lr,null),Zl(Xo),Pi(ko)}}function $o(){var pi=this,ko=an.of(pi,arguments),Xo={},Os=0,Ms,Zl=".zoom-"+h.event.changedTouches[0].identifier,gs="touchmove"+Zl,Bs="touchend"+Zl,du=[],ul=h.select(pi),st=hr(pi);ur(),ki(ko),ul.on(or,null).on(ia,ur);function ir(){var Qr=h.touches(pi);return Ms=de.k,Qr.forEach(function($r){$r.identifier in Xo&&(Xo[$r.identifier]=Fa($r))}),Qr}function ur(){var Qr=h.event.target;h.select(Qr).on(gs,ua).on(Bs,Ua),du.push(Qr);for(var $r=h.event.changedTouches,un=0,sn=$r.length;un1){var Qn=ln[0],jn=ln[1],yn=Qn[0]-jn[0],Wa=Qn[1]-jn[1];Os=yn*yn+Wa*Wa}}function ua(){var Qr=h.touches(pi),$r,un,sn,ln;$a.call(pi);for(var xn=0,Qn=Qr.length;xn1?1:Pe,Ke=Ke<0?0:Ke>1?1:Ke,mt=Ke<=.5?Ke*(1+Pe):Ke+Pe-Ke*Pe,vt=2*Ke-mt;function Tt(Vt){return Vt>360?Vt-=360:Vt<0&&(Vt+=360),Vt<60?vt+(mt-vt)*Vt/60:Vt<180?mt:Vt<240?vt+(mt-vt)*(240-Vt)/60:vt}function qt(Vt){return Math.round(Tt(Vt)*255)}return new Bn(qt(de+120),qt(de),qt(de-120))}h.hcl=Yt;function Yt(de,Pe,Ke){return this instanceof Yt?(this.h=+de,this.c=+Pe,void(this.l=+Ke)):arguments.length<2?de instanceof Yt?new Yt(de.h,de.c,de.l):de instanceof $t?Va(de.l,de.a,de.b):Va((de=_r((de=h.rgb(de)).r,de.g,de.b)).l,de.a,de.b):new Yt(de,Pe,Ke)}var It=Yt.prototype=new Ra;It.brighter=function(de){return new Yt(this.h,this.c,Math.min(100,this.l+Cr*(arguments.length?de:1)))},It.darker=function(de){return new Yt(this.h,this.c,Math.max(0,this.l-Cr*(arguments.length?de:1)))},It.rgb=function(){return Zt(this.h,this.c,this.l).rgb()};function Zt(de,Pe,Ke){return isNaN(de)&&(de=0),isNaN(Pe)&&(Pe=0),new $t(Ke,Math.cos(de*=Xe)*Pe,Math.sin(de)*Pe)}h.lab=$t;function $t(de,Pe,Ke){return this instanceof $t?(this.l=+de,this.a=+Pe,void(this.b=+Ke)):arguments.length<2?de instanceof $t?new $t(de.l,de.a,de.b):de instanceof Yt?Zt(de.h,de.c,de.l):_r((de=Bn(de)).r,de.g,de.b):new $t(de,Pe,Ke)}var Cr=18,qr=.95047,Jr=1,aa=1.08883,Ca=$t.prototype=new Ra;Ca.brighter=function(de){return new $t(Math.min(100,this.l+Cr*(arguments.length?de:1)),this.a,this.b)},Ca.darker=function(de){return new $t(Math.max(0,this.l-Cr*(arguments.length?de:1)),this.a,this.b)},Ca.rgb=function(){return Ha(this.l,this.a,this.b)};function Ha(de,Pe,Ke){var vt=(de+16)/116,mt=vt+Pe/500,Tt=vt-Ke/200;return mt=Za(mt)*qr,vt=Za(vt)*Jr,Tt=Za(Tt)*aa,new Bn(wa(3.2404542*mt-1.5371385*vt-.4985314*Tt),wa(-.969266*mt+1.8760108*vt+.041556*Tt),wa(.0556434*mt-.2040259*vt+1.0572252*Tt))}function Va(de,Pe,Ke){return de>0?new Yt(Math.atan2(Ke,Pe)*bt,Math.sqrt(Pe*Pe+Ke*Ke),de):new Yt(NaN,NaN,de)}function Za(de){return de>.206893034?de*de*de:(de-4/29)/7.787037}function rn(de){return de>.008856?Math.pow(de,1/3):7.787037*de+4/29}function wa(de){return Math.round(255*(de<=.00304?12.92*de:1.055*Math.pow(de,1/2.4)-.055))}h.rgb=Bn;function Bn(de,Pe,Ke){return this instanceof Bn?(this.r=~~de,this.g=~~Pe,void(this.b=~~Ke)):arguments.length<2?de instanceof Bn?new Bn(de.r,de.g,de.b):Sr(""+de,Bn,mn):new Bn(de,Pe,Ke)}function Hn(de){return new Bn(de>>16,de>>8&255,de&255)}function At(de){return Hn(de)+""}var ft=Bn.prototype=new Ra;ft.brighter=function(de){de=Math.pow(.7,arguments.length?de:1);var Pe=this.r,Ke=this.g,vt=this.b,mt=30;return!Pe&&!Ke&&!vt?new Bn(mt,mt,mt):(Pe&&Pe>4,vt=vt>>4|vt,mt=or&240,mt=mt>>4|mt,Tt=or&15,Tt=Tt<<4|Tt):de.length===7&&(vt=(or&16711680)>>16,mt=(or&65280)>>8,Tt=or&255)),Pe(vt,mt,Tt))}function Er(de,Pe,Ke){var vt=Math.min(de/=255,Pe/=255,Ke/=255),mt=Math.max(de,Pe,Ke),Tt=mt-vt,qt,Vt,or=(mt+vt)/2;return Tt?(Vt=or<.5?Tt/(mt+vt):Tt/(2-mt-vt),de==mt?qt=(Pe-Ke)/Tt+(Pe0&&or<1?0:qt),new ya(qt,Vt,or)}function _r(de,Pe,Ke){de=Mr(de),Pe=Mr(Pe),Ke=Mr(Ke);var vt=rn((.4124564*de+.3575761*Pe+.1804375*Ke)/qr),mt=rn((.2126729*de+.7151522*Pe+.072175*Ke)/Jr),Tt=rn((.0193339*de+.119192*Pe+.9503041*Ke)/aa);return $t(116*mt-16,500*(vt-mt),200*(mt-Tt))}function Mr(de){return(de/=255)<=.04045?de/12.92:Math.pow((de+.055)/1.055,2.4)}function Gr(de){var Pe=parseFloat(de);return de.charAt(de.length-1)==="%"?Math.round(Pe*2.55):Pe}var Fr=h.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Fr.forEach(function(de,Pe){Fr.set(de,Hn(Pe))});function pt(de){return typeof de=="function"?de:function(){return de}}h.functor=pt,h.xhr=Kt(F);function Kt(de){return function(Pe,Ke,vt){return arguments.length===2&&typeof Ke=="function"&&(vt=Ke,Ke=null),xr(Pe,Ke,de,vt)}}function xr(de,Pe,Ke,vt){var mt={},Tt=h.dispatch("beforesend","progress","load","error"),qt={},Vt=new XMLHttpRequest,or=null;self.XDomainRequest&&!("withCredentials"in Vt)&&/^(http(s)?:)?\/\//.test(de)&&(Vt=new XDomainRequest),"onload"in Vt?Vt.onload=Vt.onerror=Ir:Vt.onreadystatechange=function(){Vt.readyState>3&&Ir()};function Ir(){var Lr=Vt.status,Zr;if(!Lr&&fa(Vt)||Lr>=200&&Lr<300||Lr===304){try{Zr=Ke.call(mt,Vt)}catch(ia){Tt.error.call(mt,ia);return}Tt.load.call(mt,Zr)}else Tt.error.call(mt,Vt)}return Vt.onprogress=function(Lr){var Zr=h.event;h.event=Lr;try{Tt.progress.call(mt,Vt)}finally{h.event=Zr}},mt.header=function(Lr,Zr){return Lr=(Lr+"").toLowerCase(),arguments.length<2?qt[Lr]:(Zr==null?delete qt[Lr]:qt[Lr]=Zr+"",mt)},mt.mimeType=function(Lr){return arguments.length?(Pe=Lr==null?null:Lr+"",mt):Pe},mt.responseType=function(Lr){return arguments.length?(or=Lr,mt):or},mt.response=function(Lr){return Ke=Lr,mt},["get","post"].forEach(function(Lr){mt[Lr]=function(){return mt.send.apply(mt,[Lr].concat(S(arguments)))}}),mt.send=function(Lr,Zr,ia){if(arguments.length===2&&typeof Zr=="function"&&(ia=Zr,Zr=null),Vt.open(Lr,de,!0),Pe!=null&&!("accept"in qt)&&(qt.accept=Pe+",*/*"),Vt.setRequestHeader)for(var la in qt)Vt.setRequestHeader(la,qt[la]);return Pe!=null&&Vt.overrideMimeType&&Vt.overrideMimeType(Pe),or!=null&&(Vt.responseType=or),ia!=null&&mt.on("error",ia).on("load",function(an){ia(null,an)}),Tt.beforesend.call(mt,Vt),Vt.send(Zr??null),mt},mt.abort=function(){return Vt.abort(),mt},h.rebind(mt,Tt,"on"),vt==null?mt:mt.get(Hr(vt))}function Hr(de){return de.length===1?function(Pe,Ke){de(Pe==null?Ke:null)}:de}function fa(de){var Pe=de.responseType;return Pe&&Pe!=="text"?de.response:de.responseText}h.dsv=function(de,Pe){var Ke=new RegExp('["'+de+` +import{r as FD,p as OD,c as BD,g as ND}from"./index-DripdgQr.js";function UD(zh,Yh){for(var Fh=0;FhAu[Th]})}}}return Object.freeze(Object.defineProperty(zh,Symbol.toStringTag,{value:"Module"}))}var rb={},V5={};(function(zh){function Yh(bs){"@babel/helpers - typeof";return Yh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Hs){return typeof Hs}:function(Hs){return Hs&&typeof Symbol=="function"&&Hs.constructor===Symbol&&Hs!==Symbol.prototype?"symbol":typeof Hs},Yh(bs)}Object.defineProperty(zh,"__esModule",{value:!0}),zh.default=qm;var Fh=Yv(FD),Au=Th(OD);function Th(bs){return bs&&bs.__esModule?bs:{default:bs}}function uv(bs){if(typeof WeakMap!="function")return null;var Hs=new WeakMap,Mc=new WeakMap;return(uv=function(bi){return bi?Mc:Hs})(bs)}function Yv(bs,Hs){if(bs&&bs.__esModule)return bs;if(bs===null||Yh(bs)!=="object"&&typeof bs!="function")return{default:bs};var Mc=uv(Hs);if(Mc&&Mc.has(bs))return Mc.get(bs);var zc={},bi=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var nc in bs)if(nc!=="default"&&Object.prototype.hasOwnProperty.call(bs,nc)){var bo=bi?Object.getOwnPropertyDescriptor(bs,nc):null;bo&&(bo.get||bo.set)?Object.defineProperty(zc,nc,bo):zc[nc]=bs[nc]}return zc.default=bs,Mc&&Mc.set(bs,zc),zc}function Gy(bs,Hs){if(!(bs instanceof Hs))throw new TypeError("Cannot call a class as a function")}function M0(bs,Hs){for(var Mc=0;Mc"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function gp(bs){return gp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Mc){return Mc.__proto__||Object.getPrototypeOf(Mc)},gp(bs)}var Ll=["AfterExport","AfterPlot","Animated","AnimatingFrame","AnimationInterrupted","AutoSize","BeforeExport","BeforeHover","ButtonClicked","Click","ClickAnnotation","Deselect","DoubleClick","Framework","Hover","LegendClick","LegendDoubleClick","Relayout","Relayouting","Restyle","Redraw","Selected","Selecting","SliderChange","SliderEnd","SliderStart","SunburstClick","Transitioning","TransitionInterrupted","Unhover","WebGlContextLost"],He=["plotly_restyle","plotly_redraw","plotly_relayout","plotly_relayouting","plotly_doubleclick","plotly_animated","plotly_sunburstclick"],yp=typeof window<"u";function qm(bs){var Hs=function(Mc){Hy(bi,Mc);var zc=jm(bi);function bi(nc){var bo;return Gy(this,bi),bo=zc.call(this,nc),bo.p=Promise.resolve(),bo.resizeHandler=null,bo.handlers={},bo.syncWindowResize=bo.syncWindowResize.bind(sh(bo)),bo.syncEventHandlers=bo.syncEventHandlers.bind(sh(bo)),bo.attachUpdateEvents=bo.attachUpdateEvents.bind(sh(bo)),bo.getRef=bo.getRef.bind(sh(bo)),bo.handleUpdate=bo.handleUpdate.bind(sh(bo)),bo.figureCallback=bo.figureCallback.bind(sh(bo)),bo.updatePlotly=bo.updatePlotly.bind(sh(bo)),bo}return mp(bi,[{key:"updatePlotly",value:function(bo,Fc,Eh){var Bi=this;this.p=this.p.then(function(){if(!Bi.unmounting){if(!Bi.el)throw new Error("Missing element reference");return bs.react(Bi.el,{data:Bi.props.data,layout:Bi.props.layout,config:Bi.props.config,frames:Bi.props.frames})}}).then(function(){Bi.unmounting||(Bi.syncWindowResize(bo),Bi.syncEventHandlers(),Bi.figureCallback(Fc),Eh&&Bi.attachUpdateEvents())}).catch(function(Yo){Bi.props.onError&&Bi.props.onError(Yo)})}},{key:"componentDidMount",value:function(){this.unmounting=!1,this.updatePlotly(!0,this.props.onInitialized,!0)}},{key:"componentDidUpdate",value:function(bo){this.unmounting=!1;var Fc=bo.frames&&bo.frames.length?bo.frames.length:0,Eh=this.props.frames&&this.props.frames.length?this.props.frames.length:0,Bi=!(bo.layout===this.props.layout&&bo.data===this.props.data&&bo.config===this.props.config&&Eh===Fc),Yo=bo.revision!==void 0,_p=bo.revision!==this.props.revision;!Bi&&(!Yo||Yo&&!_p)||this.updatePlotly(!1,this.props.onUpdate,!1)}},{key:"componentWillUnmount",value:function(){this.unmounting=!0,this.figureCallback(this.props.onPurge),this.resizeHandler&&yp&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.removeUpdateEvents(),bs.purge(this.el)}},{key:"attachUpdateEvents",value:function(){var bo=this;!this.el||!this.el.removeListener||He.forEach(function(Fc){bo.el.on(Fc,bo.handleUpdate)})}},{key:"removeUpdateEvents",value:function(){var bo=this;!this.el||!this.el.removeListener||He.forEach(function(Fc){bo.el.removeListener(Fc,bo.handleUpdate)})}},{key:"handleUpdate",value:function(){this.figureCallback(this.props.onUpdate)}},{key:"figureCallback",value:function(bo){if(typeof bo=="function"){var Fc=this.el,Eh=Fc.data,Bi=Fc.layout,Yo=this.el._transitionData?this.el._transitionData._frames:null,_p={data:Eh,layout:Bi,frames:Yo};bo(_p,this.el)}}},{key:"syncWindowResize",value:function(bo){var Fc=this;yp&&(this.props.useResizeHandler&&!this.resizeHandler?(this.resizeHandler=function(){return bs.Plots.resize(Fc.el)},window.addEventListener("resize",this.resizeHandler),bo&&this.resizeHandler()):!this.props.useResizeHandler&&this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null))}},{key:"getRef",value:function(bo){this.el=bo,this.props.debug&&yp&&(window.gd=this.el)}},{key:"syncEventHandlers",value:function(){var bo=this;Ll.forEach(function(Fc){var Eh=bo.props["on"+Fc],Bi=bo.handlers[Fc],Yo=!!Bi;Eh&&!Yo?bo.addEventHandler(Fc,Eh):!Eh&&Yo?bo.removeEventHandler(Fc):Eh&&Yo&&Eh!==Bi&&(bo.removeEventHandler(Fc),bo.addEventHandler(Fc,Eh))})}},{key:"addEventHandler",value:function(bo,Fc){this.handlers[bo]=Fc,this.el.on(this.getPlotlyEventName(bo),this.handlers[bo])}},{key:"removeEventHandler",value:function(bo){this.el.removeListener(this.getPlotlyEventName(bo),this.handlers[bo]),delete this.handlers[bo]}},{key:"getPlotlyEventName",value:function(bo){return"plotly_"+bo.toLowerCase()}},{key:"render",value:function(){return Fh.default.createElement("div",{id:this.props.divId,style:this.props.style,ref:this.getRef,className:this.props.className})}}]),bi}(Fh.Component);return Hs.propTypes={data:Au.default.arrayOf(Au.default.object),config:Au.default.object,layout:Au.default.object,frames:Au.default.arrayOf(Au.default.object),revision:Au.default.number,onInitialized:Au.default.func,onPurge:Au.default.func,onError:Au.default.func,onUpdate:Au.default.func,debug:Au.default.bool,style:Au.default.object,className:Au.default.string,useResizeHandler:Au.default.bool,divId:Au.default.string},Ll.forEach(function(Mc){Hs.propTypes["on"+Mc]=Au.default.func}),Hs.defaultProps={debug:!1,useResizeHandler:!1,data:[],style:{position:"relative",display:"inline-block"}},Hs}})(V5);var q5={exports:{}};(function(zh){var Yh={};(function(Fh,Au){zh.exports?zh.exports=Au():Fh.moduleName=Au()})(typeof self<"u"?self:BD,()=>{var Fh=(()=>{var Au=Object.create,Th=Object.defineProperty,uv=Object.defineProperties,Yv=Object.getOwnPropertyDescriptor,Gy=Object.getOwnPropertyDescriptors,M0=Object.getOwnPropertyNames,mp=Object.getOwnPropertySymbols,Hy=Object.getPrototypeOf,Cd=Object.prototype.hasOwnProperty,jm=Object.prototype.propertyIsEnumerable,Vm=(Y,G,h)=>G in Y?Th(Y,G,{enumerable:!0,configurable:!0,writable:!0,value:h}):Y[G]=h,sh=(Y,G)=>{for(var h in G||(G={}))Cd.call(G,h)&&Vm(Y,h,G[h]);if(mp)for(var h of mp(G))jm.call(G,h)&&Vm(Y,h,G[h]);return Y},Ld=(Y,G)=>uv(Y,Gy(G)),gp=(Y,G)=>{var h={};for(var b in Y)Cd.call(Y,b)&&G.indexOf(b)<0&&(h[b]=Y[b]);if(Y!=null&&mp)for(var b of mp(Y))G.indexOf(b)<0&&jm.call(Y,b)&&(h[b]=Y[b]);return h},Ll=(Y,G)=>function(){return Y&&(G=(0,Y[M0(Y)[0]])(Y=0)),G},He=(Y,G)=>function(){return G||(0,Y[M0(Y)[0]])((G={exports:{}}).exports,G),G.exports},yp=(Y,G)=>{for(var h in G)Th(Y,h,{get:G[h],enumerable:!0})},qm=(Y,G,h,b)=>{if(G&&typeof G=="object"||typeof G=="function")for(let S of M0(G))!Cd.call(Y,S)&&S!==h&&Th(Y,S,{get:()=>G[S],enumerable:!(b=Yv(G,S))||b.enumerable});return Y},bs=(Y,G,h)=>(h=Y!=null?Au(Hy(Y)):{},qm(Th(h,"default",{value:Y,enumerable:!0}),Y)),Hs=Y=>qm(Th({},"__esModule",{value:!0}),Y),Mc=He({"src/version.js"(Y){Y.version="3.3.1"}}),zc=He({"node_modules/native-promise-only/lib/npo.src.js"(Y,G){(function(b,S,E){S[b]=S[b]||E(),typeof G<"u"&&G.exports&&(G.exports=S[b])})("Promise",typeof window<"u"?window:Y,function(){var b,S,E,e=Object.prototype.toString,t=typeof setImmediate<"u"?function(g){return setImmediate(g)}:setTimeout;try{Object.defineProperty({},"x",{}),b=function(g,x,A,M){return Object.defineProperty(g,x,{value:A,writable:!0,configurable:M!==!1})}}catch{b=function(x,A,M){return x[A]=M,x}}E=function(){var g,x,A;function M(_,w){this.fn=_,this.self=w,this.next=void 0}return{add:function(w,m){A=new M(w,m),x?x.next=A:g=A,x=A,A=void 0},drain:function(){var w=g;for(g=x=S=void 0;w;)w.fn.call(w.self),w=w.next}}}();function r(l,g){E.add(l,g),S||(S=t(E.drain))}function o(l){var g,x=typeof l;return l!=null&&(x=="object"||x=="function")&&(g=l.then),typeof g=="function"?g:!1}function a(){for(var l=0;l0&&r(a,x))}catch(A){s.call(new c(x),A)}}}function s(l){var g=this;g.triggered||(g.triggered=!0,g.def&&(g=g.def),g.msg=l,g.state=2,g.chain.length>0&&r(a,g))}function f(l,g,x,A){for(var M=0;MPe?1:de>=Pe?0:NaN}h.descending=function(de,Pe){return Pede?1:Pe>=de?0:NaN},h.min=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt;if(arguments.length===1){for(;++Ke=Tt){mt=Tt;break}for(;++KeTt&&(mt=Tt)}else{for(;++Ke=Tt){mt=Tt;break}for(;++KeTt&&(mt=Tt)}return mt},h.max=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt;if(arguments.length===1){for(;++Ke=Tt){mt=Tt;break}for(;++Kemt&&(mt=Tt)}else{for(;++Ke=Tt){mt=Tt;break}for(;++Kemt&&(mt=Tt)}return mt},h.extent=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt,qt;if(arguments.length===1){for(;++Ke=Tt){mt=qt=Tt;break}for(;++KeTt&&(mt=Tt),qt=Tt){mt=qt=Tt;break}for(;++KeTt&&(mt=Tt),qt1)return qt/(or-1)},h.deviation=function(){var de=h.variance.apply(this,arguments);return de&&Math.sqrt(de)};function p(de){return{left:function(Pe,Ke,vt,mt){for(arguments.length<3&&(vt=0),arguments.length<4&&(mt=Pe.length);vt>>1;de(Pe[Tt],Ke)<0?vt=Tt+1:mt=Tt}return vt},right:function(Pe,Ke,vt,mt){for(arguments.length<3&&(vt=0),arguments.length<4&&(mt=Pe.length);vt>>1;de(Pe[Tt],Ke)>0?mt=Tt:vt=Tt+1}return vt}}}var d=p(s);h.bisectLeft=d.left,h.bisect=h.bisectRight=d.right,h.bisector=function(de){return p(de.length===1?function(Pe,Ke){return s(de(Pe),Ke)}:de)},h.shuffle=function(de,Pe,Ke){(vt=arguments.length)<3&&(Ke=de.length,vt<2&&(Pe=0));for(var vt=Ke-Pe,mt,Tt;vt;)Tt=Math.random()*vt--|0,mt=de[vt+Pe],de[vt+Pe]=de[Tt+Pe],de[Tt+Pe]=mt;return de},h.permute=function(de,Pe){for(var Ke=Pe.length,vt=new Array(Ke);Ke--;)vt[Ke]=de[Pe[Ke]];return vt},h.pairs=function(de){for(var Pe=0,Ke=de.length-1,vt=de[0],mt=new Array(Ke<0?0:Ke);Pe=0;)for(qt=de[Pe],Ke=qt.length;--Ke>=0;)Tt[--mt]=qt[Ke];return Tt};var l=Math.abs;h.range=function(de,Pe,Ke){if(arguments.length<3&&(Ke=1,arguments.length<2&&(Pe=de,de=0)),(Pe-de)/Ke===1/0)throw new Error("infinite range");var vt=[],mt=g(l(Ke)),Tt=-1,qt;if(de*=mt,Pe*=mt,Ke*=mt,Ke<0)for(;(qt=de+Ke*++Tt)>Pe;)vt.push(qt/mt);else for(;(qt=de+Ke*++Tt)=Pe.length)return mt?mt.call(de,or):vt?or.sort(vt):or;for(var Lr=-1,Zr=or.length,ia=Pe[Ir++],la,an,da,La=new A,Oa;++Lr=Pe.length)return Vt;var Ir=[],Lr=Ke[or++];return Vt.forEach(function(Zr,ia){Ir.push({key:Zr,values:qt(ia,or)})}),Lr?Ir.sort(function(Zr,ia){return Lr(Zr.key,ia.key)}):Ir}return de.map=function(Vt,or){return Tt(or,Vt,0)},de.entries=function(Vt){return qt(Tt(h.map,Vt,0),0)},de.key=function(Vt){return Pe.push(Vt),de},de.sortKeys=function(Vt){return Ke[Pe.length-1]=Vt,de},de.sortValues=function(Vt){return vt=Vt,de},de.rollup=function(Vt){return mt=Vt,de},de},h.set=function(de){var Pe=new z;if(de)for(var Ke=0,vt=de.length;Ke=0&&(vt=de.slice(Ke+1),de=de.slice(0,Ke)),de)return arguments.length<2?this[de].on(vt):this[de].on(vt,Pe);if(arguments.length===2){if(Pe==null)for(de in this)this.hasOwnProperty(de)&&this[de].on(vt,null);return this}};function X(de){var Pe=[],Ke=new A;function vt(){for(var mt=Pe,Tt=-1,qt=mt.length,Vt;++Tt=0&&(Ke=de.slice(0,Pe))!=="xmlns"&&(de=de.slice(Pe+1)),fe.hasOwnProperty(Ke)?{space:fe[Ke],local:de}:de}},Q.attr=function(de,Pe){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node();return de=h.ns.qualify(de),de.local?Ke.getAttributeNS(de.space,de.local):Ke.getAttribute(de)}for(Pe in de)this.each(be(Pe,de[Pe]));return this}return this.each(be(de,Pe))};function be(de,Pe){de=h.ns.qualify(de);function Ke(){this.removeAttribute(de)}function vt(){this.removeAttributeNS(de.space,de.local)}function mt(){this.setAttribute(de,Pe)}function Tt(){this.setAttributeNS(de.space,de.local,Pe)}function qt(){var or=Pe.apply(this,arguments);or==null?this.removeAttribute(de):this.setAttribute(de,or)}function Vt(){var or=Pe.apply(this,arguments);or==null?this.removeAttributeNS(de.space,de.local):this.setAttributeNS(de.space,de.local,or)}return Pe==null?de.local?vt:Ke:typeof Pe=="function"?de.local?Vt:qt:de.local?Tt:mt}function Me(de){return de.trim().replace(/\s+/g," ")}Q.classed=function(de,Pe){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node(),vt=(de=Le(de)).length,mt=-1;if(Pe=Ke.classList){for(;++mt=0;)(Tt=Ke[vt])&&(mt&&mt!==Tt.nextSibling&&mt.parentNode.insertBefore(Tt,mt),mt=Tt);return this},Q.sort=function(de){de=De.apply(this,arguments);for(var Pe=-1,Ke=this.length;++Pe=Pe&&(Pe=mt+1);!(or=qt[Pe])&&++Pe0&&(de=de.slice(0,mt));var qt=jt.get(de);qt&&(de=qt,Tt=dr);function Vt(){var Lr=this[vt];Lr&&(this.removeEventListener(de,Lr,Lr.$),delete this[vt])}function or(){var Lr=Tt(Pe,S(arguments));Vt.call(this),this.addEventListener(de,this[vt]=Lr,Lr.$=Ke),Lr._=Pe}function Ir(){var Lr=new RegExp("^__on([^.]+)"+h.requote(de)+"$"),Zr;for(var ia in this)if(Zr=ia.match(Lr)){var la=this[ia];this.removeEventListener(Zr[1],la,la.$),delete this[ia]}}return mt?Pe?or:Vt:Pe?N:Ir}var jt=h.map({mouseenter:"mouseover",mouseleave:"mouseout"});E&&jt.forEach(function(de){"on"+de in E&&jt.remove(de)});function Wt(de,Pe){return function(Ke){var vt=h.event;h.event=Ke,Pe[0]=this.__data__;try{de.apply(this,Pe)}finally{h.event=vt}}}function dr(de,Pe){var Ke=Wt(de,Pe);return function(vt){var mt=this,Tt=vt.relatedTarget;(!Tt||Tt!==mt&&!(Tt.compareDocumentPosition(mt)&8))&&Ke.call(mt,vt)}}var vr,Dr=0;function hr(de){var Pe=".dragsuppress-"+ ++Dr,Ke="click"+Pe,vt=h.select(t(de)).on("touchmove"+Pe,ee).on("dragstart"+Pe,ee).on("selectstart"+Pe,ee);if(vr==null&&(vr="onselectstart"in de?!1:O(de.style,"userSelect")),vr){var mt=e(de).style,Tt=mt[vr];mt[vr]="none"}return function(qt){if(vt.on(Pe,null),vr&&(mt[vr]=Tt),qt){var Vt=function(){vt.on(Ke,null)};vt.on(Ke,function(){ee(),Vt()},!0),setTimeout(Vt,0)}}}h.mouse=function(de){return gt(de,ue())};var Ar=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function gt(de,Pe){Pe.changedTouches&&(Pe=Pe.changedTouches[0]);var Ke=de.ownerSVGElement||de;if(Ke.createSVGPoint){var vt=Ke.createSVGPoint();if(Ar<0){var mt=t(de);if(mt.scrollX||mt.scrollY){Ke=h.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Tt=Ke[0][0].getScreenCTM();Ar=!(Tt.f||Tt.e),Ke.remove()}}return Ar?(vt.x=Pe.pageX,vt.y=Pe.pageY):(vt.x=Pe.clientX,vt.y=Pe.clientY),vt=vt.matrixTransform(de.getScreenCTM().inverse()),[vt.x,vt.y]}var qt=de.getBoundingClientRect();return[Pe.clientX-qt.left-de.clientLeft,Pe.clientY-qt.top-de.clientTop]}h.touch=function(de,Pe,Ke){if(arguments.length<3&&(Ke=Pe,Pe=ue().changedTouches),Pe){for(var vt=0,mt=Pe.length,Tt;vt1?Ue:de<-1?-Ue:Math.asin(de)}function Nt(de){return((de=Math.exp(de))-1/de)/2}function sr(de){return((de=Math.exp(de))+1/de)/2}function ar(de){return((de=Math.exp(2*de))-1)/(de+1)}var tr=Math.SQRT2,Tr=2,sa=4;h.interpolateZoom=function(de,Pe){var Ke=de[0],vt=de[1],mt=de[2],Tt=Pe[0],qt=Pe[1],Vt=Pe[2],or=Tt-Ke,Ir=qt-vt,Lr=or*or+Ir*Ir,Zr,ia;if(Lr0&&(pi=pi.transition().duration(qt)),pi.call(on.event)}function Ti(){La&&La.domain(da.range().map(function(pi){return(pi-de.x)/de.k}).map(da.invert)),Qa&&Qa.domain(Oa.range().map(function(pi){return(pi-de.y)/de.k}).map(Oa.invert))}function ki(pi){Vt++||pi({type:"zoomstart"})}function Go(pi){Ti(),pi({type:"zoom",scale:de.k,translate:[de.x,de.y]})}function Pi(pi){--Vt||(pi({type:"zoomend"}),Ke=null)}function oo(){var pi=this,ko=an.of(pi,arguments),Xo=0,Os=h.select(t(pi)).on(Ir,gs).on(Lr,Bs),Ms=Fa(h.mouse(pi)),Zl=hr(pi);$a.call(pi),ki(ko);function gs(){Xo=1,Kn(h.mouse(pi),Ms),Go(ko)}function Bs(){Os.on(Ir,null).on(Lr,null),Zl(Xo),Pi(ko)}}function $o(){var pi=this,ko=an.of(pi,arguments),Xo={},Os=0,Ms,Zl=".zoom-"+h.event.changedTouches[0].identifier,gs="touchmove"+Zl,Bs="touchend"+Zl,du=[],ul=h.select(pi),st=hr(pi);ur(),ki(ko),ul.on(or,null).on(ia,ur);function ir(){var Qr=h.touches(pi);return Ms=de.k,Qr.forEach(function($r){$r.identifier in Xo&&(Xo[$r.identifier]=Fa($r))}),Qr}function ur(){var Qr=h.event.target;h.select(Qr).on(gs,ua).on(Bs,Ua),du.push(Qr);for(var $r=h.event.changedTouches,un=0,sn=$r.length;un1){var Qn=ln[0],jn=ln[1],yn=Qn[0]-jn[0],Wa=Qn[1]-jn[1];Os=yn*yn+Wa*Wa}}function ua(){var Qr=h.touches(pi),$r,un,sn,ln;$a.call(pi);for(var xn=0,Qn=Qr.length;xn1?1:Pe,Ke=Ke<0?0:Ke>1?1:Ke,mt=Ke<=.5?Ke*(1+Pe):Ke+Pe-Ke*Pe,vt=2*Ke-mt;function Tt(Vt){return Vt>360?Vt-=360:Vt<0&&(Vt+=360),Vt<60?vt+(mt-vt)*Vt/60:Vt<180?mt:Vt<240?vt+(mt-vt)*(240-Vt)/60:vt}function qt(Vt){return Math.round(Tt(Vt)*255)}return new Bn(qt(de+120),qt(de),qt(de-120))}h.hcl=Yt;function Yt(de,Pe,Ke){return this instanceof Yt?(this.h=+de,this.c=+Pe,void(this.l=+Ke)):arguments.length<2?de instanceof Yt?new Yt(de.h,de.c,de.l):de instanceof $t?Va(de.l,de.a,de.b):Va((de=_r((de=h.rgb(de)).r,de.g,de.b)).l,de.a,de.b):new Yt(de,Pe,Ke)}var It=Yt.prototype=new Ra;It.brighter=function(de){return new Yt(this.h,this.c,Math.min(100,this.l+Cr*(arguments.length?de:1)))},It.darker=function(de){return new Yt(this.h,this.c,Math.max(0,this.l-Cr*(arguments.length?de:1)))},It.rgb=function(){return Zt(this.h,this.c,this.l).rgb()};function Zt(de,Pe,Ke){return isNaN(de)&&(de=0),isNaN(Pe)&&(Pe=0),new $t(Ke,Math.cos(de*=Xe)*Pe,Math.sin(de)*Pe)}h.lab=$t;function $t(de,Pe,Ke){return this instanceof $t?(this.l=+de,this.a=+Pe,void(this.b=+Ke)):arguments.length<2?de instanceof $t?new $t(de.l,de.a,de.b):de instanceof Yt?Zt(de.h,de.c,de.l):_r((de=Bn(de)).r,de.g,de.b):new $t(de,Pe,Ke)}var Cr=18,qr=.95047,Jr=1,aa=1.08883,Ca=$t.prototype=new Ra;Ca.brighter=function(de){return new $t(Math.min(100,this.l+Cr*(arguments.length?de:1)),this.a,this.b)},Ca.darker=function(de){return new $t(Math.max(0,this.l-Cr*(arguments.length?de:1)),this.a,this.b)},Ca.rgb=function(){return Ha(this.l,this.a,this.b)};function Ha(de,Pe,Ke){var vt=(de+16)/116,mt=vt+Pe/500,Tt=vt-Ke/200;return mt=Za(mt)*qr,vt=Za(vt)*Jr,Tt=Za(Tt)*aa,new Bn(wa(3.2404542*mt-1.5371385*vt-.4985314*Tt),wa(-.969266*mt+1.8760108*vt+.041556*Tt),wa(.0556434*mt-.2040259*vt+1.0572252*Tt))}function Va(de,Pe,Ke){return de>0?new Yt(Math.atan2(Ke,Pe)*bt,Math.sqrt(Pe*Pe+Ke*Ke),de):new Yt(NaN,NaN,de)}function Za(de){return de>.206893034?de*de*de:(de-4/29)/7.787037}function rn(de){return de>.008856?Math.pow(de,1/3):7.787037*de+4/29}function wa(de){return Math.round(255*(de<=.00304?12.92*de:1.055*Math.pow(de,1/2.4)-.055))}h.rgb=Bn;function Bn(de,Pe,Ke){return this instanceof Bn?(this.r=~~de,this.g=~~Pe,void(this.b=~~Ke)):arguments.length<2?de instanceof Bn?new Bn(de.r,de.g,de.b):Sr(""+de,Bn,mn):new Bn(de,Pe,Ke)}function Hn(de){return new Bn(de>>16,de>>8&255,de&255)}function At(de){return Hn(de)+""}var ft=Bn.prototype=new Ra;ft.brighter=function(de){de=Math.pow(.7,arguments.length?de:1);var Pe=this.r,Ke=this.g,vt=this.b,mt=30;return!Pe&&!Ke&&!vt?new Bn(mt,mt,mt):(Pe&&Pe>4,vt=vt>>4|vt,mt=or&240,mt=mt>>4|mt,Tt=or&15,Tt=Tt<<4|Tt):de.length===7&&(vt=(or&16711680)>>16,mt=(or&65280)>>8,Tt=or&255)),Pe(vt,mt,Tt))}function Er(de,Pe,Ke){var vt=Math.min(de/=255,Pe/=255,Ke/=255),mt=Math.max(de,Pe,Ke),Tt=mt-vt,qt,Vt,or=(mt+vt)/2;return Tt?(Vt=or<.5?Tt/(mt+vt):Tt/(2-mt-vt),de==mt?qt=(Pe-Ke)/Tt+(Pe0&&or<1?0:qt),new ya(qt,Vt,or)}function _r(de,Pe,Ke){de=Mr(de),Pe=Mr(Pe),Ke=Mr(Ke);var vt=rn((.4124564*de+.3575761*Pe+.1804375*Ke)/qr),mt=rn((.2126729*de+.7151522*Pe+.072175*Ke)/Jr),Tt=rn((.0193339*de+.119192*Pe+.9503041*Ke)/aa);return $t(116*mt-16,500*(vt-mt),200*(mt-Tt))}function Mr(de){return(de/=255)<=.04045?de/12.92:Math.pow((de+.055)/1.055,2.4)}function Gr(de){var Pe=parseFloat(de);return de.charAt(de.length-1)==="%"?Math.round(Pe*2.55):Pe}var Fr=h.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Fr.forEach(function(de,Pe){Fr.set(de,Hn(Pe))});function pt(de){return typeof de=="function"?de:function(){return de}}h.functor=pt,h.xhr=Kt(F);function Kt(de){return function(Pe,Ke,vt){return arguments.length===2&&typeof Ke=="function"&&(vt=Ke,Ke=null),xr(Pe,Ke,de,vt)}}function xr(de,Pe,Ke,vt){var mt={},Tt=h.dispatch("beforesend","progress","load","error"),qt={},Vt=new XMLHttpRequest,or=null;self.XDomainRequest&&!("withCredentials"in Vt)&&/^(http(s)?:)?\/\//.test(de)&&(Vt=new XDomainRequest),"onload"in Vt?Vt.onload=Vt.onerror=Ir:Vt.onreadystatechange=function(){Vt.readyState>3&&Ir()};function Ir(){var Lr=Vt.status,Zr;if(!Lr&&fa(Vt)||Lr>=200&&Lr<300||Lr===304){try{Zr=Ke.call(mt,Vt)}catch(ia){Tt.error.call(mt,ia);return}Tt.load.call(mt,Zr)}else Tt.error.call(mt,Vt)}return Vt.onprogress=function(Lr){var Zr=h.event;h.event=Lr;try{Tt.progress.call(mt,Vt)}finally{h.event=Zr}},mt.header=function(Lr,Zr){return Lr=(Lr+"").toLowerCase(),arguments.length<2?qt[Lr]:(Zr==null?delete qt[Lr]:qt[Lr]=Zr+"",mt)},mt.mimeType=function(Lr){return arguments.length?(Pe=Lr==null?null:Lr+"",mt):Pe},mt.responseType=function(Lr){return arguments.length?(or=Lr,mt):or},mt.response=function(Lr){return Ke=Lr,mt},["get","post"].forEach(function(Lr){mt[Lr]=function(){return mt.send.apply(mt,[Lr].concat(S(arguments)))}}),mt.send=function(Lr,Zr,ia){if(arguments.length===2&&typeof Zr=="function"&&(ia=Zr,Zr=null),Vt.open(Lr,de,!0),Pe!=null&&!("accept"in qt)&&(qt.accept=Pe+",*/*"),Vt.setRequestHeader)for(var la in qt)Vt.setRequestHeader(la,qt[la]);return Pe!=null&&Vt.overrideMimeType&&Vt.overrideMimeType(Pe),or!=null&&(Vt.responseType=or),ia!=null&&mt.on("error",ia).on("load",function(an){ia(null,an)}),Tt.beforesend.call(mt,Vt),Vt.send(Zr??null),mt},mt.abort=function(){return Vt.abort(),mt},h.rebind(mt,Tt,"on"),vt==null?mt:mt.get(Hr(vt))}function Hr(de){return de.length===1?function(Pe,Ke){de(Pe==null?Ke:null)}:de}function fa(de){var Pe=de.responseType;return Pe&&Pe!=="text"?de.response:de.responseText}h.dsv=function(de,Pe){var Ke=new RegExp('["'+de+` ]`),vt=de.charCodeAt(0);function mt(Ir,Lr,Zr){arguments.length<3&&(Zr=Lr,Lr=null);var ia=xr(Ir,Pe,Lr==null?Tt:qt(Lr),Zr);return ia.row=function(la){return arguments.length?ia.response((Lr=la)==null?Tt:qt(la)):Lr},ia}function Tt(Ir){return mt.parse(Ir.responseText)}function qt(Ir){return function(Lr){return mt.parse(Lr.responseText,Ir)}}mt.parse=function(Ir,Lr){var Zr;return mt.parseRows(Ir,function(ia,la){if(Zr)return Zr(ia,la-1);var an=function(da){for(var La={},Oa=ia.length,Qa=0;Qa=an)return ia;if(Qa)return Qa=!1,Zr;var Ln=da;if(Ir.charCodeAt(Ln)===34){for(var oi=Ln;oi++24?(isFinite(Pe)&&(clearTimeout(ha),ha=setTimeout(Xn,Pe)),Wr=0):(Wr=1,Un(Xn))}h.timer.flush=function(){ni(),di()};function ni(){for(var de=Date.now(),Pe=xa;Pe;)de>=Pe.t&&Pe.c(de-Pe.t)&&(Pe.c=null),Pe=Pe.n;return de}function di(){for(var de,Pe=xa,Ke=1/0;Pe;)Pe.c?(Pe.t=0;--Vt)da.push(mt[Ir[Zr[Vt]][2]]);for(Vt=+la;Vt1&&xt(de[Ke[vt-2]],de[Ke[vt-1]],de[mt])<=0;)--vt;Ke[vt++]=mt}return Ke.slice(0,vt)}function to(de,Pe){return de[0]-Pe[0]||de[1]-Pe[1]}h.geom.polygon=function(de){return V(de,Gi),de};var Gi=h.geom.polygon.prototype=[];Gi.area=function(){for(var de=-1,Pe=this.length,Ke,vt=this[Pe-1],mt=0;++deWe)Vt=Vt.L;else if(qt=Pe-hi(Vt,Ke),qt>We){if(!Vt.R){vt=Vt;break}Vt=Vt.R}else{Tt>-We?(vt=Vt.P,mt=Vt):qt>-We?(vt=Vt,mt=Vt.N):vt=mt=Vt;break}var or=rs(de);if(Bo.insert(vt,or),!(!vt&&!mt)){if(vt===mt){as(vt),mt=rs(vt.site),Bo.insert(or,mt),or.edge=mt.edge=Rs(vt.site,or.site),qo(vt),qo(mt);return}if(!mt){or.edge=Rs(vt.site,or.site);return}as(vt),as(mt);var Ir=vt.site,Lr=Ir.x,Zr=Ir.y,ia=de.x-Lr,la=de.y-Zr,an=mt.site,da=an.x-Lr,La=an.y-Zr,Oa=2*(ia*La-la*da),Qa=ia*ia+la*la,on=da*da+La*La,Fa={x:(La*Qa-la*on)/Oa+Lr,y:(ia*on-da*Qa)/Oa+Zr};Ii(mt.edge,Ir,an,Fa),or.edge=Rs(Ir,de,null,Fa),mt.edge=Rs(de,an,null,Fa),qo(vt),qo(mt)}}function Fn(de,Pe){var Ke=de.site,vt=Ke.x,mt=Ke.y,Tt=mt-Pe;if(!Tt)return vt;var qt=de.P;if(!qt)return-1/0;Ke=qt.site;var Vt=Ke.x,or=Ke.y,Ir=or-Pe;if(!Ir)return Vt;var Lr=Vt-vt,Zr=1/Tt-1/Ir,ia=Lr/Ir;return Zr?(-ia+Math.sqrt(ia*ia-2*Zr*(Lr*Lr/(-2*Ir)-or+Ir/2+mt-Tt/2)))/Zr+vt:(vt+Vt)/2}function hi(de,Pe){var Ke=de.N;if(Ke)return Fn(Ke,Pe);var vt=de.site;return vt.y===Pe?vt.x:1/0}function _s(de){this.site=de,this.edges=[]}_s.prototype.prepare=function(){for(var de=this.edges,Pe=de.length,Ke;Pe--;)Ke=de[Pe].edge,(!Ke.b||!Ke.a)&&de.splice(Pe,1);return de.sort(Fi),de.length};function Po(de){for(var Pe=de[0][0],Ke=de[1][0],vt=de[0][1],mt=de[1][1],Tt,qt,Vt,or,Ir=Vo,Lr=Ir.length,Zr,ia,la,an,da,La;Lr--;)if(Zr=Ir[Lr],!(!Zr||!Zr.prepare()))for(la=Zr.edges,an=la.length,ia=0;iaWe||l(or-qt)>We)&&(la.splice(ia,0,new Xs(Ds(Zr.site,La,l(Vt-Pe)We?{x:Pe,y:l(Tt-Pe)We?{x:l(qt-mt)We?{x:Ke,y:l(Tt-Ke)We?{x:l(qt-vt)=-Ae)){var ia=or*or+Ir*Ir,la=Lr*Lr+La*La,an=(La*ia-Ir*la)/Zr,da=(or*la-Lr*ia)/Zr,La=da+Vt,Oa=_i.pop()||new Ts;Oa.arc=de,Oa.site=mt,Oa.x=an+qt,Oa.y=La+Math.sqrt(an*an+da*da),Oa.cy=La,de.circle=Oa;for(var Qa=null,on=Zi._;on;)if(Oa.y0)){if(da/=la,la<0){if(da0){if(da>ia)return;da>Zr&&(Zr=da)}if(da=Ke-Vt,!(!la&&da<0)){if(da/=la,la<0){if(da>ia)return;da>Zr&&(Zr=da)}else if(la>0){if(da0)){if(da/=an,an<0){if(da0){if(da>ia)return;da>Zr&&(Zr=da)}if(da=vt-or,!(!an&&da<0)){if(da/=an,an<0){if(da>ia)return;da>Zr&&(Zr=da)}else if(an>0){if(da0&&(mt.a={x:Vt+Zr*la,y:or+Zr*an}),ia<1&&(mt.b={x:Vt+ia*la,y:or+ia*an}),mt}}}}}}function ci(de){for(var Pe=ji,Ke=al(de[0][0],de[0][1],de[1][0],de[1][1]),vt=Pe.length,mt;vt--;)mt=Pe[vt],(!mo(mt,de)||!Ke(mt)||l(mt.a.x-mt.b.x)=Tt)return;if(Lr>ia){if(!vt)vt={x:an,y:qt};else if(vt.y>=Vt)return;Ke={x:an,y:Vt}}else{if(!vt)vt={x:an,y:Vt};else if(vt.y1)if(Lr>ia){if(!vt)vt={x:(qt-Oa)/La,y:qt};else if(vt.y>=Vt)return;Ke={x:(Vt-Oa)/La,y:Vt}}else{if(!vt)vt={x:(Vt-Oa)/La,y:Vt};else if(vt.y=Tt)return;Ke={x:Tt,y:La*Tt+Oa}}else{if(!vt)vt={x:Tt,y:La*Tt+Oa};else if(vt.x=Lr&&Oa.x<=ia&&Oa.y>=Zr&&Oa.y<=la?[[Lr,la],[ia,la],[ia,Zr],[Lr,Zr]]:[];Qa.point=or[da]}),Ir}function Vt(or){return or.map(function(Ir,Lr){return{x:Math.round(vt(Ir,Lr)/We)*We,y:Math.round(mt(Ir,Lr)/We)*We,i:Lr}})}return qt.links=function(or){return wl(Vt(or)).edges.filter(function(Ir){return Ir.l&&Ir.r}).map(function(Ir){return{source:or[Ir.l.i],target:or[Ir.r.i]}})},qt.triangles=function(or){var Ir=[];return wl(Vt(or)).cells.forEach(function(Lr,Zr){for(var ia=Lr.site,la=Lr.edges.sort(Fi),an=-1,da=la.length,La,Oa=la[da-1].edge,Qa=Oa.l===ia?Oa.r:Oa.l;++anon&&(on=Lr.x),Lr.y>Fa&&(Fa=Lr.y),la.push(Lr.x),an.push(Lr.y);else for(da=0;daon&&(on=Ln),oi>Fa&&(Fa=oi),la.push(Ln),an.push(oi)}var Kn=on-Oa,ai=Fa-Qa;Kn>ai?Fa=Qa+Kn:on=Oa+ai;function Ti(Pi,oo,$o,hl,js,pi,ko,Xo){if(!(isNaN($o)||isNaN(hl)))if(Pi.leaf){var Os=Pi.x,Ms=Pi.y;if(Os!=null)if(l(Os-$o)+l(Ms-hl)<.01)ki(Pi,oo,$o,hl,js,pi,ko,Xo);else{var Zl=Pi.point;Pi.x=Pi.y=Pi.point=null,ki(Pi,Zl,Os,Ms,js,pi,ko,Xo),ki(Pi,oo,$o,hl,js,pi,ko,Xo)}else Pi.x=$o,Pi.y=hl,Pi.point=oo}else ki(Pi,oo,$o,hl,js,pi,ko,Xo)}function ki(Pi,oo,$o,hl,js,pi,ko,Xo){var Os=(js+ko)*.5,Ms=(pi+Xo)*.5,Zl=$o>=Os,gs=hl>=Ms,Bs=gs<<1|Zl;Pi.leaf=!1,Pi=Pi.nodes[Bs]||(Pi.nodes[Bs]=ds()),Zl?js=Os:ko=Os,gs?pi=Ms:Xo=Ms,Ti(Pi,oo,$o,hl,js,pi,ko,Xo)}var Go=ds();if(Go.add=function(Pi){Ti(Go,Pi,+Zr(Pi,++da),+ia(Pi,da),Oa,Qa,on,Fa)},Go.visit=function(Pi){Jl(Pi,Go,Oa,Qa,on,Fa)},Go.find=function(Pi){return Nc(Go,Pi[0],Pi[1],Oa,Qa,on,Fa)},da=-1,Pe==null){for(;++daTt||ia>qt||la=Ln,ai=Ke>=oi,Ti=ai<<1|Kn,ki=Ti+4;TiKe&&(Tt=Pe.slice(Ke,Tt),Vt[qt]?Vt[qt]+=Tt:Vt[++qt]=Tt),(vt=vt[0])===(mt=mt[0])?Vt[qt]?Vt[qt]+=mt:Vt[++qt]=mt:(Vt[++qt]=null,or.push({i:qt,x:Rl(vt,mt)})),Ke=Al.lastIndex;return Ke=0&&!(vt=h.interpolators[Ke](de,Pe)););return vt}h.interpolators=[function(de,Pe){var Ke=typeof Pe;return(Ke==="string"?Fr.has(Pe.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(Pe)?Il:gu:Pe instanceof Ra?Il:Array.isArray(Pe)?As:Ke==="object"&&isNaN(Pe)?Tl:Rl)(de,Pe)}],h.interpolateArray=As;function As(de,Pe){var Ke=[],vt=[],mt=de.length,Tt=Pe.length,qt=Math.min(de.length,Pe.length),Vt;for(Vt=0;Vt=0?de.slice(0,Pe):de,vt=Pe>=0?de.slice(Pe+1):"in";return Ke=Hl.get(Ke)||Uu,vt=Yu.get(vt)||F,Zs(vt(Ke.apply(null,b.call(arguments,1))))};function Zs(de){return function(Pe){return Pe<=0?0:Pe>=1?1:de(Pe)}}function df(de){return function(Pe){return 1-de(1-Pe)}}function zo(de){return function(Pe){return .5*(Pe<.5?de(2*Pe):2-de(2-2*Pe))}}function Ef(de){return de*de}function ls(de){return de*de*de}function zi(de){if(de<=0)return 0;if(de>=1)return 1;var Pe=de*de,Ke=Pe*de;return 4*(de<.5?Ke:3*(de-Pe)+Ke-.75)}function uc(de){return function(Pe){return Math.pow(Pe,de)}}function yu(de){return 1-Math.cos(de*Ue)}function dl(de){return Math.pow(2,10*(de-1))}function Uc(de){return 1-Math.sqrt(1-de*de)}function Ku(de,Pe){var Ke;return arguments.length<2&&(Pe=.45),arguments.length?Ke=Pe/pe*Math.asin(1/de):(de=1,Ke=Pe/4),function(vt){return 1+de*Math.pow(2,-10*vt)*Math.sin((vt-Ke)*pe/Pe)}}function _c(de){return de||(de=1.70158),function(Pe){return Pe*Pe*((de+1)*Pe-de)}}function Sl(de){return de<1/2.75?7.5625*de*de:de<2/2.75?7.5625*(de-=1.5/2.75)*de+.75:de<2.5/2.75?7.5625*(de-=2.25/2.75)*de+.9375:7.5625*(de-=2.625/2.75)*de+.984375}h.interpolateHcl=lf;function lf(de,Pe){de=h.hcl(de),Pe=h.hcl(Pe);var Ke=de.h,vt=de.c,mt=de.l,Tt=Pe.h-Ke,qt=Pe.c-vt,Vt=Pe.l-mt;return isNaN(qt)&&(qt=0,vt=isNaN(vt)?Pe.c:vt),isNaN(Tt)?(Tt=0,Ke=isNaN(Ke)?Pe.h:Ke):Tt>180?Tt-=360:Tt<-180&&(Tt+=360),function(or){return Zt(Ke+Tt*or,vt+qt*or,mt+Vt*or)+""}}h.interpolateHsl=Wc;function Wc(de,Pe){de=h.hsl(de),Pe=h.hsl(Pe);var Ke=de.h,vt=de.s,mt=de.l,Tt=Pe.h-Ke,qt=Pe.s-vt,Vt=Pe.l-mt;return isNaN(qt)&&(qt=0,vt=isNaN(vt)?Pe.s:vt),isNaN(Tt)?(Tt=0,Ke=isNaN(Ke)?Pe.h:Ke):Tt>180?Tt-=360:Tt<-180&&(Tt+=360),function(or){return mn(Ke+Tt*or,vt+qt*or,mt+Vt*or)+""}}h.interpolateLab=xc;function xc(de,Pe){de=h.lab(de),Pe=h.lab(Pe);var Ke=de.l,vt=de.a,mt=de.b,Tt=Pe.l-Ke,qt=Pe.a-vt,Vt=Pe.b-mt;return function(or){return Ha(Ke+Tt*or,vt+qt*or,mt+Vt*or)+""}}h.interpolateRound=$u;function $u(de,Pe){return Pe-=de,function(Ke){return Math.round(de+Pe*Ke)}}h.transform=function(de){var Pe=E.createElementNS(h.ns.prefix.svg,"g");return(h.transform=function(Ke){if(Ke!=null){Pe.setAttribute("transform",Ke);var vt=Pe.transform.baseVal.consolidate()}return new jc(vt?vt.matrix:ju)})(de)};function jc(de){var Pe=[de.a,de.b],Ke=[de.c,de.d],vt=_u(Pe),mt=Vc(Pe,Ke),Tt=_u(Xc(Ke,Pe,-mt))||0;Pe[0]*Ke[1]180?Pe+=360:Pe-de>180&&(de+=360),vt.push({i:Ke.push(Cu(Ke)+"rotate(",null,")")-2,x:Rl(de,Pe)})):Pe&&Ke.push(Cu(Ke)+"rotate("+Pe+")")}function qc(de,Pe,Ke,vt){de!==Pe?vt.push({i:Ke.push(Cu(Ke)+"skewX(",null,")")-2,x:Rl(de,Pe)}):Pe&&Ke.push(Cu(Ke)+"skewX("+Pe+")")}function Cs(de,Pe,Ke,vt){if(de[0]!==Pe[0]||de[1]!==Pe[1]){var mt=Ke.push(Cu(Ke)+"scale(",null,",",null,")");vt.push({i:mt-4,x:Rl(de[0],Pe[0])},{i:mt-2,x:Rl(de[1],Pe[1])})}else(Pe[0]!==1||Pe[1]!==1)&&Ke.push(Cu(Ke)+"scale("+Pe+")")}function kc(de,Pe){var Ke=[],vt=[];return de=h.transform(de),Pe=h.transform(Pe),Ml(de.translate,Pe.translate,Ke,vt),ic(de.rotate,Pe.rotate,Ke,vt),qc(de.skew,Pe.skew,Ke,vt),Cs(de.scale,Pe.scale,Ke,vt),de=Pe=null,function(mt){for(var Tt=-1,qt=vt.length,Vt;++Tt0?Tt=Fa:(Ke.c=null,Ke.t=NaN,Ke=null,Pe.end({type:"end",alpha:Tt=0})):Fa>0&&(Pe.start({type:"start",alpha:Tt=Fa}),Ke=en(de.tick)),de):Tt},de.start=function(){var Fa,Ln=la.length,oi=an.length,Kn=vt[0],ai=vt[1],Ti,ki;for(Fa=0;Fa=0;)Tt.push(Lr=Ir[or]),Lr.parent=Vt,Lr.depth=Vt.depth+1;Ke&&(Vt.value=0),Vt.children=Ir}else Ke&&(Vt.value=+Ke.call(vt,Vt,Vt.depth)||0),delete Vt.children;return Lu(mt,function(Zr){var ia,la;de&&(ia=Zr.children)&&ia.sort(de),Ke&&(la=Zr.parent)&&(la.value+=Zr.value)}),qt}return vt.sort=function(mt){return arguments.length?(de=mt,vt):de},vt.children=function(mt){return arguments.length?(Pe=mt,vt):Pe},vt.value=function(mt){return arguments.length?(Ke=mt,vt):Ke},vt.revalue=function(mt){return Ke&&(cc(mt,function(Tt){Tt.children&&(Tt.value=0)}),Lu(mt,function(Tt){var qt;Tt.children||(Tt.value=+Ke.call(vt,Tt,Tt.depth)||0),(qt=Tt.parent)&&(qt.value+=Tt.value)})),mt},vt};function Ys(de,Pe){return h.rebind(de,Pe,"sort","children","value"),de.nodes=de,de.links=Df,de}function cc(de,Pe){for(var Ke=[de];(de=Ke.pop())!=null;)if(Pe(de),(mt=de.children)&&(vt=mt.length))for(var vt,mt;--vt>=0;)Ke.push(mt[vt])}function Lu(de,Pe){for(var Ke=[de],vt=[];(de=Ke.pop())!=null;)if(vt.push(de),(qt=de.children)&&(Tt=qt.length))for(var mt=-1,Tt,qt;++mtmt&&(mt=Vt),vt.push(Vt)}for(qt=0;qtvt&&(Ke=Pe,vt=mt);return Ke}function ru(de){return de.reduce(xu,0)}function xu(de,Pe){return de+Pe[1]}h.layout.histogram=function(){var de=!0,Pe=Number,Ke=wc,vt=Gc;function mt(Tt,ia){for(var Vt=[],or=Tt.map(Pe,this),Ir=Ke.call(this,or,ia),Lr=vt.call(this,Ir,or,ia),Zr,ia=-1,la=or.length,an=Lr.length-1,da=de?1:1/la,La;++ia0)for(ia=-1;++ia=Ir[0]&&La<=Ir[1]&&(Zr=Vt[h.bisect(Lr,La,1,an)-1],Zr.y+=da,Zr.push(Tt[ia]));return Vt}return mt.value=function(Tt){return arguments.length?(Pe=Tt,mt):Pe},mt.range=function(Tt){return arguments.length?(Ke=pt(Tt),mt):Ke},mt.bins=function(Tt){return arguments.length?(vt=typeof Tt=="number"?function(qt){return Ws(qt,Tt)}:pt(Tt),mt):vt},mt.frequency=function(Tt){return arguments.length?(de=!!Tt,mt):de},mt};function Gc(de,Pe){return Ws(de,Math.ceil(Math.log(Pe.length)/Math.LN2+1))}function Ws(de,Pe){for(var Ke=-1,vt=+de[0],mt=(de[1]-vt)/Pe,Tt=[];++Ke<=Pe;)Tt[Ke]=mt*Ke+vt;return Tt}function wc(de){return[h.min(de),h.max(de)]}h.layout.pack=function(){var de=h.layout.hierarchy().sort(ec),Pe=0,Ke=[1,1],vt;function mt(Tt,qt){var Vt=de.call(this,Tt,qt),or=Vt[0],Ir=Ke[0],Lr=Ke[1],Zr=vt==null?Math.sqrt:typeof vt=="function"?vt:function(){return vt};if(or.x=or.y=0,Lu(or,function(la){la.r=+Zr(la.value)}),Lu(or,Ac),Pe){var ia=Pe*(vt?1:Math.max(2*or.r/Ir,2*or.r/Lr))/2;Lu(or,function(la){la.r+=ia}),Lu(or,Ac),Lu(or,function(la){la.r-=ia})}return Jc(or,Ir/2,Lr/2,vt?1:1/Math.max(2*or.r/Ir,2*or.r/Lr)),Vt}return mt.size=function(Tt){return arguments.length?(Ke=Tt,mt):Ke},mt.radius=function(Tt){return arguments.length?(vt=Tt==null||typeof Tt=="function"?Tt:+Tt,mt):vt},mt.padding=function(Tt){return arguments.length?(Pe=+Tt,mt):Pe},Ys(mt,de)};function ec(de,Pe){return de.value-Pe.value}function fu(de,Pe){var Ke=de._pack_next;de._pack_next=Pe,Pe._pack_prev=de,Pe._pack_next=Ke,Ke._pack_prev=Pe}function Tc(de,Pe){de._pack_next=Pe,Pe._pack_prev=de}function Pu(de,Pe){var Ke=Pe.x-de.x,vt=Pe.y-de.y,mt=de.r+Pe.r;return .999*mt*mt>Ke*Ke+vt*vt}function Ac(de){if(!(Pe=de.children)||!(ia=Pe.length))return;var Pe,Ke=1/0,vt=-1/0,mt=1/0,Tt=-1/0,qt,Vt,or,Ir,Lr,Zr,ia;function la(Fa){Ke=Math.min(Fa.x-Fa.r,Ke),vt=Math.max(Fa.x+Fa.r,vt),mt=Math.min(Fa.y-Fa.r,mt),Tt=Math.max(Fa.y+Fa.r,Tt)}if(Pe.forEach(gf),qt=Pe[0],qt.x=-qt.r,qt.y=0,la(qt),ia>1&&(Vt=Pe[1],Vt.x=Vt.r,Vt.y=0,la(Vt),ia>2))for(or=Pe[2],hu(qt,Vt,or),la(or),fu(qt,or),qt._pack_prev=or,fu(or,Vt),Vt=qt._pack_next,Ir=3;IrLa.x&&(La=Ln),Ln.depth>Oa.depth&&(Oa=Ln)});var Qa=Pe(da,La)/2-da.x,on=Ke[0]/(La.x+Pe(La,da)/2+Qa),Fa=Ke[1]/(Oa.depth||1);cc(la,function(Ln){Ln.x=(Ln.x+Qa)*on,Ln.y=Ln.depth*Fa})}return ia}function Tt(Lr){for(var Zr={A:null,children:[Lr]},ia=[Zr],la;(la=ia.pop())!=null;)for(var an=la.children,da,La=0,Oa=an.length;La0&&(Wl(tc(da,Lr,ia),Lr,Ln),Oa+=Ln,Qa+=Ln),on+=da.m,Oa+=la.m,Fa+=La.m,Qa+=an.m;da&&!nl(an)&&(an.t=da,an.m+=on-Qa),la&&!Iu(La)&&(La.t=la,La.m+=Oa-Fa,ia=Lr)}return ia}function Ir(Lr){Lr.x*=Ke[0],Lr.y=Lr.depth*Ke[1]}return mt.separation=function(Lr){return arguments.length?(Pe=Lr,mt):Pe},mt.size=function(Lr){return arguments.length?(vt=(Ke=Lr)==null?Ir:null,mt):vt?null:Ke},mt.nodeSize=function(Lr){return arguments.length?(vt=(Ke=Lr)==null?null:Ir,mt):vt?Ke:null},Ys(mt,de)};function qu(de,Pe){return de.parent==Pe.parent?1:2}function Iu(de){var Pe=de.children;return Pe.length?Pe[0]:de.t}function nl(de){var Pe=de.children,Ke;return(Ke=Pe.length)?Pe[Ke-1]:de.t}function Wl(de,Pe,Ke){var vt=Ke/(Pe.i-de.i);Pe.c-=vt,Pe.s+=Ke,de.c+=vt,Pe.z+=Ke,Pe.m+=Ke}function Js(de){for(var Pe=0,Ke=0,vt=de.children,mt=vt.length,Tt;--mt>=0;)Tt=vt[mt],Tt.z+=Pe,Tt.m+=Pe,Pe+=Tt.s+(Ke+=Tt.c)}function tc(de,Pe,Ke){return de.a.parent===Pe.parent?de.a:Ke}h.layout.cluster=function(){var de=h.layout.hierarchy().sort(null).value(null),Pe=qu,Ke=[1,1],vt=!1;function mt(Tt,qt){var Vt=de.call(this,Tt,qt),or=Vt[0],Ir,Lr=0;Lu(or,function(da){var La=da.children;La&&La.length?(da.x=Hc(La),da.y=Ru(La)):(da.x=Ir?Lr+=Pe(da,Ir):0,da.y=0,Ir=da)});var Zr=Jt(or),ia=yr(or),la=Zr.x-Pe(Zr,ia)/2,an=ia.x+Pe(ia,Zr)/2;return Lu(or,vt?function(da){da.x=(da.x-or.x)*Ke[0],da.y=(or.y-da.y)*Ke[1]}:function(da){da.x=(da.x-la)/(an-la)*Ke[0],da.y=(1-(or.y?da.y/or.y:1))*Ke[1]}),Vt}return mt.separation=function(Tt){return arguments.length?(Pe=Tt,mt):Pe},mt.size=function(Tt){return arguments.length?(vt=(Ke=Tt)==null,mt):vt?null:Ke},mt.nodeSize=function(Tt){return arguments.length?(vt=(Ke=Tt)!=null,mt):vt?Ke:null},Ys(mt,de)};function Ru(de){return 1+h.max(de,function(Pe){return Pe.y})}function Hc(de){return de.reduce(function(Pe,Ke){return Pe+Ke.x},0)/de.length}function Jt(de){var Pe=de.children;return Pe&&Pe.length?Jt(Pe[0]):de}function yr(de){var Pe=de.children,Ke;return Pe&&(Ke=Pe.length)?yr(Pe[Ke-1]):de}h.layout.treemap=function(){var de=h.layout.hierarchy(),Pe=Math.round,Ke=[1,1],vt=null,mt=Kr,Tt=!1,qt,Vt="squarify",or=.5*(1+Math.sqrt(5));function Ir(da,La){for(var Oa=-1,Qa=da.length,on,Fa;++Oa0;)Qa.push(Fa=on[ai-1]),Qa.area+=Fa.area,Vt!=="squarify"||(oi=ia(Qa,Kn))<=Ln?(on.pop(),Ln=oi):(Qa.area-=Qa.pop().area,la(Qa,Kn,Oa,!1),Kn=Math.min(Oa.dx,Oa.dy),Qa.length=Qa.area=0,Ln=1/0);Qa.length&&(la(Qa,Kn,Oa,!0),Qa.length=Qa.area=0),La.forEach(Lr)}}function Zr(da){var La=da.children;if(La&&La.length){var Oa=mt(da),Qa=La.slice(),on,Fa=[];for(Ir(Qa,Oa.dx*Oa.dy/da.value),Fa.area=0;on=Qa.pop();)Fa.push(on),Fa.area+=on.area,on.z!=null&&(la(Fa,on.z?Oa.dx:Oa.dy,Oa,!Qa.length),Fa.length=Fa.area=0);La.forEach(Zr)}}function ia(da,La){for(var Oa=da.area,Qa,on=0,Fa=1/0,Ln=-1,oi=da.length;++Lnon&&(on=Qa));return Oa*=Oa,La*=La,Oa?Math.max(La*on*or/Oa,Oa/(La*Fa*or)):1/0}function la(da,La,Oa,Qa){var on=-1,Fa=da.length,Ln=Oa.x,oi=Oa.y,Kn=La?Pe(da.area/La):0,ai;if(La==Oa.dx){for((Qa||Kn>Oa.dy)&&(Kn=Oa.dy);++onOa.dx)&&(Kn=Oa.dx);++on1);return de+Pe*vt*Math.sqrt(-2*Math.log(Tt)/Tt)}},logNormal:function(){var de=h.random.normal.apply(h,arguments);return function(){return Math.exp(de())}},bates:function(de){var Pe=h.random.irwinHall(de);return function(){return Pe()/de}},irwinHall:function(de){return function(){for(var Pe=0,Ke=0;Ke2?gn:Ya,Ir=vt?Zc:pf;return mt=or(de,Pe,Ir,Ke),Tt=or(Pe,de,Ir,No),Vt}function Vt(or){return mt(or)}return Vt.invert=function(or){return Tt(or)},Vt.domain=function(or){return arguments.length?(de=or.map(Number),qt()):de},Vt.range=function(or){return arguments.length?(Pe=or,qt()):Pe},Vt.rangeRound=function(or){return Vt.range(or).interpolate($u)},Vt.clamp=function(or){return arguments.length?(vt=or,qt()):vt},Vt.interpolate=function(or){return arguments.length?(Ke=or,qt()):Ke},Vt.ticks=function(or){return Ui(de,or)},Vt.tickFormat=function(or,Ir){return d3_scale_linearTickFormat(de,or,Ir)},Vt.nice=function(or){return vn(de,or),qt()},Vt.copy=function(){return qn(de,Pe,Ke,vt)},qt()}function Sn(de,Pe){return h.rebind(de,Pe,"range","rangeRound","interpolate","clamp")}function vn(de,Pe){return En(de,Rn(ii(de,Pe)[2])),En(de,Rn(ii(de,Pe)[2])),de}function ii(de,Pe){Pe==null&&(Pe=10);var Ke=pa(de),vt=Ke[1]-Ke[0],mt=Math.pow(10,Math.floor(Math.log(vt/Pe)/Math.LN10)),Tt=Pe/vt*mt;return Tt<=.15?mt*=10:Tt<=.35?mt*=5:Tt<=.75&&(mt*=2),Ke[0]=Math.ceil(Ke[0]/mt)*mt,Ke[1]=Math.floor(Ke[1]/mt)*mt+mt*.5,Ke[2]=mt,Ke}function Ui(de,Pe){return h.range.apply(h,ii(de,Pe))}h.scale.log=function(){return Di(h.scale.linear().domain([0,1]),10,!0,[1,10])};function Di(de,Pe,Ke,vt){function mt(Vt){return(Ke?Math.log(Vt<0?0:Vt):-Math.log(Vt>0?0:-Vt))/Math.log(Pe)}function Tt(Vt){return Ke?Math.pow(Pe,Vt):-Math.pow(Pe,-Vt)}function qt(Vt){return de(mt(Vt))}return qt.invert=function(Vt){return Tt(de.invert(Vt))},qt.domain=function(Vt){return arguments.length?(Ke=Vt[0]>=0,de.domain((vt=Vt.map(Number)).map(mt)),qt):vt},qt.base=function(Vt){return arguments.length?(Pe=+Vt,de.domain(vt.map(mt)),qt):Pe},qt.nice=function(){var Vt=En(vt.map(mt),Ke?Math:Hi);return de.domain(Vt),vt=Vt.map(Tt),qt},qt.ticks=function(){var Vt=pa(vt),or=[],Ir=Vt[0],Lr=Vt[1],Zr=Math.floor(mt(Ir)),ia=Math.ceil(mt(Lr)),la=Pe%1?2:Pe;if(isFinite(ia-Zr)){if(Ke){for(;Zr0;an--)or.push(Tt(Zr)*an);for(Zr=0;or[Zr]Lr;ia--);or=or.slice(Zr,ia)}return or},qt.copy=function(){return Di(de.copy(),Pe,Ke,vt)},Sn(qt,de)}var Hi={floor:function(de){return-Math.ceil(-de)},ceil:function(de){return-Math.floor(-de)}};h.scale.pow=function(){return Vi(h.scale.linear(),1,[0,1])};function Vi(de,Pe,Ke){var vt=si(Pe),mt=si(1/Pe);function Tt(qt){return de(vt(qt))}return Tt.invert=function(qt){return mt(de.invert(qt))},Tt.domain=function(qt){return arguments.length?(de.domain((Ke=qt.map(Number)).map(vt)),Tt):Ke},Tt.ticks=function(qt){return Ui(Ke,qt)},Tt.tickFormat=function(qt,Vt){return d3_scale_linearTickFormat(Ke,qt,Vt)},Tt.nice=function(qt){return Tt.domain(vn(Ke,qt))},Tt.exponent=function(qt){return arguments.length?(vt=si(Pe=qt),mt=si(1/Pe),de.domain(Ke.map(vt)),Tt):Pe},Tt.copy=function(){return Vi(de.copy(),Pe,Ke)},Sn(Tt,de)}function si(de){return function(Pe){return Pe<0?-Math.pow(-Pe,de):Math.pow(Pe,de)}}h.scale.sqrt=function(){return h.scale.pow().exponent(.5)},h.scale.ordinal=function(){return Zn([],{t:"range",a:[[]]})};function Zn(de,Pe){var Ke,vt,mt;function Tt(Vt){return vt[((Ke.get(Vt)||(Pe.t==="range"?Ke.set(Vt,de.push(Vt)):NaN))-1)%vt.length]}function qt(Vt,or){return h.range(de.length).map(function(Ir){return Vt+or*Ir})}return Tt.domain=function(Vt){if(!arguments.length)return de;de=[],Ke=new A;for(var or=-1,Ir=Vt.length,Lr;++or0?Ke[Tt-1]:de[0],Ttia?0:1;if(Lr=Te)return or(Lr,an)+(Ir?or(Ir,1-an):"")+"Z";var da,La,Oa,Qa,on=0,Fa=0,Ln,oi,Kn,ai,Ti,ki,Go,Pi,oo=[];if((Qa=(+qt.apply(this,arguments)||0)/2)&&(Oa=vt===Ps?Math.sqrt(Ir*Ir+Lr*Lr):+vt.apply(this,arguments),an||(Fa*=-1),Lr&&(Fa=Mt(Oa/Lr*Math.sin(Qa))),Ir&&(on=Mt(Oa/Ir*Math.sin(Qa)))),Lr){Ln=Lr*Math.cos(Zr+Fa),oi=Lr*Math.sin(Zr+Fa),Kn=Lr*Math.cos(ia-Fa),ai=Lr*Math.sin(ia-Fa);var $o=Math.abs(ia-Zr-2*Fa)<=ge?0:1;if(Fa&&ql(Ln,oi,Kn,ai)===an^$o){var hl=(Zr+ia)/2;Ln=Lr*Math.cos(hl),oi=Lr*Math.sin(hl),Kn=ai=null}}else Ln=oi=0;if(Ir){Ti=Ir*Math.cos(ia-on),ki=Ir*Math.sin(ia-on),Go=Ir*Math.cos(Zr+on),Pi=Ir*Math.sin(Zr+on);var js=Math.abs(Zr-ia+2*on)<=ge?0:1;if(on&&ql(Ti,ki,Go,Pi)===1-an^js){var pi=(Zr+ia)/2;Ti=Ir*Math.cos(pi),ki=Ir*Math.sin(pi),Go=Pi=null}}else Ti=ki=0;if(la>We&&(da=Math.min(Math.abs(Lr-Ir)/2,+Ke.apply(this,arguments)))>.001){La=Ir0?0:1}function Xl(de,Pe,Ke,vt,mt){var Tt=de[0]-Pe[0],qt=de[1]-Pe[1],Vt=(mt?vt:-vt)/Math.sqrt(Tt*Tt+qt*qt),or=Vt*qt,Ir=-Vt*Tt,Lr=de[0]+or,Zr=de[1]+Ir,ia=Pe[0]+or,la=Pe[1]+Ir,an=(Lr+ia)/2,da=(Zr+la)/2,La=ia-Lr,Oa=la-Zr,Qa=La*La+Oa*Oa,on=Ke-vt,Fa=Lr*la-ia*Zr,Ln=(Oa<0?-1:1)*Math.sqrt(Math.max(0,on*on*Qa-Fa*Fa)),oi=(Fa*Oa-La*Ln)/Qa,Kn=(-Fa*La-Oa*Ln)/Qa,ai=(Fa*Oa+La*Ln)/Qa,Ti=(-Fa*La+Oa*Ln)/Qa,ki=oi-an,Go=Kn-da,Pi=ai-an,oo=Ti-da;return ki*ki+Go*Go>Pi*Pi+oo*oo&&(oi=ai,Kn=Ti),[[oi-or,Kn-Ir],[oi*Ke/on,Kn*Ke/on]]}function oc(){return!0}function Gl(de){var Pe=vi,Ke=Ei,vt=oc,mt=ll,Tt=mt.key,qt=.7;function Vt(or){var Ir=[],Lr=[],Zr=-1,ia=or.length,la,an=pt(Pe),da=pt(Ke);function La(){Ir.push("M",mt(de(Lr),qt))}for(;++Zr1?de.join("L"):de+"Z"}function Hu(de){return de.join("L")+"Z"}function Wi(de){for(var Pe=0,Ke=de.length,vt=de[0],mt=[vt[0],",",vt[1]];++Pe1&&mt.push("H",vt[0]),mt.join("")}function no(de){for(var Pe=0,Ke=de.length,vt=de[0],mt=[vt[0],",",vt[1]];++Pe1){Vt=Pe[1],Tt=de[or],or++,vt+="C"+(mt[0]+qt[0])+","+(mt[1]+qt[1])+","+(Tt[0]-Vt[0])+","+(Tt[1]-Vt[1])+","+Tt[0]+","+Tt[1];for(var Ir=2;Ir9&&(Tt=Ke*3/Math.sqrt(Tt),qt[Vt]=Tt*vt,qt[Vt+1]=Tt*mt));for(Vt=-1;++Vt<=or;)Tt=(de[Math.min(or,Vt+1)][0]-de[Math.max(0,Vt-1)][0])/(6*(1+qt[Vt]*qt[Vt])),Pe.push([Tt||0,qt[Vt]*Tt||0]);return Pe}function Ye(de){return de.length<3?ll(de):de[0]+P(de,Ve(de))}h.svg.line.radial=function(){var de=Gl(it);return de.radius=de.x,delete de.x,de.angle=de.y,delete de.y,de};function it(de){for(var Pe,Ke=-1,vt=de.length,mt,Tt;++Kege)+",1 "+Zr}function Ir(Lr,Zr,ia,la){return"Q 0,0 "+la}return Tt.radius=function(Lr){return arguments.length?(Ke=pt(Lr),Tt):Ke},Tt.source=function(Lr){return arguments.length?(de=pt(Lr),Tt):de},Tt.target=function(Lr){return arguments.length?(Pe=pt(Lr),Tt):Pe},Tt.startAngle=function(Lr){return arguments.length?(vt=pt(Lr),Tt):vt},Tt.endAngle=function(Lr){return arguments.length?(mt=pt(Lr),Tt):mt},Tt};function Lt(de){return de.radius}h.svg.diagonal=function(){var de=St,Pe=yt,Ke=nr;function vt(mt,Tt){var qt=de.call(this,mt,Tt),Vt=Pe.call(this,mt,Tt),or=(qt.y+Vt.y)/2,Ir=[qt,{x:qt.x,y:or},{x:Vt.x,y:or},Vt];return Ir=Ir.map(Ke),"M"+Ir[0]+"C"+Ir[1]+" "+Ir[2]+" "+Ir[3]}return vt.source=function(mt){return arguments.length?(de=pt(mt),vt):de},vt.target=function(mt){return arguments.length?(Pe=pt(mt),vt):Pe},vt.projection=function(mt){return arguments.length?(Ke=mt,vt):Ke},vt};function nr(de){return[de.x,de.y]}h.svg.diagonal.radial=function(){var de=h.svg.diagonal(),Pe=nr,Ke=de.projection;return de.projection=function(vt){return arguments.length?Ke(cr(Pe=vt)):Pe},de};function cr(de){return function(){var Pe=de.apply(this,arguments),Ke=Pe[0],vt=Pe[1]-Ue;return[Ke*Math.cos(vt),Ke*Math.sin(vt)]}}h.svg.symbol=function(){var de=Pr,Pe=gr;function Ke(vt,mt){return(oa.get(de.call(this,vt,mt))||Vr)(Pe.call(this,vt,mt))}return Ke.type=function(vt){return arguments.length?(de=pt(vt),Ke):de},Ke.size=function(vt){return arguments.length?(Pe=pt(vt),Ke):Pe},Ke};function gr(){return 64}function Pr(){return"circle"}function Vr(de){var Pe=Math.sqrt(de/ge);return"M0,"+Pe+"A"+Pe+","+Pe+" 0 1,1 0,"+-Pe+"A"+Pe+","+Pe+" 0 1,1 0,"+Pe+"Z"}var oa=h.map({circle:Vr,cross:function(de){var Pe=Math.sqrt(de/5)/2;return"M"+-3*Pe+","+-Pe+"H"+-Pe+"V"+-3*Pe+"H"+Pe+"V"+-Pe+"H"+3*Pe+"V"+Pe+"H"+Pe+"V"+3*Pe+"H"+-Pe+"V"+Pe+"H"+-3*Pe+"Z"},diamond:function(de){var Pe=Math.sqrt(de/(2*Aa)),Ke=Pe*Aa;return"M0,"+-Pe+"L"+Ke+",0 0,"+Pe+" "+-Ke+",0Z"},square:function(de){var Pe=Math.sqrt(de)/2;return"M"+-Pe+","+-Pe+"L"+Pe+","+-Pe+" "+Pe+","+Pe+" "+-Pe+","+Pe+"Z"},"triangle-down":function(de){var Pe=Math.sqrt(de/ca),Ke=Pe*ca/2;return"M0,"+Ke+"L"+Pe+","+-Ke+" "+-Pe+","+-Ke+"Z"},"triangle-up":function(de){var Pe=Math.sqrt(de/ca),Ke=Pe*ca/2;return"M0,"+-Ke+"L"+Pe+","+Ke+" "+-Pe+","+Ke+"Z"}});h.svg.symbolTypes=oa.keys();var ca=Math.sqrt(3),Aa=Math.tan(30*Xe);Q.transition=function(de){for(var Pe=Si||++li,Ke=Wo(de),vt=[],mt,Tt,qt=yi||{time:Date.now(),ease:zi,delay:0,duration:250},Vt=-1,or=this.length;++Vt0;)Zr[--Qa].call(de,Oa);if(La>=1)return qt.event&&qt.event.end.call(de,de.__data__,Pe),--Tt.count?delete Tt[vt]:delete de[Ke],1}qt||(Vt=mt.time,or=en(ia,0,Vt),qt=Tt[vt]={tween:new A,time:Vt,timer:or,delay:mt.delay,duration:mt.duration,ease:mt.ease,index:Pe},mt=null,++Tt.count)}h.svg.axis=function(){var de=h.scale.linear(),Pe=Jo,Ke=6,vt=6,mt=3,Tt=[10],qt=null,Vt;function or(Ir){Ir.each(function(){var Lr=h.select(this),Zr=this.__chart__||de,ia=this.__chart__=de.copy(),la=qt??(ia.ticks?ia.ticks.apply(ia,Tt):ia.domain()),an=Vt??(ia.tickFormat?ia.tickFormat.apply(ia,Tt):F),da=Lr.selectAll(".tick").data(la,ia),La=da.enter().insert("g",".domain").attr("class","tick").style("opacity",We),Oa=h.transition(da.exit()).style("opacity",We).remove(),Qa=h.transition(da.order()).style("opacity",1),on=Math.max(Ke,0)+mt,Fa,Ln=Ja(ia),oi=Lr.selectAll(".domain").data([0]),Kn=(oi.enter().append("path").attr("class","domain"),h.transition(oi));La.append("line"),La.append("text");var ai=La.select("line"),Ti=Qa.select("line"),ki=da.select("text").text(an),Go=La.select("text"),Pi=Qa.select("text"),oo=Pe==="top"||Pe==="left"?-1:1,$o,hl,js,pi;if(Pe==="bottom"||Pe==="top"?(Fa=Gs,$o="x",js="y",hl="x2",pi="y2",ki.attr("dy",oo<0?"0em":".71em").style("text-anchor","middle"),Kn.attr("d","M"+Ln[0]+","+oo*vt+"V0H"+Ln[1]+"V"+oo*vt)):(Fa=Mo,$o="y",js="x",hl="y2",pi="x2",ki.attr("dy",".32em").style("text-anchor",oo<0?"end":"start"),Kn.attr("d","M"+oo*vt+","+Ln[0]+"H0V"+Ln[1]+"H"+oo*vt)),ai.attr(pi,oo*Ke),Go.attr(js,oo*on),Ti.attr(hl,0).attr(pi,oo*Ke),Pi.attr($o,0).attr(js,oo*on),ia.rangeBand){var ko=ia,Xo=ko.rangeBand()/2;Zr=ia=function(Os){return ko(Os)+Xo}}else Zr.rangeBand?Zr=ia:Oa.call(Fa,ia,Zr);La.call(Fa,Zr,ia),Qa.call(Fa,ia,ia)})}return or.scale=function(Ir){return arguments.length?(de=Ir,or):de},or.orient=function(Ir){return arguments.length?(Pe=Ir in Qs?Ir+"":Jo,or):Pe},or.ticks=function(){return arguments.length?(Tt=S(arguments),or):Tt},or.tickValues=function(Ir){return arguments.length?(qt=Ir,or):qt},or.tickFormat=function(Ir){return arguments.length?(Vt=Ir,or):Vt},or.tickSize=function(Ir){var Lr=arguments.length;return Lr?(Ke=+Ir,vt=+arguments[Lr-1],or):Ke},or.innerTickSize=function(Ir){return arguments.length?(Ke=+Ir,or):Ke},or.outerTickSize=function(Ir){return arguments.length?(vt=+Ir,or):vt},or.tickPadding=function(Ir){return arguments.length?(mt=+Ir,or):mt},or.tickSubdivide=function(){return arguments.length&&or},or};var Jo="bottom",Qs={top:1,right:1,bottom:1,left:1};function Gs(de,Pe,Ke){de.attr("transform",function(vt){var mt=Pe(vt);return"translate("+(isFinite(mt)?mt:Ke(vt))+",0)"})}function Mo(de,Pe,Ke){de.attr("transform",function(vt){var mt=Pe(vt);return"translate(0,"+(isFinite(mt)?mt:Ke(vt))+")"})}h.svg.brush=function(){var de=oe(Lr,"brushstart","brush","brushend"),Pe=null,Ke=null,vt=[0,0],mt=[0,0],Tt,qt,Vt=!0,or=!0,Ir=fl[0];function Lr(da){da.each(function(){var La=h.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",an).on("touchstart.brush",an),Oa=La.selectAll(".background").data([0]);Oa.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),La.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var Qa=La.selectAll(".resize").data(Ir,F);Qa.exit().remove(),Qa.enter().append("g").attr("class",function(oi){return"resize "+oi}).style("cursor",function(oi){return Eo[oi]}).append("rect").attr("x",function(oi){return/[ew]$/.test(oi)?-3:null}).attr("y",function(oi){return/^[ns]/.test(oi)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),Qa.style("display",Lr.empty()?"none":null);var on=h.transition(La),Fa=h.transition(Oa),Ln;Pe&&(Ln=Ja(Pe),Fa.attr("x",Ln[0]).attr("width",Ln[1]-Ln[0]),ia(on)),Ke&&(Ln=Ja(Ke),Fa.attr("y",Ln[0]).attr("height",Ln[1]-Ln[0]),la(on)),Zr(on)})}Lr.event=function(da){da.each(function(){var La=de.of(this,arguments),Oa={x:vt,y:mt,i:Tt,j:qt},Qa=this.__chart__||Oa;this.__chart__=Oa,Si?h.select(this).transition().each("start.brush",function(){Tt=Qa.i,qt=Qa.j,vt=Qa.x,mt=Qa.y,La({type:"brushstart"})}).tween("brush:brush",function(){var on=As(vt,Oa.x),Fa=As(mt,Oa.y);return Tt=qt=null,function(Ln){vt=Oa.x=on(Ln),mt=Oa.y=Fa(Ln),La({type:"brush",mode:"resize"})}}).each("end.brush",function(){Tt=Oa.i,qt=Oa.j,La({type:"brush",mode:"resize"}),La({type:"brushend"})}):(La({type:"brushstart"}),La({type:"brush",mode:"resize"}),La({type:"brushend"}))})};function Zr(da){da.selectAll(".resize").attr("transform",function(La){return"translate("+vt[+/e$/.test(La)]+","+mt[+/^s/.test(La)]+")"})}function ia(da){da.select(".extent").attr("x",vt[0]),da.selectAll(".extent,.n>rect,.s>rect").attr("width",vt[1]-vt[0])}function la(da){da.select(".extent").attr("y",mt[0]),da.selectAll(".extent,.e>rect,.w>rect").attr("height",mt[1]-mt[0])}function an(){var da=this,La=h.select(h.event.target),Oa=de.of(da,arguments),Qa=h.select(da),on=La.datum(),Fa=!/^(n|s)$/.test(on)&&Pe,Ln=!/^(e|w)$/.test(on)&&Ke,oi=La.classed("extent"),Kn=hr(da),ai,Ti=h.mouse(da),ki,Go=h.select(t(da)).on("keydown.brush",$o).on("keyup.brush",hl);if(h.event.changedTouches?Go.on("touchmove.brush",js).on("touchend.brush",ko):Go.on("mousemove.brush",js).on("mouseup.brush",ko),Qa.interrupt().selectAll("*").interrupt(),oi)Ti[0]=vt[0]-Ti[0],Ti[1]=mt[0]-Ti[1];else if(on){var Pi=+/w$/.test(on),oo=+/^n/.test(on);ki=[vt[1-Pi]-Ti[0],mt[1-oo]-Ti[1]],Ti[0]=vt[Pi],Ti[1]=mt[oo]}else h.event.altKey&&(ai=Ti.slice());Qa.style("pointer-events","none").selectAll(".resize").style("display",null),h.select("body").style("cursor",La.style("cursor")),Oa({type:"brushstart"}),js();function $o(){h.event.keyCode==32&&(oi||(ai=null,Ti[0]-=vt[1],Ti[1]-=mt[1],oi=2),ee())}function hl(){h.event.keyCode==32&&oi==2&&(Ti[0]+=vt[1],Ti[1]+=mt[1],oi=0,ee())}function js(){var Xo=h.mouse(da),Os=!1;ki&&(Xo[0]+=ki[0],Xo[1]+=ki[1]),oi||(h.event.altKey?(ai||(ai=[(vt[0]+vt[1])/2,(mt[0]+mt[1])/2]),Ti[0]=vt[+(Xo[0]0))return Wt;do Wt.push(dr=new Date(+Et)),De(Et,jt),he(Et);while(dr=Ct)for(;he(Ct),!Et(Ct);)Ct.setTime(Ct-1)},function(Ct,jt){if(Ct>=Ct)if(jt<0)for(;++jt<=0;)for(;De(Ct,-1),!Et(Ct););else for(;--jt>=0;)for(;De(Ct,1),!Et(Ct););})},tt&&($e.count=function(Et,Ct){return b.setTime(+Et),S.setTime(+Ct),he(b),he(S),Math.floor(tt(b,S))},$e.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?$e.filter(nt?function(Ct){return nt(Ct)%Et===0}:function(Ct){return $e.count(0,Ct)%Et===0}):$e}),$e}var e=E(function(){},function(he,De){he.setTime(+he+De)},function(he,De){return De-he});e.every=function(he){return he=Math.floor(he),!isFinite(he)||!(he>0)?null:he>1?E(function(De){De.setTime(Math.floor(De/he)*he)},function(De,tt){De.setTime(+De+tt*he)},function(De,tt){return(tt-De)/he}):e};var t=e.range,r=1e3,o=6e4,a=36e5,i=864e5,n=6048e5,s=E(function(he){he.setTime(he-he.getMilliseconds())},function(he,De){he.setTime(+he+De*r)},function(he,De){return(De-he)/r},function(he){return he.getUTCSeconds()}),f=s.range,c=E(function(he){he.setTime(he-he.getMilliseconds()-he.getSeconds()*r)},function(he,De){he.setTime(+he+De*o)},function(he,De){return(De-he)/o},function(he){return he.getMinutes()}),p=c.range,d=E(function(he){he.setTime(he-he.getMilliseconds()-he.getSeconds()*r-he.getMinutes()*o)},function(he,De){he.setTime(+he+De*a)},function(he,De){return(De-he)/a},function(he){return he.getHours()}),T=d.range,l=E(function(he){he.setHours(0,0,0,0)},function(he,De){he.setDate(he.getDate()+De)},function(he,De){return(De-he-(De.getTimezoneOffset()-he.getTimezoneOffset())*o)/i},function(he){return he.getDate()-1}),g=l.range;function x(he){return E(function(De){De.setDate(De.getDate()-(De.getDay()+7-he)%7),De.setHours(0,0,0,0)},function(De,tt){De.setDate(De.getDate()+tt*7)},function(De,tt){return(tt-De-(tt.getTimezoneOffset()-De.getTimezoneOffset())*o)/n})}var A=x(0),M=x(1),_=x(2),w=x(3),m=x(4),u=x(5),v=x(6),y=A.range,R=M.range,L=_.range,z=w.range,F=m.range,B=u.range,O=v.range,I=E(function(he){he.setDate(1),he.setHours(0,0,0,0)},function(he,De){he.setMonth(he.getMonth()+De)},function(he,De){return De.getMonth()-he.getMonth()+(De.getFullYear()-he.getFullYear())*12},function(he){return he.getMonth()}),N=I.range,U=E(function(he){he.setMonth(0,1),he.setHours(0,0,0,0)},function(he,De){he.setFullYear(he.getFullYear()+De)},function(he,De){return De.getFullYear()-he.getFullYear()},function(he){return he.getFullYear()});U.every=function(he){return!isFinite(he=Math.floor(he))||!(he>0)?null:E(function(De){De.setFullYear(Math.floor(De.getFullYear()/he)*he),De.setMonth(0,1),De.setHours(0,0,0,0)},function(De,tt){De.setFullYear(De.getFullYear()+tt*he)})};var X=U.range,ee=E(function(he){he.setUTCSeconds(0,0)},function(he,De){he.setTime(+he+De*o)},function(he,De){return(De-he)/o},function(he){return he.getUTCMinutes()}),ue=ee.range,oe=E(function(he){he.setUTCMinutes(0,0,0)},function(he,De){he.setTime(+he+De*a)},function(he,De){return(De-he)/a},function(he){return he.getUTCHours()}),le=oe.range,V=E(function(he){he.setUTCHours(0,0,0,0)},function(he,De){he.setUTCDate(he.getUTCDate()+De)},function(he,De){return(De-he)/i},function(he){return he.getUTCDate()-1}),J=V.range;function te(he){return E(function(De){De.setUTCDate(De.getUTCDate()-(De.getUTCDay()+7-he)%7),De.setUTCHours(0,0,0,0)},function(De,tt){De.setUTCDate(De.getUTCDate()+tt*7)},function(De,tt){return(tt-De)/n})}var Z=te(0),se=te(1),Q=te(2),q=te(3),re=te(4),ae=te(5),fe=te(6),be=Z.range,Me=se.range,Ie=Q.range,Le=q.range,je=re.range,et=ae.range,rt=fe.range,Je=E(function(he){he.setUTCDate(1),he.setUTCHours(0,0,0,0)},function(he,De){he.setUTCMonth(he.getUTCMonth()+De)},function(he,De){return De.getUTCMonth()-he.getUTCMonth()+(De.getUTCFullYear()-he.getUTCFullYear())*12},function(he){return he.getUTCMonth()}),Ze=Je.range,Ee=E(function(he){he.setUTCMonth(0,1),he.setUTCHours(0,0,0,0)},function(he,De){he.setUTCFullYear(he.getUTCFullYear()+De)},function(he,De){return De.getUTCFullYear()-he.getUTCFullYear()},function(he){return he.getUTCFullYear()});Ee.every=function(he){return!isFinite(he=Math.floor(he))||!(he>0)?null:E(function(De){De.setUTCFullYear(Math.floor(De.getUTCFullYear()/he)*he),De.setUTCMonth(0,1),De.setUTCHours(0,0,0,0)},function(De,tt){De.setUTCFullYear(De.getUTCFullYear()+tt*he)})};var xe=Ee.range;h.timeDay=l,h.timeDays=g,h.timeFriday=u,h.timeFridays=B,h.timeHour=d,h.timeHours=T,h.timeInterval=E,h.timeMillisecond=e,h.timeMilliseconds=t,h.timeMinute=c,h.timeMinutes=p,h.timeMonday=M,h.timeMondays=R,h.timeMonth=I,h.timeMonths=N,h.timeSaturday=v,h.timeSaturdays=O,h.timeSecond=s,h.timeSeconds=f,h.timeSunday=A,h.timeSundays=y,h.timeThursday=m,h.timeThursdays=F,h.timeTuesday=_,h.timeTuesdays=L,h.timeWednesday=w,h.timeWednesdays=z,h.timeWeek=A,h.timeWeeks=y,h.timeYear=U,h.timeYears=X,h.utcDay=V,h.utcDays=J,h.utcFriday=ae,h.utcFridays=et,h.utcHour=oe,h.utcHours=le,h.utcMillisecond=e,h.utcMilliseconds=t,h.utcMinute=ee,h.utcMinutes=ue,h.utcMonday=se,h.utcMondays=Me,h.utcMonth=Je,h.utcMonths=Ze,h.utcSaturday=fe,h.utcSaturdays=rt,h.utcSecond=s,h.utcSeconds=f,h.utcSunday=Z,h.utcSundays=be,h.utcThursday=re,h.utcThursdays=je,h.utcTuesday=Q,h.utcTuesdays=Ie,h.utcWednesday=q,h.utcWednesdays=Le,h.utcWeek=Z,h.utcWeeks=be,h.utcYear=Ee,h.utcYears=xe,Object.defineProperty(h,"__esModule",{value:!0})})}}),bo=He({"node_modules/d3-time-format/dist/d3-time-format.js"(Y,G){(function(h,b){typeof Y=="object"&&typeof G<"u"?b(Y,nc()):(h=h||self,b(h.d3=h.d3||{},h.d3))})(Y,function(h,b){function S(Fe){if(0<=Fe.y&&Fe.y<100){var We=new Date(-1,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L);return We.setFullYear(Fe.y),We}return new Date(Fe.y,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L)}function E(Fe){if(0<=Fe.y&&Fe.y<100){var We=new Date(Date.UTC(-1,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L));return We.setUTCFullYear(Fe.y),We}return new Date(Date.UTC(Fe.y,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L))}function e(Fe,We,Ae){return{y:Fe,m:We,d:Ae,H:0,M:0,S:0,L:0}}function t(Fe){var We=Fe.dateTime,Ae=Fe.date,ge=Fe.time,pe=Fe.periods,Te=Fe.days,Ue=Fe.shortDays,Xe=Fe.months,bt=Fe.shortMonths,xt=f(pe),Mt=c(pe),Nt=f(Te),sr=c(Te),ar=f(Ue),tr=c(Ue),Tr=f(Xe),sa=c(Xe),Ea=f(bt),ba=c(bt),Ia={a:Ha,A:Va,b:Za,B:rn,c:null,d:I,e:I,f:ue,H:N,I:U,j:X,L:ee,m:oe,M:le,p:wa,q:Bn,Q:Ct,s:jt,S:V,u:J,U:te,V:Z,w:se,W:Q,x:null,X:null,y:q,Y:re,Z:ae,"%":Et},Ra={a:Hn,A:At,b:ft,B:pr,c:null,d:fe,e:fe,f:je,H:be,I:Me,j:Ie,L:Le,m:et,M:rt,p:Sr,q:Er,Q:Ct,s:jt,S:Je,u:Ze,U:Ee,V:xe,w:he,W:De,x:null,X:null,y:tt,Y:nt,Z:$e,"%":Et},ya={a:Zt,A:$t,b:Cr,B:qr,c:Jr,d:m,e:m,f:z,H:v,I:v,j:u,L,m:w,M:y,p:It,q:_,Q:B,s:O,S:R,u:d,U:T,V:l,w:p,W:g,x:aa,X:Ca,y:A,Y:x,Z:M,"%":F};Ia.x=tn(Ae,Ia),Ia.X=tn(ge,Ia),Ia.c=tn(We,Ia),Ra.x=tn(Ae,Ra),Ra.X=tn(ge,Ra),Ra.c=tn(We,Ra);function tn(_r,Mr){return function(Gr){var Fr=[],pt=-1,Kt=0,xr=_r.length,Hr,fa,xa;for(Gr instanceof Date||(Gr=new Date(+Gr));++pt53)return null;"w"in Fr||(Fr.w=1),"Z"in Fr?(Kt=E(e(Fr.y,0,1)),xr=Kt.getUTCDay(),Kt=xr>4||xr===0?b.utcMonday.ceil(Kt):b.utcMonday(Kt),Kt=b.utcDay.offset(Kt,(Fr.V-1)*7),Fr.y=Kt.getUTCFullYear(),Fr.m=Kt.getUTCMonth(),Fr.d=Kt.getUTCDate()+(Fr.w+6)%7):(Kt=S(e(Fr.y,0,1)),xr=Kt.getDay(),Kt=xr>4||xr===0?b.timeMonday.ceil(Kt):b.timeMonday(Kt),Kt=b.timeDay.offset(Kt,(Fr.V-1)*7),Fr.y=Kt.getFullYear(),Fr.m=Kt.getMonth(),Fr.d=Kt.getDate()+(Fr.w+6)%7)}else("W"in Fr||"U"in Fr)&&("w"in Fr||(Fr.w="u"in Fr?Fr.u%7:"W"in Fr?1:0),xr="Z"in Fr?E(e(Fr.y,0,1)).getUTCDay():S(e(Fr.y,0,1)).getDay(),Fr.m=0,Fr.d="W"in Fr?(Fr.w+6)%7+Fr.W*7-(xr+5)%7:Fr.w+Fr.U*7-(xr+6)%7);return"Z"in Fr?(Fr.H+=Fr.Z/100|0,Fr.M+=Fr.Z%100,E(Fr)):S(Fr)}}function Yt(_r,Mr,Gr,Fr){for(var pt=0,Kt=Mr.length,xr=Gr.length,Hr,fa;pt=xr)return-1;if(Hr=Mr.charCodeAt(pt++),Hr===37){if(Hr=Mr.charAt(pt++),fa=ya[Hr in r?Mr.charAt(pt++):Hr],!fa||(Fr=fa(_r,Gr,Fr))<0)return-1}else if(Hr!=Gr.charCodeAt(Fr++))return-1}return Fr}function It(_r,Mr,Gr){var Fr=xt.exec(Mr.slice(Gr));return Fr?(_r.p=Mt[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function Zt(_r,Mr,Gr){var Fr=ar.exec(Mr.slice(Gr));return Fr?(_r.w=tr[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function $t(_r,Mr,Gr){var Fr=Nt.exec(Mr.slice(Gr));return Fr?(_r.w=sr[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function Cr(_r,Mr,Gr){var Fr=Ea.exec(Mr.slice(Gr));return Fr?(_r.m=ba[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function qr(_r,Mr,Gr){var Fr=Tr.exec(Mr.slice(Gr));return Fr?(_r.m=sa[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function Jr(_r,Mr,Gr){return Yt(_r,We,Mr,Gr)}function aa(_r,Mr,Gr){return Yt(_r,Ae,Mr,Gr)}function Ca(_r,Mr,Gr){return Yt(_r,ge,Mr,Gr)}function Ha(_r){return Ue[_r.getDay()]}function Va(_r){return Te[_r.getDay()]}function Za(_r){return bt[_r.getMonth()]}function rn(_r){return Xe[_r.getMonth()]}function wa(_r){return pe[+(_r.getHours()>=12)]}function Bn(_r){return 1+~~(_r.getMonth()/3)}function Hn(_r){return Ue[_r.getUTCDay()]}function At(_r){return Te[_r.getUTCDay()]}function ft(_r){return bt[_r.getUTCMonth()]}function pr(_r){return Xe[_r.getUTCMonth()]}function Sr(_r){return pe[+(_r.getUTCHours()>=12)]}function Er(_r){return 1+~~(_r.getUTCMonth()/3)}return{format:function(_r){var Mr=tn(_r+="",Ia);return Mr.toString=function(){return _r},Mr},parse:function(_r){var Mr=mn(_r+="",!1);return Mr.toString=function(){return _r},Mr},utcFormat:function(_r){var Mr=tn(_r+="",Ra);return Mr.toString=function(){return _r},Mr},utcParse:function(_r){var Mr=mn(_r+="",!0);return Mr.toString=function(){return _r},Mr}}}var r={"-":"",_:" ",0:"0"},o=/^\s*\d+/,a=/^%/,i=/[\\^$*+?|[\]().{}]/g;function n(Fe,We,Ae){var ge=Fe<0?"-":"",pe=(ge?-Fe:Fe)+"",Te=pe.length;return ge+(Te68?1900:2e3),Ae+ge[0].length):-1}function M(Fe,We,Ae){var ge=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(We.slice(Ae,Ae+6));return ge?(Fe.Z=ge[1]?0:-(ge[2]+(ge[3]||"00")),Ae+ge[0].length):-1}function _(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+1));return ge?(Fe.q=ge[0]*3-3,Ae+ge[0].length):-1}function w(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.m=ge[0]-1,Ae+ge[0].length):-1}function m(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.d=+ge[0],Ae+ge[0].length):-1}function u(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+3));return ge?(Fe.m=0,Fe.d=+ge[0],Ae+ge[0].length):-1}function v(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.H=+ge[0],Ae+ge[0].length):-1}function y(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.M=+ge[0],Ae+ge[0].length):-1}function R(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.S=+ge[0],Ae+ge[0].length):-1}function L(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+3));return ge?(Fe.L=+ge[0],Ae+ge[0].length):-1}function z(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+6));return ge?(Fe.L=Math.floor(ge[0]/1e3),Ae+ge[0].length):-1}function F(Fe,We,Ae){var ge=a.exec(We.slice(Ae,Ae+1));return ge?Ae+ge[0].length:-1}function B(Fe,We,Ae){var ge=o.exec(We.slice(Ae));return ge?(Fe.Q=+ge[0],Ae+ge[0].length):-1}function O(Fe,We,Ae){var ge=o.exec(We.slice(Ae));return ge?(Fe.s=+ge[0],Ae+ge[0].length):-1}function I(Fe,We){return n(Fe.getDate(),We,2)}function N(Fe,We){return n(Fe.getHours(),We,2)}function U(Fe,We){return n(Fe.getHours()%12||12,We,2)}function X(Fe,We){return n(1+b.timeDay.count(b.timeYear(Fe),Fe),We,3)}function ee(Fe,We){return n(Fe.getMilliseconds(),We,3)}function ue(Fe,We){return ee(Fe,We)+"000"}function oe(Fe,We){return n(Fe.getMonth()+1,We,2)}function le(Fe,We){return n(Fe.getMinutes(),We,2)}function V(Fe,We){return n(Fe.getSeconds(),We,2)}function J(Fe){var We=Fe.getDay();return We===0?7:We}function te(Fe,We){return n(b.timeSunday.count(b.timeYear(Fe)-1,Fe),We,2)}function Z(Fe,We){var Ae=Fe.getDay();return Fe=Ae>=4||Ae===0?b.timeThursday(Fe):b.timeThursday.ceil(Fe),n(b.timeThursday.count(b.timeYear(Fe),Fe)+(b.timeYear(Fe).getDay()===4),We,2)}function se(Fe){return Fe.getDay()}function Q(Fe,We){return n(b.timeMonday.count(b.timeYear(Fe)-1,Fe),We,2)}function q(Fe,We){return n(Fe.getFullYear()%100,We,2)}function re(Fe,We){return n(Fe.getFullYear()%1e4,We,4)}function ae(Fe){var We=Fe.getTimezoneOffset();return(We>0?"-":(We*=-1,"+"))+n(We/60|0,"0",2)+n(We%60,"0",2)}function fe(Fe,We){return n(Fe.getUTCDate(),We,2)}function be(Fe,We){return n(Fe.getUTCHours(),We,2)}function Me(Fe,We){return n(Fe.getUTCHours()%12||12,We,2)}function Ie(Fe,We){return n(1+b.utcDay.count(b.utcYear(Fe),Fe),We,3)}function Le(Fe,We){return n(Fe.getUTCMilliseconds(),We,3)}function je(Fe,We){return Le(Fe,We)+"000"}function et(Fe,We){return n(Fe.getUTCMonth()+1,We,2)}function rt(Fe,We){return n(Fe.getUTCMinutes(),We,2)}function Je(Fe,We){return n(Fe.getUTCSeconds(),We,2)}function Ze(Fe){var We=Fe.getUTCDay();return We===0?7:We}function Ee(Fe,We){return n(b.utcSunday.count(b.utcYear(Fe)-1,Fe),We,2)}function xe(Fe,We){var Ae=Fe.getUTCDay();return Fe=Ae>=4||Ae===0?b.utcThursday(Fe):b.utcThursday.ceil(Fe),n(b.utcThursday.count(b.utcYear(Fe),Fe)+(b.utcYear(Fe).getUTCDay()===4),We,2)}function he(Fe){return Fe.getUTCDay()}function De(Fe,We){return n(b.utcMonday.count(b.utcYear(Fe)-1,Fe),We,2)}function tt(Fe,We){return n(Fe.getUTCFullYear()%100,We,2)}function nt(Fe,We){return n(Fe.getUTCFullYear()%1e4,We,4)}function $e(){return"+0000"}function Et(){return"%"}function Ct(Fe){return+Fe}function jt(Fe){return Math.floor(+Fe/1e3)}var Wt;dr({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function dr(Fe){return Wt=t(Fe),h.timeFormat=Wt.format,h.timeParse=Wt.parse,h.utcFormat=Wt.utcFormat,h.utcParse=Wt.utcParse,Wt}var vr="%Y-%m-%dT%H:%M:%S.%LZ";function Dr(Fe){return Fe.toISOString()}var hr=Date.prototype.toISOString?Dr:h.utcFormat(vr);function Ar(Fe){var We=new Date(Fe);return isNaN(We)?null:We}var gt=+new Date("2000-01-01T00:00:00.000Z")?Ar:h.utcParse(vr);h.isoFormat=hr,h.isoParse=gt,h.timeFormatDefaultLocale=dr,h.timeFormatLocale=t,Object.defineProperty(h,"__esModule",{value:!0})})}}),Fc=He({"node_modules/d3-format/dist/d3-format.js"(Y,G){(function(h,b){typeof Y=="object"&&typeof G<"u"?b(Y):(h=typeof globalThis<"u"?globalThis:h||self,b(h.d3=h.d3||{}))})(Y,function(h){function b(w){return Math.abs(w=Math.round(w))>=1e21?w.toLocaleString("en").replace(/,/g,""):w.toString(10)}function S(w,m){if((u=(w=m?w.toExponential(m-1):w.toExponential()).indexOf("e"))<0)return null;var u,v=w.slice(0,u);return[v.length>1?v[0]+v.slice(2):v,+w.slice(u+1)]}function E(w){return w=S(Math.abs(w)),w?w[1]:NaN}function e(w,m){return function(u,v){for(var y=u.length,R=[],L=0,z=w[0],F=0;y>0&&z>0&&(F+z+1>v&&(z=Math.max(1,v-F)),R.push(u.substring(y-=z,y+z)),!((F+=z+1)>v));)z=w[L=(L+1)%w.length];return R.reverse().join(m)}}function t(w){return function(m){return m.replace(/[0-9]/g,function(u){return w[+u]})}}var r=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(w){if(!(m=r.exec(w)))throw new Error("invalid format: "+w);var m;return new a({fill:m[1],align:m[2],sign:m[3],symbol:m[4],zero:m[5],width:m[6],comma:m[7],precision:m[8]&&m[8].slice(1),trim:m[9],type:m[10]})}o.prototype=a.prototype;function a(w){this.fill=w.fill===void 0?" ":w.fill+"",this.align=w.align===void 0?">":w.align+"",this.sign=w.sign===void 0?"-":w.sign+"",this.symbol=w.symbol===void 0?"":w.symbol+"",this.zero=!!w.zero,this.width=w.width===void 0?void 0:+w.width,this.comma=!!w.comma,this.precision=w.precision===void 0?void 0:+w.precision,this.trim=!!w.trim,this.type=w.type===void 0?"":w.type+""}a.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function i(w){e:for(var m=w.length,u=1,v=-1,y;u0&&(v=0);break}return v>0?w.slice(0,v)+w.slice(y+1):w}var n;function s(w,m){var u=S(w,m);if(!u)return w+"";var v=u[0],y=u[1],R=y-(n=Math.max(-8,Math.min(8,Math.floor(y/3)))*3)+1,L=v.length;return R===L?v:R>L?v+new Array(R-L+1).join("0"):R>0?v.slice(0,R)+"."+v.slice(R):"0."+new Array(1-R).join("0")+S(w,Math.max(0,m+R-1))[0]}function f(w,m){var u=S(w,m);if(!u)return w+"";var v=u[0],y=u[1];return y<0?"0."+new Array(-y).join("0")+v:v.length>y+1?v.slice(0,y+1)+"."+v.slice(y+1):v+new Array(y-v.length+2).join("0")}var c={"%":function(w,m){return(w*100).toFixed(m)},b:function(w){return Math.round(w).toString(2)},c:function(w){return w+""},d:b,e:function(w,m){return w.toExponential(m)},f:function(w,m){return w.toFixed(m)},g:function(w,m){return w.toPrecision(m)},o:function(w){return Math.round(w).toString(8)},p:function(w,m){return f(w*100,m)},r:f,s,X:function(w){return Math.round(w).toString(16).toUpperCase()},x:function(w){return Math.round(w).toString(16)}};function p(w){return w}var d=Array.prototype.map,T=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function l(w){var m=w.grouping===void 0||w.thousands===void 0?p:e(d.call(w.grouping,Number),w.thousands+""),u=w.currency===void 0?"":w.currency[0]+"",v=w.currency===void 0?"":w.currency[1]+"",y=w.decimal===void 0?".":w.decimal+"",R=w.numerals===void 0?p:t(d.call(w.numerals,String)),L=w.percent===void 0?"%":w.percent+"",z=w.minus===void 0?"-":w.minus+"",F=w.nan===void 0?"NaN":w.nan+"";function B(I){I=o(I);var N=I.fill,U=I.align,X=I.sign,ee=I.symbol,ue=I.zero,oe=I.width,le=I.comma,V=I.precision,J=I.trim,te=I.type;te==="n"?(le=!0,te="g"):c[te]||(V===void 0&&(V=12),J=!0,te="g"),(ue||N==="0"&&U==="=")&&(ue=!0,N="0",U="=");var Z=ee==="$"?u:ee==="#"&&/[boxX]/.test(te)?"0"+te.toLowerCase():"",se=ee==="$"?v:/[%p]/.test(te)?L:"",Q=c[te],q=/[defgprs%]/.test(te);V=V===void 0?6:/[gprs]/.test(te)?Math.max(1,Math.min(21,V)):Math.max(0,Math.min(20,V));function re(ae){var fe=Z,be=se,Me,Ie,Le;if(te==="c")be=Q(ae)+be,ae="";else{ae=+ae;var je=ae<0||1/ae<0;if(ae=isNaN(ae)?F:Q(Math.abs(ae),V),J&&(ae=i(ae)),je&&+ae==0&&X!=="+"&&(je=!1),fe=(je?X==="("?X:z:X==="-"||X==="("?"":X)+fe,be=(te==="s"?T[8+n/3]:"")+be+(je&&X==="("?")":""),q){for(Me=-1,Ie=ae.length;++MeLe||Le>57){be=(Le===46?y+ae.slice(Me+1):ae.slice(Me))+be,ae=ae.slice(0,Me);break}}}le&&!ue&&(ae=m(ae,1/0));var et=fe.length+ae.length+be.length,rt=et>1)+fe+ae+be+rt.slice(et);break;default:ae=rt+fe+ae+be;break}return R(ae)}return re.toString=function(){return I+""},re}function O(I,N){var U=B((I=o(I),I.type="f",I)),X=Math.max(-8,Math.min(8,Math.floor(E(N)/3)))*3,ee=Math.pow(10,-X),ue=T[8+X/3];return function(oe){return U(ee*oe)+ue}}return{format:B,formatPrefix:O}}var g;x({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function x(w){return g=l(w),h.format=g.format,h.formatPrefix=g.formatPrefix,g}function A(w){return Math.max(0,-E(Math.abs(w)))}function M(w,m){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(E(m)/3)))*3-E(Math.abs(w)))}function _(w,m){return w=Math.abs(w),m=Math.abs(m)-w,Math.max(0,E(m)-E(w))+1}h.FormatSpecifier=a,h.formatDefaultLocale=x,h.formatLocale=l,h.formatSpecifier=o,h.precisionFixed=A,h.precisionPrefix=M,h.precisionRound=_,Object.defineProperty(h,"__esModule",{value:!0})})}}),Eh=He({"node_modules/is-string-blank/index.js"(Y,G){G.exports=function(h){for(var b=h.length,S,E=0;E13)&&S!==32&&S!==133&&S!==160&&S!==5760&&S!==6158&&(S<8192||S>8205)&&S!==8232&&S!==8233&&S!==8239&&S!==8287&&S!==8288&&S!==12288&&S!==65279)return!1;return!0}}}),Bi=He({"node_modules/fast-isnumeric/index.js"(Y,G){var h=Eh();G.exports=function(b){var S=typeof b;if(S==="string"){var E=b;if(b=+b,b===0&&h(E))return!1}else if(S!=="number")return!1;return b-b<1}}}),Yo=He({"src/constants/numerical.js"(Y,G){G.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"−"}}}),_p=He({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(Y,G){(function(h,b){typeof Y=="object"&&typeof G<"u"?b(Y):(h=typeof globalThis<"u"?globalThis:h||self,b(h["base64-arraybuffer"]={}))})(Y,function(h){for(var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",S=typeof Uint8Array>"u"?[]:new Uint8Array(256),E=0;E>2],n+=b[(o[a]&3)<<4|o[a+1]>>4],n+=b[(o[a+1]&15)<<2|o[a+2]>>6],n+=b[o[a+2]&63];return i%3===2?n=n.substring(0,n.length-1)+"=":i%3===1&&(n=n.substring(0,n.length-2)+"=="),n},t=function(r){var o=r.length*.75,a=r.length,i,n=0,s,f,c,p;r[r.length-1]==="="&&(o--,r[r.length-2]==="="&&o--);var d=new ArrayBuffer(o),T=new Uint8Array(d);for(i=0;i>4,T[n++]=(f&15)<<4|c>>2,T[n++]=(c&3)<<6|p&63;return d};h.decode=t,h.encode=e,Object.defineProperty(h,"__esModule",{value:!0})})}}),Kv=He({"src/lib/is_plain_object.js"(Y,G){G.exports=function(b){return window&&window.process&&window.process.versions?Object.prototype.toString.call(b)==="[object Object]":Object.prototype.toString.call(b)==="[object Object]"&&Object.getPrototypeOf(b).hasOwnProperty("hasOwnProperty")}}}),lh=He({"src/lib/array.js"(Y){var G=_p().decode,h=Kv(),b=Array.isArray,S=ArrayBuffer,E=DataView;function e(s){return S.isView(s)&&!(s instanceof E)}Y.isTypedArray=e;function t(s){return b(s)||e(s)}Y.isArrayOrTypedArray=t;function r(s){return!t(s[0])}Y.isArray1D=r,Y.ensureArray=function(s,f){return b(s)||(s=[]),s.length=f,s};var o={u1c:typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,i1:typeof Int8Array>"u"?void 0:Int8Array,u1:typeof Uint8Array>"u"?void 0:Uint8Array,i2:typeof Int16Array>"u"?void 0:Int16Array,u2:typeof Uint16Array>"u"?void 0:Uint16Array,i4:typeof Int32Array>"u"?void 0:Int32Array,u4:typeof Uint32Array>"u"?void 0:Uint32Array,f4:typeof Float32Array>"u"?void 0:Float32Array,f8:typeof Float64Array>"u"?void 0:Float64Array};o.uint8c=o.u1c,o.uint8=o.u1,o.int8=o.i1,o.uint16=o.u2,o.int16=o.i2,o.uint32=o.u4,o.int32=o.i4,o.float32=o.f4,o.float64=o.f8;function a(s){return s.constructor===ArrayBuffer}Y.isArrayBuffer=a,Y.decodeTypedArraySpec=function(s){var f=[],c=i(s),p=c.dtype,d=o[p];if(!d)throw new Error('Error in dtype: "'+p+'"');var T=d.BYTES_PER_ELEMENT,l=c.bdata;a(l)||(l=G(l));var g=c.shape===void 0?[l.byteLength/T]:(""+c.shape).split(",");g.reverse();var x=g.length,A,M,_=+g[0],w=T*_,m=0;if(x===1)f=new d(l);else if(x===2)for(A=+g[1],M=0;M2)return d[A]=d[A]|e,g.set(x,null);if(l){for(f=A;f0)return Math.log(S)/Math.LN10;var e=Math.log(Math.min(E[0],E[1]))/Math.LN10;return h(e)||(e=Math.log(Math.max(E[0],E[1]))/Math.LN10-6),e}}}),X5=He({"src/lib/relink_private.js"(Y,G){var h=lh().isArrayOrTypedArray,b=Kv();G.exports=function S(E,e){for(var t in e){var r=e[t],o=E[t];if(o!==r)if(t.charAt(0)==="_"||typeof r=="function"){if(t in E)continue;E[t]=r}else if(h(r)&&h(o)&&b(r[0])){if(t==="customdata"||t==="ids")continue;for(var a=Math.min(r.length,o.length),i=0;iE/2?S-Math.round(S/E)*E:S}G.exports={mod:h,modHalf:b}}}),If=He({"node_modules/tinycolor2/tinycolor.js"(Y,G){(function(h){var b=/^\s+/,S=/\s+$/,E=0,e=h.round,t=h.min,r=h.max,o=h.random;function a(q,re){if(q=q||"",re=re||{},q instanceof a)return q;if(!(this instanceof a))return new a(q,re);var ae=i(q);this._originalInput=q,this._r=ae.r,this._g=ae.g,this._b=ae.b,this._a=ae.a,this._roundA=e(100*this._a)/100,this._format=re.format||ae.format,this._gradientType=re.gradientType,this._r<1&&(this._r=e(this._r)),this._g<1&&(this._g=e(this._g)),this._b<1&&(this._b=e(this._b)),this._ok=ae.ok,this._tc_id=E++}a.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var q=this.toRgb();return(q.r*299+q.g*587+q.b*114)/1e3},getLuminance:function(){var q=this.toRgb(),re,ae,fe,be,Me,Ie;return re=q.r/255,ae=q.g/255,fe=q.b/255,re<=.03928?be=re/12.92:be=h.pow((re+.055)/1.055,2.4),ae<=.03928?Me=ae/12.92:Me=h.pow((ae+.055)/1.055,2.4),fe<=.03928?Ie=fe/12.92:Ie=h.pow((fe+.055)/1.055,2.4),.2126*be+.7152*Me+.0722*Ie},setAlpha:function(q){return this._a=I(q),this._roundA=e(100*this._a)/100,this},toHsv:function(){var q=c(this._r,this._g,this._b);return{h:q.h*360,s:q.s,v:q.v,a:this._a}},toHsvString:function(){var q=c(this._r,this._g,this._b),re=e(q.h*360),ae=e(q.s*100),fe=e(q.v*100);return this._a==1?"hsv("+re+", "+ae+"%, "+fe+"%)":"hsva("+re+", "+ae+"%, "+fe+"%, "+this._roundA+")"},toHsl:function(){var q=s(this._r,this._g,this._b);return{h:q.h*360,s:q.s,l:q.l,a:this._a}},toHslString:function(){var q=s(this._r,this._g,this._b),re=e(q.h*360),ae=e(q.s*100),fe=e(q.l*100);return this._a==1?"hsl("+re+", "+ae+"%, "+fe+"%)":"hsla("+re+", "+ae+"%, "+fe+"%, "+this._roundA+")"},toHex:function(q){return d(this._r,this._g,this._b,q)},toHexString:function(q){return"#"+this.toHex(q)},toHex8:function(q){return T(this._r,this._g,this._b,this._a,q)},toHex8String:function(q){return"#"+this.toHex8(q)},toRgb:function(){return{r:e(this._r),g:e(this._g),b:e(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+e(this._r)+", "+e(this._g)+", "+e(this._b)+")":"rgba("+e(this._r)+", "+e(this._g)+", "+e(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:e(N(this._r,255)*100)+"%",g:e(N(this._g,255)*100)+"%",b:e(N(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+e(N(this._r,255)*100)+"%, "+e(N(this._g,255)*100)+"%, "+e(N(this._b,255)*100)+"%)":"rgba("+e(N(this._r,255)*100)+"%, "+e(N(this._g,255)*100)+"%, "+e(N(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:B[d(this._r,this._g,this._b,!0)]||!1},toFilter:function(q){var re="#"+l(this._r,this._g,this._b,this._a),ae=re,fe=this._gradientType?"GradientType = 1, ":"";if(q){var be=a(q);ae="#"+l(be._r,be._g,be._b,be._a)}return"progid:DXImageTransform.Microsoft.gradient("+fe+"startColorstr="+re+",endColorstr="+ae+")"},toString:function(q){var re=!!q;q=q||this._format;var ae=!1,fe=this._a<1&&this._a>=0,be=!re&&fe&&(q==="hex"||q==="hex6"||q==="hex3"||q==="hex4"||q==="hex8"||q==="name");return be?q==="name"&&this._a===0?this.toName():this.toRgbString():(q==="rgb"&&(ae=this.toRgbString()),q==="prgb"&&(ae=this.toPercentageRgbString()),(q==="hex"||q==="hex6")&&(ae=this.toHexString()),q==="hex3"&&(ae=this.toHexString(!0)),q==="hex4"&&(ae=this.toHex8String(!0)),q==="hex8"&&(ae=this.toHex8String()),q==="name"&&(ae=this.toName()),q==="hsl"&&(ae=this.toHslString()),q==="hsv"&&(ae=this.toHsvString()),ae||this.toHexString())},clone:function(){return a(this.toString())},_applyModification:function(q,re){var ae=q.apply(null,[this].concat([].slice.call(re)));return this._r=ae._r,this._g=ae._g,this._b=ae._b,this.setAlpha(ae._a),this},lighten:function(){return this._applyModification(M,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(g,arguments)},saturate:function(){return this._applyModification(x,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(m,arguments)},_applyCombination:function(q,re){return q.apply(null,[this].concat([].slice.call(re)))},analogous:function(){return this._applyCombination(L,arguments)},complement:function(){return this._applyCombination(u,arguments)},monochromatic:function(){return this._applyCombination(z,arguments)},splitcomplement:function(){return this._applyCombination(R,arguments)},triad:function(){return this._applyCombination(v,arguments)},tetrad:function(){return this._applyCombination(y,arguments)}},a.fromRatio=function(q,re){if(typeof q=="object"){var ae={};for(var fe in q)q.hasOwnProperty(fe)&&(fe==="a"?ae[fe]=q[fe]:ae[fe]=le(q[fe]));q=ae}return a(q,re)};function i(q){var re={r:0,g:0,b:0},ae=1,fe=null,be=null,Me=null,Ie=!1,Le=!1;return typeof q=="string"&&(q=se(q)),typeof q=="object"&&(Z(q.r)&&Z(q.g)&&Z(q.b)?(re=n(q.r,q.g,q.b),Ie=!0,Le=String(q.r).substr(-1)==="%"?"prgb":"rgb"):Z(q.h)&&Z(q.s)&&Z(q.v)?(fe=le(q.s),be=le(q.v),re=p(q.h,fe,be),Ie=!0,Le="hsv"):Z(q.h)&&Z(q.s)&&Z(q.l)&&(fe=le(q.s),Me=le(q.l),re=f(q.h,fe,Me),Ie=!0,Le="hsl"),q.hasOwnProperty("a")&&(ae=q.a)),ae=I(ae),{ok:Ie,format:q.format||Le,r:t(255,r(re.r,0)),g:t(255,r(re.g,0)),b:t(255,r(re.b,0)),a:ae}}function n(q,re,ae){return{r:N(q,255)*255,g:N(re,255)*255,b:N(ae,255)*255}}function s(q,re,ae){q=N(q,255),re=N(re,255),ae=N(ae,255);var fe=r(q,re,ae),be=t(q,re,ae),Me,Ie,Le=(fe+be)/2;if(fe==be)Me=Ie=0;else{var je=fe-be;switch(Ie=Le>.5?je/(2-fe-be):je/(fe+be),fe){case q:Me=(re-ae)/je+(re1&&(Je-=1),Je<1/6?et+(rt-et)*6*Je:Je<1/2?rt:Je<2/3?et+(rt-et)*(2/3-Je)*6:et}if(re===0)fe=be=Me=ae;else{var Le=ae<.5?ae*(1+re):ae+re-ae*re,je=2*ae-Le;fe=Ie(je,Le,q+1/3),be=Ie(je,Le,q),Me=Ie(je,Le,q-1/3)}return{r:fe*255,g:be*255,b:Me*255}}function c(q,re,ae){q=N(q,255),re=N(re,255),ae=N(ae,255);var fe=r(q,re,ae),be=t(q,re,ae),Me,Ie,Le=fe,je=fe-be;if(Ie=fe===0?0:je/fe,fe==be)Me=0;else{switch(fe){case q:Me=(re-ae)/je+(re>1)+720)%360;--re;)fe.h=(fe.h+be)%360,Me.push(a(fe));return Me}function z(q,re){re=re||6;for(var ae=a(q).toHsv(),fe=ae.h,be=ae.s,Me=ae.v,Ie=[],Le=1/re;re--;)Ie.push(a({h:fe,s:be,v:Me})),Me=(Me+Le)%1;return Ie}a.mix=function(q,re,ae){ae=ae===0?0:ae||50;var fe=a(q).toRgb(),be=a(re).toRgb(),Me=ae/100,Ie={r:(be.r-fe.r)*Me+fe.r,g:(be.g-fe.g)*Me+fe.g,b:(be.b-fe.b)*Me+fe.b,a:(be.a-fe.a)*Me+fe.a};return a(Ie)},a.readability=function(q,re){var ae=a(q),fe=a(re);return(h.max(ae.getLuminance(),fe.getLuminance())+.05)/(h.min(ae.getLuminance(),fe.getLuminance())+.05)},a.isReadable=function(q,re,ae){var fe=a.readability(q,re),be,Me;switch(Me=!1,be=Q(ae),be.level+be.size){case"AAsmall":case"AAAlarge":Me=fe>=4.5;break;case"AAlarge":Me=fe>=3;break;case"AAAsmall":Me=fe>=7;break}return Me},a.mostReadable=function(q,re,ae){var fe=null,be=0,Me,Ie,Le,je;ae=ae||{},Ie=ae.includeFallbackColors,Le=ae.level,je=ae.size;for(var et=0;etbe&&(be=Me,fe=a(re[et]));return a.isReadable(q,fe,{level:Le,size:je})||!Ie?fe:(ae.includeFallbackColors=!1,a.mostReadable(q,["#fff","#000"],ae))};var F=a.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},B=a.hexNames=O(F);function O(q){var re={};for(var ae in q)q.hasOwnProperty(ae)&&(re[q[ae]]=ae);return re}function I(q){return q=parseFloat(q),(isNaN(q)||q<0||q>1)&&(q=1),q}function N(q,re){ee(q)&&(q="100%");var ae=ue(q);return q=t(re,r(0,parseFloat(q))),ae&&(q=parseInt(q*re,10)/100),h.abs(q-re)<1e-6?1:q%re/parseFloat(re)}function U(q){return t(1,r(0,q))}function X(q){return parseInt(q,16)}function ee(q){return typeof q=="string"&&q.indexOf(".")!=-1&&parseFloat(q)===1}function ue(q){return typeof q=="string"&&q.indexOf("%")!=-1}function oe(q){return q.length==1?"0"+q:""+q}function le(q){return q<=1&&(q=q*100+"%"),q}function V(q){return h.round(parseFloat(q)*255).toString(16)}function J(q){return X(q)/255}var te=function(){var q="[-\\+]?\\d+%?",re="[-\\+]?\\d*\\.\\d+%?",ae="(?:"+re+")|(?:"+q+")",fe="[\\s|\\(]+("+ae+")[,|\\s]+("+ae+")[,|\\s]+("+ae+")\\s*\\)?",be="[\\s|\\(]+("+ae+")[,|\\s]+("+ae+")[,|\\s]+("+ae+")[,|\\s]+("+ae+")\\s*\\)?";return{CSS_UNIT:new RegExp(ae),rgb:new RegExp("rgb"+fe),rgba:new RegExp("rgba"+be),hsl:new RegExp("hsl"+fe),hsla:new RegExp("hsla"+be),hsv:new RegExp("hsv"+fe),hsva:new RegExp("hsva"+be),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Z(q){return!!te.CSS_UNIT.exec(q)}function se(q){q=q.replace(b,"").replace(S,"").toLowerCase();var re=!1;if(F[q])q=F[q],re=!0;else if(q=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var ae;return(ae=te.rgb.exec(q))?{r:ae[1],g:ae[2],b:ae[3]}:(ae=te.rgba.exec(q))?{r:ae[1],g:ae[2],b:ae[3],a:ae[4]}:(ae=te.hsl.exec(q))?{h:ae[1],s:ae[2],l:ae[3]}:(ae=te.hsla.exec(q))?{h:ae[1],s:ae[2],l:ae[3],a:ae[4]}:(ae=te.hsv.exec(q))?{h:ae[1],s:ae[2],v:ae[3]}:(ae=te.hsva.exec(q))?{h:ae[1],s:ae[2],v:ae[3],a:ae[4]}:(ae=te.hex8.exec(q))?{r:X(ae[1]),g:X(ae[2]),b:X(ae[3]),a:J(ae[4]),format:re?"name":"hex8"}:(ae=te.hex6.exec(q))?{r:X(ae[1]),g:X(ae[2]),b:X(ae[3]),format:re?"name":"hex"}:(ae=te.hex4.exec(q))?{r:X(ae[1]+""+ae[1]),g:X(ae[2]+""+ae[2]),b:X(ae[3]+""+ae[3]),a:J(ae[4]+""+ae[4]),format:re?"name":"hex8"}:(ae=te.hex3.exec(q))?{r:X(ae[1]+""+ae[1]),g:X(ae[2]+""+ae[2]),b:X(ae[3]+""+ae[3]),format:re?"name":"hex"}:!1}function Q(q){var re,ae;return q=q||{level:"AA",size:"small"},re=(q.level||"AA").toUpperCase(),ae=(q.size||"small").toLowerCase(),re!=="AA"&&re!=="AAA"&&(re="AA"),ae!=="small"&&ae!=="large"&&(ae="small"),{level:re,size:ae}}typeof G<"u"&&G.exports?G.exports=a:window.tinycolor=a})(Math)}}),Co=He({"src/lib/extend.js"(Y){var G=Kv(),h=Array.isArray;function b(E,e){var t,r;for(t=0;t=0)))return a;if(c===3)s[c]>1&&(s[c]=1);else if(s[c]>=1)return a}var p=Math.round(s[0]*255)+", "+Math.round(s[1]*255)+", "+Math.round(s[2]*255);return f?"rgba("+p+", "+s[3]+")":"rgb("+p+")"}}}),Id=He({"src/constants/interactions.js"(Y,G){G.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}}}),C0=He({"src/lib/regex.js"(Y){Y.counter=function(G,h,b,S){var E=(h||"")+(b?"":"$"),e=S===!1?"":"^";return G==="xy"?new RegExp(e+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+E):new RegExp(e+G+"([2-9]|[1-9][0-9]+)?"+E)}}}),Z5=He({"src/lib/coerce.js"(Y){var G=Bi(),h=If(),b=Co().extendFlat,S=Pl(),E=xp(),e=Ri(),t=Id().DESELECTDIM,r=Gm(),o=C0().counter,a=E0().modHalf,i=lh().isArrayOrTypedArray,n=lh().isTypedArraySpec,s=lh().decodeTypedArraySpec;Y.valObjectMeta={data_array:{coerceFunction:function(c,p,d){p.set(i(c)?c:n(c)?s(c):d)}},enumerated:{coerceFunction:function(c,p,d,T){T.coerceNumber&&(c=+c),T.values.indexOf(c)===-1?p.set(d):p.set(c)},validateFunction:function(c,p){p.coerceNumber&&(c=+c);for(var d=p.values,T=0;Tg===!0||g===!1;l(c)||T.arrayOk&&Array.isArray(c)&&c.length>0&&c.every(l)?p.set(c):p.set(d)}},number:{coerceFunction:function(c,p,d,T){n(c)&&(c=s(c)),!G(c)||T.min!==void 0&&cT.max?p.set(d):p.set(+c)}},integer:{coerceFunction:function(c,p,d,T){if((T.extras||[]).indexOf(c)!==-1){p.set(c);return}n(c)&&(c=s(c)),c%1||!G(c)||T.min!==void 0&&cT.max?p.set(d):p.set(+c)}},string:{coerceFunction:function(c,p,d,T){if(typeof c!="string"){var l=typeof c=="number";T.strict===!0||!l?p.set(d):p.set(String(c))}else T.noBlank&&!c?p.set(d):p.set(c)}},color:{coerceFunction:function(c,p,d){n(c)&&(c=s(c)),h(c).isValid()?p.set(c):p.set(d)}},colorlist:{coerceFunction:function(c,p,d){function T(l){return h(l).isValid()}!Array.isArray(c)||!c.length?p.set(d):c.every(T)?p.set(c):p.set(d)}},colorscale:{coerceFunction:function(c,p,d){p.set(E.get(c,d))}},angle:{coerceFunction:function(c,p,d){n(c)&&(c=s(c)),c==="auto"?p.set("auto"):G(c)?p.set(a(+c,360)):p.set(d)}},subplotid:{coerceFunction:function(c,p,d,T){var l=T.regex||o(d);const g=x=>typeof x=="string"&&l.test(x);g(c)||T.arrayOk&&i(c)&&c.length>0&&c.every(g)?p.set(c):p.set(d)},validateFunction:function(c,p){var d=p.dflt;return c===d?!0:typeof c!="string"?!1:!!o(d).test(c)}},flaglist:{coerceFunction:function(c,p,d,T){if((T.extras||[]).indexOf(c)!==-1){p.set(c);return}if(typeof c!="string"){p.set(d);return}for(var l=c.split("+"),g=0;g/g),c=0;c1){var e=["LOG:"];for(E=0;E1){var t=[];for(E=0;E"),"long")}},S.warn=function(){var E;if(h.logging>0){var e=["WARN:"];for(E=0;E0){var t=[];for(E=0;E"),"stick")}},S.error=function(){var E;if(h.logging>0){var e=["ERROR:"];for(E=0;E0){var t=[];for(E=0;E"),"stick")}}}}),Xy=He({"src/lib/noop.js"(Y,G){G.exports=function(){}}}),nb=He({"src/lib/push_unique.js"(Y,G){G.exports=function(b,S){if(S instanceof RegExp){for(var E=S.toString(),e=0;esh({valType:"string",dflt:"",editType:E},e!==!1?{arrayOk:!0}:{}),Y.texttemplateAttrs=({editType:E="calc",arrayOk:e}={},t={})=>sh({valType:"string",dflt:"",editType:E},e!==!1?{arrayOk:!0}:{}),Y.shapeTexttemplateAttrs=({editType:E="arraydraw",newshape:e}={},t={})=>({valType:"string",dflt:"",editType:E}),Y.templatefallbackAttrs=({editType:E="none"}={})=>({valType:"any",dflt:"-",editType:E})}}),Yy=He({"src/components/shapes/label_texttemplate.js"(Y,G){function h(g,x){return x?x.d2l(g):g}function b(g,x){return x?x.l2d(g):g}function S(g){return g.x0}function E(g){return g.x1}function e(g){return g.y0}function t(g){return g.y1}function r(g){return g.x0shift||0}function o(g){return g.x1shift||0}function a(g){return g.y0shift||0}function i(g){return g.y1shift||0}function n(g,x){return h(g.x1,x)+o(g)-h(g.x0,x)-r(g)}function s(g,x,A){return h(g.y1,A)+i(g)-h(g.y0,A)-a(g)}function f(g,x){return Math.abs(n(g,x))}function c(g,x,A){return Math.abs(s(g,x,A))}function p(g,x,A){return g.type!=="line"?void 0:Math.sqrt(Math.pow(n(g,x),2)+Math.pow(s(g,x,A),2))}function d(g,x){return b((h(g.x1,x)+o(g)+h(g.x0,x)+r(g))/2,x)}function T(g,x,A){return b((h(g.y1,A)+i(g)+h(g.y0,A)+a(g))/2,A)}function l(g,x,A){return g.type!=="line"?void 0:s(g,x,A)/n(g,x)}G.exports={x0:S,x1:E,y0:e,y1:t,slope:l,dx:n,dy:s,width:f,height:c,length:p,xcenter:d,ycenter:T}}}),TA=He({"src/components/shapes/draw_newshape/attributes.js"(Y,G){var h=Nu().overrideAll,b=Pl(),S=Su(),E=jf().dash,e=Co().extendFlat,{shapeTexttemplateAttrs:t,templatefallbackAttrs:r}=bl(),o=Yy();G.exports=h({newshape:{visible:e({},b.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:e({},b.legend,{}),legendgroup:e({},b.legendgroup,{}),legendgrouptitle:{text:e({},b.legendgrouptitle.text,{}),font:S({})},legendrank:e({},b.legendrank,{}),legendwidth:e({},b.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:e({},E,{dflt:"solid"})},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd"},opacity:{valType:"number",min:0,max:1,dflt:1},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above"},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal"},name:e({},b.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:t({newshape:!0},{keys:Object.keys(o)}),texttemplatefallback:r({editType:"arraydraw"}),font:S({}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},textangle:{valType:"angle",dflt:"auto"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},padding:{valType:"number",dflt:3,min:0}}},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",description:"Sets the color filling the active shape' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5}}},"none","from-root")}}),AA=He({"src/components/selections/draw_newselection/attributes.js"(Y,G){var h=jf().dash,b=Co().extendFlat;G.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:b({},h,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}}}),Ky=He({"src/plots/pad_attributes.js"(Y,G){G.exports=function(h){var b=h.editType;return{t:{valType:"number",dflt:0,editType:b},r:{valType:"number",dflt:0,editType:b},b:{valType:"number",dflt:0,editType:b},l:{valType:"number",dflt:0,editType:b},editType:b}}}}),L0=He({"src/plots/layout_attributes.js"(Y,G){var h=Su(),b=Xm(),S=hf(),E=TA(),e=AA(),t=Ky(),r=Co().extendFlat,o=h({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=S.defaultLine,G.exports={font:o,title:{text:{valType:"string",editType:"layoutstyle"},font:h({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:h({editType:"layoutstyle"}),editType:"layoutstyle"},xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:r(t({editType:"layoutstyle"}),{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot"},minsize:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},minreducedwidth:{valType:"number",min:2,dflt:64,editType:"plot"},minreducedheight:{valType:"number",min:2,dflt:64,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},computed:{valType:"any",editType:"none"},paper_bgcolor:{valType:"color",dflt:S.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:S.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:S.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},newshape:E.newshape,activeshape:E.activeshape,newselection:e.newselection,activeselection:e.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:r({},b.transition,{editType:"none"})}}}),SA=He({"node_modules/maplibre-gl/dist/maplibre-gl.css"(){(function(){if(!document.getElementById("696e55e75aaafa12d45b3ff634eadc8348f9c3015fc94984dac1ff824773eb97")){var Y=document.createElement("style");Y.id="696e55e75aaafa12d45b3ff634eadc8348f9c3015fc94984dac1ff824773eb97",Y.textContent=`.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}`,document.head.appendChild(Y)}})()}}),Ni=He({"src/registry.js"(Y){var G=Rd(),h=Xy(),b=nb(),S=Kv(),E=Wm().addStyleRule,e=Co(),t=Pl(),r=L0(),o=e.extendFlat,a=e.extendDeepAll;Y.modules={},Y.allCategories={},Y.allTypes=[],Y.subplotsRegistry={},Y.componentsRegistry={},Y.layoutArrayContainers=[],Y.layoutArrayRegexes=[],Y.traceLayoutAttributes={},Y.localeRegistry={},Y.apiMethodRegistry={},Y.collectableSubplotTypes=null,Y.register=function(x){if(Y.collectableSubplotTypes=null,x)x&&!Array.isArray(x)&&(x=[x]);else throw new Error("No argument passed to Plotly.register.");for(var A=0;A=l&&F<=g?F:e}if(typeof F!="string"&&typeof F!="number")return e;F=String(F);var U=d(B),X=F.charAt(0);U&&(X==="G"||X==="g")&&(F=F.slice(1),B="");var ee=U&&B.slice(0,7)==="chinese",ue=F.match(ee?c:f);if(!ue)return e;var oe=ue[1],le=ue[3]||"1",V=Number(ue[5]||1),J=Number(ue[7]||0),te=Number(ue[9]||0),Z=Number(ue[11]||0);if(U){if(oe.length===2)return e;oe=Number(oe);var se;try{var Q=n.getComponentMethod("calendars","getCal")(B);if(ee){var q=le.charAt(le.length-1)==="i";le=parseInt(le,10),se=Q.newDate(oe,Q.toMonthIndex(oe,le,q),V)}else se=Q.newDate(oe,Number(le),V)}catch{return e}return se?(se.toJD()-i)*t+J*r+te*o+Z*a:e}oe.length===2?oe=(Number(oe)+2e3-p)%100+p:oe=Number(oe),le-=1;var re=new Date(Date.UTC(2e3,le,V,J,te));return re.setUTCFullYear(oe),re.getUTCMonth()!==le||re.getUTCDate()!==V?e:re.getTime()+Z*a},l=Y.MIN_MS=Y.dateTime2ms("-9999"),g=Y.MAX_MS=Y.dateTime2ms("9999-12-31 23:59:59.9999"),Y.isDateTime=function(F,B){return Y.dateTime2ms(F,B)!==e};function x(F,B){return String(F+Math.pow(10,B)).slice(1)}var A=90*t,M=3*r,_=5*o;Y.ms2DateTime=function(F,B,O){if(typeof F!="number"||!(F>=l&&F<=g))return e;B||(B=0);var I=Math.floor(S(F+.05,1)*10),N=Math.round(F-I/10),U,X,ee,ue,oe,le;if(d(O)){var V=Math.floor(N/t)+i,J=Math.floor(S(F,t));try{U=n.getComponentMethod("calendars","getCal")(O).fromJD(V).formatDate("yyyy-mm-dd")}catch{U=s("G%Y-%m-%d")(new Date(N))}if(U.charAt(0)==="-")for(;U.length<11;)U="-0"+U.slice(1);else for(;U.length<10;)U="0"+U;X=B=l+t&&F<=g-t))return e;var B=Math.floor(S(F+.05,1)*10),O=new Date(Math.round(F-B/10)),I=G("%Y-%m-%d")(O),N=O.getHours(),U=O.getMinutes(),X=O.getSeconds(),ee=O.getUTCMilliseconds()*10+B;return w(I,N,U,X,ee)};function w(F,B,O,I,N){if((B||O||I||N)&&(F+=" "+x(B,2)+":"+x(O,2),(I||N)&&(F+=":"+x(I,2),N))){for(var U=4;N%10===0;)U-=1,N/=10;F+="."+x(N,U)}return F}Y.cleanDate=function(F,B,O){if(F===e)return B;if(Y.isJSDate(F)||typeof F=="number"&&isFinite(F)){if(d(O))return b.error("JS Dates and milliseconds are incompatible with world calendars",F),B;if(F=Y.ms2DateTimeLocal(+F),!F&&B!==void 0)return B}else if(!Y.isDateTime(F,O))return b.error("unrecognized date",F),B;return F};var m=/%\d?f/g,u=/%h/g,v={1:"1",2:"1",3:"2",4:"2"};function y(F,B,O,I){F=F.replace(m,function(U){var X=Math.min(+U.charAt(1)||6,6),ee=(B/1e3%1+2).toFixed(X).slice(2).replace(/0+$/,"")||"0";return ee});var N=new Date(Math.floor(B+.05));if(F=F.replace(u,function(){return v[O("%q")(N)]}),d(I))try{F=n.getComponentMethod("calendars","worldCalFmt")(F,B,I)}catch{return"Invalid"}return O(F)(N)}var R=[59,59.9,59.99,59.999,59.9999];function L(F,B){var O=S(F+.05,t),I=x(Math.floor(O/r),2)+":"+x(S(Math.floor(O/o),60),2);if(B!=="M"){h(B)||(B=0);var N=Math.min(S(F/a,60),R[B]),U=(100+N).toFixed(B).slice(1);B>0&&(U=U.replace(/0+$/,"").replace(/[\.]$/,"")),I+=":"+U}return I}Y.formatDate=function(F,B,O,I,N,U){if(N=d(N)&&N,!B)if(O==="y")B=U.year;else if(O==="m")B=U.month;else if(O==="d")B=U.dayMonth+` diff --git a/dashboard/static/index.html b/dashboard/static/index.html index 59174e42..d38aab67 100644 --- a/dashboard/static/index.html +++ b/dashboard/static/index.html @@ -6,8 +6,8 @@ AlphaTrion - - + + From eb8dbb1bf2f79dac927c550894492db20e64f69b Mon Sep 17 00:00:00 2001 From: kerthcet Date: Sat, 21 Feb 2026 20:33:48 +0000 Subject: [PATCH 2/2] optimize the chart Signed-off-by: kerthcet --- .../components/comparison/metrics-overlay.tsx | 11 +++-- .../dashboard/daily-token-usage-chart.tsx | 8 ++-- .../dashboard/experiments-status-chart.tsx | 6 +-- .../dashboard/experiments-timeline-chart.tsx | 8 ++-- .../src/components/metrics/metrics-chart.tsx | 44 +++++++++++-------- dashboard/src/pages/experiments/[id].tsx | 13 ++++-- dashboard/src/pages/projects/[id].tsx | 13 ++++-- .../{index-DripdgQr.js => index-CFDdrcuH.js} | 4 +- ...y-rXbFfZ8j.js => react-plotly-DaVBZ9j_.js} | 2 +- dashboard/static/index.html | 2 +- 10 files changed, 69 insertions(+), 42 deletions(-) rename dashboard/static/assets/{index-DripdgQr.js => index-CFDdrcuH.js} (91%) rename dashboard/static/assets/{react-plotly-rXbFfZ8j.js => react-plotly-DaVBZ9j_.js} (99%) diff --git a/dashboard/src/components/comparison/metrics-overlay.tsx b/dashboard/src/components/comparison/metrics-overlay.tsx index 9508ce5f..2f0413ea 100644 --- a/dashboard/src/components/comparison/metrics-overlay.tsx +++ b/dashboard/src/components/comparison/metrics-overlay.tsx @@ -130,17 +130,22 @@ export function MetricsOverlay({ experimentIds }: MetricsOverlayProps) { + - - + {metricKeys.map((key, index) => ( { if (!active || !payload || !payload.length) return null; const data = payload[0].payload; return (
-
{label}
-
+
{label}
+
Total: @@ -151,7 +151,7 @@ export function DailyTokenUsageChart({ data, timeRange }: DailyTokenUsageChartPr }} /> diff --git a/dashboard/src/components/dashboard/experiments-status-chart.tsx b/dashboard/src/components/dashboard/experiments-status-chart.tsx index 66d2660a..f4389b15 100644 --- a/dashboard/src/components/dashboard/experiments-status-chart.tsx +++ b/dashboard/src/components/dashboard/experiments-status-chart.tsx @@ -62,7 +62,7 @@ export function ExperimentsStatusChart({ experiments }: ExperimentsStatusChartPr cy="48%" outerRadius={58} label={({ name, value }) => `${name}: ${value}`} - style={{ fontSize: '11px' }} + style={{ fontSize: '10px' }} > {chartData.map((entry, index) => ( @@ -73,10 +73,10 @@ export function ExperimentsStatusChart({ experiments }: ExperimentsStatusChartPr backgroundColor: 'hsl(var(--card))', border: '1px solid hsl(var(--border))', borderRadius: '6px', - fontSize: '11px', + fontSize: '10px', }} /> - +
diff --git a/dashboard/src/components/dashboard/experiments-timeline-chart.tsx b/dashboard/src/components/dashboard/experiments-timeline-chart.tsx index d321362b..81d2cd79 100644 --- a/dashboard/src/components/dashboard/experiments-timeline-chart.tsx +++ b/dashboard/src/components/dashboard/experiments-timeline-chart.tsx @@ -101,15 +101,15 @@ export function ExperimentsTimelineChart({ experiments, timeRange }: Experiments backgroundColor: 'hsl(var(--card))', border: '1px solid hsl(var(--border))', borderRadius: '6px', - fontSize: '12px', + fontSize: '10px', }} content={({ active, payload, label }) => { if (!active || !payload || !payload.length) return null; const data = payload[0].payload; return (
-
{label}
-
+
{label}
+
Launched: @@ -121,7 +121,7 @@ export function ExperimentsTimelineChart({ experiments, timeRange }: Experiments }} /> diff --git a/dashboard/src/components/metrics/metrics-chart.tsx b/dashboard/src/components/metrics/metrics-chart.tsx index 78516bbd..aabe2c0b 100644 --- a/dashboard/src/components/metrics/metrics-chart.tsx +++ b/dashboard/src/components/metrics/metrics-chart.tsx @@ -345,18 +345,26 @@ export function MetricsChart({ metrics, experimentId, title = 'Metrics', descrip {/* View mode toggle */}
@@ -477,14 +485,14 @@ export function MetricsChart({ metrics, experimentId, title = 'Metrics', descrip -
+
Run: {data.runId}
-
+
{selectedKey}: {typeof data.value === 'number' ? data.value.toFixed(4) : data.value}
@@ -599,7 +607,7 @@ export function MetricsChart({ metrics, experimentId, title = 'Metrics', descrip xaxis: { title: { text: `${paretoMetrics[0].key} (${paretoMetrics[0].direction})`, - font: { size: 12, color: '#374151', family: 'system-ui' }, + font: { size: 10, color: '#374151', family: 'system-ui' }, }, gridcolor: '#e5e7eb', gridwidth: 1, @@ -610,7 +618,7 @@ export function MetricsChart({ metrics, experimentId, title = 'Metrics', descrip yaxis: { title: { text: `${paretoMetrics[1].key} (${paretoMetrics[1].direction})`, - font: { size: 12, color: '#374151', family: 'system-ui' }, + font: { size: 10, color: '#374151', family: 'system-ui' }, }, gridcolor: '#e5e7eb', gridwidth: 1, @@ -621,7 +629,7 @@ export function MetricsChart({ metrics, experimentId, title = 'Metrics', descrip zaxis: { title: { text: `${paretoMetrics[2].key} (${paretoMetrics[2].direction})`, - font: { size: 12, color: '#374151', family: 'system-ui' }, + font: { size: 10, color: '#374151', family: 'system-ui' }, }, gridcolor: '#e5e7eb', gridwidth: 1, @@ -672,9 +680,9 @@ export function MetricsChart({ metrics, experimentId, title = 'Metrics', descrip value: `${paretoMetrics[0].key} (${paretoMetrics[0].direction})`, position: 'insideBottom', offset: -10, - style: { fontSize: 12, fill: '#374151' } + style: { fontSize: 10, fill: '#374151' } }} - tick={{ fontSize: 11, fill: '#6b7280' }} + tick={{ fontSize: 10, fill: '#6b7280' }} domain={['dataMin - 0.1 * abs(dataMin)', 'dataMax + 0.1 * abs(dataMax)']} />
diff --git a/dashboard/src/pages/experiments/[id].tsx b/dashboard/src/pages/experiments/[id].tsx index 9860e6fc..85fe24d0 100644 --- a/dashboard/src/pages/experiments/[id].tsx +++ b/dashboard/src/pages/experiments/[id].tsx @@ -260,14 +260,21 @@ export function ExperimentDetailPage() { cy="48%" outerRadius={48} label={({ name, value }) => `${name}: ${value}`} - style={{ fontSize: '12px' }} + style={{ fontSize: '10px' }} > {runStatsData.map((entry, index) => ( ))} - - + +
diff --git a/dashboard/src/pages/projects/[id].tsx b/dashboard/src/pages/projects/[id].tsx index 7a0594d6..58a18d38 100644 --- a/dashboard/src/pages/projects/[id].tsx +++ b/dashboard/src/pages/projects/[id].tsx @@ -211,14 +211,21 @@ export function ProjectDetailPage() { cy="48%" outerRadius={48} label={({ name, value }) => `${name}: ${value}`} - style={{ fontSize: '12px' }} + style={{ fontSize: '10px' }} > {experimentStatsData.map((entry, index) => ( ))} - - + +
diff --git a/dashboard/static/assets/index-DripdgQr.js b/dashboard/static/assets/index-CFDdrcuH.js similarity index 91% rename from dashboard/static/assets/index-DripdgQr.js rename to dashboard/static/assets/index-CFDdrcuH.js index 194e29e9..6ffd69ec 100644 --- a/dashboard/static/assets/index-DripdgQr.js +++ b/dashboard/static/assets/index-CFDdrcuH.js @@ -531,14 +531,14 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function gue(e,t){if(e){if(typeof e=="string")return y0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return y0(e,t)}}function xue(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function bue(e){if(Array.isArray(e))return y0(e)}function y0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);rf){p=[].concat(Co(l.slice(0,v)),[f-m]);break}var g=p.length%2===0?[0,h]:[h];return[].concat(Co(t.repeat(l,c)),Co(p),g).map(function(y){return"".concat(y,"px")}).join(", ")}),Zr(r,"id",po("recharts-line-")),Zr(r,"pathRef",function(o){r.mainCurve=o}),Zr(r,"handleAnimationEnd",function(){r.setState({isAnimationFinished:!0}),r.props.onAnimationEnd&&r.props.onAnimationEnd()}),Zr(r,"handleAnimationStart",function(){r.setState({isAnimationFinished:!1}),r.props.onAnimationStart&&r.props.onAnimationStart()}),r}return Eue(t,e),Sue(t,[{key:"componentDidMount",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();this.setState({totalLength:n})}}},{key:"componentDidUpdate",value:function(){if(this.props.isAnimationActive){var n=this.getTotalLength();n!==this.state.totalLength&&this.setState({totalLength:n})}}},{key:"getTotalLength",value:function(){var n=this.mainCurve;try{return n&&n.getTotalLength&&n.getTotalLength()||0}catch{return 0}}},{key:"renderErrorBar",value:function(n,i){if(this.props.isAnimationActive&&!this.state.isAnimationFinished)return null;var a=this.props,o=a.points,s=a.xAxis,l=a.yAxis,u=a.layout,c=a.children,f=Yt(c,Ol);if(!f)return null;var h=function(m,g){return{x:m.x,y:m.y,value:m.value,errorVal:Xe(m.payload,g)}},p={clipPath:n?"url(#clipPath-".concat(i,")"):null};return k.createElement(pe,p,f.map(function(v){return k.cloneElement(v,{key:"bar-".concat(v.props.dataKey),data:o,xAxis:s,yAxis:l,layout:u,dataPointFormatter:h})}))}},{key:"renderDots",value:function(n,i,a){var o=this.props.isAnimationActive;if(o&&!this.state.isAnimationFinished)return null;var s=this.props,l=s.dot,u=s.points,c=s.dataKey,f=te(this.props,!1),h=te(l,!0),p=u.map(function(m,g){var y=pr(pr(pr({key:"dot-".concat(g),r:3},f),h),{},{index:g,cx:m.x,cy:m.y,value:m.value,dataKey:c,payload:m.payload,points:u});return t.renderDotItem(l,y)}),v={clipPath:n?"url(#clipPath-".concat(i?"":"dots-").concat(a,")"):null};return k.createElement(pe,pu({className:"recharts-line-dots",key:"dots"},v),p)}},{key:"renderCurveStatically",value:function(n,i,a,o){var s=this.props,l=s.type,u=s.layout,c=s.connectNulls;s.ref;var f=XP(s,pue),h=pr(pr(pr({},te(f,!0)),{},{fill:"none",className:"recharts-line-curve",clipPath:i?"url(#clipPath-".concat(a,")"):null,points:n},o),{},{type:l,layout:u,connectNulls:c});return k.createElement(oc,pu({},h,{pathRef:this.pathRef}))}},{key:"renderCurveWithAnimation",value:function(n,i){var a=this,o=this.props,s=o.points,l=o.strokeDasharray,u=o.isAnimationActive,c=o.animationBegin,f=o.animationDuration,h=o.animationEasing,p=o.animationId,v=o.animateNewValues,m=o.width,g=o.height,y=this.state,x=y.prevPoints,b=y.totalLength;return k.createElement(un,{begin:c,duration:f,isActive:u,easing:h,from:{t:0},to:{t:1},key:"line-".concat(p),onAnimationEnd:this.handleAnimationEnd,onAnimationStart:this.handleAnimationStart},function(S){var w=S.t;if(x){var O=x.length/s.length,j=s.map(function(N,M){var R=Math.floor(M*O);if(x[R]){var I=x[R],D=Nt(I.x,N.x),z=Nt(I.y,N.y);return pr(pr({},N),{},{x:D(w),y:z(w)})}if(v){var C=Nt(m*2,N.x),F=Nt(g/2,N.y);return pr(pr({},N),{},{x:C(w),y:F(w)})}return pr(pr({},N),{},{x:N.x,y:N.y})});return a.renderCurveStatically(j,n,i)}var E=Nt(0,b),A=E(w),T;if(l){var _="".concat(l).split(/[,\s]+/gim).map(function(N){return parseFloat(N)});T=a.getStrokeDasharray(A,b,_)}else T=a.generateSimpleStrokeDasharray(b,A);return a.renderCurveStatically(s,n,i,{strokeDasharray:T})})}},{key:"renderCurve",value:function(n,i){var a=this.props,o=a.points,s=a.isAnimationActive,l=this.state,u=l.prevPoints,c=l.totalLength;return s&&o&&o.length&&(!u&&c>0||!bl(u,o))?this.renderCurveWithAnimation(n,i):this.renderCurveStatically(o,n,i)}},{key:"render",value:function(){var n,i=this.props,a=i.hide,o=i.dot,s=i.points,l=i.className,u=i.xAxis,c=i.yAxis,f=i.top,h=i.left,p=i.width,v=i.height,m=i.isAnimationActive,g=i.id;if(a||!s||!s.length)return null;var y=this.state.isAnimationFinished,x=s.length===1,b=ue("recharts-line",l),S=u&&u.allowDataOverflow,w=c&&c.allowDataOverflow,O=S||w,j=ae(g)?this.id:g,E=(n=te(o,!1))!==null&&n!==void 0?n:{r:3,strokeWidth:2},A=E.r,T=A===void 0?3:A,_=E.strokeWidth,N=_===void 0?2:_,M=q8(o)?o:{},R=M.clipDot,I=R===void 0?!0:R,D=T*2+N;return k.createElement(pe,{className:b},S||w?k.createElement("defs",null,k.createElement("clipPath",{id:"clipPath-".concat(j)},k.createElement("rect",{x:S?h:h-p/2,y:w?f:f-v/2,width:S?p:p*2,height:w?v:v*2})),!I&&k.createElement("clipPath",{id:"clipPath-dots-".concat(j)},k.createElement("rect",{x:h-D/2,y:f-D/2,width:p+D,height:v+D}))):null,!x&&this.renderCurve(O,j),this.renderErrorBar(O,j),(x||o)&&this.renderDots(O,I,j),(!m||y)&&En.renderCallByParent(this.props,s))}}],[{key:"getDerivedStateFromProps",value:function(n,i){return n.animationId!==i.prevAnimationId?{prevAnimationId:n.animationId,curPoints:n.points,prevPoints:i.curPoints}:n.points!==i.curPoints?{curPoints:n.points}:null}},{key:"repeat",value:function(n,i){for(var a=n.length%2!==0?[].concat(Co(n),[0]):n,o=[],s=0;s=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Lue(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Fue(e){var t=e.option,r=e.isActive,n=Rue(e,Due);return typeof t=="string"?P.createElement(wh,mu({option:P.createElement(Cp,mu({type:t},n)),isActive:r,shapeType:"symbols"},n)):P.createElement(wh,mu({option:t,isActive:r,shapeType:"symbols"},n))}function Js(e){"@babel/helpers - typeof";return Js=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},Js(e)}function vu(){return vu=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}function Mce(e,t){if(e==null)return{};var r={};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(t.indexOf(n)>=0)continue;r[n]=e[n]}return r}function Ice(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Dce(e,t){for(var r=0;re.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?o:t&&t.length&&q(i)&&q(a)?t.slice(i,a+1):[]};function v2(e){return e==="number"?[0,"auto"]:void 0}var T0=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,s=om(r,t);return n<0||!a||!a.length||n>=s.length?null:a.reduce(function(l,u){var c,f=(c=u.props.data)!==null&&c!==void 0?c:r;f&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(f=f.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var p=f===void 0?s:f;h=Md(p,o.dataKey,i)}else h=f&&f[n]||s[n];return h?[].concat(rl(l),[QC(u,h)]):l},[])},oE=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=Gce(a,n),s=t.orderedTooltipTicks,l=t.tooltipAxis,u=t.tooltipTicks,c=Vee(o,s,u,l);if(c>=0&&u){var f=u[c]&&u[c].value,h=T0(t,r,c,f),p=Yce(n,s,c,a);return{activeTooltipIndex:c,activeLabel:f,activePayload:h,activeCoordinate:p}}return null},Xce=function(t,r){var n=r.axes,i=r.graphicalItems,a=r.axisType,o=r.axisIdKey,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.layout,f=t.children,h=t.stackOffset,p=KC(c,a);return n.reduce(function(v,m){var g,y=m.type.defaultProps!==void 0?B(B({},m.type.defaultProps),m.props):m.props,x=y.type,b=y.dataKey,S=y.allowDataOverflow,w=y.allowDuplicatedCategory,O=y.scale,j=y.ticks,E=y.includeHidden,A=y[o];if(v[A])return v;var T=om(t.data,{graphicalItems:i.filter(function(H){var Y,re=o in H.props?H.props[o]:(Y=H.type.defaultProps)===null||Y===void 0?void 0:Y[o];return re===A}),dataStartIndex:l,dataEndIndex:u}),_=T.length,N,M,R;Sce(y.domain,S,x)&&(N=zg(y.domain,null,S),p&&(x==="number"||O!=="auto")&&(R=cu(T,b,"category")));var I=v2(x);if(!N||N.length===0){var D,z=(D=y.domain)!==null&&D!==void 0?D:I;if(b){if(N=cu(T,b,x),x==="category"&&p){var C=I8(N);w&&C?(M=N,N=Oh(0,_)):w||(N=Tj(z,N,m).reduce(function(H,Y){return H.indexOf(Y)>=0?H:[].concat(rl(H),[Y])},[]))}else if(x==="category")w?N=N.filter(function(H){return H!==""&&!ae(H)}):N=Tj(z,N,m).reduce(function(H,Y){return H.indexOf(Y)>=0||Y===""||ae(Y)?H:[].concat(rl(H),[Y])},[]);else if(x==="number"){var F=Jee(T,i.filter(function(H){var Y,re,be=o in H.props?H.props[o]:(Y=H.type.defaultProps)===null||Y===void 0?void 0:Y[o],Ke="hide"in H.props?H.props.hide:(re=H.type.defaultProps)===null||re===void 0?void 0:re.hide;return be===A&&(E||!Ke)}),b,a,c);F&&(N=F)}p&&(x==="number"||O!=="auto")&&(R=cu(T,b,"category"))}else p?N=Oh(0,_):s&&s[A]&&s[A].hasStack&&x==="number"?N=h==="expand"?[0,1]:XC(s[A].stackGroups,l,u):N=HC(T,i.filter(function(H){var Y=o in H.props?H.props[o]:H.type.defaultProps[o],re="hide"in H.props?H.props.hide:H.type.defaultProps.hide;return Y===A&&(E||!re)}),x,c,!0);if(x==="number")N=E0(f,N,A,a,j),z&&(N=zg(z,N,S));else if(x==="category"&&z){var W=z,V=N.every(function(H){return W.indexOf(H)>=0});V&&(N=W)}}return B(B({},v),{},ie({},A,B(B({},y),{},{axisType:a,domain:N,categoricalDomain:R,duplicateDomain:M,originalDomain:(g=y.domain)!==null&&g!==void 0?g:I,isCategorical:p,layout:c})))},{})},Qce=function(t,r){var n=r.graphicalItems,i=r.Axis,a=r.axisType,o=r.axisIdKey,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.layout,f=t.children,h=om(t.data,{graphicalItems:n,dataStartIndex:l,dataEndIndex:u}),p=h.length,v=KC(c,a),m=-1;return n.reduce(function(g,y){var x=y.type.defaultProps!==void 0?B(B({},y.type.defaultProps),y.props):y.props,b=x[o],S=v2("number");if(!g[b]){m++;var w;return v?w=Oh(0,p):s&&s[b]&&s[b].hasStack?(w=XC(s[b].stackGroups,l,u),w=E0(f,w,b,a)):(w=zg(S,HC(h,n.filter(function(O){var j,E,A=o in O.props?O.props[o]:(j=O.type.defaultProps)===null||j===void 0?void 0:j[o],T="hide"in O.props?O.props.hide:(E=O.type.defaultProps)===null||E===void 0?void 0:E.hide;return A===b&&!T}),"number",c),i.defaultProps.allowDataOverflow),w=E0(f,w,b,a)),B(B({},g),{},ie({},b,B(B({axisType:a},i.defaultProps),{},{hide:!0,orientation:wr(qce,"".concat(a,".").concat(m%2),null),domain:w,originalDomain:S,isCategorical:v,layout:c})))}return g},{})},Jce=function(t,r){var n=r.axisType,i=n===void 0?"xAxis":n,a=r.AxisComp,o=r.graphicalItems,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.children,f="".concat(i,"Id"),h=Yt(c,a),p={};return h&&h.length?p=Xce(t,{axes:h,graphicalItems:o,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:l,dataEndIndex:u}):o&&o.length&&(p=Qce(t,{Axis:a,graphicalItems:o,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:l,dataEndIndex:u})),p},Zce=function(t){var r=Si(t),n=Kn(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:db(n,function(i){return i.coordinate}),tooltipAxis:r,tooltipAxisBandSize:uh(r,n)}},sE=function(t){var r=t.children,n=t.defaultShowTooltip,i=yr(r,Ws),a=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(a=i.props.startIndex),i.props.endIndex>=0&&(o=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:a,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!n}},efe=function(t){return!t||!t.length?!1:t.some(function(r){var n=Vn(r&&r.type);return n&&n.indexOf("Bar")>=0})},lE=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"}},tfe=function(t,r){var n=t.props,i=t.graphicalItems,a=t.xAxisMap,o=a===void 0?{}:a,s=t.yAxisMap,l=s===void 0?{}:s,u=n.width,c=n.height,f=n.children,h=n.margin||{},p=yr(f,Ws),v=yr(f,Br),m=Object.keys(l).reduce(function(w,O){var j=l[O],E=j.orientation;return!j.mirror&&!j.hide?B(B({},w),{},ie({},E,w[E]+j.width)):w},{left:h.left||0,right:h.right||0}),g=Object.keys(o).reduce(function(w,O){var j=o[O],E=j.orientation;return!j.mirror&&!j.hide?B(B({},w),{},ie({},E,wr(w,"".concat(E))+j.height)):w},{top:h.top||0,bottom:h.bottom||0}),y=B(B({},g),m),x=y.bottom;p&&(y.bottom+=p.props.height||Ws.defaultProps.height),v&&r&&(y=Xee(y,i,n,r));var b=u-y.left-y.right,S=c-y.top-y.bottom;return B(B({brushBottom:x},y),{},{width:Math.max(b,0),height:Math.max(S,0)})},rfe=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},Yb=function(t){var r=t.chartName,n=t.GraphicalChild,i=t.defaultTooltipEventType,a=i===void 0?"axis":i,o=t.validateTooltipEventTypes,s=o===void 0?["axis"]:o,l=t.axisComponents,u=t.legendContent,c=t.formatAxisMap,f=t.defaultProps,h=function(y,x){var b=x.graphicalItems,S=x.stackGroups,w=x.offset,O=x.updateId,j=x.dataStartIndex,E=x.dataEndIndex,A=y.barSize,T=y.layout,_=y.barGap,N=y.barCategoryGap,M=y.maxBarSize,R=lE(T),I=R.numericAxisName,D=R.cateAxisName,z=efe(b),C=[];return b.forEach(function(F,W){var V=om(y.data,{graphicalItems:[F],dataStartIndex:j,dataEndIndex:E}),H=F.type.defaultProps!==void 0?B(B({},F.type.defaultProps),F.props):F.props,Y=H.dataKey,re=H.maxBarSize,be=H["".concat(I,"Id")],Ke=H["".concat(D,"Id")],Se={},Pt=l.reduce(function(la,ua){var hm=x["".concat(ua.axisType,"Map")],aw=H["".concat(ua.axisType,"Id")];hm&&hm[aw]||ua.axisType==="zAxis"||ro();var ow=hm[aw];return B(B({},la),{},ie(ie({},ua.axisType,ow),"".concat(ua.axisType,"Ticks"),Kn(ow)))},Se),G=Pt[D],se=Pt["".concat(D,"Ticks")],le=S&&S[be]&&S[be].hasStack&&ste(F,S[be].stackGroups),U=Vn(F.type).indexOf("Bar")>=0,Ze=uh(G,se),ge=[],ct=z&&Gee({barSize:A,stackGroups:S,totalSize:rfe(Pt,D)});if(U){var ft,er,ci=ae(re)?M:re,jo=(ft=(er=uh(G,se,!0))!==null&&er!==void 0?er:ci)!==null&&ft!==void 0?ft:0;ge=Yee({barGap:_,barCategoryGap:N,bandSize:jo!==Ze?jo:Ze,sizeList:ct[Ke],maxBarSize:ci}),jo!==Ze&&(ge=ge.map(function(la){return B(B({},la),{},{position:B(B({},la.position),{},{offset:la.position.offset-jo/2})})}))}var Vc=F&&F.type&&F.type.getComposedData;Vc&&C.push({props:B(B({},Vc(B(B({},Pt),{},{displayedData:V,props:y,dataKey:Y,item:F,bandSize:Ze,barPosition:ge,offset:w,stackedData:le,layout:T,dataStartIndex:j,dataEndIndex:E}))),{},ie(ie(ie({key:F.key||"item-".concat(W)},I,Pt[I]),D,Pt[D]),"animationId",O)),childIndex:Y8(F,y.children),item:F})}),C},p=function(y,x){var b=y.props,S=y.dataStartIndex,w=y.dataEndIndex,O=y.updateId;if(!OS({props:b}))return null;var j=b.children,E=b.layout,A=b.stackOffset,T=b.data,_=b.reverseStackOrder,N=lE(E),M=N.numericAxisName,R=N.cateAxisName,I=Yt(j,n),D=ate(T,I,"".concat(M,"Id"),"".concat(R,"Id"),A,_),z=l.reduce(function(H,Y){var re="".concat(Y.axisType,"Map");return B(B({},H),{},ie({},re,Jce(b,B(B({},Y),{},{graphicalItems:I,stackGroups:Y.axisType===M&&D,dataStartIndex:S,dataEndIndex:w}))))},{}),C=tfe(B(B({},z),{},{props:b,graphicalItems:I}),x==null?void 0:x.legendBBox);Object.keys(z).forEach(function(H){z[H]=c(b,z[H],C,H.replace("Map",""),r)});var F=z["".concat(R,"Map")],W=Zce(F),V=h(b,B(B({},z),{},{dataStartIndex:S,dataEndIndex:w,updateId:O,graphicalItems:I,stackGroups:D,offset:C}));return B(B({formattedGraphicalItems:V,graphicalItems:I,offset:C,stackGroups:D},W),z)},v=function(g){function y(x){var b,S,w;return Ice(this,y),w=Lce(this,y,[x]),ie(w,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),ie(w,"accessibilityManager",new wce),ie(w,"handleLegendBBoxUpdate",function(O){if(O){var j=w.state,E=j.dataStartIndex,A=j.dataEndIndex,T=j.updateId;w.setState(B({legendBBox:O},p({props:w.props,dataStartIndex:E,dataEndIndex:A,updateId:T},B(B({},w.state),{},{legendBBox:O}))))}}),ie(w,"handleReceiveSyncEvent",function(O,j,E){if(w.props.syncId===O){if(E===w.eventEmitterSymbol&&typeof w.props.syncMethod!="function")return;w.applySyncEvent(j)}}),ie(w,"handleBrushChange",function(O){var j=O.startIndex,E=O.endIndex;if(j!==w.state.dataStartIndex||E!==w.state.dataEndIndex){var A=w.state.updateId;w.setState(function(){return B({dataStartIndex:j,dataEndIndex:E},p({props:w.props,dataStartIndex:j,dataEndIndex:E,updateId:A},w.state))}),w.triggerSyncEvent({dataStartIndex:j,dataEndIndex:E})}}),ie(w,"handleMouseEnter",function(O){var j=w.getMouseInfo(O);if(j){var E=B(B({},j),{},{isTooltipActive:!0});w.setState(E),w.triggerSyncEvent(E);var A=w.props.onMouseEnter;oe(A)&&A(E,O)}}),ie(w,"triggeredAfterMouseMove",function(O){var j=w.getMouseInfo(O),E=j?B(B({},j),{},{isTooltipActive:!0}):{isTooltipActive:!1};w.setState(E),w.triggerSyncEvent(E);var A=w.props.onMouseMove;oe(A)&&A(E,O)}),ie(w,"handleItemMouseEnter",function(O){w.setState(function(){return{isTooltipActive:!0,activeItem:O,activePayload:O.tooltipPayload,activeCoordinate:O.tooltipPosition||{x:O.cx,y:O.cy}}})}),ie(w,"handleItemMouseLeave",function(){w.setState(function(){return{isTooltipActive:!1}})}),ie(w,"handleMouseMove",function(O){O.persist(),w.throttleTriggeredAfterMouseMove(O)}),ie(w,"handleMouseLeave",function(O){w.throttleTriggeredAfterMouseMove.cancel();var j={isTooltipActive:!1};w.setState(j),w.triggerSyncEvent(j);var E=w.props.onMouseLeave;oe(E)&&E(j,O)}),ie(w,"handleOuterEvent",function(O){var j=G8(O),E=wr(w.props,"".concat(j));if(j&&oe(E)){var A,T;/.*touch.*/i.test(j)?T=w.getMouseInfo(O.changedTouches[0]):T=w.getMouseInfo(O),E((A=T)!==null&&A!==void 0?A:{},O)}}),ie(w,"handleClick",function(O){var j=w.getMouseInfo(O);if(j){var E=B(B({},j),{},{isTooltipActive:!0});w.setState(E),w.triggerSyncEvent(E);var A=w.props.onClick;oe(A)&&A(E,O)}}),ie(w,"handleMouseDown",function(O){var j=w.props.onMouseDown;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleMouseUp",function(O){var j=w.props.onMouseUp;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleTouchMove",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.throttleTriggeredAfterMouseMove(O.changedTouches[0])}),ie(w,"handleTouchStart",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseDown(O.changedTouches[0])}),ie(w,"handleTouchEnd",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseUp(O.changedTouches[0])}),ie(w,"handleDoubleClick",function(O){var j=w.props.onDoubleClick;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleContextMenu",function(O){var j=w.props.onContextMenu;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"triggerSyncEvent",function(O){w.props.syncId!==void 0&&wv.emit(Sv,w.props.syncId,O,w.eventEmitterSymbol)}),ie(w,"applySyncEvent",function(O){var j=w.props,E=j.layout,A=j.syncMethod,T=w.state.updateId,_=O.dataStartIndex,N=O.dataEndIndex;if(O.dataStartIndex!==void 0||O.dataEndIndex!==void 0)w.setState(B({dataStartIndex:_,dataEndIndex:N},p({props:w.props,dataStartIndex:_,dataEndIndex:N,updateId:T},w.state)));else if(O.activeTooltipIndex!==void 0){var M=O.chartX,R=O.chartY,I=O.activeTooltipIndex,D=w.state,z=D.offset,C=D.tooltipTicks;if(!z)return;if(typeof A=="function")I=A(C,O);else if(A==="value"){I=-1;for(var F=0;F=0){var le,U;if(M.dataKey&&!M.allowDuplicatedCategory){var Ze=typeof M.dataKey=="function"?se:"payload.".concat(M.dataKey.toString());le=Md(F,Ze,I),U=W&&V&&Md(V,Ze,I)}else le=F==null?void 0:F[R],U=W&&V&&V[R];if(Ke||be){var ge=O.props.activeIndex!==void 0?O.props.activeIndex:R;return[P.cloneElement(O,B(B(B({},A.props),Pt),{},{activeIndex:ge})),null,null]}if(!ae(le))return[G].concat(rl(w.renderActivePoints({item:A,activePoint:le,basePoint:U,childIndex:R,isRange:W})))}else{var ct,ft=(ct=w.getItemByXY(w.state.activeCoordinate))!==null&&ct!==void 0?ct:{graphicalItem:G},er=ft.graphicalItem,ci=er.item,jo=ci===void 0?O:ci,Vc=er.childIndex,la=B(B(B({},A.props),Pt),{},{activeIndex:Vc});return[P.cloneElement(jo,la),null,null]}return W?[G,null,null]:[G,null]}),ie(w,"renderCustomized",function(O,j,E){return P.cloneElement(O,B(B({key:"recharts-customized-".concat(E)},w.props),w.state))}),ie(w,"renderMap",{CartesianGrid:{handler:kf,once:!0},ReferenceArea:{handler:w.renderReferenceElement},ReferenceLine:{handler:kf},ReferenceDot:{handler:w.renderReferenceElement},XAxis:{handler:kf},YAxis:{handler:kf},Brush:{handler:w.renderBrush,once:!0},Bar:{handler:w.renderGraphicChild},Line:{handler:w.renderGraphicChild},Area:{handler:w.renderGraphicChild},Radar:{handler:w.renderGraphicChild},RadialBar:{handler:w.renderGraphicChild},Scatter:{handler:w.renderGraphicChild},Pie:{handler:w.renderGraphicChild},Funnel:{handler:w.renderGraphicChild},Tooltip:{handler:w.renderCursor,once:!0},PolarGrid:{handler:w.renderPolarGrid,once:!0},PolarAngleAxis:{handler:w.renderPolarAxis},PolarRadiusAxis:{handler:w.renderPolarAxis},Customized:{handler:w.renderCustomized}}),w.clipPathId="".concat((b=x.id)!==null&&b!==void 0?b:po("recharts"),"-clip"),w.throttleTriggeredAfterMouseMove=zk(w.triggeredAfterMouseMove,(S=x.throttleDelay)!==null&&S!==void 0?S:1e3/60),w.state={},w}return zce(y,g),Rce(y,[{key:"componentDidMount",value:function(){var b,S;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(b=this.props.margin.left)!==null&&b!==void 0?b:0,top:(S=this.props.margin.top)!==null&&S!==void 0?S:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var b=this.props,S=b.children,w=b.data,O=b.height,j=b.layout,E=yr(S,_t);if(E){var A=E.props.defaultIndex;if(!(typeof A!="number"||A<0||A>this.state.tooltipTicks.length-1)){var T=this.state.tooltipTicks[A]&&this.state.tooltipTicks[A].value,_=T0(this.state,w,A,T),N=this.state.tooltipTicks[A].coordinate,M=(this.state.offset.top+O)/2,R=j==="horizontal",I=R?{x:N,y:M}:{y:N,x:M},D=this.state.formattedGraphicalItems.find(function(C){var F=C.item;return F.type.name==="Scatter"});D&&(I=B(B({},I),D.props.points[A].tooltipPosition),_=D.props.points[A].tooltipPayload);var z={activeTooltipIndex:A,isTooltipActive:!0,activeLabel:T,activePayload:_,activeCoordinate:I};this.setState(z),this.renderCursor(E),this.accessibilityManager.setIndex(A)}}}},{key:"getSnapshotBeforeUpdate",value:function(b,S){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==S.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==b.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==b.margin){var w,O;this.accessibilityManager.setDetails({offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(O=this.props.margin.top)!==null&&O!==void 0?O:0}})}return null}},{key:"componentDidUpdate",value:function(b){rg([yr(b.children,_t)],[yr(this.props.children,_t)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var b=yr(this.props.children,_t);if(b&&typeof b.props.shared=="boolean"){var S=b.props.shared?"axis":"item";return s.indexOf(S)>=0?S:a}return a}},{key:"getMouseInfo",value:function(b){if(!this.container)return null;var S=this.container,w=S.getBoundingClientRect(),O=wX(w),j={chartX:Math.round(b.pageX-O.left),chartY:Math.round(b.pageY-O.top)},E=w.width/S.offsetWidth||1,A=this.inRange(j.chartX,j.chartY,E);if(!A)return null;var T=this.state,_=T.xAxisMap,N=T.yAxisMap,M=this.getTooltipEventType(),R=oE(this.state,this.props.data,this.props.layout,A);if(M!=="axis"&&_&&N){var I=Si(_).scale,D=Si(N).scale,z=I&&I.invert?I.invert(j.chartX):null,C=D&&D.invert?D.invert(j.chartY):null;return B(B({},j),{},{xValue:z,yValue:C},R)}return R?B(B({},j),R):null}},{key:"inRange",value:function(b,S){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,O=this.props.layout,j=b/w,E=S/w;if(O==="horizontal"||O==="vertical"){var A=this.state.offset,T=j>=A.left&&j<=A.left+A.width&&E>=A.top&&E<=A.top+A.height;return T?{x:j,y:E}:null}var _=this.state,N=_.angleAxisMap,M=_.radiusAxisMap;if(N&&M){var R=Si(N);return Cj({x:j,y:E},R)}return null}},{key:"parseEventsOfWrapper",value:function(){var b=this.props.children,S=this.getTooltipEventType(),w=yr(b,_t),O={};w&&S==="axis"&&(w.props.trigger==="click"?O={onClick:this.handleClick}:O={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 j=Id(this.props,this.handleOuterEvent);return B(B({},j),O)}},{key:"addListener",value:function(){wv.on(Sv,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){wv.removeListener(Sv,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(b,S,w){for(var O=this.state.formattedGraphicalItems,j=0,E=O.length;j{const i=ife.find(s=>s.value===t);if(!i)return[];const a=new Date,o=new Map;for(let s=0;s{const l=new Date(s.createdAt),u=qi(Jy(l),"yyyy-MM-dd"),c=o.get(u)||0;o.set(u,c+1)}),Array.from(o.entries()).map(([s,l])=>({date:s,experiments:l,displayDate:qi(new Date(s),"MMM dd")})).sort((s,l)=>s.date.localeCompare(l.date))},[e,t]),n=P.useMemo(()=>e.length,[e]);return d.jsxs("div",{className:"space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Experiments Timeline"}),d.jsxs("div",{className:"text-xs text-muted-foreground",children:["Total: ",n]})]}),d.jsx(Zi,{width:"100%",height:260,children:d.jsxs(sm,{data:r,margin:{left:0,right:15,top:15,bottom:15},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e2e8f0",opacity:.5}),d.jsx(ri,{dataKey:"displayDate",tick:{fontSize:10},angle:-45,textAnchor:"end",height:70}),d.jsx(ni,{tick:{fontSize:10},width:40,label:{value:"Count",angle:-90,position:"insideLeft",offset:8,style:{textAnchor:"middle",fontSize:11}}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"12px"},content:({active:i,payload:a,label:o})=>{if(!i||!a||!a.length)return null;const s=a[0].payload;return d.jsxs("div",{className:"bg-card border border-border rounded-md p-2 shadow-sm",children:[d.jsx("div",{className:"text-xs font-medium mb-1.5",children:o}),d.jsx("div",{className:"space-y-0.5 text-xs",children:d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-purple-400"}),d.jsx("span",{className:"text-muted-foreground",children:"Launched:"}),d.jsx("span",{className:"font-medium ml-auto",children:s.experiments})]})})]})}}),d.jsx(Br,{wrapperStyle:{fontSize:"11px"},iconType:"circle",iconSize:8}),d.jsx(_n,{type:"monotone",dataKey:"experiments",stroke:"#a78bfa",strokeWidth:2,dot:{fill:"#a78bfa",r:3},activeDot:{r:5},name:"Launched"})]})})]})}const uE={COMPLETED:"#22c55e",RUNNING:"#3b82f6",FAILED:"#ef4444",PENDING:"#eab308",CANCELLED:"#6b7280",UNKNOWN:"#a78bfa"};function ofe({experiments:e}){const t=P.useMemo(()=>{const r=new Map;return e.forEach(n=>{const i=n.status,a=r.get(i)||0;r.set(i,a+1)}),Array.from(r.entries()).map(([n,i])=>({name:n,value:i,color:uE[n]||uE.UNKNOWN})).sort((n,i)=>i.value-n.value)},[e]);return t.length===0?d.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"No data available"}):d.jsxs("div",{className:"space-y-3",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Experiments Distribution"}),d.jsx(Zi,{width:"100%",height:220,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:t,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:58,label:({name:r,value:n})=>`${r}: ${n}`,style:{fontSize:"11px"},children:t.map((r,n)=>d.jsx(mo,{fill:r.color},`cell-${n}`))}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"11px"}}),d.jsx(Br,{wrapperStyle:{fontSize:"11px"}})]})})]})}const sfe=[{value:"7days",label:"7 Days",days:7},{value:"1month",label:"1 Month",days:30},{value:"3months",label:"3 Months",days:90}];function lfe({data:e,timeRange:t}){const r=P.useMemo(()=>{const o=sfe.find(u=>u.value===t);if(!o)return[];const s=new Date,l=new Map;for(let u=0;u{const c=qi(new Date(u.date),"yyyy-MM-dd");l.has(c)&&l.set(c,{totalTokens:u.totalTokens,inputTokens:u.inputTokens,outputTokens:u.outputTokens})}),Array.from(l.entries()).map(([u,c])=>({date:u,displayDate:qi(new Date(u),"MMM dd"),totalTokens:c.totalTokens,inputTokens:c.inputTokens,outputTokens:c.outputTokens})).sort((u,c)=>u.date.localeCompare(c.date))},[e,t]),n=P.useMemo(()=>r.reduce((o,s)=>o+s.totalTokens,0),[r]),i=P.useMemo(()=>r.reduce((o,s)=>o+s.inputTokens,0),[r]),a=P.useMemo(()=>r.reduce((o,s)=>o+s.outputTokens,0),[r]);return d.jsxs("div",{className:"space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Token Usage"}),d.jsxs("div",{className:"text-xs text-muted-foreground",children:["Total: ",n.toLocaleString()," (",i.toLocaleString(),"↓ ",a.toLocaleString(),"↑)"]})]}),d.jsx(Zi,{width:"100%",height:260,children:d.jsxs(sm,{data:r,margin:{left:10,right:15,top:15,bottom:15},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e2e8f0",opacity:.5}),d.jsx(ri,{dataKey:"displayDate",tick:{fontSize:10},angle:-45,textAnchor:"end",height:70}),d.jsx(ni,{tick:{fontSize:10},width:50,tickFormatter:o=>o>=1e6?`${(o/1e6).toFixed(1)}M`:o>=1e3?`${(o/1e3).toFixed(1)}K`:o.toString(),label:{value:"Tokens",angle:-90,position:"insideLeft",offset:-5,style:{textAnchor:"middle",fontSize:11}}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"12px"},content:({active:o,payload:s,label:l})=>{if(!o||!s||!s.length)return null;const u=s[0].payload;return d.jsxs("div",{className:"bg-card border border-border rounded-md p-2 shadow-sm",children:[d.jsx("div",{className:"text-xs font-medium mb-1.5",children:l}),d.jsxs("div",{className:"space-y-0.5 text-xs",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Total:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.totalTokens.toLocaleString()})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Input:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.inputTokens.toLocaleString()})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-orange-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Output:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.outputTokens.toLocaleString()})]})]})]})}}),d.jsx(Br,{wrapperStyle:{fontSize:"11px"},iconType:"circle",iconSize:8}),d.jsx(_n,{type:"monotone",dataKey:"totalTokens",stroke:"#3b82f6",strokeWidth:2,dot:{fill:"#3b82f6",r:3},activeDot:{r:5},name:"Total"}),d.jsx(_n,{type:"monotone",dataKey:"inputTokens",stroke:"#10b981",strokeWidth:2,dot:{fill:"#10b981",r:3},activeDot:{r:5},name:"Input"}),d.jsx(_n,{type:"monotone",dataKey:"outputTokens",stroke:"#f59e0b",strokeWidth:2,dot:{fill:"#f59e0b",r:3},activeDot:{r:5},name:"Output"})]})})]})}const cE=[{value:"7days",label:"7 Days",days:7},{value:"1month",label:"1 Month",days:30},{value:"3months",label:"3 Months",days:90}];function ufe(){var f;const{selectedTeamId:e}=fo(),[t,r]=P.useState("7days"),{data:n,isLoading:i}=T5(e||""),{data:a,isLoading:o}=eB(e||"",{enabled:!!e}),s=((f=cE.find(h=>h.value===t))==null?void 0:f.days)||30,{data:l,isLoading:u}=tB(e||"",s),c=P.useMemo(()=>{if(!a)return[];const h=new Date,p=t==="7days"?Wx(h,7):t==="1month"?Zy(h,1):Zy(h,3);return a.filter(v=>{const m=new Date(v.createdAt);return m>=p&&m<=h})},[a,t]);return d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"pb-2 border-b",children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Dashboard"}),e&&d.jsxs("p",{className:"mt-0.5 text-muted-foreground font-mono text-xs",children:["TeamID: ",e]})]}),d.jsx("div",{children:d.jsx("h2",{className:"text-base font-semibold text-foreground mb-2",children:"Overview"})}),i?d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-2.5",children:[d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"})]}):d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-2.5",children:[d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"PROJECTS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalProjects)||0})]}),d.jsx("div",{className:"p-1.5 bg-blue-100 rounded-lg",children:d.jsx(iN,{className:"h-3.5 w-3.5 text-blue-600"})})]})})}),d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"EXPERIMENTS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalExperiments)||0})]}),d.jsx("div",{className:"p-1.5 bg-purple-100 rounded-lg",children:d.jsx(yF,{className:"h-3.5 w-3.5 text-purple-600"})})]})})}),d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"RUNS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalRuns)||0})]}),d.jsx("div",{className:"p-1.5 bg-green-100 rounded-lg",children:d.jsx(TF,{className:"h-3.5 w-3.5 text-green-600"})})]})})})]}),d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h2",{className:"text-base font-semibold text-foreground",children:"Activity"}),d.jsx("div",{className:"flex gap-1",children:cE.map(h=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(h.value),className:`h-8 px-2.5 text-xs transition-colors ${t===h.value?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:h.label},h.value))})]}),d.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[d.jsx(de,{children:d.jsx(he,{className:"p-4",children:o?d.jsx(Te,{className:"h-56 w-full"}):c&&c.length>0?d.jsx(ofe,{experiments:c}):d.jsx("div",{className:"flex h-56 items-center justify-center text-sm text-muted-foreground",children:"No experiments data available for this time range"})})}),d.jsx(de,{children:d.jsx(he,{className:"p-4",children:o?d.jsx(Te,{className:"h-56 w-full"}):c&&c.length>0?d.jsx(afe,{experiments:c,timeRange:t}):d.jsx("div",{className:"flex h-56 items-center justify-center text-sm text-muted-foreground",children:"No experiments data available for this time range"})})})]}),d.jsx(de,{children:d.jsx(he,{className:"p-4",children:u?d.jsx(Te,{className:"h-80 w-full"}):l?d.jsx(lfe,{data:l,timeRange:t}):d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"No token usage data available for this time range"})})})]})]})}const xo=P.forwardRef(({className:e,...t},r)=>d.jsx("div",{className:"relative w-full overflow-auto",children:d.jsx("table",{ref:r,className:Oe("w-full caption-bottom text-sm",e),...t})}));xo.displayName="Table";const bo=P.forwardRef(({className:e,...t},r)=>d.jsx("thead",{ref:r,className:Oe("[&_tr]:border-b",e),...t}));bo.displayName="TableHeader";const wo=P.forwardRef(({className:e,...t},r)=>d.jsx("tbody",{ref:r,className:Oe("[&_tr:last-child]:border-0",e),...t}));wo.displayName="TableBody";const cfe=P.forwardRef(({className:e,...t},r)=>d.jsx("tfoot",{ref:r,className:Oe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));cfe.displayName="TableFooter";const Or=P.forwardRef(({className:e,...t},r)=>d.jsx("tr",{ref:r,className:Oe("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Or.displayName="TableRow";const Re=P.forwardRef(({className:e,...t},r)=>d.jsx("th",{ref:r,className:Oe("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));Re.displayName="TableHead";const Le=P.forwardRef(({className:e,...t},r)=>d.jsx("td",{ref:r,className:Oe("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));Le.displayName="TableCell";const ffe=P.forwardRef(({className:e,...t},r)=>d.jsx("caption",{ref:r,className:Oe("mt-4 text-sm text-muted-foreground",e),...t}));ffe.displayName="TableCaption";const So=P.forwardRef(({className:e,type:t,...r},n)=>d.jsx("input",{type:t,className:Oe("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium 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,...r}));So.displayName="Input";const fE=20;function dfe(){const{selectedTeamId:e}=fo(),[t,r]=P.useState(1),[n,i]=P.useState(""),{data:a,isLoading:o,error:s}=fp(e||"",{page:t-1,pageSize:fE,enabled:!!e}),l=P.useMemo(()=>{if(!a)return[];let u=[...a];if(n.trim()){const c=n.toLowerCase();u=u.filter(f=>{var h,p,v;return((h=f.name)==null?void 0:h.toLowerCase().includes(c))||((p=f.description)==null?void 0:p.toLowerCase().includes(c))||((v=f.id)==null?void 0:v.toLowerCase().includes(c))})}return u.sort((c,f)=>new Date(f.createdAt).getTime()-new Date(c.createdAt).getTime()),u},[a,n]);return o?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-64 w-full"})]}):e?s?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load projects"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:s.message})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsx("div",{children:d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Projects"})}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("div",{className:"flex gap-2 mb-3 items-center",children:d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search projects...",value:n,onChange:u=>i(u.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]})}),!a||a.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No projects found"}):l.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No projects match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"UUID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"})]})}),d.jsx(wo,{children:l.map(u=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 font-mono text-sm",children:d.jsx(Tn,{to:`/projects/${u.id}`,className:"text-primary font-medium hover:underline",children:u.id})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:u.name||"Unnamed Project"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:u.description||"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(u.createdAt),{addSuffix:!0})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(u.updatedAt),{addSuffix:!0})})]},u.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",t]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{r(t-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:t===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{r(t+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:a.lengthd.jsx(Qb.Provider,{value:{value:t,onValueChange:r},children:d.jsx("div",{ref:i,className:Oe("w-full",e),...n})}));lm.displayName="Tabs";const um=P.forwardRef(({className:e,...t},r)=>d.jsx("div",{ref:r,className:Oe("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));um.displayName="TabsList";const io=P.forwardRef(({className:e,value:t,...r},n)=>{const i=P.useContext(Qb);if(!i)throw new Error("TabsTrigger must be used within Tabs");const a=i.value===t;return d.jsx("button",{ref:n,className:Oe("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",a?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground",e),onClick:()=>i.onValueChange(t),...r})});io.displayName="TabsTrigger";const ao=P.forwardRef(({className:e,value:t,...r},n)=>{const i=P.useContext(Qb);if(!i)throw new Error("TabsContent must be used within Tabs");return i.value!==t?null:d.jsx("div",{ref:n,className:Oe("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...r})});ao.displayName="TabsContent";const hfe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"},dE=20;function pfe(){const{id:e}=np(),[t,r]=P.useState("overview"),[n,i]=P.useState(1),[a,o]=P.useState(""),[s,l]=P.useState("ALL"),{data:u,isLoading:c,error:f}=bN(e),{data:h,isLoading:p,error:v}=Nd(e,{page:n-1,pageSize:dE,enabled:!!e}),{data:m}=Nd(e,{page:0,pageSize:1e3,enabled:!!e}),g=P.useMemo(()=>{if(!h)return[];let x=[...h];if(a.trim()){const b=a.toLowerCase();x=x.filter(S=>{var w,O,j;return((w=S.name)==null?void 0:w.toLowerCase().includes(b))||((O=S.description)==null?void 0:O.toLowerCase().includes(b))||((j=S.id)==null?void 0:j.toLowerCase().includes(b))})}return s!=="ALL"&&(x=x.filter(b=>b.status===s)),x.sort((b,S)=>new Date(S.createdAt).getTime()-new Date(b.createdAt).getTime()),x},[h,a,s]),y=P.useMemo(()=>!m||m.length===0?[]:[{name:"COMPLETED",value:m.filter(b=>b.status==="COMPLETED").length,color:"#22c55e"},{name:"RUNNING",value:m.filter(b=>b.status==="RUNNING").length,color:"#3b82f6"},{name:"FAILED",value:m.filter(b=>b.status==="FAILED").length,color:"#ef4444"},{name:"PENDING",value:m.filter(b=>b.status==="PENDING").length,color:"#eab308"},{name:"CANCELLED",value:m.filter(b=>b.status==="CANCELLED").length,color:"#6b7280"},{name:"UNKNOWN",value:m.filter(b=>b.status==="UNKNOWN").length,color:"#a78bfa"}].filter(b=>b.value>0),[m]);return c?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-64 w-full"})]}):f||!u?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load project"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(f==null?void 0:f.message)||"Project not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:u.name||"Unnamed Project"}),d.jsx("p",{className:"mt-0.5 text-muted-foreground font-mono text-sm",children:u.id})]}),d.jsxs(lm,{value:t,onValueChange:r,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"experiments",children:"Experiments"})]}),d.jsx(ao,{value:"overview",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Details"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[u.description&&d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.description})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.createdAt),{addSuffix:!0})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.updatedAt),{addSuffix:!0})})]})]}),u.meta&&Object.keys(u.meta).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.meta).map(([x,b])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:x}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof b=="string"?b:JSON.stringify(b)})]},x))})]}),m&&m.length>0&&y.length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsxs("h3",{className:"text-base font-semibold mb-6",children:["Statistics (",m.length," experiments)"]}),d.jsx(Zi,{width:"100%",height:180,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:y,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:48,label:({name:x,value:b})=>`${x}: ${b}`,style:{fontSize:"12px"},children:y.map((x,b)=>d.jsx(mo,{fill:x.color},`cell-${b}`))}),d.jsx(_t,{}),d.jsx(Br,{wrapperStyle:{fontSize:"12px"}})]})})]})]})})}),d.jsx(ao,{value:"experiments",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search experiments...",value:a,onChange:x=>o(x.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(x=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l(x),className:`h-8 px-2.5 text-xs transition-colors ${s===x?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:x},x))})]}),p?d.jsx(Te,{className:"h-24 w-full"}):v?d.jsxs("div",{className:"rounded-lg border border-destructive/50 bg-destructive/10 p-3",children:[d.jsx("p",{className:"text-sm font-medium text-destructive",children:"Failed to load experiments"}),d.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:v.message})]}):!h||h.length===0?d.jsxs("div",{className:"flex flex-col items-center justify-center h-24 text-center",children:[d.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"No experiments found"}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Create experiments using the AlphaTrion SDK"})]}):g.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No experiments match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"UUID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:g.map(x=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${x.id}`,className:"font-mono text-primary font-medium hover:underline",children:x.id})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:x.name}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:hfe[x.status],className:"text-xs px-2 py-0.5",children:x.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground tabular-nums",children:x.duration>0?`${x.duration.toFixed(2)}s`:"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(x.createdAt),{addSuffix:!0})})]},x.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",n]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:n===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:h.length{if(!l)return[];let p=[...l];if(n.trim()){const v=n.toLowerCase();p=p.filter(m=>{var g,y,x,b;return((g=m.name)==null?void 0:g.toLowerCase().includes(v))||((y=m.description)==null?void 0:y.toLowerCase().includes(v))||((x=m.id)==null?void 0:x.toLowerCase().includes(v))||((b=m.projectId)==null?void 0:b.toLowerCase().includes(v))})}return t!=="ALL"&&(p=p.filter(v=>v.status===t)),p.sort((v,m)=>new Date(m.createdAt).getTime()-new Date(v.createdAt).getTime()),p},[l,t,n]),f=o||u;return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Experiments"}),d.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Browse and manage experiments"})]}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search experiments...",value:n,onChange:p=>i(p.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(p=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(p),className:`h-8 px-2.5 text-xs transition-colors ${t===p?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:p},p))})]}),f?d.jsx(Te,{className:"h-24 w-full"}):!c||c.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:n.trim()?"No experiments match your search":t!=="ALL"?`No ${t} experiments found`:"No experiments found"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Experiment ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Project ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:c.map(p=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:p.name}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${p.id}`,className:"font-mono text-primary font-medium hover:underline",children:p.id})}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/projects/${p.projectId}`,className:"font-mono text-primary font-medium hover:underline",children:p.projectId})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:mfe[p.status],className:"text-xs px-2 py-0.5",children:p.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground tabular-nums",children:p.duration>0?`${p.duration.toFixed(2)}s`:"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(p.createdAt),{addSuffix:!0})})]},p.id))})]})]})})]})}function y2(e){const{data:t,...r}=dp(e),n=P.useMemo(()=>{const i={};return((t==null?void 0:t.metrics)||[]).forEach(o=>{const s=o.key||"unknown";i[s]||(i[s]=[]),i[s].push(o)}),Object.keys(i).forEach(o=>{i[o].sort((s,l)=>new Date(s.createdAt).getTime()-new Date(l.createdAt).getTime())}),i},[t==null?void 0:t.metrics]);return{...r,data:n,metricKeys:Object.keys(n)}}const yfe="modulepreload",gfe=function(e){return"/static/"+e},hE={},xfe=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),s=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=Promise.allSettled(r.map(l=>{if(l=gfe(l),l in hE)return;hE[l]=!0;const u=l.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${c}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":yfe,u||(f.as="script"),f.crossOrigin="",f.href=l,s&&f.setAttribute("nonce",s),document.head.appendChild(f),u)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function a(o){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o}return i.then(o=>{for(const s of o||[])s.status==="rejected"&&a(s.reason);return t().catch(a)})};function bfe(e){const{data:t,...r}=dp(e),{runMetrics:n,availableMetrics:i}=P.useMemo(()=>{const a=(t==null?void 0:t.metrics)||[];if(a.length===0)return{runMetrics:[],availableMetrics:[]};const o=new Map,s=new Set;[...a].sort((c,f)=>new Date(c.createdAt).getTime()-new Date(f.createdAt).getTime()).forEach(c=>{!c.key||c.value===null||(s.add(c.key),o.has(c.runId)||o.set(c.runId,new Map),o.get(c.runId).set(c.key,c.value))});const u=[];return o.forEach((c,f)=>{const h={};c.forEach((p,v)=>{h[v]=p}),u.push({runId:f,metrics:h})}),{runMetrics:u,availableMetrics:Array.from(s).sort()}},[t==null?void 0:t.metrics]);return{...r,runMetrics:n,availableMetrics:i}}function wfe(e,t,r){let n=!1;for(const i of r){const a=e.metrics[i.key],o=t.metrics[i.key];if(a===void 0||o===void 0)return!1;if(i.direction==="maximize"){if(ao&&(n=!0)}else{if(a>o)return!1;axfe(()=>import("./react-plotly-rXbFfZ8j.js").then(e=>e.r),[])),pi=["#0ea5e9","#8b5cf6","#ec4899","#f59e0b","#10b981","#ef4444","#6366f1","#14b8a6"],pE="#10b981",mE="#9ca3af",vE="#f59e0b";function jfe({metrics:e,experimentId:t,title:r="Metrics",description:n}){const i=Object.keys(e),[a,o]=P.useState(i[0]||""),[s,l]=P.useState("timeline"),[u,c]=P.useState([]),{runMetrics:f,availableMetrics:h}=bfe(t),p=P.useMemo(()=>{const j=[];return Object.values(e).forEach(E=>{j.push(...E)}),j.length===0?null:j[0].runId},[e]),v=P.useMemo(()=>u.length===0?f:f.filter(j=>u.every(E=>j.metrics[E.key]!==void 0)),[f,u]),m=P.useMemo(()=>u.length<2||v.length<2?new Set:Sfe(v,u),[v,u]),g=P.useMemo(()=>{var E;if(i.length===0||!a)return[];const j=[];return e[a]&&e[a].forEach((A,T)=>{A.value!==null&&j.push({timestamp:new Date(A.createdAt).getTime(),index:T,time:qi(new Date(A.createdAt),"MMM dd HH:mm:ss"),value:A.value,runId:A.runId})}),j.sort((A,T)=>A.timestamp-T.timestamp),j.forEach((A,T)=>{A.index=T}),console.log("[MetricsChart] Selected key:",a),console.log("[MetricsChart] Total metrics for this key:",(E=e[a])==null?void 0:E.length),console.log("[MetricsChart] Total data points after processing:",j.length),console.log("[MetricsChart] All data points:",j),j},[e,i,a]),y=P.useMemo(()=>{if(u.length<2)return{all:[],paretoLine:[]};const j=u[0],E=u[1],A=u.length>=3?u[2]:void 0,T=v.map(N=>({runId:N.runId,x:N.metrics[j.key],y:N.metrics[E.key],z:A?N.metrics[A.key]:void 0,isParetoOptimal:m.has(N.runId),metrics:N.metrics})),_=T.filter(N=>N.isParetoOptimal).sort((N,M)=>N.x-M.x);return{all:T,paretoLine:_}},[v,u,m]),x=P.useMemo(()=>{if(u.length!==3||y.all.length===0)return null;const j=[...y.paretoLine].sort((N,M)=>N.x!==M.x?N.x-M.x:N.y!==M.y?N.y-M.y:(N.z||0)-(M.z||0)),E=y.all.find(N=>N.runId===p),A=j.filter(N=>N.runId!==p),T=y.all.filter(N=>!N.isParetoOptimal&&N.runId!==p),_=[{x:T.map(N=>N.x),y:T.map(N=>N.y),z:T.map(N=>N.z),mode:"markers",type:"scatter3d",name:"Dominated",showlegend:!1,marker:{size:5,color:mE,opacity:.4,symbol:"circle",line:{color:"#6b7280",width:1,opacity:.3}},customdata:T.map(N=>[N.runId,N.x,N.y,N.z]),hovertemplate:`Run: %{customdata[0]}
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#fafafa",bordercolor:"#d1d5db",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}},{x:A.map(N=>N.x),y:A.map(N=>N.y),z:A.map(N=>N.z),mode:"markers",type:"scatter3d",name:"Pareto Optimal",showlegend:!1,marker:{size:5,color:pE,symbol:"circle",opacity:.95,line:{color:"#059669",width:1,opacity:.8}},customdata:A.map(N=>[N.runId,N.x,N.y,N.z]),hovertemplate:`Run: %{customdata[0]}
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#f0fdf4",bordercolor:"#86efac",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}}];return E&&_.push({x:[E.x],y:[E.y],z:[E.z],mode:"markers",type:"scatter3d",name:"Start Point",showlegend:!1,marker:{size:5,color:vE,symbol:"circle",opacity:1,line:{color:"#d97706",width:1,opacity:1}},customdata:[[E.runId,E.x,E.y,E.z]],hovertemplate:`Run: %{customdata[0]} (StartPoint)
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#fef3c7",bordercolor:"#fcd34d",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}}),_},[y,u,p]),b=j=>{o(j)},S=j=>{u.length>=3||u.some(E=>E.key===j)||c([...u,{key:j,direction:"maximize"}])},w=j=>{c(u.filter(E=>E.key!==j))},O=j=>{c(u.map(E=>E.key===j?{...E,direction:E.direction==="maximize"?"minimize":"maximize"}:E))};return i.length===0?d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsx(Bt,{className:"text-sm",children:r}),n&&d.jsx(dr,{className:"text-xs",children:n})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-48 items-center justify-center text-sm text-muted-foreground",children:"No metrics data available"})})]}):d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx(Bt,{className:"text-sm",children:r}),n&&d.jsx(dr,{className:"text-xs",children:n})]}),d.jsxs("div",{className:"flex gap-1",children:[d.jsx(lt,{variant:s==="timeline"?"default":"outline",size:"sm",onClick:()=>l("timeline"),className:"h-7 px-3 text-xs",children:"Timeline"}),d.jsx(lt,{variant:s==="pareto"?"default":"outline",size:"sm",onClick:()=>l("pareto"),className:"h-7 px-3 text-xs",children:"Pareto"})]})]}),s==="timeline"?d.jsx("div",{className:"flex flex-wrap gap-1.5 pt-3",children:i.map((j,E)=>d.jsx(jr,{variant:a===j?"default":"outline",className:"cursor-pointer text-xs px-2 py-0.5",style:{backgroundColor:a===j?pi[E%pi.length]:void 0},onClick:()=>b(j),children:j},j))}):d.jsxs("div",{className:"space-y-2 pt-3",children:[d.jsx("div",{className:"flex flex-wrap gap-1.5",children:h.map((j,E)=>{const A=u.find(_=>_.key===j),T=(A==null?void 0:A.direction)==="maximize";return d.jsxs(jr,{variant:A?"default":"outline",className:"cursor-pointer text-xs px-2 py-1 transition-colors relative",style:{backgroundColor:A?pi[E%pi.length]:void 0,borderColor:A?pi[E%pi.length]:void 0},onClick:()=>{A?O(j):u.length<3&&S(j)},onContextMenu:_=>{_.preventDefault(),A&&w(j)},children:[j,A&&d.jsx("span",{className:"ml-1 text-[10px] opacity-90",children:T?"↑":"↓"})]},j)})}),u.length>0&&d.jsx("div",{className:"text-xs text-gray-500 italic",children:"Click: toggle direction ↑↓ • Right-click: remove"}),d.jsx("div",{className:"text-xs text-muted-foreground",children:u.length===0?d.jsx("span",{children:"Click metrics to select (up to 3)"}):u.length<2?d.jsx("span",{children:"Select at least 2 metrics for analysis"}):d.jsxs("div",{className:"flex items-center gap-4",children:[d.jsxs("span",{children:["Runs: ",v.length]}),m.size>0&&d.jsxs("span",{className:"text-emerald-600 font-medium",children:["Pareto Optimal: ",m.size]})]})})]})]}),d.jsx(he,{className:"pt-0",children:s==="timeline"?a?d.jsx(Zi,{width:"100%",height:280,children:d.jsxs(sm,{data:g,margin:{top:5,right:20,left:10,bottom:5},onClick:j=>{if(j&&j.activePayload&&j.activePayload[0]){const E=j.activePayload[0].payload;E.runId&&window.open(`/runs/${E.runId}`,"_blank")}},children:[d.jsx(Ys,{strokeDasharray:"3 3"}),d.jsx(ri,{dataKey:"index",label:{value:"Index",position:"insideBottom",offset:-5,style:{fontSize:12}},type:"number",domain:["dataMin","dataMax"],tick:{fontSize:11}}),d.jsx(ni,{label:{value:"Value",angle:-90,position:"insideLeft",style:{fontSize:12}},tick:{fontSize:11}}),d.jsx(_t,{cursor:{strokeDasharray:"5 5",stroke:"#94a3b8",strokeWidth:1},contentStyle:{backgroundColor:"transparent",border:"none",padding:0},content:({active:j,payload:E})=>{if(!j||!E||E.length===0)return null;const A=E[0].payload;return A.runId?d.jsxs("div",{style:{backgroundColor:"#f9fafb",border:"1px solid #d1d5db",borderRadius:"6px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)",fontFamily:"system-ui, -apple-system, sans-serif",lineHeight:"1.4"},children:[d.jsxs("div",{style:{fontWeight:600,fontSize:"12px"},children:["Run: ",A.runId]}),d.jsxs("div",{style:{fontSize:"12px"},children:[a,": ",typeof A.value=="number"?A.value.toFixed(4):A.value]})]}):null}}),d.jsx(_n,{type:"monotone",dataKey:"value",name:a,stroke:pi[i.indexOf(a)%pi.length],strokeWidth:2,dot:{r:3,style:{cursor:"pointer"}},activeDot:{r:5,style:{cursor:"pointer"}},connectNulls:!0})]})}):d.jsx("div",{className:"flex h-48 items-center justify-center text-sm text-muted-foreground",children:"Select a metric to display"}):u.length<2?d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"Select at least 2 metrics for Pareto analysis"}):y.all.length===0?d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"No runs with complete data for selected metrics"}):u.length===3?d.jsxs("div",{className:"w-full h-[550px] rounded-lg overflow-hidden",style:{background:"linear-gradient(135deg, #fafafa 0%, #f3f4f6 100%)"},children:[d.jsx("style",{children:` +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function h2(e,t){if(e){if(typeof e=="string")return _0(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _0(e,t)}}function Wce(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}function Hce(e){if(Array.isArray(e))return _0(e)}function _0(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?o:t&&t.length&&q(i)&&q(a)?t.slice(i,a+1):[]};function v2(e){return e==="number"?[0,"auto"]:void 0}var T0=function(t,r,n,i){var a=t.graphicalItems,o=t.tooltipAxis,s=om(r,t);return n<0||!a||!a.length||n>=s.length?null:a.reduce(function(l,u){var c,f=(c=u.props.data)!==null&&c!==void 0?c:r;f&&t.dataStartIndex+t.dataEndIndex!==0&&t.dataEndIndex-t.dataStartIndex>=n&&(f=f.slice(t.dataStartIndex,t.dataEndIndex+1));var h;if(o.dataKey&&!o.allowDuplicatedCategory){var p=f===void 0?s:f;h=Md(p,o.dataKey,i)}else h=f&&f[n]||s[n];return h?[].concat(rl(l),[QC(u,h)]):l},[])},oE=function(t,r,n,i){var a=i||{x:t.chartX,y:t.chartY},o=Gce(a,n),s=t.orderedTooltipTicks,l=t.tooltipAxis,u=t.tooltipTicks,c=Vee(o,s,u,l);if(c>=0&&u){var f=u[c]&&u[c].value,h=T0(t,r,c,f),p=Yce(n,s,c,a);return{activeTooltipIndex:c,activeLabel:f,activePayload:h,activeCoordinate:p}}return null},Xce=function(t,r){var n=r.axes,i=r.graphicalItems,a=r.axisType,o=r.axisIdKey,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.layout,f=t.children,h=t.stackOffset,p=KC(c,a);return n.reduce(function(v,m){var g,y=m.type.defaultProps!==void 0?B(B({},m.type.defaultProps),m.props):m.props,x=y.type,b=y.dataKey,S=y.allowDataOverflow,w=y.allowDuplicatedCategory,O=y.scale,j=y.ticks,E=y.includeHidden,A=y[o];if(v[A])return v;var T=om(t.data,{graphicalItems:i.filter(function(H){var Y,re=o in H.props?H.props[o]:(Y=H.type.defaultProps)===null||Y===void 0?void 0:Y[o];return re===A}),dataStartIndex:l,dataEndIndex:u}),_=T.length,N,M,R;Sce(y.domain,S,x)&&(N=zg(y.domain,null,S),p&&(x==="number"||O!=="auto")&&(R=cu(T,b,"category")));var I=v2(x);if(!N||N.length===0){var D,z=(D=y.domain)!==null&&D!==void 0?D:I;if(b){if(N=cu(T,b,x),x==="category"&&p){var C=I8(N);w&&C?(M=N,N=Oh(0,_)):w||(N=Tj(z,N,m).reduce(function(H,Y){return H.indexOf(Y)>=0?H:[].concat(rl(H),[Y])},[]))}else if(x==="category")w?N=N.filter(function(H){return H!==""&&!ae(H)}):N=Tj(z,N,m).reduce(function(H,Y){return H.indexOf(Y)>=0||Y===""||ae(Y)?H:[].concat(rl(H),[Y])},[]);else if(x==="number"){var F=Jee(T,i.filter(function(H){var Y,re,be=o in H.props?H.props[o]:(Y=H.type.defaultProps)===null||Y===void 0?void 0:Y[o],Ke="hide"in H.props?H.props.hide:(re=H.type.defaultProps)===null||re===void 0?void 0:re.hide;return be===A&&(E||!Ke)}),b,a,c);F&&(N=F)}p&&(x==="number"||O!=="auto")&&(R=cu(T,b,"category"))}else p?N=Oh(0,_):s&&s[A]&&s[A].hasStack&&x==="number"?N=h==="expand"?[0,1]:XC(s[A].stackGroups,l,u):N=HC(T,i.filter(function(H){var Y=o in H.props?H.props[o]:H.type.defaultProps[o],re="hide"in H.props?H.props.hide:H.type.defaultProps.hide;return Y===A&&(E||!re)}),x,c,!0);if(x==="number")N=E0(f,N,A,a,j),z&&(N=zg(z,N,S));else if(x==="category"&&z){var W=z,V=N.every(function(H){return W.indexOf(H)>=0});V&&(N=W)}}return B(B({},v),{},ie({},A,B(B({},y),{},{axisType:a,domain:N,categoricalDomain:R,duplicateDomain:M,originalDomain:(g=y.domain)!==null&&g!==void 0?g:I,isCategorical:p,layout:c})))},{})},Qce=function(t,r){var n=r.graphicalItems,i=r.Axis,a=r.axisType,o=r.axisIdKey,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.layout,f=t.children,h=om(t.data,{graphicalItems:n,dataStartIndex:l,dataEndIndex:u}),p=h.length,v=KC(c,a),m=-1;return n.reduce(function(g,y){var x=y.type.defaultProps!==void 0?B(B({},y.type.defaultProps),y.props):y.props,b=x[o],S=v2("number");if(!g[b]){m++;var w;return v?w=Oh(0,p):s&&s[b]&&s[b].hasStack?(w=XC(s[b].stackGroups,l,u),w=E0(f,w,b,a)):(w=zg(S,HC(h,n.filter(function(O){var j,E,A=o in O.props?O.props[o]:(j=O.type.defaultProps)===null||j===void 0?void 0:j[o],T="hide"in O.props?O.props.hide:(E=O.type.defaultProps)===null||E===void 0?void 0:E.hide;return A===b&&!T}),"number",c),i.defaultProps.allowDataOverflow),w=E0(f,w,b,a)),B(B({},g),{},ie({},b,B(B({axisType:a},i.defaultProps),{},{hide:!0,orientation:wr(qce,"".concat(a,".").concat(m%2),null),domain:w,originalDomain:S,isCategorical:v,layout:c})))}return g},{})},Jce=function(t,r){var n=r.axisType,i=n===void 0?"xAxis":n,a=r.AxisComp,o=r.graphicalItems,s=r.stackGroups,l=r.dataStartIndex,u=r.dataEndIndex,c=t.children,f="".concat(i,"Id"),h=Yt(c,a),p={};return h&&h.length?p=Xce(t,{axes:h,graphicalItems:o,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:l,dataEndIndex:u}):o&&o.length&&(p=Qce(t,{Axis:a,graphicalItems:o,axisType:i,axisIdKey:f,stackGroups:s,dataStartIndex:l,dataEndIndex:u})),p},Zce=function(t){var r=Si(t),n=Kn(r,!1,!0);return{tooltipTicks:n,orderedTooltipTicks:db(n,function(i){return i.coordinate}),tooltipAxis:r,tooltipAxisBandSize:uh(r,n)}},sE=function(t){var r=t.children,n=t.defaultShowTooltip,i=yr(r,Ws),a=0,o=0;return t.data&&t.data.length!==0&&(o=t.data.length-1),i&&i.props&&(i.props.startIndex>=0&&(a=i.props.startIndex),i.props.endIndex>=0&&(o=i.props.endIndex)),{chartX:0,chartY:0,dataStartIndex:a,dataEndIndex:o,activeTooltipIndex:-1,isTooltipActive:!!n}},efe=function(t){return!t||!t.length?!1:t.some(function(r){var n=Vn(r&&r.type);return n&&n.indexOf("Bar")>=0})},lE=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"}},tfe=function(t,r){var n=t.props,i=t.graphicalItems,a=t.xAxisMap,o=a===void 0?{}:a,s=t.yAxisMap,l=s===void 0?{}:s,u=n.width,c=n.height,f=n.children,h=n.margin||{},p=yr(f,Ws),v=yr(f,Br),m=Object.keys(l).reduce(function(w,O){var j=l[O],E=j.orientation;return!j.mirror&&!j.hide?B(B({},w),{},ie({},E,w[E]+j.width)):w},{left:h.left||0,right:h.right||0}),g=Object.keys(o).reduce(function(w,O){var j=o[O],E=j.orientation;return!j.mirror&&!j.hide?B(B({},w),{},ie({},E,wr(w,"".concat(E))+j.height)):w},{top:h.top||0,bottom:h.bottom||0}),y=B(B({},g),m),x=y.bottom;p&&(y.bottom+=p.props.height||Ws.defaultProps.height),v&&r&&(y=Xee(y,i,n,r));var b=u-y.left-y.right,S=c-y.top-y.bottom;return B(B({brushBottom:x},y),{},{width:Math.max(b,0),height:Math.max(S,0)})},rfe=function(t,r){if(r==="xAxis")return t[r].width;if(r==="yAxis")return t[r].height},Yb=function(t){var r=t.chartName,n=t.GraphicalChild,i=t.defaultTooltipEventType,a=i===void 0?"axis":i,o=t.validateTooltipEventTypes,s=o===void 0?["axis"]:o,l=t.axisComponents,u=t.legendContent,c=t.formatAxisMap,f=t.defaultProps,h=function(y,x){var b=x.graphicalItems,S=x.stackGroups,w=x.offset,O=x.updateId,j=x.dataStartIndex,E=x.dataEndIndex,A=y.barSize,T=y.layout,_=y.barGap,N=y.barCategoryGap,M=y.maxBarSize,R=lE(T),I=R.numericAxisName,D=R.cateAxisName,z=efe(b),C=[];return b.forEach(function(F,W){var V=om(y.data,{graphicalItems:[F],dataStartIndex:j,dataEndIndex:E}),H=F.type.defaultProps!==void 0?B(B({},F.type.defaultProps),F.props):F.props,Y=H.dataKey,re=H.maxBarSize,be=H["".concat(I,"Id")],Ke=H["".concat(D,"Id")],Se={},Pt=l.reduce(function(la,ua){var hm=x["".concat(ua.axisType,"Map")],aw=H["".concat(ua.axisType,"Id")];hm&&hm[aw]||ua.axisType==="zAxis"||ro();var ow=hm[aw];return B(B({},la),{},ie(ie({},ua.axisType,ow),"".concat(ua.axisType,"Ticks"),Kn(ow)))},Se),G=Pt[D],se=Pt["".concat(D,"Ticks")],le=S&&S[be]&&S[be].hasStack&&ste(F,S[be].stackGroups),U=Vn(F.type).indexOf("Bar")>=0,Ze=uh(G,se),ge=[],ct=z&&Gee({barSize:A,stackGroups:S,totalSize:rfe(Pt,D)});if(U){var ft,er,ci=ae(re)?M:re,jo=(ft=(er=uh(G,se,!0))!==null&&er!==void 0?er:ci)!==null&&ft!==void 0?ft:0;ge=Yee({barGap:_,barCategoryGap:N,bandSize:jo!==Ze?jo:Ze,sizeList:ct[Ke],maxBarSize:ci}),jo!==Ze&&(ge=ge.map(function(la){return B(B({},la),{},{position:B(B({},la.position),{},{offset:la.position.offset-jo/2})})}))}var Vc=F&&F.type&&F.type.getComposedData;Vc&&C.push({props:B(B({},Vc(B(B({},Pt),{},{displayedData:V,props:y,dataKey:Y,item:F,bandSize:Ze,barPosition:ge,offset:w,stackedData:le,layout:T,dataStartIndex:j,dataEndIndex:E}))),{},ie(ie(ie({key:F.key||"item-".concat(W)},I,Pt[I]),D,Pt[D]),"animationId",O)),childIndex:Y8(F,y.children),item:F})}),C},p=function(y,x){var b=y.props,S=y.dataStartIndex,w=y.dataEndIndex,O=y.updateId;if(!OS({props:b}))return null;var j=b.children,E=b.layout,A=b.stackOffset,T=b.data,_=b.reverseStackOrder,N=lE(E),M=N.numericAxisName,R=N.cateAxisName,I=Yt(j,n),D=ate(T,I,"".concat(M,"Id"),"".concat(R,"Id"),A,_),z=l.reduce(function(H,Y){var re="".concat(Y.axisType,"Map");return B(B({},H),{},ie({},re,Jce(b,B(B({},Y),{},{graphicalItems:I,stackGroups:Y.axisType===M&&D,dataStartIndex:S,dataEndIndex:w}))))},{}),C=tfe(B(B({},z),{},{props:b,graphicalItems:I}),x==null?void 0:x.legendBBox);Object.keys(z).forEach(function(H){z[H]=c(b,z[H],C,H.replace("Map",""),r)});var F=z["".concat(R,"Map")],W=Zce(F),V=h(b,B(B({},z),{},{dataStartIndex:S,dataEndIndex:w,updateId:O,graphicalItems:I,stackGroups:D,offset:C}));return B(B({formattedGraphicalItems:V,graphicalItems:I,offset:C,stackGroups:D},W),z)},v=function(g){function y(x){var b,S,w;return Ice(this,y),w=Lce(this,y,[x]),ie(w,"eventEmitterSymbol",Symbol("rechartsEventEmitter")),ie(w,"accessibilityManager",new wce),ie(w,"handleLegendBBoxUpdate",function(O){if(O){var j=w.state,E=j.dataStartIndex,A=j.dataEndIndex,T=j.updateId;w.setState(B({legendBBox:O},p({props:w.props,dataStartIndex:E,dataEndIndex:A,updateId:T},B(B({},w.state),{},{legendBBox:O}))))}}),ie(w,"handleReceiveSyncEvent",function(O,j,E){if(w.props.syncId===O){if(E===w.eventEmitterSymbol&&typeof w.props.syncMethod!="function")return;w.applySyncEvent(j)}}),ie(w,"handleBrushChange",function(O){var j=O.startIndex,E=O.endIndex;if(j!==w.state.dataStartIndex||E!==w.state.dataEndIndex){var A=w.state.updateId;w.setState(function(){return B({dataStartIndex:j,dataEndIndex:E},p({props:w.props,dataStartIndex:j,dataEndIndex:E,updateId:A},w.state))}),w.triggerSyncEvent({dataStartIndex:j,dataEndIndex:E})}}),ie(w,"handleMouseEnter",function(O){var j=w.getMouseInfo(O);if(j){var E=B(B({},j),{},{isTooltipActive:!0});w.setState(E),w.triggerSyncEvent(E);var A=w.props.onMouseEnter;oe(A)&&A(E,O)}}),ie(w,"triggeredAfterMouseMove",function(O){var j=w.getMouseInfo(O),E=j?B(B({},j),{},{isTooltipActive:!0}):{isTooltipActive:!1};w.setState(E),w.triggerSyncEvent(E);var A=w.props.onMouseMove;oe(A)&&A(E,O)}),ie(w,"handleItemMouseEnter",function(O){w.setState(function(){return{isTooltipActive:!0,activeItem:O,activePayload:O.tooltipPayload,activeCoordinate:O.tooltipPosition||{x:O.cx,y:O.cy}}})}),ie(w,"handleItemMouseLeave",function(){w.setState(function(){return{isTooltipActive:!1}})}),ie(w,"handleMouseMove",function(O){O.persist(),w.throttleTriggeredAfterMouseMove(O)}),ie(w,"handleMouseLeave",function(O){w.throttleTriggeredAfterMouseMove.cancel();var j={isTooltipActive:!1};w.setState(j),w.triggerSyncEvent(j);var E=w.props.onMouseLeave;oe(E)&&E(j,O)}),ie(w,"handleOuterEvent",function(O){var j=G8(O),E=wr(w.props,"".concat(j));if(j&&oe(E)){var A,T;/.*touch.*/i.test(j)?T=w.getMouseInfo(O.changedTouches[0]):T=w.getMouseInfo(O),E((A=T)!==null&&A!==void 0?A:{},O)}}),ie(w,"handleClick",function(O){var j=w.getMouseInfo(O);if(j){var E=B(B({},j),{},{isTooltipActive:!0});w.setState(E),w.triggerSyncEvent(E);var A=w.props.onClick;oe(A)&&A(E,O)}}),ie(w,"handleMouseDown",function(O){var j=w.props.onMouseDown;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleMouseUp",function(O){var j=w.props.onMouseUp;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleTouchMove",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.throttleTriggeredAfterMouseMove(O.changedTouches[0])}),ie(w,"handleTouchStart",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseDown(O.changedTouches[0])}),ie(w,"handleTouchEnd",function(O){O.changedTouches!=null&&O.changedTouches.length>0&&w.handleMouseUp(O.changedTouches[0])}),ie(w,"handleDoubleClick",function(O){var j=w.props.onDoubleClick;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"handleContextMenu",function(O){var j=w.props.onContextMenu;if(oe(j)){var E=w.getMouseInfo(O);j(E,O)}}),ie(w,"triggerSyncEvent",function(O){w.props.syncId!==void 0&&wv.emit(Sv,w.props.syncId,O,w.eventEmitterSymbol)}),ie(w,"applySyncEvent",function(O){var j=w.props,E=j.layout,A=j.syncMethod,T=w.state.updateId,_=O.dataStartIndex,N=O.dataEndIndex;if(O.dataStartIndex!==void 0||O.dataEndIndex!==void 0)w.setState(B({dataStartIndex:_,dataEndIndex:N},p({props:w.props,dataStartIndex:_,dataEndIndex:N,updateId:T},w.state)));else if(O.activeTooltipIndex!==void 0){var M=O.chartX,R=O.chartY,I=O.activeTooltipIndex,D=w.state,z=D.offset,C=D.tooltipTicks;if(!z)return;if(typeof A=="function")I=A(C,O);else if(A==="value"){I=-1;for(var F=0;F=0){var le,U;if(M.dataKey&&!M.allowDuplicatedCategory){var Ze=typeof M.dataKey=="function"?se:"payload.".concat(M.dataKey.toString());le=Md(F,Ze,I),U=W&&V&&Md(V,Ze,I)}else le=F==null?void 0:F[R],U=W&&V&&V[R];if(Ke||be){var ge=O.props.activeIndex!==void 0?O.props.activeIndex:R;return[P.cloneElement(O,B(B(B({},A.props),Pt),{},{activeIndex:ge})),null,null]}if(!ae(le))return[G].concat(rl(w.renderActivePoints({item:A,activePoint:le,basePoint:U,childIndex:R,isRange:W})))}else{var ct,ft=(ct=w.getItemByXY(w.state.activeCoordinate))!==null&&ct!==void 0?ct:{graphicalItem:G},er=ft.graphicalItem,ci=er.item,jo=ci===void 0?O:ci,Vc=er.childIndex,la=B(B(B({},A.props),Pt),{},{activeIndex:Vc});return[P.cloneElement(jo,la),null,null]}return W?[G,null,null]:[G,null]}),ie(w,"renderCustomized",function(O,j,E){return P.cloneElement(O,B(B({key:"recharts-customized-".concat(E)},w.props),w.state))}),ie(w,"renderMap",{CartesianGrid:{handler:kf,once:!0},ReferenceArea:{handler:w.renderReferenceElement},ReferenceLine:{handler:kf},ReferenceDot:{handler:w.renderReferenceElement},XAxis:{handler:kf},YAxis:{handler:kf},Brush:{handler:w.renderBrush,once:!0},Bar:{handler:w.renderGraphicChild},Line:{handler:w.renderGraphicChild},Area:{handler:w.renderGraphicChild},Radar:{handler:w.renderGraphicChild},RadialBar:{handler:w.renderGraphicChild},Scatter:{handler:w.renderGraphicChild},Pie:{handler:w.renderGraphicChild},Funnel:{handler:w.renderGraphicChild},Tooltip:{handler:w.renderCursor,once:!0},PolarGrid:{handler:w.renderPolarGrid,once:!0},PolarAngleAxis:{handler:w.renderPolarAxis},PolarRadiusAxis:{handler:w.renderPolarAxis},Customized:{handler:w.renderCustomized}}),w.clipPathId="".concat((b=x.id)!==null&&b!==void 0?b:po("recharts"),"-clip"),w.throttleTriggeredAfterMouseMove=zk(w.triggeredAfterMouseMove,(S=x.throttleDelay)!==null&&S!==void 0?S:1e3/60),w.state={},w}return zce(y,g),Rce(y,[{key:"componentDidMount",value:function(){var b,S;this.addListener(),this.accessibilityManager.setDetails({container:this.container,offset:{left:(b=this.props.margin.left)!==null&&b!==void 0?b:0,top:(S=this.props.margin.top)!==null&&S!==void 0?S:0},coordinateList:this.state.tooltipTicks,mouseHandlerCallback:this.triggeredAfterMouseMove,layout:this.props.layout}),this.displayDefaultTooltip()}},{key:"displayDefaultTooltip",value:function(){var b=this.props,S=b.children,w=b.data,O=b.height,j=b.layout,E=yr(S,_t);if(E){var A=E.props.defaultIndex;if(!(typeof A!="number"||A<0||A>this.state.tooltipTicks.length-1)){var T=this.state.tooltipTicks[A]&&this.state.tooltipTicks[A].value,_=T0(this.state,w,A,T),N=this.state.tooltipTicks[A].coordinate,M=(this.state.offset.top+O)/2,R=j==="horizontal",I=R?{x:N,y:M}:{y:N,x:M},D=this.state.formattedGraphicalItems.find(function(C){var F=C.item;return F.type.name==="Scatter"});D&&(I=B(B({},I),D.props.points[A].tooltipPosition),_=D.props.points[A].tooltipPayload);var z={activeTooltipIndex:A,isTooltipActive:!0,activeLabel:T,activePayload:_,activeCoordinate:I};this.setState(z),this.renderCursor(E),this.accessibilityManager.setIndex(A)}}}},{key:"getSnapshotBeforeUpdate",value:function(b,S){if(!this.props.accessibilityLayer)return null;if(this.state.tooltipTicks!==S.tooltipTicks&&this.accessibilityManager.setDetails({coordinateList:this.state.tooltipTicks}),this.props.layout!==b.layout&&this.accessibilityManager.setDetails({layout:this.props.layout}),this.props.margin!==b.margin){var w,O;this.accessibilityManager.setDetails({offset:{left:(w=this.props.margin.left)!==null&&w!==void 0?w:0,top:(O=this.props.margin.top)!==null&&O!==void 0?O:0}})}return null}},{key:"componentDidUpdate",value:function(b){rg([yr(b.children,_t)],[yr(this.props.children,_t)])||this.displayDefaultTooltip()}},{key:"componentWillUnmount",value:function(){this.removeListener(),this.throttleTriggeredAfterMouseMove.cancel()}},{key:"getTooltipEventType",value:function(){var b=yr(this.props.children,_t);if(b&&typeof b.props.shared=="boolean"){var S=b.props.shared?"axis":"item";return s.indexOf(S)>=0?S:a}return a}},{key:"getMouseInfo",value:function(b){if(!this.container)return null;var S=this.container,w=S.getBoundingClientRect(),O=wX(w),j={chartX:Math.round(b.pageX-O.left),chartY:Math.round(b.pageY-O.top)},E=w.width/S.offsetWidth||1,A=this.inRange(j.chartX,j.chartY,E);if(!A)return null;var T=this.state,_=T.xAxisMap,N=T.yAxisMap,M=this.getTooltipEventType(),R=oE(this.state,this.props.data,this.props.layout,A);if(M!=="axis"&&_&&N){var I=Si(_).scale,D=Si(N).scale,z=I&&I.invert?I.invert(j.chartX):null,C=D&&D.invert?D.invert(j.chartY):null;return B(B({},j),{},{xValue:z,yValue:C},R)}return R?B(B({},j),R):null}},{key:"inRange",value:function(b,S){var w=arguments.length>2&&arguments[2]!==void 0?arguments[2]:1,O=this.props.layout,j=b/w,E=S/w;if(O==="horizontal"||O==="vertical"){var A=this.state.offset,T=j>=A.left&&j<=A.left+A.width&&E>=A.top&&E<=A.top+A.height;return T?{x:j,y:E}:null}var _=this.state,N=_.angleAxisMap,M=_.radiusAxisMap;if(N&&M){var R=Si(N);return Cj({x:j,y:E},R)}return null}},{key:"parseEventsOfWrapper",value:function(){var b=this.props.children,S=this.getTooltipEventType(),w=yr(b,_t),O={};w&&S==="axis"&&(w.props.trigger==="click"?O={onClick:this.handleClick}:O={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 j=Id(this.props,this.handleOuterEvent);return B(B({},j),O)}},{key:"addListener",value:function(){wv.on(Sv,this.handleReceiveSyncEvent)}},{key:"removeListener",value:function(){wv.removeListener(Sv,this.handleReceiveSyncEvent)}},{key:"filterFormatItem",value:function(b,S,w){for(var O=this.state.formattedGraphicalItems,j=0,E=O.length;j{const i=ife.find(s=>s.value===t);if(!i)return[];const a=new Date,o=new Map;for(let s=0;s{const l=new Date(s.createdAt),u=qi(Jy(l),"yyyy-MM-dd"),c=o.get(u)||0;o.set(u,c+1)}),Array.from(o.entries()).map(([s,l])=>({date:s,experiments:l,displayDate:qi(new Date(s),"MMM dd")})).sort((s,l)=>s.date.localeCompare(l.date))},[e,t]),n=P.useMemo(()=>e.length,[e]);return d.jsxs("div",{className:"space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Experiments Timeline"}),d.jsxs("div",{className:"text-xs text-muted-foreground",children:["Total: ",n]})]}),d.jsx(Zi,{width:"100%",height:260,children:d.jsxs(sm,{data:r,margin:{left:0,right:15,top:15,bottom:15},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e2e8f0",opacity:.5}),d.jsx(ri,{dataKey:"displayDate",tick:{fontSize:10},angle:-45,textAnchor:"end",height:70}),d.jsx(ni,{tick:{fontSize:10},width:40,label:{value:"Count",angle:-90,position:"insideLeft",offset:8,style:{textAnchor:"middle",fontSize:11}}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"10px"},content:({active:i,payload:a,label:o})=>{if(!i||!a||!a.length)return null;const s=a[0].payload;return d.jsxs("div",{className:"bg-card border border-border rounded-md p-2 shadow-sm",children:[d.jsx("div",{className:"text-[10px] font-medium mb-1.5",children:o}),d.jsx("div",{className:"space-y-0.5 text-[10px]",children:d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-purple-400"}),d.jsx("span",{className:"text-muted-foreground",children:"Launched:"}),d.jsx("span",{className:"font-medium ml-auto",children:s.experiments})]})})]})}}),d.jsx(Br,{wrapperStyle:{fontSize:"10px"},iconType:"circle",iconSize:8}),d.jsx(_n,{type:"monotone",dataKey:"experiments",stroke:"#a78bfa",strokeWidth:2,dot:{fill:"#a78bfa",r:3},activeDot:{r:5},name:"Launched"})]})})]})}const uE={COMPLETED:"#22c55e",RUNNING:"#3b82f6",FAILED:"#ef4444",PENDING:"#eab308",CANCELLED:"#6b7280",UNKNOWN:"#a78bfa"};function ofe({experiments:e}){const t=P.useMemo(()=>{const r=new Map;return e.forEach(n=>{const i=n.status,a=r.get(i)||0;r.set(i,a+1)}),Array.from(r.entries()).map(([n,i])=>({name:n,value:i,color:uE[n]||uE.UNKNOWN})).sort((n,i)=>i.value-n.value)},[e]);return t.length===0?d.jsx("div",{className:"flex h-full items-center justify-center text-muted-foreground",children:"No data available"}):d.jsxs("div",{className:"space-y-3",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Experiments Distribution"}),d.jsx(Zi,{width:"100%",height:220,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:t,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:58,label:({name:r,value:n})=>`${r}: ${n}`,style:{fontSize:"10px"},children:t.map((r,n)=>d.jsx(mo,{fill:r.color},`cell-${n}`))}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"10px"}}),d.jsx(Br,{wrapperStyle:{fontSize:"10px"}})]})})]})}const sfe=[{value:"7days",label:"7 Days",days:7},{value:"1month",label:"1 Month",days:30},{value:"3months",label:"3 Months",days:90}];function lfe({data:e,timeRange:t}){const r=P.useMemo(()=>{const o=sfe.find(u=>u.value===t);if(!o)return[];const s=new Date,l=new Map;for(let u=0;u{const c=qi(new Date(u.date),"yyyy-MM-dd");l.has(c)&&l.set(c,{totalTokens:u.totalTokens,inputTokens:u.inputTokens,outputTokens:u.outputTokens})}),Array.from(l.entries()).map(([u,c])=>({date:u,displayDate:qi(new Date(u),"MMM dd"),totalTokens:c.totalTokens,inputTokens:c.inputTokens,outputTokens:c.outputTokens})).sort((u,c)=>u.date.localeCompare(c.date))},[e,t]),n=P.useMemo(()=>r.reduce((o,s)=>o+s.totalTokens,0),[r]),i=P.useMemo(()=>r.reduce((o,s)=>o+s.inputTokens,0),[r]),a=P.useMemo(()=>r.reduce((o,s)=>o+s.outputTokens,0),[r]);return d.jsxs("div",{className:"space-y-2",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h3",{className:"text-sm font-semibold",children:"Token Usage"}),d.jsxs("div",{className:"text-xs text-muted-foreground",children:["Total: ",n.toLocaleString()," (",i.toLocaleString(),"↓ ",a.toLocaleString(),"↑)"]})]}),d.jsx(Zi,{width:"100%",height:260,children:d.jsxs(sm,{data:r,margin:{left:10,right:15,top:15,bottom:15},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e2e8f0",opacity:.5}),d.jsx(ri,{dataKey:"displayDate",tick:{fontSize:10},angle:-45,textAnchor:"end",height:70}),d.jsx(ni,{tick:{fontSize:10},width:50,tickFormatter:o=>o>=1e6?`${(o/1e6).toFixed(1)}M`:o>=1e3?`${(o/1e3).toFixed(1)}K`:o.toString(),label:{value:"Tokens",angle:-90,position:"insideLeft",offset:-5,style:{textAnchor:"middle",fontSize:11}}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px",fontSize:"10px"},content:({active:o,payload:s,label:l})=>{if(!o||!s||!s.length)return null;const u=s[0].payload;return d.jsxs("div",{className:"bg-card border border-border rounded-md p-2 shadow-sm",children:[d.jsx("div",{className:"text-[10px] font-medium mb-1.5",children:l}),d.jsxs("div",{className:"space-y-0.5 text-[10px]",children:[d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-blue-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Total:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.totalTokens.toLocaleString()})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-green-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Input:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.inputTokens.toLocaleString()})]}),d.jsxs("div",{className:"flex items-center gap-2",children:[d.jsx("div",{className:"w-2 h-2 rounded-full bg-orange-500"}),d.jsx("span",{className:"text-muted-foreground",children:"Output:"}),d.jsx("span",{className:"font-medium ml-auto",children:u.outputTokens.toLocaleString()})]})]})]})}}),d.jsx(Br,{wrapperStyle:{fontSize:"10px"},iconType:"circle",iconSize:8}),d.jsx(_n,{type:"monotone",dataKey:"totalTokens",stroke:"#3b82f6",strokeWidth:2,dot:{fill:"#3b82f6",r:3},activeDot:{r:5},name:"Total"}),d.jsx(_n,{type:"monotone",dataKey:"inputTokens",stroke:"#10b981",strokeWidth:2,dot:{fill:"#10b981",r:3},activeDot:{r:5},name:"Input"}),d.jsx(_n,{type:"monotone",dataKey:"outputTokens",stroke:"#f59e0b",strokeWidth:2,dot:{fill:"#f59e0b",r:3},activeDot:{r:5},name:"Output"})]})})]})}const cE=[{value:"7days",label:"7 Days",days:7},{value:"1month",label:"1 Month",days:30},{value:"3months",label:"3 Months",days:90}];function ufe(){var f;const{selectedTeamId:e}=fo(),[t,r]=P.useState("7days"),{data:n,isLoading:i}=T5(e||""),{data:a,isLoading:o}=eB(e||"",{enabled:!!e}),s=((f=cE.find(h=>h.value===t))==null?void 0:f.days)||30,{data:l,isLoading:u}=tB(e||"",s),c=P.useMemo(()=>{if(!a)return[];const h=new Date,p=t==="7days"?Wx(h,7):t==="1month"?Zy(h,1):Zy(h,3);return a.filter(v=>{const m=new Date(v.createdAt);return m>=p&&m<=h})},[a,t]);return d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"pb-2 border-b",children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Dashboard"}),e&&d.jsxs("p",{className:"mt-0.5 text-muted-foreground font-mono text-xs",children:["TeamID: ",e]})]}),d.jsx("div",{children:d.jsx("h2",{className:"text-base font-semibold text-foreground mb-2",children:"Overview"})}),i?d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-2.5",children:[d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"}),d.jsx(Te,{className:"h-14 w-full"})]}):d.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-2.5",children:[d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"PROJECTS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalProjects)||0})]}),d.jsx("div",{className:"p-1.5 bg-blue-100 rounded-lg",children:d.jsx(iN,{className:"h-3.5 w-3.5 text-blue-600"})})]})})}),d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"EXPERIMENTS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalExperiments)||0})]}),d.jsx("div",{className:"p-1.5 bg-purple-100 rounded-lg",children:d.jsx(yF,{className:"h-3.5 w-3.5 text-purple-600"})})]})})}),d.jsx(de,{children:d.jsx(he,{className:"p-3",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"space-y-0.5",children:[d.jsx("p",{className:"text-xs font-medium text-muted-foreground",children:"RUNS"}),d.jsx("p",{className:"text-lg font-bold tabular-nums text-foreground",children:(n==null?void 0:n.totalRuns)||0})]}),d.jsx("div",{className:"p-1.5 bg-green-100 rounded-lg",children:d.jsx(TF,{className:"h-3.5 w-3.5 text-green-600"})})]})})})]}),d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsx("h2",{className:"text-base font-semibold text-foreground",children:"Activity"}),d.jsx("div",{className:"flex gap-1",children:cE.map(h=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(h.value),className:`h-8 px-2.5 text-xs transition-colors ${t===h.value?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:h.label},h.value))})]}),d.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[d.jsx(de,{children:d.jsx(he,{className:"p-4",children:o?d.jsx(Te,{className:"h-56 w-full"}):c&&c.length>0?d.jsx(ofe,{experiments:c}):d.jsx("div",{className:"flex h-56 items-center justify-center text-sm text-muted-foreground",children:"No experiments data available for this time range"})})}),d.jsx(de,{children:d.jsx(he,{className:"p-4",children:o?d.jsx(Te,{className:"h-56 w-full"}):c&&c.length>0?d.jsx(afe,{experiments:c,timeRange:t}):d.jsx("div",{className:"flex h-56 items-center justify-center text-sm text-muted-foreground",children:"No experiments data available for this time range"})})})]}),d.jsx(de,{children:d.jsx(he,{className:"p-4",children:u?d.jsx(Te,{className:"h-80 w-full"}):l?d.jsx(lfe,{data:l,timeRange:t}):d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"No token usage data available for this time range"})})})]})]})}const xo=P.forwardRef(({className:e,...t},r)=>d.jsx("div",{className:"relative w-full overflow-auto",children:d.jsx("table",{ref:r,className:Oe("w-full caption-bottom text-sm",e),...t})}));xo.displayName="Table";const bo=P.forwardRef(({className:e,...t},r)=>d.jsx("thead",{ref:r,className:Oe("[&_tr]:border-b",e),...t}));bo.displayName="TableHeader";const wo=P.forwardRef(({className:e,...t},r)=>d.jsx("tbody",{ref:r,className:Oe("[&_tr:last-child]:border-0",e),...t}));wo.displayName="TableBody";const cfe=P.forwardRef(({className:e,...t},r)=>d.jsx("tfoot",{ref:r,className:Oe("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",e),...t}));cfe.displayName="TableFooter";const Or=P.forwardRef(({className:e,...t},r)=>d.jsx("tr",{ref:r,className:Oe("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e),...t}));Or.displayName="TableRow";const Re=P.forwardRef(({className:e,...t},r)=>d.jsx("th",{ref:r,className:Oe("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",e),...t}));Re.displayName="TableHead";const Le=P.forwardRef(({className:e,...t},r)=>d.jsx("td",{ref:r,className:Oe("p-4 align-middle [&:has([role=checkbox])]:pr-0",e),...t}));Le.displayName="TableCell";const ffe=P.forwardRef(({className:e,...t},r)=>d.jsx("caption",{ref:r,className:Oe("mt-4 text-sm text-muted-foreground",e),...t}));ffe.displayName="TableCaption";const So=P.forwardRef(({className:e,type:t,...r},n)=>d.jsx("input",{type:t,className:Oe("flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium 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,...r}));So.displayName="Input";const fE=20;function dfe(){const{selectedTeamId:e}=fo(),[t,r]=P.useState(1),[n,i]=P.useState(""),{data:a,isLoading:o,error:s}=fp(e||"",{page:t-1,pageSize:fE,enabled:!!e}),l=P.useMemo(()=>{if(!a)return[];let u=[...a];if(n.trim()){const c=n.toLowerCase();u=u.filter(f=>{var h,p,v;return((h=f.name)==null?void 0:h.toLowerCase().includes(c))||((p=f.description)==null?void 0:p.toLowerCase().includes(c))||((v=f.id)==null?void 0:v.toLowerCase().includes(c))})}return u.sort((c,f)=>new Date(f.createdAt).getTime()-new Date(c.createdAt).getTime()),u},[a,n]);return o?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-64 w-full"})]}):e?s?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load projects"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:s.message})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsx("div",{children:d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Projects"})}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("div",{className:"flex gap-2 mb-3 items-center",children:d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search projects...",value:n,onChange:u=>i(u.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]})}),!a||a.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No projects found"}):l.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No projects match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"UUID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"})]})}),d.jsx(wo,{children:l.map(u=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 font-mono text-sm",children:d.jsx(Tn,{to:`/projects/${u.id}`,className:"text-primary font-medium hover:underline",children:u.id})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:u.name||"Unnamed Project"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:u.description||"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(u.createdAt),{addSuffix:!0})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(u.updatedAt),{addSuffix:!0})})]},u.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",t]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{r(t-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:t===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{r(t+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:a.lengthd.jsx(Qb.Provider,{value:{value:t,onValueChange:r},children:d.jsx("div",{ref:i,className:Oe("w-full",e),...n})}));lm.displayName="Tabs";const um=P.forwardRef(({className:e,...t},r)=>d.jsx("div",{ref:r,className:Oe("inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",e),...t}));um.displayName="TabsList";const io=P.forwardRef(({className:e,value:t,...r},n)=>{const i=P.useContext(Qb);if(!i)throw new Error("TabsTrigger must be used within Tabs");const a=i.value===t;return d.jsx("button",{ref:n,className:Oe("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",a?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground",e),onClick:()=>i.onValueChange(t),...r})});io.displayName="TabsTrigger";const ao=P.forwardRef(({className:e,value:t,...r},n)=>{const i=P.useContext(Qb);if(!i)throw new Error("TabsContent must be used within Tabs");return i.value!==t?null:d.jsx("div",{ref:n,className:Oe("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",e),...r})});ao.displayName="TabsContent";const hfe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"},dE=20;function pfe(){const{id:e}=np(),[t,r]=P.useState("overview"),[n,i]=P.useState(1),[a,o]=P.useState(""),[s,l]=P.useState("ALL"),{data:u,isLoading:c,error:f}=bN(e),{data:h,isLoading:p,error:v}=Nd(e,{page:n-1,pageSize:dE,enabled:!!e}),{data:m}=Nd(e,{page:0,pageSize:1e3,enabled:!!e}),g=P.useMemo(()=>{if(!h)return[];let x=[...h];if(a.trim()){const b=a.toLowerCase();x=x.filter(S=>{var w,O,j;return((w=S.name)==null?void 0:w.toLowerCase().includes(b))||((O=S.description)==null?void 0:O.toLowerCase().includes(b))||((j=S.id)==null?void 0:j.toLowerCase().includes(b))})}return s!=="ALL"&&(x=x.filter(b=>b.status===s)),x.sort((b,S)=>new Date(S.createdAt).getTime()-new Date(b.createdAt).getTime()),x},[h,a,s]),y=P.useMemo(()=>!m||m.length===0?[]:[{name:"COMPLETED",value:m.filter(b=>b.status==="COMPLETED").length,color:"#22c55e"},{name:"RUNNING",value:m.filter(b=>b.status==="RUNNING").length,color:"#3b82f6"},{name:"FAILED",value:m.filter(b=>b.status==="FAILED").length,color:"#ef4444"},{name:"PENDING",value:m.filter(b=>b.status==="PENDING").length,color:"#eab308"},{name:"CANCELLED",value:m.filter(b=>b.status==="CANCELLED").length,color:"#6b7280"},{name:"UNKNOWN",value:m.filter(b=>b.status==="UNKNOWN").length,color:"#a78bfa"}].filter(b=>b.value>0),[m]);return c?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-64 w-full"})]}):f||!u?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load project"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(f==null?void 0:f.message)||"Project not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:u.name||"Unnamed Project"}),d.jsx("p",{className:"mt-0.5 text-muted-foreground font-mono text-sm",children:u.id})]}),d.jsxs(lm,{value:t,onValueChange:r,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"experiments",children:"Experiments"})]}),d.jsx(ao,{value:"overview",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Details"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[u.description&&d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.description})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.createdAt),{addSuffix:!0})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.updatedAt),{addSuffix:!0})})]})]}),u.meta&&Object.keys(u.meta).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.meta).map(([x,b])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:x}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof b=="string"?b:JSON.stringify(b)})]},x))})]}),m&&m.length>0&&y.length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsxs("h3",{className:"text-base font-semibold mb-6",children:["Statistics (",m.length," experiments)"]}),d.jsx(Zi,{width:"100%",height:180,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:y,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:48,label:({name:x,value:b})=>`${x}: ${b}`,style:{fontSize:"10px"},children:y.map((x,b)=>d.jsx(mo,{fill:x.color},`cell-${b}`))}),d.jsx(_t,{contentStyle:{fontSize:"10px",backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px"}}),d.jsx(Br,{wrapperStyle:{fontSize:"10px"}})]})})]})]})})}),d.jsx(ao,{value:"experiments",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search experiments...",value:a,onChange:x=>o(x.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(x=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l(x),className:`h-8 px-2.5 text-xs transition-colors ${s===x?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:x},x))})]}),p?d.jsx(Te,{className:"h-24 w-full"}):v?d.jsxs("div",{className:"rounded-lg border border-destructive/50 bg-destructive/10 p-3",children:[d.jsx("p",{className:"text-sm font-medium text-destructive",children:"Failed to load experiments"}),d.jsx("p",{className:"mt-1 text-xs text-muted-foreground",children:v.message})]}):!h||h.length===0?d.jsxs("div",{className:"flex flex-col items-center justify-center h-24 text-center",children:[d.jsx("p",{className:"text-sm text-muted-foreground mb-1",children:"No experiments found"}),d.jsx("p",{className:"text-xs text-muted-foreground",children:"Create experiments using the AlphaTrion SDK"})]}):g.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No experiments match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"UUID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:g.map(x=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${x.id}`,className:"font-mono text-primary font-medium hover:underline",children:x.id})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:x.name}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:hfe[x.status],className:"text-xs px-2 py-0.5",children:x.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground tabular-nums",children:x.duration>0?`${x.duration.toFixed(2)}s`:"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(x.createdAt),{addSuffix:!0})})]},x.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",n]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:n===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:h.length{if(!l)return[];let p=[...l];if(n.trim()){const v=n.toLowerCase();p=p.filter(m=>{var g,y,x,b;return((g=m.name)==null?void 0:g.toLowerCase().includes(v))||((y=m.description)==null?void 0:y.toLowerCase().includes(v))||((x=m.id)==null?void 0:x.toLowerCase().includes(v))||((b=m.projectId)==null?void 0:b.toLowerCase().includes(v))})}return t!=="ALL"&&(p=p.filter(v=>v.status===t)),p.sort((v,m)=>new Date(m.createdAt).getTime()-new Date(v.createdAt).getTime()),p},[l,t,n]),f=o||u;return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:"Experiments"}),d.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Browse and manage experiments"})]}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search experiments...",value:n,onChange:p=>i(p.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(p=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(p),className:`h-8 px-2.5 text-xs transition-colors ${t===p?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:p},p))})]}),f?d.jsx(Te,{className:"h-24 w-full"}):!c||c.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:n.trim()?"No experiments match your search":t!=="ALL"?`No ${t} experiments found`:"No experiments found"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Name"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Experiment ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Project ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:c.map(p=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:p.name}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${p.id}`,className:"font-mono text-primary font-medium hover:underline",children:p.id})}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/projects/${p.projectId}`,className:"font-mono text-primary font-medium hover:underline",children:p.projectId})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:mfe[p.status],className:"text-xs px-2 py-0.5",children:p.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground tabular-nums",children:p.duration>0?`${p.duration.toFixed(2)}s`:"-"}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(p.createdAt),{addSuffix:!0})})]},p.id))})]})]})})]})}function y2(e){const{data:t,...r}=dp(e),n=P.useMemo(()=>{const i={};return((t==null?void 0:t.metrics)||[]).forEach(o=>{const s=o.key||"unknown";i[s]||(i[s]=[]),i[s].push(o)}),Object.keys(i).forEach(o=>{i[o].sort((s,l)=>new Date(s.createdAt).getTime()-new Date(l.createdAt).getTime())}),i},[t==null?void 0:t.metrics]);return{...r,data:n,metricKeys:Object.keys(n)}}const yfe="modulepreload",gfe=function(e){return"/static/"+e},hE={},xfe=function(t,r,n){let i=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),s=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));i=Promise.allSettled(r.map(l=>{if(l=gfe(l),l in hE)return;hE[l]=!0;const u=l.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${l}"]${c}`))return;const f=document.createElement("link");if(f.rel=u?"stylesheet":yfe,u||(f.as="script"),f.crossOrigin="",f.href=l,s&&f.setAttribute("nonce",s),document.head.appendChild(f),u)return new Promise((h,p)=>{f.addEventListener("load",h),f.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${l}`)))})}))}function a(o){const s=new Event("vite:preloadError",{cancelable:!0});if(s.payload=o,window.dispatchEvent(s),!s.defaultPrevented)throw o}return i.then(o=>{for(const s of o||[])s.status==="rejected"&&a(s.reason);return t().catch(a)})};function bfe(e){const{data:t,...r}=dp(e),{runMetrics:n,availableMetrics:i}=P.useMemo(()=>{const a=(t==null?void 0:t.metrics)||[];if(a.length===0)return{runMetrics:[],availableMetrics:[]};const o=new Map,s=new Set;[...a].sort((c,f)=>new Date(c.createdAt).getTime()-new Date(f.createdAt).getTime()).forEach(c=>{!c.key||c.value===null||(s.add(c.key),o.has(c.runId)||o.set(c.runId,new Map),o.get(c.runId).set(c.key,c.value))});const u=[];return o.forEach((c,f)=>{const h={};c.forEach((p,v)=>{h[v]=p}),u.push({runId:f,metrics:h})}),{runMetrics:u,availableMetrics:Array.from(s).sort()}},[t==null?void 0:t.metrics]);return{...r,runMetrics:n,availableMetrics:i}}function wfe(e,t,r){let n=!1;for(const i of r){const a=e.metrics[i.key],o=t.metrics[i.key];if(a===void 0||o===void 0)return!1;if(i.direction==="maximize"){if(ao&&(n=!0)}else{if(a>o)return!1;axfe(()=>import("./react-plotly-DaVBZ9j_.js").then(e=>e.r),[])),pi=["#0ea5e9","#8b5cf6","#ec4899","#f59e0b","#10b981","#ef4444","#6366f1","#14b8a6"],pE="#10b981",mE="#9ca3af",vE="#f59e0b";function jfe({metrics:e,experimentId:t,title:r="Metrics",description:n}){const i=Object.keys(e),[a,o]=P.useState(i[0]||""),[s,l]=P.useState("timeline"),[u,c]=P.useState([]),{runMetrics:f,availableMetrics:h}=bfe(t),p=P.useMemo(()=>{const j=[];return Object.values(e).forEach(E=>{j.push(...E)}),j.length===0?null:j[0].runId},[e]),v=P.useMemo(()=>u.length===0?f:f.filter(j=>u.every(E=>j.metrics[E.key]!==void 0)),[f,u]),m=P.useMemo(()=>u.length<2||v.length<2?new Set:Sfe(v,u),[v,u]),g=P.useMemo(()=>{var E;if(i.length===0||!a)return[];const j=[];return e[a]&&e[a].forEach((A,T)=>{A.value!==null&&j.push({timestamp:new Date(A.createdAt).getTime(),index:T,time:qi(new Date(A.createdAt),"MMM dd HH:mm:ss"),value:A.value,runId:A.runId})}),j.sort((A,T)=>A.timestamp-T.timestamp),j.forEach((A,T)=>{A.index=T}),console.log("[MetricsChart] Selected key:",a),console.log("[MetricsChart] Total metrics for this key:",(E=e[a])==null?void 0:E.length),console.log("[MetricsChart] Total data points after processing:",j.length),console.log("[MetricsChart] All data points:",j),j},[e,i,a]),y=P.useMemo(()=>{if(u.length<2)return{all:[],paretoLine:[]};const j=u[0],E=u[1],A=u.length>=3?u[2]:void 0,T=v.map(N=>({runId:N.runId,x:N.metrics[j.key],y:N.metrics[E.key],z:A?N.metrics[A.key]:void 0,isParetoOptimal:m.has(N.runId),metrics:N.metrics})),_=T.filter(N=>N.isParetoOptimal).sort((N,M)=>N.x-M.x);return{all:T,paretoLine:_}},[v,u,m]),x=P.useMemo(()=>{if(u.length!==3||y.all.length===0)return null;const j=[...y.paretoLine].sort((N,M)=>N.x!==M.x?N.x-M.x:N.y!==M.y?N.y-M.y:(N.z||0)-(M.z||0)),E=y.all.find(N=>N.runId===p),A=j.filter(N=>N.runId!==p),T=y.all.filter(N=>!N.isParetoOptimal&&N.runId!==p),_=[{x:T.map(N=>N.x),y:T.map(N=>N.y),z:T.map(N=>N.z),mode:"markers",type:"scatter3d",name:"Dominated",showlegend:!1,marker:{size:5,color:mE,opacity:.4,symbol:"circle",line:{color:"#6b7280",width:1,opacity:.3}},customdata:T.map(N=>[N.runId,N.x,N.y,N.z]),hovertemplate:`Run: %{customdata[0]}
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#fafafa",bordercolor:"#d1d5db",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}},{x:A.map(N=>N.x),y:A.map(N=>N.y),z:A.map(N=>N.z),mode:"markers",type:"scatter3d",name:"Pareto Optimal",showlegend:!1,marker:{size:5,color:pE,symbol:"circle",opacity:.95,line:{color:"#059669",width:1,opacity:.8}},customdata:A.map(N=>[N.runId,N.x,N.y,N.z]),hovertemplate:`Run: %{customdata[0]}
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#f0fdf4",bordercolor:"#86efac",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}}];return E&&_.push({x:[E.x],y:[E.y],z:[E.z],mode:"markers",type:"scatter3d",name:"Start Point",showlegend:!1,marker:{size:5,color:vE,symbol:"circle",opacity:1,line:{color:"#d97706",width:1,opacity:1}},customdata:[[E.runId,E.x,E.y,E.z]],hovertemplate:`Run: %{customdata[0]} (StartPoint)
${u[0].key}: %{customdata[1]:.4f}
${u[1].key}: %{customdata[2]:.4f}
${u[2].key}: %{customdata[3]:.4f}`,hoverlabel:{bgcolor:"#fef3c7",bordercolor:"#fcd34d",font:{family:"system-ui, -apple-system, sans-serif",size:12,color:"#374151"},align:"left"}}),_},[y,u,p]),b=j=>{o(j)},S=j=>{u.length>=3||u.some(E=>E.key===j)||c([...u,{key:j,direction:"maximize"}])},w=j=>{c(u.filter(E=>E.key!==j))},O=j=>{c(u.map(E=>E.key===j?{...E,direction:E.direction==="maximize"?"minimize":"maximize"}:E))};return i.length===0?d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsx(Bt,{className:"text-sm",children:r}),n&&d.jsx(dr,{className:"text-xs",children:n})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-48 items-center justify-center text-sm text-muted-foreground",children:"No metrics data available"})})]}):d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx(Bt,{className:"text-sm",children:r}),n&&d.jsx(dr,{className:"text-xs",children:n})]}),d.jsxs("div",{className:"flex gap-1",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l("timeline"),className:`h-7 px-3 text-xs transition-colors ${s==="timeline"?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:"Timeline"}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l("pareto"),className:`h-7 px-3 text-xs transition-colors ${s==="pareto"?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:"Pareto"})]})]}),s==="timeline"?d.jsx("div",{className:"flex flex-wrap gap-1.5 pt-3",children:i.map((j,E)=>d.jsx(jr,{variant:a===j?"default":"outline",className:"cursor-pointer text-xs px-2 py-0.5",style:{backgroundColor:a===j?pi[E%pi.length]:void 0},onClick:()=>b(j),children:j},j))}):d.jsxs("div",{className:"space-y-2 pt-3",children:[d.jsx("div",{className:"flex flex-wrap gap-1.5",children:h.map((j,E)=>{const A=u.find(_=>_.key===j),T=(A==null?void 0:A.direction)==="maximize";return d.jsxs(jr,{variant:A?"default":"outline",className:"cursor-pointer text-xs px-2 py-1 transition-colors relative",style:{backgroundColor:A?pi[E%pi.length]:void 0,borderColor:A?pi[E%pi.length]:void 0},onClick:()=>{A?O(j):u.length<3&&S(j)},onContextMenu:_=>{_.preventDefault(),A&&w(j)},children:[j,A&&d.jsx("span",{className:"ml-1 text-[10px] opacity-90",children:T?"↑":"↓"})]},j)})}),u.length>0&&d.jsx("div",{className:"text-xs text-gray-500 italic",children:"Click: toggle direction ↑↓ • Right-click: remove"}),d.jsx("div",{className:"text-xs text-muted-foreground",children:u.length===0?d.jsx("span",{children:"Click metrics to select (up to 3)"}):u.length<2?d.jsx("span",{children:"Select at least 2 metrics for analysis"}):d.jsxs("div",{className:"flex items-center gap-4",children:[d.jsxs("span",{children:["Runs: ",v.length]}),m.size>0&&d.jsxs("span",{className:"text-emerald-600 font-medium",children:["Pareto Optimal: ",m.size]})]})})]})]}),d.jsx(he,{className:"pt-0",children:s==="timeline"?a?d.jsx(Zi,{width:"100%",height:280,children:d.jsxs(sm,{data:g,margin:{top:5,right:20,left:10,bottom:5},onClick:j=>{if(j&&j.activePayload&&j.activePayload[0]){const E=j.activePayload[0].payload;E.runId&&window.open(`/runs/${E.runId}`,"_blank")}},children:[d.jsx(Ys,{strokeDasharray:"3 3"}),d.jsx(ri,{dataKey:"index",label:{value:"Index",position:"insideBottom",offset:-5,style:{fontSize:10}},type:"number",domain:["dataMin","dataMax"],tick:{fontSize:10}}),d.jsx(ni,{label:{value:"Value",angle:-90,position:"insideLeft",style:{fontSize:10}},tick:{fontSize:10}}),d.jsx(_t,{cursor:{strokeDasharray:"5 5",stroke:"#94a3b8",strokeWidth:1},contentStyle:{backgroundColor:"transparent",border:"none",padding:0},content:({active:j,payload:E})=>{if(!j||!E||E.length===0)return null;const A=E[0].payload;return A.runId?d.jsxs("div",{style:{backgroundColor:"#f9fafb",border:"1px solid #d1d5db",borderRadius:"6px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0, 0, 0, 0.1)",fontFamily:"system-ui, -apple-system, sans-serif",lineHeight:"1.4"},children:[d.jsxs("div",{style:{fontWeight:600,fontSize:"10px"},children:["Run: ",A.runId]}),d.jsxs("div",{style:{fontSize:"10px"},children:[a,": ",typeof A.value=="number"?A.value.toFixed(4):A.value]})]}):null}}),d.jsx(_n,{type:"monotone",dataKey:"value",name:a,stroke:pi[i.indexOf(a)%pi.length],strokeWidth:2,dot:{r:3,style:{cursor:"pointer"}},activeDot:{r:5,style:{cursor:"pointer"}},connectNulls:!0})]})}):d.jsx("div",{className:"flex h-48 items-center justify-center text-sm text-muted-foreground",children:"Select a metric to display"}):u.length<2?d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"Select at least 2 metrics for Pareto analysis"}):y.all.length===0?d.jsx("div",{className:"flex h-80 items-center justify-center text-sm text-muted-foreground",children:"No runs with complete data for selected metrics"}):u.length===3?d.jsxs("div",{className:"w-full h-[550px] rounded-lg overflow-hidden",style:{background:"linear-gradient(135deg, #fafafa 0%, #f3f4f6 100%)"},children:[d.jsx("style",{children:` #pareto-3d-plot .nsewdrag { cursor: default !important; } #pareto-3d-plot .nsewdrag.cursor-crosshair { cursor: default !important; } - `}),d.jsx(P.Suspense,{fallback:d.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:d.jsxs("div",{className:"text-center space-y-2",children:[d.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-emerald-500 mx-auto"}),d.jsx("div",{children:"Loading 3D visualization..."})]})}),children:d.jsx(Ofe,{divId:"pareto-3d-plot",data:x,onInitialized:(j,E)=>{E.on("plotly_click",A=>{var T;if(A&&A.points&&A.points[0]){const N=(T=A.points[0].customdata)==null?void 0:T[0];N&&window.open(`/runs/${N}`,"_blank")}})},onUpdate:(j,E)=>{E.removeAllListeners("plotly_click"),E.on("plotly_click",A=>{var T;if(A&&A.points&&A.points[0]){const N=(T=A.points[0].customdata)==null?void 0:T[0];N&&window.open(`/runs/${N}`,"_blank")}})},layout:{autosize:!0,transition:{duration:0},scene:{xaxis:{title:{text:`${u[0].key} (${u[0].direction})`,font:{size:12,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},yaxis:{title:{text:`${u[1].key} (${u[1].direction})`,font:{size:12,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},zaxis:{title:{text:`${u[2].key} (${u[2].direction})`,font:{size:12,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},camera:{eye:{x:1.7,y:1.7,z:1.3},center:{x:0,y:0,z:0},up:{x:0,y:0,z:1}},aspectmode:"cube"},showlegend:!1,hovermode:"closest",margin:{l:10,r:10,t:10,b:10},paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",dragmode:"orbit"},config:{responsive:!0,displayModeBar:!0,displaylogo:!1,modeBarButtonsToRemove:["toImage"],modeBarButtonsToAdd:[]},style:{width:"100%",height:"100%"}})})]}):d.jsx(Zi,{width:"100%",height:400,children:d.jsxs(nfe,{margin:{top:20,right:20,bottom:60,left:60},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),d.jsx(ri,{type:"number",dataKey:"x",name:u[0].key,label:{value:`${u[0].key} (${u[0].direction})`,position:"insideBottom",offset:-10,style:{fontSize:12,fill:"#374151"}},tick:{fontSize:11,fill:"#6b7280"},domain:["dataMin - 0.1 * abs(dataMin)","dataMax + 0.1 * abs(dataMax)"]}),d.jsx(ni,{type:"number",dataKey:"y",name:u[1].key,label:{value:`${u[1].key} (${u[1].direction})`,angle:-90,position:"insideLeft",style:{fontSize:12,fill:"#374151"}},tick:{fontSize:11,fill:"#6b7280"},domain:["dataMin - 0.1 * abs(dataMin)","dataMax + 0.1 * abs(dataMax)"]}),d.jsx(_t,{cursor:{strokeDasharray:"3 3"},content:({active:j,payload:E})=>{var R,I;if(!j||!E||!E[0])return null;const A=E[0].payload,T=A.runId===p,_=A.isParetoOptimal,N=T?"#fef3c7":_?"#f0fdf4":"#fafafa",M=T?"#fcd34d":_?"#86efac":"#d1d5db";return d.jsxs("div",{style:{backgroundColor:N,border:`1px solid ${M}`,borderRadius:"6px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",fontSize:"12px"},children:[d.jsxs("div",{style:{fontWeight:600,marginBottom:"4px"},children:["Run: ",A.runId,T?" (StartPoint)":""]}),d.jsxs("div",{children:[u[0].key,": ",(R=A.x)==null?void 0:R.toFixed(4)]}),d.jsxs("div",{children:[u[1].key,": ",(I=A.y)==null?void 0:I.toFixed(4)]})]})}}),d.jsx(Ha,{name:"Dominated",data:y.all.filter(j=>!j.isParetoOptimal&&j.runId!==p),fill:mE,fillOpacity:.4,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")}),d.jsx(Ha,{name:"Pareto",data:y.all.filter(j=>j.isParetoOptimal&&j.runId!==p),fill:pE,fillOpacity:.95,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")}),p&&d.jsx(Ha,{name:"Start",data:y.all.filter(j=>j.runId===p),fill:vE,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")})]})})})]})}const yE={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"},gE=20;function Pfe(){var b;const{id:e}=np(),[t,r]=P.useState("overview"),[n,i]=P.useState(1),[a,o]=P.useState(""),[s,l]=P.useState("ALL"),{data:u,isLoading:c,error:f}=dp(e),{data:h,isLoading:p}=Xy(e,{page:n-1,pageSize:gE}),{data:v}=Xy(e,{page:0,pageSize:1e3}),{data:m,isLoading:g}=y2(e),y=P.useMemo(()=>{if(!h)return[];let S=[...h];if(a.trim()){const w=a.toLowerCase();S=S.filter(O=>{var j;return(j=O.id)==null?void 0:j.toLowerCase().includes(w)})}return s!=="ALL"&&(S=S.filter(w=>w.status===s)),S.sort((w,O)=>new Date(O.createdAt).getTime()-new Date(w.createdAt).getTime()),S},[h,a,s]),x=P.useMemo(()=>!v||v.length===0?[]:[{name:"COMPLETED",value:v.filter(w=>w.status==="COMPLETED").length,color:"#22c55e"},{name:"RUNNING",value:v.filter(w=>w.status==="RUNNING").length,color:"#3b82f6"},{name:"FAILED",value:v.filter(w=>w.status==="FAILED").length,color:"#ef4444"},{name:"PENDING",value:v.filter(w=>w.status==="PENDING").length,color:"#eab308"},{name:"CANCELLED",value:v.filter(w=>w.status==="CANCELLED").length,color:"#6b7280"},{name:"UNKNOWN",value:v.filter(w=>w.status==="UNKNOWN").length,color:"#a78bfa"}].filter(w=>w.value>0),[v]);return c?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):f||!u?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load experiment"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(f==null?void 0:f.message)||"Experiment not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:u.name}),d.jsx("p",{className:"mt-0.5 text-muted-foreground font-mono text-sm",children:u.id})]}),d.jsx(jr,{variant:yE[u.status],children:u.status})]}),d.jsxs(lm,{value:t,onValueChange:r,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"runs",children:"Runs"})]}),d.jsxs(ao,{value:"overview",className:"space-y-4",children:[d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Details"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[u.description&&d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.description})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.duration>0?`${u.duration.toFixed(2)}s`:"-"})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Total Tokens"}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm",children:((b=u.meta)==null?void 0:b.total_tokens)!==void 0?d.jsxs(d.Fragment,{children:[Number(u.meta.total_tokens).toLocaleString(),u.meta.input_tokens!==void 0&&u.meta.output_tokens!==void 0&&d.jsxs("span",{className:"text-muted-foreground text-xs ml-1",children:["(",Number(u.meta.input_tokens).toLocaleString(),"↓ ",Number(u.meta.output_tokens).toLocaleString(),"↑)"]})]}):d.jsx("span",{className:"text-muted-foreground",children:"-"})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.createdAt),{addSuffix:!0})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.updatedAt),{addSuffix:!0})})]})]}),u.meta&&Object.keys(u.meta).filter(S=>!["total_tokens","input_tokens","output_tokens"].includes(S)).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.meta).filter(([S])=>!["total_tokens","input_tokens","output_tokens"].includes(S)).map(([S,w])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:S}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof w=="string"?w:JSON.stringify(w)})]},S))})]}),u.params&&Object.keys(u.params).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Parameters"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.params).map(([S,w])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:S}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof w=="string"?w:JSON.stringify(w)})]},S))})]}),v&&v.length>0&&x.length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsxs("h3",{className:"text-base font-semibold mb-6",children:["Statistics (",v.length," runs)"]}),d.jsx(Zi,{width:"100%",height:180,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:x,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:48,label:({name:S,value:w})=>`${S}: ${w}`,style:{fontSize:"12px"},children:x.map((S,w)=>d.jsx(mo,{fill:S.color},`cell-${w}`))}),d.jsx(_t,{}),d.jsx(Br,{wrapperStyle:{fontSize:"12px"}})]})})]})]})}),g?d.jsx(Te,{className:"h-80 w-full"}):m&&Object.keys(m).length>0?d.jsx(jfe,{metrics:m,experimentId:e,title:"Metrics",description:"Switch between timeline and Pareto analysis views"}):d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsx(Bt,{className:"text-sm",children:"Metrics"}),d.jsx(dr,{className:"text-xs",children:"No metrics data available"})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:v&&v.length>0?"No metrics logged yet":"No runs in this experiment"})})]})]}),d.jsx(ao,{value:"runs",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search runs...",value:a,onChange:S=>o(S.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(S=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l(S),className:`h-8 px-2.5 text-xs transition-colors ${s===S?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:S},S))})]}),p?d.jsx(Te,{className:"h-24 w-full"}):!h||h.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No runs found"}):y.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No runs match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Run ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:y.map(S=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/runs/${S.id}`,className:"font-mono text-primary font-medium hover:underline",children:S.id})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:yE[S.status],className:"text-xs px-2 py-0.5",children:S.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(S.createdAt),{addSuffix:!0})})]},S.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",n]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:n===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:h.length{const r=new Set;return e.forEach(i=>{i.params&&Object.keys(i.params).forEach(a=>r.add(a))}),Array.from(r).map(i=>{const a=e.map(l=>l.params&&i in l.params?JSON.stringify(l.params[i]):null),s=new Set(a.filter(l=>l!==null)).size>1;return{key:i,values:a,isDifferent:s}}).sort((i,a)=>i.isDifferent!==a.isDifferent?i.isDifferent?-1:1:i.key.localeCompare(a.key))},[e]);return d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Parameter Comparison"}),d.jsx(dr,{children:"Side-by-side comparison of experiment parameters"})]}),d.jsx(he,{children:t.length===0?d.jsx("div",{className:"flex h-32 items-center justify-center text-muted-foreground",children:"No parameters to compare"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"font-semibold",children:"Parameter"}),e.map((r,n)=>d.jsx(Re,{className:"font-semibold",children:r.name},r.id))]})}),d.jsx(wo,{children:t.map(r=>d.jsxs(Or,{className:r.isDifferent?"bg-yellow-50 dark:bg-yellow-950":"",children:[d.jsx(Le,{className:"font-medium",children:r.key}),r.values.map((n,i)=>d.jsx(Le,{className:n===null?"text-muted-foreground italic":r.isDifferent?"font-medium":"",children:n===null?"-":n},i))]},r.key))})]})})]})}const xE=["#0ea5e9","#8b5cf6","#ec4899","#f59e0b","#10b981"];function Afe({experimentIds:e}){const t=e.map(a=>y2(a)),r=t.some(a=>a.isLoading),n=P.useMemo(()=>{if(r)return[];const a=new Map;return t.forEach((o,s)=>{const l=o.data||{};Object.entries(l).forEach(([u,c])=>{c.forEach(f=>{const h=f.createdAt,p=`exp${s+1}_${u}`;a.has(h)||a.set(h,{timestamp:h,time:qi(new Date(h),"HH:mm:ss")});const v=a.get(h);v[p]=f.value})})}),Array.from(a.values()).sort((o,s)=>new Date(o.timestamp).getTime()-new Date(s.timestamp).getTime())},[t,r]),i=P.useMemo(()=>{const a=new Set;return n.length>0&&Object.keys(n[0]).forEach(o=>{o!=="timestamp"&&o!=="time"&&a.add(o)}),Array.from(a)},[n]);return r?d.jsxs(de,{children:[d.jsx(Ft,{children:d.jsx(Bt,{children:"Metrics Overlay"})}),d.jsx(he,{children:d.jsx(Te,{className:"h-96 w-full"})})]}):n.length===0?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Metrics Overlay"}),d.jsx(dr,{children:"Combined metrics visualization across experiments"})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:"No metrics data available for comparison"})})]}):d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Metrics Overlay"}),d.jsx(dr,{children:"Combined metrics from all selected experiments"})]}),d.jsx(he,{children:d.jsx(Zi,{width:"100%",height:400,children:d.jsxs(sm,{data:n,margin:{top:5,right:30,left:20,bottom:5},children:[d.jsx(Ys,{strokeDasharray:"3 3"}),d.jsx(ri,{dataKey:"time",label:{value:"Time",position:"insideBottom",offset:-5}}),d.jsx(ni,{label:{value:"Value",angle:-90,position:"insideLeft"}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"0.5rem"}}),d.jsx(Br,{}),i.map((a,o)=>d.jsx(_n,{type:"monotone",dataKey:a,stroke:xE[o%xE.length],strokeWidth:2,dot:{r:3},connectNulls:!0},a))]})})})]})}const _fe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function Tfe(){var i;const[e]=yL(),t=((i=e.get("ids"))==null?void 0:i.split(","))||[],{data:r,isLoading:n}=k5(t);return n?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):!r||r.length<2?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Experiment Comparison"}),d.jsx(dr,{children:"Select at least 2 experiments to compare"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-muted-foreground",children:"No experiments selected for comparison"})})]}):d.jsxs("div",{className:"space-y-6",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-3xl font-bold text-foreground",children:"Experiment Comparison"}),d.jsxs("p",{className:"mt-2 text-muted-foreground",children:["Comparing ",r.length," experiments"]})]}),d.jsx("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:r.map(a=>d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsx(Bt,{className:"text-lg",children:a.name}),d.jsx(jr,{variant:_fe[a.status],children:a.status})]}),a.description&&d.jsx(dr,{children:a.description})]}),d.jsx(he,{children:d.jsxs("dl",{className:"space-y-2 text-sm",children:[d.jsxs("div",{className:"flex justify-between",children:[d.jsx("dt",{className:"text-muted-foreground",children:"Duration"}),d.jsx("dd",{className:"font-medium",children:a.duration>0?`${a.duration.toFixed(2)}s`:"-"})]}),d.jsxs("div",{className:"flex justify-between",children:[d.jsx("dt",{className:"text-muted-foreground",children:"Params"}),d.jsx("dd",{className:"font-medium",children:a.params?Object.keys(a.params).length:0})]})]})})]},a.id))}),d.jsx(Efe,{experiments:r}),d.jsx(Afe,{experimentIds:t})]})}const Nfe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function kfe(){var m,g;const{selectedTeamId:e}=fo(),[t,r]=P.useState("ALL"),[n,i]=P.useState(""),{data:a,isLoading:o}=fp(e||"",{page:0,pageSize:1e3,enabled:!!e}),s=((m=a==null?void 0:a[0])==null?void 0:m.id)||"",{data:l,isLoading:u}=Nd(s,{page:0,pageSize:100,enabled:!!s}),c=((g=l==null?void 0:l[0])==null?void 0:g.id)||"",{data:f,isLoading:h}=Xy(c,{page:0,pageSize:100,enabled:!!c}),p=P.useMemo(()=>{if(!f)return[];let y=[...f];if(n.trim()){const x=n.toLowerCase();y=y.filter(b=>{var S,w;return((S=b.id)==null?void 0:S.toLowerCase().includes(x))||((w=b.experimentId)==null?void 0:w.toLowerCase().includes(x))})}return t!=="ALL"&&(y=y.filter(x=>x.status===t)),y.sort((x,b)=>new Date(b.createdAt).getTime()-new Date(x.createdAt).getTime()),y},[f,t,n]),v=o||u||h;return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-foreground",children:"Runs"}),d.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Browse and monitor individual runs"})]}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search runs...",value:n,onChange:y=>i(y.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(y=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(y),className:`h-8 px-2.5 text-xs transition-colors ${t===y?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:y},y))})]}),v?d.jsx(Te,{className:"h-24 w-full"}):!p||p.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:n.trim()?"No runs match your search":t!=="ALL"?`No ${t} runs found`:"No runs found"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Run ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Experiment ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:p.map(y=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/runs/${y.id}`,className:"font-mono text-primary font-medium hover:underline",children:y.id})}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${y.experimentId}`,className:"font-mono text-primary font-medium hover:underline",children:y.experimentId})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:Nfe[y.status],className:"text-xs px-2 py-0.5",children:y.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(y.createdAt),{addSuffix:!0})})]},y.id))})]})]})})]})}async function Cfe(e,t,r){try{return(await Xt(Qt.listArtifactTags,{team_id:e,project_id:t,repo_type:r})).artifactTags.map(i=>i.name)}catch(n){throw new Error(`Failed to list tags for project ${t}: ${n instanceof Error?n.message:"Unknown error"}`)}}async function $fe(e,t,r,n){try{return(await Xt(Qt.getArtifactContent,{team_id:e,project_id:t,tag:r,repo_type:n})).artifactContent}catch(i){throw new Error(`Failed to get artifact content: ${i instanceof Error?i.message:"Unknown error"}`)}}function Mfe(e,t,r){return Ar({queryKey:["artifacts","tags",e,t,r],queryFn:()=>Cfe(e,t,r),enabled:!!(e&&t),staleTime:10*60*1e3})}function g2(e,t,r,n,i=!0){return Ar({queryKey:["artifacts","content",e,t,r,n],queryFn:()=>$fe(e,t,r,n),enabled:!!(i&&e&&t&&r),staleTime:1/0,gcTime:30*60*1e3,retry:1})}function Gi(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function bE(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function x2(...e){return t=>{let r=!1;const n=e.map(i=>{const a=bE(i,t);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let i=0;i{const{children:o,...s}=a,l=P.useMemo(()=>s,Object.values(s));return d.jsx(r.Provider,{value:l,children:o})};n.displayName=e+"Provider";function i(a){const o=P.useContext(r);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[n,i]}function Dfe(e,t=[]){let r=[];function n(a,o){const s=P.createContext(o),l=r.length;r=[...r,o];const u=f=>{var y;const{scope:h,children:p,...v}=f,m=((y=h==null?void 0:h[e])==null?void 0:y[l])||s,g=P.useMemo(()=>v,Object.values(v));return d.jsx(m.Provider,{value:g,children:p})};u.displayName=a+"Provider";function c(f,h){var m;const p=((m=h==null?void 0:h[e])==null?void 0:m[l])||s,v=P.useContext(p);if(v)return v;if(o!==void 0)return o;throw new Error(`\`${f}\` must be used within \`${a}\``)}return[u,c]}const i=()=>{const a=r.map(o=>P.createContext(o));return function(s){const l=(s==null?void 0:s[e])||a;return P.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return i.scopeName=e,[n,Rfe(i,...t)]}function Rfe(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(a){const o=n.reduce((s,{useScope:l,scopeName:u})=>{const f=l(a)[`__scope${u}`];return{...s,...f}},{});return P.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}var bc=globalThis!=null&&globalThis.document?P.useLayoutEffect:()=>{},Lfe=R0[" useId ".trim().toString()]||(()=>{}),Ffe=0;function jv(e){const[t,r]=P.useState(Lfe());return bc(()=>{r(n=>n??String(Ffe++))},[e]),e||(t?`radix-${t}`:"")}var Bfe=R0[" useInsertionEffect ".trim().toString()]||bc;function zfe({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,a,o]=Ufe({defaultProp:t,onChange:r}),s=e!==void 0,l=s?e:i;{const c=P.useRef(e!==void 0);P.useEffect(()=>{const f=c.current;f!==s&&console.warn(`${n} is changing from ${f?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),c.current=s},[s,n])}const u=P.useCallback(c=>{var f;if(s){const h=Wfe(c)?c(e):c;h!==e&&((f=o.current)==null||f.call(o,h))}else a(c)},[s,e,a,o]);return[l,u]}function Ufe({defaultProp:e,onChange:t}){const[r,n]=P.useState(e),i=P.useRef(r),a=P.useRef(t);return Bfe(()=>{a.current=t},[t]),P.useEffect(()=>{var o;i.current!==r&&((o=a.current)==null||o.call(a,r),i.current=r)},[r,i]),[r,n,a]}function Wfe(e){return typeof e=="function"}function b2(e){const t=Hfe(e),r=P.forwardRef((n,i)=>{const{children:a,...o}=n,s=P.Children.toArray(a),l=s.find(qfe);if(l){const u=l.props.children,c=s.map(f=>f===l?P.Children.count(u)>1?P.Children.only(null):P.isValidElement(u)?u.props.children:null:f);return d.jsx(t,{...o,ref:i,children:P.isValidElement(u)?P.cloneElement(u,void 0,c):null})}return d.jsx(t,{...o,ref:i,children:a})});return r.displayName=`${e}.Slot`,r}function Hfe(e){const t=P.forwardRef((r,n)=>{const{children:i,...a}=r;if(P.isValidElement(i)){const o=Gfe(i),s=Vfe(a,i.props);return i.type!==P.Fragment&&(s.ref=n?x2(n,o):o),P.cloneElement(i,s)}return P.Children.count(i)>1?P.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Kfe=Symbol("radix.slottable");function qfe(e){return P.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Kfe}function Vfe(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...s)=>{const l=a(...s);return i(...s),l}:i&&(r[n]=i):n==="style"?r[n]={...i,...a}:n==="className"&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}function Gfe(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Yfe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ui=Yfe.reduce((e,t)=>{const r=b2(`Primitive.${t}`),n=P.forwardRef((i,a)=>{const{asChild:o,...s}=i,l=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(l,{...s,ref:a})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Xfe(e,t){e&&_x.flushSync(()=>e.dispatchEvent(t))}function wc(e){const t=P.useRef(e);return P.useEffect(()=>{t.current=e}),P.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}function Qfe(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e);P.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var Jfe="DismissableLayer",N0="dismissableLayer.update",Zfe="dismissableLayer.pointerDownOutside",ede="dismissableLayer.focusOutside",wE,w2=P.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),S2=P.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...l}=e,u=P.useContext(w2),[c,f]=P.useState(null),h=(c==null?void 0:c.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=P.useState({}),v=Oo(t,j=>f(j)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=m.indexOf(g),x=c?m.indexOf(c):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,S=x>=y,w=nde(j=>{const E=j.target,A=[...u.branches].some(T=>T.contains(E));!S||A||(i==null||i(j),o==null||o(j),j.defaultPrevented||s==null||s())},h),O=ide(j=>{const E=j.target;[...u.branches].some(T=>T.contains(E))||(a==null||a(j),o==null||o(j),j.defaultPrevented||s==null||s())},h);return Qfe(j=>{x===u.layers.size-1&&(n==null||n(j),!j.defaultPrevented&&s&&(j.preventDefault(),s()))},h),P.useEffect(()=>{if(c)return r&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(wE=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(c)),u.layers.add(c),SE(),()=>{r&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=wE)}},[c,h,r,u]),P.useEffect(()=>()=>{c&&(u.layers.delete(c),u.layersWithOutsidePointerEventsDisabled.delete(c),SE())},[c,u]),P.useEffect(()=>{const j=()=>p({});return document.addEventListener(N0,j),()=>document.removeEventListener(N0,j)},[]),d.jsx(ui.div,{...l,ref:v,style:{pointerEvents:b?S?"auto":"none":void 0,...e.style},onFocusCapture:Gi(e.onFocusCapture,O.onFocusCapture),onBlurCapture:Gi(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:Gi(e.onPointerDownCapture,w.onPointerDownCapture)})});S2.displayName=Jfe;var tde="DismissableLayerBranch",rde=P.forwardRef((e,t)=>{const r=P.useContext(w2),n=P.useRef(null),i=Oo(t,n);return P.useEffect(()=>{const a=n.current;if(a)return r.branches.add(a),()=>{r.branches.delete(a)}},[r.branches]),d.jsx(ui.div,{...e,ref:i})});rde.displayName=tde;function nde(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e),n=P.useRef(!1),i=P.useRef(()=>{});return P.useEffect(()=>{const a=s=>{if(s.target&&!n.current){let l=function(){O2(Zfe,r,u,{discrete:!0})};const u={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=l,t.addEventListener("click",i.current,{once:!0})):l()}else t.removeEventListener("click",i.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",a),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function ide(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e),n=P.useRef(!1);return P.useEffect(()=>{const i=a=>{a.target&&!n.current&&O2(ede,r,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function SE(){const e=new CustomEvent(N0);document.dispatchEvent(e)}function O2(e,t,r,{discrete:n}){const i=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?Xfe(i,a):i.dispatchEvent(a)}var Pv="focusScope.autoFocusOnMount",Ev="focusScope.autoFocusOnUnmount",OE={bubbles:!1,cancelable:!0},ade="FocusScope",j2=P.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,l]=P.useState(null),u=wc(i),c=wc(a),f=P.useRef(null),h=Oo(t,m=>l(m)),p=P.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;P.useEffect(()=>{if(n){let m=function(b){if(p.paused||!s)return;const S=b.target;s.contains(S)?f.current=S:vi(f.current,{select:!0})},g=function(b){if(p.paused||!s)return;const S=b.relatedTarget;S!==null&&(s.contains(S)||vi(f.current,{select:!0}))},y=function(b){if(document.activeElement===document.body)for(const w of b)w.removedNodes.length>0&&vi(s)};document.addEventListener("focusin",m),document.addEventListener("focusout",g);const x=new MutationObserver(y);return s&&x.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",g),x.disconnect()}}},[n,s,p.paused]),P.useEffect(()=>{if(s){PE.add(p);const m=document.activeElement;if(!s.contains(m)){const y=new CustomEvent(Pv,OE);s.addEventListener(Pv,u),s.dispatchEvent(y),y.defaultPrevented||(ode(fde(P2(s)),{select:!0}),document.activeElement===m&&vi(s))}return()=>{s.removeEventListener(Pv,u),setTimeout(()=>{const y=new CustomEvent(Ev,OE);s.addEventListener(Ev,c),s.dispatchEvent(y),y.defaultPrevented||vi(m??document.body,{select:!0}),s.removeEventListener(Ev,c),PE.remove(p)},0)}}},[s,u,c,p]);const v=P.useCallback(m=>{if(!r&&!n||p.paused)return;const g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,y=document.activeElement;if(g&&y){const x=m.currentTarget,[b,S]=sde(x);b&&S?!m.shiftKey&&y===S?(m.preventDefault(),r&&vi(b,{select:!0})):m.shiftKey&&y===b&&(m.preventDefault(),r&&vi(S,{select:!0})):y===x&&m.preventDefault()}},[r,n,p.paused]);return d.jsx(ui.div,{tabIndex:-1,...o,ref:h,onKeyDown:v})});j2.displayName=ade;function ode(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(vi(n,{select:t}),document.activeElement!==r)return}function sde(e){const t=P2(e),r=jE(t,e),n=jE(t.reverse(),e);return[r,n]}function P2(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function jE(e,t){for(const r of e)if(!lde(r,{upTo:t}))return r}function lde(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function ude(e){return e instanceof HTMLInputElement&&"select"in e}function vi(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&ude(e)&&t&&e.select()}}var PE=cde();function cde(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=EE(e,t),e.unshift(t)},remove(t){var r;e=EE(e,t),(r=e[0])==null||r.resume()}}}function EE(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function fde(e){return e.filter(t=>t.tagName!=="A")}var dde="Portal",E2=P.forwardRef((e,t)=>{var s;const{container:r,...n}=e,[i,a]=P.useState(!1);bc(()=>a(!0),[]);const o=r||i&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return o?TD.createPortal(d.jsx(ui.div,{...n,ref:t}),o):null});E2.displayName=dde;function hde(e,t){return P.useReducer((r,n)=>t[r][n]??r,e)}var cm=e=>{const{present:t,children:r}=e,n=pde(t),i=typeof r=="function"?r({present:n.isPresent}):P.Children.only(r),a=Oo(n.ref,mde(i));return typeof r=="function"||n.isPresent?P.cloneElement(i,{ref:a}):null};cm.displayName="Presence";function pde(e){const[t,r]=P.useState(),n=P.useRef(null),i=P.useRef(e),a=P.useRef("none"),o=e?"mounted":"unmounted",[s,l]=hde(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return P.useEffect(()=>{const u=Cf(n.current);a.current=s==="mounted"?u:"none"},[s]),bc(()=>{const u=n.current,c=i.current;if(c!==e){const h=a.current,p=Cf(u);e?l("MOUNT"):p==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(c&&h!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),bc(()=>{if(t){let u;const c=t.ownerDocument.defaultView??window,f=p=>{const m=Cf(n.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(l("ANIMATION_END"),!i.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",u=c.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},h=p=>{p.target===t&&(a.current=Cf(n.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{c.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:P.useCallback(u=>{n.current=u?getComputedStyle(u):null,r(u)},[])}}function Cf(e){return(e==null?void 0:e.animationName)||"none"}function mde(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Av=0;function vde(){P.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??AE()),document.body.insertAdjacentElement("beforeend",e[1]??AE()),Av++,()=>{Av===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Av--}},[])}function AE(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var wn=function(){return wn=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return $de;var t=Mde(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},Dde=N2(),ls="data-scroll-locked",Rde=function(e,t,r,n){var i=e.left,a=e.top,o=e.right,s=e.gap;return r===void 0&&(r="margin"),` + `}),d.jsx(P.Suspense,{fallback:d.jsx("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:d.jsxs("div",{className:"text-center space-y-2",children:[d.jsx("div",{className:"animate-spin rounded-full h-8 w-8 border-b-2 border-emerald-500 mx-auto"}),d.jsx("div",{children:"Loading 3D visualization..."})]})}),children:d.jsx(Ofe,{divId:"pareto-3d-plot",data:x,onInitialized:(j,E)=>{E.on("plotly_click",A=>{var T;if(A&&A.points&&A.points[0]){const N=(T=A.points[0].customdata)==null?void 0:T[0];N&&window.open(`/runs/${N}`,"_blank")}})},onUpdate:(j,E)=>{E.removeAllListeners("plotly_click"),E.on("plotly_click",A=>{var T;if(A&&A.points&&A.points[0]){const N=(T=A.points[0].customdata)==null?void 0:T[0];N&&window.open(`/runs/${N}`,"_blank")}})},layout:{autosize:!0,transition:{duration:0},scene:{xaxis:{title:{text:`${u[0].key} (${u[0].direction})`,font:{size:10,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},yaxis:{title:{text:`${u[1].key} (${u[1].direction})`,font:{size:10,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},zaxis:{title:{text:`${u[2].key} (${u[2].direction})`,font:{size:10,color:"#374151",family:"system-ui"}},gridcolor:"#e5e7eb",gridwidth:1,showbackground:!0,backgroundcolor:"#fafafa",tickfont:{size:10,color:"#6b7280"}},camera:{eye:{x:1.7,y:1.7,z:1.3},center:{x:0,y:0,z:0},up:{x:0,y:0,z:1}},aspectmode:"cube"},showlegend:!1,hovermode:"closest",margin:{l:10,r:10,t:10,b:10},paper_bgcolor:"rgba(0,0,0,0)",plot_bgcolor:"rgba(0,0,0,0)",dragmode:"orbit"},config:{responsive:!0,displayModeBar:!0,displaylogo:!1,modeBarButtonsToRemove:["toImage"],modeBarButtonsToAdd:[]},style:{width:"100%",height:"100%"}})})]}):d.jsx(Zi,{width:"100%",height:400,children:d.jsxs(nfe,{margin:{top:20,right:20,bottom:60,left:60},children:[d.jsx(Ys,{strokeDasharray:"3 3",stroke:"#e5e7eb"}),d.jsx(ri,{type:"number",dataKey:"x",name:u[0].key,label:{value:`${u[0].key} (${u[0].direction})`,position:"insideBottom",offset:-10,style:{fontSize:10,fill:"#374151"}},tick:{fontSize:10,fill:"#6b7280"},domain:["dataMin - 0.1 * abs(dataMin)","dataMax + 0.1 * abs(dataMax)"]}),d.jsx(ni,{type:"number",dataKey:"y",name:u[1].key,label:{value:`${u[1].key} (${u[1].direction})`,angle:-90,position:"insideLeft",style:{fontSize:10,fill:"#374151"}},tick:{fontSize:10,fill:"#6b7280"},domain:["dataMin - 0.1 * abs(dataMin)","dataMax + 0.1 * abs(dataMax)"]}),d.jsx(_t,{cursor:{strokeDasharray:"3 3"},content:({active:j,payload:E})=>{var R,I;if(!j||!E||!E[0])return null;const A=E[0].payload,T=A.runId===p,_=A.isParetoOptimal,N=T?"#fef3c7":_?"#f0fdf4":"#fafafa",M=T?"#fcd34d":_?"#86efac":"#d1d5db";return d.jsxs("div",{style:{backgroundColor:N,border:`1px solid ${M}`,borderRadius:"6px",padding:"8px 12px",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",fontSize:"10px"},children:[d.jsxs("div",{style:{fontWeight:600,marginBottom:"4px"},children:["Run: ",A.runId,T?" (StartPoint)":""]}),d.jsxs("div",{children:[u[0].key,": ",(R=A.x)==null?void 0:R.toFixed(4)]}),d.jsxs("div",{children:[u[1].key,": ",(I=A.y)==null?void 0:I.toFixed(4)]})]})}}),d.jsx(Ha,{name:"Dominated",data:y.all.filter(j=>!j.isParetoOptimal&&j.runId!==p),fill:mE,fillOpacity:.4,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")}),d.jsx(Ha,{name:"Pareto",data:y.all.filter(j=>j.isParetoOptimal&&j.runId!==p),fill:pE,fillOpacity:.95,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")}),p&&d.jsx(Ha,{name:"Start",data:y.all.filter(j=>j.runId===p),fill:vE,shape:"circle",onClick:j=>(j==null?void 0:j.runId)&&window.open(`/runs/${j.runId}`,"_blank")})]})})})]})}const yE={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"},gE=20;function Pfe(){var b;const{id:e}=np(),[t,r]=P.useState("overview"),[n,i]=P.useState(1),[a,o]=P.useState(""),[s,l]=P.useState("ALL"),{data:u,isLoading:c,error:f}=dp(e),{data:h,isLoading:p}=Xy(e,{page:n-1,pageSize:gE}),{data:v}=Xy(e,{page:0,pageSize:1e3}),{data:m,isLoading:g}=y2(e),y=P.useMemo(()=>{if(!h)return[];let S=[...h];if(a.trim()){const w=a.toLowerCase();S=S.filter(O=>{var j;return(j=O.id)==null?void 0:j.toLowerCase().includes(w)})}return s!=="ALL"&&(S=S.filter(w=>w.status===s)),S.sort((w,O)=>new Date(O.createdAt).getTime()-new Date(w.createdAt).getTime()),S},[h,a,s]),x=P.useMemo(()=>!v||v.length===0?[]:[{name:"COMPLETED",value:v.filter(w=>w.status==="COMPLETED").length,color:"#22c55e"},{name:"RUNNING",value:v.filter(w=>w.status==="RUNNING").length,color:"#3b82f6"},{name:"FAILED",value:v.filter(w=>w.status==="FAILED").length,color:"#ef4444"},{name:"PENDING",value:v.filter(w=>w.status==="PENDING").length,color:"#eab308"},{name:"CANCELLED",value:v.filter(w=>w.status==="CANCELLED").length,color:"#6b7280"},{name:"UNKNOWN",value:v.filter(w=>w.status==="UNKNOWN").length,color:"#a78bfa"}].filter(w=>w.value>0),[v]);return c?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):f||!u?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Error"}),d.jsx(dr,{children:"Failed to load experiment"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-destructive",children:(f==null?void 0:f.message)||"Experiment not found"})})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-xl font-semibold tracking-tight text-foreground",children:u.name}),d.jsx("p",{className:"mt-0.5 text-muted-foreground font-mono text-sm",children:u.id})]}),d.jsx(jr,{variant:yE[u.status],children:u.status})]}),d.jsxs(lm,{value:t,onValueChange:r,children:[d.jsxs(um,{children:[d.jsx(io,{value:"overview",children:"Overview"}),d.jsx(io,{value:"runs",children:"Runs"})]}),d.jsxs(ao,{value:"overview",className:"space-y-4",children:[d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Details"}),d.jsxs("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:[u.description&&d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Description"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.description})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Duration"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:u.duration>0?`${u.duration.toFixed(2)}s`:"-"})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Total Tokens"}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm",children:((b=u.meta)==null?void 0:b.total_tokens)!==void 0?d.jsxs(d.Fragment,{children:[Number(u.meta.total_tokens).toLocaleString(),u.meta.input_tokens!==void 0&&u.meta.output_tokens!==void 0&&d.jsxs("span",{className:"text-muted-foreground text-xs ml-1",children:["(",Number(u.meta.input_tokens).toLocaleString(),"↓ ",Number(u.meta.output_tokens).toLocaleString(),"↑)"]})]}):d.jsx("span",{className:"text-muted-foreground",children:"-"})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.createdAt),{addSuffix:!0})})]}),d.jsxs("div",{children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Updated"}),d.jsx("dd",{className:"mt-1.5 text-foreground text-sm",children:an(new Date(u.updatedAt),{addSuffix:!0})})]})]}),u.meta&&Object.keys(u.meta).filter(S=>!["total_tokens","input_tokens","output_tokens"].includes(S)).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Metadata"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.meta).filter(([S])=>!["total_tokens","input_tokens","output_tokens"].includes(S)).map(([S,w])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:S}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof w=="string"?w:JSON.stringify(w)})]},S))})]}),u.params&&Object.keys(u.params).length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsx("h3",{className:"text-base font-semibold mb-3",children:"Parameters"}),d.jsx("dl",{className:"grid grid-cols-3 gap-3 text-sm",children:Object.entries(u.params).map(([S,w])=>d.jsxs("div",{className:"break-words",children:[d.jsx("dt",{className:"text-xs font-medium uppercase tracking-wide text-muted-foreground",children:S}),d.jsx("dd",{className:"mt-1.5 text-foreground font-mono text-sm break-all",children:typeof w=="string"?w:JSON.stringify(w)})]},S))})]}),v&&v.length>0&&x.length>0&&d.jsxs("div",{className:"mt-5 pt-5 border-t",children:[d.jsxs("h3",{className:"text-base font-semibold mb-6",children:["Statistics (",v.length," runs)"]}),d.jsx(Zi,{width:"100%",height:180,children:d.jsxs(Xb,{margin:{top:20,bottom:5},children:[d.jsx(dn,{data:x,dataKey:"value",nameKey:"name",cx:"50%",cy:"48%",outerRadius:48,label:({name:S,value:w})=>`${S}: ${w}`,style:{fontSize:"10px"},children:x.map((S,w)=>d.jsx(mo,{fill:S.color},`cell-${w}`))}),d.jsx(_t,{contentStyle:{fontSize:"10px",backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"6px"}}),d.jsx(Br,{wrapperStyle:{fontSize:"10px"}})]})})]})]})}),g?d.jsx(Te,{className:"h-80 w-full"}):m&&Object.keys(m).length>0?d.jsx(jfe,{metrics:m,experimentId:e,title:"Metrics",description:"Switch between timeline and Pareto analysis views"}):d.jsxs(de,{children:[d.jsxs(Ft,{className:"pb-3",children:[d.jsx(Bt,{className:"text-sm",children:"Metrics"}),d.jsx(dr,{className:"text-xs",children:"No metrics data available"})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:v&&v.length>0?"No metrics logged yet":"No runs in this experiment"})})]})]}),d.jsx(ao,{value:"runs",className:"space-y-4",children:d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search runs...",value:a,onChange:S=>o(S.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(S=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>l(S),className:`h-8 px-2.5 text-xs transition-colors ${s===S?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:S},S))})]}),p?d.jsx(Te,{className:"h-24 w-full"}):!h||h.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No runs found"}):y.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:"No runs match your search"}):d.jsxs(d.Fragment,{children:[d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Run ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:y.map(S=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/runs/${S.id}`,className:"font-mono text-primary font-medium hover:underline",children:S.id})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:yE[S.status],className:"text-xs px-2 py-0.5",children:S.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(S.createdAt),{addSuffix:!0})})]},S.id))})]}),d.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[d.jsxs("div",{className:"text-sm text-muted-foreground",children:["Page ",n]}),d.jsxs("div",{className:"flex gap-1.5",children:[d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n-1),window.scrollTo({top:0,behavior:"smooth"})},disabled:n===1,className:"h-9 w-9 p-0",children:d.jsx(cp,{className:"h-4 w-4"})}),d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>{i(n+1),window.scrollTo({top:0,behavior:"smooth"})},disabled:h.length{const r=new Set;return e.forEach(i=>{i.params&&Object.keys(i.params).forEach(a=>r.add(a))}),Array.from(r).map(i=>{const a=e.map(l=>l.params&&i in l.params?JSON.stringify(l.params[i]):null),s=new Set(a.filter(l=>l!==null)).size>1;return{key:i,values:a,isDifferent:s}}).sort((i,a)=>i.isDifferent!==a.isDifferent?i.isDifferent?-1:1:i.key.localeCompare(a.key))},[e]);return d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Parameter Comparison"}),d.jsx(dr,{children:"Side-by-side comparison of experiment parameters"})]}),d.jsx(he,{children:t.length===0?d.jsx("div",{className:"flex h-32 items-center justify-center text-muted-foreground",children:"No parameters to compare"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"font-semibold",children:"Parameter"}),e.map((r,n)=>d.jsx(Re,{className:"font-semibold",children:r.name},r.id))]})}),d.jsx(wo,{children:t.map(r=>d.jsxs(Or,{className:r.isDifferent?"bg-yellow-50 dark:bg-yellow-950":"",children:[d.jsx(Le,{className:"font-medium",children:r.key}),r.values.map((n,i)=>d.jsx(Le,{className:n===null?"text-muted-foreground italic":r.isDifferent?"font-medium":"",children:n===null?"-":n},i))]},r.key))})]})})]})}const xE=["#0ea5e9","#8b5cf6","#ec4899","#f59e0b","#10b981"];function Afe({experimentIds:e}){const t=e.map(a=>y2(a)),r=t.some(a=>a.isLoading),n=P.useMemo(()=>{if(r)return[];const a=new Map;return t.forEach((o,s)=>{const l=o.data||{};Object.entries(l).forEach(([u,c])=>{c.forEach(f=>{const h=f.createdAt,p=`exp${s+1}_${u}`;a.has(h)||a.set(h,{timestamp:h,time:qi(new Date(h),"HH:mm:ss")});const v=a.get(h);v[p]=f.value})})}),Array.from(a.values()).sort((o,s)=>new Date(o.timestamp).getTime()-new Date(s.timestamp).getTime())},[t,r]),i=P.useMemo(()=>{const a=new Set;return n.length>0&&Object.keys(n[0]).forEach(o=>{o!=="timestamp"&&o!=="time"&&a.add(o)}),Array.from(a)},[n]);return r?d.jsxs(de,{children:[d.jsx(Ft,{children:d.jsx(Bt,{children:"Metrics Overlay"})}),d.jsx(he,{children:d.jsx(Te,{className:"h-96 w-full"})})]}):n.length===0?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Metrics Overlay"}),d.jsx(dr,{children:"Combined metrics visualization across experiments"})]}),d.jsx(he,{children:d.jsx("div",{className:"flex h-64 items-center justify-center text-muted-foreground",children:"No metrics data available for comparison"})})]}):d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Metrics Overlay"}),d.jsx(dr,{children:"Combined metrics from all selected experiments"})]}),d.jsx(he,{children:d.jsx(Zi,{width:"100%",height:400,children:d.jsxs(sm,{data:n,margin:{top:5,right:30,left:20,bottom:5},children:[d.jsx(Ys,{strokeDasharray:"3 3"}),d.jsx(ri,{dataKey:"time",tick:{fontSize:10},label:{value:"Time",position:"insideBottom",offset:-5,style:{fontSize:10}}}),d.jsx(ni,{tick:{fontSize:10},label:{value:"Value",angle:-90,position:"insideLeft",style:{fontSize:10}}}),d.jsx(_t,{contentStyle:{backgroundColor:"hsl(var(--card))",border:"1px solid hsl(var(--border))",borderRadius:"0.5rem",fontSize:"10px"}}),d.jsx(Br,{wrapperStyle:{fontSize:"10px"}}),i.map((a,o)=>d.jsx(_n,{type:"monotone",dataKey:a,stroke:xE[o%xE.length],strokeWidth:2,dot:{r:3},connectNulls:!0},a))]})})})]})}const _fe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function Tfe(){var i;const[e]=yL(),t=((i=e.get("ids"))==null?void 0:i.split(","))||[],{data:r,isLoading:n}=k5(t);return n?d.jsxs("div",{className:"space-y-4",children:[d.jsx(Te,{className:"h-12 w-64"}),d.jsx(Te,{className:"h-96 w-full"})]}):!r||r.length<2?d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsx(Bt,{children:"Experiment Comparison"}),d.jsx(dr,{children:"Select at least 2 experiments to compare"})]}),d.jsx(he,{children:d.jsx("p",{className:"text-muted-foreground",children:"No experiments selected for comparison"})})]}):d.jsxs("div",{className:"space-y-6",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-3xl font-bold text-foreground",children:"Experiment Comparison"}),d.jsxs("p",{className:"mt-2 text-muted-foreground",children:["Comparing ",r.length," experiments"]})]}),d.jsx("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3",children:r.map(a=>d.jsxs(de,{children:[d.jsxs(Ft,{children:[d.jsxs("div",{className:"flex items-start justify-between",children:[d.jsx(Bt,{className:"text-lg",children:a.name}),d.jsx(jr,{variant:_fe[a.status],children:a.status})]}),a.description&&d.jsx(dr,{children:a.description})]}),d.jsx(he,{children:d.jsxs("dl",{className:"space-y-2 text-sm",children:[d.jsxs("div",{className:"flex justify-between",children:[d.jsx("dt",{className:"text-muted-foreground",children:"Duration"}),d.jsx("dd",{className:"font-medium",children:a.duration>0?`${a.duration.toFixed(2)}s`:"-"})]}),d.jsxs("div",{className:"flex justify-between",children:[d.jsx("dt",{className:"text-muted-foreground",children:"Params"}),d.jsx("dd",{className:"font-medium",children:a.params?Object.keys(a.params).length:0})]})]})})]},a.id))}),d.jsx(Efe,{experiments:r}),d.jsx(Afe,{experimentIds:t})]})}const Nfe={UNKNOWN:"unknown",PENDING:"warning",RUNNING:"info",CANCELLED:"secondary",COMPLETED:"success",FAILED:"destructive"};function kfe(){var m,g;const{selectedTeamId:e}=fo(),[t,r]=P.useState("ALL"),[n,i]=P.useState(""),{data:a,isLoading:o}=fp(e||"",{page:0,pageSize:1e3,enabled:!!e}),s=((m=a==null?void 0:a[0])==null?void 0:m.id)||"",{data:l,isLoading:u}=Nd(s,{page:0,pageSize:100,enabled:!!s}),c=((g=l==null?void 0:l[0])==null?void 0:g.id)||"",{data:f,isLoading:h}=Xy(c,{page:0,pageSize:100,enabled:!!c}),p=P.useMemo(()=>{if(!f)return[];let y=[...f];if(n.trim()){const x=n.toLowerCase();y=y.filter(b=>{var S,w;return((S=b.id)==null?void 0:S.toLowerCase().includes(x))||((w=b.experimentId)==null?void 0:w.toLowerCase().includes(x))})}return t!=="ALL"&&(y=y.filter(x=>x.status===t)),y.sort((x,b)=>new Date(b.createdAt).getTime()-new Date(x.createdAt).getTime()),y},[f,t,n]),v=o||u||h;return d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{children:[d.jsx("h1",{className:"text-3xl font-semibold tracking-tight text-foreground",children:"Runs"}),d.jsx("p",{className:"mt-1 text-sm text-muted-foreground",children:"Browse and monitor individual runs"})]}),d.jsx(de,{children:d.jsxs(he,{className:"p-4",children:[d.jsxs("div",{className:"flex gap-2 mb-3 items-center",children:[d.jsxs("div",{className:"relative w-64",children:[d.jsx(Ja,{className:"absolute left-2.5 top-1/2 transform -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),d.jsx(So,{placeholder:"Search runs...",value:n,onChange:y=>i(y.target.value),className:"pl-8 h-9 text-sm focus:bg-blue-50 focus:border-blue-300 focus-visible:ring-0"})]}),d.jsx("div",{className:"flex gap-1",children:["ALL","COMPLETED","RUNNING","FAILED","PENDING","CANCELLED"].map(y=>d.jsx(lt,{variant:"outline",size:"sm",onClick:()=>r(y),className:`h-8 px-2.5 text-xs transition-colors ${t===y?"bg-blue-50 border-blue-300 text-blue-700 hover:bg-blue-100":"bg-white hover:bg-gray-50"}`,children:y},y))})]}),v?d.jsx(Te,{className:"h-24 w-full"}):!p||p.length===0?d.jsx("div",{className:"flex h-24 items-center justify-center text-sm text-muted-foreground",children:n.trim()?"No runs match your search":t!=="ALL"?`No ${t} runs found`:"No runs found"}):d.jsxs(xo,{children:[d.jsx(bo,{children:d.jsxs(Or,{children:[d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Run ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Experiment ID"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Status"}),d.jsx(Re,{className:"h-10 text-xs font-medium uppercase tracking-wide text-muted-foreground",children:"Created"})]})}),d.jsx(wo,{children:p.map(y=>d.jsxs(Or,{children:[d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/runs/${y.id}`,className:"font-mono text-primary font-medium hover:underline",children:y.id})}),d.jsx(Le,{className:"py-3.5 text-sm",children:d.jsx(Tn,{to:`/experiments/${y.experimentId}`,className:"font-mono text-primary font-medium hover:underline",children:y.experimentId})}),d.jsx(Le,{className:"py-3.5",children:d.jsx(jr,{variant:Nfe[y.status],className:"text-xs px-2 py-0.5",children:y.status})}),d.jsx(Le,{className:"py-3.5 text-sm text-foreground",children:an(new Date(y.createdAt),{addSuffix:!0})})]},y.id))})]})]})})]})}async function Cfe(e,t,r){try{return(await Xt(Qt.listArtifactTags,{team_id:e,project_id:t,repo_type:r})).artifactTags.map(i=>i.name)}catch(n){throw new Error(`Failed to list tags for project ${t}: ${n instanceof Error?n.message:"Unknown error"}`)}}async function $fe(e,t,r,n){try{return(await Xt(Qt.getArtifactContent,{team_id:e,project_id:t,tag:r,repo_type:n})).artifactContent}catch(i){throw new Error(`Failed to get artifact content: ${i instanceof Error?i.message:"Unknown error"}`)}}function Mfe(e,t,r){return Ar({queryKey:["artifacts","tags",e,t,r],queryFn:()=>Cfe(e,t,r),enabled:!!(e&&t),staleTime:10*60*1e3})}function g2(e,t,r,n,i=!0){return Ar({queryKey:["artifacts","content",e,t,r,n],queryFn:()=>$fe(e,t,r,n),enabled:!!(i&&e&&t&&r),staleTime:1/0,gcTime:30*60*1e3,retry:1})}function Gi(e,t,{checkForDefaultPrevented:r=!0}={}){return function(i){if(e==null||e(i),r===!1||!i.defaultPrevented)return t==null?void 0:t(i)}}function bE(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function x2(...e){return t=>{let r=!1;const n=e.map(i=>{const a=bE(i,t);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let i=0;i{const{children:o,...s}=a,l=P.useMemo(()=>s,Object.values(s));return d.jsx(r.Provider,{value:l,children:o})};n.displayName=e+"Provider";function i(a){const o=P.useContext(r);if(o)return o;if(t!==void 0)return t;throw new Error(`\`${a}\` must be used within \`${e}\``)}return[n,i]}function Dfe(e,t=[]){let r=[];function n(a,o){const s=P.createContext(o),l=r.length;r=[...r,o];const u=f=>{var y;const{scope:h,children:p,...v}=f,m=((y=h==null?void 0:h[e])==null?void 0:y[l])||s,g=P.useMemo(()=>v,Object.values(v));return d.jsx(m.Provider,{value:g,children:p})};u.displayName=a+"Provider";function c(f,h){var m;const p=((m=h==null?void 0:h[e])==null?void 0:m[l])||s,v=P.useContext(p);if(v)return v;if(o!==void 0)return o;throw new Error(`\`${f}\` must be used within \`${a}\``)}return[u,c]}const i=()=>{const a=r.map(o=>P.createContext(o));return function(s){const l=(s==null?void 0:s[e])||a;return P.useMemo(()=>({[`__scope${e}`]:{...s,[e]:l}}),[s,l])}};return i.scopeName=e,[n,Rfe(i,...t)]}function Rfe(...e){const t=e[0];if(e.length===1)return t;const r=()=>{const n=e.map(i=>({useScope:i(),scopeName:i.scopeName}));return function(a){const o=n.reduce((s,{useScope:l,scopeName:u})=>{const f=l(a)[`__scope${u}`];return{...s,...f}},{});return P.useMemo(()=>({[`__scope${t.scopeName}`]:o}),[o])}};return r.scopeName=t.scopeName,r}var bc=globalThis!=null&&globalThis.document?P.useLayoutEffect:()=>{},Lfe=R0[" useId ".trim().toString()]||(()=>{}),Ffe=0;function jv(e){const[t,r]=P.useState(Lfe());return bc(()=>{r(n=>n??String(Ffe++))},[e]),e||(t?`radix-${t}`:"")}var Bfe=R0[" useInsertionEffect ".trim().toString()]||bc;function zfe({prop:e,defaultProp:t,onChange:r=()=>{},caller:n}){const[i,a,o]=Ufe({defaultProp:t,onChange:r}),s=e!==void 0,l=s?e:i;{const c=P.useRef(e!==void 0);P.useEffect(()=>{const f=c.current;f!==s&&console.warn(`${n} is changing from ${f?"controlled":"uncontrolled"} to ${s?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),c.current=s},[s,n])}const u=P.useCallback(c=>{var f;if(s){const h=Wfe(c)?c(e):c;h!==e&&((f=o.current)==null||f.call(o,h))}else a(c)},[s,e,a,o]);return[l,u]}function Ufe({defaultProp:e,onChange:t}){const[r,n]=P.useState(e),i=P.useRef(r),a=P.useRef(t);return Bfe(()=>{a.current=t},[t]),P.useEffect(()=>{var o;i.current!==r&&((o=a.current)==null||o.call(a,r),i.current=r)},[r,i]),[r,n,a]}function Wfe(e){return typeof e=="function"}function b2(e){const t=Hfe(e),r=P.forwardRef((n,i)=>{const{children:a,...o}=n,s=P.Children.toArray(a),l=s.find(qfe);if(l){const u=l.props.children,c=s.map(f=>f===l?P.Children.count(u)>1?P.Children.only(null):P.isValidElement(u)?u.props.children:null:f);return d.jsx(t,{...o,ref:i,children:P.isValidElement(u)?P.cloneElement(u,void 0,c):null})}return d.jsx(t,{...o,ref:i,children:a})});return r.displayName=`${e}.Slot`,r}function Hfe(e){const t=P.forwardRef((r,n)=>{const{children:i,...a}=r;if(P.isValidElement(i)){const o=Gfe(i),s=Vfe(a,i.props);return i.type!==P.Fragment&&(s.ref=n?x2(n,o):o),P.cloneElement(i,s)}return P.Children.count(i)>1?P.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Kfe=Symbol("radix.slottable");function qfe(e){return P.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Kfe}function Vfe(e,t){const r={...t};for(const n in t){const i=e[n],a=t[n];/^on[A-Z]/.test(n)?i&&a?r[n]=(...s)=>{const l=a(...s);return i(...s),l}:i&&(r[n]=i):n==="style"?r[n]={...i,...a}:n==="className"&&(r[n]=[i,a].filter(Boolean).join(" "))}return{...e,...r}}function Gfe(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Yfe=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],ui=Yfe.reduce((e,t)=>{const r=b2(`Primitive.${t}`),n=P.forwardRef((i,a)=>{const{asChild:o,...s}=i,l=o?r:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),d.jsx(l,{...s,ref:a})});return n.displayName=`Primitive.${t}`,{...e,[t]:n}},{});function Xfe(e,t){e&&_x.flushSync(()=>e.dispatchEvent(t))}function wc(e){const t=P.useRef(e);return P.useEffect(()=>{t.current=e}),P.useMemo(()=>(...r)=>{var n;return(n=t.current)==null?void 0:n.call(t,...r)},[])}function Qfe(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e);P.useEffect(()=>{const n=i=>{i.key==="Escape"&&r(i)};return t.addEventListener("keydown",n,{capture:!0}),()=>t.removeEventListener("keydown",n,{capture:!0})},[r,t])}var Jfe="DismissableLayer",N0="dismissableLayer.update",Zfe="dismissableLayer.pointerDownOutside",ede="dismissableLayer.focusOutside",wE,w2=P.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),S2=P.forwardRef((e,t)=>{const{disableOutsidePointerEvents:r=!1,onEscapeKeyDown:n,onPointerDownOutside:i,onFocusOutside:a,onInteractOutside:o,onDismiss:s,...l}=e,u=P.useContext(w2),[c,f]=P.useState(null),h=(c==null?void 0:c.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,p]=P.useState({}),v=Oo(t,j=>f(j)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=m.indexOf(g),x=c?m.indexOf(c):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,S=x>=y,w=nde(j=>{const E=j.target,A=[...u.branches].some(T=>T.contains(E));!S||A||(i==null||i(j),o==null||o(j),j.defaultPrevented||s==null||s())},h),O=ide(j=>{const E=j.target;[...u.branches].some(T=>T.contains(E))||(a==null||a(j),o==null||o(j),j.defaultPrevented||s==null||s())},h);return Qfe(j=>{x===u.layers.size-1&&(n==null||n(j),!j.defaultPrevented&&s&&(j.preventDefault(),s()))},h),P.useEffect(()=>{if(c)return r&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(wE=h.body.style.pointerEvents,h.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(c)),u.layers.add(c),SE(),()=>{r&&u.layersWithOutsidePointerEventsDisabled.size===1&&(h.body.style.pointerEvents=wE)}},[c,h,r,u]),P.useEffect(()=>()=>{c&&(u.layers.delete(c),u.layersWithOutsidePointerEventsDisabled.delete(c),SE())},[c,u]),P.useEffect(()=>{const j=()=>p({});return document.addEventListener(N0,j),()=>document.removeEventListener(N0,j)},[]),d.jsx(ui.div,{...l,ref:v,style:{pointerEvents:b?S?"auto":"none":void 0,...e.style},onFocusCapture:Gi(e.onFocusCapture,O.onFocusCapture),onBlurCapture:Gi(e.onBlurCapture,O.onBlurCapture),onPointerDownCapture:Gi(e.onPointerDownCapture,w.onPointerDownCapture)})});S2.displayName=Jfe;var tde="DismissableLayerBranch",rde=P.forwardRef((e,t)=>{const r=P.useContext(w2),n=P.useRef(null),i=Oo(t,n);return P.useEffect(()=>{const a=n.current;if(a)return r.branches.add(a),()=>{r.branches.delete(a)}},[r.branches]),d.jsx(ui.div,{...e,ref:i})});rde.displayName=tde;function nde(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e),n=P.useRef(!1),i=P.useRef(()=>{});return P.useEffect(()=>{const a=s=>{if(s.target&&!n.current){let l=function(){O2(Zfe,r,u,{discrete:!0})};const u={originalEvent:s};s.pointerType==="touch"?(t.removeEventListener("click",i.current),i.current=l,t.addEventListener("click",i.current,{once:!0})):l()}else t.removeEventListener("click",i.current);n.current=!1},o=window.setTimeout(()=>{t.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(o),t.removeEventListener("pointerdown",a),t.removeEventListener("click",i.current)}},[t,r]),{onPointerDownCapture:()=>n.current=!0}}function ide(e,t=globalThis==null?void 0:globalThis.document){const r=wc(e),n=P.useRef(!1);return P.useEffect(()=>{const i=a=>{a.target&&!n.current&&O2(ede,r,{originalEvent:a},{discrete:!1})};return t.addEventListener("focusin",i),()=>t.removeEventListener("focusin",i)},[t,r]),{onFocusCapture:()=>n.current=!0,onBlurCapture:()=>n.current=!1}}function SE(){const e=new CustomEvent(N0);document.dispatchEvent(e)}function O2(e,t,r,{discrete:n}){const i=r.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:r});t&&i.addEventListener(e,t,{once:!0}),n?Xfe(i,a):i.dispatchEvent(a)}var Pv="focusScope.autoFocusOnMount",Ev="focusScope.autoFocusOnUnmount",OE={bubbles:!1,cancelable:!0},ade="FocusScope",j2=P.forwardRef((e,t)=>{const{loop:r=!1,trapped:n=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,l]=P.useState(null),u=wc(i),c=wc(a),f=P.useRef(null),h=Oo(t,m=>l(m)),p=P.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;P.useEffect(()=>{if(n){let m=function(b){if(p.paused||!s)return;const S=b.target;s.contains(S)?f.current=S:vi(f.current,{select:!0})},g=function(b){if(p.paused||!s)return;const S=b.relatedTarget;S!==null&&(s.contains(S)||vi(f.current,{select:!0}))},y=function(b){if(document.activeElement===document.body)for(const w of b)w.removedNodes.length>0&&vi(s)};document.addEventListener("focusin",m),document.addEventListener("focusout",g);const x=new MutationObserver(y);return s&&x.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",m),document.removeEventListener("focusout",g),x.disconnect()}}},[n,s,p.paused]),P.useEffect(()=>{if(s){PE.add(p);const m=document.activeElement;if(!s.contains(m)){const y=new CustomEvent(Pv,OE);s.addEventListener(Pv,u),s.dispatchEvent(y),y.defaultPrevented||(ode(fde(P2(s)),{select:!0}),document.activeElement===m&&vi(s))}return()=>{s.removeEventListener(Pv,u),setTimeout(()=>{const y=new CustomEvent(Ev,OE);s.addEventListener(Ev,c),s.dispatchEvent(y),y.defaultPrevented||vi(m??document.body,{select:!0}),s.removeEventListener(Ev,c),PE.remove(p)},0)}}},[s,u,c,p]);const v=P.useCallback(m=>{if(!r&&!n||p.paused)return;const g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,y=document.activeElement;if(g&&y){const x=m.currentTarget,[b,S]=sde(x);b&&S?!m.shiftKey&&y===S?(m.preventDefault(),r&&vi(b,{select:!0})):m.shiftKey&&y===b&&(m.preventDefault(),r&&vi(S,{select:!0})):y===x&&m.preventDefault()}},[r,n,p.paused]);return d.jsx(ui.div,{tabIndex:-1,...o,ref:h,onKeyDown:v})});j2.displayName=ade;function ode(e,{select:t=!1}={}){const r=document.activeElement;for(const n of e)if(vi(n,{select:t}),document.activeElement!==r)return}function sde(e){const t=P2(e),r=jE(t,e),n=jE(t.reverse(),e);return[r,n]}function P2(e){const t=[],r=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:n=>{const i=n.tagName==="INPUT"&&n.type==="hidden";return n.disabled||n.hidden||i?NodeFilter.FILTER_SKIP:n.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;r.nextNode();)t.push(r.currentNode);return t}function jE(e,t){for(const r of e)if(!lde(r,{upTo:t}))return r}function lde(e,{upTo:t}){if(getComputedStyle(e).visibility==="hidden")return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display==="none")return!0;e=e.parentElement}return!1}function ude(e){return e instanceof HTMLInputElement&&"select"in e}function vi(e,{select:t=!1}={}){if(e&&e.focus){const r=document.activeElement;e.focus({preventScroll:!0}),e!==r&&ude(e)&&t&&e.select()}}var PE=cde();function cde(){let e=[];return{add(t){const r=e[0];t!==r&&(r==null||r.pause()),e=EE(e,t),e.unshift(t)},remove(t){var r;e=EE(e,t),(r=e[0])==null||r.resume()}}}function EE(e,t){const r=[...e],n=r.indexOf(t);return n!==-1&&r.splice(n,1),r}function fde(e){return e.filter(t=>t.tagName!=="A")}var dde="Portal",E2=P.forwardRef((e,t)=>{var s;const{container:r,...n}=e,[i,a]=P.useState(!1);bc(()=>a(!0),[]);const o=r||i&&((s=globalThis==null?void 0:globalThis.document)==null?void 0:s.body);return o?TD.createPortal(d.jsx(ui.div,{...n,ref:t}),o):null});E2.displayName=dde;function hde(e,t){return P.useReducer((r,n)=>t[r][n]??r,e)}var cm=e=>{const{present:t,children:r}=e,n=pde(t),i=typeof r=="function"?r({present:n.isPresent}):P.Children.only(r),a=Oo(n.ref,mde(i));return typeof r=="function"||n.isPresent?P.cloneElement(i,{ref:a}):null};cm.displayName="Presence";function pde(e){const[t,r]=P.useState(),n=P.useRef(null),i=P.useRef(e),a=P.useRef("none"),o=e?"mounted":"unmounted",[s,l]=hde(o,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return P.useEffect(()=>{const u=Cf(n.current);a.current=s==="mounted"?u:"none"},[s]),bc(()=>{const u=n.current,c=i.current;if(c!==e){const h=a.current,p=Cf(u);e?l("MOUNT"):p==="none"||(u==null?void 0:u.display)==="none"?l("UNMOUNT"):l(c&&h!==p?"ANIMATION_OUT":"UNMOUNT"),i.current=e}},[e,l]),bc(()=>{if(t){let u;const c=t.ownerDocument.defaultView??window,f=p=>{const m=Cf(n.current).includes(CSS.escape(p.animationName));if(p.target===t&&m&&(l("ANIMATION_END"),!i.current)){const g=t.style.animationFillMode;t.style.animationFillMode="forwards",u=c.setTimeout(()=>{t.style.animationFillMode==="forwards"&&(t.style.animationFillMode=g)})}},h=p=>{p.target===t&&(a.current=Cf(n.current))};return t.addEventListener("animationstart",h),t.addEventListener("animationcancel",f),t.addEventListener("animationend",f),()=>{c.clearTimeout(u),t.removeEventListener("animationstart",h),t.removeEventListener("animationcancel",f),t.removeEventListener("animationend",f)}}else l("ANIMATION_END")},[t,l]),{isPresent:["mounted","unmountSuspended"].includes(s),ref:P.useCallback(u=>{n.current=u?getComputedStyle(u):null,r(u)},[])}}function Cf(e){return(e==null?void 0:e.animationName)||"none"}function mde(e){var n,i;let t=(n=Object.getOwnPropertyDescriptor(e.props,"ref"))==null?void 0:n.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=(i=Object.getOwnPropertyDescriptor(e,"ref"))==null?void 0:i.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}var Av=0;function vde(){P.useEffect(()=>{const e=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",e[0]??AE()),document.body.insertAdjacentElement("beforeend",e[1]??AE()),Av++,()=>{Av===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(t=>t.remove()),Av--}},[])}function AE(){const e=document.createElement("span");return e.setAttribute("data-radix-focus-guard",""),e.tabIndex=0,e.style.outline="none",e.style.opacity="0",e.style.position="fixed",e.style.pointerEvents="none",e}var wn=function(){return wn=Object.assign||function(t){for(var r,n=1,i=arguments.length;n"u")return $de;var t=Mde(e),r=document.documentElement.clientWidth,n=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,n-r+t[2]-t[0])}},Dde=N2(),ls="data-scroll-locked",Rde=function(e,t,r,n){var i=e.left,a=e.top,o=e.right,s=e.gap;return r===void 0&&(r="margin"),` .`.concat(gde,` { overflow: hidden `).concat(n,`; padding-right: `).concat(s,"px ").concat(n,`; diff --git a/dashboard/static/assets/react-plotly-rXbFfZ8j.js b/dashboard/static/assets/react-plotly-DaVBZ9j_.js similarity index 99% rename from dashboard/static/assets/react-plotly-rXbFfZ8j.js rename to dashboard/static/assets/react-plotly-DaVBZ9j_.js index 2cc5212b..470b6c66 100644 --- a/dashboard/static/assets/react-plotly-rXbFfZ8j.js +++ b/dashboard/static/assets/react-plotly-DaVBZ9j_.js @@ -1,4 +1,4 @@ -import{r as FD,p as OD,c as BD,g as ND}from"./index-DripdgQr.js";function UD(zh,Yh){for(var Fh=0;FhAu[Th]})}}}return Object.freeze(Object.defineProperty(zh,Symbol.toStringTag,{value:"Module"}))}var rb={},V5={};(function(zh){function Yh(bs){"@babel/helpers - typeof";return Yh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Hs){return typeof Hs}:function(Hs){return Hs&&typeof Symbol=="function"&&Hs.constructor===Symbol&&Hs!==Symbol.prototype?"symbol":typeof Hs},Yh(bs)}Object.defineProperty(zh,"__esModule",{value:!0}),zh.default=qm;var Fh=Yv(FD),Au=Th(OD);function Th(bs){return bs&&bs.__esModule?bs:{default:bs}}function uv(bs){if(typeof WeakMap!="function")return null;var Hs=new WeakMap,Mc=new WeakMap;return(uv=function(bi){return bi?Mc:Hs})(bs)}function Yv(bs,Hs){if(bs&&bs.__esModule)return bs;if(bs===null||Yh(bs)!=="object"&&typeof bs!="function")return{default:bs};var Mc=uv(Hs);if(Mc&&Mc.has(bs))return Mc.get(bs);var zc={},bi=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var nc in bs)if(nc!=="default"&&Object.prototype.hasOwnProperty.call(bs,nc)){var bo=bi?Object.getOwnPropertyDescriptor(bs,nc):null;bo&&(bo.get||bo.set)?Object.defineProperty(zc,nc,bo):zc[nc]=bs[nc]}return zc.default=bs,Mc&&Mc.set(bs,zc),zc}function Gy(bs,Hs){if(!(bs instanceof Hs))throw new TypeError("Cannot call a class as a function")}function M0(bs,Hs){for(var Mc=0;Mc"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function gp(bs){return gp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Mc){return Mc.__proto__||Object.getPrototypeOf(Mc)},gp(bs)}var Ll=["AfterExport","AfterPlot","Animated","AnimatingFrame","AnimationInterrupted","AutoSize","BeforeExport","BeforeHover","ButtonClicked","Click","ClickAnnotation","Deselect","DoubleClick","Framework","Hover","LegendClick","LegendDoubleClick","Relayout","Relayouting","Restyle","Redraw","Selected","Selecting","SliderChange","SliderEnd","SliderStart","SunburstClick","Transitioning","TransitionInterrupted","Unhover","WebGlContextLost"],He=["plotly_restyle","plotly_redraw","plotly_relayout","plotly_relayouting","plotly_doubleclick","plotly_animated","plotly_sunburstclick"],yp=typeof window<"u";function qm(bs){var Hs=function(Mc){Hy(bi,Mc);var zc=jm(bi);function bi(nc){var bo;return Gy(this,bi),bo=zc.call(this,nc),bo.p=Promise.resolve(),bo.resizeHandler=null,bo.handlers={},bo.syncWindowResize=bo.syncWindowResize.bind(sh(bo)),bo.syncEventHandlers=bo.syncEventHandlers.bind(sh(bo)),bo.attachUpdateEvents=bo.attachUpdateEvents.bind(sh(bo)),bo.getRef=bo.getRef.bind(sh(bo)),bo.handleUpdate=bo.handleUpdate.bind(sh(bo)),bo.figureCallback=bo.figureCallback.bind(sh(bo)),bo.updatePlotly=bo.updatePlotly.bind(sh(bo)),bo}return mp(bi,[{key:"updatePlotly",value:function(bo,Fc,Eh){var Bi=this;this.p=this.p.then(function(){if(!Bi.unmounting){if(!Bi.el)throw new Error("Missing element reference");return bs.react(Bi.el,{data:Bi.props.data,layout:Bi.props.layout,config:Bi.props.config,frames:Bi.props.frames})}}).then(function(){Bi.unmounting||(Bi.syncWindowResize(bo),Bi.syncEventHandlers(),Bi.figureCallback(Fc),Eh&&Bi.attachUpdateEvents())}).catch(function(Yo){Bi.props.onError&&Bi.props.onError(Yo)})}},{key:"componentDidMount",value:function(){this.unmounting=!1,this.updatePlotly(!0,this.props.onInitialized,!0)}},{key:"componentDidUpdate",value:function(bo){this.unmounting=!1;var Fc=bo.frames&&bo.frames.length?bo.frames.length:0,Eh=this.props.frames&&this.props.frames.length?this.props.frames.length:0,Bi=!(bo.layout===this.props.layout&&bo.data===this.props.data&&bo.config===this.props.config&&Eh===Fc),Yo=bo.revision!==void 0,_p=bo.revision!==this.props.revision;!Bi&&(!Yo||Yo&&!_p)||this.updatePlotly(!1,this.props.onUpdate,!1)}},{key:"componentWillUnmount",value:function(){this.unmounting=!0,this.figureCallback(this.props.onPurge),this.resizeHandler&&yp&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.removeUpdateEvents(),bs.purge(this.el)}},{key:"attachUpdateEvents",value:function(){var bo=this;!this.el||!this.el.removeListener||He.forEach(function(Fc){bo.el.on(Fc,bo.handleUpdate)})}},{key:"removeUpdateEvents",value:function(){var bo=this;!this.el||!this.el.removeListener||He.forEach(function(Fc){bo.el.removeListener(Fc,bo.handleUpdate)})}},{key:"handleUpdate",value:function(){this.figureCallback(this.props.onUpdate)}},{key:"figureCallback",value:function(bo){if(typeof bo=="function"){var Fc=this.el,Eh=Fc.data,Bi=Fc.layout,Yo=this.el._transitionData?this.el._transitionData._frames:null,_p={data:Eh,layout:Bi,frames:Yo};bo(_p,this.el)}}},{key:"syncWindowResize",value:function(bo){var Fc=this;yp&&(this.props.useResizeHandler&&!this.resizeHandler?(this.resizeHandler=function(){return bs.Plots.resize(Fc.el)},window.addEventListener("resize",this.resizeHandler),bo&&this.resizeHandler()):!this.props.useResizeHandler&&this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null))}},{key:"getRef",value:function(bo){this.el=bo,this.props.debug&&yp&&(window.gd=this.el)}},{key:"syncEventHandlers",value:function(){var bo=this;Ll.forEach(function(Fc){var Eh=bo.props["on"+Fc],Bi=bo.handlers[Fc],Yo=!!Bi;Eh&&!Yo?bo.addEventHandler(Fc,Eh):!Eh&&Yo?bo.removeEventHandler(Fc):Eh&&Yo&&Eh!==Bi&&(bo.removeEventHandler(Fc),bo.addEventHandler(Fc,Eh))})}},{key:"addEventHandler",value:function(bo,Fc){this.handlers[bo]=Fc,this.el.on(this.getPlotlyEventName(bo),this.handlers[bo])}},{key:"removeEventHandler",value:function(bo){this.el.removeListener(this.getPlotlyEventName(bo),this.handlers[bo]),delete this.handlers[bo]}},{key:"getPlotlyEventName",value:function(bo){return"plotly_"+bo.toLowerCase()}},{key:"render",value:function(){return Fh.default.createElement("div",{id:this.props.divId,style:this.props.style,ref:this.getRef,className:this.props.className})}}]),bi}(Fh.Component);return Hs.propTypes={data:Au.default.arrayOf(Au.default.object),config:Au.default.object,layout:Au.default.object,frames:Au.default.arrayOf(Au.default.object),revision:Au.default.number,onInitialized:Au.default.func,onPurge:Au.default.func,onError:Au.default.func,onUpdate:Au.default.func,debug:Au.default.bool,style:Au.default.object,className:Au.default.string,useResizeHandler:Au.default.bool,divId:Au.default.string},Ll.forEach(function(Mc){Hs.propTypes["on"+Mc]=Au.default.func}),Hs.defaultProps={debug:!1,useResizeHandler:!1,data:[],style:{position:"relative",display:"inline-block"}},Hs}})(V5);var q5={exports:{}};(function(zh){var Yh={};(function(Fh,Au){zh.exports?zh.exports=Au():Fh.moduleName=Au()})(typeof self<"u"?self:BD,()=>{var Fh=(()=>{var Au=Object.create,Th=Object.defineProperty,uv=Object.defineProperties,Yv=Object.getOwnPropertyDescriptor,Gy=Object.getOwnPropertyDescriptors,M0=Object.getOwnPropertyNames,mp=Object.getOwnPropertySymbols,Hy=Object.getPrototypeOf,Cd=Object.prototype.hasOwnProperty,jm=Object.prototype.propertyIsEnumerable,Vm=(Y,G,h)=>G in Y?Th(Y,G,{enumerable:!0,configurable:!0,writable:!0,value:h}):Y[G]=h,sh=(Y,G)=>{for(var h in G||(G={}))Cd.call(G,h)&&Vm(Y,h,G[h]);if(mp)for(var h of mp(G))jm.call(G,h)&&Vm(Y,h,G[h]);return Y},Ld=(Y,G)=>uv(Y,Gy(G)),gp=(Y,G)=>{var h={};for(var b in Y)Cd.call(Y,b)&&G.indexOf(b)<0&&(h[b]=Y[b]);if(Y!=null&&mp)for(var b of mp(Y))G.indexOf(b)<0&&jm.call(Y,b)&&(h[b]=Y[b]);return h},Ll=(Y,G)=>function(){return Y&&(G=(0,Y[M0(Y)[0]])(Y=0)),G},He=(Y,G)=>function(){return G||(0,Y[M0(Y)[0]])((G={exports:{}}).exports,G),G.exports},yp=(Y,G)=>{for(var h in G)Th(Y,h,{get:G[h],enumerable:!0})},qm=(Y,G,h,b)=>{if(G&&typeof G=="object"||typeof G=="function")for(let S of M0(G))!Cd.call(Y,S)&&S!==h&&Th(Y,S,{get:()=>G[S],enumerable:!(b=Yv(G,S))||b.enumerable});return Y},bs=(Y,G,h)=>(h=Y!=null?Au(Hy(Y)):{},qm(Th(h,"default",{value:Y,enumerable:!0}),Y)),Hs=Y=>qm(Th({},"__esModule",{value:!0}),Y),Mc=He({"src/version.js"(Y){Y.version="3.3.1"}}),zc=He({"node_modules/native-promise-only/lib/npo.src.js"(Y,G){(function(b,S,E){S[b]=S[b]||E(),typeof G<"u"&&G.exports&&(G.exports=S[b])})("Promise",typeof window<"u"?window:Y,function(){var b,S,E,e=Object.prototype.toString,t=typeof setImmediate<"u"?function(g){return setImmediate(g)}:setTimeout;try{Object.defineProperty({},"x",{}),b=function(g,x,A,M){return Object.defineProperty(g,x,{value:A,writable:!0,configurable:M!==!1})}}catch{b=function(x,A,M){return x[A]=M,x}}E=function(){var g,x,A;function M(_,w){this.fn=_,this.self=w,this.next=void 0}return{add:function(w,m){A=new M(w,m),x?x.next=A:g=A,x=A,A=void 0},drain:function(){var w=g;for(g=x=S=void 0;w;)w.fn.call(w.self),w=w.next}}}();function r(l,g){E.add(l,g),S||(S=t(E.drain))}function o(l){var g,x=typeof l;return l!=null&&(x=="object"||x=="function")&&(g=l.then),typeof g=="function"?g:!1}function a(){for(var l=0;l0&&r(a,x))}catch(A){s.call(new c(x),A)}}}function s(l){var g=this;g.triggered||(g.triggered=!0,g.def&&(g=g.def),g.msg=l,g.state=2,g.chain.length>0&&r(a,g))}function f(l,g,x,A){for(var M=0;MPe?1:de>=Pe?0:NaN}h.descending=function(de,Pe){return Pede?1:Pe>=de?0:NaN},h.min=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt;if(arguments.length===1){for(;++Ke=Tt){mt=Tt;break}for(;++KeTt&&(mt=Tt)}else{for(;++Ke=Tt){mt=Tt;break}for(;++KeTt&&(mt=Tt)}return mt},h.max=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt;if(arguments.length===1){for(;++Ke=Tt){mt=Tt;break}for(;++Kemt&&(mt=Tt)}else{for(;++Ke=Tt){mt=Tt;break}for(;++Kemt&&(mt=Tt)}return mt},h.extent=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt,qt;if(arguments.length===1){for(;++Ke=Tt){mt=qt=Tt;break}for(;++KeTt&&(mt=Tt),qt=Tt){mt=qt=Tt;break}for(;++KeTt&&(mt=Tt),qt1)return qt/(or-1)},h.deviation=function(){var de=h.variance.apply(this,arguments);return de&&Math.sqrt(de)};function p(de){return{left:function(Pe,Ke,vt,mt){for(arguments.length<3&&(vt=0),arguments.length<4&&(mt=Pe.length);vt>>1;de(Pe[Tt],Ke)<0?vt=Tt+1:mt=Tt}return vt},right:function(Pe,Ke,vt,mt){for(arguments.length<3&&(vt=0),arguments.length<4&&(mt=Pe.length);vt>>1;de(Pe[Tt],Ke)>0?mt=Tt:vt=Tt+1}return vt}}}var d=p(s);h.bisectLeft=d.left,h.bisect=h.bisectRight=d.right,h.bisector=function(de){return p(de.length===1?function(Pe,Ke){return s(de(Pe),Ke)}:de)},h.shuffle=function(de,Pe,Ke){(vt=arguments.length)<3&&(Ke=de.length,vt<2&&(Pe=0));for(var vt=Ke-Pe,mt,Tt;vt;)Tt=Math.random()*vt--|0,mt=de[vt+Pe],de[vt+Pe]=de[Tt+Pe],de[Tt+Pe]=mt;return de},h.permute=function(de,Pe){for(var Ke=Pe.length,vt=new Array(Ke);Ke--;)vt[Ke]=de[Pe[Ke]];return vt},h.pairs=function(de){for(var Pe=0,Ke=de.length-1,vt=de[0],mt=new Array(Ke<0?0:Ke);Pe=0;)for(qt=de[Pe],Ke=qt.length;--Ke>=0;)Tt[--mt]=qt[Ke];return Tt};var l=Math.abs;h.range=function(de,Pe,Ke){if(arguments.length<3&&(Ke=1,arguments.length<2&&(Pe=de,de=0)),(Pe-de)/Ke===1/0)throw new Error("infinite range");var vt=[],mt=g(l(Ke)),Tt=-1,qt;if(de*=mt,Pe*=mt,Ke*=mt,Ke<0)for(;(qt=de+Ke*++Tt)>Pe;)vt.push(qt/mt);else for(;(qt=de+Ke*++Tt)=Pe.length)return mt?mt.call(de,or):vt?or.sort(vt):or;for(var Lr=-1,Zr=or.length,ia=Pe[Ir++],la,an,da,La=new A,Oa;++Lr=Pe.length)return Vt;var Ir=[],Lr=Ke[or++];return Vt.forEach(function(Zr,ia){Ir.push({key:Zr,values:qt(ia,or)})}),Lr?Ir.sort(function(Zr,ia){return Lr(Zr.key,ia.key)}):Ir}return de.map=function(Vt,or){return Tt(or,Vt,0)},de.entries=function(Vt){return qt(Tt(h.map,Vt,0),0)},de.key=function(Vt){return Pe.push(Vt),de},de.sortKeys=function(Vt){return Ke[Pe.length-1]=Vt,de},de.sortValues=function(Vt){return vt=Vt,de},de.rollup=function(Vt){return mt=Vt,de},de},h.set=function(de){var Pe=new z;if(de)for(var Ke=0,vt=de.length;Ke=0&&(vt=de.slice(Ke+1),de=de.slice(0,Ke)),de)return arguments.length<2?this[de].on(vt):this[de].on(vt,Pe);if(arguments.length===2){if(Pe==null)for(de in this)this.hasOwnProperty(de)&&this[de].on(vt,null);return this}};function X(de){var Pe=[],Ke=new A;function vt(){for(var mt=Pe,Tt=-1,qt=mt.length,Vt;++Tt=0&&(Ke=de.slice(0,Pe))!=="xmlns"&&(de=de.slice(Pe+1)),fe.hasOwnProperty(Ke)?{space:fe[Ke],local:de}:de}},Q.attr=function(de,Pe){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node();return de=h.ns.qualify(de),de.local?Ke.getAttributeNS(de.space,de.local):Ke.getAttribute(de)}for(Pe in de)this.each(be(Pe,de[Pe]));return this}return this.each(be(de,Pe))};function be(de,Pe){de=h.ns.qualify(de);function Ke(){this.removeAttribute(de)}function vt(){this.removeAttributeNS(de.space,de.local)}function mt(){this.setAttribute(de,Pe)}function Tt(){this.setAttributeNS(de.space,de.local,Pe)}function qt(){var or=Pe.apply(this,arguments);or==null?this.removeAttribute(de):this.setAttribute(de,or)}function Vt(){var or=Pe.apply(this,arguments);or==null?this.removeAttributeNS(de.space,de.local):this.setAttributeNS(de.space,de.local,or)}return Pe==null?de.local?vt:Ke:typeof Pe=="function"?de.local?Vt:qt:de.local?Tt:mt}function Me(de){return de.trim().replace(/\s+/g," ")}Q.classed=function(de,Pe){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node(),vt=(de=Le(de)).length,mt=-1;if(Pe=Ke.classList){for(;++mt=0;)(Tt=Ke[vt])&&(mt&&mt!==Tt.nextSibling&&mt.parentNode.insertBefore(Tt,mt),mt=Tt);return this},Q.sort=function(de){de=De.apply(this,arguments);for(var Pe=-1,Ke=this.length;++Pe=Pe&&(Pe=mt+1);!(or=qt[Pe])&&++Pe0&&(de=de.slice(0,mt));var qt=jt.get(de);qt&&(de=qt,Tt=dr);function Vt(){var Lr=this[vt];Lr&&(this.removeEventListener(de,Lr,Lr.$),delete this[vt])}function or(){var Lr=Tt(Pe,S(arguments));Vt.call(this),this.addEventListener(de,this[vt]=Lr,Lr.$=Ke),Lr._=Pe}function Ir(){var Lr=new RegExp("^__on([^.]+)"+h.requote(de)+"$"),Zr;for(var ia in this)if(Zr=ia.match(Lr)){var la=this[ia];this.removeEventListener(Zr[1],la,la.$),delete this[ia]}}return mt?Pe?or:Vt:Pe?N:Ir}var jt=h.map({mouseenter:"mouseover",mouseleave:"mouseout"});E&&jt.forEach(function(de){"on"+de in E&&jt.remove(de)});function Wt(de,Pe){return function(Ke){var vt=h.event;h.event=Ke,Pe[0]=this.__data__;try{de.apply(this,Pe)}finally{h.event=vt}}}function dr(de,Pe){var Ke=Wt(de,Pe);return function(vt){var mt=this,Tt=vt.relatedTarget;(!Tt||Tt!==mt&&!(Tt.compareDocumentPosition(mt)&8))&&Ke.call(mt,vt)}}var vr,Dr=0;function hr(de){var Pe=".dragsuppress-"+ ++Dr,Ke="click"+Pe,vt=h.select(t(de)).on("touchmove"+Pe,ee).on("dragstart"+Pe,ee).on("selectstart"+Pe,ee);if(vr==null&&(vr="onselectstart"in de?!1:O(de.style,"userSelect")),vr){var mt=e(de).style,Tt=mt[vr];mt[vr]="none"}return function(qt){if(vt.on(Pe,null),vr&&(mt[vr]=Tt),qt){var Vt=function(){vt.on(Ke,null)};vt.on(Ke,function(){ee(),Vt()},!0),setTimeout(Vt,0)}}}h.mouse=function(de){return gt(de,ue())};var Ar=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function gt(de,Pe){Pe.changedTouches&&(Pe=Pe.changedTouches[0]);var Ke=de.ownerSVGElement||de;if(Ke.createSVGPoint){var vt=Ke.createSVGPoint();if(Ar<0){var mt=t(de);if(mt.scrollX||mt.scrollY){Ke=h.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Tt=Ke[0][0].getScreenCTM();Ar=!(Tt.f||Tt.e),Ke.remove()}}return Ar?(vt.x=Pe.pageX,vt.y=Pe.pageY):(vt.x=Pe.clientX,vt.y=Pe.clientY),vt=vt.matrixTransform(de.getScreenCTM().inverse()),[vt.x,vt.y]}var qt=de.getBoundingClientRect();return[Pe.clientX-qt.left-de.clientLeft,Pe.clientY-qt.top-de.clientTop]}h.touch=function(de,Pe,Ke){if(arguments.length<3&&(Ke=Pe,Pe=ue().changedTouches),Pe){for(var vt=0,mt=Pe.length,Tt;vt1?Ue:de<-1?-Ue:Math.asin(de)}function Nt(de){return((de=Math.exp(de))-1/de)/2}function sr(de){return((de=Math.exp(de))+1/de)/2}function ar(de){return((de=Math.exp(2*de))-1)/(de+1)}var tr=Math.SQRT2,Tr=2,sa=4;h.interpolateZoom=function(de,Pe){var Ke=de[0],vt=de[1],mt=de[2],Tt=Pe[0],qt=Pe[1],Vt=Pe[2],or=Tt-Ke,Ir=qt-vt,Lr=or*or+Ir*Ir,Zr,ia;if(Lr0&&(pi=pi.transition().duration(qt)),pi.call(on.event)}function Ti(){La&&La.domain(da.range().map(function(pi){return(pi-de.x)/de.k}).map(da.invert)),Qa&&Qa.domain(Oa.range().map(function(pi){return(pi-de.y)/de.k}).map(Oa.invert))}function ki(pi){Vt++||pi({type:"zoomstart"})}function Go(pi){Ti(),pi({type:"zoom",scale:de.k,translate:[de.x,de.y]})}function Pi(pi){--Vt||(pi({type:"zoomend"}),Ke=null)}function oo(){var pi=this,ko=an.of(pi,arguments),Xo=0,Os=h.select(t(pi)).on(Ir,gs).on(Lr,Bs),Ms=Fa(h.mouse(pi)),Zl=hr(pi);$a.call(pi),ki(ko);function gs(){Xo=1,Kn(h.mouse(pi),Ms),Go(ko)}function Bs(){Os.on(Ir,null).on(Lr,null),Zl(Xo),Pi(ko)}}function $o(){var pi=this,ko=an.of(pi,arguments),Xo={},Os=0,Ms,Zl=".zoom-"+h.event.changedTouches[0].identifier,gs="touchmove"+Zl,Bs="touchend"+Zl,du=[],ul=h.select(pi),st=hr(pi);ur(),ki(ko),ul.on(or,null).on(ia,ur);function ir(){var Qr=h.touches(pi);return Ms=de.k,Qr.forEach(function($r){$r.identifier in Xo&&(Xo[$r.identifier]=Fa($r))}),Qr}function ur(){var Qr=h.event.target;h.select(Qr).on(gs,ua).on(Bs,Ua),du.push(Qr);for(var $r=h.event.changedTouches,un=0,sn=$r.length;un1){var Qn=ln[0],jn=ln[1],yn=Qn[0]-jn[0],Wa=Qn[1]-jn[1];Os=yn*yn+Wa*Wa}}function ua(){var Qr=h.touches(pi),$r,un,sn,ln;$a.call(pi);for(var xn=0,Qn=Qr.length;xn1?1:Pe,Ke=Ke<0?0:Ke>1?1:Ke,mt=Ke<=.5?Ke*(1+Pe):Ke+Pe-Ke*Pe,vt=2*Ke-mt;function Tt(Vt){return Vt>360?Vt-=360:Vt<0&&(Vt+=360),Vt<60?vt+(mt-vt)*Vt/60:Vt<180?mt:Vt<240?vt+(mt-vt)*(240-Vt)/60:vt}function qt(Vt){return Math.round(Tt(Vt)*255)}return new Bn(qt(de+120),qt(de),qt(de-120))}h.hcl=Yt;function Yt(de,Pe,Ke){return this instanceof Yt?(this.h=+de,this.c=+Pe,void(this.l=+Ke)):arguments.length<2?de instanceof Yt?new Yt(de.h,de.c,de.l):de instanceof $t?Va(de.l,de.a,de.b):Va((de=_r((de=h.rgb(de)).r,de.g,de.b)).l,de.a,de.b):new Yt(de,Pe,Ke)}var It=Yt.prototype=new Ra;It.brighter=function(de){return new Yt(this.h,this.c,Math.min(100,this.l+Cr*(arguments.length?de:1)))},It.darker=function(de){return new Yt(this.h,this.c,Math.max(0,this.l-Cr*(arguments.length?de:1)))},It.rgb=function(){return Zt(this.h,this.c,this.l).rgb()};function Zt(de,Pe,Ke){return isNaN(de)&&(de=0),isNaN(Pe)&&(Pe=0),new $t(Ke,Math.cos(de*=Xe)*Pe,Math.sin(de)*Pe)}h.lab=$t;function $t(de,Pe,Ke){return this instanceof $t?(this.l=+de,this.a=+Pe,void(this.b=+Ke)):arguments.length<2?de instanceof $t?new $t(de.l,de.a,de.b):de instanceof Yt?Zt(de.h,de.c,de.l):_r((de=Bn(de)).r,de.g,de.b):new $t(de,Pe,Ke)}var Cr=18,qr=.95047,Jr=1,aa=1.08883,Ca=$t.prototype=new Ra;Ca.brighter=function(de){return new $t(Math.min(100,this.l+Cr*(arguments.length?de:1)),this.a,this.b)},Ca.darker=function(de){return new $t(Math.max(0,this.l-Cr*(arguments.length?de:1)),this.a,this.b)},Ca.rgb=function(){return Ha(this.l,this.a,this.b)};function Ha(de,Pe,Ke){var vt=(de+16)/116,mt=vt+Pe/500,Tt=vt-Ke/200;return mt=Za(mt)*qr,vt=Za(vt)*Jr,Tt=Za(Tt)*aa,new Bn(wa(3.2404542*mt-1.5371385*vt-.4985314*Tt),wa(-.969266*mt+1.8760108*vt+.041556*Tt),wa(.0556434*mt-.2040259*vt+1.0572252*Tt))}function Va(de,Pe,Ke){return de>0?new Yt(Math.atan2(Ke,Pe)*bt,Math.sqrt(Pe*Pe+Ke*Ke),de):new Yt(NaN,NaN,de)}function Za(de){return de>.206893034?de*de*de:(de-4/29)/7.787037}function rn(de){return de>.008856?Math.pow(de,1/3):7.787037*de+4/29}function wa(de){return Math.round(255*(de<=.00304?12.92*de:1.055*Math.pow(de,1/2.4)-.055))}h.rgb=Bn;function Bn(de,Pe,Ke){return this instanceof Bn?(this.r=~~de,this.g=~~Pe,void(this.b=~~Ke)):arguments.length<2?de instanceof Bn?new Bn(de.r,de.g,de.b):Sr(""+de,Bn,mn):new Bn(de,Pe,Ke)}function Hn(de){return new Bn(de>>16,de>>8&255,de&255)}function At(de){return Hn(de)+""}var ft=Bn.prototype=new Ra;ft.brighter=function(de){de=Math.pow(.7,arguments.length?de:1);var Pe=this.r,Ke=this.g,vt=this.b,mt=30;return!Pe&&!Ke&&!vt?new Bn(mt,mt,mt):(Pe&&Pe>4,vt=vt>>4|vt,mt=or&240,mt=mt>>4|mt,Tt=or&15,Tt=Tt<<4|Tt):de.length===7&&(vt=(or&16711680)>>16,mt=(or&65280)>>8,Tt=or&255)),Pe(vt,mt,Tt))}function Er(de,Pe,Ke){var vt=Math.min(de/=255,Pe/=255,Ke/=255),mt=Math.max(de,Pe,Ke),Tt=mt-vt,qt,Vt,or=(mt+vt)/2;return Tt?(Vt=or<.5?Tt/(mt+vt):Tt/(2-mt-vt),de==mt?qt=(Pe-Ke)/Tt+(Pe0&&or<1?0:qt),new ya(qt,Vt,or)}function _r(de,Pe,Ke){de=Mr(de),Pe=Mr(Pe),Ke=Mr(Ke);var vt=rn((.4124564*de+.3575761*Pe+.1804375*Ke)/qr),mt=rn((.2126729*de+.7151522*Pe+.072175*Ke)/Jr),Tt=rn((.0193339*de+.119192*Pe+.9503041*Ke)/aa);return $t(116*mt-16,500*(vt-mt),200*(mt-Tt))}function Mr(de){return(de/=255)<=.04045?de/12.92:Math.pow((de+.055)/1.055,2.4)}function Gr(de){var Pe=parseFloat(de);return de.charAt(de.length-1)==="%"?Math.round(Pe*2.55):Pe}var Fr=h.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Fr.forEach(function(de,Pe){Fr.set(de,Hn(Pe))});function pt(de){return typeof de=="function"?de:function(){return de}}h.functor=pt,h.xhr=Kt(F);function Kt(de){return function(Pe,Ke,vt){return arguments.length===2&&typeof Ke=="function"&&(vt=Ke,Ke=null),xr(Pe,Ke,de,vt)}}function xr(de,Pe,Ke,vt){var mt={},Tt=h.dispatch("beforesend","progress","load","error"),qt={},Vt=new XMLHttpRequest,or=null;self.XDomainRequest&&!("withCredentials"in Vt)&&/^(http(s)?:)?\/\//.test(de)&&(Vt=new XDomainRequest),"onload"in Vt?Vt.onload=Vt.onerror=Ir:Vt.onreadystatechange=function(){Vt.readyState>3&&Ir()};function Ir(){var Lr=Vt.status,Zr;if(!Lr&&fa(Vt)||Lr>=200&&Lr<300||Lr===304){try{Zr=Ke.call(mt,Vt)}catch(ia){Tt.error.call(mt,ia);return}Tt.load.call(mt,Zr)}else Tt.error.call(mt,Vt)}return Vt.onprogress=function(Lr){var Zr=h.event;h.event=Lr;try{Tt.progress.call(mt,Vt)}finally{h.event=Zr}},mt.header=function(Lr,Zr){return Lr=(Lr+"").toLowerCase(),arguments.length<2?qt[Lr]:(Zr==null?delete qt[Lr]:qt[Lr]=Zr+"",mt)},mt.mimeType=function(Lr){return arguments.length?(Pe=Lr==null?null:Lr+"",mt):Pe},mt.responseType=function(Lr){return arguments.length?(or=Lr,mt):or},mt.response=function(Lr){return Ke=Lr,mt},["get","post"].forEach(function(Lr){mt[Lr]=function(){return mt.send.apply(mt,[Lr].concat(S(arguments)))}}),mt.send=function(Lr,Zr,ia){if(arguments.length===2&&typeof Zr=="function"&&(ia=Zr,Zr=null),Vt.open(Lr,de,!0),Pe!=null&&!("accept"in qt)&&(qt.accept=Pe+",*/*"),Vt.setRequestHeader)for(var la in qt)Vt.setRequestHeader(la,qt[la]);return Pe!=null&&Vt.overrideMimeType&&Vt.overrideMimeType(Pe),or!=null&&(Vt.responseType=or),ia!=null&&mt.on("error",ia).on("load",function(an){ia(null,an)}),Tt.beforesend.call(mt,Vt),Vt.send(Zr??null),mt},mt.abort=function(){return Vt.abort(),mt},h.rebind(mt,Tt,"on"),vt==null?mt:mt.get(Hr(vt))}function Hr(de){return de.length===1?function(Pe,Ke){de(Pe==null?Ke:null)}:de}function fa(de){var Pe=de.responseType;return Pe&&Pe!=="text"?de.response:de.responseText}h.dsv=function(de,Pe){var Ke=new RegExp('["'+de+` +import{r as FD,p as OD,c as BD,g as ND}from"./index-CFDdrcuH.js";function UD(zh,Yh){for(var Fh=0;FhAu[Th]})}}}return Object.freeze(Object.defineProperty(zh,Symbol.toStringTag,{value:"Module"}))}var rb={},V5={};(function(zh){function Yh(bs){"@babel/helpers - typeof";return Yh=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(Hs){return typeof Hs}:function(Hs){return Hs&&typeof Symbol=="function"&&Hs.constructor===Symbol&&Hs!==Symbol.prototype?"symbol":typeof Hs},Yh(bs)}Object.defineProperty(zh,"__esModule",{value:!0}),zh.default=qm;var Fh=Yv(FD),Au=Th(OD);function Th(bs){return bs&&bs.__esModule?bs:{default:bs}}function uv(bs){if(typeof WeakMap!="function")return null;var Hs=new WeakMap,Mc=new WeakMap;return(uv=function(bi){return bi?Mc:Hs})(bs)}function Yv(bs,Hs){if(bs&&bs.__esModule)return bs;if(bs===null||Yh(bs)!=="object"&&typeof bs!="function")return{default:bs};var Mc=uv(Hs);if(Mc&&Mc.has(bs))return Mc.get(bs);var zc={},bi=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var nc in bs)if(nc!=="default"&&Object.prototype.hasOwnProperty.call(bs,nc)){var bo=bi?Object.getOwnPropertyDescriptor(bs,nc):null;bo&&(bo.get||bo.set)?Object.defineProperty(zc,nc,bo):zc[nc]=bs[nc]}return zc.default=bs,Mc&&Mc.set(bs,zc),zc}function Gy(bs,Hs){if(!(bs instanceof Hs))throw new TypeError("Cannot call a class as a function")}function M0(bs,Hs){for(var Mc=0;Mc"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function gp(bs){return gp=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Mc){return Mc.__proto__||Object.getPrototypeOf(Mc)},gp(bs)}var Ll=["AfterExport","AfterPlot","Animated","AnimatingFrame","AnimationInterrupted","AutoSize","BeforeExport","BeforeHover","ButtonClicked","Click","ClickAnnotation","Deselect","DoubleClick","Framework","Hover","LegendClick","LegendDoubleClick","Relayout","Relayouting","Restyle","Redraw","Selected","Selecting","SliderChange","SliderEnd","SliderStart","SunburstClick","Transitioning","TransitionInterrupted","Unhover","WebGlContextLost"],He=["plotly_restyle","plotly_redraw","plotly_relayout","plotly_relayouting","plotly_doubleclick","plotly_animated","plotly_sunburstclick"],yp=typeof window<"u";function qm(bs){var Hs=function(Mc){Hy(bi,Mc);var zc=jm(bi);function bi(nc){var bo;return Gy(this,bi),bo=zc.call(this,nc),bo.p=Promise.resolve(),bo.resizeHandler=null,bo.handlers={},bo.syncWindowResize=bo.syncWindowResize.bind(sh(bo)),bo.syncEventHandlers=bo.syncEventHandlers.bind(sh(bo)),bo.attachUpdateEvents=bo.attachUpdateEvents.bind(sh(bo)),bo.getRef=bo.getRef.bind(sh(bo)),bo.handleUpdate=bo.handleUpdate.bind(sh(bo)),bo.figureCallback=bo.figureCallback.bind(sh(bo)),bo.updatePlotly=bo.updatePlotly.bind(sh(bo)),bo}return mp(bi,[{key:"updatePlotly",value:function(bo,Fc,Eh){var Bi=this;this.p=this.p.then(function(){if(!Bi.unmounting){if(!Bi.el)throw new Error("Missing element reference");return bs.react(Bi.el,{data:Bi.props.data,layout:Bi.props.layout,config:Bi.props.config,frames:Bi.props.frames})}}).then(function(){Bi.unmounting||(Bi.syncWindowResize(bo),Bi.syncEventHandlers(),Bi.figureCallback(Fc),Eh&&Bi.attachUpdateEvents())}).catch(function(Yo){Bi.props.onError&&Bi.props.onError(Yo)})}},{key:"componentDidMount",value:function(){this.unmounting=!1,this.updatePlotly(!0,this.props.onInitialized,!0)}},{key:"componentDidUpdate",value:function(bo){this.unmounting=!1;var Fc=bo.frames&&bo.frames.length?bo.frames.length:0,Eh=this.props.frames&&this.props.frames.length?this.props.frames.length:0,Bi=!(bo.layout===this.props.layout&&bo.data===this.props.data&&bo.config===this.props.config&&Eh===Fc),Yo=bo.revision!==void 0,_p=bo.revision!==this.props.revision;!Bi&&(!Yo||Yo&&!_p)||this.updatePlotly(!1,this.props.onUpdate,!1)}},{key:"componentWillUnmount",value:function(){this.unmounting=!0,this.figureCallback(this.props.onPurge),this.resizeHandler&&yp&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null),this.removeUpdateEvents(),bs.purge(this.el)}},{key:"attachUpdateEvents",value:function(){var bo=this;!this.el||!this.el.removeListener||He.forEach(function(Fc){bo.el.on(Fc,bo.handleUpdate)})}},{key:"removeUpdateEvents",value:function(){var bo=this;!this.el||!this.el.removeListener||He.forEach(function(Fc){bo.el.removeListener(Fc,bo.handleUpdate)})}},{key:"handleUpdate",value:function(){this.figureCallback(this.props.onUpdate)}},{key:"figureCallback",value:function(bo){if(typeof bo=="function"){var Fc=this.el,Eh=Fc.data,Bi=Fc.layout,Yo=this.el._transitionData?this.el._transitionData._frames:null,_p={data:Eh,layout:Bi,frames:Yo};bo(_p,this.el)}}},{key:"syncWindowResize",value:function(bo){var Fc=this;yp&&(this.props.useResizeHandler&&!this.resizeHandler?(this.resizeHandler=function(){return bs.Plots.resize(Fc.el)},window.addEventListener("resize",this.resizeHandler),bo&&this.resizeHandler()):!this.props.useResizeHandler&&this.resizeHandler&&(window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null))}},{key:"getRef",value:function(bo){this.el=bo,this.props.debug&&yp&&(window.gd=this.el)}},{key:"syncEventHandlers",value:function(){var bo=this;Ll.forEach(function(Fc){var Eh=bo.props["on"+Fc],Bi=bo.handlers[Fc],Yo=!!Bi;Eh&&!Yo?bo.addEventHandler(Fc,Eh):!Eh&&Yo?bo.removeEventHandler(Fc):Eh&&Yo&&Eh!==Bi&&(bo.removeEventHandler(Fc),bo.addEventHandler(Fc,Eh))})}},{key:"addEventHandler",value:function(bo,Fc){this.handlers[bo]=Fc,this.el.on(this.getPlotlyEventName(bo),this.handlers[bo])}},{key:"removeEventHandler",value:function(bo){this.el.removeListener(this.getPlotlyEventName(bo),this.handlers[bo]),delete this.handlers[bo]}},{key:"getPlotlyEventName",value:function(bo){return"plotly_"+bo.toLowerCase()}},{key:"render",value:function(){return Fh.default.createElement("div",{id:this.props.divId,style:this.props.style,ref:this.getRef,className:this.props.className})}}]),bi}(Fh.Component);return Hs.propTypes={data:Au.default.arrayOf(Au.default.object),config:Au.default.object,layout:Au.default.object,frames:Au.default.arrayOf(Au.default.object),revision:Au.default.number,onInitialized:Au.default.func,onPurge:Au.default.func,onError:Au.default.func,onUpdate:Au.default.func,debug:Au.default.bool,style:Au.default.object,className:Au.default.string,useResizeHandler:Au.default.bool,divId:Au.default.string},Ll.forEach(function(Mc){Hs.propTypes["on"+Mc]=Au.default.func}),Hs.defaultProps={debug:!1,useResizeHandler:!1,data:[],style:{position:"relative",display:"inline-block"}},Hs}})(V5);var q5={exports:{}};(function(zh){var Yh={};(function(Fh,Au){zh.exports?zh.exports=Au():Fh.moduleName=Au()})(typeof self<"u"?self:BD,()=>{var Fh=(()=>{var Au=Object.create,Th=Object.defineProperty,uv=Object.defineProperties,Yv=Object.getOwnPropertyDescriptor,Gy=Object.getOwnPropertyDescriptors,M0=Object.getOwnPropertyNames,mp=Object.getOwnPropertySymbols,Hy=Object.getPrototypeOf,Cd=Object.prototype.hasOwnProperty,jm=Object.prototype.propertyIsEnumerable,Vm=(Y,G,h)=>G in Y?Th(Y,G,{enumerable:!0,configurable:!0,writable:!0,value:h}):Y[G]=h,sh=(Y,G)=>{for(var h in G||(G={}))Cd.call(G,h)&&Vm(Y,h,G[h]);if(mp)for(var h of mp(G))jm.call(G,h)&&Vm(Y,h,G[h]);return Y},Ld=(Y,G)=>uv(Y,Gy(G)),gp=(Y,G)=>{var h={};for(var b in Y)Cd.call(Y,b)&&G.indexOf(b)<0&&(h[b]=Y[b]);if(Y!=null&&mp)for(var b of mp(Y))G.indexOf(b)<0&&jm.call(Y,b)&&(h[b]=Y[b]);return h},Ll=(Y,G)=>function(){return Y&&(G=(0,Y[M0(Y)[0]])(Y=0)),G},He=(Y,G)=>function(){return G||(0,Y[M0(Y)[0]])((G={exports:{}}).exports,G),G.exports},yp=(Y,G)=>{for(var h in G)Th(Y,h,{get:G[h],enumerable:!0})},qm=(Y,G,h,b)=>{if(G&&typeof G=="object"||typeof G=="function")for(let S of M0(G))!Cd.call(Y,S)&&S!==h&&Th(Y,S,{get:()=>G[S],enumerable:!(b=Yv(G,S))||b.enumerable});return Y},bs=(Y,G,h)=>(h=Y!=null?Au(Hy(Y)):{},qm(Th(h,"default",{value:Y,enumerable:!0}),Y)),Hs=Y=>qm(Th({},"__esModule",{value:!0}),Y),Mc=He({"src/version.js"(Y){Y.version="3.3.1"}}),zc=He({"node_modules/native-promise-only/lib/npo.src.js"(Y,G){(function(b,S,E){S[b]=S[b]||E(),typeof G<"u"&&G.exports&&(G.exports=S[b])})("Promise",typeof window<"u"?window:Y,function(){var b,S,E,e=Object.prototype.toString,t=typeof setImmediate<"u"?function(g){return setImmediate(g)}:setTimeout;try{Object.defineProperty({},"x",{}),b=function(g,x,A,M){return Object.defineProperty(g,x,{value:A,writable:!0,configurable:M!==!1})}}catch{b=function(x,A,M){return x[A]=M,x}}E=function(){var g,x,A;function M(_,w){this.fn=_,this.self=w,this.next=void 0}return{add:function(w,m){A=new M(w,m),x?x.next=A:g=A,x=A,A=void 0},drain:function(){var w=g;for(g=x=S=void 0;w;)w.fn.call(w.self),w=w.next}}}();function r(l,g){E.add(l,g),S||(S=t(E.drain))}function o(l){var g,x=typeof l;return l!=null&&(x=="object"||x=="function")&&(g=l.then),typeof g=="function"?g:!1}function a(){for(var l=0;l0&&r(a,x))}catch(A){s.call(new c(x),A)}}}function s(l){var g=this;g.triggered||(g.triggered=!0,g.def&&(g=g.def),g.msg=l,g.state=2,g.chain.length>0&&r(a,g))}function f(l,g,x,A){for(var M=0;MPe?1:de>=Pe?0:NaN}h.descending=function(de,Pe){return Pede?1:Pe>=de?0:NaN},h.min=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt;if(arguments.length===1){for(;++Ke=Tt){mt=Tt;break}for(;++KeTt&&(mt=Tt)}else{for(;++Ke=Tt){mt=Tt;break}for(;++KeTt&&(mt=Tt)}return mt},h.max=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt;if(arguments.length===1){for(;++Ke=Tt){mt=Tt;break}for(;++Kemt&&(mt=Tt)}else{for(;++Ke=Tt){mt=Tt;break}for(;++Kemt&&(mt=Tt)}return mt},h.extent=function(de,Pe){var Ke=-1,vt=de.length,mt,Tt,qt;if(arguments.length===1){for(;++Ke=Tt){mt=qt=Tt;break}for(;++KeTt&&(mt=Tt),qt=Tt){mt=qt=Tt;break}for(;++KeTt&&(mt=Tt),qt1)return qt/(or-1)},h.deviation=function(){var de=h.variance.apply(this,arguments);return de&&Math.sqrt(de)};function p(de){return{left:function(Pe,Ke,vt,mt){for(arguments.length<3&&(vt=0),arguments.length<4&&(mt=Pe.length);vt>>1;de(Pe[Tt],Ke)<0?vt=Tt+1:mt=Tt}return vt},right:function(Pe,Ke,vt,mt){for(arguments.length<3&&(vt=0),arguments.length<4&&(mt=Pe.length);vt>>1;de(Pe[Tt],Ke)>0?mt=Tt:vt=Tt+1}return vt}}}var d=p(s);h.bisectLeft=d.left,h.bisect=h.bisectRight=d.right,h.bisector=function(de){return p(de.length===1?function(Pe,Ke){return s(de(Pe),Ke)}:de)},h.shuffle=function(de,Pe,Ke){(vt=arguments.length)<3&&(Ke=de.length,vt<2&&(Pe=0));for(var vt=Ke-Pe,mt,Tt;vt;)Tt=Math.random()*vt--|0,mt=de[vt+Pe],de[vt+Pe]=de[Tt+Pe],de[Tt+Pe]=mt;return de},h.permute=function(de,Pe){for(var Ke=Pe.length,vt=new Array(Ke);Ke--;)vt[Ke]=de[Pe[Ke]];return vt},h.pairs=function(de){for(var Pe=0,Ke=de.length-1,vt=de[0],mt=new Array(Ke<0?0:Ke);Pe=0;)for(qt=de[Pe],Ke=qt.length;--Ke>=0;)Tt[--mt]=qt[Ke];return Tt};var l=Math.abs;h.range=function(de,Pe,Ke){if(arguments.length<3&&(Ke=1,arguments.length<2&&(Pe=de,de=0)),(Pe-de)/Ke===1/0)throw new Error("infinite range");var vt=[],mt=g(l(Ke)),Tt=-1,qt;if(de*=mt,Pe*=mt,Ke*=mt,Ke<0)for(;(qt=de+Ke*++Tt)>Pe;)vt.push(qt/mt);else for(;(qt=de+Ke*++Tt)=Pe.length)return mt?mt.call(de,or):vt?or.sort(vt):or;for(var Lr=-1,Zr=or.length,ia=Pe[Ir++],la,an,da,La=new A,Oa;++Lr=Pe.length)return Vt;var Ir=[],Lr=Ke[or++];return Vt.forEach(function(Zr,ia){Ir.push({key:Zr,values:qt(ia,or)})}),Lr?Ir.sort(function(Zr,ia){return Lr(Zr.key,ia.key)}):Ir}return de.map=function(Vt,or){return Tt(or,Vt,0)},de.entries=function(Vt){return qt(Tt(h.map,Vt,0),0)},de.key=function(Vt){return Pe.push(Vt),de},de.sortKeys=function(Vt){return Ke[Pe.length-1]=Vt,de},de.sortValues=function(Vt){return vt=Vt,de},de.rollup=function(Vt){return mt=Vt,de},de},h.set=function(de){var Pe=new z;if(de)for(var Ke=0,vt=de.length;Ke=0&&(vt=de.slice(Ke+1),de=de.slice(0,Ke)),de)return arguments.length<2?this[de].on(vt):this[de].on(vt,Pe);if(arguments.length===2){if(Pe==null)for(de in this)this.hasOwnProperty(de)&&this[de].on(vt,null);return this}};function X(de){var Pe=[],Ke=new A;function vt(){for(var mt=Pe,Tt=-1,qt=mt.length,Vt;++Tt=0&&(Ke=de.slice(0,Pe))!=="xmlns"&&(de=de.slice(Pe+1)),fe.hasOwnProperty(Ke)?{space:fe[Ke],local:de}:de}},Q.attr=function(de,Pe){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node();return de=h.ns.qualify(de),de.local?Ke.getAttributeNS(de.space,de.local):Ke.getAttribute(de)}for(Pe in de)this.each(be(Pe,de[Pe]));return this}return this.each(be(de,Pe))};function be(de,Pe){de=h.ns.qualify(de);function Ke(){this.removeAttribute(de)}function vt(){this.removeAttributeNS(de.space,de.local)}function mt(){this.setAttribute(de,Pe)}function Tt(){this.setAttributeNS(de.space,de.local,Pe)}function qt(){var or=Pe.apply(this,arguments);or==null?this.removeAttribute(de):this.setAttribute(de,or)}function Vt(){var or=Pe.apply(this,arguments);or==null?this.removeAttributeNS(de.space,de.local):this.setAttributeNS(de.space,de.local,or)}return Pe==null?de.local?vt:Ke:typeof Pe=="function"?de.local?Vt:qt:de.local?Tt:mt}function Me(de){return de.trim().replace(/\s+/g," ")}Q.classed=function(de,Pe){if(arguments.length<2){if(typeof de=="string"){var Ke=this.node(),vt=(de=Le(de)).length,mt=-1;if(Pe=Ke.classList){for(;++mt=0;)(Tt=Ke[vt])&&(mt&&mt!==Tt.nextSibling&&mt.parentNode.insertBefore(Tt,mt),mt=Tt);return this},Q.sort=function(de){de=De.apply(this,arguments);for(var Pe=-1,Ke=this.length;++Pe=Pe&&(Pe=mt+1);!(or=qt[Pe])&&++Pe0&&(de=de.slice(0,mt));var qt=jt.get(de);qt&&(de=qt,Tt=dr);function Vt(){var Lr=this[vt];Lr&&(this.removeEventListener(de,Lr,Lr.$),delete this[vt])}function or(){var Lr=Tt(Pe,S(arguments));Vt.call(this),this.addEventListener(de,this[vt]=Lr,Lr.$=Ke),Lr._=Pe}function Ir(){var Lr=new RegExp("^__on([^.]+)"+h.requote(de)+"$"),Zr;for(var ia in this)if(Zr=ia.match(Lr)){var la=this[ia];this.removeEventListener(Zr[1],la,la.$),delete this[ia]}}return mt?Pe?or:Vt:Pe?N:Ir}var jt=h.map({mouseenter:"mouseover",mouseleave:"mouseout"});E&&jt.forEach(function(de){"on"+de in E&&jt.remove(de)});function Wt(de,Pe){return function(Ke){var vt=h.event;h.event=Ke,Pe[0]=this.__data__;try{de.apply(this,Pe)}finally{h.event=vt}}}function dr(de,Pe){var Ke=Wt(de,Pe);return function(vt){var mt=this,Tt=vt.relatedTarget;(!Tt||Tt!==mt&&!(Tt.compareDocumentPosition(mt)&8))&&Ke.call(mt,vt)}}var vr,Dr=0;function hr(de){var Pe=".dragsuppress-"+ ++Dr,Ke="click"+Pe,vt=h.select(t(de)).on("touchmove"+Pe,ee).on("dragstart"+Pe,ee).on("selectstart"+Pe,ee);if(vr==null&&(vr="onselectstart"in de?!1:O(de.style,"userSelect")),vr){var mt=e(de).style,Tt=mt[vr];mt[vr]="none"}return function(qt){if(vt.on(Pe,null),vr&&(mt[vr]=Tt),qt){var Vt=function(){vt.on(Ke,null)};vt.on(Ke,function(){ee(),Vt()},!0),setTimeout(Vt,0)}}}h.mouse=function(de){return gt(de,ue())};var Ar=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function gt(de,Pe){Pe.changedTouches&&(Pe=Pe.changedTouches[0]);var Ke=de.ownerSVGElement||de;if(Ke.createSVGPoint){var vt=Ke.createSVGPoint();if(Ar<0){var mt=t(de);if(mt.scrollX||mt.scrollY){Ke=h.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var Tt=Ke[0][0].getScreenCTM();Ar=!(Tt.f||Tt.e),Ke.remove()}}return Ar?(vt.x=Pe.pageX,vt.y=Pe.pageY):(vt.x=Pe.clientX,vt.y=Pe.clientY),vt=vt.matrixTransform(de.getScreenCTM().inverse()),[vt.x,vt.y]}var qt=de.getBoundingClientRect();return[Pe.clientX-qt.left-de.clientLeft,Pe.clientY-qt.top-de.clientTop]}h.touch=function(de,Pe,Ke){if(arguments.length<3&&(Ke=Pe,Pe=ue().changedTouches),Pe){for(var vt=0,mt=Pe.length,Tt;vt1?Ue:de<-1?-Ue:Math.asin(de)}function Nt(de){return((de=Math.exp(de))-1/de)/2}function sr(de){return((de=Math.exp(de))+1/de)/2}function ar(de){return((de=Math.exp(2*de))-1)/(de+1)}var tr=Math.SQRT2,Tr=2,sa=4;h.interpolateZoom=function(de,Pe){var Ke=de[0],vt=de[1],mt=de[2],Tt=Pe[0],qt=Pe[1],Vt=Pe[2],or=Tt-Ke,Ir=qt-vt,Lr=or*or+Ir*Ir,Zr,ia;if(Lr0&&(pi=pi.transition().duration(qt)),pi.call(on.event)}function Ti(){La&&La.domain(da.range().map(function(pi){return(pi-de.x)/de.k}).map(da.invert)),Qa&&Qa.domain(Oa.range().map(function(pi){return(pi-de.y)/de.k}).map(Oa.invert))}function ki(pi){Vt++||pi({type:"zoomstart"})}function Go(pi){Ti(),pi({type:"zoom",scale:de.k,translate:[de.x,de.y]})}function Pi(pi){--Vt||(pi({type:"zoomend"}),Ke=null)}function oo(){var pi=this,ko=an.of(pi,arguments),Xo=0,Os=h.select(t(pi)).on(Ir,gs).on(Lr,Bs),Ms=Fa(h.mouse(pi)),Zl=hr(pi);$a.call(pi),ki(ko);function gs(){Xo=1,Kn(h.mouse(pi),Ms),Go(ko)}function Bs(){Os.on(Ir,null).on(Lr,null),Zl(Xo),Pi(ko)}}function $o(){var pi=this,ko=an.of(pi,arguments),Xo={},Os=0,Ms,Zl=".zoom-"+h.event.changedTouches[0].identifier,gs="touchmove"+Zl,Bs="touchend"+Zl,du=[],ul=h.select(pi),st=hr(pi);ur(),ki(ko),ul.on(or,null).on(ia,ur);function ir(){var Qr=h.touches(pi);return Ms=de.k,Qr.forEach(function($r){$r.identifier in Xo&&(Xo[$r.identifier]=Fa($r))}),Qr}function ur(){var Qr=h.event.target;h.select(Qr).on(gs,ua).on(Bs,Ua),du.push(Qr);for(var $r=h.event.changedTouches,un=0,sn=$r.length;un1){var Qn=ln[0],jn=ln[1],yn=Qn[0]-jn[0],Wa=Qn[1]-jn[1];Os=yn*yn+Wa*Wa}}function ua(){var Qr=h.touches(pi),$r,un,sn,ln;$a.call(pi);for(var xn=0,Qn=Qr.length;xn1?1:Pe,Ke=Ke<0?0:Ke>1?1:Ke,mt=Ke<=.5?Ke*(1+Pe):Ke+Pe-Ke*Pe,vt=2*Ke-mt;function Tt(Vt){return Vt>360?Vt-=360:Vt<0&&(Vt+=360),Vt<60?vt+(mt-vt)*Vt/60:Vt<180?mt:Vt<240?vt+(mt-vt)*(240-Vt)/60:vt}function qt(Vt){return Math.round(Tt(Vt)*255)}return new Bn(qt(de+120),qt(de),qt(de-120))}h.hcl=Yt;function Yt(de,Pe,Ke){return this instanceof Yt?(this.h=+de,this.c=+Pe,void(this.l=+Ke)):arguments.length<2?de instanceof Yt?new Yt(de.h,de.c,de.l):de instanceof $t?Va(de.l,de.a,de.b):Va((de=_r((de=h.rgb(de)).r,de.g,de.b)).l,de.a,de.b):new Yt(de,Pe,Ke)}var It=Yt.prototype=new Ra;It.brighter=function(de){return new Yt(this.h,this.c,Math.min(100,this.l+Cr*(arguments.length?de:1)))},It.darker=function(de){return new Yt(this.h,this.c,Math.max(0,this.l-Cr*(arguments.length?de:1)))},It.rgb=function(){return Zt(this.h,this.c,this.l).rgb()};function Zt(de,Pe,Ke){return isNaN(de)&&(de=0),isNaN(Pe)&&(Pe=0),new $t(Ke,Math.cos(de*=Xe)*Pe,Math.sin(de)*Pe)}h.lab=$t;function $t(de,Pe,Ke){return this instanceof $t?(this.l=+de,this.a=+Pe,void(this.b=+Ke)):arguments.length<2?de instanceof $t?new $t(de.l,de.a,de.b):de instanceof Yt?Zt(de.h,de.c,de.l):_r((de=Bn(de)).r,de.g,de.b):new $t(de,Pe,Ke)}var Cr=18,qr=.95047,Jr=1,aa=1.08883,Ca=$t.prototype=new Ra;Ca.brighter=function(de){return new $t(Math.min(100,this.l+Cr*(arguments.length?de:1)),this.a,this.b)},Ca.darker=function(de){return new $t(Math.max(0,this.l-Cr*(arguments.length?de:1)),this.a,this.b)},Ca.rgb=function(){return Ha(this.l,this.a,this.b)};function Ha(de,Pe,Ke){var vt=(de+16)/116,mt=vt+Pe/500,Tt=vt-Ke/200;return mt=Za(mt)*qr,vt=Za(vt)*Jr,Tt=Za(Tt)*aa,new Bn(wa(3.2404542*mt-1.5371385*vt-.4985314*Tt),wa(-.969266*mt+1.8760108*vt+.041556*Tt),wa(.0556434*mt-.2040259*vt+1.0572252*Tt))}function Va(de,Pe,Ke){return de>0?new Yt(Math.atan2(Ke,Pe)*bt,Math.sqrt(Pe*Pe+Ke*Ke),de):new Yt(NaN,NaN,de)}function Za(de){return de>.206893034?de*de*de:(de-4/29)/7.787037}function rn(de){return de>.008856?Math.pow(de,1/3):7.787037*de+4/29}function wa(de){return Math.round(255*(de<=.00304?12.92*de:1.055*Math.pow(de,1/2.4)-.055))}h.rgb=Bn;function Bn(de,Pe,Ke){return this instanceof Bn?(this.r=~~de,this.g=~~Pe,void(this.b=~~Ke)):arguments.length<2?de instanceof Bn?new Bn(de.r,de.g,de.b):Sr(""+de,Bn,mn):new Bn(de,Pe,Ke)}function Hn(de){return new Bn(de>>16,de>>8&255,de&255)}function At(de){return Hn(de)+""}var ft=Bn.prototype=new Ra;ft.brighter=function(de){de=Math.pow(.7,arguments.length?de:1);var Pe=this.r,Ke=this.g,vt=this.b,mt=30;return!Pe&&!Ke&&!vt?new Bn(mt,mt,mt):(Pe&&Pe>4,vt=vt>>4|vt,mt=or&240,mt=mt>>4|mt,Tt=or&15,Tt=Tt<<4|Tt):de.length===7&&(vt=(or&16711680)>>16,mt=(or&65280)>>8,Tt=or&255)),Pe(vt,mt,Tt))}function Er(de,Pe,Ke){var vt=Math.min(de/=255,Pe/=255,Ke/=255),mt=Math.max(de,Pe,Ke),Tt=mt-vt,qt,Vt,or=(mt+vt)/2;return Tt?(Vt=or<.5?Tt/(mt+vt):Tt/(2-mt-vt),de==mt?qt=(Pe-Ke)/Tt+(Pe0&&or<1?0:qt),new ya(qt,Vt,or)}function _r(de,Pe,Ke){de=Mr(de),Pe=Mr(Pe),Ke=Mr(Ke);var vt=rn((.4124564*de+.3575761*Pe+.1804375*Ke)/qr),mt=rn((.2126729*de+.7151522*Pe+.072175*Ke)/Jr),Tt=rn((.0193339*de+.119192*Pe+.9503041*Ke)/aa);return $t(116*mt-16,500*(vt-mt),200*(mt-Tt))}function Mr(de){return(de/=255)<=.04045?de/12.92:Math.pow((de+.055)/1.055,2.4)}function Gr(de){var Pe=parseFloat(de);return de.charAt(de.length-1)==="%"?Math.round(Pe*2.55):Pe}var Fr=h.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});Fr.forEach(function(de,Pe){Fr.set(de,Hn(Pe))});function pt(de){return typeof de=="function"?de:function(){return de}}h.functor=pt,h.xhr=Kt(F);function Kt(de){return function(Pe,Ke,vt){return arguments.length===2&&typeof Ke=="function"&&(vt=Ke,Ke=null),xr(Pe,Ke,de,vt)}}function xr(de,Pe,Ke,vt){var mt={},Tt=h.dispatch("beforesend","progress","load","error"),qt={},Vt=new XMLHttpRequest,or=null;self.XDomainRequest&&!("withCredentials"in Vt)&&/^(http(s)?:)?\/\//.test(de)&&(Vt=new XDomainRequest),"onload"in Vt?Vt.onload=Vt.onerror=Ir:Vt.onreadystatechange=function(){Vt.readyState>3&&Ir()};function Ir(){var Lr=Vt.status,Zr;if(!Lr&&fa(Vt)||Lr>=200&&Lr<300||Lr===304){try{Zr=Ke.call(mt,Vt)}catch(ia){Tt.error.call(mt,ia);return}Tt.load.call(mt,Zr)}else Tt.error.call(mt,Vt)}return Vt.onprogress=function(Lr){var Zr=h.event;h.event=Lr;try{Tt.progress.call(mt,Vt)}finally{h.event=Zr}},mt.header=function(Lr,Zr){return Lr=(Lr+"").toLowerCase(),arguments.length<2?qt[Lr]:(Zr==null?delete qt[Lr]:qt[Lr]=Zr+"",mt)},mt.mimeType=function(Lr){return arguments.length?(Pe=Lr==null?null:Lr+"",mt):Pe},mt.responseType=function(Lr){return arguments.length?(or=Lr,mt):or},mt.response=function(Lr){return Ke=Lr,mt},["get","post"].forEach(function(Lr){mt[Lr]=function(){return mt.send.apply(mt,[Lr].concat(S(arguments)))}}),mt.send=function(Lr,Zr,ia){if(arguments.length===2&&typeof Zr=="function"&&(ia=Zr,Zr=null),Vt.open(Lr,de,!0),Pe!=null&&!("accept"in qt)&&(qt.accept=Pe+",*/*"),Vt.setRequestHeader)for(var la in qt)Vt.setRequestHeader(la,qt[la]);return Pe!=null&&Vt.overrideMimeType&&Vt.overrideMimeType(Pe),or!=null&&(Vt.responseType=or),ia!=null&&mt.on("error",ia).on("load",function(an){ia(null,an)}),Tt.beforesend.call(mt,Vt),Vt.send(Zr??null),mt},mt.abort=function(){return Vt.abort(),mt},h.rebind(mt,Tt,"on"),vt==null?mt:mt.get(Hr(vt))}function Hr(de){return de.length===1?function(Pe,Ke){de(Pe==null?Ke:null)}:de}function fa(de){var Pe=de.responseType;return Pe&&Pe!=="text"?de.response:de.responseText}h.dsv=function(de,Pe){var Ke=new RegExp('["'+de+` ]`),vt=de.charCodeAt(0);function mt(Ir,Lr,Zr){arguments.length<3&&(Zr=Lr,Lr=null);var ia=xr(Ir,Pe,Lr==null?Tt:qt(Lr),Zr);return ia.row=function(la){return arguments.length?ia.response((Lr=la)==null?Tt:qt(la)):Lr},ia}function Tt(Ir){return mt.parse(Ir.responseText)}function qt(Ir){return function(Lr){return mt.parse(Lr.responseText,Ir)}}mt.parse=function(Ir,Lr){var Zr;return mt.parseRows(Ir,function(ia,la){if(Zr)return Zr(ia,la-1);var an=function(da){for(var La={},Oa=ia.length,Qa=0;Qa=an)return ia;if(Qa)return Qa=!1,Zr;var Ln=da;if(Ir.charCodeAt(Ln)===34){for(var oi=Ln;oi++24?(isFinite(Pe)&&(clearTimeout(ha),ha=setTimeout(Xn,Pe)),Wr=0):(Wr=1,Un(Xn))}h.timer.flush=function(){ni(),di()};function ni(){for(var de=Date.now(),Pe=xa;Pe;)de>=Pe.t&&Pe.c(de-Pe.t)&&(Pe.c=null),Pe=Pe.n;return de}function di(){for(var de,Pe=xa,Ke=1/0;Pe;)Pe.c?(Pe.t=0;--Vt)da.push(mt[Ir[Zr[Vt]][2]]);for(Vt=+la;Vt1&&xt(de[Ke[vt-2]],de[Ke[vt-1]],de[mt])<=0;)--vt;Ke[vt++]=mt}return Ke.slice(0,vt)}function to(de,Pe){return de[0]-Pe[0]||de[1]-Pe[1]}h.geom.polygon=function(de){return V(de,Gi),de};var Gi=h.geom.polygon.prototype=[];Gi.area=function(){for(var de=-1,Pe=this.length,Ke,vt=this[Pe-1],mt=0;++deWe)Vt=Vt.L;else if(qt=Pe-hi(Vt,Ke),qt>We){if(!Vt.R){vt=Vt;break}Vt=Vt.R}else{Tt>-We?(vt=Vt.P,mt=Vt):qt>-We?(vt=Vt,mt=Vt.N):vt=mt=Vt;break}var or=rs(de);if(Bo.insert(vt,or),!(!vt&&!mt)){if(vt===mt){as(vt),mt=rs(vt.site),Bo.insert(or,mt),or.edge=mt.edge=Rs(vt.site,or.site),qo(vt),qo(mt);return}if(!mt){or.edge=Rs(vt.site,or.site);return}as(vt),as(mt);var Ir=vt.site,Lr=Ir.x,Zr=Ir.y,ia=de.x-Lr,la=de.y-Zr,an=mt.site,da=an.x-Lr,La=an.y-Zr,Oa=2*(ia*La-la*da),Qa=ia*ia+la*la,on=da*da+La*La,Fa={x:(La*Qa-la*on)/Oa+Lr,y:(ia*on-da*Qa)/Oa+Zr};Ii(mt.edge,Ir,an,Fa),or.edge=Rs(Ir,de,null,Fa),mt.edge=Rs(de,an,null,Fa),qo(vt),qo(mt)}}function Fn(de,Pe){var Ke=de.site,vt=Ke.x,mt=Ke.y,Tt=mt-Pe;if(!Tt)return vt;var qt=de.P;if(!qt)return-1/0;Ke=qt.site;var Vt=Ke.x,or=Ke.y,Ir=or-Pe;if(!Ir)return Vt;var Lr=Vt-vt,Zr=1/Tt-1/Ir,ia=Lr/Ir;return Zr?(-ia+Math.sqrt(ia*ia-2*Zr*(Lr*Lr/(-2*Ir)-or+Ir/2+mt-Tt/2)))/Zr+vt:(vt+Vt)/2}function hi(de,Pe){var Ke=de.N;if(Ke)return Fn(Ke,Pe);var vt=de.site;return vt.y===Pe?vt.x:1/0}function _s(de){this.site=de,this.edges=[]}_s.prototype.prepare=function(){for(var de=this.edges,Pe=de.length,Ke;Pe--;)Ke=de[Pe].edge,(!Ke.b||!Ke.a)&&de.splice(Pe,1);return de.sort(Fi),de.length};function Po(de){for(var Pe=de[0][0],Ke=de[1][0],vt=de[0][1],mt=de[1][1],Tt,qt,Vt,or,Ir=Vo,Lr=Ir.length,Zr,ia,la,an,da,La;Lr--;)if(Zr=Ir[Lr],!(!Zr||!Zr.prepare()))for(la=Zr.edges,an=la.length,ia=0;iaWe||l(or-qt)>We)&&(la.splice(ia,0,new Xs(Ds(Zr.site,La,l(Vt-Pe)We?{x:Pe,y:l(Tt-Pe)We?{x:l(qt-mt)We?{x:Ke,y:l(Tt-Ke)We?{x:l(qt-vt)=-Ae)){var ia=or*or+Ir*Ir,la=Lr*Lr+La*La,an=(La*ia-Ir*la)/Zr,da=(or*la-Lr*ia)/Zr,La=da+Vt,Oa=_i.pop()||new Ts;Oa.arc=de,Oa.site=mt,Oa.x=an+qt,Oa.y=La+Math.sqrt(an*an+da*da),Oa.cy=La,de.circle=Oa;for(var Qa=null,on=Zi._;on;)if(Oa.y0)){if(da/=la,la<0){if(da0){if(da>ia)return;da>Zr&&(Zr=da)}if(da=Ke-Vt,!(!la&&da<0)){if(da/=la,la<0){if(da>ia)return;da>Zr&&(Zr=da)}else if(la>0){if(da0)){if(da/=an,an<0){if(da0){if(da>ia)return;da>Zr&&(Zr=da)}if(da=vt-or,!(!an&&da<0)){if(da/=an,an<0){if(da>ia)return;da>Zr&&(Zr=da)}else if(an>0){if(da0&&(mt.a={x:Vt+Zr*la,y:or+Zr*an}),ia<1&&(mt.b={x:Vt+ia*la,y:or+ia*an}),mt}}}}}}function ci(de){for(var Pe=ji,Ke=al(de[0][0],de[0][1],de[1][0],de[1][1]),vt=Pe.length,mt;vt--;)mt=Pe[vt],(!mo(mt,de)||!Ke(mt)||l(mt.a.x-mt.b.x)=Tt)return;if(Lr>ia){if(!vt)vt={x:an,y:qt};else if(vt.y>=Vt)return;Ke={x:an,y:Vt}}else{if(!vt)vt={x:an,y:Vt};else if(vt.y1)if(Lr>ia){if(!vt)vt={x:(qt-Oa)/La,y:qt};else if(vt.y>=Vt)return;Ke={x:(Vt-Oa)/La,y:Vt}}else{if(!vt)vt={x:(Vt-Oa)/La,y:Vt};else if(vt.y=Tt)return;Ke={x:Tt,y:La*Tt+Oa}}else{if(!vt)vt={x:Tt,y:La*Tt+Oa};else if(vt.x=Lr&&Oa.x<=ia&&Oa.y>=Zr&&Oa.y<=la?[[Lr,la],[ia,la],[ia,Zr],[Lr,Zr]]:[];Qa.point=or[da]}),Ir}function Vt(or){return or.map(function(Ir,Lr){return{x:Math.round(vt(Ir,Lr)/We)*We,y:Math.round(mt(Ir,Lr)/We)*We,i:Lr}})}return qt.links=function(or){return wl(Vt(or)).edges.filter(function(Ir){return Ir.l&&Ir.r}).map(function(Ir){return{source:or[Ir.l.i],target:or[Ir.r.i]}})},qt.triangles=function(or){var Ir=[];return wl(Vt(or)).cells.forEach(function(Lr,Zr){for(var ia=Lr.site,la=Lr.edges.sort(Fi),an=-1,da=la.length,La,Oa=la[da-1].edge,Qa=Oa.l===ia?Oa.r:Oa.l;++anon&&(on=Lr.x),Lr.y>Fa&&(Fa=Lr.y),la.push(Lr.x),an.push(Lr.y);else for(da=0;daon&&(on=Ln),oi>Fa&&(Fa=oi),la.push(Ln),an.push(oi)}var Kn=on-Oa,ai=Fa-Qa;Kn>ai?Fa=Qa+Kn:on=Oa+ai;function Ti(Pi,oo,$o,hl,js,pi,ko,Xo){if(!(isNaN($o)||isNaN(hl)))if(Pi.leaf){var Os=Pi.x,Ms=Pi.y;if(Os!=null)if(l(Os-$o)+l(Ms-hl)<.01)ki(Pi,oo,$o,hl,js,pi,ko,Xo);else{var Zl=Pi.point;Pi.x=Pi.y=Pi.point=null,ki(Pi,Zl,Os,Ms,js,pi,ko,Xo),ki(Pi,oo,$o,hl,js,pi,ko,Xo)}else Pi.x=$o,Pi.y=hl,Pi.point=oo}else ki(Pi,oo,$o,hl,js,pi,ko,Xo)}function ki(Pi,oo,$o,hl,js,pi,ko,Xo){var Os=(js+ko)*.5,Ms=(pi+Xo)*.5,Zl=$o>=Os,gs=hl>=Ms,Bs=gs<<1|Zl;Pi.leaf=!1,Pi=Pi.nodes[Bs]||(Pi.nodes[Bs]=ds()),Zl?js=Os:ko=Os,gs?pi=Ms:Xo=Ms,Ti(Pi,oo,$o,hl,js,pi,ko,Xo)}var Go=ds();if(Go.add=function(Pi){Ti(Go,Pi,+Zr(Pi,++da),+ia(Pi,da),Oa,Qa,on,Fa)},Go.visit=function(Pi){Jl(Pi,Go,Oa,Qa,on,Fa)},Go.find=function(Pi){return Nc(Go,Pi[0],Pi[1],Oa,Qa,on,Fa)},da=-1,Pe==null){for(;++daTt||ia>qt||la=Ln,ai=Ke>=oi,Ti=ai<<1|Kn,ki=Ti+4;TiKe&&(Tt=Pe.slice(Ke,Tt),Vt[qt]?Vt[qt]+=Tt:Vt[++qt]=Tt),(vt=vt[0])===(mt=mt[0])?Vt[qt]?Vt[qt]+=mt:Vt[++qt]=mt:(Vt[++qt]=null,or.push({i:qt,x:Rl(vt,mt)})),Ke=Al.lastIndex;return Ke=0&&!(vt=h.interpolators[Ke](de,Pe)););return vt}h.interpolators=[function(de,Pe){var Ke=typeof Pe;return(Ke==="string"?Fr.has(Pe.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(Pe)?Il:gu:Pe instanceof Ra?Il:Array.isArray(Pe)?As:Ke==="object"&&isNaN(Pe)?Tl:Rl)(de,Pe)}],h.interpolateArray=As;function As(de,Pe){var Ke=[],vt=[],mt=de.length,Tt=Pe.length,qt=Math.min(de.length,Pe.length),Vt;for(Vt=0;Vt=0?de.slice(0,Pe):de,vt=Pe>=0?de.slice(Pe+1):"in";return Ke=Hl.get(Ke)||Uu,vt=Yu.get(vt)||F,Zs(vt(Ke.apply(null,b.call(arguments,1))))};function Zs(de){return function(Pe){return Pe<=0?0:Pe>=1?1:de(Pe)}}function df(de){return function(Pe){return 1-de(1-Pe)}}function zo(de){return function(Pe){return .5*(Pe<.5?de(2*Pe):2-de(2-2*Pe))}}function Ef(de){return de*de}function ls(de){return de*de*de}function zi(de){if(de<=0)return 0;if(de>=1)return 1;var Pe=de*de,Ke=Pe*de;return 4*(de<.5?Ke:3*(de-Pe)+Ke-.75)}function uc(de){return function(Pe){return Math.pow(Pe,de)}}function yu(de){return 1-Math.cos(de*Ue)}function dl(de){return Math.pow(2,10*(de-1))}function Uc(de){return 1-Math.sqrt(1-de*de)}function Ku(de,Pe){var Ke;return arguments.length<2&&(Pe=.45),arguments.length?Ke=Pe/pe*Math.asin(1/de):(de=1,Ke=Pe/4),function(vt){return 1+de*Math.pow(2,-10*vt)*Math.sin((vt-Ke)*pe/Pe)}}function _c(de){return de||(de=1.70158),function(Pe){return Pe*Pe*((de+1)*Pe-de)}}function Sl(de){return de<1/2.75?7.5625*de*de:de<2/2.75?7.5625*(de-=1.5/2.75)*de+.75:de<2.5/2.75?7.5625*(de-=2.25/2.75)*de+.9375:7.5625*(de-=2.625/2.75)*de+.984375}h.interpolateHcl=lf;function lf(de,Pe){de=h.hcl(de),Pe=h.hcl(Pe);var Ke=de.h,vt=de.c,mt=de.l,Tt=Pe.h-Ke,qt=Pe.c-vt,Vt=Pe.l-mt;return isNaN(qt)&&(qt=0,vt=isNaN(vt)?Pe.c:vt),isNaN(Tt)?(Tt=0,Ke=isNaN(Ke)?Pe.h:Ke):Tt>180?Tt-=360:Tt<-180&&(Tt+=360),function(or){return Zt(Ke+Tt*or,vt+qt*or,mt+Vt*or)+""}}h.interpolateHsl=Wc;function Wc(de,Pe){de=h.hsl(de),Pe=h.hsl(Pe);var Ke=de.h,vt=de.s,mt=de.l,Tt=Pe.h-Ke,qt=Pe.s-vt,Vt=Pe.l-mt;return isNaN(qt)&&(qt=0,vt=isNaN(vt)?Pe.s:vt),isNaN(Tt)?(Tt=0,Ke=isNaN(Ke)?Pe.h:Ke):Tt>180?Tt-=360:Tt<-180&&(Tt+=360),function(or){return mn(Ke+Tt*or,vt+qt*or,mt+Vt*or)+""}}h.interpolateLab=xc;function xc(de,Pe){de=h.lab(de),Pe=h.lab(Pe);var Ke=de.l,vt=de.a,mt=de.b,Tt=Pe.l-Ke,qt=Pe.a-vt,Vt=Pe.b-mt;return function(or){return Ha(Ke+Tt*or,vt+qt*or,mt+Vt*or)+""}}h.interpolateRound=$u;function $u(de,Pe){return Pe-=de,function(Ke){return Math.round(de+Pe*Ke)}}h.transform=function(de){var Pe=E.createElementNS(h.ns.prefix.svg,"g");return(h.transform=function(Ke){if(Ke!=null){Pe.setAttribute("transform",Ke);var vt=Pe.transform.baseVal.consolidate()}return new jc(vt?vt.matrix:ju)})(de)};function jc(de){var Pe=[de.a,de.b],Ke=[de.c,de.d],vt=_u(Pe),mt=Vc(Pe,Ke),Tt=_u(Xc(Ke,Pe,-mt))||0;Pe[0]*Ke[1]180?Pe+=360:Pe-de>180&&(de+=360),vt.push({i:Ke.push(Cu(Ke)+"rotate(",null,")")-2,x:Rl(de,Pe)})):Pe&&Ke.push(Cu(Ke)+"rotate("+Pe+")")}function qc(de,Pe,Ke,vt){de!==Pe?vt.push({i:Ke.push(Cu(Ke)+"skewX(",null,")")-2,x:Rl(de,Pe)}):Pe&&Ke.push(Cu(Ke)+"skewX("+Pe+")")}function Cs(de,Pe,Ke,vt){if(de[0]!==Pe[0]||de[1]!==Pe[1]){var mt=Ke.push(Cu(Ke)+"scale(",null,",",null,")");vt.push({i:mt-4,x:Rl(de[0],Pe[0])},{i:mt-2,x:Rl(de[1],Pe[1])})}else(Pe[0]!==1||Pe[1]!==1)&&Ke.push(Cu(Ke)+"scale("+Pe+")")}function kc(de,Pe){var Ke=[],vt=[];return de=h.transform(de),Pe=h.transform(Pe),Ml(de.translate,Pe.translate,Ke,vt),ic(de.rotate,Pe.rotate,Ke,vt),qc(de.skew,Pe.skew,Ke,vt),Cs(de.scale,Pe.scale,Ke,vt),de=Pe=null,function(mt){for(var Tt=-1,qt=vt.length,Vt;++Tt0?Tt=Fa:(Ke.c=null,Ke.t=NaN,Ke=null,Pe.end({type:"end",alpha:Tt=0})):Fa>0&&(Pe.start({type:"start",alpha:Tt=Fa}),Ke=en(de.tick)),de):Tt},de.start=function(){var Fa,Ln=la.length,oi=an.length,Kn=vt[0],ai=vt[1],Ti,ki;for(Fa=0;Fa=0;)Tt.push(Lr=Ir[or]),Lr.parent=Vt,Lr.depth=Vt.depth+1;Ke&&(Vt.value=0),Vt.children=Ir}else Ke&&(Vt.value=+Ke.call(vt,Vt,Vt.depth)||0),delete Vt.children;return Lu(mt,function(Zr){var ia,la;de&&(ia=Zr.children)&&ia.sort(de),Ke&&(la=Zr.parent)&&(la.value+=Zr.value)}),qt}return vt.sort=function(mt){return arguments.length?(de=mt,vt):de},vt.children=function(mt){return arguments.length?(Pe=mt,vt):Pe},vt.value=function(mt){return arguments.length?(Ke=mt,vt):Ke},vt.revalue=function(mt){return Ke&&(cc(mt,function(Tt){Tt.children&&(Tt.value=0)}),Lu(mt,function(Tt){var qt;Tt.children||(Tt.value=+Ke.call(vt,Tt,Tt.depth)||0),(qt=Tt.parent)&&(qt.value+=Tt.value)})),mt},vt};function Ys(de,Pe){return h.rebind(de,Pe,"sort","children","value"),de.nodes=de,de.links=Df,de}function cc(de,Pe){for(var Ke=[de];(de=Ke.pop())!=null;)if(Pe(de),(mt=de.children)&&(vt=mt.length))for(var vt,mt;--vt>=0;)Ke.push(mt[vt])}function Lu(de,Pe){for(var Ke=[de],vt=[];(de=Ke.pop())!=null;)if(vt.push(de),(qt=de.children)&&(Tt=qt.length))for(var mt=-1,Tt,qt;++mtmt&&(mt=Vt),vt.push(Vt)}for(qt=0;qtvt&&(Ke=Pe,vt=mt);return Ke}function ru(de){return de.reduce(xu,0)}function xu(de,Pe){return de+Pe[1]}h.layout.histogram=function(){var de=!0,Pe=Number,Ke=wc,vt=Gc;function mt(Tt,ia){for(var Vt=[],or=Tt.map(Pe,this),Ir=Ke.call(this,or,ia),Lr=vt.call(this,Ir,or,ia),Zr,ia=-1,la=or.length,an=Lr.length-1,da=de?1:1/la,La;++ia0)for(ia=-1;++ia=Ir[0]&&La<=Ir[1]&&(Zr=Vt[h.bisect(Lr,La,1,an)-1],Zr.y+=da,Zr.push(Tt[ia]));return Vt}return mt.value=function(Tt){return arguments.length?(Pe=Tt,mt):Pe},mt.range=function(Tt){return arguments.length?(Ke=pt(Tt),mt):Ke},mt.bins=function(Tt){return arguments.length?(vt=typeof Tt=="number"?function(qt){return Ws(qt,Tt)}:pt(Tt),mt):vt},mt.frequency=function(Tt){return arguments.length?(de=!!Tt,mt):de},mt};function Gc(de,Pe){return Ws(de,Math.ceil(Math.log(Pe.length)/Math.LN2+1))}function Ws(de,Pe){for(var Ke=-1,vt=+de[0],mt=(de[1]-vt)/Pe,Tt=[];++Ke<=Pe;)Tt[Ke]=mt*Ke+vt;return Tt}function wc(de){return[h.min(de),h.max(de)]}h.layout.pack=function(){var de=h.layout.hierarchy().sort(ec),Pe=0,Ke=[1,1],vt;function mt(Tt,qt){var Vt=de.call(this,Tt,qt),or=Vt[0],Ir=Ke[0],Lr=Ke[1],Zr=vt==null?Math.sqrt:typeof vt=="function"?vt:function(){return vt};if(or.x=or.y=0,Lu(or,function(la){la.r=+Zr(la.value)}),Lu(or,Ac),Pe){var ia=Pe*(vt?1:Math.max(2*or.r/Ir,2*or.r/Lr))/2;Lu(or,function(la){la.r+=ia}),Lu(or,Ac),Lu(or,function(la){la.r-=ia})}return Jc(or,Ir/2,Lr/2,vt?1:1/Math.max(2*or.r/Ir,2*or.r/Lr)),Vt}return mt.size=function(Tt){return arguments.length?(Ke=Tt,mt):Ke},mt.radius=function(Tt){return arguments.length?(vt=Tt==null||typeof Tt=="function"?Tt:+Tt,mt):vt},mt.padding=function(Tt){return arguments.length?(Pe=+Tt,mt):Pe},Ys(mt,de)};function ec(de,Pe){return de.value-Pe.value}function fu(de,Pe){var Ke=de._pack_next;de._pack_next=Pe,Pe._pack_prev=de,Pe._pack_next=Ke,Ke._pack_prev=Pe}function Tc(de,Pe){de._pack_next=Pe,Pe._pack_prev=de}function Pu(de,Pe){var Ke=Pe.x-de.x,vt=Pe.y-de.y,mt=de.r+Pe.r;return .999*mt*mt>Ke*Ke+vt*vt}function Ac(de){if(!(Pe=de.children)||!(ia=Pe.length))return;var Pe,Ke=1/0,vt=-1/0,mt=1/0,Tt=-1/0,qt,Vt,or,Ir,Lr,Zr,ia;function la(Fa){Ke=Math.min(Fa.x-Fa.r,Ke),vt=Math.max(Fa.x+Fa.r,vt),mt=Math.min(Fa.y-Fa.r,mt),Tt=Math.max(Fa.y+Fa.r,Tt)}if(Pe.forEach(gf),qt=Pe[0],qt.x=-qt.r,qt.y=0,la(qt),ia>1&&(Vt=Pe[1],Vt.x=Vt.r,Vt.y=0,la(Vt),ia>2))for(or=Pe[2],hu(qt,Vt,or),la(or),fu(qt,or),qt._pack_prev=or,fu(or,Vt),Vt=qt._pack_next,Ir=3;IrLa.x&&(La=Ln),Ln.depth>Oa.depth&&(Oa=Ln)});var Qa=Pe(da,La)/2-da.x,on=Ke[0]/(La.x+Pe(La,da)/2+Qa),Fa=Ke[1]/(Oa.depth||1);cc(la,function(Ln){Ln.x=(Ln.x+Qa)*on,Ln.y=Ln.depth*Fa})}return ia}function Tt(Lr){for(var Zr={A:null,children:[Lr]},ia=[Zr],la;(la=ia.pop())!=null;)for(var an=la.children,da,La=0,Oa=an.length;La0&&(Wl(tc(da,Lr,ia),Lr,Ln),Oa+=Ln,Qa+=Ln),on+=da.m,Oa+=la.m,Fa+=La.m,Qa+=an.m;da&&!nl(an)&&(an.t=da,an.m+=on-Qa),la&&!Iu(La)&&(La.t=la,La.m+=Oa-Fa,ia=Lr)}return ia}function Ir(Lr){Lr.x*=Ke[0],Lr.y=Lr.depth*Ke[1]}return mt.separation=function(Lr){return arguments.length?(Pe=Lr,mt):Pe},mt.size=function(Lr){return arguments.length?(vt=(Ke=Lr)==null?Ir:null,mt):vt?null:Ke},mt.nodeSize=function(Lr){return arguments.length?(vt=(Ke=Lr)==null?null:Ir,mt):vt?Ke:null},Ys(mt,de)};function qu(de,Pe){return de.parent==Pe.parent?1:2}function Iu(de){var Pe=de.children;return Pe.length?Pe[0]:de.t}function nl(de){var Pe=de.children,Ke;return(Ke=Pe.length)?Pe[Ke-1]:de.t}function Wl(de,Pe,Ke){var vt=Ke/(Pe.i-de.i);Pe.c-=vt,Pe.s+=Ke,de.c+=vt,Pe.z+=Ke,Pe.m+=Ke}function Js(de){for(var Pe=0,Ke=0,vt=de.children,mt=vt.length,Tt;--mt>=0;)Tt=vt[mt],Tt.z+=Pe,Tt.m+=Pe,Pe+=Tt.s+(Ke+=Tt.c)}function tc(de,Pe,Ke){return de.a.parent===Pe.parent?de.a:Ke}h.layout.cluster=function(){var de=h.layout.hierarchy().sort(null).value(null),Pe=qu,Ke=[1,1],vt=!1;function mt(Tt,qt){var Vt=de.call(this,Tt,qt),or=Vt[0],Ir,Lr=0;Lu(or,function(da){var La=da.children;La&&La.length?(da.x=Hc(La),da.y=Ru(La)):(da.x=Ir?Lr+=Pe(da,Ir):0,da.y=0,Ir=da)});var Zr=Jt(or),ia=yr(or),la=Zr.x-Pe(Zr,ia)/2,an=ia.x+Pe(ia,Zr)/2;return Lu(or,vt?function(da){da.x=(da.x-or.x)*Ke[0],da.y=(or.y-da.y)*Ke[1]}:function(da){da.x=(da.x-la)/(an-la)*Ke[0],da.y=(1-(or.y?da.y/or.y:1))*Ke[1]}),Vt}return mt.separation=function(Tt){return arguments.length?(Pe=Tt,mt):Pe},mt.size=function(Tt){return arguments.length?(vt=(Ke=Tt)==null,mt):vt?null:Ke},mt.nodeSize=function(Tt){return arguments.length?(vt=(Ke=Tt)!=null,mt):vt?Ke:null},Ys(mt,de)};function Ru(de){return 1+h.max(de,function(Pe){return Pe.y})}function Hc(de){return de.reduce(function(Pe,Ke){return Pe+Ke.x},0)/de.length}function Jt(de){var Pe=de.children;return Pe&&Pe.length?Jt(Pe[0]):de}function yr(de){var Pe=de.children,Ke;return Pe&&(Ke=Pe.length)?yr(Pe[Ke-1]):de}h.layout.treemap=function(){var de=h.layout.hierarchy(),Pe=Math.round,Ke=[1,1],vt=null,mt=Kr,Tt=!1,qt,Vt="squarify",or=.5*(1+Math.sqrt(5));function Ir(da,La){for(var Oa=-1,Qa=da.length,on,Fa;++Oa0;)Qa.push(Fa=on[ai-1]),Qa.area+=Fa.area,Vt!=="squarify"||(oi=ia(Qa,Kn))<=Ln?(on.pop(),Ln=oi):(Qa.area-=Qa.pop().area,la(Qa,Kn,Oa,!1),Kn=Math.min(Oa.dx,Oa.dy),Qa.length=Qa.area=0,Ln=1/0);Qa.length&&(la(Qa,Kn,Oa,!0),Qa.length=Qa.area=0),La.forEach(Lr)}}function Zr(da){var La=da.children;if(La&&La.length){var Oa=mt(da),Qa=La.slice(),on,Fa=[];for(Ir(Qa,Oa.dx*Oa.dy/da.value),Fa.area=0;on=Qa.pop();)Fa.push(on),Fa.area+=on.area,on.z!=null&&(la(Fa,on.z?Oa.dx:Oa.dy,Oa,!Qa.length),Fa.length=Fa.area=0);La.forEach(Zr)}}function ia(da,La){for(var Oa=da.area,Qa,on=0,Fa=1/0,Ln=-1,oi=da.length;++Lnon&&(on=Qa));return Oa*=Oa,La*=La,Oa?Math.max(La*on*or/Oa,Oa/(La*Fa*or)):1/0}function la(da,La,Oa,Qa){var on=-1,Fa=da.length,Ln=Oa.x,oi=Oa.y,Kn=La?Pe(da.area/La):0,ai;if(La==Oa.dx){for((Qa||Kn>Oa.dy)&&(Kn=Oa.dy);++onOa.dx)&&(Kn=Oa.dx);++on1);return de+Pe*vt*Math.sqrt(-2*Math.log(Tt)/Tt)}},logNormal:function(){var de=h.random.normal.apply(h,arguments);return function(){return Math.exp(de())}},bates:function(de){var Pe=h.random.irwinHall(de);return function(){return Pe()/de}},irwinHall:function(de){return function(){for(var Pe=0,Ke=0;Ke2?gn:Ya,Ir=vt?Zc:pf;return mt=or(de,Pe,Ir,Ke),Tt=or(Pe,de,Ir,No),Vt}function Vt(or){return mt(or)}return Vt.invert=function(or){return Tt(or)},Vt.domain=function(or){return arguments.length?(de=or.map(Number),qt()):de},Vt.range=function(or){return arguments.length?(Pe=or,qt()):Pe},Vt.rangeRound=function(or){return Vt.range(or).interpolate($u)},Vt.clamp=function(or){return arguments.length?(vt=or,qt()):vt},Vt.interpolate=function(or){return arguments.length?(Ke=or,qt()):Ke},Vt.ticks=function(or){return Ui(de,or)},Vt.tickFormat=function(or,Ir){return d3_scale_linearTickFormat(de,or,Ir)},Vt.nice=function(or){return vn(de,or),qt()},Vt.copy=function(){return qn(de,Pe,Ke,vt)},qt()}function Sn(de,Pe){return h.rebind(de,Pe,"range","rangeRound","interpolate","clamp")}function vn(de,Pe){return En(de,Rn(ii(de,Pe)[2])),En(de,Rn(ii(de,Pe)[2])),de}function ii(de,Pe){Pe==null&&(Pe=10);var Ke=pa(de),vt=Ke[1]-Ke[0],mt=Math.pow(10,Math.floor(Math.log(vt/Pe)/Math.LN10)),Tt=Pe/vt*mt;return Tt<=.15?mt*=10:Tt<=.35?mt*=5:Tt<=.75&&(mt*=2),Ke[0]=Math.ceil(Ke[0]/mt)*mt,Ke[1]=Math.floor(Ke[1]/mt)*mt+mt*.5,Ke[2]=mt,Ke}function Ui(de,Pe){return h.range.apply(h,ii(de,Pe))}h.scale.log=function(){return Di(h.scale.linear().domain([0,1]),10,!0,[1,10])};function Di(de,Pe,Ke,vt){function mt(Vt){return(Ke?Math.log(Vt<0?0:Vt):-Math.log(Vt>0?0:-Vt))/Math.log(Pe)}function Tt(Vt){return Ke?Math.pow(Pe,Vt):-Math.pow(Pe,-Vt)}function qt(Vt){return de(mt(Vt))}return qt.invert=function(Vt){return Tt(de.invert(Vt))},qt.domain=function(Vt){return arguments.length?(Ke=Vt[0]>=0,de.domain((vt=Vt.map(Number)).map(mt)),qt):vt},qt.base=function(Vt){return arguments.length?(Pe=+Vt,de.domain(vt.map(mt)),qt):Pe},qt.nice=function(){var Vt=En(vt.map(mt),Ke?Math:Hi);return de.domain(Vt),vt=Vt.map(Tt),qt},qt.ticks=function(){var Vt=pa(vt),or=[],Ir=Vt[0],Lr=Vt[1],Zr=Math.floor(mt(Ir)),ia=Math.ceil(mt(Lr)),la=Pe%1?2:Pe;if(isFinite(ia-Zr)){if(Ke){for(;Zr0;an--)or.push(Tt(Zr)*an);for(Zr=0;or[Zr]Lr;ia--);or=or.slice(Zr,ia)}return or},qt.copy=function(){return Di(de.copy(),Pe,Ke,vt)},Sn(qt,de)}var Hi={floor:function(de){return-Math.ceil(-de)},ceil:function(de){return-Math.floor(-de)}};h.scale.pow=function(){return Vi(h.scale.linear(),1,[0,1])};function Vi(de,Pe,Ke){var vt=si(Pe),mt=si(1/Pe);function Tt(qt){return de(vt(qt))}return Tt.invert=function(qt){return mt(de.invert(qt))},Tt.domain=function(qt){return arguments.length?(de.domain((Ke=qt.map(Number)).map(vt)),Tt):Ke},Tt.ticks=function(qt){return Ui(Ke,qt)},Tt.tickFormat=function(qt,Vt){return d3_scale_linearTickFormat(Ke,qt,Vt)},Tt.nice=function(qt){return Tt.domain(vn(Ke,qt))},Tt.exponent=function(qt){return arguments.length?(vt=si(Pe=qt),mt=si(1/Pe),de.domain(Ke.map(vt)),Tt):Pe},Tt.copy=function(){return Vi(de.copy(),Pe,Ke)},Sn(Tt,de)}function si(de){return function(Pe){return Pe<0?-Math.pow(-Pe,de):Math.pow(Pe,de)}}h.scale.sqrt=function(){return h.scale.pow().exponent(.5)},h.scale.ordinal=function(){return Zn([],{t:"range",a:[[]]})};function Zn(de,Pe){var Ke,vt,mt;function Tt(Vt){return vt[((Ke.get(Vt)||(Pe.t==="range"?Ke.set(Vt,de.push(Vt)):NaN))-1)%vt.length]}function qt(Vt,or){return h.range(de.length).map(function(Ir){return Vt+or*Ir})}return Tt.domain=function(Vt){if(!arguments.length)return de;de=[],Ke=new A;for(var or=-1,Ir=Vt.length,Lr;++or0?Ke[Tt-1]:de[0],Ttia?0:1;if(Lr=Te)return or(Lr,an)+(Ir?or(Ir,1-an):"")+"Z";var da,La,Oa,Qa,on=0,Fa=0,Ln,oi,Kn,ai,Ti,ki,Go,Pi,oo=[];if((Qa=(+qt.apply(this,arguments)||0)/2)&&(Oa=vt===Ps?Math.sqrt(Ir*Ir+Lr*Lr):+vt.apply(this,arguments),an||(Fa*=-1),Lr&&(Fa=Mt(Oa/Lr*Math.sin(Qa))),Ir&&(on=Mt(Oa/Ir*Math.sin(Qa)))),Lr){Ln=Lr*Math.cos(Zr+Fa),oi=Lr*Math.sin(Zr+Fa),Kn=Lr*Math.cos(ia-Fa),ai=Lr*Math.sin(ia-Fa);var $o=Math.abs(ia-Zr-2*Fa)<=ge?0:1;if(Fa&&ql(Ln,oi,Kn,ai)===an^$o){var hl=(Zr+ia)/2;Ln=Lr*Math.cos(hl),oi=Lr*Math.sin(hl),Kn=ai=null}}else Ln=oi=0;if(Ir){Ti=Ir*Math.cos(ia-on),ki=Ir*Math.sin(ia-on),Go=Ir*Math.cos(Zr+on),Pi=Ir*Math.sin(Zr+on);var js=Math.abs(Zr-ia+2*on)<=ge?0:1;if(on&&ql(Ti,ki,Go,Pi)===1-an^js){var pi=(Zr+ia)/2;Ti=Ir*Math.cos(pi),ki=Ir*Math.sin(pi),Go=Pi=null}}else Ti=ki=0;if(la>We&&(da=Math.min(Math.abs(Lr-Ir)/2,+Ke.apply(this,arguments)))>.001){La=Ir0?0:1}function Xl(de,Pe,Ke,vt,mt){var Tt=de[0]-Pe[0],qt=de[1]-Pe[1],Vt=(mt?vt:-vt)/Math.sqrt(Tt*Tt+qt*qt),or=Vt*qt,Ir=-Vt*Tt,Lr=de[0]+or,Zr=de[1]+Ir,ia=Pe[0]+or,la=Pe[1]+Ir,an=(Lr+ia)/2,da=(Zr+la)/2,La=ia-Lr,Oa=la-Zr,Qa=La*La+Oa*Oa,on=Ke-vt,Fa=Lr*la-ia*Zr,Ln=(Oa<0?-1:1)*Math.sqrt(Math.max(0,on*on*Qa-Fa*Fa)),oi=(Fa*Oa-La*Ln)/Qa,Kn=(-Fa*La-Oa*Ln)/Qa,ai=(Fa*Oa+La*Ln)/Qa,Ti=(-Fa*La+Oa*Ln)/Qa,ki=oi-an,Go=Kn-da,Pi=ai-an,oo=Ti-da;return ki*ki+Go*Go>Pi*Pi+oo*oo&&(oi=ai,Kn=Ti),[[oi-or,Kn-Ir],[oi*Ke/on,Kn*Ke/on]]}function oc(){return!0}function Gl(de){var Pe=vi,Ke=Ei,vt=oc,mt=ll,Tt=mt.key,qt=.7;function Vt(or){var Ir=[],Lr=[],Zr=-1,ia=or.length,la,an=pt(Pe),da=pt(Ke);function La(){Ir.push("M",mt(de(Lr),qt))}for(;++Zr1?de.join("L"):de+"Z"}function Hu(de){return de.join("L")+"Z"}function Wi(de){for(var Pe=0,Ke=de.length,vt=de[0],mt=[vt[0],",",vt[1]];++Pe1&&mt.push("H",vt[0]),mt.join("")}function no(de){for(var Pe=0,Ke=de.length,vt=de[0],mt=[vt[0],",",vt[1]];++Pe1){Vt=Pe[1],Tt=de[or],or++,vt+="C"+(mt[0]+qt[0])+","+(mt[1]+qt[1])+","+(Tt[0]-Vt[0])+","+(Tt[1]-Vt[1])+","+Tt[0]+","+Tt[1];for(var Ir=2;Ir9&&(Tt=Ke*3/Math.sqrt(Tt),qt[Vt]=Tt*vt,qt[Vt+1]=Tt*mt));for(Vt=-1;++Vt<=or;)Tt=(de[Math.min(or,Vt+1)][0]-de[Math.max(0,Vt-1)][0])/(6*(1+qt[Vt]*qt[Vt])),Pe.push([Tt||0,qt[Vt]*Tt||0]);return Pe}function Ye(de){return de.length<3?ll(de):de[0]+P(de,Ve(de))}h.svg.line.radial=function(){var de=Gl(it);return de.radius=de.x,delete de.x,de.angle=de.y,delete de.y,de};function it(de){for(var Pe,Ke=-1,vt=de.length,mt,Tt;++Kege)+",1 "+Zr}function Ir(Lr,Zr,ia,la){return"Q 0,0 "+la}return Tt.radius=function(Lr){return arguments.length?(Ke=pt(Lr),Tt):Ke},Tt.source=function(Lr){return arguments.length?(de=pt(Lr),Tt):de},Tt.target=function(Lr){return arguments.length?(Pe=pt(Lr),Tt):Pe},Tt.startAngle=function(Lr){return arguments.length?(vt=pt(Lr),Tt):vt},Tt.endAngle=function(Lr){return arguments.length?(mt=pt(Lr),Tt):mt},Tt};function Lt(de){return de.radius}h.svg.diagonal=function(){var de=St,Pe=yt,Ke=nr;function vt(mt,Tt){var qt=de.call(this,mt,Tt),Vt=Pe.call(this,mt,Tt),or=(qt.y+Vt.y)/2,Ir=[qt,{x:qt.x,y:or},{x:Vt.x,y:or},Vt];return Ir=Ir.map(Ke),"M"+Ir[0]+"C"+Ir[1]+" "+Ir[2]+" "+Ir[3]}return vt.source=function(mt){return arguments.length?(de=pt(mt),vt):de},vt.target=function(mt){return arguments.length?(Pe=pt(mt),vt):Pe},vt.projection=function(mt){return arguments.length?(Ke=mt,vt):Ke},vt};function nr(de){return[de.x,de.y]}h.svg.diagonal.radial=function(){var de=h.svg.diagonal(),Pe=nr,Ke=de.projection;return de.projection=function(vt){return arguments.length?Ke(cr(Pe=vt)):Pe},de};function cr(de){return function(){var Pe=de.apply(this,arguments),Ke=Pe[0],vt=Pe[1]-Ue;return[Ke*Math.cos(vt),Ke*Math.sin(vt)]}}h.svg.symbol=function(){var de=Pr,Pe=gr;function Ke(vt,mt){return(oa.get(de.call(this,vt,mt))||Vr)(Pe.call(this,vt,mt))}return Ke.type=function(vt){return arguments.length?(de=pt(vt),Ke):de},Ke.size=function(vt){return arguments.length?(Pe=pt(vt),Ke):Pe},Ke};function gr(){return 64}function Pr(){return"circle"}function Vr(de){var Pe=Math.sqrt(de/ge);return"M0,"+Pe+"A"+Pe+","+Pe+" 0 1,1 0,"+-Pe+"A"+Pe+","+Pe+" 0 1,1 0,"+Pe+"Z"}var oa=h.map({circle:Vr,cross:function(de){var Pe=Math.sqrt(de/5)/2;return"M"+-3*Pe+","+-Pe+"H"+-Pe+"V"+-3*Pe+"H"+Pe+"V"+-Pe+"H"+3*Pe+"V"+Pe+"H"+Pe+"V"+3*Pe+"H"+-Pe+"V"+Pe+"H"+-3*Pe+"Z"},diamond:function(de){var Pe=Math.sqrt(de/(2*Aa)),Ke=Pe*Aa;return"M0,"+-Pe+"L"+Ke+",0 0,"+Pe+" "+-Ke+",0Z"},square:function(de){var Pe=Math.sqrt(de)/2;return"M"+-Pe+","+-Pe+"L"+Pe+","+-Pe+" "+Pe+","+Pe+" "+-Pe+","+Pe+"Z"},"triangle-down":function(de){var Pe=Math.sqrt(de/ca),Ke=Pe*ca/2;return"M0,"+Ke+"L"+Pe+","+-Ke+" "+-Pe+","+-Ke+"Z"},"triangle-up":function(de){var Pe=Math.sqrt(de/ca),Ke=Pe*ca/2;return"M0,"+-Ke+"L"+Pe+","+Ke+" "+-Pe+","+Ke+"Z"}});h.svg.symbolTypes=oa.keys();var ca=Math.sqrt(3),Aa=Math.tan(30*Xe);Q.transition=function(de){for(var Pe=Si||++li,Ke=Wo(de),vt=[],mt,Tt,qt=yi||{time:Date.now(),ease:zi,delay:0,duration:250},Vt=-1,or=this.length;++Vt0;)Zr[--Qa].call(de,Oa);if(La>=1)return qt.event&&qt.event.end.call(de,de.__data__,Pe),--Tt.count?delete Tt[vt]:delete de[Ke],1}qt||(Vt=mt.time,or=en(ia,0,Vt),qt=Tt[vt]={tween:new A,time:Vt,timer:or,delay:mt.delay,duration:mt.duration,ease:mt.ease,index:Pe},mt=null,++Tt.count)}h.svg.axis=function(){var de=h.scale.linear(),Pe=Jo,Ke=6,vt=6,mt=3,Tt=[10],qt=null,Vt;function or(Ir){Ir.each(function(){var Lr=h.select(this),Zr=this.__chart__||de,ia=this.__chart__=de.copy(),la=qt??(ia.ticks?ia.ticks.apply(ia,Tt):ia.domain()),an=Vt??(ia.tickFormat?ia.tickFormat.apply(ia,Tt):F),da=Lr.selectAll(".tick").data(la,ia),La=da.enter().insert("g",".domain").attr("class","tick").style("opacity",We),Oa=h.transition(da.exit()).style("opacity",We).remove(),Qa=h.transition(da.order()).style("opacity",1),on=Math.max(Ke,0)+mt,Fa,Ln=Ja(ia),oi=Lr.selectAll(".domain").data([0]),Kn=(oi.enter().append("path").attr("class","domain"),h.transition(oi));La.append("line"),La.append("text");var ai=La.select("line"),Ti=Qa.select("line"),ki=da.select("text").text(an),Go=La.select("text"),Pi=Qa.select("text"),oo=Pe==="top"||Pe==="left"?-1:1,$o,hl,js,pi;if(Pe==="bottom"||Pe==="top"?(Fa=Gs,$o="x",js="y",hl="x2",pi="y2",ki.attr("dy",oo<0?"0em":".71em").style("text-anchor","middle"),Kn.attr("d","M"+Ln[0]+","+oo*vt+"V0H"+Ln[1]+"V"+oo*vt)):(Fa=Mo,$o="y",js="x",hl="y2",pi="x2",ki.attr("dy",".32em").style("text-anchor",oo<0?"end":"start"),Kn.attr("d","M"+oo*vt+","+Ln[0]+"H0V"+Ln[1]+"H"+oo*vt)),ai.attr(pi,oo*Ke),Go.attr(js,oo*on),Ti.attr(hl,0).attr(pi,oo*Ke),Pi.attr($o,0).attr(js,oo*on),ia.rangeBand){var ko=ia,Xo=ko.rangeBand()/2;Zr=ia=function(Os){return ko(Os)+Xo}}else Zr.rangeBand?Zr=ia:Oa.call(Fa,ia,Zr);La.call(Fa,Zr,ia),Qa.call(Fa,ia,ia)})}return or.scale=function(Ir){return arguments.length?(de=Ir,or):de},or.orient=function(Ir){return arguments.length?(Pe=Ir in Qs?Ir+"":Jo,or):Pe},or.ticks=function(){return arguments.length?(Tt=S(arguments),or):Tt},or.tickValues=function(Ir){return arguments.length?(qt=Ir,or):qt},or.tickFormat=function(Ir){return arguments.length?(Vt=Ir,or):Vt},or.tickSize=function(Ir){var Lr=arguments.length;return Lr?(Ke=+Ir,vt=+arguments[Lr-1],or):Ke},or.innerTickSize=function(Ir){return arguments.length?(Ke=+Ir,or):Ke},or.outerTickSize=function(Ir){return arguments.length?(vt=+Ir,or):vt},or.tickPadding=function(Ir){return arguments.length?(mt=+Ir,or):mt},or.tickSubdivide=function(){return arguments.length&&or},or};var Jo="bottom",Qs={top:1,right:1,bottom:1,left:1};function Gs(de,Pe,Ke){de.attr("transform",function(vt){var mt=Pe(vt);return"translate("+(isFinite(mt)?mt:Ke(vt))+",0)"})}function Mo(de,Pe,Ke){de.attr("transform",function(vt){var mt=Pe(vt);return"translate(0,"+(isFinite(mt)?mt:Ke(vt))+")"})}h.svg.brush=function(){var de=oe(Lr,"brushstart","brush","brushend"),Pe=null,Ke=null,vt=[0,0],mt=[0,0],Tt,qt,Vt=!0,or=!0,Ir=fl[0];function Lr(da){da.each(function(){var La=h.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",an).on("touchstart.brush",an),Oa=La.selectAll(".background").data([0]);Oa.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),La.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var Qa=La.selectAll(".resize").data(Ir,F);Qa.exit().remove(),Qa.enter().append("g").attr("class",function(oi){return"resize "+oi}).style("cursor",function(oi){return Eo[oi]}).append("rect").attr("x",function(oi){return/[ew]$/.test(oi)?-3:null}).attr("y",function(oi){return/^[ns]/.test(oi)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),Qa.style("display",Lr.empty()?"none":null);var on=h.transition(La),Fa=h.transition(Oa),Ln;Pe&&(Ln=Ja(Pe),Fa.attr("x",Ln[0]).attr("width",Ln[1]-Ln[0]),ia(on)),Ke&&(Ln=Ja(Ke),Fa.attr("y",Ln[0]).attr("height",Ln[1]-Ln[0]),la(on)),Zr(on)})}Lr.event=function(da){da.each(function(){var La=de.of(this,arguments),Oa={x:vt,y:mt,i:Tt,j:qt},Qa=this.__chart__||Oa;this.__chart__=Oa,Si?h.select(this).transition().each("start.brush",function(){Tt=Qa.i,qt=Qa.j,vt=Qa.x,mt=Qa.y,La({type:"brushstart"})}).tween("brush:brush",function(){var on=As(vt,Oa.x),Fa=As(mt,Oa.y);return Tt=qt=null,function(Ln){vt=Oa.x=on(Ln),mt=Oa.y=Fa(Ln),La({type:"brush",mode:"resize"})}}).each("end.brush",function(){Tt=Oa.i,qt=Oa.j,La({type:"brush",mode:"resize"}),La({type:"brushend"})}):(La({type:"brushstart"}),La({type:"brush",mode:"resize"}),La({type:"brushend"}))})};function Zr(da){da.selectAll(".resize").attr("transform",function(La){return"translate("+vt[+/e$/.test(La)]+","+mt[+/^s/.test(La)]+")"})}function ia(da){da.select(".extent").attr("x",vt[0]),da.selectAll(".extent,.n>rect,.s>rect").attr("width",vt[1]-vt[0])}function la(da){da.select(".extent").attr("y",mt[0]),da.selectAll(".extent,.e>rect,.w>rect").attr("height",mt[1]-mt[0])}function an(){var da=this,La=h.select(h.event.target),Oa=de.of(da,arguments),Qa=h.select(da),on=La.datum(),Fa=!/^(n|s)$/.test(on)&&Pe,Ln=!/^(e|w)$/.test(on)&&Ke,oi=La.classed("extent"),Kn=hr(da),ai,Ti=h.mouse(da),ki,Go=h.select(t(da)).on("keydown.brush",$o).on("keyup.brush",hl);if(h.event.changedTouches?Go.on("touchmove.brush",js).on("touchend.brush",ko):Go.on("mousemove.brush",js).on("mouseup.brush",ko),Qa.interrupt().selectAll("*").interrupt(),oi)Ti[0]=vt[0]-Ti[0],Ti[1]=mt[0]-Ti[1];else if(on){var Pi=+/w$/.test(on),oo=+/^n/.test(on);ki=[vt[1-Pi]-Ti[0],mt[1-oo]-Ti[1]],Ti[0]=vt[Pi],Ti[1]=mt[oo]}else h.event.altKey&&(ai=Ti.slice());Qa.style("pointer-events","none").selectAll(".resize").style("display",null),h.select("body").style("cursor",La.style("cursor")),Oa({type:"brushstart"}),js();function $o(){h.event.keyCode==32&&(oi||(ai=null,Ti[0]-=vt[1],Ti[1]-=mt[1],oi=2),ee())}function hl(){h.event.keyCode==32&&oi==2&&(Ti[0]+=vt[1],Ti[1]+=mt[1],oi=0,ee())}function js(){var Xo=h.mouse(da),Os=!1;ki&&(Xo[0]+=ki[0],Xo[1]+=ki[1]),oi||(h.event.altKey?(ai||(ai=[(vt[0]+vt[1])/2,(mt[0]+mt[1])/2]),Ti[0]=vt[+(Xo[0]0))return Wt;do Wt.push(dr=new Date(+Et)),De(Et,jt),he(Et);while(dr=Ct)for(;he(Ct),!Et(Ct);)Ct.setTime(Ct-1)},function(Ct,jt){if(Ct>=Ct)if(jt<0)for(;++jt<=0;)for(;De(Ct,-1),!Et(Ct););else for(;--jt>=0;)for(;De(Ct,1),!Et(Ct););})},tt&&($e.count=function(Et,Ct){return b.setTime(+Et),S.setTime(+Ct),he(b),he(S),Math.floor(tt(b,S))},$e.every=function(Et){return Et=Math.floor(Et),!isFinite(Et)||!(Et>0)?null:Et>1?$e.filter(nt?function(Ct){return nt(Ct)%Et===0}:function(Ct){return $e.count(0,Ct)%Et===0}):$e}),$e}var e=E(function(){},function(he,De){he.setTime(+he+De)},function(he,De){return De-he});e.every=function(he){return he=Math.floor(he),!isFinite(he)||!(he>0)?null:he>1?E(function(De){De.setTime(Math.floor(De/he)*he)},function(De,tt){De.setTime(+De+tt*he)},function(De,tt){return(tt-De)/he}):e};var t=e.range,r=1e3,o=6e4,a=36e5,i=864e5,n=6048e5,s=E(function(he){he.setTime(he-he.getMilliseconds())},function(he,De){he.setTime(+he+De*r)},function(he,De){return(De-he)/r},function(he){return he.getUTCSeconds()}),f=s.range,c=E(function(he){he.setTime(he-he.getMilliseconds()-he.getSeconds()*r)},function(he,De){he.setTime(+he+De*o)},function(he,De){return(De-he)/o},function(he){return he.getMinutes()}),p=c.range,d=E(function(he){he.setTime(he-he.getMilliseconds()-he.getSeconds()*r-he.getMinutes()*o)},function(he,De){he.setTime(+he+De*a)},function(he,De){return(De-he)/a},function(he){return he.getHours()}),T=d.range,l=E(function(he){he.setHours(0,0,0,0)},function(he,De){he.setDate(he.getDate()+De)},function(he,De){return(De-he-(De.getTimezoneOffset()-he.getTimezoneOffset())*o)/i},function(he){return he.getDate()-1}),g=l.range;function x(he){return E(function(De){De.setDate(De.getDate()-(De.getDay()+7-he)%7),De.setHours(0,0,0,0)},function(De,tt){De.setDate(De.getDate()+tt*7)},function(De,tt){return(tt-De-(tt.getTimezoneOffset()-De.getTimezoneOffset())*o)/n})}var A=x(0),M=x(1),_=x(2),w=x(3),m=x(4),u=x(5),v=x(6),y=A.range,R=M.range,L=_.range,z=w.range,F=m.range,B=u.range,O=v.range,I=E(function(he){he.setDate(1),he.setHours(0,0,0,0)},function(he,De){he.setMonth(he.getMonth()+De)},function(he,De){return De.getMonth()-he.getMonth()+(De.getFullYear()-he.getFullYear())*12},function(he){return he.getMonth()}),N=I.range,U=E(function(he){he.setMonth(0,1),he.setHours(0,0,0,0)},function(he,De){he.setFullYear(he.getFullYear()+De)},function(he,De){return De.getFullYear()-he.getFullYear()},function(he){return he.getFullYear()});U.every=function(he){return!isFinite(he=Math.floor(he))||!(he>0)?null:E(function(De){De.setFullYear(Math.floor(De.getFullYear()/he)*he),De.setMonth(0,1),De.setHours(0,0,0,0)},function(De,tt){De.setFullYear(De.getFullYear()+tt*he)})};var X=U.range,ee=E(function(he){he.setUTCSeconds(0,0)},function(he,De){he.setTime(+he+De*o)},function(he,De){return(De-he)/o},function(he){return he.getUTCMinutes()}),ue=ee.range,oe=E(function(he){he.setUTCMinutes(0,0,0)},function(he,De){he.setTime(+he+De*a)},function(he,De){return(De-he)/a},function(he){return he.getUTCHours()}),le=oe.range,V=E(function(he){he.setUTCHours(0,0,0,0)},function(he,De){he.setUTCDate(he.getUTCDate()+De)},function(he,De){return(De-he)/i},function(he){return he.getUTCDate()-1}),J=V.range;function te(he){return E(function(De){De.setUTCDate(De.getUTCDate()-(De.getUTCDay()+7-he)%7),De.setUTCHours(0,0,0,0)},function(De,tt){De.setUTCDate(De.getUTCDate()+tt*7)},function(De,tt){return(tt-De)/n})}var Z=te(0),se=te(1),Q=te(2),q=te(3),re=te(4),ae=te(5),fe=te(6),be=Z.range,Me=se.range,Ie=Q.range,Le=q.range,je=re.range,et=ae.range,rt=fe.range,Je=E(function(he){he.setUTCDate(1),he.setUTCHours(0,0,0,0)},function(he,De){he.setUTCMonth(he.getUTCMonth()+De)},function(he,De){return De.getUTCMonth()-he.getUTCMonth()+(De.getUTCFullYear()-he.getUTCFullYear())*12},function(he){return he.getUTCMonth()}),Ze=Je.range,Ee=E(function(he){he.setUTCMonth(0,1),he.setUTCHours(0,0,0,0)},function(he,De){he.setUTCFullYear(he.getUTCFullYear()+De)},function(he,De){return De.getUTCFullYear()-he.getUTCFullYear()},function(he){return he.getUTCFullYear()});Ee.every=function(he){return!isFinite(he=Math.floor(he))||!(he>0)?null:E(function(De){De.setUTCFullYear(Math.floor(De.getUTCFullYear()/he)*he),De.setUTCMonth(0,1),De.setUTCHours(0,0,0,0)},function(De,tt){De.setUTCFullYear(De.getUTCFullYear()+tt*he)})};var xe=Ee.range;h.timeDay=l,h.timeDays=g,h.timeFriday=u,h.timeFridays=B,h.timeHour=d,h.timeHours=T,h.timeInterval=E,h.timeMillisecond=e,h.timeMilliseconds=t,h.timeMinute=c,h.timeMinutes=p,h.timeMonday=M,h.timeMondays=R,h.timeMonth=I,h.timeMonths=N,h.timeSaturday=v,h.timeSaturdays=O,h.timeSecond=s,h.timeSeconds=f,h.timeSunday=A,h.timeSundays=y,h.timeThursday=m,h.timeThursdays=F,h.timeTuesday=_,h.timeTuesdays=L,h.timeWednesday=w,h.timeWednesdays=z,h.timeWeek=A,h.timeWeeks=y,h.timeYear=U,h.timeYears=X,h.utcDay=V,h.utcDays=J,h.utcFriday=ae,h.utcFridays=et,h.utcHour=oe,h.utcHours=le,h.utcMillisecond=e,h.utcMilliseconds=t,h.utcMinute=ee,h.utcMinutes=ue,h.utcMonday=se,h.utcMondays=Me,h.utcMonth=Je,h.utcMonths=Ze,h.utcSaturday=fe,h.utcSaturdays=rt,h.utcSecond=s,h.utcSeconds=f,h.utcSunday=Z,h.utcSundays=be,h.utcThursday=re,h.utcThursdays=je,h.utcTuesday=Q,h.utcTuesdays=Ie,h.utcWednesday=q,h.utcWednesdays=Le,h.utcWeek=Z,h.utcWeeks=be,h.utcYear=Ee,h.utcYears=xe,Object.defineProperty(h,"__esModule",{value:!0})})}}),bo=He({"node_modules/d3-time-format/dist/d3-time-format.js"(Y,G){(function(h,b){typeof Y=="object"&&typeof G<"u"?b(Y,nc()):(h=h||self,b(h.d3=h.d3||{},h.d3))})(Y,function(h,b){function S(Fe){if(0<=Fe.y&&Fe.y<100){var We=new Date(-1,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L);return We.setFullYear(Fe.y),We}return new Date(Fe.y,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L)}function E(Fe){if(0<=Fe.y&&Fe.y<100){var We=new Date(Date.UTC(-1,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L));return We.setUTCFullYear(Fe.y),We}return new Date(Date.UTC(Fe.y,Fe.m,Fe.d,Fe.H,Fe.M,Fe.S,Fe.L))}function e(Fe,We,Ae){return{y:Fe,m:We,d:Ae,H:0,M:0,S:0,L:0}}function t(Fe){var We=Fe.dateTime,Ae=Fe.date,ge=Fe.time,pe=Fe.periods,Te=Fe.days,Ue=Fe.shortDays,Xe=Fe.months,bt=Fe.shortMonths,xt=f(pe),Mt=c(pe),Nt=f(Te),sr=c(Te),ar=f(Ue),tr=c(Ue),Tr=f(Xe),sa=c(Xe),Ea=f(bt),ba=c(bt),Ia={a:Ha,A:Va,b:Za,B:rn,c:null,d:I,e:I,f:ue,H:N,I:U,j:X,L:ee,m:oe,M:le,p:wa,q:Bn,Q:Ct,s:jt,S:V,u:J,U:te,V:Z,w:se,W:Q,x:null,X:null,y:q,Y:re,Z:ae,"%":Et},Ra={a:Hn,A:At,b:ft,B:pr,c:null,d:fe,e:fe,f:je,H:be,I:Me,j:Ie,L:Le,m:et,M:rt,p:Sr,q:Er,Q:Ct,s:jt,S:Je,u:Ze,U:Ee,V:xe,w:he,W:De,x:null,X:null,y:tt,Y:nt,Z:$e,"%":Et},ya={a:Zt,A:$t,b:Cr,B:qr,c:Jr,d:m,e:m,f:z,H:v,I:v,j:u,L,m:w,M:y,p:It,q:_,Q:B,s:O,S:R,u:d,U:T,V:l,w:p,W:g,x:aa,X:Ca,y:A,Y:x,Z:M,"%":F};Ia.x=tn(Ae,Ia),Ia.X=tn(ge,Ia),Ia.c=tn(We,Ia),Ra.x=tn(Ae,Ra),Ra.X=tn(ge,Ra),Ra.c=tn(We,Ra);function tn(_r,Mr){return function(Gr){var Fr=[],pt=-1,Kt=0,xr=_r.length,Hr,fa,xa;for(Gr instanceof Date||(Gr=new Date(+Gr));++pt53)return null;"w"in Fr||(Fr.w=1),"Z"in Fr?(Kt=E(e(Fr.y,0,1)),xr=Kt.getUTCDay(),Kt=xr>4||xr===0?b.utcMonday.ceil(Kt):b.utcMonday(Kt),Kt=b.utcDay.offset(Kt,(Fr.V-1)*7),Fr.y=Kt.getUTCFullYear(),Fr.m=Kt.getUTCMonth(),Fr.d=Kt.getUTCDate()+(Fr.w+6)%7):(Kt=S(e(Fr.y,0,1)),xr=Kt.getDay(),Kt=xr>4||xr===0?b.timeMonday.ceil(Kt):b.timeMonday(Kt),Kt=b.timeDay.offset(Kt,(Fr.V-1)*7),Fr.y=Kt.getFullYear(),Fr.m=Kt.getMonth(),Fr.d=Kt.getDate()+(Fr.w+6)%7)}else("W"in Fr||"U"in Fr)&&("w"in Fr||(Fr.w="u"in Fr?Fr.u%7:"W"in Fr?1:0),xr="Z"in Fr?E(e(Fr.y,0,1)).getUTCDay():S(e(Fr.y,0,1)).getDay(),Fr.m=0,Fr.d="W"in Fr?(Fr.w+6)%7+Fr.W*7-(xr+5)%7:Fr.w+Fr.U*7-(xr+6)%7);return"Z"in Fr?(Fr.H+=Fr.Z/100|0,Fr.M+=Fr.Z%100,E(Fr)):S(Fr)}}function Yt(_r,Mr,Gr,Fr){for(var pt=0,Kt=Mr.length,xr=Gr.length,Hr,fa;pt=xr)return-1;if(Hr=Mr.charCodeAt(pt++),Hr===37){if(Hr=Mr.charAt(pt++),fa=ya[Hr in r?Mr.charAt(pt++):Hr],!fa||(Fr=fa(_r,Gr,Fr))<0)return-1}else if(Hr!=Gr.charCodeAt(Fr++))return-1}return Fr}function It(_r,Mr,Gr){var Fr=xt.exec(Mr.slice(Gr));return Fr?(_r.p=Mt[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function Zt(_r,Mr,Gr){var Fr=ar.exec(Mr.slice(Gr));return Fr?(_r.w=tr[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function $t(_r,Mr,Gr){var Fr=Nt.exec(Mr.slice(Gr));return Fr?(_r.w=sr[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function Cr(_r,Mr,Gr){var Fr=Ea.exec(Mr.slice(Gr));return Fr?(_r.m=ba[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function qr(_r,Mr,Gr){var Fr=Tr.exec(Mr.slice(Gr));return Fr?(_r.m=sa[Fr[0].toLowerCase()],Gr+Fr[0].length):-1}function Jr(_r,Mr,Gr){return Yt(_r,We,Mr,Gr)}function aa(_r,Mr,Gr){return Yt(_r,Ae,Mr,Gr)}function Ca(_r,Mr,Gr){return Yt(_r,ge,Mr,Gr)}function Ha(_r){return Ue[_r.getDay()]}function Va(_r){return Te[_r.getDay()]}function Za(_r){return bt[_r.getMonth()]}function rn(_r){return Xe[_r.getMonth()]}function wa(_r){return pe[+(_r.getHours()>=12)]}function Bn(_r){return 1+~~(_r.getMonth()/3)}function Hn(_r){return Ue[_r.getUTCDay()]}function At(_r){return Te[_r.getUTCDay()]}function ft(_r){return bt[_r.getUTCMonth()]}function pr(_r){return Xe[_r.getUTCMonth()]}function Sr(_r){return pe[+(_r.getUTCHours()>=12)]}function Er(_r){return 1+~~(_r.getUTCMonth()/3)}return{format:function(_r){var Mr=tn(_r+="",Ia);return Mr.toString=function(){return _r},Mr},parse:function(_r){var Mr=mn(_r+="",!1);return Mr.toString=function(){return _r},Mr},utcFormat:function(_r){var Mr=tn(_r+="",Ra);return Mr.toString=function(){return _r},Mr},utcParse:function(_r){var Mr=mn(_r+="",!0);return Mr.toString=function(){return _r},Mr}}}var r={"-":"",_:" ",0:"0"},o=/^\s*\d+/,a=/^%/,i=/[\\^$*+?|[\]().{}]/g;function n(Fe,We,Ae){var ge=Fe<0?"-":"",pe=(ge?-Fe:Fe)+"",Te=pe.length;return ge+(Te68?1900:2e3),Ae+ge[0].length):-1}function M(Fe,We,Ae){var ge=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(We.slice(Ae,Ae+6));return ge?(Fe.Z=ge[1]?0:-(ge[2]+(ge[3]||"00")),Ae+ge[0].length):-1}function _(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+1));return ge?(Fe.q=ge[0]*3-3,Ae+ge[0].length):-1}function w(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.m=ge[0]-1,Ae+ge[0].length):-1}function m(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.d=+ge[0],Ae+ge[0].length):-1}function u(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+3));return ge?(Fe.m=0,Fe.d=+ge[0],Ae+ge[0].length):-1}function v(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.H=+ge[0],Ae+ge[0].length):-1}function y(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.M=+ge[0],Ae+ge[0].length):-1}function R(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+2));return ge?(Fe.S=+ge[0],Ae+ge[0].length):-1}function L(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+3));return ge?(Fe.L=+ge[0],Ae+ge[0].length):-1}function z(Fe,We,Ae){var ge=o.exec(We.slice(Ae,Ae+6));return ge?(Fe.L=Math.floor(ge[0]/1e3),Ae+ge[0].length):-1}function F(Fe,We,Ae){var ge=a.exec(We.slice(Ae,Ae+1));return ge?Ae+ge[0].length:-1}function B(Fe,We,Ae){var ge=o.exec(We.slice(Ae));return ge?(Fe.Q=+ge[0],Ae+ge[0].length):-1}function O(Fe,We,Ae){var ge=o.exec(We.slice(Ae));return ge?(Fe.s=+ge[0],Ae+ge[0].length):-1}function I(Fe,We){return n(Fe.getDate(),We,2)}function N(Fe,We){return n(Fe.getHours(),We,2)}function U(Fe,We){return n(Fe.getHours()%12||12,We,2)}function X(Fe,We){return n(1+b.timeDay.count(b.timeYear(Fe),Fe),We,3)}function ee(Fe,We){return n(Fe.getMilliseconds(),We,3)}function ue(Fe,We){return ee(Fe,We)+"000"}function oe(Fe,We){return n(Fe.getMonth()+1,We,2)}function le(Fe,We){return n(Fe.getMinutes(),We,2)}function V(Fe,We){return n(Fe.getSeconds(),We,2)}function J(Fe){var We=Fe.getDay();return We===0?7:We}function te(Fe,We){return n(b.timeSunday.count(b.timeYear(Fe)-1,Fe),We,2)}function Z(Fe,We){var Ae=Fe.getDay();return Fe=Ae>=4||Ae===0?b.timeThursday(Fe):b.timeThursday.ceil(Fe),n(b.timeThursday.count(b.timeYear(Fe),Fe)+(b.timeYear(Fe).getDay()===4),We,2)}function se(Fe){return Fe.getDay()}function Q(Fe,We){return n(b.timeMonday.count(b.timeYear(Fe)-1,Fe),We,2)}function q(Fe,We){return n(Fe.getFullYear()%100,We,2)}function re(Fe,We){return n(Fe.getFullYear()%1e4,We,4)}function ae(Fe){var We=Fe.getTimezoneOffset();return(We>0?"-":(We*=-1,"+"))+n(We/60|0,"0",2)+n(We%60,"0",2)}function fe(Fe,We){return n(Fe.getUTCDate(),We,2)}function be(Fe,We){return n(Fe.getUTCHours(),We,2)}function Me(Fe,We){return n(Fe.getUTCHours()%12||12,We,2)}function Ie(Fe,We){return n(1+b.utcDay.count(b.utcYear(Fe),Fe),We,3)}function Le(Fe,We){return n(Fe.getUTCMilliseconds(),We,3)}function je(Fe,We){return Le(Fe,We)+"000"}function et(Fe,We){return n(Fe.getUTCMonth()+1,We,2)}function rt(Fe,We){return n(Fe.getUTCMinutes(),We,2)}function Je(Fe,We){return n(Fe.getUTCSeconds(),We,2)}function Ze(Fe){var We=Fe.getUTCDay();return We===0?7:We}function Ee(Fe,We){return n(b.utcSunday.count(b.utcYear(Fe)-1,Fe),We,2)}function xe(Fe,We){var Ae=Fe.getUTCDay();return Fe=Ae>=4||Ae===0?b.utcThursday(Fe):b.utcThursday.ceil(Fe),n(b.utcThursday.count(b.utcYear(Fe),Fe)+(b.utcYear(Fe).getUTCDay()===4),We,2)}function he(Fe){return Fe.getUTCDay()}function De(Fe,We){return n(b.utcMonday.count(b.utcYear(Fe)-1,Fe),We,2)}function tt(Fe,We){return n(Fe.getUTCFullYear()%100,We,2)}function nt(Fe,We){return n(Fe.getUTCFullYear()%1e4,We,4)}function $e(){return"+0000"}function Et(){return"%"}function Ct(Fe){return+Fe}function jt(Fe){return Math.floor(+Fe/1e3)}var Wt;dr({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function dr(Fe){return Wt=t(Fe),h.timeFormat=Wt.format,h.timeParse=Wt.parse,h.utcFormat=Wt.utcFormat,h.utcParse=Wt.utcParse,Wt}var vr="%Y-%m-%dT%H:%M:%S.%LZ";function Dr(Fe){return Fe.toISOString()}var hr=Date.prototype.toISOString?Dr:h.utcFormat(vr);function Ar(Fe){var We=new Date(Fe);return isNaN(We)?null:We}var gt=+new Date("2000-01-01T00:00:00.000Z")?Ar:h.utcParse(vr);h.isoFormat=hr,h.isoParse=gt,h.timeFormatDefaultLocale=dr,h.timeFormatLocale=t,Object.defineProperty(h,"__esModule",{value:!0})})}}),Fc=He({"node_modules/d3-format/dist/d3-format.js"(Y,G){(function(h,b){typeof Y=="object"&&typeof G<"u"?b(Y):(h=typeof globalThis<"u"?globalThis:h||self,b(h.d3=h.d3||{}))})(Y,function(h){function b(w){return Math.abs(w=Math.round(w))>=1e21?w.toLocaleString("en").replace(/,/g,""):w.toString(10)}function S(w,m){if((u=(w=m?w.toExponential(m-1):w.toExponential()).indexOf("e"))<0)return null;var u,v=w.slice(0,u);return[v.length>1?v[0]+v.slice(2):v,+w.slice(u+1)]}function E(w){return w=S(Math.abs(w)),w?w[1]:NaN}function e(w,m){return function(u,v){for(var y=u.length,R=[],L=0,z=w[0],F=0;y>0&&z>0&&(F+z+1>v&&(z=Math.max(1,v-F)),R.push(u.substring(y-=z,y+z)),!((F+=z+1)>v));)z=w[L=(L+1)%w.length];return R.reverse().join(m)}}function t(w){return function(m){return m.replace(/[0-9]/g,function(u){return w[+u]})}}var r=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function o(w){if(!(m=r.exec(w)))throw new Error("invalid format: "+w);var m;return new a({fill:m[1],align:m[2],sign:m[3],symbol:m[4],zero:m[5],width:m[6],comma:m[7],precision:m[8]&&m[8].slice(1),trim:m[9],type:m[10]})}o.prototype=a.prototype;function a(w){this.fill=w.fill===void 0?" ":w.fill+"",this.align=w.align===void 0?">":w.align+"",this.sign=w.sign===void 0?"-":w.sign+"",this.symbol=w.symbol===void 0?"":w.symbol+"",this.zero=!!w.zero,this.width=w.width===void 0?void 0:+w.width,this.comma=!!w.comma,this.precision=w.precision===void 0?void 0:+w.precision,this.trim=!!w.trim,this.type=w.type===void 0?"":w.type+""}a.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function i(w){e:for(var m=w.length,u=1,v=-1,y;u0&&(v=0);break}return v>0?w.slice(0,v)+w.slice(y+1):w}var n;function s(w,m){var u=S(w,m);if(!u)return w+"";var v=u[0],y=u[1],R=y-(n=Math.max(-8,Math.min(8,Math.floor(y/3)))*3)+1,L=v.length;return R===L?v:R>L?v+new Array(R-L+1).join("0"):R>0?v.slice(0,R)+"."+v.slice(R):"0."+new Array(1-R).join("0")+S(w,Math.max(0,m+R-1))[0]}function f(w,m){var u=S(w,m);if(!u)return w+"";var v=u[0],y=u[1];return y<0?"0."+new Array(-y).join("0")+v:v.length>y+1?v.slice(0,y+1)+"."+v.slice(y+1):v+new Array(y-v.length+2).join("0")}var c={"%":function(w,m){return(w*100).toFixed(m)},b:function(w){return Math.round(w).toString(2)},c:function(w){return w+""},d:b,e:function(w,m){return w.toExponential(m)},f:function(w,m){return w.toFixed(m)},g:function(w,m){return w.toPrecision(m)},o:function(w){return Math.round(w).toString(8)},p:function(w,m){return f(w*100,m)},r:f,s,X:function(w){return Math.round(w).toString(16).toUpperCase()},x:function(w){return Math.round(w).toString(16)}};function p(w){return w}var d=Array.prototype.map,T=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function l(w){var m=w.grouping===void 0||w.thousands===void 0?p:e(d.call(w.grouping,Number),w.thousands+""),u=w.currency===void 0?"":w.currency[0]+"",v=w.currency===void 0?"":w.currency[1]+"",y=w.decimal===void 0?".":w.decimal+"",R=w.numerals===void 0?p:t(d.call(w.numerals,String)),L=w.percent===void 0?"%":w.percent+"",z=w.minus===void 0?"-":w.minus+"",F=w.nan===void 0?"NaN":w.nan+"";function B(I){I=o(I);var N=I.fill,U=I.align,X=I.sign,ee=I.symbol,ue=I.zero,oe=I.width,le=I.comma,V=I.precision,J=I.trim,te=I.type;te==="n"?(le=!0,te="g"):c[te]||(V===void 0&&(V=12),J=!0,te="g"),(ue||N==="0"&&U==="=")&&(ue=!0,N="0",U="=");var Z=ee==="$"?u:ee==="#"&&/[boxX]/.test(te)?"0"+te.toLowerCase():"",se=ee==="$"?v:/[%p]/.test(te)?L:"",Q=c[te],q=/[defgprs%]/.test(te);V=V===void 0?6:/[gprs]/.test(te)?Math.max(1,Math.min(21,V)):Math.max(0,Math.min(20,V));function re(ae){var fe=Z,be=se,Me,Ie,Le;if(te==="c")be=Q(ae)+be,ae="";else{ae=+ae;var je=ae<0||1/ae<0;if(ae=isNaN(ae)?F:Q(Math.abs(ae),V),J&&(ae=i(ae)),je&&+ae==0&&X!=="+"&&(je=!1),fe=(je?X==="("?X:z:X==="-"||X==="("?"":X)+fe,be=(te==="s"?T[8+n/3]:"")+be+(je&&X==="("?")":""),q){for(Me=-1,Ie=ae.length;++MeLe||Le>57){be=(Le===46?y+ae.slice(Me+1):ae.slice(Me))+be,ae=ae.slice(0,Me);break}}}le&&!ue&&(ae=m(ae,1/0));var et=fe.length+ae.length+be.length,rt=et>1)+fe+ae+be+rt.slice(et);break;default:ae=rt+fe+ae+be;break}return R(ae)}return re.toString=function(){return I+""},re}function O(I,N){var U=B((I=o(I),I.type="f",I)),X=Math.max(-8,Math.min(8,Math.floor(E(N)/3)))*3,ee=Math.pow(10,-X),ue=T[8+X/3];return function(oe){return U(ee*oe)+ue}}return{format:B,formatPrefix:O}}var g;x({decimal:".",thousands:",",grouping:[3],currency:["$",""],minus:"-"});function x(w){return g=l(w),h.format=g.format,h.formatPrefix=g.formatPrefix,g}function A(w){return Math.max(0,-E(Math.abs(w)))}function M(w,m){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(E(m)/3)))*3-E(Math.abs(w)))}function _(w,m){return w=Math.abs(w),m=Math.abs(m)-w,Math.max(0,E(m)-E(w))+1}h.FormatSpecifier=a,h.formatDefaultLocale=x,h.formatLocale=l,h.formatSpecifier=o,h.precisionFixed=A,h.precisionPrefix=M,h.precisionRound=_,Object.defineProperty(h,"__esModule",{value:!0})})}}),Eh=He({"node_modules/is-string-blank/index.js"(Y,G){G.exports=function(h){for(var b=h.length,S,E=0;E13)&&S!==32&&S!==133&&S!==160&&S!==5760&&S!==6158&&(S<8192||S>8205)&&S!==8232&&S!==8233&&S!==8239&&S!==8287&&S!==8288&&S!==12288&&S!==65279)return!1;return!0}}}),Bi=He({"node_modules/fast-isnumeric/index.js"(Y,G){var h=Eh();G.exports=function(b){var S=typeof b;if(S==="string"){var E=b;if(b=+b,b===0&&h(E))return!1}else if(S!=="number")return!1;return b-b<1}}}),Yo=He({"src/constants/numerical.js"(Y,G){G.exports={BADNUM:void 0,FP_SAFE:Number.MAX_VALUE*1e-4,ONEMAXYEAR:316224e5,ONEAVGYEAR:315576e5,ONEMINYEAR:31536e6,ONEMAXQUARTER:79488e5,ONEAVGQUARTER:78894e5,ONEMINQUARTER:76896e5,ONEMAXMONTH:26784e5,ONEAVGMONTH:26298e5,ONEMINMONTH:24192e5,ONEWEEK:6048e5,ONEDAY:864e5,ONEHOUR:36e5,ONEMIN:6e4,ONESEC:1e3,ONEMILLI:1,ONEMICROSEC:.001,EPOCHJD:24405875e-1,ALMOST_EQUAL:1-1e-6,LOG_CLIP:10,MINUS_SIGN:"−"}}}),_p=He({"node_modules/base64-arraybuffer/dist/base64-arraybuffer.umd.js"(Y,G){(function(h,b){typeof Y=="object"&&typeof G<"u"?b(Y):(h=typeof globalThis<"u"?globalThis:h||self,b(h["base64-arraybuffer"]={}))})(Y,function(h){for(var b="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",S=typeof Uint8Array>"u"?[]:new Uint8Array(256),E=0;E>2],n+=b[(o[a]&3)<<4|o[a+1]>>4],n+=b[(o[a+1]&15)<<2|o[a+2]>>6],n+=b[o[a+2]&63];return i%3===2?n=n.substring(0,n.length-1)+"=":i%3===1&&(n=n.substring(0,n.length-2)+"=="),n},t=function(r){var o=r.length*.75,a=r.length,i,n=0,s,f,c,p;r[r.length-1]==="="&&(o--,r[r.length-2]==="="&&o--);var d=new ArrayBuffer(o),T=new Uint8Array(d);for(i=0;i>4,T[n++]=(f&15)<<4|c>>2,T[n++]=(c&3)<<6|p&63;return d};h.decode=t,h.encode=e,Object.defineProperty(h,"__esModule",{value:!0})})}}),Kv=He({"src/lib/is_plain_object.js"(Y,G){G.exports=function(b){return window&&window.process&&window.process.versions?Object.prototype.toString.call(b)==="[object Object]":Object.prototype.toString.call(b)==="[object Object]"&&Object.getPrototypeOf(b).hasOwnProperty("hasOwnProperty")}}}),lh=He({"src/lib/array.js"(Y){var G=_p().decode,h=Kv(),b=Array.isArray,S=ArrayBuffer,E=DataView;function e(s){return S.isView(s)&&!(s instanceof E)}Y.isTypedArray=e;function t(s){return b(s)||e(s)}Y.isArrayOrTypedArray=t;function r(s){return!t(s[0])}Y.isArray1D=r,Y.ensureArray=function(s,f){return b(s)||(s=[]),s.length=f,s};var o={u1c:typeof Uint8ClampedArray>"u"?void 0:Uint8ClampedArray,i1:typeof Int8Array>"u"?void 0:Int8Array,u1:typeof Uint8Array>"u"?void 0:Uint8Array,i2:typeof Int16Array>"u"?void 0:Int16Array,u2:typeof Uint16Array>"u"?void 0:Uint16Array,i4:typeof Int32Array>"u"?void 0:Int32Array,u4:typeof Uint32Array>"u"?void 0:Uint32Array,f4:typeof Float32Array>"u"?void 0:Float32Array,f8:typeof Float64Array>"u"?void 0:Float64Array};o.uint8c=o.u1c,o.uint8=o.u1,o.int8=o.i1,o.uint16=o.u2,o.int16=o.i2,o.uint32=o.u4,o.int32=o.i4,o.float32=o.f4,o.float64=o.f8;function a(s){return s.constructor===ArrayBuffer}Y.isArrayBuffer=a,Y.decodeTypedArraySpec=function(s){var f=[],c=i(s),p=c.dtype,d=o[p];if(!d)throw new Error('Error in dtype: "'+p+'"');var T=d.BYTES_PER_ELEMENT,l=c.bdata;a(l)||(l=G(l));var g=c.shape===void 0?[l.byteLength/T]:(""+c.shape).split(",");g.reverse();var x=g.length,A,M,_=+g[0],w=T*_,m=0;if(x===1)f=new d(l);else if(x===2)for(A=+g[1],M=0;M2)return d[A]=d[A]|e,g.set(x,null);if(l){for(f=A;f0)return Math.log(S)/Math.LN10;var e=Math.log(Math.min(E[0],E[1]))/Math.LN10;return h(e)||(e=Math.log(Math.max(E[0],E[1]))/Math.LN10-6),e}}}),X5=He({"src/lib/relink_private.js"(Y,G){var h=lh().isArrayOrTypedArray,b=Kv();G.exports=function S(E,e){for(var t in e){var r=e[t],o=E[t];if(o!==r)if(t.charAt(0)==="_"||typeof r=="function"){if(t in E)continue;E[t]=r}else if(h(r)&&h(o)&&b(r[0])){if(t==="customdata"||t==="ids")continue;for(var a=Math.min(r.length,o.length),i=0;iE/2?S-Math.round(S/E)*E:S}G.exports={mod:h,modHalf:b}}}),If=He({"node_modules/tinycolor2/tinycolor.js"(Y,G){(function(h){var b=/^\s+/,S=/\s+$/,E=0,e=h.round,t=h.min,r=h.max,o=h.random;function a(q,re){if(q=q||"",re=re||{},q instanceof a)return q;if(!(this instanceof a))return new a(q,re);var ae=i(q);this._originalInput=q,this._r=ae.r,this._g=ae.g,this._b=ae.b,this._a=ae.a,this._roundA=e(100*this._a)/100,this._format=re.format||ae.format,this._gradientType=re.gradientType,this._r<1&&(this._r=e(this._r)),this._g<1&&(this._g=e(this._g)),this._b<1&&(this._b=e(this._b)),this._ok=ae.ok,this._tc_id=E++}a.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var q=this.toRgb();return(q.r*299+q.g*587+q.b*114)/1e3},getLuminance:function(){var q=this.toRgb(),re,ae,fe,be,Me,Ie;return re=q.r/255,ae=q.g/255,fe=q.b/255,re<=.03928?be=re/12.92:be=h.pow((re+.055)/1.055,2.4),ae<=.03928?Me=ae/12.92:Me=h.pow((ae+.055)/1.055,2.4),fe<=.03928?Ie=fe/12.92:Ie=h.pow((fe+.055)/1.055,2.4),.2126*be+.7152*Me+.0722*Ie},setAlpha:function(q){return this._a=I(q),this._roundA=e(100*this._a)/100,this},toHsv:function(){var q=c(this._r,this._g,this._b);return{h:q.h*360,s:q.s,v:q.v,a:this._a}},toHsvString:function(){var q=c(this._r,this._g,this._b),re=e(q.h*360),ae=e(q.s*100),fe=e(q.v*100);return this._a==1?"hsv("+re+", "+ae+"%, "+fe+"%)":"hsva("+re+", "+ae+"%, "+fe+"%, "+this._roundA+")"},toHsl:function(){var q=s(this._r,this._g,this._b);return{h:q.h*360,s:q.s,l:q.l,a:this._a}},toHslString:function(){var q=s(this._r,this._g,this._b),re=e(q.h*360),ae=e(q.s*100),fe=e(q.l*100);return this._a==1?"hsl("+re+", "+ae+"%, "+fe+"%)":"hsla("+re+", "+ae+"%, "+fe+"%, "+this._roundA+")"},toHex:function(q){return d(this._r,this._g,this._b,q)},toHexString:function(q){return"#"+this.toHex(q)},toHex8:function(q){return T(this._r,this._g,this._b,this._a,q)},toHex8String:function(q){return"#"+this.toHex8(q)},toRgb:function(){return{r:e(this._r),g:e(this._g),b:e(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+e(this._r)+", "+e(this._g)+", "+e(this._b)+")":"rgba("+e(this._r)+", "+e(this._g)+", "+e(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:e(N(this._r,255)*100)+"%",g:e(N(this._g,255)*100)+"%",b:e(N(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+e(N(this._r,255)*100)+"%, "+e(N(this._g,255)*100)+"%, "+e(N(this._b,255)*100)+"%)":"rgba("+e(N(this._r,255)*100)+"%, "+e(N(this._g,255)*100)+"%, "+e(N(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:B[d(this._r,this._g,this._b,!0)]||!1},toFilter:function(q){var re="#"+l(this._r,this._g,this._b,this._a),ae=re,fe=this._gradientType?"GradientType = 1, ":"";if(q){var be=a(q);ae="#"+l(be._r,be._g,be._b,be._a)}return"progid:DXImageTransform.Microsoft.gradient("+fe+"startColorstr="+re+",endColorstr="+ae+")"},toString:function(q){var re=!!q;q=q||this._format;var ae=!1,fe=this._a<1&&this._a>=0,be=!re&&fe&&(q==="hex"||q==="hex6"||q==="hex3"||q==="hex4"||q==="hex8"||q==="name");return be?q==="name"&&this._a===0?this.toName():this.toRgbString():(q==="rgb"&&(ae=this.toRgbString()),q==="prgb"&&(ae=this.toPercentageRgbString()),(q==="hex"||q==="hex6")&&(ae=this.toHexString()),q==="hex3"&&(ae=this.toHexString(!0)),q==="hex4"&&(ae=this.toHex8String(!0)),q==="hex8"&&(ae=this.toHex8String()),q==="name"&&(ae=this.toName()),q==="hsl"&&(ae=this.toHslString()),q==="hsv"&&(ae=this.toHsvString()),ae||this.toHexString())},clone:function(){return a(this.toString())},_applyModification:function(q,re){var ae=q.apply(null,[this].concat([].slice.call(re)));return this._r=ae._r,this._g=ae._g,this._b=ae._b,this.setAlpha(ae._a),this},lighten:function(){return this._applyModification(M,arguments)},brighten:function(){return this._applyModification(_,arguments)},darken:function(){return this._applyModification(w,arguments)},desaturate:function(){return this._applyModification(g,arguments)},saturate:function(){return this._applyModification(x,arguments)},greyscale:function(){return this._applyModification(A,arguments)},spin:function(){return this._applyModification(m,arguments)},_applyCombination:function(q,re){return q.apply(null,[this].concat([].slice.call(re)))},analogous:function(){return this._applyCombination(L,arguments)},complement:function(){return this._applyCombination(u,arguments)},monochromatic:function(){return this._applyCombination(z,arguments)},splitcomplement:function(){return this._applyCombination(R,arguments)},triad:function(){return this._applyCombination(v,arguments)},tetrad:function(){return this._applyCombination(y,arguments)}},a.fromRatio=function(q,re){if(typeof q=="object"){var ae={};for(var fe in q)q.hasOwnProperty(fe)&&(fe==="a"?ae[fe]=q[fe]:ae[fe]=le(q[fe]));q=ae}return a(q,re)};function i(q){var re={r:0,g:0,b:0},ae=1,fe=null,be=null,Me=null,Ie=!1,Le=!1;return typeof q=="string"&&(q=se(q)),typeof q=="object"&&(Z(q.r)&&Z(q.g)&&Z(q.b)?(re=n(q.r,q.g,q.b),Ie=!0,Le=String(q.r).substr(-1)==="%"?"prgb":"rgb"):Z(q.h)&&Z(q.s)&&Z(q.v)?(fe=le(q.s),be=le(q.v),re=p(q.h,fe,be),Ie=!0,Le="hsv"):Z(q.h)&&Z(q.s)&&Z(q.l)&&(fe=le(q.s),Me=le(q.l),re=f(q.h,fe,Me),Ie=!0,Le="hsl"),q.hasOwnProperty("a")&&(ae=q.a)),ae=I(ae),{ok:Ie,format:q.format||Le,r:t(255,r(re.r,0)),g:t(255,r(re.g,0)),b:t(255,r(re.b,0)),a:ae}}function n(q,re,ae){return{r:N(q,255)*255,g:N(re,255)*255,b:N(ae,255)*255}}function s(q,re,ae){q=N(q,255),re=N(re,255),ae=N(ae,255);var fe=r(q,re,ae),be=t(q,re,ae),Me,Ie,Le=(fe+be)/2;if(fe==be)Me=Ie=0;else{var je=fe-be;switch(Ie=Le>.5?je/(2-fe-be):je/(fe+be),fe){case q:Me=(re-ae)/je+(re1&&(Je-=1),Je<1/6?et+(rt-et)*6*Je:Je<1/2?rt:Je<2/3?et+(rt-et)*(2/3-Je)*6:et}if(re===0)fe=be=Me=ae;else{var Le=ae<.5?ae*(1+re):ae+re-ae*re,je=2*ae-Le;fe=Ie(je,Le,q+1/3),be=Ie(je,Le,q),Me=Ie(je,Le,q-1/3)}return{r:fe*255,g:be*255,b:Me*255}}function c(q,re,ae){q=N(q,255),re=N(re,255),ae=N(ae,255);var fe=r(q,re,ae),be=t(q,re,ae),Me,Ie,Le=fe,je=fe-be;if(Ie=fe===0?0:je/fe,fe==be)Me=0;else{switch(fe){case q:Me=(re-ae)/je+(re>1)+720)%360;--re;)fe.h=(fe.h+be)%360,Me.push(a(fe));return Me}function z(q,re){re=re||6;for(var ae=a(q).toHsv(),fe=ae.h,be=ae.s,Me=ae.v,Ie=[],Le=1/re;re--;)Ie.push(a({h:fe,s:be,v:Me})),Me=(Me+Le)%1;return Ie}a.mix=function(q,re,ae){ae=ae===0?0:ae||50;var fe=a(q).toRgb(),be=a(re).toRgb(),Me=ae/100,Ie={r:(be.r-fe.r)*Me+fe.r,g:(be.g-fe.g)*Me+fe.g,b:(be.b-fe.b)*Me+fe.b,a:(be.a-fe.a)*Me+fe.a};return a(Ie)},a.readability=function(q,re){var ae=a(q),fe=a(re);return(h.max(ae.getLuminance(),fe.getLuminance())+.05)/(h.min(ae.getLuminance(),fe.getLuminance())+.05)},a.isReadable=function(q,re,ae){var fe=a.readability(q,re),be,Me;switch(Me=!1,be=Q(ae),be.level+be.size){case"AAsmall":case"AAAlarge":Me=fe>=4.5;break;case"AAlarge":Me=fe>=3;break;case"AAAsmall":Me=fe>=7;break}return Me},a.mostReadable=function(q,re,ae){var fe=null,be=0,Me,Ie,Le,je;ae=ae||{},Ie=ae.includeFallbackColors,Le=ae.level,je=ae.size;for(var et=0;etbe&&(be=Me,fe=a(re[et]));return a.isReadable(q,fe,{level:Le,size:je})||!Ie?fe:(ae.includeFallbackColors=!1,a.mostReadable(q,["#fff","#000"],ae))};var F=a.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},B=a.hexNames=O(F);function O(q){var re={};for(var ae in q)q.hasOwnProperty(ae)&&(re[q[ae]]=ae);return re}function I(q){return q=parseFloat(q),(isNaN(q)||q<0||q>1)&&(q=1),q}function N(q,re){ee(q)&&(q="100%");var ae=ue(q);return q=t(re,r(0,parseFloat(q))),ae&&(q=parseInt(q*re,10)/100),h.abs(q-re)<1e-6?1:q%re/parseFloat(re)}function U(q){return t(1,r(0,q))}function X(q){return parseInt(q,16)}function ee(q){return typeof q=="string"&&q.indexOf(".")!=-1&&parseFloat(q)===1}function ue(q){return typeof q=="string"&&q.indexOf("%")!=-1}function oe(q){return q.length==1?"0"+q:""+q}function le(q){return q<=1&&(q=q*100+"%"),q}function V(q){return h.round(parseFloat(q)*255).toString(16)}function J(q){return X(q)/255}var te=function(){var q="[-\\+]?\\d+%?",re="[-\\+]?\\d*\\.\\d+%?",ae="(?:"+re+")|(?:"+q+")",fe="[\\s|\\(]+("+ae+")[,|\\s]+("+ae+")[,|\\s]+("+ae+")\\s*\\)?",be="[\\s|\\(]+("+ae+")[,|\\s]+("+ae+")[,|\\s]+("+ae+")[,|\\s]+("+ae+")\\s*\\)?";return{CSS_UNIT:new RegExp(ae),rgb:new RegExp("rgb"+fe),rgba:new RegExp("rgba"+be),hsl:new RegExp("hsl"+fe),hsla:new RegExp("hsla"+be),hsv:new RegExp("hsv"+fe),hsva:new RegExp("hsva"+be),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function Z(q){return!!te.CSS_UNIT.exec(q)}function se(q){q=q.replace(b,"").replace(S,"").toLowerCase();var re=!1;if(F[q])q=F[q],re=!0;else if(q=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var ae;return(ae=te.rgb.exec(q))?{r:ae[1],g:ae[2],b:ae[3]}:(ae=te.rgba.exec(q))?{r:ae[1],g:ae[2],b:ae[3],a:ae[4]}:(ae=te.hsl.exec(q))?{h:ae[1],s:ae[2],l:ae[3]}:(ae=te.hsla.exec(q))?{h:ae[1],s:ae[2],l:ae[3],a:ae[4]}:(ae=te.hsv.exec(q))?{h:ae[1],s:ae[2],v:ae[3]}:(ae=te.hsva.exec(q))?{h:ae[1],s:ae[2],v:ae[3],a:ae[4]}:(ae=te.hex8.exec(q))?{r:X(ae[1]),g:X(ae[2]),b:X(ae[3]),a:J(ae[4]),format:re?"name":"hex8"}:(ae=te.hex6.exec(q))?{r:X(ae[1]),g:X(ae[2]),b:X(ae[3]),format:re?"name":"hex"}:(ae=te.hex4.exec(q))?{r:X(ae[1]+""+ae[1]),g:X(ae[2]+""+ae[2]),b:X(ae[3]+""+ae[3]),a:J(ae[4]+""+ae[4]),format:re?"name":"hex8"}:(ae=te.hex3.exec(q))?{r:X(ae[1]+""+ae[1]),g:X(ae[2]+""+ae[2]),b:X(ae[3]+""+ae[3]),format:re?"name":"hex"}:!1}function Q(q){var re,ae;return q=q||{level:"AA",size:"small"},re=(q.level||"AA").toUpperCase(),ae=(q.size||"small").toLowerCase(),re!=="AA"&&re!=="AAA"&&(re="AA"),ae!=="small"&&ae!=="large"&&(ae="small"),{level:re,size:ae}}typeof G<"u"&&G.exports?G.exports=a:window.tinycolor=a})(Math)}}),Co=He({"src/lib/extend.js"(Y){var G=Kv(),h=Array.isArray;function b(E,e){var t,r;for(t=0;t=0)))return a;if(c===3)s[c]>1&&(s[c]=1);else if(s[c]>=1)return a}var p=Math.round(s[0]*255)+", "+Math.round(s[1]*255)+", "+Math.round(s[2]*255);return f?"rgba("+p+", "+s[3]+")":"rgb("+p+")"}}}),Id=He({"src/constants/interactions.js"(Y,G){G.exports={SHOW_PLACEHOLDER:100,HIDE_PLACEHOLDER:1e3,DESELECTDIM:.2}}}),C0=He({"src/lib/regex.js"(Y){Y.counter=function(G,h,b,S){var E=(h||"")+(b?"":"$"),e=S===!1?"":"^";return G==="xy"?new RegExp(e+"x([2-9]|[1-9][0-9]+)?y([2-9]|[1-9][0-9]+)?"+E):new RegExp(e+G+"([2-9]|[1-9][0-9]+)?"+E)}}}),Z5=He({"src/lib/coerce.js"(Y){var G=Bi(),h=If(),b=Co().extendFlat,S=Pl(),E=xp(),e=Ri(),t=Id().DESELECTDIM,r=Gm(),o=C0().counter,a=E0().modHalf,i=lh().isArrayOrTypedArray,n=lh().isTypedArraySpec,s=lh().decodeTypedArraySpec;Y.valObjectMeta={data_array:{coerceFunction:function(c,p,d){p.set(i(c)?c:n(c)?s(c):d)}},enumerated:{coerceFunction:function(c,p,d,T){T.coerceNumber&&(c=+c),T.values.indexOf(c)===-1?p.set(d):p.set(c)},validateFunction:function(c,p){p.coerceNumber&&(c=+c);for(var d=p.values,T=0;Tg===!0||g===!1;l(c)||T.arrayOk&&Array.isArray(c)&&c.length>0&&c.every(l)?p.set(c):p.set(d)}},number:{coerceFunction:function(c,p,d,T){n(c)&&(c=s(c)),!G(c)||T.min!==void 0&&cT.max?p.set(d):p.set(+c)}},integer:{coerceFunction:function(c,p,d,T){if((T.extras||[]).indexOf(c)!==-1){p.set(c);return}n(c)&&(c=s(c)),c%1||!G(c)||T.min!==void 0&&cT.max?p.set(d):p.set(+c)}},string:{coerceFunction:function(c,p,d,T){if(typeof c!="string"){var l=typeof c=="number";T.strict===!0||!l?p.set(d):p.set(String(c))}else T.noBlank&&!c?p.set(d):p.set(c)}},color:{coerceFunction:function(c,p,d){n(c)&&(c=s(c)),h(c).isValid()?p.set(c):p.set(d)}},colorlist:{coerceFunction:function(c,p,d){function T(l){return h(l).isValid()}!Array.isArray(c)||!c.length?p.set(d):c.every(T)?p.set(c):p.set(d)}},colorscale:{coerceFunction:function(c,p,d){p.set(E.get(c,d))}},angle:{coerceFunction:function(c,p,d){n(c)&&(c=s(c)),c==="auto"?p.set("auto"):G(c)?p.set(a(+c,360)):p.set(d)}},subplotid:{coerceFunction:function(c,p,d,T){var l=T.regex||o(d);const g=x=>typeof x=="string"&&l.test(x);g(c)||T.arrayOk&&i(c)&&c.length>0&&c.every(g)?p.set(c):p.set(d)},validateFunction:function(c,p){var d=p.dflt;return c===d?!0:typeof c!="string"?!1:!!o(d).test(c)}},flaglist:{coerceFunction:function(c,p,d,T){if((T.extras||[]).indexOf(c)!==-1){p.set(c);return}if(typeof c!="string"){p.set(d);return}for(var l=c.split("+"),g=0;g/g),c=0;c1){var e=["LOG:"];for(E=0;E1){var t=[];for(E=0;E"),"long")}},S.warn=function(){var E;if(h.logging>0){var e=["WARN:"];for(E=0;E0){var t=[];for(E=0;E"),"stick")}},S.error=function(){var E;if(h.logging>0){var e=["ERROR:"];for(E=0;E0){var t=[];for(E=0;E"),"stick")}}}}),Xy=He({"src/lib/noop.js"(Y,G){G.exports=function(){}}}),nb=He({"src/lib/push_unique.js"(Y,G){G.exports=function(b,S){if(S instanceof RegExp){for(var E=S.toString(),e=0;esh({valType:"string",dflt:"",editType:E},e!==!1?{arrayOk:!0}:{}),Y.texttemplateAttrs=({editType:E="calc",arrayOk:e}={},t={})=>sh({valType:"string",dflt:"",editType:E},e!==!1?{arrayOk:!0}:{}),Y.shapeTexttemplateAttrs=({editType:E="arraydraw",newshape:e}={},t={})=>({valType:"string",dflt:"",editType:E}),Y.templatefallbackAttrs=({editType:E="none"}={})=>({valType:"any",dflt:"-",editType:E})}}),Yy=He({"src/components/shapes/label_texttemplate.js"(Y,G){function h(g,x){return x?x.d2l(g):g}function b(g,x){return x?x.l2d(g):g}function S(g){return g.x0}function E(g){return g.x1}function e(g){return g.y0}function t(g){return g.y1}function r(g){return g.x0shift||0}function o(g){return g.x1shift||0}function a(g){return g.y0shift||0}function i(g){return g.y1shift||0}function n(g,x){return h(g.x1,x)+o(g)-h(g.x0,x)-r(g)}function s(g,x,A){return h(g.y1,A)+i(g)-h(g.y0,A)-a(g)}function f(g,x){return Math.abs(n(g,x))}function c(g,x,A){return Math.abs(s(g,x,A))}function p(g,x,A){return g.type!=="line"?void 0:Math.sqrt(Math.pow(n(g,x),2)+Math.pow(s(g,x,A),2))}function d(g,x){return b((h(g.x1,x)+o(g)+h(g.x0,x)+r(g))/2,x)}function T(g,x,A){return b((h(g.y1,A)+i(g)+h(g.y0,A)+a(g))/2,A)}function l(g,x,A){return g.type!=="line"?void 0:s(g,x,A)/n(g,x)}G.exports={x0:S,x1:E,y0:e,y1:t,slope:l,dx:n,dy:s,width:f,height:c,length:p,xcenter:d,ycenter:T}}}),TA=He({"src/components/shapes/draw_newshape/attributes.js"(Y,G){var h=Nu().overrideAll,b=Pl(),S=Su(),E=jf().dash,e=Co().extendFlat,{shapeTexttemplateAttrs:t,templatefallbackAttrs:r}=bl(),o=Yy();G.exports=h({newshape:{visible:e({},b.visible,{}),showlegend:{valType:"boolean",dflt:!1},legend:e({},b.legend,{}),legendgroup:e({},b.legendgroup,{}),legendgrouptitle:{text:e({},b.legendgrouptitle.text,{}),font:S({})},legendrank:e({},b.legendrank,{}),legendwidth:e({},b.legendwidth,{}),line:{color:{valType:"color"},width:{valType:"number",min:0,dflt:4},dash:e({},E,{dflt:"solid"})},fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)"},fillrule:{valType:"enumerated",values:["evenodd","nonzero"],dflt:"evenodd"},opacity:{valType:"number",min:0,max:1,dflt:1},layer:{valType:"enumerated",values:["below","above","between"],dflt:"above"},drawdirection:{valType:"enumerated",values:["ortho","horizontal","vertical","diagonal"],dflt:"diagonal"},name:e({},b.name,{}),label:{text:{valType:"string",dflt:""},texttemplate:t({newshape:!0},{keys:Object.keys(o)}),texttemplatefallback:r({editType:"arraydraw"}),font:S({}),textposition:{valType:"enumerated",values:["top left","top center","top right","middle left","middle center","middle right","bottom left","bottom center","bottom right","start","middle","end"]},textangle:{valType:"angle",dflt:"auto"},xanchor:{valType:"enumerated",values:["auto","left","center","right"],dflt:"auto"},yanchor:{valType:"enumerated",values:["top","middle","bottom"]},padding:{valType:"number",dflt:3,min:0}}},activeshape:{fillcolor:{valType:"color",dflt:"rgb(255,0,255)",description:"Sets the color filling the active shape' interior."},opacity:{valType:"number",min:0,max:1,dflt:.5}}},"none","from-root")}}),AA=He({"src/components/selections/draw_newselection/attributes.js"(Y,G){var h=jf().dash,b=Co().extendFlat;G.exports={newselection:{mode:{valType:"enumerated",values:["immediate","gradual"],dflt:"immediate",editType:"none"},line:{color:{valType:"color",editType:"none"},width:{valType:"number",min:1,dflt:1,editType:"none"},dash:b({},h,{dflt:"dot",editType:"none"}),editType:"none"},editType:"none"},activeselection:{fillcolor:{valType:"color",dflt:"rgba(0,0,0,0)",editType:"none"},opacity:{valType:"number",min:0,max:1,dflt:.5,editType:"none"},editType:"none"}}}}),Ky=He({"src/plots/pad_attributes.js"(Y,G){G.exports=function(h){var b=h.editType;return{t:{valType:"number",dflt:0,editType:b},r:{valType:"number",dflt:0,editType:b},b:{valType:"number",dflt:0,editType:b},l:{valType:"number",dflt:0,editType:b},editType:b}}}}),L0=He({"src/plots/layout_attributes.js"(Y,G){var h=Su(),b=Xm(),S=hf(),E=TA(),e=AA(),t=Ky(),r=Co().extendFlat,o=h({editType:"calc"});o.family.dflt='"Open Sans", verdana, arial, sans-serif',o.size.dflt=12,o.color.dflt=S.defaultLine,G.exports={font:o,title:{text:{valType:"string",editType:"layoutstyle"},font:h({editType:"layoutstyle"}),subtitle:{text:{valType:"string",editType:"layoutstyle"},font:h({editType:"layoutstyle"}),editType:"layoutstyle"},xref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},yref:{valType:"enumerated",dflt:"container",values:["container","paper"],editType:"layoutstyle"},x:{valType:"number",min:0,max:1,dflt:.5,editType:"layoutstyle"},y:{valType:"number",min:0,max:1,dflt:"auto",editType:"layoutstyle"},xanchor:{valType:"enumerated",dflt:"auto",values:["auto","left","center","right"],editType:"layoutstyle"},yanchor:{valType:"enumerated",dflt:"auto",values:["auto","top","middle","bottom"],editType:"layoutstyle"},pad:r(t({editType:"layoutstyle"}),{}),automargin:{valType:"boolean",dflt:!1,editType:"plot"},editType:"layoutstyle"},uniformtext:{mode:{valType:"enumerated",values:[!1,"hide","show"],dflt:!1,editType:"plot"},minsize:{valType:"number",min:0,dflt:0,editType:"plot"},editType:"plot"},autosize:{valType:"boolean",dflt:!1,editType:"none"},width:{valType:"number",min:10,dflt:700,editType:"plot"},height:{valType:"number",min:10,dflt:450,editType:"plot"},minreducedwidth:{valType:"number",min:2,dflt:64,editType:"plot"},minreducedheight:{valType:"number",min:2,dflt:64,editType:"plot"},margin:{l:{valType:"number",min:0,dflt:80,editType:"plot"},r:{valType:"number",min:0,dflt:80,editType:"plot"},t:{valType:"number",min:0,dflt:100,editType:"plot"},b:{valType:"number",min:0,dflt:80,editType:"plot"},pad:{valType:"number",min:0,dflt:0,editType:"plot"},autoexpand:{valType:"boolean",dflt:!0,editType:"plot"},editType:"plot"},computed:{valType:"any",editType:"none"},paper_bgcolor:{valType:"color",dflt:S.background,editType:"plot"},plot_bgcolor:{valType:"color",dflt:S.background,editType:"layoutstyle"},autotypenumbers:{valType:"enumerated",values:["convert types","strict"],dflt:"convert types",editType:"calc"},separators:{valType:"string",editType:"plot"},hidesources:{valType:"boolean",dflt:!1,editType:"plot"},showlegend:{valType:"boolean",editType:"legend"},colorway:{valType:"colorlist",dflt:S.defaults,editType:"calc"},datarevision:{valType:"any",editType:"calc"},uirevision:{valType:"any",editType:"none"},editrevision:{valType:"any",editType:"none"},selectionrevision:{valType:"any",editType:"none"},template:{valType:"any",editType:"calc"},newshape:E.newshape,activeshape:E.activeshape,newselection:e.newselection,activeselection:e.activeselection,meta:{valType:"any",arrayOk:!0,editType:"plot"},transition:r({},b.transition,{editType:"none"})}}}),SA=He({"node_modules/maplibre-gl/dist/maplibre-gl.css"(){(function(){if(!document.getElementById("696e55e75aaafa12d45b3ff634eadc8348f9c3015fc94984dac1ff824773eb97")){var Y=document.createElement("style");Y.id="696e55e75aaafa12d45b3ff634eadc8348f9c3015fc94984dac1ff824773eb97",Y.textContent=`.maplibregl-map{font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative;-webkit-tap-highlight-color:rgb(0 0 0/0)}.maplibregl-canvas{left:0;position:absolute;top:0}.maplibregl-map:fullscreen{height:100%;width:100%}.maplibregl-ctrl-group button.maplibregl-ctrl-compass{touch-action:none}.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures,.maplibregl-canvas-container.maplibregl-touch-drag-pan.maplibregl-cooperative-gestures .maplibregl-canvas{touch-action:pan-x pan-y}.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.maplibregl-ctrl-top-left{left:0;top:0}.maplibregl-ctrl-top-right{right:0;top:0}.maplibregl-ctrl-bottom-left{bottom:0;left:0}.maplibregl-ctrl-bottom-right{bottom:0;right:0}.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.maplibregl-ctrl-group{background:#fff;border-radius:4px}.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (forced-colors:active){.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (forced-colors:active){.maplibregl-ctrl-icon{background-color:transparent}.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl button:disabled{cursor:not-allowed}.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8z'/%3E%3Cpath fill='%23ccc' d='m10.5 16 4 8 4-8z'/%3E%3C/svg%3E")}}.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%23333' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' fill='%2333b5e5' viewBox='0 0 22 22'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23333' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23aaa' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (forced-colors:active){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23fff' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23999' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e58978' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%2333b5e5' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23e54e33' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='29' height='29' fill='%23666' viewBox='0 0 20 20'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1m0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath fill='red' d='m14 5 1 1-9 9-1-1z'/%3E%3C/svg%3E")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (forced-colors:active){a.maplibregl-ctrl-logo{background-color:transparent;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}@media (forced-colors:active) and (prefers-color-scheme:light){a.maplibregl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath fill='%23000' fill-opacity='.4' fill-rule='evenodd' d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.25 1.25 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.25 1.25 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5 5 0 0 1 .314-.787l.009-.016a4.6 4.6 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.6 4.6 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4q.47.48.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.42 2.42 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.45 2.45 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675q.318.302.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.8 4.8 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.4 3.4 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.25 1.25 0 0 1 .689 1.004 4.7 4.7 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528q-.001.515-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.8 5.8 0 0 1-.548-2.512q0-.429.053-.843a1.3 1.3 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.8 4.8 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.5 4.5 0 0 1-1.935-.424 1.25 1.25 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.4 2.4 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.7 4.7 0 0 1-1.782 1.884 4.77 4.77 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.5 4.5 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a5 5 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.25 1.25 0 0 1-1.115.676h-.098a1.25 1.25 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15q.493-.356.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267q-.133-.329-.526-.658l-.032-.028a3.2 3.2 0 0 0-.668-.428l-.27-.12a3.3 3.3 0 0 0-1.235-.23q-1.136-.001-1.974.493a3.36 3.36 0 0 0-1.3 1.382q-.445.89-.444 2.074 0 1.2.51 2.107a3.8 3.8 0 0 0 1.382 1.381 3.9 3.9 0 0 0 1.893.477q.795 0 1.455-.33zm-2.789-5.38q-.576.675-.575 1.762 0 1.102.559 1.794.576.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.2 2.2 0 0 0 .468-.29l.178-.161a2.2 2.2 0 0 0 .397-.561q.244-.5.244-1.15v-.115q0-.708-.296-1.267l-.043-.077a2.2 2.2 0 0 0-.633-.709l-.13-.086-.047-.028a2.1 2.1 0 0 0-1.073-.285q-1.052 0-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.96.96 0 0 0-.353-.389.85.85 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.6 2.6 0 0 0 .331.423q.319.33.755.548l.173.074q.65.255 1.49.255 1.02 0 1.844-.493a3.45 3.45 0 0 0 1.316-1.4q.493-.904.493-2.089 0-1.909-.988-2.913-.988-1.02-2.584-1.02-.898 0-1.575.347a3 3 0 0 0-.415.262l-.199.166a3.4 3.4 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138q.206.29.48.5l.155.11.053.034q.51.296 1.119.297 1.07 0 1.645-.675.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.435 0-.835.16a2 2 0 0 0-.284.136 2 2 0 0 0-.363.254 2.2 2.2 0 0 0-.46.569l-.082.162a2.6 2.6 0 0 0-.213 1.072v.115q0 .707.296 1.267l.135.211zm.964-.818a1.1 1.1 0 0 0 .367.385.94.94 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a1 1 0 0 0-.503.135l-.012.007a.86.86 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.4 1.4 0 0 0 .14.66zm15.7-6.222q.347-.346.346-.856a1.05 1.05 0 0 0-.345-.79 1.18 1.18 0 0 0-.84-.329q-.51 0-.855.33a1.05 1.05 0 0 0-.346.79q0 .51.346.855.345.346.856.346.51 0 .839-.346zm4.337 9.314.033-1.332q.191.403.59.747l.098.081a4 4 0 0 0 .316.224l.223.122a3.2 3.2 0 0 0 1.44.322 3.8 3.8 0 0 0 1.875-.477 3.5 3.5 0 0 0 1.382-1.366q.527-.89.526-2.09 0-1.184-.444-2.073a3.24 3.24 0 0 0-1.283-1.399q-.823-.51-1.942-.51a3.5 3.5 0 0 0-1.527.344l-.086.043-.165.09a3 3 0 0 0-.33.214q-.432.315-.656.707a2 2 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.5 2.5 0 0 0 .566.7q.117.098.245.18l.144.08a2.1 2.1 0 0 0 .975.232q1.07 0 1.645-.675.576-.69.576-1.778 0-1.102-.576-1.777-.56-.691-1.645-.692a2.2 2.2 0 0 0-1.015.235q-.22.113-.415.282l-.15.142a2.1 2.1 0 0 0-.42.594q-.223.479-.223 1.1v.115q0 .705.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.87.87 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.1 1.1 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013q.345-.13.724-.14l.069-.002q.493 0 .642.099l.247-1.794q-.196-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2 2 0 0 0-.411.148 2.2 2.2 0 0 0-.4.249 2.5 2.5 0 0 0-.485.499 2.7 2.7 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884q0-.546.159-.943a1.5 1.5 0 0 1 .466-.636 2.5 2.5 0 0 1 .399-.253 2 2 0 0 1 .224-.099zm9.784 2.656.05-.922q0-1.743-.856-2.698-.838-.97-2.584-.97-1.119-.001-2.007.493a3.46 3.46 0 0 0-1.4 1.382q-.493.906-.493 2.106 0 1.07.428 1.975.428.89 1.332 1.432.906.526 2.255.526.973 0 1.668-.185l.044-.012.135-.04q.613-.184.984-.421l-.542-1.267q-.3.162-.642.274l-.297.087q-.51.131-1.3.131-.954 0-1.497-.444a1.6 1.6 0 0 1-.192-.193q-.366-.44-.512-1.234l-.004-.021zm-5.427-1.256-.003.022h3.752v-.138q-.011-.727-.288-1.118a1 1 0 0 0-.156-.176q-.46-.428-1.316-.428-.986 0-1.494.604-.379.45-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z'/%3E%3Cpath fill='%23fff' d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81q-1.02 0-1.893-.478a3.8 3.8 0 0 1-1.381-1.382q-.51-.906-.51-2.106 0-1.185.444-2.074a3.36 3.36 0 0 1 1.3-1.382q.839-.494 1.974-.494a3.3 3.3 0 0 1 1.234.231 3.3 3.3 0 0 1 .97.575q.396.33.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332q-.279.593-1.02 1.053a3.17 3.17 0 0 1-1.662.444zm.296-1.482q.938 0 1.58-.642.642-.66.642-1.711v-.115q0-.708-.296-1.267a2.2 2.2 0 0 0-.807-.872 2.1 2.1 0 0 0-1.119-.313q-1.053 0-1.629.692-.575.675-.575 1.76 0 1.103.559 1.795.577.675 1.645.675zm6.521-6.237h1.711v1.4q.906-1.597 2.83-1.597 1.596 0 2.584 1.02.988 1.005.988 2.914 0 1.185-.493 2.09a3.46 3.46 0 0 1-1.316 1.399 3.5 3.5 0 0 1-1.844.493q-.954 0-1.662-.329a2.67 2.67 0 0 1-1.086-.97l.017 5.134h-1.728zm4.048 6.22q1.07 0 1.645-.674.577-.69.576-1.762 0-1.119-.576-1.777-.558-.675-1.645-.675-.592 0-1.12.296-.51.28-.822.823-.296.527-.296 1.234v.115q0 .708.296 1.267.313.543.823.855.51.296 1.119.297z'/%3E%3Cpath fill='%23e1e3e9' d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.16 1.16 0 0 1-.856-.346 1.17 1.17 0 0 1-.346-.856 1.05 1.05 0 0 1 .346-.79q.346-.329.856-.329.494 0 .839.33a1.05 1.05 0 0 1 .345.79 1.16 1.16 0 0 1-.345.855q-.33.346-.84.346zm7.875 9.133a3.17 3.17 0 0 1-1.662-.444q-.723-.46-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283q.279-.658 1.086-1.119a3.5 3.5 0 0 1 1.778-.477q1.119 0 1.942.51a3.24 3.24 0 0 1 1.283 1.4q.445.888.444 2.072 0 1.201-.526 2.09a3.5 3.5 0 0 1-1.382 1.366 3.8 3.8 0 0 1-1.876.477zm-.296-1.481q1.069 0 1.645-.675.577-.69.577-1.778 0-1.102-.577-1.776-.56-.691-1.645-.692a2.12 2.12 0 0 0-1.58.659q-.642.641-.642 1.694v.115q0 .71.296 1.267a2.4 2.4 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481q.263-.757.856-1.217a2.14 2.14 0 0 1 1.349-.46q.527 0 .724.098l-.247 1.794q-.149-.099-.642-.099-.774 0-1.416.494-.626.493-.626 1.58v3.883h-1.777V9.242zm9.534 7.718q-1.35 0-2.255-.526-.904-.543-1.332-1.432a4.6 4.6 0 0 1-.428-1.975q0-1.2.493-2.106a3.46 3.46 0 0 1 1.4-1.382q.889-.495 2.007-.494 1.744 0 2.584.97.855.956.856 2.7 0 .444-.05.92h-5.43q.18 1.005.708 1.45.542.443 1.497.443.79 0 1.3-.131a4 4 0 0 0 .938-.362l.542 1.267q-.411.263-1.119.46-.708.198-1.711.197zm1.596-4.558q.016-1.02-.444-1.432-.46-.428-1.316-.428-1.728 0-1.991 1.86z'/%3E%3Cpath d='M5.074 15.948a.484.657 0 0 0-.486.659v1.84a.484.657 0 0 0 .486.659h4.101a.484.657 0 0 0 .486-.659v-1.84a.484.657 0 0 0-.486-.659zm3.56 1.16H5.617v.838h3.017z' style='fill:%23fff;fill-rule:evenodd;stroke-width:1.03600001'/%3E%3Cg style='stroke-width:1.12603545'%3E%3Cpath d='M-9.408-1.416c-3.833-.025-7.056 2.912-7.08 6.615-.02 3.08 1.653 4.832 3.107 6.268.903.892 1.721 1.74 2.32 2.902l-.525-.004c-.543-.003-.992.304-1.24.639a1.87 1.87 0 0 0-.362 1.121l-.011 1.877c-.003.402.104.787.347 1.125.244.338.688.653 1.23.656l4.142.028c.542.003.99-.306 1.238-.641a1.87 1.87 0 0 0 .363-1.121l.012-1.875a1.87 1.87 0 0 0-.348-1.127c-.243-.338-.688-.653-1.23-.656l-.518-.004c.597-1.145 1.425-1.983 2.348-2.87 1.473-1.414 3.18-3.149 3.2-6.226-.016-3.59-2.923-6.684-6.993-6.707m-.006 1.1v.002c3.274.02 5.92 2.532 5.9 5.6-.017 2.706-1.39 4.026-2.863 5.44-1.034.994-2.118 2.033-2.814 3.633-.018.041-.052.055-.075.065q-.013.004-.02.01a.34.34 0 0 1-.226.084.34.34 0 0 1-.224-.086l-.092-.077c-.699-1.615-1.768-2.669-2.781-3.67-1.454-1.435-2.797-2.762-2.78-5.478.02-3.067 2.7-5.545 5.975-5.523m-.02 2.826c-1.62-.01-2.944 1.315-2.955 2.96-.01 1.646 1.295 2.988 2.916 2.999h.002c1.621.01 2.943-1.316 2.953-2.961.011-1.646-1.294-2.988-2.916-2.998m-.005 1.1c1.017.006 1.829.83 1.822 1.89s-.83 1.874-1.848 1.867c-1.018-.006-1.829-.83-1.822-1.89s.83-1.874 1.848-1.868m-2.155 11.857 4.14.025c.271.002.49.305.487.676l-.013 1.875c-.003.37-.224.67-.495.668l-4.14-.025c-.27-.002-.487-.306-.485-.676l.012-1.875c.003-.37.224-.67.494-.668' style='color:%23000;font-style:normal;font-variant:normal;font-weight:400;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:%23000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:evenodd;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:%23000;solid-opacity:1;vector-effect:none;fill:%23000;fill-opacity:.4;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-9.415-.316C-12.69-.338-15.37 2.14-15.39 5.207c-.017 2.716 1.326 4.041 2.78 5.477 1.013 1 2.081 2.055 2.78 3.67l.092.076a.34.34 0 0 0 .225.086.34.34 0 0 0 .227-.083l.019-.01c.022-.009.057-.024.074-.064.697-1.6 1.78-2.64 2.814-3.634 1.473-1.414 2.847-2.733 2.864-5.44.02-3.067-2.627-5.58-5.901-5.601m-.057 8.784c1.621.011 2.944-1.315 2.955-2.96.01-1.646-1.295-2.988-2.916-2.999-1.622-.01-2.945 1.315-2.955 2.96s1.295 2.989 2.916 3' style='clip-rule:evenodd;fill:%23e1e3e9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3Cpath d='M-11.594 15.465c-.27-.002-.492.297-.494.668l-.012 1.876c-.003.371.214.673.485.675l4.14.027c.271.002.492-.298.495-.668l.012-1.877c.003-.37-.215-.672-.485-.674z' style='clip-rule:evenodd;fill:%23fff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.47727823;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:.4' transform='translate(15.553 2.85)scale(.88807)'/%3E%3C/g%3E%3C/svg%3E")}}.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;color:#000;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (forced-colors:active){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='%23fff' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (forced-colors:active) and (prefers-color-scheme:light){.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill-rule='evenodd' viewBox='0 0 20 20'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.maplibregl-attrib-empty{display:none}.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.maplibregl-popup-anchor-left{flex-direction:row}.maplibregl-popup-anchor-right{flex-direction:row-reverse}.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.maplibregl-popup-track-pointer{display:none}.maplibregl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.maplibregl-marker{left:0;position:absolute;top:0;transition:opacity .2s;will-change:transform}.maplibregl-user-location-dot,.maplibregl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.maplibregl-user-location-dot-stale{background-color:#aaa}.maplibregl-user-location-dot-stale:after{display:none}.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);color:#fff;display:flex;font-size:1.4em;inset:0;justify-content:center;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;transition:opacity 1s ease 1s;z-index:99999}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(width <= 480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}.maplibregl-pseudo-fullscreen{height:100%!important;left:0!important;position:fixed!important;top:0!important;width:100%!important;z-index:99999}`,document.head.appendChild(Y)}})()}}),Ni=He({"src/registry.js"(Y){var G=Rd(),h=Xy(),b=nb(),S=Kv(),E=Wm().addStyleRule,e=Co(),t=Pl(),r=L0(),o=e.extendFlat,a=e.extendDeepAll;Y.modules={},Y.allCategories={},Y.allTypes=[],Y.subplotsRegistry={},Y.componentsRegistry={},Y.layoutArrayContainers=[],Y.layoutArrayRegexes=[],Y.traceLayoutAttributes={},Y.localeRegistry={},Y.apiMethodRegistry={},Y.collectableSubplotTypes=null,Y.register=function(x){if(Y.collectableSubplotTypes=null,x)x&&!Array.isArray(x)&&(x=[x]);else throw new Error("No argument passed to Plotly.register.");for(var A=0;A=l&&F<=g?F:e}if(typeof F!="string"&&typeof F!="number")return e;F=String(F);var U=d(B),X=F.charAt(0);U&&(X==="G"||X==="g")&&(F=F.slice(1),B="");var ee=U&&B.slice(0,7)==="chinese",ue=F.match(ee?c:f);if(!ue)return e;var oe=ue[1],le=ue[3]||"1",V=Number(ue[5]||1),J=Number(ue[7]||0),te=Number(ue[9]||0),Z=Number(ue[11]||0);if(U){if(oe.length===2)return e;oe=Number(oe);var se;try{var Q=n.getComponentMethod("calendars","getCal")(B);if(ee){var q=le.charAt(le.length-1)==="i";le=parseInt(le,10),se=Q.newDate(oe,Q.toMonthIndex(oe,le,q),V)}else se=Q.newDate(oe,Number(le),V)}catch{return e}return se?(se.toJD()-i)*t+J*r+te*o+Z*a:e}oe.length===2?oe=(Number(oe)+2e3-p)%100+p:oe=Number(oe),le-=1;var re=new Date(Date.UTC(2e3,le,V,J,te));return re.setUTCFullYear(oe),re.getUTCMonth()!==le||re.getUTCDate()!==V?e:re.getTime()+Z*a},l=Y.MIN_MS=Y.dateTime2ms("-9999"),g=Y.MAX_MS=Y.dateTime2ms("9999-12-31 23:59:59.9999"),Y.isDateTime=function(F,B){return Y.dateTime2ms(F,B)!==e};function x(F,B){return String(F+Math.pow(10,B)).slice(1)}var A=90*t,M=3*r,_=5*o;Y.ms2DateTime=function(F,B,O){if(typeof F!="number"||!(F>=l&&F<=g))return e;B||(B=0);var I=Math.floor(S(F+.05,1)*10),N=Math.round(F-I/10),U,X,ee,ue,oe,le;if(d(O)){var V=Math.floor(N/t)+i,J=Math.floor(S(F,t));try{U=n.getComponentMethod("calendars","getCal")(O).fromJD(V).formatDate("yyyy-mm-dd")}catch{U=s("G%Y-%m-%d")(new Date(N))}if(U.charAt(0)==="-")for(;U.length<11;)U="-0"+U.slice(1);else for(;U.length<10;)U="0"+U;X=B=l+t&&F<=g-t))return e;var B=Math.floor(S(F+.05,1)*10),O=new Date(Math.round(F-B/10)),I=G("%Y-%m-%d")(O),N=O.getHours(),U=O.getMinutes(),X=O.getSeconds(),ee=O.getUTCMilliseconds()*10+B;return w(I,N,U,X,ee)};function w(F,B,O,I,N){if((B||O||I||N)&&(F+=" "+x(B,2)+":"+x(O,2),(I||N)&&(F+=":"+x(I,2),N))){for(var U=4;N%10===0;)U-=1,N/=10;F+="."+x(N,U)}return F}Y.cleanDate=function(F,B,O){if(F===e)return B;if(Y.isJSDate(F)||typeof F=="number"&&isFinite(F)){if(d(O))return b.error("JS Dates and milliseconds are incompatible with world calendars",F),B;if(F=Y.ms2DateTimeLocal(+F),!F&&B!==void 0)return B}else if(!Y.isDateTime(F,O))return b.error("unrecognized date",F),B;return F};var m=/%\d?f/g,u=/%h/g,v={1:"1",2:"1",3:"2",4:"2"};function y(F,B,O,I){F=F.replace(m,function(U){var X=Math.min(+U.charAt(1)||6,6),ee=(B/1e3%1+2).toFixed(X).slice(2).replace(/0+$/,"")||"0";return ee});var N=new Date(Math.floor(B+.05));if(F=F.replace(u,function(){return v[O("%q")(N)]}),d(I))try{F=n.getComponentMethod("calendars","worldCalFmt")(F,B,I)}catch{return"Invalid"}return O(F)(N)}var R=[59,59.9,59.99,59.999,59.9999];function L(F,B){var O=S(F+.05,t),I=x(Math.floor(O/r),2)+":"+x(S(Math.floor(O/o),60),2);if(B!=="M"){h(B)||(B=0);var N=Math.min(S(F/a,60),R[B]),U=(100+N).toFixed(B).slice(1);B>0&&(U=U.replace(/0+$/,"").replace(/[\.]$/,"")),I+=":"+U}return I}Y.formatDate=function(F,B,O,I,N,U){if(N=d(N)&&N,!B)if(O==="y")B=U.year;else if(O==="m")B=U.month;else if(O==="d")B=U.dayMonth+` diff --git a/dashboard/static/index.html b/dashboard/static/index.html index d38aab67..b964eaac 100644 --- a/dashboard/static/index.html +++ b/dashboard/static/index.html @@ -6,7 +6,7 @@ AlphaTrion - +