semiotic 3.6.0 → 3.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +192 -228
- package/README.md +70 -17
- package/ai/cli.js +41 -0
- package/ai/componentMetadata.cjs +11 -2
- package/ai/dist/mcp-server.js +625 -10
- package/ai/examples.md +98 -0
- package/ai/schema.json +581 -1
- package/ai/system-prompt.md +7 -4
- package/dist/components/AccessibleNavTree.d.ts +26 -0
- package/dist/components/Annotation.d.ts +41 -15
- package/dist/components/CategoryColors.d.ts +1 -1
- package/dist/components/ChartContainer.d.ts +32 -2
- package/dist/components/ChartGrid.d.ts +1 -1
- package/dist/components/ContextLayout.d.ts +1 -1
- package/dist/components/DataSummaryContext.d.ts +1 -1
- package/dist/components/DetailsPanel.d.ts +1 -1
- package/dist/components/Legend.d.ts +3 -2
- package/dist/components/LinkedCharts.d.ts +1 -1
- package/dist/components/ThemeProvider.d.ts +1 -1
- package/dist/components/Tooltip/FlippingTooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts +2 -2
- package/dist/components/ai/annotationProvenance.d.ts +349 -0
- package/dist/components/ai/audienceProfile.d.ts +60 -3
- package/dist/components/ai/chartCapabilityTypes.d.ts +60 -2
- package/dist/components/ai/chartRoles.d.ts +27 -0
- package/dist/components/ai/conversationArc.d.ts +379 -0
- package/dist/components/ai/dataScaleProfile.d.ts +320 -0
- package/dist/components/ai/describeChart.d.ts +114 -0
- package/dist/components/ai/navigationTree.d.ts +45 -0
- package/dist/components/ai/qualityScorecard.d.ts +11 -0
- package/dist/components/ai/readerGrounding.d.ts +70 -0
- package/dist/components/ai/suggestCharts.d.ts +34 -1
- package/dist/components/ai/useConversationArc.d.ts +89 -0
- package/dist/components/ai/useNavigationSync.d.ts +61 -0
- package/dist/components/ai/variantDiscovery.d.ts +168 -0
- package/dist/components/charts/geo/ChoroplethMap.d.ts +2 -1
- package/dist/components/charts/network/CirclePack.d.ts +2 -1
- package/dist/components/charts/network/OrbitDiagram.d.ts +1 -1
- package/dist/components/charts/network/TreeDiagram.d.ts +2 -1
- package/dist/components/charts/network/Treemap.d.ts +2 -1
- package/dist/components/charts/realtime/RealtimeHeatmap.d.ts +3 -0
- package/dist/components/charts/realtime/RealtimeHistogram.d.ts +4 -1
- package/dist/components/charts/realtime/RealtimeLineChart.d.ts +3 -0
- package/dist/components/charts/realtime/RealtimeSwarmChart.d.ts +3 -0
- package/dist/components/charts/realtime/RealtimeWaterfallChart.d.ts +3 -0
- package/dist/components/charts/shared/ChartError.d.ts +2 -1
- package/dist/components/charts/shared/annotationHierarchy.d.ts +42 -0
- package/dist/components/charts/shared/annotationResolvers.d.ts +3 -2
- package/dist/components/charts/shared/annotationRules.d.ts +16 -0
- package/dist/components/charts/shared/annotationTypes.d.ts +14 -0
- package/dist/components/charts/shared/auditAccessibility.d.ts +90 -0
- package/dist/components/charts/shared/chartSpecs.d.ts +2 -3
- package/dist/components/charts/shared/diagnoseConfig.d.ts +4 -6
- package/dist/components/charts/shared/selectionUtils.d.ts +5 -2
- package/dist/components/charts/shared/streamPropsHelpers.d.ts +2 -0
- package/dist/components/charts/shared/types.d.ts +5 -1
- package/dist/components/charts/shared/withChartWrapper.d.ts +1 -1
- package/dist/components/charts/value/BigNumber.capability.d.ts +13 -0
- package/dist/components/charts/value/BigNumber.d.ts +14 -0
- package/dist/components/charts/value/formatting.d.ts +40 -0
- package/dist/components/charts/value/thresholdSparkline.d.ts +40 -0
- package/dist/components/charts/value/types.d.ts +292 -0
- package/dist/components/charts/xy/MinimapChart.d.ts +2 -1
- package/dist/components/charts/xy/ScatterplotMatrix.d.ts +2 -1
- package/dist/components/realtime/lifecycleBands.d.ts +44 -0
- package/dist/components/realtime/types.d.ts +23 -8
- package/dist/components/recipes/annotationDensity.d.ts +69 -0
- package/dist/components/recipes/annotationLayout.d.ts +93 -0
- package/dist/components/semiotic-ai.d.ts +38 -15
- package/dist/components/semiotic-realtime.d.ts +2 -0
- package/dist/components/semiotic-recipes.d.ts +4 -0
- package/dist/components/semiotic-server.d.ts +2 -1
- package/dist/components/semiotic-utils.d.ts +8 -0
- package/dist/components/semiotic-value.d.ts +55 -0
- package/dist/components/semiotic.d.ts +7 -0
- package/dist/components/server/renderEvidence.d.ts +92 -0
- package/dist/components/server/renderToStaticSVG.d.ts +14 -1
- package/dist/components/server/staticAnnotations.d.ts +2 -0
- package/dist/components/stream/AccessibleDataTable.d.ts +15 -6
- package/dist/components/stream/FocusRing.d.ts +2 -1
- package/dist/components/stream/MarginalGraphics.d.ts +2 -1
- package/dist/components/stream/NetworkSVGOverlay.d.ts +13 -6
- package/dist/components/stream/OrdinalBrushOverlay.d.ts +19 -1
- package/dist/components/stream/OrdinalSVGOverlay.d.ts +4 -2
- package/dist/components/stream/SVGOverlay.d.ts +5 -2
- package/dist/components/stream/XYBrushOverlay.d.ts +21 -1
- package/dist/components/stream/geoTypes.d.ts +3 -0
- package/dist/components/stream/networkTypes.d.ts +2 -0
- package/dist/components/stream/ordinalTypes.d.ts +2 -0
- package/dist/components/stream/types.d.ts +2 -0
- package/dist/geo.min.js +1 -1
- package/dist/geo.module.min.js +1 -1
- package/dist/network.min.js +1 -1
- package/dist/network.module.min.js +1 -1
- package/dist/ordinal.min.js +1 -1
- package/dist/ordinal.module.min.js +1 -1
- package/dist/realtime.min.js +1 -1
- package/dist/realtime.module.min.js +1 -1
- package/dist/semiotic-ai.d.ts +38 -15
- package/dist/semiotic-ai.min.js +1 -1
- package/dist/semiotic-ai.module.min.js +1 -1
- package/dist/semiotic-realtime.d.ts +2 -0
- package/dist/semiotic-recipes.d.ts +4 -0
- package/dist/semiotic-recipes.min.js +1 -1
- package/dist/semiotic-recipes.module.min.js +1 -1
- package/dist/semiotic-server.d.ts +2 -1
- package/dist/semiotic-themes.min.js +1 -1
- package/dist/semiotic-themes.module.min.js +1 -1
- package/dist/semiotic-utils.d.ts +8 -0
- package/dist/semiotic-utils.min.js +1 -1
- package/dist/semiotic-utils.module.min.js +1 -1
- package/dist/semiotic-value.d.ts +55 -0
- package/dist/semiotic-value.min.js +2 -0
- package/dist/semiotic-value.module.min.js +2 -0
- package/dist/semiotic.d.ts +7 -0
- package/dist/semiotic.min.js +1 -1
- package/dist/semiotic.module.min.js +1 -1
- package/dist/server.min.js +1 -1
- package/dist/server.module.min.js +1 -1
- package/dist/xy.min.js +1 -1
- package/dist/xy.module.min.js +1 -1
- package/package.json +19 -5
package/dist/realtime.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
"use strict";const t=require("react/jsx-runtime"),e=require("react"),n=require("d3-selection"),i=require("d3-brush"),o=require("d3-scale"),r=require("d3-quadtree"),s=require("d3-shape"),l=require("d3-array"),a=require("d3-hierarchy"),c=require("regression"),u=require("d3-interpolate"),d=require("d3-force"),h=require("d3-chord");function f(t){return t&&t.__esModule?t:{default:t}}function g(t){if(t&&t.__esModule)return t;const e=Object.create(null);if(t)for(const n in t)if("default"!==n){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}return e.default=t,Object.freeze(e)}const y=g(e),p=f(c);function v(t,e){let n=0,i=e.length-1;for(;i>n;){const o=n+i+1>>1;e[o]>t?i=o-1:n=o}return e[n]}function m(t,e){let n=0,i=e.length-1;for(;i>n;){const o=n+i>>1;t>e[o]?n=o+1:i=o}return e[n]}function x({width:o,height:r,totalWidth:s,totalHeight:l,margin:a,dimension:c,scales:u,onBrush:d,binSize:h,snap:f,binBoundaries:g,snapDuring:y,streaming:p}){const x=e.useRef(null),b=e.useRef(null),k=e.useRef(d);k.current=d;const w=e.useRef(u);w.current=u;const A=e.useMemo(()=>g?[...g].sort((t,e)=>t-e):void 0,[g]),S=e.useRef(A);S.current=A;const M=e.useRef(!1),j=e.useRef(null);return e.useEffect(()=>{if(!x.current)return;const t=n.select(x.current).select(".brush-g"),e="x"===c?i.brushX():"y"===c?i.brushY():i.brush();return e.extent([[0,0],[o,r]]),e.on("brush end",n=>{if(M.current)return;const i=w.current;if(!i)return;if(!n.selection)return j.current=null,void k.current(null);let s,l;if("x"===c){const[t,e]=n.selection;s=[i.x.invert(t),i.x.invert(e)],l=[i.y.invert(r),i.y.invert(0)]}else if("y"===c){const[t,e]=n.selection;s=[i.x.invert(0),i.x.invert(o)],l=[i.y.invert(e),i.y.invert(t)]}else{const[[t,e],[o,r]]=n.selection;s=[i.x.invert(t),i.x.invert(o)],l=[i.y.invert(r),i.y.invert(e)]}if("bin"===f&&"y"!==c&&("end"===n.type||"brush"===n.type&&y)){const o=S.current;o&&o.length>0?s=function(t,e){return 0===e.length?t:[v(t[0],e),m(t[1],e)]}(s,o):h&&h>0&&(s=[Math.floor(s[0]/h)*h,Math.ceil(s[1]/h)*h]);const r=i.x(s[0]),l=i.x(s[1]);if(M.current=!0,"x"===c)t.call(e.move,[r,l]);else if("xy"===c){const i=n.selection;t.call(e.move,[[r,i[0][1]],[l,i[1][1]]])}M.current=!1}const a={x:s,y:l};j.current=a,k.current(a)}),t.call(e),b.current=e,t.select(".selection").attr("fill","steelblue").attr("fill-opacity",.15).attr("stroke","steelblue").attr("stroke-width",1),()=>{e.on("brush end",null),b.current=null}},[o,r,c,f,h,y]),e.useEffect(()=>{if(!(p&&u&&b.current&&j.current))return;if(!x.current)return;if("y"===c)return;const t=j.current,e=u.x.domain()[0],i=n.select(x.current).select(".brush-g");if(e>=t.x[1])return M.current=!0,i.call(b.current.move,null),M.current=!1,j.current=null,void k.current(null);let o=t.x[0],r=!1;if(e>t.x[0]){if(o=e,"bin"===f){const t=S.current;t&&t.length>0?o=m(e,t):h&&h>0&&(o=Math.ceil(e/h)*h)}if(o>=t.x[1])return M.current=!0,i.call(b.current.move,null),M.current=!1,j.current=null,void k.current(null);r=!0}const s=u.x(o),l=u.x(t.x[1]);if(M.current=!0,"x"===c)i.call(b.current.move,[s,l]);else{const e=u.y(t.y[1]),n=u.y(t.y[0]);i.call(b.current.move,[[s,e],[l,n]])}if(M.current=!1,r){const e={x:[o,t.x[1]],y:t.y};j.current=e,k.current(e)}},[u,p,c,f,h]),t.jsx("svg",{ref:x,width:s,height:l,style:{position:"absolute",top:0,left:0,pointerEvents:"all"},children:t.jsx("g",{className:"brush-g",transform:`translate(${a.left},${a.top})`})})}const b=Object.freeze([]);function k(t){if(!t)return b;let e=!1;for(let n=0;t.length>n;n++){const i=t[n];if(null==i||"object"!=typeof i){e=!0;break}}if(!e)return t;const n=[];for(const e of t)null!=e&&"object"==typeof e&&n.push(e);return n}class w{constructor(t,e){var n,i;this.lastBoundedData=null,this.chunkTimer=0,this.pushBuffer=[],this.flushScheduled=!1,this.callback=t,this.chunkThreshold=null!==(n=null==e?void 0:e.chunkThreshold)&&void 0!==n?n:5e3,this.chunkSize=null!==(i=null==e?void 0:e.chunkSize)&&void 0!==i?i:5e3}updateChunkOptions(t){null!=t.chunkThreshold&&(this.chunkThreshold=t.chunkThreshold),null!=t.chunkSize&&(this.chunkSize=t.chunkSize)}clearLastData(){this.lastBoundedData=null,this.pushBuffer=[],this.flushScheduled=!1,this.chunkTimer&&(cancelAnimationFrame(this.chunkTimer),this.chunkTimer=0)}setBoundedData(t){if(t=k(t),this.lastBoundedData===t)return;if(this.lastBoundedData=t,this.chunkTimer&&(cancelAnimationFrame(this.chunkTimer),this.chunkTimer=0),this.chunkThreshold>=t.length)return void this.callback({inserts:t,bounded:!0});this.callback({inserts:t.slice(0,this.chunkSize),bounded:!0,totalSize:t.length});let e=this.chunkSize;const n=()=>{if(e>=t.length)return void(this.chunkTimer=0);if(t!==this.lastBoundedData)return void(this.chunkTimer=0);const i=Math.min(e+this.chunkSize,t.length);this.callback({inserts:t.slice(e,i),bounded:!1}),e=i,this.chunkTimer=t.length>e?requestAnimationFrame(n):0};this.chunkTimer=requestAnimationFrame(n)}setReplacementData(t){if(t=k(t),this.lastBoundedData=t,this.chunkTimer&&(cancelAnimationFrame(this.chunkTimer),this.chunkTimer=0),this.pushBuffer=[],this.flushScheduled=!1,this.chunkThreshold>=t.length)return void this.callback({inserts:t,bounded:!0,preserveCategoryOrder:!0});this.callback({inserts:t.slice(0,this.chunkSize),bounded:!0,preserveCategoryOrder:!0,totalSize:t.length});let e=this.chunkSize;const n=()=>{if(e>=t.length)return void(this.chunkTimer=0);if(t!==this.lastBoundedData)return void(this.chunkTimer=0);const i=Math.min(e+this.chunkSize,t.length);this.callback({inserts:t.slice(e,i),bounded:!1}),e=i,this.chunkTimer=t.length>e?requestAnimationFrame(n):0};this.chunkTimer=requestAnimationFrame(n)}flushPushBuffer(){if(this.flushScheduled=!1,0===this.pushBuffer.length)return;const t=this.pushBuffer;this.pushBuffer=[],this.callback({inserts:t,bounded:!1})}scheduleFlush(){this.flushScheduled||(this.flushScheduled=!0,queueMicrotask(()=>this.flushPushBuffer()))}push(t){null!=t&&"object"==typeof t&&(this.pushBuffer.push(t),this.scheduleFlush())}pushMany(t){if(0===t.length)return;let e=0;for(let n=0;t.length>n;n++){const i=t[n];null!=i&&"object"==typeof i&&(this.pushBuffer.push(i),e++)}0!==e&&this.scheduleFlush()}flush(){this.flushPushBuffer()}clear(){this.chunkTimer&&(cancelAnimationFrame(this.chunkTimer),this.chunkTimer=0),this.lastBoundedData=null,this.pushBuffer=[],this.flushScheduled=!1}}function A(n){let i=null;const o=()=>(i||(i=e.createContext(null)),i),r=S(n);return[function({children:i,initialState:r}){const s=e.useRef(r),l=e.useMemo(()=>S(n,s.current),[]),a=o();return t.jsx(a.Provider,{value:l,children:i})},t=>{var n;const i=o(),s=null!==(n=e.useContext(i))&&void 0!==n?n:r,l=e.useRef(t);l.current=t;const a=e.useCallback(()=>l.current(s.getState()),[s]),c=e.useCallback(()=>l.current(s.getState()),[s]);return e.useSyncExternalStore(s.subscribe,a,c)}]}function S(t,e){const n=new EventTarget;let i=Object.assign(Object.assign({},t(function(t){i=Object.assign(Object.assign({},i),t(i)),n.dispatchEvent(new Event("update"))})),null!=e?e:{});return{getState:()=>i,subscribe:function(t){return n.addEventListener("update",t),()=>n.removeEventListener("update",t)}}}function M(t){if(!(null==t?void 0:t.colors))return;const e=t.colors;return{primary:e.primary,secondary:e.secondary||e.primary,surface:e.surface||e.background,success:e.success,danger:e.danger,warning:e.warning,error:e.error,info:e.info,text:e.text,textSecondary:e.textSecondary,border:e.border,grid:e.grid}}function j(t){if(!t.accessibility)return t;let e=t;if(t.accessibility.colorBlindSafe&&(e=Object.assign(Object.assign({},e),{colors:Object.assign(Object.assign({},e.colors),{categorical:_})})),t.accessibility.highContrast){const t="dark"===e.mode;e=Object.assign(Object.assign({},e),{colors:Object.assign(Object.assign({},e.colors),{text:t?"#ffffff":"#000000",textSecondary:t?"#cccccc":"#333333",grid:t?"#666666":"#999999",border:t?"#888888":"#000000"})})}return e}const _=["#0072B2","#E69F00","#009E73","#CC79A7","#56B4E9","#D55E00","#F0E442","#000000"],P={mode:"light",colors:{primary:"#00a2ce",secondary:"#6c757d",categorical:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],sequential:"blues",diverging:"RdBu",background:"transparent",surface:"#ffffff",text:"#333",textSecondary:"#666",grid:"#e0e0e0",border:"#ccc",selection:"#00a2ce",selectionOpacity:.15,success:"#2ca02c",danger:"#d62728",warning:"#f0ad4e",error:"#b4181b",info:"#00a2ce"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},C={mode:"dark",colors:{primary:"#4fc3f7",secondary:"#90a4ae",categorical:["#4fc3f7","#ffb74d","#81c784","#ef5350","#ba68c8","#a1887f","#f06292","#90a4ae","#dce775","#4dd0e1"],sequential:"blues",diverging:"RdBu",background:"#1a1a2e",surface:"#252540",text:"#e0e0e0",textSecondary:"#aaa",grid:"#333",border:"#555",selection:"#4fc3f7",selectionOpacity:.15,success:"#81c784",danger:"#ef5350",warning:"#ffb74d",error:"#d84848",info:"#4fc3f7"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:10}},E={mode:"light",colors:{primary:"#0000cc",secondary:"#333333",categorical:_,sequential:"blues",diverging:"RdBu",background:"#ffffff",surface:"#ffffff",text:"#000000",textSecondary:"#333333",grid:"#999999",border:"#000000",focus:"#0000cc",selection:"#0000cc",selectionOpacity:.1,success:"#006400",danger:"#cc0000",warning:"#b15a00",error:"#8b0000",info:"#0000cc"},typography:{fontFamily:"system-ui, sans-serif",titleSize:18,labelSize:14,tickSize:12},tooltip:{background:"#000000",text:"#ffffff",borderRadius:"4px",fontSize:"14px",shadow:"0 2px 8px rgba(0, 0, 0, 0.3)"},borderRadius:"4px"};function O(t,e){if("light"===e)return P;if("dark"===e)return C;if("high-contrast"===e)return E;if("string"==typeof e)return void 0!==console&&console.warn(`[ThemeStore] Unknown theme preset "${e}". Keeping current theme.`),t;if(e.mode&&"auto"!==e.mode){const t="dark"===e.mode?C:P;return j(Object.assign(Object.assign(Object.assign({},t),e),{colors:Object.assign(Object.assign({},t.colors),e.colors||{}),typography:Object.assign(Object.assign({},t.typography),e.typography||{})}))}return j(Object.assign(Object.assign(Object.assign({},t),e),{colors:Object.assign(Object.assign({},t.colors),e.colors||{}),typography:Object.assign(Object.assign({},t.typography),e.typography||{})}))}const[T,L]=A(t=>({theme:P,setTheme(e){t(t=>({theme:O(t.theme,e)}))}}));class D{constructor(t){if(this._capacity=t,this.head=0,this._size=0,1>t)throw Error("RingBuffer capacity must be at least 1");this.buffer=Array(t)}push(t){let e;return this._size===this._capacity?e=this.buffer[this.head]:this._size++,this.buffer[this.head]=t,this.head=(this.head+1)%this._capacity,e}pushMany(t){const e=[];for(const n of t){const t=this.push(n);void 0!==t&&e.push(t)}return e}get(t){if(t>=0&&this._size>t)return this.buffer[(this.head-this._size+t+this._capacity)%this._capacity]}peek(){if(0!==this._size)return this.buffer[(this.head-1+this._capacity)%this._capacity]}peekOldest(){if(0!==this._size)return this.buffer[(this.head-this._size+this._capacity)%this._capacity]}[Symbol.iterator](){let t=0;return{next:()=>this._size>t?{done:!1,value:this.get(t++)}:{done:!0,value:void 0}}}forEach(t){const e=(this.head-this._size+this._capacity)%this._capacity;for(let n=0;this._size>n;n++)t(this.buffer[(e+n)%this._capacity],n)}toArray(){const t=Array(this._size),e=(this.head-this._size+this._capacity)%this._capacity;for(let n=0;this._size>n;n++)t[n]=this.buffer[(e+n)%this._capacity];return t}resize(t){if(1>t)throw Error("RingBuffer capacity must be at least 1");const e=this.toArray(),n=[];for(;e.length>t;)n.push(e.shift());this._capacity=t,this.buffer=Array(t),this.head=0,this._size=0;for(const t of e)this.push(t);return n}update(t,e){const n=[],i=(this.head-this._size+this._capacity)%this._capacity;for(let o=0;this._size>o;o++){const r=(i+o)%this._capacity,s=this.buffer[r];if(t(s)){let t;t="object"!=typeof s||null===s?s:Array.isArray(s)?[...s]:Object.assign({},s),n.push(t),this.buffer[r]=e(s)}}return n}remove(t){const e=[],n=[];if(this.forEach(i=>{t(i)?n.push(i):e.push(i)}),0===n.length)return n;this.buffer=Array(this._capacity),this.head=0,this._size=0;for(const t of e)this.push(t);return n}clear(){this.buffer=Array(this._capacity),this.head=0,this._size=0}get size(){return this._size}get capacity(){return this._capacity}get full(){return this._size===this._capacity}}class N{constructor(){this._min=1/0,this._max=-1/0,this._dirty=!1}push(t){Number.isFinite(t)&&(this._min>t&&(this._min=t),t>this._max&&(this._max=t))}evict(t){t!==this._min&&t!==this._max||(this._dirty=!0)}recalculate(t,e){this._min=1/0,this._max=-1/0;for(const n of t){const t=e?e(n):n;Number.isFinite(t)&&(this._min>t&&(this._min=t),t>this._max&&(this._max=t))}this._dirty=!1}clear(){this._min=1/0,this._max=-1/0,this._dirty=!1}get extent(){return[this._min,this._max]}get min(){return this._min}get max(){return this._max}get dirty(){return this._dirty}}function R(t,e,n,i,o){const r=new Map;for(const s of t){const t=e(s),l=n(s);if(null==t||null==l||Number.isNaN(t)||Number.isNaN(l))continue;const a=Math.floor(t/i)*i;let c=r.get(a);if(c||(c={start:a,end:a+i,total:0,categories:new Map},r.set(a,c)),c.total+=l,o){const t=o(s);c.categories.set(t,(c.categories.get(t)||0)+l)}}return r}function I(t,e,n,i,o,r){const s=[];for(const o of t){const t=n(o),r=i(o);Number.isFinite(t)&&Number.isFinite(r)&&s.push({px:e.x(t),py:e.y(r),rawY:r,d:o})}s.sort((t,e)=>t.px-e.px);const l=Array(s.length),a=Array(s.length),c=Array(s.length);for(let t=0;s.length>t;t++){const e=s[t];l[t]=[e.px,e.py],a[t]=e.rawY,c[t]=e.d}return{type:"line",path:l,rawValues:a,style:o,datum:c,group:r}}function $(t,e,n,i,o,r,s,l){const a=[];for(const r of t){const t=n(r),s=i(r);if(!Number.isFinite(t)||!Number.isFinite(s))continue;const c=e.x(t),u=l?l(r):o;a.push({px:c,topY:e.y(s),botY:e.y(u)})}a.sort((t,e)=>t.px-e.px);const c=Array(a.length),u=Array(a.length);for(let t=0;a.length>t;t++){const e=a[t];c[t]=[e.px,e.topY],u[t]=[e.px,e.botY]}return{type:"area",topPath:c,bottomPath:u,style:r,datum:t,group:s}}function W(t,e,n,i){var o,r,s;const l=new Map;if("silhouette"===i)for(const i of t){let t=0;for(const o of e)t+=n(o,i)||0;l.set(i,-t/2)}else if("wiggle"===i){t.length>0&&l.set(t[0],0);for(let i=1;t.length>i;i++){const r=t[i-1],s=t[i];let a=0,c=0,u=0;for(const t of e){const e=n(t,s)||0;a+=(2*u+e)*(e-(n(t,r)||0)),c+=e,u+=e}const d=null!==(o=l.get(r))&&void 0!==o?o:0;l.set(s,d-(c>0?a/(2*c):0))}if(t.length>0){let i=0;for(const o of t){let t=0;for(const i of e)t+=n(i,o)||0;i+=(null!==(r=l.get(o))&&void 0!==r?r:0)+t/2}const o=i/t.length;for(const e of t)l.set(e,(null!==(s=l.get(e))&&void 0!==s?s:0)-o)}}else for(const e of t)l.set(e,0);return l}function z(t,e,n,i,o,r,s){const l=n(t),a=i(t);if(!Number.isFinite(l)||!Number.isFinite(a))return null;const c={type:"point",x:e.x(l),y:e.y(a),r:o,style:r,datum:t};return void 0!==s&&(c.pointId=s),c}function F(t,e,n,i,o,r,s){return{type:"rect",x:t,y:e,w:n,h:i,style:o,datum:r,group:s}}function Y(t,e,n,i,o,r,s){const l={type:"heatcell",x:t,y:e,w:n,h:i,fill:o,datum:r};return(null==s?void 0:s.showValues)&&(l.showValues=!0,l.value=s.value,s.valueFormat&&(l.valueFormat=s.valueFormat)),l}function B(t,e){return t===e||typeof t==typeof e&&"function"==typeof t&&"function"==typeof e&&""+t==""+e}function H(t,e){if("function"==typeof t)return e=>+t(e);const n=t||e;return t=>+t[n]}function X(t,e){if("function"==typeof t)return t;const n=t||e;return t=>t[n]}function G(t,e){return"function"==typeof t?t:t?e=>e[t]+"":void 0}function V(t){return[parseInt(t.slice(1,3),16),parseInt(t.slice(3,5),16),parseInt(t.slice(5,7),16)]}function q(t,e,n){const i=t=>t.toString(16).padStart(2,"0");return`#${i(t)}${i(e)}${i(n)}`}function U(t){const e=t.map(V),n=e.length-1;return t=>{if(0>=t){const[t,n,i]=e[0];return q(t,n,i)}if(t>=1){const[t,i,o]=e[n];return q(t,i,o)}const i=t*n,o=Math.floor(i),r=i-o,[s,l,a]=e[o],[c,u,d]=e[o+1];return q(Math.round(s+(c-s)*r),Math.round(l+(u-l)*r),Math.round(a+(d-a)*r))}}const K=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],Z=U(["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]),Q=U(["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]),J=U(["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]),tt=U(["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]),et=U(["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]),nt=U(["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]),it=U(["#440154","#482878","#3e4989","#31688e","#26828e","#1f9e89","#35b779","#6ece58","#b5de2b","#fde725"]),ot=U(["#0d0887","#41049d","#6a00a8","#8f0da4","#b12a90","#cb4679","#e16462","#f1844b","#fca636","#fcce25","#f0f921"]),rt=U(["#000004","#160b39","#420a68","#6a176e","#932667","#bc3754","#dd513a","#f3771a","#fca50a","#f6d746","#fcffa4"]),st=U(["#000004","#140e36","#3b0f70","#641a80","#8c2981","#b73779","#de4968","#f7705c","#fe9f6d","#fecf92","#fcfdbf"]),lt=U(["#00224e","#123570","#3b496c","#575d6d","#707173","#8a8678","#a59c74","#c3b369","#e1cc55","#fee838","#ffea46"]),at=U(["#23171b","#4a58dd","#3f9ee9","#46c7af","#7eed5a","#cdf134","#fbb91f","#f56918","#c52f06","#7a0403"]);U(["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]),U(["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]),U(["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]),U(["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]),U(["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]),U(["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]),U(["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]);const ct={category10:K,tableau10:["#4e79a7","#f28e2c","#e15759","#76b7b2","#59a14f","#edc949","#af7aa1","#ff9da7","#9c755f","#bab0ab"],set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],blues:Z,reds:Q,greens:J,oranges:tt,purples:et,viridis:it,plasma:ot},ut=K,dt=["#4e79a7","#f28e2b","#e15759","#76b7b2","#59a14f","#edc948","#b07aa1","#ff9da7","#9c755f","#bab0ac"];function ht(t,e,n){var i,o,r;if(1>=n)return 1;const s=null!==(i=t.minOpacity)&&void 0!==i?i:.1,l=n-1-e;switch(t.type){case"linear":return s+(1-l/(n-1))*(1-s);case"exponential":{const e=null!==(o=t.halfLife)&&void 0!==o?o:n/2;return s+Math.pow(.5,l/e)*(1-s)}case"step":return(null!==(r=t.stepThreshold)&&void 0!==r?r:.5*n)>l?1:s;default:return 1}}function ft(t,e,n){var i;const o=null!==(i=t.duration)&&void 0!==i?i:500,r=n-e;return o>r?1-r/o:0}function gt(t,e="ease-out-cubic"){return"linear"===e?t:1-Math.pow(1-t,3)}function yt(t,e){return Math.min((t-e.startTime)/e.duration,1)}function pt(t,e,n){return t+(e-t)*n}function vt(t,e,n){var i,o,r,s;if(e._transitionKey)return e._transitionKey;switch(e.type){case"point":if(e.pointId)return"p:"+e.pointId;if("streaming"===t.runtimeMode&&e.datum){const n=t.getX(e.datum),i=t.getY(e.datum);if(t.getCategory)return`p:${t.getCategory(e.datum)}:${n}:${i}`;if(null!=n&&null!=i)return`p:${n}:${i}`}return"p:"+n;case"rect":return`r:${e.group||""}:${null!==(s=null!==(o=null===(i=e.datum)||void 0===i?void 0:i.binStart)&&void 0!==o?o:null===(r=e.datum)||void 0===r?void 0:r.category)&&void 0!==s?s:n}`;case"heatcell":return`h:${e.x}_${e.y}`;case"candlestick":return null==e.datum?"c:"+n:"c:"+t.getX(e.datum);case"line":return"l:"+(e.group||"_default");case"area":return"a:"+(e.group||"_default");default:return null}}function mt(t,e,n,i){return"function"==typeof e.style?e.style(i||{},n):e.style&&"object"==typeof e.style?e.style:t.resolveBoundsStyle(n,i)}function xt(t,e,n,i){if(!t.scales)return null;const o=[],r=[];for(const n of e){const e=t.getX(n);if(!Number.isFinite(e))continue;const s=i.getTop(n),l=i.getBottom(n);if(!Number.isFinite(s)||!Number.isFinite(l))continue;const a=t.scales.x(e),c=t.scales.y(s),u=t.scales.y(l);Number.isFinite(a)&&Number.isFinite(c)&&Number.isFinite(u)&&(o.push([a,c]),r.push([a,u]))}return 2>o.length?null:{type:"area",topPath:o,bottomPath:r,style:mt(t,i,n,e[0]),datum:e,group:n,interactive:i.interactive}}function bt(t){const e=[],n=[];if(!t)return{perSeries:e,aggregate:n};for(const i of t)i.perSeries?e.push(i):n.push(i);return{perSeries:e,aggregate:n}}function kt(t,e,n){const i=[];for(const o of n){const n=xt(t,e,"__ribbon_aggregate",o);n&&i.push(n)}return i}function wt(t,e,n,i){const o=[];for(const r of i){const i=xt(t,e,n,r);i&&o.push(i)}return o}function At(t,e){if(!t)return{};if(!e||0===e.length)return t;const n=[];for(const i of e){if("band"!==i.kind)continue;const e=i.getTop(t),o=i.getBottom(t);Number.isFinite(o)&&Number.isFinite(e)&&n.push({y0:o,y1:e})}return 0===n.length?t:Object.assign(Object.assign({},t),{band:n[0],bands:n})}function St(t,e,n,i){var o;if(!t.config.pointStyle)return;const r=null!=i?i:t.getY;for(const i of e){const e=t.resolveGroupColor(i.key);for(const s of i.data){let i=t.config.pointStyle(s);!i.fill&&e&&(i=Object.assign(Object.assign({},i),{fill:e}));const l=null!==(o=i.r)&&void 0!==o?o:3,a=t.getPointId?t.getPointId(s)+"":void 0,c=z(s,t.scales,t.getX,r,l,i,a);c&&n.push(c)}}}const Mt={topOpacity:.8,bottomOpacity:.05};function jt(t){var e,n;if(t)return!0===t?Mt:"colorStops"in t?t:{topOpacity:null!==(e=t.topOpacity)&&void 0!==e?e:Mt.topOpacity,bottomOpacity:null!==(n=t.bottomOpacity)&&void 0!==n?n:Mt.bottomOpacity}}const _t={blues:Z,reds:Q,greens:J,viridis:it,oranges:tt,purples:et,greys:nt,plasma:ot,inferno:rt,magma:st,cividis:lt,turbo:at},Pt=new Map;function Ct(t,e){const n="function"==typeof t?t:n=>n[t||e];return t=>{const e=n(t);return null==e?NaN:+e}}function Et(t){const e=[],n=["bar","swarm","waterfall"].includes(t.chartType)||"streaming"===t.runtimeMode,i=Ct(n&&t.valueAccessor||t.yAccessor,n?"value":"y");if(t.boundsAccessor){const n=H(t.boundsAccessor,"bounds");e.push({kind:"bounds",getTop:t=>{const e=i(t);if(!Number.isFinite(e))return NaN;const o=n(t);return Number.isFinite(o)&&0!==o?e+o:e},getBottom:t=>{const e=i(t);if(!Number.isFinite(e))return NaN;const o=n(t);return Number.isFinite(o)&&0!==o?e-o:e},style:t.boundsStyle,perSeries:!0,interactive:!1})}if(t.band){const n=Array.isArray(t.band)?t.band:[t.band];for(const t of n)e.push({kind:"band",getTop:Ct(t.y1Accessor,"y1"),getBottom:Ct(t.y0Accessor,"y0"),style:t.style,perSeries:!1!==t.perSeries,interactive:!0===t.interactive})}return e}class Ot{constructor(t){if(this.xExtent=new N,this.yExtent=new N,this.resolvedRibbons=[],this.timestampBuffer=null,this.activeTransition=null,this._hasRenderedOnce=!1,this.prevPositionMap=new Map,this.prevPathMap=new Map,this.exitNodes=[],this.lastIngestTime=0,this._colorMapCache=null,this._groupColorMap=new Map,this._groupColorCounter=0,this._barCategoryCache=null,this._binBoundaries=[],this._stackExtentCache=null,this._ingestVersion=0,this._bufferArrayCache=null,this._bufferDirty=!0,this.needsFullRebuild=!0,this.lastLayout=null,this.scales=null,this.scene=[],this.version=0,this.customLayoutOverlays=null,this.xIsDate=!1,this._quadtree=null,this._maxPointRadius=0,this._lastBoundedInsertsRef=null,this.config=t,this.buffer=new D(t.windowSize),this.growingCap=t.windowSize,["bar","swarm","waterfall"].includes(t.chartType)||"streaming"===t.runtimeMode?(this.getX=H(t.timeAccessor||t.xAccessor,"time"),this.getY=H(t.valueAccessor||t.yAccessor,"value")):(this.getX=H(t.xAccessor,"x"),this.getY=H(t.yAccessor,"y")),this.getGroup=G(t.groupAccessor),this.getCategory=G(t.categoryAccessor),this.getSize=t.sizeAccessor?H(t.sizeAccessor,"size"):void 0,this.getColor=G(t.colorAccessor),this.getY0=t.y0Accessor?H(t.y0Accessor,"y0"):void 0,this.resolvedRibbons=Et(t),this.getPointId=G(t.pointIdAccessor),"candlestick"===t.chartType){const e=null!=t.openAccessor,n=null!=t.closeAccessor;this.getOpen=e?H(t.openAccessor,"open"):void 0,this.getHigh=H(t.highAccessor,"high"),this.getLow=H(t.lowAccessor,"low"),this.getClose=n?H(t.closeAccessor,"close"):void 0,this.config.candlestickRangeMode=!e&&!n}t.pulse&&(this.timestampBuffer=new D(t.windowSize))}pushDatumYExtent(t){if("candlestick"===this.config.chartType&&this.getHigh&&this.getLow)return this.yExtent.push(this.getHigh(t)),void this.yExtent.push(this.getLow(t));this.yExtent.push(this.getY(t)),this.getY0&&this.yExtent.push(this.getY0(t));for(const e of this.resolvedRibbons){const n=e.getTop(t),i=e.getBottom(t);Number.isFinite(n)&&this.yExtent.push(n),Number.isFinite(i)&&this.yExtent.push(i)}}rebuildYExtent(){this.yExtent.clear();for(const t of this.buffer)this.pushDatumYExtent(t)}rebuildExtents(){this.xExtent.clear(),this.yExtent.clear();for(const t of this.buffer)this.xExtent.push(this.getX(t)),this.pushDatumYExtent(t)}ingest(t){if(t.bounded&&this._lastBoundedInsertsRef===t.inserts)return!1;const e="undefined"!=typeof performance?performance.now():Date.now();if(this.lastIngestTime=e,this.needsFullRebuild=!0,this._bufferDirty=!0,this._ingestVersion++,t.bounded){if(this._lastBoundedInsertsRef=t.inserts,this.buffer.clear(),this.xExtent.clear(),this.yExtent.clear(),this.timestampBuffer&&this.timestampBuffer.clear(),this.getX=["bar","swarm","waterfall"].includes(this.config.chartType)||"streaming"===this.config.runtimeMode?H(this.config.timeAccessor||this.config.xAccessor,"time"):H(this.config.xAccessor,"x"),this.xIsDate=!1,t.inserts.length>0){const e=t.inserts[0],n=this.config.xAccessor,i="function"==typeof n?n(e):e[n||"x"],o=i instanceof Date,r="string"==typeof i&&i.length>=10&&!isNaN(new Date(i).getTime())&&isNaN(Number(i));if(this.xIsDate=o||r,r){const t="string"==typeof n?n:void 0;this.getX=t?e=>+new Date(e[t]):t=>+(n(t)instanceof Date?n(t):new Date(n(t)))}}const n=t.totalSize||t.inserts.length;n>this.buffer.capacity&&(this.buffer.resize(n),this.timestampBuffer&&n>this.timestampBuffer.capacity&&this.timestampBuffer.resize(n));for(const n of t.inserts)if(this.buffer.push(n),this.timestampBuffer&&this.timestampBuffer.push(e),this.xExtent.push(this.getX(n)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow)this.yExtent.push(this.getHigh(n)),this.yExtent.push(this.getLow(n));else{this.yExtent.push(this.getY(n)),this.getY0&&this.yExtent.push(this.getY0(n));for(const t of this.resolvedRibbons){const e=t.getTop(n),i=t.getBottom(n);Number.isFinite(e)&&this.yExtent.push(e),Number.isFinite(i)&&this.yExtent.push(i)}}}else for(const n of t.inserts){if("growing"===this.config.windowMode&&this.buffer.full){const t=this.config.maxCapacity||1e6;t>this.growingCap&&(this.growingCap=Math.min(2*this.growingCap,t),this.buffer.resize(this.growingCap),this.timestampBuffer&&this.timestampBuffer.resize(this.growingCap))}const t=this.buffer.push(n);if(this.timestampBuffer&&this.timestampBuffer.push(e),this.xExtent.push(this.getX(n)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow)this.yExtent.push(this.getHigh(n)),this.yExtent.push(this.getLow(n));else{this.yExtent.push(this.getY(n)),this.getY0&&this.yExtent.push(this.getY0(n));for(const t of this.resolvedRibbons){const e=t.getTop(n),i=t.getBottom(n);Number.isFinite(e)&&this.yExtent.push(e),Number.isFinite(i)&&this.yExtent.push(i)}}if(null!=t)if(this.xExtent.evict(this.getX(t)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow)this.yExtent.evict(this.getHigh(t)),this.yExtent.evict(this.getLow(t));else{this.yExtent.evict(this.getY(t)),this.getY0&&this.yExtent.evict(this.getY0(t));for(const e of this.resolvedRibbons){const n=e.getTop(t),i=e.getBottom(t);Number.isFinite(n)&&this.yExtent.evict(n),Number.isFinite(i)&&this.yExtent.evict(i)}}}return!0}computeScene(t){var e,n,i,r,s,l,a,c,u,d,h,f,g,y;const{config:p,buffer:v}=this;if(!this.needsFullRebuild&&this.lastLayout&&this.scene.length>0&&this.scales&&0>=(null!==(e=this.config.scalePadding)&&void 0!==e?e:0)&&(this.lastLayout.width!==t.width||this.lastLayout.height!==t.height))return void this.remapScene(t);this.xExtent.dirty&&this.xExtent.recalculate(v,this.getX),this.yExtent.dirty&&this.rebuildYExtent();const m=this.getBufferArray(),x=this.xExtent.extent,b=this.yExtent.extent;let k=p.xExtent?[null!==(n=p.xExtent[0])&&void 0!==n?n:x[0],null!==(i=p.xExtent[1])&&void 0!==i?i:x[1]]:x,w=p.yExtent?[null!==(r=p.yExtent[0])&&void 0!==r?r:b[0],null!==(s=p.yExtent[1])&&void 0!==s?s:b[1]]:b;const A=p.yExtent&&null!=p.yExtent[0]&&null!=p.yExtent[1],S="exact"===p.axisExtent;if("stackedarea"===p.chartType&&!A&&v.size>0)if(p.normalize)w=[0,S?1:1+p.extentPadding];else{const t=`${v.size}:${this._ingestVersion}:${null!==(l=p.baseline)&&void 0!==l?l:"zero"}:${null!==(a=p.stackOrder)&&void 0!==a?a:"key"}`;if(this._stackExtentCache&&this._stackExtentCache.key===t)w=this._stackExtentCache.yDomain;else{const e=this.groupData(m),n=new Map,i=new Set;let o=0;const r=new Map,s=new Map;for(const t of e){const e=new Map;let l=0;for(const n of t.data){const t=this.getX(n),s=this.getY(n);if(!Number.isFinite(t)||!Number.isFinite(s))continue;e.set(t,(e.get(t)||0)+s),i.add(t),l+=s;const a=(r.get(t)||0)+s;r.set(t,a),a>o&&(o=a)}n.set(t.key,e),s.set(t.key,l)}const l=null!==(c=p.stackOrder)&&void 0!==c?c:"key",a=(t,e)=>e>t?-1:t>e?1:0;let g;if("insideOut"===l){const t=[...e].map(t=>t.key).sort((t,e)=>{var n,i;const o=(null!==(n=s.get(e))&&void 0!==n?n:0)-(null!==(i=s.get(t))&&void 0!==i?i:0);return 0!==o?o:a(t,e)}),n=[],i=[];let o=0,r=0;for(const e of t)r>o?(n.push(e),o+=null!==(u=s.get(e))&&void 0!==u?u:0):(i.push(e),r+=null!==(d=s.get(e))&&void 0!==d?d:0);g=[...i.reverse(),...n]}else g="asc"===l?e.map(t=>t.key).sort((t,e)=>{var n,i;const o=(null!==(n=s.get(t))&&void 0!==n?n:0)-(null!==(i=s.get(e))&&void 0!==i?i:0);return 0!==o?o:a(t,e)}):"desc"===l?e.map(t=>t.key).sort((t,e)=>{var n,i;const o=(null!==(n=s.get(e))&&void 0!==n?n:0)-(null!==(i=s.get(t))&&void 0!==i?i:0);return 0!==o?o:a(t,e)}):e.map(t=>t.key).sort(a);if("wiggle"===p.baseline||"silhouette"===p.baseline){const t=Array.from(i).sort((t,e)=>t-e),e=W(t,g,(t,e)=>{var i;return(null===(i=n.get(t))||void 0===i?void 0:i.get(e))||0},p.baseline);let o=1/0,s=-1/0;for(const n of t){const t=null!==(h=e.get(n))&&void 0!==h?h:0,i=null!==(f=r.get(n))&&void 0!==f?f:0;o>t&&(o=t),t+i>s&&(s=t+i)}Number.isFinite(o)&&Number.isFinite(s)||(o=0,s=0);const l=s-o,a=S?0:l>0?l*p.extentPadding:1;w=[o-a,s+a]}else w=[0,o+(S?0:o>0?o*p.extentPadding:1)];this._stackExtentCache={key:t,yDomain:w}}}else if("bar"===p.chartType&&p.binSize&&!A&&v.size>0){const[,t]=function(t,e,n,i,o){const r=R(t,e,n,i,o);if(0===r.size)return[0,0];let s=0;for(const t of r.values())t.total>s&&(s=t.total);return[0,s]}(v,this.getX,this.getY,p.binSize,this.getCategory);w=[0,S?t:t+t*p.extentPadding]}else if("waterfall"===p.chartType&&!A&&v.size>0){const[t,e]=function(t,e){let n=0,i=0,o=0;for(const r of t){const t=e(r);null==t||Number.isNaN(t)||(o+=t,n>o&&(n=o),o>i&&(i=o))}return[n,i]}(v,this.getY),n=e-t,i=S?0:n>0?n*p.extentPadding:1;w=[Math.min(0,t-Math.abs(i)),Math.max(0,e+Math.abs(i))]}else if(!A&&w[0]!==1/0){if(this.resolvedRibbons.length>0)for(const t of m)for(const e of this.resolvedRibbons){const n=e.getTop(t),i=e.getBottom(t);Number.isFinite(n)&&(w[0]>n&&(w[0]=n),n>w[1]&&(w[1]=n)),Number.isFinite(i)&&(w[0]>i&&(w[0]=i),i>w[1]&&(w[1]=i))}const t=w[1]-w[0],e=S?0:t>0?t*p.extentPadding:1,n=null===(g=p.yExtent)||void 0===g?void 0:g[0],i=null===(y=p.yExtent)||void 0===y?void 0:y[1];w=[null!=n?w[0]:w[0]-e,null!=i?w[1]:w[1]+e],"log"!==p.yScaleType||w[0]>0||0>=b[0]||S||(w[0]=null!=n?w[0]:b[0]/(1+p.extentPadding))}if(p.yExtent&&!A){const t=p.yExtent[0],e=p.yExtent[1];null==t&&null==e||(w=[null!=t?t:w[0],null!=e?e:w[1]])}if(k[0]===1/0||k[1]===-1/0)if("time"===p.xScaleType){const t=Date.now();k=[t-864e5,t]}else k=[0,1];w[0]!==1/0&&w[1]!==-1/0||(w=[0,1]);const M="streaming"===p.runtimeMode,j=Math.max(0,Math.min(p.scalePadding||0,Math.min(t.width,t.height)/2-1));if(M)if("x"==("up"===(_=p.arrowOfTime)||"down"===_?"y":"x")){const e="right"===p.arrowOfTime?[j,t.width-j]:[t.width-j,j];this.scales={x:o.scaleLinear().domain(k).range(e),y:o.scaleLinear().domain(w).range([t.height-j,j])}}else{const e="down"===p.arrowOfTime?[j,t.height-j]:[t.height-j,j];this.scales={x:o.scaleLinear().domain(w).range([j,t.width-j]),y:o.scaleLinear().domain(k).range(e)}}else{const e=(t,e,n)=>{if("log"===t){const t=[Math.max(e[0],1e-6),Math.max(e[1],1e-6)];return o.scaleLog().domain(t).range(n).clamp(!0)}return"time"===t?o.scaleTime().domain([new Date(e[0]),new Date(e[1])]).range(n):o.scaleLinear().domain(e).range(n)};this.scales={x:e(p.xScaleType,k,[j,t.width-j]),y:e(p.yScaleType,w,[t.height-j,j])}}var _;this.config.transition&&this.scene.length>0&&this.snapshotPositions(),this.scene=this.buildSceneNodes(t,m),this.config.decay&&this.applyDecay(this.scene,m),this.config.pulse&&this.applyPulse(this.scene,m),this.config.transition&&!this._hasRenderedOnce&&this.scene.length>0&&(this.config.introAnimation&&this.synthesizeIntroPositions(),this._hasRenderedOnce=!0),this.config.transition&&(this.prevPositionMap.size>0||this.prevPathMap.size>0)&&this.startTransition(),this.rebuildQuadtree(),this.needsFullRebuild=!1,this.lastLayout={width:t.width,height:t.height},this.version++}rebuildQuadtree(){const t=this.config.chartType;if("scatter"!==t&&"bubble"!==t)return this._quadtree=null,void(this._maxPointRadius=0);let e=0,n=0;for(const t of this.scene)"point"===t.type&&(e++,t.r>n&&(n=t.r));if(this._maxPointRadius=n,Ot.QUADTREE_THRESHOLD>=e)return void(this._quadtree=null);const i=Array(e);let o=0;for(const t of this.scene)"point"===t.type&&(i[o++]=t);this._quadtree=r.quadtree().x(t=>t.x).y(t=>t.y).addAll(i)}get quadtree(){return this._quadtree}get maxPointRadius(){return this._maxPointRadius}remapScene(t){const e=t.width/this.lastLayout.width,n=t.height/this.lastLayout.height;for(const t of this.scene)switch(t.type){case"line":for(const i of t.path)i[0]*=e,i[1]*=n;break;case"area":for(const i of t.topPath)i[0]*=e,i[1]*=n;for(const i of t.bottomPath)i[0]*=e,i[1]*=n;t.clipRect&&(t.clipRect={x:t.clipRect.x*e,y:t.clipRect.y*n,width:t.clipRect.width*e,height:t.clipRect.height*n});break;case"point":t.x*=e,t.y*=n;break;case"rect":case"heatcell":t.x*=e,t.y*=n,t.w*=e,t.h*=n;break;case"candlestick":t.x*=e,t.openY*=n,t.closeY*=n,t.highY*=n,t.lowY*=n}const i=this.scales.x.domain(),r=this.scales.y.domain(),s=this.scales.x.range(),l=this.scales.y.range(),a=(t,e,n)=>{if("log"===t){const t=[Math.max(e[0],1e-6),Math.max(e[1],1e-6)];return o.scaleLog().domain(t).range(n).clamp(!0)}return"time"===t?o.scaleTime().domain([new Date(e[0]),new Date(e[1])]).range(n):o.scaleLinear().domain(e).range(n)},c=Math.max(0,Math.min(this.config.scalePadding||0,Math.min(t.width,t.height)/2-1)),u=l[1]>l[0];this.scales={x:a(this.config.xScaleType,i,s[0]>s[1]?[t.width-c,c]:[c,t.width-c]),y:a(this.config.yScaleType,r,u?[c,t.height-c]:[t.height-c,c])},this.lastLayout={width:t.width,height:t.height},this.rebuildQuadtree(),this.version++}buildSceneNodes(t,e){var n,i,o,r,s,l,a;const{config:c,scales:u}=this;if(!u)return[];if(c.customLayout){const a=null!==(n=c.layoutMargin)&&void 0!==n?n:{top:0,right:0,bottom:0,left:0},d={data:e,scales:u,dimensions:{width:t.width,height:t.height,margin:a,plot:{x:0,y:0,width:t.width,height:t.height}},theme:{semantic:null!==(i=c.themeSemantic)&&void 0!==i?i:{},categorical:null!==(o=c.themeCategorical)&&void 0!==o?o:dt},resolveColor:(t,e)=>{var n,i;const o=this.resolveGroupColor(t);if(o)return o;const r=this.resolveLineStyle(t,e);return r.stroke?r.stroke:"string"==typeof r.fill?r.fill:null!==(i=null===(n=c.themeSemantic)||void 0===n?void 0:n.primary)&&void 0!==i?i:"#4e79a7"},config:null!==(r=c.layoutConfig)&&void 0!==r?r:{}};let h;try{h=c.customLayout(d)}catch(t){return"production"!==process.env.NODE_ENV&&console.error("[semiotic] customLayout threw:",t),this.customLayoutOverlays=null,[]}return this.customLayoutOverlays=null!==(s=h.overlays)&&void 0!==s?s:null,null!==(l=h.nodes)&&void 0!==l?l:[]}if(this.customLayoutOverlays=null,0===e.length)return[];const d={scales:u,config:c,getX:this.getX,getY:this.getY,getY0:this.getY0,getSize:this.getSize,getColor:this.getColor,getGroup:this.getGroup,getCategory:this.getCategory,getPointId:this.getPointId,ribbons:this.resolvedRibbons,getOpen:this.getOpen,getHigh:this.getHigh,getLow:this.getLow,getClose:this.getClose,resolveLineStyle:(t,e)=>this.resolveLineStyle(t,e),resolveAreaStyle:(t,e)=>this.resolveAreaStyle(t,e),resolveBoundsStyle:(t,e)=>this.resolveBoundsStyle(t,e),resolveColorMap:t=>this.resolveColorMap(t),resolveGroupColor:t=>this.resolveGroupColor(t),groupData:t=>this.groupData(t),barCategoryCache:this._barCategoryCache};switch(c.chartType){case"line":return function(t,e){var n;const i=t.groupData(e),o=[],r=null===(n=t.config.annotations)||void 0===n?void 0:n.filter(t=>"threshold"===t.type&&t.color).map(t=>({value:t.value,color:t.color,thresholdType:t.thresholdType||"greater"}));if(t.ribbons&&t.ribbons.length>0){const{perSeries:n,aggregate:r}=bt(t.ribbons);if(r.length>0&&o.push(...kt(t,e,r)),n.length>0)for(const e of i)o.push(...wt(t,e.data,e.key,n))}for(const e of i){const n=t.resolveLineStyle(e.key,e.data[0]),i=I(e.data,t.scales,t.getX,t.getY,n,e.key);r&&r.length>0&&(i.colorThresholds=r),t.config.curve&&"linear"!==t.config.curve&&(i.curve=t.config.curve),t.config.lineGradient&&(i.strokeGradient=t.config.lineGradient),o.push(i)}return St(t,i,o),o}(d,e);case"area":return function(t,e){const n=t.groupData(e),i=[];if(t.ribbons&&t.ribbons.length>0){const{perSeries:o,aggregate:r}=bt(t.ribbons);if(r.length>0&&i.push(...kt(t,e,r)),o.length>0)for(const e of n)i.push(...wt(t,e.data,e.key,o))}const o=t.scales.y.domain()[0],r=t.getY0?e=>{const n=t.getY0(e);return null==n?o:n}:void 0;for(const e of n){const n=t.resolveAreaStyle(e.key,e.data[0]),s=$(e.data,t.scales,t.getX,t.getY,o,n,e.key,r),l=jt(t.config.gradientFill);l&&(s.fillGradient=l),t.config.curve&&"linear"!==t.config.curve&&(s.curve=t.config.curve),t.config.lineGradient&&(s.strokeGradient=t.config.lineGradient),i.push(s)}return St(t,n,i),i}(d,e);case"mixed":return function(t,e){const n=t.groupData(e),i=[],o=t.config.areaGroups||new Set;if(t.ribbons&&t.ribbons.length>0){const{perSeries:o,aggregate:r}=bt(t.ribbons);if(r.length>0&&i.push(...kt(t,e,r)),o.length>0)for(const e of n)i.push(...wt(t,e.data,e.key,o))}const r=t.scales.y.domain()[0],s=t.getY0?e=>{const n=t.getY0(e);return null==n?r:n}:void 0;for(const e of n)if(o.has(e.key)){const n=t.resolveAreaStyle(e.key,e.data[0]),o=$(e.data,t.scales,t.getX,t.getY,r,n,e.key,s),l=jt(t.config.gradientFill);l&&(o.fillGradient=l),t.config.curve&&"linear"!==t.config.curve&&(o.curve=t.config.curve),t.config.lineGradient&&(o.strokeGradient=t.config.lineGradient),i.push(o)}else{const n=t.resolveLineStyle(e.key,e.data[0]),o=I(e.data,t.scales,t.getX,t.getY,n,e.key);t.config.curve&&"linear"!==t.config.curve&&(o.curve=t.config.curve),t.config.lineGradient&&(o.strokeGradient=t.config.lineGradient),i.push(o)}return St(t,n,i),i}(d,e);case"stackedarea":return function(t,e){var n,i,o,r;const s=t.groupData(e),l=null!==(n=t.config.stackOrder)&&void 0!==n?n:"key",a=()=>s.sort((t,e)=>e.key>t.key?-1:t.key>e.key?1:0);if("key"===l)a();else if("asc"===l||"desc"===l||"insideOut"===l){const e=new Map;for(const n of s){let i=0;for(const e of n.data){const n=t.getX(e),o=t.getY(e);Number.isFinite(n)&&Number.isFinite(o)&&(i+=o)}e.set(n.key,i)}const n=(t,e)=>e>t?-1:t>e?1:0;if("asc"===l)s.sort((t,i)=>{var o,r;const s=(null!==(o=e.get(t.key))&&void 0!==o?o:0)-(null!==(r=e.get(i.key))&&void 0!==r?r:0);return 0!==s?s:n(t.key,i.key)});else if("desc"===l)s.sort((t,i)=>{var o,r;const s=(null!==(o=e.get(i.key))&&void 0!==o?o:0)-(null!==(r=e.get(t.key))&&void 0!==r?r:0);return 0!==s?s:n(t.key,i.key)});else{const t=[...s].sort((t,i)=>{var o,r;const s=(null!==(o=e.get(i.key))&&void 0!==o?o:0)-(null!==(r=e.get(t.key))&&void 0!==r?r:0);return 0!==s?s:n(t.key,i.key)}),r=[],l=[];let a=0,c=0;for(const n of t)c>a?(r.push(n),a+=null!==(i=e.get(n.key))&&void 0!==i?i:0):(l.push(n),c+=null!==(o=e.get(n.key))&&void 0!==o?o:0);s.length=0,s.push(...l.reverse(),...r)}}else a();const c=t.config.curve&&"linear"!==t.config.curve?t.config.curve:void 0,u=t.config.normalize?"zero":null!==(r=t.config.baseline)&&void 0!==r?r:"zero",{nodes:d,stackedTops:h}=function(t,e,n,i,o,r,s,l="zero"){var a,c;const u=new Set;for(const e of t)for(const t of e.data){const e=n(t);Number.isFinite(e)&&u.add(e)}const d=Array.from(u).sort((t,e)=>t-e),h=new Map;for(const e of t){const t=new Map;for(const o of e.data){const e=n(o),r=i(o);Number.isFinite(e)&&Number.isFinite(r)&&t.set(e,(t.get(e)||0)+r)}h.set(e.key,t)}let f;if(r){f=new Map;for(const e of d){let n=0;for(const i of t)n+=(null===(a=h.get(i.key))||void 0===a?void 0:a.get(e))||0;f.set(e,n||1)}}const g=W(d,t.map(t=>t.key),(t,e)=>{var n;return(null===(n=h.get(t))||void 0===n?void 0:n.get(e))||0},l),y=[],p=new Map,v=new Map;for(const t of d)v.set(t,null!==(c=g.get(t))&&void 0!==c?c:0);for(const n of t){const t=h.get(n.key),i=[],l=[],a=new Map;for(const n of d){let o=t.get(n)||0;const s=v.get(n);r&&(o/=f.get(n));const c=s+o,u=e.x(n);l.push([u,e.y(s)]),i.push([u,e.y(c)]),v.set(n,c),a.set(n,c)}p.set(n.key,a);const c={type:"area",topPath:i,bottomPath:l,style:o(n.key,n.data[0]),datum:n.data,group:n.key};s&&(c.curve=s),y.push(c)}return{nodes:y,stackedTops:p}}(s,t.scales,t.getX,t.getY,(e,n)=>t.resolveAreaStyle(e,n),t.config.normalize,c,u),f=d;if(t.config.pointStyle){const e=new WeakMap;for(const n of s){const i=h.get(n.key);if(i)for(const o of n.data){const n=t.getX(o),r=t.getY(o);null==n||Number.isNaN(n)||null==r||Number.isNaN(r)||!i.has(n)||e.set(o,i.get(n))}}const n=n=>{var i;return null!==(i=e.get(n))&&void 0!==i?i:t.getY(n)};St(t,s,f,n)}return f}(d,e);case"scatter":case"bubble":return function(t,e){var n;const i=[],o="bubble"===t.config.chartType?10:5,r=t.config.sizeRange||[3,15];let s=null;if(t.getSize&&!t.config.pointStyle){const n=e.map(e=>t.getSize(e)).filter(t=>null!=t&&!Number.isNaN(t));if(n.length>0){let t=1/0,e=-1/0;for(const i of n)t>i&&(t=i),i>e&&(e=i);s=n=>t===e?(r[0]+r[1])/2:r[0]+(n-t)/(e-t)*(r[1]-r[0])}}const l=t.getColor?t.resolveColorMap(e):null,a=(null===(n=t.config.themeSemantic)||void 0===n?void 0:n.primary)||"#4e79a7";for(const n of e){let e=t.config.pointStyle?t.config.pointStyle(n):{fill:a,opacity:.8},r=e.r||o;if(s&&t.getSize){const e=t.getSize(n);null==e||Number.isNaN(e)||(r=s(e))}if(l&&t.getColor&&!e.fill){const i=t.getColor(n);i&&l.has(i)&&(e=Object.assign(Object.assign({},e),{fill:l.get(i)}))}const c=t.getPointId?t.getPointId(n)+"":void 0,u=z(n,t.scales,t.getX,t.getY,r,e,c);u&&i.push(u)}return i}(d,e);case"heatmap":return function(t,e,n){if(t.config.heatmapAggregation)return function(t,e,n){var i,o,r;const s=Math.max(1,Math.floor(null!==(i=t.config.heatmapXBins)&&void 0!==i?i:20)),l=Math.max(1,Math.floor(null!==(o=t.config.heatmapYBins)&&void 0!==o?o:20)),a=null!==(r=t.config.heatmapAggregation)&&void 0!==r?r:"count",c=H(t.config.valueAccessor,"value");if(!t.scales||0===e.length)return[];const[u,d]=t.scales.x.domain(),[h,f]=t.scales.y.domain(),g=(d-u||1)/s,y=(f-h||1)/l,p=s*l;if(p>1e6)return[];const v=new Int32Array(p),m=new Float64Array(p);for(let n=0;e.length>n;n++){const i=e[n],o=t.getX(i),r=t.getY(i);if(!isFinite(o)||!isFinite(r))continue;const a=Math.min(Math.floor((o-u)/g),s-1),d=Math.min(Math.floor((r-h)/y),l-1);if(0>a||0>d)continue;const f=d*s+a;v[f]++;const p=c(i);m[f]+=isFinite(p)?p:0}let x=1/0,b=-1/0;for(let t=0;p>t;t++){if(0===v[t])continue;let e;switch(a){case"sum":e=m[t];break;case"mean":e=m[t]/v[t];break;default:e=v[t]}x>e&&(x=e),e>b&&(b=e)}if(!isFinite(x))return[];const k=b-x||1,w=n.width/s,A=n.height/l,S=t.config.showValues,M=t.config.heatmapValueFormat,j=[];for(let t=0;l>t;t++){const e=t*s;for(let n=0;s>n;n++){const i=e+n;if(0===v[i])continue;let o;switch(a){case"sum":o=m[i];break;case"mean":o=m[i]/v[i];break;default:o=v[i]}const r=(o-x)/k;j.push(Y(n*w,(l-1-t)*A,w,A,`rgb(${220-(180*r+.5)|0},${220-(100*r+.5)|0},${255-(50*r+.5)|0})`,{xi:n,yi:t,value:o,count:v[i],sum:m[i],xCenter:u+(n+.5)*g,yCenter:h+(t+.5)*y,agg:a},S?{value:o,showValues:!0,valueFormat:M}:void 0))}}return j}(t,e,n);if(0===e.length)return[];const i=H(t.config.valueAccessor,"value"),o=X(t.config.xAccessor,"x"),r=X(t.config.yAccessor,"y"),s=new Map,l=new Map,a=Array(e.length),c=Array(e.length);for(let t=0;e.length>t;t++){const n=e[t],i=o(n),u=r(n);a[t]=i,c[t]=u,s.has(i)||s.set(i,s.size),l.has(u)||l.set(u,l.size)}const u=s.size,d=l.size;if(0===u||0===d)return[];const h=Array.from(s.keys()),f=Array.from(l.keys()),g=h.every(t=>"number"==typeof t&&!isNaN(t)),y=f.every(t=>"number"==typeof t&&!isNaN(t));if(g){h.sort((t,e)=>t-e),s.clear();for(let t=0;h.length>t;t++)s.set(h[t],t)}if(y){f.sort((t,e)=>t-e),l.clear();for(let t=0;f.length>t;t++)l.set(f[t],t)}const p=new Float64Array(e.length),v=new Float64Array(e.length),m=Array(e.length),x=new Map;let b=0;for(let t=0;e.length>t;t++){const n=e[t],o=s.get(a[t]),r=l.get(c[t]);if(void 0===o||void 0===r)continue;const d=i(n),h=r*u+o,f=x.get(h);let g;void 0!==f?g=f:(g=b++,x.set(h,g)),p[g]=h,v[g]=d,m[g]=n}let k=1/0,w=-1/0;for(let t=0;b>t;t++){const e=v[t];isFinite(e)&&(k>e&&(k=e),e>w&&(w=e))}if(!isFinite(k)||!isFinite(w))return[];const A=function(t){const e=t in _t?t:"blues";let n=Pt.get(e);if(n)return n;n=Array(256);const i=_t[e]||Z;for(let t=0;256>t;t++)n[t]=i(t/255);return Pt.set(e,n),n}("string"==typeof t.config.colorScheme?t.config.colorScheme:t.config.themeSequential||"blues"),S=255/(w-k||1),M=n.width/u,j=n.height/d,_=t.config.showValues,P=t.config.heatmapValueFormat,C=[];for(let t=0;b>t;t++){const e=v[t];if(!isFinite(e))continue;const n=p[t],i=n%u;C.push(Y(i*M,(d-1-(n-i)/u)*j,M,j,A[Math.min((e-k)*S+.5|0,255)],m[t],_?{value:e,showValues:!0,valueFormat:P}:void 0))}return C}(d,e,t);case"bar":{const t=function(t,e){var n,i;if(!t.config.binSize)return{nodes:[],binBoundaries:[]};const o=R(e,t.getX,t.getY,t.config.binSize,t.getCategory);if(0===o.size)return{nodes:[],binBoundaries:[]};let r=null;if(t.getCategory){const e=new Set;for(const t of o.values())for(const n of t.categories.keys())e.add(n);const n=t.config.barColors?Object.keys(t.config.barColors):[],i=new Set(n),s=Array.from(e).filter(t=>!i.has(t)).sort(),l=n.filter(t=>e.has(t)),a=l.join("\0")+""+s.join("\0");t.barCategoryCache&&t.barCategoryCache.key===a?r=t.barCategoryCache.order:(r=[...l,...s],t.barCategoryCache={key:a,order:r})}const s=[],l=t.scales,[a,c]=l.x.domain(),u=t.config.barStyle,d=null===(n=t.config.themeSemantic)||void 0===n?void 0:n.primary,h=null==u?void 0:u.gap,f="number"!=typeof h||0>h?1:h,g={};(null==u?void 0:u.stroke)&&(g.stroke=u.stroke),"number"==typeof(null==u?void 0:u.strokeWidth)&&(g.strokeWidth=u.strokeWidth),"number"==typeof(null==u?void 0:u.opacity)&&(g.opacity=u.opacity);for(const e of o.values()){const n=Math.max(e.start,a),o=Math.min(e.end,c);if(n>=o)continue;const h=l.x(n),y=l.x(o),p=Math.abs(y-h),v=p>f+1?f:0,m=Math.min(h,y)+v/2,x=Math.max(p-v,1);if(x>0)if(r&&e.categories.size>0){let n=0;for(const o of r){const r=e.categories.get(o)||0;if(0===r)continue;const a=l.y(n),c=l.y(n+r),h=(null===(i=t.config.barColors)||void 0===i?void 0:i[o])||(null==u?void 0:u.fill)||d||"#4e79a7";s.push(F(m,Math.min(a,c),x,Math.abs(a-c),Object.assign({fill:h},g),{binStart:e.start,binEnd:e.end,total:e.total,category:o,categoryValue:r},o)),n+=r}}else{const t=l.y(0),n=l.y(e.total);s.push(F(m,Math.min(t,n),x,Math.abs(t-n),Object.assign({fill:(null==u?void 0:u.fill)||d||"#007bff"},g),{binStart:e.start,binEnd:e.end,total:e.total}))}}const y=new Set;for(const t of o.values())y.add(t.start),y.add(t.end);return{nodes:s,binBoundaries:Array.from(y).sort((t,e)=>t-e)}}(d,e);return this._barCategoryCache=null!==(a=d.barCategoryCache)&&void 0!==a?a:null,this._binBoundaries=t.binBoundaries,t.nodes}case"swarm":return function(t,e){var n,i,o,r,s,l;const a=[],c=t.config.swarmStyle||{},u=null!==(n=c.radius)&&void 0!==n?n:3,d=null!==(r=null!==(i=c.fill)&&void 0!==i?i:null===(o=t.config.themeSemantic)||void 0===o?void 0:o.primary)&&void 0!==r?r:"#007bff",h=null!==(s=c.opacity)&&void 0!==s?s:.7,f=c.stroke,g=c.strokeWidth;for(const n of e){const e=t.getX(n),i=t.getY(n);if(null==i||Number.isNaN(i))continue;const o=t.scales.x(e),r=t.scales.y(i);let s=d;if(t.getCategory){const e=t.getCategory(n);s=(null===(l=t.config.barColors)||void 0===l?void 0:l[e])||s}const c={type:"point",x:o,y:r,r:u,style:{fill:s,opacity:h,stroke:f,strokeWidth:g},datum:n};t.getPointId&&(c.pointId=t.getPointId(n)+""),a.push(c)}return a}(d,e);case"waterfall":return function(t,e,n){var i,o,r,s,l,a,c;const u=[],d=t.scales,h=t.config.waterfallStyle,f=e.filter(e=>{const n=t.getY(e),i=t.getX(e);return null!=n&&!Number.isNaN(n)&&null!=i&&isFinite(i)});if(0===f.length)return u;const g=null!==(r=null!==(i=null==h?void 0:h.positiveColor)&&void 0!==i?i:null===(o=t.config.themeSemantic)||void 0===o?void 0:o.success)&&void 0!==r?r:"#28a745",y=null!==(a=null!==(s=null==h?void 0:h.negativeColor)&&void 0!==s?s:null===(l=t.config.themeSemantic)||void 0===l?void 0:l.danger)&&void 0!==a?a:"#dc3545",p=null!==(c=null==h?void 0:h.gap)&&void 0!==c?c:1,v=null==h?void 0:h.stroke,m=null==h?void 0:h.strokeWidth,x=null==h?void 0:h.opacity;let b=0;for(let e=0;f.length>e;e++){const i=f[e],o=t.getX(i),r=t.getY(i),s=b+r;let l;l=f.length-1>e?t.getX(f[e+1])-o:e>0?o-t.getX(f[e-1]):0;const a=d.x(o),c=0!==l?d.x(o+l):a+n.width/10,k=Math.min(a,c)+p/2,w=Math.max(a,c)-p/2-k;if(0>=w){b=s;continue}const A=d.y(b),S=d.y(s),M=Math.min(A,S),j=Math.abs(A-S),_={fill:0>r?y:g,stroke:v,strokeWidth:m};null!=x&&(_.opacity=x),u.push(F(k,M,w,j,_,Object.assign(Object.assign({},i),{baseline:b,cumEnd:s,delta:r,_connectorStroke:null==h?void 0:h.connectorStroke,_connectorWidth:null==h?void 0:h.connectorWidth}))),b=s}return u}(d,e,t);case"candlestick":return function(t,e){var n,i;if(!t.getHigh||!t.getLow||!t.scales)return[];const o=null!==(n=t.config.candlestickRangeMode)&&void 0!==n&&n;if(!(o||t.getOpen&&t.getClose))return[];const r=[],s=t.config.candlestickStyle||{},l=s.rangeColor||"#6366f1",a=o?l:s.upColor||"#28a745",c=o?l:s.downColor||"#dc3545",u=o?l:s.wickColor||"#333",d=s.wickWidth||(o?2:1),h=e.map(e=>t.getX(e)).filter(t=>null!=t&&!Number.isNaN(t)).sort((t,e)=>t-e);let f=null!==(i=s.bodyWidth)&&void 0!==i?i:0;if(null==s.bodyWidth)if(h.length>1){let e=1/0;for(let n=1;h.length>n;n++){const i=Math.abs(t.scales.x(h[n])-t.scales.x(h[n-1]));i>0&&e>i&&(e=i)}f=e!==1/0?Math.max(2,Math.min(.6*e,20)):6}else f=6;for(const n of e){const e=t.getX(n);if(null==e||Number.isNaN(e))continue;const i=t.getHigh(n),s=t.getLow(n);if(null==i||Number.isNaN(i)||null==s||Number.isNaN(s))continue;const l=o?i:t.getOpen(n),h=o?s:t.getClose(n);if(!o&&[l,h].some(t=>null==t||Number.isNaN(t)))continue;const g=h>=l,y={type:"candlestick",x:t.scales.x(e),openY:t.scales.y(l),closeY:t.scales.y(h),highY:t.scales.y(i),lowY:t.scales.y(s),bodyWidth:f,upColor:a,downColor:c,wickColor:u,wickWidth:d,isUp:g,datum:n};o&&(y.isRange=!0),r.push(y)}return r}(d,e);default:return[]}}resolveBoundsStyle(t,e){var n;const i=this.config.boundsStyle;return"function"==typeof i?i(e||{},t):i&&"object"==typeof i?i:{fill:this.resolveLineStyle(t,e).stroke||(null===(n=this.config.themeSemantic)||void 0===n?void 0:n.primary)||"#4e79a7",fillOpacity:.2,stroke:"none"}}computeDecayOpacity(t,e){const n=this.config.decay;return n&&e>1?ht(n,t,e):1}applyDecay(t,e){this.config.decay&&function(t,e,n){var i,o;const r=n.length;if(1>=r)return;const s=new Map;for(let t=0;n.length>t;t++)s.set(n[t],t);for(const n of e){if("line"===n.type){const e=Array.isArray(n.datum)?n.datum:[];if(2>e.length)continue;const i=Array(e.length);let o=!1;for(let n=0;e.length>n;n++){const l=s.get(e[n]);null!=l?(i[n]=ht(t,l,r),1>i[n]&&(o=!0)):i[n]=1}o&&(n._decayOpacities=i);continue}if("area"===n.type){const e=Array.isArray(n.datum)?n.datum:[],i=n.topPath?n.topPath.length:e.length;if(2>i)continue;if(e.length===i){const o=Array(i);let l=!1;for(let n=0;e.length>n;n++){const i=s.get(e[n]);null!=i?(o[n]=ht(t,i,r),1>o[n]&&(l=!0)):o[n]=1}l&&(n._decayOpacities=o)}else{let o=1;for(const n of e){const e=s.get(n);if(null!=e){const n=ht(t,e,r);o>n&&(o=n)}}if(1>o){const t=Array(i);t.fill(o),n._decayOpacities=t}}continue}const e=s.get(n.datum);if(null==e)continue;const l=ht(t,e,r);if("heatcell"===n.type)n.style={opacity:l};else if("candlestick"===n.type)n._decayOpacity=l;else{const t=null!==(o=null===(i=n.style)||void 0===i?void 0:i.opacity)&&void 0!==o?o:1;n.style=Object.assign(Object.assign({},n.style),{opacity:t*l})}}}(this.config.decay,t,e)}applyPulse(t,e){this.config.pulse&&this.timestampBuffer&&function(t,e,n,i){var o,r;const s="undefined"!=typeof performance?performance.now():Date.now(),l=null!==(o=t.color)&&void 0!==o?o:"rgba(255,255,255,0.6)",a=null!==(r=t.glowRadius)&&void 0!==r?r:4,c=new Map;for(let t=0;n.length>t;t++)c.set(n[t],t);for(const n of e){if("line"===n.type)continue;if("area"===n.type){const e=Array.isArray(n.datum)?n.datum:[n.datum];let o=0;for(const n of e){const e=c.get(n);if(null==e)continue;const r=i.get(e);if(null==r)continue;const l=ft(t,r,s);l>o&&(o=l)}o>0&&(n._pulseIntensity=o,n._pulseColor=l);continue}const e=c.get(n.datum);if(null==e)continue;const o=i.get(e);if(null==o)continue;const r=ft(t,o,s);r>0&&(n._pulseIntensity=r,n._pulseColor=l,n._pulseGlowRadius=a)}}(this.config.pulse,t,e,this.timestampBuffer)}get hasActivePulses(){return!!this.config.pulse&&function(t,e){var n;if(!e||0===e.size)return!1;const i="undefined"!=typeof performance?performance.now():Date.now(),o=null!==(n=t.duration)&&void 0!==n?n:500,r=e.peek();return null!=r&&o>i-r}(this.config.pulse,this.timestampBuffer)}get transitionContext(){return{runtimeMode:this.config.runtimeMode,getX:this.getX,getY:this.getY,getCategory:this.getCategory}}snapshotPositions(){!function(t,e,n,i){var o,r,s,l;n.clear(),i.clear();for(let a=0;e.length>a;a++){const c=e[a],u=vt(t,c,a);u&&("point"===c.type?n.set(u,{x:c.x,y:c.y,r:c.r,opacity:c.style.opacity}):"rect"===c.type?n.set(u,{x:c.x,y:c.y,w:c.w,h:c.h,opacity:c.style.opacity}):"heatcell"===c.type?n.set(u,{x:c.x,y:c.y,w:c.w,h:c.h,opacity:null===(o=c.style)||void 0===o?void 0:o.opacity}):"candlestick"===c.type?n.set(u,{x:c.x,y:c.openY,w:c.bodyWidth,openY:c.openY,closeY:c.closeY,highY:c.highY,lowY:c.lowY,opacity:null===(r=c.style)||void 0===r?void 0:r.opacity}):"line"===c.type?i.set(u,{path:c.path.map(t=>[t[0],t[1]]),opacity:null===(s=c.style)||void 0===s?void 0:s.opacity}):"area"===c.type&&i.set(u,{topPath:c.topPath.map(t=>[t[0],t[1]]),bottomPath:c.bottomPath.map(t=>[t[0],t[1]]),opacity:null===(l=c.style)||void 0===l?void 0:l.opacity}))}}(this.transitionContext,this.scene,this.prevPositionMap,this.prevPathMap)}synthesizeIntroPositions(){var t,e,n;this.prevPositionMap.clear(),this.prevPathMap.clear();const i=null!==(e=null===(t=this.scales)||void 0===t?void 0:t.y(0))&&void 0!==e?e:0;for(let t=0;this.scene.length>t;t++){const e=this.scene[t],o=vt(this.transitionContext,e,t);o&&("point"===e.type?this.prevPositionMap.set(o,{x:e.x,y:e.y,r:0,opacity:0}):"rect"===e.type?this.prevPositionMap.set(o,{x:e.x,y:i,w:e.w,h:0,opacity:null!==(n=e.style.opacity)&&void 0!==n?n:1}):"heatcell"===e.type?this.prevPositionMap.set(o,{x:e.x,y:e.y,w:e.w,h:e.h,opacity:0}):"line"===e.type?(e._introClipFraction=0,this.prevPathMap.set(o,{path:e.path.map(t=>[t[0],t[1]]),opacity:e.style.opacity})):"area"===e.type&&(e._introClipFraction=0,this.prevPathMap.set(o,{topPath:e.topPath.map(t=>[t[0],t[1]]),bottomPath:e.bottomPath.map(t=>[t[0],t[1]]),opacity:e.style.opacity})))}}startTransition(){if(!this.config.transition)return;const t=function(t,e,n,i,o){var r,s,l,a,c,u,d,h,f,g,y,p,v,m,x,b,k,w,A,S,M,j,_,P,C,E,O,T,L,D,N,R,I,$,W,z,F,Y,B,H,X;if(0===i.size&&0===o.size)return n;const G=null!==(r=e.duration)&&void 0!==r?r:300;if(n.exitNodes.length>0){const t=new Set(n.exitNodes);n.scene=n.scene.filter(e=>!t.has(e)),n.exitNodes=[]}let V=!1;const q=new Set,U=new Set;for(let e=0;n.scene.length>e;e++){const r=n.scene[e],E=vt(t,r,e);if(!E)continue;if(r._transitionKey=E,"line"===r.type||"area"===r.type){const t=o.get(E);if(t){if(U.add(E),"line"===r.type&&t.path&&t.path.length===r.path.length){r._targetPath=r.path.map(t=>[t[0],t[1]]),r._prevPath=t.path;for(let e=0;r.path.length>e;e++)r.path[e]=[t.path[e][0],t.path[e][1]];V=!0}else if("area"===r.type&&t.topPath&&t.bottomPath&&t.topPath.length===r.topPath.length&&t.bottomPath.length===r.bottomPath.length){r._targetTopPath=r.topPath.map(t=>[t[0],t[1]]),r._targetBottomPath=r.bottomPath.map(t=>[t[0],t[1]]),r._prevTopPath=t.topPath,r._prevBottomPath=t.bottomPath;for(let e=0;r.topPath.length>e;e++)r.topPath[e]=[t.topPath[e][0],t.topPath[e][1]];for(let e=0;r.bottomPath.length>e;e++)r.bottomPath[e]=[t.bottomPath[e][0],t.bottomPath[e][1]];V=!0}r._targetOpacity=null!==(s=r.style.opacity)&&void 0!==s?s:1,r._startOpacity=null!==(a=null!==(l=t.opacity)&&void 0!==l?l:r.style.opacity)&&void 0!==a?a:1}else r._targetOpacity=null!==(c=r.style.opacity)&&void 0!==c?c:1,r._startOpacity=0,r.style=Object.assign(Object.assign({},r.style),{opacity:0}),V=!0;continue}const O=i.get(E);if("point"===r.type)if(O){q.add(E);const t={x:r.x,y:r.y,r:r.r};r._targetOpacity=null!==(u=r.style.opacity)&&void 0!==u?u:1,O.x===t.x&&O.y===t.y&&O.r===t.r||(r._targetX=t.x,r._targetY=t.y,r._targetR=t.r,r.x=O.x,r.y=O.y,r.r=null!==(d=O.r)&&void 0!==d?d:r.r,V=!0)}else r._targetOpacity=null!==(h=r.style.opacity)&&void 0!==h?h:1,r.style=Object.assign(Object.assign({},r.style),{opacity:0}),V=!0;else if("rect"===r.type)if(O){q.add(E);const t={x:r.x,y:r.y,w:r.w,h:r.h};r._targetOpacity=null!==(f=r.style.opacity)&&void 0!==f?f:1,O.x===t.x&&O.y===t.y&&O.w===t.w&&O.h===t.h||(r._targetX=t.x,r._targetY=t.y,r._targetW=t.w,r._targetH=t.h,r.x=O.x,r.y=O.y,r.w=null!==(g=O.w)&&void 0!==g?g:r.w,r.h=null!==(y=O.h)&&void 0!==y?y:r.h,V=!0)}else r._targetOpacity=null!==(p=r.style.opacity)&&void 0!==p?p:1,r.style=Object.assign(Object.assign({},r.style),{opacity:0}),V=!0;else if("heatcell"===r.type)if(O){q.add(E);const t={x:r.x,y:r.y,w:r.w,h:r.h};r._targetOpacity=null!==(m=null===(v=r.style)||void 0===v?void 0:v.opacity)&&void 0!==m?m:1,O.x===t.x&&O.y===t.y&&O.w===t.w&&O.h===t.h||(r._targetX=t.x,r._targetY=t.y,r._targetW=t.w,r._targetH=t.h,r.x=O.x,r.y=O.y,r.w=null!==(x=O.w)&&void 0!==x?x:r.w,r.h=null!==(b=O.h)&&void 0!==b?b:r.h,V=!0)}else r._targetOpacity=null!==(w=null===(k=r.style)||void 0===k?void 0:k.opacity)&&void 0!==w?w:1,r.style=Object.assign(Object.assign({},r.style||{}),{opacity:0}),V=!0;else if("candlestick"===r.type)if(O&&null!=O.openY){q.add(E);const t={x:r.x,openY:r.openY,closeY:r.closeY,highY:r.highY,lowY:r.lowY};r._targetOpacity=null!==(S=null===(A=r.style)||void 0===A?void 0:A.opacity)&&void 0!==S?S:1,(O.x!==t.x||O.openY!==t.openY||O.closeY!==t.closeY||O.highY!==t.highY||O.lowY!==t.lowY)&&(r._targetX=t.x,r._targetOpenY=t.openY,r._targetCloseY=t.closeY,r._targetHighY=t.highY,r._targetLowY=t.lowY,r.x=O.x,r.openY=O.openY,r.closeY=null!==(M=O.closeY)&&void 0!==M?M:r.closeY,r.highY=null!==(j=O.highY)&&void 0!==j?j:r.highY,r.lowY=null!==(_=O.lowY)&&void 0!==_?_:r.lowY,V=!0)}else r._targetOpacity=null!==(C=null===(P=r.style)||void 0===P?void 0:P.opacity)&&void 0!==C?C:1,r.style=Object.assign(Object.assign({},r.style||{}),{opacity:0}),V=!0}for(const[t,e]of o)if(!U.has(t))if(t.startsWith("l:")&&e.path){const i={type:"line",path:e.path.map(t=>[t[0],t[1]]),group:t.slice(2),style:{stroke:"#999",strokeWidth:1,opacity:null!==(E=e.opacity)&&void 0!==E?E:1},_targetOpacity:0,_transitionKey:t,datum:null};n.exitNodes.push(i),V=!0}else if(t.startsWith("a:")&&e.topPath&&e.bottomPath){const i={type:"area",topPath:e.topPath.map(t=>[t[0],t[1]]),bottomPath:e.bottomPath.map(t=>[t[0],t[1]]),group:t.slice(2),style:{fill:"#999",opacity:null!==(O=e.opacity)&&void 0!==O?O:1},_targetOpacity:0,_transitionKey:t,datum:null};n.exitNodes.push(i),V=!0}for(const[t,e]of i)if(!q.has(t)){if(t.startsWith("p:")){const i={type:"point",x:e.x,y:e.y,r:null!==(T=e.r)&&void 0!==T?T:3,style:{opacity:null!==(L=e.opacity)&&void 0!==L?L:1},datum:null,_targetOpacity:0,_transitionKey:t};n.exitNodes.push(i)}else if(t.startsWith("r:")){const i={type:"rect",x:e.x,y:e.y,w:null!==(D=e.w)&&void 0!==D?D:0,h:null!==(N=e.h)&&void 0!==N?N:0,style:{opacity:null!==(R=e.opacity)&&void 0!==R?R:1,fill:"#999"},datum:null,_targetOpacity:0,_transitionKey:t};n.exitNodes.push(i)}else if(t.startsWith("h:")){const i={type:"heatcell",x:e.x,y:e.y,w:null!==(I=e.w)&&void 0!==I?I:0,h:null!==($=e.h)&&void 0!==$?$:0,fill:"#999",datum:null,style:{opacity:null!==(W=e.opacity)&&void 0!==W?W:1},_targetOpacity:0,_transitionKey:t};n.exitNodes.push(i)}else if(t.startsWith("c:")){const i=null!==(z=e.openY)&&void 0!==z?z:e.y,o={type:"candlestick",x:e.x,openY:i,closeY:null!==(F=e.closeY)&&void 0!==F?F:i,highY:null!==(Y=e.highY)&&void 0!==Y?Y:i,lowY:null!==(B=e.lowY)&&void 0!==B?B:i,bodyWidth:null!==(H=e.w)&&void 0!==H?H:6,upColor:"#999",downColor:"#999",wickColor:"#999",wickWidth:1,isUp:!0,datum:null,style:{opacity:null!==(X=e.opacity)&&void 0!==X?X:1},_targetOpacity:0,_transitionKey:t};n.exitNodes.push(o)}V=!0}return n.exitNodes.length>0&&(n.scene=[...n.scene,...n.exitNodes]),V&&(n.activeTransition={startTime:"undefined"!=typeof performance?performance.now():Date.now(),duration:G}),n}(this.transitionContext,this.config.transition,{scene:this.scene,exitNodes:this.exitNodes,activeTransition:this.activeTransition},this.prevPositionMap,this.prevPathMap);this.scene=t.scene,this.exitNodes=t.exitNodes,this.activeTransition=t.activeTransition}advanceTransition(t){if(!this.activeTransition||!this.config.transition)return!1;const e={scene:this.scene,exitNodes:this.exitNodes,activeTransition:this.activeTransition},n=function(t,e,n,i){var o,r,s,l,a,c;if(!n.activeTransition)return!1;const u=yt(t,n.activeTransition),d=gt(u,"linear"===e.easing?"linear":"ease-out-cubic");for(const t of n.scene){const e=t._transitionKey;if("point"===t.type){if(void 0!==t._targetOpacity){const n=e?i.get(e):void 0,r=n?null!==(o=n.opacity)&&void 0!==o?o:1:0;t.style.opacity=pt(r,t._targetOpacity,d)}if(void 0===t._targetX)continue;if(!e)continue;const n=i.get(e);if(!n)continue;t.x=pt(n.x,t._targetX,d),t.y=pt(n.y,t._targetY,d),void 0!==t._targetR&&void 0!==n.r&&(t.r=pt(n.r,t._targetR,d))}else if("rect"===t.type){if(void 0!==t._targetOpacity){const n=e?i.get(e):void 0,o=n?null!==(r=n.opacity)&&void 0!==r?r:1:0;t.style.opacity=pt(o,t._targetOpacity,d)}if(void 0===t._targetX)continue;if(!e)continue;const n=i.get(e);if(!n)continue;t.x=pt(n.x,t._targetX,d),t.y=pt(n.y,t._targetY,d),void 0!==n.w&&(t.w=pt(n.w,t._targetW,d)),void 0!==n.h&&(t.h=pt(n.h,t._targetH,d))}else if("heatcell"===t.type){if(void 0!==t._targetOpacity){const n=e?i.get(e):void 0,o=n?null!==(s=n.opacity)&&void 0!==s?s:1:0;t.style=Object.assign(Object.assign({},t.style||{}),{opacity:pt(o,t._targetOpacity,d)})}if(void 0===t._targetX)continue;if(!e)continue;const n=i.get(e);if(!n)continue;t.x=pt(n.x,t._targetX,d),t.y=pt(n.y,t._targetY,d),void 0!==n.w&&(t.w=pt(n.w,t._targetW,d)),void 0!==n.h&&(t.h=pt(n.h,t._targetH,d))}else if("candlestick"===t.type){if(void 0!==t._targetOpacity){const n=e?i.get(e):void 0,o=n?null!==(l=n.opacity)&&void 0!==l?l:1:0;t.style=Object.assign(Object.assign({},t.style||{}),{opacity:pt(o,t._targetOpacity,d)})}if(void 0===t._targetX)continue;if(!e)continue;const n=i.get(e);if(!n)continue;t.x=pt(n.x,t._targetX,d),void 0!==n.openY&&(t.openY=pt(n.openY,t._targetOpenY,d)),void 0!==n.closeY&&(t.closeY=pt(n.closeY,t._targetCloseY,d)),void 0!==n.highY&&(t.highY=pt(n.highY,t._targetHighY,d)),void 0!==n.lowY&&(t.lowY=pt(n.lowY,t._targetLowY,d))}else if("line"===t.type){if(void 0!==t._targetOpacity){const e=null!==(a=t._startOpacity)&&void 0!==a?a:0;t.style=Object.assign(Object.assign({},t.style),{opacity:pt(e,t._targetOpacity,d)})}void 0!==t._introClipFraction&&(t._introClipFraction=d);const e=t._prevPath,n=t._targetPath;if(e&&n&&e.length===t.path.length)for(let i=0;t.path.length>i;i++)t.path[i][0]=pt(e[i][0],n[i][0],d),t.path[i][1]=pt(e[i][1],n[i][1],d)}else if("area"===t.type){if(void 0!==t._targetOpacity){const e=null!==(c=t._startOpacity)&&void 0!==c?c:0;t.style=Object.assign(Object.assign({},t.style),{opacity:pt(e,t._targetOpacity,d)})}void 0!==t._introClipFraction&&(t._introClipFraction=d);const e=t._prevTopPath,n=t._prevBottomPath,i=t._targetTopPath,o=t._targetBottomPath;if(e&&i&&e.length===t.topPath.length)for(let n=0;t.topPath.length>n;n++)t.topPath[n][0]=pt(e[n][0],i[n][0],d),t.topPath[n][1]=pt(e[n][1],i[n][1],d);if(n&&o&&n.length===t.bottomPath.length)for(let e=0;t.bottomPath.length>e;e++)t.bottomPath[e][0]=pt(n[e][0],o[e][0],d),t.bottomPath[e][1]=pt(n[e][1],o[e][1],d)}}if(u>=1){for(const t of n.scene){if(void 0!==t._targetOpacity){const e=t._targetOpacity;t.style=Object.assign(Object.assign({},"line"===t.type||"area"===t.type?t.style:t.style||{}),{opacity:0===e?0:e}),t._targetOpacity=void 0}if("point"===t.type){if(void 0===t._targetX)continue;t.x=t._targetX,t.y=t._targetY,void 0!==t._targetR&&(t.r=t._targetR),t._targetX=void 0,t._targetY=void 0,t._targetR=void 0}else if("rect"===t.type){if(void 0===t._targetX)continue;t.x=t._targetX,t.y=t._targetY,t.w=t._targetW,t.h=t._targetH,t._targetX=void 0,t._targetY=void 0,t._targetW=void 0,t._targetH=void 0}else if("heatcell"===t.type){if(void 0===t._targetX)continue;t.x=t._targetX,t.y=t._targetY,t.w=t._targetW,t.h=t._targetH,t._targetX=void 0,t._targetY=void 0,t._targetW=void 0,t._targetH=void 0}else if("candlestick"===t.type){if(void 0===t._targetX)continue;t.x=t._targetX,void 0!==t._targetOpenY&&(t.openY=t._targetOpenY),void 0!==t._targetCloseY&&(t.closeY=t._targetCloseY),void 0!==t._targetHighY&&(t.highY=t._targetHighY),void 0!==t._targetLowY&&(t.lowY=t._targetLowY),t._targetX=void 0,t._targetOpenY=void 0,t._targetCloseY=void 0,t._targetHighY=void 0,t._targetLowY=void 0}else if("line"===t.type){const e=t._targetPath;if(e)for(let n=0;t.path.length>n;n++)t.path[n]=e[n];t._prevPath=void 0,t._targetPath=void 0,t._introClipFraction=void 0}else if("area"===t.type){const e=t._targetTopPath,n=t._targetBottomPath;if(e)for(let n=0;t.topPath.length>n;n++)t.topPath[n]=e[n];if(n)for(let e=0;t.bottomPath.length>e;e++)t.bottomPath[e]=n[e];t._prevTopPath=void 0,t._prevBottomPath=void 0,t._targetTopPath=void 0,t._targetBottomPath=void 0,t._introClipFraction=void 0}}if(n.exitNodes.length>0){const t=new Set(n.exitNodes);n.scene=n.scene.filter(e=>!t.has(e)),n.exitNodes=[]}return n.activeTransition=null,!1}return!0}(t,this.config.transition,e,this.prevPositionMap);return this.scene=e.scene,this.exitNodes=e.exitNodes,this.activeTransition=e.activeTransition,n}cancelIntroAnimation(){this.prevPositionMap.clear(),this.prevPathMap.clear(),this.activeTransition=null;for(const t of this.scene)"line"!==t.type&&"area"!==t.type||(t._introClipFraction=void 0)}groupData(t){if(!this.getGroup)return[{key:"_default",data:t}];const e=new Map;for(const n of t){const t=this.getGroup(n);e.has(t)||e.set(t,[]),e.get(t).push(n)}return Array.from(e.entries()).map(([t,e])=>({key:t,data:e}))}resolveColorMap(t){if(this._colorMapCache&&this._colorMapCache.version===this._ingestVersion)return this._colorMapCache.map;const e=new Set;for(const n of t){const t=this.getColor(n);t&&e.add(t)}const n=Array.from(e).sort(),i=n.join("\0");if(this._colorMapCache&&this._colorMapCache.key===i)return this._colorMapCache.version=this._ingestVersion,this._colorMapCache.map;const o=Array.isArray(this.config.colorScheme)?this.config.colorScheme:this.config.themeCategorical||dt,r=new Map;for(let t=0;n.length>t;t++)r.set(n[t],o[t%o.length]);return this._colorMapCache={key:i,map:r,version:this._ingestVersion},r}resolveLineStyle(t,e){var n;const i=this.config.lineStyle;if("function"==typeof i){const n=i(e||{},t);if(n&&!n.stroke&&t){const e=this.resolveGroupColor(t);if(e)return Object.assign(Object.assign({},n),{stroke:e})}return n}const o=null===(n=this.config.themeSemantic)||void 0===n?void 0:n.primary;return i&&"object"==typeof i?{stroke:i.stroke||o||"#007bff",strokeWidth:i.strokeWidth||2,strokeDasharray:i.strokeDasharray,fill:i.fill,fillOpacity:i.fillOpacity,opacity:i.opacity}:{stroke:this.resolveGroupColor(t)||o||"#007bff",strokeWidth:2}}resolveAreaStyle(t,e){var n,i;if(this.config.areaStyle){const n=this.config.areaStyle(e||{});if(n&&!n.fill&&t){const e=this.resolveGroupColor(t);if(e)return Object.assign(Object.assign({},n),{fill:e,stroke:n.stroke||e})}return n}const o=this.config.lineStyle;if("function"==typeof o){const n=o(e||{},t);if(n&&!n.fill&&t){const e=this.resolveGroupColor(t);if(e)return Object.assign(Object.assign({},n),{fill:e,stroke:n.stroke||e})}return n}const r=null===(n=this.config.themeSemantic)||void 0===n?void 0:n.primary;if(o&&"object"==typeof o)return{fill:o.fill||o.stroke||r||"#4e79a7",fillOpacity:null!==(i=o.fillOpacity)&&void 0!==i?i:.7,stroke:o.stroke||r||"#4e79a7",strokeWidth:o.strokeWidth||2};const s=this.resolveGroupColor(t)||r||"#4e79a7";return{fill:s,fillOpacity:.7,stroke:s,strokeWidth:2}}resolveGroupColor(t){if(this._colorMapCache){const e=this._colorMapCache.map.get(t);if(e)return e}const e=this._groupColorMap.get(t);if(e)return e;const n=(Array.isArray(this.config.colorScheme)&&this.config.colorScheme.length>0?this.config.colorScheme:null)||(Array.isArray(this.config.themeCategorical)&&this.config.themeCategorical.length>0?this.config.themeCategorical:null)||dt;if(0===n.length)return null;const i=n[this._groupColorCounter%n.length];if(this._groupColorCounter++,this._groupColorMap.set(t,i),this._groupColorMap.size>Ot.GROUP_COLOR_MAP_CAP){const t=this._groupColorMap.keys().next().value;void 0!==t&&this._groupColorMap.delete(t)}return i}getBufferArray(){return!this._bufferDirty&&this._bufferArrayCache||(this._bufferArrayCache=this.buffer.toArray(),this._bufferDirty=!1),this._bufferArrayCache}getData(){return this.getBufferArray()}remove(t){if(!this.getPointId)throw Error("remove() requires pointIdAccessor to be configured");this.config.transition&&this.scene.length>0&&this.snapshotPositions();const e=new Set(Array.isArray(t)?t:[t]),n=this.getPointId,i=t=>e.has(n(t));if(this.timestampBuffer&&this.timestampBuffer.size>0){const t=this.timestampBuffer.toArray(),e=new Set;this.buffer.forEach((t,n)=>{i(t)&&e.add(n)}),this.timestampBuffer.clear();for(let n=0;t.length>n;n++)e.has(n)||this.timestampBuffer.push(t[n])}const o=this.buffer.remove(i);if(0===o.length)return o;for(const t of o)this.xExtent.evict(this.getX(t)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow?(this.yExtent.evict(this.getHigh(t)),this.yExtent.evict(this.getLow(t))):(this.yExtent.evict(this.getY(t)),this.getY0&&this.yExtent.evict(this.getY0(t)));return this.needsFullRebuild=!0,this._bufferDirty=!0,this._ingestVersion++,o}update(t,e){if(!this.getPointId)throw Error("update() requires pointIdAccessor to be configured");const n=new Set(Array.isArray(t)?t:[t]),i=this.getPointId,o=new Set;this.buffer.forEach((t,e)=>{n.has(i(t))&&o.add(e)});const r=this.buffer.update(t=>n.has(i(t)),e);if(0===r.length)return r;for(const t of r)this.xExtent.evict(this.getX(t)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow?(this.yExtent.evict(this.getHigh(t)),this.yExtent.evict(this.getLow(t))):(this.yExtent.evict(this.getY(t)),this.getY0&&this.yExtent.evict(this.getY0(t)));return this.buffer.forEach((t,e)=>{o.has(e)&&(this.xExtent.push(this.getX(t)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow?(this.yExtent.push(this.getHigh(t)),this.yExtent.push(this.getLow(t))):(this.yExtent.push(this.getY(t)),this.getY0&&this.yExtent.push(this.getY0(t))))}),this.needsFullRebuild=!0,this._bufferDirty=!0,this._ingestVersion++,r}getBinBoundaries(){return this._binBoundaries}getExtents(){return this.xExtent.min===1/0?null:{x:this.xExtent.extent,y:this.yExtent.extent}}clear(){this.buffer.clear(),this.xExtent.clear(),this.yExtent.clear(),this._hasRenderedOnce=!1,this.timestampBuffer&&this.timestampBuffer.clear(),this.prevPositionMap.clear(),this.prevPathMap.clear(),this.exitNodes=[],this.activeTransition=null,this.lastIngestTime=0,this._lastBoundedInsertsRef=null,this.needsFullRebuild=!0,this._bufferDirty=!0,this._bufferArrayCache=null,this.lastLayout=null,this.scales=null,this.scene=[],this._quadtree=null,this._maxPointRadius=0,this._colorMapCache=null,this._groupColorMap=new Map,this._groupColorCounter=0,this._barCategoryCache=null,this._binBoundaries=[],this._stackExtentCache=null,this.version++}get size(){return this.buffer.size}getBuffer(){return this.buffer}getXAccessor(){return this.getX}getYAccessor(){return this.getY}getCategoryAccessor(){return this.getCategory}updateConfig(t){var e,n,i,o;const r=Object.assign({},this.config);("colorScheme"in t||"themeCategorical"in t||"colorAccessor"in t)&&(this._colorMapCache=null,this._groupColorMap=new Map,this._groupColorCounter=0),("barColors"in t||"colorScheme"in t)&&(this._barCategoryCache=null),("normalize"in t||"extentPadding"in t||"xAccessor"in t||"yAccessor"in t||"timeAccessor"in t||"valueAccessor"in t||"boundsAccessor"in t||"band"in t||"y0Accessor"in t||"openAccessor"in t||"highAccessor"in t||"lowAccessor"in t||"closeAccessor"in t||"groupAccessor"in t||"categoryAccessor"in t||"chartType"in t||"runtimeMode"in t)&&(this._stackExtentCache=null);let s=!1,l=!1;Object.assign(this.config,t);const a="chartType"in t&&t.chartType!==r.chartType||"runtimeMode"in t&&t.runtimeMode!==r.runtimeMode;if(a||"xAccessor"in t||"yAccessor"in t||"timeAccessor"in t||"valueAccessor"in t){const c=a||!B(null!==(e=t.xAccessor)&&void 0!==e?e:t.timeAccessor,null!==(n=r.xAccessor)&&void 0!==n?n:r.timeAccessor),u=a||!B(null!==(i=t.yAccessor)&&void 0!==i?i:t.valueAccessor,null!==(o=r.yAccessor)&&void 0!==o?o:r.valueAccessor);(c||u)&&(["bar","swarm","waterfall"].includes(this.config.chartType)||"streaming"===this.config.runtimeMode?(this.getX=H(this.config.timeAccessor||this.config.xAccessor,"time"),this.getY=H(this.config.valueAccessor||this.config.yAccessor,"value")):(this.getX=H(this.config.xAccessor,"x"),this.getY=H(this.config.yAccessor,"y")),u&&this.resolvedRibbons.some(t=>"bounds"===t.kind)&&(this.resolvedRibbons=Et(this.config)),s=!0,l=!0)}if("groupAccessor"in t&&!B(t.groupAccessor,r.groupAccessor)&&(this.getGroup=null!=this.config.groupAccessor?G(this.config.groupAccessor):void 0,s=!0),"categoryAccessor"in t&&!B(t.categoryAccessor,r.categoryAccessor)&&(this.getCategory=null!=this.config.categoryAccessor?G(this.config.categoryAccessor):void 0,s=!0),"sizeAccessor"in t&&!B(t.sizeAccessor,r.sizeAccessor)&&(this.getSize=this.config.sizeAccessor?H(this.config.sizeAccessor,"size"):void 0,s=!0),"colorAccessor"in t&&!B(t.colorAccessor,r.colorAccessor)&&(this.getColor=null!=this.config.colorAccessor?G(this.config.colorAccessor):void 0,s=!0),"y0Accessor"in t&&!B(t.y0Accessor,r.y0Accessor)&&(this.getY0=this.config.y0Accessor?H(this.config.y0Accessor,"y0"):void 0,s=!0,l=!0),("boundsAccessor"in t&&!B(t.boundsAccessor,r.boundsAccessor)||"band"in t&&t.band!==r.band||"boundsStyle"in t&&t.boundsStyle!==r.boundsStyle)&&(this.resolvedRibbons=Et(this.config),s=!0,l=!0),"pointIdAccessor"in t&&!B(t.pointIdAccessor,r.pointIdAccessor)&&(this.getPointId=null!=this.config.pointIdAccessor?G(this.config.pointIdAccessor):void 0,s=!0),"candlestick"===this.config.chartType&&(a||"openAccessor"in t&&!B(t.openAccessor,r.openAccessor)||"closeAccessor"in t&&!B(t.closeAccessor,r.closeAccessor)||"highAccessor"in t&&!B(t.highAccessor,r.highAccessor)||"lowAccessor"in t&&!B(t.lowAccessor,r.lowAccessor))){const t=null!=this.config.openAccessor,e=null!=this.config.closeAccessor;this.getOpen=t?H(this.config.openAccessor,"open"):void 0,this.getHigh=H(this.config.highAccessor,"high"),this.getLow=H(this.config.lowAccessor,"low"),this.getClose=e?H(this.config.closeAccessor,"close"):void 0,this.config.candlestickRangeMode=!t&&!e,s=!0,l=!0}if(!s){const e=Object.keys(t).filter(t=>!t.endsWith("Accessor")&&"timeAccessor"!==t&&"valueAccessor"!==t);for(const n of e)if(t[n]!==r[n]){s=!0;break}}s&&(l&&this.rebuildExtents(),this.needsFullRebuild=!0)}}function Tt(...t){const e=t.filter(t=>null!=t);return 0===e.length?null:1===e.length?e[0]:y.createElement(y.Fragment,null,...e)}function Lt(t,e,n){return n.x>t||t>n.x+n.w||n.y>e||e>n.y+n.h?{hit:!1,cx:0,cy:0}:{hit:!0,cx:n.x+n.w/2,cy:n.y+n.h/2}}function Dt(t,e=30){return Math.max((null!=t?t:4)+5,12,e)}function Nt(t){return t instanceof Date?t:"number"==typeof t&&t>1e9?new Date(t):null}function Rt(t,e){const n=Nt(t);if(!n)return!1;const i=Nt(e);return!i||n.getFullYear()!==i.getFullYear()||n.getMonth()!==i.getMonth()}function It(t){let e=t%(2*Math.PI);return 0>e&&(e+=2*Math.PI),e}Ot.GROUP_COLOR_MAP_CAP=1e3,Ot.QUADTREE_THRESHOLD=500;const $t=/^var\(\s*(--[^,)]+)(?:\s*,\s*([^)]+))?\s*\)$/,Wt=new WeakMap;let zt=0,Ft=!1,Yt=null,Bt=null,Ht=null;function Xt(t,e){var n,i;if(!e)return e;const o=$t.exec(e);if(!o)return e;const r=t.canvas;if(!r)return(null===(n=o[2])||void 0===n?void 0:n.trim())||e;!function(){if(Ft)return;if("undefined"==typeof window||"undefined"==typeof document)return;Ft=!0;const t=()=>{zt++};if("undefined"!=typeof MutationObserver&&document.documentElement&&(Yt=new MutationObserver(t),Yt.observe(document.documentElement,{attributes:!0,attributeFilter:["class","style","data-theme","data-semiotic-theme"]})),"function"==typeof window.matchMedia)try{Bt=window.matchMedia("(prefers-color-scheme: dark)"),Ht=t,"function"==typeof Bt.addEventListener?Bt.addEventListener("change",Ht):"function"==typeof Bt.addListener&&Bt.addListener(Ht)}catch(t){}}();let s=Wt.get(r);s&&s.version===zt||(s={version:zt,map:new Map},Wt.set(r,s));const l=s.map.get(e);if(void 0!==l)return l;const a=getComputedStyle(r).getPropertyValue(o[1]).trim()||(null===(i=o[2])||void 0===i?void 0:i.trim())||e;return s.map.set(e,a),a}function Gt(t){switch(t){case"monotoneX":return s.curveMonotoneX;case"monotoneY":return s.curveMonotoneY;case"cardinal":return s.curveCardinal;case"catmullRom":return s.curveCatmullRom;case"step":return s.curveStep;case"stepBefore":return s.curveStepBefore;case"stepAfter":return s.curveStepAfter;case"basis":return s.curveBasis;case"natural":return s.curveNatural;default:return null}}function Vt(t,e,n){return null==e?n:"string"!=typeof e?e:Xt(t,e)||n}function qt(t,e,n,i,o,r,s){if("colorStops"in e){const n=e.colorStops.filter(t=>Number.isFinite(t.offset)).map(t=>({offset:Math.max(0,Math.min(1,t.offset)),color:t.color}));if(2>n.length)return null;const l=t.createLinearGradient(i,o,r,s);for(const t of n)l.addColorStop(t.offset,t.color);return l}const{topOpacity:l,bottomOpacity:a}=e;if(!Number.isFinite(l)||!Number.isFinite(a))return null;const c=Math.max(0,Math.min(1,l)),u=Math.max(0,Math.min(1,a)),d=t.createLinearGradient(i,o,r,s),[h,f,g]=function(t,e){const n=t.fillStyle,i="#010203";try{t.fillStyle=i,t.fillStyle=e}catch(e){return t.fillStyle=n,[78,121,167]}const o=t.fillStyle;if(t.fillStyle=n,"string"!=typeof o)return[78,121,167];if(o.toLowerCase()===i&&e.trim().toLowerCase()!==i)return[78,121,167];if(o.startsWith("#"))return[parseInt(o.slice(1,3),16),parseInt(o.slice(3,5),16),parseInt(o.slice(5,7),16)];const r=o.match(/(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return r?[+r[1],+r[2],+r[3]]:[78,121,167]}(t,n);return d.addColorStop(0,`rgba(${h},${f},${g},${c})`),d.addColorStop(1,`rgba(${h},${f},${g},${u})`),d}function Ut(t,e,n,i,o,r){const s=e.colorStops.filter(t=>Number.isFinite(t.offset)).map(t=>({offset:Math.max(0,Math.min(1,t.offset)),color:t.color}));if(2>s.length)return null;const l=t.createLinearGradient(n,i,o,r);for(const t of s)l.addColorStop(t.offset,t.color);return l}const Kt=new WeakMap;function Zt(t,e){const n=Gt(e);if(!n)return t;const i=Kt.get(t);if(i)return i;const o=function(t,e,n=8){if(!e||2>t.length)return t.map(([t,e])=>[t,e]);const i=[];let o=null;const r={moveTo(t,e){o=[t,e],i.push([t,e])},lineTo(t,e){o=[t,e],i.push([t,e])},bezierCurveTo(t,e,r,s,l,a){if(!o)return o=[l,a],void i.push([l,a]);const[c,u]=o;for(let o=1;n>=o;o++){const d=o/n,h=1-d;i.push([h*h*h*c+3*h*h*d*t+3*h*d*d*r+d*d*d*l,h*h*h*u+3*h*h*d*e+3*h*d*d*s+d*d*d*a])}o=[l,a]},closePath(){},arc(){},rect(){},arcTo(){},quadraticCurveTo(t,e,n,r){o=[n,r],i.push([n,r])}};return s.line().x(t=>t[0]).y(t=>t[1]).curve(e).context(r)(t),i}(t,n);return Kt.set(t,o),o}function Qt(t,e,n,i=30,o,r=0){let s=null;if(o){const t=function(t,e,n,i,o){const r=Math.max(i,o+5,12),s=e-r,l=e+r,a=n-r,c=n+r;let u=null,d=1/0;return t.visit((t,o,r,h,f)=>{if(o>l||s>h||r>c||a>f)return!0;if(!t.length){let o=t;do{const t=o.data,r=t.x-e,s=t.y-n,l=Math.sqrt(r*r+s*s);Dt(t.r,i)>=l&&d>l&&(u=t,d=l),o=o.next}while(o)}return!1}),u?{node:u,distance:d}:null}(o,e,n,i,r);t&&(s={node:t.node,datum:t.node.datum,x:t.node.x,y:t.node.y,distance:t.distance})}for(const r of t){let t=null;switch(r.type){case"point":if(o)break;t=te(r,e,n,i);break;case"line":t=ee(r,e,n,i);break;case"rect":if(null==r.datum)break;t=ie(r,e,n);break;case"heatcell":t=oe(r,e,n);break;case"area":if(!1===r.interactive)break;t=se(r,e,n);break;case"candlestick":t=re(r,e,n)}t&&i>t.distance&&(s&&t.distance>=s.distance||(s=t))}return s}function Jt(t,e,n){if(0===t.length)return null;if(t[0][0]>e||e>t[t.length-1][0])return null;const i=le(t,e);if(0>i)return null;if(Math.abs(t[i][0]-e)>n)return null;let o=i,r=i;i>0&&t[i][0]>=e?(o=i-1,r=i):t.length-1>i&&(o=i,r=i+1);const[s,l]=t[o],[a,c]=t[r];return a===s?l:l+Math.max(0,Math.min(1,(e-s)/(a-s)))*(c-l)}function te(t,e,n,i=30){const o=e-t.x,r=n-t.y,s=Math.sqrt(o*o+r*r);return s>Dt(t.r,i)?null:{node:t,datum:t.datum,x:t.x,y:t.y,distance:s}}function ee(t,e,n,i=30){var o,r;if(0===t.path.length)return null;const s=le(t.path,e);if(0>s)return null;const[l,a]=t.path[s];let c;if(t.path.length>1){let i=1/0;const o=Math.max(0,s-1),r=Math.min(t.path.length-2,s);for(let s=o;r>=s;s++){const[o,r]=t.path[s],[l,a]=t.path[s+1],c=ne(e,n,o,r,l,a);i>c&&(i=c)}c=i}else{const t=e-l,i=n-a;c=Math.sqrt(t*t+i*i)}const u=t.style,d=null!==(r=null!==(o=u.strokeWidth)&&void 0!==o?o:u.lineWidth)&&void 0!==r?r:1;return c>Math.max(5,d/2+2,i)?null:{node:t,datum:Array.isArray(t.datum)&&t.datum[s]?t.datum[s]:t.datum,x:l,y:a,distance:c}}function ne(t,e,n,i,o,r){const s=o-n,l=r-i,a=s*s+l*l;if(0===a)return Math.sqrt(Math.pow(t-n,2)+Math.pow(e-i,2));let c=((t-n)*s+(e-i)*l)/a;c=Math.max(0,Math.min(1,c));const u=i+c*l;return Math.sqrt(Math.pow(t-(n+c*s),2)+Math.pow(e-u,2))}function ie(t,e,n){const i=Lt(e,n,t);return i.hit?{node:t,datum:t.datum,x:i.cx,y:i.cy,distance:0}:null}function oe(t,e,n){const i=Lt(e,n,t);return i.hit?{node:t,datum:t.datum,x:i.cx,y:i.cy,distance:0}:null}function re(t,e,n){const i=t.bodyWidth/2,o=Math.min(t.openY,t.closeY);if(!(t.x-i-3>e||e>t.x+i+3||t.highY-3>n||n>t.lowY+3)){const i=o+Math.max(Math.max(t.openY,t.closeY)-o,1)/2,r=e-t.x,s=n-i;return{node:t,datum:t.datum,x:t.x,y:i,distance:Math.sqrt(r*r+s*s)}}return null}function se(t,e,n){if(0===t.topPath.length)return null;const i=le(t.topPath,e);if(0>i)return null;const[o,r]=t.topPath[i],s=e-o,l=n-r,a=Math.sqrt(s*s+l*l);return{node:t,datum:Array.isArray(t.datum)&&t.datum[i]?t.datum[i]:t.datum,x:o,y:r,distance:a}}function le(t,e){if(0===t.length)return-1;let n=0,i=t.length-1;for(;i>n;){const o=n+i>>1;e>t[o][0]?n=o+1:i=o}return n>0&&Math.abs(t[n][0]-e)>=Math.abs(t[n-1][0]-e)?n-1:n}function ae(t){var e,n;const i=new Map;for(const n of t){const t=null!==(e=n.group)&&void 0!==e?e:"_default";let o=i.get(t);o||(o=[],i.set(t,o)),o.push(n)}for(const t of i.values()){t.sort((t,e)=>t.x-e.x||t.y-e.y);for(let e=0;t.length>e;e++)t[e]._groupIndex=e}const o=Array.from(i.keys()).sort((t,e)=>{const n=i.get(t),o=i.get(e);return(n.length>0?n[0].y:0)-(o.length>0?o[0].y:0)}),r=Array.from(i.values()).flat();r.sort((t,e)=>t.x-e.x||t.y-e.y);const s=new Map;for(let t=0;r.length>t;t++){r[t]._flatIndex=t;const e=null===(n=r[t].datum)||void 0===n?void 0:n.id;null!=e&&s.set(e+"",t)}return{flat:r,groups:o,byGroup:i,idToIdx:s}}function ce(t,e){var n,i;if(0===t.flat.length)return{flatIndex:-1,group:"_default",indexInGroup:-1};const o=Math.max(0,Math.min(e,t.flat.length-1)),r=t.flat[o];return{flatIndex:o,group:null!==(n=r.group)&&void 0!==n?n:"_default",indexInGroup:null!==(i=r._groupIndex)&&void 0!==i?i:0}}function ue(t,e,n){const{group:i,indexInGroup:o}=e,r=n.byGroup.get(i);switch(t){case"ArrowRight":return r.length-1>o?r[o+1]._flatIndex:e.flatIndex;case"ArrowLeft":return o>0?r[o-1]._flatIndex:e.flatIndex;case"ArrowDown":{const t=n.groups.indexOf(i);return n.groups.length-1>t?de(n,n.groups[t+1],r[o]):e.flatIndex}case"ArrowUp":{const t=n.groups.indexOf(i);return t>0?de(n,n.groups[t-1],r[o]):e.flatIndex}case"PageDown":return Math.min(e.flatIndex+Math.max(1,Math.floor(.1*n.flat.length)),n.flat.length-1);case"PageUp":return Math.max(e.flatIndex-Math.max(1,Math.floor(.1*n.flat.length)),0);case"Home":return 0;case"End":return n.flat.length-1;case"Escape":return-1;default:return null}}function de(t,e,n){const i=t.byGroup.get(e);let o=0,r=Math.abs(i[0].x-n.x);for(let t=1;i.length>t;t++){const e=Math.abs(i[t].x-n.x);r>e&&(r=e,o=t)}return i[o]._flatIndex}function he(t){return"object"==typeof t&&null!==t&&"id"in t?t.id:t}function fe(t){return{data:t.datum||{},x:t.x,y:t.y,__semioticHoverData:!0}}function ge(t,n,i,o,r,s){e.useEffect(()=>{if(!t)return;const e=setInterval(()=>{var e;const l=n.current;if(!l||0===l.lastIngestTime)return;const a="undefined"!=typeof performance?performance.now():Date.now(),c=null!==(e=t.threshold)&&void 0!==e?e:5e3,u=a-l.lastIngestTime>c;u!==r&&(s(u),i.current=!0,o())},1e3);return()=>clearInterval(e)},[t,r,o])}const ye={fill:(e,n)=>t.jsx("rect",{style:e,width:n,height:n}),line:(e,n)=>t.jsx("line",{style:e,x1:0,y1:0,x2:n,y2:n})};function pe(t,e,n,i,o){let r;return r="function"==typeof n?n(t):(0,ye[n])(i(t,e),o),r}function ve({swatchSize:e}){return t.jsx("path",{d:`M${.25*e},${.55*e} L${.45*e},${.75*e} L${.8*e},${.3*e}`,fill:"none",stroke:"white",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})}function me(t,e,n){return n&&n.size>0?n.has(t.label)?1:.3:null!=e?t.label===e?1:.3:1}const xe=(e,n,i,o,r,s,l,a,c,u,d)=>{const{type:h="fill",styleFn:f,items:g}=e,y=[];let p=0;const v=!(!n&&!i),m="isolate"===u||void 0===u&&null!=r,{swatchSize:x,labelGap:b,rowHeight:k}=d;return g.forEach((e,u)=>{const d=pe(e,u,h,f,x),w=me(e,o,r),A=r&&r.size>0&&r.has(e.label);y.push(t.jsxs("g",{transform:`translate(0,${p})`,onClick:n?()=>n(e):void 0,onMouseEnter:i?()=>i(e):void 0,onMouseLeave:i?()=>i(null):void 0,tabIndex:v?a===s&&u===l?0:-1:void 0,role:v?"option":void 0,"aria-selected":v&&m?A||!1:void 0,"aria-current":v&&!m&&null!=o&&e.label===o||void 0,"aria-label":e.label,onKeyDown:v?t=>{var i;if("Enter"!==t.key&&" "!==t.key||(t.preventDefault(),n&&n(e)),"ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault();const e=(u+("ArrowDown"===t.key?1:-1)+g.length)%g.length;c(a,e);const n=null===(i=t.currentTarget.parentElement)||void 0===i?void 0:i.children[e];n instanceof SVGElement&&n.focus()}}:void 0,onFocus:v?t=>{c(a,u),i&&i(e);const n=t.currentTarget.querySelector(".semiotic-legend-focus-ring");n&&n.setAttribute("visibility","visible")}:void 0,onBlur:v?t=>{i&&i(null);const e=t.currentTarget.querySelector(".semiotic-legend-focus-ring");e&&e.setAttribute("visibility","hidden")}:void 0,style:{cursor:v?"pointer":"default",opacity:w,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"},children:[v&&t.jsx("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:x+b+2+7*e.label.length,height:x+4,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),d,A&&t.jsx(ve,{swatchSize:x}),t.jsx("text",{y:x/2,x:x+b,dominantBaseline:"central",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:e.label})]},"legend-item-"+u)),p+=k}),y};function be({config:e,orientation:n="vertical",width:i=100}){const{colorFn:o,domain:r,label:s,format:l}=e,a=l||(t=>Math.round(100*t)/100+""),c="grad-legend-"+y.useId();if("horizontal"===n){const e=12,n=Math.min(i,200),l=Math.max(0,(i-n)/2),u=[];for(let e=0;64>=e;e++){const n=e/64;u.push(t.jsx("stop",{offset:100*n+"%",stopColor:o(r[0]+n*(r[1]-r[0]))},e))}return t.jsxs("g",{"aria-label":s||"Gradient legend",children:[t.jsx("defs",{children:t.jsx("linearGradient",{id:c,x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:u})}),s&&t.jsx("text",{x:l+n/2,y:-4,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)",children:s}),t.jsx("rect",{x:l,y:0,width:n,height:e,fill:`url(#${c})`,rx:2}),t.jsx("text",{x:l,y:e+12,textAnchor:"start",fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:a(r[0])}),t.jsx("text",{x:l+n,y:e+12,textAnchor:"end",fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:a(r[1])})]})}const u=[];for(let e=0;64>=e;e++){const n=e/64;u.push(t.jsx("stop",{offset:100*n+"%",stopColor:o(r[1]-n*(r[1]-r[0]))},e))}return t.jsxs("g",{"aria-label":s||"Gradient legend",children:[s&&t.jsx("text",{x:7,y:-6,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)",children:s}),t.jsx("defs",{children:t.jsx("linearGradient",{id:c,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:u})}),t.jsx("rect",{x:0,y:0,width:14,height:100,fill:`url(#${c})`,rx:2}),t.jsx("text",{x:19,y:10,fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:a(r[1])}),t.jsx("text",{x:19,y:100,fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:a(r[0])})]})}function ke(e){const{legendGroups:n,customClickBehavior:i,customHoverBehavior:o,highlightedCategory:r,isolatedCategories:s,legendInteraction:l,title:a="Legend",width:c=100,height:u=20,orientation:d="vertical",legendLayout:h}=e,f=function(t){var e,n,i,o,r;const s=Math.max(1,null!==(e=null==t?void 0:t.swatchSize)&&void 0!==e?e:16),l=Math.max(s,null!==(n=null==t?void 0:t.rowHeight)&&void 0!==n?n:22);return{swatchSize:s,labelGap:Math.max(0,null!==(i=null==t?void 0:t.labelGap)&&void 0!==i?i:6),itemGap:Math.max(0,null!==(o=null==t?void 0:t.itemGap)&&void 0!==o?o:10),rowHeight:l,align:"left"===(null==t?void 0:t.align)?"start":"right"===(null==t?void 0:t.align)?"end":null!==(r=null==t?void 0:t.align)&&void 0!==r?r:"start",maxWidth:null==t?void 0:t.maxWidth}}(h),[g,p]=y.useState(0),[v,m]=y.useState(0),x=y.useCallback((t,e)=>{p(t),m(e)},[]),b="vertical"===d?(({legendGroups:e,width:n,customClickBehavior:i,customHoverBehavior:o,highlightedCategory:r,isolatedCategories:s,focusedGroupIndex:l,focusedItemIndex:a,onFocusedIndexChange:c,legendInteraction:u,metrics:d})=>{let h=24;const f=[];return e.forEach((e,g)=>{h+=5,f.push(t.jsx("line",{stroke:"gray",x1:0,y1:h,x2:n,y2:h},"legend-top-line legend-symbol-"+g)),h+=8,e.label&&(h+=16,f.push(t.jsx("text",{y:h,className:"legend-group-label",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:e.label},"legend-text-"+g)),h+=8),f.push(t.jsx("g",{className:"legend-item",transform:`translate(0,${h})`,children:xe(e,i,o,r,s,l,a,g,c,u,d)},"legend-group-"+g)),h+=e.items.length*d.rowHeight+8}),f})({legendGroups:n||[],width:c,customClickBehavior:i,customHoverBehavior:o,highlightedCategory:r,isolatedCategories:s,focusedGroupIndex:g,focusedItemIndex:v,onFocusedIndexChange:x,legendInteraction:l,metrics:f}):(({legendGroups:e,height:n,width:i,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:s,isolatedCategories:l,focusedGroupIndex:a,focusedItemIndex:c,onFocusedIndexChange:u,legendInteraction:d,metrics:h})=>{var f;let g=0;const y=[];e.forEach((e,n)=>{var f;let p=0;e.label&&(p+=16);const v=((e,n,i,o,r,s,l,a,c,u,d,h)=>{const{type:f="fill",styleFn:g,items:y}=e,p=[],{swatchSize:v,labelGap:m,itemGap:x,rowHeight:b,align:k}=d,w=!(!n&&!i),A="isolate"===u||void 0===u&&null!=r,S=y.map(t=>v+m+7*t.label.length),M=[];let j=0,_=0;S.forEach((t,e)=>{const n=0===_?t:_+x+t;h&&h>0&&_>0&&n>h?(M.push({start:j,end:e,width:_}),j=e,_=t):_=n}),y.length>0&&M.push({start:j,end:y.length,width:_}),M.forEach((e,u)=>{let d="center"===k?Math.max(0,((null!=h?h:e.width)-e.width)/2):"end"===k?Math.max(0,(null!=h?h:e.width)-e.width):0;for(let h=e.start;e.end>h;h++){const e=y[h],k=pe(e,h,f,g,v),M=me(e,o,r),j=r&&r.size>0&&r.has(e.label);p.push(t.jsxs("g",{transform:`translate(${d},${u*b})`,onClick:n?()=>n(e):void 0,onMouseEnter:i?()=>i(e):void 0,onMouseLeave:i?()=>i(null):void 0,tabIndex:w?a===s&&h===l?0:-1:void 0,role:w?"option":void 0,"aria-selected":w&&A?j||!1:void 0,"aria-current":w&&!A&&null!=o&&e.label===o||void 0,"aria-label":e.label,onKeyDown:w?t=>{var i;if("Enter"!==t.key&&" "!==t.key||(t.preventDefault(),n&&n(e)),"ArrowRight"===t.key||"ArrowLeft"===t.key){t.preventDefault();const e=(h+("ArrowRight"===t.key?1:-1)+y.length)%y.length;c(a,e);const n=null===(i=t.currentTarget.parentElement)||void 0===i?void 0:i.children[e];n instanceof SVGElement&&n.focus()}}:void 0,onFocus:w?t=>{c(a,h),i&&i(e);const n=t.currentTarget.querySelector(".semiotic-legend-focus-ring");n&&n.setAttribute("visibility","visible")}:void 0,onBlur:w?t=>{i&&i(null);const e=t.currentTarget.querySelector(".semiotic-legend-focus-ring");e&&e.setAttribute("visibility","hidden")}:void 0,style:{cursor:w?"pointer":"default",opacity:M,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"},children:[w&&t.jsx("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:v+m+2+7*e.label.length,height:v+4,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),k,j&&t.jsx(ve,{swatchSize:v}),t.jsx("text",{y:v/2,x:v+m,dominantBaseline:"central",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:e.label})]},"legend-item-"+h)),d+=S[h]+x}});const P=Math.max(0,...M.map(t=>t.width)),C=M.length;return{items:p,offset:P,totalRows:C,totalHeight:C*b}})(e,o,r,s,l,a,c,n,u,d,h,null!==(f=h.maxWidth)&&void 0!==f?f:i);p+=v.offset+5,y.push(Object.assign(Object.assign({label:e.label},v),{offset:p,totalRows:v.totalRows,totalHeight:v.totalHeight})),g+=p+12});const p=null!==(f=h.maxWidth)&&void 0!==f?f:i;let v=g>p?0:"center"===h.align?Math.max(0,(p-g)/2):"end"===h.align?Math.max(0,p-g):0;const m=[];return y.forEach((i,o)=>{const r=e[o];r.label&&(m.push(t.jsx("text",{transform:`translate(${v},0) rotate(90)`,textAnchor:"start",className:"legend-group-label",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:r.label},"legend-text-"+o)),v+=16),m.push(t.jsx("g",{className:"legend-item",transform:`translate(${v},0)`,children:i.items},"legend-group-"+o)),v+=i.offset+5,e[o+1]&&m.push(t.jsx("line",{stroke:"gray",x1:v,y1:-8,x2:v,y2:(i.totalHeight||n)+0+8},"legend-top-line legend-symbol-"+o)),v+=12}),t.jsx("g",{children:m})})({legendGroups:n||[],title:a,height:u,width:c,customClickBehavior:i,customHoverBehavior:o,highlightedCategory:r,isolatedCategories:s,focusedGroupIndex:g,focusedItemIndex:v,onFocusedIndexChange:x,legendInteraction:l,metrics:f}),k=!(!i&&!o);return t.jsxs("g",{role:k?"listbox":void 0,"aria-multiselectable":!(!k||"isolate"!==l&&(void 0!==l||null==s))||void 0,"aria-label":"Chart legend",style:{fontFamily:"var(--semiotic-font-family, sans-serif)"},children:[void 0!==a&&""!==a&&"vertical"===d&&t.jsx("text",{className:"legend-title",y:16,x:c/2,textAnchor:"middle",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:a}),b]})}function we(t){return"object"==typeof t&&null!==t&&"legendGroups"in t}function Ae(t){return"object"==typeof t&&null!==t&&"gradient"in t}function Se(e){var n;const{legend:i,totalWidth:o,totalHeight:r,margin:s,legendPosition:l="right",legendLayout:a,title:c,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:f,legendInteraction:g}=e;if(!i)return null;const y="top"===l||"bottom"===l,p=!!c,v=Math.max(1,y?null!==(n=null==a?void 0:a.maxWidth)&&void 0!==n?n:Math.max(0,o-s.left-s.right):100);let m,x;return"left"===l?(m=Math.max(4,s.left-v-10),x=s.top):"top"===l?(m=s.left,x=p?32:8):"bottom"===l?(m=s.left,x=r-s.bottom+38):(m=o-s.right+10,x=s.top),t.jsx("g",{transform:`translate(${m}, ${x})`,children:Ae(i)?t.jsx(be,{config:i.gradient,orientation:y?"horizontal":"vertical",width:v}):we(i)?t.jsx(ke,{legendGroups:i.legendGroups,title:"",width:v,orientation:y?"horizontal":"vertical",legendLayout:a,customHoverBehavior:u,customClickBehavior:d,highlightedCategory:h,isolatedCategories:f,legendInteraction:g}):i})}function Me(t){return"string"==typeof t?{type:t}:t}function je({orient:n,config:i,values:o,scale:r,size:s,length:a}){const c=function(t){var e,n,i,o,r;return{type:t.type,bins:null!==(e=t.bins)&&void 0!==e?e:20,fill:null!==(n=t.fill)&&void 0!==n?n:"#4e79a7",fillOpacity:null!==(i=t.fillOpacity)&&void 0!==i?i:.5,stroke:null!==(o=t.stroke)&&void 0!==o?o:"none",strokeWidth:null!==(r=t.strokeWidth)&&void 0!==r?r:1}}(i),u="top"===n||"bottom"===n,d=e.useMemo(()=>{if(0===o.length)return null;const e=r.domain(),i=s-8;if("boxplot"===c.type){const e=function(t){const e=[...t].sort((t,e)=>t-e),n=e.length;if(0===n)return null;const i=e[Math.floor(.25*n)],o=e[Math.floor(.5*n)],r=e[Math.floor(.75*n)],s=r-i;return{q1:i,median:o,q3:r,whiskerLow:Math.max(e[0],i-1.5*s),whiskerHigh:Math.min(e[n-1],r+1.5*s)}}(o);if(!e)return null;const{q1:s,median:l,q3:a,whiskerLow:d,whiskerHigh:h}=e,f=Math.min(.5*i,20),g=(i-f)/2+4;if(u){const e=r(s),i=r(a),o=r(l),u=r(d),y=r(h),p="top"===n?-1:1,v=0;return t.jsxs("g",{"data-testid":"marginal-boxplot-"+n,children:[t.jsx("line",{x1:u,y1:v+p*(g+f/2),x2:y,y2:v+p*(g+f/2),stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:u,y1:v+p*g,x2:u,y2:v+p*(g+f),stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:y,y1:v+p*g,x2:y,y2:v+p*(g+f),stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("rect",{x:Math.min(e,i),y:"top"===n?v-g-f:v+g,width:Math.abs(i-e),height:f,fill:c.fill,fillOpacity:c.fillOpacity,stroke:"none"===c.stroke?c.fill:c.stroke,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:o,y1:"top"===n?v-g-f:v+g,x2:o,y2:"top"===n?v-g:v+g+f,stroke:c.fill,strokeWidth:2})]})}{const e=r(s),i=r(a),o=r(l),u=r(d),y=r(h),p="left"===n?-1:1,v=0;return t.jsxs("g",{"data-testid":"marginal-boxplot-"+n,children:[t.jsx("line",{x1:v+p*(g+f/2),y1:u,x2:v+p*(g+f/2),y2:y,stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:v+p*g,y1:u,x2:v+p*(g+f),y2:u,stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:v+p*g,y1:y,x2:v+p*(g+f),y2:y,stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("rect",{x:"left"===n?v-g-f:v+g,y:Math.min(e,i),width:f,height:Math.abs(i-e),fill:c.fill,fillOpacity:c.fillOpacity,stroke:"none"===c.stroke?c.fill:c.stroke,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:"left"===n?v-g-f:v+g,y1:o,x2:"left"===n?v-g:v+g+f,y2:o,stroke:c.fill,strokeWidth:2})]})}}const d=l.bin().domain(e).thresholds(c.bins)(o);if(0===d.length)return null;const h=Math.max(...d.map(t=>t.length));if(0===h)return null;if("histogram"===c.type)return t.jsx("g",{"data-testid":"marginal-histogram-"+n,children:d.map((e,o)=>{if(null==e.x0||null==e.x1)return null;const s=e.length/h*i;if(u){const i=r(e.x0),l=r(e.x1)-r(e.x0);return t.jsx("rect",{x:i,y:"top"===n?-4-s:4,width:Math.max(l,.5),height:s,fill:c.fill,fillOpacity:c.fillOpacity,stroke:c.stroke,strokeWidth:c.strokeWidth},o)}{const i=r(e.x0),l=r(e.x1)-r(e.x0);return t.jsx("rect",{x:"left"===n?-4-s:4,y:Math.min(i,i+l),width:s,height:Math.abs(l),fill:c.fill,fillOpacity:c.fillOpacity,stroke:c.stroke,strokeWidth:c.strokeWidth},o)}})});if("violin"===c.type){const e=i/2+4,o=[];for(const t of d){if(null==t.x0||null==t.x1)continue;const s=t.length/h*(i/2),l=r((t.x0+t.x1)/2);o.push(u?`${l},${"top"===n?-(e-s):e-s}`:`${"left"===n?-(e-s):e-s},${l}`)}for(let t=d.length-1;t>=0;t--){const s=d[t];if(null==s.x0||null==s.x1)continue;const l=s.length/h*(i/2),a=r((s.x0+s.x1)/2);o.push(u?`${a},${"top"===n?-(e+l):e+l}`:`${"left"===n?-(e+l):e+l},${a}`)}return t.jsx("g",{"data-testid":"marginal-violin-"+n,children:t.jsx("polygon",{points:o.join(" "),fill:c.fill,fillOpacity:c.fillOpacity,stroke:"none"===c.stroke?c.fill:c.stroke,strokeWidth:c.strokeWidth})})}if("ridgeline"===c.type){const e=[];if(u){const t=0,o=null!=d[0].x0?r(d[0].x0):0;e.push(`M${o},${t}`);for(const t of d){if(null==t.x0||null==t.x1)continue;const o=t.length/h*i,s=r((t.x0+t.x1)/2);e.push(`L${s},${"top"===n?-o-4:o+4}`)}const s=null!=d[d.length-1].x1?r(d[d.length-1].x1):a;e.push(`L${s},${t}`),e.push("Z")}else{const t=0,o=null!=d[0].x0?r(d[0].x0):0;e.push(`M${t},${o}`);for(const t of d){if(null==t.x0||null==t.x1)continue;const o=t.length/h*i,s=r((t.x0+t.x1)/2);e.push(`L${"left"===n?-o-4:o+4},${s}`)}const s=null!=d[d.length-1].x1?r(d[d.length-1].x1):a;e.push(`L${t},${s}`),e.push("Z")}return t.jsx("g",{"data-testid":"marginal-ridgeline-"+n,children:t.jsx("path",{d:e.join(" "),fill:c.fill,fillOpacity:c.fillOpacity,stroke:"none"===c.stroke?c.fill:c.stroke,strokeWidth:c.strokeWidth})})}return null},[o,r,c,s,a,n,u,4]);return d?t.jsx("g",{className:"marginal-"+n,"data-testid":"marginal-"+n,children:d}):null}function _e(t,e=120,n=8){if(!t)return[];const i=Math.max(1,Math.floor(e/n)),o=t.split(/\s+/),r=[];let s="";for(const t of o)s&&s.length+1+t.length>i?(r.push(s),s=t):s=s?`${s} ${t}`:t;return s&&r.push(s),r}function Pe(t,e,n,i){return"curly"===t?i?`M0,0 C${.6*n},0 ${.4*n},${e/2} ${n},${e/2} C${.4*n},${e/2} ${.6*n},${e} 0,${e}`:`M0,0 C0,${.6*n} ${e/2},${.4*n} ${e/2},${n} C${e/2},${.4*n} ${e},${.6*n} ${e},0`:i?`M0,0 L${n},0 L${n},${e} L0,${e}`:`M0,0 L0,${n} L${e},${n} L${e},0`}function Ce(e,n,i,o){if(!e)return t.jsx("g",{className:"annotation-note"});const{label:r,title:s,orientation:l,align:a,wrap:c=120,noWrap:u}=e;if(!r&&!s)return t.jsx("g",{className:"annotation-note"});let d=l;d||(d=Math.abs(n)>Math.abs(i)?"leftRight":"topBottom");let h=a;h&&"dynamic"!==h||(h="topBottom"===d?0>n?"right":"left":0>i?"bottom":"top");let f="start";"topBottom"===d?"right"===h?f="end":"middle"===h&&(f="middle"):f=0>n?"end":"start";const g=16,y=s?u?[s]:_e(s,c):[],p=r?u?[r]:_e(r,c):[],v="leftRight"===d?"end"===f?-4:4:0;let m=0;const x=[],b=o||"var(--semiotic-annotation-color, var(--semiotic-text, #333))";y.length>0&&(x.push(t.jsx("text",{className:"annotation-note-title",fill:b,textAnchor:f,fontWeight:"bold",children:y.map((e,n)=>t.jsx("tspan",{x:v,dy:0===n?0:g,children:e},n))},"annotation-note-title")),m=y.length*g),p.length>0&&x.push(t.jsx("text",{className:"annotation-note-label",fill:b,textAnchor:f,y:m,children:p.map((e,n)=>t.jsx("tspan",{x:v,dy:0===n?0:g,children:e},n))},"annotation-note-label"));let k=null;if((s||r)&&(0!==n||0!==i))if("topBottom"===d){const e=Math.min(c,120);let n=0,i=e;"end"===f?(n=-e,i=0):"middle"===f&&(n=-e/2,i=e/2),k=t.jsx("line",{className:"note-line",x1:n,x2:i,y1:0,y2:0,stroke:o||"var(--semiotic-text-secondary, currentColor)"})}else{const e=(y.length+p.length)*g+(p.length>0?g:0);let n=0,i=e;"bottom"===h?(n=-e,i=0):"middle"===h&&(n=-e/2,i=e/2),k=t.jsx("line",{className:"note-line",x1:0,x2:0,y1:n,y2:i,stroke:o||"var(--semiotic-text-secondary, currentColor)"})}const w=Math.max(0,y.length+p.length-1)*g;let A=0;return"topBottom"===d?A=0>i?-(w+2):18:"leftRight"===d&&(A="middle"===h?-(w+g+(p.length>0&&y.length>0?2:0))/2+8:"bottom"===h||0>i?-(w+2):18),t.jsxs("g",{className:"annotation-note",transform:`translate(${n},${i})`,children:[t.jsx("g",{className:"annotation-note-content",transform:0!==A?`translate(0,${A})`:void 0,children:x}),k]})}function Ee(e,n,i,o,r){var s;const l=[];switch(e){case"callout-circle":{const e=((null==n?void 0:n.radius)||0)+((null==n?void 0:n.radiusPadding)||0);e>0&&l.push(t.jsx("circle",{r:e,fill:"none",stroke:i||"var(--semiotic-text-secondary, currentColor)"},"subject-circle"));break}case"callout-rect":{const e=(null==n?void 0:n.width)||0,o=(null==n?void 0:n.height)||0;(e>0||o>0)&&l.push(t.jsx("rect",{width:e,height:o,fill:"none",stroke:i||"var(--semiotic-text-secondary, currentColor)"},"subject-rect"));break}case"callout-custom":(null==n?void 0:n.custom)&&l.push(...Array.isArray(n.custom)?n.custom:[n.custom]);break;case"xy-threshold":{const e=o||0,s=r||0;if(void 0!==(null==n?void 0:n.x)){const o=(n.x||0)-e;l.push(t.jsx("line",{x1:o,y1:(n.y1||0)-s,x2:o,y2:(n.y2||0)-s,stroke:i||"var(--semiotic-text-secondary, currentColor)",strokeDasharray:"5,5"},"threshold-line"))}else if(void 0!==(null==n?void 0:n.y)){const o=(n.y||0)-s;l.push(t.jsx("line",{x1:(n.x1||0)-e,y1:o,x2:(n.x2||0)-e,y2:o,stroke:i||"var(--semiotic-text-secondary, currentColor)",strokeDasharray:"5,5"},"threshold-line"))}else void 0!==(null==n?void 0:n.x1)||void 0!==(null==n?void 0:n.x2)?l.push(t.jsx("line",{x1:(n.x1||0)-e,y1:0,x2:(n.x2||0)-e,y2:0,stroke:i||"var(--semiotic-text-secondary, currentColor)",strokeDasharray:"5,5"},"threshold-line")):void 0===(null==n?void 0:n.y1)&&void 0===(null==n?void 0:n.y2)||l.push(t.jsx("line",{x1:0,y1:(n.y1||0)-s,x2:0,y2:(n.y2||0)-s,stroke:i||"var(--semiotic-text-secondary, currentColor)",strokeDasharray:"5,5"},"threshold-line"));break}case"bracket":{const e=null!==(s=null==n?void 0:n.width)&&void 0!==s?s:null==n?void 0:n.height;void 0!==e&&l.push(t.jsx("path",{d:Pe((null==n?void 0:n.type)||"curly",e,(null==n?void 0:n.depth)||30,void 0===(null==n?void 0:n.width)),fill:"none",stroke:i||"var(--semiotic-text-secondary, currentColor)"},"bracket-path"));break}}return t.jsx("g",{className:"annotation-subject",children:l})}function Oe(e,n,i,o,r,s){const l=[];let a=0,c=0;if("callout-circle"!==r&&"label"!==r||!(null==s?void 0:s.radius)){if("callout-rect"===r&&s){const t=s.width||0,i=s.height||0;if(t>0||i>0){const o=t/2,r=i/2,s=e-o,l=n-r;if(0!==s||0!==l){const e=Math.abs(s),n=Math.abs(l),u=t/2,d=i/2,h=e*d>n*u?u/e:d/n;a=o+s*h,c=r+l*h}}}else if("bracket"===r&&s){const t=s.width,e=s.height,n=s.depth||30;void 0!==t?(a=t/2,c=n):void 0!==e&&(a=n,c=e/2)}}else{const t=(s.radius||0)+(s.radiusPadding||0);if(t>0&&(0!==e||0!==n)){const i=Math.atan2(n,e);a=Math.cos(i)*t,c=Math.sin(i)*t}}if(Math.sqrt(Math.pow(e-a,2)+Math.pow(n-c,2))>.5&&(l.push(t.jsx("line",{x1:a,y1:c,x2:e,y2:n,stroke:o||"var(--semiotic-text-secondary, currentColor)"},"connector-line")),"arrow"===(null==i?void 0:i.end))){const i=10,r=16/180*Math.PI,s=Math.atan2(n-c,e-a);l.push(t.jsx("path",{d:`M${a},${c}L${a+i*Math.cos(s+r)},${c+i*Math.sin(s+r)}L${a+i*Math.cos(s-r)},${c+i*Math.sin(s-r)}Z`,fill:o||"var(--semiotic-text-secondary, currentColor)",stroke:"none"},"connector-arrow"))}return t.jsx("g",{className:"annotation-connector",children:l})}function Te(e){const{x:n=0,y:i=0,dx:o,dy:r,nx:s,ny:l,note:a,connector:c,subject:u,type:d,color:h,className:f,disable:g,events:y={},"data-testid":p}=e,v=new Set(Array.isArray(g)?g:[]);let m=o||0,x=r||0;null!=s&&(m=s-n),null!=l&&(x=l-i);const b="string"==typeof d?d:"label";if("bracket"===b&&u&&0===m&&0===x)if(void 0!==u.width){m=u.width/2;const t=u.depth||30;x=t+(0>t?-5:5)}else if(void 0!==u.height){const t=u.depth||30;m=t+(0>t?-5:5),x=u.height/2}return t.jsxs("g",Object.assign({className:("annotation "+(f||"")).trim(),transform:`translate(${n},${i})`,"data-testid":p},y,{children:[!v.has("connector")&&Oe(m,x,c,h,b,u),!v.has("subject")&&Ee(b,u,h,n,i),!v.has("note")&&Ce(a,m,x,h)]}))}function Le(e){var n,i;const{noteData:o}=e,{screenCoordinates:r}=o,s="string"==typeof o.type?o.type:"label",l=o.eventListeners||o.events||{};if(o.coordinates&&r){const e=o.nx||r[0][0]+(null!==(n=o.dx)&&void 0!==n?n:0),l=o.ny||r[0][1]+(null!==(i=o.dy)&&void 0!==i?i:0),a=r.map((n,i)=>{const r=Object.assign({},o,{note:0===i?o.note:{label:""},x:n[0],y:n[1],nx:e,ny:l});return t.jsx(Te,Object.assign({"data-testid":"semiotic-annotation"},r,{type:s}),"multi-annotation-"+i)});return t.jsx("g",{children:a})}const a=o.note||{title:"none",label:o.label},c=`${a.label}-${a.title}-${o.i}`;return t.jsx(Te,Object.assign({"data-testid":"semiotic-annotation",events:l},o,{type:s}),c)}function De(t,e){var n,i,o;const r=null!==(i=null===(n=e.scales)||void 0===n?void 0:n.x)&&void 0!==i?i:null===(o=e.scales)||void 0===o?void 0:o.time;return r?null!=t.x?r(t.x):e.xAccessor&&null!=t[e.xAccessor]?r(t[e.xAccessor]):null:null}function Ne(t,e){var n,i,o;const r=null!==(i=null===(n=e.scales)||void 0===n?void 0:n.y)&&void 0!==i?i:null===(o=e.scales)||void 0===o?void 0:o.value;return r?null!=t.y?r(t.y):e.yAccessor&&null!=t[e.yAccessor]?r(t[e.yAccessor]):null:null}function Re(t,e,n){var i,o,r,s;const l=t.anchor||"fixed";if("latest"===l){if(null!=t.pointId&&n.pointNodes&&n.pointNodes.length>0)for(let o=n.pointNodes.length-1;o>=0;o--){const r=n.pointNodes[o];if(r.pointId===t.pointId){const t={x:r.x,y:r.y};return null===(i=n.stickyPositionCache)||void 0===i||i.set(e,t),t}}const r=function(t){var e,n,i,o,r,s;const l=t.data;if(!l||0===l.length)return null;const a=l[l.length-1],c=null!==(n=null===(e=t.scales)||void 0===e?void 0:e.x)&&void 0!==n?n:null===(i=t.scales)||void 0===i?void 0:i.time,u=null!==(r=null===(o=t.scales)||void 0===o?void 0:o.y)&&void 0!==r?r:null===(s=t.scales)||void 0===s?void 0:s.value;if(!c||!u)return null;const d=a[t.xAccessor||"x"],h=a[t.yAccessor||"y"];return null==d||null==h?null:{x:c(d),y:u(h)}}(n);return r&&(null===(o=n.stickyPositionCache)||void 0===o||o.set(e,r)),r}let a=null,c=null;if(null!=t.pointId&&n.pointNodes){const e=n.pointNodes.find(e=>e.pointId===t.pointId);e&&(a=e.x,c=e.y)}if(null!=a&&null!=c||(a=De(t,n),c=Ne(t,n)),null!=a&&null!=c)return null===(r=n.stickyPositionCache)||void 0===r||r.set(e,{x:a,y:c}),{x:a,y:c};if("sticky"===l){const t=null===(s=n.stickyPositionCache)||void 0===s?void 0:s.get(e);if(t)return t}return null}function Ie(t,e,n,i=50){return!(-i>t||t>(n.width||0)+i||-i>e||e>(n.height||0)+i)}const $e={linear:s.curveLinear,monotoneX:s.curveMonotoneX,monotoneY:s.curveMonotoneY,step:s.curveStep,stepAfter:s.curveStepAfter,stepBefore:s.curveStepBefore,basis:s.curveBasis,cardinal:s.curveCardinal,catmullRom:s.curveCatmullRom};let We={positions:new Map};const ze=new Set;function Fe(){for(const t of ze)t()}function Ye(t,e){const n=We.positions.get(t);if(null==n?void 0:n.locked)return;if(!n||n.sourceId!==e)return;const i=new Map(We.positions);i.delete(t),We={positions:i},Fe()}function Be(t,e){const n=We.positions.get(t);if(!(null==n?void 0:n.locked))return;if(e&&n.sourceId!==e)return;const i=new Map(We.positions);i.delete(t),We={positions:i},Fe()}function He(){return We}function Xe(t){return ze.add(t),()=>ze.delete(t)}const Ge={positions:new Map};function Ve(){return()=>{}}function qe(){return Ge}function Ue(t,e,n){return"exact"===n?function(t,e){const n=t.domain(),i=n[0],o=n[n.length-1],r=i instanceof Date,s=i instanceof Date?i.getTime():i,l=o instanceof Date?o.getTime():o;if(2>e||s===l)return r?[new Date(s),new Date(l)]:[s,l];const a=(l-s)/(e-1),c=Array(e);for(let t=0;e>t;t++){const n=t===e-1?l:s+t*a;c[t]=r?new Date(n):n}return c}(t,e):t.ticks(e)}function Ke(t,e,n){if("edges"===t){if(e)return"start";if(n)return"end"}return"middle"}function Ze(t,e,n){if("edges"===t){if(e)return"hanging";if(n)return"auto"}return"middle"}function Qe(t){if(0===t.length)return{min:null,max:null};let e=1/0,n=-1/0;for(const i of t)e>i.pixel&&(e=i.pixel),i.pixel>n&&(n=i.pixel);return{min:e,max:n}}function Je(t){if(t)return"dashed"===t?"6,4":"dotted"===t?"2,4":t}function tn(t,e,n){if("left"===t||"right"===t){const i="left"===t?n:0,o="left"===t?-1:1,r=Math.ceil(e/8);let s="M0,"+i;for(let t=0;r>t;t++){const n=8*(t+1);s+=`L${Math.min(8*t+4,e)},${i+4*o}`,s+=`L${Math.min(n,e)},${i}`}return s}{const i="bottom"===t?0:e,o="bottom"===t?1:-1,r=Math.ceil(n/8);let s=`M${i},0`;for(let t=0;r>t;t++){const e=8*(t+1);s+=`L${i+4*o},${Math.min(8*t+4,n)}`,s+=`L${i},${Math.min(e,n)}`}return s}}function en(n){const{width:i,height:o,totalWidth:r,totalHeight:s,margin:l,scales:a,showAxes:c,axes:u,showGrid:d,xFormat:h,yFormat:f,axisExtent:g}=n,y=e.useMemo(()=>{var t,e;if(!a)return[];const n=null==u?void 0:u.find(t=>"bottom"===t.orient),o=(null==n?void 0:n.tickFormat)||h||nn,r=Math.max(2,Math.floor(i/70)),s=null!==(t=null==n?void 0:n.ticks)&&void 0!==t?t:5,l=null!==(e=null==n?void 0:n.tickValues)&&void 0!==e?e:Ue(a.x,"exact"===g?Math.max(2,s):Math.min(s,r),g),c=l.map(t=>t.valueOf()),d=l.map((t,e)=>({value:t,pixel:a.x(t),label:o(t,e,c)})),f=d.reduce((t,e)=>Math.max(t,"string"==typeof e.label?6.5*e.label.length:"number"==typeof e.label?6.5*(e.label+"").length:60),0);return on(d,Math.max(55,f+8))},[a,u,h,i,g]),p=e.useMemo(()=>{var t,e;if(!a)return[];const n=null==u?void 0:u.find(t=>"left"===t.orient),i=(null==n?void 0:n.tickFormat)||f||nn,r=Math.max(2,Math.floor(o/30)),s=null!==(t=null==n?void 0:n.ticks)&&void 0!==t?t:5;return on((null!==(e=null==n?void 0:n.tickValues)&&void 0!==e?e:Ue(a.y,"exact"===g?Math.max(2,s):Math.min(s,r),g)).map(t=>({value:t,pixel:a.y(t),label:i(t)})),22)},[a,u,f,o,g]),v=d&&a,m=c&&a;if(!v&&!m)return null;const x=null==u?void 0:u.find(t=>"bottom"===t.orient),b=null==u?void 0:u.find(t=>"left"===t.orient),k=m&&(!x||!1!==x.baseline),w=m&&(!b||!1!==b.baseline),A=(null==x?void 0:x.jaggedBase)||!1,S=(null==b?void 0:b.jaggedBase)||!1,M="var(--semiotic-border, #ccc)";return t.jsx("svg",{width:r,height:s,style:{position:"absolute",top:0,left:0,pointerEvents:"none"},children:t.jsxs("g",{transform:`translate(${l.left},${l.top})`,children:[v&&(()=>{var e,n;const r=Je(null===(e=null==u?void 0:u.find(t=>"bottom"===t.orient))||void 0===e?void 0:e.gridStyle),s=Je(null===(n=null==u?void 0:u.find(t=>"left"===t.orient))||void 0===n?void 0:n.gridStyle);return t.jsxs("g",{className:"stream-grid",children:[y.map((e,n)=>t.jsx("line",{x1:e.pixel,y1:0,x2:e.pixel,y2:o,stroke:"var(--semiotic-grid, #e0e0e0)",strokeWidth:1,strokeDasharray:r},"xgrid-"+n)),p.map((e,n)=>t.jsx("line",{x1:0,y1:e.pixel,x2:i,y2:e.pixel,stroke:"var(--semiotic-grid, #e0e0e0)",strokeWidth:1,strokeDasharray:s},"ygrid-"+n))]})})(),k&&!A&&t.jsx("line",{x1:0,y1:o,x2:i,y2:o,stroke:M,strokeWidth:1}),A&&t.jsx("path",{d:tn("bottom",i,o),fill:"none",stroke:M,strokeWidth:1}),w&&!S&&t.jsx("line",{x1:0,y1:0,x2:0,y2:o,stroke:M,strokeWidth:1}),S&&t.jsx("path",{d:tn("left",i,o),fill:"none",stroke:M,strokeWidth:1})]})})}function nn(t,e,n){return t instanceof Date?`${t.toLocaleString("en",{month:"short"})} ${t.getDate()}`:"number"==typeof t?Math.round(100*t)/100+"":t+""}function on(t,e){if(2>=t.length)return t;const n=[t[0]];for(let i=1;t.length-1>i;i++)e>Math.abs(t[i].pixel-n[n.length-1].pixel)||n.push(t[i]);const i=t[t.length-1];return e>Math.abs(i.pixel-n[n.length-1].pixel)?n[n.length-1]=i:n.push(i),n}function rn(n){var i,o;const{width:r,height:l,totalWidth:c,totalHeight:u,margin:d,scales:h,showAxes:f,axes:g,xLabel:y,yLabel:v,yLabelRight:m,xFormat:x,yFormat:b,axisExtent:k,showGrid:w,title:A,legend:S,legendHoverBehavior:M,legendClickBehavior:j,legendHighlightedCategory:_,legendIsolatedCategories:P,legendPosition:C="right",legendLayout:E,foregroundGraphics:O,marginalGraphics:T,xValues:L,yValues:D,annotations:N,svgAnnotationRules:R,xAccessor:I,yAccessor:$,annotationData:W,pointNodes:z,curve:F,underlayRendered:Y,canvasObscuresUnderlay:B=!0,linkedCrosshairName:H,linkedCrosshairSourceId:X,children:G}=n,V=e.useMemo(()=>{var t,e;if(!f||!h)return[];const n=null==g?void 0:g.find(t=>"bottom"===t.orient),i=(null==n?void 0:n.tickFormat)||x||nn,o=Math.max(2,Math.floor(r/70)),s=null!==(t=null==n?void 0:n.ticks)&&void 0!==t?t:5,l=null!==(e=null==n?void 0:n.tickValues)&&void 0!==e?e:Ue(h.x,"exact"===k?Math.max(2,s):Math.min(s,o),k),a=l.map(t=>t.valueOf()),c=l.map((t,e)=>({value:t,pixel:h.x(t),label:i(t,e,a)})),u=c.reduce((t,e)=>Math.max(t,"string"==typeof e.label?6.5*e.label.length:"number"==typeof e.label?6.5*(e.label+"").length:60),0),d=(null==n?void 0:n.autoRotate)?Math.max(20,Math.min(u+8,55)):Math.max(55,u+8);let y=on(c,d);if(y.length>1&&(y=y.filter((t,e)=>0===e||t.label+""!=y[e-1].label+"")),(null==n?void 0:n.includeMax)&&y.length>0&&"exact"!==k&&!(null==n?void 0:n.tickValues)){const t=h.x.domain()[1],e=h.x(t),n=y[y.length-1].pixel;if(Math.abs(e-n)>1){const o=i(t,y.length,a);d>e-n&&y.length>1&&(y=y.slice(0,-1)),y.push({value:t,pixel:e,label:o})}}return y},[f,h,g,x,r,k]),q=e.useMemo(()=>{var t,e;if(!f||!h)return[];const n=null==g?void 0:g.find(t=>"left"===t.orient),i=(null==n?void 0:n.tickFormat)||b||nn,o=Math.max(2,Math.floor(l/30)),r=null!==(t=null==n?void 0:n.ticks)&&void 0!==t?t:5;let s=on((null!==(e=null==n?void 0:n.tickValues)&&void 0!==e?e:Ue(h.y,"exact"===k?Math.max(2,r):Math.min(r,o),k)).map(t=>({value:t,pixel:h.y(t),label:i(t)})),22);if(s.length>1&&(s=s.filter((t,e)=>0===e||t.label+""!=s[e-1].label+"")),(null==n?void 0:n.includeMax)&&s.length>0&&"exact"!==k&&!(null==n?void 0:n.tickValues)){const t=h.y.domain()[1],e=h.y(t),n=s[s.length-1].pixel;if(Math.abs(e-n)>1){const o=i(t);22>Math.abs(e-n)&&s.length>1&&(s=s.slice(0,-1)),s.push({value:t,pixel:e,label:o})}}return s},[f,h,g,b,l,k]),U=e.useMemo(()=>{var t,e;if(!f||!h)return[];const n=null==g?void 0:g.find(t=>"right"===t.orient);if(!n)return[];const i=n.tickFormat||b||nn,o=Math.max(2,Math.floor(l/30)),r=null!==(t=n.ticks)&&void 0!==t?t:5;return on((null!==(e=n.tickValues)&&void 0!==e?e:Ue(h.y,"exact"===k?Math.max(2,r):Math.min(r,o),k)).map(t=>({value:t,pixel:h.y(t),label:i(t)})),22)},[f,h,g,b,l,k]),K=e.useRef(new Map),Z=e.useRef(null!==(i=null==N?void 0:N.length)&&void 0!==i?i:0),Q=null!==(o=null==N?void 0:N.length)&&void 0!==o?o:0;Z.current!==Q&&(Z.current=Q,K.current=new Map);const J=e.useMemo(()=>{if(!N||0===N.length)return null;const e=function(e,n,i){var o,r,l,c,u,d,h,f,g,y,v,m,x,b,k,w,A,S,M,j,_,P,C,E,O,T,L,D,N,R,I,$,W,z,F,Y,B,H,X,G,V,q,U,K,Z,Q,J,tt;switch(e.type){case"label":{const o=Re(e,n,i);if(!o)return null;const{x:r,y:s}=o;return Ie(r,s,i)?t.jsx(Le,{noteData:{x:r,y:s,dx:e.dx||30,dy:e.dy||-30,note:{label:e.label,title:e.title,wrap:e.wrap||120},type:"label",connector:e.connector||{end:"arrow"},color:e.color}},"ann-"+n):null}case"callout":{const o=Re(e,n,i);if(!o)return null;const{x:r,y:s}=o;return Ie(r,s,i)?t.jsx(Le,{noteData:{x:r,y:s,dx:e.dx||30,dy:e.dy||-30,note:{label:e.label,title:e.title,wrap:e.wrap||120},type:"callout-circle",subject:{radius:e.radius||12},connector:e.connector||{end:"arrow"},color:e.color}},"ann-"+n):null}case"x-threshold":{const o=De(null!=e.value?Object.assign(Object.assign({},e),{x:e.value}):e,i);if(null==o)return null;const r=e.color||"#f97316",s=e.labelPosition||"top";let l;return l="bottom"===s?(i.height||0)-4:"center"===s?(i.height||0)/2:12,t.jsxs("g",{children:[t.jsx("line",{x1:o,y1:0,x2:o,y2:i.height||0,stroke:r,strokeWidth:e.strokeWidth||1.5,strokeDasharray:e.strokeDasharray||"6,3"}),e.label&&t.jsx("text",{x:o+4,y:l,fill:r,fontSize:12,fontWeight:"bold",children:e.label})]},"ann-"+n)}case"y-threshold":{const o=Ne(null!=e.value?Object.assign(Object.assign({},e),{y:e.value}):e,i);if(null==o)return null;const r=e.color||"#f97316",s=e.labelPosition||"right";let l,a;return"left"===s?(l=4,a="start"):"center"===s?(l=(i.width||0)/2,a="middle"):(l=(i.width||0)-4,a="end"),t.jsxs("g",{children:[t.jsx("line",{x1:0,y1:o,x2:i.width||0,y2:o,stroke:r,strokeWidth:e.strokeWidth||1.5,strokeDasharray:e.strokeDasharray||"6,3"}),e.label&&t.jsx("text",{x:l,y:o-4,textAnchor:a,fill:r,fontSize:12,fontWeight:"bold",children:e.label})]},"ann-"+n)}case"enclose":{const o=(e.coordinates||[]).map(t=>({x:De(Object.assign(Object.assign({},t),{type:"point"}),i),y:Ne(Object.assign(Object.assign({},t),{type:"point"}),i),r:1})).filter(t=>null!=t.x&&null!=t.y);if(2>o.length)return null;const r=a.packEnclose(o),s=e.padding||10;return t.jsxs("g",{children:[t.jsx("circle",{cx:r.x,cy:r.y,r:r.r+s,fill:e.fill||"none",fillOpacity:e.fillOpacity||.1,stroke:e.color||"var(--semiotic-text-secondary, #666)",strokeWidth:1.5,strokeDasharray:"4,2"}),e.label&&t.jsx("text",{x:r.x,y:r.y-r.r-s-4,textAnchor:"middle",fill:e.color||"var(--semiotic-text-secondary, #666)",fontSize:12,children:e.label})]},"ann-"+n)}case"rect-enclose":{const o=(e.coordinates||[]).map(t=>({x:De(Object.assign(Object.assign({},t),{type:"point"}),i),y:Ne(Object.assign(Object.assign({},t),{type:"point"}),i)})).filter(t=>null!=t.x&&null!=t.y);if(2>o.length)return null;const r=e.padding||10,s=o.map(t=>t.x),l=o.map(t=>t.y),a=Math.min(...s)-r,c=Math.max(...s)+r,u=Math.min(...l)-r,d=Math.max(...l)+r;return t.jsxs("g",{children:[t.jsx("rect",{x:a,y:u,width:c-a,height:d-u,fill:e.fill||"none",fillOpacity:e.fillOpacity||.1,stroke:e.color||"var(--semiotic-text-secondary, #666)",strokeWidth:1.5,strokeDasharray:"4,2"}),e.label&&t.jsx("text",{x:(a+c)/2,y:u-4,textAnchor:"middle",fill:e.color||"var(--semiotic-text-secondary, #666)",fontSize:12,children:e.label})]},"ann-"+n)}case"highlight":{const o=i.data||[],r="function"==typeof e.filter?o.filter(e.filter):e.field&&null!=e.value?o.filter(t=>t[e.field]===e.value):[],s={stroke:e.color||"#f97316",strokeWidth:2,fill:"none"};return t.jsx("g",{children:r.map((n,o)=>{const r=De(n,i),l=Ne(n,i);if(null==r||null==l)return null;const a="function"==typeof e.r?e.r(n):e.r||6,c="function"==typeof e.style?e.style(n):e.style||s;return t.jsx("circle",Object.assign({cx:r,cy:l,r:a},c),"hl-"+o)})},"ann-"+n)}case"bracket":{const o=De(e,i),r=Ne(e,i);return t.jsx(Le,{noteData:{x:null!=o?o:0,y:null!=r?r:0,dx:e.dx||0,dy:e.dy||0,note:{label:e.label,title:e.title,wrap:e.wrap||120},type:"bracket",subject:{type:e.bracketType||"curly",width:e.width,height:e.height,depth:e.depth||30},color:e.color}},"ann-"+n)}case"trend":{const s=i.data||[];if(2>s.length)return null;const a=i.xAccessor||"x",f=i.yAccessor||"y",g="ordinal"===i.frameType,y="horizontal"===i.projection,v=g?a:null,m=g?f:null;let x;const b=[],k=new Map;if(g&&v&&m){for(const t of s){const e=t[v];if(null==e)continue;const n=e+"";k.has(n)||(k.set(n,b.length),b.push(n))}x=s.map(t=>{const e=t[v],n=t[m];if(null==e||null==n)return null;const i=k.get(e+"");return null!=i?[i,+n]:null}).filter(t=>null!==t)}else x=s.map(t=>[t[a],t[f]]).filter(t=>null!=t[0]&&null!=t[1]);if(2>x.length)return null;const w=null!==(r=null===(o=i.scales)||void 0===o?void 0:o.x)&&void 0!==r?r:null===(l=i.scales)||void 0===l?void 0:l.time,A=null!==(u=null===(c=i.scales)||void 0===c?void 0:c.y)&&void 0!==u?u:null===(d=i.scales)||void 0===d?void 0:d.value;if(!w||!A)return null;const S=t=>e=>{const n=Math.max(0,Math.floor(e)),i=Math.min(b.length-1,n+1),o=e-n,r=t(b[n]);return r+(t(b[i])-r)*o},M=w,j=A;let _;if(g)if(y){const t=S(j);_=(e,n)=>[M(n),t(e)]}else{const t=S(M);_=(e,n)=>[t(e),j(n)]}else _=(t,e)=>[M(t),j(e)];const P=e.method||"linear";let C;C="loess"===P?function(t,e=.3){const n=t.length;if(2>n)return t.slice();const i=t.slice().sort((t,e)=>t[0]-e[0]),o=i.map(t=>t[0]),r=i.map(t=>t[1]),s=Math.max(2,Math.ceil(e*n)),l=[];for(let t=0;n>t;t++){const e=o[t],i=o.map(t=>Math.abs(t-e)),a=i.slice().sort((t,e)=>t-e)[Math.min(s-1,n-1)]||1,c=[];for(let t=0;n>t;t++){const e=0===a?0:i[t]/a;c[t]=1>e?Math.pow(1-Math.pow(e,3),3):0}let u=0,d=0,h=0,f=0,g=0;for(let t=0;n>t;t++){const e=c[t];0!==e&&(u+=e,d+=e*o[t],h+=e*r[t],f+=e*o[t]*o[t],g+=e*o[t]*r[t])}if(0===u){l.push([e,r[t]]);continue}const y=u*f-d*d;if(1e-12>Math.abs(y))l.push([e,h/u]);else{const t=(u*g-d*h)/y;l.push([e,(h-t*d)/u+t*e])}}return l}(x,null!==(h=e.bandwidth)&&void 0!==h?h:.3):("polynomial"===P?p.default.polynomial(x,{order:e.order||2}):p.default.linear(x)).points;const E=C.map(([t,e])=>{const[n,i]=_(t,e);return`${n},${i}`}).join(" "),O=e.color||"#6366f1",T=C[C.length-1],[L,D]=_(T[0],T[1]);return t.jsxs("g",{children:[t.jsx("polyline",{points:E,fill:"none",stroke:O,strokeWidth:e.strokeWidth||2,strokeDasharray:e.strokeDasharray||"6,3"}),e.label&&t.jsx("text",{x:L+4,y:D-4,fill:O,fontSize:11,children:e.label})]},"ann-"+n)}case"band":{const o=null!==(g=null===(f=i.scales)||void 0===f?void 0:f.y)&&void 0!==g?g:null===(y=i.scales)||void 0===y?void 0:y.value,r=null!==(v=null==o?void 0:o(e.y0))&&void 0!==v?v:0,s=null!==(m=null==o?void 0:o(e.y1))&&void 0!==m?m:i.height||0;return t.jsxs("g",{children:[t.jsx("rect",{x:0,y:Math.min(r,s),width:i.width||0,height:Math.abs(s-r),fill:e.fill||"var(--semiotic-primary, #6366f1)",fillOpacity:e.fillOpacity||.1}),e.label&&t.jsx("text",{x:(i.width||0)-4,y:Math.min(r,s)-4,textAnchor:"end",fill:e.color||"var(--semiotic-primary, #6366f1)",fontSize:11,children:e.label})]},"ann-"+n)}case"envelope":{const o=i.data||[];if(2>o.length)return null;const r=i.xAccessor||"x",l=null!==(b=null===(x=i.scales)||void 0===x?void 0:x.x)&&void 0!==b?b:null===(k=i.scales)||void 0===k?void 0:k.time,a=null!==(A=null===(w=i.scales)||void 0===w?void 0:w.y)&&void 0!==A?A:null===(S=i.scales)||void 0===S?void 0:S.value;if(!l||!a)return null;const c=e.upperAccessor||"upperBounds",u=e.lowerAccessor||"lowerBounds",d=e.filter,h=o.filter(t=>null!=t[c]&&null!=t[u]&&!(d&&!d(t))).sort((t,e)=>t[r]-e[r]);if(2>h.length)return null;const f=$e[i.curve||"linear"]||s.curveLinear,g=s.area().x(t=>l(t[r])).y0(t=>a(t[u])).y1(t=>a(t[c])).curve(f)(h);if(!g)return null;const y=e.fill||"#6366f1";return t.jsxs("g",{children:[t.jsx("path",{d:g,fill:y,fillOpacity:null!==(M=e.fillOpacity)&&void 0!==M?M:.15,stroke:"none"}),e.label&&h.length>0&&t.jsx("text",{x:l(h[h.length-1][r])+4,y:a(h[h.length-1][c])-4,fill:y,fontSize:11,children:e.label})]},"ann-"+n)}case"anomaly-band":{const o=i.data||[];if(2>o.length)return null;const r=i.yAccessor||"y",s=null!==(_=null===(j=i.scales)||void 0===j?void 0:j.x)&&void 0!==_?_:null===(P=i.scales)||void 0===P?void 0:P.time,l=null!==(E=null===(C=i.scales)||void 0===C?void 0:C.y)&&void 0!==E?E:null===(O=i.scales)||void 0===O?void 0:O.value;if(!s||!l)return null;const a=o.map(t=>t[r]).filter(t=>null!=t&&isFinite(t));if(2>a.length)return null;const c=a.reduce((t,e)=>t+e,0)/a.length,u=a.reduce((t,e)=>t+Math.pow(e-c,2),0)/a.length,d=Math.sqrt(u),h=null!==(T=e.threshold)&&void 0!==T?T:2,f=c-h*d,g=!1!==e.showBand,y=e.fill||"#6366f1",p=null!==(L=e.fillOpacity)&&void 0!==L?L:.1,v=e.anomalyColor||"#ef4444",m=null!==(D=e.anomalyRadius)&&void 0!==D?D:6,x=l(c+h*d),b=l(f),k=o.filter(t=>{const e=t[r];return null!=e&&Math.abs(e-c)>h*d});return t.jsxs("g",{children:[g&&t.jsx("rect",{x:0,y:Math.min(x,b),width:i.width||0,height:Math.abs(b-x),fill:y,fillOpacity:p}),k.map((e,n)=>{const o=De(e,i),r=Ne(e,i);return null==o||null==r?null:t.jsx("circle",{cx:o,cy:r,r:m,fill:v,fillOpacity:.7,stroke:v,strokeWidth:1.5},"anomaly-"+n)}),e.label&&t.jsx("text",{x:(i.width||0)-4,y:Math.min(x,b)-4,textAnchor:"end",fill:y,fontSize:11,children:e.label})]},"ann-"+n)}case"forecast":{const o=i.data||[];if(3>o.length)return null;const r=i.xAccessor||"x",s=i.yAccessor||"y",l=null!==(R=null===(N=i.scales)||void 0===N?void 0:N.x)&&void 0!==R?R:null===(I=i.scales)||void 0===I?void 0:I.time,a=null!==(W=null===($=i.scales)||void 0===$?void 0:$.y)&&void 0!==W?W:null===(z=i.scales)||void 0===z?void 0:z.value;if(!l||!a)return null;const c=o.map(t=>[t[r],t[s]]).filter(t=>null!=t[0]&&null!=t[1]&&isFinite(t[0])&&isFinite(t[1])).sort((t,e)=>t[0]-e[0]);if(3>c.length)return null;let u;if("polynomial"===(e.method||"linear")){const t=p.default.polynomial(c,{order:e.order||2}).equation;u=e=>t.reduce((t,n,i)=>t+n*Math.pow(e,i),0)}else{const t=c.length;let e=0,n=0,i=0,o=0;for(const[t,r]of c)e+=t,n+=r,i+=t*t,o+=t*r;const r=t*i-e*e;if(1e-12>Math.abs(r))return null;const s=(t*o-e*n)/r,l=(n-s*e)/t;u=t=>l+s*t}const d=c.length,h=c.map(([t,e])=>e-u(t)).reduce((t,e)=>t+e*e,0),f=Math.sqrt(h/Math.max(d-2,1)),g=c.reduce((t,e)=>t+e[0],0)/d,y=c.reduce((t,e)=>t+Math.pow(e[0]-g,2),0),v=null!==(F=e.confidence)&&void 0!==F?F:.95,m=.99>v?.95>v?.9>v?1:1.645:1.96:2.576,x=null!==(Y=e.steps)&&void 0!==Y?Y:5,b=c[d-1][0],k=(b-c[0][0])/Math.max(d-1,1),w=[];for(let t=1;x>=t;t++)w.push(b+t*k);const A=[];for(const t of w){const e=u(t),n=f*Math.sqrt(1+1/d+(y>0?Math.pow(t-g,2)/y:0))*m;A.push({x:t,yCenter:e,yUpper:e+n,yLower:e-n})}const S=`M${A.map(t=>`${l(t.x)},${a(t.yUpper)}`).join(" L")} L${A.slice().reverse().map(t=>`${l(t.x)},${a(t.yLower)}`).join(" L")} Z`,M=A.map(t=>`${l(t.x)},${a(t.yCenter)}`).join(" "),j=`${l(b)},${a(u(b))}`,_=e.strokeColor||"#6366f1";return t.jsxs("g",{children:[t.jsx("path",{d:S,fill:e.fill||"#6366f1",fillOpacity:null!==(B=e.fillOpacity)&&void 0!==B?B:.15,stroke:"none"}),t.jsx("polyline",{points:`${j} ${M}`,fill:"none",stroke:_,strokeWidth:null!==(H=e.strokeWidth)&&void 0!==H?H:2,strokeDasharray:null!==(X=e.strokeDasharray)&&void 0!==X?X:"6,3"}),e.label&&A.length>0&&t.jsx("text",{x:l(A[A.length-1].x)+4,y:a(A[A.length-1].yCenter)-4,fill:_,fontSize:11,children:e.label})]},"ann-"+n)}case"widget":{let o=null,r=null;if(null!=e.px&&null!=e.py)o=e.px,r=e.py;else{const t=Re(e,n,i);if(!t)return null;o=t.x,r=t.y}if(null==o||null==r)return null;if(!Ie(o,r,i))return null;const s=null!==(G=e.dx)&&void 0!==G?G:0,l=null!==(V=e.dy)&&void 0!==V?V:0,a=null!==(q=e.width)&&void 0!==q?q:32,c=null!==(U=e.height)&&void 0!==U?U:32,u=null!==(K=e.content)&&void 0!==K?K:t.jsx("span",{style:{fontSize:18,cursor:"default"},title:e.label||"Info",children:"ℹ️"});return t.jsx("foreignObject",{x:o+s-a/2,y:r+l-c/2,width:a,height:c,style:{overflow:"visible",pointerEvents:"auto"},children:t.jsx("div",{style:{width:a,height:c,display:"flex",alignItems:"center",justifyContent:"center"},children:u})},"ann-"+n)}case"text":{const o=Re(e,n,i);if(!o)return null;const{x:r,y:s}=o;return t.jsx("text",{x:r+(e.dx||0),y:s+(e.dy||0),fill:e.color||"var(--semiotic-text, #333)",fontSize:e.fontSize||11,dominantBaseline:"middle",style:{fontFamily:"inherit"},children:e.label},"ann-text-"+n)}case"category-highlight":{const o=e.category;if(null==o)return null;const r=t=>"function"==typeof t&&"function"==typeof t.bandwidth,s=null===(Z=i.scales)||void 0===Z?void 0:Z.o,l=null===(Q=i.scales)||void 0===Q?void 0:Q.x,a=null===(J=i.scales)||void 0===J?void 0:J.y,c=r(s)?s:r(l)?l:r(a)?a:null;if(!c)return null;const u=c(o+"");if(null==u)return null;const d=c.bandwidth(),h=e.color||"var(--semiotic-primary, #4589ff)",f=null!==(tt=e.opacity)&&void 0!==tt?tt:.15,g=e.label;return t.jsxs("g",(i.projection?"vertical"===i.projection:c===l)?{children:[t.jsx("rect",{x:u,y:0,width:d,height:i.height||0,fill:h,fillOpacity:f}),g&&t.jsx("text",{x:u+d/2,y:12,textAnchor:"middle",fill:h,fontSize:12,fontWeight:"bold",children:g})]}:{children:[t.jsx("rect",{x:0,y:u,width:i.width||0,height:d,fill:h,fillOpacity:f}),g&&t.jsx("text",{x:12,y:u+d/2,dominantBaseline:"middle",fill:h,fontSize:12,fontWeight:"bold",children:g})]},"ann-"+n)}default:return null}},n={scales:h?{x:h.x,y:h.y,time:h.x,value:h.y}:null,timeAxis:"x",xAccessor:I,yAccessor:$,width:r,height:l,data:W,frameType:"xy",pointNodes:z,curve:F,stickyPositionCache:K.current};return N.map((t,i)=>{if(R){const o=R(t,i,n);return null!=o?o:e(t,i,n)}return e(t,i,n)}).filter(Boolean)},[N,R,r,l,I,$,W,h,z,F]),tt=function(t){var n;const i=e.useSyncExternalStore(t?Xe:Ve,t?He:qe,t?He:qe);return t&&null!==(n=i.positions.get(t))&&void 0!==n?n:null}(H);return e.useEffect(()=>{if(!(null==tt?void 0:tt.locked)||!H)return;const t=t=>{"Escape"===t.key&&Be(H)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[null==tt?void 0:tt.locked,H]),f||A||S||O||T||J&&J.length>0||w||G||tt?t.jsxs("svg",{role:"img",width:c,height:u,overflow:"visible",style:{position:"absolute",top:0,left:0,pointerEvents:"none",overflow:"visible"},children:[t.jsx("title",{children:"string"==typeof A?A:"XY Chart"}),t.jsx("desc",{children:"string"==typeof A?A+" — XY data visualization":"XY data visualization"}),t.jsxs("g",{transform:`translate(${d.left},${d.top})`,children:[w&&h&&(!Y||B)&&(()=>{var e,n;const i=Je(null===(e=null==g?void 0:g.find(t=>"bottom"===t.orient))||void 0===e?void 0:e.gridStyle),o=Je(null===(n=null==g?void 0:g.find(t=>"left"===t.orient))||void 0===n?void 0:n.gridStyle);return t.jsxs("g",{className:"stream-grid",children:[V.map((e,n)=>t.jsx("line",{x1:e.pixel,y1:0,x2:e.pixel,y2:l,stroke:"var(--semiotic-grid, #e0e0e0)",strokeWidth:1,strokeDasharray:i},"xgrid-"+n)),q.map((e,n)=>t.jsx("line",{x1:0,y1:e.pixel,x2:r,y2:e.pixel,stroke:"var(--semiotic-grid, #e0e0e0)",strokeWidth:1,strokeDasharray:o},"ygrid-"+n))]})})(),f&&h&&(()=>{const e=null==g?void 0:g.find(t=>"left"===t.orient),n=null==g?void 0:g.find(t=>"bottom"===t.orient),i=!e||!1!==e.baseline,o=!n||!1!==n.baseline,s=(null==e?void 0:e.jaggedBase)||!1,a=(null==n?void 0:n.jaggedBase)||!1,c=null==n?void 0:n.landmarkTicks,u=null==e?void 0:e.landmarkTicks,h="var(--semiotic-border, #ccc)",f="var(--semiotic-text-secondary, var(--semiotic-text, #666))",p="var(--semiotic-text, #333)",x=!!(null==n?void 0:n.autoRotate)&&V.length>1&&(()=>{const t=r/Math.max(V.length-1,1);return V.reduce((t,e)=>Math.max(t,"string"==typeof e.label?6.5*e.label.length:60),0)+8>t})(),b={fontSize:"var(--semiotic-tick-font-size, 10px)"},k={fontSize:"calc(var(--semiotic-tick-font-size, 10px) + 1px)"},w={fontSize:"var(--semiotic-axis-label-font-size, 12px)"},A=null==n?void 0:n.tickAnchor,S=null==e?void 0:e.tickAnchor,M=Qe(V),j=Qe(q);return t.jsxs("g",{className:"stream-axes",style:{fontFamily:"var(--semiotic-font-family, sans-serif)"},children:[t.jsxs("g",{className:"semiotic-axis semiotic-axis-bottom","data-orient":"bottom",children:[(!Y||B)&&o&&!a&&t.jsx("line",{x1:0,y1:l,x2:r,y2:l,stroke:h,strokeWidth:1}),(!Y||B)&&a&&t.jsx("path",{d:tn("bottom",r,l),fill:"none",stroke:h,strokeWidth:1}),V.map((e,n)=>{const i=!!c&&("function"==typeof c?c(e.value,n):Rt(e.value,n>0?V[n-1].value:void 0));return t.jsxs("g",{transform:`translate(${e.pixel},${l})`,children:[t.jsx("line",{y2:5,stroke:h,strokeWidth:1}),"string"==typeof e.label||"number"==typeof e.label?t.jsx("text",{y:x?10:18,textAnchor:x?"end":Ke(A,e.pixel===M.min,e.pixel===M.max),fontWeight:i?600:400,fill:f,className:"semiotic-axis-tick",style:Object.assign({userSelect:"none"},i?k:b),transform:x?"rotate(-45)":void 0,children:e.label}):t.jsx("foreignObject",{x:-30,y:6,width:60,height:24,style:{overflow:"visible"},children:t.jsx("div",{style:Object.assign({textAlign:"center",userSelect:"none"},b),children:e.label})})]},"xtick-"+n)}),y&&t.jsx("text",{x:r/2,y:l+40,textAnchor:"middle",fill:p,className:"semiotic-axis-label",style:Object.assign({userSelect:"none"},w),children:y})]}),t.jsxs("g",{className:"semiotic-axis semiotic-axis-left","data-orient":"left",children:[(!Y||B)&&i&&!s&&t.jsx("line",{x1:0,y1:0,x2:0,y2:l,stroke:h,strokeWidth:1}),(!Y||B)&&s&&t.jsx("path",{d:tn("left",r,l),fill:"none",stroke:h,strokeWidth:1}),q.map((e,n)=>{const i=!!u&&("function"==typeof u?u(e.value,n):Rt(e.value,n>0?q[n-1].value:void 0));return t.jsxs("g",{transform:`translate(0,${e.pixel})`,children:[t.jsx("line",{x2:-5,stroke:h,strokeWidth:1}),"string"==typeof e.label||"number"==typeof e.label?t.jsx("text",{x:-8,textAnchor:"end",dominantBaseline:Ze(S,e.pixel===j.min,e.pixel===j.max),fontWeight:i?600:400,fill:f,className:"semiotic-axis-tick",style:Object.assign({userSelect:"none"},i?k:b),children:e.label}):t.jsx("foreignObject",{x:-68,y:-12,width:60,height:24,style:{overflow:"visible"},children:t.jsx("div",{style:Object.assign({textAlign:"right",userSelect:"none"},b),children:e.label})})]},"ytick-"+n)}),(()=>{const n=(null==e?void 0:e.label)||v;return n?t.jsx("text",{x:15-d.left,y:l/2,textAnchor:"middle",fill:p,transform:`rotate(-90, ${15-d.left}, ${l/2})`,className:"semiotic-axis-label",style:Object.assign({userSelect:"none"},w),children:n}):null})()]}),(()=>{const e=null==g?void 0:g.find(t=>"right"===t.orient);if(!e||0===U.length)return null;const n=!1!==e.baseline,i=e.landmarkTicks,o=e.label||m,s=e.tickAnchor,a=Qe(U);return t.jsxs("g",{className:"semiotic-axis semiotic-axis-right","data-orient":"right",children:[n&&t.jsx("line",{x1:r,y1:0,x2:r,y2:l,stroke:h,strokeWidth:1}),U.map((e,n)=>{const o=!!i&&("function"==typeof i?i(e.value,n):Rt(e.value,n>0?U[n-1].value:void 0));return t.jsxs("g",{transform:`translate(${r},${e.pixel})`,children:[t.jsx("line",{x2:5,stroke:h,strokeWidth:1}),"string"==typeof e.label||"number"==typeof e.label?t.jsx("text",{x:8,textAnchor:"start",dominantBaseline:Ze(s,e.pixel===a.min,e.pixel===a.max),fontWeight:o?600:400,fill:f,className:"semiotic-axis-tick",style:Object.assign({userSelect:"none"},o?k:b),children:e.label}):t.jsx("foreignObject",{x:8,y:-12,width:60,height:24,style:{overflow:"visible"},children:t.jsx("div",{style:Object.assign({textAlign:"left",userSelect:"none"},b),children:e.label})})]},"ytick-r-"+n)}),o&&t.jsx("text",{x:r+d.right-15,y:l/2,textAnchor:"middle",fill:p,transform:`rotate(90, ${r+d.right-15}, ${l/2})`,className:"semiotic-axis-label",style:Object.assign({userSelect:"none"},w),children:o})]})})()]})})(),J,T&&h&&L&&D&&t.jsxs(t.Fragment,{children:[T.top&&t.jsx("g",{transform:"translate(0, 0)",children:t.jsx(je,{orient:"top",config:Me(T.top),values:L,scale:h.x,size:d.top,length:r})}),T.bottom&&t.jsx("g",{transform:`translate(0, ${l})`,children:t.jsx(je,{orient:"bottom",config:Me(T.bottom),values:L,scale:h.x,size:d.bottom,length:r})}),T.left&&t.jsx("g",{transform:"translate(0, 0)",children:t.jsx(je,{orient:"left",config:Me(T.left),values:D,scale:h.y,size:d.left,length:l})}),T.right&&t.jsx("g",{transform:`translate(${r}, 0)`,children:t.jsx(je,{orient:"right",config:Me(T.right),values:D,scale:h.y,size:d.right,length:l})})]}),O,tt&&tt.sourceId!==X&&(null==h?void 0:h.x)&&(()=>{const e=h.x(tt.xValue);if(null==e||0>e||e>r)return null;const n=tt.locked;return t.jsx("line",{x1:e,y1:0,x2:e,y2:l,stroke:n?"white":"var(--semiotic-text-secondary, rgba(0,0,0,0.25))",strokeWidth:n?1.5:1,strokeDasharray:n?"6,3":"4,4",pointerEvents:"none"})})(),G]}),A&&t.jsx("text",{x:c/2,y:20,textAnchor:"middle",fontWeight:"bold",fill:"var(--semiotic-text, #333)",className:"semiotic-chart-title",style:{userSelect:"none",fontSize:"var(--semiotic-title-font-size, 14px)"},children:"string"==typeof A?A:null}),Se({legend:S,totalWidth:c,totalHeight:u,margin:d,legendPosition:C,title:A,legendLayout:E,legendHoverBehavior:M,legendClickBehavior:j,legendHighlightedCategory:_,legendIsolatedCategories:P})]}):null}function sn(t){var e,n,i,o;return(null!==(e=t.tl)&&void 0!==e?e:0)>0||(null!==(n=t.tr)&&void 0!==n?n:0)>0||(null!==(i=t.br)&&void 0!==i?i:0)>0||(null!==(o=t.bl)&&void 0!==o?o:0)>0}const ln={innerRadius:0,outerRadius:0,startAngle:0,endAngle:0};function an(t,e="#4e79a7"){return t&&"string"==typeof t?t:e}const cn="undefined"==typeof window||"undefined"==typeof document,un="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;function dn(){const[t,n]=e.useState(!1);return un(()=>{n(!0)},[]),t}const hn=()=>()=>{},fn=()=>!1,gn=()=>!0;function yn(){const t=e.useSyncExternalStore(hn,fn,gn);return e.useRef(t).current}function pn(t){const{hydrated:n,wasHydratingFromSSR:i,storeRef:o,dirtyRef:r,renderFnRef:s,cleanup:l}=t;un(()=>{var t,e;n&&i&&(null===(e=null===(t=o.current)||void 0===t?void 0:t.cancelIntroAnimation)||void 0===e||e.call(t)),r.current=!0,s.current()},[n,i]);const a=e.useRef(l);a.current=l,e.useEffect(()=>()=>{var t;return null===(t=a.current)||void 0===t?void 0:t.call(a)},[])}function vn(t){const n=e.useRef(t);return function(t,e){if(Object.is(t,e))return!0;if(Array.isArray(t)&&Array.isArray(e))return xn(t,e);if(!bn(t)||!bn(e))return!1;const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(const i of n){if(!Object.prototype.hasOwnProperty.call(e,i))return!1;const n=t[i],o=e[i];if(!Object.is(n,o))if(Array.isArray(n)&&Array.isArray(o)){if(!xn(n,o))return!1}else{if(!bn(n)||!bn(o))return!1;if(!mn(n,o))return!1}}return!0}(n.current,t)||(n.current=t),n.current}function mn(t,e){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(const i of n){if(!Object.prototype.hasOwnProperty.call(e,i))return!1;if(!Object.is(t[i],e[i]))return!1}return!0}function xn(t,e){if(t.length!==e.length)return!1;for(let n=0;t.length>n;n++)if(!Object.is(t[n],e[n]))return!1;return!0}function bn(t){if(null===t||"object"!=typeof t)return!1;if(Array.isArray(t))return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}const kn=y.createContext(null);function wn(){return y.useContext(kn)}const An={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0};function Sn(t,e){if(!t||0===t.length)return e+", empty";const n={};for(const e of t){if(null===(null==e?void 0:e.datum))continue;const t=e.type+"";n[t]=(n[t]||0)+1}if(0===Object.keys(n).length)return e+", empty";const i=[],o={point:"points",line:"lines",area:"areas",rect:"bars",heatcell:"cells",circle:"nodes",candlestick:"candlesticks",wedge:"wedges",arc:"arcs",geoarea:"regions"},r=["point","line","area","rect","heatcell","circle","candlestick","wedge","arc","geoarea"],s=Object.keys(n).sort((t,e)=>{const n=r.indexOf(t),i=r.indexOf(e);return(-1===n?999:n)-(-1===i?999:i)});for(const t of s)i.push(`${n[t]} ${o[t]||t}`);return`${e}, ${i.join(", ")}`}function Mn(t,e,n){const i=[];return t>0&&i.push(t+" nodes"),e>0&&i.push(e+" edges"),0===i.length?n+", empty":`${n}, ${i.join(", ")}`}const jn=t=>{if(null==t)return"";const e=Math.round(100*t)/100;return Number.isNaN(e)?"":e+""},_n="semiotic-accessible-data-table",Pn=_n+" semiotic-accessible-data-table-hidden",Cn=_n+" semiotic-accessible-data-table-visible",En=Cn+" semiotic-accessible-data-table-network",On={position:"absolute",top:0,left:0,right:0,zIndex:"var(--semiotic-data-table-z-index, var(--semiotic-overlay-z-index, 20))",padding:"14px 16px 12px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontFamily:"var(--semiotic-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)",fontSize:13,lineHeight:1.5,color:"var(--semiotic-data-table-text, var(--semiotic-text, #333))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",borderRadius:"var(--semiotic-border-radius, 0px) var(--semiotic-border-radius, 0px) 0 0"},Tn={marginBottom:8,paddingRight:28,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:12,letterSpacing:"0.01em"},Ln={position:"absolute",top:10,right:10,width:22,height:22,display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",cursor:"pointer",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:13,lineHeight:1,padding:0,borderRadius:"var(--semiotic-border-radius, 4px)"},Dn={width:"100%",borderCollapse:"collapse",fontSize:12,marginTop:4,fontVariantNumeric:"tabular-nums"},Nn={textAlign:"left",padding:"5px 10px",borderBottom:"2px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontWeight:600,fontSize:11,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))"},Rn={padding:"4px 10px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))"},In={textAlign:"left",fontSize:11,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #999))",marginBottom:4,fontStyle:"italic"};function $n({scene:e,chartType:n,tableId:i,chartTitle:o}){var r;const[s,l]=y.useState(!1),a=wn(),c=null!==(r=null==a?void 0:a.visible)&&void 0!==r&&r,u=s||c,d=y.useRef(null),h=o?"Data summary for "+o:i?`Data summary for ${n} ${i}`:"Data summary for "+n,f=y.useCallback(()=>{s||c||l(!0)},[s,c]),g=y.useCallback(t=>{var e;c||(null===(e=d.current)||void 0===e?void 0:e.contains(t.relatedTarget))||l(!1)},[c]);if(!e||0===e.length)return i?t.jsx("span",{id:i,tabIndex:-1,style:An}):null;if(!u)return t.jsx("div",{id:i,className:Pn,tabIndex:-1,onFocus:f,style:An,role:"region","aria-label":h,children:t.jsxs("button",{type:"button",onClick:()=>l(!0),children:["View data summary (",e.length," elements)"]})});const p=function(t){var e,n,i,o,r,s,l,a,c,u,d,h,f,g,y,p,v,m,x,b,k,w,A,S,M;const j=[];if(!Array.isArray(t))return j;for(const _ of t)if(_&&"object"==typeof _&&null!==_.datum)try{switch(_.type){case"point":j.push({label:"Point",values:{x:_.x,y:_.y}});break;case"line":{const t=_.path,e=Array.isArray(_.datum)?_.datum:[];if(!Array.isArray(t))break;for(let n=0;t.length>n&&e.length>n;n++){const e=t[n];Array.isArray(e)&&j.push({label:"Line point",values:{x:e[0],y:e[1]}})}break}case"area":{const t=_.topPath,e=Array.isArray(_.datum)?_.datum:[];if(!Array.isArray(t))break;for(let n=0;t.length>n&&e.length>n;n++){const e=t[n];Array.isArray(e)&&j.push({label:"Area point",values:{x:e[0],y:e[1]}})}break}case"rect":{const t=null!=_.datum&&"object"==typeof _.datum?_.datum:{},r=null!==(n=null!==(e=t.category)&&void 0!==e?e:_.group)&&void 0!==n?n:"",s=null!==(o=null!==(i=t.value)&&void 0!==i?i:t.__aggregateValue)&&void 0!==o?o:t.total;j.push({label:"Bar",values:{category:r,value:null!=s?s:""}});break}case"heatcell":j.push({label:"Cell",values:{x:_.x,y:_.y,value:_.value}});break;case"wedge":j.push({label:"Wedge",values:{category:null!==(a=null!==(s=null===(r=_.datum)||void 0===r?void 0:r.category)&&void 0!==s?s:null===(l=_.datum)||void 0===l?void 0:l.label)&&void 0!==a?a:"",value:null!==(u=null===(c=_.datum)||void 0===c?void 0:c.value)&&void 0!==u?u:""}});break;case"circle":j.push({label:"Node",values:{id:null!==(h=null===(d=_.datum)||void 0===d?void 0:d.id)&&void 0!==h?h:"",x:null!==(f=_.cx)&&void 0!==f?f:_.x,y:null!==(g=_.cy)&&void 0!==g?g:_.y}});break;case"arc":j.push({label:"Arc",values:{id:null!==(p=null===(y=_.datum)||void 0===y?void 0:y.id)&&void 0!==p?p:"",x:null!==(v=_.cx)&&void 0!==v?v:_.x,y:null!==(m=_.cy)&&void 0!==m?m:_.y}});break;case"candlestick":j.push({label:"Candlestick",values:{x:_.x,open:_.open,high:_.high,low:_.low,close:_.close}});break;case"geoarea":j.push({label:"Region",values:{name:null!==(A=null!==(k=null===(b=null===(x=_.datum)||void 0===x?void 0:x.properties)||void 0===b?void 0:b.name)&&void 0!==k?k:null===(w=_.datum)||void 0===w?void 0:w.name)&&void 0!==A?A:"",value:null!==(M=null===(S=_.datum)||void 0===S?void 0:S.value)&&void 0!==M?M:""}})}}catch(t){}return j}(e),v=function(t){if(!t||0===t.length)return[];const e=new Set;for(const n of t)if(n&&n.values)for(const t of Object.keys(n.values))e.add(t);const n=[];for(const i of e){const e=[],o=new Set;for(const n of t){if(!n||!n.values)continue;const t=n.values[i];null!=t&&""!==t&&("number"==typeof t&&!Number.isNaN(t)&&Number.isFinite(t)?e.push(t):"number"==typeof t||"object"!=typeof t&&"function"!=typeof t&&o.add(t+""))}if(e.length>0){let t=e[0],o=e[0],r=0;for(const n of e)t>n&&(t=n),n>o&&(o=n),r+=n;n.push({name:i,count:e.length,numeric:!0,min:t,max:o,mean:r/e.length})}else if(o.size>0){const t=Array.from(o);n.push({name:i,count:t.length,numeric:!1,uniqueValues:t.slice(0,5)})}}return n}(p),m=function(t,e){const n=[t+" data points."];for(const t of e)if(t.numeric)n.push(`${t.name}: ${jn(t.min)} to ${jn(t.max)}, mean ${jn(t.mean)}.`);else{const e=t.uniqueValues,i=e.length>3?`${e.slice(0,3).join(", ")}… (${t.count} unique)`:e.join(", ");n.push(`${t.name}: ${i}.`)}return n.join(" ")}(p.length,v),x=p.slice(0,5),b=new Set;for(const t of x)for(const e of Object.keys(t.values))b.add(e);const k=Array.from(b);return t.jsxs("div",{ref:d,id:i,className:Cn,tabIndex:-1,onBlur:g,style:On,role:"region","aria-label":h,children:[t.jsx("button",{type:"button",className:"semiotic-accessible-data-table-close",onClick:()=>{c&&a&&a.setVisible(!1),l(!1)},"aria-label":"Close data summary",style:Ln,children:"×"}),t.jsx("div",{className:"semiotic-accessible-data-table-summary",role:"note",style:Tn,children:m}),t.jsxs("table",{className:"semiotic-accessible-data-table-table",role:"table","aria-label":"Sample data for "+n,style:Dn,children:[t.jsxs("caption",{className:"semiotic-accessible-data-table-caption",style:In,children:["First ",x.length," of ",p.length," data points"]}),t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{style:Nn,children:"type"}),k.map(e=>t.jsx("th",{style:Nn,children:e},e))]})}),t.jsx("tbody",{children:x.map((e,n)=>t.jsxs("tr",{children:[t.jsx("td",{style:Rn,children:e.label}),k.map(n=>{return t.jsx("td",{style:Rn,children:(i=e.values[n],null==i||""===i?"—":"number"==typeof i?Number.isNaN(i)?"—":jn(i):"boolean"==typeof i?i?"true":"false":"object"==typeof i?"—":i+"")},n);var i})]},n))})]})]})}function Wn({nodes:e,edges:n,chartType:i,tableId:o,chartTitle:r}){var s,l,a,c,u,d,h,f,g,p,v,m,x,b;const[k,w]=y.useState(!1),A=wn(),S=null!==(s=null==A?void 0:A.visible)&&void 0!==s&&s,M=k||S,j=r?"Data summary for "+r:o?`Data summary for ${i} ${o}`:"Data summary for "+i,_=y.useRef(null),P=y.useCallback(()=>{k||S||w(!0)},[k,S]),C=y.useCallback(t=>{var e;S||(null===(e=_.current)||void 0===e?void 0:e.contains(t.relatedTarget))||w(!1)},[S]);if(!e||0===e.length)return o?t.jsx("span",{id:o,tabIndex:-1,style:An}):null;if(!M)return t.jsx("div",{id:o,className:Pn,tabIndex:-1,onFocus:P,style:An,role:"region","aria-label":j,children:t.jsxs("button",{type:"button",onClick:()=>w(!0),children:["View data summary (",e.length," nodes, ",n.length," edges)"]})});const E=Array.isArray(e)?e:[],O=Array.isArray(n)?n:[],T=new Map,L=new Map,D=new Map,N=new Map;for(const t of O){if(!t||"object"!=typeof t)continue;const e=null!==(l=t.datum)&&void 0!==l?l:t,n="object"==typeof e.source?null===(a=e.source)||void 0===a?void 0:a.id:e.source,i="object"==typeof e.target?null===(c=e.target)||void 0===c?void 0:c.id:e.target,o="number"==typeof e.value&&Number.isFinite(e.value)?e.value:0;if(null!=n&&""!==n){const t=n+"";L.set(t,(null!==(u=L.get(t))&&void 0!==u?u:0)+1),N.set(t,(null!==(d=N.get(t))&&void 0!==d?d:0)+o)}if(null!=i&&""!==i){const t=i+"";T.set(t,(null!==(h=T.get(t))&&void 0!==h?h:0)+1),D.set(t,(null!==(f=D.get(t))&&void 0!==f?f:0)+o)}}const R=[];for(let t=0;E.length>t;t++){const e=E[t];if(!e||"object"!=typeof e)continue;const n=null!==(p=null===(g=e.datum)||void 0===g?void 0:g.id)&&void 0!==p?p:e.id,i=null!=n?n+"":"node-"+t,o=null!==(v=T.get(i))&&void 0!==v?v:0,r=null!==(m=L.get(i))&&void 0!==m?m:0,s=null!==(x=D.get(i))&&void 0!==x?x:0,l=null!==(b=N.get(i))&&void 0!==b?b:0;R.push({id:i,degree:o+r,inDeg:o,outDeg:r,wDegree:s+l,wInDeg:s,wOutDeg:l})}R.sort((t,e)=>e.degree-t.degree);let I=0,$=0;if(R.length>0){let t=0;for(const e of R)t+=e.degree,e.degree>$&&($=e.degree);I=t/R.length}const W=O.some(t=>{var e;const n=null!==(e=null==t?void 0:t.datum)&&void 0!==e?e:t;return"number"==typeof(null==n?void 0:n.value)&&Number.isFinite(n.value)}),z=[`${R.length} nodes, ${O.length} edges.`];R.length>0&&z.push(`Mean degree: ${jn(I)}, max degree: ${$}.`);const F=R.slice(0,5);return t.jsxs("div",{ref:_,id:o,className:En,tabIndex:-1,onBlur:C,style:On,role:"region","aria-label":j,children:[t.jsx("button",{type:"button",className:"semiotic-accessible-data-table-close",onClick:()=>{S&&A&&A.setVisible(!1),w(!1)},"aria-label":"Close data summary",style:Ln,children:"×"}),t.jsx("div",{className:"semiotic-accessible-data-table-summary",role:"note",style:Tn,children:z.join(" ")}),t.jsxs("table",{className:"semiotic-accessible-data-table-table",role:"table","aria-label":"Node degree summary for "+i,style:Dn,children:[t.jsxs("caption",{className:"semiotic-accessible-data-table-caption",style:In,children:["Top ",F.length," of ",R.length," nodes by degree"]}),t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{style:Nn,children:"id"}),t.jsx("th",{style:Nn,children:"degree"}),t.jsx("th",{style:Nn,children:"in"}),t.jsx("th",{style:Nn,children:"out"}),W&&t.jsx("th",{style:Nn,children:"w. degree"}),W&&t.jsx("th",{style:Nn,children:"w. in"}),W&&t.jsx("th",{style:Nn,children:"w. out"})]})}),t.jsx("tbody",{children:F.map((e,n)=>t.jsxs("tr",{children:[t.jsx("td",{style:Rn,children:e.id}),t.jsx("td",{style:Rn,children:e.degree}),t.jsx("td",{style:Rn,children:e.inDeg}),t.jsx("td",{style:Rn,children:e.outDeg}),W&&t.jsx("td",{style:Rn,children:jn(e.wDegree)}),W&&t.jsx("td",{style:Rn,children:jn(e.wInDeg)}),W&&t.jsx("td",{style:Rn,children:jn(e.wOutDeg)})]},n))})]})]})}function zn({summary:e}){return e?t.jsx("div",{role:"note",style:An,children:e}):null}function Fn({tableId:e}){return t.jsx("a",{href:"#"+e,style:An,onClick:t=>{t.preventDefault();const n=document.getElementById(e);n&&requestAnimationFrame(()=>n.focus())},onFocus:t=>{Object.assign(t.currentTarget.style,{position:"absolute",width:"auto",height:"auto",overflow:"visible",clip:"auto",whiteSpace:"normal",padding:"4px 8px",background:"var(--semiotic-bg, #fff)",color:"var(--semiotic-text, #000)",border:"2px solid var(--semiotic-focus, #005fcc)",borderRadius:"4px",zIndex:"10",fontSize:"12px",top:"4px",left:"4px"})},onBlur:t=>{const e=t.currentTarget;e.removeAttribute("style"),Object.assign(e.style,An)},children:"Skip to data table"})}function Yn({hoverPoint:e}){let n="";if(e){const t=e.data||e;n="object"==typeof t?"Focused on data point: "+Object.entries(t).filter(([,t])=>"object"!=typeof t&&"function"!=typeof t).map(([t,e])=>`${t}: ${e}`).join(", "):"Focused on data point: "+t}return t.jsx("div",{"aria-live":"polite","aria-atomic":"true",style:An,children:n})}const Bn="var(--semiotic-focus, #005fcc)";function Hn({active:e,hoverPoint:n,margin:i,size:o,shape:r="circle",width:s,height:l}){if(!e||!n)return null;const a=n.x+i.left,c=n.y+i.top;let u;if("rect"===r&&null!=s&&null!=l){const e=Math.max(s,4),n=Math.max(l,4);u=t.jsx("rect",{x:a-e/2-3,y:c-n/2-3,width:e+6,height:n+6,rx:3,fill:"none",stroke:Bn,strokeWidth:2,strokeDasharray:"4,2"})}else u=t.jsx("circle","wedge"===r?{cx:a,cy:c,r:12,fill:"none",stroke:Bn,strokeWidth:2.5,strokeDasharray:"6,3"}:{cx:a,cy:c,r:8,fill:"none",stroke:Bn,strokeWidth:2,strokeDasharray:"4,2"});return t.jsx("svg",{style:{position:"absolute",left:0,top:0,width:o[0],height:o[1],pointerEvents:"none",zIndex:2},"aria-hidden":"true",children:u})}function Xn(t){return Array.isArray(t)?t[0]:t}function Gn(t,e,n,i){return Object.assign({data:Xn(t),x:e,y:n,__semioticHoverData:!0},i)}const Vn={background:"var(--semiotic-tooltip-bg, rgba(0, 0, 0, 0.85))",color:"var(--semiotic-tooltip-text, white)",padding:"8px 12px",borderRadius:"var(--semiotic-tooltip-radius, 6px)",fontSize:"var(--semiotic-tooltip-font-size, 14px)",fontFamily:"var(--semiotic-font-family, inherit)",lineHeight:"1.5",boxShadow:"var(--semiotic-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, 0.15))",pointerEvents:"none",maxWidth:"300px",wordWrap:"break-word"};function qn({x:e,y:n,containerWidth:i,containerHeight:o,margin:r,children:s,className:l="stream-frame-tooltip",zIndex:a=1}){const c=Number.isFinite(e)&&Number.isFinite(n),u=y.useRef(null),[d,h]=y.useState(null);y.useLayoutEffect(()=>{const t=u.current;if(!t)return;const e=t.getBoundingClientRect();h(t=>t&&t.width===e.width&&t.height===e.height?t:{width:e.width,height:e.height})},[s,l,i,o]);let f;f=d?`translate(${d.width+12>i-e?"calc(-100% - 12px)":"12px"}, ${d.height+12>o-n?"calc(-100% - 4px)":"4px"})`:`translate(${e>.7*i?"calc(-100% - 12px)":"12px"}, ${.3*o>n?"4px":"calc(-100% - 4px)"})`;const g=function(t){if(!y.isValidElement(t))return!1;const e=t.type;if("string"!=typeof e&&e&&!0===e.ownsChrome)return!0;const n=t.props;if("string"==typeof n.className&&n.className.trim().length>0)return!0;const i=n.style;if(i&&"object"==typeof i){if(null!=i.background&&""!==i.background)return!0;if(null!=i.backgroundColor&&""!==i.backgroundColor)return!0}return!1}(s),p=g?null:Vn;return c?t.jsx("div",{ref:u,className:g?l:(l+" semiotic-tooltip").trim(),style:Object.assign(Object.assign({},p||{}),{position:"absolute",left:r.left+e,top:r.top+n,transform:f,pointerEvents:"none",zIndex:a,width:"max-content"}),children:s}):null}const Un="undefined"==typeof window?e.useEffect:e.useLayoutEffect;function Kn(t,e,n){return"function"==typeof t?t({size:e,margin:n}):t}function Zn(t){const n=function(){const[t,n]=e.useState(()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return e.useEffect(()=>{if("undefined"==typeof window||!window.matchMedia)return;const t=window.matchMedia("(prefers-reduced-motion: reduce)");return n(t.matches),function(t,e){if("function"==typeof t.addEventListener)return t.addEventListener("change",e),()=>t.removeEventListener("change",e);const n=t;return n.addListener(e),()=>n.removeListener(e)}(t,t=>n(t.matches))},[]),t}(),i=e.useRef(n);i.current=n;const[o,r]=function(t,n,i){const o=e.useRef(null),[r,s]=e.useState(null);return e.useEffect(()=>{if(!n&&!i)return;const t=o.current;if(!t)return;const e=new ResizeObserver(t=>{for(const e of t){const{width:t,height:n}=e.contentRect;s(e=>e&&e.w===t&&e.h===n?e:{w:t,h:n})}});return e.observe(t),()=>e.disconnect()},[n,i]),[o,[n&&r?r.w:t[0],i&&r?r.h:t[1]]]}(t.sizeProp,t.responsiveWidth,t.responsiveHeight),s=e.useMemo(()=>Object.assign(Object.assign({},t.marginDefault),t.userMargin),[t.marginDefault,t.userMargin]),l=r[0]-s.left-s.right,a=r[1]-s.top-s.bottom,c=Kn(t.foregroundGraphics,r,s),u=Kn(t.backgroundGraphics,r,s),d=L(t=>t.theme),{transition:h,introEnabled:f}=function(t,e){var n,i;if(!1===t)return{transition:void 0,introEnabled:!1};const o="undefined"!=typeof window&&(null===(n=window.matchMedia)||void 0===n?void 0:n.call(window,"(prefers-reduced-motion: reduce)").matches);return{transition:t?!0===t?{duration:300}:{duration:null!==(i=t.duration)&&void 0!==i?i:300,easing:"linear"===t.easing?"linear":"ease-out"}:e,introEnabled:!(o||!t||!0!==t&&!1===t.intro)}}(t.animate,t.transitionProp),g="semiotic-table-"+y.useId(),p=e.useRef(0),v=e.useRef(()=>{}),m=e.useCallback(()=>{p.current||(p.current=requestAnimationFrame(()=>v.current()))},[]);e.useEffect(()=>()=>{p.current&&(cancelAnimationFrame(p.current),p.current=0)},[]);const x=e.useRef(()=>{}),b=e.useRef(()=>{}),k=e.useRef(null),w=e.useRef(0),A=e.useCallback(()=>{w.current=0;const t=k.current;k.current=null,t&&x.current(t)},[]),S=e.useCallback(t=>{k.current={clientX:t.clientX,clientY:t.clientY},0===w.current&&(w.current=requestAnimationFrame(A))},[A]),M=e.useCallback(()=>{k.current=null,0!==w.current&&(cancelAnimationFrame(w.current),w.current=0),b.current()},[]);e.useEffect(()=>()=>{k.current=null,0!==w.current&&(cancelAnimationFrame(w.current),w.current=0)},[]);const j=t.themeDirtyRef;return Un(()=>{j&&(zt++,j.current=!0,m())},[d,m,j]),{reducedMotion:n,reducedMotionRef:i,responsiveRef:o,size:r,margin:s,adjustedWidth:l,adjustedHeight:a,resolvedForeground:c,resolvedBackground:u,currentTheme:d,transition:h,introEnabled:f,tableId:g,rafRef:p,renderFnRef:v,scheduleRender:m,hoverHandlerRef:x,hoverLeaveRef:b,onPointerMove:S,onPointerLeave:M}}function Qn(t,e,n,i){const o=t.getContext("2d");if(!o)return null;const r=e[0]*i,s=e[1]*i,l=e[0]+"px",a=e[1]+"px";return t.style.width!==l&&(t.style.width=l),t.style.height!==a&&(t.style.height=a),t.width===r&&t.height===s||(t.width=r,t.height=s),o.setTransform(i,0,0,i,0,0),o.translate(n.left,n.top),o}function Jn(){return"undefined"!=typeof window&&window.devicePixelRatio||1}function ti(t,e,n){let i=n;for(const n of e)"lesser"===n.thresholdType?n.value>t&&(i=n.color):t>n.value&&(i=n.color);return i}function ei(t,e,n,i,o,r){if(2>e.length)return;const s=[0];for(let t=1;e.length>t;t++){const n=e[t][0]-e[t-1][0],i=e[t][1]-e[t-1][1];s.push(s[t-1]+Math.sqrt(n*n+i*i))}const l=s[s.length-1];if(0===l)return;const a=Math.min(.2*l,40);t.strokeStyle=n,t.lineWidth=i,t.lineCap=r;for(let n=0;e.length-1>n;n++){const i=(s[n]+s[n+1])/2;let r=o;a>i&&(r*=i/a),a>l-i&&(r*=(l-i)/a),t.globalAlpha=Math.max(0,r),t.beginPath(),t.moveTo(e[n][0],e[n][1]),t.lineTo(e[n+1][0],e[n+1][1]),t.stroke()}}const ni=(t,e,n,i)=>{var o,r;const l=e.filter(t=>"line"===t.type);for(const a of l){if(2>a.path.length)continue;const c=a._introClipFraction;void 0!==c&&1>c&&(t.save(),t.beginPath(),t.rect(0,0,i.width*c,i.height),t.clip());const u=a.style.stroke||"#007bff",d=Xt(t,u)||u,h=a.style.strokeWidth||2,f=a.colorThresholds,g=a.rawValues;if(t.setLineDash(a.style.strokeDasharray?a.style.strokeDasharray.split(/[\s,]+/).map(Number):[]),null!=a.style.opacity&&(t.globalAlpha=a.style.opacity),t.lineWidth=h,t.lineCap=a.style.strokeLinecap||"butt",a.style._edgeFade){const m=null!==(o=a.style.opacity)&&void 0!==o?o:1;ei(t,a.path,d,h,m,a.style.strokeLinecap||"butt"),t.globalAlpha=1,t.setLineDash([]),t.lineCap="butt";continue}const y=Gt(a.curve),p=f&&f.length>0&&g&&g.length===a.path.length,v=a._decayOpacities;if(v&&v.length===a.path.length&&!p){t.strokeStyle=d;const x=null!==(r=a.style.opacity)&&void 0!==r?r:1;for(let b=0;a.path.length-1>b;b++)t.globalAlpha=.5*(v[b]+v[b+1])*x,t.beginPath(),t.moveTo(a.path[b][0],a.path[b][1]),t.lineTo(a.path[b+1][0],a.path[b+1][1]),t.stroke()}else if(p){let k=null,w=null,A=null,S=null,M=!1;function j(e,n,i){t.beginPath(),t.strokeStyle=e,t.moveTo(n,i),M=!0}function _(){M&&(t.stroke(),M=!1)}for(let P=0;a.path.length>P;P++){const[C,E]=a.path[P],O=g[P],T=ti(O,f,d);if(null!==k&&null!==S&&null!==A){if(T===S)t.lineTo(C,E);else{const L=[];for(const D of f){const N=D.value;(A>N||N>O)&&(N>A||O>N)||A===N||O===N||L.push({t:(N-A)/(O-A)})}L.sort((t,e)=>t.t-e.t);for(const R of L){const I=k+(C-k)*R.t,$=w+(E-w)*R.t,W=ti(A+(O-A)*Math.min(R.t+1e-4,1),f,d);t.lineTo(I,$),_(),j(W,I,$)}t.lineTo(C,E)}k=C,w=E,A=O,S=T}else j(T,C,E),k=C,w=E,A=O,S=T}_()}else{t.beginPath();const z=a.strokeGradient&&a.path.length>=2?Ut(t,a.strokeGradient,a.path[0][0],0,a.path[a.path.length-1][0],0):null;if(t.strokeStyle=z||d,y)s.line().x(t=>t[0]).y(t=>t[1]).curve(y).context(t)(a.path);else{const[F,Y]=a.path[0];t.moveTo(F,Y);for(let B=1;a.path.length>B;B++)t.lineTo(a.path[B][0],a.path[B][1])}t.stroke()}if(a.style.fill&&a.style.fillOpacity&&a.style.fillOpacity>0){if(t.beginPath(),t.globalAlpha=a.style.fillOpacity,t.fillStyle=Vt(t,a.style.fill,a.style.fill),y&&!p)s.line().x(t=>t[0]).y(t=>t[1]).curve(y).context(t)(a.path);else{const[X,G]=a.path[0];t.moveTo(X,G);for(let V=1;a.path.length>V;V++)t.lineTo(a.path[V][0],a.path[V][1])}const H=a.path[0][0];t.lineTo(a.path[a.path.length-1][0],i.height),t.lineTo(H,i.height),t.closePath(),t.fill()}void 0!==c&&1>c&&t.restore(),t.globalAlpha=1,t.setLineDash([]),t.lineCap="butt"}};function ii(t){return!(!t._pulseIntensity||0>=t._pulseIntensity)}function oi(t,e,n=.3){ii(e)&&(t.globalAlpha=e._pulseIntensity*n,t.fillStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.fillRect(e.x,e.y,e.w,e.h))}function ri(t,e,n=.6){var i,o,r,s,l;if(!ii(e))return;const a=null!==(i=e._pulseGlowRadius)&&void 0!==i?i:4,c=e.r+a*e._pulseIntensity,u=null!==(r=null!==(o=e.cx)&&void 0!==o?o:e.x)&&void 0!==r?r:0,d=null!==(l=null!==(s=e.cy)&&void 0!==s?s:e.y)&&void 0!==l?l:0;t.beginPath(),t.arc(u,d,c,0,2*Math.PI),t.strokeStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.lineWidth=2*e._pulseIntensity,t.globalAlpha=e._pulseIntensity*n,t.stroke()}function si(t,e,n,i=.35){ii(e)&&(t.globalAlpha=e._pulseIntensity*i,t.fillStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.fill())}function li(t,e){const n=Gt(e.curve);if(!n||2>e.topPath.length||2>e.bottomPath.length){t.beginPath(),t.moveTo(e.topPath[0][0],e.topPath[0][1]);for(let n=1;e.topPath.length>n;n++)t.lineTo(e.topPath[n][0],e.topPath[n][1]);for(let n=e.bottomPath.length-1;n>=0;n--)t.lineTo(e.bottomPath[n][0],e.bottomPath[n][1]);t.closePath()}else{const i=s.area().x(t=>t[0]).y0((t,n)=>e.bottomPath[n][1]).y1(t=>t[1]).curve(n).context(t);t.beginPath(),i(e.topPath)}}const ai=(t,e,n,i)=>{var o,r,l;const a=e.filter(t=>"area"===t.type);for(const e of a){if(2>e.topPath.length)continue;let n=!1;e.clipRect&&(t.save(),t.beginPath(),t.rect(e.clipRect.x,e.clipRect.y,e.clipRect.width,e.clipRect.height),t.clip(),n=!0);const a=e._introClipFraction;void 0!==a&&1>a&&(t.save(),t.beginPath(),t.rect(0,0,i.width*a,i.height),t.clip());const c=Vt(t,e.style.fill,"#4e79a7"),u=e._decayOpacities;if(u&&u.length===e.topPath.length){const n=null!==(o=e.style.fillOpacity)&&void 0!==o?o:.7;t.fillStyle=c;for(let i=0;e.topPath.length-1>i;i++)t.globalAlpha=.5*(u[i]+u[i+1])*n,t.beginPath(),t.moveTo(e.topPath[i][0],e.topPath[i][1]),t.lineTo(e.topPath[i+1][0],e.topPath[i+1][1]),t.lineTo(e.bottomPath[i+1][0],e.bottomPath[i+1][1]),t.lineTo(e.bottomPath[i][0],e.bottomPath[i][1]),t.closePath(),t.fill();if(e.style.stroke&&"none"!==e.style.stroke){t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||2,t.setLineDash([]);for(let n=0;e.topPath.length-1>n;n++)t.globalAlpha=.5*(u[n]+u[n+1]),t.beginPath(),t.moveTo(e.topPath[n][0],e.topPath[n][1]),t.lineTo(e.topPath[n+1][0],e.topPath[n+1][1]),t.stroke()}t.globalAlpha=1;continue}const d=null!==(r=e.style.opacity)&&void 0!==r?r:1;if(li(t,e),e.fillGradient&&("colorStops"in e.fillGradient&&e.fillGradient.colorStops.length>=2||"topOpacity"in e.fillGradient)&&e.fillGradient){let n=1/0;for(const t of e.topPath)n>t[1]&&(n=t[1]);let i=-1/0;for(const t of e.bottomPath)t[1]>i&&(i=t[1]);const o=qt(t,e.fillGradient,"string"==typeof c?c:"#4e79a7",0,n,0,i);t.fillStyle=o||c,t.globalAlpha=d}else{const n=null!==(l=e.style.fillOpacity)&&void 0!==l?l:.7;t.globalAlpha=n*d,t.fillStyle=c}if(t.fill(),e._pulseIntensity&&e._pulseIntensity>0&&(li(t,e),si(t,e)),e.style.stroke&&"none"!==e.style.stroke){t.globalAlpha=d;const n=e.strokeGradient&&e.topPath.length>=2?Ut(t,e.strokeGradient,e.topPath[0][0],0,e.topPath[e.topPath.length-1][0],0):null;t.strokeStyle=n||Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||2,t.setLineDash([]);const i=Gt(e.curve);if(t.beginPath(),i)s.line().x(t=>t[0]).y(t=>t[1]).curve(i).context(t)(e.topPath);else{t.moveTo(e.topPath[0][0],e.topPath[0][1]);for(let n=1;e.topPath.length>n;n++)t.lineTo(e.topPath[n][0],e.topPath[n][1])}t.stroke()}void 0!==a&&1>a&&t.restore(),n&&t.restore(),t.globalAlpha=1}},ci=(t,e,n,i)=>{var o;const r=e.filter(t=>"point"===t.type);if(0!==r.length){t.save();try{for(const e of r){t.beginPath(),t.arc(e.x,e.y,e.r,0,2*Math.PI);const n=null!==(o=e.style.opacity)&&void 0!==o?o:e.style.fillOpacity;null!=n&&(t.globalAlpha=n),t.fillStyle=Vt(t,e.style.fill,"#4e79a7"),t.fill(),e.style.stroke&&(t.strokeStyle=Vt(t,e.style.stroke,e.style.stroke),t.lineWidth=e.style.strokeWidth||1,t.stroke()),ri(t,e),t.globalAlpha=1}}finally{t.restore()}}};function ui(t,e){const{x:n,y:i,w:o,h:r}=e,{tl:s,tr:l,br:a,bl:c}=function(t){const e=t.cornerRadii;if(!e)return{tl:0,tr:0,br:0,bl:0};const n=Math.min(t.w,t.h)/2,i=t=>Math.max(0,Math.min(null!=t?t:0,n));return{tl:i(e.tl),tr:i(e.tr),br:i(e.br),bl:i(e.bl)}}(e);t.beginPath(),t.moveTo(n+s,i),t.lineTo(n+o-l,i),l>0&&t.arcTo(n+o,i,n+o,i+l,l),t.lineTo(n+o,i+r-a),a>0&&t.arcTo(n+o,i+r,n+o-a,i+r,a),t.lineTo(n+c,i+r),c>0&&t.arcTo(n,i+r,n,i+r-c,c),t.lineTo(n,i+s),s>0&&t.arcTo(n,i,n+s,i,s),t.closePath()}function di(t){switch(t.roundedEdge){case"bottom":return{x0:t.x,y0:t.y+t.h,x1:t.x,y1:t.y};case"right":return{x0:t.x+t.w,y0:t.y,x1:t.x,y1:t.y};case"left":return{x0:t.x,y0:t.y,x1:t.x+t.w,y1:t.y};default:return{x0:t.x,y0:t.y,x1:t.x,y1:t.y+t.h}}}const hi=(t,e,n,i)=>{const o=e.filter(t=>"rect"===t.type);for(const e of o){if(null!=e.style.opacity&&(t.globalAlpha=e.style.opacity),e.style.icon)fi(t,e);else if(e.cornerRadii&&sn(e.cornerRadii)){const n=Vt(t,e.style.fill,Xt(t,"var(--semiotic-primary, #007bff)")),i=di(e),o=e.fillGradient&&"string"==typeof n?qt(t,e.fillGradient,n,i.x0,i.y0,i.x1,i.y1):null;t.fillStyle=o||n,ui(t,e),t.fill(),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||1,t.stroke())}else if(e.roundedTop&&e.roundedTop>0){const n=Vt(t,e.style.fill,Xt(t,"var(--semiotic-primary, #007bff)")),i=di(e),o=e.fillGradient&&"string"==typeof n?qt(t,e.fillGradient,n,i.x0,i.y0,i.x1,i.y1):null;t.fillStyle=o||n;const r=Math.min(e.roundedTop,e.w/2,e.h/2);t.beginPath();const{x:s,y:l,w:a,h:c}=e;switch(e.roundedEdge){case"right":t.moveTo(s,l),t.lineTo(s+a-r,l),t.arcTo(s+a,l,s+a,l+r,r),t.lineTo(s+a,l+c-r),t.arcTo(s+a,l+c,s+a-r,l+c,r),t.lineTo(s,l+c);break;case"left":t.moveTo(s+a,l),t.lineTo(s+r,l),t.arcTo(s,l,s,l+r,r),t.lineTo(s,l+c-r),t.arcTo(s,l+c,s+r,l+c,r),t.lineTo(s+a,l+c);break;case"bottom":t.moveTo(s,l),t.lineTo(s+a,l),t.lineTo(s+a,l+c-r),t.arcTo(s+a,l+c,s+a-r,l+c,r),t.lineTo(s+r,l+c),t.arcTo(s,l+c,s,l+c-r,r);break;default:t.moveTo(s,l+c),t.lineTo(s,l+r),t.arcTo(s,l,s+r,l,r),t.lineTo(s+a-r,l),t.arcTo(s+a,l,s+a,l+r,r),t.lineTo(s+a,l+c)}t.closePath(),t.fill(),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||1,t.stroke())}else{const n=Vt(t,e.style.fill,Xt(t,"var(--semiotic-primary, #007bff)")),i=di(e),o=e.fillGradient&&"string"==typeof n?qt(t,e.fillGradient,n,i.x0,i.y0,i.x1,i.y1):null;t.fillStyle=o||n,t.fillRect(e.x,e.y,e.w,e.h),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||1,t.strokeRect(e.x,e.y,e.w,e.h))}oi(t,e),t.globalAlpha=1}};function fi(t,e){const n=e.style.icon,i=e.style.iconPadding||2,o=Math.min(e.w,e.h)-i;if(0>=o)return;const r=e.h>e.w;if(t.save(),t.beginPath(),t.rect(e.x,e.y,e.w,e.h),t.clip(),r){const r=o+i,s=e.x+(e.w-o)/2;for(let i=e.y+e.h-o;i>=e.y-o;i-=r)t.drawImage(n,s,i,o,o)}else{const r=o+i,s=e.y+(e.h-o)/2;for(let i=e.x;e.x+e.w>i;i+=r)t.drawImage(n,i,s,o,o)}t.restore()}function gi(t){const[e,n,i]=function(t){if(t.startsWith("#")){let e=t.slice(1);if(3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),6===e.length)return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}const e=t.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return e?[+e[1],+e[2],+e[3]]:[128,128,128]}(t);return.299*e+.587*n+.114*i>128?"#000":"#fff"}function yi(t){return Number.isInteger(t)?t+"":100>Math.abs(t)?1>Math.abs(t)?t.toPrecision(3):t.toFixed(1):t.toFixed(0)}const pi=(t,e,n,i)=>{const o=e.filter(t=>"heatcell"===t.type);t.save();try{for(const e of o){const n=e.style;if(null!=(null==n?void 0:n.opacity)&&(t.globalAlpha=n.opacity),t.fillStyle=e.fill,t.fillRect(e.x,e.y,e.w,e.h),t.strokeStyle=Xt(t,"var(--semiotic-surface, #fff)"),t.lineWidth=1,t.strokeRect(e.x,e.y,e.w,e.h),oi(t,e),t.globalAlpha=1,e.showValues&&null!=e.value){if(20>e.w||20>e.h)continue;const n=e.valueFormat?e.valueFormat(e.value):yi(e.value),i=Math.max(10,Math.min(16,.3*Math.min(e.w,e.h))),o=e.x+e.w/2,r=e.y+e.h/2;t.fillStyle=gi(e.fill),t.font=i+"px sans-serif",t.textAlign="center",t.textBaseline="middle",t.fillText(n,o,r)}}}finally{t.restore()}},vi=(t,e,n,i)=>{var o,r,s;for(const n of e){if("candlestick"!==n.type)continue;const e=n;t.save();const l=(null!==(o=e._decayOpacity)&&void 0!==o?o:1)*(null!==(s=null===(r=e.style)||void 0===r?void 0:r.opacity)&&void 0!==s?s:1);1!==l&&(t.globalAlpha=l);const a=Xt(t,e.wickColor)||e.wickColor,c=60>i.height,u=c?Math.max(e.wickWidth,2):e.wickWidth,d=()=>{t.beginPath(),t.moveTo(e.x,e.highY),t.lineTo(e.x,e.lowY),t.strokeStyle=a,t.lineWidth=u,t.stroke()};if(c||d(),e.isRange){const n=Math.max(2,Math.min(e.bodyWidth/2,.12*i.height));t.fillStyle=a,t.beginPath(),t.arc(e.x,e.highY,n,0,2*Math.PI),t.fill(),t.beginPath(),t.arc(e.x,e.lowY,n,0,2*Math.PI),t.fill()}else if(e.bodyWidth>0){const n=Math.min(e.openY,e.closeY),i=Math.abs(e.openY-e.closeY),o=e.isUp?e.upColor:e.downColor,r=Xt(t,o)||o;t.fillStyle=r,t.fillRect(e.x-e.bodyWidth/2,n,e.bodyWidth,Math.max(i,1)),t.strokeStyle=r,t.lineWidth=1,t.strokeRect(e.x-e.bodyWidth/2,n,e.bodyWidth,Math.max(i,1))}c&&d(),t.restore()}};function mi(t,e,n,i){return"string"==typeof t?{key:t,fn:null}:"function"==typeof t?{key:n,fn:t}:"string"==typeof e?{key:e,fn:null}:"function"==typeof e?{key:i,fn:e}:{key:void 0,fn:null}}const xi=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function bi(t){const e=t[1]-t[0],n=3156e7;return 864e5>e?t=>{const e=new Date(t);return`${(e.getUTCHours()+"").padStart(2,"0")}:${(e.getUTCMinutes()+"").padStart(2,"0")}`}:n>e?t=>{const e=new Date(t);return`${xi[e.getUTCMonth()]} ${e.getUTCDate()}`}:5*n>e?t=>{const e=new Date(t);return`${xi[e.getUTCMonth()]} ${e.getUTCFullYear()}`}:t=>new Date(t).getUTCFullYear()+""}const ki={line:[ai,ni,ci],area:[ai,ci],stackedarea:[ai,ci],scatter:[ci],bubble:[ci],heatmap:[pi],bar:[hi],swarm:[ci],waterfall:[(t,e,n,i)=>{var o;hi(t,e);const r=e.filter(t=>"rect"===t.type);if(2>r.length)return;const s=r[0].datum,l=null==s?void 0:s._connectorStroke;if(l){t.save(),t.strokeStyle=Xt(t,l)||l,t.lineWidth=null!==(o=null==s?void 0:s._connectorWidth)&&void 0!==o?o:1,t.setLineDash([]);for(let e=0;r.length-1>e;e++){const i=r[e],o=r[e+1],s=i.datum,l=o.datum;if(null==(null==s?void 0:s.cumEnd)||null==(null==l?void 0:l.baseline))continue;const a=n.y(s.cumEnd),c=i.x+i.w,u=o.x;t.beginPath(),t.moveTo(c,a),t.lineTo(u,a),t.stroke()}t.restore()}}],candlestick:[vi],mixed:[ai,ni,ci],custom:[ai,hi,pi,ni,ci,vi]},wi={top:20,right:20,bottom:30,left:40},Ai={axisStroke:"#ccc",tickText:"#666",crosshair:"rgba(0, 0, 0, 0.25)",hoverFill:"rgba(255, 255, 255, 0.3)",hoverStroke:"rgba(0, 0, 0, 0.4)",pointRing:"white",primary:"#007bff"};function Si(t,e){const n=t.trim();if(/^#[0-9a-f]{3}$/i.test(n)){const t=n[1],i=n[2],o=n[3];return`#${t}${t}${i}${i}${o}${o}${e}`}if(/^#[0-9a-f]{6}$/i.test(n))return`${n}${e}`;const i=n.match(/^rgb\s*\(\s*([^)]+?)\s*\)$/i);return i?`rgba(${i[1]}, ${(parseInt(e,16)/255).toFixed(3)})`:n}const Mi={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"6px 10px",borderRadius:4,fontSize:12,lineHeight:1.5,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",whiteSpace:"nowrap"};function ji({hover:e}){var n,i,o;const r=t=>null==t?"":"number"==typeof t?Number.isInteger(t)?t+"":t.toFixed(2):t instanceof Date?t.toLocaleString():t+"",s=null!==(n=e.data)&&void 0!==n?n:{},l=null!==(i=s.y)&&void 0!==i?i:s.value,a=null!==(o=s.x)&&void 0!==o?o:s.time;return t.jsxs("div",{className:"semiotic-tooltip",style:Mi,children:[t.jsx("div",{style:{fontWeight:600,marginBottom:2},children:r(l)}),t.jsx("div",{style:{opacity:.7,fontSize:11},children:r(a)})]})}ji.ownsChrome=!0;const _i=e.forwardRef(function(n,i){var o,r,s,l,a,c,u,d,h,f,g,p,v;const{chartType:m,runtimeMode:b,data:A,chunkThreshold:S,chunkSize:j,xAccessor:_,yAccessor:P,colorAccessor:C,sizeAccessor:E,groupAccessor:O,lineDataAccessor:T,curve:L,normalize:D,baseline:N,stackOrder:R,binSize:I,valueAccessor:$,arrowOfTime:W="right",windowMode:z="sliding",windowSize:F=200,timeAccessor:Y,xExtent:B,yExtent:H,extentPadding:X=.1,scalePadding:G,sizeRange:V,size:q=[500,300],responsiveWidth:U,responsiveHeight:K,margin:Z,className:Q,background:J,lineStyle:tt,pointStyle:et,areaStyle:nt,barStyle:it,waterfallStyle:ot,swarmStyle:rt,barColors:st,colorScheme:lt,boundsAccessor:at,boundsStyle:ct,y0Accessor:ut,band:dt,gradientFill:ht,lineGradient:ft,areaGroups:gt,openAccessor:yt,highAccessor:pt,lowAccessor:vt,closeAccessor:mt,candlestickStyle:xt,showAxes:bt=!0,axes:kt,xLabel:wt,yLabel:St,yLabelRight:Mt,xFormat:jt,yFormat:_t,axisExtent:Pt,tickFormatTime:Ct,tickFormatValue:Et,hoverAnnotation:Lt,tooltipContent:Dt,customHoverBehavior:Nt,customClickBehavior:Rt,enableHover:It,hoverRadius:$t=30,tooltipMode:Wt,annotations:zt,svgAnnotationRules:Ft,showGrid:Yt,legend:Bt,legendHoverBehavior:Ht,legendClickBehavior:Gt,legendHighlightedCategory:Vt,legendIsolatedCategories:qt,legendPosition:Ut,legendLayout:Kt,legendCategoryAccessor:te,onCategoriesChange:ee,backgroundGraphics:ne,foregroundGraphics:ie,canvasPreRenderers:oe,svgPreRenderers:re,title:se,categoryAccessor:de,brush:he,onBrush:ye,decay:pe,pulse:ve,transition:me,animate:xe,staleness:be,heatmapAggregation:ke,heatmapXBins:we,heatmapYBins:Ae,showValues:Se,heatmapValueFormat:Me,marginalGraphics:je,pointIdAccessor:_e,xScaleType:Pe,yScaleType:Ce,accessibleTable:Ee=!0,description:Oe,summary:Te,linkedCrosshairName:Le,linkedCrosshairSourceId:De,customLayout:Ne,layoutConfig:Re}=n,Ie=e.useId().replace(/:/g,""),$e=e.useRef(!1),We=Zn({sizeProp:q,responsiveWidth:U,responsiveHeight:K,userMargin:Z,marginDefault:wi,animate:xe,transitionProp:me,themeDirtyRef:$e}),ze=dn(),Fe=yn(),{reducedMotionRef:Ye,responsiveRef:Be,size:He,currentTheme:Xe,transition:Ge,introEnabled:Ve,tableId:qe,rafRef:Ue,renderFnRef:Ke,scheduleRender:Ze}=We;let Qe=We.margin;if(je){const t=60,e=Object.assign({},We.margin);je.top&&t>e.top&&(e.top=t),je.bottom&&t>e.bottom&&(e.bottom=t),je.left&&t>e.left&&(e.left=t),je.right&&t>e.right&&(e.right=t),Qe=e}const Je="function"==typeof ie?ie({size:He,margin:Qe}):ie,tn="function"==typeof ne?ne({size:He,margin:Qe}):ne,nn=He[0]-Qe.left-Qe.right,on=He[1]-Qe.top-Qe.bottom,sn=e.useMemo(()=>k(A),[A]),ln=null!=Lt?Lt:It,un=e.useRef(null),hn=e.useRef(null),[fn,gn]=e.useState(0),[mn,xn]=e.useState(null),bn=e.useRef(null),kn=e.useRef(null),[wn,An]=e.useState(null),Mn=e.useRef(Ai.primary),jn=e.useRef([]),_n=e.useRef(te),Pn=e.useRef(ee);_n.current=te,Pn.current=ee;const[Cn,En]=e.useState(!1),[On,Tn]=e.useState([]),[Ln,Dn]=e.useState([]),Nn="streaming"===b||["bar","swarm","waterfall"].includes(m),Rn=e.useMemo(()=>{var t,e,n;return{chartType:m,runtimeMode:Nn?"streaming":"bounded",windowSize:F,windowMode:z,arrowOfTime:Nn?W:"right",extentPadding:X,scalePadding:G,axisExtent:Pt,xAccessor:_,yAccessor:P,timeAccessor:Nn?Y:void 0,valueAccessor:$,colorAccessor:C,sizeAccessor:E,groupAccessor:O||(T?"_lineGroup":void 0),categoryAccessor:de,lineDataAccessor:T,xScaleType:Pe,yScaleType:Ce,xExtent:B,yExtent:H,sizeRange:V,binSize:I,normalize:D,baseline:N,stackOrder:R,boundsAccessor:at,boundsStyle:ct,y0Accessor:ut,band:dt,gradientFill:!0===ht?{topOpacity:.8,bottomOpacity:.05}:!1===ht?void 0:ht,areaGroups:gt?new Set(gt):void 0,lineGradient:ft,openAccessor:yt,highAccessor:pt,lowAccessor:vt,closeAccessor:mt,candlestickStyle:xt,lineStyle:tt,pointStyle:et,areaStyle:nt,swarmStyle:rt,waterfallStyle:ot,colorScheme:lt,barColors:st,barStyle:it,annotations:zt,decay:pe,pulse:ve,transition:Ge,introAnimation:Ve,staleness:be,heatmapAggregation:ke,heatmapXBins:we,heatmapYBins:Ae,showValues:Se,heatmapValueFormat:Me,pointIdAccessor:_e,curve:L,themeCategorical:null===(t=null==Xe?void 0:Xe.colors)||void 0===t?void 0:t.categorical,themeSemantic:M(Xe),themeSequential:null===(e=null==Xe?void 0:Xe.colors)||void 0===e?void 0:e.sequential,themeDiverging:null===(n=null==Xe?void 0:Xe.colors)||void 0===n?void 0:n.diverging,customLayout:Ne,layoutConfig:Re,layoutMargin:Qe}},[m,F,z,W,X,G,Pt,_,P,Y,$,Pe,Ce,C,E,O,de,T,B,H,V,I,D,N,R,at,ct,ut,dt,ht,ft,gt,yt,pt,vt,mt,xt,tt,et,nt,rt,ot,it,lt,st,zt,pe,ve,null==Ge?void 0:Ge.duration,null==Ge?void 0:Ge.easing,Ve,be,ke,we,Ae,Se,Me,Nn,_e,L,Xe,Ne,Re,Qe]),In=vn(Rn),Wn=e.useRef(null);Wn.current||(Wn.current=new Ot(In));const Bn=e.useCallback(()=>{var t,e;const n=_n.current,i=Pn.current;if(!i||!n)return;const o=function(t,e){if(!e)return[];const n=new Set,i=[];for(const o of t){if(!o||"object"!=typeof o)continue;const t="function"==typeof e?e(o):o[e];if(null==t)continue;const r=t+"";n.has(r)||(n.add(r),i.push(r))}return i}(null!==(e=null===(t=Wn.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[],n);(function(t,e){if(t.length!==e.length)return!1;for(let n=0;t.length>n;n++)if(t[n]!==e[n])return!1;return!0})(o,jn.current)||(jn.current=o,i(o))},[]);e.useEffect(()=>{var t;null===(t=Wn.current)||void 0===t||t.updateConfig(In),$e.current=!0,Ze()},[In,Ze]);const Xn=e.useRef(null);Xn.current||(Xn.current=new w(t=>{const e=Wn.current;e&&e.ingest(t)&&($e.current=!0,Ze())},{chunkThreshold:S,chunkSize:j})),e.useEffect(()=>{var t;null===(t=Xn.current)||void 0===t||t.updateChunkOptions({chunkThreshold:S,chunkSize:j})},[S,j]);const Vn=e.useCallback(t=>{var e;null===(e=Xn.current)||void 0===e||e.push(t)},[]),Un=e.useCallback(t=>{var e;null===(e=Xn.current)||void 0===e||e.pushMany(t)},[]),Kn=e.useCallback(()=>{var t,e;null===(t=Xn.current)||void 0===t||t.clear(),null===(e=Wn.current)||void 0===e||e.clear(),$e.current=!0,Ze()},[Ze]);e.useImperativeHandle(i,()=>({push:Vn,pushMany:Un,remove:t=>{var e,n,i;null===(e=Xn.current)||void 0===e||e.flush();const o=null!==(i=null===(n=Wn.current)||void 0===n?void 0:n.remove(t))&&void 0!==i?i:[];return o.length>0&&(bn.current&&o.some(t=>{var e;return t===(null===(e=bn.current)||void 0===e?void 0:e.data)})&&(bn.current=null,An(null)),$e.current=!0,Ze()),o},update:(t,e)=>{var n,i,o;null===(n=Xn.current)||void 0===n||n.flush();const r=null!==(o=null===(i=Wn.current)||void 0===i?void 0:i.update(t,e))&&void 0!==o?o:[];return r.length>0&&($e.current=!0,Ze()),r},clear:Kn,getData:()=>{var t,e,n;return null===(t=Xn.current)||void 0===t||t.flush(),null!==(n=null===(e=Wn.current)||void 0===e?void 0:e.getData())&&void 0!==n?n:[]},getScales:()=>{var t,e;return null!==(e=null===(t=Wn.current)||void 0===t?void 0:t.scales)&&void 0!==e?e:null},getExtents:()=>{var t,e;return null!==(e=null===(t=Wn.current)||void 0===t?void 0:t.getExtents())&&void 0!==e?e:null}}),[Vn,Un,Kn,Ze]),e.useEffect(()=>{var t,e;if(A){if(T&&sn.length>0&&"object"==typeof sn[0]&&null!==sn[0]){const e="string"==typeof T?T:"coordinates";if(Array.isArray(sn[0][e])){const n=[];for(const t of sn){const i=t[e];if(Array.isArray(i)){const e=t.label||t.id||t.key;if(null!=e)for(const t of i)n.push(Object.assign(Object.assign({},t),{_lineGroup:e}));else for(const t of i)n.push(t)}}return void(null===(t=Xn.current)||void 0===t||t.setBoundedData(n))}}null===(e=Xn.current)||void 0===e||e.setBoundedData(sn)}},[A,sn,T]);const{hoverHandlerRef:ti,hoverLeaveRef:ei,onPointerMove:ni,onPointerLeave:ii}=We;ti.current=t=>{var e,n;if(!ln)return;const i=un.current;if(!i)return;const o=i.getBoundingClientRect(),r=t.clientX-o.left-Qe.left,s=t.clientY-o.top-Qe.top;if(0>r||r>nn||0>s||s>on)return void(bn.current&&(bn.current=null,kn.current=null,An(null),Nt&&(Nt(null),$e.current=!0),Ze()));const l=Wn.current;if(!l||0===l.scene.length)return;const a=Qt(l.scene,r,s,$t,l.quadtree,l.maxPointRadius),c="multi"===Wt,u=()=>{bn.current&&(bn.current=null,kn.current=null,An(null),Nt&&Nt(null),Ze())};if(!a&&!c)return void u();const d=c||!a?r:a.x,h=c||!a?s:a.y;let f=Gn((null==a?void 0:a.datum)?At(a.datum,l.resolvedRibbons):{},d,h);if(c&&l.scene.length>0&&l.scales){const t=function(t,e,n=30){const i=[];for(const o of t)if("line"===o.type){const t=o;if(2>t.path.length)continue;const r=Jt(Zt(t.path,t.curve),e,n);if(null===r)continue;const s=le(t.path,e);i.push({node:o,datum:Array.isArray(t.datum)&&t.datum[s]?t.datum[s]:t.datum,x:t.path[s][0],y:r,group:t.group,color:t.style.stroke})}else if("area"===o.type){const t=o;if(!1===t.interactive)continue;if(2>t.topPath.length)continue;const r=Zt(t.topPath,t.curve),s=Zt(t.bottomPath,t.curve),l=Jt(r,e,n);if(null===l)continue;const a=Jt(s,e,n),c=le(t.topPath,e);i.push({node:o,datum:Array.isArray(t.datum)&&t.datum[c]?t.datum[c]:t.datum,x:t.topPath[c][0],y:l,y0:null!=a?a:void 0,group:t.group,color:"string"==typeof t.style.stroke?t.style.stroke:"string"==typeof t.style.fill?t.style.fill:void 0})}return i}(l.scene,d,Math.max($t,nn));if(t.length>0){const e=l.scales.y.invert,n=l.scales.x.invert,i=Mn.current,o=n?n(d):d;if(a)f.xValue=o,f.xPx=d;else{const t={xValue:o};"string"==typeof _&&(t[_]=o),f=Gn(t,d,h,{xValue:o,xPx:d})}f.allSeries=t.map(t=>{const n=e?e(t.y):t.y,o=null!=t.y0?e?e(t.y0):t.y0:void 0;return{group:t.group||"",value:"stackedarea"===m&&null!=o?n-o:n,valuePx:t.y,color:t.color||i,datum:At(t.datum,l.resolvedRibbons)}})}}a||(null===(e=f.allSeries)||void 0===e?void 0:e.length)?(bn.current=f,kn.current=null!==(n=null==a?void 0:a.node)&&void 0!==n?n:null,An(f),Nt&&(Nt(f),$e.current=!0),Ze()):u()},ei.current=()=>{bn.current&&(bn.current=null,kn.current=null,An(null),Nt&&(Nt(null),$e.current=!0),Ze())};const oi=e.useRef(()=>{});oi.current=t=>{if(!Rt)return;const e=un.current;if(!e)return;const n=e.getBoundingClientRect(),i=t.clientX-n.left-Qe.left,o=t.clientY-n.top-Qe.top;if(0>i||i>nn||0>o||o>on)return void Rt(null);const r=Wn.current;if(!r||0===r.scene.length)return void Rt(null);const s=Qt(r.scene,i,o,$t,r.quadtree,r.maxPointRadius);Rt(s?Gn(s.datum||{},s.x,s.y):null)};const ri=e.useCallback(t=>oi.current(t),[]),si=e.useRef(-1),li=e.useRef(null),ai=e.useRef(null),ci=e.useCallback(t=>{const e=Wn.current;if(!e||0===e.scene.length)return;const n=e.version;let i;if(ai.current&&ai.current.version===n)i=ai.current.graph;else{const t=function(t){var e,n,i;const o=[];for(const r of t)switch(r.type){case"point":o.push({x:r.x,y:r.y,datum:r.datum,shape:"circle",group:"_default"});break;case"line":{const t=r,n=Array.isArray(t.datum)?t.datum:[],i=null!==(e=t.group)&&void 0!==e?e:"_default";for(let e=0;t.path.length>e&&n.length>e;e++)o.push({x:t.path[e][0],y:t.path[e][1],datum:n[e],shape:"circle",group:i});break}case"area":{const t=r,e=Array.isArray(t.datum)?t.datum:[],i=null!==(n=t.group)&&void 0!==n?n:"_default";for(let n=0;t.topPath.length>n&&e.length>n;n++)o.push({x:t.topPath[n][0],y:t.topPath[n][1],datum:e[n],shape:"circle",group:i});break}case"rect":o.push({x:r.x+r.w/2,y:r.y+r.h/2,datum:r.datum,shape:"rect",w:r.w,h:r.h,group:null!==(i=r.group)&&void 0!==i?i:"_default"});break;case"heatcell":o.push({x:r.x+r.w/2,y:r.y+r.h/2,datum:r.datum,shape:"rect",w:r.w,h:r.h,group:"_default"})}return o.sort((t,e)=>t.x-e.x||t.y-e.y),o}(e.scene);if(0===t.length)return;i=ae(t),ai.current={version:n,graph:i}}const o=si.current;if(0>o){if("Escape"===t.key)return;if(!["ArrowRight","ArrowLeft","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(t.key))return;t.preventDefault(),si.current=0;const n=i.flat[0];li.current={shape:n.shape,w:n.w,h:n.h};const o=fe(Object.assign(Object.assign({},n),{datum:At(n.datum,e.resolvedRibbons)}));return bn.current=o,An(o),Nt&&Nt(o),void Ze()}const r=ce(i,o),s=ue(t.key,r,i);if(null===s)return;if(t.preventDefault(),0>s)return si.current=-1,li.current=null,bn.current=null,kn.current=null,An(null),Nt&&Nt(null),void Ze();si.current=s;const l=i.flat[s];li.current={shape:l.shape,w:l.w,h:l.h};const a=fe(Object.assign(Object.assign({},l),{datum:At(l.datum,e.resolvedRibbons)}));bn.current=a,An(a),Nt&&Nt(a),Ze()},[Nt,Ze]),ui=e.useCallback(t=>{si.current=-1,li.current=null,ni(t)},[ni]);Ke.current=()=>{var t,e;Ue.current=0;const n=un.current,i=hn.current;if(!n||!i)return;const o=Wn.current;if(!o)return;const r="undefined"!=typeof performance?performance.now():Date.now(),s=o.advanceTransition(Ye.current?r+1e6:r),l=!Ye.current&&s,a=$e.current||s;a&&!l&&(o.computeScene({width:nn,height:on}),Bn());const c=Jn(),u=function(t){if(!t)return Ai;const e=getComputedStyle(t),n=e.getPropertyValue("--semiotic-border").trim(),i=e.getPropertyValue("--semiotic-text-secondary").trim(),o=e.getPropertyValue("--semiotic-bg").trim(),r=e.getPropertyValue("--semiotic-primary").trim(),s=i||e.getPropertyValue("--text-secondary").trim(),l=e.getPropertyValue("--text-primary").trim(),a=n||e.getPropertyValue("--surface-3").trim(),c=o||e.getPropertyValue("--surface-0").trim();return s||l||n||r?{axisStroke:a||Ai.axisStroke,tickText:s||Ai.tickText,crosshair:s?Si(s,"66"):Ai.crosshair,hoverFill:c?Si(c,"4D"):Ai.hoverFill,hoverStroke:s?Si(s,"99"):Ai.hoverStroke,pointRing:c||Ai.pointRing,primary:r||Ai.primary}:Ai}(n);Mn.current=u.primary;const d=null!==(t=null==be?void 0:be.threshold)&&void 0!==t?t:5e3,h=be&&o.lastIngestTime>0&&r-o.lastIngestTime>d;if(a){const t=Qn(n,He,Qe,c);if(t){if(t.clearRect(-Qe.left,-Qe.top,He[0],He[1]),h&&(t.globalAlpha=null!==(e=null==be?void 0:be.dimOpacity)&&void 0!==e?e:.5),"transparent"!==J&&!ne){const e=getComputedStyle(n).getPropertyValue("--semiotic-bg").trim(),i=J||(e&&"transparent"!==e?e:null),o=i?Xt(t,i):null;o&&(t.fillStyle=o,t.fillRect(-Qe.left,-Qe.top,He[0],He[1]))}if(t.save(),"function"==typeof t.rect&&(t.beginPath(),t.rect(0,0,nn,on),t.clip()),oe&&o.scales)for(const e of oe)t.save(),e(t,o.scene,o.scales,{width:nn,height:on}),t.restore();const i=Ne?ki.custom:ki[m];if(i&&o.scales)for(const e of i)e(t,o.scene,o.scales,{width:nn,height:on});t.restore(),h&&(t.globalAlpha=1)}}{const t=Qn(i,He,Qe,c);if(t&&(t.clearRect(-Qe.left,-Qe.top,He[0],He[1]),ln&&bn.current&&o.scales&&function(t,e,n,i,o,r,s){var l;if(!1===o.crosshair)return;const a=e.allSeries,c=a&&a.length>0,u=null!==(l=e.xPx)&&void 0!==l?l:e.x;t.save();const d="object"==typeof o.crosshair?o.crosshair:{};if(t.strokeStyle=d.stroke||s.crosshair,t.lineWidth=d.strokeWidth||1,t.setLineDash(d.strokeDasharray?d.strokeDasharray.split(/[\s,]+/).map(Number):[4,4]),t.beginPath(),t.moveTo(c?u:e.x,0),t.lineTo(c?u:e.x,i),t.stroke(),c||(t.beginPath(),t.moveTo(0,e.y),t.lineTo(n,e.y),t.stroke()),t.restore(),c){t.lineWidth=2,t.strokeStyle=s.pointRing;for(const e of a)null!=e.valuePx&&(t.beginPath(),t.arc(u,e.valuePx,4,0,2*Math.PI),t.fillStyle=e.color||s.primary,t.fill(),t.stroke())}else{const n=o.pointColor||function(t){if(!t)return null;if("heatcell"===t.type)return t.fill||null;if("candlestick"===t.type)return t.isUp?t.upColor:t.downColor;const{style:e}=t;if(!e)return null;const n="string"==typeof e.fill?e.fill:null;return"line"===t.type||"area"===t.type?e.stroke||n||null:n||e.stroke||null}(r)||s.primary;t.beginPath(),t.arc(e.x,e.y,4,0,2*Math.PI),t.fillStyle=n,t.fill(),t.strokeStyle=s.pointRing,t.lineWidth=2,t.stroke()}}(t,bn.current,nn,on,"object"==typeof ln?ln:{},kn.current,u),kn.current&&Array.isArray(Lt))){const e=Lt.find(t=>t&&"object"==typeof t&&"highlight"===t.type);e&&function(t,e,n,i,o){var r;if(!n)return;const s="group"in n?n.group:void 0;if(void 0!==s)for(const n of e){if("line"!==n.type)continue;if(n.group!==s)continue;if(2>n.path.length)continue;const e="function"==typeof i.style?n.datum?i.style(n.datum):{}:i.style||{};t.save(),t.beginPath(),t.moveTo(n.path[0][0],n.path[0][1]);for(let e=1;n.path.length>e;e++)t.lineTo(n.path[e][0],n.path[e][1]);t.strokeStyle=e.stroke||n.style.stroke||o.primary,t.lineWidth=e.strokeWidth||(n.style.strokeWidth||2)+2,t.globalAlpha=null!==(r=e.opacity)&&void 0!==r?r:1,t.stroke(),t.restore()}}(t,o.scene,kn.current,e,u)}}a&&n&&n.setAttribute("aria-label",Sn(o.scene,m+" chart"));const f=$e.current;if($e.current=!1,f&&o.scales){const t=t=>"object"==typeof t&&null!==t&&"function"==typeof t.valueOf?t.valueOf():t;if((!mn||t(mn.x.domain()[0])!==t(o.scales.x.domain()[0])||t(mn.x.domain()[1])!==t(o.scales.x.domain()[1])||t(mn.y.domain()[0])!==t(o.scales.y.domain()[0])||t(mn.y.domain()[1])!==t(o.scales.y.domain()[1])||mn.x.range()[0]!==o.scales.x.range()[0]||mn.x.range()[1]!==o.scales.x.range()[1]||mn.y.range()[0]!==o.scales.y.range()[0]||mn.y.range()[1]!==o.scales.y.range()[1])&&xn(o.scales),je){const t=o.getData(),e="function"==typeof _?_:t=>t[_||"x"],n="function"==typeof P?P:t=>t[P||"y"];Tn(t.map(t=>e(t)).filter(t=>"number"==typeof t&&isFinite(t))),Dn(t.map(t=>n(t)).filter(t=>"number"==typeof t&&isFinite(t)))}}f&&zt&&zt.length>0&&gn(t=>t+1),(null==be?void 0:be.showBadge)&&En(!!h),(l||null!=o.activeTransition||o.hasActivePulses)&&(Ue.current=requestAnimationFrame(()=>Ke.current()))},pn({hydrated:ze,wasHydratingFromSSR:Fe,storeRef:Wn,dirtyRef:$e,renderFnRef:Ke,cleanup:()=>{var t;return null===(t=Xn.current)||void 0===t?void 0:t.clear()}}),e.useEffect(()=>{$e.current=!0,Ze()},[m,nn,on,bt,J,tt,oe,Ze]),ge(be,Wn,$e,Ze,Cn,En);const di=e.useMemo(()=>{if(jt||Ct)return;const t=Wn.current;return(null==t?void 0:t.xIsDate)&&mn?bi(mn.x.domain()):void 0},[jt,Ct,mn]),hi=jt||Ct||di,fi=ln&&wn?Dt?Dt(wn):t.jsx(ji,{hover:wn}):null,gi=fi?t.jsx(qn,{x:wn.x,y:wn.y,containerWidth:nn,containerHeight:on,margin:Qe,className:"stream-frame-tooltip",children:fi}):null,yi=li.current,pi=t.jsx(Hn,{active:si.current>=0,hoverPoint:wn,margin:Qe,size:He,shape:null==yi?void 0:yi.shape,width:null==yi?void 0:yi.w,height:null==yi?void 0:yi.h}),vi=mi(_,Y,"__semiotic_resolvedX","__semiotic_resolvedTime"),xi=mi(P,$,"__semiotic_resolvedY","__semiotic_resolvedValue"),Mi=vi.key,_i=xi.key,Pi=function(t,e,n){return i=>{if(!i||!n||!t.fn&&!e.fn)return i;let o=!1;const r=i.map(n=>{const i=t.fn&&t.key&&!(t.key in n),r=e.fn&&e.key&&!(e.key in n);if(!i&&!r)return n;o=!0;const s=Object.assign({},n);return i&&(s[t.key]=t.fn(n)),r&&(s[e.key]=e.fn(n)),s});return o?r:i}}(vi,xi,zt&&zt.length>0||!1);if(cn||!ze&&Fe){const e=Wn.current;e&&A&&(e.ingest({inserts:sn,bounded:!0}),e.computeScene({width:nn,height:on}));const n=null!==(o=null==e?void 0:e.scene)&&void 0!==o?o:[],i=null!==(r=null==e?void 0:e.scales)&&void 0!==r?r:null,l=hi||(()=>{if((null==e?void 0:e.xIsDate)&&i)return bi(i.x.domain())})();return t.jsxs("div",{ref:Be,className:"stream-xy-frame"+(Q?" "+Q:""),role:"img","aria-label":Oe||("string"==typeof se?se:"XY chart"),style:{position:"relative",width:U?"100%":He[0],height:K?"100%":He[1]},children:[t.jsx(zn,{summary:Te}),t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:He[0],height:He[1],style:{position:"absolute",left:0,top:0},children:[t.jsx("g",{transform:`translate(${Qe.left},${Qe.top})`,children:tn}),t.jsxs("g",{transform:`translate(${Qe.left},${Qe.top})`,children:[J&&t.jsx("rect",{x:0,y:0,width:nn,height:on,fill:J}),re&&i&&re.map((e,o)=>t.jsx(y.Fragment,{children:e(n,i,{width:nn,height:on})},"svgpre-"+o)),n.map((e,n)=>function(e,n,i){var o,r,s,l,a;switch(e.type){case"line":{const i=e;if(0===i.path.length)return null;const o="M"+i.path.map(([t,e])=>`${t},${e}`).join("L");return t.jsx("path",{d:o,fill:"none",stroke:i.style.stroke||"#4e79a7",strokeWidth:i.style.strokeWidth||2,strokeDasharray:i.style.strokeDasharray,opacity:i.style.opacity},"line-"+n)}case"area":{const a=e;if(0===a.topPath.length)return null;const c=`M${a.topPath.map(([t,e])=>`${t},${e}`).join("L")}L${[...a.bottomPath].reverse().map(([t,e])=>`${t},${e}`).join("L")}Z`;if(a.clipRect){const e=`${i?i+"-":""}area-clip-${n}`;return t.jsxs("g",{children:[t.jsx("defs",{children:t.jsx("clipPath",{id:e,children:t.jsx("rect",{x:a.clipRect.x,y:a.clipRect.y,width:a.clipRect.width,height:a.clipRect.height})})}),t.jsx("path",{d:c,fill:an(a.style.fill),fillOpacity:null!==(r=null!==(o=a.style.fillOpacity)&&void 0!==o?o:a.style.opacity)&&void 0!==r?r:.7,stroke:a.style.stroke,strokeWidth:a.style.strokeWidth,clipPath:`url(#${e})`})]},"area-"+n)}return t.jsx("path",{d:c,fill:an(a.style.fill),fillOpacity:null!==(l=null!==(s=a.style.fillOpacity)&&void 0!==s?s:a.style.opacity)&&void 0!==l?l:.7,stroke:a.style.stroke,strokeWidth:a.style.strokeWidth},"area-"+n)}case"point":{const i=e;return t.jsx("circle",{cx:i.x,cy:i.y,r:i.r,fill:an(i.style.fill),opacity:null!==(a=i.style.opacity)&&void 0!==a?a:.8,stroke:i.style.stroke,strokeWidth:i.style.strokeWidth},"point-"+n)}case"rect":{const i=e;return t.jsx("rect",{x:i.x,y:i.y,width:i.w,height:i.h,fill:an(i.style.fill),opacity:i.style.opacity,stroke:i.style.stroke,strokeWidth:i.style.strokeWidth},"rect-"+n)}case"heatcell":{const i=e;if(i.showValues&&null!=i.value&&i.w>=20&&i.h>=20){const e=i.valueFormat?i.valueFormat(i.value):Number.isInteger(i.value)?i.value+"":100>Math.abs(i.value)?1>Math.abs(i.value)?i.value.toPrecision(3):i.value.toFixed(1):i.value.toFixed(0),[o,r,s]=function(t){if(t.startsWith("#")){let e=t.slice(1);if(3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),6===e.length)return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}const e=t.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return e?[+e[1],+e[2],+e[3]]:[128,128,128]}(i.fill),l=.299*o+.587*r+.114*s>128?"#000":"#fff",a=Math.max(10,Math.min(16,.3*Math.min(i.w,i.h)));return t.jsxs("g",{children:[t.jsx("rect",{x:i.x,y:i.y,width:i.w,height:i.h,fill:i.fill}),t.jsx("text",{x:i.x+i.w/2,y:i.y+i.h/2,textAnchor:"middle",dominantBaseline:"middle",fill:l,fontSize:a+"px",children:e})]},"heatcell-"+n)}return t.jsx("rect",{x:i.x,y:i.y,width:i.w,height:i.h,fill:i.fill},"heatcell-"+n)}case"candlestick":{const i=e,o=Math.min(i.openY,i.closeY),r=Math.max(Math.abs(i.openY-i.closeY),1),s=i.isUp?i.upColor:i.downColor;return t.jsxs("g",{children:[t.jsx("line",{x1:i.x,y1:i.highY,x2:i.x,y2:i.lowY,stroke:i.wickColor,strokeWidth:i.wickWidth}),t.jsx("rect",{x:i.x-i.bodyWidth/2,y:o,width:i.bodyWidth,height:r,fill:s,stroke:s,strokeWidth:1})]},"candle-"+n)}default:return null}}(e,n,Ie)).filter(Boolean)]})]}),t.jsx(rn,{width:nn,height:on,totalWidth:He[0],totalHeight:He[1],margin:Qe,scales:i,showAxes:bt,axes:kt,xLabel:wt,yLabel:St,yLabelRight:Mt,xFormat:l,yFormat:_t||Et,axisExtent:Pt,showGrid:Yt,title:se,legend:Bt,legendHoverBehavior:Ht,legendClickBehavior:Gt,legendHighlightedCategory:Vt,legendIsolatedCategories:qt,legendPosition:Ut,legendLayout:Kt,foregroundGraphics:Tt(Je,null===(s=Wn.current)||void 0===s?void 0:s.customLayoutOverlays),marginalGraphics:je,xValues:[],yValues:[],annotations:zt,svgAnnotationRules:Ft,annotationFrame:0,xAccessor:Mi,yAccessor:_i,annotationData:Pi(null==e?void 0:e.getData()),pointNodes:null==e?void 0:e.scene.filter(t=>"point"===t.type),curve:"string"==typeof L?L:void 0,linkedCrosshairName:Le,linkedCrosshairSourceId:De})]})}return t.jsxs("div",{ref:Be,className:"stream-xy-frame"+(Q?" "+Q:""),role:"group","aria-label":Oe||("string"==typeof se?se:"XY chart"),tabIndex:0,style:{position:"relative",width:U?"100%":He[0],height:K?"100%":He[1],overflow:"visible"},onKeyDown:ci,children:[Ee&&t.jsx(Fn,{tableId:qe}),Ee&&t.jsx($n,{scene:null!==(a=null===(l=Wn.current)||void 0===l?void 0:l.scene)&&void 0!==a?a:[],chartType:m+" chart",tableId:qe,chartTitle:"string"==typeof se?se:void 0}),t.jsx(zn,{summary:Te}),t.jsxs("div",{role:"img","aria-label":Oe||("string"==typeof se?se:"XY chart"),style:{position:"relative",width:"100%",height:"100%"},onMouseMove:ln?ui:void 0,onMouseLeave:ln?ii:void 0,onClick:Rt?ri:void 0,children:[tn&&t.jsx("svg",{style:{position:"absolute",left:0,top:0,width:He[0],height:He[1],pointerEvents:"none"},children:t.jsx("g",{transform:`translate(${Qe.left},${Qe.top})`,children:tn})}),t.jsx(en,{width:nn,height:on,totalWidth:He[0],totalHeight:He[1],margin:Qe,scales:mn,showAxes:bt,axes:kt,showGrid:Yt,xFormat:hi,yFormat:_t||Et,axisExtent:Pt}),t.jsx("canvas",{ref:un,"aria-label":Sn(null!==(u=null===(c=Wn.current)||void 0===c?void 0:c.scene)&&void 0!==u?u:[],m+" chart"),style:{position:"absolute",left:0,top:0}}),t.jsx("canvas",{ref:hn,style:{position:"absolute",left:0,top:0,pointerEvents:"none"}}),t.jsx(Yn,{hoverPoint:wn}),t.jsx(rn,{width:nn,height:on,totalWidth:He[0],totalHeight:He[1],margin:Qe,scales:mn,showAxes:bt,axes:kt,xLabel:wt,yLabel:St,yLabelRight:Mt,xFormat:hi,yFormat:_t||Et,axisExtent:Pt,showGrid:Yt,title:se,legend:Bt,legendHoverBehavior:Ht,legendClickBehavior:Gt,legendHighlightedCategory:Vt,legendIsolatedCategories:qt,legendPosition:Ut,legendLayout:Kt,foregroundGraphics:Tt(Je,null===(d=Wn.current)||void 0===d?void 0:d.customLayoutOverlays),marginalGraphics:je,xValues:On,yValues:Ln,annotations:zt,svgAnnotationRules:Ft,annotationFrame:fn,xAccessor:Mi,yAccessor:_i,annotationData:Pi(null===(h=Wn.current)||void 0===h?void 0:h.getData()),pointNodes:null===(f=Wn.current)||void 0===f?void 0:f.scene.filter(t=>"point"===t.type),curve:"string"==typeof L?L:void 0,underlayRendered:!0,canvasObscuresUnderlay:"transparent"!==J&&!ne,linkedCrosshairName:Le,linkedCrosshairSourceId:De}),(he||ye)&&t.jsx(x,{width:nn,height:on,totalWidth:He[0],totalHeight:He[1],margin:Qe,dimension:null!==(g=null==he?void 0:he.dimension)&&void 0!==g?g:"xy",scales:mn,onBrush:null!=ye?ye:()=>{},binSize:I,snap:null==he?void 0:he.snap,binBoundaries:null!==(p=null==he?void 0:he.binBoundaries)&&void 0!==p?p:"bar"===m?null===(v=Wn.current)||void 0===v?void 0:v.getBinBoundaries():void 0,snapDuring:null==he?void 0:he.snapDuring,streaming:"streaming"===b}),(null==be?void 0:be.showBadge)&&t.jsx("div",{className:"stream-staleness-badge",style:Object.assign(Object.assign({position:"absolute"},"top-left"===be.badgePosition?{top:4,left:4}:"bottom-left"===be.badgePosition?{bottom:4,left:4}:"bottom-right"===be.badgePosition?{bottom:4,right:4}:{top:4,right:4}),{padding:"2px 8px",borderRadius:4,fontSize:11,fontWeight:600,pointerEvents:"none",background:Cn?"#dc3545":"#28a745",color:"white"}),children:Cn?"STALE":"LIVE"}),pi,gi]})]})});_i.displayName="StreamXYFrame";const Pi={weightChange:.1,newEdge:.5,newNode:1,threshold:3,transitionDuration:500},Ci={radius:3,opacity:.7,speedMultiplier:1,maxPerEdge:50,spawnRate:.1};class Ei{constructor(t){this.capacity=t,this.particles=Array(t),this._freeIndices=Array(t);for(let e=0;t>e;e++)this.particles[e]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0},this._freeIndices[e]=t-1-e}spawn(t){const e=this._freeIndices.pop();if(void 0===e)return null;const n=this.particles[e];return n.active=!0,n.t=0,n.offset=Math.random()-.5,n.edgeIndex=t,n.x=0,n.y=0,n}step(t,e,n,i){var o;for(let r=0;this.capacity>r;r++){const s=this.particles[r];if(!s.active)continue;const l=n[s.edgeIndex];if(!l||!l.bezier){s.active=!1,this._freeIndices.push(r);continue}const a=i&&null!==(o=i[s.edgeIndex])&&void 0!==o?o:1;s.t+=t*e*a*(l.bezier.circular?.3:1),1>s.t?Oi(l.bezier,s.t,s.offset,s):(s.active=!1,this._freeIndices.push(r))}}countForEdge(t){let e=0;for(let n=0;this.capacity>n;n++)this.particles[n].active&&this.particles[n].edgeIndex===t&&e++;return e}clear(){for(let t=0;this.capacity>t;t++)this.particles[t].active=!1;this._freeIndices.length=0;for(let t=this.capacity-1;t>=0;t--)this._freeIndices.push(t)}resize(t){if(this.capacity>=t)return;const e=this.particles;this.particles=Array(t);for(let n=0;t>n;n++)e.length>n?this.particles[n]=e[n]:(this.particles[n]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0},this._freeIndices.push(n));this.capacity=t}}function Oi(t,e,n,i){if(t.circular&&t.segments)return void function(t,e,n,i,o){const r=t.length,s=e*r,l=Math.min(Math.floor(s),r-1),a=s-l,[c,u,d,h]=t[l];Ti(c,u,d,h,a,o);const f=h.x-c.x,g=h.y-c.y,y=Math.sqrt(f*f+g*g);if(y>.001){const t=f/y;o.x+=-g/y*n*i*2,o.y+=t*n*i*2}}(t.segments,e,n,t.halfWidth,i);if(!t.points)return i.x=0,void(i.y=0);const[o,r,s,l]=t.points;Ti(o,r,s,l,e,i);const a=l.x-o.x,c=l.y-o.y,u=Math.sqrt(a*a+c*c);if(u>.001){const e=a/u;i.x+=-c/u*n*t.halfWidth*2,i.y+=e*n*t.halfWidth*2}}function Ti(t,e,n,i,o,r){const s=1-o,l=s*s,a=l*s,c=o*o,u=c*o;r.x=a*t.x+3*l*o*e.x+3*s*c*n.x+u*i.x,r.y=a*t.y+3*l*o*e.y+3*s*c*n.y+u*i.y}function Li(t,e){var n=t.get(e);if(!n)throw Error("missing: "+e);return n}function Di(t,e){var n,i=[],o=[],r=[],s={},l=[];function a(t){r[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach(function(e){delete s[t][e],r[e]&&a(e)})}function c(t){var e,i,d=!1;for(o.push(t),r[t]=!0,e=0;l[t].length>e;e++)(i=l[t][e])===n?(u(n,o),d=!0):r[i]||(d=c(i));if(d)a(t);else for(e=0;l[t].length>e;e++){var h=s[i=l[t][e]];h||(s[i]=h={}),h[i]=!0}return o.pop(),d}function u(t,e){var n=[].concat(e).concat(t);i.push(n)}function d(e){!function(e){for(var n=0;t.length>n;n++)n>=e&&t[n]||(t[n]=[]),t[n]=t[n].filter(function(t){return t>=e})}(e);for(var n,i=function(t){for(var e=t.length,n=Array(e),i=Array(e),o=Array(e),r=Array(e),s=Array(e),l=Array(e),a=0;e>a;++a)n[a]=-1,i[a]=0,o[a]=!1,r[a]=0,s[a]=-1,l[a]=[];var c,u=0,d=[],h=[];function f(e){var a=[e],c=[e];for(n[e]=i[e]=u,o[e]=!0,u+=1;c.length>0;){var f=t[e=c[c.length-1]];if(f.length>r[e]){for(var g=r[e];f.length>g;++g){var y=f[g];if(0>n[y]){n[y]=i[y]=u,o[y]=!0,u+=1,a.push(y),c.push(y);break}o[y]&&(i[e]=0|Math.min(i[e],i[y])),0>s[y]||l[e].push(s[y])}r[e]=g}else{if(i[e]===n[e]){var p=[],v=[],m=0;for(g=a.length-1;g>=0;--g){var x=a[g];if(o[x]=!1,p.push(x),v.push(l[x]),m+=l[x].length,s[x]=d.length,x===e){a.length=g;break}}d.push(p);var b=Array(m);for(g=0;v.length>g;g++)for(var k=0;v[g].length>k;k++)b[--m]=v[g][k];h.push(b)}c.pop()}}}for(a=0;e>a;++a)0>n[a]&&f(a);for(a=0;h.length>a;a++){var g=h[a];if(0!==g.length){g.sort(function(t,e){return t-e}),c=[g[0]];for(var y=1;g.length>y;y++)g[y]!==g[y-1]&&c.push(g[y]);h[a]=c}}return{components:d,adjacencyList:h}}(t),o=i.components.filter(function(t){return t.length>1}),r=1/0,s=0;o.length>s;s++)for(var l=0;o[s].length>l;l++)r>o[s][l]&&(r=o[s][l],n=s);var a=o[n];if(!a)return!1;var c=t.map(function(t,e){return-1===a.indexOf(e)?[]:t.filter(function(t){return-1!==a.indexOf(t)})});return{leastVertex:r,adjList:c}}n=0;for(var h=t.length;h>n;){var f=d(n);if(n=f.leastVertex,l=f.adjList){for(var g=0;l.length>g;g++)for(var y=0;l[g].length>y;y++){var p=l[g][y];r[+p]=!1,s[p]={}}c(n),n+=1}else n=h}return i}function Ni(t){return t.y0-t.y1>0?"up":"down"}function Ri(t,e){return e(t.source)==e(t.target)}function Ii(t){var e=0;t.source.sourceLinks.forEach(function(t){e=t.circular?e+1:e});var n=0;return t.target.targetLinks.forEach(function(t){n=t.circular?n+1:n}),1>=e&&1>=n}function $i(t){return t.target.x0-t.source.x1}function Wi(t,e){var n=Fi(t),i=$i(e)/Math.tan(n);return"up"==Ni(t)?t.y1-i:t.y1+i}function zi(t,e){var n=Fi(t),i=$i(e)/Math.tan(n);return"up"==Ni(t)?t.y1+i:t.y1-i}function Fi(t){var e=Math.abs(t.y1-t.y0);return Math.atan(Math.abs(t.target.x0-t.source.x1)/e)}function Yi(t,e){return e(t)}function Bi(t){return Xi(t.source)}function Hi(t){return Xi(t.target)}function Xi(t){return(t.y0+t.y1)/2}function Gi(t){return t.virtual?0:t.value}function Vi(t,e){var n=0;t.sourceLinks.forEach(function(t){n=t.circular&&!Ri(t,e)?n+1:n});var i=0;return t.targetLinks.forEach(function(t){i=t.circular&&!Ri(t,e)?i+1:i}),n+i}function qi(t){return t.target.depth}function Ui(t,e){return t.sourceLinks.length?t.depth:e-1}function Ki(t,e){return t.y0-e.y0}function Zi(t,e){return e.y0-t.y0}function Qi(t,e){return t.y1-e.y1}function Ji(t,e){return e.y1-t.y1}function to(t,e){return no(t.source,e.source)||t.index-e.index}function eo(t,e){return no(t.target,e.target)||t.index-e.index}function no(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function io(t,e){return oo(t)==oo(e)?"bottom"==t.circularLinkType?Zi(t,e):Ki(t,e):oo(e)-oo(t)}function oo(t){return t.target.column-t.source.column}function ro(t,e){return so(t)==so(e)}function so(t){return t.y0-t.y1>0?"up":"down"}function lo(t,e,n,i,o){let r=t;var s=Math.max(8,.15*(r.y1-r.y0));r.links.forEach(function(t){t.circular&&(t._circularWidth=Math.min(t.width,s))});var a=l.min(r.links,function(t){return t.source.y0});r.links.forEach(function(t){t.circular&&(t.circularPathData={})});var c=r.links.filter(function(t){return t.circular});return c.sort(function(t,e){return e.value-t.value}),c.forEach(function(t,e){t._circularStub=e>=4}),ao(r.links.filter(function(t){return"top"==t.circularLinkType}),e,n),ao(r.links.filter(function(t){return"bottom"==t.circularLinkType}),e,n),r.links.forEach(function(t){if(t.circular){if(t.circularPathData.arcRadius=t._circularWidth+i,t.circularPathData.rightNodeBuffer=5,t.circularPathData.leftNodeBuffer=5,t.circularPathData.sourceWidth=t.source.x1-t.source.x0,t.circularPathData.sourceX=t.source.x0+t.circularPathData.sourceWidth,t.circularPathData.targetX=t.target.x0,t.circularPathData.sourceY=t.y0,t.circularPathData.targetY=t.y1,Ri(t,e)&&Ii(t))t.circularPathData.rightSmallArcRadius=i+t._circularWidth/2,t.circularPathData.rightLargeArcRadius=i+t._circularWidth/2,t.circularPathData.leftSmallArcRadius=i+t._circularWidth/2,t.circularPathData.leftLargeArcRadius=i+t._circularWidth/2,"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=t.source.y1+o+t.circularPathData.verticalBuffer,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius):(t.circularPathData.verticalFullExtent=t.source.y0-o-t.circularPathData.verticalBuffer,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius);else{var s=t.source.column,l=t.circularLinkType,c=r.links.filter(function(t){return t.source.column==s&&t.circularLinkType==l});c.sort("bottom"==t.circularLinkType?Zi:Ki);var u=0;c.forEach(function(e,o){e.circularLinkID==t.circularLinkID&&(t.circularPathData.rightSmallArcRadius=i+t._circularWidth/2+u,t.circularPathData.rightLargeArcRadius=i+t._circularWidth/2+o*n+u),u+=e._circularWidth||e.width}),s=t.target.column,(c=r.links.filter(function(t){return t.target.column==s&&t.circularLinkType==l})).sort("bottom"==t.circularLinkType?Ji:Qi),u=0,c.forEach(function(e,o){e.circularLinkID==t.circularLinkID&&(t.circularPathData.leftSmallArcRadius=i+t._circularWidth/2+u,t.circularPathData.leftLargeArcRadius=i+t._circularWidth/2+o*n+u),u+=e._circularWidth||e.width}),"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=Math.max(r.y1,t.source.y1,t.target.y1)+o+t.circularPathData.verticalBuffer,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius):(t.circularPathData.verticalFullExtent=a-o-t.circularPathData.verticalBuffer,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius)}t.circularPathData.rightInnerExtent=t.circularPathData.sourceX+t.circularPathData.rightNodeBuffer,t.circularPathData.leftInnerExtent=t.circularPathData.targetX-t.circularPathData.leftNodeBuffer,t.circularPathData.rightFullExtent=t.circularPathData.sourceX+t.circularPathData.rightLargeArcRadius+t.circularPathData.rightNodeBuffer,t.circularPathData.leftFullExtent=t.circularPathData.targetX-t.circularPathData.leftLargeArcRadius-t.circularPathData.leftNodeBuffer}t.path=t.circular?function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.rightSmallArcRadius)+" L"+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" L"+t.circularPathData.leftFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.leftSmallArcRadius)+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.rightSmallArcRadius)+" L"+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" L"+t.circularPathData.leftFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.leftSmallArcRadius)+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(t):function(t){var e=t.source.x1,n=t.y0,i=t.target.x0,o=t.y1,r=(e+i)/2;return"M"+e+","+n+"C"+r+","+n+" "+r+","+o+" "+i+","+o}(t)}),r}function ao(t,e,n){t.sort(io);var i=t.filter(function(t){return!t._circularStub});return t.forEach(function(t,o){var r=0;if(t._circularStub)t.circularPathData.verticalBuffer=0;else if(Ri(t,e)&&Ii(t))t.circularPathData.verticalBuffer=r+t._circularWidth/2;else{for(var s=0;i.length>s;s++){var l=i[s];if(l!==t&&l.circularPathData&&void 0!==l.circularPathData.verticalBuffer&&co(t,l)){var a=l.circularPathData.verticalBuffer+(l._circularWidth||l.width)/2+n;r=a>r?a:r}}t.circularPathData.verticalBuffer=r+t._circularWidth/2}}),t}function co(t,e){return t.source.column>=e.target.column&&e.source.column>=t.target.column}function uo(t){return function(){return t}}function ho(t){return t.index}function fo(t){return t.nodes}function go(t){return t.links}function yo(t,e,n){var i=l.groups(t.nodes,function(t){return t.column}).sort(function(t,e){return t[0]-e[0]}).map(function(t){return t[1]});i.forEach(function(o,r){var s=o.length;if(e)o.sort(e);else if(r>0){var l=new Map;o.forEach(function(t,e){var n,i,o,r=(i=0,o=0,(n=t).targetLinks.forEach(function(t){if(!t.circular){var e=t.value||1;o+=Xi(t.source)*e,i+=e}}),n.sourceLinks.forEach(function(t){if(!t.circular){var e=t.value||1;o+=Xi(t.target)*e,i+=e}}),i>0?o/i:NaN);l.set(t,{bc:r,idx:e})}),o.sort(function(t,e){var n=l.get(t),i=l.get(e),o=n.bc,r=i.bc;if(t.circularLinkType!==e.circularLinkType){if("top"==t.circularLinkType&&"bottom"==e.circularLinkType)return-1;if("bottom"==t.circularLinkType&&"top"==e.circularLinkType)return 1;if("top"==t.circularLinkType)return-1;if("top"==e.circularLinkType)return 1;if("bottom"==t.circularLinkType)return 1;if("bottom"==e.circularLinkType)return-1}return isNaN(o)||isNaN(r)?isNaN(o)?isNaN(r)?n.idx-i.idx:1:-1:o-r})}else o.sort(function(t,e){return t.circularLinkType==e.circularLinkType?Vi(e,n)-Vi(t,n):"top"==t.circularLinkType&&"bottom"==e.circularLinkType||"top"==t.circularLinkType&&0==e.partOfCycle||0==t.partOfCycle&&"bottom"==e.circularLinkType?-1:0});o.forEach(function(e,o){e.depth==i.length-1&&1==s||0==e.depth&&1==s?(e.y0=t.y1/2-e.value*t.ky,e.y1=e.y0+e.value*t.ky):e.partOfCycle?0==Vi(e,n)?(e.y0=t.y1/2+o,e.y1=e.y0+e.value*t.ky):"top"==e.circularLinkType?(e.y0=t.y0+o,e.y1=e.y0+e.value*t.ky):(e.y0=t.y1-e.value*t.ky-o,e.y1=e.y0+e.value*t.ky):0==t.y0||0==t.y1?(e.y0=(t.y1-t.y0)/s*o,e.y1=e.y0+e.value*t.ky):(e.y0=(t.y1-t.y0)/2-s/2+o,e.y1=e.y0+e.value*t.ky)})})}function po(t,e,n,i,o,r){var s=l.groups(t.nodes,function(t){return t.column}).sort(function(t,e){return t[0]-e[0]}).map(function(t){return t[1]});d();for(var a=1,c=r;c>0;--c)u(a*=.99,n),d();function u(e,n){var i=s.length;s.forEach(function(o){var r=o.length,s=o[0].depth;o.forEach(function(o){var a;if(o.sourceLinks.length||o.targetLinks.length)if(o.partOfCycle&&Vi(o,n)>0){var c=l.mean(o.sourceLinks,Hi),u=l.mean(o.targetLinks,Bi),d=c&&u?(c+u)/2:c||u;if(d){var h=(d-Xi(o))*e*.3;o.y0+=h,o.y1+=h}}else if(0==s&&1==r)o.y0=t.y1/2-(a=o.y1-o.y0)/2,o.y1=t.y1/2+a/2;else if(s==i-1&&1==r)o.y0=t.y1/2-(a=o.y1-o.y0)/2,o.y1=t.y1/2+a/2;else if(1==o.targetLinks.length&&1==o.targetLinks[0].source.sourceLinks.length)a=o.y1-o.y0,o.y0=o.targetLinks[0].source.y0,o.y1=o.y0+a;else{var f=l.mean(o.sourceLinks,Hi),g=l.mean(o.targetLinks,Bi),y=((f&&g?(f+g)/2:f||g)-Xi(o))*e;o.y0+=y,o.y1+=y}})})}function d(){s.forEach(function(n){var r,s,l,a=t.y0,c=n.length;for(n.sort(e||no),l=0;c>l;++l)(s=a-(r=n[l]).y0)>0&&(r.y0+=s,r.y1+=s),a=r.y1+i;if((s=a-i-t.y1)>0)for(a=r.y0-=s,r.y1-=s,l=c-2;l>=0;--l)(s=(r=n[l]).y1+o-a)>0&&(r.y0-=s,r.y1-=s),a=r.y0})}}function vo(t){t.nodes.forEach(function(t){t.sourceLinks.sort(eo),t.targetLinks.sort(to)}),t.nodes.forEach(function(t){var e=t.y0,n=e,i=t.y1,o=i;t.sourceLinks.forEach(function(t){t.circular?(t.y0=i-t.width/2,i-=t.width):(t.y0=e+t.width/2,e+=t.width)}),t.targetLinks.forEach(function(t){t.circular?(t.y1=o-t.width/2,o-=t.width):(t.y1=n+t.width/2,n+=t.width)})})}function mo(){var t=0,e=0,n=1,i=1,o=24,r=8,s=null,a=ho,c=Ui,u=void 0,d=32,h=2,f=fo,g=go;function y(){var y={nodes:f.apply(null,arguments),links:g.apply(null,arguments)};return function(f){f.x0=t,f.y0=e,f.x1=n,f.y1=i,f.py=0,function(t,e){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var n=function(t,e){var n=new Map;return l.group(t,e).forEach(function(t,e){n.set(e,t[0])}),n}(t.nodes,e);t.links.forEach(function(t,e){t.index=e;var i=t.source,o=t.target;"object"!=typeof i&&(i=t.source=Li(n,i)),"object"!=typeof o&&(o=t.target=Li(n,o)),i.sourceLinks.push(t),o.targetLinks.push(t)})}(f,a),function(t,e){var n=0;if(null==e){for(var i=[],o=0;t.links.length>o;o++){var r=t.links[o],s=r.source.index,l=r.target.index;i[s]||(i[s]=[]),i[l]||(i[l]=[]),-1===i[s].indexOf(l)&&i[s].push(l)}var a=Di(i);a.sort(function(t,e){return t.length-e.length});var c={};for(o=0;a.length>o;o++){var u=a[o].slice(-2);c[u[0]]||(c[u[0]]={}),c[u[0]][u[1]]=!0}t.links.forEach(function(t){var e=t.target.index,i=t.source.index;e===i||c[i]&&c[i][e]?(t.circular=!0,t.circularLinkID=n++):t.circular=!1})}else t.links.forEach(function(t){e(t.source)<e(t.target)?t.circular=!1:(t.circular=!0,t.circularLinkID=n++)})}(f,u),function(t,e){var n=0,i=0;t.links.forEach(function(o){o.circular&&(o.circularLinkType=o.source.circularLinkType||o.target.circularLinkType?o.source.circularLinkType?o.source.circularLinkType:o.target.circularLinkType:i>n?"top":"bottom","top"==o.circularLinkType?n++:i++,t.nodes.forEach(function(t){Yi(t,e)!=Yi(o.source,e)&&Yi(t,e)!=Yi(o.target,e)||(t.circularLinkType=o.circularLinkType)}))}),t.links.forEach(function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),Ri(t,e)&&(t.circularLinkType=t.source.circularLinkType))})}(f,a),function(t){t.nodes.forEach(function(t){t.partOfCycle=!1,t.value=Math.max(l.sum(t.sourceLinks,Gi),l.sum(t.targetLinks,Gi)),t.sourceLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}),t.targetLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})})}(f),function(t,e,n){var i,o,r;if(null!=e){t.nodes.sort(function(t,n){return e(t)<e(n)?-1:1});var s=0,l=e(t.nodes[0]);t.nodes.forEach(function(t){s=e(t)==l?s:s+1,l=e(t)==l?l:e(t),t.column=s})}for(i=t.nodes,o=[],r=0;i.length;++r,i=o,o=[])i.forEach(function(t){t.depth=r,t.sourceLinks.forEach(function(t){0>o.indexOf(t.target)&&!t.circular&&o.push(t.target)})});for(i=t.nodes,o=[],r=0;i.length;++r,i=o,o=[])i.forEach(function(t){t.height=r,t.targetLinks.forEach(function(t){0>o.indexOf(t.source)&&!t.circular&&o.push(t.source)})});t.nodes.forEach(function(t){t.column=null==e?n(t,r):t.column})}(f,u,c);var g=r;if(null!==s){var y=l.groups(f.nodes,function(t){return t.column}).sort(function(t,e){return t[0]-e[0]}).map(function(t){return t[1]}),p=l.max(y,function(t){return t.length});p>1&&(g=Math.max(1,(i-e)*s/(p-1)))}(function(t,e,n){var i=l.groups(t.nodes,function(t){return t.column}).sort(function(t,e){return t[0]-e[0]}).map(function(t){return t[1]});t.py=e;var o=l.min(i,function(e){return(t.y1-t.y0-(e.length-1)*t.py)/l.sum(e,function(t){return t.value})});t.ky=o,t.links.forEach(function(e){e.width=e.value*t.ky});var r=l.max(t.nodes,function(t){return t.column});t.nodes.forEach(r>0?function(e){e.x0=t.x0+e.column*((t.x1-t.x0-n)/r),e.x1=e.x0+n}:function(e){e.x0=t.x0,e.x1=e.x0+n})})(f,g,o),yo(f,u,a),po(f,u,a,g,g,d),vo(f),lo(f,a,h,10,8),yo(f,u,a),po(f,u,a,g,g,d),vo(f),lo(f,a,h,10,8),function(t,e){let n=t;n.nodes.forEach(function(t){t.y+(t.y1-t.y0)>n.y1&&(t.y=t.y-(t.y+(t.y1-t.y0)-n.y1));var i=n.links.filter(function(n){return Yi(n.source,e)==Yi(t,e)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!ro(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var n=Wi(e,t);return t.y1-n}if(e.target.column>t.target.column)return Wi(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0});var r=t.y0;i.forEach(function(t){t.y0=r+t.width/2,r+=t.width}),i.forEach(function(e,n){if("bottom"==e.circularLinkType){for(var r=n+1,s=0;o>r;r++)s+=i[r].width;e.y0=t.y1-s-e.width/2}})})}(f,a),function(t,e){let n=t;n.nodes.forEach(function(t){var i=n.links.filter(function(n){return Yi(n.target,e)==Yi(t,e)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!ro(t,e))return t.y0-e.y0;if(t.source.column>e.source.column){var n=zi(e,t);return t.y0-n}if(e.source.column>t.source.column)return zi(t,e)-e.y0}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:"top"==t.circularLinkType?-1:1:void 0});var r=t.y0;i.forEach(function(t){t.y1=r+t.width/2,r+=t.width}),i.forEach(function(e,n){if("bottom"==e.circularLinkType){for(var r=n+1,s=0;o>r;r++)s+=i[r].width;e.y1=t.y1-s-e.width/2}})})}(f,a),function(t){var e=t.nodes,n=t.links,i=!1,o=!1;if(n.forEach(function(t){"top"==t.circularLinkType?i=!0:"bottom"==t.circularLinkType&&(o=!0)}),0==i||0==o){var r=l.min(e,function(t){return t.y0}),s=l.max(e,function(t){return t.y1}),a=(t.y1-t.y0)/(s-r);function c(e){return(e-r)/(s-r)*(t.y1-t.y0)+t.y0}1>a?(e.forEach(function(t){t.y0=c(t.y0),t.y1=c(t.y1)}),n.forEach(function(t){t.y0=c(t.y0),t.y1=c(t.y1),t.width=t.width*a})):e.forEach(function(t){var e=t.y1-t.y0,n=c(t.y0)-t.y0;t.y0=c(t.y0),t.y1=t.y0+e,t.sourceLinks.forEach(function(t){t.y0=t.y0+n}),t.targetLinks.forEach(function(t){t.y1=t.y1+n})})}}(f),lo(f,a,h,10,8)}(y),y}return y.update=function(t){return vo(t),lo(t,a,h,10,8),t},y.nodeWidth=function(t){return arguments.length?(o=+t,y):o},y.nodePadding=function(t){return arguments.length?(r=+t,y):r},y.nodePaddingRatio=function(t){return arguments.length?(s=+t,y):s},y.nodes=function(t){return arguments.length?(f="function"==typeof t?t:uo(t),y):f},y.links=function(t){return arguments.length?(g="function"==typeof t?t:uo(t),y):g},y.nodeId=function(t){return arguments.length?(a="function"==typeof t?t:uo(t),y):a},y.nodeAlign=function(t){return arguments.length?(c="function"==typeof t?t:uo(t),y):c},y.nodeSort=function(t){return arguments.length?(u=t,y):u},y.iterations=function(t){return arguments.length?(d=+t,y):d},y.circularLinkGap=function(t){return arguments.length?(h=+t,y):h},y.extent=function(o){return arguments.length?(t=+o[0][0],e=+o[0][1],n=+o[1][0],i=+o[1][1],y):[[t,e],[n,i]]},y.size=function(o){return arguments.length?(t=e=0,n=+o[0],i=+o[1],y):[n-t,i-e]},y}const xo=t=>{let e,n,i,o,r,s,l,a,c;if("down"===t.direction)return e=t.y0-t.sankeyWidth/2,n=t.y1-t.sankeyWidth/2,i=t.y1+t.sankeyWidth/2,o=t.y0+t.sankeyWidth/2,r=t.source.x1,s=t.target.x0,l=u.interpolateNumber(r,s),a=l(.5),c=l(.5),`M${e},${r}C${e},${a} ${n},${c} ${n},${s}L${i},${s}C${i},${c} ${o},${a} ${o},${r}Z`;const d=t.sankeyWidth/2,h=u.interpolateNumber(t.source.x1,t.target.x0),{pathD:f}=function(t){const{sx:e,sTop:n,sBot:i,tx:o,tTop:r,tBot:s,cp1X:l,cp2X:a}=t,c=(n+i)/2,u=(r+s)/2;return{pathD:[`M${e},${n}`,`C${l},${n} ${a},${r} ${o},${r}`,`L${o},${s}`,`C${a},${s} ${l},${i} ${e},${i}`,"Z"].join(" "),bezier:{circular:!1,points:[{x:e,y:c},{x:l,y:c},{x:a,y:u},{x:o,y:u}],halfWidth:(i-n)/2}}}({sx:t.source.x1,sTop:t.y0-d,sBot:t.y0+d,tx:t.target.x0,tTop:t.y1-d,tBot:t.y1+d,cp1X:h(.5),cp2X:h(.5)});return f};function bo(t){var e;const n=t.sankeyWidth/2,i=(null!==(e=t._circularWidth)&&void 0!==e?e:t.sankeyWidth)/2,o=t.circularPathData;if(!o)return null;if("down"===t.direction)return null;if(t._circularStub){const e=o.sourceX,i=o.sourceY,r=o.targetX,s=o.targetY;if("object"!=typeof t.source||!t.source||"object"!=typeof t.target||!t.target)return null;const l=Math.max(15,Math.min(40,.33*(o.rightFullExtent-e))),a=Math.max(15,Math.min(40,.33*(r-o.leftFullExtent)));return`M${e},${i-n}L${e+l},${i-n}L${e+l},${i+n}L${e},${i+n}ZM${r},${s-n}L${r-a},${s-n}L${r-a},${s+n}L${r},${s+n}Z`}const r=o.sourceX,s=o.sourceY,l=o.targetX,a=o.targetY,c=o.rightFullExtent,u=o.leftFullExtent,d=o.verticalFullExtent,h="bottom"===t.circularLinkType?1:-1,f=Math.max(4,Math.min(i,15));return`M${r},${s-h*n}L${c},${s-h*n}L${c+i},${s-h*n+h*f}L${c+i},${d+h*i-h*f}L${c+i-f},${d+h*i}L${u-i+f},${d+h*i}L${u-i},${d+h*i-h*f}L${u-i},${a-h*n+h*f}L${u-i+f},${a-h*n}L${l},${a-h*n}L${l},${a+h*n}L${u+i},${a+h*n}L${u+i},${d-h*i}L${c-i},${d-h*i}L${c-i},${s+h*n}L${r},${s+h*n}Z`}const ko=new Set,wo=new WeakMap;function Ao(t,e){if("production"===process.env.NODE_ENV)return t;if(!t||!t.data||"object"!=typeof t.data)return t;let n=wo.get(t);if(n){const t=n.get(e);if(t)return t}else n=new Map,wo.set(t,n);const i=new Proxy(t,{get(t,n,i){if("string"==typeof n&&!(n in t)&&t.data&&n in t.data){const t=`${e}:${n}`;ko.has(t)||(ko.add(t),console.warn(`[Semiotic] "${e}" callback accessed "${n}" on the wrapper object, but it only exists on ".data". Use d.data.${n} (or d.data?.${n}) instead. Frame callbacks receive RealtimeNode/RealtimeEdge wrappers, not your raw data.`))}return Reflect.get(t,n,i)}});return n.set(e,i),i}const So={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?Math.min.apply(Math,t.sourceLinks.map(qi))-1:0},justify:Ui};function Mo(t){return"string"==typeof t?t:t.id}const jo={supportsStreaming:!0,hierarchical:!1,computeLayout(t,e,n,i){var o,r,s,l,a,c,u;if(0===t.length)return;const d="vertical"===n.orientation?"down":"right",h=n.nodeAlign||"justify",f=null!==(o=n.nodeWidth)&&void 0!==o?o:15,g=null!==(r=n.nodePaddingRatio)&&void 0!==r?r:.05,y=null!==(s=n.iterations)&&void 0!==s?s:100,p=t.map(t=>Object.assign({},t)),v=e.map(t=>Object.assign(Object.assign({},t),{source:"string"==typeof t.source?t.source:t.source.id,target:"string"==typeof t.target?t.target:t.target.id,value:Math.sqrt(Math.max(1,t.value||1))}));let m;m="down"===d?[[0,0],[i[1],i[0]]]:[[0,0],[i[0],i[1]]];const x=mo().extent(m).links(v).nodes(p).nodeAlign(So[h]||Ui).nodeId(t=>t.id).nodeWidth(f).iterations(y);x.nodePaddingRatio&&x.nodePaddingRatio(g),x();{let t=1/0,e=-1/0,n=1/0,o=-1/0;for(const i of p)t>i.x0&&(t=i.x0),i.x1>e&&(e=i.x1),n>i.y0&&(n=i.y0),i.y1>o&&(o=i.y1);for(const i of v){if(!i.circular||!i.circularPathData)continue;const r=i.circularPathData,s=(null!==(a=null!==(l=i._circularWidth)&&void 0!==l?l:i.width)&&void 0!==a?a:0)/2;t>r.leftFullExtent-s&&(t=r.leftFullExtent-s),r.rightFullExtent+s>e&&(e=r.rightFullExtent+s),n>r.verticalFullExtent-s&&(n=r.verticalFullExtent-s),r.verticalFullExtent+s>o&&(o=r.verticalFullExtent+s)}const r=e-t,s=o-n,u=i[0],d=i[1];if(r>0&&s>0&&(0>t||0>n||e>u||o>d)){const e=Math.min(u/r,d/s),i=-t*e+(u-r*e)/2,o=-n*e+(d-s*e)/2;for(const t of p)t.x0=t.x0*e+i,t.x1=t.x1*e+i,t.y0=t.y0*e+o,t.y1=t.y1*e+o;for(const t of v)if(t.y0=t.y0*e+o,t.y1=t.y1*e+o,t.width=(null!==(c=t.width)&&void 0!==c?c:0)*e,t._circularWidth&&(t._circularWidth*=e),t.circular&&t.circularPathData){const n=t.circularPathData;n.sourceX=n.sourceX*e+i,n.targetX=n.targetX*e+i,n.sourceY=n.sourceY*e+o,n.targetY=n.targetY*e+o,n.rightFullExtent=n.rightFullExtent*e+i,n.leftFullExtent=n.leftFullExtent*e+i,n.verticalFullExtent=n.verticalFullExtent*e+o,n.rightInnerExtent=n.rightInnerExtent*e+i,n.leftInnerExtent=n.leftInnerExtent*e+i,n.verticalRightInnerExtent=n.verticalRightInnerExtent*e+o,n.verticalLeftInnerExtent=n.verticalLeftInnerExtent*e+o,n.rightSmallArcRadius*=e,n.rightLargeArcRadius*=e,n.leftSmallArcRadius*=e,n.leftLargeArcRadius*=e,n.sourceWidth*=e,n.rightNodeBuffer*=e,n.leftNodeBuffer*=e,n.arcRadius*=e}}}const b=new Map;for(const e of t)b.set(e.id,e);for(const t of p){const e=b.get(t.id);e&&(e.x0=t.x0,e.x1=t.x1,e.y0=t.y0,e.y1=t.y1,e.value=t.value,e.depth=t.depth,e.sourceLinks=t.sourceLinks,e.targetLinks=t.targetLinks,e.width=t.x1-t.x0,e.height=t.y1-t.y0,e.x=t.x0+(t.x1-t.x0)/2,e.y=t.y0+(t.y1-t.y0)/2)}const k=new Map;for(const t of e)k.set(t._edgeKey?t._edgeKey:`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}`,t);for(const t of v){const e=Mo(t.source),n=Mo(t.target),i=k.get(t._edgeKey?t._edgeKey:`${e}\0${n}`);if(i){i.y0=t.y0,i.y1=t.y1,i.sankeyWidth=null!==(u=t.width)&&void 0!==u?u:0,i.circular=!!t.circular,i.circularPathData=t.circularPathData,i._circularWidth=t._circularWidth,i._circularStub=t._circularStub,i.path=t.path,i.circularLinkType=t.circularLinkType,i.direction=d;const o=b.get(e),r=b.get(n);o&&(i.source=o),r&&(i.target=r)}}},buildScene(t,e,n,i){var o,r,s,l,a,c;const u="vertical"===n.orientation?"down":"right",d=n.nodeStyle,h=n.edgeStyle,f=null!==(o=n.edgeOpacity)&&void 0!==o?o:.5,g=n.edgeColorBy||"source",y=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:K,p=new Map;t.forEach((t,e)=>{p.set(t.id,y[e%y.length])});const v=[],m=[],x=[],b=new Map;for(const e of t){const t=e.x1-e.x0,n=e.y1-e.y0;if(0>=t||0>=n)continue;const i=d?d(Ao(e,"nodeStyle")):{},o={fill:i.fill||p.get(e.id)||"#4d430c",stroke:i.stroke,strokeWidth:i.strokeWidth,opacity:i.opacity};b.set(e.id,("string"==typeof o.fill?o.fill:null)||p.get(e.id)||"#4d430c"),v.push("down"===u?{type:"rect",x:e.y0,y:e.x0,w:n,h:t,style:o,datum:e,id:e.id,label:e.id}:{type:"rect",x:e.x0,y:e.y0,w:t,h:n,style:o,datum:e,id:e.id,label:e.id})}const k=[...e].sort((t,e)=>(e.sankeyWidth||0)-(t.sankeyWidth||0));for(const t of k){if(!t.sankeyWidth||0>=t.sankeyWidth)continue;const e="object"==typeof t.source?t.source:null,i="object"==typeof t.target?t.target:null;if(!e||!i)continue;let o=(null===(r=n.themeSemantic)||void 0===r?void 0:r.border)||(null===(s=n.themeSemantic)||void 0===s?void 0:s.secondary)||"#999";o="function"==typeof g?g(t)||o:"target"===g?b.get(i.id)||p.get(i.id)||o:b.get(e.id)||p.get(e.id)||o;const u=h?h(Ao(t,"edgeStyle")):{};if(t._circularStub&&t.circular&&t.circularPathData){const e=t.circularPathData,n=t.sankeyWidth/2,i=Math.max(15,Math.min(40,.33*(e.rightFullExtent-e.sourceX))),r=Math.max(15,Math.min(40,.33*(e.targetX-e.leftFullExtent))),s=u.fill||o;m.push({type:"bezier",pathD:`M${e.sourceX},${e.sourceY-n}L${e.sourceX+i},${e.sourceY-n}L${e.sourceX+i},${e.sourceY+n}L${e.sourceX},${e.sourceY+n}Z`,style:{fill:s,fillOpacity:null!==(l=u.fillOpacity)&&void 0!==l?l:f,stroke:"none",opacity:u.opacity},datum:t,_gradient:{direction:"right",from:1,to:0,x0:e.sourceX,x1:e.sourceX+i}}),m.push({type:"bezier",pathD:`M${e.targetX},${e.targetY-n}L${e.targetX-r},${e.targetY-n}L${e.targetX-r},${e.targetY+n}L${e.targetX},${e.targetY+n}Z`,style:{fill:s,fillOpacity:null!==(a=u.fillOpacity)&&void 0!==a?a:f,stroke:"none",opacity:u.opacity},datum:t,_gradient:{direction:"left",from:0,to:1,x0:e.targetX-r,x1:e.targetX}});continue}let d;if(d=t.circular&&t.circularPathData?bo(t):xo(t),!d)continue;const y={fill:u.fill||o,fillOpacity:null!==(c=u.fillOpacity)&&void 0!==c?c:f,stroke:u.stroke||"none",strokeWidth:u.strokeWidth,opacity:u.opacity};m.push({type:"bezier",pathD:d,bezierCache:t.bezier,style:y,datum:t})}if(!1!==n.showLabels){const e=(w=n.nodeLabel)?"function"==typeof w?w:t=>t[w]||t.id:null;for(const n of t){const t=n.x1-n.x0,o=n.y1-n.y0;if(0>=t||0>=o)continue;const r=e?e(n):n.id;if(!r)continue;let s,l,a;"down"===u?(s=n.y0+(n.y1-n.y0)/2,l=n.x1+14,a="start"):(i[0]/2>n.x0+t/2?(s=n.x0-6,a="end"):(s=n.x1+6,a="start"),l=n.y0+o/2),x.push({x:s,y:l,text:r+"",anchor:"down"===u?"middle":a,baseline:"middle",fontSize:11})}}var w;return{sceneNodes:v,sceneEdges:m,labels:x}}},_o={supportsStreaming:!0,hierarchical:!1,computeLayout(t,e,n,i){var o,r;if(0===t.length)return;const s=null!==(o=n.forceStrength)&&void 0!==o?o:.1,l=i[0]/2,a=i[1]/2,c=n.__previousPositions;let u=0;const h=[];for(const e of t){const t=null!=e.x&&null!=e.y&&(0!==e.x||0!==e.y),n=null==c?void 0:c.get(e.id);t?u++:n?(e.x=n.x,e.y=n.y,u++):h.push(e)}const f=u>0&&.3>=(t.length>0?h.length/t.length:1);if(f){const n=new Map;for(const e of t)n.set(e.id,e);for(const t of h){const i=Po(t.id,e,n);if(i.length>0){let e=0,n=0;for(const t of i)e+=t.x,n+=t.y;const o=Co(t.id),r=o%360*(Math.PI/180),s=10+o%20;t.x=e/i.length+s*Math.cos(r),t.y=n/i.length+s*Math.sin(r)}else{const e=Co(t.id),n=e%360*(Math.PI/180),i=15+e%30;t.x=l+i*Math.cos(n),t.y=a+i*Math.sin(n)}}}else{const e=2.399963229728653;for(let n=0;t.length>n;n++){const i=t[n];if(null==i.x||null==i.y||0===i.x&&0===i.y){const t=10*Math.sqrt(n+.5),o=n*e;i.x=l+t*Math.cos(o),i.y=a+t*Math.sin(o)}}}const g=null!==(r=n.iterations)&&void 0!==r?r:Math.max(50,Math.min(300,Math.floor(300-2*(t.length-30)))),y=0===n.iterations?0:f?40:g,p=Eo(n.nodeSize,n.nodeSizeRange,t),v=t=>p(t);if(y>0){const n=d.forceLink().strength(t=>{const e=t.weight;return Math.min(2.5,e?e*s:s)}).id(t=>t.id),i=d.forceSimulation().force("charge",d.forceManyBody().strength(t=>-25*v(t))).force("center",d.forceCenter(l,a).strength(.8)).force("x",d.forceX(l).strength(.15)).force("y",d.forceY(a).strength(.15));if(i.nodes(t),e.length>0){const t=e.map(t=>Object.assign(Object.assign({},t),{source:"string"==typeof t.source?t.source:t.source.id,target:"string"==typeof t.target?t.target:t.target.id}));n.links(t),i.force("link",n)}f?i.alpha(.3):.1>i.alpha()&&i.alpha(1),i.stop();for(let t=0;y>t;++t)i.tick()}for(const e of t){if(null==e.x||null==e.y)continue;const t=v(e);e.x=Math.max(t,Math.min(i[0]-t,e.x)),e.y=Math.max(t,Math.min(i[1]-t,e.y)),e.x0=0,e.x1=0,e.y0=0,e.y1=0}const m=new Map;for(const e of t)m.set(e.id,e);for(const t of e){if("string"==typeof t.source){const e=m.get(t.source);e&&(t.source=e)}if("string"==typeof t.target){const e=m.get(t.target);e&&(t.target=e)}}},buildScene(t,e,n,i){var o,r,s,l,a,c,u;const d=n.nodeStyle,h=n.edgeStyle,f=Eo(n.nodeSize,n.nodeSizeRange,t),g=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:K,y=new Map;t.forEach((t,e)=>{y.set(t.id,g[e%g.length])});const p=[],v=[],m=[];for(const e of t){if(null==e.x||null==e.y)continue;const t=f(Ao(e,"nodeSize")),i=d?d(Ao(e,"nodeStyle")):{},l={fill:i.fill||y.get(e.id)||(null===(o=n.themeSemantic)||void 0===o?void 0:o.primary)||"#007bff",stroke:i.stroke||(null===(r=n.themeSemantic)||void 0===r?void 0:r.surface)||"#fff",strokeWidth:null!==(s=i.strokeWidth)&&void 0!==s?s:2,opacity:i.opacity};p.push({type:"circle",cx:e.x,cy:e.y,r:t,style:l,datum:e,id:e.id,label:e.id})}const x=new Map;for(const e of t)x.set(e.id,e);for(const t of e){const e="object"==typeof t.source?t.source:x.get(t.source),i="object"==typeof t.target?t.target:x.get(t.target);if(!e||!i)continue;if(null==e.x||null==e.y)continue;if(null==i.x||null==i.y)continue;const o=h?h(Ao(t,"edgeStyle")):{},r={stroke:o.stroke||(null===(l=n.themeSemantic)||void 0===l?void 0:l.border)||(null===(a=n.themeSemantic)||void 0===a?void 0:a.secondary)||"#999",strokeWidth:null!==(c=o.strokeWidth)&&void 0!==c?c:1,opacity:null!==(u=o.opacity)&&void 0!==u?u:.6};v.push({type:"line",x1:e.x,y1:e.y,x2:i.x,y2:i.y,style:r,datum:t})}if(!1!==n.showLabels){const e=(b=n.nodeLabel)?"function"==typeof b?b:t=>t[b]||t.id:null;for(const n of t){if(null==n.x||null==n.y)continue;const t=e?e(n):n.id;if(!t)continue;const i=f(Ao(n,"nodeSize"));m.push({x:n.x,y:n.y-i-4,text:t+"",anchor:"middle",baseline:"auto",fontSize:11})}}var b;return{sceneNodes:p,sceneEdges:v,labels:m}}};function Po(t,e,n){const i=[];for(const o of e){const e="string"==typeof o.source?o.source:o.source.id,r="string"==typeof o.target?o.target:o.target.id;let s=null;if(e===t?s=r:r===t&&(s=e),s){const t=n.get(s);!t||0===t.x&&0===t.y||i.push({x:t.x,y:t.y})}}return i}function Co(t){let e=0;for(let n=0;t.length>n;n++)e=(e<<5)-e+t.charCodeAt(n)|0;return Math.abs(e)}function Eo(t,e,n){var i,r;if(null==t)return()=>8;if("number"==typeof t)return()=>t;if("function"==typeof t)return e=>t(e)||8;const s=e||[5,20],a=n.map(e=>{var n;return null===(n=e.data)||void 0===n?void 0:n[t]}).filter(t=>null!=t&&"number"==typeof t);if(0===a.length)return()=>s[0];const c=null!==(i=l.min(a))&&void 0!==i?i:0,u=null!==(r=l.max(a))&&void 0!==r?r:1;if(c===u)return()=>(s[0]+s[1])/2;const d=o.scaleLinear().domain([c,u]).range(s).clamp(!0);return e=>{var n;const i=null===(n=e.data)||void 0===n?void 0:n[t];return null==i||"number"!=typeof i?s[0]:d(i)}}const Oo=K,To={supportsStreaming:!1,hierarchical:!1,computeLayout(t,e,n,i){if(0===t.length)return;const{padAngle:o=.01,groupWidth:r=20,sortGroups:l}=n,a=Math.min(i[0],i[1])/2,c=a-r,u=i[0]/2,d=i[1]/2,f=(g=n.valueAccessor)?"function"==typeof g?g:t=>{var e;return null!==(e=t[g])&&void 0!==e?e:1}:t=>{var e;return null!==(e=t.value)&&void 0!==e?e:1};var g;const y=new Map;for(let e=0;t.length>e;e++)y.set(t[e].id,e);const p=t.length,v=Array.from({length:p},()=>Array.from({length:p},()=>0));for(const t of e){const e="string"==typeof t.target?t.target:t.target.id,n=y.get("string"==typeof t.source?t.source:t.source.id),i=y.get(e);if(void 0===n||void 0===i)continue;const o=f(t);v[n][i]=o}const m=h.chord().padAngle(o);l&&m.sortGroups(l);const x=m(v),b=x.groups,k=s.arc().innerRadius(c).outerRadius(a);for(const e of b){const n=t[e.index],i=k.centroid({innerRadius:c,outerRadius:a,startAngle:e.startAngle,endAngle:e.endAngle});n.x=i[0]+u,n.y=i[1]+d,n.__arcData={startAngle:e.startAngle,endAngle:e.endAngle}}const w=new Map;for(const e of t)w.set(e.id,e);for(const t of e){const e="string"==typeof t.target?t.target:t.target.id,n=w.get("string"==typeof t.source?t.source:t.source.id),i=w.get(e);n&&(t.source=n),i&&(t.target=i)}const A=new Map;for(const t of e)A.set(`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}`,t);for(const e of x){const n=t[e.source.index].id,i=t[e.target.index].id,o=A.get(`${n}\0${i}`)||A.get(`${i}\0${n}`);o&&(o.__chordData=e)}},buildScene(t,e,n,i){var o,r,s,l;const{groupWidth:a=20,edgeOpacity:c=.5}=n,u=Math.min(i[0],i[1])/2,d=u-a,f=i[0]/2,g=i[1]/2,y=n.nodeStyle,p=n.edgeStyle,v=n.edgeColorBy||"source",m=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:Oo,x=new Map;t.forEach((t,e)=>{x.set(t.id,m[e%m.length])});const b=h.ribbon().radius(d),k=[],w=[],A=[];for(let e=0;t.length>e;e++){const n=t[e],i=n.__arcData;if(!i)continue;let r;r=y?y(Ao(n,"nodeStyle")).fill||x.get(n.id)||m[e%m.length]:x.get(n.id)||m[e%m.length];const s=y?y(Ao(n,"nodeStyle")):{},l={fill:r,stroke:s.stroke||"black",strokeWidth:null!==(o=s.strokeWidth)&&void 0!==o?o:1,opacity:s.opacity};k.push({type:"arc",cx:f,cy:g,innerR:d,outerR:u,startAngle:i.startAngle-Math.PI/2,endAngle:i.endAngle-Math.PI/2,style:l,datum:n,id:n.id,label:n.id})}for(const t of e){const e=t.__chordData;if(!e)continue;const i=b(e);if(!i)continue;const o=Lo(i,f,g);let a=(null===(r=n.themeSemantic)||void 0===r?void 0:r.border)||(null===(s=n.themeSemantic)||void 0===s?void 0:s.secondary)||"#999";if(p)a=p(Ao(t,"edgeStyle")).fill||a;else{const e="object"==typeof t.source?t.source:null,n="object"==typeof t.target?t.target:null;"target"===v&&n?a=x.get(n.id)||a:e&&(a=x.get(e.id)||a)}const u=p?p(Ao(t,"edgeStyle")):{},d={fill:a,fillOpacity:null!==(l=u.fillOpacity)&&void 0!==l?l:c,stroke:u.stroke||"none",strokeWidth:u.strokeWidth,opacity:u.opacity};w.push({type:"ribbon",pathD:o,style:d,datum:t})}if(!1!==n.showLabels){const e=(S=n.nodeLabel)?"function"==typeof S?S:t=>t[S]||t.id:null,i=u+12;for(const n of t){const t=n.__arcData;if(!t)continue;const o=e?e(n):n.id;if(!o)continue;const r=(t.startAngle+t.endAngle)/2,s=r-Math.PI/2;A.push({x:f+Math.cos(s)*i,y:g+Math.sin(s)*i,text:o+"",anchor:r>Math.PI?"end":"start",baseline:"middle",fontSize:11})}}var S;return{sceneNodes:k,sceneEdges:w,labels:A}}};function Lo(t,e,n){const i=t.match(/[a-zA-Z]|[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?/g);if(!i)return t;const o=[];let r=0;for(;i.length>r;){const t=i[r];if("M"===t||"L"===t)for(o.push(t),r++;i.length>r&&!isNaN(Number(i[r]));)o.push(Number(i[r])+e+""),r++,i.length>r&&!isNaN(Number(i[r]))&&(o.push(Number(i[r])+n+""),r++);else if("C"===t)for(o.push(t),r++;i.length>r&&!isNaN(Number(i[r]));)for(let t=0;3>t&&i.length>r&&!isNaN(Number(i[r]));t++)o.push(Number(i[r])+e+""),r++,i.length>r&&!isNaN(Number(i[r]))&&(o.push(Number(i[r])+n+""),r++);else if("Q"===t)for(o.push(t),r++;i.length>r&&!isNaN(Number(i[r]));)for(let t=0;2>t&&i.length>r&&!isNaN(Number(i[r]));t++)o.push(Number(i[r])+e+""),r++,i.length>r&&!isNaN(Number(i[r]))&&(o.push(Number(i[r])+n+""),r++);else if("A"===t)for(o.push(t),r++;i.length>r&&!isNaN(Number(i[r]));)o.push(i[r++]),i.length>r&&o.push(i[r++]),i.length>r&&o.push(i[r++]),i.length>r&&o.push(i[r++]),i.length>r&&o.push(i[r++]),i.length>r&&(o.push(Number(i[r])+e+""),r++),i.length>r&&(o.push(Number(i[r])+n+""),r++);else"Z"===t||"z"===t?(o.push(t),r++):(o.push(i[r]),r++)}return o.join(" ")}const Do=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];function No(t){const[e,n,i]=function(t){if(t.startsWith("#")){let e=t.slice(1);if(3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),6===e.length)return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}const e=t.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return e?[+e[1],+e[2],+e[3]]:[128,128,128]}(t);return.299*e+.587*n+.114*i>150?"#222":"#fff"}function Ro(t,e,n){const i=e.nodeIDAccessor;return"function"==typeof i?i(t.data)+"":"string"==typeof i&&void 0!==t.data[i]?t.data[i]+"":void 0!==t.data.name?t.data.name+"":void 0!==t.data.id?t.data.id+"":"node-"+n}function Io(t){return t?"function"==typeof t?t:e=>{var n;return(null===(n=e.data)||void 0===n?void 0:n[t])||e[t]||e.id}:null}function $o(t){return Array.isArray(t.colorScheme)?t.colorScheme:t.themeCategorical&&t.themeCategorical.length>0?t.themeCategorical:Do}function Wo(t){var e;return Array.isArray(t.colorScheme)&&t.colorScheme.length>0?t.colorScheme[0]:(null===(e=t.themeSemantic)||void 0===e?void 0:e.primary)?t.themeSemantic.primary:t.themeCategorical&&t.themeCategorical.length>0?t.themeCategorical[0]:"#4d430c"}function zo(t,e,n,i,o){if("horizontal"===o){const o=(t+n)/2;return`M ${t},${e} C ${o},${e} ${o},${i} ${n},${i}`}if("radial"===o){const o=(t+n)/2;return`M ${t},${e} Q ${o},${e} ${o},${(e+i)/2} T ${n},${i}`}{const o=(e+i)/2;return`M ${t},${e} C ${t},${o} ${n},${o} ${n},${i}`}}const Fo={supportsStreaming:!1,hierarchical:!0,computeLayout(t,e,n,i){var o;const r=n.__hierarchyRoot;if(!r)return;const s=n.chartType,l=function(t){if(t)return"function"==typeof t?t:e=>e[t]}(n.childrenAccessor),c=n.hierarchySum,u="function"==typeof c?c:"string"==typeof c?t=>Number(t[c])||0:t=>Number(t.value)||0,d=a.hierarchy(r,l);d.sum(u),d.sort((t,e)=>{var n,i;return(null!==(n=e.value)&&void 0!==n?n:0)-(null!==(i=t.value)&&void 0!==i?i:0)});const[h,f]=i;switch(s){case"tree":!function(t,e,n,i){const o=e.treeOrientation||"vertical",r=a.tree();r.size("horizontal"===o?[i,n]:"radial"===o?[2*Math.PI,Math.min(n,i)/2*.8]:[n,i]),r(t)}(d,n,h,f);break;case"cluster":!function(t,e,n,i){const o=e.treeOrientation||"vertical",r=a.cluster();r.size("horizontal"===o?[i,n]:"radial"===o?[2*Math.PI,Math.min(n,i)/2*.8]:[n,i]),r(t)}(d,n,h,f);break;case"treemap":!function(t,e,n,i){var o,r;const s=null!==(o=e.padding)&&void 0!==o?o:4,l=null!==(r=e.paddingTop)&&void 0!==r?r:0,c=a.treemap().size([n,i]).tile(a.treemapBinary).padding(s);l>0&&c.paddingTop(l),c(t)}(d,n,h,f);break;case"circlepack":!function(t,e,n,i){var o;const r=null!==(o=e.padding)&&void 0!==o?o:4;a.pack().size([n,i]).padding(r)(t)}(d,n,h,f);break;case"partition":!function(t,e,n,i){var o;a.partition().size([n,i]).padding(null!==(o=e.padding)&&void 0!==o?o:1)(t)}(d,n,h,f)}const g=d.descendants();t.length=0,e.length=0;const y=new Map;for(let e=0;g.length>e;e++){const i=g[e],r={id:Ro(i,n,e),x:0,y:0,x0:0,x1:0,y0:0,y1:0,width:0,height:0,value:null!==(o=i.value)&&void 0!==o?o:0,depth:i.depth,data:i.data,createdByFrame:!0};"tree"===s||"cluster"===s?Yo(r,i,n):"treemap"===s||"partition"===s?Bo(r,i):"circlepack"===s&&Ho(r,i),r.__hierarchyNode=i,t.push(r),y.set(i,r)}if("tree"===s||"cluster"===s)for(const t of g)if(t.parent){const n=y.get(t.parent),i=y.get(t);n&&i&&e.push({source:n,target:i,value:1,y0:0,y1:0,sankeyWidth:0,data:{depth:t.depth}})}},buildScene(t,e,n,i){const o=n.nodeStyle||(()=>({})),r=n.edgeStyle||(()=>({}));switch(n.chartType){case"tree":case"cluster":return function(t,e,n,i,o,r){var s,l,a,c,u,d,h,f;const g=[],y=[],p=[],v=n.treeOrientation||"vertical",m="radial"===v,x=i[0]/2,b=i[1]/2,k="number"==typeof(w=n.nodeSize)?w:5;var w;for(const e of t){let t=e.x,i=e.y;m&&(t+=x,i+=b);const r=o(Ao(e,"nodeStyle"));let a=r.fill||Wo(n);if(n.colorByDepth&&void 0!==e.depth){const t=$o(n);a=t[e.depth%t.length]}const c={fill:a,stroke:r.stroke||(null===(s=n.themeSemantic)||void 0===s?void 0:s.surface)||"#fff",strokeWidth:null!==(l=r.strokeWidth)&&void 0!==l?l:1,opacity:r.opacity};g.push({type:"circle",cx:t,cy:i,r:k,style:c,datum:e,id:e.id,label:e.id,depth:e.depth})}const A=null!==(a=n.edgeOpacity)&&void 0!==a?a:.5;for(const t of e){const e="object"==typeof t.source?t.source:null,i="object"==typeof t.target?t.target:null;if(!e||!i)continue;let o=e.x,s=e.y,l=i.x,a=i.y;m&&(o+=x,s+=b,l+=x,a+=b);const f=zo(o,s,l,a,v),g=r(Ao(t,"edgeStyle")),p={fill:"none",stroke:g.stroke||(null===(c=n.themeSemantic)||void 0===c?void 0:c.border)||(null===(u=n.themeSemantic)||void 0===u?void 0:u.secondary)||"#999",strokeWidth:null!==(d=g.strokeWidth)&&void 0!==d?d:1.5,opacity:null!==(h=g.opacity)&&void 0!==h?h:A};y.push({type:"curved",pathD:f,style:p,datum:t})}if(!1!==n.showLabels){const e=Io(n.nodeLabel);for(const n of t){const t=e?e(n):n.id;if(!t)continue;let i,o,r,s=n.x,l=n.y;if(m&&(s+=x,l+=b),m){const t=s-x,e=l-b,n=Math.sqrt(t*t+e*e);n>0?(i=s+t/n*10,o=l+e/n*10,r=0>t?"end":"start"):(i=s,o=l-12,r="middle")}else"horizontal"===v?((null===(f=n.data)||void 0===f?void 0:f.children)&&0!==n.data.children.length?(i=s-k-6,r="end"):(i=s+k+6,r="start"),o=l):(i=s,o=l+k+14,r="middle");p.push({x:i,y:o,text:t+"",anchor:r,baseline:"middle",fontSize:11})}}return{sceneNodes:g,sceneEdges:y,labels:p}}(t,e,n,i,o,r);case"treemap":case"partition":return function(t,e,n,i){var o,r,s,l,a;const c=[],u=[];for(const n of t){const t=n.x1-n.x0,s=n.y1-n.y0;if(0>=t||0>=s)continue;const l=i(Ao(n,"nodeStyle"));let a=l.fill||Wo(e);if(e.colorByDepth&&void 0!==n.depth){const t=$o(e);a=t[n.depth%t.length]}const u={fill:a,stroke:l.stroke||(null===(o=e.themeSemantic)||void 0===o?void 0:o.surface)||"#fff",strokeWidth:null!==(r=l.strokeWidth)&&void 0!==r?r:1,opacity:l.opacity};c.push({type:"rect",x:n.x0,y:n.y0,w:t,h:s,style:u,datum:n,id:n.id,label:n.id,depth:n.depth})}if(!1!==e.showLabels){const n=Io(e.nodeLabel),o=e.labelMode||"leaf",r="partition"===e.chartType;for(const c of t){const t=c.x1-c.x0,d=c.y1-c.y0;if(0>=t||0>=d)continue;const h=!((null===(s=c.data)||void 0===s?void 0:s.children)&&c.data.children.length>0);if(!r){if("leaf"===o&&!h)continue;if("parent"===o&&h)continue}const f=n?n(c):c.id;if(!f)continue;if((h?30:40)>t||(h?16:14)>d)continue;let g=i(Ao(c,"nodeStyle")).fill||Wo(e);if(e.colorByDepth&&void 0!==c.depth){const t=$o(e);g=t[c.depth%t.length]}const y="string"==typeof g?No(g):null!==(a=null===(l=e.themeSemantic)||void 0===l?void 0:l.text)&&void 0!==a?a:"#000";u.push(h?{x:c.x0+t/2,y:c.y0+d/2,text:f+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,Math.min(t,d)/6)),fill:y}:{x:c.x0+4,y:c.y0+12,text:f+"",anchor:"start",baseline:"auto",fontSize:11,fontWeight:600,fill:y})}}return{sceneNodes:c,sceneEdges:[],labels:u}}(t,n,0,o);case"circlepack":return function(t,e,n,i){var o,r,s,l,a,c,u,d,h,f;const g=[],y=[];for(const n of t){const t=null!==(o=n.__radius)&&void 0!==o?o:5;if(0>=t)continue;const a=i(Ao(n,"nodeStyle"));let c=a.fill||Wo(e);if(e.colorByDepth&&void 0!==n.depth){const t=$o(e);c=t[n.depth%t.length]}const u={fill:c,stroke:a.stroke||(null===(r=e.themeSemantic)||void 0===r?void 0:r.surface)||"#fff",strokeWidth:null!==(s=a.strokeWidth)&&void 0!==s?s:1,opacity:null!==(l=a.opacity)&&void 0!==l?l:.7};g.push({type:"circle",cx:n.x,cy:n.y,r:t,style:u,datum:n,id:n.id,label:n.id,depth:n.depth})}if(!1!==e.showLabels){const n=Io(e.nodeLabel);for(const o of t){const t=null!==(a=o.__radius)&&void 0!==a?a:5,r=n?n(o):o.id;if(!r)continue;if(15>t)continue;const s=!((null===(c=o.data)||void 0===c?void 0:c.children)&&o.data.children.length>0);let l=i(Ao(o,"nodeStyle")).fill||Wo(e);if(e.colorByDepth&&void 0!==o.depth){const t=$o(e);l=t[o.depth%t.length]}if(s){const n="string"==typeof l?No(l):null!==(d=null===(u=e.themeSemantic)||void 0===u?void 0:u.text)&&void 0!==d?d:"#000";y.push({x:o.x,y:o.y,text:r+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,t/3)),fill:n})}else y.push({x:o.x,y:o.y-t+14,text:r+"",anchor:"middle",baseline:"hanging",fontSize:Math.min(11,Math.max(8,t/3)),fill:(null===(h=e.themeSemantic)||void 0===h?void 0:h.text)||"#000",stroke:(null===(f=e.themeSemantic)||void 0===f?void 0:f.surface)||"#fff",strokeWidth:3,paintOrder:"stroke"})}}return{sceneNodes:g,sceneEdges:[],labels:y}}(t,n,0,o);default:return{sceneNodes:[],sceneEdges:[],labels:[]}}}};function Yo(t,e,n){const i=n.treeOrientation||"vertical";if("radial"===i){const n=e.x,i=e.y;t.x=i*Math.cos(n-Math.PI/2),t.y=i*Math.sin(n-Math.PI/2)}else"horizontal"===i?(t.x=e.y,t.y=e.x):(t.x=e.x,t.y=e.y);t.x0=t.x-5,t.x1=t.x+5,t.y0=t.y-5,t.y1=t.y+5,t.width=10,t.height=10}function Bo(t,e){t.x0=e.x0,t.x1=e.x1,t.y0=e.y0,t.y1=e.y1,t.x=(e.x0+e.x1)/2,t.y=(e.y0+e.y1)/2,t.width=e.x1-e.x0,t.height=e.y1-e.y0}function Ho(t,e){var n;const i=null!==(n=e.r)&&void 0!==n?n:0;t.x=e.x,t.y=e.y,t.x0=e.x-i,t.x1=e.x+i,t.y0=e.y-i,t.y1=e.y+i,t.width=2*i,t.height=2*i,t.__radius=i}function Xo(t){let e=t.__orbitState;return e||(e={metaMap:new Map,startTime:"undefined"!=typeof performance?performance.now():Date.now()},t.__orbitState=e),e}const Go={supportsStreaming:!1,hierarchical:!0,supportsAnimation:!0,computeLayout(t,e,n,i){const o=n.__hierarchyRoot;o&&function(t,e,n,i,o){var r,l;const a=function(t){if("function"==typeof t)return t;const e=t||"children";return t=>t[e]||null}(n.childrenAccessor),c=function(t){if("function"==typeof t)return t;const e=t||"name";return t=>{var n;return(null!==(n=t[e])&&void 0!==n?n:"")+""}}(n.nodeIDAccessor),u=function(t){if(Array.isArray(t))return t;switch(t){case"solar":return[1];case"atomic":return[2,8];default:return[9999]}}(n.orbitMode),d=null!==(r=n.orbitSize)&&void 0!==r?r:2.95,h=null!==(l=n.orbitEccentricity)&&void 0!==l?l:1,f="number"==typeof d?()=>d:d,g="number"==typeof h?()=>h:h,y=Xo(n);y.metaMap.clear(),i.length=0,o.length=0;const p=new Map;function v(t){var e;const n=null!==(e=p.get(t))&&void 0!==e?e:0;return p.set(t,n+1),0===n?t:`${t}__${n}`}const m=e[0]/2,x=e[1]/2,b=Math.min(e[0],e[1])/2*.85,k=v(c(t));i.push({id:k,x:m,y:x,x0:m,x1:m,y0:x,y1:x,width:0,height:0,value:0,depth:0,data:t}),y.metaMap.set(k,{ring:b,angle:0,depth:0,parentId:null,eccentricity:1}),function t(e,n,r,l,d,h,p){const m=a(e);if(!(null==m?void 0:m.length))return;const x=m.length;let b=0,k=0,w=0;for(;x>k;)k+=u[Math.min(w,u.length-1)],w++,b++;let A=0;for(let x=0;b>x;x++){const k=u[Math.min(x,u.length-1)],w=m.slice(A,A+k);if(!w.length)break;const S=(x+1)/b,M={id:n,depth:h,data:e,parentId:n},j=p?d/f(M)*S:d*S,_=s.pie().value(t=>{var e;return(null===(e=a(t))||void 0===e?void 0:e.length)?4:1}).sort(null),P=_(w),C=g(M);for(let e=0;w.length>e;e++){const s=(P[e].startAngle+P[e].endAngle)/2,a=w[e],u=v(c(a)),d=r+j*Math.sin(s),f=l+j*Math.cos(s)*C;i.push({id:u,x:d,y:f,x0:d,x1:d,y0:f,y1:f,width:0,height:0,value:0,depth:h,data:a}),y.metaMap.set(u,{ring:j,angle:s,depth:h,parentId:n,eccentricity:C}),o.push({source:n,target:u,value:1,y0:0,y1:0,sankeyWidth:0,data:{source:n,target:u}}),t(a,u,d,f,j,h+1,!0)}A+=k}}(t,k,m,x,b,1,!1)}(o,i,n,t,e)},buildScene(t,e,n,i){var o,r,s,l,a,c,u;const d=n.nodeStyle,h=n.nodeSize,f="number"==typeof h?()=>h:"function"==typeof h?h:()=>6,g=[],y=[],p=[];if(!1!==n.orbitShowRings){const e=Xo(n),i=new Map;for(const e of t)i.set(e.id,e);const o=new Map;for(const[,t]of e.metaMap){if(!t.parentId)continue;const e=i.get(t.parentId);if(!e)continue;const n=`${t.parentId}:${t.ring}`;o.has(n)||o.set(n,{parentX:e.x,parentY:e.y,ring:t.ring,ecc:t.eccentricity})}const r=48,s={stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1};for(const[,{parentX:t,parentY:e,ring:n,ecc:i}]of o)for(let o=0;r>o;o++){const l=o/r*Math.PI*2,a=(o+1)/r*Math.PI*2;y.push({type:"line",x1:t+n*Math.sin(l),y1:e+n*Math.cos(l)*i,x2:t+n*Math.sin(a),y2:e+n*Math.cos(a)*i,style:s,datum:null})}}for(const e of t){if(null==e.x||null==e.y)continue;const t=f(Ao(e,"nodeSize")),i=d?d(Ao(e,"nodeStyle")):{},c={fill:i.fill||(null===(o=n.themeSemantic)||void 0===o?void 0:o.primary)||"#6366f1",stroke:i.stroke||(null===(r=n.themeSemantic)||void 0===r?void 0:r.surface)||"#fff",strokeWidth:null!==(s=i.strokeWidth)&&void 0!==s?s:1,opacity:null!==(l=i.opacity)&&void 0!==l?l:0===(null!==(a=e.depth)&&void 0!==a?a:0)?1:.85};g.push({type:"circle",cx:e.x,cy:e.y,r:t,style:c,datum:e,id:e.id,label:e.id,depth:e.depth})}const v=new Map;for(const e of t)v.set(e.id,e);for(const t of e){const e="object"==typeof t.source?t.source:v.get(t.source),n="object"==typeof t.target?t.target:v.get(t.target);e&&n&&(null!=e.x&&null!=n.x&&y.push({type:"line",x1:e.x,y1:e.y,x2:n.x,y2:n.y,style:{stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1},datum:t}))}if(n.showLabels){const e=n.nodeLabel;for(const n of t){const t=f(Ao(n,"nodeSize"));if(4>=t)continue;const i="function"==typeof e?e(n):e&&null!==(u=null===(c=n.data)||void 0===c?void 0:c[e])&&void 0!==u?u:n.id;p.push({x:n.x,y:n.y+t+12,text:i+"",anchor:"middle",fontSize:10,fill:"currentColor"})}}return{sceneNodes:g,sceneEdges:y,labels:p}},tick:(t,e,n,i,o)=>!1!==n.orbitAnimated&&(function(t,e){var n,i;const o=Xo(e),r=null!==(n=e.orbitSpeed)&&void 0!==n?n:.25,s=null!==(i=e.orbitRevolution)&&void 0!==i?i:function(t){switch(t){case"decay":return t=>{var e;return Math.pow(.6,null!==(e=t.depth)&&void 0!==e?e:0)};case"alternate":return t=>{var e;const n=null!==(e=t.depth)&&void 0!==e?e:0;return(n%2==0?1:-1)/(n+1)};default:return t=>{var e;return 1/((null!==(e=t.depth)&&void 0!==e?e:0)+1)}}}(e.orbitRevolutionStyle),l=(("undefined"!=typeof performance?performance.now():Date.now())-o.startTime)/1e3,a=r*(Math.PI/6),c=new Map;for(const e of t)c.set(e.id,e);for(const e of t){const t=o.metaMap.get(e.id);if(!t||!t.parentId)continue;const n=c.get(t.parentId);if(!n)continue;const i=t.angle+l*a*s({id:e.id,depth:t.depth,data:e.data,parentId:t.parentId});e.x=n.x+t.ring*Math.sin(i),e.y=n.y+t.ring*Math.cos(i)*t.eccentricity,e.x0=e.x,e.x1=e.x,e.y0=e.y,e.y1=e.y}}(t,n),!0)},Vo={sankey:jo,force:_o,chord:To,tree:Fo,cluster:Fo,treemap:Fo,circlepack:Fo,partition:Fo,orbit:Go};function qo(t){return Vo[t]}function Uo(t){return 0===t.length?()=>"#4e79a7":e=>{var n;let i=0;for(let t=0;e.length>t;t++)i=31*i+e.charCodeAt(t)|0;return null!==(n=t[Math.abs(i)%t.length])&&void 0!==n?n:"#4e79a7"}}class Ko{constructor(t){this.nodes=new Map,this.edges=new Map,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.customLayoutOverlays=null,this.particlePool=null,this.transition=null,this._hasRenderedOnce=!1,this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null,this.lastIngestTime=0,this.nodeTimestamps=new Map,this.edgeTimestamps=new Map,this._decaySortedNodes=null,this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set,this.lastTopologyChangeTime=0,this.previousNodeIds=new Set,this.previousEdgeKeys=new Set,this._lastPositionSnapshot=null,this.config=t,this.tensionConfig=Object.assign(Object.assign({},Pi),t.tensionConfig),t.showParticles&&("sankey"===t.chartType||t.customNetworkLayout)&&(this.particlePool=new Ei(2e3))}updateConfig(t){const e=this.config;e.__orbitState&&(t.__orbitState=e.__orbitState),e.__hierarchyRoot&&(t.__hierarchyRoot=e.__hierarchyRoot),this.config=t,this.tensionConfig=Object.assign(Object.assign({},Pi),t.tensionConfig),!t.showParticles||"sankey"!==t.chartType&&!t.customNetworkLayout||this.particlePool||(this.particlePool=new Ei(2e3))}ingestHierarchy(t,e){this._boundedPrevSnapshot=new Map;for(const[t,e]of this.nodes)0===e.x0&&0===e.x1&&0===e.y0&&0===e.y1||this._boundedPrevSnapshot.set(t,{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1});this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.config.__hierarchyRoot=t,this.runLayout(e),this._boundedPrevSnapshot=null}ingestBounded(t,e,n){const{nodeIDAccessor:i="id",sourceAccessor:o="source",targetAccessor:r="target",valueAccessor:s="value"}=this.config,l="function"==typeof i?i:t=>t[i],a="function"==typeof o?o:t=>t[o],c="function"==typeof r?r:t=>t[r],u="function"==typeof s?s:t=>{var e;return null!==(e=t[s])&&void 0!==e?e:1};this._boundedPrevSnapshot=new Map;for(const[t,e]of this.nodes)0===e.x0&&0===e.x1&&0===e.y0&&0===e.y1||this._boundedPrevSnapshot.set(t,{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1});this._boundedEdgeSnapshot=new Map;for(const[,t]of this.edges)t.sankeyWidth>0&&this._boundedEdgeSnapshot.set(`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}`,{y0:t.y0,y1:t.y1,sankeyWidth:t.sankeyWidth});this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const e of t){const t=l(e)+"";this.nodes.set(t,Object.assign(Object.assign({},Zo(t)),{data:e}))}for(let t=0;e.length>t;t++){const n=e[t],i=a(n)+"",o=c(n)+"",r=u(n),s=null==r?NaN:Number(r),l=Number.isFinite(s)?s:1;this.nodes.has(i)||this.nodes.set(i,Object.assign(Object.assign({},Zo(i)),{data:n})),this.nodes.has(o)||this.nodes.set(o,Object.assign(Object.assign({},Zo(o)),{data:n}));const d=`${i}\0${o}\0${t}`,h={source:i,target:o,value:l,y0:0,y1:0,sankeyWidth:0,data:n,_edgeKey:d};n&&"object"==typeof n&&Qo(n.bezier)&&(h.bezier=n.bezier),this.edges.set(d,h)}this.runLayout(n)}edgeKey(t,e){return`${t}\0${e}`}ingestEdge(t){const{source:e,target:n,value:i}=t,o=0===this.nodes.size;let r=!1;const s="undefined"!=typeof performance?performance.now():Date.now();this.lastIngestTime=s,this._decaySortedNodes=null,this.nodes.has(e)||(this.nodes.set(e,Zo(e)),this.nodeTimestamps.set(e,s),this.tension+=this.tensionConfig.newNode,r=!0),this.nodes.has(n)||(this.nodes.set(n,Zo(n)),this.nodeTimestamps.set(n,s),this.tension+=this.tensionConfig.newNode,r=!0);const l=this.edgeKey(e,n),a=this.edges.get(l);let c=!1;return a?(a.value+=i,this.edgeTimestamps.set(l,s),this.tension+=this.tensionConfig.weightChange,c=!0):(this.edges.set(l,{source:e,target:n,value:i,y0:0,y1:0,sankeyWidth:0}),this.edgeTimestamps.set(l,s),this.tension+=this.tensionConfig.newEdge,r=!0),o||r||c||this.tension>=this.tensionConfig.threshold}runLayout(t){var e,n,i,o,r,s,l,a;if(this.config.customNetworkLayout)return this.recordTopologyDiff(),void this.layoutVersion++;const c=qo(this.config.chartType);if(!c)return;let u=Array.from(this.nodes.values());const d=Array.from(this.edges.values());if(0===u.length&&!c.hierarchical)return;if(this.prepareForRelayout(),c.supportsStreaming&&!c.hierarchical){const t=new Map;for(const l of u)if(void 0!==l._prevX0){const a=(null!==(e=l._prevX1)&&void 0!==e?e:0)-(null!==(n=l._prevX0)&&void 0!==n?n:0),c=(null!==(i=l._prevY1)&&void 0!==i?i:0)-(null!==(o=l._prevY0)&&void 0!==o?o:0);t.set(l.id,{x:(null!==(r=l._prevX0)&&void 0!==r?r:0)+a/2,y:(null!==(s=l._prevY0)&&void 0!==s?s:0)+c/2})}else 0===l.x&&0===l.y||t.set(l.id,{x:l.x,y:l.y});if(this._lastPositionSnapshot)for(const[e,n]of this._lastPositionSnapshot)t.has(e)||t.set(e,n);this.config.__previousPositions=t.size>0?t:void 0}if(c.computeLayout(u,d,this.config,t),this.config.__previousPositions=void 0,c.hierarchical&&u.length>0){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const t of u)this.nodes.set(t.id,t);for(let t=0;d.length>t;t++){const e=d[t],n=e._edgeKey||`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}\0${t}`;e._edgeKey=n,this.edges.set(n,e)}const t=this._boundedPrevSnapshot;if(t&&t.size>0)for(const e of this.nodes.values()){const n=t.get(e.id);n&&(e._prevX0=n.x0,e._prevX1=n.x1,e._prevY0=n.y0,e._prevY1=n.y1)}this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null,u=Array.from(this.nodes.values())}this.finalizeLayout();const h=new Map;for(const t of this.nodes.values())0===t.x&&0===t.y||h.set(t.id,{x:t.x,y:t.y});this._lastPositionSnapshot=h,this.saveTargetPositions();const f=u.some(t=>void 0!==t._prevX0&&(0!==t._prevX0||0!==t._prevX1||0!==t._prevY0||0!==t._prevY1)),g=null!==(a=null===(l=this.config.transition)||void 0===l?void 0:l.duration)&&void 0!==a?a:this.tensionConfig.transitionDuration;if(!this._hasRenderedOnce&&this.config.introAnimation&&["sankey","tree","treemap","circlepack","partition"].includes(this.config.chartType)&&u.length>0&&g>0){const e=t[0]/2,n=t[1]/2;for(const t of this.nodes.values())t._prevX0=e,t._prevX1=e,t._prevY0=n,t._prevY1=n;for(const t of this.edges.values())t._prevY0=n,t._prevY1=n,t._prevSankeyWidth=0,t._introFromZero=!0;this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:g}}else f&&g>0&&(this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:g});this._hasRenderedOnce=!0,this.recordTopologyDiff(),this.layoutVersion++}recordTopologyDiff(){const t=new Set(this.nodes.keys()),e=new Set(this.edges.keys());this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set;for(const e of t)this.previousNodeIds.has(e)||this.addedNodes.add(e);for(const e of this.previousNodeIds)t.has(e)||this.removedNodes.add(e);for(const t of e)this.previousEdgeKeys.has(t)||this.addedEdges.add(t);for(const t of this.previousEdgeKeys)e.has(t)||this.removedEdges.add(t);(this.addedNodes.size>0||this.removedNodes.size>0||this.addedEdges.size>0||this.removedEdges.size>0)&&(this.lastTopologyChangeTime="undefined"!=typeof performance?performance.now():Date.now()),this.previousNodeIds=t,this.previousEdgeKeys=e}buildScene(t){var e,n,i,o,r,s;const l=Array.from(this.nodes.values()),a=Array.from(this.edges.values());if(this.config.customNetworkLayout){const c=function(t,e,n){if(Array.isArray(t)&&t.length>0)return t;if("string"==typeof t){const e=ct[t];if(Array.isArray(e)&&e.length>0)return e}return e&&e.length>0?e:n}(this.config.colorScheme,this.config.themeCategorical,K),u={nodes:l,edges:a,dimensions:{width:t[0],height:t[1],plot:{x:0,y:0,width:t[0],height:t[1]}},theme:{semantic:null!==(e=this.config.themeSemantic)&&void 0!==e?e:{},categorical:[...c]},resolveColor:Uo(c),config:null!==(n=this.config.layoutConfig)&&void 0!==n?n:{}};let d;try{d=this.config.customNetworkLayout(u)}catch(t){return"production"!==process.env.NODE_ENV&&console.error("[semiotic] customNetworkLayout threw:",t),this.sceneNodes=[],this.sceneEdges=[],this.labels=[],void(this.customLayoutOverlays=null)}return this.sceneNodes=null!==(i=d.sceneNodes)&&void 0!==i?i:[],this.sceneEdges=null!==(o=d.sceneEdges)&&void 0!==o?o:[],this.labels=null!==(r=d.labels)&&void 0!==r?r:[],void(this.customLayoutOverlays=null!==(s=d.overlays)&&void 0!==s?s:null)}this.customLayoutOverlays=null;const c=qo(this.config.chartType);if(!c)return;const{sceneNodes:u,sceneEdges:d,labels:h}=c.buildScene(l,a,this.config,t);this.sceneNodes=u,this.sceneEdges=d,this.labels=h}get isAnimating(){const t=qo(this.config.chartType);return!!(null==t?void 0:t.supportsAnimation)&&!1!==this.config.orbitAnimated}tickAnimation(t,e){const n=qo(this.config.chartType);if(!(null==n?void 0:n.tick))return!1;const i=Array.from(this.nodes.values()),o=Array.from(this.edges.values());return n.tick(i,o,this.config,t,e)}cancelIntroAnimation(){this.transition=null;for(const t of this.nodes.values())t._prevX0=void 0,t._prevX1=void 0,t._prevY0=void 0,t._prevY1=void 0;for(const t of this.edges.values())t._prevY0=void 0,t._prevY1=void 0,t._prevSankeyWidth=void 0,t._introFromZero=!1}advanceTransition(t){if(!this.transition)return!1;const e=yt(t,this.transition),n=gt(e);for(const t of this.nodes.values())void 0===t._targetX0||void 0===t._prevX0||0===t._prevX0&&0===t._prevX1||(t.x0=pt(t._prevX0,t._targetX0,n),t.x1=pt(t._prevX1,t._targetX1,n),t.y0=pt(t._prevY0,t._targetY0,n),t.y1=pt(t._prevY1,t._targetY1,n));for(const t of this.edges.values())void 0!==t._targetY0&&void 0!==t._prevY0&&void 0!==t._prevSankeyWidth&&(t._prevSankeyWidth>0||t._introFromZero)&&(t.y0=pt(t._prevY0,t._targetY0,n),t.y1=pt(t._prevY1,t._targetY1,n),t.sankeyWidth=pt(t._prevSankeyWidth,t._targetSankeyWidth,n));return this.rebuildAllBeziers(),1>e||(this.snapToTargets(),this.transition=null,!1)}prepareForRelayout(){const t=this._boundedPrevSnapshot;for(const e of this.nodes.values()){const n=null==t?void 0:t.get(e.id);n&&0===e.x0&&0===e.x1&&0===e.y0&&0===e.y1?(e._prevX0=n.x0,e._prevX1=n.x1,e._prevY0=n.y0,e._prevY1=n.y1):(e._prevX0=e.x0,e._prevX1=e.x1,e._prevY0=e.y0,e._prevY1=e.y1)}const e=this._boundedEdgeSnapshot;for(const t of this.edges.values()){if(e&&0===t.sankeyWidth){const n=e.get(`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}`);if(n){t._prevY0=n.y0,t._prevY1=n.y1,t._prevSankeyWidth=n.sankeyWidth;continue}}t._prevY0=t.y0,t._prevY1=t.y1,t._prevSankeyWidth=t.sankeyWidth}this.nodes.size>0&&(this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null)}finalizeLayout(){const t="vertical"===this.config.orientation?"down":"right";for(const t of this.nodes.values())if(0!==t.x0||0!==t.x1||0!==t.y0||0!==t.y1)t.width=t.x1-t.x0,t.height=t.y1-t.y0,t.x=t.x0+t.width/2,t.y=t.y0+t.height/2;else{const e=5;t.x0=t.x-e,t.x1=t.x+e,t.y0=t.y-e,t.y1=t.y+e,t.width=2*e,t.height=2*e}for(const e of this.edges.values())e.direction=t,this.updateEdgeBezier(e);this.tension=0}saveTargetPositions(){for(const t of this.nodes.values())t._targetX0=t.x0,t._targetX1=t.x1,t._targetY0=t.y0,t._targetY1=t.y1;for(const t of this.edges.values())t._targetY0=t.y0,t._targetY1=t.y1,t._targetSankeyWidth=t.sankeyWidth}restorePreviousPositions(){for(const t of this.nodes.values())void 0===t._prevX0||0===t._prevX0&&0===t._prevX1||(t.x0=t._prevX0,t.x1=t._prevX1,t.y0=t._prevY0,t.y1=t._prevY1);for(const t of this.edges.values())void 0!==t._prevY0&&void 0!==t._prevSankeyWidth&&t._prevSankeyWidth>0&&(t.y0=t._prevY0,t.y1=t._prevY1,t.sankeyWidth=t._prevSankeyWidth);this.rebuildAllBeziers()}snapToTargets(){for(const t of this.nodes.values())void 0!==t._targetX0&&(t.x0=t._targetX0,t.x1=t._targetX1,t.y0=t._targetY0,t.y1=t._targetY1);for(const t of this.edges.values())void 0!==t._targetY0&&(t.y0=t._targetY0,t.y1=t._targetY1,t.sankeyWidth=t._targetSankeyWidth),t._introFromZero=void 0;this.rebuildAllBeziers()}updateEdgeBezier(t){const e="string"==typeof t.source?this.nodes.get(t.source):t.source,n="string"==typeof t.target?this.nodes.get(t.target):t.target;e&&n&&(t.bezier=t.circular&&t.circularPathData?this.buildCircularBezier(t):this.buildStandardBezier(t,e,n))}buildStandardBezier(t,e,n){const i=(t.sankeyWidth||1)/2;if("down"===t.direction){const o=e.x1,r=n.x0,s=u.interpolateNumber(o,r);return{circular:!1,points:[{x:t.y0,y:o},{x:t.y0,y:s(.5)},{x:t.y1,y:s(.5)},{x:t.y1,y:r}],halfWidth:i}}const o=e.x1,r=n.x0,s=u.interpolateNumber(o,r);return{circular:!1,points:[{x:o,y:t.y0},{x:s(.5),y:t.y0},{x:s(.5),y:t.y1},{x:r,y:t.y1}],halfWidth:i}}buildCircularBezier(t){const e=(t._circularWidth||t.sankeyWidth||1)/2,n=t.circularPathData;if(!n)throw Error("buildCircularBezier requires circularPathData");if(t._circularStub){const t=Math.max(15,Math.min(40,.33*(n.rightFullExtent-n.sourceX))),i=Math.max(15,Math.min(40,.33*(n.targetX-n.leftFullExtent)));return{circular:!0,segments:[[{x:n.sourceX,y:n.sourceY},{x:n.sourceX+.33*t,y:n.sourceY},{x:n.sourceX+.66*t,y:n.sourceY},{x:n.sourceX+t,y:n.sourceY}],[{x:n.targetX-i,y:n.targetY},{x:n.targetX-.66*i,y:n.targetY},{x:n.targetX-.33*i,y:n.targetY},{x:n.targetX,y:n.targetY}]],halfWidth:e}}let i;i="down"===t.direction?[{x:n.sourceY,y:n.sourceX},{x:n.sourceY,y:n.rightFullExtent},{x:n.verticalFullExtent,y:n.rightFullExtent},{x:n.verticalFullExtent,y:n.leftFullExtent},{x:n.targetY,y:n.leftFullExtent},{x:n.targetY,y:n.targetX}]:[{x:n.sourceX,y:n.sourceY},{x:n.rightFullExtent,y:n.sourceY},{x:n.rightFullExtent,y:n.verticalFullExtent},{x:n.leftFullExtent,y:n.verticalFullExtent},{x:n.leftFullExtent,y:n.targetY},{x:n.targetX,y:n.targetY}];const o=[];for(let t=0;i.length-1>t;t++){const e=i[t],n=i[t+1],r=n.x-e.x,s=n.y-e.y;o.push([e,{x:e.x+r/3,y:e.y+s/3},{x:e.x+2*r/3,y:e.y+2*s/3},n])}return{circular:!0,segments:o,halfWidth:e}}rebuildAllBeziers(){for(const t of this.nodes.values())t.width=t.x1-t.x0,t.height=t.y1-t.y0,t.x=t.x0+t.width/2,t.y=t.y0+t.height/2;for(const t of this.edges.values())this.updateEdgeBezier(t)}applyPulse(t){var e,n,i,o,r;const s=this.config.pulse;if(!s)return;const l=null!==(e=s.duration)&&void 0!==e?e:500,a=null!==(n=s.color)&&void 0!==n?n:"rgba(255,255,255,0.6)",c=null!==(i=s.glowRadius)&&void 0!==i?i:4;for(const e of this.sceneNodes){const n=e.id;if(!n)continue;const i=this.nodeTimestamps.get(n);if(!i)continue;const o=t-i;l>o&&(e._pulseIntensity=1-o/l,e._pulseColor=a,e._pulseGlowRadius=c)}for(const e of this.sceneEdges){const n=e.datum;if(!n)continue;const i="object"==typeof n.source?null===(o=n.source)||void 0===o?void 0:o.id:n.source,s="object"==typeof n.target?null===(r=n.target)||void 0===r?void 0:r.id:n.target;if(!i||!s)continue;const c=this.edgeTimestamps.get(`${i}\0${s}`);if(!c)continue;const u=t-c;l>u&&(e._pulseIntensity=1-u/l,e._pulseColor=a)}}applyDecay(){var t,e;const n=this.config.decay;if(!n)return;const i=this.nodeTimestamps.size;if(1>=i)return;this._decaySortedNodes||(this._decaySortedNodes=Array.from(this.nodeTimestamps.entries()).sort((t,e)=>t[1]-e[1]));const o=this._decaySortedNodes,r=new Map;for(let t=0;o.length>t;t++)r.set(o[t][0],t);for(const o of this.sceneNodes){const s=o.id;if(!s)continue;const l=r.get(s);if(void 0===l)continue;const a=ht(n,l,i),c=null!==(e=null===(t=o.style)||void 0===t?void 0:t.opacity)&&void 0!==e?e:1;o.style=Object.assign(Object.assign({},o.style),{opacity:c*a})}}applyTopologyDiff(t){var e;if(0===this.addedNodes.size)return;const n=t-this.lastTopologyChangeTime;if(n>=2e3)return;const i=1-n/2e3;for(const t of this.sceneNodes){const n=t.id;n&&this.addedNodes.has(n)&&(t._pulseIntensity=Math.max(null!==(e=t._pulseIntensity)&&void 0!==e?e:0,i),t._pulseColor="rgba(34, 197, 94, 0.7)",t._pulseGlowRadius=8)}}get hasActiveTopologyDiff(){return 0!==this.addedNodes.size&&2e3>("undefined"!=typeof performance?performance.now():Date.now())-this.lastTopologyChangeTime}applyThresholds(t){var e,n;const i=this.config.thresholds;if(!i)return;const o=null!==(e=i.warningColor)&&void 0!==e?e:"#f59e0b",r=null!==(n=i.criticalColor)&&void 0!==n?n:"#ef4444",s=!1!==i.pulse;for(const e of this.sceneNodes){const n=e.id;if(!n)continue;const l=this.nodes.get(n);if(!l)continue;const a=i.metric(l);let c=null;void 0===i.critical||i.critical>a?void 0===i.warning||i.warning>a||(c=o):c=r,c&&(e.style=Object.assign(Object.assign({},e.style),{fill:c}),s&&(e._pulseIntensity=.6+.4*Math.sin(t/300),e._pulseColor=c,e._pulseGlowRadius=6))}}get hasActiveThresholds(){const t=this.config.thresholds;if(!t)return!1;for(const e of this.nodes.values()){const n=t.metric(e);if(void 0!==t.warning&&n>=t.warning||void 0!==t.critical&&n>=t.critical)return!0}return!1}get hasActivePulses(){var t;const e=this.config.pulse;if(!e||0===this.lastIngestTime)return!1;const n="undefined"!=typeof performance?performance.now():Date.now();return(null!==(t=e.duration)&&void 0!==t?t:500)>n-this.lastIngestTime}getLayoutData(){return{nodes:Array.from(this.nodes.values()),edges:Array.from(this.edges.values())}}updateNode(t,e){var n;const i=this.nodes.get(t);if(!i)return null;const o=i.data?Object.assign({},i.data):{};return i.data=e(null!==(n=i.data)&&void 0!==n?n:{}),this.layoutVersion++,o}updateEdge(t,e,n){var i;const o=this.config.valueAccessor,r="function"==typeof o?o:o?t=>t[o]:t=>t.value,s=[];for(const[,o]of this.edges)if(("string"==typeof o.source?o.source:o.source.id)===t&&("string"==typeof o.target?o.target:o.target.id)===e){s.push(o.data?Object.assign({},o.data):{}),o.data=n(null!==(i=o.data)&&void 0!==i?i:{});const t=r(o.data);null!=t&&(o.value=Number(t))}return s.length>0&&this.layoutVersion++,s}removeNode(t){if(!this.nodes.has(t))return!1;this.nodes.delete(t),this.nodeTimestamps.delete(t);for(const[e,n]of this.edges)("string"==typeof n.source?n.source:n.source.id)!==t&&("string"==typeof n.target?n.target:n.target.id)!==t||(this.edges.delete(e),this.edgeTimestamps.delete(e));return this.layoutVersion++,!0}removeEdge(t,e){const n=[];if(void 0===e){const e=this.config.edgeIdAccessor;if(!e)throw Error("removeEdge(edgeId) requires edgeIdAccessor to be configured. Use removeEdge(sourceId, targetId) instead.");const i="function"==typeof e?e:t=>null==t?void 0:t[e];for(const[e,o]of this.edges)o.data&&i(o.data)===t&&n.push(e)}else for(const[i,o]of this.edges)("string"==typeof o.source?o.source:o.source.id)===t&&("string"==typeof o.target?o.target:o.target.id)===e&&n.push(i);for(const t of n)this.edges.delete(t),this.edgeTimestamps.delete(t);return n.length>0&&this.layoutVersion++,n.length>0}clear(){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.transition=null,this._hasRenderedOnce=!1,this.lastIngestTime=0,this._lastPositionSnapshot=null,this.nodeTimestamps.clear(),this.edgeTimestamps.clear(),this.particlePool&&this.particlePool.clear()}}function Zo(t){return{id:t,x0:0,x1:0,y0:0,y1:0,x:0,y:0,width:0,height:0,value:0,createdByFrame:!0}}function Qo(t){if(!t||"object"!=typeof t)return!1;const e=t;if("boolean"!=typeof e.circular)return!1;if("number"!=typeof e.halfWidth||!Number.isFinite(e.halfWidth))return!1;if(e.circular){if(!Array.isArray(e.segments)||0===e.segments.length)return!1;for(const t of e.segments)if(!Jo(t))return!1;return!0}return Jo(e.points)}function Jo(t){if(!Array.isArray(t)||4!==t.length)return!1;for(const e of t){if(!e||"object"!=typeof e)return!1;const t=e;if("number"!=typeof t.x||!Number.isFinite(t.x))return!1;if("number"!=typeof t.y||!Number.isFinite(t.y))return!1}return!0}function tr(t,e,n,i,o=30){let r=null,s=o,l=1/0;for(const e of t){const t=er(e,n,i,o);if(t)if("rect"===e.type){const n=e.w*e.h;l>n&&(r=t,l=n)}else s>t.distance&&(r=t,s=t.distance)}if(r)return r;for(const t of e){if(!1===t.interactive)continue;const e=sr(t,n,i);e&&s>e.distance&&(r=e,s=e.distance)}return r}function er(t,e,n,i=30){switch(t.type){case"circle":return function(t,e,n,i=30){const o=e-t.cx,r=n-t.cy,s=Math.sqrt(o*o+r*r);return s>Dt(t.r,i)?null:{type:"node",datum:t.datum,x:t.cx,y:t.cy,distance:s}}(t,e,n,i);case"rect":return function(t,e,n){const i=Lt(e,n,t);return i.hit?{type:"node",datum:t.datum,x:i.cx,y:i.cy,distance:0}:null}(t,e,n);case"arc":return function(t,e,n){const i=e-t.cx,o=n-t.cy,r=Math.sqrt(i*i+o*o);if(t.innerR-2>r||r>t.outerR+2)return null;const s=It(Math.atan2(o,i)),l=It(t.startAngle),a=It(t.endAngle);if(l>a?s>=l||a>=s:s>=l&&a>=s){const e=(t.startAngle+t.endAngle)/2,n=(t.innerR+t.outerR)/2;return{type:"node",datum:t.datum,x:t.cx+n*Math.cos(e),y:t.cy+n*Math.sin(e),distance:0}}return null}(t,e,n);default:return null}}let nr=null,ir=null;function or(){return ir||(nr=document.createElement("canvas"),nr.width=1,nr.height=1,ir=nr.getContext("2d")),ir}function rr(t){if(t._cachedPath2D&&t._cachedPath2DSource===t.pathD)return t._cachedPath2D;try{return t._cachedPath2D=new Path2D(t.pathD),t._cachedPath2DSource=t.pathD,t._cachedPath2D}catch(t){return null}}function sr(t,e,n){switch(t.type){case"bezier":return function(t,e,n){if(!t.pathD)return null;const i=rr(t),o=or();if(!i||!o)return null;try{if(o.isPointInPath(i,e,n))return{type:"edge",datum:t.datum,x:e,y:n,distance:0};const r=o.lineWidth;o.lineWidth=10;const s=o.isPointInStroke(i,e,n);if(o.lineWidth=r,s)return{type:"edge",datum:t.datum,x:e,y:n,distance:4}}catch(t){}return null}(t,e,n);case"line":return function(t,e,n){const i=t.x2-t.x1,o=t.y2-t.y1,r=i*i+o*o;if(0===r)return null;let s=((e-t.x1)*i+(n-t.y1)*o)/r;s=Math.max(0,Math.min(1,s));const l=t.x1+s*i,a=t.y1+s*o,c=Math.sqrt(Math.pow(e-l,2)+Math.pow(n-a,2));return c>5?null:{type:"edge",datum:t.datum,x:l,y:a,distance:c}}(t,e,n);case"ribbon":case"curved":return function(t,e,n){if(!t.pathD)return null;const i=rr(t),o=or();if(!i||!o)return null;try{if(o.isPointInPath(i,e,n))return{type:"edge",datum:t.datum,x:e,y:n,distance:0};const r=o.lineWidth;o.lineWidth=10;const s=o.isPointInStroke(i,e,n);if(o.lineWidth=r,s)return{type:"edge",datum:t.datum,x:e,y:n,distance:4}}catch(t){}return null}(t,e,n);default:return null}}function lr(e){const{width:n,height:i,totalWidth:o,totalHeight:r,margin:s,labels:l,title:a,legend:c,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:f,legendPosition:g="right",legendLayout:p,foregroundGraphics:v,sceneNodes:m,annotations:x,svgAnnotationRules:b}=e;return t.jsxs(t.Fragment,{children:[t.jsxs("svg",{role:"img",width:o,height:r,style:{position:"absolute",top:0,left:0,pointerEvents:"none"},children:[t.jsx("title",{children:"string"==typeof a?a:"Network Chart"}),t.jsx("desc",{children:"string"==typeof a?a+" — network data visualization":"Network data visualization"}),t.jsxs("g",{transform:`translate(${s.left},${s.top})`,children:[l.map((e,n)=>t.jsx("text",{x:e.x,y:e.y,textAnchor:e.anchor||"start",dominantBaseline:e.baseline||"middle",fontSize:e.fontSize||11,fontWeight:e.fontWeight,fill:e.fill||"currentColor",stroke:e.stroke,strokeWidth:e.strokeWidth,paintOrder:e.paintOrder,style:{pointerEvents:"none"},children:e.text},"label-"+n)),x&&x.filter(t=>"widget"!==t.type).map((e,o)=>{if(b){const r=b(e,o,{width:n,height:i,sceneNodes:m});if(r)return t.jsx(y.Fragment,{children:r},"annotation-"+o)}return null}),v]}),a&&"string"==typeof a?t.jsx("text",{x:o/2,y:16,textAnchor:"middle",fontWeight:600,fill:"currentColor",className:"semiotic-chart-title",style:{fontSize:"var(--semiotic-title-font-size, 14px)"},children:a}):a?t.jsx("foreignObject",{x:0,y:0,width:o,height:s.top,children:a}):null,Se({legend:c,totalWidth:o,totalHeight:r,margin:s,legendPosition:g,title:a,legendLayout:p,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:f})]}),null==x?void 0:x.filter(t=>"widget"===t.type&&t.nodeId&&m).map((e,n)=>{var i,o,r,l,a,c,u,d,h;const f=m.find(t=>{var n,i,o,r,s;return t.id===e.nodeId||(null===(n=t.datum)||void 0===n?void 0:n.id)===e.nodeId||(null===(o=null===(i=t.datum)||void 0===i?void 0:i.data)||void 0===o?void 0:o.id)===e.nodeId||(null===(s=null===(r=t.datum)||void 0===r?void 0:r.data)||void 0===s?void 0:s.name)===e.nodeId});if(!f)return null;const g=s.left+(null!==(i=f.cx)&&void 0!==i?i:null!=f.x&&null!=f.w?f.x+f.w/2:null!==(o=f.x)&&void 0!==o?o:0),y=s.top+(null!==(r=f.cy)&&void 0!==r?r:null!=f.y&&null!=f.h?f.y+f.h/2:null!==(l=f.y)&&void 0!==l?l:0),p=null!==(a=e.dx)&&void 0!==a?a:0,v=null!==(c=e.dy)&&void 0!==c?c:-16,x=null!==(u=e.width)&&void 0!==u?u:32,b=null!==(d=e.height)&&void 0!==d?d:32,k=null!==(h=e.content)&&void 0!==h?h:t.jsx("span",{style:{fontSize:18,cursor:"default"},children:"ℹ️"});return t.jsx("div",{style:{position:"absolute",left:g+p-x/2,top:y+v-b/2,width:x,height:b,display:"flex",alignItems:"center",justifyContent:"center",pointerEvents:"auto",zIndex:5},children:k},"widget-"+n)})]})}function ar(t){return t._cachedPath2D&&t._cachedPath2DSource===t.pathD||(t._cachedPath2D=new Path2D(t.pathD),t._cachedPath2DSource=t.pathD),t._cachedPath2D}function cr(t,e){var n,i,o,r,s,l;if(!e.pathD)return;t.save();const a=ar(e);if(e.style.fill&&"none"!==e.style.fill){const s=e._gradient;if(s){const o=t.createLinearGradient(s.x0,0,s.x1,0),r=null!==(i=null!==(n=e.style.fillOpacity)&&void 0!==n?n:e.style.opacity)&&void 0!==i?i:.5,l="string"==typeof e.style.fill?e.style.fill:"#999",a=Xt(t,l)||l;o.addColorStop(0,1===s.from?a:"transparent"),o.addColorStop(1,1===s.to?a:"transparent"),t.fillStyle=o,t.globalAlpha=r}else t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,t.globalAlpha=null!==(r=null!==(o=e.style.fillOpacity)&&void 0!==o?o:e.style.opacity)&&void 0!==r?r:.5;t.fill(a)}e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(s=e.style.strokeWidth)&&void 0!==s?s:.5,t.globalAlpha=.5*(null!==(l=e.style.opacity)&&void 0!==l?l:1),t.stroke(a)),e._pulseIntensity&&e._pulseIntensity>0&&(t.fillStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.globalAlpha=.2*e._pulseIntensity,t.fill(a)),t.restore()}function ur(t,e){var n,i;t.save();const o=e.style.stroke||"#999";t.strokeStyle=Xt(t,o)||o,t.lineWidth=null!==(n=e.style.strokeWidth)&&void 0!==n?n:1,void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),e.style.strokeDasharray&&t.setLineDash(e.style.strokeDasharray.split(/[\s,]+/).map(Number)),t.beginPath(),t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.stroke(),e._pulseIntensity&&e._pulseIntensity>0&&(t.setLineDash([]),t.strokeStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.lineWidth=(null!==(i=e.style.strokeWidth)&&void 0!==i?i:1)+3*e._pulseIntensity,t.globalAlpha=.4*e._pulseIntensity,t.beginPath(),t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.stroke()),t.restore()}function dr(t,e){var n,i,o,r;if(!e.pathD)return;t.save();const s=ar(e);e.style.fill&&"none"!==e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,t.globalAlpha=null!==(i=null!==(n=e.style.fillOpacity)&&void 0!==n?n:e.style.opacity)&&void 0!==i?i:.5,t.fill(s)),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(o=e.style.strokeWidth)&&void 0!==o?o:.5,t.globalAlpha=.3*(null!==(r=e.style.opacity)&&void 0!==r?r:1),t.stroke(s)),e._pulseIntensity&&e._pulseIntensity>0&&(t.fillStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.globalAlpha=.25*e._pulseIntensity,t.fill(s)),t.restore()}function hr(t,e){var n,i;if(!e.pathD)return;t.save();const o=ar(e),r=e.style.stroke||"#999";t.strokeStyle=Xt(t,r)||r,t.lineWidth=null!==(n=e.style.strokeWidth)&&void 0!==n?n:1,void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),t.stroke(o),e.style.fill&&"none"!==e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,t.globalAlpha=null!==(i=e.style.fillOpacity)&&void 0!==i?i:.1,t.fill(o)),t.restore()}lr.displayName="NetworkSVGOverlay";const fr={top:20,right:80,bottom:20,left:80},gr={top:40,right:40,bottom:40,left:40},yr=new Set(["chord","force","circlepack","orbit"]),pr=[800,600],vr={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"6px 10px",borderRadius:4,fontSize:12,lineHeight:1.5,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",whiteSpace:"nowrap"};function mr({data:e}){var n,i,o,r,s,l;if("edge"===e.nodeOrEdge){const n=e.data;return n?t.jsxs("div",{className:"semiotic-tooltip",style:vr,children:[t.jsxs("div",{style:{fontWeight:600},children:["object"==typeof n.source?n.source.id:n.source," → ","object"==typeof n.target?n.target.id:n.target]}),null!=n.value&&t.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Value:"," ","number"==typeof n.value?n.value.toLocaleString():n.value+""]})]}):null}const a=e.data;if(!a)return null;const c=a.__hierarchyNode;if(c){const e=[];let s=c;for(;s;){const t=null!==(r=null!==(i=null===(n=s.data)||void 0===n?void 0:n.name)&&void 0!==i?i:null===(o=s.data)||void 0===o?void 0:o.id)&&void 0!==r?r:a.id;null!=t&&e.unshift(t+""),s=s.parent}e.length>1&&e.shift();const l=e.length-1;return t.jsxs("div",{className:"semiotic-tooltip",style:vr,children:[t.jsx("div",{children:e.map((e,n)=>t.jsxs("span",{children:[n>0&&t.jsx("span",{style:{margin:"0 3px",opacity:.5},children:" → "}),n===l?t.jsx("strong",{children:e}):t.jsx("span",{style:{opacity:.7},children:e})]},n))}),null!=a.value&&a.value>0&&t.jsx("div",{style:{marginTop:4,opacity:.8},children:"number"==typeof a.value?a.value.toLocaleString():a.value+""})]})}const u=((null===(s=a.sourceLinks)||void 0===s?void 0:s.length)||0)+((null===(l=a.targetLinks)||void 0===l?void 0:l.length)||0),d=(a.sourceLinks||[]).reduce((t,e)=>t+(e.value||0),0)+(a.targetLinks||[]).reduce((t,e)=>t+(e.value||0),0);return t.jsxs("div",{className:"semiotic-tooltip",style:vr,children:[t.jsx("div",{style:{fontWeight:600},children:a.id}),null!=a.value&&a.value>0&&t.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Total:"," ","number"==typeof a.value?a.value.toLocaleString():a.value+""]}),u>0&&t.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Connections: ",u,d!==u&&` (weighted: ${d.toLocaleString()})`]})]})}mr.ownsChrome=!0;const xr=e.forwardRef(function(n,i){var o,r,l,a,c,u,d,h,f,g,y,p,v,m,x,b,w,A;const{chartType:S,nodes:j,edges:_,data:P,initialEdges:C,nodeIDAccessor:E="id",sourceAccessor:O="source",targetAccessor:T="target",valueAccessor:L="value",edgeIdAccessor:D,childrenAccessor:N,hierarchySum:R,orientation:I="horizontal",nodeAlign:$="justify",nodePaddingRatio:W=.05,nodeWidth:z=15,iterations:F=300,forceStrength:Y=.1,padAngle:B=.01,groupWidth:H=20,sortGroups:X,edgeSort:G,treeOrientation:V="vertical",edgeType:q="curve",padding:U,paddingTop:K,tensionConfig:Z,showParticles:Q=!1,particleStyle:J,nodeStyle:tt,edgeStyle:et,colorBy:nt,colorScheme:it="category10",edgeColorBy:ot="source",edgeOpacity:rt=.5,colorByDepth:st=!1,nodeSize:lt=8,nodeSizeRange:at=[5,20],nodeLabel:ct,showLabels:dt=!0,labelMode:ht,size:ft=pr,responsiveWidth:gt,responsiveHeight:yt,margin:pt,className:vt,background:mt,enableHover:xt=!0,tooltipContent:bt,customHoverBehavior:kt,customClickBehavior:wt,onObservation:At,chartId:St,onTopologyChange:Mt,annotations:jt,svgAnnotationRules:_t,legend:Pt,legendPosition:Ct,legendLayout:Et,legendHoverBehavior:Ot,legendClickBehavior:Lt,legendHighlightedCategory:Dt,legendIsolatedCategories:Nt,title:Rt,foregroundGraphics:It,backgroundGraphics:$t,decay:Wt,pulse:zt,transition:Ft,animate:Yt,staleness:Bt,thresholds:Ht,accessibleTable:Gt=!0,description:Vt,summary:qt,orbitMode:Ut,orbitSize:Kt,orbitSpeed:Zt,orbitRevolution:Qt,orbitRevolutionStyle:Jt,orbitEccentricity:te,orbitShowRings:ee,orbitAnimated:ne,customNetworkLayout:ie,layoutConfig:oe}=n,re=yr.has(S)?gr:fr,se=e.useRef(!0),le=Zn({sizeProp:ft,responsiveWidth:gt,responsiveHeight:yt,userMargin:pt,marginDefault:re,foregroundGraphics:It,backgroundGraphics:$t,animate:Yt,transitionProp:Ft,themeDirtyRef:se}),{reducedMotionRef:de,responsiveRef:fe,size:ye,margin:pe,adjustedWidth:ve,adjustedHeight:me,resolvedForeground:xe,resolvedBackground:be,transition:ke,introEnabled:we,tableId:Ae,rafRef:Se,renderFnRef:Me,scheduleRender:je,currentTheme:_e}=le,Pe=dn(),Ce=yn(),Ee=e.useMemo(()=>k(j),[j]),Oe=e.useMemo(()=>Array.isArray(_)?k(_):_,[_]),Te=e.useMemo(()=>Object.assign(Object.assign({},Pi),Z),[Z]),Le=e.useMemo(()=>Object.assign(Object.assign({},Ci),J),[J]),De=e.useMemo(()=>{var t;return{chartType:S,nodeIDAccessor:E,sourceAccessor:O,targetAccessor:T,valueAccessor:L,edgeIdAccessor:D,childrenAccessor:N,hierarchySum:R,orientation:I,nodeAlign:$,nodePaddingRatio:W,nodeWidth:z,iterations:F,forceStrength:Y,padAngle:B,groupWidth:H,sortGroups:X,edgeSort:G,treeOrientation:V,edgeType:q,padding:U,paddingTop:K,tensionConfig:Te,showParticles:Q,particleStyle:Le,nodeStyle:tt,edgeStyle:et,nodeLabel:ct,showLabels:dt,labelMode:ht,colorBy:nt,colorScheme:it,themeCategorical:null===(t=null==_e?void 0:_e.colors)||void 0===t?void 0:t.categorical,themeSemantic:M(_e),edgeColorBy:ot,edgeOpacity:rt,colorByDepth:st,nodeSize:lt,nodeSizeRange:at,decay:Wt,pulse:zt,transition:ke,introAnimation:we,staleness:Bt,thresholds:Ht,orbitMode:Ut,orbitSize:Kt,orbitSpeed:Zt,orbitRevolution:Qt,orbitRevolutionStyle:Jt,orbitEccentricity:te,orbitShowRings:ee,orbitAnimated:ne,customNetworkLayout:ie,layoutConfig:oe}},[S,E,O,T,L,N,R,I,$,W,z,F,Y,B,H,X,G,V,q,U,K,Te,Q,Le,tt,et,ct,dt,ht,nt,it,ot,rt,st,lt,at,Wt,zt,null==ke?void 0:ke.duration,null==ke?void 0:ke.easing,we,Bt,Ht,Ut,Kt,Zt,Qt,Jt,te,ee,ne,_e,ie,oe]),Ne=vn(De),Re=e.useRef(null),Ie=e.useRef(0),$e=e.useRef(0),We=e.useRef(!1),ze=e.useRef(null);ze.current||(ze.current=new Ko(Ne));const[Fe,Ye]=e.useState(null),[Be,He]=e.useState(0),[Xe,Ge]=e.useState(0),[Ve,qe]=e.useState(!1),[Ue,Ke]=e.useState(null),Ze=e.useRef(null),Qe=e.useRef(new Map),Je=e.useRef(0),tn=e.useCallback(t=>{if("function"==typeof nt)return nt(t)+"";if("string"==typeof nt&&t.data){const e=t.data[nt];if(void 0!==e){if(!Qe.current.has(e+"")){const t=Array.isArray(it)?it:ut;Qe.current.set(e+"",t[Je.current++%t.length])}return Qe.current.get(e+"")}}if(Qe.current.has(t.id))return Qe.current.get(t.id);const e=Array.isArray(it)?it:ut,n=nt?e[Je.current++%e.length]:e[0];return Qe.current.set(t.id,n),n},[nt,it]),en=(null===(o=null==_e?void 0:_e.colors)||void 0===o?void 0:o.border)||(null===(r=null==_e?void 0:_e.colors)||void 0===r?void 0:r.secondary)||(null===(l=null==_e?void 0:_e.colors)||void 0===l?void 0:l.primary)||"#999",nn=e.useCallback(t=>{var e,n;return t?"object"==typeof t?t:null!==(n=null===(e=ze.current)||void 0===e?void 0:e.nodes.get(t))&&void 0!==n?n:null:null},[]),on=e.useCallback(t=>{if("function"==typeof ot)return ot(t);const e=nn(t.source),n=nn(t.target);return"target"===ot&&n?tn(n):e?tn(e):en},[ot,tn,en,nn]),rn=e.useCallback(t=>{if("function"==typeof Le.color){const e=nn(t.source);return e?Le.color(t,e):en}if(!(null==J?void 0:J.colorBy))return on(t);const e=Le.colorBy,n=nn(t.source),i=nn(t.target);return"target"===e&&i?tn(i):n?tn(n):en},[null==J?void 0:J.colorBy,Le.color,Le.colorBy,tn,on,en,nn]),sn=("sankey"===S||!!ie)&&Q||!!zt||null!==(c=null===(a=ze.current)||void 0===a?void 0:a.isAnimating)&&void 0!==c&&c;e.useEffect(()=>{var t;null===(t=ze.current)||void 0===t||t.updateConfig(Ne),se.current=!0,je()},[Ne,je]);const un=e.useCallback(()=>{var t,e;Ke(null!==(e=null===(t=ze.current)||void 0===t?void 0:t.customLayoutOverlays)&&void 0!==e?e:null)},[]);e.useEffect(()=>{var t;const e=ze.current;if(e){e.buildScene([ve,me]),un();for(const n of e.sceneNodes)n.id&&"string"==typeof(null===(t=n.style)||void 0===t?void 0:t.fill)&&Qe.current.set(n.id,n.style.fill);se.current=!0,je()}},[_e,ve,me,je,un]);const hn=e.useCallback(()=>{var t;const e=ze.current;if(!e)return;e.runLayout([ve,me]),e.buildScene([ve,me]),un(),se.current=!0;for(const n of e.sceneNodes)n.id&&"string"==typeof(null===(t=n.style)||void 0===t?void 0:t.fill)&&Qe.current.set(n.id,n.style.fill);const n=Array.isArray(it)?it:ut,i=Array.from(e.nodes.values());for(let t=0;i.length>t;t++){const e=i[t];Qe.current.has(e.id)||Qe.current.set(e.id,n[t%n.length])}if(Je.current=i.length,He(e.layoutVersion),Mt){const{nodes:t,edges:n}=e.getLayoutData();Mt(t,n)}},[ve,me,Mt,it,un]),fn=e.useCallback(t=>{if(null==t||"object"!=typeof t)return;const e=ze.current;e&&(e.ingestEdge(t)&&hn(),je())},[hn,je]),gn=e.useCallback(t=>{const e=ze.current;if(!e)return;let n=!1;for(const i of t)null!=i&&"object"==typeof i&&e.ingestEdge(i)&&(n=!0);n&&hn(),je()},[hn,je]),mn=e.useCallback(()=>{var t;null===(t=ze.current)||void 0===t||t.clear(),Qe.current.clear(),Je.current=0,He(0),Ye(null),Ze.current=null,se.current=!0,je()},[je]),xn=e.useCallback(()=>{const t=ze.current;t&&(t.tension+=999,hn(),je())},[hn,je]);e.useImperativeHandle(i,()=>({push:fn,pushMany:gn,removeNode:t=>{var e,n,i;const o=null!==(n=null===(e=ze.current)||void 0===e?void 0:e.removeNode(t))&&void 0!==n&&n;if(o){const e=(null===(i=Ze.current)||void 0===i?void 0:i.data)?"function"==typeof E?E(Ze.current.data):Ze.current.data[E]:void 0;Ze.current&&"node"===Ze.current.nodeOrEdge&&e===t&&(Ze.current=null,Ye(null)),Qe.current.delete(t),hn(),se.current=!0,je()}return o},removeEdge:(t,e)=>{var n,i;const o=null!==(i=null===(n=ze.current)||void 0===n?void 0:n.removeEdge(t,e))&&void 0!==i&&i;if(o){if(Ze.current&&"edge"===Ze.current.nodeOrEdge){const n=Ze.current.data;let i;i=void 0!==e?("object"==typeof(null==n?void 0:n.source)?n.source.id:null==n?void 0:n.source)===t&&("object"==typeof(null==n?void 0:n.target)?n.target.id:null==n?void 0:n.target)===e:!D||!n||("function"==typeof D?D:t=>null==t?void 0:t[D])(n)===t,i&&(Ze.current=null,Ye(null))}hn(),se.current=!0,je()}return o},updateNode:(t,e)=>{var n,i;const o=null!==(i=null===(n=ze.current)||void 0===n?void 0:n.updateNode(t,e))&&void 0!==i?i:null;return o&&(se.current=!0,je()),o},updateEdge:(t,e,n)=>{var i,o;const r=null!==(o=null===(i=ze.current)||void 0===i?void 0:i.updateEdge(t,e,n))&&void 0!==o?o:[];return r.length>0&&(hn(),se.current=!0,je()),r},clear:mn,getTopology:()=>{var t,e;return null!==(e=null===(t=ze.current)||void 0===t?void 0:t.getLayoutData())&&void 0!==e?e:{nodes:[],edges:[]}},getTopologyDiff:()=>{const t=ze.current;return t?{addedNodes:Array.from(t.addedNodes),removedNodes:Array.from(t.removedNodes),addedEdges:Array.from(t.addedEdges),removedEdges:Array.from(t.removedEdges)}:{addedNodes:[],removedNodes:[],addedEdges:[],removedEdges:[]}},relayout:xn,getTension:()=>{var t,e;return null!==(e=null===(t=ze.current)||void 0===t?void 0:t.tension)&&void 0!==e?e:0}}),[fn,gn,mn,xn,hn,je]);const bn=["tree","cluster","treemap","circlepack","partition","orbit"].includes(S),kn=bn?P||(Array.isArray(_)?void 0:_):void 0;e.useEffect(()=>{var t;const e=ze.current;if(e)if(bn&&kn)e.ingestHierarchy(kn,[ve,me]),e.buildScene([ve,me]),un(),se.current=!0,je();else{const n=Ee,i=Array.isArray(Oe)?Oe:[];if(0===n.length&&0===i.length)return;e.ingestBounded(n,i,[ve,me]),e.buildScene([ve,me]),un();for(const n of e.sceneNodes)n.id&&(null===(t=n.style)||void 0===t?void 0:t.fill)&&Qe.current.set(n.id,n.style.fill+"");const o=Array.isArray(it)?it:ut,r=Array.from(e.nodes.values());for(let t=0;r.length>t;t++){const e=r[t];Qe.current.has(e.id)||Qe.current.set(e.id,o[t%o.length])}Je.current=r.length,se.current=!0,je()}},[Ee,Oe,P,kn,bn,ve,me,Ne,je,it,un]),e.useEffect(()=>{C&&C.length>0&&gn(C)},[]);const wn=e.useCallback(t=>{if(kt&&kt(t),At){const e=Date.now();At(t?{type:"hover",datum:t.data||{},x:t.x,y:t.y,timestamp:e,chartType:"StreamNetworkFrame",chartId:St}:{type:"hover-end",timestamp:e,chartType:"StreamNetworkFrame",chartId:St})}},[kt,At,St]),An=e.useCallback(t=>{if(wt&&wt(t),At){const e=Date.now();At(t?{type:"click",datum:t.data||{},x:t.x,y:t.y,timestamp:e,chartType:"StreamNetworkFrame",chartId:St}:{type:"click-end",timestamp:e,chartType:"StreamNetworkFrame",chartId:St})}},[wt,At,St]),{hoverHandlerRef:Sn,hoverLeaveRef:jn,onPointerMove:_n,onPointerLeave:Pn}=le;Sn.current=t=>{if(!xt)return;const e=Re.current;if(!e)return;const n=e.getBoundingClientRect(),i=t.clientX-n.left-pe.left,o=t.clientY-n.top-pe.top;if(0>i||i>ve||0>o||o>me)return void(Ze.current&&(Ze.current=null,Ye(null),wn&&(wn(null),se.current=!0),je()));const r=ze.current;if(!r)return;const s=tr(r.sceneNodes,r.sceneEdges,i,o);if(!s)return void(Ze.current&&(Ze.current=null,Ye(null),wn&&(wn(null),se.current=!0),je()));const l=Gn(s.datum||{},s.x,s.y,{nodeOrEdge:s.type});Ze.current=l,Ye(l),wn&&(wn(l),se.current=!0),je()},jn.current=()=>{Ze.current&&(Ze.current=null,Ye(null),wn&&(wn(null),se.current=!0),je())};const Cn=e.useRef(()=>{});Cn.current=t=>{if(!wt&&!At)return;const e=Re.current;if(!e)return;const n=e.getBoundingClientRect(),i=t.clientX-n.left-pe.left,o=t.clientY-n.top-pe.top;if(0>i||i>ve||0>o||o>me)return;const r=ze.current;if(!r)return;const s=tr(r.sceneNodes,r.sceneEdges,i,o);An(s?Gn(s.datum||{},s.x,s.y,{nodeOrEdge:s.type}):null)};const En=e.useCallback(t=>Cn.current(t),[]),On=e.useRef(-1),Tn=e.useRef(null),Ln=e.useRef(-1),Dn=e.useCallback(t=>{var e;const n=ze.current;if(!n)return;const i=function(t){var e,n,i,o,r,s;const l=[];for(const a of t)if("circle"===a.type&&null!=a.cx){if(0>=a.r)continue;l.push({x:a.cx,y:a.cy,datum:a.datum,shape:"circle",group:null!==(n=null===(e=a.datum)||void 0===e?void 0:e.id)&&void 0!==n?n:"_default"})}else if("rect"===a.type&&null!=a.x){if(0>=a.w||0>=a.h)continue;l.push({x:a.x+a.w/2,y:a.y+a.h/2,datum:a.datum,shape:"rect",w:a.w,h:a.h,group:null!==(o=null===(i=a.datum)||void 0===i?void 0:i.id)&&void 0!==o?o:"_default"})}else"arc"===a.type&&null!=a.cx&&l.push({x:a.cx,y:a.cy,datum:a.datum,shape:"circle",group:null!==(s=null===(r=a.datum)||void 0===r?void 0:r.id)&&void 0!==s?s:"_default"});return l.sort((t,e)=>t.x-e.x||t.y-e.y),l}(n.sceneNodes);if(0===i.length)return;const o=ae(i),r=On.current;if(0>r){if("Escape"===t.key)return;if(!["ArrowRight","ArrowLeft","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","Enter"].includes(t.key))return;t.preventDefault(),On.current=0,Ln.current=-1;const e=o.flat[0];Tn.current={shape:e.shape,w:e.w,h:e.h};const n=Gn(e.datum||{},e.x,e.y,{nodeOrEdge:"node"});return Ze.current=n,Ye(n),wn&&(wn(n),se.current=!0),void je()}const s=ce(o,r),l=function(t,e,n,i,o){var r,s,l;const a=n.flat[e.flatIndex];if(!a)return ue(t,e,n);const c=null===(r=a.datum)||void 0===r?void 0:r.id;switch(t){case"ArrowRight":case"ArrowLeft":case"ArrowDown":case"ArrowUp":{const i=null!==(s=function(t,e,n){let i=null,o=1/0;for(let r=0;t.flat.length>r;r++){const s=t.flat[r];if(s===e)continue;const l=s.x-e.x,a=s.y-e.y;let c=!1;switch(n){case"right":c=l>0&&Math.abs(l)>=Math.abs(a);break;case"left":c=0>l&&Math.abs(l)>=Math.abs(a);break;case"down":c=a>0&&Math.abs(a)>=Math.abs(l);break;case"up":c=0>a&&Math.abs(a)>=Math.abs(l)}if(!c)continue;const u=l*l+a*a;o>u&&(o=u,i=r)}return i}(n,a,"ArrowRight"===t?"right":"ArrowLeft"===t?"left":"ArrowDown"===t?"down":"up"))&&void 0!==s?s:e.flatIndex;return i!==e.flatIndex&&(o.current=-1),i}case"Enter":{if(null==c)return e.flatIndex;const t=function(t,e){var n;const i=t+"",o=[];for(const t of e){const e=null!==(n=t.datum)&&void 0!==n?n:t,r=he(e.source),s=he(e.target),l=null!=r,a=null!=s;l&&r+""===i&&a?o.push(s+""):a&&s+""===i&&l&&o.push(r+"")}return o}(c,i);if(0===t.length)return e.flatIndex;const r=null!==(l=n.idToIdx.get(t[(o.current+1)%t.length]))&&void 0!==l?l:-1;return 0>r?e.flatIndex:(o.current=-1,r)}default:{const i=ue(t,e,n);return null!==i&&i!==e.flatIndex&&(o.current=-1),i}}}(t.key,s,o,null!==(e=n.sceneEdges)&&void 0!==e?e:[],Ln);if(null===l)return;if(t.preventDefault(),0>l)return On.current=-1,Tn.current=null,Ln.current=-1,Ze.current=null,Ye(null),wn&&(wn(null),se.current=!0),void je();On.current=l;const a=o.flat[l];Tn.current={shape:a.shape,w:a.w,h:a.h};const c={data:a.datum||{},x:a.x,y:a.y,__semioticHoverData:!0,nodeOrEdge:"node"};Ze.current=c,Ye(c),wn&&(wn(c),se.current=!0),je()},[wn,je]),Nn=e.useCallback(t=>{On.current=-1,Tn.current=null,_n(t)},[_n]);Me.current=()=>{var t,e,n,i,o,r,s;Se.current=0;const l=Re.current;if(!l)return;const a=l.getContext("2d");if(!a)return;const c=ze.current;if(!c)return;const u=performance.now(),d=Ie.current?Math.min((u-Ie.current)/1e3,.1):.016;Ie.current=u;const h=c.advanceTransition(de.current?u+1e6:u),f=!de.current&&h,g=!de.current&&c.tickAnimation([ve,me],d);(h||se.current||g)&&c.buildScene([ve,me]);const y=Jn();if(!Qn(l,ye,pe,y))return;if(a.clearRect(-pe.left,-pe.top,ye[0],ye[1]),mt){const t=Xt(a,mt);t&&(a.fillStyle=t,a.fillRect(0,0,ve,me))}Wt&&c.applyDecay(),zt&&c.applyPulse(u),Ht&&c.applyThresholds(u),c.applyTopologyDiff(u);const p=null!==(t=null==Bt?void 0:Bt.threshold)&&void 0!==t?t:5e3,v=Bt&&c.lastIngestTime>0&&u-c.lastIngestTime>p;if(v&&(a.globalAlpha=null!==(e=null==Bt?void 0:Bt.dimOpacity)&&void 0!==e?e:.5),function(t,e){for(const n of e)switch(n.type){case"bezier":cr(t,n);break;case"line":ur(t,n);break;case"ribbon":dr(t,n);break;case"curved":hr(t,n)}}(a,c.sceneEdges),function(t,e){var n,i,o;for(const r of e){if("rect"!==r.type)continue;const e=r;e.w>0&&e.h>0&&(t.save(),void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,void 0!==e.style.fillOpacity&&(t.globalAlpha=(null!==(n=e.style.opacity)&&void 0!==n?n:1)*e.style.fillOpacity),t.fillRect(e.x,e.y,e.w,e.h)),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(i=e.style.strokeWidth)&&void 0!==i?i:1,t.globalAlpha=null!==(o=e.style.opacity)&&void 0!==o?o:1,t.strokeRect(e.x,e.y,e.w,e.h)),oi(t,e),t.restore())}}(a,c.sceneNodes),function(t,e){var n,i,o;for(const r of e){if("circle"!==r.type)continue;const e=r;e.r>0&&(t.save(),void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),t.beginPath(),t.arc(e.cx,e.cy,e.r,0,2*Math.PI),e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,void 0!==e.style.fillOpacity&&(t.globalAlpha=(null!==(n=e.style.opacity)&&void 0!==n?n:1)*e.style.fillOpacity),t.fill()),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(i=e.style.strokeWidth)&&void 0!==i?i:1,t.globalAlpha=null!==(o=e.style.opacity)&&void 0!==o?o:1,t.stroke()),ri(t,e),t.restore())}}(a,c.sceneNodes),function(t,e){var n,i,o;for(const r of e){if("arc"!==r.type)continue;const e=r;t.save(),void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),t.beginPath(),t.arc(e.cx,e.cy,e.outerR,e.startAngle,e.endAngle),t.arc(e.cx,e.cy,e.innerR,e.endAngle,e.startAngle,!0),t.closePath(),e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,void 0!==e.style.fillOpacity&&(t.globalAlpha=(null!==(n=e.style.opacity)&&void 0!==n?n:1)*e.style.fillOpacity),t.fill()),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(i=e.style.strokeWidth)&&void 0!==i?i:1,t.globalAlpha=null!==(o=e.style.opacity)&&void 0!==o?o:1,t.stroke()),t.restore()}}(a,c.sceneNodes),Q&&c.particlePool&&!v){const t=Array.from(c.edges.values());if(t.length>0){!function(t,e,n,i){var o,r;const s=null!==(o=i.spawnRate)&&void 0!==o?o:Ci.spawnRate,l=null!==(r=i.maxPerEdge)&&void 0!==r?r:Ci.maxPerEdge;for(let i=0;e.length>i;i++){const o=e[i];if(!o.bezier)continue;if(t.countForEdge(i)>=l)continue;const r=o.value*s*n*(o.bezier.circular?.3:1),a=Math.floor(r),c=r-a;let u=a;Math.random()<c&&u++;for(let e=0;u>e&&t.countForEdge(i)<l;e++)t.spawn(i)}}(c.particlePool,t,d,Le);const e=.5*(null!==(n=Le.speedMultiplier)&&void 0!==n?n:1);let i;if(Le.proportionalSpeed){const e=t.reduce((t,e)=>Math.max(t,e.value||1),1);i=t.map(t=>.3+(t.value||1)/e*1.7)}c.particlePool.step(d,e,t,i),function(t,e,n,i,o){var r,s;const l=null!==(r=i.radius)&&void 0!==r?r:Ci.radius,a=null!==(s=i.opacity)&&void 0!==s?s:Ci.opacity;t.globalAlpha=a;for(let r=0;e.particles.length>r;r++){const s=e.particles[r];if(!s.active)continue;const a=n[s.edgeIndex];if(!a)continue;let c;c="string"==typeof i.color&&"inherit"!==i.color?i.color:o(a),t.fillStyle=Xt(t,c)||c,t.beginPath(),t.arc(s.x,s.y,l,0,2*Math.PI),t.fill()}t.globalAlpha=1}(a,c.particlePool,t,Le,rn)}}v&&(a.globalAlpha=1);const m=se.current;if(se.current=!1,m||f||g){const t=Re.current;t&&t.setAttribute("aria-label",Mn(null!==(o=null===(i=c.sceneNodes)||void 0===i?void 0:i.length)&&void 0!==o?o:0,null!==(s=null===(r=c.sceneEdges)||void 0===r?void 0:r.length)&&void 0!==s?s:0,"Network chart"))}const x=m||f||g||We.current;x&&u-$e.current>=33?(Ge(t=>t+1),$e.current=u,We.current=!1):We.current=!!x,(sn||f||null!=c.transition||g||c.hasActivePulses||c.hasActiveThresholds||c.hasActiveTopologyDiff||We.current)&&(Se.current=requestAnimationFrame(()=>Me.current()))},pn({hydrated:Pe,wasHydratingFromSSR:Ce,storeRef:ze,dirtyRef:se,renderFnRef:Me}),e.useEffect(()=>{se.current=!0,je()},[S,ve,me,mt,je]),ge(Bt,ze,se,je,Ve,qe);const Rn=xt&&Fe?t.jsx(qn,{x:Fe.x,y:Fe.y,containerWidth:ve,containerHeight:me,margin:pe,className:"stream-network-tooltip",zIndex:2,children:bt?bt(Fe):t.jsx(mr,{data:Fe})}):null;if(cn||!Pe&&Ce){const e=ze.current;if(e){const t=["tree","cluster","treemap","circlepack","partition","orbit"].includes(S),n=t?P||(Array.isArray(_)?void 0:_):void 0;if(t&&n)e.ingestHierarchy(n,[ve,me]),e.buildScene([ve,me]);else{const t=Ee,n=Array.isArray(Oe)?Oe:[];(t.length>0||n.length>0)&&(e.ingestBounded(t,n,[ve,me]),e.buildScene([ve,me]))}}const n=null!==(u=null==e?void 0:e.sceneNodes)&&void 0!==u?u:[],i=null!==(d=null==e?void 0:e.sceneEdges)&&void 0!==d?d:[],o=null!==(h=null==e?void 0:e.labels)&&void 0!==h?h:[];return t.jsxs("div",{ref:fe,className:"stream-network-frame"+(vt?" "+vt:""),role:"img","aria-label":Vt||("string"==typeof Rt?Rt:"Network chart"),style:{position:"relative",width:gt?"100%":ye[0],height:yt?"100%":ye[1]},children:[t.jsx(zn,{summary:qt}),t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:ye[0],height:ye[1],style:{position:"absolute",left:0,top:0},children:[be&&t.jsx("g",{transform:`translate(${pe.left},${pe.top})`,children:be}),t.jsxs("g",{transform:`translate(${pe.left},${pe.top})`,children:[mt&&t.jsx("rect",{x:0,y:0,width:ve,height:me,fill:mt}),i.map((e,n)=>function(e,n){switch(e.type){case"line":return t.jsx("line",{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.style.stroke||"#999",strokeWidth:e.style.strokeWidth||1,opacity:e.style.opacity},"net-edge-"+n);case"bezier":{const i=e;return t.jsx("path",{d:i.pathD,fill:an(i.style.fill,"#999"),fillOpacity:i.style.fillOpacity,stroke:i.style.stroke||"none",strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-edge-"+n)}case"ribbon":{const i=e;return t.jsx("path",{d:i.pathD,fill:an(i.style.fill,"#999"),fillOpacity:i.style.fillOpacity,stroke:i.style.stroke||"none",strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-edge-"+n)}case"curved":{const i=e;return t.jsx("path",{d:i.pathD,fill:an(i.style.fill,"none"),stroke:i.style.stroke||"#999",strokeWidth:i.style.strokeWidth||1,opacity:i.style.opacity},"net-edge-"+n)}default:return null}}(e,n)).filter(Boolean),n.map((e,n)=>function(e,n){switch(e.type){case"circle":{const i=e;return t.jsx("circle",{cx:i.cx,cy:i.cy,r:i.r,fill:an(i.style.fill),stroke:i.style.stroke,strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-circle-"+n)}case"rect":{const i=e;return t.jsx("rect",{x:i.x,y:i.y,width:i.w,height:i.h,fill:an(i.style.fill),stroke:i.style.stroke,strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-rect-"+n)}case"arc":{const i=e,o=s.arc().innerRadius(i.innerR).outerRadius(i.outerR).startAngle(i.startAngle+Math.PI/2).endAngle(i.endAngle+Math.PI/2)(ln)||"";return t.jsx("path",{d:o,transform:`translate(${i.cx},${i.cy})`,fill:an(i.style.fill),stroke:i.style.stroke,strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-arc-"+n)}default:return null}}(e,n)).filter(Boolean),o.map((e,n)=>function(e,n){return t.jsx("text",{x:e.x,y:e.y,textAnchor:e.anchor||"middle",dominantBaseline:e.baseline||"auto",fontSize:e.fontSize||11,fontWeight:e.fontWeight,fill:e.fill||"#333",stroke:e.stroke,strokeWidth:e.strokeWidth,paintOrder:e.paintOrder,children:e.text},"net-label-"+n)}(e,n)).filter(Boolean)]})]}),t.jsx(lr,{width:ve,height:me,totalWidth:ye[0],totalHeight:ye[1],margin:pe,labels:o,sceneNodes:n,title:Rt,legend:Pt,legendPosition:Ct,legendLayout:Et,legendHoverBehavior:Ot,legendClickBehavior:Lt,legendHighlightedCategory:Dt,legendIsolatedCategories:Nt,foregroundGraphics:Tt(xe,null===(f=ze.current)||void 0===f?void 0:f.customLayoutOverlays),annotations:jt,svgAnnotationRules:_t,annotationFrame:0})]})}const In=ze.current;return t.jsxs("div",{ref:fe,className:"stream-network-frame"+(vt?" "+vt:""),role:"group","aria-label":Vt||("string"==typeof Rt?Rt:"Network chart"),tabIndex:0,style:{position:"relative",width:gt?"100%":ye[0],height:yt?"100%":ye[1],overflow:"visible"},onKeyDown:Dn,children:[Gt&&t.jsx(Fn,{tableId:Ae}),Gt&&t.jsx(Wn,{nodes:null!==(g=null==In?void 0:In.sceneNodes)&&void 0!==g?g:[],edges:null!==(y=null==In?void 0:In.sceneEdges)&&void 0!==y?y:[],chartType:"Network chart",tableId:Ae,chartTitle:"string"==typeof Rt?Rt:void 0}),t.jsx(zn,{summary:qt}),t.jsxs("div",{role:"img","aria-label":Vt||("string"==typeof Rt?Rt:"Network chart"),style:{position:"relative",width:"100%",height:"100%"},onMouseMove:xt?Nn:void 0,onMouseLeave:xt?Pn:void 0,onClick:wt||At?En:void 0,children:[be&&t.jsx("svg",{overflow:"visible",style:{position:"absolute",top:0,left:0,width:ye[0],height:ye[1],pointerEvents:"none",overflow:"visible"},children:t.jsx("g",{transform:`translate(${pe.left},${pe.top})`,children:be})}),t.jsx("canvas",{ref:Re,"aria-label":Mn(null!==(v=null===(p=null==In?void 0:In.sceneNodes)||void 0===p?void 0:p.length)&&void 0!==v?v:0,null!==(x=null===(m=null==In?void 0:In.sceneEdges)||void 0===m?void 0:m.length)&&void 0!==x?x:0,"Network chart"),style:{position:"absolute",top:0,left:0}}),t.jsx(Yn,{hoverPoint:Fe}),t.jsx(lr,{width:ve,height:me,totalWidth:ye[0],totalHeight:ye[1],margin:pe,labels:(null==In?void 0:In.labels)||[],sceneNodes:null==In?void 0:In.sceneNodes,title:Rt,legend:Pt,legendPosition:Ct,legendLayout:Et,legendHoverBehavior:Ot,legendClickBehavior:Lt,legendHighlightedCategory:Dt,legendIsolatedCategories:Nt,foregroundGraphics:Tt(xe,Ue),annotations:jt,svgAnnotationRules:_t,annotationFrame:Xe}),t.jsx(Hn,{active:On.current>=0,hoverPoint:Fe,margin:pe,size:ye,shape:null===(b=Tn.current)||void 0===b?void 0:b.shape,width:null===(w=Tn.current)||void 0===w?void 0:w.w,height:null===(A=Tn.current)||void 0===A?void 0:A.h}),Rn,(null==Bt?void 0:Bt.showBadge)&&t.jsx("div",{className:"stream-staleness-badge",style:Object.assign(Object.assign({position:"absolute"},"top-left"===Bt.badgePosition?{top:4,left:4}:"bottom-left"===Bt.badgePosition?{bottom:4,left:4}:"bottom-right"===Bt.badgePosition?{bottom:4,right:4}:{top:4,right:4}),{background:Ve?"#dc3545":"#28a745",color:"white",fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:3,letterSpacing:"0.05em",zIndex:3,pointerEvents:"none"}),children:Ve?"STALE":"LIVE"})]})]})});function br(t){const e=[];for(const[n,i]of Object.entries(t.fields))if("point"===i.type)e.push(t=>i.values.has(t[n]));else{const[t,o]=i.range;e.push(e=>{const i=e[n];return i>=t&&o>=i})}return t=>e.every(e=>e(t))}function kr(t,e){let n=t.get(e);return n||(n={name:e,resolution:"union",clauses:new Map},t.set(e,n)),n}xr.displayName="StreamNetworkFrame";const[wr,Ar]=A(t=>({selections:new Map,setClause(e,n){t(t=>{const i=new Map(t.selections),o=kr(i,e),r=new Map(o.clauses);return r.set(n.clientId,n),i.set(e,Object.assign(Object.assign({},o),{clauses:r})),{selections:i}})},clearClause(e,n){t(t=>{const i=t.selections.get(e);if(!i)return{};const o=new Map(t.selections),r=new Map(i.clauses);return r.delete(n),o.set(e,Object.assign(Object.assign({},i),{clauses:r})),{selections:o}})},setResolution(e,n){t(t=>{const i=new Map(t.selections),o=kr(i,e);return i.set(e,Object.assign(Object.assign({},o),{resolution:n})),{selections:i}})},clearSelection(e){t(t=>{const n=new Map(t.selections),i=n.get(e);return i&&n.set(e,Object.assign(Object.assign({},i),{clauses:new Map})),{selections:n}})}})),[Sr,Mr]=A(t=>({observations:[],maxObservations:100,version:0,pushObservation(e){t(t=>{const n=t.observations;return n.push(e),n.length>t.maxObservations&&n.shift(),{version:t.version+1}})},clearObservations(){t(()=>({observations:[],version:0}))}}));function jr(t){const n=e.useId(),i=t.clientId||n,{name:o}=t,r=Ar(t=>t.selections.get(o)),s=Ar(t=>t.setClause),l=Ar(t=>t.clearClause),a=e.useMemo(()=>!!r&&r.clauses.size>0,[r]);return{predicate:e.useMemo(()=>r&&0!==r.clauses.size?function(t,e){const n=[];for(const[i,o]of t.clauses)"crossfilter"===t.resolution&&i===e||n.push(br(o));return 0===n.length?()=>!0:"intersect"===t.resolution?t=>n.every(e=>e(t)):t=>n.some(e=>e(t))}(r,i):()=>!0,[r,i]),isActive:a,selectPoints:e.useCallback(t=>{const e={};for(const[n,i]of Object.entries(t))e[n]={type:"point",values:new Set(i)};s(o,{clientId:i,type:"point",fields:e})},[i,o,s]),selectInterval:e.useCallback(t=>{const e={};for(const[n,i]of Object.entries(t))e[n]={type:"interval",range:i};s(o,{clientId:i,type:"interval",fields:e})},[i,o,s]),clear:e.useCallback(()=>{l(o,i)},[l,o,i]),clientId:i}}function _r(t){return 2===t.length&&"number"==typeof t[0]&&"number"==typeof t[1]}function Pr(t,e,n){var i;const o=null!==(i=t.xValue)&&void 0!==i?i:null==e?void 0:e[n];if(null==o)return null;const r=Number(o);return Number.isFinite(r)?r:null}function Cr(t){let e=t.data||t.datum||t;return Array.isArray(e)&&(e=e[0]),null!=t.xValue&&e&&"object"==typeof e&&!Array.isArray(e)&&null==e.xValue?Object.assign(Object.assign({},e),{xValue:t.xValue}):e||{}}function Er({selection:t,linkedHover:n,fallbackFields:i=[],unwrapData:o=!1,onObservation:r,chartType:s,chartId:l,onClick:a,hoverHighlight:c,colorByField:u}){const d=e.useId(),h=function(t,e){return t?!0===t?{name:"hover",fields:e||[]}:"string"==typeof t?{name:t,fields:e||[]}:{name:t.name||"hover",fields:t.fields||e||[],mode:t.mode,xField:t.xField}:null}(n,i),f=jr({name:(null==t?void 0:t.name)||"__unused__"}),g=function(t){const n=t.name||"hover",{fields:i}=t,{predicate:o,isActive:r,selectPoints:s,clear:l}=jr({name:n});return{onHover:e.useCallback(t=>{if(!t)return void l();const e={};for(const n of i){const i=t[n];void 0!==i&&(e[n]=[i])}Object.keys(e).length>0&&s(e)},[i,s,l,n]),predicate:o,isActive:r}}({name:(null==h?void 0:h.name)||"hover",fields:(null==h?void 0:h.fields)||i||[]}),y=Mr(t=>t.pushObservation),p=t?{isActive:f.isActive,predicate:f.predicate}:null,[v,m]=e.useState(null),x=u||i[0],b=e.useMemo(()=>{if(!c||null==v||!x)return null;const t=v,e=x;return{isActive:!0,predicate:n=>{var i;return("string"==typeof n[e]?n[e]:(null!==(i=n[e])&&void 0!==i?i:"")+"")===t}}},[c,v,x]),k=e.useCallback(t=>{var e,i;if(n)if(t){let e=t.data||t.datum||t;if(Array.isArray(e)&&(e=e[0]),"x-position"===(null==h?void 0:h.mode)&&h.xField){const n=Pr(t,e,h.xField);null!=n&&function(t,e,n){const i=We.positions.get(t);(null==i?void 0:i.locked)||i&&i.xValue===e&&i.sourceId===n||(We={positions:new Map(We.positions).set(t,{xValue:e,sourceId:n})},Fe())}(h.name||"hover",n,d)}"x-position"!==(null==h?void 0:h.mode)&&g.onHover(e)}else"x-position"===(null==h?void 0:h.mode)&&Ye(h.name||"hover",d),"x-position"!==(null==h?void 0:h.mode)&&g.onHover(null);if(c&&x)if(t){let e=t.data||t.datum||t;Array.isArray(e)&&(e=e[0]);const n=null==e?void 0:e[x];m(null!=n?n+"":null)}else m(null);if(r||y){const n={timestamp:Date.now(),chartType:s||"unknown",chartId:l};if(t){const o=Cr(t),s=Object.assign(Object.assign({},n),{type:"hover",datum:o||{},x:null!==(e=t.x)&&void 0!==e?e:0,y:null!==(i=t.y)&&void 0!==i?i:0});r&&r(s),y&&y(s)}else{const t=Object.assign(Object.assign({},n),{type:"hover-end"});r&&r(t),y&&y(t)}}},[n,g,h,d,r,s,l,y,c,x]),w=e.useCallback(t=>{var e,n,i,o;if("x-position"===(null==h?void 0:h.mode)&&h.xField&&t){let e=t.data||t.datum||t;Array.isArray(e)&&(e=e[0]);const n=Pr(t,e,h.xField);null!=n&&function(t,e,n){const i=We.positions.get(t);if(null==i?void 0:i.locked){const e=new Map(We.positions);return e.delete(t),We={positions:e},Fe(),!1}We={positions:new Map(We.positions).set(t,{xValue:e,sourceId:n,locked:!0})},Fe()}(h.name||"hover",n,d)}if(t&&a){let i=t.data||t.datum||t;Array.isArray(i)&&(i=i[0]),a(i,{x:null!==(e=t.x)&&void 0!==e?e:0,y:null!==(n=t.y)&&void 0!==n?n:0})}if(r||y){const e={timestamp:Date.now(),chartType:s||"unknown",chartId:l};if(t){const n=Cr(t),s=Object.assign(Object.assign({},e),{type:"click",datum:n||{},x:null!==(i=t.x)&&void 0!==i?i:0,y:null!==(o=t.y)&&void 0!==o?o:0});r&&r(s),y&&y(s)}else{const t=Object.assign(Object.assign({},e),{type:"click-end"});r&&r(t),y&&y(t)}}},[a,r,y,s,l,h,d]);return e.useEffect(()=>{if("x-position"!==(null==h?void 0:h.mode))return;const t=h.name||"hover";return()=>{Be(t,d),Ye(t,d)}},[null==h?void 0:h.mode,null==h?void 0:h.name,d]),{activeSelectionHook:p,hoverSelectionHook:b,customHoverBehavior:k,customClickBehavior:w,crosshairSourceId:d}}const Or={primary:{width:600,height:400,showAxes:!0,showGrid:!1,enableHover:!0,showLegend:void 0,showLabels:void 0,marginDefaults:{top:50,bottom:60,left:70,right:40}},context:{width:400,height:250,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:10,bottom:10,left:10,right:10}},sparkline:{width:120,height:24,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:2,bottom:2,left:0,right:0}}};function Tr(t,e,n){var i,o,r,s,l,a,c;const u=Or[t||"primary"],d="context"===t||"sparkline"===t;return{width:null!==(i=e.width)&&void 0!==i?i:u.width,height:null!==(o=e.height)&&void 0!==o?o:u.height,showAxes:null!==(r=e.showAxes)&&void 0!==r?r:u.showAxes,showGrid:null!==(s=e.showGrid)&&void 0!==s?s:u.showGrid,enableHover:null!==(l=e.enableHover)&&void 0!==l?l:!!e.linkedHover||u.enableHover,showLegend:null!==(a=e.showLegend)&&void 0!==a?a:u.showLegend,showLabels:null!==(c=e.showLabels)&&void 0!==c?c:u.showLabels,title:d?void 0:e.title,description:e.description,summary:e.summary,accessibleTable:e.accessibleTable,xLabel:d?void 0:e.xLabel,yLabel:d?void 0:e.yLabel,categoryLabel:d?void 0:e.categoryLabel,valueLabel:d?void 0:e.valueLabel,marginDefaults:Lr(u.marginDefaults,e.showCategoryTicks,e.orientation),compactMode:d}}function Lr(t,e,n){if(!1!==e)return t;const i=Object.assign({},t);return"horizontal"===n?i.left=Math.min(i.left,15):i.bottom=Math.min(i.bottom,15),i}const Dr={background:"var(--semiotic-tooltip-bg, rgba(0, 0, 0, 0.85))",color:"var(--semiotic-tooltip-text, #f3f4f6)",padding:"6px 10px",borderRadius:"var(--semiotic-tooltip-radius, 4px)",fontSize:"var(--semiotic-tooltip-font-size, 12px)",fontFamily:"var(--semiotic-tick-font-family, var(--semiotic-font-family, sans-serif))",boxShadow:"var(--semiotic-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, 0.25))",lineHeight:1.4,pointerEvents:"none",whiteSpace:"nowrap"},Nr={opacity:.7,marginRight:4};function Rr(t,e,n){if(null!=t)return"function"==typeof e?e(t):t["string"==typeof e?e:n]}function Ir(t){return null==t?"":"number"==typeof t?Number.isInteger(t)?t+"":t.toFixed(2):t instanceof Date?t.toLocaleString():t+""}function $r(e={}){const{timeAccessor:n,valueAccessor:i,xLabel:o="x",yLabel:r="y"}=e;return e=>{var s;const l=null!==(s=null==e?void 0:e.data)&&void 0!==s?s:null,a=Rr(l,n,"time"),c=Rr(l,i,"value");return t.jsxs("div",{className:"semiotic-tooltip",style:Dr,children:[t.jsxs("div",{children:[t.jsxs("span",{style:Nr,children:[o,":"]}),Ir(a)]}),t.jsxs("div",{children:[t.jsxs("span",{style:Nr,children:[r,":"]}),Ir(c)]})]})}}"undefined"!=typeof process&&process;const Wr={display:"flex",alignItems:"center",justifyContent:"center",color:"var(--semiotic-text-secondary, #999)",fontSize:13,fontFamily:"inherit",border:"1px dashed var(--semiotic-border, #ddd)",borderRadius:4,boxSizing:"border-box"},zr={background:"var(--semiotic-border, #e0e0e0)",borderRadius:2};function Fr(e,n,i,o){return!1===o||null==e||Array.isArray(e)&&e.length>0?null:Array.isArray(e)?t.jsx("div",{style:Object.assign(Object.assign({},Wr),{width:n,height:i}),children:o||"No data available"}):null}function Yr(e,n,i,o){if(!e)return null;if(!1===o)return null;if(null!=o)return t.jsx("div",{style:{width:n,height:i,display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},children:o});const r=Math.min(5,Math.floor(i/40)),s=Math.max(8,Math.floor(i/(3*r))),l=Math.max(6,Math.floor(i/(2.5*r))),a=Math.floor((i-(r*(s+l)-l))/2);return t.jsx("div",{style:{width:n,height:i,position:"relative",overflow:"hidden",border:"1px solid var(--semiotic-border, #e0e0e0)",borderRadius:4,boxSizing:"border-box"},children:Array.from({length:r},(e,i)=>t.jsx("div",{className:"semiotic-loading-bar",style:Object.assign(Object.assign({},zr),{position:"absolute",top:a+i*(s+l),left:Math.floor(.1*n),width:30+(37*i+13)%50+"%",height:s,opacity:.5+i%2*.2})},i))})}function Br(t,e){var n;return null!=t?t:Math.max(null!==(n=null==e?void 0:e.length)&&void 0!==n?n:0,200)}const Hr=e.forwardRef(function(n,i){var o,r,s,l,a;const c=Tr(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,enableHover:null!=n.enableHover?!!n.enableHover:void 0}),{size:u,margin:d,className:h,arrowOfTime:f="right",windowMode:g="sliding",windowSize:y,data:p,timeAccessor:v,valueAccessor:m,timeExtent:x,valueExtent:b,extentPadding:k,stroke:w="#007bff",strokeWidth:A=2,strokeDasharray:S,opacity:M,background:j,tooltipContent:_,tooltip:P,onHover:C,annotations:E,svgAnnotationRules:O,tickFormatTime:T,tickFormatValue:L,decay:D,pulse:N,staleness:R,transition:I,linkedHover:$,selection:W,onObservation:z,chartId:F,loading:Y,loadingContent:B,emptyContent:H,emphasis:X,legendPosition:G}=n,V=c.showAxes,q=c.enableHover,U=null!=d?d:c.marginDefaults,K=null!=u?u:[c.width,c.height],Z=null!==(a=null!=_?_:P)&&void 0!==a?a:$r({timeAccessor:v,valueAccessor:m}),Q=e.useRef(null),{customHoverBehavior:J}=Er({selection:W,linkedHover:$,unwrapData:!0,onObservation:z,chartType:"RealtimeLineChart",chartId:F}),tt=e.useCallback(t=>{C&&C(t),J(t)},[C,J]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=Q.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=Q.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=Q.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=Q.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=Q.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=Q.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=Q.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const et=Yr(Y,K[0],K[1],B),nt=et?null:Fr(p,K[0],K[1],H),it={stroke:w,strokeWidth:A,strokeDasharray:S};null!=M&&(it.opacity=M);const ot=Br(y,p);return et||nt||t.jsx(_i,{ref:Q,chartType:"line",runtimeMode:"streaming",size:K,margin:U,className:X?`${h||""} semiotic-emphasis-${X}`.trim():h,arrowOfTime:f,windowMode:g,windowSize:ot,data:p,timeAccessor:v,valueAccessor:m,xExtent:x,yExtent:b,extentPadding:k,lineStyle:it,showAxes:V,background:j,hoverAnnotation:q,tooltipContent:Z,customHoverBehavior:tt,annotations:E,svgAnnotationRules:O,tickFormatTime:T,tickFormatValue:L,decay:D,pulse:N,staleness:R,transition:I,pointIdAccessor:n.pointIdAccessor,legendPosition:G})});function Xr(t,e,n){const i="function"==typeof e?e(t):t[null!=e?e:n];if(null==i)return null;if(i instanceof Date)return i.getTime();if("string"==typeof i&&""===i.trim())return null;const o=Number(i);return Number.isFinite(o)?o:null}Hr.displayName="RealtimeLineChart";const Gr=e.forwardRef(function(n,i){var o,r,s,l,a;const c=Tr(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,showAxes:n.showAxes,enableHover:null!=n.enableHover?!!n.enableHover:void 0,linkedHover:n.linkedHover}),{binSize:u,size:d,margin:h,className:f,arrowOfTime:g="right",windowMode:y="sliding",windowSize:p,data:v,timeAccessor:m,valueAccessor:x,direction:b="up",timeExtent:k,valueExtent:w,extentPadding:A,categoryAccessor:S,colors:M,fill:j,stroke:_,strokeWidth:P,opacity:C,gap:E,background:O,tooltipContent:T,tooltip:L,onHover:D,annotations:N,svgAnnotationRules:R,tickFormatTime:I,tickFormatValue:$,linkedHover:W,selection:z,decay:F,pulse:Y,staleness:B,transition:H,onObservation:X,chartId:G,loading:V,loadingContent:q,emptyContent:U,emphasis:K,legendPosition:Z,brush:Q,onBrush:J,linkedBrush:tt}=n,et=c.showAxes,nt=c.enableHover,it=null!=h?h:c.marginDefaults,ot=null!=d?d:[c.width,c.height],rt=null!==(a=null!=T?T:L)&&void 0!==a?a:function(e={}){const{timeAccessor:n,valueAccessor:i}=e;return e=>{var o;const r=null!==(o=null==e?void 0:e.data)&&void 0!==o?o:null;if(null==(null==r?void 0:r.binStart)||null==(null==r?void 0:r.binEnd)){const e=Rr(r,n,"time"),o=Rr(r,i,"value");return t.jsxs("div",{className:"semiotic-tooltip",style:Dr,children:[t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"x:"}),Ir(e)]}),t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"y:"}),Ir(o)]})]})}return t.jsxs("div",{className:"semiotic-tooltip",style:Dr,children:[t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"range:"}),Ir(r.binStart),"–",Ir(r.binEnd)]}),null!=r.total&&t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"count:"}),Ir(r.total)]}),null!=r.category&&t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"category:"}),Ir(r.category)]})]})}}({timeAccessor:m,valueAccessor:x}),st=e.useRef(null),{customHoverBehavior:lt}=Er({selection:z,linkedHover:W,unwrapData:!0,onObservation:X,chartType:"RealtimeHistogram",chartId:G}),at=e.useCallback(t=>{D&&D(t),lt(t)},[D,lt]),ct=!0===Q?{dimension:"x",snap:"bin"}:"x"===Q?{dimension:"x"}:"object"==typeof Q?Q:void 0,ut=(dt=tt)?"string"==typeof dt?{name:dt}:dt:null;var dt;const ht=function(t){const{name:n,xField:i,yField:o}=t,{predicate:r,isActive:s,selectInterval:l,clear:a}=jr({name:n}),c=i&&o?"xyBrush":i?"xBrush":"yBrush",u=e.useCallback(t=>{if(!t)return void a();const e={};"xyBrush"===c&&function(t){return 2===t.length&&Array.isArray(t[0])&&2===t[0].length&&Array.isArray(t[1])&&2===t[1].length}(t)?(i&&(e[i]=[Math.min(t[0][0],t[1][0]),Math.max(t[0][0],t[1][0])]),o&&(e[o]=[Math.min(t[0][1],t[1][1]),Math.max(t[0][1],t[1][1])])):"xBrush"===c&&_r(t)?i&&(e[i]=[Math.min(...t),Math.max(...t)]):"yBrush"===c&&_r(t)&&o&&(e[o]=[Math.min(...t),Math.max(...t)]),Object.keys(e).length>0&&l(e)},[c,i,o,l,a]);return{brushInteraction:e.useMemo(()=>({brush:c,during:u,end:u}),[c,u]),predicate:r,isActive:s,clear:a}}(Object.assign({name:(null==ut?void 0:ut.name)||"__unused_hist_brush__",xField:(null==ut?void 0:ut.xField)||("string"==typeof m?m:"time")},(null==ut?void 0:ut.yField)?{yField:ut.yField}:{})),ft=e.useRef(ht.brushInteraction);ft.current=ht.brushInteraction;const gt=e.useCallback(t=>{if(J&&J(t),X&&X(t?{type:"brush",extent:t,timestamp:Date.now(),chartType:"RealtimeHistogram",chartId:G}:{type:"brush-end",timestamp:Date.now(),chartType:"RealtimeHistogram",chartId:G}),ut){const e=ft.current;e.end(t?"xBrush"===e.brush?t.x:"yBrush"===e.brush?t.y:[[t.x[0],t.y[0]],[t.x[1],t.y[1]]]:null)}},[J,X,G,ut]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=st.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=st.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=st.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=st.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=st.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=st.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=st.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const yt=Yr(V,ot[0],ot[1],q),pt=yt?null:Fr(v,ot[0],ot[1],U),vt={};null!=j&&(vt.fill=j),null!=_&&(vt.stroke=_),null!=P&&(vt.strokeWidth=P),null!=C&&(vt.opacity=C),null!=E&&(vt.gap=E);const mt=K?`${f||""} semiotic-emphasis-${K}`.trim():f,xt=Br(p,v),bt=e.useMemo(()=>"down"!==b?w:function({data:t,valueAccessor:e,timeAccessor:n,binSize:i,valueExtent:o,extentPadding:r}){var s;if(o)return[o[1],o[0]];if(!t||0===t.length)return;const l=new Map;for(const o of t){const t=Xr(o,n,"time"),r=Xr(o,e,"value");if(null==t||null==r)continue;const a=Math.floor(t/i)*i;l.set(a,(null!==(s=l.get(a))&&void 0!==s?s:0)+r)}let a=0;for(const t of l.values())t>a&&(a=t);return[a>0?a+a*(null!=r?r:.1):1,0]}({data:v,valueAccessor:x,timeAccessor:m,binSize:u,valueExtent:w,extentPadding:A}),[b,v,x,m,u,w,A]);return yt||pt||t.jsx(_i,{ref:st,chartType:"bar",runtimeMode:"streaming",size:ot,margin:it,className:mt,arrowOfTime:g,windowMode:y,windowSize:xt,data:v,timeAccessor:m,valueAccessor:x,xExtent:k,yExtent:bt,extentPadding:A,binSize:u,categoryAccessor:S,barColors:M,barStyle:vt,showAxes:et,background:O,hoverAnnotation:nt,tooltipContent:rt,customHoverBehavior:at,annotations:N,svgAnnotationRules:R,tickFormatTime:I,tickFormatValue:$,decay:F,pulse:Y,staleness:B,transition:H,pointIdAccessor:n.pointIdAccessor,legendPosition:Z,brush:ct||(tt?{dimension:"x"}:void 0),onBrush:ct||tt?gt:void 0})});function Vr(e){return t.jsx(Gr,Object.assign({},e,{windowMode:"growing"}))}Gr.displayName="RealtimeHistogram",Vr.displayName="TemporalHistogram";const qr=e.forwardRef(function(n,i){var o,r,s,l,a;const c=Tr(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,enableHover:null!=n.enableHover?!!n.enableHover:void 0}),{size:u,margin:d,className:h,arrowOfTime:f="right",windowMode:g="sliding",windowSize:y,data:p,timeAccessor:v,valueAccessor:m,timeExtent:x,valueExtent:b,extentPadding:k,categoryAccessor:w,colors:A,radius:S,fill:M,opacity:j,stroke:_,strokeWidth:P,background:C,tooltipContent:E,tooltip:O,onHover:T,annotations:L,svgAnnotationRules:D,tickFormatTime:N,tickFormatValue:R,linkedHover:I,selection:$,onObservation:W,chartId:z,loading:F,loadingContent:Y,emptyContent:B,emphasis:H,legendPosition:X}=n,G=c.showAxes,V=c.enableHover,q=null!=d?d:c.marginDefaults,U=null!=u?u:[c.width,c.height],K=null!==(a=null!=E?E:O)&&void 0!==a?a:$r({timeAccessor:v,valueAccessor:m}),Z=e.useRef(null),{customHoverBehavior:Q}=Er({selection:$,linkedHover:I,unwrapData:!0,onObservation:W,chartType:"RealtimeSwarmChart",chartId:z}),J=e.useCallback(t=>{T&&T(t),Q(t)},[T,Q]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=Z.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=Z.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=Z.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=Z.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=Z.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=Z.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=Z.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const tt=Yr(F,U[0],U[1],Y),et=tt?null:Fr(p,U[0],U[1],B),nt={};null!=S&&(nt.radius=S),null!=M&&(nt.fill=M),null!=j&&(nt.opacity=j),null!=_&&(nt.stroke=_),null!=P&&(nt.strokeWidth=P);const it=H?`${h||""} semiotic-emphasis-${H}`.trim():h,ot=Br(y,p);return tt||et||t.jsx(_i,{ref:Z,chartType:"swarm",runtimeMode:"streaming",size:U,margin:q,className:it,arrowOfTime:f,windowMode:g,windowSize:ot,data:p,timeAccessor:v,valueAccessor:m,xExtent:x,yExtent:b,extentPadding:k,categoryAccessor:w,barColors:A,swarmStyle:nt,showAxes:G,background:C,hoverAnnotation:V,tooltipContent:K,customHoverBehavior:J,annotations:L,svgAnnotationRules:D,tickFormatTime:N,tickFormatValue:R,legendPosition:X,pointIdAccessor:n.pointIdAccessor})});qr.displayName="RealtimeSwarmChart";const Ur=e.forwardRef(function(n,i){var o,r,s,l,a;const c=Tr(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,enableHover:null!=n.enableHover?!!n.enableHover:void 0}),{size:u,margin:d,className:h,arrowOfTime:f="right",windowMode:g="sliding",windowSize:y,data:p,timeAccessor:v,valueAccessor:m,timeExtent:x,valueExtent:b,extentPadding:k,positiveColor:w,negativeColor:A,connectorStroke:S,connectorWidth:M,gap:j,stroke:_,strokeWidth:P,opacity:C,background:E,tooltipContent:O,tooltip:T,onHover:L,annotations:D,svgAnnotationRules:N,tickFormatTime:R,tickFormatValue:I,linkedHover:$,selection:W,onObservation:z,chartId:F,loading:Y,loadingContent:B,emptyContent:H,emphasis:X,legendPosition:G}=n,V=c.showAxes,q=c.enableHover,U=null!=d?d:c.marginDefaults,K=null!=u?u:[c.width,c.height],Z=null!==(a=null!=O?O:T)&&void 0!==a?a:function(e={}){const{timeAccessor:n,valueAccessor:i}=e;return e=>{var o,r;const s=null!==(o=null==e?void 0:e.data)&&void 0!==o?o:null,l=Rr(s,n,"time"),a=null!==(r=null==s?void 0:s.delta)&&void 0!==r?r:Rr(s,i,"value"),c=null==s?void 0:s.cumEnd,u="number"==typeof a?0>a?Ir(a):"+"+Ir(a):Ir(a);return t.jsxs("div",{className:"semiotic-tooltip",style:Dr,children:[t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"x:"}),Ir(l)]}),t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"Δ:"}),u]}),null!=c&&t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"total:"}),Ir(c)]})]})}}({timeAccessor:v,valueAccessor:m}),Q=e.useRef(null),{customHoverBehavior:J}=Er({selection:W,linkedHover:$,unwrapData:!0,onObservation:z,chartType:"RealtimeWaterfallChart",chartId:F}),tt=e.useCallback(t=>{L&&L(t),J(t)},[L,J]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=Q.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=Q.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=Q.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=Q.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=Q.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=Q.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=Q.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const et=Yr(Y,K[0],K[1],B),nt=et?null:Fr(p,K[0],K[1],H),it={};null!=w&&(it.positiveColor=w),null!=A&&(it.negativeColor=A),null!=S&&(it.connectorStroke=S),null!=M&&(it.connectorWidth=M),null!=j&&(it.gap=j),null!=_&&(it.stroke=_),null!=P&&(it.strokeWidth=P),null!=C&&(it.opacity=C);const ot=X?`${h||""} semiotic-emphasis-${X}`.trim():h,rt=Br(y,p);return et||nt||t.jsx(_i,{ref:Q,chartType:"waterfall",runtimeMode:"streaming",size:K,margin:U,className:ot,arrowOfTime:f,windowMode:g,windowSize:rt,data:p,timeAccessor:v,valueAccessor:m,xExtent:x,yExtent:b,extentPadding:k,waterfallStyle:it,showAxes:V,background:E,hoverAnnotation:q,tooltipContent:Z,customHoverBehavior:tt,annotations:D,svgAnnotationRules:N,tickFormatTime:R,tickFormatValue:I,legendPosition:G,pointIdAccessor:n.pointIdAccessor})});Ur.displayName="RealtimeWaterfallChart";const Kr=e.forwardRef(function(n,i){var o,r,s,l,a;const c=Tr(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,enableHover:null!=n.enableHover?!!n.enableHover:void 0}),{size:u,margin:d,className:h,arrowOfTime:f="right",windowMode:g="sliding",windowSize:y,data:p,timeAccessor:v,valueAccessor:m,categoryAccessor:x,timeExtent:b,valueExtent:k,extentPadding:w,heatmapXBins:A=20,heatmapYBins:S=20,aggregation:M="count",background:j,tooltipContent:_,tooltip:P,onHover:C,annotations:E,svgAnnotationRules:O,tickFormatTime:T,tickFormatValue:L,decay:D,pulse:N,staleness:R,linkedHover:I,selection:$,onObservation:W,chartId:z,loading:F,loadingContent:Y,emptyContent:B,emphasis:H,legendPosition:X}=n,G=c.showAxes,V=c.enableHover,q=null!=d?d:c.marginDefaults,U=null!=u?u:[c.width,c.height],K=null!==(a=null!=_?_:P)&&void 0!==a?a:function(e={}){const{timeAccessor:n,valueAccessor:i,xLabel:o="x",yLabel:r="y"}=e;return e=>{var s,l,a,c;const u=null!==(s=null==e?void 0:e.data)&&void 0!==s?s:null,d=null!==(l=null==u?void 0:u.xCenter)&&void 0!==l?l:Rr(u,n,"time"),h=null!==(a=null==u?void 0:u.yCenter)&&void 0!==a?a:Rr(u,i,"value"),f=null==u?void 0:u.count,g=null==u?void 0:u.sum,y=null==u?void 0:u.value,p=null!==(c=null==u?void 0:u.agg)&&void 0!==c?c:"count";return t.jsxs("div",{className:"semiotic-tooltip",style:Dr,children:[t.jsxs("div",{children:[t.jsxs("span",{style:Nr,children:[o,":"]}),Ir(d)]}),t.jsxs("div",{children:[t.jsxs("span",{style:Nr,children:[r,":"]}),Ir(h)]}),null!=f&&t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"count:"}),Ir(f)]}),"sum"===p&&null!=g&&t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"sum:"}),Ir(g)]}),"mean"===p&&null!=y&&t.jsxs("div",{children:[t.jsx("span",{style:Nr,children:"mean:"}),Ir(y)]})]})}}({timeAccessor:v,valueAccessor:m}),Z=e.useRef(null),{customHoverBehavior:Q}=Er({selection:$,linkedHover:I,unwrapData:!0,onObservation:W,chartType:"RealtimeHeatmap",chartId:z}),J=e.useCallback(t=>{C&&C(t),Q(t)},[C,Q]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=Z.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=Z.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=Z.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=Z.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=Z.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=Z.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=Z.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const tt=Yr(F,U[0],U[1],Y),et=tt?null:Fr(p,U[0],U[1],B),nt=H?`${h||""} semiotic-emphasis-${H}`.trim():h,it=Br(y,p);return tt||et||t.jsx(_i,{ref:Z,chartType:"heatmap",runtimeMode:"streaming",size:U,margin:q,className:nt,arrowOfTime:f,windowMode:g,windowSize:it,data:p,timeAccessor:v,valueAccessor:m,categoryAccessor:x,xExtent:b,yExtent:k,extentPadding:w,heatmapXBins:A,heatmapYBins:S,heatmapAggregation:M,showAxes:G,background:j,hoverAnnotation:V,tooltipContent:K,customHoverBehavior:J,annotations:E,svgAnnotationRules:O,tickFormatTime:T,tickFormatValue:L,decay:D,pulse:N,staleness:R,legendPosition:X,pointIdAccessor:n.pointIdAccessor})});Kr.displayName="RealtimeHeatmap";const Zr=Symbol("semiotic.useStreamStatus.wrapped");exports.IncrementalExtent=N,exports.RealtimeHeatmap=Kr,exports.RealtimeHistogram=Gr,exports.RealtimeLineChart=Hr,exports.RealtimeSwarmChart=qr,exports.RealtimeWaterfallChart=Ur,exports.RingBuffer=D,exports.StreamNetworkFrame=xr,exports.StreamXYFrame=_i,exports.TemporalHistogram=Vr,exports.useStreamStatus=function(t={}){const{staleThresholdMs:n=5e3,pollIntervalMs:i=1e3}=t,o=e.useRef(null),[r,s]=e.useState("idle"),[l,a]=e.useState(null),c=e.useMemo(()=>{const t={_frame:null,_origPush:null,_origPushMany:null};return{get current(){return t._frame},set current(e){const n=t._frame;if(n&&n!==e&&t._origPush&&t._origPushMany&&(n.push=t._origPush,n.pushMany=t._origPushMany,delete n[Zr]),t._frame=e,!e)return t._origPush=null,void(t._origPushMany=null);if(e[Zr])return;e[Zr]=!0;const i=e.push,o=e.pushMany,r=i.bind(e),s=o.bind(e);t._origPush=i,t._origPushMany=o,e.push=t=>(u(),r(t)),e.pushMany=t=>(t&&t.length>0&&u(),s(t))}}},[]),u=e.useCallback(()=>{const t="undefined"!=typeof performance?performance.now():Date.now();o.current=t,a(t),s(t=>"active"===t?t:"active")},[]);return e.useEffect(()=>{const t=setInterval(()=>{const t=o.current;if(null==t)return;const e=("undefined"!=typeof performance?performance.now():Date.now())-t>n;s(t=>{const n=e?"stale":"active";return t===n?t:n})},i);return()=>clearInterval(t)},[n,i]),{ref:c,status:r,lastPushTime:l}};
|
|
2
|
+
"use strict";const t=require("react/jsx-runtime"),e=require("react"),n=require("d3-selection"),i=require("d3-brush"),o=require("d3-scale"),r=require("d3-quadtree"),s=require("d3-shape"),l=require("d3-array"),a=require("d3-hierarchy"),c=require("regression"),u=require("d3-interpolate"),d=require("d3-force"),h=require("d3-chord");function f(t){return t&&t.__esModule?t:{default:t}}function g(t){if(t&&t.__esModule)return t;const e=Object.create(null);if(t)for(const n in t)if("default"!==n){const i=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(e,n,i.get?i:{enumerable:!0,get:function(){return t[n]}})}return e.default=t,Object.freeze(e)}const y=g(e),p=f(c);function v(t,e){let n=0,i=e.length-1;for(;i>n;){const o=n+i+1>>1;e[o]>t?i=o-1:n=o}return e[n]}function m(t,e){let n=0,i=e.length-1;for(;i>n;){const o=n+i>>1;t>e[o]?n=o+1:i=o}return e[n]}function x({width:o,height:r,totalWidth:s,totalHeight:l,margin:a,dimension:c,scales:u,onBrush:d,binSize:h,snap:f,binBoundaries:g,snapDuring:y,streaming:p}){const x=e.useRef(null),b=e.useRef(null),k=e.useRef(d);k.current=d;const w=e.useRef(u);w.current=u;const A=e.useMemo(()=>g?[...g].sort((t,e)=>t-e):void 0,[g]),M=e.useRef(A);M.current=A;const S=e.useRef(!1),j=e.useRef(null);return e.useEffect(()=>{if(!x.current)return;const t=n.select(x.current).select(".brush-g"),e="x"===c?i.brushX():"y"===c?i.brushY():i.brush();return e.extent([[0,0],[o,r]]),e.on("brush end",n=>{if(S.current)return;const i=w.current;if(!i)return;if(!n.selection)return j.current=null,void k.current(null);let s,l;if("x"===c){const[t,e]=n.selection;s=[i.x.invert(t),i.x.invert(e)],l=[i.y.invert(r),i.y.invert(0)]}else if("y"===c){const[t,e]=n.selection;s=[i.x.invert(0),i.x.invert(o)],l=[i.y.invert(e),i.y.invert(t)]}else{const[[t,e],[o,r]]=n.selection;s=[i.x.invert(t),i.x.invert(o)],l=[i.y.invert(r),i.y.invert(e)]}if("bin"===f&&"y"!==c&&("end"===n.type||"brush"===n.type&&y)){const o=M.current;o&&o.length>0?s=function(t,e){return 0===e.length?t:[v(t[0],e),m(t[1],e)]}(s,o):h&&h>0&&(s=[Math.floor(s[0]/h)*h,Math.ceil(s[1]/h)*h]);const r=i.x(s[0]),l=i.x(s[1]);if(S.current=!0,"x"===c)t.call(e.move,[r,l]);else if("xy"===c){const i=n.selection;t.call(e.move,[[r,i[0][1]],[l,i[1][1]]])}S.current=!1}const a={x:s,y:l};j.current=a,k.current(a)}),t.call(e),b.current=e,t.select(".selection").attr("fill","steelblue").attr("fill-opacity",.15).attr("stroke","steelblue").attr("stroke-width",1),()=>{e.on("brush end",null),b.current=null}},[o,r,c,f,h,y]),e.useEffect(()=>{if(!(p&&u&&b.current&&j.current))return;if(!x.current)return;if("y"===c)return;const t=j.current,e=u.x.domain()[0],i=n.select(x.current).select(".brush-g");if(e>=t.x[1])return S.current=!0,i.call(b.current.move,null),S.current=!1,j.current=null,void k.current(null);let o=t.x[0],r=!1;if(e>t.x[0]){if(o=e,"bin"===f){const t=M.current;t&&t.length>0?o=m(e,t):h&&h>0&&(o=Math.ceil(e/h)*h)}if(o>=t.x[1])return S.current=!0,i.call(b.current.move,null),S.current=!1,j.current=null,void k.current(null);r=!0}const s=u.x(o),l=u.x(t.x[1]);if(S.current=!0,"x"===c)i.call(b.current.move,[s,l]);else{const e=u.y(t.y[1]),n=u.y(t.y[0]);i.call(b.current.move,[[s,e],[l,n]])}if(S.current=!1,r){const e={x:[o,t.x[1]],y:t.y};j.current=e,k.current(e)}},[u,p,c,f,h]),t.jsx("svg",{ref:x,width:s,height:l,style:{position:"absolute",top:0,left:0,pointerEvents:"all"},children:t.jsx("g",{className:"brush-g",transform:`translate(${a.left},${a.top})`})})}const b=Object.freeze([]);function k(t){if(!t)return b;let e=!1;for(let n=0;t.length>n;n++){const i=t[n];if(null==i||"object"!=typeof i){e=!0;break}}if(!e)return t;const n=[];for(const e of t)null!=e&&"object"==typeof e&&n.push(e);return n}class w{constructor(t,e){var n,i;this.lastBoundedData=null,this.chunkTimer=0,this.pushBuffer=[],this.flushScheduled=!1,this.callback=t,this.chunkThreshold=null!==(n=null==e?void 0:e.chunkThreshold)&&void 0!==n?n:5e3,this.chunkSize=null!==(i=null==e?void 0:e.chunkSize)&&void 0!==i?i:5e3}updateChunkOptions(t){null!=t.chunkThreshold&&(this.chunkThreshold=t.chunkThreshold),null!=t.chunkSize&&(this.chunkSize=t.chunkSize)}clearLastData(){this.lastBoundedData=null,this.pushBuffer=[],this.flushScheduled=!1,this.chunkTimer&&(cancelAnimationFrame(this.chunkTimer),this.chunkTimer=0)}setBoundedData(t){if(t=k(t),this.lastBoundedData===t)return;if(this.lastBoundedData=t,this.chunkTimer&&(cancelAnimationFrame(this.chunkTimer),this.chunkTimer=0),this.chunkThreshold>=t.length)return void this.callback({inserts:t,bounded:!0});this.callback({inserts:t.slice(0,this.chunkSize),bounded:!0,totalSize:t.length});let e=this.chunkSize;const n=()=>{if(e>=t.length)return void(this.chunkTimer=0);if(t!==this.lastBoundedData)return void(this.chunkTimer=0);const i=Math.min(e+this.chunkSize,t.length);this.callback({inserts:t.slice(e,i),bounded:!1}),e=i,this.chunkTimer=t.length>e?requestAnimationFrame(n):0};this.chunkTimer=requestAnimationFrame(n)}setReplacementData(t){if(t=k(t),this.lastBoundedData=t,this.chunkTimer&&(cancelAnimationFrame(this.chunkTimer),this.chunkTimer=0),this.pushBuffer=[],this.flushScheduled=!1,this.chunkThreshold>=t.length)return void this.callback({inserts:t,bounded:!0,preserveCategoryOrder:!0});this.callback({inserts:t.slice(0,this.chunkSize),bounded:!0,preserveCategoryOrder:!0,totalSize:t.length});let e=this.chunkSize;const n=()=>{if(e>=t.length)return void(this.chunkTimer=0);if(t!==this.lastBoundedData)return void(this.chunkTimer=0);const i=Math.min(e+this.chunkSize,t.length);this.callback({inserts:t.slice(e,i),bounded:!1}),e=i,this.chunkTimer=t.length>e?requestAnimationFrame(n):0};this.chunkTimer=requestAnimationFrame(n)}flushPushBuffer(){if(this.flushScheduled=!1,0===this.pushBuffer.length)return;const t=this.pushBuffer;this.pushBuffer=[],this.callback({inserts:t,bounded:!1})}scheduleFlush(){this.flushScheduled||(this.flushScheduled=!0,queueMicrotask(()=>this.flushPushBuffer()))}push(t){null!=t&&"object"==typeof t&&(this.pushBuffer.push(t),this.scheduleFlush())}pushMany(t){if(0===t.length)return;let e=0;for(let n=0;t.length>n;n++){const i=t[n];null!=i&&"object"==typeof i&&(this.pushBuffer.push(i),e++)}0!==e&&this.scheduleFlush()}flush(){this.flushPushBuffer()}clear(){this.chunkTimer&&(cancelAnimationFrame(this.chunkTimer),this.chunkTimer=0),this.lastBoundedData=null,this.pushBuffer=[],this.flushScheduled=!1}}function A(n){let i=null;const o=()=>(i||(i=e.createContext(null)),i),r=M(n);return[function({children:i,initialState:r}){const s=e.useRef(r),l=e.useMemo(()=>M(n,s.current),[]),a=o();return t.jsx(a.Provider,{value:l,children:i})},t=>{var n;const i=o(),s=null!==(n=e.useContext(i))&&void 0!==n?n:r,l=e.useRef(t);l.current=t;const a=e.useCallback(()=>l.current(s.getState()),[s]),c=e.useCallback(()=>l.current(s.getState()),[s]);return e.useSyncExternalStore(s.subscribe,a,c)}]}function M(t,e){const n=new EventTarget;let i=Object.assign(Object.assign({},t(function(t){i=Object.assign(Object.assign({},i),t(i)),n.dispatchEvent(new Event("update"))})),null!=e?e:{});return{getState:()=>i,subscribe:function(t){return n.addEventListener("update",t),()=>n.removeEventListener("update",t)}}}function S(t){if(!(null==t?void 0:t.colors))return;const e=t.colors;return{primary:e.primary,secondary:e.secondary||e.primary,surface:e.surface||e.background,success:e.success,danger:e.danger,warning:e.warning,error:e.error,info:e.info,text:e.text,textSecondary:e.textSecondary,border:e.border,grid:e.grid}}function j(t){if(!t.accessibility)return t;let e=t;if(t.accessibility.colorBlindSafe&&(e=Object.assign(Object.assign({},e),{colors:Object.assign(Object.assign({},e.colors),{categorical:_})})),t.accessibility.highContrast){const t="dark"===e.mode;e=Object.assign(Object.assign({},e),{colors:Object.assign(Object.assign({},e.colors),{text:t?"#ffffff":"#000000",textSecondary:t?"#cccccc":"#333333",grid:t?"#666666":"#999999",border:t?"#888888":"#000000"})})}return e}const _=["#0072B2","#E69F00","#009E73","#CC79A7","#56B4E9","#D55E00","#F0E442","#000000"],P={mode:"light",colors:{primary:"#00a2ce",secondary:"#6c757d",categorical:["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],sequential:"blues",diverging:"RdBu",background:"transparent",surface:"#ffffff",text:"#333",textSecondary:"#666",grid:"#e0e0e0",border:"#ccc",selection:"#00a2ce",selectionOpacity:.15,success:"#2ca02c",danger:"#d62728",warning:"#f0ad4e",error:"#b4181b",info:"#00a2ce"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:12}},C={mode:"dark",colors:{primary:"#4fc3f7",secondary:"#90a4ae",categorical:["#4fc3f7","#ffb74d","#81c784","#ef5350","#ba68c8","#a1887f","#f06292","#90a4ae","#dce775","#4dd0e1"],sequential:"blues",diverging:"RdBu",background:"#1a1a2e",surface:"#252540",text:"#e0e0e0",textSecondary:"#aaa",grid:"#333",border:"#555",selection:"#4fc3f7",selectionOpacity:.15,success:"#81c784",danger:"#ef5350",warning:"#ffb74d",error:"#d84848",info:"#4fc3f7"},typography:{fontFamily:"sans-serif",titleSize:16,labelSize:12,tickSize:12}},E={mode:"light",colors:{primary:"#0000cc",secondary:"#333333",categorical:_,sequential:"blues",diverging:"RdBu",background:"#ffffff",surface:"#ffffff",text:"#000000",textSecondary:"#333333",grid:"#999999",border:"#000000",focus:"#0000cc",selection:"#0000cc",selectionOpacity:.1,success:"#006400",danger:"#cc0000",warning:"#b15a00",error:"#8b0000",info:"#0000cc"},typography:{fontFamily:"system-ui, sans-serif",titleSize:18,labelSize:14,tickSize:12},tooltip:{background:"#000000",text:"#ffffff",borderRadius:"4px",fontSize:"14px",shadow:"0 2px 8px rgba(0, 0, 0, 0.3)"},borderRadius:"4px"};function O(t,e){if("light"===e)return P;if("dark"===e)return C;if("high-contrast"===e)return E;if("string"==typeof e)return void 0!==console&&console.warn(`[ThemeStore] Unknown theme preset "${e}". Keeping current theme.`),t;if(e.mode&&"auto"!==e.mode){const t="dark"===e.mode?C:P;return j(Object.assign(Object.assign(Object.assign({},t),e),{colors:Object.assign(Object.assign({},t.colors),e.colors||{}),typography:Object.assign(Object.assign({},t.typography),e.typography||{})}))}return j(Object.assign(Object.assign(Object.assign({},t),e),{colors:Object.assign(Object.assign({},t.colors),e.colors||{}),typography:Object.assign(Object.assign({},t.typography),e.typography||{})}))}const[T,L]=A(t=>({theme:P,setTheme(e){t(t=>({theme:O(t.theme,e)}))}}));class D{constructor(t){if(this._capacity=t,this.head=0,this._size=0,1>t)throw Error("RingBuffer capacity must be at least 1");this.buffer=Array(t)}push(t){let e;return this._size===this._capacity?e=this.buffer[this.head]:this._size++,this.buffer[this.head]=t,this.head=(this.head+1)%this._capacity,e}pushMany(t){const e=[];for(const n of t){const t=this.push(n);void 0!==t&&e.push(t)}return e}get(t){if(t>=0&&this._size>t)return this.buffer[(this.head-this._size+t+this._capacity)%this._capacity]}peek(){if(0!==this._size)return this.buffer[(this.head-1+this._capacity)%this._capacity]}peekOldest(){if(0!==this._size)return this.buffer[(this.head-this._size+this._capacity)%this._capacity]}[Symbol.iterator](){let t=0;return{next:()=>this._size>t?{done:!1,value:this.get(t++)}:{done:!0,value:void 0}}}forEach(t){const e=(this.head-this._size+this._capacity)%this._capacity;for(let n=0;this._size>n;n++)t(this.buffer[(e+n)%this._capacity],n)}toArray(){const t=Array(this._size),e=(this.head-this._size+this._capacity)%this._capacity;for(let n=0;this._size>n;n++)t[n]=this.buffer[(e+n)%this._capacity];return t}resize(t){if(1>t)throw Error("RingBuffer capacity must be at least 1");const e=this.toArray(),n=[];for(;e.length>t;)n.push(e.shift());this._capacity=t,this.buffer=Array(t),this.head=0,this._size=0;for(const t of e)this.push(t);return n}update(t,e){const n=[],i=(this.head-this._size+this._capacity)%this._capacity;for(let o=0;this._size>o;o++){const r=(i+o)%this._capacity,s=this.buffer[r];if(t(s)){let t;t="object"!=typeof s||null===s?s:Array.isArray(s)?[...s]:Object.assign({},s),n.push(t),this.buffer[r]=e(s)}}return n}remove(t){const e=[],n=[];if(this.forEach(i=>{t(i)?n.push(i):e.push(i)}),0===n.length)return n;this.buffer=Array(this._capacity),this.head=0,this._size=0;for(const t of e)this.push(t);return n}clear(){this.buffer=Array(this._capacity),this.head=0,this._size=0}get size(){return this._size}get capacity(){return this._capacity}get full(){return this._size===this._capacity}}class N{constructor(){this._min=1/0,this._max=-1/0,this._dirty=!1}push(t){Number.isFinite(t)&&(this._min>t&&(this._min=t),t>this._max&&(this._max=t))}evict(t){t!==this._min&&t!==this._max||(this._dirty=!0)}recalculate(t,e){this._min=1/0,this._max=-1/0;for(const n of t){const t=e?e(n):n;Number.isFinite(t)&&(this._min>t&&(this._min=t),t>this._max&&(this._max=t))}this._dirty=!1}clear(){this._min=1/0,this._max=-1/0,this._dirty=!1}get extent(){return[this._min,this._max]}get min(){return this._min}get max(){return this._max}get dirty(){return this._dirty}}function R(t,e,n,i,o){const r=new Map;for(const s of t){const t=e(s),l=n(s);if(null==t||null==l||Number.isNaN(t)||Number.isNaN(l))continue;const a=Math.floor(t/i)*i;let c=r.get(a);if(c||(c={start:a,end:a+i,total:0,categories:new Map},r.set(a,c)),c.total+=l,o){const t=o(s);c.categories.set(t,(c.categories.get(t)||0)+l)}}return r}function $(t,e,n,i,o,r){const s=[];for(const o of t){const t=n(o),r=i(o);Number.isFinite(t)&&Number.isFinite(r)&&s.push({px:e.x(t),py:e.y(r),rawY:r,d:o})}s.sort((t,e)=>t.px-e.px);const l=Array(s.length),a=Array(s.length),c=Array(s.length);for(let t=0;s.length>t;t++){const e=s[t];l[t]=[e.px,e.py],a[t]=e.rawY,c[t]=e.d}return{type:"line",path:l,rawValues:a,style:o,datum:c,group:r}}function I(t,e,n,i,o,r,s,l){const a=[];for(const r of t){const t=n(r),s=i(r);if(!Number.isFinite(t)||!Number.isFinite(s))continue;const c=e.x(t),u=l?l(r):o;a.push({px:c,topY:e.y(s),botY:e.y(u)})}a.sort((t,e)=>t.px-e.px);const c=Array(a.length),u=Array(a.length);for(let t=0;a.length>t;t++){const e=a[t];c[t]=[e.px,e.topY],u[t]=[e.px,e.botY]}return{type:"area",topPath:c,bottomPath:u,style:r,datum:t,group:s}}function W(t,e,n,i){var o,r,s;const l=new Map;if("silhouette"===i)for(const i of t){let t=0;for(const o of e)t+=n(o,i)||0;l.set(i,-t/2)}else if("wiggle"===i){t.length>0&&l.set(t[0],0);for(let i=1;t.length>i;i++){const r=t[i-1],s=t[i];let a=0,c=0,u=0;for(const t of e){const e=n(t,s)||0;a+=(2*u+e)*(e-(n(t,r)||0)),c+=e,u+=e}const d=null!==(o=l.get(r))&&void 0!==o?o:0;l.set(s,d-(c>0?a/(2*c):0))}if(t.length>0){let i=0;for(const o of t){let t=0;for(const i of e)t+=n(i,o)||0;i+=(null!==(r=l.get(o))&&void 0!==r?r:0)+t/2}const o=i/t.length;for(const e of t)l.set(e,(null!==(s=l.get(e))&&void 0!==s?s:0)-o)}}else for(const e of t)l.set(e,0);return l}function z(t,e,n,i,o,r,s){const l=n(t),a=i(t);if(!Number.isFinite(l)||!Number.isFinite(a))return null;const c={type:"point",x:e.x(l),y:e.y(a),r:o,style:r,datum:t};return void 0!==s&&(c.pointId=s),c}function F(t,e,n,i,o,r,s){return{type:"rect",x:t,y:e,w:n,h:i,style:o,datum:r,group:s}}function Y(t,e,n,i,o,r,s){const l={type:"heatcell",x:t,y:e,w:n,h:i,fill:o,datum:r};return(null==s?void 0:s.showValues)&&(l.showValues=!0,l.value=s.value,s.valueFormat&&(l.valueFormat=s.valueFormat)),l}function B(t,e){return t===e||typeof t==typeof e&&"function"==typeof t&&"function"==typeof e&&""+t==""+e}function H(t,e){if("function"==typeof t)return e=>+t(e);const n=t||e;return t=>+t[n]}function X(t,e){if("function"==typeof t)return t;const n=t||e;return t=>t[n]}function G(t,e){return"function"==typeof t?t:t?e=>e[t]+"":void 0}function V(t){return[parseInt(t.slice(1,3),16),parseInt(t.slice(3,5),16),parseInt(t.slice(5,7),16)]}function q(t,e,n){const i=t=>t.toString(16).padStart(2,"0");return`#${i(t)}${i(e)}${i(n)}`}function U(t){const e=t.map(V),n=e.length-1;return t=>{if(0>=t){const[t,n,i]=e[0];return q(t,n,i)}if(t>=1){const[t,i,o]=e[n];return q(t,i,o)}const i=t*n,o=Math.floor(i),r=i-o,[s,l,a]=e[o],[c,u,d]=e[o+1];return q(Math.round(s+(c-s)*r),Math.round(l+(u-l)*r),Math.round(a+(d-a)*r))}}const K=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],Z=U(["#f7fbff","#deebf7","#c6dbef","#9ecae1","#6baed6","#4292c6","#2171b5","#08519c","#08306b"]),Q=U(["#fff5f0","#fee0d2","#fcbba1","#fc9272","#fb6a4a","#ef3b2c","#cb181d","#a50f15","#67000d"]),J=U(["#f7fcf5","#e5f5e0","#c7e9c0","#a1d99b","#74c476","#41ab5d","#238b45","#006d2c","#00441b"]),tt=U(["#fff5eb","#fee6ce","#fdd0a2","#fdae6b","#fd8d3c","#f16913","#d94801","#a63603","#7f2704"]),et=U(["#fcfbfd","#efedf5","#dadaeb","#bcbddc","#9e9ac8","#807dba","#6a51a3","#54278f","#3f007d"]),nt=U(["#ffffff","#f0f0f0","#d9d9d9","#bdbdbd","#969696","#737373","#525252","#252525","#000000"]),it=U(["#440154","#482878","#3e4989","#31688e","#26828e","#1f9e89","#35b779","#6ece58","#b5de2b","#fde725"]),ot=U(["#0d0887","#41049d","#6a00a8","#8f0da4","#b12a90","#cb4679","#e16462","#f1844b","#fca636","#fcce25","#f0f921"]),rt=U(["#000004","#160b39","#420a68","#6a176e","#932667","#bc3754","#dd513a","#f3771a","#fca50a","#f6d746","#fcffa4"]),st=U(["#000004","#140e36","#3b0f70","#641a80","#8c2981","#b73779","#de4968","#f7705c","#fe9f6d","#fecf92","#fcfdbf"]),lt=U(["#00224e","#123570","#3b496c","#575d6d","#707173","#8a8678","#a59c74","#c3b369","#e1cc55","#fee838","#ffea46"]),at=U(["#23171b","#4a58dd","#3f9ee9","#46c7af","#7eed5a","#cdf134","#fbb91f","#f56918","#c52f06","#7a0403"]);U(["#67001f","#b2182b","#d6604d","#f4a582","#fddbc7","#f7f7f7","#d1e5f0","#92c5de","#4393c3","#2166ac","#053061"]),U(["#8e0152","#c51b7d","#de77ae","#f1b6da","#fde0ef","#f7f7f7","#e6f5d0","#b8e186","#7fbc41","#4d9221","#276419"]),U(["#40004b","#762a83","#9970ab","#c2a5cf","#e7d4e8","#f7f7f7","#d9f0d3","#a6dba0","#5aae61","#1b7837","#00441b"]),U(["#543005","#8c510a","#bf812d","#dfc27d","#f6e8c3","#f5f5f5","#c7eae5","#80cdc1","#35978f","#01665e","#003c30"]),U(["#a50026","#d73027","#f46d43","#fdae61","#fee090","#ffffbf","#e0f3f8","#abd9e9","#74add1","#4575b4","#313695"]),U(["#a50026","#d73027","#f46d43","#fdae61","#fee08b","#ffffbf","#d9ef8b","#a6d96a","#66bd63","#1a9850","#006837"]),U(["#9e0142","#d53e4f","#f46d43","#fdae61","#fee08b","#ffffbf","#e6f598","#abdda4","#66c2a5","#3288bd","#5e4fa2"]);const ct={category10:K,tableau10:["#4e79a7","#f28e2c","#e15759","#76b7b2","#59a14f","#edc949","#af7aa1","#ff9da7","#9c755f","#bab0ab"],set3:["#8dd3c7","#ffffb3","#bebada","#fb8072","#80b1d3","#fdb462","#b3de69","#fccde5","#d9d9d9","#bc80bd","#ccebc5","#ffed6f"],blues:Z,reds:Q,greens:J,oranges:tt,purples:et,viridis:it,plasma:ot},ut=K,dt=["#4e79a7","#f28e2b","#e15759","#76b7b2","#59a14f","#edc948","#b07aa1","#ff9da7","#9c755f","#bab0ac"];function ht(t,e,n){var i,o,r;if(1>=n)return 1;const s=null!==(i=t.minOpacity)&&void 0!==i?i:.1,l=n-1-e;switch(t.type){case"linear":return s+(1-l/(n-1))*(1-s);case"exponential":{const e=null!==(o=t.halfLife)&&void 0!==o?o:n/2;return s+Math.pow(.5,l/e)*(1-s)}case"step":return(null!==(r=t.stepThreshold)&&void 0!==r?r:.5*n)>l?1:s;default:return 1}}function ft(t,e,n){var i;const o=null!==(i=t.duration)&&void 0!==i?i:500,r=n-e;return o>r?1-r/o:0}function gt(t,e="ease-out-cubic"){return"linear"===e?t:1-Math.pow(1-t,3)}function yt(t,e){return Math.min((t-e.startTime)/e.duration,1)}function pt(t,e,n){return t+(e-t)*n}function vt(t,e,n){var i,o,r,s;if(e._transitionKey)return e._transitionKey;switch(e.type){case"point":if(e.pointId)return"p:"+e.pointId;if("streaming"===t.runtimeMode&&e.datum){const n=t.getX(e.datum),i=t.getY(e.datum);if(t.getCategory)return`p:${t.getCategory(e.datum)}:${n}:${i}`;if(null!=n&&null!=i)return`p:${n}:${i}`}return"p:"+n;case"rect":return`r:${e.group||""}:${null!==(s=null!==(o=null===(i=e.datum)||void 0===i?void 0:i.binStart)&&void 0!==o?o:null===(r=e.datum)||void 0===r?void 0:r.category)&&void 0!==s?s:n}`;case"heatcell":return`h:${e.x}_${e.y}`;case"candlestick":return null==e.datum?"c:"+n:"c:"+t.getX(e.datum);case"line":return"l:"+(e.group||"_default");case"area":return"a:"+(e.group||"_default");default:return null}}function mt(t,e,n,i){return"function"==typeof e.style?e.style(i||{},n):e.style&&"object"==typeof e.style?e.style:t.resolveBoundsStyle(n,i)}function xt(t,e,n,i){if(!t.scales)return null;const o=[],r=[];for(const n of e){const e=t.getX(n);if(!Number.isFinite(e))continue;const s=i.getTop(n),l=i.getBottom(n);if(!Number.isFinite(s)||!Number.isFinite(l))continue;const a=t.scales.x(e),c=t.scales.y(s),u=t.scales.y(l);Number.isFinite(a)&&Number.isFinite(c)&&Number.isFinite(u)&&(o.push([a,c]),r.push([a,u]))}return 2>o.length?null:{type:"area",topPath:o,bottomPath:r,style:mt(t,i,n,e[0]),datum:e,group:n,interactive:i.interactive}}function bt(t){const e=[],n=[];if(!t)return{perSeries:e,aggregate:n};for(const i of t)i.perSeries?e.push(i):n.push(i);return{perSeries:e,aggregate:n}}function kt(t,e,n){const i=[];for(const o of n){const n=xt(t,e,"__ribbon_aggregate",o);n&&i.push(n)}return i}function wt(t,e,n,i){const o=[];for(const r of i){const i=xt(t,e,n,r);i&&o.push(i)}return o}function At(t,e){if(!t)return{};if(!e||0===e.length)return t;const n=[];for(const i of e){if("band"!==i.kind)continue;const e=i.getTop(t),o=i.getBottom(t);Number.isFinite(o)&&Number.isFinite(e)&&n.push({y0:o,y1:e})}return 0===n.length?t:Object.assign(Object.assign({},t),{band:n[0],bands:n})}function Mt(t,e,n,i){var o;if(!t.config.pointStyle)return;const r=null!=i?i:t.getY;for(const i of e){const e=t.resolveGroupColor(i.key);for(const s of i.data){let i=t.config.pointStyle(s);!i.fill&&e&&(i=Object.assign(Object.assign({},i),{fill:e}));const l=null!==(o=i.r)&&void 0!==o?o:3,a=t.getPointId?t.getPointId(s)+"":void 0,c=z(s,t.scales,t.getX,r,l,i,a);c&&n.push(c)}}}const St={topOpacity:.8,bottomOpacity:.05};function jt(t){var e,n;if(t)return!0===t?St:"colorStops"in t?t:{topOpacity:null!==(e=t.topOpacity)&&void 0!==e?e:St.topOpacity,bottomOpacity:null!==(n=t.bottomOpacity)&&void 0!==n?n:St.bottomOpacity}}const _t={blues:Z,reds:Q,greens:J,viridis:it,oranges:tt,purples:et,greys:nt,plasma:ot,inferno:rt,magma:st,cividis:lt,turbo:at},Pt=new Map;function Ct(t,e){const n="function"==typeof t?t:n=>n[t||e];return t=>{const e=n(t);return null==e?NaN:+e}}function Et(t){const e=[],n=["bar","swarm","waterfall"].includes(t.chartType)||"streaming"===t.runtimeMode,i=Ct(n&&t.valueAccessor||t.yAccessor,n?"value":"y");if(t.boundsAccessor){const n=H(t.boundsAccessor,"bounds");e.push({kind:"bounds",getTop:t=>{const e=i(t);if(!Number.isFinite(e))return NaN;const o=n(t);return Number.isFinite(o)&&0!==o?e+o:e},getBottom:t=>{const e=i(t);if(!Number.isFinite(e))return NaN;const o=n(t);return Number.isFinite(o)&&0!==o?e-o:e},style:t.boundsStyle,perSeries:!0,interactive:!1})}if(t.band){const n=Array.isArray(t.band)?t.band:[t.band];for(const t of n)e.push({kind:"band",getTop:Ct(t.y1Accessor,"y1"),getBottom:Ct(t.y0Accessor,"y0"),style:t.style,perSeries:!1!==t.perSeries,interactive:!0===t.interactive})}return e}class Ot{constructor(t){if(this.xExtent=new N,this.yExtent=new N,this.resolvedRibbons=[],this.timestampBuffer=null,this.activeTransition=null,this._hasRenderedOnce=!1,this.prevPositionMap=new Map,this.prevPathMap=new Map,this.exitNodes=[],this.lastIngestTime=0,this._colorMapCache=null,this._groupColorMap=new Map,this._groupColorCounter=0,this._barCategoryCache=null,this._binBoundaries=[],this._stackExtentCache=null,this._ingestVersion=0,this._bufferArrayCache=null,this._bufferDirty=!0,this.needsFullRebuild=!0,this.lastLayout=null,this.scales=null,this.scene=[],this.version=0,this.customLayoutOverlays=null,this.xIsDate=!1,this._quadtree=null,this._maxPointRadius=0,this._lastBoundedInsertsRef=null,this.config=t,this.buffer=new D(t.windowSize),this.growingCap=t.windowSize,["bar","swarm","waterfall"].includes(t.chartType)||"streaming"===t.runtimeMode?(this.getX=H(t.timeAccessor||t.xAccessor,"time"),this.getY=H(t.valueAccessor||t.yAccessor,"value")):(this.getX=H(t.xAccessor,"x"),this.getY=H(t.yAccessor,"y")),this.getGroup=G(t.groupAccessor),this.getCategory=G(t.categoryAccessor),this.getSize=t.sizeAccessor?H(t.sizeAccessor,"size"):void 0,this.getColor=G(t.colorAccessor),this.getY0=t.y0Accessor?H(t.y0Accessor,"y0"):void 0,this.resolvedRibbons=Et(t),this.getPointId=G(t.pointIdAccessor),"candlestick"===t.chartType){const e=null!=t.openAccessor,n=null!=t.closeAccessor;this.getOpen=e?H(t.openAccessor,"open"):void 0,this.getHigh=H(t.highAccessor,"high"),this.getLow=H(t.lowAccessor,"low"),this.getClose=n?H(t.closeAccessor,"close"):void 0,this.config.candlestickRangeMode=!e&&!n}t.pulse&&(this.timestampBuffer=new D(t.windowSize))}pushDatumYExtent(t){if("candlestick"===this.config.chartType&&this.getHigh&&this.getLow)return this.yExtent.push(this.getHigh(t)),void this.yExtent.push(this.getLow(t));this.yExtent.push(this.getY(t)),this.getY0&&this.yExtent.push(this.getY0(t));for(const e of this.resolvedRibbons){const n=e.getTop(t),i=e.getBottom(t);Number.isFinite(n)&&this.yExtent.push(n),Number.isFinite(i)&&this.yExtent.push(i)}}rebuildYExtent(){this.yExtent.clear();for(const t of this.buffer)this.pushDatumYExtent(t)}rebuildExtents(){this.xExtent.clear(),this.yExtent.clear();for(const t of this.buffer)this.xExtent.push(this.getX(t)),this.pushDatumYExtent(t)}ingest(t){if(t.bounded&&this._lastBoundedInsertsRef===t.inserts)return!1;const e="undefined"!=typeof performance?performance.now():Date.now();if(this.lastIngestTime=e,this.needsFullRebuild=!0,this._bufferDirty=!0,this._ingestVersion++,t.bounded){if(this._lastBoundedInsertsRef=t.inserts,this.buffer.clear(),this.xExtent.clear(),this.yExtent.clear(),this.timestampBuffer&&this.timestampBuffer.clear(),this.getX=["bar","swarm","waterfall"].includes(this.config.chartType)||"streaming"===this.config.runtimeMode?H(this.config.timeAccessor||this.config.xAccessor,"time"):H(this.config.xAccessor,"x"),this.xIsDate=!1,t.inserts.length>0){const e=t.inserts[0],n=this.config.xAccessor,i="function"==typeof n?n(e):e[n||"x"],o=i instanceof Date,r="string"==typeof i&&i.length>=10&&!isNaN(new Date(i).getTime())&&isNaN(Number(i));if(this.xIsDate=o||r,r){const t="string"==typeof n?n:void 0;this.getX=t?e=>+new Date(e[t]):t=>+(n(t)instanceof Date?n(t):new Date(n(t)))}}const n=t.totalSize||t.inserts.length;n>this.buffer.capacity&&(this.buffer.resize(n),this.timestampBuffer&&n>this.timestampBuffer.capacity&&this.timestampBuffer.resize(n));for(const n of t.inserts)if(this.buffer.push(n),this.timestampBuffer&&this.timestampBuffer.push(e),this.xExtent.push(this.getX(n)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow)this.yExtent.push(this.getHigh(n)),this.yExtent.push(this.getLow(n));else{this.yExtent.push(this.getY(n)),this.getY0&&this.yExtent.push(this.getY0(n));for(const t of this.resolvedRibbons){const e=t.getTop(n),i=t.getBottom(n);Number.isFinite(e)&&this.yExtent.push(e),Number.isFinite(i)&&this.yExtent.push(i)}}}else for(const n of t.inserts){if("growing"===this.config.windowMode&&this.buffer.full){const t=this.config.maxCapacity||1e6;t>this.growingCap&&(this.growingCap=Math.min(2*this.growingCap,t),this.buffer.resize(this.growingCap),this.timestampBuffer&&this.timestampBuffer.resize(this.growingCap))}const t=this.buffer.push(n);if(this.timestampBuffer&&this.timestampBuffer.push(e),this.xExtent.push(this.getX(n)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow)this.yExtent.push(this.getHigh(n)),this.yExtent.push(this.getLow(n));else{this.yExtent.push(this.getY(n)),this.getY0&&this.yExtent.push(this.getY0(n));for(const t of this.resolvedRibbons){const e=t.getTop(n),i=t.getBottom(n);Number.isFinite(e)&&this.yExtent.push(e),Number.isFinite(i)&&this.yExtent.push(i)}}if(null!=t)if(this.xExtent.evict(this.getX(t)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow)this.yExtent.evict(this.getHigh(t)),this.yExtent.evict(this.getLow(t));else{this.yExtent.evict(this.getY(t)),this.getY0&&this.yExtent.evict(this.getY0(t));for(const e of this.resolvedRibbons){const n=e.getTop(t),i=e.getBottom(t);Number.isFinite(n)&&this.yExtent.evict(n),Number.isFinite(i)&&this.yExtent.evict(i)}}}return!0}computeScene(t){var e,n,i,r,s,l,a,c,u,d,h,f,g,y;const{config:p,buffer:v}=this;if(!this.needsFullRebuild&&this.lastLayout&&this.scene.length>0&&this.scales&&0>=(null!==(e=this.config.scalePadding)&&void 0!==e?e:0)&&(this.lastLayout.width!==t.width||this.lastLayout.height!==t.height))return void this.remapScene(t);this.xExtent.dirty&&this.xExtent.recalculate(v,this.getX),this.yExtent.dirty&&this.rebuildYExtent();const m=this.getBufferArray(),x=this.xExtent.extent,b=this.yExtent.extent;let k=p.xExtent?[null!==(n=p.xExtent[0])&&void 0!==n?n:x[0],null!==(i=p.xExtent[1])&&void 0!==i?i:x[1]]:x,w=p.yExtent?[null!==(r=p.yExtent[0])&&void 0!==r?r:b[0],null!==(s=p.yExtent[1])&&void 0!==s?s:b[1]]:b;const A=p.yExtent&&null!=p.yExtent[0]&&null!=p.yExtent[1],M="exact"===p.axisExtent;if("stackedarea"===p.chartType&&!A&&v.size>0)if(p.normalize)w=[0,M?1:1+p.extentPadding];else{const t=`${v.size}:${this._ingestVersion}:${null!==(l=p.baseline)&&void 0!==l?l:"zero"}:${null!==(a=p.stackOrder)&&void 0!==a?a:"key"}`;if(this._stackExtentCache&&this._stackExtentCache.key===t)w=this._stackExtentCache.yDomain;else{const e=this.groupData(m),n=new Map,i=new Set;let o=0;const r=new Map,s=new Map;for(const t of e){const e=new Map;let l=0;for(const n of t.data){const t=this.getX(n),s=this.getY(n);if(!Number.isFinite(t)||!Number.isFinite(s))continue;e.set(t,(e.get(t)||0)+s),i.add(t),l+=s;const a=(r.get(t)||0)+s;r.set(t,a),a>o&&(o=a)}n.set(t.key,e),s.set(t.key,l)}const l=null!==(c=p.stackOrder)&&void 0!==c?c:"key",a=(t,e)=>e>t?-1:t>e?1:0;let g;if("insideOut"===l){const t=[...e].map(t=>t.key).sort((t,e)=>{var n,i;const o=(null!==(n=s.get(e))&&void 0!==n?n:0)-(null!==(i=s.get(t))&&void 0!==i?i:0);return 0!==o?o:a(t,e)}),n=[],i=[];let o=0,r=0;for(const e of t)r>o?(n.push(e),o+=null!==(u=s.get(e))&&void 0!==u?u:0):(i.push(e),r+=null!==(d=s.get(e))&&void 0!==d?d:0);g=[...i.reverse(),...n]}else g="asc"===l?e.map(t=>t.key).sort((t,e)=>{var n,i;const o=(null!==(n=s.get(t))&&void 0!==n?n:0)-(null!==(i=s.get(e))&&void 0!==i?i:0);return 0!==o?o:a(t,e)}):"desc"===l?e.map(t=>t.key).sort((t,e)=>{var n,i;const o=(null!==(n=s.get(e))&&void 0!==n?n:0)-(null!==(i=s.get(t))&&void 0!==i?i:0);return 0!==o?o:a(t,e)}):e.map(t=>t.key).sort(a);if("wiggle"===p.baseline||"silhouette"===p.baseline){const t=Array.from(i).sort((t,e)=>t-e),e=W(t,g,(t,e)=>{var i;return(null===(i=n.get(t))||void 0===i?void 0:i.get(e))||0},p.baseline);let o=1/0,s=-1/0;for(const n of t){const t=null!==(h=e.get(n))&&void 0!==h?h:0,i=null!==(f=r.get(n))&&void 0!==f?f:0;o>t&&(o=t),t+i>s&&(s=t+i)}Number.isFinite(o)&&Number.isFinite(s)||(o=0,s=0);const l=s-o,a=M?0:l>0?l*p.extentPadding:1;w=[o-a,s+a]}else w=[0,o+(M?0:o>0?o*p.extentPadding:1)];this._stackExtentCache={key:t,yDomain:w}}}else if("bar"===p.chartType&&p.binSize&&!A&&v.size>0){const[,t]=function(t,e,n,i,o){const r=R(t,e,n,i,o);if(0===r.size)return[0,0];let s=0;for(const t of r.values())t.total>s&&(s=t.total);return[0,s]}(v,this.getX,this.getY,p.binSize,this.getCategory);w=[0,M?t:t+t*p.extentPadding]}else if("waterfall"===p.chartType&&!A&&v.size>0){const[t,e]=function(t,e){let n=0,i=0,o=0;for(const r of t){const t=e(r);null==t||Number.isNaN(t)||(o+=t,n>o&&(n=o),o>i&&(i=o))}return[n,i]}(v,this.getY),n=e-t,i=M?0:n>0?n*p.extentPadding:1;w=[Math.min(0,t-Math.abs(i)),Math.max(0,e+Math.abs(i))]}else if(!A&&w[0]!==1/0){if(this.resolvedRibbons.length>0)for(const t of m)for(const e of this.resolvedRibbons){const n=e.getTop(t),i=e.getBottom(t);Number.isFinite(n)&&(w[0]>n&&(w[0]=n),n>w[1]&&(w[1]=n)),Number.isFinite(i)&&(w[0]>i&&(w[0]=i),i>w[1]&&(w[1]=i))}const t=w[1]-w[0],e=M?0:t>0?t*p.extentPadding:1,n=null===(g=p.yExtent)||void 0===g?void 0:g[0],i=null===(y=p.yExtent)||void 0===y?void 0:y[1];w=[null!=n?w[0]:w[0]-e,null!=i?w[1]:w[1]+e],"log"!==p.yScaleType||w[0]>0||0>=b[0]||M||(w[0]=null!=n?w[0]:b[0]/(1+p.extentPadding))}if(p.yExtent&&!A){const t=p.yExtent[0],e=p.yExtent[1];null==t&&null==e||(w=[null!=t?t:w[0],null!=e?e:w[1]])}if(k[0]===1/0||k[1]===-1/0)if("time"===p.xScaleType){const t=Date.now();k=[t-864e5,t]}else k=[0,1];w[0]!==1/0&&w[1]!==-1/0||(w=[0,1]);const S="streaming"===p.runtimeMode,j=Math.max(0,Math.min(p.scalePadding||0,Math.min(t.width,t.height)/2-1));if(S)if("x"==("up"===(_=p.arrowOfTime)||"down"===_?"y":"x")){const e="right"===p.arrowOfTime?[j,t.width-j]:[t.width-j,j];this.scales={x:o.scaleLinear().domain(k).range(e),y:o.scaleLinear().domain(w).range([t.height-j,j])}}else{const e="down"===p.arrowOfTime?[j,t.height-j]:[t.height-j,j];this.scales={x:o.scaleLinear().domain(w).range([j,t.width-j]),y:o.scaleLinear().domain(k).range(e)}}else{const e=(t,e,n)=>{if("log"===t){const t=[Math.max(e[0],1e-6),Math.max(e[1],1e-6)];return o.scaleLog().domain(t).range(n).clamp(!0)}return"time"===t?o.scaleTime().domain([new Date(e[0]),new Date(e[1])]).range(n):o.scaleLinear().domain(e).range(n)};this.scales={x:e(p.xScaleType,k,[j,t.width-j]),y:e(p.yScaleType,w,[t.height-j,j])}}var _;this.config.transition&&this.scene.length>0&&this.snapshotPositions(),this.scene=this.buildSceneNodes(t,m),this.config.decay&&this.applyDecay(this.scene,m),this.config.pulse&&this.applyPulse(this.scene,m),this.config.transition&&!this._hasRenderedOnce&&this.scene.length>0&&(this.config.introAnimation&&this.synthesizeIntroPositions(),this._hasRenderedOnce=!0),this.config.transition&&(this.prevPositionMap.size>0||this.prevPathMap.size>0)&&this.startTransition(),this.rebuildQuadtree(),this.needsFullRebuild=!1,this.lastLayout={width:t.width,height:t.height},this.version++}rebuildQuadtree(){const t=this.config.chartType;if("scatter"!==t&&"bubble"!==t)return this._quadtree=null,void(this._maxPointRadius=0);let e=0,n=0;for(const t of this.scene)"point"===t.type&&(e++,t.r>n&&(n=t.r));if(this._maxPointRadius=n,Ot.QUADTREE_THRESHOLD>=e)return void(this._quadtree=null);const i=Array(e);let o=0;for(const t of this.scene)"point"===t.type&&(i[o++]=t);this._quadtree=r.quadtree().x(t=>t.x).y(t=>t.y).addAll(i)}get quadtree(){return this._quadtree}get maxPointRadius(){return this._maxPointRadius}remapScene(t){const e=t.width/this.lastLayout.width,n=t.height/this.lastLayout.height;for(const t of this.scene)switch(t.type){case"line":for(const i of t.path)i[0]*=e,i[1]*=n;break;case"area":for(const i of t.topPath)i[0]*=e,i[1]*=n;for(const i of t.bottomPath)i[0]*=e,i[1]*=n;t.clipRect&&(t.clipRect={x:t.clipRect.x*e,y:t.clipRect.y*n,width:t.clipRect.width*e,height:t.clipRect.height*n});break;case"point":t.x*=e,t.y*=n;break;case"rect":case"heatcell":t.x*=e,t.y*=n,t.w*=e,t.h*=n;break;case"candlestick":t.x*=e,t.openY*=n,t.closeY*=n,t.highY*=n,t.lowY*=n}const i=this.scales.x.domain(),r=this.scales.y.domain(),s=this.scales.x.range(),l=this.scales.y.range(),a=(t,e,n)=>{if("log"===t){const t=[Math.max(e[0],1e-6),Math.max(e[1],1e-6)];return o.scaleLog().domain(t).range(n).clamp(!0)}return"time"===t?o.scaleTime().domain([new Date(e[0]),new Date(e[1])]).range(n):o.scaleLinear().domain(e).range(n)},c=Math.max(0,Math.min(this.config.scalePadding||0,Math.min(t.width,t.height)/2-1)),u=l[1]>l[0];this.scales={x:a(this.config.xScaleType,i,s[0]>s[1]?[t.width-c,c]:[c,t.width-c]),y:a(this.config.yScaleType,r,u?[c,t.height-c]:[t.height-c,c])},this.lastLayout={width:t.width,height:t.height},this.rebuildQuadtree(),this.version++}buildSceneNodes(t,e){var n,i,o,r,s,l,a;const{config:c,scales:u}=this;if(!u)return[];if(c.customLayout){const a=null!==(n=c.layoutMargin)&&void 0!==n?n:{top:0,right:0,bottom:0,left:0},d={data:e,scales:u,dimensions:{width:t.width,height:t.height,margin:a,plot:{x:0,y:0,width:t.width,height:t.height}},theme:{semantic:null!==(i=c.themeSemantic)&&void 0!==i?i:{},categorical:null!==(o=c.themeCategorical)&&void 0!==o?o:dt},resolveColor:(t,e)=>{var n,i;const o=this.resolveGroupColor(t);if(o)return o;const r=this.resolveLineStyle(t,e);return r.stroke?r.stroke:"string"==typeof r.fill?r.fill:null!==(i=null===(n=c.themeSemantic)||void 0===n?void 0:n.primary)&&void 0!==i?i:"#4e79a7"},config:null!==(r=c.layoutConfig)&&void 0!==r?r:{}};let h;try{h=c.customLayout(d)}catch(t){return"production"!==process.env.NODE_ENV&&console.error("[semiotic] customLayout threw:",t),this.customLayoutOverlays=null,[]}return this.customLayoutOverlays=null!==(s=h.overlays)&&void 0!==s?s:null,null!==(l=h.nodes)&&void 0!==l?l:[]}if(this.customLayoutOverlays=null,0===e.length)return[];const d={scales:u,config:c,getX:this.getX,getY:this.getY,getY0:this.getY0,getSize:this.getSize,getColor:this.getColor,getGroup:this.getGroup,getCategory:this.getCategory,getPointId:this.getPointId,ribbons:this.resolvedRibbons,getOpen:this.getOpen,getHigh:this.getHigh,getLow:this.getLow,getClose:this.getClose,resolveLineStyle:(t,e)=>this.resolveLineStyle(t,e),resolveAreaStyle:(t,e)=>this.resolveAreaStyle(t,e),resolveBoundsStyle:(t,e)=>this.resolveBoundsStyle(t,e),resolveColorMap:t=>this.resolveColorMap(t),resolveGroupColor:t=>this.resolveGroupColor(t),groupData:t=>this.groupData(t),barCategoryCache:this._barCategoryCache};switch(c.chartType){case"line":return function(t,e){var n;const i=t.groupData(e),o=[],r=null===(n=t.config.annotations)||void 0===n?void 0:n.filter(t=>"threshold"===t.type&&t.color).map(t=>({value:t.value,color:t.color,thresholdType:t.thresholdType||"greater"}));if(t.ribbons&&t.ribbons.length>0){const{perSeries:n,aggregate:r}=bt(t.ribbons);if(r.length>0&&o.push(...kt(t,e,r)),n.length>0)for(const e of i)o.push(...wt(t,e.data,e.key,n))}for(const e of i){const n=t.resolveLineStyle(e.key,e.data[0]),i=$(e.data,t.scales,t.getX,t.getY,n,e.key);r&&r.length>0&&(i.colorThresholds=r),t.config.curve&&"linear"!==t.config.curve&&(i.curve=t.config.curve),t.config.lineGradient&&(i.strokeGradient=t.config.lineGradient),o.push(i)}return Mt(t,i,o),o}(d,e);case"area":return function(t,e){const n=t.groupData(e),i=[];if(t.ribbons&&t.ribbons.length>0){const{perSeries:o,aggregate:r}=bt(t.ribbons);if(r.length>0&&i.push(...kt(t,e,r)),o.length>0)for(const e of n)i.push(...wt(t,e.data,e.key,o))}const o=t.scales.y.domain()[0],r=t.getY0?e=>{const n=t.getY0(e);return null==n?o:n}:void 0;for(const e of n){const n=t.resolveAreaStyle(e.key,e.data[0]),s=I(e.data,t.scales,t.getX,t.getY,o,n,e.key,r),l=jt(t.config.gradientFill);l&&(s.fillGradient=l),t.config.curve&&"linear"!==t.config.curve&&(s.curve=t.config.curve),t.config.lineGradient&&(s.strokeGradient=t.config.lineGradient),i.push(s)}return Mt(t,n,i),i}(d,e);case"mixed":return function(t,e){const n=t.groupData(e),i=[],o=t.config.areaGroups||new Set;if(t.ribbons&&t.ribbons.length>0){const{perSeries:o,aggregate:r}=bt(t.ribbons);if(r.length>0&&i.push(...kt(t,e,r)),o.length>0)for(const e of n)i.push(...wt(t,e.data,e.key,o))}const r=t.scales.y.domain()[0],s=t.getY0?e=>{const n=t.getY0(e);return null==n?r:n}:void 0;for(const e of n)if(o.has(e.key)){const n=t.resolveAreaStyle(e.key,e.data[0]),o=I(e.data,t.scales,t.getX,t.getY,r,n,e.key,s),l=jt(t.config.gradientFill);l&&(o.fillGradient=l),t.config.curve&&"linear"!==t.config.curve&&(o.curve=t.config.curve),t.config.lineGradient&&(o.strokeGradient=t.config.lineGradient),i.push(o)}else{const n=t.resolveLineStyle(e.key,e.data[0]),o=$(e.data,t.scales,t.getX,t.getY,n,e.key);t.config.curve&&"linear"!==t.config.curve&&(o.curve=t.config.curve),t.config.lineGradient&&(o.strokeGradient=t.config.lineGradient),i.push(o)}return Mt(t,n,i),i}(d,e);case"stackedarea":return function(t,e){var n,i,o,r;const s=t.groupData(e),l=null!==(n=t.config.stackOrder)&&void 0!==n?n:"key",a=()=>s.sort((t,e)=>e.key>t.key?-1:t.key>e.key?1:0);if("key"===l)a();else if("asc"===l||"desc"===l||"insideOut"===l){const e=new Map;for(const n of s){let i=0;for(const e of n.data){const n=t.getX(e),o=t.getY(e);Number.isFinite(n)&&Number.isFinite(o)&&(i+=o)}e.set(n.key,i)}const n=(t,e)=>e>t?-1:t>e?1:0;if("asc"===l)s.sort((t,i)=>{var o,r;const s=(null!==(o=e.get(t.key))&&void 0!==o?o:0)-(null!==(r=e.get(i.key))&&void 0!==r?r:0);return 0!==s?s:n(t.key,i.key)});else if("desc"===l)s.sort((t,i)=>{var o,r;const s=(null!==(o=e.get(i.key))&&void 0!==o?o:0)-(null!==(r=e.get(t.key))&&void 0!==r?r:0);return 0!==s?s:n(t.key,i.key)});else{const t=[...s].sort((t,i)=>{var o,r;const s=(null!==(o=e.get(i.key))&&void 0!==o?o:0)-(null!==(r=e.get(t.key))&&void 0!==r?r:0);return 0!==s?s:n(t.key,i.key)}),r=[],l=[];let a=0,c=0;for(const n of t)c>a?(r.push(n),a+=null!==(i=e.get(n.key))&&void 0!==i?i:0):(l.push(n),c+=null!==(o=e.get(n.key))&&void 0!==o?o:0);s.length=0,s.push(...l.reverse(),...r)}}else a();const c=t.config.curve&&"linear"!==t.config.curve?t.config.curve:void 0,u=t.config.normalize?"zero":null!==(r=t.config.baseline)&&void 0!==r?r:"zero",{nodes:d,stackedTops:h}=function(t,e,n,i,o,r,s,l="zero"){var a,c;const u=new Set;for(const e of t)for(const t of e.data){const e=n(t);Number.isFinite(e)&&u.add(e)}const d=Array.from(u).sort((t,e)=>t-e),h=new Map;for(const e of t){const t=new Map;for(const o of e.data){const e=n(o),r=i(o);Number.isFinite(e)&&Number.isFinite(r)&&t.set(e,(t.get(e)||0)+r)}h.set(e.key,t)}let f;if(r){f=new Map;for(const e of d){let n=0;for(const i of t)n+=(null===(a=h.get(i.key))||void 0===a?void 0:a.get(e))||0;f.set(e,n||1)}}const g=W(d,t.map(t=>t.key),(t,e)=>{var n;return(null===(n=h.get(t))||void 0===n?void 0:n.get(e))||0},l),y=[],p=new Map,v=new Map;for(const t of d)v.set(t,null!==(c=g.get(t))&&void 0!==c?c:0);for(const n of t){const t=h.get(n.key),i=[],l=[],a=new Map;for(const n of d){let o=t.get(n)||0;const s=v.get(n);r&&(o/=f.get(n));const c=s+o,u=e.x(n);l.push([u,e.y(s)]),i.push([u,e.y(c)]),v.set(n,c),a.set(n,c)}p.set(n.key,a);const c={type:"area",topPath:i,bottomPath:l,style:o(n.key,n.data[0]),datum:n.data,group:n.key};s&&(c.curve=s),y.push(c)}return{nodes:y,stackedTops:p}}(s,t.scales,t.getX,t.getY,(e,n)=>t.resolveAreaStyle(e,n),t.config.normalize,c,u),f=d;if(t.config.pointStyle){const e=new WeakMap;for(const n of s){const i=h.get(n.key);if(i)for(const o of n.data){const n=t.getX(o),r=t.getY(o);null==n||Number.isNaN(n)||null==r||Number.isNaN(r)||!i.has(n)||e.set(o,i.get(n))}}const n=n=>{var i;return null!==(i=e.get(n))&&void 0!==i?i:t.getY(n)};Mt(t,s,f,n)}return f}(d,e);case"scatter":case"bubble":return function(t,e){var n;const i=[],o="bubble"===t.config.chartType?10:5,r=t.config.sizeRange||[3,15];let s=null;if(t.getSize&&!t.config.pointStyle){const n=e.map(e=>t.getSize(e)).filter(t=>null!=t&&!Number.isNaN(t));if(n.length>0){let t=1/0,e=-1/0;for(const i of n)t>i&&(t=i),i>e&&(e=i);s=n=>t===e?(r[0]+r[1])/2:r[0]+(n-t)/(e-t)*(r[1]-r[0])}}const l=t.getColor?t.resolveColorMap(e):null,a=(null===(n=t.config.themeSemantic)||void 0===n?void 0:n.primary)||"#4e79a7";for(const n of e){let e=t.config.pointStyle?t.config.pointStyle(n):{fill:a,opacity:.8},r=e.r||o;if(s&&t.getSize){const e=t.getSize(n);null==e||Number.isNaN(e)||(r=s(e))}if(l&&t.getColor&&!e.fill){const i=t.getColor(n);i&&l.has(i)&&(e=Object.assign(Object.assign({},e),{fill:l.get(i)}))}const c=t.getPointId?t.getPointId(n)+"":void 0,u=z(n,t.scales,t.getX,t.getY,r,e,c);u&&i.push(u)}return i}(d,e);case"heatmap":return function(t,e,n){if(t.config.heatmapAggregation)return function(t,e,n){var i,o,r;const s=Math.max(1,Math.floor(null!==(i=t.config.heatmapXBins)&&void 0!==i?i:20)),l=Math.max(1,Math.floor(null!==(o=t.config.heatmapYBins)&&void 0!==o?o:20)),a=null!==(r=t.config.heatmapAggregation)&&void 0!==r?r:"count",c=H(t.config.valueAccessor,"value");if(!t.scales||0===e.length)return[];const[u,d]=t.scales.x.domain(),[h,f]=t.scales.y.domain(),g=(d-u||1)/s,y=(f-h||1)/l,p=s*l;if(p>1e6)return[];const v=new Int32Array(p),m=new Float64Array(p);for(let n=0;e.length>n;n++){const i=e[n],o=t.getX(i),r=t.getY(i);if(!isFinite(o)||!isFinite(r))continue;const a=Math.min(Math.floor((o-u)/g),s-1),d=Math.min(Math.floor((r-h)/y),l-1);if(0>a||0>d)continue;const f=d*s+a;v[f]++;const p=c(i);m[f]+=isFinite(p)?p:0}let x=1/0,b=-1/0;for(let t=0;p>t;t++){if(0===v[t])continue;let e;switch(a){case"sum":e=m[t];break;case"mean":e=m[t]/v[t];break;default:e=v[t]}x>e&&(x=e),e>b&&(b=e)}if(!isFinite(x))return[];const k=b-x||1,w=n.width/s,A=n.height/l,M=t.config.showValues,S=t.config.heatmapValueFormat,j=[];for(let t=0;l>t;t++){const e=t*s;for(let n=0;s>n;n++){const i=e+n;if(0===v[i])continue;let o;switch(a){case"sum":o=m[i];break;case"mean":o=m[i]/v[i];break;default:o=v[i]}const r=(o-x)/k;j.push(Y(n*w,(l-1-t)*A,w,A,`rgb(${220-(180*r+.5)|0},${220-(100*r+.5)|0},${255-(50*r+.5)|0})`,{xi:n,yi:t,value:o,count:v[i],sum:m[i],xCenter:u+(n+.5)*g,yCenter:h+(t+.5)*y,agg:a},M?{value:o,showValues:!0,valueFormat:S}:void 0))}}return j}(t,e,n);if(0===e.length)return[];const i=H(t.config.valueAccessor,"value"),o=X(t.config.xAccessor,"x"),r=X(t.config.yAccessor,"y"),s=new Map,l=new Map,a=Array(e.length),c=Array(e.length);for(let t=0;e.length>t;t++){const n=e[t],i=o(n),u=r(n);a[t]=i,c[t]=u,s.has(i)||s.set(i,s.size),l.has(u)||l.set(u,l.size)}const u=s.size,d=l.size;if(0===u||0===d)return[];const h=Array.from(s.keys()),f=Array.from(l.keys()),g=h.every(t=>"number"==typeof t&&!isNaN(t)),y=f.every(t=>"number"==typeof t&&!isNaN(t));if(g){h.sort((t,e)=>t-e),s.clear();for(let t=0;h.length>t;t++)s.set(h[t],t)}if(y){f.sort((t,e)=>t-e),l.clear();for(let t=0;f.length>t;t++)l.set(f[t],t)}const p=new Float64Array(e.length),v=new Float64Array(e.length),m=Array(e.length),x=new Map;let b=0;for(let t=0;e.length>t;t++){const n=e[t],o=s.get(a[t]),r=l.get(c[t]);if(void 0===o||void 0===r)continue;const d=i(n),h=r*u+o,f=x.get(h);let g;void 0!==f?g=f:(g=b++,x.set(h,g)),p[g]=h,v[g]=d,m[g]=n}let k=1/0,w=-1/0;for(let t=0;b>t;t++){const e=v[t];isFinite(e)&&(k>e&&(k=e),e>w&&(w=e))}if(!isFinite(k)||!isFinite(w))return[];const A=function(t){const e=t in _t?t:"blues";let n=Pt.get(e);if(n)return n;n=Array(256);const i=_t[e]||Z;for(let t=0;256>t;t++)n[t]=i(t/255);return Pt.set(e,n),n}("string"==typeof t.config.colorScheme?t.config.colorScheme:t.config.themeSequential||"blues"),M=255/(w-k||1),S=n.width/u,j=n.height/d,_=t.config.showValues,P=t.config.heatmapValueFormat,C=[];for(let t=0;b>t;t++){const e=v[t];if(!isFinite(e))continue;const n=p[t],i=n%u;C.push(Y(i*S,(d-1-(n-i)/u)*j,S,j,A[Math.min((e-k)*M+.5|0,255)],m[t],_?{value:e,showValues:!0,valueFormat:P}:void 0))}return C}(d,e,t);case"bar":{const t=function(t,e){var n,i;if(!t.config.binSize)return{nodes:[],binBoundaries:[]};const o=R(e,t.getX,t.getY,t.config.binSize,t.getCategory);if(0===o.size)return{nodes:[],binBoundaries:[]};let r=null;if(t.getCategory){const e=new Set;for(const t of o.values())for(const n of t.categories.keys())e.add(n);const n=t.config.barColors?Object.keys(t.config.barColors):[],i=new Set(n),s=Array.from(e).filter(t=>!i.has(t)).sort(),l=n.filter(t=>e.has(t)),a=l.join("\0")+""+s.join("\0");t.barCategoryCache&&t.barCategoryCache.key===a?r=t.barCategoryCache.order:(r=[...l,...s],t.barCategoryCache={key:a,order:r})}const s=[],l=t.scales,[a,c]=l.x.domain(),u=t.config.barStyle,d=null===(n=t.config.themeSemantic)||void 0===n?void 0:n.primary,h=null==u?void 0:u.gap,f="number"!=typeof h||0>h?1:h,g={};(null==u?void 0:u.stroke)&&(g.stroke=u.stroke),"number"==typeof(null==u?void 0:u.strokeWidth)&&(g.strokeWidth=u.strokeWidth),"number"==typeof(null==u?void 0:u.opacity)&&(g.opacity=u.opacity);for(const e of o.values()){const n=Math.max(e.start,a),o=Math.min(e.end,c);if(n>=o)continue;const h=l.x(n),y=l.x(o),p=Math.abs(y-h),v=p>f+1?f:0,m=Math.min(h,y)+v/2,x=Math.max(p-v,1);if(x>0)if(r&&e.categories.size>0){let n=0;for(const o of r){const r=e.categories.get(o)||0;if(0===r)continue;const a=l.y(n),c=l.y(n+r),h=(null===(i=t.config.barColors)||void 0===i?void 0:i[o])||(null==u?void 0:u.fill)||d||"#4e79a7";s.push(F(m,Math.min(a,c),x,Math.abs(a-c),Object.assign({fill:h},g),{binStart:e.start,binEnd:e.end,total:e.total,category:o,categoryValue:r},o)),n+=r}}else{const t=l.y(0),n=l.y(e.total);s.push(F(m,Math.min(t,n),x,Math.abs(t-n),Object.assign({fill:(null==u?void 0:u.fill)||d||"#007bff"},g),{binStart:e.start,binEnd:e.end,total:e.total}))}}const y=new Set;for(const t of o.values())y.add(t.start),y.add(t.end);return{nodes:s,binBoundaries:Array.from(y).sort((t,e)=>t-e)}}(d,e);return this._barCategoryCache=null!==(a=d.barCategoryCache)&&void 0!==a?a:null,this._binBoundaries=t.binBoundaries,t.nodes}case"swarm":return function(t,e){var n,i,o,r,s,l;const a=[],c=t.config.swarmStyle||{},u=null!==(n=c.radius)&&void 0!==n?n:3,d=null!==(r=null!==(i=c.fill)&&void 0!==i?i:null===(o=t.config.themeSemantic)||void 0===o?void 0:o.primary)&&void 0!==r?r:"#007bff",h=null!==(s=c.opacity)&&void 0!==s?s:.7,f=c.stroke,g=c.strokeWidth;for(const n of e){const e=t.getX(n),i=t.getY(n);if(null==i||Number.isNaN(i))continue;const o=t.scales.x(e),r=t.scales.y(i);let s=d;if(t.getCategory){const e=t.getCategory(n);s=(null===(l=t.config.barColors)||void 0===l?void 0:l[e])||s}const c={type:"point",x:o,y:r,r:u,style:{fill:s,opacity:h,stroke:f,strokeWidth:g},datum:n};t.getPointId&&(c.pointId=t.getPointId(n)+""),a.push(c)}return a}(d,e);case"waterfall":return function(t,e,n){var i,o,r,s,l,a,c;const u=[],d=t.scales,h=t.config.waterfallStyle,f=e.filter(e=>{const n=t.getY(e),i=t.getX(e);return null!=n&&!Number.isNaN(n)&&null!=i&&isFinite(i)});if(0===f.length)return u;const g=null!==(r=null!==(i=null==h?void 0:h.positiveColor)&&void 0!==i?i:null===(o=t.config.themeSemantic)||void 0===o?void 0:o.success)&&void 0!==r?r:"#28a745",y=null!==(a=null!==(s=null==h?void 0:h.negativeColor)&&void 0!==s?s:null===(l=t.config.themeSemantic)||void 0===l?void 0:l.danger)&&void 0!==a?a:"#dc3545",p=null!==(c=null==h?void 0:h.gap)&&void 0!==c?c:1,v=null==h?void 0:h.stroke,m=null==h?void 0:h.strokeWidth,x=null==h?void 0:h.opacity;let b=0;for(let e=0;f.length>e;e++){const i=f[e],o=t.getX(i),r=t.getY(i),s=b+r;let l;l=f.length-1>e?t.getX(f[e+1])-o:e>0?o-t.getX(f[e-1]):0;const a=d.x(o),c=0!==l?d.x(o+l):a+n.width/10,k=Math.min(a,c)+p/2,w=Math.max(a,c)-p/2-k;if(0>=w){b=s;continue}const A=d.y(b),M=d.y(s),S=Math.min(A,M),j=Math.abs(A-M),_={fill:0>r?y:g,stroke:v,strokeWidth:m};null!=x&&(_.opacity=x),u.push(F(k,S,w,j,_,Object.assign(Object.assign({},i),{baseline:b,cumEnd:s,delta:r,_connectorStroke:null==h?void 0:h.connectorStroke,_connectorWidth:null==h?void 0:h.connectorWidth}))),b=s}return u}(d,e,t);case"candlestick":return function(t,e){var n,i;if(!t.getHigh||!t.getLow||!t.scales)return[];const o=null!==(n=t.config.candlestickRangeMode)&&void 0!==n&&n;if(!(o||t.getOpen&&t.getClose))return[];const r=[],s=t.config.candlestickStyle||{},l=s.rangeColor||"#6366f1",a=o?l:s.upColor||"#28a745",c=o?l:s.downColor||"#dc3545",u=o?l:s.wickColor||"#333",d=s.wickWidth||(o?2:1),h=e.map(e=>t.getX(e)).filter(t=>null!=t&&!Number.isNaN(t)).sort((t,e)=>t-e);let f=null!==(i=s.bodyWidth)&&void 0!==i?i:0;if(null==s.bodyWidth)if(h.length>1){let e=1/0;for(let n=1;h.length>n;n++){const i=Math.abs(t.scales.x(h[n])-t.scales.x(h[n-1]));i>0&&e>i&&(e=i)}f=e!==1/0?Math.max(2,Math.min(.6*e,20)):6}else f=6;for(const n of e){const e=t.getX(n);if(null==e||Number.isNaN(e))continue;const i=t.getHigh(n),s=t.getLow(n);if(null==i||Number.isNaN(i)||null==s||Number.isNaN(s))continue;const l=o?i:t.getOpen(n),h=o?s:t.getClose(n);if(!o&&[l,h].some(t=>null==t||Number.isNaN(t)))continue;const g=h>=l,y={type:"candlestick",x:t.scales.x(e),openY:t.scales.y(l),closeY:t.scales.y(h),highY:t.scales.y(i),lowY:t.scales.y(s),bodyWidth:f,upColor:a,downColor:c,wickColor:u,wickWidth:d,isUp:g,datum:n};o&&(y.isRange=!0),r.push(y)}return r}(d,e);default:return[]}}resolveBoundsStyle(t,e){var n;const i=this.config.boundsStyle;return"function"==typeof i?i(e||{},t):i&&"object"==typeof i?i:{fill:this.resolveLineStyle(t,e).stroke||(null===(n=this.config.themeSemantic)||void 0===n?void 0:n.primary)||"#4e79a7",fillOpacity:.2,stroke:"none"}}computeDecayOpacity(t,e){const n=this.config.decay;return n&&e>1?ht(n,t,e):1}applyDecay(t,e){this.config.decay&&function(t,e,n){var i,o;const r=n.length;if(1>=r)return;const s=new Map;for(let t=0;n.length>t;t++)s.set(n[t],t);for(const n of e){if("line"===n.type){const e=Array.isArray(n.datum)?n.datum:[];if(2>e.length)continue;const i=Array(e.length);let o=!1;for(let n=0;e.length>n;n++){const l=s.get(e[n]);null!=l?(i[n]=ht(t,l,r),1>i[n]&&(o=!0)):i[n]=1}o&&(n._decayOpacities=i);continue}if("area"===n.type){const e=Array.isArray(n.datum)?n.datum:[],i=n.topPath?n.topPath.length:e.length;if(2>i)continue;if(e.length===i){const o=Array(i);let l=!1;for(let n=0;e.length>n;n++){const i=s.get(e[n]);null!=i?(o[n]=ht(t,i,r),1>o[n]&&(l=!0)):o[n]=1}l&&(n._decayOpacities=o)}else{let o=1;for(const n of e){const e=s.get(n);if(null!=e){const n=ht(t,e,r);o>n&&(o=n)}}if(1>o){const t=Array(i);t.fill(o),n._decayOpacities=t}}continue}const e=s.get(n.datum);if(null==e)continue;const l=ht(t,e,r);if("heatcell"===n.type)n.style={opacity:l};else if("candlestick"===n.type)n._decayOpacity=l;else{const t=null!==(o=null===(i=n.style)||void 0===i?void 0:i.opacity)&&void 0!==o?o:1;n.style=Object.assign(Object.assign({},n.style),{opacity:t*l})}}}(this.config.decay,t,e)}applyPulse(t,e){this.config.pulse&&this.timestampBuffer&&function(t,e,n,i){var o,r;const s="undefined"!=typeof performance?performance.now():Date.now(),l=null!==(o=t.color)&&void 0!==o?o:"rgba(255,255,255,0.6)",a=null!==(r=t.glowRadius)&&void 0!==r?r:4,c=new Map;for(let t=0;n.length>t;t++)c.set(n[t],t);for(const n of e){if("line"===n.type)continue;if("area"===n.type){const e=Array.isArray(n.datum)?n.datum:[n.datum];let o=0;for(const n of e){const e=c.get(n);if(null==e)continue;const r=i.get(e);if(null==r)continue;const l=ft(t,r,s);l>o&&(o=l)}o>0&&(n._pulseIntensity=o,n._pulseColor=l);continue}const e=c.get(n.datum);if(null==e)continue;const o=i.get(e);if(null==o)continue;const r=ft(t,o,s);r>0&&(n._pulseIntensity=r,n._pulseColor=l,n._pulseGlowRadius=a)}}(this.config.pulse,t,e,this.timestampBuffer)}get hasActivePulses(){return!!this.config.pulse&&function(t,e){var n;if(!e||0===e.size)return!1;const i="undefined"!=typeof performance?performance.now():Date.now(),o=null!==(n=t.duration)&&void 0!==n?n:500,r=e.peek();return null!=r&&o>i-r}(this.config.pulse,this.timestampBuffer)}get transitionContext(){return{runtimeMode:this.config.runtimeMode,getX:this.getX,getY:this.getY,getCategory:this.getCategory}}snapshotPositions(){!function(t,e,n,i){var o,r,s,l;n.clear(),i.clear();for(let a=0;e.length>a;a++){const c=e[a],u=vt(t,c,a);u&&("point"===c.type?n.set(u,{x:c.x,y:c.y,r:c.r,opacity:c.style.opacity}):"rect"===c.type?n.set(u,{x:c.x,y:c.y,w:c.w,h:c.h,opacity:c.style.opacity}):"heatcell"===c.type?n.set(u,{x:c.x,y:c.y,w:c.w,h:c.h,opacity:null===(o=c.style)||void 0===o?void 0:o.opacity}):"candlestick"===c.type?n.set(u,{x:c.x,y:c.openY,w:c.bodyWidth,openY:c.openY,closeY:c.closeY,highY:c.highY,lowY:c.lowY,opacity:null===(r=c.style)||void 0===r?void 0:r.opacity}):"line"===c.type?i.set(u,{path:c.path.map(t=>[t[0],t[1]]),opacity:null===(s=c.style)||void 0===s?void 0:s.opacity}):"area"===c.type&&i.set(u,{topPath:c.topPath.map(t=>[t[0],t[1]]),bottomPath:c.bottomPath.map(t=>[t[0],t[1]]),opacity:null===(l=c.style)||void 0===l?void 0:l.opacity}))}}(this.transitionContext,this.scene,this.prevPositionMap,this.prevPathMap)}synthesizeIntroPositions(){var t,e,n;this.prevPositionMap.clear(),this.prevPathMap.clear();const i=null!==(e=null===(t=this.scales)||void 0===t?void 0:t.y(0))&&void 0!==e?e:0;for(let t=0;this.scene.length>t;t++){const e=this.scene[t],o=vt(this.transitionContext,e,t);o&&("point"===e.type?this.prevPositionMap.set(o,{x:e.x,y:e.y,r:0,opacity:0}):"rect"===e.type?this.prevPositionMap.set(o,{x:e.x,y:i,w:e.w,h:0,opacity:null!==(n=e.style.opacity)&&void 0!==n?n:1}):"heatcell"===e.type?this.prevPositionMap.set(o,{x:e.x,y:e.y,w:e.w,h:e.h,opacity:0}):"line"===e.type?(e._introClipFraction=0,this.prevPathMap.set(o,{path:e.path.map(t=>[t[0],t[1]]),opacity:e.style.opacity})):"area"===e.type&&(e._introClipFraction=0,this.prevPathMap.set(o,{topPath:e.topPath.map(t=>[t[0],t[1]]),bottomPath:e.bottomPath.map(t=>[t[0],t[1]]),opacity:e.style.opacity})))}}startTransition(){if(!this.config.transition)return;const t=function(t,e,n,i,o){var r,s,l,a,c,u,d,h,f,g,y,p,v,m,x,b,k,w,A,M,S,j,_,P,C,E,O,T,L,D,N,R,$,I,W,z,F,Y,B,H,X;if(0===i.size&&0===o.size)return n;const G=null!==(r=e.duration)&&void 0!==r?r:300;if(n.exitNodes.length>0){const t=new Set(n.exitNodes);n.scene=n.scene.filter(e=>!t.has(e)),n.exitNodes=[]}let V=!1;const q=new Set,U=new Set;for(let e=0;n.scene.length>e;e++){const r=n.scene[e],E=vt(t,r,e);if(!E)continue;if(r._transitionKey=E,"line"===r.type||"area"===r.type){const t=o.get(E);if(t){if(U.add(E),"line"===r.type&&t.path&&t.path.length===r.path.length){r._targetPath=r.path.map(t=>[t[0],t[1]]),r._prevPath=t.path;for(let e=0;r.path.length>e;e++)r.path[e]=[t.path[e][0],t.path[e][1]];V=!0}else if("area"===r.type&&t.topPath&&t.bottomPath&&t.topPath.length===r.topPath.length&&t.bottomPath.length===r.bottomPath.length){r._targetTopPath=r.topPath.map(t=>[t[0],t[1]]),r._targetBottomPath=r.bottomPath.map(t=>[t[0],t[1]]),r._prevTopPath=t.topPath,r._prevBottomPath=t.bottomPath;for(let e=0;r.topPath.length>e;e++)r.topPath[e]=[t.topPath[e][0],t.topPath[e][1]];for(let e=0;r.bottomPath.length>e;e++)r.bottomPath[e]=[t.bottomPath[e][0],t.bottomPath[e][1]];V=!0}r._targetOpacity=null!==(s=r.style.opacity)&&void 0!==s?s:1,r._startOpacity=null!==(a=null!==(l=t.opacity)&&void 0!==l?l:r.style.opacity)&&void 0!==a?a:1}else r._targetOpacity=null!==(c=r.style.opacity)&&void 0!==c?c:1,r._startOpacity=0,r.style=Object.assign(Object.assign({},r.style),{opacity:0}),V=!0;continue}const O=i.get(E);if("point"===r.type)if(O){q.add(E);const t={x:r.x,y:r.y,r:r.r};r._targetOpacity=null!==(u=r.style.opacity)&&void 0!==u?u:1,O.x===t.x&&O.y===t.y&&O.r===t.r||(r._targetX=t.x,r._targetY=t.y,r._targetR=t.r,r.x=O.x,r.y=O.y,r.r=null!==(d=O.r)&&void 0!==d?d:r.r,V=!0)}else r._targetOpacity=null!==(h=r.style.opacity)&&void 0!==h?h:1,r.style=Object.assign(Object.assign({},r.style),{opacity:0}),V=!0;else if("rect"===r.type)if(O){q.add(E);const t={x:r.x,y:r.y,w:r.w,h:r.h};r._targetOpacity=null!==(f=r.style.opacity)&&void 0!==f?f:1,O.x===t.x&&O.y===t.y&&O.w===t.w&&O.h===t.h||(r._targetX=t.x,r._targetY=t.y,r._targetW=t.w,r._targetH=t.h,r.x=O.x,r.y=O.y,r.w=null!==(g=O.w)&&void 0!==g?g:r.w,r.h=null!==(y=O.h)&&void 0!==y?y:r.h,V=!0)}else r._targetOpacity=null!==(p=r.style.opacity)&&void 0!==p?p:1,r.style=Object.assign(Object.assign({},r.style),{opacity:0}),V=!0;else if("heatcell"===r.type)if(O){q.add(E);const t={x:r.x,y:r.y,w:r.w,h:r.h};r._targetOpacity=null!==(m=null===(v=r.style)||void 0===v?void 0:v.opacity)&&void 0!==m?m:1,O.x===t.x&&O.y===t.y&&O.w===t.w&&O.h===t.h||(r._targetX=t.x,r._targetY=t.y,r._targetW=t.w,r._targetH=t.h,r.x=O.x,r.y=O.y,r.w=null!==(x=O.w)&&void 0!==x?x:r.w,r.h=null!==(b=O.h)&&void 0!==b?b:r.h,V=!0)}else r._targetOpacity=null!==(w=null===(k=r.style)||void 0===k?void 0:k.opacity)&&void 0!==w?w:1,r.style=Object.assign(Object.assign({},r.style||{}),{opacity:0}),V=!0;else if("candlestick"===r.type)if(O&&null!=O.openY){q.add(E);const t={x:r.x,openY:r.openY,closeY:r.closeY,highY:r.highY,lowY:r.lowY};r._targetOpacity=null!==(M=null===(A=r.style)||void 0===A?void 0:A.opacity)&&void 0!==M?M:1,(O.x!==t.x||O.openY!==t.openY||O.closeY!==t.closeY||O.highY!==t.highY||O.lowY!==t.lowY)&&(r._targetX=t.x,r._targetOpenY=t.openY,r._targetCloseY=t.closeY,r._targetHighY=t.highY,r._targetLowY=t.lowY,r.x=O.x,r.openY=O.openY,r.closeY=null!==(S=O.closeY)&&void 0!==S?S:r.closeY,r.highY=null!==(j=O.highY)&&void 0!==j?j:r.highY,r.lowY=null!==(_=O.lowY)&&void 0!==_?_:r.lowY,V=!0)}else r._targetOpacity=null!==(C=null===(P=r.style)||void 0===P?void 0:P.opacity)&&void 0!==C?C:1,r.style=Object.assign(Object.assign({},r.style||{}),{opacity:0}),V=!0}for(const[t,e]of o)if(!U.has(t))if(t.startsWith("l:")&&e.path){const i={type:"line",path:e.path.map(t=>[t[0],t[1]]),group:t.slice(2),style:{stroke:"#999",strokeWidth:1,opacity:null!==(E=e.opacity)&&void 0!==E?E:1},_targetOpacity:0,_transitionKey:t,datum:null};n.exitNodes.push(i),V=!0}else if(t.startsWith("a:")&&e.topPath&&e.bottomPath){const i={type:"area",topPath:e.topPath.map(t=>[t[0],t[1]]),bottomPath:e.bottomPath.map(t=>[t[0],t[1]]),group:t.slice(2),style:{fill:"#999",opacity:null!==(O=e.opacity)&&void 0!==O?O:1},_targetOpacity:0,_transitionKey:t,datum:null};n.exitNodes.push(i),V=!0}for(const[t,e]of i)if(!q.has(t)){if(t.startsWith("p:")){const i={type:"point",x:e.x,y:e.y,r:null!==(T=e.r)&&void 0!==T?T:3,style:{opacity:null!==(L=e.opacity)&&void 0!==L?L:1},datum:null,_targetOpacity:0,_transitionKey:t};n.exitNodes.push(i)}else if(t.startsWith("r:")){const i={type:"rect",x:e.x,y:e.y,w:null!==(D=e.w)&&void 0!==D?D:0,h:null!==(N=e.h)&&void 0!==N?N:0,style:{opacity:null!==(R=e.opacity)&&void 0!==R?R:1,fill:"#999"},datum:null,_targetOpacity:0,_transitionKey:t};n.exitNodes.push(i)}else if(t.startsWith("h:")){const i={type:"heatcell",x:e.x,y:e.y,w:null!==($=e.w)&&void 0!==$?$:0,h:null!==(I=e.h)&&void 0!==I?I:0,fill:"#999",datum:null,style:{opacity:null!==(W=e.opacity)&&void 0!==W?W:1},_targetOpacity:0,_transitionKey:t};n.exitNodes.push(i)}else if(t.startsWith("c:")){const i=null!==(z=e.openY)&&void 0!==z?z:e.y,o={type:"candlestick",x:e.x,openY:i,closeY:null!==(F=e.closeY)&&void 0!==F?F:i,highY:null!==(Y=e.highY)&&void 0!==Y?Y:i,lowY:null!==(B=e.lowY)&&void 0!==B?B:i,bodyWidth:null!==(H=e.w)&&void 0!==H?H:6,upColor:"#999",downColor:"#999",wickColor:"#999",wickWidth:1,isUp:!0,datum:null,style:{opacity:null!==(X=e.opacity)&&void 0!==X?X:1},_targetOpacity:0,_transitionKey:t};n.exitNodes.push(o)}V=!0}return n.exitNodes.length>0&&(n.scene=[...n.scene,...n.exitNodes]),V&&(n.activeTransition={startTime:"undefined"!=typeof performance?performance.now():Date.now(),duration:G}),n}(this.transitionContext,this.config.transition,{scene:this.scene,exitNodes:this.exitNodes,activeTransition:this.activeTransition},this.prevPositionMap,this.prevPathMap);this.scene=t.scene,this.exitNodes=t.exitNodes,this.activeTransition=t.activeTransition}advanceTransition(t){if(!this.activeTransition||!this.config.transition)return!1;const e={scene:this.scene,exitNodes:this.exitNodes,activeTransition:this.activeTransition},n=function(t,e,n,i){var o,r,s,l,a,c;if(!n.activeTransition)return!1;const u=yt(t,n.activeTransition),d=gt(u,"linear"===e.easing?"linear":"ease-out-cubic");for(const t of n.scene){const e=t._transitionKey;if("point"===t.type){if(void 0!==t._targetOpacity){const n=e?i.get(e):void 0,r=n?null!==(o=n.opacity)&&void 0!==o?o:1:0;t.style.opacity=pt(r,t._targetOpacity,d)}if(void 0===t._targetX)continue;if(!e)continue;const n=i.get(e);if(!n)continue;t.x=pt(n.x,t._targetX,d),t.y=pt(n.y,t._targetY,d),void 0!==t._targetR&&void 0!==n.r&&(t.r=pt(n.r,t._targetR,d))}else if("rect"===t.type){if(void 0!==t._targetOpacity){const n=e?i.get(e):void 0,o=n?null!==(r=n.opacity)&&void 0!==r?r:1:0;t.style.opacity=pt(o,t._targetOpacity,d)}if(void 0===t._targetX)continue;if(!e)continue;const n=i.get(e);if(!n)continue;t.x=pt(n.x,t._targetX,d),t.y=pt(n.y,t._targetY,d),void 0!==n.w&&(t.w=pt(n.w,t._targetW,d)),void 0!==n.h&&(t.h=pt(n.h,t._targetH,d))}else if("heatcell"===t.type){if(void 0!==t._targetOpacity){const n=e?i.get(e):void 0,o=n?null!==(s=n.opacity)&&void 0!==s?s:1:0;t.style=Object.assign(Object.assign({},t.style||{}),{opacity:pt(o,t._targetOpacity,d)})}if(void 0===t._targetX)continue;if(!e)continue;const n=i.get(e);if(!n)continue;t.x=pt(n.x,t._targetX,d),t.y=pt(n.y,t._targetY,d),void 0!==n.w&&(t.w=pt(n.w,t._targetW,d)),void 0!==n.h&&(t.h=pt(n.h,t._targetH,d))}else if("candlestick"===t.type){if(void 0!==t._targetOpacity){const n=e?i.get(e):void 0,o=n?null!==(l=n.opacity)&&void 0!==l?l:1:0;t.style=Object.assign(Object.assign({},t.style||{}),{opacity:pt(o,t._targetOpacity,d)})}if(void 0===t._targetX)continue;if(!e)continue;const n=i.get(e);if(!n)continue;t.x=pt(n.x,t._targetX,d),void 0!==n.openY&&(t.openY=pt(n.openY,t._targetOpenY,d)),void 0!==n.closeY&&(t.closeY=pt(n.closeY,t._targetCloseY,d)),void 0!==n.highY&&(t.highY=pt(n.highY,t._targetHighY,d)),void 0!==n.lowY&&(t.lowY=pt(n.lowY,t._targetLowY,d))}else if("line"===t.type){if(void 0!==t._targetOpacity){const e=null!==(a=t._startOpacity)&&void 0!==a?a:0;t.style=Object.assign(Object.assign({},t.style),{opacity:pt(e,t._targetOpacity,d)})}void 0!==t._introClipFraction&&(t._introClipFraction=d);const e=t._prevPath,n=t._targetPath;if(e&&n&&e.length===t.path.length)for(let i=0;t.path.length>i;i++)t.path[i][0]=pt(e[i][0],n[i][0],d),t.path[i][1]=pt(e[i][1],n[i][1],d)}else if("area"===t.type){if(void 0!==t._targetOpacity){const e=null!==(c=t._startOpacity)&&void 0!==c?c:0;t.style=Object.assign(Object.assign({},t.style),{opacity:pt(e,t._targetOpacity,d)})}void 0!==t._introClipFraction&&(t._introClipFraction=d);const e=t._prevTopPath,n=t._prevBottomPath,i=t._targetTopPath,o=t._targetBottomPath;if(e&&i&&e.length===t.topPath.length)for(let n=0;t.topPath.length>n;n++)t.topPath[n][0]=pt(e[n][0],i[n][0],d),t.topPath[n][1]=pt(e[n][1],i[n][1],d);if(n&&o&&n.length===t.bottomPath.length)for(let e=0;t.bottomPath.length>e;e++)t.bottomPath[e][0]=pt(n[e][0],o[e][0],d),t.bottomPath[e][1]=pt(n[e][1],o[e][1],d)}}if(u>=1){for(const t of n.scene){if(void 0!==t._targetOpacity){const e=t._targetOpacity;t.style=Object.assign(Object.assign({},"line"===t.type||"area"===t.type?t.style:t.style||{}),{opacity:0===e?0:e}),t._targetOpacity=void 0}if("point"===t.type){if(void 0===t._targetX)continue;t.x=t._targetX,t.y=t._targetY,void 0!==t._targetR&&(t.r=t._targetR),t._targetX=void 0,t._targetY=void 0,t._targetR=void 0}else if("rect"===t.type){if(void 0===t._targetX)continue;t.x=t._targetX,t.y=t._targetY,t.w=t._targetW,t.h=t._targetH,t._targetX=void 0,t._targetY=void 0,t._targetW=void 0,t._targetH=void 0}else if("heatcell"===t.type){if(void 0===t._targetX)continue;t.x=t._targetX,t.y=t._targetY,t.w=t._targetW,t.h=t._targetH,t._targetX=void 0,t._targetY=void 0,t._targetW=void 0,t._targetH=void 0}else if("candlestick"===t.type){if(void 0===t._targetX)continue;t.x=t._targetX,void 0!==t._targetOpenY&&(t.openY=t._targetOpenY),void 0!==t._targetCloseY&&(t.closeY=t._targetCloseY),void 0!==t._targetHighY&&(t.highY=t._targetHighY),void 0!==t._targetLowY&&(t.lowY=t._targetLowY),t._targetX=void 0,t._targetOpenY=void 0,t._targetCloseY=void 0,t._targetHighY=void 0,t._targetLowY=void 0}else if("line"===t.type){const e=t._targetPath;if(e)for(let n=0;t.path.length>n;n++)t.path[n]=e[n];t._prevPath=void 0,t._targetPath=void 0,t._introClipFraction=void 0}else if("area"===t.type){const e=t._targetTopPath,n=t._targetBottomPath;if(e)for(let n=0;t.topPath.length>n;n++)t.topPath[n]=e[n];if(n)for(let e=0;t.bottomPath.length>e;e++)t.bottomPath[e]=n[e];t._prevTopPath=void 0,t._prevBottomPath=void 0,t._targetTopPath=void 0,t._targetBottomPath=void 0,t._introClipFraction=void 0}}if(n.exitNodes.length>0){const t=new Set(n.exitNodes);n.scene=n.scene.filter(e=>!t.has(e)),n.exitNodes=[]}return n.activeTransition=null,!1}return!0}(t,this.config.transition,e,this.prevPositionMap);return this.scene=e.scene,this.exitNodes=e.exitNodes,this.activeTransition=e.activeTransition,n}cancelIntroAnimation(){this.prevPositionMap.clear(),this.prevPathMap.clear(),this.activeTransition=null;for(const t of this.scene)"line"!==t.type&&"area"!==t.type||(t._introClipFraction=void 0)}groupData(t){if(!this.getGroup)return[{key:"_default",data:t}];const e=new Map;for(const n of t){const t=this.getGroup(n);e.has(t)||e.set(t,[]),e.get(t).push(n)}return Array.from(e.entries()).map(([t,e])=>({key:t,data:e}))}resolveColorMap(t){if(this._colorMapCache&&this._colorMapCache.version===this._ingestVersion)return this._colorMapCache.map;const e=new Set;for(const n of t){const t=this.getColor(n);t&&e.add(t)}const n=Array.from(e).sort(),i=n.join("\0");if(this._colorMapCache&&this._colorMapCache.key===i)return this._colorMapCache.version=this._ingestVersion,this._colorMapCache.map;const o=Array.isArray(this.config.colorScheme)?this.config.colorScheme:this.config.themeCategorical||dt,r=new Map;for(let t=0;n.length>t;t++)r.set(n[t],o[t%o.length]);return this._colorMapCache={key:i,map:r,version:this._ingestVersion},r}resolveLineStyle(t,e){var n;const i=this.config.lineStyle;if("function"==typeof i){const n=i(e||{},t);if(n&&!n.stroke&&t){const e=this.resolveGroupColor(t);if(e)return Object.assign(Object.assign({},n),{stroke:e})}return n}const o=null===(n=this.config.themeSemantic)||void 0===n?void 0:n.primary;return i&&"object"==typeof i?{stroke:i.stroke||o||"#007bff",strokeWidth:i.strokeWidth||2,strokeDasharray:i.strokeDasharray,fill:i.fill,fillOpacity:i.fillOpacity,opacity:i.opacity}:{stroke:this.resolveGroupColor(t)||o||"#007bff",strokeWidth:2}}resolveAreaStyle(t,e){var n,i;if(this.config.areaStyle){const n=this.config.areaStyle(e||{});if(n&&!n.fill&&t){const e=this.resolveGroupColor(t);if(e)return Object.assign(Object.assign({},n),{fill:e,stroke:n.stroke||e})}return n}const o=this.config.lineStyle;if("function"==typeof o){const n=o(e||{},t);if(n&&!n.fill&&t){const e=this.resolveGroupColor(t);if(e)return Object.assign(Object.assign({},n),{fill:e,stroke:n.stroke||e})}return n}const r=null===(n=this.config.themeSemantic)||void 0===n?void 0:n.primary;if(o&&"object"==typeof o)return{fill:o.fill||o.stroke||r||"#4e79a7",fillOpacity:null!==(i=o.fillOpacity)&&void 0!==i?i:.7,stroke:o.stroke||r||"#4e79a7",strokeWidth:o.strokeWidth||2};const s=this.resolveGroupColor(t)||r||"#4e79a7";return{fill:s,fillOpacity:.7,stroke:s,strokeWidth:2}}resolveGroupColor(t){if(this._colorMapCache){const e=this._colorMapCache.map.get(t);if(e)return e}const e=this._groupColorMap.get(t);if(e)return e;const n=(Array.isArray(this.config.colorScheme)&&this.config.colorScheme.length>0?this.config.colorScheme:null)||(Array.isArray(this.config.themeCategorical)&&this.config.themeCategorical.length>0?this.config.themeCategorical:null)||dt;if(0===n.length)return null;const i=n[this._groupColorCounter%n.length];if(this._groupColorCounter++,this._groupColorMap.set(t,i),this._groupColorMap.size>Ot.GROUP_COLOR_MAP_CAP){const t=this._groupColorMap.keys().next().value;void 0!==t&&this._groupColorMap.delete(t)}return i}getBufferArray(){return!this._bufferDirty&&this._bufferArrayCache||(this._bufferArrayCache=this.buffer.toArray(),this._bufferDirty=!1),this._bufferArrayCache}getData(){return this.getBufferArray()}remove(t){if(!this.getPointId)throw Error("remove() requires pointIdAccessor to be configured");this.config.transition&&this.scene.length>0&&this.snapshotPositions();const e=new Set(Array.isArray(t)?t:[t]),n=this.getPointId,i=t=>e.has(n(t));if(this.timestampBuffer&&this.timestampBuffer.size>0){const t=this.timestampBuffer.toArray(),e=new Set;this.buffer.forEach((t,n)=>{i(t)&&e.add(n)}),this.timestampBuffer.clear();for(let n=0;t.length>n;n++)e.has(n)||this.timestampBuffer.push(t[n])}const o=this.buffer.remove(i);if(0===o.length)return o;for(const t of o)this.xExtent.evict(this.getX(t)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow?(this.yExtent.evict(this.getHigh(t)),this.yExtent.evict(this.getLow(t))):(this.yExtent.evict(this.getY(t)),this.getY0&&this.yExtent.evict(this.getY0(t)));return this.needsFullRebuild=!0,this._bufferDirty=!0,this._ingestVersion++,o}update(t,e){if(!this.getPointId)throw Error("update() requires pointIdAccessor to be configured");const n=new Set(Array.isArray(t)?t:[t]),i=this.getPointId,o=new Set;this.buffer.forEach((t,e)=>{n.has(i(t))&&o.add(e)});const r=this.buffer.update(t=>n.has(i(t)),e);if(0===r.length)return r;for(const t of r)this.xExtent.evict(this.getX(t)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow?(this.yExtent.evict(this.getHigh(t)),this.yExtent.evict(this.getLow(t))):(this.yExtent.evict(this.getY(t)),this.getY0&&this.yExtent.evict(this.getY0(t)));return this.buffer.forEach((t,e)=>{o.has(e)&&(this.xExtent.push(this.getX(t)),"candlestick"===this.config.chartType&&this.getHigh&&this.getLow?(this.yExtent.push(this.getHigh(t)),this.yExtent.push(this.getLow(t))):(this.yExtent.push(this.getY(t)),this.getY0&&this.yExtent.push(this.getY0(t))))}),this.needsFullRebuild=!0,this._bufferDirty=!0,this._ingestVersion++,r}getBinBoundaries(){return this._binBoundaries}getExtents(){return this.xExtent.min===1/0?null:{x:this.xExtent.extent,y:this.yExtent.extent}}clear(){this.buffer.clear(),this.xExtent.clear(),this.yExtent.clear(),this._hasRenderedOnce=!1,this.timestampBuffer&&this.timestampBuffer.clear(),this.prevPositionMap.clear(),this.prevPathMap.clear(),this.exitNodes=[],this.activeTransition=null,this.lastIngestTime=0,this._lastBoundedInsertsRef=null,this.needsFullRebuild=!0,this._bufferDirty=!0,this._bufferArrayCache=null,this.lastLayout=null,this.scales=null,this.scene=[],this._quadtree=null,this._maxPointRadius=0,this._colorMapCache=null,this._groupColorMap=new Map,this._groupColorCounter=0,this._barCategoryCache=null,this._binBoundaries=[],this._stackExtentCache=null,this.version++}get size(){return this.buffer.size}getBuffer(){return this.buffer}getXAccessor(){return this.getX}getYAccessor(){return this.getY}getCategoryAccessor(){return this.getCategory}updateConfig(t){var e,n,i,o;const r=Object.assign({},this.config);("colorScheme"in t||"themeCategorical"in t||"colorAccessor"in t)&&(this._colorMapCache=null,this._groupColorMap=new Map,this._groupColorCounter=0),("barColors"in t||"colorScheme"in t)&&(this._barCategoryCache=null),("normalize"in t||"extentPadding"in t||"xAccessor"in t||"yAccessor"in t||"timeAccessor"in t||"valueAccessor"in t||"boundsAccessor"in t||"band"in t||"y0Accessor"in t||"openAccessor"in t||"highAccessor"in t||"lowAccessor"in t||"closeAccessor"in t||"groupAccessor"in t||"categoryAccessor"in t||"chartType"in t||"runtimeMode"in t)&&(this._stackExtentCache=null);let s=!1,l=!1;Object.assign(this.config,t);const a="chartType"in t&&t.chartType!==r.chartType||"runtimeMode"in t&&t.runtimeMode!==r.runtimeMode;if(a||"xAccessor"in t||"yAccessor"in t||"timeAccessor"in t||"valueAccessor"in t){const c=a||!B(null!==(e=t.xAccessor)&&void 0!==e?e:t.timeAccessor,null!==(n=r.xAccessor)&&void 0!==n?n:r.timeAccessor),u=a||!B(null!==(i=t.yAccessor)&&void 0!==i?i:t.valueAccessor,null!==(o=r.yAccessor)&&void 0!==o?o:r.valueAccessor);(c||u)&&(["bar","swarm","waterfall"].includes(this.config.chartType)||"streaming"===this.config.runtimeMode?(this.getX=H(this.config.timeAccessor||this.config.xAccessor,"time"),this.getY=H(this.config.valueAccessor||this.config.yAccessor,"value")):(this.getX=H(this.config.xAccessor,"x"),this.getY=H(this.config.yAccessor,"y")),u&&this.resolvedRibbons.some(t=>"bounds"===t.kind)&&(this.resolvedRibbons=Et(this.config)),s=!0,l=!0)}if("groupAccessor"in t&&!B(t.groupAccessor,r.groupAccessor)&&(this.getGroup=null!=this.config.groupAccessor?G(this.config.groupAccessor):void 0,s=!0),"categoryAccessor"in t&&!B(t.categoryAccessor,r.categoryAccessor)&&(this.getCategory=null!=this.config.categoryAccessor?G(this.config.categoryAccessor):void 0,s=!0),"sizeAccessor"in t&&!B(t.sizeAccessor,r.sizeAccessor)&&(this.getSize=this.config.sizeAccessor?H(this.config.sizeAccessor,"size"):void 0,s=!0),"colorAccessor"in t&&!B(t.colorAccessor,r.colorAccessor)&&(this.getColor=null!=this.config.colorAccessor?G(this.config.colorAccessor):void 0,s=!0),"y0Accessor"in t&&!B(t.y0Accessor,r.y0Accessor)&&(this.getY0=this.config.y0Accessor?H(this.config.y0Accessor,"y0"):void 0,s=!0,l=!0),("boundsAccessor"in t&&!B(t.boundsAccessor,r.boundsAccessor)||"band"in t&&t.band!==r.band||"boundsStyle"in t&&t.boundsStyle!==r.boundsStyle)&&(this.resolvedRibbons=Et(this.config),s=!0,l=!0),"pointIdAccessor"in t&&!B(t.pointIdAccessor,r.pointIdAccessor)&&(this.getPointId=null!=this.config.pointIdAccessor?G(this.config.pointIdAccessor):void 0,s=!0),"candlestick"===this.config.chartType&&(a||"openAccessor"in t&&!B(t.openAccessor,r.openAccessor)||"closeAccessor"in t&&!B(t.closeAccessor,r.closeAccessor)||"highAccessor"in t&&!B(t.highAccessor,r.highAccessor)||"lowAccessor"in t&&!B(t.lowAccessor,r.lowAccessor))){const t=null!=this.config.openAccessor,e=null!=this.config.closeAccessor;this.getOpen=t?H(this.config.openAccessor,"open"):void 0,this.getHigh=H(this.config.highAccessor,"high"),this.getLow=H(this.config.lowAccessor,"low"),this.getClose=e?H(this.config.closeAccessor,"close"):void 0,this.config.candlestickRangeMode=!t&&!e,s=!0,l=!0}if(!s){const e=Object.keys(t).filter(t=>!t.endsWith("Accessor")&&"timeAccessor"!==t&&"valueAccessor"!==t);for(const n of e)if(t[n]!==r[n]){s=!0;break}}s&&(l&&this.rebuildExtents(),this.needsFullRebuild=!0)}}function Tt(...t){const e=t.filter(t=>null!=t);return 0===e.length?null:1===e.length?e[0]:y.createElement(y.Fragment,null,...e)}function Lt(t,e,n){return n.x>t||t>n.x+n.w||n.y>e||e>n.y+n.h?{hit:!1,cx:0,cy:0}:{hit:!0,cx:n.x+n.w/2,cy:n.y+n.h/2}}function Dt(t,e=30){return Math.max((null!=t?t:4)+5,12,e)}function Nt(t){return t instanceof Date?t:"number"==typeof t&&t>1e9?new Date(t):null}function Rt(t,e){const n=Nt(t);if(!n)return!1;const i=Nt(e);return!i||n.getFullYear()!==i.getFullYear()||n.getMonth()!==i.getMonth()}function $t(t){let e=t%(2*Math.PI);return 0>e&&(e+=2*Math.PI),e}Ot.GROUP_COLOR_MAP_CAP=1e3,Ot.QUADTREE_THRESHOLD=500;const It=/^var\(\s*(--[^,)]+)(?:\s*,\s*([^)]+))?\s*\)$/,Wt=new WeakMap;let zt=0,Ft=!1,Yt=null,Bt=null,Ht=null;function Xt(t,e){var n,i;if(!e)return e;const o=It.exec(e);if(!o)return e;const r=t.canvas;if(!r)return(null===(n=o[2])||void 0===n?void 0:n.trim())||e;!function(){if(Ft)return;if("undefined"==typeof window||"undefined"==typeof document)return;Ft=!0;const t=()=>{zt++};if("undefined"!=typeof MutationObserver&&document.documentElement&&(Yt=new MutationObserver(t),Yt.observe(document.documentElement,{attributes:!0,attributeFilter:["class","style","data-theme","data-semiotic-theme"]})),"function"==typeof window.matchMedia)try{Bt=window.matchMedia("(prefers-color-scheme: dark)"),Ht=t,"function"==typeof Bt.addEventListener?Bt.addEventListener("change",Ht):"function"==typeof Bt.addListener&&Bt.addListener(Ht)}catch(t){}}();let s=Wt.get(r);s&&s.version===zt||(s={version:zt,map:new Map},Wt.set(r,s));const l=s.map.get(e);if(void 0!==l)return l;const a=getComputedStyle(r).getPropertyValue(o[1]).trim()||(null===(i=o[2])||void 0===i?void 0:i.trim())||e;return s.map.set(e,a),a}function Gt(t){switch(t){case"monotoneX":return s.curveMonotoneX;case"monotoneY":return s.curveMonotoneY;case"cardinal":return s.curveCardinal;case"catmullRom":return s.curveCatmullRom;case"step":return s.curveStep;case"stepBefore":return s.curveStepBefore;case"stepAfter":return s.curveStepAfter;case"basis":return s.curveBasis;case"natural":return s.curveNatural;default:return null}}function Vt(t,e,n){return null==e?n:"string"!=typeof e?e:Xt(t,e)||n}function qt(t,e,n,i,o,r,s){if("colorStops"in e){const n=e.colorStops.filter(t=>Number.isFinite(t.offset)).map(t=>({offset:Math.max(0,Math.min(1,t.offset)),color:t.color}));if(2>n.length)return null;const l=t.createLinearGradient(i,o,r,s);for(const t of n)l.addColorStop(t.offset,t.color);return l}const{topOpacity:l,bottomOpacity:a}=e;if(!Number.isFinite(l)||!Number.isFinite(a))return null;const c=Math.max(0,Math.min(1,l)),u=Math.max(0,Math.min(1,a)),d=t.createLinearGradient(i,o,r,s),[h,f,g]=function(t,e){const n=t.fillStyle,i="#010203";try{t.fillStyle=i,t.fillStyle=e}catch(e){return t.fillStyle=n,[78,121,167]}const o=t.fillStyle;if(t.fillStyle=n,"string"!=typeof o)return[78,121,167];if(o.toLowerCase()===i&&e.trim().toLowerCase()!==i)return[78,121,167];if(o.startsWith("#"))return[parseInt(o.slice(1,3),16),parseInt(o.slice(3,5),16),parseInt(o.slice(5,7),16)];const r=o.match(/(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return r?[+r[1],+r[2],+r[3]]:[78,121,167]}(t,n);return d.addColorStop(0,`rgba(${h},${f},${g},${c})`),d.addColorStop(1,`rgba(${h},${f},${g},${u})`),d}function Ut(t,e,n,i,o,r){const s=e.colorStops.filter(t=>Number.isFinite(t.offset)).map(t=>({offset:Math.max(0,Math.min(1,t.offset)),color:t.color}));if(2>s.length)return null;const l=t.createLinearGradient(n,i,o,r);for(const t of s)l.addColorStop(t.offset,t.color);return l}const Kt=new WeakMap;function Zt(t,e){const n=Gt(e);if(!n)return t;const i=Kt.get(t);if(i)return i;const o=function(t,e,n=8){if(!e||2>t.length)return t.map(([t,e])=>[t,e]);const i=[];let o=null;const r={moveTo(t,e){o=[t,e],i.push([t,e])},lineTo(t,e){o=[t,e],i.push([t,e])},bezierCurveTo(t,e,r,s,l,a){if(!o)return o=[l,a],void i.push([l,a]);const[c,u]=o;for(let o=1;n>=o;o++){const d=o/n,h=1-d;i.push([h*h*h*c+3*h*h*d*t+3*h*d*d*r+d*d*d*l,h*h*h*u+3*h*h*d*e+3*h*d*d*s+d*d*d*a])}o=[l,a]},closePath(){},arc(){},rect(){},arcTo(){},quadraticCurveTo(t,e,n,r){o=[n,r],i.push([n,r])}};return s.line().x(t=>t[0]).y(t=>t[1]).curve(e).context(r)(t),i}(t,n);return Kt.set(t,o),o}function Qt(t,e,n,i=30,o,r=0){let s=null;if(o){const t=function(t,e,n,i,o){const r=Math.max(i,o+5,12),s=e-r,l=e+r,a=n-r,c=n+r;let u=null,d=1/0;return t.visit((t,o,r,h,f)=>{if(o>l||s>h||r>c||a>f)return!0;if(!t.length){let o=t;do{const t=o.data,r=t.x-e,s=t.y-n,l=Math.sqrt(r*r+s*s);Dt(t.r,i)>=l&&d>l&&(u=t,d=l),o=o.next}while(o)}return!1}),u?{node:u,distance:d}:null}(o,e,n,i,r);t&&(s={node:t.node,datum:t.node.datum,x:t.node.x,y:t.node.y,distance:t.distance})}for(const r of t){let t=null;switch(r.type){case"point":if(o)break;t=te(r,e,n,i);break;case"line":t=ee(r,e,n,i);break;case"rect":if(null==r.datum)break;t=ie(r,e,n);break;case"heatcell":t=oe(r,e,n);break;case"area":if(!1===r.interactive)break;t=se(r,e,n);break;case"candlestick":t=re(r,e,n)}t&&i>t.distance&&(s&&t.distance>=s.distance||(s=t))}return s}function Jt(t,e,n){if(0===t.length)return null;if(t[0][0]>e||e>t[t.length-1][0])return null;const i=le(t,e);if(0>i)return null;if(Math.abs(t[i][0]-e)>n)return null;let o=i,r=i;i>0&&t[i][0]>=e?(o=i-1,r=i):t.length-1>i&&(o=i,r=i+1);const[s,l]=t[o],[a,c]=t[r];return a===s?l:l+Math.max(0,Math.min(1,(e-s)/(a-s)))*(c-l)}function te(t,e,n,i=30){const o=e-t.x,r=n-t.y,s=Math.sqrt(o*o+r*r);return s>Dt(t.r,i)?null:{node:t,datum:t.datum,x:t.x,y:t.y,distance:s}}function ee(t,e,n,i=30){var o,r;if(0===t.path.length)return null;const s=le(t.path,e);if(0>s)return null;const[l,a]=t.path[s];let c;if(t.path.length>1){let i=1/0;const o=Math.max(0,s-1),r=Math.min(t.path.length-2,s);for(let s=o;r>=s;s++){const[o,r]=t.path[s],[l,a]=t.path[s+1],c=ne(e,n,o,r,l,a);i>c&&(i=c)}c=i}else{const t=e-l,i=n-a;c=Math.sqrt(t*t+i*i)}const u=t.style,d=null!==(r=null!==(o=u.strokeWidth)&&void 0!==o?o:u.lineWidth)&&void 0!==r?r:1;return c>Math.max(5,d/2+2,i)?null:{node:t,datum:Array.isArray(t.datum)&&t.datum[s]?t.datum[s]:t.datum,x:l,y:a,distance:c}}function ne(t,e,n,i,o,r){const s=o-n,l=r-i,a=s*s+l*l;if(0===a)return Math.sqrt(Math.pow(t-n,2)+Math.pow(e-i,2));let c=((t-n)*s+(e-i)*l)/a;c=Math.max(0,Math.min(1,c));const u=i+c*l;return Math.sqrt(Math.pow(t-(n+c*s),2)+Math.pow(e-u,2))}function ie(t,e,n){const i=Lt(e,n,t);return i.hit?{node:t,datum:t.datum,x:i.cx,y:i.cy,distance:0}:null}function oe(t,e,n){const i=Lt(e,n,t);return i.hit?{node:t,datum:t.datum,x:i.cx,y:i.cy,distance:0}:null}function re(t,e,n){const i=t.bodyWidth/2,o=Math.min(t.openY,t.closeY);if(!(t.x-i-3>e||e>t.x+i+3||t.highY-3>n||n>t.lowY+3)){const i=o+Math.max(Math.max(t.openY,t.closeY)-o,1)/2,r=e-t.x,s=n-i;return{node:t,datum:t.datum,x:t.x,y:i,distance:Math.sqrt(r*r+s*s)}}return null}function se(t,e,n){if(0===t.topPath.length)return null;const i=le(t.topPath,e);if(0>i)return null;const[o,r]=t.topPath[i],s=e-o,l=n-r,a=Math.sqrt(s*s+l*l);return{node:t,datum:Array.isArray(t.datum)&&t.datum[i]?t.datum[i]:t.datum,x:o,y:r,distance:a}}function le(t,e){if(0===t.length)return-1;let n=0,i=t.length-1;for(;i>n;){const o=n+i>>1;e>t[o][0]?n=o+1:i=o}return n>0&&Math.abs(t[n][0]-e)>=Math.abs(t[n-1][0]-e)?n-1:n}function ae(t){var e,n;const i=new Map;for(const n of t){const t=null!==(e=n.group)&&void 0!==e?e:"_default";let o=i.get(t);o||(o=[],i.set(t,o)),o.push(n)}for(const t of i.values()){t.sort((t,e)=>t.x-e.x||t.y-e.y);for(let e=0;t.length>e;e++)t[e]._groupIndex=e}const o=Array.from(i.keys()).sort((t,e)=>{const n=i.get(t),o=i.get(e);return(n.length>0?n[0].y:0)-(o.length>0?o[0].y:0)}),r=Array.from(i.values()).flat();r.sort((t,e)=>t.x-e.x||t.y-e.y);const s=new Map;for(let t=0;r.length>t;t++){r[t]._flatIndex=t;const e=null===(n=r[t].datum)||void 0===n?void 0:n.id;null!=e&&s.set(e+"",t)}return{flat:r,groups:o,byGroup:i,idToIdx:s}}function ce(t,e){var n,i;if(0===t.flat.length)return{flatIndex:-1,group:"_default",indexInGroup:-1};const o=Math.max(0,Math.min(e,t.flat.length-1)),r=t.flat[o];return{flatIndex:o,group:null!==(n=r.group)&&void 0!==n?n:"_default",indexInGroup:null!==(i=r._groupIndex)&&void 0!==i?i:0}}function ue(t,e,n){const{group:i,indexInGroup:o}=e,r=n.byGroup.get(i);switch(t){case"ArrowRight":return r.length-1>o?r[o+1]._flatIndex:e.flatIndex;case"ArrowLeft":return o>0?r[o-1]._flatIndex:e.flatIndex;case"ArrowDown":{const t=n.groups.indexOf(i);return n.groups.length-1>t?de(n,n.groups[t+1],r[o]):e.flatIndex}case"ArrowUp":{const t=n.groups.indexOf(i);return t>0?de(n,n.groups[t-1],r[o]):e.flatIndex}case"PageDown":return Math.min(e.flatIndex+Math.max(1,Math.floor(.1*n.flat.length)),n.flat.length-1);case"PageUp":return Math.max(e.flatIndex-Math.max(1,Math.floor(.1*n.flat.length)),0);case"Home":return 0;case"End":return n.flat.length-1;case"Escape":return-1;default:return null}}function de(t,e,n){const i=t.byGroup.get(e);let o=0,r=Math.abs(i[0].x-n.x);for(let t=1;i.length>t;t++){const e=Math.abs(i[t].x-n.x);r>e&&(r=e,o=t)}return i[o]._flatIndex}function he(t){return"object"==typeof t&&null!==t&&"id"in t?t.id:t}function fe(t){return{data:t.datum||{},x:t.x,y:t.y,__semioticHoverData:!0}}function ge(t,n,i,o,r,s){e.useEffect(()=>{if(!t)return;const e=setInterval(()=>{var e;const l=n.current;if(!l||0===l.lastIngestTime)return;const a="undefined"!=typeof performance?performance.now():Date.now(),c=null!==(e=t.threshold)&&void 0!==e?e:5e3,u=a-l.lastIngestTime>c;u!==r&&(s(u),i.current=!0,o())},1e3);return()=>clearInterval(e)},[t,r,o])}const ye={fill:(e,n)=>t.jsx("rect",{style:e,width:n,height:n}),line:(e,n)=>t.jsx("line",{style:e,x1:0,y1:0,x2:n,y2:n})};function pe(t,e,n,i,o){let r;return r="function"==typeof n?n(t):(0,ye[n])(i(t,e),o),r}function ve({swatchSize:e}){return t.jsx("path",{d:`M${.25*e},${.55*e} L${.45*e},${.75*e} L${.8*e},${.3*e}`,fill:"none",stroke:"white",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"})}function me(t,e,n){return n&&n.size>0?n.has(t.label)?1:.3:null!=e?t.label===e?1:.3:1}const xe=(e,n,i,o,r,s,l,a,c,u,d)=>{const{type:h="fill",styleFn:f,items:g}=e,y=[];let p=0;const v=!(!n&&!i),m="isolate"===u||void 0===u&&null!=r,{swatchSize:x,labelGap:b,rowHeight:k}=d;return g.forEach((e,u)=>{const d=pe(e,u,h,f,x),w=me(e,o,r),A=r&&r.size>0&&r.has(e.label);y.push(t.jsxs("g",{transform:`translate(0,${p})`,onClick:n?()=>n(e):void 0,onMouseEnter:i?()=>i(e):void 0,onMouseLeave:i?()=>i(null):void 0,tabIndex:v?a===s&&u===l?0:-1:void 0,role:v?"option":void 0,"aria-selected":v&&m?A||!1:void 0,"aria-current":v&&!m&&null!=o&&e.label===o||void 0,"aria-label":e.label,onKeyDown:v?t=>{var i;if("Enter"!==t.key&&" "!==t.key||(t.preventDefault(),n&&n(e)),"ArrowDown"===t.key||"ArrowUp"===t.key){t.preventDefault();const e=(u+("ArrowDown"===t.key?1:-1)+g.length)%g.length;c(a,e);const n=null===(i=t.currentTarget.parentElement)||void 0===i?void 0:i.children[e];n instanceof SVGElement&&n.focus()}}:void 0,onFocus:v?t=>{c(a,u),i&&i(e);const n=t.currentTarget.querySelector(".semiotic-legend-focus-ring");n&&n.setAttribute("visibility","visible")}:void 0,onBlur:v?t=>{i&&i(null);const e=t.currentTarget.querySelector(".semiotic-legend-focus-ring");e&&e.setAttribute("visibility","hidden")}:void 0,style:{cursor:v?"pointer":"default",opacity:w,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"},children:[v&&t.jsx("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:x+b+2+7*e.label.length,height:x+4,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),d,A&&t.jsx(ve,{swatchSize:x}),t.jsx("text",{y:x/2,x:x+b,dominantBaseline:"central",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:e.label})]},"legend-item-"+u)),p+=k}),y};function be({config:e,orientation:n="vertical",width:i=100}){const{colorFn:o,domain:r,label:s,format:l}=e,a=l||(t=>Math.round(100*t)/100+""),c="grad-legend-"+y.useId();if("horizontal"===n){const e=12,n=Math.min(i,200),l=Math.max(0,(i-n)/2),u=[];for(let e=0;64>=e;e++){const n=e/64;u.push(t.jsx("stop",{offset:100*n+"%",stopColor:o(r[0]+n*(r[1]-r[0]))},e))}return t.jsxs("g",{"aria-label":s||"Gradient legend",children:[t.jsx("defs",{children:t.jsx("linearGradient",{id:c,x1:"0%",y1:"0%",x2:"100%",y2:"0%",children:u})}),s&&t.jsx("text",{x:l+n/2,y:-4,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)",children:s}),t.jsx("rect",{x:l,y:0,width:n,height:e,fill:`url(#${c})`,rx:2}),t.jsx("text",{x:l,y:e+12,textAnchor:"start",fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:a(r[0])}),t.jsx("text",{x:l+n,y:e+12,textAnchor:"end",fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:a(r[1])})]})}const u=[];for(let e=0;64>=e;e++){const n=e/64;u.push(t.jsx("stop",{offset:100*n+"%",stopColor:o(r[1]-n*(r[1]-r[0]))},e))}return t.jsxs("g",{"aria-label":s||"Gradient legend",children:[s&&t.jsx("text",{x:7,y:-6,textAnchor:"middle",fontSize:11,fill:"var(--semiotic-text, #333)",children:s}),t.jsx("defs",{children:t.jsx("linearGradient",{id:c,x1:"0%",y1:"0%",x2:"0%",y2:"100%",children:u})}),t.jsx("rect",{x:0,y:0,width:14,height:100,fill:`url(#${c})`,rx:2}),t.jsx("text",{x:19,y:10,fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:a(r[1])}),t.jsx("text",{x:19,y:100,fontSize:10,fill:"var(--semiotic-text-secondary, #666)",children:a(r[0])})]})}function ke(e){const{legendGroups:n,customClickBehavior:i,customHoverBehavior:o,highlightedCategory:r,isolatedCategories:s,legendInteraction:l,title:a="Legend",width:c=100,height:u=20,orientation:d="vertical",legendLayout:h}=e,f=function(t){var e,n,i,o,r;const s=Math.max(1,null!==(e=null==t?void 0:t.swatchSize)&&void 0!==e?e:16),l=Math.max(s,null!==(n=null==t?void 0:t.rowHeight)&&void 0!==n?n:22);return{swatchSize:s,labelGap:Math.max(0,null!==(i=null==t?void 0:t.labelGap)&&void 0!==i?i:6),itemGap:Math.max(0,null!==(o=null==t?void 0:t.itemGap)&&void 0!==o?o:10),rowHeight:l,align:"left"===(null==t?void 0:t.align)?"start":"right"===(null==t?void 0:t.align)?"end":null!==(r=null==t?void 0:t.align)&&void 0!==r?r:"start",maxWidth:null==t?void 0:t.maxWidth}}(h),[g,p]=y.useState(0),[v,m]=y.useState(0),x=y.useCallback((t,e)=>{p(t),m(e)},[]),b="vertical"===d?(({legendGroups:e,width:n,customClickBehavior:i,customHoverBehavior:o,highlightedCategory:r,isolatedCategories:s,focusedGroupIndex:l,focusedItemIndex:a,onFocusedIndexChange:c,legendInteraction:u,metrics:d})=>{let h=24;const f=[];return e.forEach((e,g)=>{h+=5,f.push(t.jsx("line",{stroke:"gray",x1:0,y1:h,x2:n,y2:h},"legend-top-line legend-symbol-"+g)),h+=8,e.label&&(h+=16,f.push(t.jsx("text",{y:h,className:"legend-group-label",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:e.label},"legend-text-"+g)),h+=8),f.push(t.jsx("g",{className:"legend-item",transform:`translate(0,${h})`,children:xe(e,i,o,r,s,l,a,g,c,u,d)},"legend-group-"+g)),h+=e.items.length*d.rowHeight+8}),f})({legendGroups:n||[],width:c,customClickBehavior:i,customHoverBehavior:o,highlightedCategory:r,isolatedCategories:s,focusedGroupIndex:g,focusedItemIndex:v,onFocusedIndexChange:x,legendInteraction:l,metrics:f}):(({legendGroups:e,height:n,width:i,customClickBehavior:o,customHoverBehavior:r,highlightedCategory:s,isolatedCategories:l,focusedGroupIndex:a,focusedItemIndex:c,onFocusedIndexChange:u,legendInteraction:d,metrics:h})=>{var f;let g=0;const y=[];e.forEach((e,n)=>{var f;let p=0;e.label&&(p+=16);const v=((e,n,i,o,r,s,l,a,c,u,d,h)=>{const{type:f="fill",styleFn:g,items:y}=e,p=[],{swatchSize:v,labelGap:m,itemGap:x,rowHeight:b,align:k}=d,w=!(!n&&!i),A="isolate"===u||void 0===u&&null!=r,M=y.map(t=>v+m+7*t.label.length),S=[];let j=0,_=0;M.forEach((t,e)=>{const n=0===_?t:_+x+t;h&&h>0&&_>0&&n>h?(S.push({start:j,end:e,width:_}),j=e,_=t):_=n}),y.length>0&&S.push({start:j,end:y.length,width:_}),S.forEach((e,u)=>{let d="center"===k?Math.max(0,((null!=h?h:e.width)-e.width)/2):"end"===k?Math.max(0,(null!=h?h:e.width)-e.width):0;for(let h=e.start;e.end>h;h++){const e=y[h],k=pe(e,h,f,g,v),S=me(e,o,r),j=r&&r.size>0&&r.has(e.label);p.push(t.jsxs("g",{transform:`translate(${d},${u*b})`,onClick:n?()=>n(e):void 0,onMouseEnter:i?()=>i(e):void 0,onMouseLeave:i?()=>i(null):void 0,tabIndex:w?a===s&&h===l?0:-1:void 0,role:w?"option":void 0,"aria-selected":w&&A?j||!1:void 0,"aria-current":w&&!A&&null!=o&&e.label===o||void 0,"aria-label":e.label,onKeyDown:w?t=>{var i;if("Enter"!==t.key&&" "!==t.key||(t.preventDefault(),n&&n(e)),"ArrowRight"===t.key||"ArrowLeft"===t.key){t.preventDefault();const e=(h+("ArrowRight"===t.key?1:-1)+y.length)%y.length;c(a,e);const n=null===(i=t.currentTarget.parentElement)||void 0===i?void 0:i.children[e];n instanceof SVGElement&&n.focus()}}:void 0,onFocus:w?t=>{c(a,h),i&&i(e);const n=t.currentTarget.querySelector(".semiotic-legend-focus-ring");n&&n.setAttribute("visibility","visible")}:void 0,onBlur:w?t=>{i&&i(null);const e=t.currentTarget.querySelector(".semiotic-legend-focus-ring");e&&e.setAttribute("visibility","hidden")}:void 0,style:{cursor:w?"pointer":"default",opacity:S,transition:"opacity 150ms ease",pointerEvents:"all",outline:"none"},children:[w&&t.jsx("rect",{className:"semiotic-legend-focus-ring",x:-2,y:-2,width:v+m+2+7*e.label.length,height:v+4,fill:"none",stroke:"var(--semiotic-focus, #005fcc)",strokeWidth:2,rx:3,visibility:"hidden"}),k,j&&t.jsx(ve,{swatchSize:v}),t.jsx("text",{y:v/2,x:v+m,dominantBaseline:"central",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:e.label})]},"legend-item-"+h)),d+=M[h]+x}});const P=Math.max(0,...S.map(t=>t.width)),C=S.length;return{items:p,offset:P,totalRows:C,totalHeight:C*b}})(e,o,r,s,l,a,c,n,u,d,h,null!==(f=h.maxWidth)&&void 0!==f?f:i);p+=v.offset+5,y.push(Object.assign(Object.assign({label:e.label},v),{offset:p,totalRows:v.totalRows,totalHeight:v.totalHeight})),g+=p+12});const p=null!==(f=h.maxWidth)&&void 0!==f?f:i;let v=g>p?0:"center"===h.align?Math.max(0,(p-g)/2):"end"===h.align?Math.max(0,p-g):0;const m=[];return y.forEach((i,o)=>{const r=e[o];r.label&&(m.push(t.jsx("text",{transform:`translate(${v},0) rotate(90)`,textAnchor:"start",className:"legend-group-label",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:r.label},"legend-text-"+o)),v+=16),m.push(t.jsx("g",{className:"legend-item",transform:`translate(${v},0)`,children:i.items},"legend-group-"+o)),v+=i.offset+5,e[o+1]&&m.push(t.jsx("line",{stroke:"gray",x1:v,y1:-8,x2:v,y2:(i.totalHeight||n)+0+8},"legend-top-line legend-symbol-"+o)),v+=12}),t.jsx("g",{children:m})})({legendGroups:n||[],title:a,height:u,width:c,customClickBehavior:i,customHoverBehavior:o,highlightedCategory:r,isolatedCategories:s,focusedGroupIndex:g,focusedItemIndex:v,onFocusedIndexChange:x,legendInteraction:l,metrics:f}),k=!(!i&&!o);return t.jsxs("g",{role:k?"listbox":void 0,"aria-multiselectable":!(!k||"isolate"!==l&&(void 0!==l||null==s))||void 0,"aria-label":"Chart legend",style:{fontFamily:"var(--semiotic-font-family, sans-serif)"},children:[void 0!==a&&""!==a&&"vertical"===d&&t.jsx("text",{className:"legend-title",y:16,x:c/2,textAnchor:"middle",style:{fontSize:"var(--semiotic-legend-font-size, 12px)"},fill:"var(--semiotic-text, #333)",children:a}),b]})}function we(t){return"object"==typeof t&&null!==t&&"legendGroups"in t}function Ae(t){return"object"==typeof t&&null!==t&&"gradient"in t}function Me(e){var n;const{legend:i,totalWidth:o,totalHeight:r,margin:s,legendPosition:l="right",legendLayout:a,title:c,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:f,legendInteraction:g}=e;if(!i)return null;const y="top"===l||"bottom"===l,p=!!c,v=Math.max(1,y?null!==(n=null==a?void 0:a.maxWidth)&&void 0!==n?n:Math.max(0,o-s.left-s.right):100);let m,x;return"left"===l?(m=Math.max(4,s.left-v-10),x=s.top):"top"===l?(m=s.left,x=p?32:8):"bottom"===l?(m=s.left,x=r-s.bottom+38):(m=o-s.right+10,x=s.top),t.jsx("g",{transform:`translate(${m}, ${x})`,children:Ae(i)?t.jsx(be,{config:i.gradient,orientation:y?"horizontal":"vertical",width:v}):we(i)?t.jsx(ke,{legendGroups:i.legendGroups,title:"",width:v,orientation:y?"horizontal":"vertical",legendLayout:a,customHoverBehavior:u,customClickBehavior:d,highlightedCategory:h,isolatedCategories:f,legendInteraction:g}):i})}function Se(t){return"string"==typeof t?{type:t}:t}function je({orient:n,config:i,values:o,scale:r,size:s,length:a}){const c=function(t){var e,n,i,o,r;return{type:t.type,bins:null!==(e=t.bins)&&void 0!==e?e:20,fill:null!==(n=t.fill)&&void 0!==n?n:"#4e79a7",fillOpacity:null!==(i=t.fillOpacity)&&void 0!==i?i:.5,stroke:null!==(o=t.stroke)&&void 0!==o?o:"none",strokeWidth:null!==(r=t.strokeWidth)&&void 0!==r?r:1}}(i),u="top"===n||"bottom"===n,d=e.useMemo(()=>{if(0===o.length)return null;const e=r.domain(),i=s-8;if("boxplot"===c.type){const e=function(t){const e=[...t].sort((t,e)=>t-e),n=e.length;if(0===n)return null;const i=e[Math.floor(.25*n)],o=e[Math.floor(.5*n)],r=e[Math.floor(.75*n)],s=r-i;return{q1:i,median:o,q3:r,whiskerLow:Math.max(e[0],i-1.5*s),whiskerHigh:Math.min(e[n-1],r+1.5*s)}}(o);if(!e)return null;const{q1:s,median:l,q3:a,whiskerLow:d,whiskerHigh:h}=e,f=Math.min(.5*i,20),g=(i-f)/2+4;if(u){const e=r(s),i=r(a),o=r(l),u=r(d),y=r(h),p="top"===n?-1:1,v=0;return t.jsxs("g",{"data-testid":"marginal-boxplot-"+n,children:[t.jsx("line",{x1:u,y1:v+p*(g+f/2),x2:y,y2:v+p*(g+f/2),stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:u,y1:v+p*g,x2:u,y2:v+p*(g+f),stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:y,y1:v+p*g,x2:y,y2:v+p*(g+f),stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("rect",{x:Math.min(e,i),y:"top"===n?v-g-f:v+g,width:Math.abs(i-e),height:f,fill:c.fill,fillOpacity:c.fillOpacity,stroke:"none"===c.stroke?c.fill:c.stroke,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:o,y1:"top"===n?v-g-f:v+g,x2:o,y2:"top"===n?v-g:v+g+f,stroke:c.fill,strokeWidth:2})]})}{const e=r(s),i=r(a),o=r(l),u=r(d),y=r(h),p="left"===n?-1:1,v=0;return t.jsxs("g",{"data-testid":"marginal-boxplot-"+n,children:[t.jsx("line",{x1:v+p*(g+f/2),y1:u,x2:v+p*(g+f/2),y2:y,stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:v+p*g,y1:u,x2:v+p*(g+f),y2:u,stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:v+p*g,y1:y,x2:v+p*(g+f),y2:y,stroke:c.fill,strokeWidth:c.strokeWidth}),t.jsx("rect",{x:"left"===n?v-g-f:v+g,y:Math.min(e,i),width:f,height:Math.abs(i-e),fill:c.fill,fillOpacity:c.fillOpacity,stroke:"none"===c.stroke?c.fill:c.stroke,strokeWidth:c.strokeWidth}),t.jsx("line",{x1:"left"===n?v-g-f:v+g,y1:o,x2:"left"===n?v-g:v+g+f,y2:o,stroke:c.fill,strokeWidth:2})]})}}const d=l.bin().domain(e).thresholds(c.bins)(o);if(0===d.length)return null;const h=Math.max(...d.map(t=>t.length));if(0===h)return null;if("histogram"===c.type)return t.jsx("g",{"data-testid":"marginal-histogram-"+n,children:d.map((e,o)=>{if(null==e.x0||null==e.x1)return null;const s=e.length/h*i;if(u){const i=r(e.x0),l=r(e.x1)-r(e.x0);return t.jsx("rect",{x:i,y:"top"===n?-4-s:4,width:Math.max(l,.5),height:s,fill:c.fill,fillOpacity:c.fillOpacity,stroke:c.stroke,strokeWidth:c.strokeWidth},o)}{const i=r(e.x0),l=r(e.x1)-r(e.x0);return t.jsx("rect",{x:"left"===n?-4-s:4,y:Math.min(i,i+l),width:s,height:Math.abs(l),fill:c.fill,fillOpacity:c.fillOpacity,stroke:c.stroke,strokeWidth:c.strokeWidth},o)}})});if("violin"===c.type){const e=i/2+4,o=[];for(const t of d){if(null==t.x0||null==t.x1)continue;const s=t.length/h*(i/2),l=r((t.x0+t.x1)/2);o.push(u?`${l},${"top"===n?-(e-s):e-s}`:`${"left"===n?-(e-s):e-s},${l}`)}for(let t=d.length-1;t>=0;t--){const s=d[t];if(null==s.x0||null==s.x1)continue;const l=s.length/h*(i/2),a=r((s.x0+s.x1)/2);o.push(u?`${a},${"top"===n?-(e+l):e+l}`:`${"left"===n?-(e+l):e+l},${a}`)}return t.jsx("g",{"data-testid":"marginal-violin-"+n,children:t.jsx("polygon",{points:o.join(" "),fill:c.fill,fillOpacity:c.fillOpacity,stroke:"none"===c.stroke?c.fill:c.stroke,strokeWidth:c.strokeWidth})})}if("ridgeline"===c.type){const e=[];if(u){const t=0,o=null!=d[0].x0?r(d[0].x0):0;e.push(`M${o},${t}`);for(const t of d){if(null==t.x0||null==t.x1)continue;const o=t.length/h*i,s=r((t.x0+t.x1)/2);e.push(`L${s},${"top"===n?-o-4:o+4}`)}const s=null!=d[d.length-1].x1?r(d[d.length-1].x1):a;e.push(`L${s},${t}`),e.push("Z")}else{const t=0,o=null!=d[0].x0?r(d[0].x0):0;e.push(`M${t},${o}`);for(const t of d){if(null==t.x0||null==t.x1)continue;const o=t.length/h*i,s=r((t.x0+t.x1)/2);e.push(`L${"left"===n?-o-4:o+4},${s}`)}const s=null!=d[d.length-1].x1?r(d[d.length-1].x1):a;e.push(`L${t},${s}`),e.push("Z")}return t.jsx("g",{"data-testid":"marginal-ridgeline-"+n,children:t.jsx("path",{d:e.join(" "),fill:c.fill,fillOpacity:c.fillOpacity,stroke:"none"===c.stroke?c.fill:c.stroke,strokeWidth:c.strokeWidth})})}return null},[o,r,c,s,a,n,u,4]);return d?t.jsx("g",{className:"marginal-"+n,"data-testid":"marginal-"+n,children:d}):null}function _e(t,e=120,n=8){if(!t)return[];const i=Math.max(1,Math.floor(e/n)),o=t.split(/\s+/),r=[];let s="";for(const t of o)s&&s.length+1+t.length>i?(r.push(s),s=t):s=s?`${s} ${t}`:t;return s&&r.push(s),r}function Pe(t,e,n,i){return"curly"===t?i?`M0,0 C${.6*n},0 ${.4*n},${e/2} ${n},${e/2} C${.4*n},${e/2} ${.6*n},${e} 0,${e}`:`M0,0 C0,${.6*n} ${e/2},${.4*n} ${e/2},${n} C${e/2},${.4*n} ${e},${.6*n} ${e},0`:i?`M0,0 L${n},0 L${n},${e} L0,${e}`:`M0,0 L0,${n} L${e},${n} L${e},0`}function Ce(e,n,i,o){if(!e)return t.jsx("g",{className:"annotation-note"});const{label:r,title:s,orientation:l,align:a,wrap:c=120,noWrap:u}=e;if(!r&&!s)return t.jsx("g",{className:"annotation-note"});let d=l;d||(d=Math.abs(n)>Math.abs(i)?"leftRight":"topBottom");let h=a;h&&"dynamic"!==h||(h="topBottom"===d?0>n?"right":"left":0>i?"bottom":"top");let f="start";"topBottom"===d?"right"===h?f="end":"middle"===h&&(f="middle"):f=0>n?"end":"start";const g=16,y=s?u?[s]:_e(s,c):[],p=r?u?[r]:_e(r,c):[],v="leftRight"===d?"end"===f?-4:4:0;let m=0;const x=[],b=o||"var(--semiotic-annotation-color, var(--semiotic-text, #333))";y.length>0&&(x.push(t.jsx("text",{className:"annotation-note-title",fill:b,textAnchor:f,fontWeight:"bold",children:y.map((e,n)=>t.jsx("tspan",{x:v,dy:0===n?0:g,children:e},n))},"annotation-note-title")),m=y.length*g),p.length>0&&x.push(t.jsx("text",{className:"annotation-note-label",fill:b,textAnchor:f,y:m,children:p.map((e,n)=>t.jsx("tspan",{x:v,dy:0===n?0:g,children:e},n))},"annotation-note-label"));let k=null;if((s||r)&&(0!==n||0!==i))if("topBottom"===d){const e=Math.min(c,120);let n=0,i=e;"end"===f?(n=-e,i=0):"middle"===f&&(n=-e/2,i=e/2),k=t.jsx("line",{className:"note-line",x1:n,x2:i,y1:0,y2:0,stroke:o||"var(--semiotic-text-secondary, currentColor)"})}else{const e=(y.length+p.length)*g+(p.length>0?g:0);let n=0,i=e;"bottom"===h?(n=-e,i=0):"middle"===h&&(n=-e/2,i=e/2),k=t.jsx("line",{className:"note-line",x1:0,x2:0,y1:n,y2:i,stroke:o||"var(--semiotic-text-secondary, currentColor)"})}const w=Math.max(0,y.length+p.length-1)*g;let A=0;return"topBottom"===d?A=0>i?-(w+2):18:"leftRight"===d&&(A="middle"===h?-(w+g+(p.length>0&&y.length>0?2:0))/2+8:"bottom"===h||0>i?-(w+2):18),t.jsxs("g",{className:"annotation-note",transform:`translate(${n},${i})`,children:[t.jsx("g",{className:"annotation-note-content",transform:0!==A?`translate(0,${A})`:void 0,children:x}),k]})}function Ee(e,n,i,o,r){var s;const l=[];switch(e){case"callout-circle":{const e=((null==n?void 0:n.radius)||0)+((null==n?void 0:n.radiusPadding)||0);e>0&&l.push(t.jsx("circle",{r:e,fill:"none",stroke:i||"var(--semiotic-text-secondary, currentColor)"},"subject-circle"));break}case"callout-rect":{const e=(null==n?void 0:n.width)||0,o=(null==n?void 0:n.height)||0;(e>0||o>0)&&l.push(t.jsx("rect",{width:e,height:o,fill:"none",stroke:i||"var(--semiotic-text-secondary, currentColor)"},"subject-rect"));break}case"callout-custom":(null==n?void 0:n.custom)&&l.push(...Array.isArray(n.custom)?n.custom:[n.custom]);break;case"xy-threshold":{const e=o||0,s=r||0;if(void 0!==(null==n?void 0:n.x)){const o=(n.x||0)-e;l.push(t.jsx("line",{x1:o,y1:(n.y1||0)-s,x2:o,y2:(n.y2||0)-s,stroke:i||"var(--semiotic-text-secondary, currentColor)",strokeDasharray:"5,5"},"threshold-line"))}else if(void 0!==(null==n?void 0:n.y)){const o=(n.y||0)-s;l.push(t.jsx("line",{x1:(n.x1||0)-e,y1:o,x2:(n.x2||0)-e,y2:o,stroke:i||"var(--semiotic-text-secondary, currentColor)",strokeDasharray:"5,5"},"threshold-line"))}else void 0!==(null==n?void 0:n.x1)||void 0!==(null==n?void 0:n.x2)?l.push(t.jsx("line",{x1:(n.x1||0)-e,y1:0,x2:(n.x2||0)-e,y2:0,stroke:i||"var(--semiotic-text-secondary, currentColor)",strokeDasharray:"5,5"},"threshold-line")):void 0===(null==n?void 0:n.y1)&&void 0===(null==n?void 0:n.y2)||l.push(t.jsx("line",{x1:0,y1:(n.y1||0)-s,x2:0,y2:(n.y2||0)-s,stroke:i||"var(--semiotic-text-secondary, currentColor)",strokeDasharray:"5,5"},"threshold-line"));break}case"bracket":{const e=null!==(s=null==n?void 0:n.width)&&void 0!==s?s:null==n?void 0:n.height;void 0!==e&&l.push(t.jsx("path",{d:Pe((null==n?void 0:n.type)||"curly",e,(null==n?void 0:n.depth)||30,void 0===(null==n?void 0:n.width)),fill:"none",stroke:i||"var(--semiotic-text-secondary, currentColor)"},"bracket-path"));break}}return t.jsx("g",{className:"annotation-subject",children:l})}function Oe(e,n,i,o,r,s){var l;const a=[];let c=0,u=0;if("callout-circle"!==r&&"label"!==r||!(null==s?void 0:s.radius)){if("callout-rect"===r&&s){const t=s.width||0,i=s.height||0;if(t>0||i>0){const o=t/2,r=i/2,s=e-o,l=n-r;if(0!==s||0!==l){const e=Math.abs(s),n=Math.abs(l),a=t/2,d=i/2,h=e*d>n*a?a/e:d/n;c=o+s*h,u=r+l*h}}}else if("bracket"===r&&s){const t=s.width,e=s.height,n=s.depth||30;void 0!==t?(c=t/2,u=n):void 0!==e&&(c=n,u=e/2)}}else{const t=(s.radius||0)+(s.radiusPadding||0);if(t>0&&(0!==e||0!==n)){const i=Math.atan2(n,e);c=Math.cos(i)*t,u=Math.sin(i)*t}}const d=Math.sqrt(Math.pow(e-c,2)+Math.pow(n-u,2));if(d>.5){const r=o||"var(--semiotic-text-secondary, currentColor)",s="curve"===(null==i?void 0:i.type);let h=Math.atan2(n-u,e-c);if(s){const o=(null!==(l=null==i?void 0:i.curve)&&void 0!==l?l:.25)*d,s=(c+e)/2+-(n-u)/d*o,f=(u+n)/2+(e-c)/d*o;a.push(t.jsx("path",{className:"connector-curve",d:`M${c},${u}Q${s},${f} ${e},${n}`,fill:"none",stroke:r},"connector-line")),h=Math.atan2(f-u,s-c)}else a.push(t.jsx("line",{x1:c,y1:u,x2:e,y2:n,stroke:r},"connector-line"));if("arrow"===(null==i?void 0:i.end)){const e=10,n=16/180*Math.PI;a.push(t.jsx("path",{d:`M${c},${u}L${c+e*Math.cos(h+n)},${u+e*Math.sin(h+n)}L${c+e*Math.cos(h-n)},${u+e*Math.sin(h-n)}Z`,fill:r,stroke:"none"},"connector-arrow"))}}return t.jsx("g",{className:"annotation-connector",children:a})}function Te(e){var n,i;const{x:o=0,y:r=0,dx:s,dy:l,nx:a,ny:c,note:u,connector:d,subject:h,type:f,color:g,className:y,disable:p,opacity:v,strokeDasharray:m,events:x={},"data-testid":b}=e,k=Array.isArray(o)?null!==(n=o[0])&&void 0!==n?n:0:o,w=Array.isArray(r)?null!==(i=r[0])&&void 0!==i?i:0:r,A=new Set(Array.isArray(p)?p:[]);let M=s||0,S=l||0;null!=a&&(M=a-k),null!=c&&(S=c-w);const j="string"==typeof f?f:"label";if("bracket"===j&&h&&0===M&&0===S)if(void 0!==h.width){M=h.width/2;const t=h.depth||30;S=t+(0>t?-5:5)}else if(void 0!==h.height){const t=h.depth||30;M=t+(0>t?-5:5),S=h.height/2}return t.jsxs("g",Object.assign({className:("annotation "+(y||"")).trim(),transform:`translate(${k},${w})`,"data-testid":b},null!=v&&{opacity:v},m&&{strokeDasharray:m},x,{children:[!A.has("connector")&&Oe(M,S,d,g,j,h),!A.has("subject")&&Ee(j,h,g,k,w),!A.has("note")&&Ce(u,M,S,g)]}))}function Le(e){var n,i;const{noteData:o}=e,{screenCoordinates:r}=o,s="string"==typeof o.type?o.type:"label",l=o.eventListeners||o.events||{};if(o.coordinates&&r){const e=o.nx||r[0][0]+(null!==(n=o.dx)&&void 0!==n?n:0),l=o.ny||r[0][1]+(null!==(i=o.dy)&&void 0!==i?i:0),a=r.map((n,i)=>{const r=Object.assign({},o,{note:0===i?o.note:{label:""},x:n[0],y:n[1],nx:e,ny:l});return t.jsx(Te,Object.assign({"data-testid":"semiotic-annotation"},r,{type:s}),"multi-annotation-"+i)});return t.jsx("g",{children:a})}const a=o.note||{title:"none",label:o.label},c=`${a.label}-${a.title}-${o.i}`;return t.jsx(Te,Object.assign({"data-testid":"semiotic-annotation",events:l},o,{type:s}),c)}function De(t,e){var n,i,o;const r=null!==(i=null===(n=e.scales)||void 0===n?void 0:n.x)&&void 0!==i?i:null===(o=e.scales)||void 0===o?void 0:o.time;return r?null!=t.x?r(t.x):e.xAccessor&&null!=t[e.xAccessor]?r(t[e.xAccessor]):null:null}function Ne(t,e){var n,i,o;const r=null!==(i=null===(n=e.scales)||void 0===n?void 0:n.y)&&void 0!==i?i:null===(o=e.scales)||void 0===o?void 0:o.value;return r?null!=t.y?r(t.y):e.yAccessor&&null!=t[e.yAccessor]?r(t[e.yAccessor]):null:null}function Re(t){return null==t?null:t+""}function $e(t,e,n){var i;return null===(i=e.stickyPositionCache)||void 0===i||i.set(t,n),n}function Ie(t,e,n){var i,o;const r=t.anchor||(null===(i=t.lifecycle)||void 0===i?void 0:i.anchor)||"fixed";if("latest"===r){if(null!=t.pointId&&n.pointNodes&&n.pointNodes.length>0)for(let i=n.pointNodes.length-1;i>=0;i--){const o=n.pointNodes[i];if(o.pointId===t.pointId)return $e(e,n,{x:o.x,y:o.y})}const i=function(t){var e,n,i,o,r,s;const l=t.data;if(!l||0===l.length)return null;const a=l[l.length-1],c=null!==(n=null===(e=t.scales)||void 0===e?void 0:e.x)&&void 0!==n?n:null===(i=t.scales)||void 0===i?void 0:i.time,u=null!==(r=null===(o=t.scales)||void 0===o?void 0:o.y)&&void 0!==r?r:null===(s=t.scales)||void 0===s?void 0:s.value;if(!c||!u)return null;const d=a[t.xAccessor||"x"],h=a[t.yAccessor||"y"];return null==d||null==h?null:{x:c(d),y:u(h)}}(n);return i?$e(e,n,i):null}if("semantic"===r){const i=function(t,e,n){var i,o;const r=function(t){var e,n;return Re(null!==(n=null===(e=t.provenance)||void 0===e?void 0:e.stableId)&&void 0!==n?n:t.stableId)}(t);if(!r)return null;const s=null===(i=n.pointNodes)||void 0===i?void 0:i.find(t=>Re(t.pointId)===r);if(s)return $e(e,n,{x:s.x,y:s.y});const l=null===(o=n.data)||void 0===o?void 0:o.find(t=>function(t){var e,n,i;return Re(null!==(n=null!==(e=t.stableId)&&void 0!==e?e:t.id)&&void 0!==n?n:null===(i=t.provenance)||void 0===i?void 0:i.stableId)}(t)===r);if(!l)return null;const a=De(l,n),c=Ne(l,n);return null==a||null==c?null:$e(e,n,{x:a,y:c})}(t,e,n);if(i)return i}let s=null,l=null;if(null!=t.pointId&&n.pointNodes){const e=n.pointNodes.find(e=>e.pointId===t.pointId);e&&(s=e.x,l=e.y)}if(null!=s&&null!=l||(s=De(t,n),l=Ne(t,n)),null!=s&&null!=l)return $e(e,n,{x:s,y:l});if("sticky"===r){const t=null===(o=n.stickyPositionCache)||void 0===o?void 0:o.get(e);if(t)return t}return null}function We(t,e,n,i=50){return!(-i>t||t>(n.width||0)+i||-i>e||e>(n.height||0)+i)}const ze={secondary:0,primary:3},Fe=".annotation-deferred{opacity:0;pointer-events:none;transition:opacity .12s ease}.stream-xy-frame:hover .annotation-deferred,.stream-ordinal-frame:hover .annotation-deferred,.stream-network-frame:hover .annotation-deferred,.stream-geo-frame:hover .annotation-deferred,.stream-xy-frame:focus-within .annotation-deferred,.stream-ordinal-frame:focus-within .annotation-deferred,.stream-network-frame:focus-within .annotation-deferred,.stream-geo-frame:focus-within .annotation-deferred{opacity:1;pointer-events:auto}@media (prefers-reduced-motion:reduce){.annotation-deferred{transition:none}}";function Ye(t){return!0===(null==t?void 0:t._annotationDeferred)}function Be(t){return"blended"===(null==t?void 0:t.cohesion)||"layer"===(null==t?void 0:t.cohesion)?t.cohesion:null}function He(t){var e;const n=null===(e=null==t?void 0:t.provenance)||void 0===e?void 0:e.confidence;return"number"==typeof n&&Number.isFinite(n)?Math.max(0,Math.min(1,n)):null}function Xe(t){return Math.max(.72,.95-.06*t)}function Ge(e){const n=e.map((t,e)=>{return{p:t,i:e,emphasis:(n=t.annotation,"primary"===(null==n?void 0:n.emphasis)||"secondary"===(null==n?void 0:n.emphasis)?n.emphasis:null),confidence:He(t.annotation),readingOrder:null,rank:1};var n}),i=n.some(t=>null!=t.emphasis||null!=t.confidence),o=e.some(t=>Ye(t.annotation)),r=e.some(t=>null!=Be(t.annotation)),s=e.some(t=>"layer"===Be(t.annotation));if(!i&&!o&&!r)return e.map(t=>t.node);const l=n.filter(t=>null==t.emphasis&&null!=t.confidence).slice().sort((t,e)=>{var n,i;return(null!==(n=e.confidence)&&void 0!==n?n:0)-(null!==(i=t.confidence)&&void 0!==i?i:0)||t.i-e.i});l.forEach((t,e)=>{t.readingOrder=e,t.rank=2-e/Math.max(1,l.length)});for(const t of n)t.emphasis&&(t.rank=ze[t.emphasis]);const a=n.sort((t,e)=>t.rank-e.rank||t.i-e.i).map(e=>{const{p:n,i:i,emphasis:o,readingOrder:r}=e,s=Ye(n.annotation);let l=n.node;if("primary"===o||"secondary"===o||null!=r){const e=null==o&&null!=r;l=t.jsx("g",Object.assign({className:e?"annotation-emphasis annotation-emphasis--inferred":"annotation-emphasis annotation-emphasis--"+o},"secondary"===o?{opacity:.6,fontSize:"0.88em"}:{},e?{opacity:Xe(r),"data-annotation-reading-order":r}:{},{children:n.node}),"annotation-emphasis-"+i)}const a=Be(n.annotation);return a&&(l=t.jsx("g",{className:"annotation-cohesion--"+a,children:l},"annotation-cohesion-"+i)),s&&(l=t.jsx("g",{className:"annotation-deferred","data-annotation-disclosure":"deferred",children:l},"annotation-deferred-"+i)),l});return o&&a.unshift(t.jsx("style",{children:Fe},"annotation-disclosure-style")),s&&a.unshift(t.jsx("style",{children:".annotation-cohesion--layer text,.annotation-cohesion--layer tspan{fill:var(--semiotic-annotation-color,var(--semiotic-text-secondary,#666));font-style:italic}"},"annotation-cohesion-style")),a}const Ve={linear:s.curveLinear,monotoneX:s.curveMonotoneX,monotoneY:s.curveMonotoneY,step:s.curveStep,stepAfter:s.curveStepAfter,stepBefore:s.curveStepBefore,basis:s.curveBasis,cardinal:s.curveCardinal,catmullRom:s.curveCatmullRom};const qe=new Set(["label","callout","callout-circle","callout-rect","text","widget"]);function Ue(t){return!!t&&"object"==typeof t&&qe.has(function(t){return"string"==typeof(null==t?void 0:t.type)?t.type:""}(t))}function Ke(t){return"primary"===(null==t?void 0:t.emphasis)||!0===(null==t?void 0:t.defensive)}function Ze(t,e,n={}){return"number"==typeof n.maxAnnotations&&Number.isFinite(n.maxAnnotations)?Math.max(0,Math.floor(n.maxAnnotations)):t>0&&e>0?Math.max(1,Math.round(t*e/(n.areaPerAnnotation&&n.areaPerAnnotation>0?n.areaPerAnnotation:2e4))):1/0}function Qe(t){var e,n;let i;const o=null==t?void 0:t.emphasis;i="primary"===o?100:"secondary"===o?10:50;const r=null===(e=null==t?void 0:t.provenance)||void 0===e?void 0:e.confidence;switch("number"==typeof r&&Number.isFinite(r)&&(i+=15*function(t){return Math.max(0,Math.min(1,t))}(r)),null===(n=null==t?void 0:t.lifecycle)||void 0===n?void 0:n.freshness){case"fresh":i+=8;break;case"aging":i+=4;break;case"stale":i+=1;break;case"expired":i-=200}return i}new Set(["label","callout","callout-circle","callout-rect"]);const Je=32,tn=6,en=4,nn=8,on=72;const rn={ai:"AI",agent:"agent",watcher:"watcher",system:"system",import:"imported",computed:"computed",user:"you"};function sn(t){return Ue(t)}function ln(t,e){if(!t)return[];const n=Math.max(1,Math.floor(e/7)),i=t.split(/\s+/).filter(Boolean),o=[];let r="";for(const t of i)r&&r.length+t.length+1>n?(o.push(r),r=t):r=r?`${r} ${t}`:t;return r&&o.push(r),o}function an(t,e,n,i,o){const r=t+n,s=e+i;return Math.abs(n)>Math.abs(i)?{x:0>n?r-o.width-4:r+4,y:0>i?s-o.height:s,width:o.width,height:o.height}:{x:0>n?r-o.width:r,y:0>i?s-o.height-4:s+4,width:o.width,height:o.height}}function cn(t,e){return{x:t.x-e,y:t.y-e,width:t.width+2*e,height:t.height+2*e}}function un(t,e){return Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x))*Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y))}function dn(t,e,n,i,o,r,s,l){const a=cn(t,s);let c=.4*Math.hypot(e.dx,e.dy)+80*function(t,e,n,i){const o=Math.max(0,i-t.x),r=Math.max(0,i-t.y);return(o+Math.max(0,t.x+t.width-(e-i)))*t.height+(r+Math.max(0,t.y+t.height-(n-i)))*t.width}(a,o,r,l);for(const t of n)c+=12*un(a,t);for(const t of i)c+=4*un(a,t);return c}function hn(t){var e;const{annotations:n,context:i,defaultOffset:o=Je,notePadding:r=tn,markPadding:s=en,edgePadding:l=nn,preserveManualOffsets:a=!0,routeLongConnectors:c=!0,connectorThreshold:u=on,density:d,progressiveDisclosure:h=!1,redundantCues:f=!1,responsive:g,cohesion:y,audience:p}=t,v=i.width||0,m=i.height||0;if(0===n.length||0>=v||0>=m)return n.slice();const x=[],b=function(t,e){return(t.pointNodes||[]).map(t=>{const n=Math.max(1,t.r||1)+e;return{x:t.x-n,y:t.y-n,width:2*n,height:2*n}})}(i,s);let k=!1;const w=n.map((t,e)=>{if(!sn(t))return t;const n=function(t,e,n){var i,o;if("widget"===t.type&&"number"==typeof t.px&&"number"==typeof t.py)return{x:t.px,y:t.py};const r=null!==(i=t.pointId)&&void 0!==i?i:t.nodeId;if(null!=r&&n.pointNodes){const t=n.pointNodes.find(t=>t.pointId===r);if(t)return{x:t.x,y:t.y}}const s=t.coordinates,l=null===(o=n.scales)||void 0===o?void 0:o.geoProjection;if(Array.isArray(s)&&s.length>=2&&l){const t=s[0],e=s[1];if("number"==typeof t&&"number"==typeof e){const n=l([t,e]);if(n&&"number"==typeof n[0]&&"number"==typeof n[1])return{x:n[0],y:n[1]}}}return n.scales||"number"!=typeof t.x||"number"!=typeof t.y?Ie(t,e,n):{x:t.x,y:t.y}}(t,e,i);if(!n)return t;const s=function(t){if("widget"===t.type)return{width:"number"==typeof t.width?t.width:32,height:"number"==typeof t.height?t.height:32};const e="number"==typeof t.wrap?t.wrap:120,n=[...ln("string"==typeof t.title?t.title:void 0,e),...ln("string"==typeof t.label?t.label:void 0,e)],i=n.reduce((t,e)=>Math.max(t,e.length),0);return{width:Math.max(24,Math.min(e,7*i)+10),height:Math.max(18,16*n.length+6)}}(t);if(a&&("number"==typeof(d=t).dx||"number"==typeof d.dy)){const e=function(t){return"text"===t.type||"widget"===t.type?{dx:0,dy:0}:{dx:30,dy:-30}}(t);return x.push(cn(an(n.x,n.y,"number"==typeof t.dx?t.dx:e.dx,"number"==typeof t.dy?t.dy:e.dy,s),r)),t}var d;let h=null,f=1/0;for(const t of function(t){const e=1.6*t;return[{dx:t,dy:-t},{dx:-t,dy:-t},{dx:t,dy:t},{dx:-t,dy:t},{dx:t,dy:0},{dx:-t,dy:0},{dx:0,dy:-t},{dx:0,dy:t},{dx:e,dy:-e},{dx:-e,dy:-e},{dx:e,dy:e},{dx:-e,dy:e}]}(o)){const e=dn(an(n.x,n.y,t.dx,t.dy,s),t,x,b,v,m,r,l);f>e&&(h=t,f=e)}if(!h)return t;const g=cn(an(n.x,n.y,h.dx,h.dy,s),r);x.push(g);const y=Math.hypot(h.dx,h.dy),p=c&&y>=u&&"text"!==t.type&&"widget"!==t.type?Object.assign(Object.assign({},t.connector||{end:"arrow"}),{type:"curve"}):t.connector;return k=!0,Object.assign(Object.assign(Object.assign({},t),{dx:h.dx,dy:h.dy}),p?{connector:p}:{})}),A=k?w:n.slice();let M=A;if(f){let t=!1;const e=A.map(e=>{const n=function(t){return"text"!==t.type||"string"!=typeof t.color||8>Math.hypot("number"==typeof t.dx?t.dx:0,"number"==typeof t.dy?t.dy:0)?t:Object.assign(Object.assign({},t),{_redundantConnector:!0})}(e);return n!==e&&(t=!0),n});M=t?e:A}{let t=!1;const e=M.map(e=>{if(!0!==(null==e?void 0:e.defensive))return e;const n=function(t){var e;const n=null==t?void 0:t.provenance;if(!n||"object"!=typeof n)return t;const i="string"==typeof n.source?null!==(e=rn[n.source])&&void 0!==e?e:n.source:null,o="number"==typeof n.confidence&&Number.isFinite(n.confidence)?Math.round(100*Math.max(0,Math.min(1,n.confidence)))+"%":null;if(!i&&!o)return t;if(null!=t.label&&"string"!=typeof t.label)return t;const r=[i,o].filter(Boolean).join(" · "),s="string"==typeof t.label?t.label:"";return s.includes(`(${r})`)?t:Object.assign(Object.assign({},t),{label:s?`${s} (${r})`:`(${r})`})}(e);return n!==e&&(t=!0),n});M=t?e:M}const S=new Set;if(d){const t="object"==typeof d?d:{},n=function(t){if(!t)return 1;const e=function(t){const e=null==t?void 0:t.familiarity;if(!e)return 3;const n=Object.values(e).filter(t=>"number"==typeof t&&Number.isFinite(t));return 0===n.length?3:n.reduce((t,e)=>t+e,0)/n.length}(t);return e>2?4>e?1:.6:1.5}(p),i=1===n?t:Object.assign(Object.assign({},t),{maxAnnotations:Math.max(0,Math.round((null!==(e=t.maxAnnotations)&&void 0!==e?e:Ze(v,m,t))*n))}),{deferred:o}=function(t){var e;const{annotations:n,width:i,height:o}=t,r=Math.max(0,null!==(e=t.minVisible)&&void 0!==e?e:1),s=Ze(i,o,t),l=n.map((t,e)=>{return{annotation:t,index:e,note:(n=t,Ue(n))};var n}),a=l.filter(t=>t.note);if(0===a.length||s>=a.length)return{visible:n.slice(),deferred:[],budget:s};const c=a.filter(t=>Ke(t.annotation)),u=a.filter(t=>!Ke(t.annotation)).sort((t,e)=>Qe(e.annotation)-Qe(t.annotation)||t.index-e.index),d=Math.min(u.length,Math.max(Math.max(0,s-c.length),Math.max(0,r-c.length))),h=new Set([...c.map(t=>t.index),...u.slice(0,d).map(t=>t.index)]),f=[],g=[];for(const{annotation:t,index:e,note:n}of l)!n||h.has(e)?f.push(t):g.push(t);return{visible:f,deferred:g,budget:s}}(Object.assign({annotations:M,width:v,height:m},i));for(const t of o)S.add(t)}if(g&&("object"==typeof g&&"number"==typeof g.minWidth?g.minWidth:480)>=v)for(const t of M)sn(t)&&"secondary"===t.emphasis&&S.add(t);if(S.size>0)for(const t of M)!0===(null==t?void 0:t.defensive)&&S.delete(t);let j;return j=0===S.size?M:h?M.map(t=>S.has(t)?Object.assign(Object.assign({},t),{_annotationDeferred:!0}):t):M.filter(t=>!S.has(t)),y?function(t,e){let n=!1;const i=t.map(t=>sn(t)?"blended"===t.cohesion||"layer"===t.cohesion?t:(n=!0,Object.assign(Object.assign({},t),{cohesion:e})):t);return n?i:t}(j,y):j}let fn={positions:new Map};const gn=new Set;function yn(){for(const t of gn)t()}function pn(t,e){const n=fn.positions.get(t);if(null==n?void 0:n.locked)return;if(!n||n.sourceId!==e)return;const i=new Map(fn.positions);i.delete(t),fn={positions:i},yn()}function vn(t,e){const n=fn.positions.get(t);if(!(null==n?void 0:n.locked))return;if(e&&n.sourceId!==e)return;const i=new Map(fn.positions);i.delete(t),fn={positions:i},yn()}function mn(){return fn}function xn(t){return gn.add(t),()=>gn.delete(t)}const bn={positions:new Map};function kn(){return()=>{}}function wn(){return bn}function An(t,e,n){return"exact"===n?function(t,e){const n=t.domain(),i=n[0],o=n[n.length-1],r=i instanceof Date,s=i instanceof Date?i.getTime():i,l=o instanceof Date?o.getTime():o;if(2>e||s===l)return r?[new Date(s),new Date(l)]:[s,l];const a=(l-s)/(e-1),c=Array(e);for(let t=0;e>t;t++){const n=t===e-1?l:s+t*a;c[t]=r?new Date(n):n}return c}(t,e):t.ticks(e)}function Mn(t,e,n){if("edges"===t){if(e)return"start";if(n)return"end"}return"middle"}function Sn(t,e,n){if("edges"===t){if(e)return"hanging";if(n)return"auto"}return"middle"}function jn(t){if(0===t.length)return{min:null,max:null};let e=1/0,n=-1/0;for(const i of t)e>i.pixel&&(e=i.pixel),i.pixel>n&&(n=i.pixel);return{min:e,max:n}}function _n(t){if(t)return"dashed"===t?"6,4":"dotted"===t?"2,4":t}function Pn(t,e,n){if("left"===t||"right"===t){const i="left"===t?n:0,o="left"===t?-1:1,r=Math.ceil(e/8);let s="M0,"+i;for(let t=0;r>t;t++){const n=8*(t+1);s+=`L${Math.min(8*t+4,e)},${i+4*o}`,s+=`L${Math.min(n,e)},${i}`}return s}{const i="bottom"===t?0:e,o="bottom"===t?1:-1,r=Math.ceil(n/8);let s=`M${i},0`;for(let t=0;r>t;t++){const e=8*(t+1);s+=`L${i+4*o},${Math.min(8*t+4,n)}`,s+=`L${i},${Math.min(e,n)}`}return s}}function Cn(n){const{width:i,height:o,totalWidth:r,totalHeight:s,margin:l,scales:a,showAxes:c,axes:u,showGrid:d,xFormat:h,yFormat:f,axisExtent:g}=n,y=e.useMemo(()=>{var t,e;if(!a)return[];const n=null==u?void 0:u.find(t=>"bottom"===t.orient),o=(null==n?void 0:n.tickFormat)||h||En,r=Math.max(2,Math.floor(i/70)),s=null!==(t=null==n?void 0:n.ticks)&&void 0!==t?t:5,l=null!==(e=null==n?void 0:n.tickValues)&&void 0!==e?e:An(a.x,"exact"===g?Math.max(2,s):Math.min(s,r),g),c=l.map(t=>t.valueOf()),d=l.map((t,e)=>({value:t,pixel:a.x(t),label:o(t,e,c)})),f=d.reduce((t,e)=>Math.max(t,"string"==typeof e.label?6.5*e.label.length:"number"==typeof e.label?6.5*(e.label+"").length:60),0);return On(d,Math.max(55,f+8))},[a,u,h,i,g]),p=e.useMemo(()=>{var t,e;if(!a)return[];const n=null==u?void 0:u.find(t=>"left"===t.orient),i=(null==n?void 0:n.tickFormat)||f||En,r=Math.max(2,Math.floor(o/30)),s=null!==(t=null==n?void 0:n.ticks)&&void 0!==t?t:5;return On((null!==(e=null==n?void 0:n.tickValues)&&void 0!==e?e:An(a.y,"exact"===g?Math.max(2,s):Math.min(s,r),g)).map(t=>({value:t,pixel:a.y(t),label:i(t)})),22)},[a,u,f,o,g]),v=d&&a,m=c&&a;if(!v&&!m)return null;const x=null==u?void 0:u.find(t=>"bottom"===t.orient),b=null==u?void 0:u.find(t=>"left"===t.orient),k=m&&(!x||!1!==x.baseline),w=m&&(!b||!1!==b.baseline),A=(null==x?void 0:x.jaggedBase)||!1,M=(null==b?void 0:b.jaggedBase)||!1,S="var(--semiotic-border, #ccc)";return t.jsx("svg",{width:r,height:s,style:{position:"absolute",top:0,left:0,pointerEvents:"none"},children:t.jsxs("g",{transform:`translate(${l.left},${l.top})`,children:[v&&(()=>{var e,n;const r=_n(null===(e=null==u?void 0:u.find(t=>"bottom"===t.orient))||void 0===e?void 0:e.gridStyle),s=_n(null===(n=null==u?void 0:u.find(t=>"left"===t.orient))||void 0===n?void 0:n.gridStyle);return t.jsxs("g",{className:"stream-grid",children:[y.map((e,n)=>t.jsx("line",{x1:e.pixel,y1:0,x2:e.pixel,y2:o,stroke:"var(--semiotic-grid, #e0e0e0)",strokeWidth:1,strokeDasharray:r},"xgrid-"+n)),p.map((e,n)=>t.jsx("line",{x1:0,y1:e.pixel,x2:i,y2:e.pixel,stroke:"var(--semiotic-grid, #e0e0e0)",strokeWidth:1,strokeDasharray:s},"ygrid-"+n))]})})(),k&&!A&&t.jsx("line",{x1:0,y1:o,x2:i,y2:o,stroke:S,strokeWidth:1}),A&&t.jsx("path",{d:Pn("bottom",i,o),fill:"none",stroke:S,strokeWidth:1}),w&&!M&&t.jsx("line",{x1:0,y1:0,x2:0,y2:o,stroke:S,strokeWidth:1}),M&&t.jsx("path",{d:Pn("left",i,o),fill:"none",stroke:S,strokeWidth:1})]})})}function En(t,e,n){return t instanceof Date?`${t.toLocaleString("en",{month:"short"})} ${t.getDate()}`:"number"==typeof t?Math.round(100*t)/100+"":t+""}function On(t,e){if(2>=t.length)return t;const n=[t[0]];for(let i=1;t.length-1>i;i++)e>Math.abs(t[i].pixel-n[n.length-1].pixel)||n.push(t[i]);const i=t[t.length-1];return e>Math.abs(i.pixel-n[n.length-1].pixel)?n[n.length-1]=i:n.push(i),n}function Tn(n){var i,o;const{width:r,height:l,totalWidth:c,totalHeight:u,margin:d,scales:h,showAxes:f,axes:g,xLabel:v,yLabel:m,yLabelRight:x,xFormat:b,yFormat:k,axisExtent:w,showGrid:A,title:M,legend:S,legendHoverBehavior:j,legendClickBehavior:_,legendHighlightedCategory:P,legendIsolatedCategories:C,legendPosition:E="right",legendLayout:O,foregroundGraphics:T,marginalGraphics:L,xValues:D,yValues:N,annotations:R,autoPlaceAnnotations:$,svgAnnotationRules:I,xAccessor:W,yAccessor:z,annotationData:F,pointNodes:Y,curve:B,underlayRendered:H,canvasObscuresUnderlay:X=!0,linkedCrosshairName:G,linkedCrosshairSourceId:V,children:q}=n,U=e.useMemo(()=>{var t,e;if(!f||!h)return[];const n=null==g?void 0:g.find(t=>"bottom"===t.orient),i=(null==n?void 0:n.tickFormat)||b||En,o=Math.max(2,Math.floor(r/70)),s=null!==(t=null==n?void 0:n.ticks)&&void 0!==t?t:5,l=null!==(e=null==n?void 0:n.tickValues)&&void 0!==e?e:An(h.x,"exact"===w?Math.max(2,s):Math.min(s,o),w),a=l.map(t=>t.valueOf()),c=l.map((t,e)=>({value:t,pixel:h.x(t),label:i(t,e,a)})),u=c.reduce((t,e)=>Math.max(t,"string"==typeof e.label?6.5*e.label.length:"number"==typeof e.label?6.5*(e.label+"").length:60),0),d=(null==n?void 0:n.autoRotate)?Math.max(20,Math.min(u+8,55)):Math.max(55,u+8);let y=On(c,d);if(y.length>1&&(y=y.filter((t,e)=>0===e||t.label+""!=y[e-1].label+"")),(null==n?void 0:n.includeMax)&&y.length>0&&"exact"!==w&&!(null==n?void 0:n.tickValues)){const t=h.x.domain()[1],e=h.x(t),n=y[y.length-1].pixel;if(Math.abs(e-n)>1){const o=i(t,y.length,a);d>e-n&&y.length>1&&(y=y.slice(0,-1)),y.push({value:t,pixel:e,label:o})}}return y},[f,h,g,b,r,w]),K=e.useMemo(()=>{var t,e;if(!f||!h)return[];const n=null==g?void 0:g.find(t=>"left"===t.orient),i=(null==n?void 0:n.tickFormat)||k||En,o=Math.max(2,Math.floor(l/30)),r=null!==(t=null==n?void 0:n.ticks)&&void 0!==t?t:5;let s=On((null!==(e=null==n?void 0:n.tickValues)&&void 0!==e?e:An(h.y,"exact"===w?Math.max(2,r):Math.min(r,o),w)).map(t=>({value:t,pixel:h.y(t),label:i(t)})),22);if(s.length>1&&(s=s.filter((t,e)=>0===e||t.label+""!=s[e-1].label+"")),(null==n?void 0:n.includeMax)&&s.length>0&&"exact"!==w&&!(null==n?void 0:n.tickValues)){const t=h.y.domain()[1],e=h.y(t),n=s[s.length-1].pixel;if(Math.abs(e-n)>1){const o=i(t);22>Math.abs(e-n)&&s.length>1&&(s=s.slice(0,-1)),s.push({value:t,pixel:e,label:o})}}return s},[f,h,g,k,l,w]),Z=e.useMemo(()=>{var t,e;if(!f||!h)return[];const n=null==g?void 0:g.find(t=>"right"===t.orient);if(!n)return[];const i=n.tickFormat||k||En,o=Math.max(2,Math.floor(l/30)),r=null!==(t=n.ticks)&&void 0!==t?t:5;return On((null!==(e=n.tickValues)&&void 0!==e?e:An(h.y,"exact"===w?Math.max(2,r):Math.min(r,o),w)).map(t=>({value:t,pixel:h.y(t),label:i(t)})),22)},[f,h,g,k,l,w]),Q=e.useRef(new Map),J=e.useRef(null!==(i=null==R?void 0:R.length)&&void 0!==i?i:0),tt=null!==(o=null==R?void 0:R.length)&&void 0!==o?o:0;J.current!==tt&&(J.current=tt,Q.current=new Map);const et=e.useMemo(()=>{if(!R||0===R.length)return null;const e=function(e,n,i){var o,r,l,c,u,d,h,f,g,v,m,x,b,k,w,A,M,S,j,_,P,C,E,O,T,L,D,N,R,$,I,W,z,F,Y,B,H,X,G,V,q,U,K,Z,Q,J,tt,et,nt,it,ot;switch(e.type){case"label":case"callout":case"callout-circle":case"callout-rect":{const s=Ie(e,n,i);if(!s)return null;const{x:a,y:c}=s;if(!We(a,c,i))return null;const u="callout"===e.type?"callout-circle":e.type,d="callout-circle"===u?{radius:null!==(o=e.radius)&&void 0!==o?o:12,radiusPadding:e.radiusPadding}:"callout-rect"===u?{width:e.width,height:e.height}:void 0;return t.jsx(Le,{noteData:Object.assign(Object.assign({x:a,y:c,dx:null!==(r=e.dx)&&void 0!==r?r:30,dy:null!==(l=e.dy)&&void 0!==l?l:-30,note:{label:e.label,title:e.title,wrap:e.wrap||120},type:u},d?{subject:d}:{}),{connector:e.connector||{end:"arrow"},color:e.color,disable:e.disable,opacity:e.opacity,strokeDasharray:e.strokeDasharray,className:e.className})},"ann-"+n)}case"x-threshold":{const o=De(null!=e.value?Object.assign(Object.assign({},e),{x:e.value}):e,i);if(null==o)return null;const r=e.color||"#f97316",s=e.labelPosition||"top";let l;return l="bottom"===s?(i.height||0)-4:"center"===s?(i.height||0)/2:12,t.jsxs("g",{children:[t.jsx("line",{x1:o,y1:0,x2:o,y2:i.height||0,stroke:r,strokeWidth:e.strokeWidth||1.5,strokeDasharray:e.strokeDasharray||"6,3"}),e.label&&t.jsx("text",{x:o+4,y:l,fill:r,fontSize:12,fontWeight:"bold",children:e.label})]},"ann-"+n)}case"y-threshold":{const o=Ne(null!=e.value?Object.assign(Object.assign({},e),{y:e.value}):e,i);if(null==o)return null;const r=e.color||"#f97316",s=e.labelPosition||"right";let l,a;return"left"===s?(l=4,a="start"):"center"===s?(l=(i.width||0)/2,a="middle"):(l=(i.width||0)-4,a="end"),t.jsxs("g",{children:[t.jsx("line",{x1:0,y1:o,x2:i.width||0,y2:o,stroke:r,strokeWidth:e.strokeWidth||1.5,strokeDasharray:e.strokeDasharray||"6,3"}),e.label&&t.jsx("text",{x:l,y:o-4,textAnchor:a,fill:r,fontSize:12,fontWeight:"bold",children:e.label})]},"ann-"+n)}case"enclose":{const o=(e.coordinates||[]).map(t=>({x:De(Object.assign(Object.assign({},t),{type:"point"}),i),y:Ne(Object.assign(Object.assign({},t),{type:"point"}),i),r:1})).filter(t=>null!=t.x&&null!=t.y);if(2>o.length)return null;const r=a.packEnclose(o),s=e.padding||10;return t.jsxs("g",{children:[t.jsx("circle",{cx:r.x,cy:r.y,r:r.r+s,fill:e.fill||"none",fillOpacity:e.fillOpacity||.1,stroke:e.color||"var(--semiotic-text-secondary, #666)",strokeWidth:1.5,strokeDasharray:"4,2"}),e.label&&t.jsx("text",{x:r.x,y:r.y-r.r-s-4,textAnchor:"middle",fill:e.color||"var(--semiotic-text-secondary, #666)",fontSize:12,children:e.label})]},"ann-"+n)}case"rect-enclose":{const o=(e.coordinates||[]).map(t=>({x:De(Object.assign(Object.assign({},t),{type:"point"}),i),y:Ne(Object.assign(Object.assign({},t),{type:"point"}),i)})).filter(t=>null!=t.x&&null!=t.y);if(2>o.length)return null;const r=e.padding||10,s=o.map(t=>t.x),l=o.map(t=>t.y),a=Math.min(...s)-r,c=Math.max(...s)+r,u=Math.min(...l)-r,d=Math.max(...l)+r;return t.jsxs("g",{children:[t.jsx("rect",{x:a,y:u,width:c-a,height:d-u,fill:e.fill||"none",fillOpacity:e.fillOpacity||.1,stroke:e.color||"var(--semiotic-text-secondary, #666)",strokeWidth:1.5,strokeDasharray:"4,2"}),e.label&&t.jsx("text",{x:(a+c)/2,y:u-4,textAnchor:"middle",fill:e.color||"var(--semiotic-text-secondary, #666)",fontSize:12,children:e.label})]},"ann-"+n)}case"highlight":{const o=i.data||[],r="function"==typeof e.filter?o.filter(e.filter):e.field&&null!=e.value?o.filter(t=>t[e.field]===e.value):[],s={stroke:e.color||"#f97316",strokeWidth:2,fill:"none"};return t.jsx("g",{children:r.map((n,o)=>{const r=De(n,i),l=Ne(n,i);if(null==r||null==l)return null;const a="function"==typeof e.r?e.r(n):e.r||6,c="function"==typeof e.style?e.style(n):e.style||s;return t.jsx("circle",Object.assign({cx:r,cy:l,r:a},c),"hl-"+o)})},"ann-"+n)}case"bracket":{const o=De(e,i),r=Ne(e,i);return t.jsx(Le,{noteData:{x:null!=o?o:0,y:null!=r?r:0,dx:e.dx||0,dy:e.dy||0,note:{label:e.label,title:e.title,wrap:e.wrap||120},type:"bracket",subject:{type:e.bracketType||"curly",width:e.width,height:e.height,depth:e.depth||30},color:e.color}},"ann-"+n)}case"trend":{const o=i.data||[];if(2>o.length)return null;const r=i.xAccessor||"x",s=i.yAccessor||"y",l="ordinal"===i.frameType,a="horizontal"===i.projection,y=l?r:null,m=l?s:null;let x;const b=[],k=new Map;if(l&&y&&m){for(const t of o){const e=t[y];if(null==e)continue;const n=e+"";k.has(n)||(k.set(n,b.length),b.push(n))}x=o.map(t=>{const e=t[y],n=t[m];if(null==e||null==n)return null;const i=k.get(e+"");return null!=i?[i,+n]:null}).filter(t=>null!==t)}else x=o.map(t=>[t[r],t[s]]).filter(t=>null!=t[0]&&null!=t[1]);if(2>x.length)return null;const w=null!==(u=null===(c=i.scales)||void 0===c?void 0:c.x)&&void 0!==u?u:null===(d=i.scales)||void 0===d?void 0:d.time,A=null!==(f=null===(h=i.scales)||void 0===h?void 0:h.y)&&void 0!==f?f:null===(g=i.scales)||void 0===g?void 0:g.value;if(!w||!A)return null;const M=t=>e=>{const n=Math.max(0,Math.floor(e)),i=Math.min(b.length-1,n+1),o=e-n,r=t(b[n]);return r+(t(b[i])-r)*o},S=w,j=A;let _;if(l)if(a){const t=M(j);_=(e,n)=>[S(n),t(e)]}else{const t=M(S);_=(e,n)=>[t(e),j(n)]}else _=(t,e)=>[S(t),j(e)];const P=e.method||"linear";let C;C="loess"===P?function(t,e=.3){const n=t.length;if(2>n)return t.slice();const i=t.slice().sort((t,e)=>t[0]-e[0]),o=i.map(t=>t[0]),r=i.map(t=>t[1]),s=Math.max(2,Math.ceil(e*n)),l=[];for(let t=0;n>t;t++){const e=o[t],i=o.map(t=>Math.abs(t-e)),a=i.slice().sort((t,e)=>t-e)[Math.min(s-1,n-1)]||1,c=[];for(let t=0;n>t;t++){const e=0===a?0:i[t]/a;c[t]=1>e?Math.pow(1-Math.pow(e,3),3):0}let u=0,d=0,h=0,f=0,g=0;for(let t=0;n>t;t++){const e=c[t];0!==e&&(u+=e,d+=e*o[t],h+=e*r[t],f+=e*o[t]*o[t],g+=e*o[t]*r[t])}if(0===u){l.push([e,r[t]]);continue}const y=u*f-d*d;if(1e-12>Math.abs(y))l.push([e,h/u]);else{const t=(u*g-d*h)/y;l.push([e,(h-t*d)/u+t*e])}}return l}(x,null!==(v=e.bandwidth)&&void 0!==v?v:.3):("polynomial"===P?p.default.polynomial(x,{order:e.order||2}):p.default.linear(x)).points;const E=C.map(([t,e])=>{const[n,i]=_(t,e);return`${n},${i}`}).join(" "),O=e.color||"#6366f1",T=C[C.length-1],[L,D]=_(T[0],T[1]);return t.jsxs("g",{children:[t.jsx("polyline",{points:E,fill:"none",stroke:O,strokeWidth:e.strokeWidth||2,strokeDasharray:e.strokeDasharray||"6,3"}),e.label&&t.jsx("text",{x:L+4,y:D-4,fill:O,fontSize:11,children:e.label})]},"ann-"+n)}case"band":{const o=null!==(x=null===(m=i.scales)||void 0===m?void 0:m.y)&&void 0!==x?x:null===(b=i.scales)||void 0===b?void 0:b.value,r=null!==(k=null==o?void 0:o(e.y0))&&void 0!==k?k:0,s=null!==(w=null==o?void 0:o(e.y1))&&void 0!==w?w:i.height||0;return t.jsxs("g",{children:[t.jsx("rect",{x:0,y:Math.min(r,s),width:i.width||0,height:Math.abs(s-r),fill:e.fill||"var(--semiotic-primary, #6366f1)",fillOpacity:e.fillOpacity||.1}),e.label&&t.jsx("text",{x:(i.width||0)-4,y:Math.min(r,s)-4,textAnchor:"end",fill:e.color||"var(--semiotic-primary, #6366f1)",fontSize:11,children:e.label})]},"ann-"+n)}case"envelope":{const o=i.data||[];if(2>o.length)return null;const r=i.xAccessor||"x",l=null!==(M=null===(A=i.scales)||void 0===A?void 0:A.x)&&void 0!==M?M:null===(S=i.scales)||void 0===S?void 0:S.time,a=null!==(_=null===(j=i.scales)||void 0===j?void 0:j.y)&&void 0!==_?_:null===(P=i.scales)||void 0===P?void 0:P.value;if(!l||!a)return null;const c=e.upperAccessor||"upperBounds",u=e.lowerAccessor||"lowerBounds",d=e.filter,h=o.filter(t=>null!=t[c]&&null!=t[u]&&!(d&&!d(t))).sort((t,e)=>t[r]-e[r]);if(2>h.length)return null;const f=Ve[i.curve||"linear"]||s.curveLinear,g=s.area().x(t=>l(t[r])).y0(t=>a(t[u])).y1(t=>a(t[c])).curve(f)(h);if(!g)return null;const y=e.fill||"#6366f1";return t.jsxs("g",{children:[t.jsx("path",{d:g,fill:y,fillOpacity:null!==(C=e.fillOpacity)&&void 0!==C?C:.15,stroke:"none"}),e.label&&h.length>0&&t.jsx("text",{x:l(h[h.length-1][r])+4,y:a(h[h.length-1][c])-4,fill:y,fontSize:11,children:e.label})]},"ann-"+n)}case"anomaly-band":{const o=i.data||[];if(2>o.length)return null;const r=i.yAccessor||"y",s=null!==(O=null===(E=i.scales)||void 0===E?void 0:E.x)&&void 0!==O?O:null===(T=i.scales)||void 0===T?void 0:T.time,l=null!==(D=null===(L=i.scales)||void 0===L?void 0:L.y)&&void 0!==D?D:null===(N=i.scales)||void 0===N?void 0:N.value;if(!s||!l)return null;const a=o.map(t=>t[r]).filter(t=>null!=t&&isFinite(t));if(2>a.length)return null;const c=a.reduce((t,e)=>t+e,0)/a.length,u=a.reduce((t,e)=>t+Math.pow(e-c,2),0)/a.length,d=Math.sqrt(u),h=null!==(R=e.threshold)&&void 0!==R?R:2,f=c-h*d,g=!1!==e.showBand,y=e.fill||"#6366f1",p=null!==($=e.fillOpacity)&&void 0!==$?$:.1,v=e.anomalyColor||"#ef4444",m=null!==(I=e.anomalyRadius)&&void 0!==I?I:6,x=l(c+h*d),b=l(f),k=o.filter(t=>{const e=t[r];return null!=e&&Math.abs(e-c)>h*d});return t.jsxs("g",{children:[g&&t.jsx("rect",{x:0,y:Math.min(x,b),width:i.width||0,height:Math.abs(b-x),fill:y,fillOpacity:p}),k.map((e,n)=>{const o=De(e,i),r=Ne(e,i);return null==o||null==r?null:t.jsx("circle",{cx:o,cy:r,r:m,fill:v,fillOpacity:.7,stroke:v,strokeWidth:1.5},"anomaly-"+n)}),e.label&&t.jsx("text",{x:(i.width||0)-4,y:Math.min(x,b)-4,textAnchor:"end",fill:y,fontSize:11,children:e.label})]},"ann-"+n)}case"forecast":{const o=i.data||[];if(3>o.length)return null;const r=i.xAccessor||"x",s=i.yAccessor||"y",l=null!==(z=null===(W=i.scales)||void 0===W?void 0:W.x)&&void 0!==z?z:null===(F=i.scales)||void 0===F?void 0:F.time,a=null!==(B=null===(Y=i.scales)||void 0===Y?void 0:Y.y)&&void 0!==B?B:null===(H=i.scales)||void 0===H?void 0:H.value;if(!l||!a)return null;const c=o.map(t=>[t[r],t[s]]).filter(t=>null!=t[0]&&null!=t[1]&&isFinite(t[0])&&isFinite(t[1])).sort((t,e)=>t[0]-e[0]);if(3>c.length)return null;let u;if("polynomial"===(e.method||"linear")){const t=p.default.polynomial(c,{order:e.order||2}).equation;u=e=>t.reduce((t,n,i)=>t+n*Math.pow(e,i),0)}else{const t=c.length;let e=0,n=0,i=0,o=0;for(const[t,r]of c)e+=t,n+=r,i+=t*t,o+=t*r;const r=t*i-e*e;if(1e-12>Math.abs(r))return null;const s=(t*o-e*n)/r,l=(n-s*e)/t;u=t=>l+s*t}const d=c.length,h=c.map(([t,e])=>e-u(t)).reduce((t,e)=>t+e*e,0),f=Math.sqrt(h/Math.max(d-2,1)),g=c.reduce((t,e)=>t+e[0],0)/d,y=c.reduce((t,e)=>t+Math.pow(e[0]-g,2),0),v=null!==(X=e.confidence)&&void 0!==X?X:.95,m=.99>v?.95>v?.9>v?1:1.645:1.96:2.576,x=null!==(G=e.steps)&&void 0!==G?G:5,b=c[d-1][0],k=(b-c[0][0])/Math.max(d-1,1),w=[];for(let t=1;x>=t;t++)w.push(b+t*k);const A=[];for(const t of w){const e=u(t),n=f*Math.sqrt(1+1/d+(y>0?Math.pow(t-g,2)/y:0))*m;A.push({x:t,yCenter:e,yUpper:e+n,yLower:e-n})}const M=`M${A.map(t=>`${l(t.x)},${a(t.yUpper)}`).join(" L")} L${A.slice().reverse().map(t=>`${l(t.x)},${a(t.yLower)}`).join(" L")} Z`,S=A.map(t=>`${l(t.x)},${a(t.yCenter)}`).join(" "),j=`${l(b)},${a(u(b))}`,_=e.strokeColor||"#6366f1";return t.jsxs("g",{children:[t.jsx("path",{d:M,fill:e.fill||"#6366f1",fillOpacity:null!==(V=e.fillOpacity)&&void 0!==V?V:.15,stroke:"none"}),t.jsx("polyline",{points:`${j} ${S}`,fill:"none",stroke:_,strokeWidth:null!==(q=e.strokeWidth)&&void 0!==q?q:2,strokeDasharray:null!==(U=e.strokeDasharray)&&void 0!==U?U:"6,3"}),e.label&&A.length>0&&t.jsx("text",{x:l(A[A.length-1].x)+4,y:a(A[A.length-1].yCenter)-4,fill:_,fontSize:11,children:e.label})]},"ann-"+n)}case"widget":{let o=null,r=null;if(null!=e.px&&null!=e.py)o=e.px,r=e.py;else{const t=Ie(e,n,i);if(!t)return null;o=t.x,r=t.y}if(null==o||null==r)return null;if(!We(o,r,i))return null;const s=null!==(K=e.dx)&&void 0!==K?K:0,l=null!==(Z=e.dy)&&void 0!==Z?Z:0,a=null!==(Q=e.width)&&void 0!==Q?Q:32,c=null!==(J=e.height)&&void 0!==J?J:32,u=null!==(tt=e.content)&&void 0!==tt?tt:t.jsx("span",{style:{fontSize:18,cursor:"default"},title:e.label||"Info",children:"ℹ️"});return t.jsx("foreignObject",{x:o+s-a/2,y:r+l-c/2,width:a,height:c,style:{overflow:"visible",pointerEvents:"auto"},children:t.jsx("div",{style:{width:a,height:c,display:"flex",alignItems:"center",justifyContent:"center"},children:u})},"ann-"+n)}case"text":{const o=Ie(e,n,i);if(!o)return null;const{x:r,y:s}=o,l=r+(e.dx||0),a=s+(e.dy||0),c=e.color||"var(--semiotic-text, #333)",u=t.jsx("text",{x:l,y:a,fill:c,fontSize:e.fontSize||11,opacity:e.opacity,strokeDasharray:e.strokeDasharray,dominantBaseline:"middle",style:{fontFamily:"inherit"},children:e.label});return!0!==e._redundantConnector?y.cloneElement(u,{key:"ann-text-"+n}):t.jsxs("g",{opacity:e.opacity,strokeDasharray:e.strokeDasharray,children:[t.jsx("line",{x1:r,y1:s,x2:l,y2:a,stroke:c,strokeWidth:1,strokeOpacity:.5,style:{pointerEvents:"none"}}),y.cloneElement(u,{opacity:void 0,strokeDasharray:void 0})]},"ann-text-"+n)}case"category-highlight":{const o=e.category;if(null==o)return null;const r=t=>"function"==typeof t&&"function"==typeof t.bandwidth,s=null===(et=i.scales)||void 0===et?void 0:et.o,l=null===(nt=i.scales)||void 0===nt?void 0:nt.x,a=null===(it=i.scales)||void 0===it?void 0:it.y,c=r(s)?s:r(l)?l:r(a)?a:null;if(!c)return null;const u=c(o+"");if(null==u)return null;const d=c.bandwidth(),h=e.color||"var(--semiotic-primary, #4589ff)",f=null!==(ot=e.opacity)&&void 0!==ot?ot:.15,g=e.label;return t.jsxs("g",(i.projection?"vertical"===i.projection:c===l)?{children:[t.jsx("rect",{x:u,y:0,width:d,height:i.height||0,fill:h,fillOpacity:f}),g&&t.jsx("text",{x:u+d/2,y:12,textAnchor:"middle",fill:h,fontSize:12,fontWeight:"bold",children:g})]}:{children:[t.jsx("rect",{x:0,y:u,width:i.width||0,height:d,fill:h,fillOpacity:f}),g&&t.jsx("text",{x:12,y:u+d/2,dominantBaseline:"middle",fill:h,fontSize:12,fontWeight:"bold",children:g})]},"ann-"+n)}default:return null}},n={scales:h?{x:h.x,y:h.y,time:h.x,value:h.y}:null,timeAxis:"x",xAccessor:W,yAccessor:z,width:r,height:l,data:F,frameType:"xy",pointNodes:Y,curve:B,stickyPositionCache:Q.current};return function(t,e,n,i){const o=[];return t.forEach((t,r)=>{let s;if(n){const o=n(t,r,i);s=null!=o?o:e(t,r,i)}else s=e(t,r,i);s&&o.push({node:s,annotation:t})}),Ge(o)}($?hn(Object.assign({annotations:R,context:n},"object"==typeof $?$:{})):R,e,I,n)},[R,$,I,r,l,W,z,F,h,Y,B]),nt=function(t){var n;const i=e.useSyncExternalStore(t?xn:kn,t?mn:wn,t?mn:wn);return t&&null!==(n=i.positions.get(t))&&void 0!==n?n:null}(G);return e.useEffect(()=>{if(!(null==nt?void 0:nt.locked)||!G)return;const t=t=>{"Escape"===t.key&&vn(G)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[null==nt?void 0:nt.locked,G]),f||M||S||T||L||et&&et.length>0||A||q||nt?t.jsxs("svg",{role:"img",width:c,height:u,overflow:"visible",style:{position:"absolute",top:0,left:0,pointerEvents:"none",overflow:"visible"},children:[t.jsx("title",{children:"string"==typeof M?M:"XY Chart"}),t.jsx("desc",{children:"string"==typeof M?M+" — XY data visualization":"XY data visualization"}),t.jsxs("g",{transform:`translate(${d.left},${d.top})`,children:[A&&h&&(!H||X)&&(()=>{var e,n;const i=_n(null===(e=null==g?void 0:g.find(t=>"bottom"===t.orient))||void 0===e?void 0:e.gridStyle),o=_n(null===(n=null==g?void 0:g.find(t=>"left"===t.orient))||void 0===n?void 0:n.gridStyle);return t.jsxs("g",{className:"stream-grid",children:[U.map((e,n)=>t.jsx("line",{x1:e.pixel,y1:0,x2:e.pixel,y2:l,stroke:"var(--semiotic-grid, #e0e0e0)",strokeWidth:1,strokeDasharray:i},"xgrid-"+n)),K.map((e,n)=>t.jsx("line",{x1:0,y1:e.pixel,x2:r,y2:e.pixel,stroke:"var(--semiotic-grid, #e0e0e0)",strokeWidth:1,strokeDasharray:o},"ygrid-"+n))]})})(),f&&h&&(()=>{const e=null==g?void 0:g.find(t=>"left"===t.orient),n=null==g?void 0:g.find(t=>"bottom"===t.orient),i=!e||!1!==e.baseline,o=!n||!1!==n.baseline,s=(null==e?void 0:e.jaggedBase)||!1,a=(null==n?void 0:n.jaggedBase)||!1,c=null==n?void 0:n.landmarkTicks,u=null==e?void 0:e.landmarkTicks,h="var(--semiotic-border, #ccc)",f="var(--semiotic-text-secondary, var(--semiotic-text, #666))",y="var(--semiotic-text, #333)",p=!!(null==n?void 0:n.autoRotate)&&U.length>1&&(()=>{const t=r/Math.max(U.length-1,1);return U.reduce((t,e)=>Math.max(t,"string"==typeof e.label?6.5*e.label.length:60),0)+8>t})(),b={fontSize:"var(--semiotic-tick-font-size, 12px)"},k={fontSize:"calc(var(--semiotic-tick-font-size, 12px) + 1px)"},w={fontSize:"var(--semiotic-axis-label-font-size, 12px)"},A=null==n?void 0:n.tickAnchor,M=null==e?void 0:e.tickAnchor,S=jn(U),j=jn(K);return t.jsxs("g",{className:"stream-axes",style:{fontFamily:"var(--semiotic-font-family, sans-serif)"},children:[t.jsxs("g",{className:"semiotic-axis semiotic-axis-bottom","data-orient":"bottom",children:[(!H||X)&&o&&!a&&t.jsx("line",{x1:0,y1:l,x2:r,y2:l,stroke:h,strokeWidth:1}),(!H||X)&&a&&t.jsx("path",{d:Pn("bottom",r,l),fill:"none",stroke:h,strokeWidth:1}),U.map((e,n)=>{const i=!!c&&("function"==typeof c?c(e.value,n):Rt(e.value,n>0?U[n-1].value:void 0));return t.jsxs("g",{transform:`translate(${e.pixel},${l})`,children:[t.jsx("line",{y2:5,stroke:h,strokeWidth:1}),"string"==typeof e.label||"number"==typeof e.label?t.jsx("text",{y:p?10:18,textAnchor:p?"end":Mn(A,e.pixel===S.min,e.pixel===S.max),fontWeight:i?600:400,fill:f,className:"semiotic-axis-tick",style:Object.assign({userSelect:"none"},i?k:b),transform:p?"rotate(-45)":void 0,children:e.label}):t.jsx("foreignObject",{x:-30,y:6,width:60,height:24,style:{overflow:"visible"},children:t.jsx("div",{style:Object.assign({textAlign:"center",userSelect:"none"},b),children:e.label})})]},"xtick-"+n)}),v&&t.jsx("text",{x:r/2,y:l+40,textAnchor:"middle",fill:y,className:"semiotic-axis-label",style:Object.assign({userSelect:"none"},w),children:v})]}),t.jsxs("g",{className:"semiotic-axis semiotic-axis-left","data-orient":"left",children:[(!H||X)&&i&&!s&&t.jsx("line",{x1:0,y1:0,x2:0,y2:l,stroke:h,strokeWidth:1}),(!H||X)&&s&&t.jsx("path",{d:Pn("left",r,l),fill:"none",stroke:h,strokeWidth:1}),K.map((e,n)=>{const i=!!u&&("function"==typeof u?u(e.value,n):Rt(e.value,n>0?K[n-1].value:void 0));return t.jsxs("g",{transform:`translate(0,${e.pixel})`,children:[t.jsx("line",{x2:-5,stroke:h,strokeWidth:1}),"string"==typeof e.label||"number"==typeof e.label?t.jsx("text",{x:-8,textAnchor:"end",dominantBaseline:Sn(M,e.pixel===j.min,e.pixel===j.max),fontWeight:i?600:400,fill:f,className:"semiotic-axis-tick",style:Object.assign({userSelect:"none"},i?k:b),children:e.label}):t.jsx("foreignObject",{x:-68,y:-12,width:60,height:24,style:{overflow:"visible"},children:t.jsx("div",{style:Object.assign({textAlign:"right",userSelect:"none"},b),children:e.label})})]},"ytick-"+n)}),(()=>{const n=(null==e?void 0:e.label)||m;return n?t.jsx("text",{x:15-d.left,y:l/2,textAnchor:"middle",fill:y,transform:`rotate(-90, ${15-d.left}, ${l/2})`,className:"semiotic-axis-label",style:Object.assign({userSelect:"none"},w),children:n}):null})()]}),(()=>{const e=null==g?void 0:g.find(t=>"right"===t.orient);if(!e||0===Z.length)return null;const n=!1!==e.baseline,i=e.landmarkTicks,o=e.label||x,s=e.tickAnchor,a=jn(Z);return t.jsxs("g",{className:"semiotic-axis semiotic-axis-right","data-orient":"right",children:[n&&t.jsx("line",{x1:r,y1:0,x2:r,y2:l,stroke:h,strokeWidth:1}),Z.map((e,n)=>{const o=!!i&&("function"==typeof i?i(e.value,n):Rt(e.value,n>0?Z[n-1].value:void 0));return t.jsxs("g",{transform:`translate(${r},${e.pixel})`,children:[t.jsx("line",{x2:5,stroke:h,strokeWidth:1}),"string"==typeof e.label||"number"==typeof e.label?t.jsx("text",{x:8,textAnchor:"start",dominantBaseline:Sn(s,e.pixel===a.min,e.pixel===a.max),fontWeight:o?600:400,fill:f,className:"semiotic-axis-tick",style:Object.assign({userSelect:"none"},o?k:b),children:e.label}):t.jsx("foreignObject",{x:8,y:-12,width:60,height:24,style:{overflow:"visible"},children:t.jsx("div",{style:Object.assign({textAlign:"left",userSelect:"none"},b),children:e.label})})]},"ytick-r-"+n)}),o&&t.jsx("text",{x:r+d.right-15,y:l/2,textAnchor:"middle",fill:y,transform:`rotate(90, ${r+d.right-15}, ${l/2})`,className:"semiotic-axis-label",style:Object.assign({userSelect:"none"},w),children:o})]})})()]})})(),et,L&&h&&D&&N&&t.jsxs(t.Fragment,{children:[L.top&&t.jsx("g",{transform:"translate(0, 0)",children:t.jsx(je,{orient:"top",config:Se(L.top),values:D,scale:h.x,size:d.top,length:r})}),L.bottom&&t.jsx("g",{transform:`translate(0, ${l})`,children:t.jsx(je,{orient:"bottom",config:Se(L.bottom),values:D,scale:h.x,size:d.bottom,length:r})}),L.left&&t.jsx("g",{transform:"translate(0, 0)",children:t.jsx(je,{orient:"left",config:Se(L.left),values:N,scale:h.y,size:d.left,length:l})}),L.right&&t.jsx("g",{transform:`translate(${r}, 0)`,children:t.jsx(je,{orient:"right",config:Se(L.right),values:N,scale:h.y,size:d.right,length:l})})]}),T,nt&&nt.sourceId!==V&&(null==h?void 0:h.x)&&(()=>{const e=h.x(nt.xValue);if(null==e||0>e||e>r)return null;const n=nt.locked;return t.jsx("line",{x1:e,y1:0,x2:e,y2:l,stroke:n?"white":"var(--semiotic-text-secondary, rgba(0,0,0,0.25))",strokeWidth:n?1.5:1,strokeDasharray:n?"6,3":"4,4",pointerEvents:"none"})})(),q]}),M&&t.jsx("text",{x:c/2,y:20,textAnchor:"middle",fontWeight:"bold",fill:"var(--semiotic-text, #333)",className:"semiotic-chart-title",style:{userSelect:"none",fontSize:"var(--semiotic-title-font-size, 14px)"},children:"string"==typeof M?M:null}),Me({legend:S,totalWidth:c,totalHeight:u,margin:d,legendPosition:E,title:M,legendLayout:O,legendHoverBehavior:j,legendClickBehavior:_,legendHighlightedCategory:P,legendIsolatedCategories:C})]}):null}function Ln(t){var e,n,i,o;return(null!==(e=t.tl)&&void 0!==e?e:0)>0||(null!==(n=t.tr)&&void 0!==n?n:0)>0||(null!==(i=t.br)&&void 0!==i?i:0)>0||(null!==(o=t.bl)&&void 0!==o?o:0)>0}const Dn={innerRadius:0,outerRadius:0,startAngle:0,endAngle:0};function Nn(t,e="#4e79a7"){return t&&"string"==typeof t?t:e}const Rn="undefined"==typeof window||"undefined"==typeof document,$n="undefined"!=typeof window?e.useLayoutEffect:e.useEffect;function In(){const[t,n]=e.useState(!1);return $n(()=>{n(!0)},[]),t}const Wn=()=>()=>{},zn=()=>!1,Fn=()=>!0;function Yn(){const t=e.useSyncExternalStore(Wn,zn,Fn);return e.useRef(t).current}function Bn(t){const{hydrated:n,wasHydratingFromSSR:i,storeRef:o,dirtyRef:r,renderFnRef:s,cleanup:l}=t;$n(()=>{var t,e;n&&i&&(null===(e=null===(t=o.current)||void 0===t?void 0:t.cancelIntroAnimation)||void 0===e||e.call(t)),r.current=!0,s.current()},[n,i]);const a=e.useRef(l);a.current=l,e.useEffect(()=>()=>{var t;return null===(t=a.current)||void 0===t?void 0:t.call(a)},[])}function Hn(t){const n=e.useRef(t);return function(t,e){if(Object.is(t,e))return!0;if(Array.isArray(t)&&Array.isArray(e))return Gn(t,e);if(!Vn(t)||!Vn(e))return!1;const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(const i of n){if(!Object.prototype.hasOwnProperty.call(e,i))return!1;const n=t[i],o=e[i];if(!Object.is(n,o))if(Array.isArray(n)&&Array.isArray(o)){if(!Gn(n,o))return!1}else{if(!Vn(n)||!Vn(o))return!1;if(!Xn(n,o))return!1}}return!0}(n.current,t)||(n.current=t),n.current}function Xn(t,e){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!1;for(const i of n){if(!Object.prototype.hasOwnProperty.call(e,i))return!1;if(!Object.is(t[i],e[i]))return!1}return!0}function Gn(t,e){if(t.length!==e.length)return!1;for(let n=0;t.length>n;n++)if(!Object.is(t[n],e[n]))return!1;return!0}function Vn(t){if(null===t||"object"!=typeof t)return!1;if(Array.isArray(t))return!1;const e=Object.getPrototypeOf(t);return e===Object.prototype||null===e}const qn=y.createContext(null);function Un(){return y.useContext(qn)}const Kn={position:"absolute",width:1,height:1,overflow:"hidden",clip:"rect(0,0,0,0)",whiteSpace:"nowrap",border:0};function Zn(t,e){if(!t||0===t.length)return e+", empty";const n={};for(const e of t){if(null===(null==e?void 0:e.datum))continue;const t=e.type+"";n[t]=(n[t]||0)+1}if(0===Object.keys(n).length)return e+", empty";const i=[],o={point:"points",line:"lines",area:"areas",rect:"bars",heatcell:"cells",circle:"nodes",candlestick:"candlesticks",wedge:"wedges",arc:"arcs",geoarea:"regions"},r=["point","line","area","rect","heatcell","circle","candlestick","wedge","arc","geoarea"],s=Object.keys(n).sort((t,e)=>{const n=r.indexOf(t),i=r.indexOf(e);return(-1===n?999:n)-(-1===i?999:i)});for(const t of s)i.push(`${n[t]} ${o[t]||t}`);return`${e}, ${i.join(", ")}`}function Qn(t,e,n){const i=[];return t>0&&i.push(t+" nodes"),e>0&&i.push(e+" edges"),0===i.length?n+", empty":`${n}, ${i.join(", ")}`}const Jn=t=>{if(null==t)return"";const e=Math.round(100*t)/100;return Number.isNaN(e)?"":e+""};function ti(t){const e={};if(null==t||"object"!=typeof t)return e;for(const[n,i]of Object.entries(t))n.startsWith("_")||null!=i&&""!==i&&("number"==typeof i?Number.isFinite(i)&&(e[n]=i):"string"==typeof i?e[n]=i:"boolean"==typeof i?e[n]=i+"":i instanceof Date&&(e[n]=i.toISOString().slice(0,10)));return e}const ei="semiotic-accessible-data-table",ni=ei+" semiotic-accessible-data-table-hidden",ii=ei+" semiotic-accessible-data-table-visible",oi=ii+" semiotic-accessible-data-table-network",ri={position:"absolute",top:0,left:0,right:0,zIndex:"var(--semiotic-data-table-z-index, var(--semiotic-overlay-z-index, 20))",padding:"14px 16px 12px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontFamily:"var(--semiotic-font-family, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif)",fontSize:13,lineHeight:1.5,color:"var(--semiotic-data-table-text, var(--semiotic-text, #333))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",borderRadius:"var(--semiotic-border-radius, 0px) var(--semiotic-border-radius, 0px) 0 0"},si={marginBottom:8,paddingRight:28,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:12,letterSpacing:"0.01em"},li={position:"absolute",top:10,right:10,width:22,height:22,display:"flex",alignItems:"center",justifyContent:"center",border:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",cursor:"pointer",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",fontSize:13,lineHeight:1,padding:0,borderRadius:"var(--semiotic-border-radius, 4px)"},ai={width:"100%",borderCollapse:"collapse",fontSize:12,marginTop:4,fontVariantNumeric:"tabular-nums"},ci={textAlign:"left",padding:"5px 10px",borderBottom:"2px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",fontWeight:600,fontSize:11,textTransform:"uppercase",letterSpacing:"0.04em",color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))"},ui={padding:"4px 10px",borderBottom:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))"},di={textAlign:"left",fontSize:11,color:"var(--semiotic-data-table-muted-text, var(--semiotic-text-secondary, #666))",marginBottom:4,fontStyle:"italic"},hi={marginTop:8,padding:"4px 10px",fontSize:12,cursor:"pointer",border:"1px solid var(--semiotic-data-table-border, var(--semiotic-border, #e0e0e0))",borderRadius:"var(--semiotic-border-radius, 4px)",background:"var(--semiotic-data-table-bg, var(--semiotic-surface, var(--semiotic-bg, #fff)))",color:"var(--semiotic-data-table-text, var(--semiotic-text, #333))",fontFamily:"inherit"};function fi({scene:e,chartType:n,tableId:i,chartTitle:o}){var r;const[s,l]=y.useState(!1),[a,c]=y.useState(5),u=Un(),d=null!==(r=null==u?void 0:u.visible)&&void 0!==r&&r,h=s||d,f=y.useRef(null),g=o?"Data summary for "+o:i?`Data summary for ${n} ${i}`:"Data summary for "+n;y.useEffect(()=>{h||c(5)},[h]);const p=y.useCallback(t=>{t.target===t.currentTarget&&(s||d||l(!0))},[s,d]),v=y.useCallback(t=>{var e;d||(null===(e=f.current)||void 0===e?void 0:e.contains(t.relatedTarget))||l(!1)},[d]);if(!e||0===e.length)return i?t.jsx("span",{id:i,tabIndex:-1,style:Kn}):null;if(!h)return t.jsx("div",{id:i,className:ni,tabIndex:-1,onFocus:p,style:Kn,role:"region","aria-label":g,children:t.jsxs("button",{type:"button",onClick:()=>l(!0),children:["View data summary (",e.length," elements)"]})});const m=function(t){var e,n,i,o,r,s,l,a,c,u,d,h,f,g,y,p,v;const m=[];if(!Array.isArray(t))return m;const x=t.some(t=>t&&("line"===t.type||"area"===t.type));for(const b of t)if(b&&"object"==typeof b&&null!==b.datum)try{switch(b.type){case"point":if(x)break;m.push({label:"Point",values:ti(b.datum)});break;case"line":case"area":{const t=Array.isArray(b.datum)?b.datum:[],e="line"===b.type?"Line point":"Area point";for(const n of t)m.push({label:e,values:ti(n)});break}case"rect":{const t=null!=b.datum&&"object"==typeof b.datum?b.datum:{},r=null!==(n=null!==(e=t.category)&&void 0!==e?e:b.group)&&void 0!==n?n:"",s=null!==(o=null!==(i=t.value)&&void 0!==i?i:t.__aggregateValue)&&void 0!==o?o:t.total;m.push({label:"Bar",values:{category:r,value:null!=s?s:""}});break}case"heatcell":{const t=ti(b.datum);null==t.value&&"number"==typeof b.value&&Number.isFinite(b.value)&&(t.value=b.value),m.push({label:"Cell",values:t});break}case"wedge":m.push({label:"Wedge",values:{category:null!==(a=null!==(s=null===(r=b.datum)||void 0===r?void 0:r.category)&&void 0!==s?s:null===(l=b.datum)||void 0===l?void 0:l.label)&&void 0!==a?a:"",value:null!==(u=null===(c=b.datum)||void 0===c?void 0:c.value)&&void 0!==u?u:""}});break;case"circle":m.push({label:"Node",values:ti(b.datum)});break;case"arc":m.push({label:"Arc",values:ti(b.datum)});break;case"candlestick":m.push({label:"Candlestick",values:ti(b.datum)});break;case"geoarea":m.push({label:"Region",values:{name:null!==(y=null!==(f=null===(h=null===(d=b.datum)||void 0===d?void 0:d.properties)||void 0===h?void 0:h.name)&&void 0!==f?f:null===(g=b.datum)||void 0===g?void 0:g.name)&&void 0!==y?y:"",value:null!==(v=null===(p=b.datum)||void 0===p?void 0:p.value)&&void 0!==v?v:""}})}}catch(t){}return m}(e),x=function(t){if(!t||0===t.length)return[];const e=new Set;for(const n of t)if(n&&n.values)for(const t of Object.keys(n.values))e.add(t);const n=[];for(const i of e){const e=[],o=new Set;for(const n of t){if(!n||!n.values)continue;const t=n.values[i];null!=t&&""!==t&&("number"==typeof t&&!Number.isNaN(t)&&Number.isFinite(t)?e.push(t):"number"==typeof t||"object"!=typeof t&&"function"!=typeof t&&o.add(t+""))}if(e.length>0){let t=e[0],o=e[0],r=0;for(const n of e)t>n&&(t=n),n>o&&(o=n),r+=n;n.push({name:i,count:e.length,numeric:!0,min:t,max:o,mean:r/e.length})}else if(o.size>0){const t=Array.from(o);n.push({name:i,count:t.length,numeric:!1,uniqueValues:t.slice(0,5)})}}return n}(m),b=function(t,e){const n=[t+" data points."];for(const t of e)if(t.numeric)n.push(`${t.name}: ${Jn(t.min)} to ${Jn(t.max)}, mean ${Jn(t.mean)}.`);else{const e=t.uniqueValues,i=e.length>3?`${e.slice(0,3).join(", ")}… (${t.count} unique)`:e.join(", ");n.push(`${t.name}: ${i}.`)}return n.join(" ")}(m.length,x),k=Math.min(a,m.length),w=m.slice(0,k),A=m.length-k,M=new Set;for(const t of w)for(const e of Object.keys(t.values))M.add(e);const S=Array.from(M);return t.jsxs("div",{ref:f,id:i,className:ii,tabIndex:-1,onBlur:v,style:ri,role:"region","aria-label":g,children:[t.jsx("button",{type:"button",className:"semiotic-accessible-data-table-close",onClick:()=>{d&&u&&u.setVisible(!1),l(!1)},"aria-label":"Close data summary",style:li,children:"×"}),t.jsx("div",{className:"semiotic-accessible-data-table-summary",role:"note",style:si,children:b}),t.jsxs("table",{className:"semiotic-accessible-data-table-table",role:"table","aria-label":"Sample data for "+n,style:ai,children:[t.jsx("caption",{className:"semiotic-accessible-data-table-caption",style:di,children:A>0?`First ${k} of ${m.length} data points`:`All ${m.length} data points`}),t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{style:ci,children:"type"}),S.map(e=>t.jsx("th",{style:ci,children:e},e))]})}),t.jsx("tbody",{children:w.map((e,n)=>t.jsxs("tr",{children:[t.jsx("td",{style:ui,children:e.label}),S.map(n=>{return t.jsx("td",{style:ui,children:(i=e.values[n],null==i||""===i?"—":"number"==typeof i?Number.isNaN(i)?"—":Jn(i):"boolean"==typeof i?i?"true":"false":"object"==typeof i?"—":i+"")},n);var i})]},n))})]}),A>0&&t.jsxs("button",{type:"button",className:"semiotic-accessible-data-table-show-more",onClick:()=>c(t=>t+25),style:hi,children:["Show ",Math.min(25,A)," more"," ",1===A?"row":"rows"," (",A," remaining)"]})]})}function gi({nodes:e,edges:n,chartType:i,tableId:o,chartTitle:r}){var s,l,a,c,u,d,h,f,g,p,v,m,x,b;const[k,w]=y.useState(!1),[A,M]=y.useState(5),S=Un(),j=null!==(s=null==S?void 0:S.visible)&&void 0!==s&&s,_=k||j,P=r?"Data summary for "+r:o?`Data summary for ${i} ${o}`:"Data summary for "+i,C=y.useRef(null);y.useEffect(()=>{_||M(5)},[_]);const E=y.useCallback(t=>{t.target===t.currentTarget&&(k||j||w(!0))},[k,j]),O=y.useCallback(t=>{var e;j||(null===(e=C.current)||void 0===e?void 0:e.contains(t.relatedTarget))||w(!1)},[j]);if(!e||0===e.length)return o?t.jsx("span",{id:o,tabIndex:-1,style:Kn}):null;if(!_)return t.jsx("div",{id:o,className:ni,tabIndex:-1,onFocus:E,style:Kn,role:"region","aria-label":P,children:t.jsxs("button",{type:"button",onClick:()=>w(!0),children:["View data summary (",e.length," nodes, ",n.length," edges)"]})});const T=Array.isArray(e)?e:[],L=Array.isArray(n)?n:[],D=new Map,N=new Map,R=new Map,$=new Map;for(const t of L){if(!t||"object"!=typeof t)continue;const e=null!==(l=t.datum)&&void 0!==l?l:t,n="object"==typeof e.source?null===(a=e.source)||void 0===a?void 0:a.id:e.source,i="object"==typeof e.target?null===(c=e.target)||void 0===c?void 0:c.id:e.target,o="number"==typeof e.value&&Number.isFinite(e.value)?e.value:0;if(null!=n&&""!==n){const t=n+"";N.set(t,(null!==(u=N.get(t))&&void 0!==u?u:0)+1),$.set(t,(null!==(d=$.get(t))&&void 0!==d?d:0)+o)}if(null!=i&&""!==i){const t=i+"";D.set(t,(null!==(h=D.get(t))&&void 0!==h?h:0)+1),R.set(t,(null!==(f=R.get(t))&&void 0!==f?f:0)+o)}}const I=[];for(let t=0;T.length>t;t++){const e=T[t];if(!e||"object"!=typeof e)continue;const n=null!==(p=null===(g=e.datum)||void 0===g?void 0:g.id)&&void 0!==p?p:e.id,i=null!=n?n+"":"node-"+t,o=null!==(v=D.get(i))&&void 0!==v?v:0,r=null!==(m=N.get(i))&&void 0!==m?m:0,s=null!==(x=R.get(i))&&void 0!==x?x:0,l=null!==(b=$.get(i))&&void 0!==b?b:0;I.push({id:i,degree:o+r,inDeg:o,outDeg:r,wDegree:s+l,wInDeg:s,wOutDeg:l})}I.sort((t,e)=>e.degree-t.degree);let W=0,z=0;if(I.length>0){let t=0;for(const e of I)t+=e.degree,e.degree>z&&(z=e.degree);W=t/I.length}const F=L.some(t=>{var e;const n=null!==(e=null==t?void 0:t.datum)&&void 0!==e?e:t;return"number"==typeof(null==n?void 0:n.value)&&Number.isFinite(n.value)}),Y=[`${I.length} nodes, ${L.length} edges.`];I.length>0&&Y.push(`Mean degree: ${Jn(W)}, max degree: ${z}.`);const B=Math.min(A,I.length),H=I.slice(0,B),X=I.length-B;return t.jsxs("div",{ref:C,id:o,className:oi,tabIndex:-1,onBlur:O,style:ri,role:"region","aria-label":P,children:[t.jsx("button",{type:"button",className:"semiotic-accessible-data-table-close",onClick:()=>{j&&S&&S.setVisible(!1),w(!1)},"aria-label":"Close data summary",style:li,children:"×"}),t.jsx("div",{className:"semiotic-accessible-data-table-summary",role:"note",style:si,children:Y.join(" ")}),t.jsxs("table",{className:"semiotic-accessible-data-table-table",role:"table","aria-label":"Node degree summary for "+i,style:ai,children:[t.jsx("caption",{className:"semiotic-accessible-data-table-caption",style:di,children:X>0?`Top ${B} of ${I.length} nodes by degree`:`All ${I.length} nodes by degree`}),t.jsx("thead",{children:t.jsxs("tr",{children:[t.jsx("th",{style:ci,children:"id"}),t.jsx("th",{style:ci,children:"degree"}),t.jsx("th",{style:ci,children:"in"}),t.jsx("th",{style:ci,children:"out"}),F&&t.jsx("th",{style:ci,children:"w. degree"}),F&&t.jsx("th",{style:ci,children:"w. in"}),F&&t.jsx("th",{style:ci,children:"w. out"})]})}),t.jsx("tbody",{children:H.map((e,n)=>t.jsxs("tr",{children:[t.jsx("td",{style:ui,children:e.id}),t.jsx("td",{style:ui,children:e.degree}),t.jsx("td",{style:ui,children:e.inDeg}),t.jsx("td",{style:ui,children:e.outDeg}),F&&t.jsx("td",{style:ui,children:Jn(e.wDegree)}),F&&t.jsx("td",{style:ui,children:Jn(e.wInDeg)}),F&&t.jsx("td",{style:ui,children:Jn(e.wOutDeg)})]},n))})]}),X>0&&t.jsxs("button",{type:"button",className:"semiotic-accessible-data-table-show-more",onClick:()=>M(t=>t+25),style:hi,children:["Show ",Math.min(25,X)," more"," ",1===X?"node":"nodes"," (",X," remaining)"]})]})}function yi({summary:e}){return e?t.jsx("div",{role:"note",style:Kn,children:e}):null}function pi({tableId:e}){return t.jsx("a",{href:"#"+e,style:Kn,onClick:t=>{t.preventDefault();const n=document.getElementById(e);n&&requestAnimationFrame(()=>n.focus())},onFocus:t=>{Object.assign(t.currentTarget.style,{position:"absolute",width:"auto",height:"auto",overflow:"visible",clip:"auto",whiteSpace:"normal",padding:"4px 8px",background:"var(--semiotic-bg, #fff)",color:"var(--semiotic-text, #000)",border:"2px solid var(--semiotic-focus, #005fcc)",borderRadius:"4px",zIndex:"10",fontSize:"12px",top:"4px",left:"4px"})},onBlur:t=>{const e=t.currentTarget;e.removeAttribute("style"),Object.assign(e.style,Kn)},children:"Skip to data table"})}function vi({hoverPoint:e}){let n="";if(e){const t=e.data||e;n="object"==typeof t?"Data point: "+Object.entries(t).filter(([,t])=>"object"!=typeof t&&"function"!=typeof t).map(([t,e])=>`${t}: ${e}`).join(", "):"Data point: "+t}return t.jsx("div",{"aria-live":"polite","aria-atomic":"true",style:Kn,children:n})}const mi="var(--semiotic-focus, #005fcc)";function xi({active:e,hoverPoint:n,margin:i,size:o,shape:r="circle",width:s,height:l}){if(!e||!n)return null;const a=n.x+i.left,c=n.y+i.top;let u;if("rect"===r&&null!=s&&null!=l){const e=Math.max(s,4),n=Math.max(l,4);u=t.jsx("rect",{x:a-e/2-3,y:c-n/2-3,width:e+6,height:n+6,rx:3,fill:"none",stroke:mi,strokeWidth:2,strokeDasharray:"4,2"})}else u=t.jsx("circle","wedge"===r?{cx:a,cy:c,r:12,fill:"none",stroke:mi,strokeWidth:2.5,strokeDasharray:"6,3"}:{cx:a,cy:c,r:8,fill:"none",stroke:mi,strokeWidth:2,strokeDasharray:"4,2"});return t.jsx("svg",{style:{position:"absolute",left:0,top:0,width:o[0],height:o[1],pointerEvents:"none",zIndex:2},"aria-hidden":"true",children:u})}function bi(t){return Array.isArray(t)?t[0]:t}function ki(t,e,n,i){return Object.assign({data:bi(t),x:e,y:n,__semioticHoverData:!0},i)}const wi={background:"var(--semiotic-tooltip-bg, rgba(0, 0, 0, 0.85))",color:"var(--semiotic-tooltip-text, white)",padding:"8px 12px",borderRadius:"var(--semiotic-tooltip-radius, 6px)",fontSize:"var(--semiotic-tooltip-font-size, 14px)",fontFamily:"var(--semiotic-font-family, inherit)",lineHeight:"1.5",boxShadow:"var(--semiotic-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, 0.15))",pointerEvents:"none",maxWidth:"300px",wordWrap:"break-word"};function Ai({x:e,y:n,containerWidth:i,containerHeight:o,margin:r,children:s,className:l="stream-frame-tooltip",zIndex:a=1}){const c=Number.isFinite(e)&&Number.isFinite(n),u=y.useRef(null),[d,h]=y.useState(null);y.useLayoutEffect(()=>{const t=u.current;if(!t)return;const e=t.getBoundingClientRect();h(t=>t&&t.width===e.width&&t.height===e.height?t:{width:e.width,height:e.height})},[s,l,i,o]);let f;f=d?`translate(${d.width+12>i-e?"calc(-100% - 12px)":"12px"}, ${d.height+12>o-n?"calc(-100% - 4px)":"4px"})`:`translate(${e>.7*i?"calc(-100% - 12px)":"12px"}, ${.3*o>n?"4px":"calc(-100% - 4px)"})`;const g=function(t){if(!y.isValidElement(t))return!1;const e=t.type;if("string"!=typeof e&&e&&!0===e.ownsChrome)return!0;const n=t.props;if("string"==typeof n.className&&n.className.trim().length>0)return!0;const i=n.style;if(i&&"object"==typeof i){if(null!=i.background&&""!==i.background)return!0;if(null!=i.backgroundColor&&""!==i.backgroundColor)return!0}return!1}(s),p=g?null:wi;return c?t.jsx("div",{ref:u,className:g?l:(l+" semiotic-tooltip").trim(),style:Object.assign(Object.assign({},p||{}),{position:"absolute",left:r.left+e,top:r.top+n,transform:f,pointerEvents:"none",zIndex:a,width:"max-content"}),children:s}):null}const Mi="undefined"==typeof window?e.useEffect:e.useLayoutEffect;function Si(t,e,n){return"function"==typeof t?t({size:e,margin:n}):t}function ji(t){const n=function(){const[t,n]=e.useState(()=>!("undefined"==typeof window||!window.matchMedia)&&window.matchMedia("(prefers-reduced-motion: reduce)").matches);return e.useEffect(()=>{if("undefined"==typeof window||!window.matchMedia)return;const t=window.matchMedia("(prefers-reduced-motion: reduce)");return n(t.matches),function(t,e){if("function"==typeof t.addEventListener)return t.addEventListener("change",e),()=>t.removeEventListener("change",e);const n=t;return n.addListener(e),()=>n.removeListener(e)}(t,t=>n(t.matches))},[]),t}(),i=e.useRef(n);i.current=n;const[o,r]=function(t,n,i){const o=e.useRef(null),[r,s]=e.useState(null);return e.useEffect(()=>{if(!n&&!i)return;const t=o.current;if(!t)return;const e=new ResizeObserver(t=>{for(const e of t){const{width:t,height:n}=e.contentRect;s(e=>e&&e.w===t&&e.h===n?e:{w:t,h:n})}});return e.observe(t),()=>e.disconnect()},[n,i]),[o,[n&&r?r.w:t[0],i&&r?r.h:t[1]]]}(t.sizeProp,t.responsiveWidth,t.responsiveHeight),s=e.useMemo(()=>Object.assign(Object.assign({},t.marginDefault),t.userMargin),[t.marginDefault,t.userMargin]),l=r[0]-s.left-s.right,a=r[1]-s.top-s.bottom,c=Si(t.foregroundGraphics,r,s),u=Si(t.backgroundGraphics,r,s),d=L(t=>t.theme),{transition:h,introEnabled:f}=function(t,e){var n,i;if(!1===t)return{transition:void 0,introEnabled:!1};const o="undefined"!=typeof window&&(null===(n=window.matchMedia)||void 0===n?void 0:n.call(window,"(prefers-reduced-motion: reduce)").matches);return{transition:t?!0===t?{duration:300}:{duration:null!==(i=t.duration)&&void 0!==i?i:300,easing:"linear"===t.easing?"linear":"ease-out"}:e,introEnabled:!(o||!t||!0!==t&&!1===t.intro)}}(t.animate,t.transitionProp),g="semiotic-table-"+y.useId(),p=e.useRef(0),v=e.useRef(()=>{}),m=e.useCallback(()=>{p.current||(p.current=requestAnimationFrame(()=>v.current()))},[]);e.useEffect(()=>()=>{p.current&&(cancelAnimationFrame(p.current),p.current=0)},[]);const x=e.useRef(()=>{}),b=e.useRef(()=>{}),k=e.useRef(null),w=e.useRef(0),A=e.useCallback(()=>{w.current=0;const t=k.current;k.current=null,t&&x.current(t)},[]),M=e.useCallback(t=>{k.current={clientX:t.clientX,clientY:t.clientY},0===w.current&&(w.current=requestAnimationFrame(A))},[A]),S=e.useCallback(()=>{k.current=null,0!==w.current&&(cancelAnimationFrame(w.current),w.current=0),b.current()},[]);e.useEffect(()=>()=>{k.current=null,0!==w.current&&(cancelAnimationFrame(w.current),w.current=0)},[]);const j=t.themeDirtyRef;return Mi(()=>{j&&(zt++,j.current=!0,m())},[d,m,j]),{reducedMotion:n,reducedMotionRef:i,responsiveRef:o,size:r,margin:s,adjustedWidth:l,adjustedHeight:a,resolvedForeground:c,resolvedBackground:u,currentTheme:d,transition:h,introEnabled:f,tableId:g,rafRef:p,renderFnRef:v,scheduleRender:m,hoverHandlerRef:x,hoverLeaveRef:b,onPointerMove:M,onPointerLeave:S}}function _i(t,e,n,i){const o=t.getContext("2d");if(!o)return null;const r=e[0]*i,s=e[1]*i,l=e[0]+"px",a=e[1]+"px";return t.style.width!==l&&(t.style.width=l),t.style.height!==a&&(t.style.height=a),t.width===r&&t.height===s||(t.width=r,t.height=s),o.setTransform(i,0,0,i,0,0),o.translate(n.left,n.top),o}function Pi(){return"undefined"!=typeof window&&window.devicePixelRatio||1}function Ci(t,e,n){let i=n;for(const n of e)"lesser"===n.thresholdType?n.value>t&&(i=n.color):t>n.value&&(i=n.color);return i}function Ei(t,e,n,i,o,r){if(2>e.length)return;const s=[0];for(let t=1;e.length>t;t++){const n=e[t][0]-e[t-1][0],i=e[t][1]-e[t-1][1];s.push(s[t-1]+Math.sqrt(n*n+i*i))}const l=s[s.length-1];if(0===l)return;const a=Math.min(.2*l,40);t.strokeStyle=n,t.lineWidth=i,t.lineCap=r;for(let n=0;e.length-1>n;n++){const i=(s[n]+s[n+1])/2;let r=o;a>i&&(r*=i/a),a>l-i&&(r*=(l-i)/a),t.globalAlpha=Math.max(0,r),t.beginPath(),t.moveTo(e[n][0],e[n][1]),t.lineTo(e[n+1][0],e[n+1][1]),t.stroke()}}const Oi=(t,e,n,i)=>{var o,r;const l=e.filter(t=>"line"===t.type);for(const a of l){if(2>a.path.length)continue;const c=a._introClipFraction;void 0!==c&&1>c&&(t.save(),t.beginPath(),t.rect(0,0,i.width*c,i.height),t.clip());const u=a.style.stroke||"#007bff",d=Xt(t,u)||u,h=a.style.strokeWidth||2,f=a.colorThresholds,g=a.rawValues;if(t.setLineDash(a.style.strokeDasharray?a.style.strokeDasharray.split(/[\s,]+/).map(Number):[]),null!=a.style.opacity&&(t.globalAlpha=a.style.opacity),t.lineWidth=h,t.lineCap=a.style.strokeLinecap||"butt",a.style._edgeFade){const m=null!==(o=a.style.opacity)&&void 0!==o?o:1;Ei(t,a.path,d,h,m,a.style.strokeLinecap||"butt"),t.globalAlpha=1,t.setLineDash([]),t.lineCap="butt";continue}const y=Gt(a.curve),p=f&&f.length>0&&g&&g.length===a.path.length,v=a._decayOpacities;if(v&&v.length===a.path.length&&!p){t.strokeStyle=d;const x=null!==(r=a.style.opacity)&&void 0!==r?r:1;for(let b=0;a.path.length-1>b;b++)t.globalAlpha=.5*(v[b]+v[b+1])*x,t.beginPath(),t.moveTo(a.path[b][0],a.path[b][1]),t.lineTo(a.path[b+1][0],a.path[b+1][1]),t.stroke()}else if(p){let k=null,w=null,A=null,M=null,S=!1;function j(e,n,i){t.beginPath(),t.strokeStyle=e,t.moveTo(n,i),S=!0}function _(){S&&(t.stroke(),S=!1)}for(let P=0;a.path.length>P;P++){const[C,E]=a.path[P],O=g[P],T=Ci(O,f,d);if(null!==k&&null!==M&&null!==A){if(T===M)t.lineTo(C,E);else{const L=[];for(const D of f){const N=D.value;(A>N||N>O)&&(N>A||O>N)||A===N||O===N||L.push({t:(N-A)/(O-A)})}L.sort((t,e)=>t.t-e.t);for(const R of L){const $=k+(C-k)*R.t,I=w+(E-w)*R.t,W=Ci(A+(O-A)*Math.min(R.t+1e-4,1),f,d);t.lineTo($,I),_(),j(W,$,I)}t.lineTo(C,E)}k=C,w=E,A=O,M=T}else j(T,C,E),k=C,w=E,A=O,M=T}_()}else{t.beginPath();const z=a.strokeGradient&&a.path.length>=2?Ut(t,a.strokeGradient,a.path[0][0],0,a.path[a.path.length-1][0],0):null;if(t.strokeStyle=z||d,y)s.line().x(t=>t[0]).y(t=>t[1]).curve(y).context(t)(a.path);else{const[F,Y]=a.path[0];t.moveTo(F,Y);for(let B=1;a.path.length>B;B++)t.lineTo(a.path[B][0],a.path[B][1])}t.stroke()}if(a.style.fill&&a.style.fillOpacity&&a.style.fillOpacity>0){if(t.beginPath(),t.globalAlpha=a.style.fillOpacity,t.fillStyle=Vt(t,a.style.fill,a.style.fill),y&&!p)s.line().x(t=>t[0]).y(t=>t[1]).curve(y).context(t)(a.path);else{const[X,G]=a.path[0];t.moveTo(X,G);for(let V=1;a.path.length>V;V++)t.lineTo(a.path[V][0],a.path[V][1])}const H=a.path[0][0];t.lineTo(a.path[a.path.length-1][0],i.height),t.lineTo(H,i.height),t.closePath(),t.fill()}void 0!==c&&1>c&&t.restore(),t.globalAlpha=1,t.setLineDash([]),t.lineCap="butt"}};function Ti(t){return!(!t._pulseIntensity||0>=t._pulseIntensity)}function Li(t,e,n=.3){Ti(e)&&(t.globalAlpha=e._pulseIntensity*n,t.fillStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.fillRect(e.x,e.y,e.w,e.h))}function Di(t,e,n=.6){var i,o,r,s,l;if(!Ti(e))return;const a=null!==(i=e._pulseGlowRadius)&&void 0!==i?i:4,c=e.r+a*e._pulseIntensity,u=null!==(r=null!==(o=e.cx)&&void 0!==o?o:e.x)&&void 0!==r?r:0,d=null!==(l=null!==(s=e.cy)&&void 0!==s?s:e.y)&&void 0!==l?l:0;t.beginPath(),t.arc(u,d,c,0,2*Math.PI),t.strokeStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.lineWidth=2*e._pulseIntensity,t.globalAlpha=e._pulseIntensity*n,t.stroke()}function Ni(t,e,n,i=.35){Ti(e)&&(t.globalAlpha=e._pulseIntensity*i,t.fillStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.fill())}function Ri(t,e){const n=Gt(e.curve);if(!n||2>e.topPath.length||2>e.bottomPath.length){t.beginPath(),t.moveTo(e.topPath[0][0],e.topPath[0][1]);for(let n=1;e.topPath.length>n;n++)t.lineTo(e.topPath[n][0],e.topPath[n][1]);for(let n=e.bottomPath.length-1;n>=0;n--)t.lineTo(e.bottomPath[n][0],e.bottomPath[n][1]);t.closePath()}else{const i=s.area().x(t=>t[0]).y0((t,n)=>e.bottomPath[n][1]).y1(t=>t[1]).curve(n).context(t);t.beginPath(),i(e.topPath)}}const $i=(t,e,n,i)=>{var o,r,l;const a=e.filter(t=>"area"===t.type);for(const e of a){if(2>e.topPath.length)continue;let n=!1;e.clipRect&&(t.save(),t.beginPath(),t.rect(e.clipRect.x,e.clipRect.y,e.clipRect.width,e.clipRect.height),t.clip(),n=!0);const a=e._introClipFraction;void 0!==a&&1>a&&(t.save(),t.beginPath(),t.rect(0,0,i.width*a,i.height),t.clip());const c=Vt(t,e.style.fill,"#4e79a7"),u=e._decayOpacities;if(u&&u.length===e.topPath.length){const n=null!==(o=e.style.fillOpacity)&&void 0!==o?o:.7;t.fillStyle=c;for(let i=0;e.topPath.length-1>i;i++)t.globalAlpha=.5*(u[i]+u[i+1])*n,t.beginPath(),t.moveTo(e.topPath[i][0],e.topPath[i][1]),t.lineTo(e.topPath[i+1][0],e.topPath[i+1][1]),t.lineTo(e.bottomPath[i+1][0],e.bottomPath[i+1][1]),t.lineTo(e.bottomPath[i][0],e.bottomPath[i][1]),t.closePath(),t.fill();if(e.style.stroke&&"none"!==e.style.stroke){t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||2,t.setLineDash([]);for(let n=0;e.topPath.length-1>n;n++)t.globalAlpha=.5*(u[n]+u[n+1]),t.beginPath(),t.moveTo(e.topPath[n][0],e.topPath[n][1]),t.lineTo(e.topPath[n+1][0],e.topPath[n+1][1]),t.stroke()}t.globalAlpha=1;continue}const d=null!==(r=e.style.opacity)&&void 0!==r?r:1;if(Ri(t,e),e.fillGradient&&("colorStops"in e.fillGradient&&e.fillGradient.colorStops.length>=2||"topOpacity"in e.fillGradient)&&e.fillGradient){let n=1/0;for(const t of e.topPath)n>t[1]&&(n=t[1]);let i=-1/0;for(const t of e.bottomPath)t[1]>i&&(i=t[1]);const o=qt(t,e.fillGradient,"string"==typeof c?c:"#4e79a7",0,n,0,i);t.fillStyle=o||c,t.globalAlpha=d}else{const n=null!==(l=e.style.fillOpacity)&&void 0!==l?l:.7;t.globalAlpha=n*d,t.fillStyle=c}if(t.fill(),e._pulseIntensity&&e._pulseIntensity>0&&(Ri(t,e),Ni(t,e)),e.style.stroke&&"none"!==e.style.stroke){t.globalAlpha=d;const n=e.strokeGradient&&e.topPath.length>=2?Ut(t,e.strokeGradient,e.topPath[0][0],0,e.topPath[e.topPath.length-1][0],0):null;t.strokeStyle=n||Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||2,t.setLineDash([]);const i=Gt(e.curve);if(t.beginPath(),i)s.line().x(t=>t[0]).y(t=>t[1]).curve(i).context(t)(e.topPath);else{t.moveTo(e.topPath[0][0],e.topPath[0][1]);for(let n=1;e.topPath.length>n;n++)t.lineTo(e.topPath[n][0],e.topPath[n][1])}t.stroke()}void 0!==a&&1>a&&t.restore(),n&&t.restore(),t.globalAlpha=1}},Ii=(t,e,n,i)=>{var o;const r=e.filter(t=>"point"===t.type);if(0!==r.length){t.save();try{for(const e of r){t.beginPath(),t.arc(e.x,e.y,e.r,0,2*Math.PI);const n=null!==(o=e.style.opacity)&&void 0!==o?o:e.style.fillOpacity;null!=n&&(t.globalAlpha=n),t.fillStyle=Vt(t,e.style.fill,"#4e79a7"),t.fill(),e.style.stroke&&(t.strokeStyle=Vt(t,e.style.stroke,e.style.stroke),t.lineWidth=e.style.strokeWidth||1,t.stroke()),Di(t,e),t.globalAlpha=1}}finally{t.restore()}}};function Wi(t,e){const{x:n,y:i,w:o,h:r}=e,{tl:s,tr:l,br:a,bl:c}=function(t){const e=t.cornerRadii;if(!e)return{tl:0,tr:0,br:0,bl:0};const n=Math.min(t.w,t.h)/2,i=t=>Math.max(0,Math.min(null!=t?t:0,n));return{tl:i(e.tl),tr:i(e.tr),br:i(e.br),bl:i(e.bl)}}(e);t.beginPath(),t.moveTo(n+s,i),t.lineTo(n+o-l,i),l>0&&t.arcTo(n+o,i,n+o,i+l,l),t.lineTo(n+o,i+r-a),a>0&&t.arcTo(n+o,i+r,n+o-a,i+r,a),t.lineTo(n+c,i+r),c>0&&t.arcTo(n,i+r,n,i+r-c,c),t.lineTo(n,i+s),s>0&&t.arcTo(n,i,n+s,i,s),t.closePath()}function zi(t){switch(t.roundedEdge){case"bottom":return{x0:t.x,y0:t.y+t.h,x1:t.x,y1:t.y};case"right":return{x0:t.x+t.w,y0:t.y,x1:t.x,y1:t.y};case"left":return{x0:t.x,y0:t.y,x1:t.x+t.w,y1:t.y};default:return{x0:t.x,y0:t.y,x1:t.x,y1:t.y+t.h}}}const Fi=(t,e,n,i)=>{const o=e.filter(t=>"rect"===t.type);for(const e of o){if(null!=e.style.opacity&&(t.globalAlpha=e.style.opacity),e.style.icon)Yi(t,e);else if(e.cornerRadii&&Ln(e.cornerRadii)){const n=Vt(t,e.style.fill,Xt(t,"var(--semiotic-primary, #007bff)")),i=zi(e),o=e.fillGradient&&"string"==typeof n?qt(t,e.fillGradient,n,i.x0,i.y0,i.x1,i.y1):null;t.fillStyle=o||n,Wi(t,e),t.fill(),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||1,t.stroke())}else if(e.roundedTop&&e.roundedTop>0){const n=Vt(t,e.style.fill,Xt(t,"var(--semiotic-primary, #007bff)")),i=zi(e),o=e.fillGradient&&"string"==typeof n?qt(t,e.fillGradient,n,i.x0,i.y0,i.x1,i.y1):null;t.fillStyle=o||n;const r=Math.min(e.roundedTop,e.w/2,e.h/2);t.beginPath();const{x:s,y:l,w:a,h:c}=e;switch(e.roundedEdge){case"right":t.moveTo(s,l),t.lineTo(s+a-r,l),t.arcTo(s+a,l,s+a,l+r,r),t.lineTo(s+a,l+c-r),t.arcTo(s+a,l+c,s+a-r,l+c,r),t.lineTo(s,l+c);break;case"left":t.moveTo(s+a,l),t.lineTo(s+r,l),t.arcTo(s,l,s,l+r,r),t.lineTo(s,l+c-r),t.arcTo(s,l+c,s+r,l+c,r),t.lineTo(s+a,l+c);break;case"bottom":t.moveTo(s,l),t.lineTo(s+a,l),t.lineTo(s+a,l+c-r),t.arcTo(s+a,l+c,s+a-r,l+c,r),t.lineTo(s+r,l+c),t.arcTo(s,l+c,s,l+c-r,r);break;default:t.moveTo(s,l+c),t.lineTo(s,l+r),t.arcTo(s,l,s+r,l,r),t.lineTo(s+a-r,l),t.arcTo(s+a,l,s+a,l+r,r),t.lineTo(s+a,l+c)}t.closePath(),t.fill(),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||1,t.stroke())}else{const n=Vt(t,e.style.fill,Xt(t,"var(--semiotic-primary, #007bff)")),i=zi(e),o=e.fillGradient&&"string"==typeof n?qt(t,e.fillGradient,n,i.x0,i.y0,i.x1,i.y1):null;t.fillStyle=o||n,t.fillRect(e.x,e.y,e.w,e.h),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=e.style.strokeWidth||1,t.strokeRect(e.x,e.y,e.w,e.h))}Li(t,e),t.globalAlpha=1}};function Yi(t,e){const n=e.style.icon,i=e.style.iconPadding||2,o=Math.min(e.w,e.h)-i;if(0>=o)return;const r=e.h>e.w;if(t.save(),t.beginPath(),t.rect(e.x,e.y,e.w,e.h),t.clip(),r){const r=o+i,s=e.x+(e.w-o)/2;for(let i=e.y+e.h-o;i>=e.y-o;i-=r)t.drawImage(n,s,i,o,o)}else{const r=o+i,s=e.y+(e.h-o)/2;for(let i=e.x;e.x+e.w>i;i+=r)t.drawImage(n,i,s,o,o)}t.restore()}function Bi(t){const[e,n,i]=function(t){if(t.startsWith("#")){let e=t.slice(1);if(3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),6===e.length)return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}const e=t.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return e?[+e[1],+e[2],+e[3]]:[128,128,128]}(t);return.299*e+.587*n+.114*i>128?"#000":"#fff"}function Hi(t){return Number.isInteger(t)?t+"":100>Math.abs(t)?1>Math.abs(t)?t.toPrecision(3):t.toFixed(1):t.toFixed(0)}const Xi=(t,e,n,i)=>{const o=e.filter(t=>"heatcell"===t.type);t.save();try{for(const e of o){const n=e.style;if(null!=(null==n?void 0:n.opacity)&&(t.globalAlpha=n.opacity),t.fillStyle=e.fill,t.fillRect(e.x,e.y,e.w,e.h),t.strokeStyle=Xt(t,"var(--semiotic-surface, #fff)"),t.lineWidth=1,t.strokeRect(e.x,e.y,e.w,e.h),Li(t,e),t.globalAlpha=1,e.showValues&&null!=e.value){if(20>e.w||20>e.h)continue;const n=e.valueFormat?e.valueFormat(e.value):Hi(e.value),i=Math.max(10,Math.min(16,.3*Math.min(e.w,e.h))),o=e.x+e.w/2,r=e.y+e.h/2;t.fillStyle=Bi(e.fill),t.font=i+"px sans-serif",t.textAlign="center",t.textBaseline="middle",t.fillText(n,o,r)}}}finally{t.restore()}},Gi=(t,e,n,i)=>{var o,r,s;for(const n of e){if("candlestick"!==n.type)continue;const e=n;t.save();const l=(null!==(o=e._decayOpacity)&&void 0!==o?o:1)*(null!==(s=null===(r=e.style)||void 0===r?void 0:r.opacity)&&void 0!==s?s:1);1!==l&&(t.globalAlpha=l);const a=Xt(t,e.wickColor)||e.wickColor,c=60>i.height,u=c?Math.max(e.wickWidth,2):e.wickWidth,d=()=>{t.beginPath(),t.moveTo(e.x,e.highY),t.lineTo(e.x,e.lowY),t.strokeStyle=a,t.lineWidth=u,t.stroke()};if(c||d(),e.isRange){const n=Math.max(2,Math.min(e.bodyWidth/2,.12*i.height));t.fillStyle=a,t.beginPath(),t.arc(e.x,e.highY,n,0,2*Math.PI),t.fill(),t.beginPath(),t.arc(e.x,e.lowY,n,0,2*Math.PI),t.fill()}else if(e.bodyWidth>0){const n=Math.min(e.openY,e.closeY),i=Math.abs(e.openY-e.closeY),o=e.isUp?e.upColor:e.downColor,r=Xt(t,o)||o;t.fillStyle=r,t.fillRect(e.x-e.bodyWidth/2,n,e.bodyWidth,Math.max(i,1)),t.strokeStyle=r,t.lineWidth=1,t.strokeRect(e.x-e.bodyWidth/2,n,e.bodyWidth,Math.max(i,1))}c&&d(),t.restore()}};function Vi(t,e,n,i){return"string"==typeof t?{key:t,fn:null}:"function"==typeof t?{key:n,fn:t}:"string"==typeof e?{key:e,fn:null}:"function"==typeof e?{key:i,fn:e}:{key:void 0,fn:null}}const qi=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function Ui(t){const e=t[1]-t[0],n=3156e7;return 864e5>e?t=>{const e=new Date(t);return`${(e.getUTCHours()+"").padStart(2,"0")}:${(e.getUTCMinutes()+"").padStart(2,"0")}`}:n>e?t=>{const e=new Date(t);return`${qi[e.getUTCMonth()]} ${e.getUTCDate()}`}:5*n>e?t=>{const e=new Date(t);return`${qi[e.getUTCMonth()]} ${e.getUTCFullYear()}`}:t=>new Date(t).getUTCFullYear()+""}const Ki={line:[$i,Oi,Ii],area:[$i,Ii],stackedarea:[$i,Ii],scatter:[Ii],bubble:[Ii],heatmap:[Xi],bar:[Fi],swarm:[Ii],waterfall:[(t,e,n,i)=>{var o;Fi(t,e);const r=e.filter(t=>"rect"===t.type);if(2>r.length)return;const s=r[0].datum,l=null==s?void 0:s._connectorStroke;if(l){t.save(),t.strokeStyle=Xt(t,l)||l,t.lineWidth=null!==(o=null==s?void 0:s._connectorWidth)&&void 0!==o?o:1,t.setLineDash([]);for(let e=0;r.length-1>e;e++){const i=r[e],o=r[e+1],s=i.datum,l=o.datum;if(null==(null==s?void 0:s.cumEnd)||null==(null==l?void 0:l.baseline))continue;const a=n.y(s.cumEnd),c=i.x+i.w,u=o.x;t.beginPath(),t.moveTo(c,a),t.lineTo(u,a),t.stroke()}t.restore()}}],candlestick:[Gi],mixed:[$i,Oi,Ii],custom:[$i,Fi,Xi,Oi,Ii,Gi]},Zi={top:20,right:20,bottom:30,left:40},Qi={axisStroke:"#ccc",tickText:"#666",crosshair:"rgba(0, 0, 0, 0.25)",hoverFill:"rgba(255, 255, 255, 0.3)",hoverStroke:"rgba(0, 0, 0, 0.4)",pointRing:"white",primary:"#007bff"};function Ji(t,e){const n=t.trim();if(/^#[0-9a-f]{3}$/i.test(n)){const t=n[1],i=n[2],o=n[3];return`#${t}${t}${i}${i}${o}${o}${e}`}if(/^#[0-9a-f]{6}$/i.test(n))return`${n}${e}`;const i=n.match(/^rgb\s*\(\s*([^)]+?)\s*\)$/i);return i?`rgba(${i[1]}, ${(parseInt(e,16)/255).toFixed(3)})`:n}const to={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"6px 10px",borderRadius:4,fontSize:12,lineHeight:1.5,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",whiteSpace:"nowrap"};function eo({hover:e}){var n,i,o;const r=t=>null==t?"":"number"==typeof t?Number.isInteger(t)?t+"":t.toFixed(2):t instanceof Date?t.toLocaleString():t+"",s=null!==(n=e.data)&&void 0!==n?n:{},l=null!==(i=s.y)&&void 0!==i?i:s.value,a=null!==(o=s.x)&&void 0!==o?o:s.time;return t.jsxs("div",{className:"semiotic-tooltip",style:to,children:[t.jsx("div",{style:{fontWeight:600,marginBottom:2},children:r(l)}),t.jsx("div",{style:{opacity:.7,fontSize:11},children:r(a)})]})}eo.ownsChrome=!0;const no=e.forwardRef(function(n,i){var o,r,s,l,a,c,u,d,h,f,g,p,v;const{chartType:m,runtimeMode:b,data:A,chunkThreshold:M,chunkSize:j,xAccessor:_,yAccessor:P,colorAccessor:C,sizeAccessor:E,groupAccessor:O,lineDataAccessor:T,curve:L,normalize:D,baseline:N,stackOrder:R,binSize:$,valueAccessor:I,arrowOfTime:W="right",windowMode:z="sliding",windowSize:F=200,timeAccessor:Y,xExtent:B,yExtent:H,extentPadding:X=.1,scalePadding:G,sizeRange:V,size:q=[500,300],responsiveWidth:U,responsiveHeight:K,margin:Z,className:Q,background:J,lineStyle:tt,pointStyle:et,areaStyle:nt,barStyle:it,waterfallStyle:ot,swarmStyle:rt,barColors:st,colorScheme:lt,boundsAccessor:at,boundsStyle:ct,y0Accessor:ut,band:dt,gradientFill:ht,lineGradient:ft,areaGroups:gt,openAccessor:yt,highAccessor:pt,lowAccessor:vt,closeAccessor:mt,candlestickStyle:xt,showAxes:bt=!0,axes:kt,xLabel:wt,yLabel:Mt,yLabelRight:St,xFormat:jt,yFormat:_t,axisExtent:Pt,tickFormatTime:Ct,tickFormatValue:Et,hoverAnnotation:Lt,tooltipContent:Dt,customHoverBehavior:Nt,customClickBehavior:Rt,enableHover:$t,hoverRadius:It=30,tooltipMode:Wt,annotations:zt,autoPlaceAnnotations:Ft,svgAnnotationRules:Yt,showGrid:Bt,legend:Ht,legendHoverBehavior:Gt,legendClickBehavior:Vt,legendHighlightedCategory:qt,legendIsolatedCategories:Ut,legendPosition:Kt,legendLayout:te,legendCategoryAccessor:ee,onCategoriesChange:ne,backgroundGraphics:ie,foregroundGraphics:oe,canvasPreRenderers:re,svgPreRenderers:se,title:de,categoryAccessor:he,brush:ye,onBrush:pe,decay:ve,pulse:me,transition:xe,animate:be,staleness:ke,heatmapAggregation:we,heatmapXBins:Ae,heatmapYBins:Me,showValues:Se,heatmapValueFormat:je,marginalGraphics:_e,pointIdAccessor:Pe,xScaleType:Ce,yScaleType:Ee,accessibleTable:Oe=!0,description:Te,summary:Le,linkedCrosshairName:De,linkedCrosshairSourceId:Ne,customLayout:Re,layoutConfig:$e}=n,Ie=e.useId().replace(/:/g,""),We=e.useRef(!1),ze=ji({sizeProp:q,responsiveWidth:U,responsiveHeight:K,userMargin:Z,marginDefault:Zi,animate:be,transitionProp:xe,themeDirtyRef:We}),Fe=In(),Ye=Yn(),{reducedMotionRef:Be,responsiveRef:He,size:Xe,currentTheme:Ge,transition:Ve,introEnabled:qe,tableId:Ue,rafRef:Ke,renderFnRef:Ze,scheduleRender:Qe}=ze;let Je=ze.margin;if(_e){const t=60,e=Object.assign({},ze.margin);_e.top&&t>e.top&&(e.top=t),_e.bottom&&t>e.bottom&&(e.bottom=t),_e.left&&t>e.left&&(e.left=t),_e.right&&t>e.right&&(e.right=t),Je=e}const tn="function"==typeof oe?oe({size:Xe,margin:Je}):oe,en="function"==typeof ie?ie({size:Xe,margin:Je}):ie,nn=Xe[0]-Je.left-Je.right,on=Xe[1]-Je.top-Je.bottom,rn=e.useMemo(()=>k(A),[A]),sn=null!=Lt?Lt:$t,ln=e.useRef(null),an=e.useRef(null),[cn,un]=e.useState(0),[dn,hn]=e.useState(null),fn=e.useRef(null),gn=e.useRef(null),[yn,pn]=e.useState(null),vn=e.useRef(Qi.primary),mn=e.useRef([]),xn=e.useRef(ee),bn=e.useRef(ne);xn.current=ee,bn.current=ne;const[kn,wn]=e.useState(!1),[An,Mn]=e.useState([]),[Sn,jn]=e.useState([]),_n="streaming"===b||["bar","swarm","waterfall"].includes(m),Pn=e.useMemo(()=>{var t,e,n;return{chartType:m,runtimeMode:_n?"streaming":"bounded",windowSize:F,windowMode:z,arrowOfTime:_n?W:"right",extentPadding:X,scalePadding:G,axisExtent:Pt,xAccessor:_,yAccessor:P,timeAccessor:_n?Y:void 0,valueAccessor:I,colorAccessor:C,sizeAccessor:E,groupAccessor:O||(T?"_lineGroup":void 0),categoryAccessor:he,lineDataAccessor:T,xScaleType:Ce,yScaleType:Ee,xExtent:B,yExtent:H,sizeRange:V,binSize:$,normalize:D,baseline:N,stackOrder:R,boundsAccessor:at,boundsStyle:ct,y0Accessor:ut,band:dt,gradientFill:!0===ht?{topOpacity:.8,bottomOpacity:.05}:!1===ht?void 0:ht,areaGroups:gt?new Set(gt):void 0,lineGradient:ft,openAccessor:yt,highAccessor:pt,lowAccessor:vt,closeAccessor:mt,candlestickStyle:xt,lineStyle:tt,pointStyle:et,areaStyle:nt,swarmStyle:rt,waterfallStyle:ot,colorScheme:lt,barColors:st,barStyle:it,annotations:zt,decay:ve,pulse:me,transition:Ve,introAnimation:qe,staleness:ke,heatmapAggregation:we,heatmapXBins:Ae,heatmapYBins:Me,showValues:Se,heatmapValueFormat:je,pointIdAccessor:Pe,curve:L,themeCategorical:null===(t=null==Ge?void 0:Ge.colors)||void 0===t?void 0:t.categorical,themeSemantic:S(Ge),themeSequential:null===(e=null==Ge?void 0:Ge.colors)||void 0===e?void 0:e.sequential,themeDiverging:null===(n=null==Ge?void 0:Ge.colors)||void 0===n?void 0:n.diverging,customLayout:Re,layoutConfig:$e,layoutMargin:Je}},[m,F,z,W,X,G,Pt,_,P,Y,I,Ce,Ee,C,E,O,he,T,B,H,V,$,D,N,R,at,ct,ut,dt,ht,ft,gt,yt,pt,vt,mt,xt,tt,et,nt,rt,ot,it,lt,st,zt,ve,me,null==Ve?void 0:Ve.duration,null==Ve?void 0:Ve.easing,qe,ke,we,Ae,Me,Se,je,_n,Pe,L,Ge,Re,$e,Je]),En=Hn(Pn),On=e.useRef(null);On.current||(On.current=new Ot(En));const Ln=e.useCallback(()=>{var t,e;const n=xn.current,i=bn.current;if(!i||!n)return;const o=function(t,e){if(!e)return[];const n=new Set,i=[];for(const o of t){if(!o||"object"!=typeof o)continue;const t="function"==typeof e?e(o):o[e];if(null==t)continue;const r=t+"";n.has(r)||(n.add(r),i.push(r))}return i}(null!==(e=null===(t=On.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[],n);(function(t,e){if(t.length!==e.length)return!1;for(let n=0;t.length>n;n++)if(t[n]!==e[n])return!1;return!0})(o,mn.current)||(mn.current=o,i(o))},[]);e.useEffect(()=>{var t;null===(t=On.current)||void 0===t||t.updateConfig(En),We.current=!0,Qe()},[En,Qe]);const Dn=e.useRef(null);Dn.current||(Dn.current=new w(t=>{const e=On.current;e&&e.ingest(t)&&(We.current=!0,Qe())},{chunkThreshold:M,chunkSize:j})),e.useEffect(()=>{var t;null===(t=Dn.current)||void 0===t||t.updateChunkOptions({chunkThreshold:M,chunkSize:j})},[M,j]);const $n=e.useCallback(t=>{var e;null===(e=Dn.current)||void 0===e||e.push(t)},[]),Wn=e.useCallback(t=>{var e;null===(e=Dn.current)||void 0===e||e.pushMany(t)},[]),zn=e.useCallback(()=>{var t,e;null===(t=Dn.current)||void 0===t||t.clear(),null===(e=On.current)||void 0===e||e.clear(),We.current=!0,Qe()},[Qe]);e.useImperativeHandle(i,()=>({push:$n,pushMany:Wn,remove:t=>{var e,n,i;null===(e=Dn.current)||void 0===e||e.flush();const o=null!==(i=null===(n=On.current)||void 0===n?void 0:n.remove(t))&&void 0!==i?i:[];return o.length>0&&(fn.current&&o.some(t=>{var e;return t===(null===(e=fn.current)||void 0===e?void 0:e.data)})&&(fn.current=null,pn(null)),We.current=!0,Qe()),o},update:(t,e)=>{var n,i,o;null===(n=Dn.current)||void 0===n||n.flush();const r=null!==(o=null===(i=On.current)||void 0===i?void 0:i.update(t,e))&&void 0!==o?o:[];return r.length>0&&(We.current=!0,Qe()),r},clear:zn,getData:()=>{var t,e,n;return null===(t=Dn.current)||void 0===t||t.flush(),null!==(n=null===(e=On.current)||void 0===e?void 0:e.getData())&&void 0!==n?n:[]},getScales:()=>{var t,e;return null!==(e=null===(t=On.current)||void 0===t?void 0:t.scales)&&void 0!==e?e:null},getExtents:()=>{var t,e;return null!==(e=null===(t=On.current)||void 0===t?void 0:t.getExtents())&&void 0!==e?e:null}}),[$n,Wn,zn,Qe]),e.useEffect(()=>{var t,e;if(A){if(T&&rn.length>0&&"object"==typeof rn[0]&&null!==rn[0]){const e="string"==typeof T?T:"coordinates";if(Array.isArray(rn[0][e])){const n=[];for(const t of rn){const i=t[e];if(Array.isArray(i)){const e=t.label||t.id||t.key;if(null!=e)for(const t of i)n.push(Object.assign(Object.assign({},t),{_lineGroup:e}));else for(const t of i)n.push(t)}}return void(null===(t=Dn.current)||void 0===t||t.setBoundedData(n))}}null===(e=Dn.current)||void 0===e||e.setBoundedData(rn)}},[A,rn,T]);const{hoverHandlerRef:Fn,hoverLeaveRef:Xn,onPointerMove:Gn,onPointerLeave:Vn}=ze;Fn.current=t=>{var e,n,i,o;if(!sn)return;const r=ln.current;if(!r)return;const s=r.getBoundingClientRect(),l=t.clientX-s.left-Je.left,a=t.clientY-s.top-Je.top;if(0>l||l>nn||0>a||a>on)return void(fn.current&&(fn.current=null,gn.current=null,pn(null),Nt&&(Nt(null),We.current=!0),Qe()));const c=On.current;if(!c||0===c.scene.length)return;const u=Qt(c.scene,l,a,It,c.quadtree,c.maxPointRadius),d="multi"===Wt,h=()=>{fn.current&&(fn.current=null,gn.current=null,pn(null),Nt&&Nt(null),Qe())};if(!u&&!d)return void h();const f=d||!u?l:u.x,g=d||!u?a:u.y,y=(null==u?void 0:u.datum)?At(u.datum,c.resolvedRibbons):{},p=null===(n=null===(e=c.scales)||void 0===e?void 0:e.x)||void 0===n?void 0:n.invert,v="function"==typeof p?p(f):void 0;let x=ki(y,f,g,null!=v?{xValue:v,xPx:f}:void 0);if(d&&c.scene.length>0&&c.scales){const t=function(t,e,n=30){const i=[];for(const o of t)if("line"===o.type){const t=o;if(2>t.path.length)continue;const r=Jt(Zt(t.path,t.curve),e,n);if(null===r)continue;const s=le(t.path,e);i.push({node:o,datum:Array.isArray(t.datum)&&t.datum[s]?t.datum[s]:t.datum,x:t.path[s][0],y:r,group:t.group,color:t.style.stroke})}else if("area"===o.type){const t=o;if(!1===t.interactive)continue;if(2>t.topPath.length)continue;const r=Zt(t.topPath,t.curve),s=Zt(t.bottomPath,t.curve),l=Jt(r,e,n);if(null===l)continue;const a=Jt(s,e,n),c=le(t.topPath,e);i.push({node:o,datum:Array.isArray(t.datum)&&t.datum[c]?t.datum[c]:t.datum,x:t.topPath[c][0],y:l,y0:null!=a?a:void 0,group:t.group,color:"string"==typeof t.style.stroke?t.style.stroke:"string"==typeof t.style.fill?t.style.fill:void 0})}return i}(c.scene,f,Math.max(It,nn));if(t.length>0){const e=c.scales.y.invert,n=vn.current,i=p?p(f):f;if(u)x.xValue=i,x.xPx=f;else{const t={xValue:i};"string"==typeof _&&(t[_]=i),x=ki(t,f,g,{xValue:i,xPx:f})}x.allSeries=t.map(t=>{const i=e?e(t.y):t.y,o=null!=t.y0?e?e(t.y0):t.y0:void 0;return{group:t.group||"",value:"stackedarea"===m&&null!=o?i-o:i,valuePx:t.y,color:t.color||n,datum:At(t.datum,c.resolvedRibbons)}})}}u||(null===(i=x.allSeries)||void 0===i?void 0:i.length)?(fn.current=x,gn.current=null!==(o=null==u?void 0:u.node)&&void 0!==o?o:null,pn(x),Nt&&(Nt(x),We.current=!0),Qe()):h()},Xn.current=()=>{fn.current&&(fn.current=null,gn.current=null,pn(null),Nt&&(Nt(null),We.current=!0),Qe())};const qn=e.useRef(()=>{});qn.current=t=>{var e,n;if(!Rt)return;const i=ln.current;if(!i)return;const o=i.getBoundingClientRect(),r=t.clientX-o.left-Je.left,s=t.clientY-o.top-Je.top;if(0>r||r>nn||0>s||s>on)return void Rt(null);const l=On.current;if(!l||0===l.scene.length)return void Rt(null);const a=Qt(l.scene,r,s,It,l.quadtree,l.maxPointRadius);if(!a)return void Rt(null);const c=a.datum||{},u=null===(n=null===(e=l.scales)||void 0===e?void 0:e.x)||void 0===n?void 0:n.invert,d="function"==typeof u?u(a.x):void 0;Rt(ki(c,a.x,a.y,null!=d?{xValue:d,xPx:a.x}:void 0))};const Un=e.useCallback(t=>qn.current(t),[]),Kn=e.useRef(-1),Qn=e.useRef(null),Jn=e.useRef(null),ti=e.useCallback(t=>{const e=On.current;if(!e||0===e.scene.length)return;const n=e.version;let i;if(Jn.current&&Jn.current.version===n)i=Jn.current.graph;else{const t=function(t){var e,n,i;const o=[];for(const r of t)switch(r.type){case"point":o.push({x:r.x,y:r.y,datum:r.datum,shape:"circle",group:"_default"});break;case"line":{const t=r,n=Array.isArray(t.datum)?t.datum:[],i=null!==(e=t.group)&&void 0!==e?e:"_default";for(let e=0;t.path.length>e&&n.length>e;e++)o.push({x:t.path[e][0],y:t.path[e][1],datum:n[e],shape:"circle",group:i});break}case"area":{const t=r,e=Array.isArray(t.datum)?t.datum:[],i=null!==(n=t.group)&&void 0!==n?n:"_default";for(let n=0;t.topPath.length>n&&e.length>n;n++)o.push({x:t.topPath[n][0],y:t.topPath[n][1],datum:e[n],shape:"circle",group:i});break}case"rect":o.push({x:r.x+r.w/2,y:r.y+r.h/2,datum:r.datum,shape:"rect",w:r.w,h:r.h,group:null!==(i=r.group)&&void 0!==i?i:"_default"});break;case"heatcell":o.push({x:r.x+r.w/2,y:r.y+r.h/2,datum:r.datum,shape:"rect",w:r.w,h:r.h,group:"_default"})}return o.sort((t,e)=>t.x-e.x||t.y-e.y),o}(e.scene);if(0===t.length)return;i=ae(t),Jn.current={version:n,graph:i}}const o=Kn.current;if(0>o){if("Escape"===t.key)return;if(!["ArrowRight","ArrowLeft","ArrowUp","ArrowDown","Home","End","PageUp","PageDown"].includes(t.key))return;t.preventDefault(),Kn.current=0;const n=i.flat[0];Qn.current={shape:n.shape,w:n.w,h:n.h};const o=fe(Object.assign(Object.assign({},n),{datum:At(n.datum,e.resolvedRibbons)}));return fn.current=o,pn(o),Nt&&Nt(o),void Qe()}const r=ce(i,o),s=ue(t.key,r,i);if(null===s)return;if(t.preventDefault(),0>s)return Kn.current=-1,Qn.current=null,fn.current=null,gn.current=null,pn(null),Nt&&Nt(null),void Qe();Kn.current=s;const l=i.flat[s];Qn.current={shape:l.shape,w:l.w,h:l.h};const a=fe(Object.assign(Object.assign({},l),{datum:At(l.datum,e.resolvedRibbons)}));fn.current=a,pn(a),Nt&&Nt(a),Qe()},[Nt,Qe]),ei=e.useCallback(t=>{Kn.current=-1,Qn.current=null,Gn(t)},[Gn]);Ze.current=()=>{var t,e;Ke.current=0;const n=ln.current,i=an.current;if(!n||!i)return;const o=On.current;if(!o)return;const r="undefined"!=typeof performance?performance.now():Date.now(),s=o.advanceTransition(Be.current?r+1e6:r),l=!Be.current&&s,a=We.current||s;a&&!l&&(o.computeScene({width:nn,height:on}),Ln());const c=Pi(),u=function(t){if(!t)return Qi;const e=getComputedStyle(t),n=e.getPropertyValue("--semiotic-border").trim(),i=e.getPropertyValue("--semiotic-text-secondary").trim(),o=e.getPropertyValue("--semiotic-bg").trim(),r=e.getPropertyValue("--semiotic-primary").trim(),s=i||e.getPropertyValue("--text-secondary").trim(),l=e.getPropertyValue("--text-primary").trim(),a=n||e.getPropertyValue("--surface-3").trim(),c=o||e.getPropertyValue("--surface-0").trim();return s||l||n||r?{axisStroke:a||Qi.axisStroke,tickText:s||Qi.tickText,crosshair:s?Ji(s,"66"):Qi.crosshair,hoverFill:c?Ji(c,"4D"):Qi.hoverFill,hoverStroke:s?Ji(s,"99"):Qi.hoverStroke,pointRing:c||Qi.pointRing,primary:r||Qi.primary}:Qi}(n);vn.current=u.primary;const d=null!==(t=null==ke?void 0:ke.threshold)&&void 0!==t?t:5e3,h=ke&&o.lastIngestTime>0&&r-o.lastIngestTime>d;if(a){const t=_i(n,Xe,Je,c);if(t){if(t.clearRect(-Je.left,-Je.top,Xe[0],Xe[1]),h&&(t.globalAlpha=null!==(e=null==ke?void 0:ke.dimOpacity)&&void 0!==e?e:.5),"transparent"!==J&&!ie){const e=getComputedStyle(n).getPropertyValue("--semiotic-bg").trim(),i=J||(e&&"transparent"!==e?e:null),o=i?Xt(t,i):null;o&&(t.fillStyle=o,t.fillRect(-Je.left,-Je.top,Xe[0],Xe[1]))}if(t.save(),"function"==typeof t.rect&&(t.beginPath(),t.rect(0,0,nn,on),t.clip()),re&&o.scales)for(const e of re)t.save(),e(t,o.scene,o.scales,{width:nn,height:on}),t.restore();const i=Re?Ki.custom:Ki[m];if(i&&o.scales)for(const e of i)e(t,o.scene,o.scales,{width:nn,height:on});t.restore(),h&&(t.globalAlpha=1)}}{const t=_i(i,Xe,Je,c);if(t&&(t.clearRect(-Je.left,-Je.top,Xe[0],Xe[1]),sn&&fn.current&&o.scales&&function(t,e,n,i,o,r,s){var l;if(!1===o.crosshair)return;const a=e.allSeries,c=a&&a.length>0,u=null!==(l=e.xPx)&&void 0!==l?l:e.x;t.save();const d="object"==typeof o.crosshair?o.crosshair:{};if(t.strokeStyle=d.stroke||s.crosshair,t.lineWidth=d.strokeWidth||1,t.setLineDash(d.strokeDasharray?d.strokeDasharray.split(/[\s,]+/).map(Number):[4,4]),t.beginPath(),t.moveTo(c?u:e.x,0),t.lineTo(c?u:e.x,i),t.stroke(),c||(t.beginPath(),t.moveTo(0,e.y),t.lineTo(n,e.y),t.stroke()),t.restore(),c){t.lineWidth=2,t.strokeStyle=s.pointRing;for(const e of a)null!=e.valuePx&&(t.beginPath(),t.arc(u,e.valuePx,4,0,2*Math.PI),t.fillStyle=e.color||s.primary,t.fill(),t.stroke())}else{const n=o.pointColor||function(t){if(!t)return null;if("heatcell"===t.type)return t.fill||null;if("candlestick"===t.type)return t.isUp?t.upColor:t.downColor;const{style:e}=t;if(!e)return null;const n="string"==typeof e.fill?e.fill:null;return"line"===t.type||"area"===t.type?e.stroke||n||null:n||e.stroke||null}(r)||s.primary;t.beginPath(),t.arc(e.x,e.y,4,0,2*Math.PI),t.fillStyle=n,t.fill(),t.strokeStyle=s.pointRing,t.lineWidth=2,t.stroke()}}(t,fn.current,nn,on,"object"==typeof sn?sn:{},gn.current,u),gn.current&&Array.isArray(Lt))){const e=Lt.find(t=>t&&"object"==typeof t&&"highlight"===t.type);e&&function(t,e,n,i,o){var r;if(!n)return;const s="group"in n?n.group:void 0;if(void 0!==s)for(const n of e){if("line"!==n.type)continue;if(n.group!==s)continue;if(2>n.path.length)continue;const e="function"==typeof i.style?n.datum?i.style(n.datum):{}:i.style||{};t.save(),t.beginPath(),t.moveTo(n.path[0][0],n.path[0][1]);for(let e=1;n.path.length>e;e++)t.lineTo(n.path[e][0],n.path[e][1]);t.strokeStyle=e.stroke||n.style.stroke||o.primary,t.lineWidth=e.strokeWidth||(n.style.strokeWidth||2)+2,t.globalAlpha=null!==(r=e.opacity)&&void 0!==r?r:1,t.stroke(),t.restore()}}(t,o.scene,gn.current,e,u)}}a&&n&&n.setAttribute("aria-label",Zn(o.scene,m+" chart"));const f=We.current;if(We.current=!1,f&&o.scales){const t=t=>"object"==typeof t&&null!==t&&"function"==typeof t.valueOf?t.valueOf():t;if((!dn||t(dn.x.domain()[0])!==t(o.scales.x.domain()[0])||t(dn.x.domain()[1])!==t(o.scales.x.domain()[1])||t(dn.y.domain()[0])!==t(o.scales.y.domain()[0])||t(dn.y.domain()[1])!==t(o.scales.y.domain()[1])||dn.x.range()[0]!==o.scales.x.range()[0]||dn.x.range()[1]!==o.scales.x.range()[1]||dn.y.range()[0]!==o.scales.y.range()[0]||dn.y.range()[1]!==o.scales.y.range()[1])&&hn(o.scales),_e){const t=o.getData(),e="function"==typeof _?_:t=>t[_||"x"],n="function"==typeof P?P:t=>t[P||"y"];Mn(t.map(t=>e(t)).filter(t=>"number"==typeof t&&isFinite(t))),jn(t.map(t=>n(t)).filter(t=>"number"==typeof t&&isFinite(t)))}}f&&zt&&zt.length>0&&un(t=>t+1),(null==ke?void 0:ke.showBadge)&&wn(!!h),(l||null!=o.activeTransition||o.hasActivePulses)&&(Ke.current=requestAnimationFrame(()=>Ze.current()))},Bn({hydrated:Fe,wasHydratingFromSSR:Ye,storeRef:On,dirtyRef:We,renderFnRef:Ze,cleanup:()=>{var t;return null===(t=Dn.current)||void 0===t?void 0:t.clear()}}),e.useEffect(()=>{We.current=!0,Qe()},[m,nn,on,bt,J,tt,re,Qe]),ge(ke,On,We,Qe,kn,wn);const ni=e.useMemo(()=>{if(jt||Ct)return;const t=On.current;return(null==t?void 0:t.xIsDate)&&dn?Ui(dn.x.domain()):void 0},[jt,Ct,dn]),ii=jt||Ct||ni,oi=sn&&yn?Dt?Dt(yn):t.jsx(eo,{hover:yn}):null,ri=oi?t.jsx(Ai,{x:yn.x,y:yn.y,containerWidth:nn,containerHeight:on,margin:Je,className:"stream-frame-tooltip",children:oi}):null,si=Qn.current,li=t.jsx(xi,{active:Kn.current>=0,hoverPoint:yn,margin:Je,size:Xe,shape:null==si?void 0:si.shape,width:null==si?void 0:si.w,height:null==si?void 0:si.h}),ai=Vi(_,Y,"__semiotic_resolvedX","__semiotic_resolvedTime"),ci=Vi(P,I,"__semiotic_resolvedY","__semiotic_resolvedValue"),ui=ai.key,di=ci.key,hi=function(t,e,n){return i=>{if(!i||!n||!t.fn&&!e.fn)return i;let o=!1;const r=i.map(n=>{const i=t.fn&&t.key&&!(t.key in n),r=e.fn&&e.key&&!(e.key in n);if(!i&&!r)return n;o=!0;const s=Object.assign({},n);return i&&(s[t.key]=t.fn(n)),r&&(s[e.key]=e.fn(n)),s});return o?r:i}}(ai,ci,zt&&zt.length>0||!1);if(Rn||!Fe&&Ye){const e=On.current;e&&A&&(e.ingest({inserts:rn,bounded:!0}),e.computeScene({width:nn,height:on}));const n=null!==(o=null==e?void 0:e.scene)&&void 0!==o?o:[],i=null!==(r=null==e?void 0:e.scales)&&void 0!==r?r:null,l=ii||(()=>{if((null==e?void 0:e.xIsDate)&&i)return Ui(i.x.domain())})();return t.jsxs("div",{ref:He,className:"stream-xy-frame"+(Q?" "+Q:""),role:"img","aria-label":Te||("string"==typeof de?de:"XY chart"),style:{position:"relative",width:U?"100%":Xe[0],height:K?"100%":Xe[1]},children:[t.jsx(yi,{summary:Le}),t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:Xe[0],height:Xe[1],style:{position:"absolute",left:0,top:0},children:[t.jsx("g",{transform:`translate(${Je.left},${Je.top})`,children:en}),t.jsxs("g",{transform:`translate(${Je.left},${Je.top})`,children:[J&&t.jsx("rect",{x:0,y:0,width:nn,height:on,fill:J}),se&&i&&se.map((e,o)=>t.jsx(y.Fragment,{children:e(n,i,{width:nn,height:on})},"svgpre-"+o)),n.map((e,n)=>function(e,n,i){var o,r,s,l,a;switch(e.type){case"line":{const i=e;if(0===i.path.length)return null;const o="M"+i.path.map(([t,e])=>`${t},${e}`).join("L");return t.jsx("path",{d:o,fill:"none",stroke:i.style.stroke||"#4e79a7",strokeWidth:i.style.strokeWidth||2,strokeDasharray:i.style.strokeDasharray,opacity:i.style.opacity},"line-"+n)}case"area":{const a=e;if(0===a.topPath.length)return null;const c=`M${a.topPath.map(([t,e])=>`${t},${e}`).join("L")}L${[...a.bottomPath].reverse().map(([t,e])=>`${t},${e}`).join("L")}Z`;if(a.clipRect){const e=`${i?i+"-":""}area-clip-${n}`;return t.jsxs("g",{children:[t.jsx("defs",{children:t.jsx("clipPath",{id:e,children:t.jsx("rect",{x:a.clipRect.x,y:a.clipRect.y,width:a.clipRect.width,height:a.clipRect.height})})}),t.jsx("path",{d:c,fill:Nn(a.style.fill),fillOpacity:null!==(r=null!==(o=a.style.fillOpacity)&&void 0!==o?o:a.style.opacity)&&void 0!==r?r:.7,stroke:a.style.stroke,strokeWidth:a.style.strokeWidth,clipPath:`url(#${e})`})]},"area-"+n)}return t.jsx("path",{d:c,fill:Nn(a.style.fill),fillOpacity:null!==(l=null!==(s=a.style.fillOpacity)&&void 0!==s?s:a.style.opacity)&&void 0!==l?l:.7,stroke:a.style.stroke,strokeWidth:a.style.strokeWidth},"area-"+n)}case"point":{const i=e;return t.jsx("circle",{cx:i.x,cy:i.y,r:i.r,fill:Nn(i.style.fill),opacity:null!==(a=i.style.opacity)&&void 0!==a?a:.8,stroke:i.style.stroke,strokeWidth:i.style.strokeWidth},"point-"+n)}case"rect":{const i=e;return t.jsx("rect",{x:i.x,y:i.y,width:i.w,height:i.h,fill:Nn(i.style.fill),opacity:i.style.opacity,stroke:i.style.stroke,strokeWidth:i.style.strokeWidth},"rect-"+n)}case"heatcell":{const i=e;if(i.showValues&&null!=i.value&&i.w>=20&&i.h>=20){const e=i.valueFormat?i.valueFormat(i.value):Number.isInteger(i.value)?i.value+"":100>Math.abs(i.value)?1>Math.abs(i.value)?i.value.toPrecision(3):i.value.toFixed(1):i.value.toFixed(0),[o,r,s]=function(t){if(t.startsWith("#")){let e=t.slice(1);if(3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),6===e.length)return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}const e=t.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return e?[+e[1],+e[2],+e[3]]:[128,128,128]}(i.fill),l=.299*o+.587*r+.114*s>128?"#000":"#fff",a=Math.max(10,Math.min(16,.3*Math.min(i.w,i.h)));return t.jsxs("g",{children:[t.jsx("rect",{x:i.x,y:i.y,width:i.w,height:i.h,fill:i.fill}),t.jsx("text",{x:i.x+i.w/2,y:i.y+i.h/2,textAnchor:"middle",dominantBaseline:"middle",fill:l,fontSize:a+"px",children:e})]},"heatcell-"+n)}return t.jsx("rect",{x:i.x,y:i.y,width:i.w,height:i.h,fill:i.fill},"heatcell-"+n)}case"candlestick":{const i=e,o=Math.min(i.openY,i.closeY),r=Math.max(Math.abs(i.openY-i.closeY),1),s=i.isUp?i.upColor:i.downColor;return t.jsxs("g",{children:[t.jsx("line",{x1:i.x,y1:i.highY,x2:i.x,y2:i.lowY,stroke:i.wickColor,strokeWidth:i.wickWidth}),t.jsx("rect",{x:i.x-i.bodyWidth/2,y:o,width:i.bodyWidth,height:r,fill:s,stroke:s,strokeWidth:1})]},"candle-"+n)}default:return null}}(e,n,Ie)).filter(Boolean)]})]}),t.jsx(Tn,{width:nn,height:on,totalWidth:Xe[0],totalHeight:Xe[1],margin:Je,scales:i,showAxes:bt,axes:kt,xLabel:wt,yLabel:Mt,yLabelRight:St,xFormat:l,yFormat:_t||Et,axisExtent:Pt,showGrid:Bt,title:de,legend:Ht,legendHoverBehavior:Gt,legendClickBehavior:Vt,legendHighlightedCategory:qt,legendIsolatedCategories:Ut,legendPosition:Kt,legendLayout:te,foregroundGraphics:Tt(tn,null===(s=On.current)||void 0===s?void 0:s.customLayoutOverlays),marginalGraphics:_e,xValues:[],yValues:[],annotations:zt,autoPlaceAnnotations:Ft,svgAnnotationRules:Yt,annotationFrame:0,xAccessor:ui,yAccessor:di,annotationData:hi(null==e?void 0:e.getData()),pointNodes:null==e?void 0:e.scene.filter(t=>"point"===t.type),curve:"string"==typeof L?L:void 0,linkedCrosshairName:De,linkedCrosshairSourceId:Ne})]})}return t.jsxs("div",{ref:He,className:"stream-xy-frame"+(Q?" "+Q:""),role:"group","aria-label":Te||("string"==typeof de?de:"XY chart"),tabIndex:0,style:{position:"relative",width:U?"100%":Xe[0],height:K?"100%":Xe[1],overflow:"visible"},onKeyDown:ti,children:[Oe&&t.jsx(pi,{tableId:Ue}),Oe&&t.jsx(fi,{scene:null!==(a=null===(l=On.current)||void 0===l?void 0:l.scene)&&void 0!==a?a:[],chartType:m+" chart",tableId:Ue,chartTitle:"string"==typeof de?de:void 0}),t.jsx(yi,{summary:Le}),t.jsx(vi,{hoverPoint:yn}),t.jsxs("div",{role:"img","aria-label":Te||("string"==typeof de?de:"XY chart"),style:{position:"relative",width:"100%",height:"100%"},onMouseMove:sn?ei:void 0,onMouseLeave:sn?Vn:void 0,onClick:Rt?Un:void 0,children:[en&&t.jsx("svg",{style:{position:"absolute",left:0,top:0,width:Xe[0],height:Xe[1],pointerEvents:"none"},children:t.jsx("g",{transform:`translate(${Je.left},${Je.top})`,children:en})}),t.jsx(Cn,{width:nn,height:on,totalWidth:Xe[0],totalHeight:Xe[1],margin:Je,scales:dn,showAxes:bt,axes:kt,showGrid:Bt,xFormat:ii,yFormat:_t||Et,axisExtent:Pt}),t.jsx("canvas",{ref:ln,"aria-label":Zn(null!==(u=null===(c=On.current)||void 0===c?void 0:c.scene)&&void 0!==u?u:[],m+" chart"),style:{position:"absolute",left:0,top:0}}),t.jsx("canvas",{ref:an,style:{position:"absolute",left:0,top:0,pointerEvents:"none"}}),t.jsx(Tn,{width:nn,height:on,totalWidth:Xe[0],totalHeight:Xe[1],margin:Je,scales:dn,showAxes:bt,axes:kt,xLabel:wt,yLabel:Mt,yLabelRight:St,xFormat:ii,yFormat:_t||Et,axisExtent:Pt,showGrid:Bt,title:de,legend:Ht,legendHoverBehavior:Gt,legendClickBehavior:Vt,legendHighlightedCategory:qt,legendIsolatedCategories:Ut,legendPosition:Kt,legendLayout:te,foregroundGraphics:Tt(tn,null===(d=On.current)||void 0===d?void 0:d.customLayoutOverlays),marginalGraphics:_e,xValues:An,yValues:Sn,annotations:zt,autoPlaceAnnotations:Ft,svgAnnotationRules:Yt,annotationFrame:cn,xAccessor:ui,yAccessor:di,annotationData:hi(null===(h=On.current)||void 0===h?void 0:h.getData()),pointNodes:null===(f=On.current)||void 0===f?void 0:f.scene.filter(t=>"point"===t.type),curve:"string"==typeof L?L:void 0,underlayRendered:!0,canvasObscuresUnderlay:"transparent"!==J&&!ie,linkedCrosshairName:De,linkedCrosshairSourceId:Ne}),(ye||pe)&&t.jsx(x,{width:nn,height:on,totalWidth:Xe[0],totalHeight:Xe[1],margin:Je,dimension:null!==(g=null==ye?void 0:ye.dimension)&&void 0!==g?g:"xy",scales:dn,onBrush:null!=pe?pe:()=>{},binSize:$,snap:null==ye?void 0:ye.snap,binBoundaries:null!==(p=null==ye?void 0:ye.binBoundaries)&&void 0!==p?p:"bar"===m?null===(v=On.current)||void 0===v?void 0:v.getBinBoundaries():void 0,snapDuring:null==ye?void 0:ye.snapDuring,streaming:"streaming"===b}),(null==ke?void 0:ke.showBadge)&&t.jsx("div",{className:"stream-staleness-badge",style:Object.assign(Object.assign({position:"absolute"},"top-left"===ke.badgePosition?{top:4,left:4}:"bottom-left"===ke.badgePosition?{bottom:4,left:4}:"bottom-right"===ke.badgePosition?{bottom:4,right:4}:{top:4,right:4}),{padding:"2px 8px",borderRadius:4,fontSize:11,fontWeight:600,pointerEvents:"none",background:kn?"#dc3545":"#28a745",color:"white"}),children:kn?"STALE":"LIVE"}),li,ri]})]})});no.displayName="StreamXYFrame";const io={weightChange:.1,newEdge:.5,newNode:1,threshold:3,transitionDuration:500},oo={radius:3,opacity:.7,speedMultiplier:1,maxPerEdge:50,spawnRate:.1};class ro{constructor(t){this.capacity=t,this.particles=Array(t),this._freeIndices=Array(t);for(let e=0;t>e;e++)this.particles[e]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0},this._freeIndices[e]=t-1-e}spawn(t){const e=this._freeIndices.pop();if(void 0===e)return null;const n=this.particles[e];return n.active=!0,n.t=0,n.offset=Math.random()-.5,n.edgeIndex=t,n.x=0,n.y=0,n}step(t,e,n,i){var o;for(let r=0;this.capacity>r;r++){const s=this.particles[r];if(!s.active)continue;const l=n[s.edgeIndex];if(!l||!l.bezier){s.active=!1,this._freeIndices.push(r);continue}const a=i&&null!==(o=i[s.edgeIndex])&&void 0!==o?o:1;s.t+=t*e*a*(l.bezier.circular?.3:1),1>s.t?so(l.bezier,s.t,s.offset,s):(s.active=!1,this._freeIndices.push(r))}}countForEdge(t){let e=0;for(let n=0;this.capacity>n;n++)this.particles[n].active&&this.particles[n].edgeIndex===t&&e++;return e}clear(){for(let t=0;this.capacity>t;t++)this.particles[t].active=!1;this._freeIndices.length=0;for(let t=this.capacity-1;t>=0;t--)this._freeIndices.push(t)}resize(t){if(this.capacity>=t)return;const e=this.particles;this.particles=Array(t);for(let n=0;t>n;n++)e.length>n?this.particles[n]=e[n]:(this.particles[n]={t:0,offset:0,edgeIndex:0,active:!1,x:0,y:0},this._freeIndices.push(n));this.capacity=t}}function so(t,e,n,i){if(t.circular&&t.segments)return void function(t,e,n,i,o){const r=t.length,s=e*r,l=Math.min(Math.floor(s),r-1),a=s-l,[c,u,d,h]=t[l];lo(c,u,d,h,a,o);const f=h.x-c.x,g=h.y-c.y,y=Math.sqrt(f*f+g*g);if(y>.001){const t=f/y;o.x+=-g/y*n*i*2,o.y+=t*n*i*2}}(t.segments,e,n,t.halfWidth,i);if(!t.points)return i.x=0,void(i.y=0);const[o,r,s,l]=t.points;lo(o,r,s,l,e,i);const a=l.x-o.x,c=l.y-o.y,u=Math.sqrt(a*a+c*c);if(u>.001){const e=a/u;i.x+=-c/u*n*t.halfWidth*2,i.y+=e*n*t.halfWidth*2}}function lo(t,e,n,i,o,r){const s=1-o,l=s*s,a=l*s,c=o*o,u=c*o;r.x=a*t.x+3*l*o*e.x+3*s*c*n.x+u*i.x,r.y=a*t.y+3*l*o*e.y+3*s*c*n.y+u*i.y}function ao(t,e){var n=t.get(e);if(!n)throw Error("missing: "+e);return n}function co(t,e){var n,i=[],o=[],r=[],s={},l=[];function a(t){r[t]=!1,s.hasOwnProperty(t)&&Object.keys(s[t]).forEach(function(e){delete s[t][e],r[e]&&a(e)})}function c(t){var e,i,d=!1;for(o.push(t),r[t]=!0,e=0;l[t].length>e;e++)(i=l[t][e])===n?(u(n,o),d=!0):r[i]||(d=c(i));if(d)a(t);else for(e=0;l[t].length>e;e++){var h=s[i=l[t][e]];h||(s[i]=h={}),h[i]=!0}return o.pop(),d}function u(t,e){var n=[].concat(e).concat(t);i.push(n)}function d(e){!function(e){for(var n=0;t.length>n;n++)n>=e&&t[n]||(t[n]=[]),t[n]=t[n].filter(function(t){return t>=e})}(e);for(var n,i=function(t){for(var e=t.length,n=Array(e),i=Array(e),o=Array(e),r=Array(e),s=Array(e),l=Array(e),a=0;e>a;++a)n[a]=-1,i[a]=0,o[a]=!1,r[a]=0,s[a]=-1,l[a]=[];var c,u=0,d=[],h=[];function f(e){var a=[e],c=[e];for(n[e]=i[e]=u,o[e]=!0,u+=1;c.length>0;){var f=t[e=c[c.length-1]];if(f.length>r[e]){for(var g=r[e];f.length>g;++g){var y=f[g];if(0>n[y]){n[y]=i[y]=u,o[y]=!0,u+=1,a.push(y),c.push(y);break}o[y]&&(i[e]=0|Math.min(i[e],i[y])),0>s[y]||l[e].push(s[y])}r[e]=g}else{if(i[e]===n[e]){var p=[],v=[],m=0;for(g=a.length-1;g>=0;--g){var x=a[g];if(o[x]=!1,p.push(x),v.push(l[x]),m+=l[x].length,s[x]=d.length,x===e){a.length=g;break}}d.push(p);var b=Array(m);for(g=0;v.length>g;g++)for(var k=0;v[g].length>k;k++)b[--m]=v[g][k];h.push(b)}c.pop()}}}for(a=0;e>a;++a)0>n[a]&&f(a);for(a=0;h.length>a;a++){var g=h[a];if(0!==g.length){g.sort(function(t,e){return t-e}),c=[g[0]];for(var y=1;g.length>y;y++)g[y]!==g[y-1]&&c.push(g[y]);h[a]=c}}return{components:d,adjacencyList:h}}(t),o=i.components.filter(function(t){return t.length>1}),r=1/0,s=0;o.length>s;s++)for(var l=0;o[s].length>l;l++)r>o[s][l]&&(r=o[s][l],n=s);var a=o[n];if(!a)return!1;var c=t.map(function(t,e){return-1===a.indexOf(e)?[]:t.filter(function(t){return-1!==a.indexOf(t)})});return{leastVertex:r,adjList:c}}n=0;for(var h=t.length;h>n;){var f=d(n);if(n=f.leastVertex,l=f.adjList){for(var g=0;l.length>g;g++)for(var y=0;l[g].length>y;y++){var p=l[g][y];r[+p]=!1,s[p]={}}c(n),n+=1}else n=h}return i}function uo(t){return t.y0-t.y1>0?"up":"down"}function ho(t,e){return e(t.source)==e(t.target)}function fo(t){var e=0;t.source.sourceLinks.forEach(function(t){e=t.circular?e+1:e});var n=0;return t.target.targetLinks.forEach(function(t){n=t.circular?n+1:n}),1>=e&&1>=n}function go(t){return t.target.x0-t.source.x1}function yo(t,e){var n=vo(t),i=go(e)/Math.tan(n);return"up"==uo(t)?t.y1-i:t.y1+i}function po(t,e){var n=vo(t),i=go(e)/Math.tan(n);return"up"==uo(t)?t.y1+i:t.y1-i}function vo(t){var e=Math.abs(t.y1-t.y0);return Math.atan(Math.abs(t.target.x0-t.source.x1)/e)}function mo(t,e){return e(t)}function xo(t){return ko(t.source)}function bo(t){return ko(t.target)}function ko(t){return(t.y0+t.y1)/2}function wo(t){return t.virtual?0:t.value}function Ao(t,e){var n=0;t.sourceLinks.forEach(function(t){n=t.circular&&!ho(t,e)?n+1:n});var i=0;return t.targetLinks.forEach(function(t){i=t.circular&&!ho(t,e)?i+1:i}),n+i}function Mo(t){return t.target.depth}function So(t,e){return t.sourceLinks.length?t.depth:e-1}function jo(t,e){return t.y0-e.y0}function _o(t,e){return e.y0-t.y0}function Po(t,e){return t.y1-e.y1}function Co(t,e){return e.y1-t.y1}function Eo(t,e){return To(t.source,e.source)||t.index-e.index}function Oo(t,e){return To(t.target,e.target)||t.index-e.index}function To(t,e){return t.partOfCycle===e.partOfCycle?t.y0-e.y0:"top"===t.circularLinkType||"bottom"===e.circularLinkType?-1:1}function Lo(t,e){return Do(t)==Do(e)?"bottom"==t.circularLinkType?_o(t,e):jo(t,e):Do(e)-Do(t)}function Do(t){return t.target.column-t.source.column}function No(t,e){return Ro(t)==Ro(e)}function Ro(t){return t.y0-t.y1>0?"up":"down"}function $o(t,e,n,i,o){let r=t;var s=Math.max(8,.15*(r.y1-r.y0));r.links.forEach(function(t){t.circular&&(t._circularWidth=Math.min(t.width,s))});var a=l.min(r.links,function(t){return t.source.y0});r.links.forEach(function(t){t.circular&&(t.circularPathData={})});var c=r.links.filter(function(t){return t.circular});return c.sort(function(t,e){return e.value-t.value}),c.forEach(function(t,e){t._circularStub=e>=4}),Io(r.links.filter(function(t){return"top"==t.circularLinkType}),e,n),Io(r.links.filter(function(t){return"bottom"==t.circularLinkType}),e,n),r.links.forEach(function(t){if(t.circular){if(t.circularPathData.arcRadius=t._circularWidth+i,t.circularPathData.rightNodeBuffer=5,t.circularPathData.leftNodeBuffer=5,t.circularPathData.sourceWidth=t.source.x1-t.source.x0,t.circularPathData.sourceX=t.source.x0+t.circularPathData.sourceWidth,t.circularPathData.targetX=t.target.x0,t.circularPathData.sourceY=t.y0,t.circularPathData.targetY=t.y1,ho(t,e)&&fo(t))t.circularPathData.rightSmallArcRadius=i+t._circularWidth/2,t.circularPathData.rightLargeArcRadius=i+t._circularWidth/2,t.circularPathData.leftSmallArcRadius=i+t._circularWidth/2,t.circularPathData.leftLargeArcRadius=i+t._circularWidth/2,"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=t.source.y1+o+t.circularPathData.verticalBuffer,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius):(t.circularPathData.verticalFullExtent=t.source.y0-o-t.circularPathData.verticalBuffer,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius);else{var s=t.source.column,l=t.circularLinkType,c=r.links.filter(function(t){return t.source.column==s&&t.circularLinkType==l});c.sort("bottom"==t.circularLinkType?_o:jo);var u=0;c.forEach(function(e,o){e.circularLinkID==t.circularLinkID&&(t.circularPathData.rightSmallArcRadius=i+t._circularWidth/2+u,t.circularPathData.rightLargeArcRadius=i+t._circularWidth/2+o*n+u),u+=e._circularWidth||e.width}),s=t.target.column,(c=r.links.filter(function(t){return t.target.column==s&&t.circularLinkType==l})).sort("bottom"==t.circularLinkType?Co:Po),u=0,c.forEach(function(e,o){e.circularLinkID==t.circularLinkID&&(t.circularPathData.leftSmallArcRadius=i+t._circularWidth/2+u,t.circularPathData.leftLargeArcRadius=i+t._circularWidth/2+o*n+u),u+=e._circularWidth||e.width}),"bottom"==t.circularLinkType?(t.circularPathData.verticalFullExtent=Math.max(r.y1,t.source.y1,t.target.y1)+o+t.circularPathData.verticalBuffer,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.rightLargeArcRadius,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent-t.circularPathData.leftLargeArcRadius):(t.circularPathData.verticalFullExtent=a-o-t.circularPathData.verticalBuffer,t.circularPathData.verticalRightInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.rightLargeArcRadius,t.circularPathData.verticalLeftInnerExtent=t.circularPathData.verticalFullExtent+t.circularPathData.leftLargeArcRadius)}t.circularPathData.rightInnerExtent=t.circularPathData.sourceX+t.circularPathData.rightNodeBuffer,t.circularPathData.leftInnerExtent=t.circularPathData.targetX-t.circularPathData.leftNodeBuffer,t.circularPathData.rightFullExtent=t.circularPathData.sourceX+t.circularPathData.rightLargeArcRadius+t.circularPathData.rightNodeBuffer,t.circularPathData.leftFullExtent=t.circularPathData.targetX-t.circularPathData.leftLargeArcRadius-t.circularPathData.leftNodeBuffer}t.path=t.circular?function(t){return"top"==t.circularLinkType?"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 0 "+t.circularPathData.rightFullExtent+" "+(t.circularPathData.sourceY-t.circularPathData.rightSmallArcRadius)+" L"+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 0 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 0 "+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" L"+t.circularPathData.leftFullExtent+" "+(t.circularPathData.targetY-t.circularPathData.leftSmallArcRadius)+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 0 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY:"M"+t.circularPathData.sourceX+" "+t.circularPathData.sourceY+" L"+t.circularPathData.rightInnerExtent+" "+t.circularPathData.sourceY+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightSmallArcRadius+" 0 0 1 "+t.circularPathData.rightFullExtent+" "+(t.circularPathData.sourceY+t.circularPathData.rightSmallArcRadius)+" L"+t.circularPathData.rightFullExtent+" "+t.circularPathData.verticalRightInnerExtent+" A"+t.circularPathData.rightLargeArcRadius+" "+t.circularPathData.rightLargeArcRadius+" 0 0 1 "+t.circularPathData.rightInnerExtent+" "+t.circularPathData.verticalFullExtent+" L"+t.circularPathData.leftInnerExtent+" "+t.circularPathData.verticalFullExtent+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftLargeArcRadius+" 0 0 1 "+t.circularPathData.leftFullExtent+" "+t.circularPathData.verticalLeftInnerExtent+" L"+t.circularPathData.leftFullExtent+" "+(t.circularPathData.targetY+t.circularPathData.leftSmallArcRadius)+" A"+t.circularPathData.leftLargeArcRadius+" "+t.circularPathData.leftSmallArcRadius+" 0 0 1 "+t.circularPathData.leftInnerExtent+" "+t.circularPathData.targetY+" L"+t.circularPathData.targetX+" "+t.circularPathData.targetY}(t):function(t){var e=t.source.x1,n=t.y0,i=t.target.x0,o=t.y1,r=(e+i)/2;return"M"+e+","+n+"C"+r+","+n+" "+r+","+o+" "+i+","+o}(t)}),r}function Io(t,e,n){t.sort(Lo);var i=t.filter(function(t){return!t._circularStub});return t.forEach(function(t,o){var r=0;if(t._circularStub)t.circularPathData.verticalBuffer=0;else if(ho(t,e)&&fo(t))t.circularPathData.verticalBuffer=r+t._circularWidth/2;else{for(var s=0;i.length>s;s++){var l=i[s];if(l!==t&&l.circularPathData&&void 0!==l.circularPathData.verticalBuffer&&Wo(t,l)){var a=l.circularPathData.verticalBuffer+(l._circularWidth||l.width)/2+n;r=a>r?a:r}}t.circularPathData.verticalBuffer=r+t._circularWidth/2}}),t}function Wo(t,e){return t.source.column>=e.target.column&&e.source.column>=t.target.column}function zo(t){return function(){return t}}function Fo(t){return t.index}function Yo(t){return t.nodes}function Bo(t){return t.links}function Ho(t,e,n){var i=l.groups(t.nodes,function(t){return t.column}).sort(function(t,e){return t[0]-e[0]}).map(function(t){return t[1]});i.forEach(function(o,r){var s=o.length;if(e)o.sort(e);else if(r>0){var l=new Map;o.forEach(function(t,e){var n,i,o,r=(i=0,o=0,(n=t).targetLinks.forEach(function(t){if(!t.circular){var e=t.value||1;o+=ko(t.source)*e,i+=e}}),n.sourceLinks.forEach(function(t){if(!t.circular){var e=t.value||1;o+=ko(t.target)*e,i+=e}}),i>0?o/i:NaN);l.set(t,{bc:r,idx:e})}),o.sort(function(t,e){var n=l.get(t),i=l.get(e),o=n.bc,r=i.bc;if(t.circularLinkType!==e.circularLinkType){if("top"==t.circularLinkType&&"bottom"==e.circularLinkType)return-1;if("bottom"==t.circularLinkType&&"top"==e.circularLinkType)return 1;if("top"==t.circularLinkType)return-1;if("top"==e.circularLinkType)return 1;if("bottom"==t.circularLinkType)return 1;if("bottom"==e.circularLinkType)return-1}return isNaN(o)||isNaN(r)?isNaN(o)?isNaN(r)?n.idx-i.idx:1:-1:o-r})}else o.sort(function(t,e){return t.circularLinkType==e.circularLinkType?Ao(e,n)-Ao(t,n):"top"==t.circularLinkType&&"bottom"==e.circularLinkType||"top"==t.circularLinkType&&0==e.partOfCycle||0==t.partOfCycle&&"bottom"==e.circularLinkType?-1:0});o.forEach(function(e,o){e.depth==i.length-1&&1==s||0==e.depth&&1==s?(e.y0=t.y1/2-e.value*t.ky,e.y1=e.y0+e.value*t.ky):e.partOfCycle?0==Ao(e,n)?(e.y0=t.y1/2+o,e.y1=e.y0+e.value*t.ky):"top"==e.circularLinkType?(e.y0=t.y0+o,e.y1=e.y0+e.value*t.ky):(e.y0=t.y1-e.value*t.ky-o,e.y1=e.y0+e.value*t.ky):0==t.y0||0==t.y1?(e.y0=(t.y1-t.y0)/s*o,e.y1=e.y0+e.value*t.ky):(e.y0=(t.y1-t.y0)/2-s/2+o,e.y1=e.y0+e.value*t.ky)})})}function Xo(t,e,n,i,o,r){var s=l.groups(t.nodes,function(t){return t.column}).sort(function(t,e){return t[0]-e[0]}).map(function(t){return t[1]});d();for(var a=1,c=r;c>0;--c)u(a*=.99,n),d();function u(e,n){var i=s.length;s.forEach(function(o){var r=o.length,s=o[0].depth;o.forEach(function(o){var a;if(o.sourceLinks.length||o.targetLinks.length)if(o.partOfCycle&&Ao(o,n)>0){var c=l.mean(o.sourceLinks,bo),u=l.mean(o.targetLinks,xo),d=c&&u?(c+u)/2:c||u;if(d){var h=(d-ko(o))*e*.3;o.y0+=h,o.y1+=h}}else if(0==s&&1==r)o.y0=t.y1/2-(a=o.y1-o.y0)/2,o.y1=t.y1/2+a/2;else if(s==i-1&&1==r)o.y0=t.y1/2-(a=o.y1-o.y0)/2,o.y1=t.y1/2+a/2;else if(1==o.targetLinks.length&&1==o.targetLinks[0].source.sourceLinks.length)a=o.y1-o.y0,o.y0=o.targetLinks[0].source.y0,o.y1=o.y0+a;else{var f=l.mean(o.sourceLinks,bo),g=l.mean(o.targetLinks,xo),y=((f&&g?(f+g)/2:f||g)-ko(o))*e;o.y0+=y,o.y1+=y}})})}function d(){s.forEach(function(n){var r,s,l,a=t.y0,c=n.length;for(n.sort(e||To),l=0;c>l;++l)(s=a-(r=n[l]).y0)>0&&(r.y0+=s,r.y1+=s),a=r.y1+i;if((s=a-i-t.y1)>0)for(a=r.y0-=s,r.y1-=s,l=c-2;l>=0;--l)(s=(r=n[l]).y1+o-a)>0&&(r.y0-=s,r.y1-=s),a=r.y0})}}function Go(t){t.nodes.forEach(function(t){t.sourceLinks.sort(Oo),t.targetLinks.sort(Eo)}),t.nodes.forEach(function(t){var e=t.y0,n=e,i=t.y1,o=i;t.sourceLinks.forEach(function(t){t.circular?(t.y0=i-t.width/2,i-=t.width):(t.y0=e+t.width/2,e+=t.width)}),t.targetLinks.forEach(function(t){t.circular?(t.y1=o-t.width/2,o-=t.width):(t.y1=n+t.width/2,n+=t.width)})})}function Vo(){var t=0,e=0,n=1,i=1,o=24,r=8,s=null,a=Fo,c=So,u=void 0,d=32,h=2,f=Yo,g=Bo;function y(){var y={nodes:f.apply(null,arguments),links:g.apply(null,arguments)};return function(f){f.x0=t,f.y0=e,f.x1=n,f.y1=i,f.py=0,function(t,e){t.nodes.forEach(function(t,e){t.index=e,t.sourceLinks=[],t.targetLinks=[]});var n=function(t,e){var n=new Map;return l.group(t,e).forEach(function(t,e){n.set(e,t[0])}),n}(t.nodes,e);t.links.forEach(function(t,e){t.index=e;var i=t.source,o=t.target;"object"!=typeof i&&(i=t.source=ao(n,i)),"object"!=typeof o&&(o=t.target=ao(n,o)),i.sourceLinks.push(t),o.targetLinks.push(t)})}(f,a),function(t,e){var n=0;if(null==e){for(var i=[],o=0;t.links.length>o;o++){var r=t.links[o],s=r.source.index,l=r.target.index;i[s]||(i[s]=[]),i[l]||(i[l]=[]),-1===i[s].indexOf(l)&&i[s].push(l)}var a=co(i);a.sort(function(t,e){return t.length-e.length});var c={};for(o=0;a.length>o;o++){var u=a[o].slice(-2);c[u[0]]||(c[u[0]]={}),c[u[0]][u[1]]=!0}t.links.forEach(function(t){var e=t.target.index,i=t.source.index;e===i||c[i]&&c[i][e]?(t.circular=!0,t.circularLinkID=n++):t.circular=!1})}else t.links.forEach(function(t){e(t.source)<e(t.target)?t.circular=!1:(t.circular=!0,t.circularLinkID=n++)})}(f,u),function(t,e){var n=0,i=0;t.links.forEach(function(o){o.circular&&(o.circularLinkType=o.source.circularLinkType||o.target.circularLinkType?o.source.circularLinkType?o.source.circularLinkType:o.target.circularLinkType:i>n?"top":"bottom","top"==o.circularLinkType?n++:i++,t.nodes.forEach(function(t){mo(t,e)!=mo(o.source,e)&&mo(t,e)!=mo(o.target,e)||(t.circularLinkType=o.circularLinkType)}))}),t.links.forEach(function(t){t.circular&&(t.source.circularLinkType==t.target.circularLinkType&&(t.circularLinkType=t.source.circularLinkType),ho(t,e)&&(t.circularLinkType=t.source.circularLinkType))})}(f,a),function(t){t.nodes.forEach(function(t){t.partOfCycle=!1,t.value=Math.max(l.sum(t.sourceLinks,wo),l.sum(t.targetLinks,wo)),t.sourceLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)}),t.targetLinks.forEach(function(e){e.circular&&(t.partOfCycle=!0,t.circularLinkType=e.circularLinkType)})})}(f),function(t,e,n){var i,o,r;if(null!=e){t.nodes.sort(function(t,n){return e(t)<e(n)?-1:1});var s=0,l=e(t.nodes[0]);t.nodes.forEach(function(t){s=e(t)==l?s:s+1,l=e(t)==l?l:e(t),t.column=s})}for(i=t.nodes,o=[],r=0;i.length;++r,i=o,o=[])i.forEach(function(t){t.depth=r,t.sourceLinks.forEach(function(t){0>o.indexOf(t.target)&&!t.circular&&o.push(t.target)})});for(i=t.nodes,o=[],r=0;i.length;++r,i=o,o=[])i.forEach(function(t){t.height=r,t.targetLinks.forEach(function(t){0>o.indexOf(t.source)&&!t.circular&&o.push(t.source)})});t.nodes.forEach(function(t){t.column=null==e?n(t,r):t.column})}(f,u,c);var g=r;if(null!==s){var y=l.groups(f.nodes,function(t){return t.column}).sort(function(t,e){return t[0]-e[0]}).map(function(t){return t[1]}),p=l.max(y,function(t){return t.length});p>1&&(g=Math.max(1,(i-e)*s/(p-1)))}(function(t,e,n){var i=l.groups(t.nodes,function(t){return t.column}).sort(function(t,e){return t[0]-e[0]}).map(function(t){return t[1]});t.py=e;var o=l.min(i,function(e){return(t.y1-t.y0-(e.length-1)*t.py)/l.sum(e,function(t){return t.value})});t.ky=o,t.links.forEach(function(e){e.width=e.value*t.ky});var r=l.max(t.nodes,function(t){return t.column});t.nodes.forEach(r>0?function(e){e.x0=t.x0+e.column*((t.x1-t.x0-n)/r),e.x1=e.x0+n}:function(e){e.x0=t.x0,e.x1=e.x0+n})})(f,g,o),Ho(f,u,a),Xo(f,u,a,g,g,d),Go(f),$o(f,a,h,10,8),Ho(f,u,a),Xo(f,u,a,g,g,d),Go(f),$o(f,a,h,10,8),function(t,e){let n=t;n.nodes.forEach(function(t){t.y+(t.y1-t.y0)>n.y1&&(t.y=t.y-(t.y+(t.y1-t.y0)-n.y1));var i=n.links.filter(function(n){return mo(n.source,e)==mo(t,e)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.target.column==e.target.column)return t.y1-e.y1;if(!No(t,e))return t.y1-e.y1;if(t.target.column>e.target.column){var n=yo(e,t);return t.y1-n}if(e.target.column>t.target.column)return yo(t,e)-e.y1}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.target.column===e.target.column?t.target.y1-e.target.y1:e.target.column-t.target.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.target.column===e.target.column?e.target.y1-t.target.y1:t.target.column-e.target.column:"top"==t.circularLinkType?-1:1:void 0});var r=t.y0;i.forEach(function(t){t.y0=r+t.width/2,r+=t.width}),i.forEach(function(e,n){if("bottom"==e.circularLinkType){for(var r=n+1,s=0;o>r;r++)s+=i[r].width;e.y0=t.y1-s-e.width/2}})})}(f,a),function(t,e){let n=t;n.nodes.forEach(function(t){var i=n.links.filter(function(n){return mo(n.target,e)==mo(t,e)}),o=i.length;o>1&&i.sort(function(t,e){if(!t.circular&&!e.circular){if(t.source.column==e.source.column)return t.y0-e.y0;if(!No(t,e))return t.y0-e.y0;if(t.source.column>e.source.column){var n=po(e,t);return t.y0-n}if(e.source.column>t.source.column)return po(t,e)-e.y0}return t.circular&&!e.circular?"top"==t.circularLinkType?-1:1:e.circular&&!t.circular?"top"==e.circularLinkType?1:-1:t.circular&&e.circular?t.circularLinkType===e.circularLinkType&&"top"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:t.source.column-e.source.column:t.circularLinkType===e.circularLinkType&&"bottom"==t.circularLinkType?t.source.column===e.source.column?t.source.y1-e.source.y1:e.source.column-t.source.column:"top"==t.circularLinkType?-1:1:void 0});var r=t.y0;i.forEach(function(t){t.y1=r+t.width/2,r+=t.width}),i.forEach(function(e,n){if("bottom"==e.circularLinkType){for(var r=n+1,s=0;o>r;r++)s+=i[r].width;e.y1=t.y1-s-e.width/2}})})}(f,a),function(t){var e=t.nodes,n=t.links,i=!1,o=!1;if(n.forEach(function(t){"top"==t.circularLinkType?i=!0:"bottom"==t.circularLinkType&&(o=!0)}),0==i||0==o){var r=l.min(e,function(t){return t.y0}),s=l.max(e,function(t){return t.y1}),a=(t.y1-t.y0)/(s-r);function c(e){return(e-r)/(s-r)*(t.y1-t.y0)+t.y0}1>a?(e.forEach(function(t){t.y0=c(t.y0),t.y1=c(t.y1)}),n.forEach(function(t){t.y0=c(t.y0),t.y1=c(t.y1),t.width=t.width*a})):e.forEach(function(t){var e=t.y1-t.y0,n=c(t.y0)-t.y0;t.y0=c(t.y0),t.y1=t.y0+e,t.sourceLinks.forEach(function(t){t.y0=t.y0+n}),t.targetLinks.forEach(function(t){t.y1=t.y1+n})})}}(f),$o(f,a,h,10,8)}(y),y}return y.update=function(t){return Go(t),$o(t,a,h,10,8),t},y.nodeWidth=function(t){return arguments.length?(o=+t,y):o},y.nodePadding=function(t){return arguments.length?(r=+t,y):r},y.nodePaddingRatio=function(t){return arguments.length?(s=+t,y):s},y.nodes=function(t){return arguments.length?(f="function"==typeof t?t:zo(t),y):f},y.links=function(t){return arguments.length?(g="function"==typeof t?t:zo(t),y):g},y.nodeId=function(t){return arguments.length?(a="function"==typeof t?t:zo(t),y):a},y.nodeAlign=function(t){return arguments.length?(c="function"==typeof t?t:zo(t),y):c},y.nodeSort=function(t){return arguments.length?(u=t,y):u},y.iterations=function(t){return arguments.length?(d=+t,y):d},y.circularLinkGap=function(t){return arguments.length?(h=+t,y):h},y.extent=function(o){return arguments.length?(t=+o[0][0],e=+o[0][1],n=+o[1][0],i=+o[1][1],y):[[t,e],[n,i]]},y.size=function(o){return arguments.length?(t=e=0,n=+o[0],i=+o[1],y):[n-t,i-e]},y}const qo=t=>{let e,n,i,o,r,s,l,a,c;if("down"===t.direction)return e=t.y0-t.sankeyWidth/2,n=t.y1-t.sankeyWidth/2,i=t.y1+t.sankeyWidth/2,o=t.y0+t.sankeyWidth/2,r=t.source.x1,s=t.target.x0,l=u.interpolateNumber(r,s),a=l(.5),c=l(.5),`M${e},${r}C${e},${a} ${n},${c} ${n},${s}L${i},${s}C${i},${c} ${o},${a} ${o},${r}Z`;const d=t.sankeyWidth/2,h=u.interpolateNumber(t.source.x1,t.target.x0),{pathD:f}=function(t){const{sx:e,sTop:n,sBot:i,tx:o,tTop:r,tBot:s,cp1X:l,cp2X:a}=t,c=(n+i)/2,u=(r+s)/2;return{pathD:[`M${e},${n}`,`C${l},${n} ${a},${r} ${o},${r}`,`L${o},${s}`,`C${a},${s} ${l},${i} ${e},${i}`,"Z"].join(" "),bezier:{circular:!1,points:[{x:e,y:c},{x:l,y:c},{x:a,y:u},{x:o,y:u}],halfWidth:(i-n)/2}}}({sx:t.source.x1,sTop:t.y0-d,sBot:t.y0+d,tx:t.target.x0,tTop:t.y1-d,tBot:t.y1+d,cp1X:h(.5),cp2X:h(.5)});return f};function Uo(t){var e;const n=t.sankeyWidth/2,i=(null!==(e=t._circularWidth)&&void 0!==e?e:t.sankeyWidth)/2,o=t.circularPathData;if(!o)return null;if("down"===t.direction)return null;if(t._circularStub){const e=o.sourceX,i=o.sourceY,r=o.targetX,s=o.targetY;if("object"!=typeof t.source||!t.source||"object"!=typeof t.target||!t.target)return null;const l=Math.max(15,Math.min(40,.33*(o.rightFullExtent-e))),a=Math.max(15,Math.min(40,.33*(r-o.leftFullExtent)));return`M${e},${i-n}L${e+l},${i-n}L${e+l},${i+n}L${e},${i+n}ZM${r},${s-n}L${r-a},${s-n}L${r-a},${s+n}L${r},${s+n}Z`}const r=o.sourceX,s=o.sourceY,l=o.targetX,a=o.targetY,c=o.rightFullExtent,u=o.leftFullExtent,d=o.verticalFullExtent,h="bottom"===t.circularLinkType?1:-1,f=Math.max(4,Math.min(i,15));return`M${r},${s-h*n}L${c},${s-h*n}L${c+i},${s-h*n+h*f}L${c+i},${d+h*i-h*f}L${c+i-f},${d+h*i}L${u-i+f},${d+h*i}L${u-i},${d+h*i-h*f}L${u-i},${a-h*n+h*f}L${u-i+f},${a-h*n}L${l},${a-h*n}L${l},${a+h*n}L${u+i},${a+h*n}L${u+i},${d-h*i}L${c-i},${d-h*i}L${c-i},${s+h*n}L${r},${s+h*n}Z`}const Ko=new Set,Zo=new WeakMap;function Qo(t,e){if("production"===process.env.NODE_ENV)return t;if(!t||!t.data||"object"!=typeof t.data)return t;let n=Zo.get(t);if(n){const t=n.get(e);if(t)return t}else n=new Map,Zo.set(t,n);const i=new Proxy(t,{get(t,n,i){if("string"==typeof n&&!(n in t)&&t.data&&n in t.data){const t=`${e}:${n}`;Ko.has(t)||(Ko.add(t),console.warn(`[Semiotic] "${e}" callback accessed "${n}" on the wrapper object, but it only exists on ".data". Use d.data.${n} (or d.data?.${n}) instead. Frame callbacks receive RealtimeNode/RealtimeEdge wrappers, not your raw data.`))}return Reflect.get(t,n,i)}});return n.set(e,i),i}const Jo={left:function(t){return t.depth},right:function(t,e){return e-1-t.height},center:function(t){return t.targetLinks.length?t.depth:t.sourceLinks.length?Math.min.apply(Math,t.sourceLinks.map(Mo))-1:0},justify:So};function tr(t){return"string"==typeof t?t:t.id}const er={supportsStreaming:!0,hierarchical:!1,computeLayout(t,e,n,i){var o,r,s,l,a,c,u;if(0===t.length)return;const d="vertical"===n.orientation?"down":"right",h=n.nodeAlign||"justify",f=null!==(o=n.nodeWidth)&&void 0!==o?o:15,g=null!==(r=n.nodePaddingRatio)&&void 0!==r?r:.05,y=null!==(s=n.iterations)&&void 0!==s?s:100,p=t.map(t=>Object.assign({},t)),v=e.map(t=>Object.assign(Object.assign({},t),{source:"string"==typeof t.source?t.source:t.source.id,target:"string"==typeof t.target?t.target:t.target.id,value:Math.sqrt(Math.max(1,t.value||1))}));let m;m="down"===d?[[0,0],[i[1],i[0]]]:[[0,0],[i[0],i[1]]];const x=Vo().extent(m).links(v).nodes(p).nodeAlign(Jo[h]||So).nodeId(t=>t.id).nodeWidth(f).iterations(y);x.nodePaddingRatio&&x.nodePaddingRatio(g),x();{let t=1/0,e=-1/0,n=1/0,o=-1/0;for(const i of p)t>i.x0&&(t=i.x0),i.x1>e&&(e=i.x1),n>i.y0&&(n=i.y0),i.y1>o&&(o=i.y1);for(const i of v){if(!i.circular||!i.circularPathData)continue;const r=i.circularPathData,s=(null!==(a=null!==(l=i._circularWidth)&&void 0!==l?l:i.width)&&void 0!==a?a:0)/2;t>r.leftFullExtent-s&&(t=r.leftFullExtent-s),r.rightFullExtent+s>e&&(e=r.rightFullExtent+s),n>r.verticalFullExtent-s&&(n=r.verticalFullExtent-s),r.verticalFullExtent+s>o&&(o=r.verticalFullExtent+s)}const r=e-t,s=o-n,u=i[0],d=i[1];if(r>0&&s>0&&(0>t||0>n||e>u||o>d)){const e=Math.min(u/r,d/s),i=-t*e+(u-r*e)/2,o=-n*e+(d-s*e)/2;for(const t of p)t.x0=t.x0*e+i,t.x1=t.x1*e+i,t.y0=t.y0*e+o,t.y1=t.y1*e+o;for(const t of v)if(t.y0=t.y0*e+o,t.y1=t.y1*e+o,t.width=(null!==(c=t.width)&&void 0!==c?c:0)*e,t._circularWidth&&(t._circularWidth*=e),t.circular&&t.circularPathData){const n=t.circularPathData;n.sourceX=n.sourceX*e+i,n.targetX=n.targetX*e+i,n.sourceY=n.sourceY*e+o,n.targetY=n.targetY*e+o,n.rightFullExtent=n.rightFullExtent*e+i,n.leftFullExtent=n.leftFullExtent*e+i,n.verticalFullExtent=n.verticalFullExtent*e+o,n.rightInnerExtent=n.rightInnerExtent*e+i,n.leftInnerExtent=n.leftInnerExtent*e+i,n.verticalRightInnerExtent=n.verticalRightInnerExtent*e+o,n.verticalLeftInnerExtent=n.verticalLeftInnerExtent*e+o,n.rightSmallArcRadius*=e,n.rightLargeArcRadius*=e,n.leftSmallArcRadius*=e,n.leftLargeArcRadius*=e,n.sourceWidth*=e,n.rightNodeBuffer*=e,n.leftNodeBuffer*=e,n.arcRadius*=e}}}const b=new Map;for(const e of t)b.set(e.id,e);for(const t of p){const e=b.get(t.id);e&&(e.x0=t.x0,e.x1=t.x1,e.y0=t.y0,e.y1=t.y1,e.value=t.value,e.depth=t.depth,e.sourceLinks=t.sourceLinks,e.targetLinks=t.targetLinks,e.width=t.x1-t.x0,e.height=t.y1-t.y0,e.x=t.x0+(t.x1-t.x0)/2,e.y=t.y0+(t.y1-t.y0)/2)}const k=new Map;for(const t of e)k.set(t._edgeKey?t._edgeKey:`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}`,t);for(const t of v){const e=tr(t.source),n=tr(t.target),i=k.get(t._edgeKey?t._edgeKey:`${e}\0${n}`);if(i){i.y0=t.y0,i.y1=t.y1,i.sankeyWidth=null!==(u=t.width)&&void 0!==u?u:0,i.circular=!!t.circular,i.circularPathData=t.circularPathData,i._circularWidth=t._circularWidth,i._circularStub=t._circularStub,i.path=t.path,i.circularLinkType=t.circularLinkType,i.direction=d;const o=b.get(e),r=b.get(n);o&&(i.source=o),r&&(i.target=r)}}},buildScene(t,e,n,i){var o,r,s,l,a,c;const u="vertical"===n.orientation?"down":"right",d=n.nodeStyle,h=n.edgeStyle,f=null!==(o=n.edgeOpacity)&&void 0!==o?o:.5,g=n.edgeColorBy||"source",y=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:K,p=new Map;t.forEach((t,e)=>{p.set(t.id,y[e%y.length])});const v=[],m=[],x=[],b=new Map;for(const e of t){const t=e.x1-e.x0,n=e.y1-e.y0;if(0>=t||0>=n)continue;const i=d?d(Qo(e,"nodeStyle")):{},o={fill:i.fill||p.get(e.id)||"#4d430c",stroke:i.stroke,strokeWidth:i.strokeWidth,opacity:i.opacity};b.set(e.id,("string"==typeof o.fill?o.fill:null)||p.get(e.id)||"#4d430c"),v.push("down"===u?{type:"rect",x:e.y0,y:e.x0,w:n,h:t,style:o,datum:e,id:e.id,label:e.id}:{type:"rect",x:e.x0,y:e.y0,w:t,h:n,style:o,datum:e,id:e.id,label:e.id})}const k=[...e].sort((t,e)=>(e.sankeyWidth||0)-(t.sankeyWidth||0));for(const t of k){if(!t.sankeyWidth||0>=t.sankeyWidth)continue;const e="object"==typeof t.source?t.source:null,i="object"==typeof t.target?t.target:null;if(!e||!i)continue;let o=(null===(r=n.themeSemantic)||void 0===r?void 0:r.border)||(null===(s=n.themeSemantic)||void 0===s?void 0:s.secondary)||"#999";o="function"==typeof g?g(t)||o:"target"===g?b.get(i.id)||p.get(i.id)||o:b.get(e.id)||p.get(e.id)||o;const u=h?h(Qo(t,"edgeStyle")):{};if(t._circularStub&&t.circular&&t.circularPathData){const e=t.circularPathData,n=t.sankeyWidth/2,i=Math.max(15,Math.min(40,.33*(e.rightFullExtent-e.sourceX))),r=Math.max(15,Math.min(40,.33*(e.targetX-e.leftFullExtent))),s=u.fill||o;m.push({type:"bezier",pathD:`M${e.sourceX},${e.sourceY-n}L${e.sourceX+i},${e.sourceY-n}L${e.sourceX+i},${e.sourceY+n}L${e.sourceX},${e.sourceY+n}Z`,style:{fill:s,fillOpacity:null!==(l=u.fillOpacity)&&void 0!==l?l:f,stroke:"none",opacity:u.opacity},datum:t,_gradient:{direction:"right",from:1,to:0,x0:e.sourceX,x1:e.sourceX+i}}),m.push({type:"bezier",pathD:`M${e.targetX},${e.targetY-n}L${e.targetX-r},${e.targetY-n}L${e.targetX-r},${e.targetY+n}L${e.targetX},${e.targetY+n}Z`,style:{fill:s,fillOpacity:null!==(a=u.fillOpacity)&&void 0!==a?a:f,stroke:"none",opacity:u.opacity},datum:t,_gradient:{direction:"left",from:0,to:1,x0:e.targetX-r,x1:e.targetX}});continue}let d;if(d=t.circular&&t.circularPathData?Uo(t):qo(t),!d)continue;const y={fill:u.fill||o,fillOpacity:null!==(c=u.fillOpacity)&&void 0!==c?c:f,stroke:u.stroke||"none",strokeWidth:u.strokeWidth,opacity:u.opacity};m.push({type:"bezier",pathD:d,bezierCache:t.bezier,style:y,datum:t})}if(!1!==n.showLabels){const e=(w=n.nodeLabel)?"function"==typeof w?w:t=>t[w]||t.id:null;for(const n of t){const t=n.x1-n.x0,o=n.y1-n.y0;if(0>=t||0>=o)continue;const r=e?e(n):n.id;if(!r)continue;let s,l,a;"down"===u?(s=n.y0+(n.y1-n.y0)/2,l=n.x1+14,a="start"):(i[0]/2>n.x0+t/2?(s=n.x0-6,a="end"):(s=n.x1+6,a="start"),l=n.y0+o/2),x.push({x:s,y:l,text:r+"",anchor:"down"===u?"middle":a,baseline:"middle",fontSize:11})}}var w;return{sceneNodes:v,sceneEdges:m,labels:x}}},nr={supportsStreaming:!0,hierarchical:!1,computeLayout(t,e,n,i){var o,r;if(0===t.length)return;const s=null!==(o=n.forceStrength)&&void 0!==o?o:.1,l=i[0]/2,a=i[1]/2,c=n.__previousPositions;let u=0;const h=[];for(const e of t){const t=null!=e.x&&null!=e.y&&(0!==e.x||0!==e.y),n=null==c?void 0:c.get(e.id);t?u++:n?(e.x=n.x,e.y=n.y,u++):h.push(e)}const f=u>0&&.3>=(t.length>0?h.length/t.length:1);if(f){const n=new Map;for(const e of t)n.set(e.id,e);for(const t of h){const i=ir(t.id,e,n);if(i.length>0){let e=0,n=0;for(const t of i)e+=t.x,n+=t.y;const o=or(t.id),r=o%360*(Math.PI/180),s=10+o%20;t.x=e/i.length+s*Math.cos(r),t.y=n/i.length+s*Math.sin(r)}else{const e=or(t.id),n=e%360*(Math.PI/180),i=15+e%30;t.x=l+i*Math.cos(n),t.y=a+i*Math.sin(n)}}}else{const e=2.399963229728653;for(let n=0;t.length>n;n++){const i=t[n];if(null==i.x||null==i.y||0===i.x&&0===i.y){const t=10*Math.sqrt(n+.5),o=n*e;i.x=l+t*Math.cos(o),i.y=a+t*Math.sin(o)}}}const g=null!==(r=n.iterations)&&void 0!==r?r:Math.max(50,Math.min(300,Math.floor(300-2*(t.length-30)))),y=0===n.iterations?0:f?40:g,p=rr(n.nodeSize,n.nodeSizeRange,t),v=t=>p(t);if(y>0){const n=d.forceLink().strength(t=>{const e=t.weight;return Math.min(2.5,e?e*s:s)}).id(t=>t.id),i=d.forceSimulation().force("charge",d.forceManyBody().strength(t=>-25*v(t))).force("center",d.forceCenter(l,a).strength(.8)).force("x",d.forceX(l).strength(.15)).force("y",d.forceY(a).strength(.15));if(i.nodes(t),e.length>0){const t=e.map(t=>Object.assign(Object.assign({},t),{source:"string"==typeof t.source?t.source:t.source.id,target:"string"==typeof t.target?t.target:t.target.id}));n.links(t),i.force("link",n)}f?i.alpha(.3):.1>i.alpha()&&i.alpha(1),i.stop();for(let t=0;y>t;++t)i.tick()}for(const e of t){if(null==e.x||null==e.y)continue;const t=v(e);e.x=Math.max(t,Math.min(i[0]-t,e.x)),e.y=Math.max(t,Math.min(i[1]-t,e.y)),e.x0=0,e.x1=0,e.y0=0,e.y1=0}const m=new Map;for(const e of t)m.set(e.id,e);for(const t of e){if("string"==typeof t.source){const e=m.get(t.source);e&&(t.source=e)}if("string"==typeof t.target){const e=m.get(t.target);e&&(t.target=e)}}},buildScene(t,e,n,i){var o,r,s,l,a,c,u;const d=n.nodeStyle,h=n.edgeStyle,f=rr(n.nodeSize,n.nodeSizeRange,t),g=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:K,y=new Map;t.forEach((t,e)=>{y.set(t.id,g[e%g.length])});const p=[],v=[],m=[];for(const e of t){if(null==e.x||null==e.y)continue;const t=f(Qo(e,"nodeSize")),i=d?d(Qo(e,"nodeStyle")):{},l={fill:i.fill||y.get(e.id)||(null===(o=n.themeSemantic)||void 0===o?void 0:o.primary)||"#007bff",stroke:i.stroke||(null===(r=n.themeSemantic)||void 0===r?void 0:r.surface)||"#fff",strokeWidth:null!==(s=i.strokeWidth)&&void 0!==s?s:2,opacity:i.opacity};p.push({type:"circle",cx:e.x,cy:e.y,r:t,style:l,datum:e,id:e.id,label:e.id})}const x=new Map;for(const e of t)x.set(e.id,e);for(const t of e){const e="object"==typeof t.source?t.source:x.get(t.source),i="object"==typeof t.target?t.target:x.get(t.target);if(!e||!i)continue;if(null==e.x||null==e.y)continue;if(null==i.x||null==i.y)continue;const o=h?h(Qo(t,"edgeStyle")):{},r={stroke:o.stroke||(null===(l=n.themeSemantic)||void 0===l?void 0:l.border)||(null===(a=n.themeSemantic)||void 0===a?void 0:a.secondary)||"#999",strokeWidth:null!==(c=o.strokeWidth)&&void 0!==c?c:1,opacity:null!==(u=o.opacity)&&void 0!==u?u:.6};v.push({type:"line",x1:e.x,y1:e.y,x2:i.x,y2:i.y,style:r,datum:t})}if(!1!==n.showLabels){const e=(b=n.nodeLabel)?"function"==typeof b?b:t=>t[b]||t.id:null;for(const n of t){if(null==n.x||null==n.y)continue;const t=e?e(n):n.id;if(!t)continue;const i=f(Qo(n,"nodeSize"));m.push({x:n.x,y:n.y-i-4,text:t+"",anchor:"middle",baseline:"auto",fontSize:11})}}var b;return{sceneNodes:p,sceneEdges:v,labels:m}}};function ir(t,e,n){const i=[];for(const o of e){const e="string"==typeof o.source?o.source:o.source.id,r="string"==typeof o.target?o.target:o.target.id;let s=null;if(e===t?s=r:r===t&&(s=e),s){const t=n.get(s);!t||0===t.x&&0===t.y||i.push({x:t.x,y:t.y})}}return i}function or(t){let e=0;for(let n=0;t.length>n;n++)e=(e<<5)-e+t.charCodeAt(n)|0;return Math.abs(e)}function rr(t,e,n){var i,r;if(null==t)return()=>8;if("number"==typeof t)return()=>t;if("function"==typeof t)return e=>t(e)||8;const s=e||[5,20],a=n.map(e=>{var n;return null===(n=e.data)||void 0===n?void 0:n[t]}).filter(t=>null!=t&&"number"==typeof t);if(0===a.length)return()=>s[0];const c=null!==(i=l.min(a))&&void 0!==i?i:0,u=null!==(r=l.max(a))&&void 0!==r?r:1;if(c===u)return()=>(s[0]+s[1])/2;const d=o.scaleLinear().domain([c,u]).range(s).clamp(!0);return e=>{var n;const i=null===(n=e.data)||void 0===n?void 0:n[t];return null==i||"number"!=typeof i?s[0]:d(i)}}const sr=K,lr={supportsStreaming:!1,hierarchical:!1,computeLayout(t,e,n,i){if(0===t.length)return;const{padAngle:o=.01,groupWidth:r=20,sortGroups:l}=n,a=Math.min(i[0],i[1])/2,c=a-r,u=i[0]/2,d=i[1]/2,f=(g=n.valueAccessor)?"function"==typeof g?g:t=>{var e;return null!==(e=t[g])&&void 0!==e?e:1}:t=>{var e;return null!==(e=t.value)&&void 0!==e?e:1};var g;const y=new Map;for(let e=0;t.length>e;e++)y.set(t[e].id,e);const p=t.length,v=Array.from({length:p},()=>Array.from({length:p},()=>0));for(const t of e){const e="string"==typeof t.target?t.target:t.target.id,n=y.get("string"==typeof t.source?t.source:t.source.id),i=y.get(e);if(void 0===n||void 0===i)continue;const o=f(t);v[n][i]=o}const m=h.chord().padAngle(o);l&&m.sortGroups(l);const x=m(v),b=x.groups,k=s.arc().innerRadius(c).outerRadius(a);for(const e of b){const n=t[e.index],i=k.centroid({innerRadius:c,outerRadius:a,startAngle:e.startAngle,endAngle:e.endAngle});n.x=i[0]+u,n.y=i[1]+d,n.__arcData={startAngle:e.startAngle,endAngle:e.endAngle}}const w=new Map;for(const e of t)w.set(e.id,e);for(const t of e){const e="string"==typeof t.target?t.target:t.target.id,n=w.get("string"==typeof t.source?t.source:t.source.id),i=w.get(e);n&&(t.source=n),i&&(t.target=i)}const A=new Map;for(const t of e)A.set(`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}`,t);for(const e of x){const n=t[e.source.index].id,i=t[e.target.index].id,o=A.get(`${n}\0${i}`)||A.get(`${i}\0${n}`);o&&(o.__chordData=e)}},buildScene(t,e,n,i){var o,r,s,l;const{groupWidth:a=20,edgeOpacity:c=.5}=n,u=Math.min(i[0],i[1])/2,d=u-a,f=i[0]/2,g=i[1]/2,y=n.nodeStyle,p=n.edgeStyle,v=n.edgeColorBy||"source",m=Array.isArray(n.colorScheme)?n.colorScheme:n.themeCategorical&&n.themeCategorical.length>0?n.themeCategorical:sr,x=new Map;t.forEach((t,e)=>{x.set(t.id,m[e%m.length])});const b=h.ribbon().radius(d),k=[],w=[],A=[];for(let e=0;t.length>e;e++){const n=t[e],i=n.__arcData;if(!i)continue;let r;r=y?y(Qo(n,"nodeStyle")).fill||x.get(n.id)||m[e%m.length]:x.get(n.id)||m[e%m.length];const s=y?y(Qo(n,"nodeStyle")):{},l={fill:r,stroke:s.stroke||"black",strokeWidth:null!==(o=s.strokeWidth)&&void 0!==o?o:1,opacity:s.opacity};k.push({type:"arc",cx:f,cy:g,innerR:d,outerR:u,startAngle:i.startAngle-Math.PI/2,endAngle:i.endAngle-Math.PI/2,style:l,datum:n,id:n.id,label:n.id})}for(const t of e){const e=t.__chordData;if(!e)continue;const i=b(e);if(!i)continue;const o=ar(i,f,g);let a=(null===(r=n.themeSemantic)||void 0===r?void 0:r.border)||(null===(s=n.themeSemantic)||void 0===s?void 0:s.secondary)||"#999";if(p)a=p(Qo(t,"edgeStyle")).fill||a;else{const e="object"==typeof t.source?t.source:null,n="object"==typeof t.target?t.target:null;"target"===v&&n?a=x.get(n.id)||a:e&&(a=x.get(e.id)||a)}const u=p?p(Qo(t,"edgeStyle")):{},d={fill:a,fillOpacity:null!==(l=u.fillOpacity)&&void 0!==l?l:c,stroke:u.stroke||"none",strokeWidth:u.strokeWidth,opacity:u.opacity};w.push({type:"ribbon",pathD:o,style:d,datum:t})}if(!1!==n.showLabels){const e=(M=n.nodeLabel)?"function"==typeof M?M:t=>t[M]||t.id:null,i=u+12;for(const n of t){const t=n.__arcData;if(!t)continue;const o=e?e(n):n.id;if(!o)continue;const r=(t.startAngle+t.endAngle)/2,s=r-Math.PI/2;A.push({x:f+Math.cos(s)*i,y:g+Math.sin(s)*i,text:o+"",anchor:r>Math.PI?"end":"start",baseline:"middle",fontSize:11})}}var M;return{sceneNodes:k,sceneEdges:w,labels:A}}};function ar(t,e,n){const i=t.match(/[a-zA-Z]|[-+]?\d*\.?\d+(?:[eE][-+]?\d+)?/g);if(!i)return t;const o=[];let r=0;for(;i.length>r;){const t=i[r];if("M"===t||"L"===t)for(o.push(t),r++;i.length>r&&!isNaN(Number(i[r]));)o.push(Number(i[r])+e+""),r++,i.length>r&&!isNaN(Number(i[r]))&&(o.push(Number(i[r])+n+""),r++);else if("C"===t)for(o.push(t),r++;i.length>r&&!isNaN(Number(i[r]));)for(let t=0;3>t&&i.length>r&&!isNaN(Number(i[r]));t++)o.push(Number(i[r])+e+""),r++,i.length>r&&!isNaN(Number(i[r]))&&(o.push(Number(i[r])+n+""),r++);else if("Q"===t)for(o.push(t),r++;i.length>r&&!isNaN(Number(i[r]));)for(let t=0;2>t&&i.length>r&&!isNaN(Number(i[r]));t++)o.push(Number(i[r])+e+""),r++,i.length>r&&!isNaN(Number(i[r]))&&(o.push(Number(i[r])+n+""),r++);else if("A"===t)for(o.push(t),r++;i.length>r&&!isNaN(Number(i[r]));)o.push(i[r++]),i.length>r&&o.push(i[r++]),i.length>r&&o.push(i[r++]),i.length>r&&o.push(i[r++]),i.length>r&&o.push(i[r++]),i.length>r&&(o.push(Number(i[r])+e+""),r++),i.length>r&&(o.push(Number(i[r])+n+""),r++);else"Z"===t||"z"===t?(o.push(t),r++):(o.push(i[r]),r++)}return o.join(" ")}const cr=["#e8d5b7","#b8d4e3","#d4e3b8","#e3c4d4","#d4d4e3","#e3d4b8","#b8e3d4","#e3b8b8"];function ur(t){const[e,n,i]=function(t){if(t.startsWith("#")){let e=t.slice(1);if(3===e.length&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]),6===e.length)return[parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16)]}const e=t.match(/rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);return e?[+e[1],+e[2],+e[3]]:[128,128,128]}(t);return.299*e+.587*n+.114*i>150?"#222":"#fff"}function dr(t,e,n){const i=e.nodeIDAccessor;return"function"==typeof i?i(t.data)+"":"string"==typeof i&&void 0!==t.data[i]?t.data[i]+"":void 0!==t.data.name?t.data.name+"":void 0!==t.data.id?t.data.id+"":"node-"+n}function hr(t){return t?"function"==typeof t?t:e=>{var n;return(null===(n=e.data)||void 0===n?void 0:n[t])||e[t]||e.id}:null}function fr(t){return Array.isArray(t.colorScheme)?t.colorScheme:t.themeCategorical&&t.themeCategorical.length>0?t.themeCategorical:cr}function gr(t){var e;return Array.isArray(t.colorScheme)&&t.colorScheme.length>0?t.colorScheme[0]:(null===(e=t.themeSemantic)||void 0===e?void 0:e.primary)?t.themeSemantic.primary:t.themeCategorical&&t.themeCategorical.length>0?t.themeCategorical[0]:"#4d430c"}function yr(t,e,n,i,o){if("horizontal"===o){const o=(t+n)/2;return`M ${t},${e} C ${o},${e} ${o},${i} ${n},${i}`}if("radial"===o){const o=(t+n)/2;return`M ${t},${e} Q ${o},${e} ${o},${(e+i)/2} T ${n},${i}`}{const o=(e+i)/2;return`M ${t},${e} C ${t},${o} ${n},${o} ${n},${i}`}}const pr={supportsStreaming:!1,hierarchical:!0,computeLayout(t,e,n,i){var o;const r=n.__hierarchyRoot;if(!r)return;const s=n.chartType,l=function(t){if(t)return"function"==typeof t?t:e=>e[t]}(n.childrenAccessor),c=n.hierarchySum,u="function"==typeof c?c:"string"==typeof c?t=>Number(t[c])||0:t=>Number(t.value)||0,d=a.hierarchy(r,l);d.sum(u),d.sort((t,e)=>{var n,i;return(null!==(n=e.value)&&void 0!==n?n:0)-(null!==(i=t.value)&&void 0!==i?i:0)});const[h,f]=i;switch(s){case"tree":!function(t,e,n,i){const o=e.treeOrientation||"vertical",r=a.tree();r.size("horizontal"===o?[i,n]:"radial"===o?[2*Math.PI,Math.min(n,i)/2*.8]:[n,i]),r(t)}(d,n,h,f);break;case"cluster":!function(t,e,n,i){const o=e.treeOrientation||"vertical",r=a.cluster();r.size("horizontal"===o?[i,n]:"radial"===o?[2*Math.PI,Math.min(n,i)/2*.8]:[n,i]),r(t)}(d,n,h,f);break;case"treemap":!function(t,e,n,i){var o,r;const s=null!==(o=e.padding)&&void 0!==o?o:4,l=null!==(r=e.paddingTop)&&void 0!==r?r:0,c=a.treemap().size([n,i]).tile(a.treemapBinary).padding(s);l>0&&c.paddingTop(l),c(t)}(d,n,h,f);break;case"circlepack":!function(t,e,n,i){var o;const r=null!==(o=e.padding)&&void 0!==o?o:4;a.pack().size([n,i]).padding(r)(t)}(d,n,h,f);break;case"partition":!function(t,e,n,i){var o;a.partition().size([n,i]).padding(null!==(o=e.padding)&&void 0!==o?o:1)(t)}(d,n,h,f)}const g=d.descendants();t.length=0,e.length=0;const y=new Map;for(let e=0;g.length>e;e++){const i=g[e],r={id:dr(i,n,e),x:0,y:0,x0:0,x1:0,y0:0,y1:0,width:0,height:0,value:null!==(o=i.value)&&void 0!==o?o:0,depth:i.depth,data:i.data,createdByFrame:!0};"tree"===s||"cluster"===s?vr(r,i,n):"treemap"===s||"partition"===s?mr(r,i):"circlepack"===s&&xr(r,i),r.__hierarchyNode=i,t.push(r),y.set(i,r)}if("tree"===s||"cluster"===s)for(const t of g)if(t.parent){const n=y.get(t.parent),i=y.get(t);n&&i&&e.push({source:n,target:i,value:1,y0:0,y1:0,sankeyWidth:0,data:{depth:t.depth}})}},buildScene(t,e,n,i){const o=n.nodeStyle||(()=>({})),r=n.edgeStyle||(()=>({}));switch(n.chartType){case"tree":case"cluster":return function(t,e,n,i,o,r){var s,l,a,c,u,d,h,f;const g=[],y=[],p=[],v=n.treeOrientation||"vertical",m="radial"===v,x=i[0]/2,b=i[1]/2,k="number"==typeof(w=n.nodeSize)?w:5;var w;for(const e of t){let t=e.x,i=e.y;m&&(t+=x,i+=b);const r=o(Qo(e,"nodeStyle"));let a=r.fill||gr(n);if(n.colorByDepth&&void 0!==e.depth){const t=fr(n);a=t[e.depth%t.length]}const c={fill:a,stroke:r.stroke||(null===(s=n.themeSemantic)||void 0===s?void 0:s.surface)||"#fff",strokeWidth:null!==(l=r.strokeWidth)&&void 0!==l?l:1,opacity:r.opacity};g.push({type:"circle",cx:t,cy:i,r:k,style:c,datum:e,id:e.id,label:e.id,depth:e.depth})}const A=null!==(a=n.edgeOpacity)&&void 0!==a?a:.5;for(const t of e){const e="object"==typeof t.source?t.source:null,i="object"==typeof t.target?t.target:null;if(!e||!i)continue;let o=e.x,s=e.y,l=i.x,a=i.y;m&&(o+=x,s+=b,l+=x,a+=b);const f=yr(o,s,l,a,v),g=r(Qo(t,"edgeStyle")),p={fill:"none",stroke:g.stroke||(null===(c=n.themeSemantic)||void 0===c?void 0:c.border)||(null===(u=n.themeSemantic)||void 0===u?void 0:u.secondary)||"#999",strokeWidth:null!==(d=g.strokeWidth)&&void 0!==d?d:1.5,opacity:null!==(h=g.opacity)&&void 0!==h?h:A};y.push({type:"curved",pathD:f,style:p,datum:t})}if(!1!==n.showLabels){const e=hr(n.nodeLabel);for(const n of t){const t=e?e(n):n.id;if(!t)continue;let i,o,r,s=n.x,l=n.y;if(m&&(s+=x,l+=b),m){const t=s-x,e=l-b,n=Math.sqrt(t*t+e*e);n>0?(i=s+t/n*10,o=l+e/n*10,r=0>t?"end":"start"):(i=s,o=l-12,r="middle")}else"horizontal"===v?((null===(f=n.data)||void 0===f?void 0:f.children)&&0!==n.data.children.length?(i=s-k-6,r="end"):(i=s+k+6,r="start"),o=l):(i=s,o=l+k+14,r="middle");p.push({x:i,y:o,text:t+"",anchor:r,baseline:"middle",fontSize:11})}}return{sceneNodes:g,sceneEdges:y,labels:p}}(t,e,n,i,o,r);case"treemap":case"partition":return function(t,e,n,i){var o,r,s,l,a;const c=[],u=[];for(const n of t){const t=n.x1-n.x0,s=n.y1-n.y0;if(0>=t||0>=s)continue;const l=i(Qo(n,"nodeStyle"));let a=l.fill||gr(e);if(e.colorByDepth&&void 0!==n.depth){const t=fr(e);a=t[n.depth%t.length]}const u={fill:a,stroke:l.stroke||(null===(o=e.themeSemantic)||void 0===o?void 0:o.surface)||"#fff",strokeWidth:null!==(r=l.strokeWidth)&&void 0!==r?r:1,opacity:l.opacity};c.push({type:"rect",x:n.x0,y:n.y0,w:t,h:s,style:u,datum:n,id:n.id,label:n.id,depth:n.depth})}if(!1!==e.showLabels){const n=hr(e.nodeLabel),o=e.labelMode||"leaf",r="partition"===e.chartType;for(const c of t){const t=c.x1-c.x0,d=c.y1-c.y0;if(0>=t||0>=d)continue;const h=!((null===(s=c.data)||void 0===s?void 0:s.children)&&c.data.children.length>0);if(!r){if("leaf"===o&&!h)continue;if("parent"===o&&h)continue}const f=n?n(c):c.id;if(!f)continue;if((h?30:40)>t||(h?16:14)>d)continue;let g=i(Qo(c,"nodeStyle")).fill||gr(e);if(e.colorByDepth&&void 0!==c.depth){const t=fr(e);g=t[c.depth%t.length]}const y="string"==typeof g?ur(g):null!==(a=null===(l=e.themeSemantic)||void 0===l?void 0:l.text)&&void 0!==a?a:"#000";u.push(h?{x:c.x0+t/2,y:c.y0+d/2,text:f+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,Math.min(t,d)/6)),fill:y}:{x:c.x0+4,y:c.y0+12,text:f+"",anchor:"start",baseline:"auto",fontSize:11,fontWeight:600,fill:y})}}return{sceneNodes:c,sceneEdges:[],labels:u}}(t,n,0,o);case"circlepack":return function(t,e,n,i){var o,r,s,l,a,c,u,d,h,f;const g=[],y=[];for(const n of t){const t=null!==(o=n.__radius)&&void 0!==o?o:5;if(0>=t)continue;const a=i(Qo(n,"nodeStyle"));let c=a.fill||gr(e);if(e.colorByDepth&&void 0!==n.depth){const t=fr(e);c=t[n.depth%t.length]}const u={fill:c,stroke:a.stroke||(null===(r=e.themeSemantic)||void 0===r?void 0:r.surface)||"#fff",strokeWidth:null!==(s=a.strokeWidth)&&void 0!==s?s:1,opacity:null!==(l=a.opacity)&&void 0!==l?l:.7};g.push({type:"circle",cx:n.x,cy:n.y,r:t,style:u,datum:n,id:n.id,label:n.id,depth:n.depth})}if(!1!==e.showLabels){const n=hr(e.nodeLabel);for(const o of t){const t=null!==(a=o.__radius)&&void 0!==a?a:5,r=n?n(o):o.id;if(!r)continue;if(15>t)continue;const s=!((null===(c=o.data)||void 0===c?void 0:c.children)&&o.data.children.length>0);let l=i(Qo(o,"nodeStyle")).fill||gr(e);if(e.colorByDepth&&void 0!==o.depth){const t=fr(e);l=t[o.depth%t.length]}if(s){const n="string"==typeof l?ur(l):null!==(d=null===(u=e.themeSemantic)||void 0===u?void 0:u.text)&&void 0!==d?d:"#000";y.push({x:o.x,y:o.y,text:r+"",anchor:"middle",baseline:"middle",fontSize:Math.min(11,Math.max(8,t/3)),fill:n})}else y.push({x:o.x,y:o.y-t+14,text:r+"",anchor:"middle",baseline:"hanging",fontSize:Math.min(11,Math.max(8,t/3)),fill:(null===(h=e.themeSemantic)||void 0===h?void 0:h.text)||"#000",stroke:(null===(f=e.themeSemantic)||void 0===f?void 0:f.surface)||"#fff",strokeWidth:3,paintOrder:"stroke"})}}return{sceneNodes:g,sceneEdges:[],labels:y}}(t,n,0,o);default:return{sceneNodes:[],sceneEdges:[],labels:[]}}}};function vr(t,e,n){const i=n.treeOrientation||"vertical";if("radial"===i){const n=e.x,i=e.y;t.x=i*Math.cos(n-Math.PI/2),t.y=i*Math.sin(n-Math.PI/2)}else"horizontal"===i?(t.x=e.y,t.y=e.x):(t.x=e.x,t.y=e.y);t.x0=t.x-5,t.x1=t.x+5,t.y0=t.y-5,t.y1=t.y+5,t.width=10,t.height=10}function mr(t,e){t.x0=e.x0,t.x1=e.x1,t.y0=e.y0,t.y1=e.y1,t.x=(e.x0+e.x1)/2,t.y=(e.y0+e.y1)/2,t.width=e.x1-e.x0,t.height=e.y1-e.y0}function xr(t,e){var n;const i=null!==(n=e.r)&&void 0!==n?n:0;t.x=e.x,t.y=e.y,t.x0=e.x-i,t.x1=e.x+i,t.y0=e.y-i,t.y1=e.y+i,t.width=2*i,t.height=2*i,t.__radius=i}function br(t){let e=t.__orbitState;return e||(e={metaMap:new Map,startTime:"undefined"!=typeof performance?performance.now():Date.now()},t.__orbitState=e),e}const kr={supportsStreaming:!1,hierarchical:!0,supportsAnimation:!0,computeLayout(t,e,n,i){const o=n.__hierarchyRoot;o&&function(t,e,n,i,o){var r,l;const a=function(t){if("function"==typeof t)return t;const e=t||"children";return t=>t[e]||null}(n.childrenAccessor),c=function(t){if("function"==typeof t)return t;const e=t||"name";return t=>{var n;return(null!==(n=t[e])&&void 0!==n?n:"")+""}}(n.nodeIDAccessor),u=function(t){if(Array.isArray(t))return t;switch(t){case"solar":return[1];case"atomic":return[2,8];default:return[9999]}}(n.orbitMode),d=null!==(r=n.orbitSize)&&void 0!==r?r:2.95,h=null!==(l=n.orbitEccentricity)&&void 0!==l?l:1,f="number"==typeof d?()=>d:d,g="number"==typeof h?()=>h:h,y=br(n);y.metaMap.clear(),i.length=0,o.length=0;const p=new Map;function v(t){var e;const n=null!==(e=p.get(t))&&void 0!==e?e:0;return p.set(t,n+1),0===n?t:`${t}__${n}`}const m=e[0]/2,x=e[1]/2,b=Math.min(e[0],e[1])/2*.85,k=v(c(t));i.push({id:k,x:m,y:x,x0:m,x1:m,y0:x,y1:x,width:0,height:0,value:0,depth:0,data:t}),y.metaMap.set(k,{ring:b,angle:0,depth:0,parentId:null,eccentricity:1}),function t(e,n,r,l,d,h,p){const m=a(e);if(!(null==m?void 0:m.length))return;const x=m.length;let b=0,k=0,w=0;for(;x>k;)k+=u[Math.min(w,u.length-1)],w++,b++;let A=0;for(let x=0;b>x;x++){const k=u[Math.min(x,u.length-1)],w=m.slice(A,A+k);if(!w.length)break;const M=(x+1)/b,S={id:n,depth:h,data:e,parentId:n},j=p?d/f(S)*M:d*M,_=s.pie().value(t=>{var e;return(null===(e=a(t))||void 0===e?void 0:e.length)?4:1}).sort(null),P=_(w),C=g(S);for(let e=0;w.length>e;e++){const s=(P[e].startAngle+P[e].endAngle)/2,a=w[e],u=v(c(a)),d=r+j*Math.sin(s),f=l+j*Math.cos(s)*C;i.push({id:u,x:d,y:f,x0:d,x1:d,y0:f,y1:f,width:0,height:0,value:0,depth:h,data:a}),y.metaMap.set(u,{ring:j,angle:s,depth:h,parentId:n,eccentricity:C}),o.push({source:n,target:u,value:1,y0:0,y1:0,sankeyWidth:0,data:{source:n,target:u}}),t(a,u,d,f,j,h+1,!0)}A+=k}}(t,k,m,x,b,1,!1)}(o,i,n,t,e)},buildScene(t,e,n,i){var o,r,s,l,a,c,u;const d=n.nodeStyle,h=n.nodeSize,f="number"==typeof h?()=>h:"function"==typeof h?h:()=>6,g=[],y=[],p=[];if(!1!==n.orbitShowRings){const e=br(n),i=new Map;for(const e of t)i.set(e.id,e);const o=new Map;for(const[,t]of e.metaMap){if(!t.parentId)continue;const e=i.get(t.parentId);if(!e)continue;const n=`${t.parentId}:${t.ring}`;o.has(n)||o.set(n,{parentX:e.x,parentY:e.y,ring:t.ring,ecc:t.eccentricity})}const r=48,s={stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1};for(const[,{parentX:t,parentY:e,ring:n,ecc:i}]of o)for(let o=0;r>o;o++){const l=o/r*Math.PI*2,a=(o+1)/r*Math.PI*2;y.push({type:"line",x1:t+n*Math.sin(l),y1:e+n*Math.cos(l)*i,x2:t+n*Math.sin(a),y2:e+n*Math.cos(a)*i,style:s,datum:null})}}for(const e of t){if(null==e.x||null==e.y)continue;const t=f(Qo(e,"nodeSize")),i=d?d(Qo(e,"nodeStyle")):{},c={fill:i.fill||(null===(o=n.themeSemantic)||void 0===o?void 0:o.primary)||"#6366f1",stroke:i.stroke||(null===(r=n.themeSemantic)||void 0===r?void 0:r.surface)||"#fff",strokeWidth:null!==(s=i.strokeWidth)&&void 0!==s?s:1,opacity:null!==(l=i.opacity)&&void 0!==l?l:0===(null!==(a=e.depth)&&void 0!==a?a:0)?1:.85};g.push({type:"circle",cx:e.x,cy:e.y,r:t,style:c,datum:e,id:e.id,label:e.id,depth:e.depth})}const v=new Map;for(const e of t)v.set(e.id,e);for(const t of e){const e="object"==typeof t.source?t.source:v.get(t.source),n="object"==typeof t.target?t.target:v.get(t.target);e&&n&&(null!=e.x&&null!=n.x&&y.push({type:"line",x1:e.x,y1:e.y,x2:n.x,y2:n.y,style:{stroke:"rgba(128,128,128,0.35)",strokeWidth:.5,opacity:1},datum:t}))}if(n.showLabels){const e=n.nodeLabel;for(const n of t){const t=f(Qo(n,"nodeSize"));if(4>=t)continue;const i="function"==typeof e?e(n):e&&null!==(u=null===(c=n.data)||void 0===c?void 0:c[e])&&void 0!==u?u:n.id;p.push({x:n.x,y:n.y+t+12,text:i+"",anchor:"middle",fontSize:10,fill:"currentColor"})}}return{sceneNodes:g,sceneEdges:y,labels:p}},tick:(t,e,n,i,o)=>!1!==n.orbitAnimated&&(function(t,e){var n,i;const o=br(e),r=null!==(n=e.orbitSpeed)&&void 0!==n?n:.25,s=null!==(i=e.orbitRevolution)&&void 0!==i?i:function(t){switch(t){case"decay":return t=>{var e;return Math.pow(.6,null!==(e=t.depth)&&void 0!==e?e:0)};case"alternate":return t=>{var e;const n=null!==(e=t.depth)&&void 0!==e?e:0;return(n%2==0?1:-1)/(n+1)};default:return t=>{var e;return 1/((null!==(e=t.depth)&&void 0!==e?e:0)+1)}}}(e.orbitRevolutionStyle),l=(("undefined"!=typeof performance?performance.now():Date.now())-o.startTime)/1e3,a=r*(Math.PI/6),c=new Map;for(const e of t)c.set(e.id,e);for(const e of t){const t=o.metaMap.get(e.id);if(!t||!t.parentId)continue;const n=c.get(t.parentId);if(!n)continue;const i=t.angle+l*a*s({id:e.id,depth:t.depth,data:e.data,parentId:t.parentId});e.x=n.x+t.ring*Math.sin(i),e.y=n.y+t.ring*Math.cos(i)*t.eccentricity,e.x0=e.x,e.x1=e.x,e.y0=e.y,e.y1=e.y}}(t,n),!0)},wr={sankey:er,force:nr,chord:lr,tree:pr,cluster:pr,treemap:pr,circlepack:pr,partition:pr,orbit:kr};function Ar(t){return wr[t]}function Mr(t){return 0===t.length?()=>"#4e79a7":e=>{var n;let i=0;for(let t=0;e.length>t;t++)i=31*i+e.charCodeAt(t)|0;return null!==(n=t[Math.abs(i)%t.length])&&void 0!==n?n:"#4e79a7"}}class Sr{constructor(t){this.nodes=new Map,this.edges=new Map,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.customLayoutOverlays=null,this.particlePool=null,this.transition=null,this._hasRenderedOnce=!1,this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null,this.lastIngestTime=0,this.nodeTimestamps=new Map,this.edgeTimestamps=new Map,this._decaySortedNodes=null,this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set,this.lastTopologyChangeTime=0,this.previousNodeIds=new Set,this.previousEdgeKeys=new Set,this._lastPositionSnapshot=null,this.config=t,this.tensionConfig=Object.assign(Object.assign({},io),t.tensionConfig),t.showParticles&&("sankey"===t.chartType||t.customNetworkLayout)&&(this.particlePool=new ro(2e3))}updateConfig(t){const e=this.config;e.__orbitState&&(t.__orbitState=e.__orbitState),e.__hierarchyRoot&&(t.__hierarchyRoot=e.__hierarchyRoot),this.config=t,this.tensionConfig=Object.assign(Object.assign({},io),t.tensionConfig),!t.showParticles||"sankey"!==t.chartType&&!t.customNetworkLayout||this.particlePool||(this.particlePool=new ro(2e3))}ingestHierarchy(t,e){this._boundedPrevSnapshot=new Map;for(const[t,e]of this.nodes)0===e.x0&&0===e.x1&&0===e.y0&&0===e.y1||this._boundedPrevSnapshot.set(t,{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1});this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.config.__hierarchyRoot=t,this.runLayout(e),this._boundedPrevSnapshot=null}ingestBounded(t,e,n){const{nodeIDAccessor:i="id",sourceAccessor:o="source",targetAccessor:r="target",valueAccessor:s="value"}=this.config,l="function"==typeof i?i:t=>t[i],a="function"==typeof o?o:t=>t[o],c="function"==typeof r?r:t=>t[r],u="function"==typeof s?s:t=>{var e;return null!==(e=t[s])&&void 0!==e?e:1};this._boundedPrevSnapshot=new Map;for(const[t,e]of this.nodes)0===e.x0&&0===e.x1&&0===e.y0&&0===e.y1||this._boundedPrevSnapshot.set(t,{x0:e.x0,x1:e.x1,y0:e.y0,y1:e.y1});this._boundedEdgeSnapshot=new Map;for(const[,t]of this.edges)t.sankeyWidth>0&&this._boundedEdgeSnapshot.set(`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}`,{y0:t.y0,y1:t.y1,sankeyWidth:t.sankeyWidth});this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const e of t){const t=l(e)+"";this.nodes.set(t,Object.assign(Object.assign({},jr(t)),{data:e}))}for(let t=0;e.length>t;t++){const n=e[t],i=a(n)+"",o=c(n)+"",r=u(n),s=null==r?NaN:Number(r),l=Number.isFinite(s)?s:1;this.nodes.has(i)||this.nodes.set(i,Object.assign(Object.assign({},jr(i)),{data:n})),this.nodes.has(o)||this.nodes.set(o,Object.assign(Object.assign({},jr(o)),{data:n}));const d=`${i}\0${o}\0${t}`,h={source:i,target:o,value:l,y0:0,y1:0,sankeyWidth:0,data:n,_edgeKey:d};n&&"object"==typeof n&&_r(n.bezier)&&(h.bezier=n.bezier),this.edges.set(d,h)}this.runLayout(n)}edgeKey(t,e){return`${t}\0${e}`}ingestEdge(t){const{source:e,target:n,value:i}=t,o=0===this.nodes.size;let r=!1;const s="undefined"!=typeof performance?performance.now():Date.now();this.lastIngestTime=s,this._decaySortedNodes=null,this.nodes.has(e)||(this.nodes.set(e,jr(e)),this.nodeTimestamps.set(e,s),this.tension+=this.tensionConfig.newNode,r=!0),this.nodes.has(n)||(this.nodes.set(n,jr(n)),this.nodeTimestamps.set(n,s),this.tension+=this.tensionConfig.newNode,r=!0);const l=this.edgeKey(e,n),a=this.edges.get(l);let c=!1;return a?(a.value+=i,this.edgeTimestamps.set(l,s),this.tension+=this.tensionConfig.weightChange,c=!0):(this.edges.set(l,{source:e,target:n,value:i,y0:0,y1:0,sankeyWidth:0}),this.edgeTimestamps.set(l,s),this.tension+=this.tensionConfig.newEdge,r=!0),o||r||c||this.tension>=this.tensionConfig.threshold}runLayout(t){var e,n,i,o,r,s,l,a;if(this.config.customNetworkLayout)return this.recordTopologyDiff(),void this.layoutVersion++;const c=Ar(this.config.chartType);if(!c)return;let u=Array.from(this.nodes.values());const d=Array.from(this.edges.values());if(0===u.length&&!c.hierarchical)return;if(this.prepareForRelayout(),c.supportsStreaming&&!c.hierarchical){const t=new Map;for(const l of u)if(void 0!==l._prevX0){const a=(null!==(e=l._prevX1)&&void 0!==e?e:0)-(null!==(n=l._prevX0)&&void 0!==n?n:0),c=(null!==(i=l._prevY1)&&void 0!==i?i:0)-(null!==(o=l._prevY0)&&void 0!==o?o:0);t.set(l.id,{x:(null!==(r=l._prevX0)&&void 0!==r?r:0)+a/2,y:(null!==(s=l._prevY0)&&void 0!==s?s:0)+c/2})}else 0===l.x&&0===l.y||t.set(l.id,{x:l.x,y:l.y});if(this._lastPositionSnapshot)for(const[e,n]of this._lastPositionSnapshot)t.has(e)||t.set(e,n);this.config.__previousPositions=t.size>0?t:void 0}if(c.computeLayout(u,d,this.config,t),this.config.__previousPositions=void 0,c.hierarchical&&u.length>0){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null;for(const t of u)this.nodes.set(t.id,t);for(let t=0;d.length>t;t++){const e=d[t],n=e._edgeKey||`${"string"==typeof e.source?e.source:e.source.id}\0${"string"==typeof e.target?e.target:e.target.id}\0${t}`;e._edgeKey=n,this.edges.set(n,e)}const t=this._boundedPrevSnapshot;if(t&&t.size>0)for(const e of this.nodes.values()){const n=t.get(e.id);n&&(e._prevX0=n.x0,e._prevX1=n.x1,e._prevY0=n.y0,e._prevY1=n.y1)}this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null,u=Array.from(this.nodes.values())}this.finalizeLayout();const h=new Map;for(const t of this.nodes.values())0===t.x&&0===t.y||h.set(t.id,{x:t.x,y:t.y});this._lastPositionSnapshot=h,this.saveTargetPositions();const f=u.some(t=>void 0!==t._prevX0&&(0!==t._prevX0||0!==t._prevX1||0!==t._prevY0||0!==t._prevY1)),g=null!==(a=null===(l=this.config.transition)||void 0===l?void 0:l.duration)&&void 0!==a?a:this.tensionConfig.transitionDuration;if(!this._hasRenderedOnce&&this.config.introAnimation&&["sankey","tree","treemap","circlepack","partition"].includes(this.config.chartType)&&u.length>0&&g>0){const e=t[0]/2,n=t[1]/2;for(const t of this.nodes.values())t._prevX0=e,t._prevX1=e,t._prevY0=n,t._prevY1=n;for(const t of this.edges.values())t._prevY0=n,t._prevY1=n,t._prevSankeyWidth=0,t._introFromZero=!0;this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:g}}else f&&g>0&&(this.restorePreviousPositions(),this.transition={startTime:performance.now(),duration:g});this._hasRenderedOnce=!0,this.recordTopologyDiff(),this.layoutVersion++}recordTopologyDiff(){const t=new Set(this.nodes.keys()),e=new Set(this.edges.keys());this.addedNodes=new Set,this.removedNodes=new Set,this.addedEdges=new Set,this.removedEdges=new Set;for(const e of t)this.previousNodeIds.has(e)||this.addedNodes.add(e);for(const e of this.previousNodeIds)t.has(e)||this.removedNodes.add(e);for(const t of e)this.previousEdgeKeys.has(t)||this.addedEdges.add(t);for(const t of this.previousEdgeKeys)e.has(t)||this.removedEdges.add(t);(this.addedNodes.size>0||this.removedNodes.size>0||this.addedEdges.size>0||this.removedEdges.size>0)&&(this.lastTopologyChangeTime="undefined"!=typeof performance?performance.now():Date.now()),this.previousNodeIds=t,this.previousEdgeKeys=e}buildScene(t){var e,n,i,o,r,s;const l=Array.from(this.nodes.values()),a=Array.from(this.edges.values());if(this.config.customNetworkLayout){const c=function(t,e,n){if(Array.isArray(t)&&t.length>0)return t;if("string"==typeof t){const e=ct[t];if(Array.isArray(e)&&e.length>0)return e}return e&&e.length>0?e:n}(this.config.colorScheme,this.config.themeCategorical,K),u={nodes:l,edges:a,dimensions:{width:t[0],height:t[1],plot:{x:0,y:0,width:t[0],height:t[1]}},theme:{semantic:null!==(e=this.config.themeSemantic)&&void 0!==e?e:{},categorical:[...c]},resolveColor:Mr(c),config:null!==(n=this.config.layoutConfig)&&void 0!==n?n:{}};let d;try{d=this.config.customNetworkLayout(u)}catch(t){return"production"!==process.env.NODE_ENV&&console.error("[semiotic] customNetworkLayout threw:",t),this.sceneNodes=[],this.sceneEdges=[],this.labels=[],void(this.customLayoutOverlays=null)}return this.sceneNodes=null!==(i=d.sceneNodes)&&void 0!==i?i:[],this.sceneEdges=null!==(o=d.sceneEdges)&&void 0!==o?o:[],this.labels=null!==(r=d.labels)&&void 0!==r?r:[],void(this.customLayoutOverlays=null!==(s=d.overlays)&&void 0!==s?s:null)}this.customLayoutOverlays=null;const c=Ar(this.config.chartType);if(!c)return;const{sceneNodes:u,sceneEdges:d,labels:h}=c.buildScene(l,a,this.config,t);this.sceneNodes=u,this.sceneEdges=d,this.labels=h}get isAnimating(){const t=Ar(this.config.chartType);return!!(null==t?void 0:t.supportsAnimation)&&!1!==this.config.orbitAnimated}tickAnimation(t,e){const n=Ar(this.config.chartType);if(!(null==n?void 0:n.tick))return!1;const i=Array.from(this.nodes.values()),o=Array.from(this.edges.values());return n.tick(i,o,this.config,t,e)}cancelIntroAnimation(){this.transition=null;for(const t of this.nodes.values())t._prevX0=void 0,t._prevX1=void 0,t._prevY0=void 0,t._prevY1=void 0;for(const t of this.edges.values())t._prevY0=void 0,t._prevY1=void 0,t._prevSankeyWidth=void 0,t._introFromZero=!1}advanceTransition(t){if(!this.transition)return!1;const e=yt(t,this.transition),n=gt(e);for(const t of this.nodes.values())void 0===t._targetX0||void 0===t._prevX0||0===t._prevX0&&0===t._prevX1||(t.x0=pt(t._prevX0,t._targetX0,n),t.x1=pt(t._prevX1,t._targetX1,n),t.y0=pt(t._prevY0,t._targetY0,n),t.y1=pt(t._prevY1,t._targetY1,n));for(const t of this.edges.values())void 0!==t._targetY0&&void 0!==t._prevY0&&void 0!==t._prevSankeyWidth&&(t._prevSankeyWidth>0||t._introFromZero)&&(t.y0=pt(t._prevY0,t._targetY0,n),t.y1=pt(t._prevY1,t._targetY1,n),t.sankeyWidth=pt(t._prevSankeyWidth,t._targetSankeyWidth,n));return this.rebuildAllBeziers(),1>e||(this.snapToTargets(),this.transition=null,!1)}prepareForRelayout(){const t=this._boundedPrevSnapshot;for(const e of this.nodes.values()){const n=null==t?void 0:t.get(e.id);n&&0===e.x0&&0===e.x1&&0===e.y0&&0===e.y1?(e._prevX0=n.x0,e._prevX1=n.x1,e._prevY0=n.y0,e._prevY1=n.y1):(e._prevX0=e.x0,e._prevX1=e.x1,e._prevY0=e.y0,e._prevY1=e.y1)}const e=this._boundedEdgeSnapshot;for(const t of this.edges.values()){if(e&&0===t.sankeyWidth){const n=e.get(`${"string"==typeof t.source?t.source:t.source.id}\0${"string"==typeof t.target?t.target:t.target.id}`);if(n){t._prevY0=n.y0,t._prevY1=n.y1,t._prevSankeyWidth=n.sankeyWidth;continue}}t._prevY0=t.y0,t._prevY1=t.y1,t._prevSankeyWidth=t.sankeyWidth}this.nodes.size>0&&(this._boundedPrevSnapshot=null,this._boundedEdgeSnapshot=null)}finalizeLayout(){const t="vertical"===this.config.orientation?"down":"right";for(const t of this.nodes.values())if(0!==t.x0||0!==t.x1||0!==t.y0||0!==t.y1)t.width=t.x1-t.x0,t.height=t.y1-t.y0,t.x=t.x0+t.width/2,t.y=t.y0+t.height/2;else{const e=5;t.x0=t.x-e,t.x1=t.x+e,t.y0=t.y-e,t.y1=t.y+e,t.width=2*e,t.height=2*e}for(const e of this.edges.values())e.direction=t,this.updateEdgeBezier(e);this.tension=0}saveTargetPositions(){for(const t of this.nodes.values())t._targetX0=t.x0,t._targetX1=t.x1,t._targetY0=t.y0,t._targetY1=t.y1;for(const t of this.edges.values())t._targetY0=t.y0,t._targetY1=t.y1,t._targetSankeyWidth=t.sankeyWidth}restorePreviousPositions(){for(const t of this.nodes.values())void 0===t._prevX0||0===t._prevX0&&0===t._prevX1||(t.x0=t._prevX0,t.x1=t._prevX1,t.y0=t._prevY0,t.y1=t._prevY1);for(const t of this.edges.values())void 0!==t._prevY0&&void 0!==t._prevSankeyWidth&&t._prevSankeyWidth>0&&(t.y0=t._prevY0,t.y1=t._prevY1,t.sankeyWidth=t._prevSankeyWidth);this.rebuildAllBeziers()}snapToTargets(){for(const t of this.nodes.values())void 0!==t._targetX0&&(t.x0=t._targetX0,t.x1=t._targetX1,t.y0=t._targetY0,t.y1=t._targetY1);for(const t of this.edges.values())void 0!==t._targetY0&&(t.y0=t._targetY0,t.y1=t._targetY1,t.sankeyWidth=t._targetSankeyWidth),t._introFromZero=void 0;this.rebuildAllBeziers()}updateEdgeBezier(t){const e="string"==typeof t.source?this.nodes.get(t.source):t.source,n="string"==typeof t.target?this.nodes.get(t.target):t.target;e&&n&&(t.bezier=t.circular&&t.circularPathData?this.buildCircularBezier(t):this.buildStandardBezier(t,e,n))}buildStandardBezier(t,e,n){const i=(t.sankeyWidth||1)/2;if("down"===t.direction){const o=e.x1,r=n.x0,s=u.interpolateNumber(o,r);return{circular:!1,points:[{x:t.y0,y:o},{x:t.y0,y:s(.5)},{x:t.y1,y:s(.5)},{x:t.y1,y:r}],halfWidth:i}}const o=e.x1,r=n.x0,s=u.interpolateNumber(o,r);return{circular:!1,points:[{x:o,y:t.y0},{x:s(.5),y:t.y0},{x:s(.5),y:t.y1},{x:r,y:t.y1}],halfWidth:i}}buildCircularBezier(t){const e=(t._circularWidth||t.sankeyWidth||1)/2,n=t.circularPathData;if(!n)throw Error("buildCircularBezier requires circularPathData");if(t._circularStub){const t=Math.max(15,Math.min(40,.33*(n.rightFullExtent-n.sourceX))),i=Math.max(15,Math.min(40,.33*(n.targetX-n.leftFullExtent)));return{circular:!0,segments:[[{x:n.sourceX,y:n.sourceY},{x:n.sourceX+.33*t,y:n.sourceY},{x:n.sourceX+.66*t,y:n.sourceY},{x:n.sourceX+t,y:n.sourceY}],[{x:n.targetX-i,y:n.targetY},{x:n.targetX-.66*i,y:n.targetY},{x:n.targetX-.33*i,y:n.targetY},{x:n.targetX,y:n.targetY}]],halfWidth:e}}let i;i="down"===t.direction?[{x:n.sourceY,y:n.sourceX},{x:n.sourceY,y:n.rightFullExtent},{x:n.verticalFullExtent,y:n.rightFullExtent},{x:n.verticalFullExtent,y:n.leftFullExtent},{x:n.targetY,y:n.leftFullExtent},{x:n.targetY,y:n.targetX}]:[{x:n.sourceX,y:n.sourceY},{x:n.rightFullExtent,y:n.sourceY},{x:n.rightFullExtent,y:n.verticalFullExtent},{x:n.leftFullExtent,y:n.verticalFullExtent},{x:n.leftFullExtent,y:n.targetY},{x:n.targetX,y:n.targetY}];const o=[];for(let t=0;i.length-1>t;t++){const e=i[t],n=i[t+1],r=n.x-e.x,s=n.y-e.y;o.push([e,{x:e.x+r/3,y:e.y+s/3},{x:e.x+2*r/3,y:e.y+2*s/3},n])}return{circular:!0,segments:o,halfWidth:e}}rebuildAllBeziers(){for(const t of this.nodes.values())t.width=t.x1-t.x0,t.height=t.y1-t.y0,t.x=t.x0+t.width/2,t.y=t.y0+t.height/2;for(const t of this.edges.values())this.updateEdgeBezier(t)}applyPulse(t){var e,n,i,o,r;const s=this.config.pulse;if(!s)return;const l=null!==(e=s.duration)&&void 0!==e?e:500,a=null!==(n=s.color)&&void 0!==n?n:"rgba(255,255,255,0.6)",c=null!==(i=s.glowRadius)&&void 0!==i?i:4;for(const e of this.sceneNodes){const n=e.id;if(!n)continue;const i=this.nodeTimestamps.get(n);if(!i)continue;const o=t-i;l>o&&(e._pulseIntensity=1-o/l,e._pulseColor=a,e._pulseGlowRadius=c)}for(const e of this.sceneEdges){const n=e.datum;if(!n)continue;const i="object"==typeof n.source?null===(o=n.source)||void 0===o?void 0:o.id:n.source,s="object"==typeof n.target?null===(r=n.target)||void 0===r?void 0:r.id:n.target;if(!i||!s)continue;const c=this.edgeTimestamps.get(`${i}\0${s}`);if(!c)continue;const u=t-c;l>u&&(e._pulseIntensity=1-u/l,e._pulseColor=a)}}applyDecay(){var t,e;const n=this.config.decay;if(!n)return;const i=this.nodeTimestamps.size;if(1>=i)return;this._decaySortedNodes||(this._decaySortedNodes=Array.from(this.nodeTimestamps.entries()).sort((t,e)=>t[1]-e[1]));const o=this._decaySortedNodes,r=new Map;for(let t=0;o.length>t;t++)r.set(o[t][0],t);for(const o of this.sceneNodes){const s=o.id;if(!s)continue;const l=r.get(s);if(void 0===l)continue;const a=ht(n,l,i),c=null!==(e=null===(t=o.style)||void 0===t?void 0:t.opacity)&&void 0!==e?e:1;o.style=Object.assign(Object.assign({},o.style),{opacity:c*a})}}applyTopologyDiff(t){var e;if(0===this.addedNodes.size)return;const n=t-this.lastTopologyChangeTime;if(n>=2e3)return;const i=1-n/2e3;for(const t of this.sceneNodes){const n=t.id;n&&this.addedNodes.has(n)&&(t._pulseIntensity=Math.max(null!==(e=t._pulseIntensity)&&void 0!==e?e:0,i),t._pulseColor="rgba(34, 197, 94, 0.7)",t._pulseGlowRadius=8)}}get hasActiveTopologyDiff(){return 0!==this.addedNodes.size&&2e3>("undefined"!=typeof performance?performance.now():Date.now())-this.lastTopologyChangeTime}applyThresholds(t){var e,n;const i=this.config.thresholds;if(!i)return;const o=null!==(e=i.warningColor)&&void 0!==e?e:"#f59e0b",r=null!==(n=i.criticalColor)&&void 0!==n?n:"#ef4444",s=!1!==i.pulse;for(const e of this.sceneNodes){const n=e.id;if(!n)continue;const l=this.nodes.get(n);if(!l)continue;const a=i.metric(l);let c=null;void 0===i.critical||i.critical>a?void 0===i.warning||i.warning>a||(c=o):c=r,c&&(e.style=Object.assign(Object.assign({},e.style),{fill:c}),s&&(e._pulseIntensity=.6+.4*Math.sin(t/300),e._pulseColor=c,e._pulseGlowRadius=6))}}get hasActiveThresholds(){const t=this.config.thresholds;if(!t)return!1;for(const e of this.nodes.values()){const n=t.metric(e);if(void 0!==t.warning&&n>=t.warning||void 0!==t.critical&&n>=t.critical)return!0}return!1}get hasActivePulses(){var t;const e=this.config.pulse;if(!e||0===this.lastIngestTime)return!1;const n="undefined"!=typeof performance?performance.now():Date.now();return(null!==(t=e.duration)&&void 0!==t?t:500)>n-this.lastIngestTime}getLayoutData(){return{nodes:Array.from(this.nodes.values()),edges:Array.from(this.edges.values())}}updateNode(t,e){var n;const i=this.nodes.get(t);if(!i)return null;const o=i.data?Object.assign({},i.data):{};return i.data=e(null!==(n=i.data)&&void 0!==n?n:{}),this.layoutVersion++,o}updateEdge(t,e,n){var i;const o=this.config.valueAccessor,r="function"==typeof o?o:o?t=>t[o]:t=>t.value,s=[];for(const[,o]of this.edges)if(("string"==typeof o.source?o.source:o.source.id)===t&&("string"==typeof o.target?o.target:o.target.id)===e){s.push(o.data?Object.assign({},o.data):{}),o.data=n(null!==(i=o.data)&&void 0!==i?i:{});const t=r(o.data);null!=t&&(o.value=Number(t))}return s.length>0&&this.layoutVersion++,s}removeNode(t){if(!this.nodes.has(t))return!1;this.nodes.delete(t),this.nodeTimestamps.delete(t);for(const[e,n]of this.edges)("string"==typeof n.source?n.source:n.source.id)!==t&&("string"==typeof n.target?n.target:n.target.id)!==t||(this.edges.delete(e),this.edgeTimestamps.delete(e));return this.layoutVersion++,!0}removeEdge(t,e){const n=[];if(void 0===e){const e=this.config.edgeIdAccessor;if(!e)throw Error("removeEdge(edgeId) requires edgeIdAccessor to be configured. Use removeEdge(sourceId, targetId) instead.");const i="function"==typeof e?e:t=>null==t?void 0:t[e];for(const[e,o]of this.edges)o.data&&i(o.data)===t&&n.push(e)}else for(const[i,o]of this.edges)("string"==typeof o.source?o.source:o.source.id)===t&&("string"==typeof o.target?o.target:o.target.id)===e&&n.push(i);for(const t of n)this.edges.delete(t),this.edgeTimestamps.delete(t);return n.length>0&&this.layoutVersion++,n.length>0}clear(){this.nodes.clear(),this.edges.clear(),this._decaySortedNodes=null,this.tension=0,this.layoutVersion=0,this.sceneNodes=[],this.sceneEdges=[],this.labels=[],this.transition=null,this._hasRenderedOnce=!1,this.lastIngestTime=0,this._lastPositionSnapshot=null,this.nodeTimestamps.clear(),this.edgeTimestamps.clear(),this.particlePool&&this.particlePool.clear()}}function jr(t){return{id:t,x0:0,x1:0,y0:0,y1:0,x:0,y:0,width:0,height:0,value:0,createdByFrame:!0}}function _r(t){if(!t||"object"!=typeof t)return!1;const e=t;if("boolean"!=typeof e.circular)return!1;if("number"!=typeof e.halfWidth||!Number.isFinite(e.halfWidth))return!1;if(e.circular){if(!Array.isArray(e.segments)||0===e.segments.length)return!1;for(const t of e.segments)if(!Pr(t))return!1;return!0}return Pr(e.points)}function Pr(t){if(!Array.isArray(t)||4!==t.length)return!1;for(const e of t){if(!e||"object"!=typeof e)return!1;const t=e;if("number"!=typeof t.x||!Number.isFinite(t.x))return!1;if("number"!=typeof t.y||!Number.isFinite(t.y))return!1}return!0}function Cr(t,e,n,i,o=30){let r=null,s=o,l=1/0;for(const e of t){const t=Er(e,n,i,o);if(t)if("rect"===e.type){const n=e.w*e.h;l>n&&(r=t,l=n)}else s>t.distance&&(r=t,s=t.distance)}if(r)return r;for(const t of e){if(!1===t.interactive)continue;const e=Nr(t,n,i);e&&s>e.distance&&(r=e,s=e.distance)}return r}function Er(t,e,n,i=30){switch(t.type){case"circle":return function(t,e,n,i=30){const o=e-t.cx,r=n-t.cy,s=Math.sqrt(o*o+r*r);return s>Dt(t.r,i)?null:{type:"node",datum:t.datum,x:t.cx,y:t.cy,distance:s}}(t,e,n,i);case"rect":return function(t,e,n){const i=Lt(e,n,t);return i.hit?{type:"node",datum:t.datum,x:i.cx,y:i.cy,distance:0}:null}(t,e,n);case"arc":return function(t,e,n){const i=e-t.cx,o=n-t.cy,r=Math.sqrt(i*i+o*o);if(t.innerR-2>r||r>t.outerR+2)return null;const s=$t(Math.atan2(o,i)),l=$t(t.startAngle),a=$t(t.endAngle);if(l>a?s>=l||a>=s:s>=l&&a>=s){const e=(t.startAngle+t.endAngle)/2,n=(t.innerR+t.outerR)/2;return{type:"node",datum:t.datum,x:t.cx+n*Math.cos(e),y:t.cy+n*Math.sin(e),distance:0}}return null}(t,e,n);default:return null}}let Or=null,Tr=null;function Lr(){return Tr||(Or=document.createElement("canvas"),Or.width=1,Or.height=1,Tr=Or.getContext("2d")),Tr}function Dr(t){if(t._cachedPath2D&&t._cachedPath2DSource===t.pathD)return t._cachedPath2D;try{return t._cachedPath2D=new Path2D(t.pathD),t._cachedPath2DSource=t.pathD,t._cachedPath2D}catch(t){return null}}function Nr(t,e,n){switch(t.type){case"bezier":return function(t,e,n){if(!t.pathD)return null;const i=Dr(t),o=Lr();if(!i||!o)return null;try{if(o.isPointInPath(i,e,n))return{type:"edge",datum:t.datum,x:e,y:n,distance:0};const r=o.lineWidth;o.lineWidth=10;const s=o.isPointInStroke(i,e,n);if(o.lineWidth=r,s)return{type:"edge",datum:t.datum,x:e,y:n,distance:4}}catch(t){}return null}(t,e,n);case"line":return function(t,e,n){const i=t.x2-t.x1,o=t.y2-t.y1,r=i*i+o*o;if(0===r)return null;let s=((e-t.x1)*i+(n-t.y1)*o)/r;s=Math.max(0,Math.min(1,s));const l=t.x1+s*i,a=t.y1+s*o,c=Math.sqrt(Math.pow(e-l,2)+Math.pow(n-a,2));return c>5?null:{type:"edge",datum:t.datum,x:l,y:a,distance:c}}(t,e,n);case"ribbon":case"curved":return function(t,e,n){if(!t.pathD)return null;const i=Dr(t),o=Lr();if(!i||!o)return null;try{if(o.isPointInPath(i,e,n))return{type:"edge",datum:t.datum,x:e,y:n,distance:0};const r=o.lineWidth;o.lineWidth=10;const s=o.isPointInStroke(i,e,n);if(o.lineWidth=r,s)return{type:"edge",datum:t.datum,x:e,y:n,distance:4}}catch(t){}return null}(t,e,n);default:return null}}function Rr(e){const{width:n,height:i,totalWidth:o,totalHeight:r,margin:s,labels:l,title:a,legend:c,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:f,legendPosition:g="right",legendLayout:p,foregroundGraphics:v,sceneNodes:m,annotations:x,autoPlaceAnnotations:b,svgAnnotationRules:k}=e,w=y.useMemo(()=>{const t=(m||[]).flatMap(t=>{const e=function(t){var e,n,i,o;const r=null!==(e=t.cx)&&void 0!==e?e:null!=t.x&&null!=t.w?t.x+t.w/2:t.x,s=null!==(n=t.cy)&&void 0!==n?n:null!=t.y&&null!=t.h?t.y+t.h/2:t.y;return"number"!=typeof r||"number"!=typeof s?null:{x:r,y:s,r:"number"==typeof t.r?Math.max(1,t.r):"number"==typeof t.outerR?Math.max(1,t.outerR):Math.max(1,null!==(i=t.w)&&void 0!==i?i:0,null!==(o=t.h)&&void 0!==o?o:0)/2}}(t),n=function(t){var e,n,i,o,r,s,l,a;const c=null!==(s=null!==(i=null!==(e=t.id)&&void 0!==e?e:null===(n=t.datum)||void 0===n?void 0:n.id)&&void 0!==i?i:null===(r=null===(o=t.datum)||void 0===o?void 0:o.data)||void 0===r?void 0:r.id)&&void 0!==s?s:null===(a=null===(l=t.datum)||void 0===l?void 0:l.data)||void 0===a?void 0:a.name;return null==c?void 0:c+""}(t);return e?[Object.assign({pointId:n},e)]:[]});return{scales:null,width:n,height:i,frameType:"network",pointNodes:t,sceneNodes:m}},[i,m,n]),A=y.useMemo(()=>x&&b?hn(Object.assign({annotations:x,context:w},"object"==typeof b?b:{})):x,[x,b,w]),M=A?Ge(A.reduce((e,n,i)=>{if("widget"===n.type||!k)return e;const o=k(n,i,w);return o&&e.push({node:t.jsx(y.Fragment,{children:o},"annotation-"+i),annotation:n}),e},[])):null,S=!0===(null==A?void 0:A.some(t=>"widget"===t.type&&!0===t._annotationDeferred));return t.jsxs(t.Fragment,{children:[S&&t.jsx("style",{children:Fe},"annotation-widget-disclosure-style"),t.jsxs("svg",{role:"img",width:o,height:r,style:{position:"absolute",top:0,left:0,pointerEvents:"none"},children:[t.jsx("title",{children:"string"==typeof a?a:"Network Chart"}),t.jsx("desc",{children:"string"==typeof a?a+" — network data visualization":"Network data visualization"}),t.jsxs("g",{transform:`translate(${s.left},${s.top})`,children:[l.map((e,n)=>t.jsx("text",{x:e.x,y:e.y,textAnchor:e.anchor||"start",dominantBaseline:e.baseline||"middle",fontSize:e.fontSize||11,fontWeight:e.fontWeight,fill:e.fill||"currentColor",stroke:e.stroke,strokeWidth:e.strokeWidth,paintOrder:e.paintOrder,style:{pointerEvents:"none"},children:e.text},"label-"+n)),M,v]}),a&&"string"==typeof a?t.jsx("text",{x:o/2,y:16,textAnchor:"middle",fontWeight:600,fill:"currentColor",className:"semiotic-chart-title",style:{fontSize:"var(--semiotic-title-font-size, 14px)"},children:a}):a?t.jsx("foreignObject",{x:0,y:0,width:o,height:s.top,children:a}):null,Me({legend:c,totalWidth:o,totalHeight:r,margin:s,legendPosition:g,title:a,legendLayout:p,legendHoverBehavior:u,legendClickBehavior:d,legendHighlightedCategory:h,legendIsolatedCategories:f})]}),null==A?void 0:A.filter(t=>"widget"===t.type&&t.nodeId&&m).map((e,n)=>{var i,o,r,l,a,c,u,d,h;const f=!0===e._annotationDeferred,g=m.find(t=>{var n,i,o,r,s;return t.id===e.nodeId||(null===(n=t.datum)||void 0===n?void 0:n.id)===e.nodeId||(null===(o=null===(i=t.datum)||void 0===i?void 0:i.data)||void 0===o?void 0:o.id)===e.nodeId||(null===(s=null===(r=t.datum)||void 0===r?void 0:r.data)||void 0===s?void 0:s.name)===e.nodeId});if(!g)return null;const y=s.left+(null!==(i=g.cx)&&void 0!==i?i:null!=g.x&&null!=g.w?g.x+g.w/2:null!==(o=g.x)&&void 0!==o?o:0),p=s.top+(null!==(r=g.cy)&&void 0!==r?r:null!=g.y&&null!=g.h?g.y+g.h/2:null!==(l=g.y)&&void 0!==l?l:0),v=null!==(a=e.dx)&&void 0!==a?a:0,x=null!==(c=e.dy)&&void 0!==c?c:-16,b=null!==(u=e.width)&&void 0!==u?u:32,k=null!==(d=e.height)&&void 0!==d?d:32,w=null!==(h=e.content)&&void 0!==h?h:t.jsx("span",{style:{fontSize:18,cursor:"default"},children:"ℹ️"});return t.jsx("div",{className:f?"annotation-deferred":void 0,"data-annotation-disclosure":f?"deferred":void 0,style:{position:"absolute",left:y+v-b/2,top:p+x-k/2,width:b,height:k,display:"flex",alignItems:"center",justifyContent:"center",zIndex:5},children:w},"widget-"+n)})]})}function $r(t){return t._cachedPath2D&&t._cachedPath2DSource===t.pathD||(t._cachedPath2D=new Path2D(t.pathD),t._cachedPath2DSource=t.pathD),t._cachedPath2D}function Ir(t,e){var n,i,o,r,s,l;if(!e.pathD)return;t.save();const a=$r(e);if(e.style.fill&&"none"!==e.style.fill){const s=e._gradient;if(s){const o=t.createLinearGradient(s.x0,0,s.x1,0),r=null!==(i=null!==(n=e.style.fillOpacity)&&void 0!==n?n:e.style.opacity)&&void 0!==i?i:.5,l="string"==typeof e.style.fill?e.style.fill:"#999",a=Xt(t,l)||l;o.addColorStop(0,1===s.from?a:"transparent"),o.addColorStop(1,1===s.to?a:"transparent"),t.fillStyle=o,t.globalAlpha=r}else t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,t.globalAlpha=null!==(r=null!==(o=e.style.fillOpacity)&&void 0!==o?o:e.style.opacity)&&void 0!==r?r:.5;t.fill(a)}e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(s=e.style.strokeWidth)&&void 0!==s?s:.5,t.globalAlpha=.5*(null!==(l=e.style.opacity)&&void 0!==l?l:1),t.stroke(a)),e._pulseIntensity&&e._pulseIntensity>0&&(t.fillStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.globalAlpha=.2*e._pulseIntensity,t.fill(a)),t.restore()}function Wr(t,e){var n,i;t.save();const o=e.style.stroke||"#999";t.strokeStyle=Xt(t,o)||o,t.lineWidth=null!==(n=e.style.strokeWidth)&&void 0!==n?n:1,void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),e.style.strokeDasharray&&t.setLineDash(e.style.strokeDasharray.split(/[\s,]+/).map(Number)),t.beginPath(),t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.stroke(),e._pulseIntensity&&e._pulseIntensity>0&&(t.setLineDash([]),t.strokeStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.lineWidth=(null!==(i=e.style.strokeWidth)&&void 0!==i?i:1)+3*e._pulseIntensity,t.globalAlpha=.4*e._pulseIntensity,t.beginPath(),t.moveTo(e.x1,e.y1),t.lineTo(e.x2,e.y2),t.stroke()),t.restore()}function zr(t,e){var n,i,o,r;if(!e.pathD)return;t.save();const s=$r(e);e.style.fill&&"none"!==e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,t.globalAlpha=null!==(i=null!==(n=e.style.fillOpacity)&&void 0!==n?n:e.style.opacity)&&void 0!==i?i:.5,t.fill(s)),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(o=e.style.strokeWidth)&&void 0!==o?o:.5,t.globalAlpha=.3*(null!==(r=e.style.opacity)&&void 0!==r?r:1),t.stroke(s)),e._pulseIntensity&&e._pulseIntensity>0&&(t.fillStyle=e._pulseColor||"rgba(255,255,255,0.6)",t.globalAlpha=.25*e._pulseIntensity,t.fill(s)),t.restore()}function Fr(t,e){var n,i;if(!e.pathD)return;t.save();const o=$r(e),r=e.style.stroke||"#999";t.strokeStyle=Xt(t,r)||r,t.lineWidth=null!==(n=e.style.strokeWidth)&&void 0!==n?n:1,void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),t.stroke(o),e.style.fill&&"none"!==e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,t.globalAlpha=null!==(i=e.style.fillOpacity)&&void 0!==i?i:.1,t.fill(o)),t.restore()}Rr.displayName="NetworkSVGOverlay";const Yr={top:20,right:80,bottom:20,left:80},Br={top:40,right:40,bottom:40,left:40},Hr=new Set(["chord","force","circlepack","orbit"]),Xr=[800,600],Gr={background:"rgba(0, 0, 0, 0.85)",color:"white",padding:"6px 10px",borderRadius:4,fontSize:12,lineHeight:1.5,boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)",pointerEvents:"none",whiteSpace:"nowrap"};function Vr({data:e}){var n,i,o,r,s,l;if("edge"===e.nodeOrEdge){const n=e.data;return n?t.jsxs("div",{className:"semiotic-tooltip",style:Gr,children:[t.jsxs("div",{style:{fontWeight:600},children:["object"==typeof n.source?n.source.id:n.source," → ","object"==typeof n.target?n.target.id:n.target]}),null!=n.value&&t.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Value:"," ","number"==typeof n.value?n.value.toLocaleString():n.value+""]})]}):null}const a=e.data;if(!a)return null;const c=a.__hierarchyNode;if(c){const e=[];let s=c;for(;s;){const t=null!==(r=null!==(i=null===(n=s.data)||void 0===n?void 0:n.name)&&void 0!==i?i:null===(o=s.data)||void 0===o?void 0:o.id)&&void 0!==r?r:a.id;null!=t&&e.unshift(t+""),s=s.parent}e.length>1&&e.shift();const l=e.length-1;return t.jsxs("div",{className:"semiotic-tooltip",style:Gr,children:[t.jsx("div",{children:e.map((e,n)=>t.jsxs("span",{children:[n>0&&t.jsx("span",{style:{margin:"0 3px",opacity:.5},children:" → "}),n===l?t.jsx("strong",{children:e}):t.jsx("span",{style:{opacity:.7},children:e})]},n))}),null!=a.value&&a.value>0&&t.jsx("div",{style:{marginTop:4,opacity:.8},children:"number"==typeof a.value?a.value.toLocaleString():a.value+""})]})}const u=((null===(s=a.sourceLinks)||void 0===s?void 0:s.length)||0)+((null===(l=a.targetLinks)||void 0===l?void 0:l.length)||0),d=(a.sourceLinks||[]).reduce((t,e)=>t+(e.value||0),0)+(a.targetLinks||[]).reduce((t,e)=>t+(e.value||0),0);return t.jsxs("div",{className:"semiotic-tooltip",style:Gr,children:[t.jsx("div",{style:{fontWeight:600},children:a.id}),null!=a.value&&a.value>0&&t.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Total:"," ","number"==typeof a.value?a.value.toLocaleString():a.value+""]}),u>0&&t.jsxs("div",{style:{marginTop:4,opacity:.8},children:["Connections: ",u,d!==u&&` (weighted: ${d.toLocaleString()})`]})]})}Vr.ownsChrome=!0;const qr=e.forwardRef(function(n,i){var o,r,l,a,c,u,d,h,f,g,y,p,v,m,x,b,w,A;const{chartType:M,nodes:j,edges:_,data:P,initialEdges:C,nodeIDAccessor:E="id",sourceAccessor:O="source",targetAccessor:T="target",valueAccessor:L="value",edgeIdAccessor:D,childrenAccessor:N,hierarchySum:R,orientation:$="horizontal",nodeAlign:I="justify",nodePaddingRatio:W=.05,nodeWidth:z=15,iterations:F=300,forceStrength:Y=.1,padAngle:B=.01,groupWidth:H=20,sortGroups:X,edgeSort:G,treeOrientation:V="vertical",edgeType:q="curve",padding:U,paddingTop:K,tensionConfig:Z,showParticles:Q=!1,particleStyle:J,nodeStyle:tt,edgeStyle:et,colorBy:nt,colorScheme:it="category10",edgeColorBy:ot="source",edgeOpacity:rt=.5,colorByDepth:st=!1,nodeSize:lt=8,nodeSizeRange:at=[5,20],nodeLabel:ct,showLabels:dt=!0,labelMode:ht,size:ft=Xr,responsiveWidth:gt,responsiveHeight:yt,margin:pt,className:vt,background:mt,enableHover:xt=!0,tooltipContent:bt,customHoverBehavior:kt,customClickBehavior:wt,onObservation:At,chartId:Mt,onTopologyChange:St,annotations:jt,autoPlaceAnnotations:_t,svgAnnotationRules:Pt,legend:Ct,legendPosition:Et,legendLayout:Ot,legendHoverBehavior:Lt,legendClickBehavior:Dt,legendHighlightedCategory:Nt,legendIsolatedCategories:Rt,title:$t,foregroundGraphics:It,backgroundGraphics:Wt,decay:zt,pulse:Ft,transition:Yt,animate:Bt,staleness:Ht,thresholds:Gt,accessibleTable:Vt=!0,description:qt,summary:Ut,orbitMode:Kt,orbitSize:Zt,orbitSpeed:Qt,orbitRevolution:Jt,orbitRevolutionStyle:te,orbitEccentricity:ee,orbitShowRings:ne,orbitAnimated:ie,customNetworkLayout:oe,layoutConfig:re}=n,se=Hr.has(M)?Br:Yr,le=e.useRef(!0),de=ji({sizeProp:ft,responsiveWidth:gt,responsiveHeight:yt,userMargin:pt,marginDefault:se,foregroundGraphics:It,backgroundGraphics:Wt,animate:Bt,transitionProp:Yt,themeDirtyRef:le}),{reducedMotionRef:fe,responsiveRef:ye,size:pe,margin:ve,adjustedWidth:me,adjustedHeight:xe,resolvedForeground:be,resolvedBackground:ke,transition:we,introEnabled:Ae,tableId:Me,rafRef:Se,renderFnRef:je,scheduleRender:_e,currentTheme:Pe}=de,Ce=In(),Ee=Yn(),Oe=e.useMemo(()=>k(j),[j]),Te=e.useMemo(()=>Array.isArray(_)?k(_):_,[_]),Le=e.useMemo(()=>Object.assign(Object.assign({},io),Z),[Z]),De=e.useMemo(()=>Object.assign(Object.assign({},oo),J),[J]),Ne=e.useMemo(()=>{var t;return{chartType:M,nodeIDAccessor:E,sourceAccessor:O,targetAccessor:T,valueAccessor:L,edgeIdAccessor:D,childrenAccessor:N,hierarchySum:R,orientation:$,nodeAlign:I,nodePaddingRatio:W,nodeWidth:z,iterations:F,forceStrength:Y,padAngle:B,groupWidth:H,sortGroups:X,edgeSort:G,treeOrientation:V,edgeType:q,padding:U,paddingTop:K,tensionConfig:Le,showParticles:Q,particleStyle:De,nodeStyle:tt,edgeStyle:et,nodeLabel:ct,showLabels:dt,labelMode:ht,colorBy:nt,colorScheme:it,themeCategorical:null===(t=null==Pe?void 0:Pe.colors)||void 0===t?void 0:t.categorical,themeSemantic:S(Pe),edgeColorBy:ot,edgeOpacity:rt,colorByDepth:st,nodeSize:lt,nodeSizeRange:at,decay:zt,pulse:Ft,transition:we,introAnimation:Ae,staleness:Ht,thresholds:Gt,orbitMode:Kt,orbitSize:Zt,orbitSpeed:Qt,orbitRevolution:Jt,orbitRevolutionStyle:te,orbitEccentricity:ee,orbitShowRings:ne,orbitAnimated:ie,customNetworkLayout:oe,layoutConfig:re}},[M,E,O,T,L,N,R,$,I,W,z,F,Y,B,H,X,G,V,q,U,K,Le,Q,De,tt,et,ct,dt,ht,nt,it,ot,rt,st,lt,at,zt,Ft,null==we?void 0:we.duration,null==we?void 0:we.easing,Ae,Ht,Gt,Kt,Zt,Qt,Jt,te,ee,ne,ie,Pe,oe,re]),Re=Hn(Ne),$e=Hn({chartType:M,nodeIDAccessor:E,sourceAccessor:O,targetAccessor:T,valueAccessor:L,childrenAccessor:N,hierarchySum:R,orientation:$,nodeAlign:I,nodePaddingRatio:W,nodeWidth:z,iterations:F,forceStrength:Y,padAngle:B,groupWidth:H,sortGroups:X,edgeSort:G,treeOrientation:V,edgeType:q,padding:U,paddingTop:K,tensionConfig:Le,orbitMode:Kt,orbitSize:Zt,orbitEccentricity:ee,customNetworkLayout:oe,layoutConfig:re}),Ie=e.useRef(null),We=e.useRef(0),ze=e.useRef(0),Fe=e.useRef(!1),Ye=e.useRef(null);Ye.current||(Ye.current=new Sr(Re));const[Be,He]=e.useState(null),[Xe,Ge]=e.useState(0),[Ve,qe]=e.useState(0),[Ue,Ke]=e.useState(!1),[Ze,Qe]=e.useState(null),Je=e.useRef(null),tn=e.useRef(new Map),en=e.useRef(0),nn=e.useCallback(t=>{if("function"==typeof nt)return nt(t)+"";if("string"==typeof nt&&t.data){const e=t.data[nt];if(void 0!==e){if(!tn.current.has(e+"")){const t=Array.isArray(it)?it:ut;tn.current.set(e+"",t[en.current++%t.length])}return tn.current.get(e+"")}}if(tn.current.has(t.id))return tn.current.get(t.id);const e=Array.isArray(it)?it:ut,n=nt?e[en.current++%e.length]:e[0];return tn.current.set(t.id,n),n},[nt,it]),on=(null===(o=null==Pe?void 0:Pe.colors)||void 0===o?void 0:o.border)||(null===(r=null==Pe?void 0:Pe.colors)||void 0===r?void 0:r.secondary)||(null===(l=null==Pe?void 0:Pe.colors)||void 0===l?void 0:l.primary)||"#999",rn=e.useCallback(t=>{var e,n;return t?"object"==typeof t?t:null!==(n=null===(e=Ye.current)||void 0===e?void 0:e.nodes.get(t))&&void 0!==n?n:null:null},[]),sn=e.useCallback(t=>{if("function"==typeof ot)return ot(t);const e=rn(t.source),n=rn(t.target);return"target"===ot&&n?nn(n):e?nn(e):on},[ot,nn,on,rn]),ln=e.useCallback(t=>{if("function"==typeof De.color){const e=rn(t.source);return e?De.color(t,e):on}if(!(null==J?void 0:J.colorBy))return sn(t);const e=De.colorBy,n=rn(t.source),i=rn(t.target);return"target"===e&&i?nn(i):n?nn(n):on},[null==J?void 0:J.colorBy,De.color,De.colorBy,nn,sn,on,rn]),an=("sankey"===M||!!oe)&&Q||!!Ft||null!==(c=null===(a=Ye.current)||void 0===a?void 0:a.isAnimating)&&void 0!==c&&c;e.useEffect(()=>{var t;null===(t=Ye.current)||void 0===t||t.updateConfig(Re),le.current=!0,_e()},[Re,_e]);const cn=e.useCallback(()=>{var t,e;Qe(null!==(e=null===(t=Ye.current)||void 0===t?void 0:t.customLayoutOverlays)&&void 0!==e?e:null)},[]);e.useEffect(()=>{var t;const e=Ye.current;if(e){e.buildScene([me,xe]),cn();for(const n of e.sceneNodes)n.id&&"string"==typeof(null===(t=n.style)||void 0===t?void 0:t.fill)&&tn.current.set(n.id,n.style.fill);le.current=!0,_e()}},[Pe,me,xe,_e,cn]);const un=e.useCallback(()=>{var t;const e=Ye.current;if(!e)return;e.runLayout([me,xe]),e.buildScene([me,xe]),cn(),le.current=!0;for(const n of e.sceneNodes)n.id&&"string"==typeof(null===(t=n.style)||void 0===t?void 0:t.fill)&&tn.current.set(n.id,n.style.fill);const n=Array.isArray(it)?it:ut,i=Array.from(e.nodes.values());for(let t=0;i.length>t;t++){const e=i[t];tn.current.has(e.id)||tn.current.set(e.id,n[t%n.length])}if(en.current=i.length,Ge(e.layoutVersion),St){const{nodes:t,edges:n}=e.getLayoutData();St(t,n)}},[me,xe,St,it,cn]),dn=e.useCallback(t=>{if(null==t||"object"!=typeof t)return;const e=Ye.current;e&&(e.ingestEdge(t)&&un(),_e())},[un,_e]),hn=e.useCallback(t=>{const e=Ye.current;if(!e)return;let n=!1;for(const i of t)null!=i&&"object"==typeof i&&e.ingestEdge(i)&&(n=!0);n&&un(),_e()},[un,_e]),fn=e.useCallback(()=>{var t;null===(t=Ye.current)||void 0===t||t.clear(),tn.current.clear(),en.current=0,Ge(0),He(null),Je.current=null,le.current=!0,_e()},[_e]),gn=e.useCallback(()=>{const t=Ye.current;t&&(t.tension+=999,un(),_e())},[un,_e]);e.useImperativeHandle(i,()=>({push:dn,pushMany:hn,removeNode:t=>{var e,n,i;const o=null!==(n=null===(e=Ye.current)||void 0===e?void 0:e.removeNode(t))&&void 0!==n&&n;if(o){const e=(null===(i=Je.current)||void 0===i?void 0:i.data)?"function"==typeof E?E(Je.current.data):Je.current.data[E]:void 0;Je.current&&"node"===Je.current.nodeOrEdge&&e===t&&(Je.current=null,He(null)),tn.current.delete(t),un(),le.current=!0,_e()}return o},removeEdge:(t,e)=>{var n,i;const o=null!==(i=null===(n=Ye.current)||void 0===n?void 0:n.removeEdge(t,e))&&void 0!==i&&i;if(o){if(Je.current&&"edge"===Je.current.nodeOrEdge){const n=Je.current.data;let i;i=void 0!==e?("object"==typeof(null==n?void 0:n.source)?n.source.id:null==n?void 0:n.source)===t&&("object"==typeof(null==n?void 0:n.target)?n.target.id:null==n?void 0:n.target)===e:!D||!n||("function"==typeof D?D:t=>null==t?void 0:t[D])(n)===t,i&&(Je.current=null,He(null))}un(),le.current=!0,_e()}return o},updateNode:(t,e)=>{var n,i;const o=null!==(i=null===(n=Ye.current)||void 0===n?void 0:n.updateNode(t,e))&&void 0!==i?i:null;return o&&(le.current=!0,_e()),o},updateEdge:(t,e,n)=>{var i,o;const r=null!==(o=null===(i=Ye.current)||void 0===i?void 0:i.updateEdge(t,e,n))&&void 0!==o?o:[];return r.length>0&&(un(),le.current=!0,_e()),r},clear:fn,getTopology:()=>{var t,e;return null!==(e=null===(t=Ye.current)||void 0===t?void 0:t.getLayoutData())&&void 0!==e?e:{nodes:[],edges:[]}},getTopologyDiff:()=>{const t=Ye.current;return t?{addedNodes:Array.from(t.addedNodes),removedNodes:Array.from(t.removedNodes),addedEdges:Array.from(t.addedEdges),removedEdges:Array.from(t.removedEdges)}:{addedNodes:[],removedNodes:[],addedEdges:[],removedEdges:[]}},relayout:gn,getTension:()=>{var t,e;return null!==(e=null===(t=Ye.current)||void 0===t?void 0:t.tension)&&void 0!==e?e:0}}),[dn,hn,fn,gn,un,_e]);const yn=["tree","cluster","treemap","circlepack","partition","orbit"].includes(M),pn=yn?P||(Array.isArray(_)?void 0:_):void 0;e.useEffect(()=>{var t;const e=Ye.current;if(e)if(yn&&pn)e.ingestHierarchy(pn,[me,xe]),e.buildScene([me,xe]),cn(),le.current=!0,_e();else{const n=Oe,i=Array.isArray(Te)?Te:[];if(0===n.length&&0===i.length)return;e.ingestBounded(n,i,[me,xe]),e.buildScene([me,xe]),cn();for(const n of e.sceneNodes)n.id&&(null===(t=n.style)||void 0===t?void 0:t.fill)&&tn.current.set(n.id,n.style.fill+"");const o=Array.isArray(it)?it:ut,r=Array.from(e.nodes.values());for(let t=0;r.length>t;t++){const e=r[t];tn.current.has(e.id)||tn.current.set(e.id,o[t%o.length])}en.current=r.length,le.current=!0,_e()}},[Oe,Te,P,pn,yn,me,xe,$e,_e,it,cn]),e.useEffect(()=>{C&&C.length>0&&hn(C)},[]);const vn=e.useCallback(t=>{if(kt&&kt(t),At){const e=Date.now();At(t?{type:"hover",datum:t.data||{},x:t.x,y:t.y,timestamp:e,chartType:"StreamNetworkFrame",chartId:Mt}:{type:"hover-end",timestamp:e,chartType:"StreamNetworkFrame",chartId:Mt})}},[kt,At,Mt]),mn=e.useCallback(t=>{if(wt&&wt(t),At){const e=Date.now();At(t?{type:"click",datum:t.data||{},x:t.x,y:t.y,timestamp:e,chartType:"StreamNetworkFrame",chartId:Mt}:{type:"click-end",timestamp:e,chartType:"StreamNetworkFrame",chartId:Mt})}},[wt,At,Mt]),{hoverHandlerRef:xn,hoverLeaveRef:bn,onPointerMove:kn,onPointerLeave:wn}=de;xn.current=t=>{if(!xt)return;const e=Ie.current;if(!e)return;const n=e.getBoundingClientRect(),i=t.clientX-n.left-ve.left,o=t.clientY-n.top-ve.top;if(0>i||i>me||0>o||o>xe)return void(Je.current&&(Je.current=null,He(null),vn&&(vn(null),le.current=!0),_e()));const r=Ye.current;if(!r)return;const s=Cr(r.sceneNodes,r.sceneEdges,i,o);if(!s)return void(Je.current&&(Je.current=null,He(null),vn&&(vn(null),le.current=!0),_e()));const l=ki(s.datum||{},s.x,s.y,{nodeOrEdge:s.type});Je.current=l,He(l),vn&&(vn(l),le.current=!0),_e()},bn.current=()=>{Je.current&&(Je.current=null,He(null),vn&&(vn(null),le.current=!0),_e())};const An=e.useRef(()=>{});An.current=t=>{if(!wt&&!At)return;const e=Ie.current;if(!e)return;const n=e.getBoundingClientRect(),i=t.clientX-n.left-ve.left,o=t.clientY-n.top-ve.top;if(0>i||i>me||0>o||o>xe)return;const r=Ye.current;if(!r)return;const s=Cr(r.sceneNodes,r.sceneEdges,i,o);mn(s?ki(s.datum||{},s.x,s.y,{nodeOrEdge:s.type}):null)};const Mn=e.useCallback(t=>An.current(t),[]),Sn=e.useRef(-1),jn=e.useRef(null),_n=e.useRef(-1),Pn=e.useCallback(t=>{var e;const n=Ye.current;if(!n)return;const i=function(t){var e,n,i,o,r,s;const l=[];for(const a of t)if("circle"===a.type&&null!=a.cx){if(0>=a.r)continue;l.push({x:a.cx,y:a.cy,datum:a.datum,shape:"circle",group:null!==(n=null===(e=a.datum)||void 0===e?void 0:e.id)&&void 0!==n?n:"_default"})}else if("rect"===a.type&&null!=a.x){if(0>=a.w||0>=a.h)continue;l.push({x:a.x+a.w/2,y:a.y+a.h/2,datum:a.datum,shape:"rect",w:a.w,h:a.h,group:null!==(o=null===(i=a.datum)||void 0===i?void 0:i.id)&&void 0!==o?o:"_default"})}else"arc"===a.type&&null!=a.cx&&l.push({x:a.cx,y:a.cy,datum:a.datum,shape:"circle",group:null!==(s=null===(r=a.datum)||void 0===r?void 0:r.id)&&void 0!==s?s:"_default"});return l.sort((t,e)=>t.x-e.x||t.y-e.y),l}(n.sceneNodes);if(0===i.length)return;const o=ae(i),r=Sn.current;if(0>r){if("Escape"===t.key)return;if(!["ArrowRight","ArrowLeft","ArrowUp","ArrowDown","Home","End","PageUp","PageDown","Enter"].includes(t.key))return;t.preventDefault(),Sn.current=0,_n.current=-1;const e=o.flat[0];jn.current={shape:e.shape,w:e.w,h:e.h};const n=ki(e.datum||{},e.x,e.y,{nodeOrEdge:"node"});return Je.current=n,He(n),vn&&(vn(n),le.current=!0),void _e()}const s=ce(o,r),l=function(t,e,n,i,o){var r,s,l;const a=n.flat[e.flatIndex];if(!a)return ue(t,e,n);const c=null===(r=a.datum)||void 0===r?void 0:r.id;switch(t){case"ArrowRight":case"ArrowLeft":case"ArrowDown":case"ArrowUp":{const i=null!==(s=function(t,e,n){let i=null,o=1/0;for(let r=0;t.flat.length>r;r++){const s=t.flat[r];if(s===e)continue;const l=s.x-e.x,a=s.y-e.y;let c=!1;switch(n){case"right":c=l>0&&Math.abs(l)>=Math.abs(a);break;case"left":c=0>l&&Math.abs(l)>=Math.abs(a);break;case"down":c=a>0&&Math.abs(a)>=Math.abs(l);break;case"up":c=0>a&&Math.abs(a)>=Math.abs(l)}if(!c)continue;const u=l*l+a*a;o>u&&(o=u,i=r)}return i}(n,a,"ArrowRight"===t?"right":"ArrowLeft"===t?"left":"ArrowDown"===t?"down":"up"))&&void 0!==s?s:e.flatIndex;return i!==e.flatIndex&&(o.current=-1),i}case"Enter":{if(null==c)return e.flatIndex;const t=function(t,e){var n;const i=t+"",o=[];for(const t of e){const e=null!==(n=t.datum)&&void 0!==n?n:t,r=he(e.source),s=he(e.target),l=null!=r,a=null!=s;l&&r+""===i&&a?o.push(s+""):a&&s+""===i&&l&&o.push(r+"")}return o}(c,i);if(0===t.length)return e.flatIndex;const r=null!==(l=n.idToIdx.get(t[(o.current+1)%t.length]))&&void 0!==l?l:-1;return 0>r?e.flatIndex:(o.current=-1,r)}default:{const i=ue(t,e,n);return null!==i&&i!==e.flatIndex&&(o.current=-1),i}}}(t.key,s,o,null!==(e=n.sceneEdges)&&void 0!==e?e:[],_n);if(null===l)return;if(t.preventDefault(),0>l)return Sn.current=-1,jn.current=null,_n.current=-1,Je.current=null,He(null),vn&&(vn(null),le.current=!0),void _e();Sn.current=l;const a=o.flat[l];jn.current={shape:a.shape,w:a.w,h:a.h};const c={data:a.datum||{},x:a.x,y:a.y,__semioticHoverData:!0,nodeOrEdge:"node"};Je.current=c,He(c),vn&&(vn(c),le.current=!0),_e()},[vn,_e]),Cn=e.useCallback(t=>{Sn.current=-1,jn.current=null,kn(t)},[kn]);je.current=()=>{var t,e,n,i,o,r,s;Se.current=0;const l=Ie.current;if(!l)return;const a=l.getContext("2d");if(!a)return;const c=Ye.current;if(!c)return;const u=performance.now(),d=We.current?Math.min((u-We.current)/1e3,.1):.016;We.current=u;const h=c.advanceTransition(fe.current?u+1e6:u),f=!fe.current&&h,g=!fe.current&&c.tickAnimation([me,xe],d);(h||le.current||g)&&c.buildScene([me,xe]);const y=Pi();if(!_i(l,pe,ve,y))return;if(a.clearRect(-ve.left,-ve.top,pe[0],pe[1]),mt){const t=Xt(a,mt);t&&(a.fillStyle=t,a.fillRect(0,0,me,xe))}zt&&c.applyDecay(),Ft&&c.applyPulse(u),Gt&&c.applyThresholds(u),c.applyTopologyDiff(u);const p=null!==(t=null==Ht?void 0:Ht.threshold)&&void 0!==t?t:5e3,v=Ht&&c.lastIngestTime>0&&u-c.lastIngestTime>p;if(v&&(a.globalAlpha=null!==(e=null==Ht?void 0:Ht.dimOpacity)&&void 0!==e?e:.5),function(t,e){for(const n of e)switch(n.type){case"bezier":Ir(t,n);break;case"line":Wr(t,n);break;case"ribbon":zr(t,n);break;case"curved":Fr(t,n)}}(a,c.sceneEdges),function(t,e){var n,i,o;for(const r of e){if("rect"!==r.type)continue;const e=r;e.w>0&&e.h>0&&(t.save(),void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,void 0!==e.style.fillOpacity&&(t.globalAlpha=(null!==(n=e.style.opacity)&&void 0!==n?n:1)*e.style.fillOpacity),t.fillRect(e.x,e.y,e.w,e.h)),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(i=e.style.strokeWidth)&&void 0!==i?i:1,t.globalAlpha=null!==(o=e.style.opacity)&&void 0!==o?o:1,t.strokeRect(e.x,e.y,e.w,e.h)),Li(t,e),t.restore())}}(a,c.sceneNodes),function(t,e){var n,i,o;for(const r of e){if("circle"!==r.type)continue;const e=r;e.r>0&&(t.save(),void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),t.beginPath(),t.arc(e.cx,e.cy,e.r,0,2*Math.PI),e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,void 0!==e.style.fillOpacity&&(t.globalAlpha=(null!==(n=e.style.opacity)&&void 0!==n?n:1)*e.style.fillOpacity),t.fill()),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(i=e.style.strokeWidth)&&void 0!==i?i:1,t.globalAlpha=null!==(o=e.style.opacity)&&void 0!==o?o:1,t.stroke()),Di(t,e),t.restore())}}(a,c.sceneNodes),function(t,e){var n,i,o;for(const r of e){if("arc"!==r.type)continue;const e=r;t.save(),void 0!==e.style.opacity&&(t.globalAlpha=e.style.opacity),t.beginPath(),t.arc(e.cx,e.cy,e.outerR,e.startAngle,e.endAngle),t.arc(e.cx,e.cy,e.innerR,e.endAngle,e.startAngle,!0),t.closePath(),e.style.fill&&(t.fillStyle="string"==typeof e.style.fill&&Xt(t,e.style.fill)||e.style.fill,void 0!==e.style.fillOpacity&&(t.globalAlpha=(null!==(n=e.style.opacity)&&void 0!==n?n:1)*e.style.fillOpacity),t.fill()),e.style.stroke&&"none"!==e.style.stroke&&(t.strokeStyle=Xt(t,e.style.stroke)||e.style.stroke,t.lineWidth=null!==(i=e.style.strokeWidth)&&void 0!==i?i:1,t.globalAlpha=null!==(o=e.style.opacity)&&void 0!==o?o:1,t.stroke()),t.restore()}}(a,c.sceneNodes),Q&&c.particlePool&&!v){const t=Array.from(c.edges.values());if(t.length>0){!function(t,e,n,i){var o,r;const s=null!==(o=i.spawnRate)&&void 0!==o?o:oo.spawnRate,l=null!==(r=i.maxPerEdge)&&void 0!==r?r:oo.maxPerEdge;for(let i=0;e.length>i;i++){const o=e[i];if(!o.bezier)continue;if(t.countForEdge(i)>=l)continue;const r=o.value*s*n*(o.bezier.circular?.3:1),a=Math.floor(r),c=r-a;let u=a;Math.random()<c&&u++;for(let e=0;u>e&&t.countForEdge(i)<l;e++)t.spawn(i)}}(c.particlePool,t,d,De);const e=.5*(null!==(n=De.speedMultiplier)&&void 0!==n?n:1);let i;if(De.proportionalSpeed){const e=t.reduce((t,e)=>Math.max(t,e.value||1),1);i=t.map(t=>.3+(t.value||1)/e*1.7)}c.particlePool.step(d,e,t,i),function(t,e,n,i,o){var r,s;const l=null!==(r=i.radius)&&void 0!==r?r:oo.radius,a=null!==(s=i.opacity)&&void 0!==s?s:oo.opacity;t.globalAlpha=a;for(let r=0;e.particles.length>r;r++){const s=e.particles[r];if(!s.active)continue;const a=n[s.edgeIndex];if(!a)continue;let c;c="string"==typeof i.color&&"inherit"!==i.color?i.color:o(a),t.fillStyle=Xt(t,c)||c,t.beginPath(),t.arc(s.x,s.y,l,0,2*Math.PI),t.fill()}t.globalAlpha=1}(a,c.particlePool,t,De,ln)}}v&&(a.globalAlpha=1);const m=le.current;if(le.current=!1,m||f||g){const t=Ie.current;t&&t.setAttribute("aria-label",Qn(null!==(o=null===(i=c.sceneNodes)||void 0===i?void 0:i.length)&&void 0!==o?o:0,null!==(s=null===(r=c.sceneEdges)||void 0===r?void 0:r.length)&&void 0!==s?s:0,"Network chart"))}const x=m||f||g||Fe.current;x&&u-ze.current>=33?(qe(t=>t+1),ze.current=u,Fe.current=!1):Fe.current=!!x,(an||f||null!=c.transition||g||c.hasActivePulses||c.hasActiveThresholds||c.hasActiveTopologyDiff||Fe.current)&&(Se.current=requestAnimationFrame(()=>je.current()))},Bn({hydrated:Ce,wasHydratingFromSSR:Ee,storeRef:Ye,dirtyRef:le,renderFnRef:je}),e.useEffect(()=>{le.current=!0,_e()},[M,me,xe,mt,_e]),ge(Ht,Ye,le,_e,Ue,Ke);const En=xt&&Be?t.jsx(Ai,{x:Be.x,y:Be.y,containerWidth:me,containerHeight:xe,margin:ve,className:"stream-network-tooltip",zIndex:2,children:bt?bt(Be):t.jsx(Vr,{data:Be})}):null;if(Rn||!Ce&&Ee){const e=Ye.current;if(e){const t=["tree","cluster","treemap","circlepack","partition","orbit"].includes(M),n=t?P||(Array.isArray(_)?void 0:_):void 0;if(t&&n)e.ingestHierarchy(n,[me,xe]),e.buildScene([me,xe]);else{const t=Oe,n=Array.isArray(Te)?Te:[];(t.length>0||n.length>0)&&(e.ingestBounded(t,n,[me,xe]),e.buildScene([me,xe]))}}const n=null!==(u=null==e?void 0:e.sceneNodes)&&void 0!==u?u:[],i=null!==(d=null==e?void 0:e.sceneEdges)&&void 0!==d?d:[],o=null!==(h=null==e?void 0:e.labels)&&void 0!==h?h:[];return t.jsxs("div",{ref:ye,className:"stream-network-frame"+(vt?" "+vt:""),role:"img","aria-label":qt||("string"==typeof $t?$t:"Network chart"),style:{position:"relative",width:gt?"100%":pe[0],height:yt?"100%":pe[1]},children:[t.jsx(yi,{summary:Ut}),t.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",width:pe[0],height:pe[1],style:{position:"absolute",left:0,top:0},children:[ke&&t.jsx("g",{transform:`translate(${ve.left},${ve.top})`,children:ke}),t.jsxs("g",{transform:`translate(${ve.left},${ve.top})`,children:[mt&&t.jsx("rect",{x:0,y:0,width:me,height:xe,fill:mt}),i.map((e,n)=>function(e,n){switch(e.type){case"line":return t.jsx("line",{x1:e.x1,y1:e.y1,x2:e.x2,y2:e.y2,stroke:e.style.stroke||"#999",strokeWidth:e.style.strokeWidth||1,opacity:e.style.opacity},"net-edge-"+n);case"bezier":{const i=e;return t.jsx("path",{d:i.pathD,fill:Nn(i.style.fill,"#999"),fillOpacity:i.style.fillOpacity,stroke:i.style.stroke||"none",strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-edge-"+n)}case"ribbon":{const i=e;return t.jsx("path",{d:i.pathD,fill:Nn(i.style.fill,"#999"),fillOpacity:i.style.fillOpacity,stroke:i.style.stroke||"none",strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-edge-"+n)}case"curved":{const i=e;return t.jsx("path",{d:i.pathD,fill:Nn(i.style.fill,"none"),stroke:i.style.stroke||"#999",strokeWidth:i.style.strokeWidth||1,opacity:i.style.opacity},"net-edge-"+n)}default:return null}}(e,n)).filter(Boolean),n.map((e,n)=>function(e,n){switch(e.type){case"circle":{const i=e;return t.jsx("circle",{cx:i.cx,cy:i.cy,r:i.r,fill:Nn(i.style.fill),stroke:i.style.stroke,strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-circle-"+n)}case"rect":{const i=e;return t.jsx("rect",{x:i.x,y:i.y,width:i.w,height:i.h,fill:Nn(i.style.fill),stroke:i.style.stroke,strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-rect-"+n)}case"arc":{const i=e,o=s.arc().innerRadius(i.innerR).outerRadius(i.outerR).startAngle(i.startAngle+Math.PI/2).endAngle(i.endAngle+Math.PI/2)(Dn)||"";return t.jsx("path",{d:o,transform:`translate(${i.cx},${i.cy})`,fill:Nn(i.style.fill),stroke:i.style.stroke,strokeWidth:i.style.strokeWidth,opacity:i.style.opacity},"net-arc-"+n)}default:return null}}(e,n)).filter(Boolean),o.map((e,n)=>function(e,n){return t.jsx("text",{x:e.x,y:e.y,textAnchor:e.anchor||"middle",dominantBaseline:e.baseline||"auto",fontSize:e.fontSize||11,fontWeight:e.fontWeight,fill:e.fill||"#333",stroke:e.stroke,strokeWidth:e.strokeWidth,paintOrder:e.paintOrder,children:e.text},"net-label-"+n)}(e,n)).filter(Boolean)]})]}),t.jsx(Rr,{width:me,height:xe,totalWidth:pe[0],totalHeight:pe[1],margin:ve,labels:o,sceneNodes:n,title:$t,legend:Ct,legendPosition:Et,legendLayout:Ot,legendHoverBehavior:Lt,legendClickBehavior:Dt,legendHighlightedCategory:Nt,legendIsolatedCategories:Rt,foregroundGraphics:Tt(be,null===(f=Ye.current)||void 0===f?void 0:f.customLayoutOverlays),annotations:jt,autoPlaceAnnotations:_t,svgAnnotationRules:Pt,annotationFrame:0})]})}const On=Ye.current;return t.jsxs("div",{ref:ye,className:"stream-network-frame"+(vt?" "+vt:""),role:"group","aria-label":qt||("string"==typeof $t?$t:"Network chart"),tabIndex:0,style:{position:"relative",width:gt?"100%":pe[0],height:yt?"100%":pe[1],overflow:"visible"},onKeyDown:Pn,children:[Vt&&t.jsx(pi,{tableId:Me}),Vt&&t.jsx(gi,{nodes:null!==(g=null==On?void 0:On.sceneNodes)&&void 0!==g?g:[],edges:null!==(y=null==On?void 0:On.sceneEdges)&&void 0!==y?y:[],chartType:"Network chart",tableId:Me,chartTitle:"string"==typeof $t?$t:void 0}),t.jsx(yi,{summary:Ut}),t.jsx(vi,{hoverPoint:Be}),t.jsxs("div",{role:"img","aria-label":qt||("string"==typeof $t?$t:"Network chart"),style:{position:"relative",width:"100%",height:"100%"},onMouseMove:xt?Cn:void 0,onMouseLeave:xt?wn:void 0,onClick:wt||At?Mn:void 0,children:[ke&&t.jsx("svg",{overflow:"visible",style:{position:"absolute",top:0,left:0,width:pe[0],height:pe[1],pointerEvents:"none",overflow:"visible"},children:t.jsx("g",{transform:`translate(${ve.left},${ve.top})`,children:ke})}),t.jsx("canvas",{ref:Ie,"aria-label":Qn(null!==(v=null===(p=null==On?void 0:On.sceneNodes)||void 0===p?void 0:p.length)&&void 0!==v?v:0,null!==(x=null===(m=null==On?void 0:On.sceneEdges)||void 0===m?void 0:m.length)&&void 0!==x?x:0,"Network chart"),style:{position:"absolute",top:0,left:0}}),t.jsx(Rr,{width:me,height:xe,totalWidth:pe[0],totalHeight:pe[1],margin:ve,labels:(null==On?void 0:On.labels)||[],sceneNodes:null==On?void 0:On.sceneNodes,title:$t,legend:Ct,legendPosition:Et,legendLayout:Ot,legendHoverBehavior:Lt,legendClickBehavior:Dt,legendHighlightedCategory:Nt,legendIsolatedCategories:Rt,foregroundGraphics:Tt(be,Ze),annotations:jt,autoPlaceAnnotations:_t,svgAnnotationRules:Pt,annotationFrame:Ve}),t.jsx(xi,{active:Sn.current>=0,hoverPoint:Be,margin:ve,size:pe,shape:null===(b=jn.current)||void 0===b?void 0:b.shape,width:null===(w=jn.current)||void 0===w?void 0:w.w,height:null===(A=jn.current)||void 0===A?void 0:A.h}),En,(null==Ht?void 0:Ht.showBadge)&&t.jsx("div",{className:"stream-staleness-badge",style:Object.assign(Object.assign({position:"absolute"},"top-left"===Ht.badgePosition?{top:4,left:4}:"bottom-left"===Ht.badgePosition?{bottom:4,left:4}:"bottom-right"===Ht.badgePosition?{bottom:4,right:4}:{top:4,right:4}),{background:Ue?"#dc3545":"#28a745",color:"white",fontSize:10,fontWeight:700,padding:"2px 6px",borderRadius:3,letterSpacing:"0.05em",zIndex:3,pointerEvents:"none"}),children:Ue?"STALE":"LIVE"})]})]})});function Ur(t){const e=[];for(const[n,i]of Object.entries(t.fields))if("point"===i.type)e.push(t=>i.values.has(t[n]));else{const[t,o]=i.range;e.push(e=>{const i=e[n];return i>=t&&o>=i})}return t=>e.every(e=>e(t))}function Kr(t,e){let n=t.get(e);return n||(n={name:e,resolution:"union",clauses:new Map},t.set(e,n)),n}qr.displayName="StreamNetworkFrame";const[Zr,Qr]=A(t=>({selections:new Map,setClause(e,n){t(t=>{const i=new Map(t.selections),o=Kr(i,e),r=new Map(o.clauses);return r.set(n.clientId,n),i.set(e,Object.assign(Object.assign({},o),{clauses:r})),{selections:i}})},clearClause(e,n){t(t=>{const i=t.selections.get(e);if(!i)return{};const o=new Map(t.selections),r=new Map(i.clauses);return r.delete(n),o.set(e,Object.assign(Object.assign({},i),{clauses:r})),{selections:o}})},setResolution(e,n){t(t=>{const i=new Map(t.selections),o=Kr(i,e);return i.set(e,Object.assign(Object.assign({},o),{resolution:n})),{selections:i}})},clearSelection(e){t(t=>{const n=new Map(t.selections),i=n.get(e);return i&&n.set(e,Object.assign(Object.assign({},i),{clauses:new Map})),{selections:n}})}})),[Jr,ts]=A(t=>({observations:[],maxObservations:100,version:0,pushObservation(e){t(t=>{const n=t.observations;return n.push(e),n.length>t.maxObservations&&n.shift(),{version:t.version+1}})},clearObservations(){t(()=>({observations:[],version:0}))}}));function es(t){const n=e.useId(),i=t.clientId||n,{name:o}=t,r=Qr(t=>t.selections.get(o)),s=Qr(t=>t.setClause),l=Qr(t=>t.clearClause),a=e.useMemo(()=>!!r&&r.clauses.size>0,[r]);return{predicate:e.useMemo(()=>r&&0!==r.clauses.size?function(t,e){const n=[];for(const[i,o]of t.clauses)"crossfilter"===t.resolution&&i===e||n.push(Ur(o));return 0===n.length?()=>!0:"intersect"===t.resolution?t=>n.every(e=>e(t)):t=>n.some(e=>e(t))}(r,i):()=>!0,[r,i]),isActive:a,selectPoints:e.useCallback(t=>{const e={};for(const[n,i]of Object.entries(t))e[n]={type:"point",values:new Set(i)};s(o,{clientId:i,type:"point",fields:e})},[i,o,s]),selectInterval:e.useCallback(t=>{const e={};for(const[n,i]of Object.entries(t))e[n]={type:"interval",range:i};s(o,{clientId:i,type:"interval",fields:e})},[i,o,s]),clear:e.useCallback(()=>{l(o,i)},[l,o,i]),clientId:i}}function ns(t){return 2===t.length&&"number"==typeof t[0]&&"number"==typeof t[1]}function is(t,e,n){var i;const o=null!==(i=t.xValue)&&void 0!==i?i:null==e?void 0:e[n];if(null==o)return null;const r=Number(o);return Number.isFinite(r)?r:null}function os(t){let e=t.data||t.datum||t;return Array.isArray(e)&&(e=e[0]),null!=t.xValue&&e&&"object"==typeof e&&!Array.isArray(e)&&null==e.xValue?Object.assign(Object.assign({},e),{xValue:t.xValue}):e||{}}function rs({selection:t,linkedHover:n,fallbackFields:i=[],unwrapData:o=!1,onObservation:r,chartType:s,chartId:l,onClick:a,hoverHighlight:c,colorByField:u}){const d=e.useId(),h=function(t,e){return t?!0===t?{name:"hover",fields:e||[]}:"string"==typeof t?{name:t,fields:e||[]}:{name:t.name||"hover",fields:t.fields||e||[],mode:t.mode,xField:t.xField,seriesField:t.seriesField}:null}(n,i),f="series"===(null==h?void 0:h.mode)?[h.seriesField||u||i[0]].filter(t=>!!t):(null==h?void 0:h.fields)||i||[],g=es({name:(null==t?void 0:t.name)||"__unused__"}),y=function(t){const n=t.name||"hover",{fields:i}=t,{predicate:o,isActive:r,selectPoints:s,clear:l}=es({name:n});return{onHover:e.useCallback(t=>{if(!t)return void l();const e={};for(const n of i){const i=t[n];void 0!==i&&(e[n]=[i])}Object.keys(e).length>0&&s(e)},[i,s,l,n]),predicate:o,isActive:r}}({name:(null==h?void 0:h.name)||"hover",fields:f}),p=ts(t=>t.pushObservation),v=t?{isActive:g.isActive,predicate:g.predicate}:null,[m,x]=e.useState(null),b=u||i[0],k=e.useMemo(()=>{if(!c||null==m||!b)return null;const t=m,e=b;return{isActive:!0,predicate:n=>{var i;return("string"==typeof n[e]?n[e]:(null!==(i=n[e])&&void 0!==i?i:"")+"")===t}}},[c,m,b]),w=e.useCallback(t=>{var e,i;if(n)if(t){let e=t.data||t.datum||t;if(Array.isArray(e)&&(e=e[0]),"x-position"===(null==h?void 0:h.mode)&&h.xField){const n=is(t,e,h.xField);null!=n&&function(t,e,n){const i=fn.positions.get(t);(null==i?void 0:i.locked)||i&&i.xValue===e&&i.sourceId===n||(fn={positions:new Map(fn.positions).set(t,{xValue:e,sourceId:n})},yn())}(h.name||"hover",n,d)}"x-position"!==(null==h?void 0:h.mode)&&y.onHover(e)}else"x-position"===(null==h?void 0:h.mode)&&pn(h.name||"hover",d),"x-position"!==(null==h?void 0:h.mode)&&y.onHover(null);if(c&&b)if(t){let e=t.data||t.datum||t;Array.isArray(e)&&(e=e[0]);const n=null==e?void 0:e[b];x(null!=n?n+"":null)}else x(null);if(r||p){const n={timestamp:Date.now(),chartType:s||"unknown",chartId:l};if(t){const o=os(t),s=Object.assign(Object.assign({},n),{type:"hover",datum:o||{},x:null!==(e=t.x)&&void 0!==e?e:0,y:null!==(i=t.y)&&void 0!==i?i:0});r&&r(s),p&&p(s)}else{const t=Object.assign(Object.assign({},n),{type:"hover-end"});r&&r(t),p&&p(t)}}},[n,y,h,d,r,s,l,p,c,b]),A=e.useCallback(t=>{var e,n,i,o;if("x-position"===(null==h?void 0:h.mode)&&h.xField&&t){let e=t.data||t.datum||t;Array.isArray(e)&&(e=e[0]);const n=is(t,e,h.xField);null!=n&&function(t,e,n){const i=fn.positions.get(t);if(null==i?void 0:i.locked){const e=new Map(fn.positions);return e.delete(t),fn={positions:e},yn(),!1}fn={positions:new Map(fn.positions).set(t,{xValue:e,sourceId:n,locked:!0})},yn()}(h.name||"hover",n,d)}if(t&&a){let i=t.data||t.datum||t;Array.isArray(i)&&(i=i[0]),a(i,{x:null!==(e=t.x)&&void 0!==e?e:0,y:null!==(n=t.y)&&void 0!==n?n:0})}if(r||p){const e={timestamp:Date.now(),chartType:s||"unknown",chartId:l};if(t){const n=os(t),s=Object.assign(Object.assign({},e),{type:"click",datum:n||{},x:null!==(i=t.x)&&void 0!==i?i:0,y:null!==(o=t.y)&&void 0!==o?o:0});r&&r(s),p&&p(s)}else{const t=Object.assign(Object.assign({},e),{type:"click-end"});r&&r(t),p&&p(t)}}},[a,r,p,s,l,h,d]);return e.useEffect(()=>{if("x-position"!==(null==h?void 0:h.mode))return;const t=h.name||"hover";return()=>{vn(t,d),pn(t,d)}},[null==h?void 0:h.mode,null==h?void 0:h.name,d]),{activeSelectionHook:v,hoverSelectionHook:k,customHoverBehavior:w,customClickBehavior:A,crosshairSourceId:d}}const ss={primary:{width:600,height:400,showAxes:!0,showGrid:!1,enableHover:!0,showLegend:void 0,showLabels:void 0,marginDefaults:{top:50,bottom:60,left:70,right:40}},context:{width:400,height:250,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:10,bottom:10,left:10,right:10}},sparkline:{width:120,height:24,showAxes:!1,showGrid:!1,enableHover:!1,showLegend:!1,showLabels:!1,marginDefaults:{top:2,bottom:2,left:0,right:0}}};function ls(t,e,n){var i,o,r,s,l,a,c;const u=ss[t||"primary"],d="context"===t||"sparkline"===t;return{width:null!==(i=e.width)&&void 0!==i?i:u.width,height:null!==(o=e.height)&&void 0!==o?o:u.height,showAxes:null!==(r=e.showAxes)&&void 0!==r?r:u.showAxes,showGrid:null!==(s=e.showGrid)&&void 0!==s?s:u.showGrid,enableHover:null!==(l=e.enableHover)&&void 0!==l?l:!!e.linkedHover||u.enableHover,showLegend:null!==(a=e.showLegend)&&void 0!==a?a:u.showLegend,showLabels:null!==(c=e.showLabels)&&void 0!==c?c:u.showLabels,title:d?void 0:e.title,description:e.description,summary:e.summary,accessibleTable:e.accessibleTable,xLabel:d?void 0:e.xLabel,yLabel:d?void 0:e.yLabel,categoryLabel:d?void 0:e.categoryLabel,valueLabel:d?void 0:e.valueLabel,marginDefaults:as(u.marginDefaults,e.showCategoryTicks,e.orientation),compactMode:d}}function as(t,e,n){if(!1!==e)return t;const i=Object.assign({},t);return"horizontal"===n?i.left=Math.min(i.left,15):i.bottom=Math.min(i.bottom,15),i}const cs={background:"var(--semiotic-tooltip-bg, rgba(0, 0, 0, 0.85))",color:"var(--semiotic-tooltip-text, #f3f4f6)",padding:"6px 10px",borderRadius:"var(--semiotic-tooltip-radius, 4px)",fontSize:"var(--semiotic-tooltip-font-size, 12px)",fontFamily:"var(--semiotic-tick-font-family, var(--semiotic-font-family, sans-serif))",boxShadow:"var(--semiotic-tooltip-shadow, 0 2px 8px rgba(0, 0, 0, 0.25))",lineHeight:1.4,pointerEvents:"none",whiteSpace:"nowrap"},us={opacity:.7,marginRight:4};function ds(t,e,n){if(null!=t)return"function"==typeof e?e(t):t["string"==typeof e?e:n]}function hs(t){return null==t?"":"number"==typeof t?Number.isInteger(t)?t+"":t.toFixed(2):t instanceof Date?t.toLocaleString():t+""}function fs(e={}){const{timeAccessor:n,valueAccessor:i,xLabel:o="x",yLabel:r="y"}=e;return e=>{var s;const l=null!==(s=null==e?void 0:e.data)&&void 0!==s?s:null,a=ds(l,n,"time"),c=ds(l,i,"value");return t.jsxs("div",{className:"semiotic-tooltip",style:cs,children:[t.jsxs("div",{children:[t.jsxs("span",{style:us,children:[o,":"]}),hs(a)]}),t.jsxs("div",{children:[t.jsxs("span",{style:us,children:[r,":"]}),hs(c)]})]})}}"undefined"!=typeof process&&process;const gs={display:"flex",alignItems:"center",justifyContent:"center",color:"var(--semiotic-text-secondary, #666)",fontSize:13,fontFamily:"inherit",border:"1px dashed var(--semiotic-border, #ddd)",borderRadius:4,boxSizing:"border-box"},ys={background:"var(--semiotic-border, #e0e0e0)",borderRadius:2};function ps(e,n,i,o){return!1===o||null==e||Array.isArray(e)&&e.length>0?null:Array.isArray(e)?t.jsx("div",{style:Object.assign(Object.assign({},gs),{width:n,height:i}),children:o||"No data available"}):null}function vs(e,n,i,o){if(!e)return null;if(!1===o)return null;if(null!=o)return t.jsx("div",{style:{width:n,height:i,display:"flex",alignItems:"center",justifyContent:"center",boxSizing:"border-box"},children:o});const r=Math.min(5,Math.floor(i/40)),s=Math.max(8,Math.floor(i/(3*r))),l=Math.max(6,Math.floor(i/(2.5*r))),a=Math.floor((i-(r*(s+l)-l))/2);return t.jsx("div",{style:{width:n,height:i,position:"relative",overflow:"hidden",border:"1px solid var(--semiotic-border, #e0e0e0)",borderRadius:4,boxSizing:"border-box"},children:Array.from({length:r},(e,i)=>t.jsx("div",{className:"semiotic-loading-bar",style:Object.assign(Object.assign({},ys),{position:"absolute",top:a+i*(s+l),left:Math.floor(.1*n),width:30+(37*i+13)%50+"%",height:s,opacity:.5+i%2*.2})},i))})}function ms(t,e){var n;return null!=t?t:Math.max(null!==(n=null==e?void 0:e.length)&&void 0!==n?n:0,200)}const xs=e.forwardRef(function(n,i){var o,r,s,l,a;const c=ls(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,enableHover:null!=n.enableHover?!!n.enableHover:void 0}),{size:u,margin:d,className:h,arrowOfTime:f="right",windowMode:g="sliding",windowSize:y,data:p,timeAccessor:v,valueAccessor:m,timeExtent:x,valueExtent:b,extentPadding:k,stroke:w="#007bff",strokeWidth:A=2,strokeDasharray:M,opacity:S,background:j,tooltipContent:_,tooltip:P,onHover:C,annotations:E,autoPlaceAnnotations:O,svgAnnotationRules:T,tickFormatTime:L,tickFormatValue:D,decay:N,pulse:R,staleness:$,transition:I,linkedHover:W,selection:z,onObservation:F,chartId:Y,loading:B,loadingContent:H,emptyContent:X,emphasis:G,legendPosition:V}=n,q=c.showAxes,U=c.enableHover,K=null!=d?d:c.marginDefaults,Z=null!=u?u:[c.width,c.height],Q=null!==(a=null!=_?_:P)&&void 0!==a?a:fs({timeAccessor:v,valueAccessor:m}),J=e.useRef(null),{customHoverBehavior:tt}=rs({selection:z,linkedHover:W,unwrapData:!0,onObservation:F,chartType:"RealtimeLineChart",chartId:Y}),et=e.useCallback(t=>{C&&C(t),tt(t)},[C,tt]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=J.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=J.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=J.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=J.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=J.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=J.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=J.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const nt=vs(B,Z[0],Z[1],H),it=nt?null:ps(p,Z[0],Z[1],X),ot={stroke:w,strokeWidth:A,strokeDasharray:M};null!=S&&(ot.opacity=S);const rt=ms(y,p);return nt||it||t.jsx(no,{ref:J,chartType:"line",runtimeMode:"streaming",size:Z,margin:K,className:G?`${h||""} semiotic-emphasis-${G}`.trim():h,arrowOfTime:f,windowMode:g,windowSize:rt,data:p,timeAccessor:v,valueAccessor:m,xExtent:x,yExtent:b,extentPadding:k,lineStyle:ot,showAxes:q,background:j,hoverAnnotation:U,tooltipContent:Q,customHoverBehavior:et,annotations:E,autoPlaceAnnotations:O,svgAnnotationRules:T,tickFormatTime:L,tickFormatValue:D,decay:N,pulse:R,staleness:$,transition:I,pointIdAccessor:n.pointIdAccessor,legendPosition:V})});function bs(t,e,n){const i="function"==typeof e?e(t):t[null!=e?e:n];if(null==i)return null;if(i instanceof Date)return i.getTime();if("string"==typeof i&&""===i.trim())return null;const o=Number(i);return Number.isFinite(o)?o:null}xs.displayName="RealtimeLineChart";const ks=e.forwardRef(function(n,i){var o,r,s,l,a;const c=ls(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,showAxes:n.showAxes,enableHover:null!=n.enableHover?!!n.enableHover:void 0,linkedHover:n.linkedHover}),{binSize:u,size:d,margin:h,className:f,arrowOfTime:g="right",windowMode:y="sliding",windowSize:p,data:v,timeAccessor:m,valueAccessor:x,direction:b="up",timeExtent:k,valueExtent:w,extentPadding:A,categoryAccessor:M,colors:S,fill:j,stroke:_,strokeWidth:P,opacity:C,gap:E,background:O,tooltipContent:T,tooltip:L,onHover:D,annotations:N,autoPlaceAnnotations:R,svgAnnotationRules:$,tickFormatTime:I,tickFormatValue:W,linkedHover:z,selection:F,decay:Y,pulse:B,staleness:H,transition:X,onObservation:G,chartId:V,loading:q,loadingContent:U,emptyContent:K,emphasis:Z,legendPosition:Q,brush:J,onBrush:tt,linkedBrush:et}=n,nt=c.showAxes,it=c.enableHover,ot=null!=h?h:c.marginDefaults,rt=null!=d?d:[c.width,c.height],st=null!==(a=null!=T?T:L)&&void 0!==a?a:function(e={}){const{timeAccessor:n,valueAccessor:i}=e;return e=>{var o;const r=null!==(o=null==e?void 0:e.data)&&void 0!==o?o:null;if(null==(null==r?void 0:r.binStart)||null==(null==r?void 0:r.binEnd)){const e=ds(r,n,"time"),o=ds(r,i,"value");return t.jsxs("div",{className:"semiotic-tooltip",style:cs,children:[t.jsxs("div",{children:[t.jsx("span",{style:us,children:"x:"}),hs(e)]}),t.jsxs("div",{children:[t.jsx("span",{style:us,children:"y:"}),hs(o)]})]})}return t.jsxs("div",{className:"semiotic-tooltip",style:cs,children:[t.jsxs("div",{children:[t.jsx("span",{style:us,children:"range:"}),hs(r.binStart),"–",hs(r.binEnd)]}),null!=r.total&&t.jsxs("div",{children:[t.jsx("span",{style:us,children:"count:"}),hs(r.total)]}),null!=r.category&&t.jsxs("div",{children:[t.jsx("span",{style:us,children:"category:"}),hs(r.category)]})]})}}({timeAccessor:m,valueAccessor:x}),lt=e.useRef(null),{customHoverBehavior:at}=rs({selection:F,linkedHover:z,unwrapData:!0,onObservation:G,chartType:"RealtimeHistogram",chartId:V}),ct=e.useCallback(t=>{D&&D(t),at(t)},[D,at]),ut=!0===J?{dimension:"x",snap:"bin"}:"x"===J?{dimension:"x"}:"object"==typeof J?J:void 0,dt=(ht=et)?"string"==typeof ht?{name:ht}:ht:null;var ht;const ft=function(t){const{name:n,xField:i,yField:o}=t,{predicate:r,isActive:s,selectInterval:l,clear:a}=es({name:n}),c=i&&o?"xyBrush":i?"xBrush":"yBrush",u=e.useCallback(t=>{if(!t)return void a();const e={};"xyBrush"===c&&function(t){return 2===t.length&&Array.isArray(t[0])&&2===t[0].length&&Array.isArray(t[1])&&2===t[1].length}(t)?(i&&(e[i]=[Math.min(t[0][0],t[1][0]),Math.max(t[0][0],t[1][0])]),o&&(e[o]=[Math.min(t[0][1],t[1][1]),Math.max(t[0][1],t[1][1])])):"xBrush"===c&&ns(t)?i&&(e[i]=[Math.min(...t),Math.max(...t)]):"yBrush"===c&&ns(t)&&o&&(e[o]=[Math.min(...t),Math.max(...t)]),Object.keys(e).length>0&&l(e)},[c,i,o,l,a]);return{brushInteraction:e.useMemo(()=>({brush:c,during:u,end:u}),[c,u]),predicate:r,isActive:s,clear:a}}(Object.assign({name:(null==dt?void 0:dt.name)||"__unused_hist_brush__",xField:(null==dt?void 0:dt.xField)||("string"==typeof m?m:"time")},(null==dt?void 0:dt.yField)?{yField:dt.yField}:{})),gt=e.useRef(ft.brushInteraction);gt.current=ft.brushInteraction;const yt=e.useCallback(t=>{if(tt&&tt(t),G&&G(t?{type:"brush",extent:t,timestamp:Date.now(),chartType:"RealtimeHistogram",chartId:V}:{type:"brush-end",timestamp:Date.now(),chartType:"RealtimeHistogram",chartId:V}),dt){const e=gt.current;e.end(t?"xBrush"===e.brush?t.x:"yBrush"===e.brush?t.y:[[t.x[0],t.y[0]],[t.x[1],t.y[1]]]:null)}},[tt,G,V,dt]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=lt.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=lt.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=lt.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=lt.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=lt.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=lt.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=lt.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const pt=vs(q,rt[0],rt[1],U),vt=pt?null:ps(v,rt[0],rt[1],K),mt={};null!=j&&(mt.fill=j),null!=_&&(mt.stroke=_),null!=P&&(mt.strokeWidth=P),null!=C&&(mt.opacity=C),null!=E&&(mt.gap=E);const xt=Z?`${f||""} semiotic-emphasis-${Z}`.trim():f,bt=ms(p,v),kt=e.useMemo(()=>"down"!==b?w:function({data:t,valueAccessor:e,timeAccessor:n,binSize:i,valueExtent:o,extentPadding:r}){var s;if(o)return[o[1],o[0]];if(!t||0===t.length)return;const l=new Map;for(const o of t){const t=bs(o,n,"time"),r=bs(o,e,"value");if(null==t||null==r)continue;const a=Math.floor(t/i)*i;l.set(a,(null!==(s=l.get(a))&&void 0!==s?s:0)+r)}let a=0;for(const t of l.values())t>a&&(a=t);return[a>0?a+a*(null!=r?r:.1):1,0]}({data:v,valueAccessor:x,timeAccessor:m,binSize:u,valueExtent:w,extentPadding:A}),[b,v,x,m,u,w,A]);return pt||vt||t.jsx(no,{ref:lt,chartType:"bar",runtimeMode:"streaming",size:rt,margin:ot,className:xt,arrowOfTime:g,windowMode:y,windowSize:bt,data:v,timeAccessor:m,valueAccessor:x,xExtent:k,yExtent:kt,extentPadding:A,binSize:u,categoryAccessor:M,barColors:S,barStyle:mt,showAxes:nt,background:O,hoverAnnotation:it,tooltipContent:st,customHoverBehavior:ct,annotations:N,autoPlaceAnnotations:R,svgAnnotationRules:$,tickFormatTime:I,tickFormatValue:W,decay:Y,pulse:B,staleness:H,transition:X,pointIdAccessor:n.pointIdAccessor,legendPosition:Q,brush:ut||(et?{dimension:"x"}:void 0),onBrush:ut||et?yt:void 0})});function ws(e){return t.jsx(ks,Object.assign({},e,{windowMode:"growing"}))}ks.displayName="RealtimeHistogram",ws.displayName="TemporalHistogram";const As=e.forwardRef(function(n,i){var o,r,s,l,a;const c=ls(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,enableHover:null!=n.enableHover?!!n.enableHover:void 0}),{size:u,margin:d,className:h,arrowOfTime:f="right",windowMode:g="sliding",windowSize:y,data:p,timeAccessor:v,valueAccessor:m,timeExtent:x,valueExtent:b,extentPadding:k,categoryAccessor:w,colors:A,radius:M,fill:S,opacity:j,stroke:_,strokeWidth:P,background:C,tooltipContent:E,tooltip:O,onHover:T,annotations:L,autoPlaceAnnotations:D,svgAnnotationRules:N,tickFormatTime:R,tickFormatValue:$,linkedHover:I,selection:W,onObservation:z,chartId:F,loading:Y,loadingContent:B,emptyContent:H,emphasis:X,legendPosition:G}=n,V=c.showAxes,q=c.enableHover,U=null!=d?d:c.marginDefaults,K=null!=u?u:[c.width,c.height],Z=null!==(a=null!=E?E:O)&&void 0!==a?a:fs({timeAccessor:v,valueAccessor:m}),Q=e.useRef(null),{customHoverBehavior:J}=rs({selection:W,linkedHover:I,unwrapData:!0,onObservation:z,chartType:"RealtimeSwarmChart",chartId:F}),tt=e.useCallback(t=>{T&&T(t),J(t)},[T,J]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=Q.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=Q.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=Q.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=Q.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=Q.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=Q.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=Q.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const et=vs(Y,K[0],K[1],B),nt=et?null:ps(p,K[0],K[1],H),it={};null!=M&&(it.radius=M),null!=S&&(it.fill=S),null!=j&&(it.opacity=j),null!=_&&(it.stroke=_),null!=P&&(it.strokeWidth=P);const ot=X?`${h||""} semiotic-emphasis-${X}`.trim():h,rt=ms(y,p);return et||nt||t.jsx(no,{ref:Q,chartType:"swarm",runtimeMode:"streaming",size:K,margin:U,className:ot,arrowOfTime:f,windowMode:g,windowSize:rt,data:p,timeAccessor:v,valueAccessor:m,xExtent:x,yExtent:b,extentPadding:k,categoryAccessor:w,barColors:A,swarmStyle:it,showAxes:V,background:C,hoverAnnotation:q,tooltipContent:Z,customHoverBehavior:tt,annotations:L,autoPlaceAnnotations:D,svgAnnotationRules:N,tickFormatTime:R,tickFormatValue:$,legendPosition:G,pointIdAccessor:n.pointIdAccessor})});As.displayName="RealtimeSwarmChart";const Ms=e.forwardRef(function(n,i){var o,r,s,l,a;const c=ls(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,enableHover:null!=n.enableHover?!!n.enableHover:void 0}),{size:u,margin:d,className:h,arrowOfTime:f="right",windowMode:g="sliding",windowSize:y,data:p,timeAccessor:v,valueAccessor:m,timeExtent:x,valueExtent:b,extentPadding:k,positiveColor:w,negativeColor:A,connectorStroke:M,connectorWidth:S,gap:j,stroke:_,strokeWidth:P,opacity:C,background:E,tooltipContent:O,tooltip:T,onHover:L,annotations:D,autoPlaceAnnotations:N,svgAnnotationRules:R,tickFormatTime:$,tickFormatValue:I,linkedHover:W,selection:z,onObservation:F,chartId:Y,loading:B,loadingContent:H,emptyContent:X,emphasis:G,legendPosition:V}=n,q=c.showAxes,U=c.enableHover,K=null!=d?d:c.marginDefaults,Z=null!=u?u:[c.width,c.height],Q=null!==(a=null!=O?O:T)&&void 0!==a?a:function(e={}){const{timeAccessor:n,valueAccessor:i}=e;return e=>{var o,r;const s=null!==(o=null==e?void 0:e.data)&&void 0!==o?o:null,l=ds(s,n,"time"),a=null!==(r=null==s?void 0:s.delta)&&void 0!==r?r:ds(s,i,"value"),c=null==s?void 0:s.cumEnd,u="number"==typeof a?0>a?hs(a):"+"+hs(a):hs(a);return t.jsxs("div",{className:"semiotic-tooltip",style:cs,children:[t.jsxs("div",{children:[t.jsx("span",{style:us,children:"x:"}),hs(l)]}),t.jsxs("div",{children:[t.jsx("span",{style:us,children:"Δ:"}),u]}),null!=c&&t.jsxs("div",{children:[t.jsx("span",{style:us,children:"total:"}),hs(c)]})]})}}({timeAccessor:v,valueAccessor:m}),J=e.useRef(null),{customHoverBehavior:tt}=rs({selection:z,linkedHover:W,unwrapData:!0,onObservation:F,chartType:"RealtimeWaterfallChart",chartId:Y}),et=e.useCallback(t=>{L&&L(t),tt(t)},[L,tt]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=J.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=J.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=J.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=J.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=J.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=J.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=J.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const nt=vs(B,Z[0],Z[1],H),it=nt?null:ps(p,Z[0],Z[1],X),ot={};null!=w&&(ot.positiveColor=w),null!=A&&(ot.negativeColor=A),null!=M&&(ot.connectorStroke=M),null!=S&&(ot.connectorWidth=S),null!=j&&(ot.gap=j),null!=_&&(ot.stroke=_),null!=P&&(ot.strokeWidth=P),null!=C&&(ot.opacity=C);const rt=G?`${h||""} semiotic-emphasis-${G}`.trim():h,st=ms(y,p);return nt||it||t.jsx(no,{ref:J,chartType:"waterfall",runtimeMode:"streaming",size:Z,margin:K,className:rt,arrowOfTime:f,windowMode:g,windowSize:st,data:p,timeAccessor:v,valueAccessor:m,xExtent:x,yExtent:b,extentPadding:k,waterfallStyle:ot,showAxes:q,background:E,hoverAnnotation:U,tooltipContent:Q,customHoverBehavior:et,annotations:D,autoPlaceAnnotations:N,svgAnnotationRules:R,tickFormatTime:$,tickFormatValue:I,legendPosition:V,pointIdAccessor:n.pointIdAccessor})});Ms.displayName="RealtimeWaterfallChart";const Ss=e.forwardRef(function(n,i){var o,r,s,l,a;const c=ls(n.mode,{width:null!==(r=null===(o=n.size)||void 0===o?void 0:o[0])&&void 0!==r?r:n.width,height:null!==(l=null===(s=n.size)||void 0===s?void 0:s[1])&&void 0!==l?l:n.height,enableHover:null!=n.enableHover?!!n.enableHover:void 0}),{size:u,margin:d,className:h,arrowOfTime:f="right",windowMode:g="sliding",windowSize:y,data:p,timeAccessor:v,valueAccessor:m,categoryAccessor:x,timeExtent:b,valueExtent:k,extentPadding:w,heatmapXBins:A=20,heatmapYBins:M=20,aggregation:S="count",background:j,tooltipContent:_,tooltip:P,onHover:C,annotations:E,autoPlaceAnnotations:O,svgAnnotationRules:T,tickFormatTime:L,tickFormatValue:D,decay:N,pulse:R,staleness:$,linkedHover:I,selection:W,onObservation:z,chartId:F,loading:Y,loadingContent:B,emptyContent:H,emphasis:X,legendPosition:G}=n,V=c.showAxes,q=c.enableHover,U=null!=d?d:c.marginDefaults,K=null!=u?u:[c.width,c.height],Z=null!==(a=null!=_?_:P)&&void 0!==a?a:function(e={}){const{timeAccessor:n,valueAccessor:i,xLabel:o="x",yLabel:r="y"}=e;return e=>{var s,l,a,c;const u=null!==(s=null==e?void 0:e.data)&&void 0!==s?s:null,d=null!==(l=null==u?void 0:u.xCenter)&&void 0!==l?l:ds(u,n,"time"),h=null!==(a=null==u?void 0:u.yCenter)&&void 0!==a?a:ds(u,i,"value"),f=null==u?void 0:u.count,g=null==u?void 0:u.sum,y=null==u?void 0:u.value,p=null!==(c=null==u?void 0:u.agg)&&void 0!==c?c:"count";return t.jsxs("div",{className:"semiotic-tooltip",style:cs,children:[t.jsxs("div",{children:[t.jsxs("span",{style:us,children:[o,":"]}),hs(d)]}),t.jsxs("div",{children:[t.jsxs("span",{style:us,children:[r,":"]}),hs(h)]}),null!=f&&t.jsxs("div",{children:[t.jsx("span",{style:us,children:"count:"}),hs(f)]}),"sum"===p&&null!=g&&t.jsxs("div",{children:[t.jsx("span",{style:us,children:"sum:"}),hs(g)]}),"mean"===p&&null!=y&&t.jsxs("div",{children:[t.jsx("span",{style:us,children:"mean:"}),hs(y)]})]})}}({timeAccessor:v,valueAccessor:m}),Q=e.useRef(null),{customHoverBehavior:J}=rs({selection:W,linkedHover:I,unwrapData:!0,onObservation:z,chartType:"RealtimeHeatmap",chartId:F}),tt=e.useCallback(t=>{C&&C(t),J(t)},[C,J]);e.useImperativeHandle(i,()=>({push:t=>{var e;return null===(e=Q.current)||void 0===e?void 0:e.push(t)},pushMany:t=>{var e;return null===(e=Q.current)||void 0===e?void 0:e.pushMany(t)},remove:t=>{var e,n;return null!==(n=null===(e=Q.current)||void 0===e?void 0:e.remove(t))&&void 0!==n?n:[]},update:(t,e)=>{var n,i;return null!==(i=null===(n=Q.current)||void 0===n?void 0:n.update(t,e))&&void 0!==i?i:[]},clear:()=>{var t;return null===(t=Q.current)||void 0===t?void 0:t.clear()},getData:()=>{var t,e;return null!==(e=null===(t=Q.current)||void 0===t?void 0:t.getData())&&void 0!==e?e:[]},getScales:()=>{var t,e;return null!==(e=null===(t=Q.current)||void 0===t?void 0:t.getScales())&&void 0!==e?e:null}}),[]);const et=vs(Y,K[0],K[1],B),nt=et?null:ps(p,K[0],K[1],H),it=X?`${h||""} semiotic-emphasis-${X}`.trim():h,ot=ms(y,p);return et||nt||t.jsx(no,{ref:Q,chartType:"heatmap",runtimeMode:"streaming",size:K,margin:U,className:it,arrowOfTime:f,windowMode:g,windowSize:ot,data:p,timeAccessor:v,valueAccessor:m,categoryAccessor:x,xExtent:b,yExtent:k,extentPadding:w,heatmapXBins:A,heatmapYBins:M,heatmapAggregation:S,showAxes:V,background:j,hoverAnnotation:q,tooltipContent:Z,customHoverBehavior:tt,annotations:E,autoPlaceAnnotations:O,svgAnnotationRules:T,tickFormatTime:L,tickFormatValue:D,decay:N,pulse:R,staleness:$,legendPosition:G,pointIdAccessor:n.pointIdAccessor})});Ss.displayName="RealtimeHeatmap";const js=Symbol("semiotic.useStreamStatus.wrapped"),_s={fresh:1,aging:1.5,stale:3};exports.DEFAULT_LIFECYCLE_THRESHOLDS=_s,exports.IncrementalExtent=N,exports.RealtimeHeatmap=Ss,exports.RealtimeHistogram=ks,exports.RealtimeLineChart=xs,exports.RealtimeSwarmChart=As,exports.RealtimeWaterfallChart=Ms,exports.RingBuffer=D,exports.StreamNetworkFrame=qr,exports.StreamXYFrame=no,exports.TemporalHistogram=ws,exports.bandFromAge=function(t,e,n={}){var i,o,r;if(!Number.isFinite(e)||0>=e)return"fresh";if(Number.isNaN(t))return"fresh";if(t===1/0)return"expired";if(0>t)return"fresh";const s=null!==(i=n.fresh)&&void 0!==i?i:_s.fresh,l=null!==(o=n.aging)&&void 0!==o?o:_s.aging,a=null!==(r=n.stale)&&void 0!==r?r:_s.stale;return e*s>t?"fresh":e*l>t?"aging":e*a>t?"stale":"expired"},exports.useStreamStatus=function(t={}){const{staleThresholdMs:n=5e3,pollIntervalMs:i=1e3}=t,o=e.useRef(null),[r,s]=e.useState("idle"),[l,a]=e.useState(null),c=e.useMemo(()=>{const t={_frame:null,_origPush:null,_origPushMany:null};return{get current(){return t._frame},set current(e){const n=t._frame;if(n&&n!==e&&t._origPush&&t._origPushMany&&(n.push=t._origPush,n.pushMany=t._origPushMany,delete n[js]),t._frame=e,!e)return t._origPush=null,void(t._origPushMany=null);if(e[js])return;e[js]=!0;const i=e.push,o=e.pushMany,r=i.bind(e),s=o.bind(e);t._origPush=i,t._origPushMany=o,e.push=t=>(u(),r(t)),e.pushMany=t=>(t&&t.length>0&&u(),s(t))}}},[]),u=e.useCallback(()=>{const t="undefined"!=typeof performance?performance.now():Date.now();o.current=t,a(t),s(t=>"active"===t?t:"active")},[]);return e.useEffect(()=>{const t=setInterval(()=>{const t=o.current;if(null==t)return;const e=("undefined"!=typeof performance?performance.now():Date.now())-t>n;s(t=>{const n=e?"stale":"active";return t===n?t:n})},i);return()=>clearInterval(t)},[n,i]),{ref:c,status:r,lastPushTime:l}};
|