vvplot 0.1.3 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/style.css +0 -13
- package/dist/vvplot.d.ts +307 -0
- package/dist/{Selection.js → vvplot.esm.js} +4264 -287
- package/dist/vvplot.esm.min.js +2 -0
- package/dist/vvplot.global.js +12138 -0
- package/dist/vvplot.global.min.js +2 -0
- package/package.json +7 -9
- package/dist/break.d.ts +0 -1
- package/dist/break.js +0 -118
- package/dist/components.d.ts +0 -74
- package/dist/components.js +0 -27
- package/dist/index.d.ts +0 -74
- package/dist/index.js +0 -27
- package/dist/label.d.ts +0 -1
- package/dist/label.js +0 -151
- package/dist/scale.d.ts +0 -1
- package/dist/scale.js +0 -2973
- package/dist/theme.d.ts +0 -1
- package/dist/theme.js +0 -254
- package/dist/utils.js +0 -372
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{computed as Y,isRef as ti,reactive as Ot,unref as Mt,getCurrentScope as wa,onScopeDispose as ba,toValue as al,watch as St,shallowRef as ka,getCurrentInstance as Aa,onMounted as ol,useTemplateRef as Vt,nextTick as Ei,createElementBlock as D,openBlock as V,mergeProps as _,renderSlot as $a,createCommentVNode as Ft,createTextVNode as gt,toDisplayString as Oe,inject as Mn,normalizeStyle as sn,createElementVNode as wt,createBlock as kt,Fragment as ut,renderList as ht,createVNode as le,toHandlers as qt,normalizeProps as ge,resolveDynamicComponent as qe,guardReactiveProps as un,mergeModels as We,useModel as me,createPropsRestProxy as sl,ref as Sn,useId as Ma,Teleport as Sa,useSlots as Na,useAttrs as Ta,provide as hr}from"vue";function Ca(t){return wa()?(ba(t),!0):!1}function Oa(t){if(!ti(t))return Ot(t);const e=new Proxy({},{get(n,i,r){return Mt(Reflect.get(t.value,i,r))},set(n,i,r){return ti(t.value[i])&&!ti(r)?t.value[i].value=r:t.value[i]=r,!0},deleteProperty(n,i){return Reflect.deleteProperty(t.value,i)},has(n,i){return Reflect.has(t.value,i)},ownKeys(){return Object.keys(t.value)},getOwnPropertyDescriptor(){return{enumerable:!0,configurable:!0}}});return Ot(e)}function we(t){return Oa(Y(t))}const Ea=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const ja=Ea?window:void 0;function mr(t){var e;const n=al(t);return(e=n?.$el)!=null?e:n}function Pa(){const t=ka(!1),e=Aa();return e&&ol(()=>{t.value=!0},e),t}function Va(t){const e=Pa();return Y(()=>(e.value,!!t()))}function ul(t,e,n={}){const{window:i=ja,...r}=n;let l;const o=Va(()=>i&&"ResizeObserver"in i),s=()=>{l&&(l.disconnect(),l=void 0)},c=Y(()=>{const f=al(t);return Array.isArray(f)?f.map(h=>mr(h)):[mr(f)]}),a=St(c,f=>{if(s(),o.value&&i){l=new ResizeObserver(e);for(const h of f)h&&l.observe(h,r)}},{immediate:!0,flush:"post"}),u=()=>{s(),a()};return Ca(u),{isSupported:o,stop:u}}const mn=()=>!1,si=Object.assign,Ia=Symbol(""),Ba=Symbol(""),La=Symbol(""),Xa=Symbol(""),cl={start:{line:1,column:1,offset:0},end:{line:1,column:1,offset:0},source:""};function Ya(t,e=""){return{type:0,source:e,children:t,helpers:new Set,components:[],directives:[],hoists:[],imports:[],cached:[],temps:0,codegenNode:void 0,loc:cl}}function ui(t,e=!1,n=cl,i=0){return{type:4,loc:n,content:t,isStatic:e,constType:e?3:i}}const dr=new Uint8Array([123,123]),yr=new Uint8Array([125,125]);function gr(t){return t>=97&&t<=122||t>=65&&t<=90}function Ut(t){return t===32||t===10||t===9||t===12||t===13}function ve(t){return t===47||t===62||Ut(t)}function Nn(t){const e=new Uint8Array(t.length);for(let n=0;n<t.length;n++)e[n]=t.charCodeAt(n);return e}const Yt={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97])};class Da{constructor(e,n){this.stack=e,this.cbs=n,this.state=1,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=1,this.inRCDATA=!1,this.inXML=!1,this.inVPre=!1,this.newlines=[],this.mode=0,this.delimiterOpen=dr,this.delimiterClose=yr,this.delimiterIndex=-1,this.currentSequence=void 0,this.sequenceIndex=0}get inSFCRoot(){return this.mode===2&&this.stack.length===0}reset(){this.state=1,this.mode=0,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=1,this.inRCDATA=!1,this.currentSequence=void 0,this.newlines.length=0,this.delimiterOpen=dr,this.delimiterClose=yr}getPos(e){let n=1,i=e+1;const r=this.newlines.length;let l=-1;if(r>100){let o=-1,s=r;for(;o+1<s;){const c=o+s>>>1;this.newlines[c]<e?o=c:s=c}l=o}else for(let o=r-1;o>=0;o--)if(e>this.newlines[o]){l=o;break}return l>=0&&(n=l+2,i=e-this.newlines[l]),{column:i,line:n,offset:e}}peek(){return this.buffer.charCodeAt(this.index+1)}stateText(e){e===60?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=5,this.sectionStart=this.index):!this.inVPre&&e===this.delimiterOpen[0]&&(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e))}stateInterpolationOpen(e){if(e===this.delimiterOpen[this.delimiterIndex])if(this.delimiterIndex===this.delimiterOpen.length-1){const n=this.index+1-this.delimiterOpen.length;n>this.sectionStart&&this.cbs.ontext(this.sectionStart,n),this.state=3,this.sectionStart=n}else this.delimiterIndex++;else this.inRCDATA?(this.state=32,this.stateInRCDATA(e)):(this.state=1,this.stateText(e))}stateInterpolation(e){e===this.delimiterClose[0]&&(this.state=4,this.delimiterIndex=0,this.stateInterpolationClose(e))}stateInterpolationClose(e){e===this.delimiterClose[this.delimiterIndex]?this.delimiterIndex===this.delimiterClose.length-1?(this.cbs.oninterpolation(this.sectionStart,this.index+1),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):this.delimiterIndex++:(this.state=3,this.stateInterpolation(e))}stateSpecialStartSequence(e){const n=this.sequenceIndex===this.currentSequence.length;if(!(n?ve(e):(e|32)===this.currentSequence[this.sequenceIndex]))this.inRCDATA=!1;else if(!n){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=6,this.stateInTagName(e)}stateInRCDATA(e){if(this.sequenceIndex===this.currentSequence.length){if(e===62||Ut(e)){const n=this.index-this.currentSequence.length;if(this.sectionStart<n){const i=this.index;this.index=n,this.cbs.ontext(this.sectionStart,n),this.index=i}this.sectionStart=n+2,this.stateInClosingTagName(e),this.inRCDATA=!1;return}this.sequenceIndex=0}(e|32)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:this.sequenceIndex===0?this.currentSequence===Yt.TitleEnd||this.currentSequence===Yt.TextareaEnd&&!this.inSFCRoot?!this.inVPre&&e===this.delimiterOpen[0]&&(this.state=2,this.delimiterIndex=0,this.stateInterpolationOpen(e)):this.fastForwardTo(60)&&(this.sequenceIndex=1):this.sequenceIndex=+(e===60)}stateCDATASequence(e){e===Yt.Cdata[this.sequenceIndex]?++this.sequenceIndex===Yt.Cdata.length&&(this.state=28,this.currentSequence=Yt.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=23,this.stateInDeclaration(e))}fastForwardTo(e){for(;++this.index<this.buffer.length;){const n=this.buffer.charCodeAt(this.index);if(n===10&&this.newlines.push(this.index),n===e)return!0}return this.index=this.buffer.length-1,!1}stateInCommentLike(e){e===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===Yt.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index-2):this.cbs.oncomment(this.sectionStart,this.index-2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=1):this.sequenceIndex===0?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):e!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}startSpecial(e,n){this.enterRCDATA(e,n),this.state=31}enterRCDATA(e,n){this.inRCDATA=!0,this.currentSequence=e,this.sequenceIndex=n}stateBeforeTagName(e){e===33?(this.state=22,this.sectionStart=this.index+1):e===63?(this.state=24,this.sectionStart=this.index+1):gr(e)?(this.sectionStart=this.index,this.mode===0?this.state=6:this.inSFCRoot?this.state=34:this.inXML?this.state=6:e===116?this.state=30:this.state=e===115?29:6):e===47?this.state=8:(this.state=1,this.stateText(e))}stateInTagName(e){ve(e)&&this.handleTagName(e)}stateInSFCRootTagName(e){if(ve(e)){const n=this.buffer.slice(this.sectionStart,this.index);n!=="template"&&this.enterRCDATA(Nn("</"+n),0),this.handleTagName(e)}}handleTagName(e){this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=11,this.stateBeforeAttrName(e)}stateBeforeClosingTagName(e){Ut(e)||(e===62?(this.state=1,this.sectionStart=this.index+1):(this.state=gr(e)?9:27,this.sectionStart=this.index))}stateInClosingTagName(e){(e===62||Ut(e))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=10,this.stateAfterClosingTagName(e))}stateAfterClosingTagName(e){e===62&&(this.state=1,this.sectionStart=this.index+1)}stateBeforeAttrName(e){e===62?(this.cbs.onopentagend(this.index),this.inRCDATA?this.state=32:this.state=1,this.sectionStart=this.index+1):e===47?this.state=7:e===60&&this.peek()===47?(this.cbs.onopentagend(this.index),this.state=5,this.sectionStart=this.index):Ut(e)||this.handleAttrStart(e)}handleAttrStart(e){e===118&&this.peek()===45?(this.state=13,this.sectionStart=this.index):e===46||e===58||e===64||e===35?(this.cbs.ondirname(this.index,this.index+1),this.state=14,this.sectionStart=this.index+1):(this.state=12,this.sectionStart=this.index)}stateInSelfClosingTag(e){e===62?(this.cbs.onselfclosingtag(this.index),this.state=1,this.sectionStart=this.index+1,this.inRCDATA=!1):Ut(e)||(this.state=11,this.stateBeforeAttrName(e))}stateInAttrName(e){(e===61||ve(e))&&(this.cbs.onattribname(this.sectionStart,this.index),this.handleAttrNameEnd(e))}stateInDirName(e){e===61||ve(e)?(this.cbs.ondirname(this.sectionStart,this.index),this.handleAttrNameEnd(e)):e===58?(this.cbs.ondirname(this.sectionStart,this.index),this.state=14,this.sectionStart=this.index+1):e===46&&(this.cbs.ondirname(this.sectionStart,this.index),this.state=16,this.sectionStart=this.index+1)}stateInDirArg(e){e===61||ve(e)?(this.cbs.ondirarg(this.sectionStart,this.index),this.handleAttrNameEnd(e)):e===91?this.state=15:e===46&&(this.cbs.ondirarg(this.sectionStart,this.index),this.state=16,this.sectionStart=this.index+1)}stateInDynamicDirArg(e){e===93?this.state=14:(e===61||ve(e))&&(this.cbs.ondirarg(this.sectionStart,this.index+1),this.handleAttrNameEnd(e))}stateInDirModifier(e){e===61||ve(e)?(this.cbs.ondirmodifier(this.sectionStart,this.index),this.handleAttrNameEnd(e)):e===46&&(this.cbs.ondirmodifier(this.sectionStart,this.index),this.sectionStart=this.index+1)}handleAttrNameEnd(e){this.sectionStart=this.index,this.state=17,this.cbs.onattribnameend(this.index),this.stateAfterAttrName(e)}stateAfterAttrName(e){e===61?this.state=18:e===47||e===62?(this.cbs.onattribend(0,this.sectionStart),this.sectionStart=-1,this.state=11,this.stateBeforeAttrName(e)):Ut(e)||(this.cbs.onattribend(0,this.sectionStart),this.handleAttrStart(e))}stateBeforeAttrValue(e){e===34?(this.state=19,this.sectionStart=this.index+1):e===39?(this.state=20,this.sectionStart=this.index+1):Ut(e)||(this.sectionStart=this.index,this.state=21,this.stateInAttrValueNoQuotes(e))}handleInAttrValue(e,n){(e===n||this.fastForwardTo(n))&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(n===34?3:2,this.index+1),this.state=11)}stateInAttrValueDoubleQuotes(e){this.handleInAttrValue(e,34)}stateInAttrValueSingleQuotes(e){this.handleInAttrValue(e,39)}stateInAttrValueNoQuotes(e){Ut(e)||e===62?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(1,this.index),this.state=11,this.stateBeforeAttrName(e)):(e===39||e===60||e===61||e===96)&&this.cbs.onerr(18,this.index)}stateBeforeDeclaration(e){e===91?(this.state=26,this.sequenceIndex=0):this.state=e===45?25:23}stateInDeclaration(e){(e===62||this.fastForwardTo(62))&&(this.state=1,this.sectionStart=this.index+1)}stateInProcessingInstruction(e){(e===62||this.fastForwardTo(62))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=1,this.sectionStart=this.index+1)}stateBeforeComment(e){e===45?(this.state=28,this.currentSequence=Yt.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=23}stateInSpecialComment(e){(e===62||this.fastForwardTo(62))&&(this.cbs.oncomment(this.sectionStart,this.index),this.state=1,this.sectionStart=this.index+1)}stateBeforeSpecialS(e){e===Yt.ScriptEnd[3]?this.startSpecial(Yt.ScriptEnd,4):e===Yt.StyleEnd[3]?this.startSpecial(Yt.StyleEnd,4):(this.state=6,this.stateInTagName(e))}stateBeforeSpecialT(e){e===Yt.TitleEnd[3]?this.startSpecial(Yt.TitleEnd,4):e===Yt.TextareaEnd[3]?this.startSpecial(Yt.TextareaEnd,4):(this.state=6,this.stateInTagName(e))}startEntity(){}stateInEntity(){}parse(e){for(this.buffer=e;this.index<this.buffer.length;){const n=this.buffer.charCodeAt(this.index);switch(n===10&&this.state!==33&&this.newlines.push(this.index),this.state){case 1:{this.stateText(n);break}case 2:{this.stateInterpolationOpen(n);break}case 3:{this.stateInterpolation(n);break}case 4:{this.stateInterpolationClose(n);break}case 31:{this.stateSpecialStartSequence(n);break}case 32:{this.stateInRCDATA(n);break}case 26:{this.stateCDATASequence(n);break}case 19:{this.stateInAttrValueDoubleQuotes(n);break}case 12:{this.stateInAttrName(n);break}case 13:{this.stateInDirName(n);break}case 14:{this.stateInDirArg(n);break}case 15:{this.stateInDynamicDirArg(n);break}case 16:{this.stateInDirModifier(n);break}case 28:{this.stateInCommentLike(n);break}case 27:{this.stateInSpecialComment(n);break}case 11:{this.stateBeforeAttrName(n);break}case 6:{this.stateInTagName(n);break}case 34:{this.stateInSFCRootTagName(n);break}case 9:{this.stateInClosingTagName(n);break}case 5:{this.stateBeforeTagName(n);break}case 17:{this.stateAfterAttrName(n);break}case 20:{this.stateInAttrValueSingleQuotes(n);break}case 18:{this.stateBeforeAttrValue(n);break}case 8:{this.stateBeforeClosingTagName(n);break}case 10:{this.stateAfterClosingTagName(n);break}case 29:{this.stateBeforeSpecialS(n);break}case 30:{this.stateBeforeSpecialT(n);break}case 21:{this.stateInAttrValueNoQuotes(n);break}case 7:{this.stateInSelfClosingTag(n);break}case 23:{this.stateInDeclaration(n);break}case 22:{this.stateBeforeDeclaration(n);break}case 25:{this.stateBeforeComment(n);break}case 24:{this.stateInProcessingInstruction(n);break}case 33:{this.stateInEntity();break}}this.index++}this.cleanup(),this.finish()}cleanup(){this.sectionStart!==this.index&&(this.state===1||this.state===32&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===19||this.state===20||this.state===21)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}finish(){this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){const e=this.buffer.length;this.sectionStart>=e||(this.state===28?this.currentSequence===Yt.CdataEnd?this.cbs.oncdata(this.sectionStart,e):this.cbs.oncomment(this.sectionStart,e):this.state===6||this.state===11||this.state===18||this.state===17||this.state===12||this.state===13||this.state===14||this.state===15||this.state===16||this.state===20||this.state===19||this.state===21||this.state===9||this.cbs.ontext(this.sectionStart,e))}emitCodePoint(e,n){}}function xr(t,{compatConfig:e}){const n=e&&e[t];return t==="MODE"?n||3:n}function fl(t,e){const n=xr("MODE",e),i=xr(t,e);return n===3?i===!0:i!==!1}function Tn(t,e,n,...i){return fl(t,e)}function Ra(t){throw t}function Ha(t){}function za(t,e,n,i){const r=`https://vuejs.org/error-reference/#compiler-${t}`,l=new SyntaxError(String(r));return l.code=t,l.loc=e,l}const Fa=t=>t.type===4&&t.isStatic;function qa(t){switch(t){case"Teleport":case"teleport":return Ia;case"Suspense":case"suspense":return Ba;case"KeepAlive":case"keep-alive":return La;case"BaseTransition":case"base-transition":return Xa}}function Wa(t,e){return!!(t&&Fa(t)&&t.content===e)}function vr(t){return t.type===7&&t.name==="pre"}const Ga=/([\s\S]*?)\s+(?:in|of)\s+(\S[\s\S]*)/;function Ua(t){for(let e=0;e<t.length;e++)if(!Ut(t.charCodeAt(e)))return!1;return!0}const hl={parseMode:"base",ns:0,delimiters:["{{","}}"],getNamespace:()=>0,isVoidTag:mn,isPreTag:mn,isIgnoreNewlineTag:mn,isCustomElement:mn,onError:Ra,onWarn:Ha,comments:!1,prefixIdentifiers:!1};let xt=hl,nn=null,ye="",Dt=null,ft=null,zt="",he=-1,$e=-1,ji=0,pe=!1,ci=null;const bt=[],Tt=new Da(bt,{onerr:ce,ontext(t,e){dn(Bt(t,e),t,e)},ontextentity(t,e,n){dn(t,e,n)},oninterpolation(t,e){if(pe)return dn(Bt(t,e),t,e);let n=t+Tt.delimiterOpen.length,i=e-Tt.delimiterClose.length;for(;Ut(ye.charCodeAt(n));)n++;for(;Ut(ye.charCodeAt(i-1));)i--;let r=Bt(n,i);r.includes("&")&&(r=xt.decodeEntities(r,!1)),fi({type:5,content:wn(r,!1,Et(n,i)),loc:Et(t,e)})},onopentagname(t,e){const n=Bt(t,e);Dt={type:1,tag:n,ns:xt.getNamespace(n,bt[0],xt.ns),tagType:0,props:[],children:[],loc:Et(t-1,e),codegenNode:void 0}},onopentagend(t){wr(t)},onclosetag(t,e){const n=Bt(t,e);if(!xt.isVoidTag(n)){let i=!1;for(let r=0;r<bt.length;r++)if(bt[r].tag.toLowerCase()===n.toLowerCase()){i=!0,r>0&&ce(24,bt[0].loc.start.offset);for(let o=0;o<=r;o++){const s=bt.shift();pn(s,e,o<r)}break}i||ce(23,ml(t,60))}},onselfclosingtag(t){const e=Dt.tag;Dt.isSelfClosing=!0,wr(t),bt[0]&&bt[0].tag===e&&pn(bt.shift(),t)},onattribname(t,e){ft={type:6,name:Bt(t,e),nameLoc:Et(t,e),value:void 0,loc:Et(t)}},ondirname(t,e){const n=Bt(t,e),i=n==="."||n===":"?"bind":n==="@"?"on":n==="#"?"slot":n.slice(2);if(!pe&&i===""&&ce(26,t),pe||i==="")ft={type:6,name:n,nameLoc:Et(t,e),value:void 0,loc:Et(t)};else if(ft={type:7,name:i,rawName:n,exp:void 0,arg:void 0,modifiers:n==="."?[ui("prop")]:[],loc:Et(t)},i==="pre"){pe=Tt.inVPre=!0,ci=Dt;const r=Dt.props;for(let l=0;l<r.length;l++)r[l].type===7&&(r[l]=io(r[l]))}},ondirarg(t,e){if(t===e)return;const n=Bt(t,e);if(pe&&!vr(ft))ft.name+=n,Ne(ft.nameLoc,e);else{const i=n[0]!=="[";ft.arg=wn(i?n:n.slice(1,-1),i,Et(t,e),i?3:0)}},ondirmodifier(t,e){const n=Bt(t,e);if(pe&&!vr(ft))ft.name+="."+n,Ne(ft.nameLoc,e);else if(ft.name==="slot"){const i=ft.arg;i&&(i.content+="."+n,Ne(i.loc,e))}else{const i=ui(n,!0,Et(t,e));ft.modifiers.push(i)}},onattribdata(t,e){zt+=Bt(t,e),he<0&&(he=t),$e=e},onattribentity(t,e,n){zt+=t,he<0&&(he=e),$e=n},onattribnameend(t){const e=ft.loc.start.offset,n=Bt(e,t);ft.type===7&&(ft.rawName=n),Dt.props.some(i=>(i.type===7?i.rawName:i.name)===n)&&ce(2,e)},onattribend(t,e){if(Dt&&ft){if(Ne(ft.loc,e),t!==0)if(zt.includes("&")&&(zt=xt.decodeEntities(zt,!0)),ft.type===6)ft.name==="class"&&(zt=yl(zt).trim()),t===1&&!zt&&ce(13,e),ft.value={type:2,content:zt,loc:t===1?Et(he,$e):Et(he-1,$e+1)},Tt.inSFCRoot&&Dt.tag==="template"&&ft.name==="lang"&&zt&&zt!=="html"&&Tt.enterRCDATA(Nn("</template"),0);else{let n=0;ft.exp=wn(zt,!1,Et(he,$e),0,n),ft.name==="for"&&(ft.forParseResult=Qa(ft.exp));let i=-1;ft.name==="bind"&&(i=ft.modifiers.findIndex(r=>r.content==="sync"))>-1&&Tn("COMPILER_V_BIND_SYNC",xt,ft.loc,ft.arg.loc.source)&&(ft.name="model",ft.modifiers.splice(i,1))}(ft.type!==7||ft.name!=="pre")&&Dt.props.push(ft)}zt="",he=$e=-1},oncomment(t,e){xt.comments&&fi({type:3,content:Bt(t,e),loc:Et(t-4,e+3)})},onend(){const t=ye.length;for(let e=0;e<bt.length;e++)pn(bt[e],t-1),ce(24,bt[e].loc.start.offset)},oncdata(t,e){bt[0].ns!==0?dn(Bt(t,e),t,e):ce(1,t-9)},onprocessinginstruction(t){(bt[0]?bt[0].ns:xt.ns)===0&&ce(21,t-1)}}),pr=/,([^,\}\]]*)(?:,([^,\}\]]*))?$/,Ka=/^\(|\)$/g;function Qa(t){const e=t.loc,n=t.content,i=n.match(Ga);if(!i)return;const[,r,l]=i,o=(f,h,m=!1)=>{const y=e.start.offset+h,x=y+f.length;return wn(f,!1,Et(y,x),0,m?1:0)},s={source:o(l.trim(),n.indexOf(l,r.length)),value:void 0,key:void 0,index:void 0,finalized:!1};let c=r.trim().replace(Ka,"").trim();const a=r.indexOf(c),u=c.match(pr);if(u){c=c.replace(pr,"").trim();const f=u[1].trim();let h;if(f&&(h=n.indexOf(f,a+c.length),s.key=o(f,h,!0)),u[2]){const m=u[2].trim();m&&(s.index=o(m,n.indexOf(m,s.key?h+f.length:a+c.length),!0))}}return c&&(s.value=o(c,a,!0)),s}function Bt(t,e){return ye.slice(t,e)}function wr(t){Tt.inSFCRoot&&(Dt.innerLoc=Et(t+1,t+1)),fi(Dt);const{tag:e,ns:n}=Dt;n===0&&xt.isPreTag(e)&&ji++,xt.isVoidTag(e)?pn(Dt,t):(bt.unshift(Dt),(n===1||n===2)&&(Tt.inXML=!0)),Dt=null}function dn(t,e,n){{const l=bt[0]&&bt[0].tag;l!=="script"&&l!=="style"&&t.includes("&")&&(t=xt.decodeEntities(t,!1))}const i=bt[0]||nn,r=i.children[i.children.length-1];r&&r.type===2?(r.content+=t,Ne(r.loc,n)):i.children.push({type:2,content:t,loc:Et(e,n)})}function pn(t,e,n=!1){n?Ne(t.loc,ml(e,60)):Ne(t.loc,Za(e,62)+1),Tt.inSFCRoot&&(t.children.length?t.innerLoc.end=si({},t.children[t.children.length-1].loc.end):t.innerLoc.end=si({},t.innerLoc.start),t.innerLoc.source=Bt(t.innerLoc.start.offset,t.innerLoc.end.offset));const{tag:i,ns:r,children:l}=t;if(pe||(i==="slot"?t.tagType=2:br(t)?t.tagType=3:_a(t)&&(t.tagType=1)),Tt.inRCDATA||(t.children=dl(l)),r===0&&xt.isIgnoreNewlineTag(i)){const o=l[0];o&&o.type===2&&(o.content=o.content.replace(/^\r?\n/,""))}r===0&&xt.isPreTag(i)&&ji--,ci===t&&(pe=Tt.inVPre=!1,ci=null),Tt.inXML&&(bt[0]?bt[0].ns:xt.ns)===0&&(Tt.inXML=!1);{const o=t.props;if(!Tt.inSFCRoot&&fl("COMPILER_NATIVE_TEMPLATE",xt)&&t.tag==="template"&&!br(t)){const c=bt[0]||nn,a=c.children.indexOf(t);c.children.splice(a,1,...t.children)}const s=o.find(c=>c.type===6&&c.name==="inline-template");s&&Tn("COMPILER_INLINE_TEMPLATE",xt,s.loc)&&t.children.length&&(s.value={type:2,content:Bt(t.children[0].loc.start.offset,t.children[t.children.length-1].loc.end.offset),loc:s.loc})}}function Za(t,e){let n=t;for(;ye.charCodeAt(n)!==e&&n<ye.length-1;)n++;return n}function ml(t,e){let n=t;for(;ye.charCodeAt(n)!==e&&n>=0;)n--;return n}const Ja=new Set(["if","else","else-if","for","slot"]);function br({tag:t,props:e}){if(t==="template"){for(let n=0;n<e.length;n++)if(e[n].type===7&&Ja.has(e[n].name))return!0}return!1}function _a({tag:t,props:e}){if(xt.isCustomElement(t))return!1;if(t==="component"||to(t.charCodeAt(0))||qa(t)||xt.isBuiltInComponent&&xt.isBuiltInComponent(t)||xt.isNativeTag&&!xt.isNativeTag(t))return!0;for(let n=0;n<e.length;n++){const i=e[n];if(i.type===6){if(i.name==="is"&&i.value){if(i.value.content.startsWith("vue:"))return!0;if(Tn("COMPILER_IS_ON_ELEMENT",xt,i.loc))return!0}}else if(i.name==="bind"&&Wa(i.arg,"is")&&Tn("COMPILER_IS_ON_ELEMENT",xt,i.loc))return!0}return!1}function to(t){return t>64&&t<91}const eo=/\r\n/g;function dl(t){const e=xt.whitespace!=="preserve";let n=!1;for(let i=0;i<t.length;i++){const r=t[i];if(r.type===2)if(ji)r.content=r.content.replace(eo,`
|
|
2
|
+
`);else if(Ua(r.content)){const l=t[i-1]&&t[i-1].type,o=t[i+1]&&t[i+1].type;!l||!o||e&&(l===3&&(o===3||o===1)||l===1&&(o===3||o===1&&no(r.content)))?(n=!0,t[i]=null):r.content=" "}else e&&(r.content=yl(r.content))}return n?t.filter(Boolean):t}function no(t){for(let e=0;e<t.length;e++){const n=t.charCodeAt(e);if(n===10||n===13)return!0}return!1}function yl(t){let e="",n=!1;for(let i=0;i<t.length;i++)Ut(t.charCodeAt(i))?n||(e+=" ",n=!0):(e+=t[i],n=!1);return e}function fi(t){(bt[0]||nn).children.push(t)}function Et(t,e){return{start:Tt.getPos(t),end:e==null?e:Tt.getPos(e),source:e==null?e:Bt(t,e)}}function Ne(t,e){t.end=Tt.getPos(e),t.source=Bt(t.start.offset,e)}function io(t){const e={type:6,name:t.rawName,nameLoc:Et(t.loc.start.offset,t.loc.start.offset+t.rawName.length),value:void 0,loc:t.loc};if(t.exp){const n=t.exp.loc;n.end.offset<t.loc.end.offset&&(n.start.offset--,n.start.column--,n.end.offset++,n.end.column++),e.value={type:2,content:t.exp.content,loc:n}}return e}function wn(t,e=!1,n,i=0,r=0){return ui(t,e,n,i)}function ce(t,e,n){xt.onError(za(t,Et(e,e)))}function ro(){Tt.reset(),Dt=null,ft=null,zt="",he=-1,$e=-1,bt.length=0}function lo(t,e){if(ro(),ye=t,xt=si({},hl),e){let r;for(r in e)e[r]!=null&&(xt[r]=e[r])}Tt.mode=xt.parseMode==="html"?1:xt.parseMode==="sfc"?2:0,Tt.inXML=xt.ns===1||xt.ns===2;const n=e&&e.delimiters;n&&(Tt.delimiterOpen=Nn(n[0]),Tt.delimiterClose=Nn(n[1]));const i=nn=Ya([],t);return Tt.parse(ye),i.loc=Et(0,t.length),i.children=dl(i.children),nn=null,i}new RegExp("\\b"+"arguments,await,break,case,catch,class,const,continue,debugger,default,delete,do,else,export,extends,finally,for,function,if,import,let,new,return,super,switch,throw,try,var,void,while,with,yield".split(",").join("\\b|\\b")+"\\b");class gl{constructor(e,n,i){this.label=e,this.value=n,this.level=i}toString(){return this.label}valueOf(){return this.value}toJSON(){return this.label}}class He extends Array{static from(e){if(e instanceof this)return e;if(e[Symbol.iterator]){let n=Je(Array.from(e).map(i=>String(i))).sort((i,r)=>kr(i,r,{numeric:!0}));return new this(...n)}else if(typeof e=="object"){let n=Object.keys(e).map(i=>String(i)).sort((i,r)=>kr(e[i],e[r]));return new this(...n)}throw new Error(`Invalid level values: ${e}`)}constructor(...e){return e=e.map((n,i)=>new gl(String(n),i)),e.forEach(n=>n.level=e),e.mapping=Object.fromEntries(e.map(n=>[n,n])),Object.setPrototypeOf(e,He.prototype),e}getItem(e){return typeof e=="number"||e instanceof Number?this[e]:this.mapping[e]}apply(e){let n=e.map(i=>this.mapping[i]);return n.level=this,n}}function Ve(t){return typeof t=="number"||t instanceof Number||t instanceof Date}function st(t,e=0){return e==0||t==null?t:t instanceof Date?new t.constructor(+t+e):+t+e}const Xt={min(t,{na_rm:e=!0,infinity_rm:n=!0}={}){return e&&(t=t.filter(Ve)),n&&(t=t.filter(i=>isFinite(i))),Array.from(t).reduce((i,r)=>i<r?i:r,1/0)},max(t,{na_rm:e=!0,infinity_rm:n=!0}={}){return e&&(t=t.filter(Ve)),n&&(t=t.filter(i=>isFinite(i))),Array.from(t).reduce((i,r)=>i>r?i:r,-1/0)},mean(t,{na_rm:e=!0,infinity_rm:n=!0}={}){return e&&(t=t.filter(Ve)),n&&(t=t.filter(i=>isFinite(i))),t.length==0?NaN:Array.from(t).reduce((i,r)=>i+r,0)/t.length},sd(t,{na_rm:e=!0,infinity_rm:n=!0}={}){if(e&&(t=t.filter(Ve)),n&&(t=t.filter(r=>isFinite(r))),t.length<=1)return NaN;let i=Array.from(t).reduce((r,l)=>r+l,0)/t.length;return Math.sqrt(Array.from(t).reduce((r,l)=>r+(l-i)**2,0)/(t.length-1))},quantile(t,e,{na_rm:n=!0,infinity_rm:i=!0}={}){if(n&&(t=t.filter(Ve)),i&&(t=t.filter(s=>isFinite(s))),t.length==0)return NaN;t=Array.from(t).sort((s,c)=>s-c);let r=(t.length-1)*e,l=Math.floor(r),o=Math.ceil(r);return l==o?t[l]:t[l]*(o-r)+t[o]*(r-l)},extent(t,{na_rm:e=!0,infinity_rm:n=!0}={}){if(e&&(t=t.filter(Ve)),n&&(t=t.filter(l=>isFinite(l))),t.length==0)return new Array(2);let i=Array.from(t).reduce((l,o)=>l<o?l:o,1/0),r=Array.from(t).reduce((l,o)=>l>o?l:o,-1/0);return Object.assign([i,r],{min:i,max:r})}},hi={sum(...t){if(t.some(i=>i==null))return null;if(t.some(i=>!Array.isArray(i)&&typeof i!="number"))throw new Error("Arguments must be numbers or arrays");let e=t.filter(i=>!Array.isArray(i)).reduce((i,r)=>+r+i,0);if(t=t.filter(i=>Array.isArray(i)),t.length==0)return[e];if(t.some(i=>i.length==0))return[];let n=t[0].length;if(t.some(i=>i.length!=n))throw new Error("Arrays must have the same length");return Array.from({length:n},(i,r)=>t.reduce((l,o)=>+o[r]+l,e))},opposite(t){if(t==null)return null;if(!Array.isArray(t)&&typeof t!="number")throw new Error("Arguments must be numbers or arrays");return Array.isArray(t)?t.map(e=>e==null?e:-e):-t},concat(...t){if(t.some(i=>i==null))return null;let e=t.filter(i=>Array.isArray(i));if(e.length==0)return[t.join("")];if(t.some(i=>i.length==0))return[];let n=e[0].length;if(e.some(i=>i.length!=n))throw new Error("Arrays must have the same length");return Array.from({length:n},(i,r)=>t.map(l=>Array.isArray(l)?l[r]:l).join(""))},apply(t,...e){if(e.some(r=>r==null))return null;let n=e.filter(r=>Array.isArray(r));if(n.length==0)return[t(...e)];if(e.some(r=>r.length==0))return[];let i=n[0].length;if(n.some(r=>r.length!=i))throw new Error("Arrays must have the same length");return Array.from({length:i},(r,l)=>t(...e.map(o=>Array.isArray(o)?o[l]:o)))}};function Nt(...t){if(t=t.filter(e=>e!==void 0),t.length!=0)return t=t.slice(t.findIndex(e=>e==null)+1),t.length==0?null:t.reduce((e,n)=>{for(let i in n)n[i]===null&&delete e[i],n[i]!=null&&(e[i]=n[i]);return e},{})}function Ie(...t){if(!t.some(e=>e===void 0))return t.some(e=>e===null)?null:t.join("")}function Je(t,e=null){let n=new Map;for(let i in t){let r=e?e(t[i]):t[i];n.has(r)||n.set(r,t[i])}return Array.from(n.values())}function kr(t,e,{numeric:n=!1}={}){return typeof t!="number"||typeof e!="number"?String(t).localeCompare(String(e),void 0,{numeric:n}):t-e}function Se(t,...e){return Array.isArray(t)?(t=t.filter(n=>typeof n=="function"),t.length===0?!1:(t.forEach(n=>n(...e)),!0)):typeof t!="function"?!1:(t(...e),!0)}function ke(t,{min:e,max:n}){return t<e||t>n?NaN:t}function yt(t,{min:e,max:n}){return t<e?e:t>n?n:t}function mi(t,{min:e,max:n}){return t==-1/0?e:t==1/0?n:t}function Lt(t){return typeof t!="object"||t==null?t:Object.fromEntries(Object.entries(t).filter(([e,n])=>n!=null))}function xl(t,e){if(t===e)return!0;if(typeof t!="object"||typeof e!="object"||t==null||e==null)return!1;let n=Object.keys(t),i=Object.keys(e);if(n.length!==i.length)return!1;for(let r of n)if(!xl(t[r],e[r]))return!1;return!0}function ao(t){if(!Array.isArray(t))throw new Error("Argument must be an array");let e=[],n=[];for(let i=0;i<t.length;i++){let r=t[i],l=e.findIndex(o=>xl(o,r));l===-1&&(e.push(r),l=e.length-1),n.push(l)}return n.categories=e,n}function oo(...t){if(t.length==0)return null;let e=t.filter(r=>Array.isArray(r)).reduce((r,l)=>{if(Array.isArray(l)){if(r==null)return l.length;if(r!=l.length)throw new Error("Arrays must have the same length")}return r},null)??0,n=[],i=[];for(let r=0;r<e;r++){let l=t.map(s=>Array.isArray(s)?s[r]:s),o=n.findIndex(s=>s.every((c,a)=>c===l[a]));o===-1&&(n.push(l),o=n.length-1),i.push(o)}return i.categories=n,i}function Kt(t){if(Object.keys(t).length==0)return null;let e=Object.values(t).filter(l=>Array.isArray(l)).reduce((l,o)=>{if(Array.isArray(o)){if(l==null)return o.length;if(l!=o.length)throw new Error("Arrays must have the same length")}return l},null)??0,n=Object.keys(t),i=[],r=[];for(let l=0;l<e;l++){let o=Object.fromEntries(n.map(c=>[c,Array.isArray(t[c])?t[c][l]:t[c]])),s=i.findIndex(c=>n.every(a=>c[a]===o[a]));s===-1&&(i.push(o),s=i.length-1),r.push(s)}return r.categories=i,r}function Ar(t){if(Object.keys(t).length==0)return[];let e=Object.values(t).filter(n=>Array.isArray(n)).reduce((n,i)=>{if(Array.isArray(i)){if(n==null)return i.length;if(n!=i.length)throw new Error("Arrays must have the same length")}return n},null)??0;return Array.from({length:e},(n,i)=>Object.fromEntries(Object.keys(t).map(r=>[r,Array.isArray(t[r])?t[r][i]:t[r]])))}function so(t){if(!(t instanceof SVGElement))return null;function e(o){let s=o.childNodes.length;for(;s--;){const c=o.childNodes[s];c.nodeType===Node.COMMENT_NODE?o.removeChild(c):c.nodeType===Node.ELEMENT_NODE&&(e(c),c.getAttribute("style")==""&&c.removeAttribute("style"),c.getAttribute("class")==""&&c.removeAttribute("class"))}}let n=t.cloneNode(!0),i=Array.from(t.querySelectorAll("foreignObject")),r=Array.from(n.querySelectorAll("foreignObject"));for(let o=0;o<i.length;o++){let s=i[o],c=r[o],a=i[o].querySelector("canvas");if(!a)continue;let u=n.ownerDocument.createElementNS("http://www.w3.org/2000/svg","image");u.setAttribute("href",a.toDataURL()),u.setAttribute("x",s.getAttribute("x")),u.setAttribute("y",s.getAttribute("y")),u.setAttribute("width",s.getAttribute("width")),u.setAttribute("height",s.getAttribute("height")),c.parentNode.replaceChild(u,c)}for(let o of n.querySelectorAll(".vvplot-interactive"))o.remove();return e(n),n.setAttribute("xmlns","http://www.w3.org/2000/svg"),n.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),n.setAttribute("version","1.1"),n.setAttribute("width",t.scrollWidth),n.setAttribute("height",t.scrollHeight),n.setAttribute("viewBox",`0 0 ${t.scrollWidth} ${t.scrollHeight}`),new XMLSerializer().serializeToString(n)}const vl={axis:{line_width:1,tick_width:1,tick_length:5,label_size:12,title_size:18},axis_h:{title_offset:20},axis_v:{title_offset:30,title_angle:90},axis_left:{tick_position:"left",title_position:"left"},axis_right:{tick_position:"right",title_position:"right"},axis_top:{tick_position:"top",title_position:"top"},axis_bottom:{tick_position:"bottom",title_position:"bottom"},grid:{line_width:1,line_width_major:2},plot:{margin:20,padding_h:50,padding_v:20},legend:{spacing:4},selection:{background:"#00000020"}},pl={axis:{line_color:"black",tick_color:"black",label_color:"black",title_color:"black"},grid:{line_color:"#eeeeee"}},uo={axis:{line_color:"gray",tick_color:"gray",label_color:"gray",title_color:"gray"},grid:{line_color:"#eeeeee"}},co={axis:{tick_color:"black",label_color:"black",title_color:"black"},grid:{line_color:"white"},plot:{background:"#eeeeee"}},fo={axis:{tick_color:"#333333",label_color:"#555555",title_color:"black"},grid:{line_color:"#666666"},plot:{background:"#888888"}},ho={axis:{line_color:"black",tick_color:"black",label_color:"black",title_color:"black"},grid:{line_color:"black",line_width_major:1,line_width_minor:.5}},mo={axis:{line_color:"black",tick_color:"black",label_color:"black",title_color:"black"},grid:null},yo={axis:null,grid:null};function go(...t){return t.reduce((e,n)=>{for(let i in n)n[i]===null?e[i]=null:e[i]=Nt(e[i],n[i]);return e??void 0},{})}function xo(t,e=!1){let{axis_h:n,axis_v:i,axis_x:r,axis_y:l,grid_h:o,grid_v:s,grid_x:c,grid_y:a,plot:{margin_x:u,margin_y:f,margin_h:h,margin_v:m,padding_x:y,padding_y:x,padding_h:$,padding_v:O,...j}={},...N}=t;return e?(n=Nt(n,l),i=Nt(i,r),o=Nt(o,c),s=Nt(s,a),j.margin_h=f===void 0?h:f,j.margin_v=u===void 0?m:u,j.padding_h=x===void 0?$:x,j.padding_v=y===void 0?O:y):(n=Nt(n,r),i=Nt(i,l),o=Nt(o,a),s=Nt(s,c),j.margin_h=u===void 0?h:u,j.margin_v=f===void 0?m:f,j.padding_h=y===void 0?$:y,j.padding_v=x===void 0?O:x),{axis_h:n,axis_v:i,grid_h:o,grid_v:s,plot:j,...N}}function vo(t){function e(n){return{line_color_major:["line_color","line_color_major"].map(i=>n?.[i]).findLast(i=>i!==void 0),line_color_minor:["line_color","line_color_minor"].map(i=>n?.[i]).findLast(i=>i!==void 0),line_width_major:["line_width","line_width_major"].map(i=>n?.[i]).findLast(i=>i!==void 0),line_width_minor:["line_width","line_width_minor"].map(i=>n?.[i]).findLast(i=>i!==void 0)}}return{axis:{h:Nt(...["axis","axis_h"].map(n=>t?.[n])),v:Nt(...["axis","axis_v"].map(n=>t?.[n])),left:Nt(...["axis","axis_v","axis_left"].map(n=>t?.[n])),right:Nt(...["axis","axis_v","axis_right"].map(n=>t?.[n])),top:Nt(...["axis","axis_h","axis_top"].map(n=>t?.[n])),bottom:Nt(...["axis","axis_h","axis_bottom"].map(n=>t?.[n]))},grid:{h:e(Nt(...["grid","grid_h"].map(n=>t?.[n]))),v:e(Nt(...["grid","grid_v"].map(n=>t?.[n])))},plot:{margin:{left:["margin","margin_h","margin_left"].map(n=>t?.plot?.[n]).findLast(n=>n!==void 0)??0,right:["margin","margin_h","margin_right"].map(n=>t?.plot?.[n]).findLast(n=>n!==void 0)??0,top:["margin","margin_v","margin_top"].map(n=>t?.plot?.[n]).findLast(n=>n!==void 0)??0,bottom:["margin","margin_v","margin_bottom"].map(n=>t?.plot?.[n]).findLast(n=>n!==void 0)??0},padding:{left:["padding","padding_h","padding_left"].map(n=>t?.plot?.[n]).findLast(n=>n!==void 0)??0,right:["padding","padding_h","padding_right"].map(n=>t?.plot?.[n]).findLast(n=>n!==void 0)??0,top:["padding","padding_v","padding_top"].map(n=>t?.plot?.[n]).findLast(n=>n!==void 0)??0,bottom:["padding","padding_v","padding_bottom"].map(n=>t?.plot?.[n]).findLast(n=>n!==void 0)??0},background:t?.plot?.background},selection:t?.selection??{},legend:{spacing:t?.legend?.spacing??0}}}const po={base:vl,default:pl,light:uo,classic:mo,gray:co,dark:fo,linedraw:ho,void:yo};let et=hi.sum;const be={blank:{scale_attrs:[],coord_scale(t,e){return null},get_range(t,e){if(e=="x")return t.x??[];if(e=="y")return t.y??[]},validate(t){return null}},point:{scale_attrs:["shape","size","color","stroke","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge??0,i=t.ynudge??0,r=et(e.x?.apply?.(t.x)??t.x,n),l=et(e.y?.apply?.(t.y)??t.y,i);return{x:r,y:l}},get_range(t,e){if(e=="x")return t.x??[];if(e=="y")return t.y??[]},validate(t){return isNaN(t.x)||isNaN(t.y)?null:t}},line:{scale_attrs:["color","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge??0,i=t.ynudge??0,r=et(e.x?.apply?.(t.x)??t.x,n),l=et(e.y?.apply?.(t.y)??t.y,i),o=et(e.x?.apply?.(t.xend)??t.xend,n),s=et(e.y?.apply?.(t.yend)??t.yend,i);return{x:r,y:l,xend:o,yend:s}},get_range(t,e){if(e=="x")return(t.x??[]).concat(t.xend??[]);if(e=="y")return(t.y??[]).concat(t.yend??[])},validate(t){return isNaN(t.x)||isNaN(t.y)||isNaN(t.xend)||isNaN(t.yend)?null:t}},stick:{scale_attrs:["color","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge??0,i=t.ynudge??0,r=et(e.x?.apply?.(t.x)??t.x,n),l=et(e.y?.apply?.(t.y)??t.y,i),o=et(r,t.dx),s=et(l,t.dy);return{x:r,y:l,xend:o,yend:s}},get_values(t,e){if(e=="x")return t.x??[];if(e=="y")return t.y??[]},get_range(t,e){if(e=="x")return(t.x??[]).concat(et(t.x??[],t.dx??0)??[]);if(e=="y")return(t.y??[]).concat(et(t.y??[],t.dy??0)??[])},validate(t){return isNaN(t.x)||isNaN(t.y)||isNaN(t.xend)||isNaN(t.yend)?null:t}},curve:{scale_attrs:["fill","color","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge?.map(l=>+l),i=t.ynudge?.map(l=>+l);return{points:t.points.map((l,o)=>l.map(s=>{let c=n?.[o]??0,a=i?.[o]??0;return{x:+(e?.x?.[s.x]??s.x)+c,y:+(e?.y?.[s.y]??s.y)+a}}))}},get_range(t,e){if(e=="x")return(t.points??[]).flatMap(n=>n.map(i=>i.x));if(e=="y")return(t.points??[]).flatMap(n=>n.map(i=>i.y))},validate(t){return Array.isArray(t.points)?t:null}},tile:{scale_attrs:["fill","color","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge??0,i=t.ynudge??0,r=e.x?.apply?.(t.x)??t.x,l=e.y?.apply?.(t.y)??t.y,o=et(r,t.width?.map?.(u=>-u/2)??-.5,n),s=et(r,t.width?.map?.(u=>+u/2)??.5,n),c=et(l,t.height?.map?.(u=>-u/2)??-.5,i),a=et(l,t.height?.map?.(u=>+u/2)??.5,i);return{xmin:o,xmax:s,ymin:c,ymax:a}},get_values(t,e){if(e=="x")return t.x;if(e=="y")return t.y},get_range(t,e){if(e=="x"){let n=(t.x??[]).map((r,l)=>+r-(t.width?.[l]??0)/2),i=(t.x??[]).map((r,l)=>+r+(t.width?.[l]??0)/2);return n.concat(i)}if(e=="y"){let n=(t.y??[]).map((r,l)=>+r-(t.height?.[l]??0)/2),i=(t.y??[]).map((r,l)=>+r+(t.height?.[l]??0)/2);return n.concat(i)}},validate(t){return isNaN(t.xmin)||isNaN(t.ymin)||isNaN(t.xmax)||isNaN(t.ymax)?null:t}},rect:{scale_attrs:["fill","color","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge??0,i=t.ynudge??0,r=et(e.x?.apply?.(t.xmin)??t.xmin,n),l=et(e.x?.apply?.(t.xmax)??t.xmax,n),o=et(e.y?.apply?.(t.ymin)??t.ymin,i),s=et(e.y?.apply?.(t.ymax)??t.ymax,i);return{xmin:r,xmax:l,ymin:o,ymax:s}},get_range(t,e){if(e=="x")return(t.xmin??[]).concat(t.xmax??[]);if(e=="y")return(t.ymin??[]).concat(t.ymax??[])},validate(t){return isNaN(t.xmin)||isNaN(t.ymin)||isNaN(t.xmax)||isNaN(t.ymax)?null:t}},polygon:{scale_attrs:["fill","color","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge?.map(l=>+l),i=t.ynudge?.map(l=>+l);return{points:t.points.map((l,o)=>l.map(s=>{let c=n?.[o]??0,a=i?.[o]??0;return{x:+(e?.x?.[s.x]??s.x)+c,y:+(e?.y?.[s.y]??s.y)+a}}))}},get_range(t,e){if(e=="x")return(t.points??[]).flatMap(n=>n.map(i=>i.x));if(e=="y")return(t.points??[]).flatMap(n=>n.map(i=>i.y))},validate(t){return Array.isArray(t.points)?t:null}},text:{scale_attrs:["size","color","stroke","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge??0,i=t.ynudge??0,r=et(e.x?.apply?.(t.x)??t.x,n),l=et(e.y?.apply?.(t.y)??t.y,i);return{x:r,y:l}},get_range(t,e){if(e=="x")return t.x??[];if(e=="y")return t.y??[]},validate(t){return isNaN(t.x)||isNaN(t.y)?null:t}},textsegment:{scale_attrs:["size","color","stroke","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge??0,i=t.ynudge??0,r=et(e.x?.apply?.(t.x)??t.x,n),l=et(e.y?.apply?.(t.y)??t.y,i),o=et(e.x?.apply?.(t.xend)??t.xend,n),s=et(e.y?.apply?.(t.yend)??t.yend,i);return{x:r,y:l,xend:o,yend:s}},get_range(t,e){if(e=="x")return(t.x??[]).concat(t.xend??[]);if(e=="y")return(t.y??[]).concat(t.yend??[])},validate(t){return isNaN(t.x)||isNaN(t.xend)||isNaN(t.y)||isNaN(t.yend)?null:t}},boxplot:{scale_attrs:["fill","color","linewidth","linetype","alpha"],coord_scale(t,e){let n=t.xnudge??0,i=t.ynudge??0;if(t.x){let r=et(e.x?.apply?.(t.x)??t.x,n),l=et(r,t.width?.map?.(x=>-x/2)??-.5,n),o=et(r,t.width?.map?.(x=>+x/2)??.5,n),s=et(t.lwisker,i),c=et(t.Q1,i),a=et(t.median,i),u=et(t.Q3,i),f=et(t.uwisker,i),h=hi.apply((x,{y:$,$raw:O},j)=>et($,j).map((N,I)=>({x,y:N,$raw:O[I]})),r,t.outliers??[],i),m=et(t.min,i),y=et(t.max,i);return{x:r,xmin:l,xmax:o,lwisker:s,Q1:c,median:a,Q3:u,uwisker:f,outliers:h,$xmin:l,$xmax:o,$ymin:m,$ymax:y}}else if(t.y){let r=et(e.y?.apply?.(t.y)??t.y,i),l=et(r,t.height?.map?.(x=>-x/2)??-.5,i),o=et(r,t.height?.map?.(x=>+x/2)??.5,i),s=et(t.lwisker,n),c=et(t.Q1,n),a=et(t.median,n),u=et(t.Q3,n),f=et(t.uwisker,n),h=hi.apply((x,{x:$,$raw:O},j)=>et($,j).map((N,I)=>({x:N,y:x,$raw:O[I]})),r,t.outliers??[],n),m=et(t.xmin,n),y=et(t.xmax,n);return{y:r,ymin:l,ymax:o,lwisker:s,Q1:c,median:a,Q3:u,uwisker:f,outliers:h,$xmin:m,$xmax:y,$ymin:l,$ymax:o}}return{}},get_range(t,e){if(e=="x")return t.x||(t.min??[]).concat(t.max??[]);if(e=="y")return t.y||(t.min??[]).concat(t.max??[])},validate(t){return[t.$xmin,t.$xmax,t.$ymin,t.$ymax].some(e=>isNaN(e))?null:t}}},wo={identity:Object.assign(function(t){return t},{core_attrs:["x","y","xnudge","ynudge"]}),line:Object.assign(function(t,{orientation:e="x"}={}){let n=["x","y"].filter(a=>t[a]==null);if(n.length>0)throw new Error(`Missing aesthetics for "StatLine": "${n.join('", "')}"`);let i=t.group??new Array(t.x.length).fill(null),l=Object.values(i.reduce((a,u,f)=>(a[u]??=[],a[u].push(f),a),{})).map(a=>a.map((u,f)=>[t[e][u],f]).sort((u,f)=>u[0]-f[0]).map((u,f)=>a[u[1]])),o=l.map(a=>a.slice(0,-1).concat(NaN)).reduce((a,u)=>a.concat(u),[]).filter(a=>!isNaN(a)),s=l.map(a=>a.slice(1).concat(NaN)).reduce((a,u)=>a.concat(u),[]).filter(a=>!isNaN(a)),c={};for(let a in t)c[a]=o.map(u=>t[a][u]);return c.xend=s.map(a=>t.x[a]),c.yend=s.map(a=>t.y[a]),c},{core_attrs:["x","y","xnudge","ynudge"]}),linerange:Object.assign(function(t){if(t.x!=null){let e=["x","ymin","ymax"].filter(n=>t[n]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatLinerange": "${e.join('", "')}"`);return(({x:n,ymin:i,ymax:r,...l})=>({x:n,xend:n,y:i,yend:r,...l}))(t)}else if(t.y!=null){let e=["y","xmin","xmax"].filter(n=>t[n]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatLinerange": "${e.join('", "')}"`);return(({y:n,xmin:i,xmax:r,...l})=>({y:n,yend:n,x:i,xend:r,...l}))(t)}else throw new Error('Missing aesthetics for "StatLinerange": x,ymin,ymax or y,xmin,xmax')},{core_attrs:["x","y","xmin","xmax","ymin","ymax","xnudge","ynudge"]}),path:Object.assign(function(t){let e=["x","y"].filter(c=>t[c]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatPath": "${e.join('", "')}"`);let n=t.group??new Array(t.x.length).fill(null),r=Object.values(n.reduce((c,a,u)=>(c[a]??=[],c[a].push(u),c),{})).map(c=>c.map((a,u)=>c[u])),l=r.map(c=>c.slice(0,-1).concat(NaN)).reduce((c,a)=>c.concat(a),[]).filter(c=>!isNaN(c)),o=r.map(c=>c.slice(1).concat(NaN)).reduce((c,a)=>c.concat(a),[]).filter(c=>!isNaN(c)),s={};for(let c in t)s[c]=l.map(a=>t[c][a]);return s.xend=o.map(c=>t.x[c]),s.yend=o.map(c=>t.y[c]),s},{core_attrs:["x","y","xnudge","ynudge"]}),segment:Object.assign(function(t){t.xend==null&&(t.xend=t.x),t.yend==null&&(t.yend=t.y);let e=["x","y","xend","yend"].filter(n=>t[n]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatSegment": "${e.join('", "')}"`);return t},{core_attrs:["x","y","xend","yend","xnudge","ynudge"]}),stick:Object.assign(function(t){t.dx==null&&(t.dx=Array(t.x.length).fill(0)),t.dy==null&&(t.dy=Array(t.y.length).fill(0));let e=["x","y","dx","dy"].filter(n=>t[n]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatStick": "${e.join('", "')}"`);return t},{core_attrs:["x","y","dx","dy","xnudge","ynudge"]}),curve:Object.assign(function(t){if(t.points!=null)return t;let e=["x","y"].filter(u=>t[u]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatCurve": "${e.join('", "')}" or "points"`);let n=Object.keys(t).filter(u=>!["x","y"].includes(u)&&!u.startsWith("$")),i=Kt(Object.fromEntries(n.map(u=>[u,t[u]]))),r=Kt({group:i??new Array(t.x.length).fill(0)}).map((u,f,h)=>h.categories[u]),l=Map.groupBy(t.$raw,(u,f)=>r[f]),o=Array.from(l.values()),s=Array.from(l.keys()),c=Array.from(Map.groupBy(Ar({x:t.x,y:t.y}),(u,f)=>r[f]).values()),a={$raw:o,points:c};for(let u of n)a[u]=s.map(f=>f.group).map(f=>i.categories[f][u]);return a},{core_attrs:["x","y","xnudge","ynudge"]}),point:Object.assign(function(t){let e=["x","y"].filter(n=>t[n]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatPoint": "${e.join('", "')}"`);return t},{core_attrs:["x","y","xnudge","ynudge"]}),polygon:Object.assign(function(t){if(t.points!=null)return t;let e=["x","y"].filter(u=>t[u]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatPolygon": "${e.join('", "')}" or "points"`);let n=Object.keys(t).filter(u=>!["x","y"].includes(u)&&!u.startsWith("$")),i=Kt(Object.fromEntries(n.map(u=>[u,t[u]]))),r=Kt({group:i??new Array(t.x.length).fill(0)}).map((u,f,h)=>h.categories[u]),l=Map.groupBy(t.$raw,(u,f)=>r[f]),o=Array.from(l.values()),s=Array.from(l.keys()),c=Array.from(Map.groupBy(Ar({x:t.x,y:t.y}),(u,f)=>r[f]).values()),a={$raw:o,points:c};for(let u of n)a[u]=s.map(f=>f.group).map(f=>i.categories[f][u]);return a},{core_attrs:["points","xnudge","ynudge"]}),rect:Object.assign(function(t){let e=["xmin","xmax","ymin","ymax"].filter(n=>t[n]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatRect": "${e.join('", "')}"`);return t},{core_attrs:["xmin","xmax","ymin","ymax","xnudge","ynudge"]}),tile:Object.assign(function(t){t.width==null&&t.x.some(n=>typeof n=="string")&&(t.width=Array(t.x.length).fill(1)),t.height==null&&t.y.some(n=>typeof n=="string")&&(t.height=Array(t.y.length).fill(1));let e=["x","y","width","height"].filter(n=>t[n]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatTile": "${e.join('", "')}"`);return t},{core_attrs:["x","y","width","height","xnudge","ynudge"]}),text:Object.assign(function(t){let e=["x","y","label"].filter(n=>t[n]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatText": "${e.join('", "')}"`);return t},{core_attrs:["x","y","xnudge","ynudge","label","text-length"]}),textsegment:Object.assign(function(t){t.xend==null&&(t.xend=t.x),t.yend==null&&(t.yend=t.y);let e=["x","y","xend","yend","label"].filter(n=>t[n]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatTextsegment": "${e.join('", "')}"`);return t},{core_attrs:["x","y","xend","yend","xnudge","ynudge","label"]}),histogram:Object.assign(function(t,{bins:e=30,binwidth:n,breaks:i}={}){if(t.x!=null&&t.y!=null)throw new Error('"StatHistogram" only supports "x" or "y", not both');let r=t.x??t.y;if(r==null)throw new Error('Missing aesthetics for "StatHistogram": "x" or "y"');if(r.some(h=>typeof h!="number"))throw new Error('"StatHistogram" requires a continuous aesthetic');if(i)i.sort((h,m)=>h-m);else{let{min:h,max:m}=Xt.extent(r);n||(n=(m-h)/(e-1)),i=Array.from({length:e+1},(y,x)=>h+(x-.5)*n)}e=i.length-1;let l=Object.keys(t).filter(h=>!["x","y"].includes(h)&&!h.startsWith("$")),o=Kt(Object.fromEntries(l.map(h=>[h,t[h]]))),s=Kt({group:o??new Array(r.length).fill(0),upper:r.map(h=>i.findLast(m=>m<=h)??i[0]),lower:r.map(h=>i.find(m=>m>h)??i[e])}).map((h,m,y)=>y.categories[h]),c=Map.groupBy(t.$raw,(h,m)=>s[m]),a=Array.from(c.values()),u=Array.from(c.keys()),f={$raw:a,count:a.map(h=>h.length),$group:u.map(h=>h.group),upper:u.map(h=>h.upper),lower:u.map(h=>h.lower)};for(let h of l)f[h]=u.map(m=>o.categories[m.group][h]);return t.x?(({upper:h,lower:m,count:y,ymin:x=a.map(()=>0),...$})=>({xmin:h,xmax:m,ymin:x,ymax:y,...$}))(f):(({upper:h,lower:m,count:y,xmin:x=a.map(()=>0),...$})=>({xmin:x,xmax:y,ymin:h,ymax:m,...$}))(f)},{core_attrs:["x","y","xnudge","ynudge"]}),bar:Object.assign(function(t){if(t.x!=null&&t.y!=null)throw new Error('"StatBar" only supports "x" or "y", not both');let e=t.x??t.y;if(e==null)throw new Error('Missing aesthetics for "StatBar": "x" or "y"');if(e.some(a=>typeof a=="number"))throw new Error('"StatBar" requires a discrete aesthetic');let n=Object.keys(t).filter(a=>!["x","y"].includes(a)&&!a.startsWith("$")),i=Kt(Object.fromEntries(n.map(a=>[a,t[a]]))),r=Kt({group:i??0,value:e}),l=Map.groupBy(t.$raw,(a,u)=>r.categories[r[u]]),o=Array.from(l.values()),s=Array.from(l.keys()),c={$raw:o,count:o.map(a=>a.length),$group:s.map(a=>a.group),value:s.map(a=>a.value)};for(let a of n)c[a]=s.map(u=>u.group).map(u=>i.categories[u][a]);return t.x?(({value:a,count:u,...f})=>({x:a,y:u.map(h=>h/2),height:u,...f}))(c):(({value:a,count:u,...f})=>({y:a,x:u.map(h=>h/2),width:u,...f}))(c)},{core_attrs:["x","y","xnudge","ynudge"]}),boxplot:Object.assign(function(t,{}){let e=["x","y"].filter(b=>t[b]==null);if(e.length>0)throw new Error(`Missing aesthetics for "StatBoxplot": "${e.join('", "')}"`);let n=t.x.some(b=>typeof b!="number"),i=t.y.some(b=>typeof b!="number");if(n&&i)throw new Error('Both "x" and "y" are discrete, "StatBoxplot" requires one continuous and one discrete aesthetic');if(!n&&!i)throw new Error('Both "x" and "y" are continuous, "StatBoxplot" requires one continuous and one discrete aesthetic');let[r,l]=n?["y","x"]:["x","y"],o=Object.keys(t).filter(b=>b!=r&&!b.startsWith("$")),s=Kt(Object.fromEntries(o.map(b=>[b,t[b]]))),c=Kt({group:s??0,cate:t[l]}),a=Map.groupBy(c.map((b,d)=>d),(b,d)=>c.categories[c[d]]),u=Array.from(a.keys()),f=Array.from(a.values()).map(b=>b.map(d=>t.$raw[d])),h=Array.from(a.values()).map(b=>b.map(d=>t[r][d])),m=h.map(b=>Xt.min(b)),y=h.map(b=>Xt.quantile(b,.25)),x=h.map(b=>Xt.quantile(b,.5)),$=h.map(b=>Xt.quantile(b,.75)),O=h.map(b=>Xt.max(b)),j=h.map((b,d)=>$[d]-y[d]),N=h.map((b,d)=>Math.max(m[d],y[d]-1.5*j[d])),I=h.map((b,d)=>Math.min(O[d],$[d]+1.5*j[d])),B=Array.from(a.values()).map((b,d)=>{let p=b.filter(w=>t[r][w]<N[d]||t[r][w]>I[d]);return{[r]:p.map(w=>t[r][w]),$raw:p.map(w=>t.$raw[w])}}),P={$raw:f,$group:u.map(b=>b.group),min:m,lwisker:N,Q1:y,median:x,Q3:$,uwisker:I,max:O,outliers:B};for(let b of o)P[b]=u.map(d=>d.group).map(d=>s.categories[d][b]);return P},{core_attrs:["x","y","xnudge","ynudge"]}),density:Object.assign(function(t,{n:e=512,kernel:n="gaussian"}={}){if(t.x!=null&&t.y!=null)throw new Error('"StatDensity" only supports "x" or "y", not both');let i=t.x??t.y;if(i==null)throw new Error('Missing aesthetics for "StatDensity": "x" or "y"');if(i.some(m=>typeof m!="number"))throw new Error('"StatDensity" requires a continuous aesthetic');if(n=$r[n],!n)throw new Error(`kernel must be one of ${Object.keys($r).map(m=>`"${m}"`).join(", ")}`);let r=Object.keys(t).filter(m=>!["x","y"].includes(m)&&!m.startsWith("$")),l=Kt(Object.fromEntries(r.map(m=>[m,t[m]]))),o=Kt({group:l??new Array(i.length).fill(0)}).map((m,y,x)=>x.categories[m]),s=Map.groupBy(t.$raw,(m,y)=>o[y]),c=Array.from(s.values()),a=Array.from(s.keys()),u=Array.from(Map.groupBy(i,(m,y)=>o[y]).values()),f={$raw:c,$group:a.map(m=>m.group)},h=u.map(m=>{let y=bo.nrd0(m),{min:x,max:$}=Xt.extent(m);x-=3*y,$+=3*y;let O=($-x)/(e-1);return Array.from({length:e},(N,I)=>x+I*O).map(N=>[N,Xt.mean(m.map(I=>n((N-I)/y)))/y])});for(let m of r)f[m]=a.map(y=>l.categories[y.group][m]);return t.x?f.points=h.map(m=>m.map(([y,x])=>({x:y,y:x}))):f.points=h.map(m=>m.map(([y,x])=>({x,y}))),f},{core_attrs:["x","y","xnudge","ynudge"]})},bo={nrd0:function(t){t=t.filter(r=>(typeof r=="number"||r instanceof Date)&&isFinite(r));let e=Xt.sd(t),n=Xt.quantile(t,.75)-Xt.quantile(t,.25);return .9*(Math.min(e,n/1.34)||1)*t.length**-.2},nrd:function(t){t=t.filter(r=>(typeof r=="number"||r instanceof Date)&&isFinite(r));let e=Xt.sd(t),n=Xt.quantile(t,.75)-Xt.quantile(t,.25);return 1.06*(Math.min(e,n/1.34)||1)*t.length**-.2}},$r={uniform:t=>Math.abs(t)<=1?.5:0,triangular:t=>Math.abs(t)<=1?1-Math.abs(t):0,epanechnikov:t=>Math.abs(t)<=1?.75*(1-t**2):0,biweight:t=>Math.abs(t)<=1?15/16*(1-t**2)**2:0,triweight:t=>Math.abs(t)<=1?35/32*(1-t**2)**3:0,tricube:t=>Math.abs(t)<=1?70/81*(1-Math.abs(t)**3)**3:0,gaussian:t=>Math.exp(-.5*t**2)/Math.sqrt(2*Math.PI),cosine:t=>Math.abs(t)<=1?Math.PI/4*Math.cos(Math.PI/2*t):0,logistic:t=>1/Math.cosh(t)**2/Math.PI,sigmoid:t=>2/(Math.exp(t)+Math.exp(-t))**2/Math.PI};function bn(t,e){return t==null||e==null?NaN:t<e?-1:t>e?1:t>=e?0:NaN}function ko(t,e){return t==null||e==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}function wl(t){let e,n,i;t.length!==2?(e=bn,n=(s,c)=>bn(t(s),c),i=(s,c)=>t(s)-c):(e=t===bn||t===ko?t:Ao,n=t,i=t);function r(s,c,a=0,u=s.length){if(a<u){if(e(c,c)!==0)return u;do{const f=a+u>>>1;n(s[f],c)<0?a=f+1:u=f}while(a<u)}return a}function l(s,c,a=0,u=s.length){if(a<u){if(e(c,c)!==0)return u;do{const f=a+u>>>1;n(s[f],c)<=0?a=f+1:u=f}while(a<u)}return a}function o(s,c,a=0,u=s.length){const f=r(s,c,a,u-1);return f>a&&i(s[f-1],c)>-i(s[f],c)?f-1:f}return{left:r,center:o,right:l}}function Ao(){return 0}function $o(t){return t===null?NaN:+t}const Mo=wl(bn),So=Mo.right;wl($o).center;const No=Math.sqrt(50),To=Math.sqrt(10),Co=Math.sqrt(2);function Cn(t,e,n){const i=(e-t)/Math.max(0,n),r=Math.floor(Math.log10(i)),l=i/Math.pow(10,r),o=l>=No?10:l>=To?5:l>=Co?2:1;let s,c,a;return r<0?(a=Math.pow(10,-r)/o,s=Math.round(t*a),c=Math.round(e*a),s/a<t&&++s,c/a>e&&--c,a=-a):(a=Math.pow(10,r)*o,s=Math.round(t/a),c=Math.round(e/a),s*a<t&&++s,c*a>e&&--c),c<s&&.5<=n&&n<2?Cn(t,e,n*2):[s,c,a]}function Oo(t,e,n){if(e=+e,t=+t,n=+n,!(n>0))return[];if(t===e)return[t];const i=e<t,[r,l,o]=i?Cn(e,t,n):Cn(t,e,n);if(!(l>=r))return[];const s=l-r+1,c=new Array(s);if(i)if(o<0)for(let a=0;a<s;++a)c[a]=(l-a)/-o;else for(let a=0;a<s;++a)c[a]=(l-a)*o;else if(o<0)for(let a=0;a<s;++a)c[a]=(r+a)/-o;else for(let a=0;a<s;++a)c[a]=(r+a)*o;return c}function di(t,e,n){return e=+e,t=+t,n=+n,Cn(t,e,n)[2]}function Eo(t,e,n){e=+e,t=+t,n=+n;const i=e<t,r=i?di(e,t,n):di(t,e,n);return(i?-1:1)*(r<0?1/-r:r)}var jo={value:()=>{}};function bl(){for(var t=0,e=arguments.length,n={},i;t<e;++t){if(!(i=arguments[t]+"")||i in n||/[\s.]/.test(i))throw new Error("illegal type: "+i);n[i]=[]}return new kn(n)}function kn(t){this._=t}function Po(t,e){return t.trim().split(/^|\s+/).map(function(n){var i="",r=n.indexOf(".");if(r>=0&&(i=n.slice(r+1),n=n.slice(0,r)),n&&!e.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:i}})}kn.prototype=bl.prototype={constructor:kn,on:function(t,e){var n=this._,i=Po(t+"",n),r,l=-1,o=i.length;if(arguments.length<2){for(;++l<o;)if((r=(t=i[l]).type)&&(r=Vo(n[r],t.name)))return r;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++l<o;)if(r=(t=i[l]).type)n[r]=Mr(n[r],t.name,e);else if(e==null)for(r in n)n[r]=Mr(n[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var n in e)t[n]=e[n].slice();return new kn(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var n=new Array(r),i=0,r,l;i<r;++i)n[i]=arguments[i+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(l=this._[t],i=0,r=l.length;i<r;++i)l[i].value.apply(e,n)},apply:function(t,e,n){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var i=this._[t],r=0,l=i.length;r<l;++r)i[r].value.apply(e,n)}};function Vo(t,e){for(var n=0,i=t.length,r;n<i;++n)if((r=t[n]).name===e)return r.value}function Mr(t,e,n){for(var i=0,r=t.length;i<r;++i)if(t[i].name===e){t[i]=jo,t=t.slice(0,i).concat(t.slice(i+1));break}return n!=null&&t.push({name:e,value:n}),t}var yi="http://www.w3.org/1999/xhtml";const Sr={svg:"http://www.w3.org/2000/svg",xhtml:yi,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function Gn(t){var e=t+="",n=e.indexOf(":");return n>=0&&(e=t.slice(0,n))!=="xmlns"&&(t=t.slice(n+1)),Sr.hasOwnProperty(e)?{space:Sr[e],local:t}:t}function Io(t){return function(){var e=this.ownerDocument,n=this.namespaceURI;return n===yi&&e.documentElement.namespaceURI===yi?e.createElement(t):e.createElementNS(n,t)}}function Bo(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function kl(t){var e=Gn(t);return(e.local?Bo:Io)(e)}function Lo(){}function Pi(t){return t==null?Lo:function(){return this.querySelector(t)}}function Xo(t){typeof t!="function"&&(t=Pi(t));for(var e=this._groups,n=e.length,i=new Array(n),r=0;r<n;++r)for(var l=e[r],o=l.length,s=i[r]=new Array(o),c,a,u=0;u<o;++u)(c=l[u])&&(a=t.call(c,c.__data__,u,l))&&("__data__"in c&&(a.__data__=c.__data__),s[u]=a);return new te(i,this._parents)}function Yo(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function Do(){return[]}function Al(t){return t==null?Do:function(){return this.querySelectorAll(t)}}function Ro(t){return function(){return Yo(t.apply(this,arguments))}}function Ho(t){typeof t=="function"?t=Ro(t):t=Al(t);for(var e=this._groups,n=e.length,i=[],r=[],l=0;l<n;++l)for(var o=e[l],s=o.length,c,a=0;a<s;++a)(c=o[a])&&(i.push(t.call(c,c.__data__,a,o)),r.push(c));return new te(i,r)}function $l(t){return function(){return this.matches(t)}}function Ml(t){return function(e){return e.matches(t)}}var zo=Array.prototype.find;function Fo(t){return function(){return zo.call(this.children,t)}}function qo(){return this.firstElementChild}function Wo(t){return this.select(t==null?qo:Fo(typeof t=="function"?t:Ml(t)))}var Go=Array.prototype.filter;function Uo(){return Array.from(this.children)}function Ko(t){return function(){return Go.call(this.children,t)}}function Qo(t){return this.selectAll(t==null?Uo:Ko(typeof t=="function"?t:Ml(t)))}function Zo(t){typeof t!="function"&&(t=$l(t));for(var e=this._groups,n=e.length,i=new Array(n),r=0;r<n;++r)for(var l=e[r],o=l.length,s=i[r]=[],c,a=0;a<o;++a)(c=l[a])&&t.call(c,c.__data__,a,l)&&s.push(c);return new te(i,this._parents)}function Sl(t){return new Array(t.length)}function Jo(){return new te(this._enter||this._groups.map(Sl),this._parents)}function On(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}On.prototype={constructor:On,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function _o(t){return function(){return t}}function ts(t,e,n,i,r,l){for(var o=0,s,c=e.length,a=l.length;o<a;++o)(s=e[o])?(s.__data__=l[o],i[o]=s):n[o]=new On(t,l[o]);for(;o<c;++o)(s=e[o])&&(r[o]=s)}function es(t,e,n,i,r,l,o){var s,c,a=new Map,u=e.length,f=l.length,h=new Array(u),m;for(s=0;s<u;++s)(c=e[s])&&(h[s]=m=o.call(c,c.__data__,s,e)+"",a.has(m)?r[s]=c:a.set(m,c));for(s=0;s<f;++s)m=o.call(t,l[s],s,l)+"",(c=a.get(m))?(i[s]=c,c.__data__=l[s],a.delete(m)):n[s]=new On(t,l[s]);for(s=0;s<u;++s)(c=e[s])&&a.get(h[s])===c&&(r[s]=c)}function ns(t){return t.__data__}function is(t,e){if(!arguments.length)return Array.from(this,ns);var n=e?es:ts,i=this._parents,r=this._groups;typeof t!="function"&&(t=_o(t));for(var l=r.length,o=new Array(l),s=new Array(l),c=new Array(l),a=0;a<l;++a){var u=i[a],f=r[a],h=f.length,m=rs(t.call(u,u&&u.__data__,a,i)),y=m.length,x=s[a]=new Array(y),$=o[a]=new Array(y),O=c[a]=new Array(h);n(u,f,x,$,O,m,e);for(var j=0,N=0,I,B;j<y;++j)if(I=x[j]){for(j>=N&&(N=j+1);!(B=$[N])&&++N<y;);I._next=B||null}}return o=new te(o,i),o._enter=s,o._exit=c,o}function rs(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function ls(){return new te(this._exit||this._groups.map(Sl),this._parents)}function as(t,e,n){var i=this.enter(),r=this,l=this.exit();return typeof t=="function"?(i=t(i),i&&(i=i.selection())):i=i.append(t+""),e!=null&&(r=e(r),r&&(r=r.selection())),n==null?l.remove():n(l),i&&r?i.merge(r).order():r}function os(t){for(var e=t.selection?t.selection():t,n=this._groups,i=e._groups,r=n.length,l=i.length,o=Math.min(r,l),s=new Array(r),c=0;c<o;++c)for(var a=n[c],u=i[c],f=a.length,h=s[c]=new Array(f),m,y=0;y<f;++y)(m=a[y]||u[y])&&(h[y]=m);for(;c<r;++c)s[c]=n[c];return new te(s,this._parents)}function ss(){for(var t=this._groups,e=-1,n=t.length;++e<n;)for(var i=t[e],r=i.length-1,l=i[r],o;--r>=0;)(o=i[r])&&(l&&o.compareDocumentPosition(l)^4&&l.parentNode.insertBefore(o,l),l=o);return this}function us(t){t||(t=cs);function e(f,h){return f&&h?t(f.__data__,h.__data__):!f-!h}for(var n=this._groups,i=n.length,r=new Array(i),l=0;l<i;++l){for(var o=n[l],s=o.length,c=r[l]=new Array(s),a,u=0;u<s;++u)(a=o[u])&&(c[u]=a);c.sort(e)}return new te(r,this._parents).order()}function cs(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function fs(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function hs(){return Array.from(this)}function ms(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var i=t[e],r=0,l=i.length;r<l;++r){var o=i[r];if(o)return o}return null}function ds(){let t=0;for(const e of this)++t;return t}function ys(){return!this.node()}function gs(t){for(var e=this._groups,n=0,i=e.length;n<i;++n)for(var r=e[n],l=0,o=r.length,s;l<o;++l)(s=r[l])&&t.call(s,s.__data__,l,r);return this}function xs(t){return function(){this.removeAttribute(t)}}function vs(t){return function(){this.removeAttributeNS(t.space,t.local)}}function ps(t,e){return function(){this.setAttribute(t,e)}}function ws(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function bs(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttribute(t):this.setAttribute(t,n)}}function ks(t,e){return function(){var n=e.apply(this,arguments);n==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,n)}}function As(t,e){var n=Gn(t);if(arguments.length<2){var i=this.node();return n.local?i.getAttributeNS(n.space,n.local):i.getAttribute(n)}return this.each((e==null?n.local?vs:xs:typeof e=="function"?n.local?ks:bs:n.local?ws:ps)(n,e))}function Nl(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function $s(t){return function(){this.style.removeProperty(t)}}function Ms(t,e,n){return function(){this.style.setProperty(t,e,n)}}function Ss(t,e,n){return function(){var i=e.apply(this,arguments);i==null?this.style.removeProperty(t):this.style.setProperty(t,i,n)}}function Ns(t,e,n){return arguments.length>1?this.each((e==null?$s:typeof e=="function"?Ss:Ms)(t,e,n??"")):Ge(this.node(),t)}function Ge(t,e){return t.style.getPropertyValue(e)||Nl(t).getComputedStyle(t,null).getPropertyValue(e)}function Ts(t){return function(){delete this[t]}}function Cs(t,e){return function(){this[t]=e}}function Os(t,e){return function(){var n=e.apply(this,arguments);n==null?delete this[t]:this[t]=n}}function Es(t,e){return arguments.length>1?this.each((e==null?Ts:typeof e=="function"?Os:Cs)(t,e)):this.node()[t]}function Tl(t){return t.trim().split(/^|\s+/)}function Vi(t){return t.classList||new Cl(t)}function Cl(t){this._node=t,this._names=Tl(t.getAttribute("class")||"")}Cl.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function Ol(t,e){for(var n=Vi(t),i=-1,r=e.length;++i<r;)n.add(e[i])}function El(t,e){for(var n=Vi(t),i=-1,r=e.length;++i<r;)n.remove(e[i])}function js(t){return function(){Ol(this,t)}}function Ps(t){return function(){El(this,t)}}function Vs(t,e){return function(){(e.apply(this,arguments)?Ol:El)(this,t)}}function Is(t,e){var n=Tl(t+"");if(arguments.length<2){for(var i=Vi(this.node()),r=-1,l=n.length;++r<l;)if(!i.contains(n[r]))return!1;return!0}return this.each((typeof e=="function"?Vs:e?js:Ps)(n,e))}function Bs(){this.textContent=""}function Ls(t){return function(){this.textContent=t}}function Xs(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function Ys(t){return arguments.length?this.each(t==null?Bs:(typeof t=="function"?Xs:Ls)(t)):this.node().textContent}function Ds(){this.innerHTML=""}function Rs(t){return function(){this.innerHTML=t}}function Hs(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function zs(t){return arguments.length?this.each(t==null?Ds:(typeof t=="function"?Hs:Rs)(t)):this.node().innerHTML}function Fs(){this.nextSibling&&this.parentNode.appendChild(this)}function qs(){return this.each(Fs)}function Ws(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Gs(){return this.each(Ws)}function Us(t){var e=typeof t=="function"?t:kl(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function Ks(){return null}function Qs(t,e){var n=typeof t=="function"?t:kl(t),i=e==null?Ks:typeof e=="function"?e:Pi(e);return this.select(function(){return this.insertBefore(n.apply(this,arguments),i.apply(this,arguments)||null)})}function Zs(){var t=this.parentNode;t&&t.removeChild(this)}function Js(){return this.each(Zs)}function _s(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function tu(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function eu(t){return this.select(t?tu:_s)}function nu(t){return arguments.length?this.property("__data__",t):this.node().__data__}function iu(t){return function(e){t.call(this,e,this.__data__)}}function ru(t){return t.trim().split(/^|\s+/).map(function(e){var n="",i=e.indexOf(".");return i>=0&&(n=e.slice(i+1),e=e.slice(0,i)),{type:e,name:n}})}function lu(t){return function(){var e=this.__on;if(e){for(var n=0,i=-1,r=e.length,l;n<r;++n)l=e[n],(!t.type||l.type===t.type)&&l.name===t.name?this.removeEventListener(l.type,l.listener,l.options):e[++i]=l;++i?e.length=i:delete this.__on}}}function au(t,e,n){return function(){var i=this.__on,r,l=iu(e);if(i){for(var o=0,s=i.length;o<s;++o)if((r=i[o]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=l,r.options=n),r.value=e;return}}this.addEventListener(t.type,l,n),r={type:t.type,name:t.name,value:e,listener:l,options:n},i?i.push(r):this.__on=[r]}}function ou(t,e,n){var i=ru(t+""),r,l=i.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,a=s.length,u;c<a;++c)for(r=0,u=s[c];r<l;++r)if((o=i[r]).type===u.type&&o.name===u.name)return u.value}return}for(s=e?au:lu,r=0;r<l;++r)this.each(s(i[r],e,n));return this}function jl(t,e,n){var i=Nl(t),r=i.CustomEvent;typeof r=="function"?r=new r(e,n):(r=i.document.createEvent("Event"),n?(r.initEvent(e,n.bubbles,n.cancelable),r.detail=n.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function su(t,e){return function(){return jl(this,t,e)}}function uu(t,e){return function(){return jl(this,t,e.apply(this,arguments))}}function cu(t,e){return this.each((typeof e=="function"?uu:su)(t,e))}function*fu(){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var i=t[e],r=0,l=i.length,o;r<l;++r)(o=i[r])&&(yield o)}var hu=[null];function te(t,e){this._groups=t,this._parents=e}function cn(){return new te([[document.documentElement]],hu)}function mu(){return this}te.prototype=cn.prototype={constructor:te,select:Xo,selectAll:Ho,selectChild:Wo,selectChildren:Qo,filter:Zo,data:is,enter:Jo,exit:ls,join:as,merge:os,selection:mu,order:ss,sort:us,call:fs,nodes:hs,node:ms,size:ds,empty:ys,each:gs,attr:As,style:Ns,property:Es,classed:Is,text:Ys,html:zs,raise:qs,lower:Gs,append:Us,insert:Qs,remove:Js,clone:eu,datum:nu,on:ou,dispatch:cu,[Symbol.iterator]:fu};function fn(t,e,n){t.prototype=e.prototype=n,n.constructor=t}function Un(t,e){var n=Object.create(t.prototype);for(var i in e)n[i]=e[i];return n}function Pe(){}var rn=.7,En=1/rn,ze="\\s*([+-]?\\d+)\\s*",ln="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ae="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",du=/^#([0-9a-f]{3,8})$/,yu=new RegExp(`^rgb\\(${ze},${ze},${ze}\\)$`),gu=new RegExp(`^rgb\\(${ae},${ae},${ae}\\)$`),xu=new RegExp(`^rgba\\(${ze},${ze},${ze},${ln}\\)$`),vu=new RegExp(`^rgba\\(${ae},${ae},${ae},${ln}\\)$`),pu=new RegExp(`^hsl\\(${ln},${ae},${ae}\\)$`),wu=new RegExp(`^hsla\\(${ln},${ae},${ae},${ln}\\)$`),Nr={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};fn(Pe,Ee,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:Tr,formatHex:Tr,formatHex8:bu,formatHsl:ku,formatRgb:Cr,toString:Cr});function Tr(){return this.rgb().formatHex()}function bu(){return this.rgb().formatHex8()}function ku(){return Vl(this).formatHsl()}function Cr(){return this.rgb().formatRgb()}function Ee(t){var e,n;return t=(t+"").trim().toLowerCase(),(e=du.exec(t))?(n=e[1].length,e=parseInt(e[1],16),n===6?Or(e):n===3?new Rt(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):n===8?yn(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):n===4?yn(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=yu.exec(t))?new Rt(e[1],e[2],e[3],1):(e=gu.exec(t))?new Rt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=xu.exec(t))?yn(e[1],e[2],e[3],e[4]):(e=vu.exec(t))?yn(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=pu.exec(t))?Pr(e[1],e[2]/100,e[3]/100,1):(e=wu.exec(t))?Pr(e[1],e[2]/100,e[3]/100,e[4]):Nr.hasOwnProperty(t)?Or(Nr[t]):t==="transparent"?new Rt(NaN,NaN,NaN,0):null}function Or(t){return new Rt(t>>16&255,t>>8&255,t&255,1)}function yn(t,e,n,i){return i<=0&&(t=e=n=NaN),new Rt(t,e,n,i)}function Pl(t){return t instanceof Pe||(t=Ee(t)),t?(t=t.rgb(),new Rt(t.r,t.g,t.b,t.opacity)):new Rt}function gi(t,e,n,i){return arguments.length===1?Pl(t):new Rt(t,e,n,i??1)}function Rt(t,e,n,i){this.r=+t,this.g=+e,this.b=+n,this.opacity=+i}fn(Rt,gi,Un(Pe,{brighter(t){return t=t==null?En:Math.pow(En,t),new Rt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?rn:Math.pow(rn,t),new Rt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Rt(Ce(this.r),Ce(this.g),Ce(this.b),jn(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Er,formatHex:Er,formatHex8:Au,formatRgb:jr,toString:jr}));function Er(){return`#${Te(this.r)}${Te(this.g)}${Te(this.b)}`}function Au(){return`#${Te(this.r)}${Te(this.g)}${Te(this.b)}${Te((isNaN(this.opacity)?1:this.opacity)*255)}`}function jr(){const t=jn(this.opacity);return`${t===1?"rgb(":"rgba("}${Ce(this.r)}, ${Ce(this.g)}, ${Ce(this.b)}${t===1?")":`, ${t})`}`}function jn(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Ce(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Te(t){return t=Ce(t),(t<16?"0":"")+t.toString(16)}function Pr(t,e,n,i){return i<=0?t=e=n=NaN:n<=0||n>=1?t=e=NaN:e<=0&&(t=NaN),new _t(t,e,n,i)}function Vl(t){if(t instanceof _t)return new _t(t.h,t.s,t.l,t.opacity);if(t instanceof Pe||(t=Ee(t)),!t)return new _t;if(t instanceof _t)return t;t=t.rgb();var e=t.r/255,n=t.g/255,i=t.b/255,r=Math.min(e,n,i),l=Math.max(e,n,i),o=NaN,s=l-r,c=(l+r)/2;return s?(e===l?o=(n-i)/s+(n<i)*6:n===l?o=(i-e)/s+2:o=(e-n)/s+4,s/=c<.5?l+r:2-l-r,o*=60):s=c>0&&c<1?0:o,new _t(o,s,c,t.opacity)}function $u(t,e,n,i){return arguments.length===1?Vl(t):new _t(t,e,n,i??1)}function _t(t,e,n,i){this.h=+t,this.s=+e,this.l=+n,this.opacity=+i}fn(_t,$u,Un(Pe,{brighter(t){return t=t==null?En:Math.pow(En,t),new _t(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?rn:Math.pow(rn,t),new _t(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,n=this.l,i=n+(n<.5?n:1-n)*e,r=2*n-i;return new Rt(ei(t>=240?t-240:t+120,r,i),ei(t,r,i),ei(t<120?t+240:t-120,r,i),this.opacity)},clamp(){return new _t(Vr(this.h),gn(this.s),gn(this.l),jn(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const t=jn(this.opacity);return`${t===1?"hsl(":"hsla("}${Vr(this.h)}, ${gn(this.s)*100}%, ${gn(this.l)*100}%${t===1?")":`, ${t})`}`}}));function Vr(t){return t=(t||0)%360,t<0?t+360:t}function gn(t){return Math.max(0,Math.min(1,t||0))}function ei(t,e,n){return(t<60?e+(n-e)*t/60:t<180?n:t<240?e+(n-e)*(240-t)/60:e)*255}const Mu=Math.PI/180,Su=180/Math.PI,Pn=18,Il=.96422,Bl=1,Ll=.82521,Xl=4/29,Fe=6/29,Yl=3*Fe*Fe,Nu=Fe*Fe*Fe;function Dl(t){if(t instanceof oe)return new oe(t.l,t.a,t.b,t.opacity);if(t instanceof de)return Hl(t);t instanceof Rt||(t=Pl(t));var e=li(t.r),n=li(t.g),i=li(t.b),r=ni((.2225045*e+.7168786*n+.0606169*i)/Bl),l,o;return e===n&&n===i?l=o=r:(l=ni((.4360747*e+.3850649*n+.1430804*i)/Il),o=ni((.0139322*e+.0971045*n+.7141733*i)/Ll)),new oe(116*r-16,500*(l-r),200*(r-o),t.opacity)}function xi(t,e,n,i){return arguments.length===1?Dl(t):new oe(t,e,n,i??1)}function oe(t,e,n,i){this.l=+t,this.a=+e,this.b=+n,this.opacity=+i}fn(oe,xi,Un(Pe,{brighter(t){return new oe(this.l+Pn*(t??1),this.a,this.b,this.opacity)},darker(t){return new oe(this.l-Pn*(t??1),this.a,this.b,this.opacity)},rgb(){var t=(this.l+16)/116,e=isNaN(this.a)?t:t+this.a/500,n=isNaN(this.b)?t:t-this.b/200;return e=Il*ii(e),t=Bl*ii(t),n=Ll*ii(n),new Rt(ri(3.1338561*e-1.6168667*t-.4906146*n),ri(-.9787684*e+1.9161415*t+.033454*n),ri(.0719453*e-.2289914*t+1.4052427*n),this.opacity)}}));function ni(t){return t>Nu?Math.pow(t,1/3):t/Yl+Xl}function ii(t){return t>Fe?t*t*t:Yl*(t-Xl)}function ri(t){return 255*(t<=.0031308?12.92*t:1.055*Math.pow(t,1/2.4)-.055)}function li(t){return(t/=255)<=.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)}function Tu(t){if(t instanceof de)return new de(t.h,t.c,t.l,t.opacity);if(t instanceof oe||(t=Dl(t)),t.a===0&&t.b===0)return new de(NaN,0<t.l&&t.l<100?0:NaN,t.l,t.opacity);var e=Math.atan2(t.b,t.a)*Su;return new de(e<0?e+360:e,Math.sqrt(t.a*t.a+t.b*t.b),t.l,t.opacity)}function Rl(t,e,n,i){return arguments.length===1?Tu(t):new de(t,e,n,i??1)}function de(t,e,n,i){this.h=+t,this.c=+e,this.l=+n,this.opacity=+i}function Hl(t){if(isNaN(t.h))return new oe(t.l,0,0,t.opacity);var e=t.h*Mu;return new oe(t.l,Math.cos(e)*t.c,Math.sin(e)*t.c,t.opacity)}fn(de,Rl,Un(Pe,{brighter(t){return new de(this.h,this.c,this.l+Pn*(t??1),this.opacity)},darker(t){return new de(this.h,this.c,this.l-Pn*(t??1),this.opacity)},rgb(){return Hl(this).rgb()}}));const Ii=t=>()=>t;function Cu(t,e){return function(n){return t+n*e}}function Ou(t,e,n){return t=Math.pow(t,n),e=Math.pow(e,n)-t,n=1/n,function(i){return Math.pow(t+i*e,n)}}function Eu(t){return(t=+t)==1?Ye:function(e,n){return n-e?Ou(e,n,t):Ii(isNaN(e)?n:e)}}function Ye(t,e){var n=e-t;return n?Cu(t,n):Ii(isNaN(t)?e:t)}const Vn=(function t(e){var n=Eu(e);function i(r,l){var o=n((r=gi(r)).r,(l=gi(l)).r),s=n(r.g,l.g),c=n(r.b,l.b),a=Ye(r.opacity,l.opacity);return function(u){return r.r=o(u),r.g=s(u),r.b=c(u),r.opacity=a(u),r+""}}return i.gamma=t,i})(1);function ju(t,e){e||(e=[]);var n=t?Math.min(e.length,t.length):0,i=e.slice(),r;return function(l){for(r=0;r<n;++r)i[r]=t[r]*(1-l)+e[r]*l;return i}}function Pu(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function Vu(t,e){var n=e?e.length:0,i=t?Math.min(n,t.length):0,r=new Array(i),l=new Array(n),o;for(o=0;o<i;++o)r[o]=Bi(t[o],e[o]);for(;o<n;++o)l[o]=e[o];return function(s){for(o=0;o<i;++o)l[o]=r[o](s);return l}}function Iu(t,e){var n=new Date;return t=+t,e=+e,function(i){return n.setTime(t*(1-i)+e*i),n}}function Jt(t,e){return t=+t,e=+e,function(n){return t*(1-n)+e*n}}function Bu(t,e){var n={},i={},r;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(r in e)r in t?n[r]=Bi(t[r],e[r]):i[r]=e[r];return function(l){for(r in n)i[r]=n[r](l);return i}}var vi=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,ai=new RegExp(vi.source,"g");function Lu(t){return function(){return t}}function Xu(t){return function(e){return t(e)+""}}function zl(t,e){var n=vi.lastIndex=ai.lastIndex=0,i,r,l,o=-1,s=[],c=[];for(t=t+"",e=e+"";(i=vi.exec(t))&&(r=ai.exec(e));)(l=r.index)>n&&(l=e.slice(n,l),s[o]?s[o]+=l:s[++o]=l),(i=i[0])===(r=r[0])?s[o]?s[o]+=r:s[++o]=r:(s[++o]=null,c.push({i:o,x:Jt(i,r)})),n=ai.lastIndex;return n<e.length&&(l=e.slice(n),s[o]?s[o]+=l:s[++o]=l),s.length<2?c[0]?Xu(c[0].x):Lu(e):(e=c.length,function(a){for(var u=0,f;u<e;++u)s[(f=c[u]).i]=f.x(a);return s.join("")})}function Bi(t,e){var n=typeof e,i;return e==null||n==="boolean"?Ii(e):(n==="number"?Jt:n==="string"?(i=Ee(e))?(e=i,Vn):zl:e instanceof Ee?Vn:e instanceof Date?Iu:Pu(e)?ju:Array.isArray(e)?Vu:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?Bu:Jt)(t,e)}function Yu(t,e){return t=+t,e=+e,function(n){return Math.round(t*(1-n)+e*n)}}var Ir=180/Math.PI,pi={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Fl(t,e,n,i,r,l){var o,s,c;return(o=Math.sqrt(t*t+e*e))&&(t/=o,e/=o),(c=t*n+e*i)&&(n-=t*c,i-=e*c),(s=Math.sqrt(n*n+i*i))&&(n/=s,i/=s,c/=s),t*i<e*n&&(t=-t,e=-e,c=-c,o=-o),{translateX:r,translateY:l,rotate:Math.atan2(e,t)*Ir,skewX:Math.atan(c)*Ir,scaleX:o,scaleY:s}}var xn;function Du(t){const e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?pi:Fl(e.a,e.b,e.c,e.d,e.e,e.f)}function Ru(t){return t==null||(xn||(xn=document.createElementNS("http://www.w3.org/2000/svg","g")),xn.setAttribute("transform",t),!(t=xn.transform.baseVal.consolidate()))?pi:(t=t.matrix,Fl(t.a,t.b,t.c,t.d,t.e,t.f))}function ql(t,e,n,i){function r(a){return a.length?a.pop()+" ":""}function l(a,u,f,h,m,y){if(a!==f||u!==h){var x=m.push("translate(",null,e,null,n);y.push({i:x-4,x:Jt(a,f)},{i:x-2,x:Jt(u,h)})}else(f||h)&&m.push("translate("+f+e+h+n)}function o(a,u,f,h){a!==u?(a-u>180?u+=360:u-a>180&&(a+=360),h.push({i:f.push(r(f)+"rotate(",null,i)-2,x:Jt(a,u)})):u&&f.push(r(f)+"rotate("+u+i)}function s(a,u,f,h){a!==u?h.push({i:f.push(r(f)+"skewX(",null,i)-2,x:Jt(a,u)}):u&&f.push(r(f)+"skewX("+u+i)}function c(a,u,f,h,m,y){if(a!==f||u!==h){var x=m.push(r(m)+"scale(",null,",",null,")");y.push({i:x-4,x:Jt(a,f)},{i:x-2,x:Jt(u,h)})}else(f!==1||h!==1)&&m.push(r(m)+"scale("+f+","+h+")")}return function(a,u){var f=[],h=[];return a=t(a),u=t(u),l(a.translateX,a.translateY,u.translateX,u.translateY,f,h),o(a.rotate,u.rotate,f,h),s(a.skewX,u.skewX,f,h),c(a.scaleX,a.scaleY,u.scaleX,u.scaleY,f,h),a=u=null,function(m){for(var y=-1,x=h.length,$;++y<x;)f[($=h[y]).i]=$.x(m);return f.join("")}}}var Hu=ql(Du,"px, ","px)","deg)"),zu=ql(Ru,", ",")",")");function wi(t,e){var n=Ye((t=xi(t)).l,(e=xi(e)).l),i=Ye(t.a,e.a),r=Ye(t.b,e.b),l=Ye(t.opacity,e.opacity);return function(o){return t.l=n(o),t.a=i(o),t.b=r(o),t.opacity=l(o),t+""}}var Ue=0,_e=0,Ze=0,Wl=1e3,In,tn,Bn=0,je=0,Kn=0,an=typeof performance=="object"&&performance.now?performance:Date,Gl=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Li(){return je||(Gl(Fu),je=an.now()+Kn)}function Fu(){je=0}function Ln(){this._call=this._time=this._next=null}Ln.prototype=Ul.prototype={constructor:Ln,restart:function(t,e,n){if(typeof t!="function")throw new TypeError("callback is not a function");n=(n==null?Li():+n)+(e==null?0:+e),!this._next&&tn!==this&&(tn?tn._next=this:In=this,tn=this),this._call=t,this._time=n,bi()},stop:function(){this._call&&(this._call=null,this._time=1/0,bi())}};function Ul(t,e,n){var i=new Ln;return i.restart(t,e,n),i}function qu(){Li(),++Ue;for(var t=In,e;t;)(e=je-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Ue}function Br(){je=(Bn=an.now())+Kn,Ue=_e=0;try{qu()}finally{Ue=0,Gu(),je=0}}function Wu(){var t=an.now(),e=t-Bn;e>Wl&&(Kn-=e,Bn=t)}function Gu(){for(var t,e=In,n,i=1/0;e;)e._call?(i>e._time&&(i=e._time),t=e,e=e._next):(n=e._next,e._next=null,e=t?t._next=n:In=n);tn=t,bi(i)}function bi(t){if(!Ue){_e&&(_e=clearTimeout(_e));var e=t-je;e>24?(t<1/0&&(_e=setTimeout(Br,t-an.now()-Kn)),Ze&&(Ze=clearInterval(Ze))):(Ze||(Bn=an.now(),Ze=setInterval(Wu,Wl)),Ue=1,Gl(Br))}}function Lr(t,e,n){var i=new Ln;return e=e==null?0:+e,i.restart(r=>{i.stop(),t(r+e)},e,n),i}var Uu=bl("start","end","cancel","interrupt"),Ku=[],Kl=0,Xr=1,ki=2,An=3,Yr=4,Ai=5,$n=6;function Qn(t,e,n,i,r,l){var o=t.__transition;if(!o)t.__transition={};else if(n in o)return;Qu(t,n,{name:e,index:i,group:r,on:Uu,tween:Ku,time:l.time,delay:l.delay,duration:l.duration,ease:l.ease,timer:null,state:Kl})}function Xi(t,e){var n=ee(t,e);if(n.state>Kl)throw new Error("too late; already scheduled");return n}function se(t,e){var n=ee(t,e);if(n.state>An)throw new Error("too late; already running");return n}function ee(t,e){var n=t.__transition;if(!n||!(n=n[e]))throw new Error("transition not found");return n}function Qu(t,e,n){var i=t.__transition,r;i[e]=n,n.timer=Ul(l,0,n.time);function l(a){n.state=Xr,n.timer.restart(o,n.delay,n.time),n.delay<=a&&o(a-n.delay)}function o(a){var u,f,h,m;if(n.state!==Xr)return c();for(u in i)if(m=i[u],m.name===n.name){if(m.state===An)return Lr(o);m.state===Yr?(m.state=$n,m.timer.stop(),m.on.call("interrupt",t,t.__data__,m.index,m.group),delete i[u]):+u<e&&(m.state=$n,m.timer.stop(),m.on.call("cancel",t,t.__data__,m.index,m.group),delete i[u])}if(Lr(function(){n.state===An&&(n.state=Yr,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=ki,n.on.call("start",t,t.__data__,n.index,n.group),n.state===ki){for(n.state=An,r=new Array(h=n.tween.length),u=0,f=-1;u<h;++u)(m=n.tween[u].value.call(t,t.__data__,n.index,n.group))&&(r[++f]=m);r.length=f+1}}function s(a){for(var u=a<n.duration?n.ease.call(null,a/n.duration):(n.timer.restart(c),n.state=Ai,1),f=-1,h=r.length;++f<h;)r[f].call(t,u);n.state===Ai&&(n.on.call("end",t,t.__data__,n.index,n.group),c())}function c(){n.state=$n,n.timer.stop(),delete i[e];for(var a in i)return;delete t.__transition}}function Zu(t,e){var n=t.__transition,i,r,l=!0,o;if(n){e=e==null?null:e+"";for(o in n){if((i=n[o]).name!==e){l=!1;continue}r=i.state>ki&&i.state<Ai,i.state=$n,i.timer.stop(),i.on.call(r?"interrupt":"cancel",t,t.__data__,i.index,i.group),delete n[o]}l&&delete t.__transition}}function Ju(t){return this.each(function(){Zu(this,t)})}function _u(t,e){var n,i;return function(){var r=se(this,t),l=r.tween;if(l!==n){i=n=l;for(var o=0,s=i.length;o<s;++o)if(i[o].name===e){i=i.slice(),i.splice(o,1);break}}r.tween=i}}function tc(t,e,n){var i,r;if(typeof n!="function")throw new Error;return function(){var l=se(this,t),o=l.tween;if(o!==i){r=(i=o).slice();for(var s={name:e,value:n},c=0,a=r.length;c<a;++c)if(r[c].name===e){r[c]=s;break}c===a&&r.push(s)}l.tween=r}}function ec(t,e){var n=this._id;if(t+="",arguments.length<2){for(var i=ee(this.node(),n).tween,r=0,l=i.length,o;r<l;++r)if((o=i[r]).name===t)return o.value;return null}return this.each((e==null?_u:tc)(n,t,e))}function Yi(t,e,n){var i=t._id;return t.each(function(){var r=se(this,i);(r.value||(r.value={}))[e]=n.apply(this,arguments)}),function(r){return ee(r,i).value[e]}}function Ql(t,e){var n;return(typeof e=="number"?Jt:e instanceof Ee?Vn:(n=Ee(e))?(e=n,Vn):zl)(t,e)}function nc(t){return function(){this.removeAttribute(t)}}function ic(t){return function(){this.removeAttributeNS(t.space,t.local)}}function rc(t,e,n){var i,r=n+"",l;return function(){var o=this.getAttribute(t);return o===r?null:o===i?l:l=e(i=o,n)}}function lc(t,e,n){var i,r=n+"",l;return function(){var o=this.getAttributeNS(t.space,t.local);return o===r?null:o===i?l:l=e(i=o,n)}}function ac(t,e,n){var i,r,l;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(t):(o=this.getAttribute(t),c=s+"",o===c?null:o===i&&c===r?l:(r=c,l=e(i=o,s)))}}function oc(t,e,n){var i,r,l;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(t.space,t.local):(o=this.getAttributeNS(t.space,t.local),c=s+"",o===c?null:o===i&&c===r?l:(r=c,l=e(i=o,s)))}}function sc(t,e){var n=Gn(t),i=n==="transform"?zu:Ql;return this.attrTween(t,typeof e=="function"?(n.local?oc:ac)(n,i,Yi(this,"attr."+t,e)):e==null?(n.local?ic:nc)(n):(n.local?lc:rc)(n,i,e))}function uc(t,e){return function(n){this.setAttribute(t,e.call(this,n))}}function cc(t,e){return function(n){this.setAttributeNS(t.space,t.local,e.call(this,n))}}function fc(t,e){var n,i;function r(){var l=e.apply(this,arguments);return l!==i&&(n=(i=l)&&cc(t,l)),n}return r._value=e,r}function hc(t,e){var n,i;function r(){var l=e.apply(this,arguments);return l!==i&&(n=(i=l)&&uc(t,l)),n}return r._value=e,r}function mc(t,e){var n="attr."+t;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(e==null)return this.tween(n,null);if(typeof e!="function")throw new Error;var i=Gn(t);return this.tween(n,(i.local?fc:hc)(i,e))}function dc(t,e){return function(){Xi(this,t).delay=+e.apply(this,arguments)}}function yc(t,e){return e=+e,function(){Xi(this,t).delay=e}}function gc(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?dc:yc)(e,t)):ee(this.node(),e).delay}function xc(t,e){return function(){se(this,t).duration=+e.apply(this,arguments)}}function vc(t,e){return e=+e,function(){se(this,t).duration=e}}function pc(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?xc:vc)(e,t)):ee(this.node(),e).duration}function wc(t,e){if(typeof e!="function")throw new Error;return function(){se(this,t).ease=e}}function bc(t){var e=this._id;return arguments.length?this.each(wc(e,t)):ee(this.node(),e).ease}function kc(t,e){return function(){var n=e.apply(this,arguments);if(typeof n!="function")throw new Error;se(this,t).ease=n}}function Ac(t){if(typeof t!="function")throw new Error;return this.each(kc(this._id,t))}function $c(t){typeof t!="function"&&(t=$l(t));for(var e=this._groups,n=e.length,i=new Array(n),r=0;r<n;++r)for(var l=e[r],o=l.length,s=i[r]=[],c,a=0;a<o;++a)(c=l[a])&&t.call(c,c.__data__,a,l)&&s.push(c);return new xe(i,this._parents,this._name,this._id)}function Mc(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,n=t._groups,i=e.length,r=n.length,l=Math.min(i,r),o=new Array(i),s=0;s<l;++s)for(var c=e[s],a=n[s],u=c.length,f=o[s]=new Array(u),h,m=0;m<u;++m)(h=c[m]||a[m])&&(f[m]=h);for(;s<i;++s)o[s]=e[s];return new xe(o,this._parents,this._name,this._id)}function Sc(t){return(t+"").trim().split(/^|\s+/).every(function(e){var n=e.indexOf(".");return n>=0&&(e=e.slice(0,n)),!e||e==="start"})}function Nc(t,e,n){var i,r,l=Sc(e)?Xi:se;return function(){var o=l(this,t),s=o.on;s!==i&&(r=(i=s).copy()).on(e,n),o.on=r}}function Tc(t,e){var n=this._id;return arguments.length<2?ee(this.node(),n).on.on(t):this.each(Nc(n,t,e))}function Cc(t){return function(){var e=this.parentNode;for(var n in this.__transition)if(+n!==t)return;e&&e.removeChild(this)}}function Oc(){return this.on("end.remove",Cc(this._id))}function Ec(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Pi(t));for(var i=this._groups,r=i.length,l=new Array(r),o=0;o<r;++o)for(var s=i[o],c=s.length,a=l[o]=new Array(c),u,f,h=0;h<c;++h)(u=s[h])&&(f=t.call(u,u.__data__,h,s))&&("__data__"in u&&(f.__data__=u.__data__),a[h]=f,Qn(a[h],e,n,h,a,ee(u,n)));return new xe(l,this._parents,e,n)}function jc(t){var e=this._name,n=this._id;typeof t!="function"&&(t=Al(t));for(var i=this._groups,r=i.length,l=[],o=[],s=0;s<r;++s)for(var c=i[s],a=c.length,u,f=0;f<a;++f)if(u=c[f]){for(var h=t.call(u,u.__data__,f,c),m,y=ee(u,n),x=0,$=h.length;x<$;++x)(m=h[x])&&Qn(m,e,n,x,h,y);l.push(h),o.push(u)}return new xe(l,o,e,n)}var Pc=cn.prototype.constructor;function Vc(){return new Pc(this._groups,this._parents)}function Ic(t,e){var n,i,r;return function(){var l=Ge(this,t),o=(this.style.removeProperty(t),Ge(this,t));return l===o?null:l===n&&o===i?r:r=e(n=l,i=o)}}function Zl(t){return function(){this.style.removeProperty(t)}}function Bc(t,e,n){var i,r=n+"",l;return function(){var o=Ge(this,t);return o===r?null:o===i?l:l=e(i=o,n)}}function Lc(t,e,n){var i,r,l;return function(){var o=Ge(this,t),s=n(this),c=s+"";return s==null&&(c=s=(this.style.removeProperty(t),Ge(this,t))),o===c?null:o===i&&c===r?l:(r=c,l=e(i=o,s))}}function Xc(t,e){var n,i,r,l="style."+e,o="end."+l,s;return function(){var c=se(this,t),a=c.on,u=c.value[l]==null?s||(s=Zl(e)):void 0;(a!==n||r!==u)&&(i=(n=a).copy()).on(o,r=u),c.on=i}}function Yc(t,e,n){var i=(t+="")=="transform"?Hu:Ql;return e==null?this.styleTween(t,Ic(t,i)).on("end.style."+t,Zl(t)):typeof e=="function"?this.styleTween(t,Lc(t,i,Yi(this,"style."+t,e))).each(Xc(this._id,t)):this.styleTween(t,Bc(t,i,e),n).on("end.style."+t,null)}function Dc(t,e,n){return function(i){this.style.setProperty(t,e.call(this,i),n)}}function Rc(t,e,n){var i,r;function l(){var o=e.apply(this,arguments);return o!==r&&(i=(r=o)&&Dc(t,o,n)),i}return l._value=e,l}function Hc(t,e,n){var i="style."+(t+="");if(arguments.length<2)return(i=this.tween(i))&&i._value;if(e==null)return this.tween(i,null);if(typeof e!="function")throw new Error;return this.tween(i,Rc(t,e,n??""))}function zc(t){return function(){this.textContent=t}}function Fc(t){return function(){var e=t(this);this.textContent=e??""}}function qc(t){return this.tween("text",typeof t=="function"?Fc(Yi(this,"text",t)):zc(t==null?"":t+""))}function Wc(t){return function(e){this.textContent=t.call(this,e)}}function Gc(t){var e,n;function i(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&Wc(r)),e}return i._value=t,i}function Uc(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,Gc(t))}function Kc(){for(var t=this._name,e=this._id,n=Jl(),i=this._groups,r=i.length,l=0;l<r;++l)for(var o=i[l],s=o.length,c,a=0;a<s;++a)if(c=o[a]){var u=ee(c,e);Qn(c,t,n,a,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new xe(i,this._parents,t,n)}function Qc(){var t,e,n=this,i=n._id,r=n.size();return new Promise(function(l,o){var s={value:o},c={value:function(){--r===0&&l()}};n.each(function(){var a=se(this,i),u=a.on;u!==t&&(e=(t=u).copy(),e._.cancel.push(s),e._.interrupt.push(s),e._.end.push(c)),a.on=e}),r===0&&l()})}var Zc=0;function xe(t,e,n,i){this._groups=t,this._parents=e,this._name=n,this._id=i}function Jl(){return++Zc}var fe=cn.prototype;xe.prototype={constructor:xe,select:Ec,selectAll:jc,selectChild:fe.selectChild,selectChildren:fe.selectChildren,filter:$c,merge:Mc,selection:Vc,transition:Kc,call:fe.call,nodes:fe.nodes,node:fe.node,size:fe.size,empty:fe.empty,each:fe.each,on:Tc,attr:sc,attrTween:mc,style:Yc,styleTween:Hc,text:qc,textTween:Uc,remove:Oc,tween:ec,delay:gc,duration:pc,ease:bc,easeVarying:Ac,end:Qc,[Symbol.iterator]:fe[Symbol.iterator]};function Jc(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var _c={time:null,delay:0,duration:250,ease:Jc};function tf(t,e){for(var n;!(n=t.__transition)||!(n=n[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return n}function ef(t){var e,n;t instanceof xe?(e=t._id,t=t._name):(e=Jl(),(n=_c).time=Li(),t=t==null?null:t+"");for(var i=this._groups,r=i.length,l=0;l<r;++l)for(var o=i[l],s=o.length,c,a=0;a<s;++a)(c=o[a])&&Qn(c,t,e,a,o,n||tf(c,e));return new xe(i,this._parents,t,e)}cn.prototype.interrupt=Ju;cn.prototype.transition=ef;const $i=Math.PI,Mi=2*$i,Me=1e-6,nf=Mi-Me;function _l(t){this._+=t[0];for(let e=1,n=t.length;e<n;++e)this._+=arguments[e]+t[e]}function rf(t){let e=Math.floor(t);if(!(e>=0))throw new Error(`invalid digits: ${t}`);if(e>15)return _l;const n=10**e;return function(i){this._+=i[0];for(let r=1,l=i.length;r<l;++r)this._+=Math.round(arguments[r]*n)/n+i[r]}}class lf{constructor(e){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=e==null?_l:rf(e)}moveTo(e,n){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(e,n){this._append`L${this._x1=+e},${this._y1=+n}`}quadraticCurveTo(e,n,i,r){this._append`Q${+e},${+n},${this._x1=+i},${this._y1=+r}`}bezierCurveTo(e,n,i,r,l,o){this._append`C${+e},${+n},${+i},${+r},${this._x1=+l},${this._y1=+o}`}arcTo(e,n,i,r,l){if(e=+e,n=+n,i=+i,r=+r,l=+l,l<0)throw new Error(`negative radius: ${l}`);let o=this._x1,s=this._y1,c=i-e,a=r-n,u=o-e,f=s-n,h=u*u+f*f;if(this._x1===null)this._append`M${this._x1=e},${this._y1=n}`;else if(h>Me)if(!(Math.abs(f*c-a*u)>Me)||!l)this._append`L${this._x1=e},${this._y1=n}`;else{let m=i-o,y=r-s,x=c*c+a*a,$=m*m+y*y,O=Math.sqrt(x),j=Math.sqrt(h),N=l*Math.tan(($i-Math.acos((x+h-$)/(2*O*j)))/2),I=N/j,B=N/O;Math.abs(I-1)>Me&&this._append`L${e+I*u},${n+I*f}`,this._append`A${l},${l},0,0,${+(f*m>u*y)},${this._x1=e+B*c},${this._y1=n+B*a}`}}arc(e,n,i,r,l,o){if(e=+e,n=+n,i=+i,o=!!o,i<0)throw new Error(`negative radius: ${i}`);let s=i*Math.cos(r),c=i*Math.sin(r),a=e+s,u=n+c,f=1^o,h=o?r-l:l-r;this._x1===null?this._append`M${a},${u}`:(Math.abs(this._x1-a)>Me||Math.abs(this._y1-u)>Me)&&this._append`L${a},${u}`,i&&(h<0&&(h=h%Mi+Mi),h>nf?this._append`A${i},${i},0,1,${f},${e-s},${n-c}A${i},${i},0,1,${f},${this._x1=a},${this._y1=u}`:h>Me&&this._append`A${i},${i},0,${+(h>=$i)},${f},${this._x1=e+i*Math.cos(l)},${this._y1=n+i*Math.sin(l)}`)}rect(e,n,i,r){this._append`M${this._x0=this._x1=+e},${this._y0=this._y1=+n}h${i=+i}v${+r}h${-i}Z`}toString(){return this._}}function af(t){return Math.abs(t=Math.round(t))>=1e21?t.toLocaleString("en").replace(/,/g,""):t.toString(10)}function Xn(t,e){if(!isFinite(t)||t===0)return null;var n=(t=e?t.toExponential(e-1):t.toExponential()).indexOf("e"),i=t.slice(0,n);return[i.length>1?i[0]+i.slice(2):i,+t.slice(n+1)]}function Ke(t){return t=Xn(Math.abs(t)),t?t[1]:NaN}function of(t,e){return function(n,i){for(var r=n.length,l=[],o=0,s=t[0],c=0;r>0&&s>0&&(c+s+1>i&&(s=Math.max(1,i-c)),l.push(n.substring(r-=s,r+s)),!((c+=s+1)>i));)s=t[o=(o+1)%t.length];return l.reverse().join(e)}}function sf(t){return function(e){return e.replace(/[0-9]/g,function(n){return t[+n]})}}var uf=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Yn(t){if(!(e=uf.exec(t)))throw new Error("invalid format: "+t);var e;return new Di({fill:e[1],align:e[2],sign:e[3],symbol:e[4],zero:e[5],width:e[6],comma:e[7],precision:e[8]&&e[8].slice(1),trim:e[9],type:e[10]})}Yn.prototype=Di.prototype;function Di(t){this.fill=t.fill===void 0?" ":t.fill+"",this.align=t.align===void 0?">":t.align+"",this.sign=t.sign===void 0?"-":t.sign+"",this.symbol=t.symbol===void 0?"":t.symbol+"",this.zero=!!t.zero,this.width=t.width===void 0?void 0:+t.width,this.comma=!!t.comma,this.precision=t.precision===void 0?void 0:+t.precision,this.trim=!!t.trim,this.type=t.type===void 0?"":t.type+""}Di.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function cf(t){t:for(var e=t.length,n=1,i=-1,r;n<e;++n)switch(t[n]){case".":i=r=n;break;case"0":i===0&&(i=n),r=n;break;default:if(!+t[n])break t;i>0&&(i=0);break}return i>0?t.slice(0,i)+t.slice(r+1):t}var Dn;function ff(t,e){var n=Xn(t,e);if(!n)return Dn=void 0,t.toPrecision(e);var i=n[0],r=n[1],l=r-(Dn=Math.max(-8,Math.min(8,Math.floor(r/3)))*3)+1,o=i.length;return l===o?i:l>o?i+new Array(l-o+1).join("0"):l>0?i.slice(0,l)+"."+i.slice(l):"0."+new Array(1-l).join("0")+Xn(t,Math.max(0,e+l-1))[0]}function Dr(t,e){var n=Xn(t,e);if(!n)return t+"";var i=n[0],r=n[1];return r<0?"0."+new Array(-r).join("0")+i:i.length>r+1?i.slice(0,r+1)+"."+i.slice(r+1):i+new Array(r-i.length+2).join("0")}const Rr={"%":(t,e)=>(t*100).toFixed(e),b:t=>Math.round(t).toString(2),c:t=>t+"",d:af,e:(t,e)=>t.toExponential(e),f:(t,e)=>t.toFixed(e),g:(t,e)=>t.toPrecision(e),o:t=>Math.round(t).toString(8),p:(t,e)=>Dr(t*100,e),r:Dr,s:ff,X:t=>Math.round(t).toString(16).toUpperCase(),x:t=>Math.round(t).toString(16)};function Hr(t){return t}var zr=Array.prototype.map,Fr=["y","z","a","f","p","n","\xB5","m","","k","M","G","T","P","E","Z","Y"];function hf(t){var e=t.grouping===void 0||t.thousands===void 0?Hr:of(zr.call(t.grouping,Number),t.thousands+""),n=t.currency===void 0?"":t.currency[0]+"",i=t.currency===void 0?"":t.currency[1]+"",r=t.decimal===void 0?".":t.decimal+"",l=t.numerals===void 0?Hr:sf(zr.call(t.numerals,String)),o=t.percent===void 0?"%":t.percent+"",s=t.minus===void 0?"\u2212":t.minus+"",c=t.nan===void 0?"NaN":t.nan+"";function a(f,h){f=Yn(f);var m=f.fill,y=f.align,x=f.sign,$=f.symbol,O=f.zero,j=f.width,N=f.comma,I=f.precision,B=f.trim,P=f.type;P==="n"?(N=!0,P="g"):Rr[P]||(I===void 0&&(I=12),B=!0,P="g"),(O||m==="0"&&y==="=")&&(O=!0,m="0",y="=");var b=(h&&h.prefix!==void 0?h.prefix:"")+($==="$"?n:$==="#"&&/[boxX]/.test(P)?"0"+P.toLowerCase():""),d=($==="$"?i:/[%p]/.test(P)?o:"")+(h&&h.suffix!==void 0?h.suffix:""),p=Rr[P],w=/[defgprs%]/.test(P);I=I===void 0?6:/[gprs]/.test(P)?Math.max(1,Math.min(21,I)):Math.max(0,Math.min(20,I));function S(k){var X=b,L=d,H,z,R;if(P==="c")L=p(k)+L,k="";else{k=+k;var F=k<0||1/k<0;if(k=isNaN(k)?c:p(Math.abs(k),I),B&&(k=cf(k)),F&&+k==0&&x!=="+"&&(F=!1),X=(F?x==="("?x:s:x==="-"||x==="("?"":x)+X,L=(P==="s"&&!isNaN(k)&&Dn!==void 0?Fr[8+Dn/3]:"")+L+(F&&x==="("?")":""),w){for(H=-1,z=k.length;++H<z;)if(R=k.charCodeAt(H),48>R||R>57){L=(R===46?r+k.slice(H+1):k.slice(H))+L,k=k.slice(0,H);break}}}N&&!O&&(k=e(k,1/0));var Q=X.length+k.length+L.length,K=Q<j?new Array(j-Q+1).join(m):"";switch(N&&O&&(k=e(K+k,K.length?j-L.length:1/0),K=""),y){case"<":k=X+k+L+K;break;case"=":k=X+K+k+L;break;case"^":k=K.slice(0,Q=K.length>>1)+X+k+L+K.slice(Q);break;default:k=K+X+k+L;break}return l(k)}return S.toString=function(){return f+""},S}function u(f,h){var m=Math.max(-8,Math.min(8,Math.floor(Ke(h)/3)))*3,y=Math.pow(10,-m),x=a((f=Yn(f),f.type="f",f),{suffix:Fr[8+m/3]});return function($){return x(y*$)}}return{format:a,formatPrefix:u}}var vn,ta,ea;mf({thousands:",",grouping:[3],currency:["$",""]});function mf(t){return vn=hf(t),ta=vn.format,ea=vn.formatPrefix,vn}function df(t){return Math.max(0,-Ke(Math.abs(t)))}function yf(t,e){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Ke(e)/3)))*3-Ke(Math.abs(t)))}function gf(t,e){return t=Math.abs(t),e=Math.abs(e)-t,Math.max(0,Ke(e)-Ke(t))+1}function xf(t,e){switch(arguments.length){case 0:break;case 1:this.range(t);break;default:this.range(e).domain(t);break}return this}function vf(t){return function(){return t}}function pf(t){return+t}var qr=[0,1];function De(t){return t}function Si(t,e){return(e-=t=+t)?function(n){return(n-t)/e}:vf(isNaN(e)?NaN:.5)}function wf(t,e){var n;return t>e&&(n=t,t=e,e=n),function(i){return Math.max(t,Math.min(e,i))}}function bf(t,e,n){var i=t[0],r=t[1],l=e[0],o=e[1];return r<i?(i=Si(r,i),l=n(o,l)):(i=Si(i,r),l=n(l,o)),function(s){return l(i(s))}}function kf(t,e,n){var i=Math.min(t.length,e.length)-1,r=new Array(i),l=new Array(i),o=-1;for(t[i]<t[0]&&(t=t.slice().reverse(),e=e.slice().reverse());++o<i;)r[o]=Si(t[o],t[o+1]),l[o]=n(e[o],e[o+1]);return function(s){var c=So(t,s,1,i)-1;return l[c](r[c](s))}}function Af(t,e){return e.domain(t.domain()).range(t.range()).interpolate(t.interpolate()).clamp(t.clamp()).unknown(t.unknown())}function $f(){var t=qr,e=qr,n=Bi,i,r,l,o=De,s,c,a;function u(){var h=Math.min(t.length,e.length);return o!==De&&(o=wf(t[0],t[h-1])),s=h>2?kf:bf,c=a=null,f}function f(h){return h==null||isNaN(h=+h)?l:(c||(c=s(t.map(i),e,n)))(i(o(h)))}return f.invert=function(h){return o(r((a||(a=s(e,t.map(i),Jt)))(h)))},f.domain=function(h){return arguments.length?(t=Array.from(h,pf),u()):t.slice()},f.range=function(h){return arguments.length?(e=Array.from(h),u()):e.slice()},f.rangeRound=function(h){return e=Array.from(h),n=Yu,u()},f.clamp=function(h){return arguments.length?(o=h?!0:De,u()):o!==De},f.interpolate=function(h){return arguments.length?(n=h,u()):n},f.unknown=function(h){return arguments.length?(l=h,f):l},function(h,m){return i=h,r=m,u()}}function Mf(){return $f()(De,De)}function Sf(t,e,n,i){var r=Eo(t,e,n),l;switch(i=Yn(i??",f"),i.type){case"s":{var o=Math.max(Math.abs(t),Math.abs(e));return i.precision==null&&!isNaN(l=yf(r,o))&&(i.precision=l),ea(i,o)}case"":case"e":case"g":case"p":case"r":{i.precision==null&&!isNaN(l=gf(r,Math.max(Math.abs(t),Math.abs(e))))&&(i.precision=l-(i.type==="e"));break}case"f":case"%":{i.precision==null&&!isNaN(l=df(r))&&(i.precision=l-(i.type==="%")*2);break}}return ta(i)}function Nf(t){var e=t.domain;return t.ticks=function(n){var i=e();return Oo(i[0],i[i.length-1],n??10)},t.tickFormat=function(n,i){var r=e();return Sf(r[0],r[r.length-1],n??10,i)},t.nice=function(n){n==null&&(n=10);var i=e(),r=0,l=i.length-1,o=i[r],s=i[l],c,a,u=10;for(s<o&&(a=o,o=s,s=a,a=r,r=l,l=a);u-- >0;){if(a=di(o,s,n),a===c)return i[r]=o,i[l]=s,e(i);if(a>0)o=Math.floor(o/a)*a,s=Math.ceil(s/a)*a;else if(a<0)o=Math.ceil(o*a)/a,s=Math.floor(s*a)/a;else break;c=a}return t},t}function na(){var t=Mf();return t.copy=function(){return Af(t,na())},xf.apply(t,arguments),Nf(t)}function Be(t){return function(){return t}}const Wr=1e-12;function Tf(t){let e=3;return t.digits=function(n){if(!arguments.length)return e;if(n==null)e=null;else{const i=Math.floor(n);if(!(i>=0))throw new RangeError(`invalid digits: ${n}`);e=i}return t},()=>new lf(e)}function Cf(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function ia(t){this._context=t}ia.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;default:this._context.lineTo(t,e);break}}};function Ri(t){return new ia(t)}function Of(t){return t[0]}function Ef(t){return t[1]}function jf(t,e){var n=Be(!0),i=null,r=Ri,l=null,o=Tf(s);t=typeof t=="function"?t:t===void 0?Of:Be(t),e=typeof e=="function"?e:e===void 0?Ef:Be(e);function s(c){var a,u=(c=Cf(c)).length,f,h=!1,m;for(i==null&&(l=r(m=o())),a=0;a<=u;++a)!(a<u&&n(f=c[a],a,c))===h&&((h=!h)?l.lineStart():l.lineEnd()),h&&l.point(+t(f,a,c),+e(f,a,c));if(m)return l=null,m+""||null}return s.x=function(c){return arguments.length?(t=typeof c=="function"?c:Be(+c),s):t},s.y=function(c){return arguments.length?(e=typeof c=="function"?c:Be(+c),s):e},s.defined=function(c){return arguments.length?(n=typeof c=="function"?c:Be(!!c),s):n},s.curve=function(c){return arguments.length?(r=c,i!=null&&(l=r(i)),s):r},s.context=function(c){return arguments.length?(c==null?i=l=null:l=r(i=c),s):i},s}function Gr(t,e,n){t._context.bezierCurveTo(t._x1+t._k*(t._x2-t._x0),t._y1+t._k*(t._y2-t._y0),t._x2+t._k*(t._x1-e),t._y2+t._k*(t._y1-n),t._x2,t._y2)}function Hi(t,e){this._context=t,this._k=(1-e)/6}Hi.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:Gr(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){switch(t=+t,e=+e,this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2,this._x1=t,this._y1=e;break;case 2:this._point=3;default:Gr(this,t,e);break}this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const ra=(function t(e){function n(i){return new Hi(i,e)}return n.tension=function(i){return t(+i)},n})(0);function Pf(t,e,n){var i=t._x1,r=t._y1,l=t._x2,o=t._y2;if(t._l01_a>Wr){var s=2*t._l01_2a+3*t._l01_a*t._l12_a+t._l12_2a,c=3*t._l01_a*(t._l01_a+t._l12_a);i=(i*s-t._x0*t._l12_2a+t._x2*t._l01_2a)/c,r=(r*s-t._y0*t._l12_2a+t._y2*t._l01_2a)/c}if(t._l23_a>Wr){var a=2*t._l23_2a+3*t._l23_a*t._l12_a+t._l12_2a,u=3*t._l23_a*(t._l23_a+t._l12_a);l=(l*a+t._x1*t._l23_2a-e*t._l12_2a)/u,o=(o*a+t._y1*t._l23_2a-n*t._l12_2a)/u}t._context.bezierCurveTo(i,r,l,o,t._x2,t._y2)}function la(t,e){this._context=t,this._alpha=e}la.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(t,e){if(t=+t,e=+e,this._point){var n=this._x2-t,i=this._y2-e;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+i*i,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(t,e):this._context.moveTo(t,e);break;case 1:this._point=2;break;case 2:this._point=3;default:Pf(this,t,e);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=t,this._y0=this._y1,this._y1=this._y2,this._y2=e}};const aa=(function t(e){function n(i){return e?new la(i,e):new Hi(i,0)}return n.alpha=function(i){return t(+i)},n})(.5);function oa(t){this._context=t}oa.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var t=this._x,e=this._y,n=t.length;if(n)if(this._line?this._context.lineTo(t[0],e[0]):this._context.moveTo(t[0],e[0]),n===2)this._context.lineTo(t[1],e[1]);else for(var i=Ur(t),r=Ur(e),l=0,o=1;o<n;++l,++o)this._context.bezierCurveTo(i[0][l],r[0][l],i[1][l],r[1][l],t[o],e[o]);(this._line||this._line!==0&&n===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(t,e){this._x.push(+t),this._y.push(+e)}};function Ur(t){var e,n=t.length-1,i,r=new Array(n),l=new Array(n),o=new Array(n);for(r[0]=0,l[0]=2,o[0]=t[0]+2*t[1],e=1;e<n-1;++e)r[e]=1,l[e]=4,o[e]=4*t[e]+2*t[e+1];for(r[n-1]=2,l[n-1]=7,o[n-1]=8*t[n-1]+t[n],e=1;e<n;++e)i=r[e]/l[e-1],l[e]-=i,o[e]-=i*o[e-1];for(r[n-1]=o[n-1]/l[n-1],e=n-2;e>=0;--e)r[e]=(o[e]-r[e+1])/l[e];for(l[n-1]=(t[n]+r[n-1])/2,e=0;e<n-1;++e)l[e]=2*t[e+1]-r[e+1];return[r,l]}function Rn(t){return new oa(t)}function en(t,e,n){this.k=t,this.x=e,this.y=n}en.prototype={constructor:en,scale:function(t){return t===1?this:new en(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new en(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};en.prototype;const Vf={censor:ke,squish(t,{min:e,max:n}){return isFinite(t)?t<e?e:t>n?n:t:t},squish_any:yt,squish_infinite:mi,discard(t,{min:e,max:n}){return t<e||t>n?null:t}};function Xe(t,{title:e,...n}={}){return Object.assign(function(i){return i.map(t)},{title:e},n)}function sa({values:t={},na_value:e=null,title:n,...i}={}){let r;return Array.isArray(t)?r=function(l){return l.map(o=>t[+o]??e)}:r=function(l){return l.map(o=>t[o]??e)},Object.assign(r,{title:n},i)}function Le({limits:t,oob:e=ke,range:n=[0,1],na_value:i=null,null_value:r=null,title:l,...o}={}){return Object.assign(function(c){let a=this?.limits?.min??this?.limits?.[0]??c.extent?.[0],u=this?.limits?.max??this?.limits?.[1]??c.extent?.[1],f=u-a,h=n?.min??n[0],m=n?.max??n[1],y=m-h;return c.map(x=>(x=this.oob(x,{min:a,max:u}),x===null?r:isNaN(x)?i:h+(x-a)/f*y))},{title:l,limits:t,oob:e},o)}function Kr({title:t,...e}={}){return Object.assign(function(n){return n.map(i=>+i)},{asis:!0,title:t},e)}function Ni({title:t,...e}={}){return Object.assign(function(n){return n.map(i=>String(i??""))},{asis:!0,title:t},e)}function Hn({h:t=[15,375],c:e=100,l:n=65,h_start:i=0,direction:r=1,limits:l,oob:o=ke,na_value:s="#7f7f7f",null_value:c=null,title:a,...u}={}){return Object.assign(function(h){let m=this?.limits?.min??this?.limits?.[0]??h.extent?.[0],y=this?.limits?.max??this?.limits?.[1]??h.extent?.[1],x=y-m,$=t?.min??t[0],O=t?.max??t[1],j=O-$;return h.map(N=>(N=this.oob(N,{min:m,max:y}),N===null?c:isNaN(N)?s:Rl(i+$+j*(N-m)/x*r,e,n).toString()))},{title:a,limits:l,oob:o},u)}function If({values:t,na_value:e="#7f7f7f",title:n,...i}={}){return sa({values:t,na_value:e,title:n,...i})}function zn({low:t="#132B43",high:e="#56B1F7",limits:n,oob:i=ke,na_value:r="#7f7f7f",null_value:l=null,title:o,...s}={}){return Object.assign(function(a){let u=this?.limits?.min??this?.limits?.[0]??a.extent?.[0],f=this?.limits?.max??this?.limits?.[1]??a.extent?.[1],h=wi(t,e);return a.map(m=>(m=this.oob(m,{min:u,max:f}),m===null?l:isNaN(m)?r:u===f?h(.5):m>f?e:m<u?t:h((m-u)/(f-u))))},{title:o,limits:n,oob:i},s)}function Bf({low:t="#832424",mid:e="white",high:n="#3A3A98",midpoint:i=0,limits:r,oob:l=ke,na_value:o="#7f7f7f",null_value:s=null,title:c,...a}={}){return Object.assign(function(f){let h=this?.limits?.min??this?.limits?.[0]??f.extent?.[0],m=this?.limits?.max??this?.limits?.[1]??f.extent?.[1],y=i??(h+m)/2,x=wi(t,e),$=wi(e,n);return f.map(O=>(O=this.oob(O,{min:h,max:m}),O===null?s:isNaN(O)?o:O<y?x((O-h)/(y-h)):$((O-y)/(m-y))))},{title:c,limits:r,oob:l},a)}function Lf({colors:t=[],values:e,anchors:n,limits:i,oob:r=ke,na_value:l="#7f7f7f",null_value:o=null,title:s,...c}={}){return Object.assign(function(u){let f=this?.limits?.min??this?.limits?.[0]??u.extent?.[0],h=this?.limits?.max??this?.limits?.[1]??u.extent?.[1],m=e??n?.map?.(x=>f+(h-f)*x);m??=Array(t.length).fill(0).map((x,$)=>f+(h-f)*$/(t.length-1)),t=t.filter((x,$)=>!isNaN(m[$])),m=m.filter(x=>!isNaN(x));let y=na(m,t);return u.map(x=>(x=this.oob(x,{min:f,max:h}),x===null?o:isNaN(x)?l:y(x)))},{title:s,limits:i,oob:r},c)}function Qr({limits:t,oob:e=ke,title:n,...i}={}){let r=Hn(),l=zn();return Object.assign(function(s){return s.level!=null?r.call(this,s):l.call(this,s)},{title:n,limits:t,oob:e},i)}function Xf({discrete:t,continuous:e,limits:n,oob:i=ke,title:r,...l}={}){return t??=Hn(),e??=zn(),Object.assign(function(s){return s.level!=null?t.call(this,s):e.call(this,s)},{title:r,limits:n,oob:i},l)}function Zr({title:t,...e}={}){let n=["circle","square","triangle","diamond","plus"];return Object.assign(function(r){return r.map(l=>n[+l])},{title:t},e)}function Jr({title:t,...e}={}){let n=["solid","22","42","44","13","1343","73","2262","12223242","F282","F4448444","224282F2","F1"];return Object.assign(function(r){return r.map(l=>n[+l])},{title:t},e)}const oi={identity:({title:t,...e}={})=>Ni({legend:!1,title:t,...e}),discrete:Hn,hue:Hn,manual:If,continuous:zn,gradient:zn,gradient2:Bf,gradientn:Lf,dynamic:Xf,auto:Qr,custom:Xe,default:Qr},ua={color:oi,stroke:oi,fill:oi,alpha:{continuous:Le,custom:Xe,default:({title:t,...e}={})=>Le({range:[.1,1],title:t,...e})},size:{identity:({title:t,...e}={})=>Kr({legend:!1,title:t,...e}),continuous:Le,custom:Xe,default:({title:t,...e}={})=>Le({range:[1,6],title:t,...e})},linewidth:{identity:({title:t,...e}={})=>Kr({legend:!1,title:t,...e}),continuous:Le,manual:sa,custom:Xe,default:({title:t,...e}={})=>Le({range:[1,6],title:t,...e})},linetype:{identity:({title:t,...e}={})=>Ni({legend:!1,title:t,...e}),discrete:Jr,default:Jr,custom:Xe},shape:{identity:({title:t,...e}={})=>Ni({legend:!1,title:t,...e}),discrete:Zr,default:Zr,custom:Xe}};function Yf({step:t,minor:e=!1}={}){return function({min:n,max:i,minor:r=e}={}){let l=i-n,o=t;if(isNaN(l)||l<0)return[];if(l==0)return[n];let s=10**Math.floor(Math.log10(l)-1),c=l/s;o==null&&(o=([5,10,20].find(f=>f*5>c)??20)*s),r&&(o/=2);let a=Math.ceil(n/o),u=Math.floor(i/o);return new Array(u-a+1).fill(null).map((f,h)=>(a+h)*o)}}function Df(){return function({min:t,max:e}={}){let n=e-t;if(isNaN(n)||n<0)return[];if(n==0)return[new Date(t)];let i=new Date(t),r=new Date(e),l=i.getUTCFullYear(),o=i.getUTCMonth(),s=i.getUTCDate(),c=i.getUTCHours(),a=i.getUTCMinutes(),u=i.getUTCSeconds(),f=[];if(n>3*31536e6){let h=n/31536e6,m=10**Math.floor(Math.log10(h)-1),y=h/m,x=Math.max((y>50?10:y>25?5:2)*m,1);i=new Date(Date.UTC(Math.ceil(l/x)*x));do f.push(new Date(i));while(i.setUTCFullYear(i.getUTCFullYear()+x)<r)}else if(n>3*2592e6){let h=n/2592e6,m=[2,3,6].findLast(y=>y*3<=h)||1;i=new Date(Date.UTC(l,Math.ceil(o/m)*m));do f.push(new Date(i));while(i.setUTCMonth(i.getUTCMonth()+m)<r)}else if(n>21*864e5){i=new Date(Date.UTC(l,o,s+(7-i.getUTCDay())%7));do f.push(new Date(i));while(i.setUTCDate(i.getUTCDate()+7)<r)}else if(n>3*864e5){let h=n/864e5,m=[2,3].findLast(y=>y*3<=h)||1;i=new Date(Date.UTC(l,o,Math.ceil(s)));do f.push(new Date(i));while(i.setUTCDate(i.getUTCDate()+m)<r)}else if(n>3*36e5){let h=n/36e5,m=[2,3,6].findLast(y=>y*3<=h)||1;i=new Date(Date.UTC(l,o,s,Math.ceil(c/m)*m));do f.push(new Date(i));while(i.setUTCHours(i.getUTCHours()+m)<r)}else if(n>3*6e4){let h=n/6e4,m=[2,5,10,30].findLast(y=>y*3<=h)||1;i=new Date(Date.UTC(l,o,s,c,Math.ceil(a/m)*m));do f.push(new Date(i));while(i.setUTCMinutes(i.getUTCMinutes()+m)<r)}else if(n>3e3){let h=n/1e3,m=[2,5,10,30].findLast(y=>y*3<=h)||1;i=new Date(Date.UTC(l,o,s,c,a,Math.ceil(u/m)*m));do f.push(new Date(i));while(i.setUTCSeconds(i.getUTCSeconds()+m)<r)}else{let h=10**Math.floor(Math.log10(n)-1),m=n/h,y=(m>50?20:m>25?10:5)*h,x=Math.ceil(t/y),$=Math.floor(e/y);return new Array($-x+1).fill(null).map((O,j)=>new Date((x+j)*y))}return f}}const Zn={number:Yf,datetime:Df};let Rf={y:t=>t.getUTCFullYear(),M:t=>t.getUTCMonth()+1,d:t=>t.getUTCDate(),h:t=>t.getUTCHours(),m:t=>t.getUTCMinutes(),s:t=>t.getUTCSeconds()};function Ti(t,e="yyyy-MM-dd hh:mm:ss"){return e.replace(/(y|M|d|h|m|s)\1*/g,(n,i)=>{let r=String(Rf[i](t)),l=n.length;return i=="y"?r.slice(-l):r.padStart(l,"0")})}const ca={default:{"":1,k:1e3,M:1e6,G:1e9,T:1e12,P:1e15,E:1e18,Z:1e21,Y:1e24},si:{y:1e-24,z:1e-21,a:1e-18,f:1e-15,p:1e-12,n:1e-9,\u03BC:1e-6,m:.001,"":1,k:1e3,M:1e6,G:1e9,T:1e12,P:1e15,E:1e18,Z:1e21,Y:1e24},binary:{"":1,Ki:1024,Mi:1024**2,Gi:1024**3,Ti:1024**4,Pi:1024**5,Ei:1024**6,Zi:1024**7,Yi:1024**8},time:{ns:1e-9,\u03BCs:1e-6,ms:.001,s:1,m:60,h:3600,d:86400,w:604800,M:2592e3,y:31536e3}};function Hf(){return function(t){return t==null?"":t instanceof Date?Ti(t):String(t)}}function fa({accuracy:t,scale:e=1,prefix:n="",suffix:i="",big_mark:r=" ",style_positive:l="none",style_negative:o="hyphen",scale_cut:s={"":1}}={}){let c={plus:"+",space:" "}[l]??"",a={hyphen:"-",minus:"\u2212",parens:"("}[o]??"";return function(u,f,h=[u]){let m;if(t)m=t;else if(h.length>1){let N=h.filter(B=>isFinite(B)).sort((B,P)=>B-P);m=N.slice(1).map((B,P)=>B-N[P]).reduce((B,P)=>B<P?B:P)*e}else m=u||1;let y=Object.entries(s).sort((N,I)=>I[1]-N[1]).find(N=>N[1]<=m)?.[0]??"",x=(y==""?"":" ")+y+i;m=m/(s[y]??1);let $=Math.max(0,Math.ceil(-Math.log10(m))),O=Math.round(u*e/(s[y]??1)/m)*m,j=n+(O>0?c:O<0?a:"");return O<0&&o=="parens"&&(x=")"+x),O=Math.abs(O).toFixed($).replace(new RegExp("(?<!\\..*)(\\d)(?=(?:\\d{3})+(?:\\.|$))","g"),"$1"+r),j+O+x}}function Ci({format:t}={}){let e={y:31536e3,M:2678400,d:86400,h:3600,m:60,s:1},n={y:0,M:5,d:8,h:11,m:14,s:17},i={y:4,M:7,d:10,h:13,m:16,s:19};return function(r,l,o=[r]){if(o.length<=1)return Ti(new Date(r),t);if(t==null){let s=Array.from(o).sort((h,m)=>h-m),c=s.slice(1).map((h,m)=>h-s[m]).reduce((h,m)=>h<m?h:m)/1e3,a=(s[s.length-1]-s[0])/1e3,u=["y","M","d","m","s"].find(h=>e[h]<=c),f=a>2678400?"y":a>86400?"M":"h";t="yyyy-MM-dd hh:mm:ss".slice(n[f],i[u])}return Ti(new Date(r),t)}}function _r(t){let e=fa(t),n=Ci(t);return function(i,r,l=[i]){return i instanceof gl?String(i):i instanceof Date?n(i,r,l):e(i,r,l)}}const Oi={number:fa,datetime:Ci,timestamp:Ci,asis:Hf,auto:_r,default:function(t){return _r({scale_cut:ca.default,...t})}};function zf(t,e){return t==null?{}:Object.fromEntries(Object.entries(t).map(([n,i])=>[n,e(n,i)]))}class Ff{constructor(e,n){let{data:i=[],aes:r,extendX:l,extendY:o}=n,{geom:s,stat:c,data:a,aes:u,levels:f={},scales:h={},attrs:m,args:y,vBind:x,extendX:$,extendY:O}=e;if(!be[s]){console.error(`Invalid geom "${s}"`,"in layer",e,", plot",n);return}let j=typeof c=="function"?c:wo[c];if(j==null){console.error(`Invalid stat "${c}"`,"in layer",e,", plot",n);return}this.geom=s,this.vBind=Object.assign(x,{extendX:$??l??0,extendY:O??o??0}),this.scales={},typeof a=="function"&&(a=a(i)),a==null&&(a=i),u={...r,...u};let N={},I={};for(const b in u)I[b]=String(u[b]),N[b]=a.map(u[b]);N.$raw=a;let B=j?.core_attrs??["x","y","xnudge","ynudge"],P=a.length;P==0&&(P=B.map(b=>m[b]).filter(b=>b!=null).reduce((b,d)=>Math.max(Array.isArray(d)?d.length:1,b),0));for(const b in m)if(B.includes(b))if(Array.isArray(m[b])){if(m[b].length!=P)throw new Error(`Attribute "${b}" must have the same length as data (${P})`);N[b]=m[b]}else{if(m[b]==null)continue;N[b]=new Array(P).fill(m[b])}try{if(N=j(N,y||{}),N.$group??=N.group,N.$group==null){let b=Object.values(N).filter(d=>Array.isArray(d)).reduce((d,p)=>Math.max(d,p.length),0);N.$group=new Array(b).fill(null)}}catch(b){console.error("Error",b,"in layer",e,", plot",n);return}this.localScales=new Set([...Object.keys(f).filter(b=>f[b]!=null),...Object.keys(h).filter(b=>h[b]!=null)]),this.aes=new Set([...this.localScales,...be[s]?.scale_attrs??[]]),this.$data=N,this.$fns=I,this.data={...N};for(const b in N)if(h[b]!=null){let d=new Jn(h[b]);d.aesthetics=b,d.title===void 0&&(d.title=I[b]);let p=this.$data[b];if(!p?.length)continue;d.asis||(f?.[b]!=null?d.level=f[b]:p.some(w=>typeof w=="string")?d.level=He.from(p):d.extent=Xt.extent(p)),this.applyScale(b,d)}this.attrs={};for(const b in m)if(!B.includes(b))if(Array.isArray(m[b])){if(m[b].length!=P)throw new Error(`Attribute "${b}" must have the same length as data (${P})`);this.data[b]=m[b]}else this.attrs[b]=m[b],m[b]!=null&&(this.data[b]=new Array(P).fill(m[b]))}applyScale(e,n){let i=this.$data[e];i!=null&&(n.level&&(i=n.level.apply(i)),n.limits&&(i.extent=n.limits),n.aes=e,this.data[e]=n(i),this.scales[e]=n)}applyCoordScale(e){try{Object.assign(this.data,be[this.geom]?.coord_scale?.(this.$data,e))}catch(n){console.error(n)}}}class qf{constructor(e,n){this.levels={},this.extents={},this.layers=[],this.coordScales={};for(let i in n)this.layers.push(new Ff(n[i],e));this.layers=this.layers.filter(i=>i.$data!=null),this.aes=new Set(this.layers.flatMap(i=>Array.from(i.aes))),this.scales=new Map}useScales(e,n){this.scales=new Map;for(const i of this.aes){let r=this.layers.filter(l=>!l.localScales.has(i)).flatMap(l=>l.$data[i]??[]);if(r.length!=0){let l=new Jn(e?.[i]??ua[i].default());l.aesthetics=i,l.asis||(n?.[i]!=null?l.level=n[i]:r.some(o=>typeof o=="string")?l.level=He.from(r):l.extent=Xt.extent(r)),l.title==null&&(l.title=this.layers.map(o=>o.$fns?.[i]).find(o=>o!=null));for(const o of this.layers)o.localScales.has(i)||o.applyScale(i,l)}for(const l of this.layers){let o=l.scales?.[i];if(o!=null&&!o.asis){this.scales.has(o)||this.scales.set(o,{});let s=this.scales.get(o);s[l.geom]==null&&(s[l.geom]={});for(let c of be[l.geom]?.scale_attrs)l.attrs[c]!=null&&(s[l.geom][c]=l.attrs[c])}}}return this}useCoordLevels(e={}){for(const n of["x","y"])if(e[n])this.levels[n]=new He(...e[n]);else{let i=this.layers.flatMap(r=>(be[r.geom].get_values??be[r.geom].get_range)?.(r.$data,n));i.some(r=>typeof r=="string")?this.levels[n]=He.from(i):(i=this.layers.flatMap(r=>be[r.geom].get_range?.(r.$data,n)).filter(r=>!isNaN(r)),this.extents[n]=Xt.extent(i))}for(const n of this.layers)n.applyCoordScale(this.levels);return this}getComputedLayers(){return this.layers.map(e=>({data:Object.values(Object.groupBy(e.data.$group.map((i,r)=>be[e.geom].validate(zf(e.data,(l,o)=>o?.[r]))).filter(i=>i!=null),i=>i.$group)),geom:e.geom,vBind:e.vBind}))}getCoordScales(e,n,i){let r={};if(this._range=e,this.levels.x){let l=+(e?.xmin??-.5)-(+n.x?.min||0),o=+(e?.xmax??this.levels.x.length-.5)+(+n.x?.max||0);r.x=new Fn(this.levels.x,{min:l,max:o})}else{let l=e?.xmin??this.extents.x?.min??0,o=e?.xmax??this.extents.x?.max??0,s=st(l,-n.x?.min||0),c=st(o,+n.x?.max||0),a=i?.x??1;if(c-s<a)if(e?.xmax==null&&e?.xmin!=null)c=st(s,+a);else if(e?.xmax!=null&&e?.xmin==null)s=st(c,-a);else{let u=c-s;c=st(c,-u/2+a/2),s=st(c,-a)}s instanceof Date||c instanceof Date?r.x=new qn({min:s,max:c}):r.x=new on({min:s,max:c})}if(this.levels.y){let l=+(e?.ymin??-.5)-(+n.y?.min||0),o=+(e?.ymax??this.levels.y.length-.5)+(+n.y?.max||0);r.y=new Fn(this.levels.y,{min:l,max:o})}else{let l=e?.ymin??this.extents.y?.min??0,o=e?.ymax??this.extents.y?.max??0,s=st(l,-n.y?.min),c=st(o,+n.y?.max||0),a=i?.y??1;if(c-s<a)if(e?.ymax==null&&e?.ymin!=null)c=st(s,+a);else if(e?.ymax!=null&&e?.ymin==null)s=st(c,-a);else{let u=c-s;c=st(c,-u/2+a/2),s=st(c,-a)}s instanceof Date||c instanceof Date?r.y=new qn({min:s,max:c}):r.y=new on({min:s,max:c})}return r}render(e,n,i){let r=this.getCoordScales(e,n,i);return{layers:this.getComputedLayers(),coordScales:r,scales:this.scales}}}class Jn extends Function{constructor(e){let n=e._fn??e;function i(){return n.apply(i,arguments)}return Object.setPrototypeOf(i,Jn.prototype),Object.assign(i,e),i._fn=n,i}set extent({min:e,max:n,0:i,1:r}={}){e??=i,n??=r,this._limits={0:e,1:n,length:2,min:e,max:n}}get extent(){return this.limits}set limits({min:e,max:n,0:i,1:r}={}){e??=i,n??=r,this.$limits={0:e,1:n,length:2,min:e,max:n}}get limits(){let e=this.$limits?.min??(this.level?0:this._limits?.min),n=this.$limits?.max??this.level?.length??this._limits?.max;return{0:e,1:n,length:2,min:e,max:n}}}class Fn extends Function{constructor(e,{min:n,max:i}={}){const r=n==i?l=>0:l=>(+l-n)/(i-n);return r.range={min:n,max:i},r.level=e,Object.setPrototypeOf(r,Fn.prototype),r}invert(e){let{min:n,max:i}=this.range;return e*(i-n)+n}get breaks(){return Array.from(this.level)}get minorBreaks(){return[]}}class on extends Function{constructor(e){let{min:n,max:i}=e;const r=n==i?l=>isFinite(l)?.5:l:l=>(+l-n)/(i-n);return r.range={min:n,max:i},Object.setPrototypeOf(r,on.prototype),r}invert(e){let{min:n,max:i}=this.range;return st(n,e*(i-n))}get breaks(){return Zn.number()}}class qn extends on{constructor(e){let n=super(e);return Object.setPrototypeOf(n,qn.prototype),n}get breaks(){return Zn.datetime()}get minorBreaks(){return[]}}class Wf{constructor(e,{breaks:n,labels:i,minorBreaks:r,titles:l}={}){this.scale=e,this.range=e?.range,this.breaks=n??e.breaks,this.labels=i??Oi.auto(),this.titles=l??Oi.asis(),this.minorBreaks=r??n??e.minorBreaks??e.breaks}getBindings({range:e,expandMult:n}={}){let i=this.breaks,r=this.minorBreaks,l=this.labels,o=this.titles,s=e?.min??this?.range?.min,c=e?.max??this?.range?.max,a=c-s||0;s=s==null?s:st(s,-(n?.min??0)*a),c=c==null?c:st(c,+(n?.max??0)*a);function u(h){return h.position!=null?h:{position:h}}typeof i=="function"&&(i=i({min:s,max:c})),i=Array.isArray(i)?i.map(u):[];let f=i.map(h=>h.position);if(typeof r=="function"&&(r=r({min:s,max:c,minor:!0})),r=Array.isArray(r)?r.map(u):[],typeof l=="function"&&(l=f.map(l)),!Array.isArray(l))l=[];else if(l.length!=f.length)throw new Error("Length of labels must be the same as breaks");if(typeof o=="function"&&(o=f.map(o)),!Array.isArray(o))o=[];else if(o.length!=f.length)throw new Error("Length of titles must be the same as breaks");return{majorBreaks:i,minorBreaks:r,ticks:f.map((h,m)=>({position:h,label:l[m],title:o[m]}))}}}const Gf=["font-size"],Uf={key:0},Qe={__name:"CoreText",props:{x:{type:Number,default:0},y:{type:Number,default:0},text:null,title:null,size:Number,color:String,stroke:String,linewidth:Number,linetype:String,alpha:{type:Number,default:1},angle:{type:Number,default:0},translateX:{type:Number,default:0},translateY:{type:Number,default:0},anchorX:Number,anchorY:Number,dockX:Number,dockY:Number,fontSize:Number,textLength:Number},setup(t){const e=Vt("ele"),n=Ot({width:0,height:0});St([e,()=>t.fontSize,()=>t.size,()=>t.text,()=>t.textLength],async([l])=>{if(!l)return;await Ei();let{width:o,height:s}=l.getBBox();n.width=o,n.height=s});const i=Y(()=>{let l;if(t.dockX!=null||t.dockY!=null){let o={left:0,center:.5,right:1}[t.dockX]??+(t.dockX??.5),s={bottom:0,center:.5,top:1}[t.dockY]??+(t.dockY??.5);isNaN(o)&&(o=.5),isNaN(s)&&(s=.5);let c=n.width*Math.abs(Math.cos(t.angle*Math.PI/180))+n.height*Math.abs(Math.sin(t.angle*Math.PI/180)),a=n.width*Math.abs(Math.sin(t.angle*Math.PI/180))+n.height*Math.abs(Math.cos(t.angle*Math.PI/180)),u=t.translateX,f=t.translateY;l=`translate(${c*(.5-o)+u},${a*(s-.5)+f})`,t.angle&&(l+=` rotate(${t.angle})`)}else{let o={left:0,center:.5,right:1}[t.anchorX]??+(t.anchorX??.5),s={bottom:0,center:.5,top:1}[t.anchorY]??+(t.anchorY??.5);isNaN(o)&&(o=.5),isNaN(s)&&(s=.5);let c=n.width,a=n.height,u=t.translateX*Math.cos(t.angle*Math.PI/180)+t.translateY*Math.sin(t.angle*Math.PI/180),f=t.translateY*Math.cos(t.angle*Math.PI/180)-t.translateX*Math.sin(t.angle*Math.PI/180);l=`translate(${c*(.5-o)+u},${a*(s-.5)+f})`,t.angle&&(l=`rotate(${t.angle}) `+l)}return{x:t.x,y:t.y,fill:t.color||null,"fill-opacity":t.alpha==1?null:t.alpha,stroke:t.stroke||null,"stroke-width":t.linewidth,"stroke-dasharray":r(t.linetype),"stroke-opacity":t.alpha==1?null:t.alpha,transform:l,textLength:t.textLength,lengthAdjust:t.textLength?"spacingAndGlyphs":null,"transform-origin":`${t.x} ${t.y}`}});function r(l){return l==null?null:Array.isArray(l)?l.join(" "):l==="solid"?null:l==="dashed"?"4 4":l==="dotted"?"1 3":l==="dotdash"?"1 3 4 3":l==="longdash"?"8 4":l==="twodash"?"2 2 6 2":l.includes(" ")?l:l.split("").map(o=>+("0x"+o)).join(" ")}return(l,o)=>(V(),D("text",_({ref_key:"ele",ref:e,"text-anchor":"middle","dominant-baseline":"central"},i.value,{"font-size":(t.fontSize??t.size*4)||null}),[$a(l.$slots,"default",{},()=>[t.title?(V(),D("title",Uf,Oe(t.title),1)):Ft("",!0),gt(" "+Oe(t.text.replace(/ /g,"\xA0")),1)])],16,Gf))}},Kf=["transform"],Qf=["x2"],Zf={class:"vvplot-interactive",fill:"transparent"},Jf=["width","cursor"],_f={key:0,class:"vvplot-interactive",fill:"transparent"},th=["x"],eh={__name:"CoreAxisH",props:{coord:String,ticks:{type:Array,default:()=>[]},title:String,coord2pos:Function,pos2coord:Function,layout:Object,theme:{type:Object,default:()=>({})},action:{type:Array,default:()=>[]},position:null,activeTransform:Object,transition:String},emits:["click","dblclick","contextmenu","pointerdown","pointerup","pointerover","pointerout","pointerenter","pointerleave","pointermove","wheel","singleclick","move","zoom","rescale","nudge","rangechange","update:transition"],setup(t,{emit:e}){const n=Y(()=>t.layout.width+t.layout.l+t.layout.r),i=Y(()=>t.layout.height+t.layout.t+t.layout.b),r=Mn("rangePreview"),l=Y(()=>{let d=0,p={bottom:"0%",center:"50%",top:"100%"}[t.position]??t.position;return typeof p=="string"&&p.endsWith("%")?d=i.value*(1-p.slice(0,-1)/100):d=t.activeTransform.translateV+t.coord2pos({v:+p}).v*t.activeTransform.scaleV+t.layout.top,`translate(0, ${d})`}),o=Y(()=>{let d=t.theme.title_position??t.theme.tick_position,p=d,w=t.theme.title_dock_x,S=t.theme.title_dock_y,k=0;return typeof d!="number"&&(p={left:0,bottom:.5,top:.5,right:1}[d]??.5,w??={left:1,right:0}[d]??.5,S??={top:0,bottom:1}[d]??.5,k=({top:-1,bottom:1}[d]??0)*(t.theme.title_offset??0)),{x:n.value*p,y:k,angle:t.theme.title_angle,dockX:w,dockY:S,fontSize:t.theme.title_size,text:t.title,fill:t.theme.title_color,...t.theme.title_style}}),s=Y(()=>({stroke:t.theme.line_color,"stroke-width":t.theme.line_width,"stroke-dasharray":t.theme.line_dasharray,style:t.theme.line_style})),c=Y(()=>{let d=[];for(let p of t.ticks){typeof p=="number"&&(p={position:p});let w=t.coord2pos({h:p.position}).h,S=w*(t.activeTransform.scaleH-1)+t.activeTransform.translateH,k=w+t.layout.l;if(k+S<0||k+S>n.value)continue;let X=(t.theme.tick_position=="top"?-1:1)*(p.length??t.theme.tick_length);d.push({key:"line-"+p.position,y1:0,y2:X,x1:k,x2:k,stroke:p.color??t.theme.tick_color,"stroke-width":p.width??t.theme.tick_width,transform:S?`translate(${S},0)`:null,style:{transition:t.transition}})}return d.filter(p=>p.stroke!=null).sort((p,w)=>p.x1-w.x1)}),a=Y(()=>{let d=t.theme.tick_position=="top",p=[];for(let w of t.ticks){typeof w=="number"&&(w={position:w,label:w});let S=t.coord2pos({h:w.position}).h,k=S*(t.activeTransform.scaleH-1)+t.activeTransform.translateH,X=S+t.layout.l;if(X+k<0||X+k>n.value)continue;let L=(d?-1:1)*((w.length??t.theme.tick_length)+3),H,z,R,F;t.theme.tick_anchor_x!=null||t.theme.tick_anchor_y!=null?(H=t.theme.tick_anchor_x??.5,z=t.theme.tick_anchor_y??(d?0:1)):(R=t.theme.tick_dock_x??.5,F=t.theme.tick_dock_y??(d?0:1)),p.push({wrapper:{key:"text-"+w.position,transform:k?`translate(${k},0)`:null,style:{transition:t.transition}},text:{x:X,y:L,angle:t.theme.text_angle,anchorX:H,anchorY:z,dockX:R,dockY:F,text:w.label,title:w.title??w.label,fontSize:w.size??t.theme.label_size,fill:w.color??t.theme.label_color}})}return p.filter(w=>w.text.fill!=null).sort((w,S)=>w.text.x-S.text.x)}),u=Vt("i");function f(d){let p=u.value.getBoundingClientRect(),w=Math.trunc(d.clientX)-p.left-t.layout.left,S=p.left+t.layout.left+t.layout.width-Math.trunc(d.clientX),k={l:w,r:S},{x:X,y:L}=t.pos2coord({h:w});return X&&(k.x=X),L&&(k.y=L),k}const h=e;let m,y=0;function x(d){let p=f(d);h("pointerdown",d,p);let w=!1;function S(z){(Math.abs(z.screenX-d.screenX)>3||Math.abs(z.screenY-d.screenY)>3)&&(w=!0,z.currentTarget.removeEventListener("pointermove",S))}d.target.addEventListener("pointermove",S,{passive:!0}),d.target.addEventListener("pointerup",function(z){if(d.target.removeEventListener("pointermove",S),!w){let R=f(z);h("singleclick",new PointerEvent("singleclick",z),R)}},{once:!0});let k=t.action.find(z=>z.action=="move");if(!k)return;d.preventDefault(),d.stopPropagation(),d.target.style.cursor="grabbing",m=clearTimeout(m);let X=0,L=t.layout.width,H=t.coord2pos(k);d.target.setPointerCapture(d.pointerId),d.target.onpointermove=z=>{if(y+=z.movementX,!w)return;let R=yt(-y,{min:H.hmin-X,max:H.hmax-L}),{xmin:F,xmax:Q,ymin:K,ymax:at}=t.pos2coord({hmin:X+R,hmax:L+R});Object.assign(r,{xmin:F,xmax:Q,ymin:K,ymax:at})},d.target.onpointerup=z=>{d.target.onpointermove=null,d.target.onpointerup=null,d.target.style.cursor=null,w&&(m=setTimeout(()=>{P(k,z),y=0},300))}}function $(d){let p=t.action.find(F=>F.action=="rescale");if(!p)return;d.preventDefault(),d.stopPropagation();let{"min-range-h":w=0}=p,S=f(d),k=t.coord2pos(S).h,X=k-S.l,L=k+S.r,H=t.pos2coord({hmin:X,hmax:L}),z={min:t.coord2pos(p).hmin,max:t.coord2pos({hmin:H.hmax-w,hmax:H.hmin+w}).hmin},R=0;d.target.setPointerCapture(d.pointerId),d.target.onpointermove=F=>{R+=F.movementX;let{xmin:Q,xmax:K,ymin:at,ymax:nt}=t.pos2coord({hmin:yt(L-(L-X)*S.r/Math.max(S.r-R,1),z),hmax:L});Object.assign(r,{xmin:Q,xmax:K,ymin:at,ymax:nt})},d.target.onpointerup=F=>{d.target.onpointermove=null,d.target.onpointerup=null,P(p,F)}}function O(d){let p=t.action.find(F=>F.action=="rescale");if(!p)return;d.preventDefault(),d.stopPropagation();let{"min-range-h":w=0}=p,S=f(d),k=t.coord2pos(S).h,X=k-S.l,L=k+S.r,H=t.pos2coord({hmin:X,hmax:L}),z={min:t.coord2pos({hmin:H.hmax-w,hmax:H.hmin+w}).hmax,max:t.coord2pos(p).hmax},R=0;d.target.setPointerCapture(d.pointerId),d.target.onpointermove=F=>{R+=F.movementX;let{xmin:Q,xmax:K,ymin:at,ymax:nt}=t.pos2coord({hmin:X,hmax:yt(X+(L-X)*S.l/Math.max(S.l+R,1),z)});Object.assign(r,{xmin:Q,xmax:K,ymin:at,ymax:nt})},d.target.onpointerup=F=>{d.target.onpointermove=null,d.target.onpointerup=null,P(p,F)}}let j=0,N;function I(d){let p=f(d);h("wheel",d,p);let w=t.action.find(S=>["zoom","nudge"].includes(S.action)&&["ctrlKey","shiftKey","altKey","metaKey"].every(k=>S[k]==d[k]));w&&(N=clearTimeout(N),d.preventDefault(),d.stopPropagation(),h("update:transition","transform 0.1s ease-out"),j+=d.deltaY,B(w,p,j),N=setTimeout(()=>{P(w,d),j=0},300))}function B(d,p,w){if(d.action=="zoom"){let{"min-range-h":S=0,sensitivity:k=1.25}=d,X=k**(w/100),L=t.coord2pos(d),H=Math.max(p.l-Math.max(p.l,0)*X,L.hmin??-1/0),z=Math.min(p.l+Math.max(p.r,0)*X,L.hmax??1/0),{[t.coord+"min"]:R,[t.coord+"max"]:F}=t.pos2coord({hmin:H,hmax:z});if(X<1&&F-R<S){let Q=(F+R)/2;R=Q-S/2,F=Q+S/2}r[t.coord+"min"]=R,r[t.coord+"max"]=F}if(d.action=="nudge"){let{sensitivity:S=.1}=d,k=t.coord2pos(d),X=0,L=t.layout.width,H=S*t.layout.width*(-w/120),z=yt(-H,{min:k.hmin-X,max:k.hmax-L}),{xmin:R,xmax:F,ymin:Q,ymax:K}=t.pos2coord({hmin:X+z,hmax:L+z});Object.assign(r,{xmin:R,xmax:F,ymin:Q,ymax:K})}}function P(d,p){let w=Lt(r)??{};if(!Object.keys(w).length)return;let S=new PointerEvent(p.type,p);Se(d.emit,w,S)||h(d.action,w,S),h("rangechange",w),Object.assign(r,{xmin:void 0,xmax:void 0,ymin:void 0,ymax:void 0})}const b={pointerup(d){h("pointerup",d,f(d))},pointerover(d){h("pointerover",d,f(d))},pointerout(d){h("pointerout",d,f(d))},pointerenter(d){h("pointerenter",d,f(d))},pointerleave(d){h("pointerleave",d,f(d))},dblclick(d){h("dblclick",d,f(d))},click(d){h("click",d,f(d))},contextmenu(d){h("contextmenu",d,f(d))},pointermove(d){h("pointermove",d,f(d))},pointerdown:x,wheel:I};return(d,p)=>(V(),D("g",{transform:l.value,style:sn({transition:t.transition})},[wt("line",_({ref:"i",x1:0,x2:n.value,y1:0,y2:0},s.value),null,16,Qf),p[1]||(p[1]=gt()),(V(!0),D(ut,null,ht(c.value,w=>(V(),D("line",_({ref_for:!0},w),null,16))),256)),p[2]||(p[2]=gt()),(V(!0),D(ut,null,ht(a.value,w=>(V(),D("g",_({ref_for:!0},w.wrapper),[le(Qe,_({ref_for:!0},w.text),null,16)],16))),256)),p[3]||(p[3]=gt()),wt("g",Zf,[wt("rect",_({width:n.value,height:10,y:-5},qt(b,!0),{cursor:t.action.some?.(w=>w.action=="move")?"grab":null}),null,16,Jf)]),p[4]||(p[4]=gt()),t.action.some?.(w=>w.action=="rescale")?(V(),D("g",_f,[wt("rect",{width:20,height:10,y:-5,style:{cursor:"ew-resize"},onPointerdown:$},null,32),p[0]||(p[0]=gt()),wt("rect",{width:20,height:10,y:-5,x:n.value-20,style:{cursor:"ew-resize"},onPointerdown:O},null,40,th)])):Ft("",!0),p[5]||(p[5]=gt()),o.value.text?(V(),kt(Qe,ge(_({key:1},o.value)),null,16)):Ft("",!0)],12,Kf))}},nh=["transform"],ih=["y2"],rh={class:"vvplot-interactive",fill:"transparent"},lh=["height","cursor"],ah={key:0,class:"vvplot-interactive",fill:"transparent"},oh=["y"],sh={__name:"CoreAxisV",props:{coord:String,ticks:{type:Array,default:()=>[]},title:String,coord2pos:Function,pos2coord:Function,layout:Object,theme:{type:Object,default:()=>({})},action:{type:Array,default:()=>[]},position:null,activeTransform:Object,transition:String},emits:["click","dblclick","contextmenu","pointerdown","pointerup","pointerover","pointerout","pointerenter","pointerleave","pointermove","wheel","singleclick","move","zoom","rescale","nudge","rangechange","update:transition"],setup(t,{emit:e}){const n=Y(()=>t.layout.width+t.layout.l+t.layout.r),i=Y(()=>t.layout.height+t.layout.t+t.layout.b),r=Mn("rangePreview"),l=Y(()=>{let d=0,p={left:"0%",center:"50%",right:"100%"}[t.position]??t.position;return typeof p=="string"&&p.endsWith("%")?d=n.value*p.slice(0,-1)/100:d=t.activeTransform.translateH+t.coord2pos({h:+p}).h*t.activeTransform.scaleH+t.layout.left,`translate(${d}, 0)`}),o=Y(()=>{let d=t.theme.title_position??t.theme.tick_position,p=d,w=t.theme.title_dock_x,S=t.theme.title_dock_y,k=0;return typeof d!="number"&&(p={bottom:0,left:.5,right:.5,top:1}[d]??.5,w??={left:1,right:0}[d]??.5,S??={top:0,bottom:1}[d]??.5,k=({left:-1,right:1}[d]??0)*(t.theme.title_offset??0)),{x:k,y:i.value*(1-p),angle:t.theme.title_angle,dockX:w,dockY:S,fontSize:t.theme.title_size,text:t.title,fill:t.theme.title_color,...t.theme.title_style}}),s=Y(()=>({stroke:t.theme.line_color,"stroke-width":t.theme.line_width,"stroke-dasharray":t.theme.line_dasharray,style:t.theme.line_style})),c=Y(()=>{let d=[];for(let p of t.ticks){typeof p=="number"&&(p={position:p});let w=t.coord2pos({v:p.position}).v,S=w*(t.activeTransform.scaleV-1)+t.activeTransform.translateV,k=w+t.layout.t;if(k+S<0||k+S>i.value)continue;let X=(t.theme.tick_position=="right"?1:-1)*(p.length??t.theme.tick_length);d.push({key:"line-"+p.position,y1:k,y2:k,x1:0,x2:X,stroke:p.color??t.theme.tick_color,"stroke-width":p.width??t.theme.tick_width,transform:S?`translate(0,${S})`:null,style:{transition:t.transition}})}return d.filter(p=>p.stroke!=null).sort((p,w)=>p.y1-w.y1)}),a=Y(()=>{let d=t.theme.tick_position=="right",p=[];for(let w of t.ticks){typeof w=="number"&&(w={position:w});let S=t.coord2pos({v:w.position}).v,k=S*(t.activeTransform.scaleV-1)+t.activeTransform.translateV,X=S+t.layout.t;if(X+k<0||X+k>i.value)continue;let L=(d?1:-1)*((w.length??t.theme.tick_length)+3),H,z,R,F;t.theme.tick_anchor_x!=null||t.theme.tick_anchor_y!=null?(H=t.theme.tick_anchor_x??(d?0:1),z=t.theme.tick_anchor_y??.5):(R=t.theme.tick_dock_x??(d?0:1),F=t.theme.tick_dock_y??.5),p.push({wrapper:{key:"text-"+w.position,transform:k?`translate(0,${k})`:null,style:{transition:t.transition}},text:{y:X,x:L,angle:t.theme.text_angle,anchorX:H,anchorY:z,dockX:R,dockY:F,text:w.label,title:w.title??w.label,fontSize:w.size??t.theme.label_size,fill:w.color??t.theme.label_color}})}return p.filter(w=>w.text.fill!=null).sort((w,S)=>w.text.y-S.text.y)}),u=Vt("i");function f(d){let p=u.value.getBoundingClientRect(),w=Math.trunc(d.clientY)-p.top-t.layout.top,S=p.top+t.layout.top+t.layout.height-Math.trunc(d.clientY),k={t:w,b:S},{x:X,y:L}=t.pos2coord({v:w});return X&&(k.x=X),L&&(k.y=L),k}const h=e;let m,y=0;function x(d){let p=f(d);h("pointerdown",d,p);let w=!1;function S(z){(Math.abs(z.screenX-d.screenX)>3||Math.abs(z.screenY-d.screenY)>3)&&(w=!0,z.currentTarget.removeEventListener("pointermove",S))}d.target.addEventListener("pointermove",S,{passive:!0}),d.target.addEventListener("pointerup",function(z){if(d.target.removeEventListener("pointermove",S),!w){let R=f(z);h("singleclick",new PointerEvent("singleclick",z),R)}},{once:!0});let k=t.action.find(z=>z.action=="move");if(!k)return;d.preventDefault(),d.stopPropagation(),d.target.style.cursor="grabbing",m=clearTimeout(m);let X=0,L=t.layout.height,H=t.coord2pos(k);d.target.setPointerCapture(d.pointerId),d.target.onpointermove=z=>{if(y+=z.movementY,!w)return;let R=yt(-y,{min:H.vmin-X,max:H.vmax-L}),{xmin:F,xmax:Q,ymin:K,ymax:at}=t.pos2coord({vmin:X+R,vmax:L+R});Object.assign(r,{xmin:F,xmax:Q,ymin:K,ymax:at})},d.target.onpointerup=z=>{d.target.onpointermove=null,d.target.onpointerup=null,d.target.style.cursor=null,w&&(m=setTimeout(()=>{P(k,z),y=0},300))}}function $(d){let p=t.action.find(F=>F.action=="rescale");if(!p)return;d.preventDefault(),d.stopPropagation();let{"min-range-v":w=0}=p,S=f(d),k=t.coord2pos(S).v,X=k-S.t,L=k+S.b,H=t.pos2coord({vmin:X,vmax:L}),z={min:t.coord2pos(p).vmin,max:t.coord2pos({vmin:H.vmax-w,vmax:H.vmin+w}).vmin},R=0;d.target.setPointerCapture(d.pointerId),d.target.onpointermove=F=>{R+=F.movementY;let{xmin:Q,xmax:K,ymin:at,ymax:nt}=t.pos2coord({vmin:yt(L-(L-X)*S.b/Math.max(S.b-R,1),z),vmax:L});Object.assign(r,{xmin:Q,xmax:K,ymin:at,ymax:nt})},d.target.onpointerup=F=>{d.target.onpointermove=null,d.target.onpointerup=null,P(p,F)}}function O(d){let p=t.action.find(F=>F.action=="rescale");if(!p)return;d.preventDefault(),d.stopPropagation();let{"min-range-v":w=0}=p,S=f(d),k=t.coord2pos(S).v,X=k-S.t,L=k+S.b,H=t.pos2coord({vmin:X,vmax:L}),z={min:t.coord2pos({vmin:H.vmax-w,vmax:H.vmin+w}).vmax,max:t.coord2pos(p).vmax},R=0;d.target.setPointerCapture(d.pointerId),d.target.onpointermove=F=>{R+=F.movementY;let{xmin:Q,xmax:K,ymin:at,ymax:nt}=t.pos2coord({vmin:X,vmax:yt(X+(L-X)*S.t/Math.max(S.t+R,1),z)});Object.assign(r,{xmin:Q,xmax:K,ymin:at,ymax:nt})},d.target.onpointerup=F=>{d.target.onpointermove=null,d.target.onpointerup=null,P(p,F)}}let j=0,N;function I(d){let p=f(d);h("wheel",d,p);let w=t.action.find(S=>["zoom","nudge"].includes(S.action)&&["ctrlKey","shiftKey","altKey","metaKey"].every(k=>S[k]==d[k]));w&&(N=clearTimeout(N),d.preventDefault(),d.stopPropagation(),h("update:transition","transform 0.1s ease-out"),j+=d.deltaY,B(w,p,j),N=setTimeout(()=>{P(w,d),j=0},300))}function B(d,p,w){if(d.action=="zoom"){let{"min-range-v":S=0,sensitivity:k=1.25}=d,X=k**(w/100),L=t.coord2pos(d),H=Math.max(p.t-Math.max(p.t,0)*X,L.vmin??-1/0),z=Math.min(p.t+Math.max(p.b,0)*X,L.vmax??1/0),{[t.coord+"min"]:R,[t.coord+"max"]:F}=t.pos2coord({vmin:H,vmax:z});if(X<1&&F-R<S){let Q=(F+R)/2;R=Q-S/2,F=Q+S/2}r[t.coord+"min"]=R,r[t.coord+"max"]=F}if(d.action=="nudge"){let{sensitivity:S=.1}=d,k=t.coord2pos(d),X=0,L=t.layout.height,H=S*t.layout.height*(-w/120),z=yt(-H,{min:k.vmin-X,max:k.vmax-L}),{xmin:R,xmax:F,ymin:Q,ymax:K}=t.pos2coord({vmin:X+z,vmax:L+z});Object.assign(r,{xmin:R,xmax:F,ymin:Q,ymax:K})}}function P(d,p){let w=Lt(r)??{};if(!Object.keys(w).length)return;let S=new PointerEvent(p.type,p);Se(d.emit,w,S)||h(d.action,w,S),h("rangechange",w),Object.assign(r,{xmin:void 0,xmax:void 0,ymin:void 0,ymax:void 0})}const b={pointerup(d){h("pointerup",d,f(d))},pointerover(d){h("pointerover",d,f(d))},pointerout(d){h("pointerout",d,f(d))},pointerenter(d){h("pointerenter",d,f(d))},pointerleave(d){h("pointerleave",d,f(d))},dblclick(d){h("dblclick",d,f(d))},click(d){h("click",d,f(d))},contextmenu(d){h("contextmenu",d,f(d))},pointermove(d){h("pointermove",d,f(d))},pointerdown:x,wheel:I};return(d,p)=>(V(),D("g",{transform:l.value,style:sn({transition:t.transition})},[wt("line",_({ref:"i",x1:0,x2:0,y1:0,y2:i.value},s.value),null,16,ih),p[1]||(p[1]=gt()),(V(!0),D(ut,null,ht(c.value,w=>(V(),D("line",_({ref_for:!0},w),null,16))),256)),p[2]||(p[2]=gt()),(V(!0),D(ut,null,ht(a.value,w=>(V(),D("g",_({ref_for:!0},w.wrapper),[le(Qe,_({ref_for:!0},w.text),null,16)],16))),256)),p[3]||(p[3]=gt()),wt("g",rh,[wt("rect",_({width:10,height:i.value,x:-5},qt(b,!0),{cursor:t.action.some?.(w=>w.action=="move")?"grab":null}),null,16,lh)]),p[4]||(p[4]=gt()),t.action.some?.(w=>w.action=="rescale")?(V(),D("g",ah,[wt("rect",{width:10,height:20,x:-5,style:{cursor:"ns-resize"},onPointerdown:$},null,32),p[0]||(p[0]=gt()),wt("rect",{width:10,height:20,x:-5,y:i.value-20,style:{cursor:"ns-resize"},onPointerdown:O},null,40,oh)])):Ft("",!0),p[5]||(p[5]=gt()),o.value.text?(V(),kt(Qe,ge(_({key:1},o.value)),null,16)):Ft("",!0)],12,nh))}},tl={__name:"CoreAxis",props:{theme:{type:Object,default:()=>({})},position:null,orientation:null},setup(t){const e={h:eh,v:sh};return(n,i)=>t.position!="none"?(V(),kt(qe(e[t.orientation]),{key:0,theme:t.theme,position:t.position},null,8,["theme","position"])):Ft("",!0)}},uh={__name:"CoreGridH",props:{majorBreaks:{type:Array,default:()=>[]},minorBreaks:{type:Array,default:()=>[]},coord2pos:Function,pos2coord:Function,layout:Object,theme:{type:Object,default:()=>({})},action:{type:Object,default:()=>({})},activeTransform:Object,transition:String},setup(t){const e=Y(()=>t.layout.width+t.layout.l+t.layout.r),n=Y(()=>t.layout.height+t.layout.t+t.layout.b),i=Y(()=>{let o=[];for(let s of t.majorBreaks){let c=t.coord2pos({v:s.position}).v;if(isNaN(c))continue;let a=c*(t.activeTransform.scaleV-1)+t.activeTransform.translateV,u=c+t.layout.t;u+a<0||u+a>n.value||o.push({key:"major-"+s.position,x1:0,x2:e.value,y1:u,y2:u,stroke:s.color??t.theme.line_color_major,"stroke-width":s.width??t.theme.line_width_major??0,transform:a?`translate(0,${a})`:null,style:{transition:t.transition}})}return o.filter(s=>s.stroke!==null)}),r=Y(()=>{let o=[];for(let s of t.minorBreaks){if(t.majorBreaks.some(f=>f.position==s.position))continue;let c=t.coord2pos({v:s.position}).v;if(isNaN(c))continue;let a=c*(t.activeTransform.scaleV-1)+t.activeTransform.translateV,u=c+t.layout.t;u+a<0||u+a>n.value||o.push({key:"minor-"+s.position,x1:0,x2:e.value,y1:u,y2:u,stroke:s.color??t.theme.line_color_minor,"stroke-width":s.width??t.theme.line_width_minor??0,transform:a?`translate(0,${a})`:null,style:{transition:t.transition}})}return o.filter(s=>s.stroke!==null)}),l=Y(()=>r.value.concat(i.value).sort((o,s)=>o.y1-s.y1));return(o,s)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(l.value,c=>(V(),D("line",_({ref_for:!0},c,{style:{transition:t.transition}}),null,16))),256))]))}},ch={__name:"CoreGridV",props:{majorBreaks:{type:Array,default:()=>[]},minorBreaks:{type:Array,default:()=>[]},coord2pos:Function,pos2coord:Function,layout:Object,theme:{type:Object,default:()=>({})},action:{type:Object,default:()=>({})},activeTransform:Object,transition:String},setup(t){const e=Y(()=>t.layout.width+t.layout.l+t.layout.r),n=Y(()=>t.layout.height+t.layout.t+t.layout.b),i=Y(()=>{let o=[];for(let s of t.majorBreaks){let c=t.coord2pos({h:s.position}).h;if(isNaN(c))continue;let a=c*(t.activeTransform.scaleH-1)+t.activeTransform.translateH,u=c+t.layout.l;u+a<0||u+a>e.value||o.push({key:"major-"+s.position,y1:0,y2:n.value,x1:u,x2:u,stroke:s.color??t.theme.line_color_major,"stroke-width":s.width??t.theme.line_width_major??0,transform:a?`translate(${a},0)`:null,style:{transition:t.transition}})}return o.filter(s=>s.stroke!==null)}),r=Y(()=>{let o=[];for(let s of t.minorBreaks){if(t.majorBreaks.some(f=>f.position==s.position))continue;let c=t.coord2pos({h:s.position}).h;if(isNaN(c))continue;let a=c*(t.activeTransform.scaleH-1)+t.activeTransform.translateH,u=c+t.layout.l;u+a<0||u+a>e.value||o.push({key:"minor-"+s.position,y1:0,y2:n.value,x1:u,x2:u,stroke:s.color??t.theme.line_color_minor,"stroke-width":s.width??t.theme.line_width_minor??0,transform:a?`translate(${a},0)`:null,style:{transition:t.transition}})}return o.filter(s=>s.stroke!==null)}),l=Y(()=>r.value.concat(i.value).sort((o,s)=>o.x1-s.x1));return(o,s)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(l.value,c=>(V(),D("line",_({ref_for:!0},c,{style:{transition:t.transition}}),null,16))),256))]))}},fh={__name:"CoreCanvasCurve",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"],setup(t,{expose:e,emit:n}){let i=["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"];const r=n,l=Y(()=>({width:t.layout.fullWidth*(1+t.extendX*2),height:t.layout.fullHeight*(1+t.extendY*2),x:-t.layout.l-t.layout.fullWidth*t.extendX,y:-t.layout.t-t.layout.fullHeight*t.extendY})),o=Vt("container"),s=Y(()=>{if(o.value==null)return;const u=document.createElement("canvas");u.width=t.layout.fullWidth*(1+t.extendX*2),u.height=t.layout.fullHeight*(1+t.extendY*2);const f=u.getContext("2d");f.clearRect(0,0,u.width,u.height),f.translate(t.layout.l+t.layout.fullWidth*t.extendX,t.layout.t+t.layout.fullHeight*t.extendY);let h=new Map,m=new Map;for(const y of t.data)for(let{points:x,fill:$="none",color:O="black",linewidth:j,linetype:N,alpha:I,"translate-x":B=0,"translate-y":P=0,$raw:b,interpolate:d}of y){if(x=x.map(k=>(({h:X,v:L})=>({x:X,y:L}))(t.coord2pos(k))).filter(k=>k.x!=null&&k.y!=null),x.length===0)continue;const p=new Path2D;let S=(c[d]??Rn)(p);S.lineStart();for(let k=0;k<x.length;k++)S.point(x[k].x+B,x[k].y+P);S.lineEnd(),h.set(p,b),f.lineWidth=j,f.globalAlpha=I,f.setLineDash(a(N)),$!=="none"&&(f.fillStyle=$,f.fill(p)),O!=null&&(f.strokeStyle=O,f.stroke(p))}for(let y of Array.from(h.keys()).reverse())m.set(y,h.get(y));for(let y of i)u.addEventListener(y,function(x){if(x._vhandled)return;const $=u.getBoundingClientRect(),O=x.clientX-$.left,j=x.clientY-$.top;for(const[N,I]of m)if(f.isPointInPath(N,O,j)){r(y,x,t.getCoord(x),I),x._vhandled=!0;break}});return u});St(s,u=>o.value.replaceChildren(u)),e({dispatchEvent:u=>s.value?.dispatchEvent?.(u)});const c={cardinal:ra,catmullRom:aa,linear:Ri,natural:Rn};function a(u){return u==null?[]:Array.isArray(u)?u:u==="solid"?[]:u==="dashed"?[4,4]:u==="dotted"?[1,3]:u==="dotdash"?[1,3,4,3]:u==="longdash"?[8,4]:u==="twodash"?[2,2,6,2]:u.includes(" ")?u:u.split("").map(f=>+("0x"+f))}return(u,f)=>(V(),D("foreignObject",_(l.value,{ref:"container"}),null,16))}},hh={__name:"CoreCanvasBoxplot",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"],setup(t,{expose:e,emit:n}){let i=["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"];const r=n,l=Y(()=>({width:t.layout.fullWidth*(1+t.extendX*2),height:t.layout.fullHeight*(1+t.extendY*2),x:-t.layout.l-t.layout.fullWidth*t.extendX,y:-t.layout.t-t.layout.fullHeight*t.extendY})),o=Vt("container"),s=Y(()=>{if(o.value==null)return;const a=document.createElement("canvas");a.width=t.layout.fullWidth*(1+t.extendX*2),a.height=t.layout.fullHeight*(1+t.extendY*2);const u=a.getContext("2d");u.clearRect(0,0,a.width,a.height),u.translate(t.layout.l+t.layout.fullWidth*t.extendX,t.layout.t+t.layout.fullHeight*t.extendY);let f=new Map,h=new Map;for(const m of t.data)for(let{x:y,xmin:x,xmax:$,y:O,ymin:j,ymax:N,lwisker:I,Q1:B,median:P,Q3:b,uwisker:d,outliers:p,$xmin:w,$xmax:S,$ymin:k,$ymax:X,fill:L="white",color:H="black",linewidth:z=1,linetype:R,alpha:F,"translate-x":Q=0,"translate-y":K=0,$raw:at}of m){if(H==="transparent")continue;const{hmin:nt,hmax:ot,vmin:pt,vmax:At}=t.coord2pos(y==null?{ymin:j,ymax:N,xmin:B,xmax:b}:{xmin:x,xmax:$,ymin:B,ymax:b}),{h:Ct,v:It}=t.coord2pos(y==null?{y:O,x:I}:{x:y,y:I}),{h:jt,v:$t}=t.coord2pos(y==null?{y:O,x:d}:{x:y,y:d}),{h:Wt,v:Gt}=t.coord2pos(y==null?{y:j,x:P}:{x,y:P}),{h:A,v:C}=t.coord2pos(y==null?{y:N,x:P}:{x:$,y:P}),{h:E,v:g}=t.coord2pos(y==null?{y:j*.25+N*.75,x:d}:{x:x*.25+$*.75,y:d}),{h:v,v:M}=t.coord2pos(y==null?{y:j*.75+N*.25,x:d}:{x:x*.75+$*.25,y:d}),{h:T,v:W}=t.coord2pos(y==null?{y:j*.25+N*.75,x:I}:{x:x*.25+$*.75,y:I}),{h:q,v:Z}=t.coord2pos(y==null?{y:j*.75+N*.25,x:I}:{x:x*.75+$*.25,y:I});u.globalAlpha=F,u.setLineDash(c(R));const tt=new Path2D;tt.moveTo(Ct+Q,It+K),tt.lineTo(jt+Q,$t+K);const it=new Path2D;it.moveTo(E+Q,g+K),it.lineTo(v+Q,M+K),it.moveTo(T+Q,W+K),it.lineTo(q+Q,Z+K),u.lineWidth=z,H!=="none"&&(u.strokeStyle=H,u.stroke(tt),u.stroke(it));const mt=new Path2D;mt.rect(nt+Q,pt+K,ot-nt,At-pt),L!=="none"&&(u.fillStyle=L,u.fill(mt)),H!=null&&(u.strokeStyle=H,u.stroke(mt)),f.set(mt,at);const dt=new Path2D;dt.moveTo(Wt+Q,Gt+K),dt.lineTo(A+Q,C+K),u.lineWidth=z*2,H!=="none"&&(u.strokeStyle=H,u.stroke(dt));for(let{x:ct,y:rt,$raw:G}of p){const{h:J,v:U}=t.coord2pos({x:ct,y:rt}),lt=new Path2D;lt.arc(J+Q,U+K,2,0,Math.PI*2),L!=="none"&&(u.fillStyle=H,u.fill(lt)),f.set(lt,G)}}for(let m of Array.from(f.keys()).reverse())h.set(m,f.get(m));for(let m of i)a.addEventListener(m,function(y){if(y._vhandled)return;const x=a.getBoundingClientRect(),$=y.clientX-x.left,O=y.clientY-x.top;for(const[j,N]of h)if(u.isPointInPath(j,$,O)){r(m,y,t.getCoord(y),N),y._vhandled=!0;break}});return a});St(s,a=>o.value.replaceChildren(a)),e({dispatchEvent:a=>s.value?.dispatchEvent?.(a)});function c(a){return a==null?[]:Array.isArray(a)?a:a==="solid"?[]:a==="dashed"?[4,4]:a==="dotted"?[1,3]:a==="dotdash"?[1,3,4,3]:a==="longdash"?[8,4]:a==="twodash"?[2,2,6,2]:a.includes(" ")?a:a.split("").map(u=>+("0x"+u))}return(a,u)=>(V(),D("foreignObject",_(l.value,{ref:"container"}),null,16))}},el={__name:"CoreCanvasLine",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"],setup(t,{expose:e,emit:n}){let i=["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"];const r=n,l=Y(()=>({width:t.layout.fullWidth*(1+t.extendX*2),height:t.layout.fullHeight*(1+t.extendY*2),x:-t.layout.l-t.layout.fullWidth*t.extendX,y:-t.layout.t-t.layout.fullHeight*t.extendY})),o=Vt("container"),s=Y(()=>{if(o.value==null)return;const a=document.createElement("canvas");a.width=t.layout.fullWidth*(1+t.extendX*2),a.height=t.layout.fullHeight*(1+t.extendY*2);const u=a.getContext("2d");u.clearRect(0,0,a.width,a.height),u.translate(t.layout.l+t.layout.fullWidth*t.extendX,t.layout.t+t.layout.fullHeight*t.extendY);let f=new Map,h=new Map;for(const m of t.data)for(let{x:y,y:x,xend:$,yend:O,color:j,linewidth:N,alpha:I,linetype:B,"translate-x":P=0,"translate-y":b=0,$raw:d}of m){if(j==="transparent")continue;const{h:p,v:w}=t.coord2pos({x:y,y:x}),{h:S,v:k}=t.coord2pos({x:$,y:O}),X=new Path2D;X.moveTo(p+P,w+b),X.lineTo(S+P,k+b),f.set(X,d),u.lineWidth=N,u.globalAlpha=I,u.setLineDash(c(B)),j!=="none"&&(u.strokeStyle=j,u.stroke(X))}for(let m of Array.from(f.keys()).reverse())h.set(m,f.get(m));for(let m of i)a.addEventListener(m,function(y){if(y._vhandled)return;const x=a.getBoundingClientRect(),$=y.clientX-x.left,O=y.clientY-x.top;for(const[j,N]of h)if(u.isPointInPath(j,$,O)){r(m,y,t.getCoord(y),N),y._vhandled=!0;break}});return a});St(s,a=>o.value.replaceChildren(a)),e({dispatchEvent:a=>s.value?.dispatchEvent?.(a)});function c(a){return a==null?[]:Array.isArray(a)?a:a==="solid"?[]:a==="dashed"?[4,4]:a==="dotted"?[1,3]:a==="dotdash"?[1,3,4,3]:a==="longdash"?[8,4]:a==="twodash"?[2,2,6,2]:a.includes(" ")?a:a.split("").map(u=>+("0x"+u))}return(a,u)=>(V(),D("foreignObject",_(l.value,{ref:"container"}),null,16))}},mh={__name:"CoreCanvasPoint",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"],setup(t,{expose:e,emit:n}){let i=["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"];const r=n,l={triangle:a=>`M0-${a*2/3}L${a*.577},${a/3}L-${a*.577},${a/3}Z`,diamond:a=>`M0-${a*.707}L${a*.707},0L0,${a*.707}L-${a*.707},0Z`,square:a=>`M-${a/2}-${a/2}H${a/2}V${a/2}H-${a/2}Z`,plus:a=>`M-${a/10}-${a/2}V-${a/10}H-${a/2}V${a/10}H-${a/10}V${a/2}H${a/10}V${a/10}H${a/2}V-${a/10}H${a/10}V-${a/2}H-${a/10}Z`,corss:a=>`M-${a*.283}-${a*.424}L-${a*.424}-${a*.283}L-${a*.141},0L-${a*.424},${a*.283}L-${a*.283},${a*.424}L0,${a*.141}L${a*.283},${a*.424}L${a*.424},${a*.283}L${a*.141},0L${a*.424},-${a*.283}L${a*.283},-${a*.424}L0,-${a*.141}Z`},o=Y(()=>({width:t.layout.fullWidth*(1+t.extendX*2),height:t.layout.fullHeight*(1+t.extendY*2),x:-t.layout.l-t.layout.fullWidth*t.extendX,y:-t.layout.t-t.layout.fullHeight*t.extendY})),s=Vt("container"),c=Y(()=>{if(s.value==null)return;const a=document.createElement("canvas");a.width=t.layout.fullWidth*(1+t.extendX*2),a.height=t.layout.fullHeight*(1+t.extendY*2);const u=a.getContext("2d");u.clearRect(0,0,a.width,a.height),u.translate(t.layout.l+t.layout.fullWidth*t.extendX,t.layout.t+t.layout.fullHeight*t.extendY);let f=new Map,h=new Map;for(const m of t.data)for(let{x:y,y:x,size:$=6,shape:O,color:j,stroke:N,linewidth:I,alpha:B,"translate-x":P=0,"translate-y":b=0,$raw:d}of m){const{h:p,v:w}=t.coord2pos({x:y,y:x}),S=new Path2D;String(O).startsWith("path:")?S.addPath(new Path2D(O.slice(5)),new DOMMatrix().translateSelf(p+P,w+b)):O in l?S.addPath(new Path2D(l[O]($)),new DOMMatrix().translate(p+P,w+b)):S.arc(p+P,w+b,$/2,0,Math.PI*2),f.set(S,d),u.lineWidth=I,u.globalAlpha=B,u.beginPath(),j!=="none"&&(u.fillStyle=j,u.fill(S)),N!=null&&(u.strokeStyle=N,u.stroke(S))}for(let m of Array.from(f.keys()).reverse())h.set(m,f.get(m));for(let m of i)a.addEventListener(m,function(y){if(y._vhandled)return;const x=a.getBoundingClientRect(),$=y.clientX-x.left,O=y.clientY-x.top;for(const[j,N]of h)if(u.isPointInPath(j,$,O)){r(m,y,t.getCoord(y),N),y._vhandled=!0;break}});return a});return St(c,a=>s.value.replaceChildren(a)),e({dispatchEvent:a=>c.value?.dispatchEvent?.(a)}),(a,u)=>(V(),D("foreignObject",_(o.value,{ref:"container"}),null,16))}},dh={__name:"CoreCanvasPolygon",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"],setup(t,{expose:e,emit:n}){let i=["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"];const r=n,l=Y(()=>({width:t.layout.fullWidth*(1+t.extendX*2),height:t.layout.fullHeight*(1+t.extendY*2),x:-t.layout.l-t.layout.fullWidth*t.extendX,y:-t.layout.t-t.layout.fullHeight*t.extendY})),o=Vt("container"),s=Y(()=>{if(o.value==null)return;const a=document.createElement("canvas");a.width=t.layout.fullWidth*(1+t.extendX*2),a.height=t.layout.fullHeight*(1+t.extendY*2);const u=a.getContext("2d");u.clearRect(0,0,a.width,a.height),u.translate(t.layout.l+t.layout.fullWidth*t.extendX,t.layout.t+t.layout.fullHeight*t.extendY);let f=new Map,h=new Map;for(const m of t.data)for(let{points:y,fill:x,color:$,linewidth:O,linetype:j,alpha:N,"translate-x":I=0,"translate-y":B=0,$raw:P}of m){if(y=y.map(d=>(({h:p,v:w})=>({x:p,y:w}))(t.coord2pos(d))).filter(d=>d.x!=null&&d.y!=null),y.length===0)continue;const b=new Path2D;b.moveTo(y[0].x+I,y[0].y+B);for(let d=1;d<y.length;d++)b.lineTo(y[d].x+I,y[d].y+B);b.closePath(),f.set(b,P),u.lineWidth=O,u.globalAlpha=N,u.setLineDash(c(j)),x!=="none"&&(u.fillStyle=x,u.fill(b)),$!=null&&(u.strokeStyle=$,u.stroke(b))}for(let m of Array.from(f.keys()).reverse())h.set(m,f.get(m));for(let m of i)a.addEventListener(m,function(y){if(y._vhandled)return;const x=a.getBoundingClientRect(),$=y.clientX-x.left,O=y.clientY-x.top;for(const[j,N]of h)if(u.isPointInPath(j,$,O)){r(m,y,t.getCoord(y),N),y._vhandled=!0;break}});return a});St(s,a=>o.value.replaceChildren(a)),e({dispatchEvent:a=>s.value?.dispatchEvent?.(a)});function c(a){return a==null?[]:Array.isArray(a)?a:a==="solid"?[]:a==="dashed"?[4,4]:a==="dotted"?[1,3]:a==="dotdash"?[1,3,4,3]:a==="longdash"?[8,4]:a==="twodash"?[2,2,6,2]:a.includes(" ")?a:a.split("").map(u=>+("0x"+u))}return(a,u)=>(V(),D("foreignObject",_(l.value,{ref:"container"}),null,16))}},nl={__name:"CoreCanvasRect",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"],setup(t,{expose:e,emit:n}){let i=["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"];const r=n,l=Y(()=>({width:t.layout.fullWidth*(1+t.extendX*2),height:t.layout.fullHeight*(1+t.extendY*2),x:-t.layout.l-t.layout.fullWidth*t.extendX,y:-t.layout.t-t.layout.fullHeight*t.extendY})),o=Vt("container"),s=Y(()=>{if(o.value==null)return;const a=document.createElement("canvas");a.width=t.layout.fullWidth*(1+t.extendX*2),a.height=t.layout.fullHeight*(1+t.extendY*2);const u=a.getContext("2d");u.clearRect(0,0,a.width,a.height),u.translate(t.layout.l+t.layout.fullWidth*t.extendX,t.layout.t+t.layout.fullHeight*t.extendY);let f=new Map,h=new Map;for(const m of t.data)for(let{xmin:y,xmax:x,ymin:$,ymax:O,fill:j,color:N,linewidth:I,linetype:B,alpha:P,"translate-x":b=0,"translate-y":d=0,$raw:p}of m){const{hmin:w,hmax:S,vmin:k,vmax:X}=t.coord2pos({xmin:y,xmax:x,ymin:$,ymax:O}),L=new Path2D;L.rect(w+b,k+d,S-w,X-k),f.set(L,p),u.lineWidth=I,u.globalAlpha=P,u.setLineDash(c(B)),j!=="none"&&(u.fillStyle=j,u.fill(L)),N!=null&&(u.strokeStyle=N,u.stroke(L))}for(let m of Array.from(f.keys()).reverse())h.set(m,f.get(m));for(let m of i)a.addEventListener(m,function(y){if(y._vhandled)return;const x=a.getBoundingClientRect(),$=y.clientX-x.left,O=y.clientY-x.top;for(const[j,N]of h)if(u.isPointInPath(j,$,O)){r(m,y,t.getCoord(y),N),y._vhandled=!0;break}});return a});St(s,a=>o.value.replaceChildren(a)),e({dispatchEvent:a=>s.value?.dispatchEvent?.(a)});function c(a){return a==null?[]:Array.isArray(a)?a:a==="solid"?[]:a==="dashed"?[4,4]:a==="dotted"?[1,3]:a==="dotdash"?[1,3,4,3]:a==="longdash"?[8,4]:a==="twodash"?[2,2,6,2]:a.includes(" ")?a:a.split("").map(u=>+("0x"+u))}return(a,u)=>(V(),D("foreignObject",_(l.value,{ref:"container"}),null,16))}},yh={__name:"CoreCanvasText",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"],setup(t,{expose:e,emit:n}){let i=["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"];const r=n,l=Y(()=>({width:t.layout.fullWidth*(1+t.extendX*2),height:t.layout.fullHeight*(1+t.extendY*2),x:-t.layout.l-t.layout.fullWidth*t.extendX,y:-t.layout.t-t.layout.fullHeight*t.extendY})),o=Vt("container"),s=Y(()=>{if(o.value==null)return;const a=document.createElement("canvas");a.width=t.layout.fullWidth*(1+t.extendX*2),a.height=t.layout.fullHeight*(1+t.extendY*2);const u=a.getContext("2d");u.clearRect(0,0,a.width,a.height),u.translate(t.layout.l+t.layout.fullWidth*t.extendX,t.layout.t+t.layout.fullHeight*t.extendY);let f=new Map,h=new Map;for(const m of t.data)for(let{x:y,y:x,color:$,size:O=4,label:j="",title:N,stroke:I,linewidth:B,linetype:P,alpha:b,"anchor-x":d,"anchor-y":p,"dock-x":w,"dock-y":S,"translate-x":k=0,"translate-y":X=0,angle:L,"text-length":H,$raw:z}of m){u.save();const{h:R,v:F}=t.coord2pos({x:y,y:x});u.textAlign="center",u.textBaseline="middle",u.lineWidth=B,u.globalAlpha=b,u.font=`${O*4}px sans-serif`,u.setLineDash(c(P)),u.translate(R+k,F+X);let{width:Q,fontBoundingBoxAscent:K,fontBoundingBoxDescent:at}=u.measureText(j),nt=Q,ot=K+at;if(typeof H=="object"){let{x:pt=0,y:At=0}=H,{h:Ct,v:It}=t.coord2pos({x:y+pt/2,y:x+At/2}),{h:jt,v:$t}=t.coord2pos({x:y-pt/2,y:x-At/2});nt=Math.hypot(Ct-jt||0,It-$t||0)}else H!=null&&(nt=H);if(w!=null||S!=null){let pt={left:0,center:.5,right:1}[w]??+(w??.5),At={bottom:0,center:.5,top:1}[S]??+(S??.5);isNaN(pt)&&(pt=.5),isNaN(At)&&(At=.5);let Ct=nt*Math.abs(Math.cos(L*Math.PI/180))+ot*Math.abs(Math.sin(L*Math.PI/180)),It=nt*Math.abs(Math.sin(L*Math.PI/180))+ot*Math.abs(Math.cos(L*Math.PI/180));u.translate(Ct*(.5-pt),It*(At-.5)),u.rotate(L*Math.PI/180)}else{let pt={left:0,center:.5,right:1}[d]??+(d??.5),At={bottom:0,center:.5,top:1}[p]??+(p??.5);isNaN(pt)&&(pt=.5),isNaN(At)&&(At=.5);let Ct=nt,It=ot;u.rotate(L*Math.PI/180),u.translate(Ct*(.5-pt),It*(At-.5))}nt!=Q&&u.scale(nt/Q,1),$!=="none"&&(u.fillStyle=$,u.fillText(j,0,0)),I!=null&&(u.strokeStyle=I,u.strokeText(j,0,0)),u.restore()}for(let m of Array.from(f.keys()).reverse())h.set(m,f.get(m));for(let m of i)a.addEventListener(m,function(y){if(y._vhandled)return;const x=a.getBoundingClientRect(),$=y.clientX-x.left,O=y.clientY-x.top;for(const[j,N]of h)if(u.isPointInPath(j,$,O)){r(m,y,t.getCoord(y),N),y._vhandled=!0;break}});return a});St(s,a=>o.value.replaceChildren(a)),e({dispatchEvent:a=>s.value?.dispatchEvent?.(a)});function c(a){return a==null?[]:Array.isArray(a)?a:a==="solid"?[]:a==="dashed"?[4,4]:a==="dotted"?[1,3]:a==="dotdash"?[1,3,4,3]:a==="longdash"?[8,4]:a==="twodash"?[2,2,6,2]:a.includes(" ")?a:a.split("").map(u=>+("0x"+u))}return(a,u)=>(V(),D("foreignObject",_(l.value,{ref:"container"}),null,16))}},gh={__name:"CoreCanvasTextsegment",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"],setup(t,{expose:e,emit:n}){let i=["click","contextmenu","singleclick","dblclick","pointermove","pointerdown","pointerup","wheel"];const r=n,l=Y(()=>({width:t.layout.fullWidth*(1+t.extendX*2),height:t.layout.fullHeight*(1+t.extendY*2),x:-t.layout.l-t.layout.fullWidth*t.extendX,y:-t.layout.t-t.layout.fullHeight*t.extendY})),o=Vt("container"),s=Y(()=>{if(o.value==null)return;const a=document.createElement("canvas");a.width=t.layout.fullWidth*(1+t.extendX*2),a.height=t.layout.fullHeight*(1+t.extendY*2);const u=a.getContext("2d");u.clearRect(0,0,a.width,a.height),u.translate(t.layout.l+t.layout.fullWidth*t.extendX,t.layout.t+t.layout.fullHeight*t.extendY);let f=new Map,h=new Map;for(const m of t.data)for(let{x:y,xend:x,y:$,yend:O,size:j=4,label:N="",title:I,color:B,stroke:P,linewidth:b,linetype:d,alpha:p,"translate-x":w=0,"translate-y":S=0,"text-length":k,$raw:X}of m){u.save(),u.translate(w,S),u.textAlign="center",u.textBaseline="middle",u.lineWidth=b,u.globalAlpha=p,u.font=`${j*4}px sans-serif`;let L=c(String(N)),H=(x-y)/(L.length-1||1),z=(O-$)/(L.length-1||1);for(let R=0;R<L.length;R++){u.save();let F=y+R*H,Q=$+R*z;const{h:K,v:at}=t.coord2pos({x:F,y:Q});u.translate(K,at);let nt=L[R],{width:ot,fontBoundingBoxAscent:pt,fontBoundingBoxDescent:At}=u.measureText(nt),Ct=ot;if(typeof k=="object"){let{x:It=0,y:jt=0}=k,{h:$t,v:Wt}=t.coord2pos({x:y+It/2,y:$+jt/2}),{h:Gt,v:A}=t.coord2pos({x:y-It/2,y:$-jt/2});Ct=Math.hypot($t-Gt||0,Wt-A||0)}else k!=null&&(Ct=k);Ct!=ot&&u.scale(Ct/ot,1),B!=="none"&&(u.fillStyle=B,u.fillText(nt,0,0)),P!=null&&(u.strokeStyle=P,u.strokeText(nt,0,0)),u.restore()}u.restore()}for(let m of Array.from(f.keys()).reverse())h.set(m,f.get(m));for(let m of i)a.addEventListener(m,function(y){if(y._vhandled)return;const x=a.getBoundingClientRect(),$=y.clientX-x.left,O=y.clientY-x.top;for(const[j,N]of h)if(u.isPointInPath(j,$,O)){r(m,y,t.getCoord(y),N),y._vhandled=!0;break}});return a});St(s,a=>o.value.replaceChildren(a)),e({dispatchEvent:a=>s.value?.dispatchEvent?.(a)});function c(a){let u=[];for(let f=0;f<a.length;f++)if(a[f]==""){let h=f+1;for(;h<a.length&&a[h]!="";)h++;u.push(a.slice(f+1,h)),f=h}else u.push(a[f]);return u}return(a,u)=>(V(),D("foreignObject",_(l.value,{ref:"container"}),null,16))}},xh=Object.freeze(Object.defineProperty({__proto__:null,boxplot:hh,curve:fh,line:el,point:mh,polygon:dh,rect:nl,stick:el,text:yh,textsegment:gh,tile:nl},Symbol.toStringTag,{value:"Module"})),vh={__name:"CoreSvgBlank",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup"],setup(t,{emit:e}){return(n,i)=>(V(),D("g"))}},_n={__name:"CoreTile",props:{x:{type:Number,default:0},y:{type:Number,default:0},width:{type:Number,default:0},height:{type:Number,default:0},fill:String,color:String,linewidth:Number,linetype:String,alpha:{type:Number,default:1},translateX:{type:Number,default:0},translateY:{type:Number,default:0}},setup(t){const e=Y(()=>({x:t.x-t.width/2,y:t.y-t.height/2,width:t.width,height:t.height,fill:t.fill||null,"fill-opacity":t.alpha==1?null:t.alpha,stroke:t.color||null,"stroke-width":t.linewidth,"stroke-opacity":t.alpha==1?null:t.alpha,"stroke-dasharray":n(t.linetype),transform:t.translateX||t.translateY?`translate(${t.translateX}, ${t.translateY})`:null}));function n(i){return i==null?null:Array.isArray(i)?i.join(" "):i==="solid"?null:i==="dashed"?"4 4":i==="dotted"?"1 3":i==="dotdash"?"1 3 4 3":i==="longdash"?"8 4":i==="twodash"?"2 2 6 2":i.includes(" ")?i:i.split("").map(r=>+("0x"+r)).join(" ")}return(i,r)=>(V(),D("rect",ge(un(e.value)),null,16))}},zi={__name:"CorePoint",props:{x:{type:Number,default:0},y:{type:Number,default:0},shape:String,size:{type:Number,default:6},color:String,stroke:String,linewidth:Number,linetype:String,alpha:{type:Number,default:1},angle:{type:Number,default:0},translateX:{type:Number,default:0},translateY:{type:Number,default:0}},setup(t){const e={square:"M-0.5-0.5H0.5V0.5H-0.5Z",triangle:"M0-0.667L0.577,0.333L-0.577,0.333Z",diamond:"M0-0.707L0.707,0L0,0.707L-0.707,0Z",plus:"M-0.1-0.5V-0.1H-0.5V0.1H-0.1V0.5H0.1V0.1H0.5V-0.1H0.1V-0.5H-0.1Z",cross:"M-0.283-0.424L-0.424-0.283L-0.141,0L-0.424,0.283L-0.283,0.424L0,0.141L0.283,0.424L0.424,0.283L0.141,0L0.424,-0.283L0.283,-0.424L0,-0.141Z"},n=Y(()=>{let r=t.shape?.startsWith?.("path:")?t.shape?.slice?.(5):e[t.shape],l={fill:t.color||null,"fill-opacity":t.alpha==1?null:t.alpha,stroke:t.stroke||null,"stroke-width":t.linewidth,"stroke-opacity":t.alpha==1?null:t.alpha,"stroke-dasharray":i(t.linetype)};if(r!=null){let o=`translate(${t.x+t.translateX},${t.y+t.translateY})`;t.size!=1&&(o+=`scale(${t.size})`),t.angle&&(o+=`rotate(${t.angle})`),Object.assign(l,{d:r,transform:o})}else{let o=t.translateX||t.translateY?`translate(${t.translateX}, ${t.translateY})`:null;Object.assign(l,{cx:t.x,cy:t.y,r:t.size/2,transform:o})}return l});function i(r){return r==null?null:Array.isArray(r)?r.join(" "):r==="solid"?null:r==="dashed"?"4 4":r==="dotted"?"1 3":r==="dotdash"?"1 3 4 3":r==="longdash"?"8 4":r==="twodash"?"2 2 6 2":r.includes(" ")?r:r.split("").map(l=>+("0x"+l)).join(" ")}return(r,l)=>n.value.d?(V(),D("path",ge(_({key:0},n.value)),null,16)):(V(),D("circle",ge(_({key:1},n.value)),null,16))}},Re={__name:"CoreLine",props:{x1:{type:Number,default:0},y1:{type:Number,default:0},x2:{type:Number,default:0},y2:{type:Number,default:0},color:String,stroke:String,linewidth:Number,linetype:String,alpha:{type:Number,default:1},translateX:{type:Number,default:0},translateY:{type:Number,default:0}},setup(t){const e=Y(()=>({x1:t.x1,x2:t.x2,y1:t.y1,y2:t.y2,stroke:t.color||null,"stroke-width":t.linewidth,"stroke-opacity":t.alpha==1?null:t.alpha,"stroke-dasharray":n(t.linetype),transform:t.translateX||t.translateY?`translate(${t.translateX}, ${t.translateY})`:null}));function n(i){return i==null?null:Array.isArray(i)?i.join(" "):i==="solid"?null:i==="dashed"?"4 4":i==="dotted"?"1 3":i==="dotdash"?"1 3 4 3":i==="longdash"?"8 4":i==="twodash"?"2 2 6 2":i.includes(" ")?i:i.split("").map(r=>+("0x"+r)).join(" ")}return(i,r)=>(V(),D("line",ge(un(e.value)),null,16))}},ph={__name:"CoreSvgBoxplot",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"],setup(t,{emit:e}){let n=["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"];const i=e,r=Y(()=>{let l=-t.layout.fullWidth*t.extendX-t.layout.l,o=t.layout.fullWidth*(1+t.extendX)-t.layout.l,s=-t.layout.fullHeight*t.extendY-t.layout.t,c=t.layout.fullHeight*(1+t.extendY)-t.layout.t;return t.data.map(a=>a.map(({x:u,xmin:f,xmax:h,y:m,ymin:y,ymax:x,lwisker:$,Q1:O,median:j,Q3:N,uwisker:I,outliers:B,$xmin:P,$xmax:b,$ymin:d,$ymax:p,fill:w="white",color:S="black",linewidth:k,linetype:X,alpha:L,"translate-x":H=0,"translate-y":z=0,$raw:R})=>{const{hmin:F,hmax:Q,vmin:K,vmax:at}=t.coord2pos({xmin:P,xmax:b,ymin:d,ymax:p});if(F<l&&Q<l||F>o&&Q>o||K<s&&at<s||K>c&&at>c)return null;const{hmin:nt,hmax:ot,vmin:pt,vmax:At}=t.coord2pos(u==null?{ymin:y,ymax:x,xmin:O,xmax:N}:{xmin:f,xmax:h,ymin:O,ymax:N}),{h:Ct,v:It}=t.coord2pos(u==null?{y:m,x:$}:{x:u,y:$}),{h:jt,v:$t}=t.coord2pos(u==null?{y:m,x:I}:{x:u,y:I}),{h:Wt,v:Gt}=t.coord2pos(u==null?{y,x:j}:{x:f,y:j}),{h:A,v:C}=t.coord2pos(u==null?{y:x,x:j}:{x:h,y:j}),{h:E,v:g}=t.coord2pos(u==null?{y:y*.25+x*.75,x:I}:{x:f*.25+h*.75,y:I}),{h:v,v:M}=t.coord2pos(u==null?{y:y*.75+x*.25,x:I}:{x:f*.75+h*.25,y:I}),{h:T,v:W}=t.coord2pos(u==null?{y:y*.25+x*.75,x:$}:{x:f*.25+h*.75,y:$}),{h:q,v:Z}=t.coord2pos(u==null?{y:y*.75+x*.25,x:$}:{x:f*.75+h*.25,y:$});let tt={rect:{x:(nt+ot)/2,width:ot-nt,y:(pt+At)/2,height:At-pt,fill:w,color:S,linetype:X,linewidth:k,alpha:L,translateX:H,translateY:z},line:{x1:Ct,y1:It,x2:jt,y2:$t,color:S,linetype:X,linewidth:k,alpha:L,translateX:H,translateY:z},midline:{x1:Wt,y1:Gt,x2:A,y2:C,color:S,linetype:X,linewidth:(k??1)*2,alpha:L,translateX:H,translateY:z},uwisker:{x1:E,y1:g,x2:v,y2:M,color:S,linetype:X,linewidth:k,alpha:L,translateX:H,translateY:z},lwisker:{x1:T,y1:W,x2:q,y2:Z,color:S,linetype:X,linewidth:k,alpha:L,translateX:H,translateY:z},outliers:B?.map(({x:mt,y:dt,$raw:ct})=>{const{h:rt,v:G}=t.coord2pos({x:mt,y:dt});let J={x:rt,y:G,shape:"circle",size:4,color:S,alpha:L,translateX:H,translateY:z},U=Object.fromEntries(n.map(lt=>[lt,vt=>i(lt,vt,ct)]));return[J,U]})},it=Object.fromEntries(n.map(mt=>[mt,dt=>i(mt,Object.assign(dt,{_vhandled:!0}),t.getCoord(dt),R)]));return[tt,it]}).filter(u=>u!=null))});return(l,o)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(r.value,s=>(V(),D("g",null,[(V(!0),D(ut,null,ht(s,([c,a])=>(V(),D("g",null,[le(Re,_({ref_for:!0},c.line),null,16),o[0]||(o[0]=gt()),le(_n,_({ref_for:!0},c.rect,qt(a)),null,16),o[1]||(o[1]=gt()),le(Re,_({ref_for:!0},c.midline),null,16),o[2]||(o[2]=gt()),le(Re,_({ref_for:!0},c.uwisker),null,16),o[3]||(o[3]=gt()),le(Re,_({ref_for:!0},c.lwisker),null,16),o[4]||(o[4]=gt()),(V(!0),D(ut,null,ht(c.outliers,([u,f])=>(V(),kt(zi,_({ref_for:!0},u,qt(f)),null,16))),256))]))),256))]))),256))]))}},ha={__name:"CoreCurve",props:{points:{type:Array,default:()=>[]},interpolate:{default:"natural"},fill:{type:String,default:"none"},color:String,stroke:String,linewidth:Number,linetype:String,alpha:{type:Number,default:1},translateX:{type:Number,default:0},translateY:{type:Number,default:0}},setup(t){const e=Y(()=>{let r=n[t.interpolate]??Rn;return{d:jf().curve(r)(t.points.map(l=>[l.x,l.y])),fill:t.fill||null,stroke:t.color||null,"stroke-width":t.linewidth,"stroke-opacity":t.alpha==1?null:t.alpha,"stroke-dasharray":i(t.linetype),transform:t.translateX||t.translateY?`translate(${t.translateX}, ${t.translateY})`:null}}),n={cardinal:ra,catmullRom:aa,linear:Ri,natural:Rn};function i(r){return r==null?null:Array.isArray(r)?r.join(" "):r==="solid"?null:r==="dashed"?"4 4":r==="dotted"?"1 3":r==="dotdash"?"1 3 4 3":r==="longdash"?"8 4":r==="twodash"?"2 2 6 2":r.includes(" ")?r:r.split("").map(l=>+("0x"+l)).join(" ")}return(r,l)=>(V(),D("path",ge(un(e.value)),null,16))}},wh={__name:"CoreSvgCurve",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"],setup(t,{emit:e}){let n=["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"];const i=e,r=Y(()=>{let l=-t.layout.fullWidth*t.extendX-t.layout.l,o=t.layout.fullWidth*(1+t.extendX)-t.layout.l,s=-t.layout.fullHeight*t.extendY-t.layout.t,c=t.layout.fullHeight*(1+t.extendY)-t.layout.t;return t.data.map(a=>a.map(({points:u,fill:f="none",color:h="black",linewidth:m,linetype:y,alpha:x,"translate-x":$=0,"translate-y":O=0,$raw:j,interpolate:N})=>{if(u=u.map(P=>(({h:b,v:d})=>({x:b,y:d}))(t.coord2pos(P))),u.every(P=>P.x<l)||u.every(P=>P.x>o)||u.every(P=>P.y<s)||u.every(P=>P.y>c))return null;let I={points:u,fill:f,color:h,linetype:y,linewidth:m,alpha:x,translateX:$,translateY:O,interpolate:N},B=Object.fromEntries(n.map(P=>[P,b=>i(P,Object.assign(b,{_vhandled:!0}),t.getCoord(b),j)]));return[I,B]}).filter(u=>u!=null))});return(l,o)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(r.value,s=>(V(),D("g",null,[(V(!0),D(ut,null,ht(s,([c,a])=>(V(),kt(ha,_({ref_for:!0},c,qt(a)),null,16))),256))]))),256))]))}},il={__name:"CoreSvgLine",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"],setup(t,{emit:e}){let n=["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"];const i=e,r=Y(()=>{let l=-t.layout.fullWidth*t.extendX-t.layout.l,o=t.layout.fullWidth*(1+t.extendX)-t.layout.l,s=-t.layout.fullHeight*t.extendY-t.layout.t,c=t.layout.fullHeight*(1+t.extendY)-t.layout.t;return t.data.map(a=>a.map(({x:u,y:f,xend:h,yend:m,color:y="black",linewidth:x,linetype:$,alpha:O,"translate-x":j=0,"translate-y":N=0,$raw:I})=>{const{h:B,v:P}=t.coord2pos({x:u,y:f}),{h:b,v:d}=t.coord2pos({x:h,y:m});if(B<l&&b<l||B>o&&b>o||P<s&&d<s||P>c&&d>c)return null;let p={x1:B,x2:b,y1:P,y2:d,color:y,linetype:$,linewidth:x,alpha:O,translateX:j,translateY:N},w=Object.fromEntries(n.map(S=>[S,k=>i(S,Object.assign(k,{_vhandled:!0}),t.getCoord(k),I)]));return[p,w]}).filter(u=>u!=null))});return(l,o)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(r.value,s=>(V(),D("g",null,[(V(!0),D(ut,null,ht(s,([c,a])=>(V(),kt(Re,_({ref_for:!0},c,qt(a)),null,16))),256))]))),256))]))}},bh={__name:"CoreSvgPoint",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"],setup(t,{emit:e}){let n=["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"];const i=e,r=Y(()=>{let l=-t.layout.fullWidth*t.extendX-t.layout.l,o=t.layout.fullWidth*(1+t.extendX)-t.layout.l,s=-t.layout.fullHeight*t.extendY-t.layout.t,c=t.layout.fullHeight*(1+t.extendY)-t.layout.t;return t.data.map(a=>a.map(({x:u,y:f,shape:h,size:m=6,color:y,stroke:x,linetype:$,linewidth:O,alpha:j,"translate-x":N=0,"translate-y":I=0,angle:B,$raw:P})=>{const{h:b,v:d}=t.coord2pos({x:u,y:f});if(b<l||b>o||d<s||d>c)return null;let p={x:b,y:d,shape:h,size:m,color:y,stroke:x,linetype:$,linewidth:O,alpha:j,angle:B,translateX:N,translateY:I},w=Object.fromEntries(n.map(S=>[S,k=>i(S,Object.assign(k,{_vhandled:!0}),t.getCoord(k),P)]));return[p,w]}).filter(u=>u!=null))});return(l,o)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(r.value,s=>(V(),D("g",null,[(V(!0),D(ut,null,ht(s,([c,a])=>(V(),kt(zi,_({ref_for:!0},c,qt(a)),null,16))),256))]))),256))]))}},ma={__name:"CorePolygon",props:{points:{type:Array,default:()=>[]},fill:String,color:String,linewidth:Number,linetype:String,alpha:{type:Number,default:1},translateX:{type:Number,default:0},translateY:{type:Number,default:0}},setup(t){const e=Y(()=>({points:t.points.map(i=>`${i.x},${i.y}`).join(" "),fill:t.fill||null,"fill-opacity":t.alpha==1?null:t.alpha,stroke:t.color||null,"stroke-width":t.linewidth,"stroke-opacity":t.alpha==1?null:t.alpha,"stroke-dasharray":n(t.linetype),transform:t.translateX||t.translateY?`translate(${t.translateX}, ${t.translateY})`:null}));function n(i){return i==null?null:Array.isArray(i)?i.join(" "):i==="solid"?null:i==="dashed"?"4 4":i==="dotted"?"1 3":i==="dotdash"?"1 3 4 3":i==="longdash"?"8 4":i==="twodash"?"2 2 6 2":i.includes(" ")?i:i.split("").map(r=>+("0x"+r)).join(" ")}return(i,r)=>(V(),D("polygon",ge(un(e.value)),null,16))}},kh={__name:"CoreSvgPolygon",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"],setup(t,{emit:e}){let n=["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"];const i=e,r=Y(()=>{let l=-t.layout.fullWidth*t.extendX-t.layout.l,o=t.layout.fullWidth*(1+t.extendX)-t.layout.l,s=-t.layout.fullHeight*t.extendY-t.layout.t,c=t.layout.fullHeight*(1+t.extendY)-t.layout.t;return t.data.map(a=>a.map(({points:u,fill:f,color:h,linewidth:m,linetype:y,alpha:x,"translate-x":$=0,"translate-y":O=0,$raw:j})=>{if(u=u.map(B=>(({h:P,v:b})=>({x:P,y:b}))(t.coord2pos(B))),u.every(B=>B.x<l)||u.every(B=>B.x>o)||u.every(B=>B.y<s)||u.every(B=>B.y>c))return null;let N={points:u,fill:f,color:h,linewidth:m,linetype:y,alpha:x,translateX:$,translateY:O},I=Object.fromEntries(n.map(B=>[B,P=>i(B,Object.assign(P,{_vhandled:!0}),t.getCoord(P),j)]));return[N,I]}).filter(u=>u!=null))});return(l,o)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(r.value,s=>(V(),D("g",null,[(V(!0),D(ut,null,ht(s,([c,a])=>(V(),kt(ma,_({ref_for:!0},c,qt(a)),null,16))),256))]))),256))]))}},rl={__name:"CoreSvgRect",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"],setup(t,{emit:e}){let n=["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"];const i=e,r=Y(()=>{let l=-t.layout.fullWidth*t.extendX-t.layout.l,o=t.layout.fullWidth*(1+t.extendX)-t.layout.l,s=-t.layout.fullHeight*t.extendY-t.layout.t,c=t.layout.fullHeight*(1+t.extendY)-t.layout.t;return t.data.map(a=>a.map(({xmin:u,xmax:f,ymin:h,ymax:m,fill:y="black",color:x,linewidth:$,linetype:O,alpha:j,"translate-x":N=0,"translate-y":I=0,$raw:B})=>{const{hmin:P,hmax:b,vmin:d,vmax:p}=t.coord2pos({xmin:u,xmax:f,ymin:h,ymax:m});if(P<l&&b<l||P>o&&b>o||d<s&&p<s||d>c&&p>c)return null;let w={x:(P+b)/2,width:b-P,y:(d+p)/2,height:p-d,fill:y,color:x,linetype:O,linewidth:$,alpha:j,translateX:N,translateY:I},S=Object.fromEntries(n.map(k=>[k,X=>i(k,Object.assign(X,{_vhandled:!0}),t.getCoord(X),B)]));return[w,S]}).filter(u=>u!=null))});return(l,o)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(r.value,s=>(V(),D("g",null,[(V(!0),D(ut,null,ht(s,([c,a])=>(V(),kt(_n,_({ref_for:!0},c,qt(a)),null,16))),256))]))),256))]))}},Ah={__name:"CoreSvgText",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"],setup(t,{emit:e}){let n=["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"];const i=e,r=Y(()=>{let l=-t.layout.fullWidth*t.extendX-t.layout.l,o=t.layout.fullWidth*(1+t.extendX)-t.layout.l,s=-t.layout.fullHeight*t.extendY-t.layout.t,c=t.layout.fullHeight*(1+t.extendY)-t.layout.t;return t.data.map(a=>a.map(({x:u,y:f,size:h=4,label:m,title:y,color:x,stroke:$,linewidth:O,linetype:j,alpha:N,"anchor-x":I,"anchor-y":B,"dock-x":P,"dock-y":b,"translate-x":d=0,"translate-y":p=0,angle:w,"text-length":S,$raw:k})=>{if(m==null)return null;const{h:X,v:L}=t.coord2pos({x:u,y:f});if(X<l||X>o||L<s||L>c)return null;if(typeof S=="object"){let{x:R=0,y:F=0}=S,{h:Q,v:K}=t.coord2pos({x:u+R/2,y:f+F/2}),{h:at,v:nt}=t.coord2pos({x:u-R/2,y:f-F/2});S=Math.hypot(Q-at||0,K-nt||0)}let H={x:X,y:L,text:String(m),title:String(y??m),size:h,color:x,stroke:$,linetype:j,linewidth:O,alpha:N,angle:w,translateX:d,translateY:p,anchorX:I,anchorY:B,dockX:P,dockY:b,textLength:S},z=Object.fromEntries(n.map(R=>[R,F=>i(R,Object.assign(F,{_vhandled:!0}),t.getCoord(F),k)]));return[H,z]}).filter(u=>u!=null))});return(l,o)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(r.value,s=>(V(),D("g",null,[(V(!0),D(ut,null,ht(s,([c,a])=>(V(),kt(Qe,_({ref_for:!0},c,qt(a)),null,16))),256))]))),256))]))}},$h={__name:"CoreSvgTextsegment",props:{extendX:{type:Number,default:0},extendY:{type:Number,default:0},data:Object,coord2pos:Function,getCoord:Function,layout:Object},emits:["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"],setup(t,{emit:e}){let n=["click","contextmenu","singleclick","pointerover","pointerout","pointerenter","pointerleave","pointermove","pointerdown","pointerup","wheel"];const i=e,r=Y(()=>{let o=-t.layout.fullWidth*t.extendX-t.layout.l,s=t.layout.fullWidth*(1+t.extendX)-t.layout.l,c=-t.layout.fullHeight*t.extendY-t.layout.t,a=t.layout.fullHeight*(1+t.extendY)-t.layout.t;return t.data.map(u=>u.map(({x:f,xend:h,y:m,yend:y,size:x=4,label:$,title:O,color:j,stroke:N,linewidth:I,linetype:B,alpha:P,"translate-x":b=0,"translate-y":d=0,"text-length":p,$raw:w})=>{if($==null)return null;const{h:S,v:k}=t.coord2pos({x:f,y:m}),{h:X,v:L}=t.coord2pos({x:h,y});if(S<o&&X<o||S>s&&X>s||k<c&&L<c||k>a&&L>a)return null;let H=l(String($)),z=(h-f)/(H.length-1||1),R=(y-m)/(H.length-1||1),F=H.map((at,nt)=>{let ot=f+nt*z,pt=m+nt*R;const{h:At,v:Ct}=t.coord2pos({x:ot,y:pt});if(typeof p=="object"){let{x:jt=0,y:$t=0}=p,{h:Wt,v:Gt}=t.coord2pos({x:ot+jt/2,y:pt+$t/2}),{h:A,v:C}=t.coord2pos({x:ot-jt/2,y:pt-$t/2});p=Math.hypot(Wt-A||0,Gt-C||0)}return[{x:At,y:Ct,"text-anchor":"middle","alignment-baseline":"central",textLength:p,lengthAdjust:p?"spacingAndGlyphs":null},at]}),Q={fill:j,"font-size":x*4,stroke:N,"stroke-width":I,"stroke-dasharray":B,"fill-opacity":P,"stroke-opacity":P,transform:b||d?`translate(${b}, ${d})`:null},K=Object.fromEntries(n.map(at=>[at,nt=>i(at,Object.assign(nt,{_vhandled:!0}),t.getCoord(nt),w)]));return[Q,K,F,String(O??$)]}).filter(f=>f!=null))});function l(o){let s=[];for(let c=0;c<o.length;c++)if(o[c]==""){let a=c+1;for(;a<o.length&&o[a]!="";)a++;s.push(o.slice(c+1,a)),c=a}else s.push(o[c]);return s}return(o,s)=>(V(),D("g",null,[(V(!0),D(ut,null,ht(r.value,c=>(V(),D("g",null,[(V(!0),D(ut,null,ht(c,([a,u,f,h])=>(V(),D("text",_({ref_for:!0},a,qt(u,!0)),[wt("title",null,Oe(h),1),s[0]||(s[0]=gt()),(V(!0),D(ut,null,ht(f,([m,y])=>(V(),D(ut,null,[y?(V(),D("tspan",_({key:0,ref_for:!0},m),Oe(y),17)):Ft("",!0)],64))),256))],16))),256))]))),256))]))}},Mh=Object.freeze(Object.defineProperty({__proto__:null,blank:vh,boxplot:ph,curve:wh,line:il,point:bh,polygon:kh,rect:rl,stick:il,text:Ah,textsegment:$h,tile:rl},Symbol.toStringTag,{value:"Module"})),Sh={__name:"CoreLayer",props:{data:Object,geom:String,render:String,defaultRender:{type:String,default:"auto"}},setup(t,{expose:e}){const n={svg:Mh,canvas:xh},i=Y(()=>{let o=t.render??t.defaultRender;return o=="auto"?t.data.map(c=>c.length).reduce((c,a)=>c+a,0)>1e3?"canvas":"svg":n[o][t.geom]!=null?o:"svg"}),r=Vt("layer"),l=Y(()=>i.value=="canvas"?"pointer-events: none;":"");return e({render:i,dispatchEvent:o=>r.value?.dispatchEvent?.(o)}),(o,s)=>(V(),kt(qe(n[i.value][t.geom]),{ref_key:"layer",ref:r,style:sn(l.value),data:t.data},null,8,["style","data"]))}},Nh={key:0},Th=["onPointerdown"],ll={__name:"CoreSelection",props:We({coord2pos:Function,pos2coord:Function,layout:Object,theme:Object,flip:Boolean,move:Boolean,resize:Boolean,dismissible:Boolean,xmin:Number,xmax:Number,ymin:Number,ymax:Number,x:Boolean,y:Boolean,minRangeX:Number,minRangeY:Number,ctrlKey:Boolean,shiftKey:Boolean,altKey:Boolean,metaKey:Boolean,buttons:Number,activeTransform:Object,transition:String},{modelValue:{default:()=>({})},modelModifiers:{}}),emits:We(["select","selecting","selectend","click","contextmenu"],["update:modelValue"]),setup(t,{emit:e}){const n=me(t,"modelValue"),i=sl(t,["coord2pos","pos2coord","layout","theme","flip","activeTransform","transition"]),r=Y(()=>{if(n.value==null||n.value.hidden||["xmin","xmax","ymin","ymax"].every($=>n.value?.[$]==null))return null;let{hmin:f,hmax:h,vmin:m,vmax:y}=t.coord2pos(n.value,{limited:!0}),x=t.coord2pos(n.value);return f!=null&&h!=null&&([f,h]=[f,h].sort(($,O)=>$-O)),m!=null&&y!=null&&([m,y]=[m,y].sort(($,O)=>$-O)),{hmin:f,hmax:h,vmin:m,vmax:y,pos:x}}),l=Y(()=>{if(!r.value)return null;let{translateH:f,translateV:h,scaleH:m,scaleV:y}=t.activeTransform,{hmin:x,hmax:$,vmin:O,vmax:j,pos:N}=r.value,I=$-x,B=j-O,P=t.layout.left,b=t.layout.top,d=1,p=1;if(N.hmin!=null&&N.hmax!=null)P+=f,d=m;else if(N.hmin!=null){let S=f+x*(m-1);d=1-S/I,P+=S*(1+x/I)}else if(N.hmax!=null){let S=f+$*(m-1);d=1+S/I,P+=S*(1-$/I)}if(N.vmin!=null&&N.vmax!=null)b+=t.activeTransform.translateV,p=t.activeTransform.scaleV;else if(N.vmin!=null){let S=h+O*(y-1);p=1-S/B,b+=S*(1+O/B)}else if(N.vmax!=null){let S=h+j*(y-1);p=1+S/B,b+=S*(1-j/B)}let w=[];return(P!=0||b!=0)&&w.push(`translate(${P}, ${b})`),(d!=1||p!=1)&&w.push(`scale(${d}, ${p})`),w.join(" ")||null}),o=Y(()=>t.activeTransform.translateH!=0||t.activeTransform.translateV!=0||t.activeTransform.scaleH!=1||t.activeTransform.scaleV!=1),s=Y(()=>{if(!r.value)return null;let{hmin:f,hmax:h,vmin:m,vmax:y,pos:x}=r.value,$=t.theme?.line_width??1;x.hmin==null&&(f-=$/2),x.hmax==null&&(h+=$/2),x.vmin==null&&(m-=$/2),x.vmax==null&&(y+=$/2);let O=h-f,j=y-m;return{x:f,y:m,width:O,height:j,fill:t.theme?.background??"transparent","fill-opacity":t.theme?.opacity,stroke:t.theme?.line_color??"none","stroke-width":t.theme?.line_width,"stroke-opacity":t.theme?.opacity,transform:l.value,style:{transition:t.transition,"pointer-events":"none"}}}),c=Y(()=>{if(!r.value||o.value)return null;let f=10,{hmin:h,hmax:m,vmin:y,vmax:x,pos:$}=r.value,O=m-h,j=x-y,N={};i.move&&(N.tblr={x:h,y,width:O,height:j,fill:"transparent",style:"cursor:move;"}),i.resize&&($.hmin!=null&&(N.l={x:h-f/2,y,width:f,height:j,style:"cursor:ew-resize;",class:"vvplot-interactive"}),$.hmax!=null&&(N.r={x:m-f/2,y,width:f,height:j,style:"cursor:ew-resize;"}),$.vmin!=null&&(N.t={x:h,y:y-f/2,width:O,height:f,style:"cursor:ns-resize;"}),$.vmax!=null&&(N.b={x:h,y:x-f/2,width:O,height:f,style:"cursor:ns-resize;"}),$.hmin!=null&&$.vmin!=null&&(N.tl={x:h-f/2,y:y-f/2,width:f,height:f,style:"cursor:nwse-resize;"}),$.hmax!=null&&$.vmin!=null&&(N.tr={x:m-f/2,y:y-f/2,width:f,height:f,style:"cursor:nesw-resize;"}),$.hmin!=null&&$.vmax!=null&&(N.bl={x:h-f/2,y:x-f/2,width:f,height:f,style:"cursor:nesw-resize;"}),$.hmax!=null&&$.vmax!=null&&(N.br={x:m-f/2,y:x-f/2,width:f,height:f,style:"cursor:nwse-resize;"}));let I=t.layout.left,B=t.layout.top;if(I||B)for(let P in N)N[P].transform=`translate(${I}, ${B})`;return N}),a=e;function u(f,h){if(!h||!["buttons","ctrlKey","shiftKey","altKey","metaKey"].every(K=>i[K]==f[K]))return;f.stopPropagation(),f.preventDefault(),f.target.setPointerCapture(f.pointerId);let m=t.coord2pos(n.value),{h:y,v:x}=t.pos2coord({h:m.hmin,v:m.vmin}),{h:$,v:O}=t.pos2coord({h:m.hmax,v:m.vmax}),{hmin:j,hmax:N,vmin:I,vmax:B}=m,P=!1,b={min:i.xmin,max:i.xmax},d={min:i.ymin,max:i.ymax},[p=0,w=0]=t.flip?[i.minRangeY,i.minRangeX]:[i.minRangeX,i.minRangeY],S=t.coord2pos(i),k=0,X=0,L,H,z,R,F=!1,Q=!1;f.target.onpointermove=K=>{if(P=!0,k+=K.movementX,X+=K.movementY,h.includes("l")&&h.includes("r")){let at=yt(k,{min:S.hmin-j,max:S.hmax-N}),nt=t.pos2coord({hmin:st(j,at),hmax:st(N,at)});y=nt.hmin,$=nt.hmax}else h.includes("l")?(y=t.pos2coord({h:j+k}).h,y=yt(y,y>$?{min:st($,p)}:{max:st($,-p)}),F=j+k>N):h.includes("r")&&($=t.pos2coord({h:N+k}).h,$=yt($,$>y?{min:st(y,p)}:{max:st(y,-p)}),F=N+k<j);if(h.includes("t")&&h.includes("b")){let at=yt(X,{min:S.vmin-I,max:S.vmax-B}),nt=t.pos2coord({vmin:st(I,at),vmax:st(B,at)});x=nt.vmin,O=nt.vmax}else h.includes("t")?(x=t.pos2coord({v:I+X}).v,x=yt(x,x>O?{min:st(O,w)}:{max:st(O,-w)}),Q=I+X>B):h.includes("b")&&(O=t.pos2coord({v:B+X}).v,O=yt(O,O>x?{min:st(x,w)}:{max:st(x,-w)}),Q=B+X<I);L=yt(t.flip?x:y,b),H=yt(t.flip?O:$,b),z=yt(t.flip?y:x,d),R=yt(t.flip?$:O,d),L>H&&([L,H]=[H,L]),z>R&&([z,R]=[R,z]),a("selecting",{xmin:L,xmax:H,ymin:z,ymax:R},t.theme)},f.target.onpointerup=K=>{if(K.currentTarget.onpointerup=null,K.currentTarget.onpointermove=null,i.buttons&1&&(K.currentTarget.onclick=ot=>{ot.currentTarget.onclick=null,a("click",ot)}),i.buttons&2&&(K.currentTarget.oncontextmenu=ot=>{ot.currentTarget.onclick=null,a("contextmenu",ot)}),!P)return;let at={xmin:L,xmax:H,xreverse:!!(F^n.value.xreverse),ymin:z,ymax:R,yreverse:!!(Q^n.value.yreverse)},nt=new PointerEvent("select",f);n.value=Lt(at),a("selectend"),a("select",Lt(at),nt)}}return(f,h)=>s.value?(V(),D("g",Nh,[wt("rect",ge(un(s.value)),null,16),h[0]||(h[0]=gt()),(V(!0),D(ut,null,ht(c.value,(m,y)=>(V(),D("rect",_({fill:"transparent"},{ref_for:!0},m,{onPointerdown:x=>u(x,y),class:"vvplot-interactive"}),null,16,Th))),256))])):Ft("",!0)}},Ch=["height","width"],Oh=["y1","y2"],Eh=["y"],jh={__name:"CoreGuideGradientbar",props:{scales:Array,appearance:{type:Object,default:()=>({})},theme:{type:Object,default:()=>({})},breaks:Array,limits:Object},setup(t){const e=Y(()=>{let{min:l,max:o}=t.limits;return t.breaks.map(s=>({position:(s-l)/(o-l),label:String(s)}))}),n=Y(()=>{let l=30,{min:o,max:s}=t.limits,c=(s-o)/(l-1),a=Array.from({length:l},(f,h)=>o+h*c),u=t.scales.map(f=>f(a));return a.map((f,h)=>Object.fromEntries(t.scales.map((m,y)=>[{color:"fill"}[m.aesthetics]??m.aesthetics,u[y][h]])))}),i=Sn(0),r=Vt("svg");return St(e,async()=>{await Ei();let l=r.value?.getBBox?.();l&&(i.value=l.width+l.x)},{immediate:!0}),(l,o)=>(V(),D("svg",{height:n.value.length*3+20,width:i.value,ref:"svg"},[(V(!0),D(ut,null,ht(n.value,(s,c)=>(V(),kt(_n,_({width:10,height:3.1,x:10,y:10+(29-c+.5)*3,alpha:t.appearance.alpha},{ref_for:!0},s),null,16,["y","alpha"]))),256)),o[1]||(o[1]=gt()),(V(!0),D(ut,null,ht(e.value,(s,c)=>(V(),D("g",null,[wt("line",{x1:"15",x2:"18",y1:10+(1-s.position)*90,y2:10+(1-s.position)*90,stroke:"black"},null,8,Oh),o[0]||(o[0]=gt()),wt("text",{x:"20",y:10+(1-s.position)*90,"alignment-baseline":"central"},Oe(s.label),9,Eh)]))),256))],8,Ch))}},Ph=Object.freeze(Object.defineProperty({__proto__:null,curve:ha,line:Re,point:zi,polygon:ma,text:Qe,tile:_n},Symbol.toStringTag,{value:"Module"})),Vh=["height","width"],Ih=["transform"],Bh={transform:"translate(10, 10)"},Lh={x:"20",y:"10","alignment-baseline":"central"},Xh={__name:"CoreGuideLegendkey",props:{scales:Array,appearances:{type:Object,default:()=>({})},theme:{type:Object,default:()=>({})},breaks:Array},setup(t){const e=Y(()=>{let l=t.scales.map(a=>a(t.breaks)),o=t.breaks.map((a,u)=>({bind:Object.fromEntries(t.scales.map((f,h)=>[f.aesthetics,l[h][u]])),label:String(a)})),s=ao(o.map(a=>a.bind)),c=Map.groupBy(o.map(a=>a.label),(a,u)=>s.categories[s[u]]);return Array.from(c).map(([a,u])=>({bind:a,label:u.join("; ")}))}),n=Y(()=>{let{text:l,line:o,point:s,tile:c}=t.appearances,a={};return l!=null&&(a.text={size:4,text:"a",...l}),o!=null&&(a.line={x1:-5,x2:5,color:"black",...o}),s!=null&&(a.point={size:6,...s}),c!=null&&(a.tile={width:10,height:10,fill:"transparent",...c}),a}),i=Sn(0),r=Vt("svg");return St(e,async()=>{await Ei();let l=r.value?.getBBox?.();l&&(i.value=l.width+l.x)},{immediate:!0}),(l,o)=>(V(),D("svg",{height:e.value.length*20,width:i.value,ref:"svg"},[(V(!0),D(ut,null,ht(e.value,(s,c)=>(V(),D("g",{transform:`translate(0, ${c*20})`},[wt("g",Bh,[(V(!0),D(ut,null,ht(n.value,(a,u)=>(V(),kt(qe(Ph[u]),_({ref_for:!0},{...a,...s.bind}),null,16))),256))]),o[0]||(o[0]=gt()),wt("text",Lh,Oe(s.label),1)],8,Ih))),256))],8,Vh))}},Yh=Object.assign({inheritAttrs:!1},{__name:"CoreGuide",props:{scales:Array,type:{type:String,default:"legendkey"}},setup(t){const e={legendkey:Xh,gradientbar:jh},n=Y(()=>t.scales.map(([l])=>l.title).find(l=>l!=null)),i=Y(()=>{let l=t.scales.map(([s])=>s),o=l.find(s=>s.breaks!=null);return Array.isArray(o?.breaks)?Array.from(o.breaks):(o=l.find(s=>s.level!=null),o?.level?o.level.apply(Array.from(o.level)):(o=l.find(s=>s.limits!=null),Zn.number({minor:!0})(o.limits)))}),r=Y(()=>{let l={scales:t.scales.map(([o])=>o)};if(t.type=="legendkey")l.appearances={text:Nt(...t.scales.flatMap(([o,s])=>[s.text])),line:Nt(...t.scales.flatMap(([o,s])=>[s.line,s.linerange,s.curve])),point:Nt(...t.scales.flatMap(([o,s])=>[s.point])),tile:Nt(...t.scales.flatMap(([o,s])=>[s.rect,s.tile,s.polygon]))};else if(t.type=="gradientbar"){let o=t.scales.map(([c])=>c.limits?.max).filter(c=>c!=null).reduce((c,a)=>Math.min(c,a),1/0),s=t.scales.map(([c])=>c.limits?.min).filter(c=>c!=null).reduce((c,a)=>Math.max(c,a),-1/0);l.limits={min:s,max:o},l.appearance=Nt(...t.scales.flatMap(([c,a])=>Object.values(a)))}return l});return(l,o)=>(V(),D(ut,null,[wt("span",null,Oe(n.value),1),o[0]||(o[0]=gt()),(V(),kt(qe(e[t.type]),_(r.value,{breaks:i.value}),null,16,["breaks"]))],64))}}),Dh={__name:"CoreLegend",props:{theme:{type:Object,default:()=>({})},scales:Map},setup(t){const e=Y(()=>{let i=new Map(Array.from(t.scales).filter(([a])=>a.legend!==!1)),r=Array.from(i.keys()),l=r.map(a=>a.key),o=1;for(let a in l){for(;l.includes("_guide_"+o);)o++;l[a]==null&&(l[a]="_guide_"+o)}let s=r.map(a=>n(a)),c=oo(l,s);return Map.groupBy(i,(a,u)=>c.categories[c[u]])});function n(i){return i==null?null:["gradientbar","legendkey"].includes(i.guide)?i.guide:i.level?"legendkey":["color","fill","alpha"].includes(i.aesthetics)?"gradientbar":"legendkey"}return(i,r)=>t.scales?(V(),D("div",{key:0,class:"vvplot-legend",style:sn({gap:t.theme.spacing+"px"})},[(V(!0),D(ut,null,ht(e.value,([[l,o],s])=>(V(),kt(Yh,{key:l,type:o,scales:s},null,8,["type","scales"]))),128))],4)):Ft("",!0)}},Rh=["id"],Hh=["width","height"],zh=["transform","width","height","fill"],Fh=["transform"],qh=["transform","clip-path"],Wh=["transform"],Gh=["clip-path"],Uh={key:1},Kh=Object.assign({inheritAttrs:!1},{__name:"CorePlot",props:We({schema:Object,layers:Array,minRange:Object,expandAdd:Object,flip:Boolean,reverse:Object,paddings:Object,expandMult:Object,coordLevels:Object,levels:Object,scales:Object,axes:{type:Array,default:()=>[]},theme:Object,render:String,clip:Boolean,action:{type:Array,default:()=>[]},selections:{type:Array,default:()=>[]},legendTeleport:null},{selectionPreview:{},selectionPreviewModifiers:{},selectionPreviewTheme:{},selectionPreviewThemeModifiers:{},transition:{},transitionModifiers:{}}),emits:We(["click","singleclick","dblclick","contextmenu","pointerdown","pointerup","pointerover","pointerout","pointerenter","pointerleave","pointermove","wheel","select","move","zoom","rescale","nudge"],["update:selectionPreview","update:selectionPreviewTheme","update:transition"]),setup(t,{expose:e,emit:n}){const i=Ma(),r=sl(t,["schema","theme","expandAdd","expandMult","coordLevels","levels","scales","flip","reverse","paddings"]),l=n,o=Mn("range"),s=Mn("rangePreview"),c=me(t,"selectionPreview"),a=me(t,"selectionPreviewTheme");function u(A,C){c.value=A,a.value=C}const f=Y(()=>Object.assign({},t.theme?.selection,a.value));function h(){c.value={}}const m=me(t,"transition"),y=Vt("svg"),x=Vt("layers"),$=Sn(0),O=Sn(0);ul(y,A=>{let{width:C,height:E}=A[0].contentRect;$.value=C,O.value=E});const j=Y(()=>new qf(t.schema,r.layers)),N=Y(()=>j.value.useScales(t.scales,t.levels).useCoordLevels(t.coordLevels).render(o,t.expandAdd,r.minRange)),I=we(()=>{let A=Object.fromEntries(["left","right","top","bottom"].map(M=>[M,t.paddings[M]&&t.theme.plot.padding[M]||0])),C=+t.theme.plot.margin.left+A.left,E=+t.theme.plot.margin.right+A.right,g=+t.theme.plot.margin.top+A.top,v=+t.theme.plot.margin.bottom+A.bottom;return g+v>O.value&&(g=O.value*(g/(g+v)),v=O.value-g),C+E>$.value&&(C=$.value*(C/(C+E)),E=$.value-C),{l:C,r:E,t:g,b:v,left:C,right:$.value-E,top:g,bottom:O.value-v,width:$.value-C-E,height:O.value-g-v}}),B=we(()=>{let A=N.value.coordScales,C=t.expandMult,{min:E,max:g}=S(A.x.range,C.x),{min:v,max:M}=S(A.y.range,C.y),[T,W,q,Z]=t.flip?[v,M,E,g]:[E,g,v,M],{width:tt,height:it}=I;return{left:tt*T||0,right:tt*(1-W)||0,top:it*Z||0,bottom:it*(1-q)||0,l:tt*T||0,r:tt*W||0,t:it*Z||0,b:it*q||0,width:tt*(1-T-W),height:it*(1-Z-q),fullWidth:tt,fullHeight:it}});e({vplot:N,panel:I,svg:y});const P=Y(()=>{let A=ot.value.translateH+B.left,C=ot.value.translateV+B.top,E=ot.value.scaleH,g=ot.value.scaleV,v=[];return(A!=0||C!=0)&&v.push(`translate(${A}, ${C})`),(E!=1||g!=1)&&v.push(`scale(${E}, ${g})`),{transform:v.join(" ")||null}});function b({value:A,min:C,max:E},g,v,M){let T={};return A!=null&&(T.value=g.invert(v?1-A/M:A/M)),v?(E!=null&&(T.min=g.invert(1-E/M)),C!=null&&(T.max=g.invert(1-C/M))):(C!=null&&(T.min=g.invert(C/M)),E!=null&&(T.max=g.invert(E/M))),T}function d({h:A,hmin:C,hmax:E,v:g,vmin:v,vmax:M}={}){let T=N.value.coordScales,{width:W,height:q}=B,Z={},[tt,it,mt]=t.flip?[g,v,M]:[A,C,E],[dt,ct,rt]=t.flip?[A,C,E]:[g,v,M];if(tt!=null||it!=null||mt!=null){let{value:G,min:J,max:U}=b({value:tt,min:it,max:mt},T.x,t.flip!=t.reverse.x,t.flip?q:W);Object.assign(Z,Lt({x:G,xmin:J,xmax:U})),t.flip?Object.assign(Z,Lt({v:G,vmin:J,vmax:U})):Object.assign(Z,Lt({h:G,hmin:J,hmax:U}))}if(dt!=null||ct!=null||rt!=null){let{value:G,min:J,max:U}=b({value:dt,min:ct,max:rt},T.y,t.flip==t.reverse.y,t.flip?W:q);Object.assign(Z,Lt({y:G,ymin:J,ymax:U})),t.flip?Object.assign(Z,Lt({h:G,hmin:J,hmax:U})):Object.assign(Z,Lt({v:G,vmin:J,vmax:U}))}return Z}function p({value:A,min:C,max:E}={},{oob:g=mi}={},v,M,T,W){let q={};return A!=null&&(q.value=T?g(T*(M?1-v(A):v(A)),W):0),C==null&&E==null||(M?(E!=null&&(q.min=T?g(T*(1-v(E)),W):0),C!=null&&(q.max=T?g(T*(1-v(C)),W):0)):(C!=null&&(q.min=T?g(T*v(C),W):0),E!=null&&(q.max=T?g(T*v(E),W):0))),q}function w({h:A,hmin:C,hmax:E,v:g,vmin:v,vmax:M,x:T,xmin:W,xmax:q,y:Z,ymin:tt,ymax:it}={},{limited:mt=!1,oob:dt=mi}={}){let{width:ct,height:rt,l:G,r:J,t:U,b:lt}=B,vt={},Qt=N.value.coordScales,Ht={min:-G,max:ct+J},ue={min:-U,max:rt+lt};if((T!=null||W!=null||q!=null)&&(t.flip?[g,v,M]=[T,W,q]:[A,C,E]=[T,W,q]),(Z!=null||tt!=null||it!=null)&&(t.flip?[A,C,E]=[Z,tt,it]:[g,v,M]=[Z,tt,it]),A!=null||C!=null||E!=null){let{value:ne,min:ie,max:re}=p({value:A,min:C,max:E},{oob:dt},Qt[t.flip?"y":"x"],t.reverse[t.flip?"y":"x"],ct,Ht);Object.assign(vt,Lt({h:ne,hmin:ie,hmax:re}))}if(g!=null||v!=null||M!=null){let{value:ne,min:ie,max:re}=p({value:g,min:v,max:M},{oob:dt},Qt[t.flip?"x":"y"],!t.reverse[t.flip?"x":"y"],rt,ue);Object.assign(vt,Lt({v:ne,vmin:ie,vmax:re}))}return mt&&(vt.hmin==null&&(vt.hmin=Ht.min),vt.hmax==null&&(vt.hmax=Ht.max),vt.vmin==null&&(vt.vmin=ue.min),vt.vmax==null&&(vt.vmax=ue.max)),vt}function S({min:A,max:C}={},{min:E=0,max:g=0}={}){let v=C-A,M=+A-E*v,T=+C+g*v,W=T-M;return{min:W==0?0:(A-M)/W,max:W==0?0:(T-C)/W}}function k(A){let C=y.value.getBoundingClientRect(),E=Math.trunc(A.clientX)-(C.left+I.left+B.left),g=Math.trunc(A.clientY)-(C.top+I.top+B.top),v=C.left+I.left+B.right-Math.trunc(A.clientX),M=C.top+I.top+B.bottom-Math.trunc(A.clientY),{x:T,y:W}=d({h:E,v:g});return{l:E,t:g,r:v,b:M,x:T,y:W}}function X(A){let C=y.value.getBoundingClientRect();return A.clientX>C.left+I.l&&A.clientX<C.right-I.r&&A.clientY>C.top+I.t&&A.clientY<C.bottom-I.b}function L(A){if(!x.value||A._vhandled||!X(A)||!Array.from(x.value).filter(v=>v.render=="canvas").length)return A;let E={};for(let v in A)E[v]=A[v];E.bubbles=!1;let g=new PointerEvent(A.type,E);for(let v of Object.keys(A)){let M=Object.getOwnPropertyDescriptor(g,v);M&&!M.writable&&!M.set||(g[v]=A[v])}for(let v=x.value.length-1;v>=0;v--)x.value[v].dispatchEvent(g)===!1&&A.preventDefault();for(let v of Object.keys(g)){let M=Object.getOwnPropertyDescriptor(g,v);M&&!M.writable&&!M.set||(A[v]=g[v])}return g._vhandled?g:A}let H,z=0,R=0;function F(A){let C=L(A),E=k(A);if(l("pointerdown",C,E),C.defaultPrevented&&A.preventDefault(),r.clip&&!X(A))return;let g=A.currentTarget,v=!1;function M(q){(Math.abs(q.screenX-A.screenX)>3||Math.abs(q.screenY-A.screenY)>3)&&(v=!0,q.currentTarget.removeEventListener("pointermove",M))}A.target.addEventListener("pointermove",M,{passive:!0}),A.target.addEventListener("pointerup",function(q){if(A.target.removeEventListener("pointermove",M),!v){let Z=new PointerEvent("singleclick",q);q.target.dispatchEvent(Z)}},{once:!0});let T=r.selections.findLast(q=>["buttons","ctrlKey","shiftKey","altKey","metaKey"].every(Z=>q[Z]==A[Z]));if(T){let{x:q=!1,y:Z=!1,"min-range-x":tt=0,"min-range-y":it=0}=T;A.target.setPointerCapture(A.pointerId),g.style.userSelect="none";let mt=(({xmin:ct,xmax:rt})=>({min:ct,max:rt}))(T),dt=(({ymin:ct,ymax:rt})=>({min:ct,max:rt}))(T);A.target.onpointermove=ct=>{if(!q&&!Z||!v)return;let rt=k(ct),G={};if(q){let J=yt(E.x,mt),U=yt(yt(rt.x,rt.x>J?{min:st(J,tt)}:{max:st(J,-tt)}),mt);G.xmin=J>U?U:J,G.xmax=J>U?J:U,G.xreverse=J>U}if(Z){let J=yt(E.y,dt),U=yt(yt(rt.y,rt.y>J?{min:st(J,it)}:{max:st(J,-it)}),dt);G.ymin=J>U?U:J,G.ymax=J>U?J:U}c.value=G,a.value=T.theme},A.target.onpointerup=ct=>{if(ct.currentTarget.onpointerup=null,ct.currentTarget.onpointermove=null,g.style.userSelect=null,c.value={},v&&(q||Z)){T.buttons&1&&(ct.currentTarget.onclick=U=>{U.currentTarget.onclick=null,Se(T.onClick,U)}),T.buttons&2&&(ct.currentTarget.oncontextmenu=U=>{U.currentTarget.oncontextmenu=null,Se(T.onContextmenu,U)});let rt=k(ct),G={},J=new PointerEvent("select",A);if(q){let U=yt(E.x,mt),lt=yt(yt(rt.x,rt.x>U?{min:st(U,tt)}:{max:st(U,-tt)}),mt);if(U==lt)return;G.xmin=U>lt?lt:U,G.xmax=U>lt?U:lt,G.xreverse=U>lt}if(Z){let U=yt(E.y,dt),lt=yt(yt(rt.y,rt.y>U?{min:st(U,it)}:{max:st(U,-it)}),dt);if(U==lt)return;G.ymin=U>lt?lt:U,G.ymax=U>lt?U:lt,G.yreverse=U>lt}T["onUpdate:modelValue"]?.(G),Se(T.onSelect,Lt(G),J)||l("select",Lt(G),J)}if(!v&&T.dismissible!==!1){if(ct.defaultPrevented)return;let rt=T.modelValue;if(T.dismissible!==!0&&["xmin","xmax","ymin","ymax"].every(U=>rt?.[U]==null))return;let G={},J=new PointerEvent("select",A);T["onUpdate:modelValue"]?.(G),Se(T.onDismiss,Lt(G),J)||l("select",Lt(G),J)}};return}let W=r.action.find(q=>q.action=="move"&&["buttons","ctrlKey","shiftKey","altKey","metaKey"].every(Z=>q[Z]==A[Z]));if(W){A.target.setPointerCapture(A.pointerId),g.style.userSelect="none",H=clearTimeout(H);let q=0,Z=B.width,tt=0,it=B.height,mt,dt,ct,rt,G=w(W);A.target.onpointermove=J=>{let{x:U=!1,y:lt=!1}=W,[vt,Qt]=t.flip?[lt,U]:[U,lt];if(vt){z+=J.movementX;let re=yt(-z,{min:G.hmin-q,max:G.hmax-Z});mt=q+re,dt=Z+re}if(Qt){R+=J.movementY;let re=yt(-R,{min:G.vmin-tt,max:G.vmax-it});ct=tt+re,rt=it+re}let{xmin:Ht,xmax:ue,ymin:ne,ymax:ie}=d({hmin:mt,hmax:dt,vmin:ct,vmax:rt});Object.assign(s,{xmin:Ht,xmax:ue,ymin:ne,ymax:ie})},A.target.onpointerup=J=>{J.currentTarget.onpointerup=null,J.currentTarget.onpointermove=null,g.style.userSelect=null,H=setTimeout(()=>{pt(W,J),z=R=0},300)};return}}let Q=0,K;function at(A){let C=L(A),E=k(A);if(l("wheel",C,E),C.defaultPrevented&&A.preventDefault(),r.clip&&!X(A))return;let g=r.action.find(v=>["zoom","nudge"].includes(v.action)&&["ctrlKey","shiftKey","altKey","metaKey"].every(M=>v[M]==A[M]));!g||!g.x&&!g.y||(K=clearTimeout(K),A.preventDefault(),m.value="transform 0.1s ease-out",Q+=A.deltaY,nt(g,E,Q),K=setTimeout(()=>{pt(g,A),Q=0},300))}function nt(A,C,E){if(A.action=="zoom"){let{x:g=!1,y:v=!1,"min-range-x":M=0,"min-range-y":T=0,sensitivity:W=1.25}=A,q=W**(Q/100),[Z,tt]=t.flip?[v,g]:[g,v],it=w(A),mt,dt,ct,rt;Z&&(mt=Math.max(C.l-Math.max(C.l,0)*q,it.hmin??-1/0),dt=Math.min(C.l+Math.max(C.r,0)*q,it.hmax??1/0)),tt&&(ct=Math.max(C.t-Math.max(C.t,0)*q,it.vmin??-1/0),rt=Math.min(C.t+Math.max(C.b,0)*q,it.vmax??1/0));let{xmin:G,xmax:J,ymin:U,ymax:lt}=d({hmin:mt,hmax:dt,vmin:ct,vmax:rt});if(g&&q<1&&J-G<M){let vt=(J+G)/2;G=vt-M/2,J=vt+M/2}if(v&&q<1&<-U<T){let vt=(lt+U)/2;U=vt-T/2,lt=vt+T/2}Object.assign(s,{xmin:G,xmax:J,ymin:U,ymax:lt})}if(A.action=="nudge"){let{x:g=!1,y:v=!1,sensitivity:M=.1}=A,[T,W]=t.flip?[v,g]:[g,v],q=w(A),Z=0,tt=B.width,it=0,mt=B.height,dt,ct,rt,G;if(T){let Qt=M*B.width*(-E/120),Ht=yt(-Qt,{min:q.hmin-Z,max:q.hmax-tt});dt=Z+Ht,ct=tt+Ht}if(W){let Qt=M*B.height*(-E/120),Ht=yt(-Qt,{min:q.vmin-it,max:q.vmax-mt});rt=it+Ht,G=mt+Ht}let{xmin:J,xmax:U,ymin:lt,ymax:vt}=d({hmin:dt,hmax:ct,vmin:rt,vmax:G});Object.assign(s,{xmin:J,xmax:U,ymin:lt,ymax:vt})}}const ot=Y(()=>{let A=0,C=B.width,E=0,g=B.height,{hmin:v=A,hmax:M=C,vmin:T=E,vmax:W=g}=w(s??{}),q=C-A,Z=M-v,tt=g-E,it=W-T;return{scaleH:q<1||Z<1||Math.abs(q-Z)<1?1:q/Z,translateH:(A*M-v*C)/(M-v)||0,scaleV:tt<1||it<1||Math.abs(tt-it)<1?1:tt/it,translateV:(E*W-T*g)/(W-T)||0}});St(ot,({translateH:A,translateV:C,scaleH:E,scaleV:g})=>{!A&&!C&&E==1&&g==1&&(m.value=null)},{deep:!0});function pt(A,C){let E=Lt(s)??{};if(!Object.keys(E).length)return;let g=new PointerEvent(C.type,C);Se(A.emit,E,g)||l(A.action,E,g),Ct(E),Object.assign(s,{xmin:void 0,xmax:void 0,ymin:void 0,ymax:void 0})}const At={pointerdown:F,pointerup(A){let C=L(A),E=k(A);l("pointerup",C,E),C.defaultPrevented&&A.preventDefault()},pointerover(A){l("pointerover",A,k(A))},pointerout(A){l("pointerout",A,k(A))},pointerenter(A){l("pointerenter",A,k(A))},pointerleave(A){l("pointerleave",A,k(A))},click(A){l("click",L(A),k(A))},contextmenu(A){let C=L(A),E=k(A);l("contextmenu",C,E),C.defaultPrevented&&A.preventDefault()},singleclick(A){l("singleclick",L(A),k(A))},dblclick(A){let C=L(A),E=k(A);l("dblclick",C,E),C.defaultPrevented&&A.preventDefault()},pointermove(A){let C=L(A),E=k(A);l("pointermove",C,E),C.defaultPrevented&&A.preventDefault()},wheel:at};function Ct(A){let{xmin:C,xmax:E,ymin:g,ymax:v}=A,{xmin:M,xmax:T,ymin:W,ymax:q}=o;C=C!=null?st(C,+t.expandAdd.x.min):M,E=E!=null?st(E,-t.expandAdd.x.max):T,g=g!=null?st(g,+t.expandAdd.y.min):W,v=v!=null?st(v,-t.expandAdd.y.max):q,!(C==M&&E==T&&g==W&&v==q)&&Object.assign(o,{xmin:C,xmax:E,ymin:g,ymax:v})}const It=we(()=>{let A=s?.xmin??o?.xmin,C=s?.xmax??o?.xmax,E=s?.ymin??o?.ymin,g=s?.ymax??o?.ymax;return{x:A||C?{min:A,max:C}:void 0,y:E||g?{min:E,max:g}:void 0}}),jt=Y(()=>{let A={x:N.value.coordScales.x,y:N.value.coordScales.y};return r.axes.filter(C=>C.coord in A).filter(C=>["h","v"].includes(C.orientation)).map(({coord:C,breaks:E,labels:g,titles:v,minorBreaks:M,...T})=>({coord:C,axis:new Wf(A[C],{breaks:E,labels:g,titles:v,minorBreaks:M}),etc:T}))}),$t=Y(()=>jt.value.map(({coord:A,axis:C,etc:E})=>{let{majorBreaks:g,minorBreaks:v,ticks:M}=C.getBindings({range:It[A],expandMult:t.expandMult[A]}),{showGrid:T,orientation:W,...q}=E;return{majorBreaks:g,minorBreaks:v,ticks:M,showGrid:T,coord:A,orientation:W,bind:q}})),Wt=Y(()=>{let A=$t.value.filter(E=>E.showGrid&&E.orientation=="v"),C=$t.value.filter(E=>E.showGrid&&E.orientation=="h");return{h:{majorBreaks:Je(A.flatMap(E=>E.majorBreaks),E=>E.position),minorBreaks:Je(A.flatMap(E=>E.minorBreaks),E=>E.position)},v:{majorBreaks:Je(C.flatMap(E=>E.majorBreaks),E=>E.position),minorBreaks:Je(C.flatMap(E=>E.minorBreaks),E=>E.position)}}}),Gt=Y(()=>$t.value.map(({orientation:A,coord:C,bind:E,ticks:g})=>{let{onMove:v=(...Z)=>l("move",...Z),onZoom:M=(...Z)=>l("zoom",...Z),onRescale:T=(...Z)=>l("rescale",...Z),onNudge:W=(...Z)=>l("nudge",...Z),...q}=E;return{orientation:A,bind:{coord:C,orientation:A,ticks:g,layout:B,coord2pos:w,pos2coord:d,...q},on:{zoom:M,move:v,rescale:T,nudge:W,rangechange:Ct}}}));return(A,C)=>(V(),D("svg",_({ref:"svg",width:"100%",height:"100%"},qt(At,!0),A.$attrs),[wt("defs",null,[wt("clipPath",{id:`${Mt(i)}-plot-clip`},[wt("rect",{x:"0",y:"0",width:Mt(I).width,height:Mt(I).height},null,8,Hh)],8,Rh)]),C[6]||(C[6]=gt()),t.theme.plot.background?(V(),D("rect",{key:0,transform:`translate(${Mt(I).left}, ${Mt(I).top})`,width:Mt(I).width,height:Mt(I).height,fill:t.theme.plot.background},null,8,zh)):Ft("",!0),C[7]||(C[7]=gt()),wt("g",{transform:`translate(${Mt(I).left}, ${Mt(I).top})`,style:{"pointer-events":"none"}},[t.theme.grid.h?(V(),kt(uh,_({key:0},Wt.value.h,{layout:Mt(B),theme:t.theme.grid.h,activeTransform:ot.value,coord2pos:w,transition:m.value}),null,16,["layout","theme","activeTransform","transition"])):Ft("",!0),C[2]||(C[2]=gt()),t.theme.grid.v?(V(),kt(ch,_({key:1},Wt.value.v,{layout:Mt(B),theme:t.theme.grid.v,activeTransform:ot.value,coord2pos:w,transition:m.value}),null,16,["layout","theme","activeTransform","transition"])):Ft("",!0)],8,Fh),C[8]||(C[8]=gt()),wt("g",{transform:`translate(${Mt(I).left}, ${Mt(I).top})`,"clip-path":r.clip?`url(#${Mt(i)}-plot-clip)`:null},[wt("g",_(P.value,{style:{transition:m.value}}),[(V(!0),D(ut,null,ht(N.value.layers,E=>(V(),kt(Sh,_({ref_for:!0,ref_key:"layers",ref:x,data:E.data},{ref_for:!0},E.vBind,{layout:Mt(B),geom:E.geom,coord2pos:w,getCoord:k,"default-render":r.render}),null,16,["data","layout","geom","default-render"]))),256))],16),C[3]||(C[3]=gt()),(V(!0),D(ut,null,ht(r.selections,E=>(V(),kt(ll,_({coord2pos:w,pos2coord:d,layout:Mt(B),onSelecting:u,onSelectend:h,transition:m.value,activeTransform:ot.value},{ref_for:!0},E,{flip:t.flip}),null,16,["layout","transition","activeTransform","flip"]))),256)),C[4]||(C[4]=gt()),le(ll,{coord2pos:w,pos2coord:d,layout:Mt(B),modelValue:c.value,transition:m.value,activeTransform:ot.value,theme:f.value,flip:t.flip},null,8,["layout","modelValue","transition","activeTransform","theme","flip"])],8,qh),C[9]||(C[9]=gt()),wt("g",{transform:`translate(${Mt(I).left}, ${Mt(I).top})`},[(V(!0),D(ut,null,ht(Gt.value.filter(E=>typeof E.bind.position!="number"),E=>(V(),kt(tl,_({ref_for:!0},E.bind,qt(E.on),{transition:m.value,"onUpdate:transition":C[0]||(C[0]=g=>m.value=g),activeTransform:ot.value}),null,16,["transition","activeTransform"]))),256)),C[5]||(C[5]=gt()),wt("g",{"clip-path":r.clip?`url(#${Mt(i)}-plot-clip)`:null},[(V(!0),D(ut,null,ht(Gt.value.filter(E=>typeof E.bind.position=="number"),E=>(V(),kt(tl,_({ref_for:!0},E.bind,qt(E.on),{transition:m.value,"onUpdate:transition":C[1]||(C[1]=g=>m.value=g),activeTransform:ot.value}),null,16,["transition","activeTransform"]))),256))],8,Gh)],8,Wh),C[10]||(C[10]=gt()),r.legendTeleport?(V(),D("foreignObject",Uh,[(V(),kt(Sa,{defer:"",to:r.legendTeleport},[le(Dh,{scales:N.value?.scales,theme:t.theme.legend},null,8,["scales","theme"])],8,["to"]))])):Ft("",!0)],16))}}),Wn={$_type:"action",$_props:{}},Fi={$_type:"layer"},qi={$_props:{geom:"tile",stat:"bar"},$_type:"layer"},Wi={$_props:{geom:"blank",stat:"identity"},$_type:"layer"},Gi={$_props:{geom:"boxplot",stat:"boxplot"},$_type:"layer"},Ui={$_props:{geom:"curve",stat:"curve"},$_type:"layer"},Ki={$_props:{geom:"curve",stat:"density"},$_type:"layer",$_argnames:["n","kernel"]},Qi={$_props:{geom:"rect",stat:"histogram"},$_type:"layer",$_argnames:["bins","binwidth","breaks"]},Zi={$_props:{geom:"line",stat:"line"},$_type:"layer",$_argnames:["orientation"]},Ji={$_props:{geom:"line",stat:"linerange"},$_type:"layer"},_i={$_props:{geom:"line",stat:"path"},$_type:"layer"},tr={$_props:{geom:"point",stat:"point"},$_type:"layer"},er={$_props:{geom:"polygon",stat:"polygon"},$_type:"layer"},nr={$_props:{geom:"rect",stat:"rect"},$_type:"layer"},ir={$_props:{geom:"line",stat:"segment"},$_type:"layer"},rr={$_props:{geom:"stick",stat:"stick"},$_type:"layer"},lr={$_props:{geom:"text",stat:"text"},$_type:"layer"},ar={$_props:{geom:"textsegment",stat:"textsegment"},$_type:"layer"},or={$_props:{geom:"tile",stat:"tile"},$_type:"layer"},Qh=Object.freeze(Object.defineProperty({__proto__:null,VVGeom:Fi,VVGeomBar:qi,VVGeomBlank:Wi,VVGeomBoxplot:Gi,VVGeomCurve:Ui,VVGeomDensity:Ki,VVGeomHistogram:Qi,VVGeomLine:Zi,VVGeomLinerange:Ji,VVGeomPath:_i,VVGeomPoint:tr,VVGeomPolygon:er,VVGeomRect:nr,VVGeomSegment:ir,VVGeomStick:rr,VVGeomText:lr,VVGeomTextsegment:ar,VVGeomTile:or},Symbol.toStringTag,{value:"Module"})),sr={$_type:"axis",$_props:{}},ur={$_type:"axis",$_props:{coord:"x"}},cr={$_type:"axis",$_props:{coord:"y"}},Zh=Object.freeze(Object.defineProperty({__proto__:null,VVAxis:sr,VVAxisX:ur,VVAxisY:cr},Symbol.toStringTag,{value:"Module"})),Jh={key:0,class:"vvplot-panel",style:{"pointer-events":"auto",display:"contents"}},da=Object.assign({inheritAttrs:!1},{__name:"Plot",props:We({data:Array,scales:Object,aes:Object,expandAdd:Object,expandMult:Object,extend:Object,levels:Object,range:Object,minRange:Object,rangePreview:Object,axes:[Object,Array],theme:[Object,Array],action:[Object,Array],reverse:Object,render:String,flip:Boolean,clip:{type:Boolean,default:!0},resize:null,legendTeleport:null},{selectionPreview:{default:()=>({})},selectionPreviewModifiers:{},selectionPreviewTheme:{default:()=>({})},selectionPreviewThemeModifiers:{},transition:{},transitionModifiers:{},width:{},widthModifiers:{},height:{},heightModifiers:{}}),emits:We(["resize","rangechange","select","update:range","update:rangePreview"],["update:selectionPreview","update:selectionPreviewTheme","update:transition","update:width","update:height"]),setup(t,{expose:e,emit:n}){const i={...Qh,...Zh,VVAction:Wn,VVSelection:Wn},r={x:"y",y:"x",h:"v",v:"h",top:"bottom",bottom:"top",left:"right",right:"left"};function l(g){return g==null?g:g===""||!!g}const o=n,s=me(t,"selectionPreview"),c=me(t,"selectionPreviewTheme"),a=me(t,"transition");function u(g){return g==null?[]:g.flatMap(v=>v.type==ut?u(v.children):v.type=="template"?u(v.children).map(M=>(M.props={...M.props,...v.props},M)):v)}function f(g){return{props:Object.fromEntries(g.props.map(M=>{try{if(M.type==7)return[M.arg.content,new Function("return "+M.exp.content)()];if(M.type==6)return[M.name,M.value?.content??""]}catch{}}).filter(M=>M!=null)),children:g.children.map(M=>()=>[f(M)]),type:i[g.tag]}}const h=Na(),m=Ta(),y=Ot({axis:{},layer:{},action:{},selection:{},dom:{}});for(let g in h)St(()=>h[g]?.(),v=>{let M=u(v).flatMap(W=>W.type?.template?lo(W.type.template,{decodeEntities:!0}).children.map(Z=>f(Z)):W).filter(W=>W!=null),T=Object.groupBy(M,W=>W.type.$_type??"dom");for(let W in T)y[W][g]=T[W]},{immediate:!0});const x=Y(()=>Object.values(y.layer).flat()),$=Y(()=>Object.values(y.axis).flat()),O=Y(()=>Object.values(y.action).flat()),j=Y(()=>Object.values(y.selection).flat()),N=Y(()=>Object.keys(y.dom).flatMap(g=>g=="panel"?[]:y.dom[g])),I=Y(()=>{let g={},v={};for(let M in m)if(M.startsWith("on")){let T=Array.isArray(m[M])?m[M]:[m[M]];g[M]=T.filter(W=>typeof W=="function"),v[M]=T.filter(W=>typeof W!="function")}else v[M]=m[M];return{plot:g,wrapper:v}}),B=Y(()=>{let g=[vl,pl].concat(t.theme??[]);return vo(xo(go(...g),t.flip))},{deep:!0}),P=we(()=>{let g=$.value.map(T=>({...T.type.$_props,...T.props})),v=g.filter(T=>T.coord==="x"),M=g.filter(T=>T.coord==="y");return{x:v.find(T=>l(T.primary))??v.find(T=>T.primary==null&&!l(T.secondary)),y:M.find(T=>l(T.primary))??M.find(T=>T.primary==null&&!l(T.secondary))}}),b={levels:Ot({}),extend:Ot({}),"min-range":Ot({}),"expand-add":Ot({}),"expand-mult":Ot({}),boundary:Ot({}),reverse:Ot({}),min:Ot({}),max:Ot({}),"min-preview":Ot({}),"max-preview":Ot({})};St(P,g=>{for(let v of["x","y"])for(let M in b)b[M][v]=g?.[v]?.[M]},{immediate:!0});const d=we(()=>{let g={};for(let v of["x","y"]){let M=b.boundary[v];g[v]={min:M?.min??M?.[0],max:M?.max??M?.[1]}}return g}),p=Y(()=>({data:t.data,aes:t.aes,extendX:b.extend.x??t.extend?.x??0,extendY:b.extend.y??t.extend?.y??0})),w=Y(()=>x.value.map(g=>{let{geom:v,stat:M,scales:T,data:W,"extend-x":q,"extend-y":Z,...tt}={...g.type.$_props,...g.props},it=g.type.$_argnames||[],mt={},dt={},ct={},rt={};for(let G in tt)G!="key"&&(it.includes(G)?dt[G]=tt[G]:G.startsWith("on")?rt[G]=tt[G]:typeof tt[G]=="function"?mt[G]=tt[G]:["class","style","render"].includes(G)?rt[G]=tt[G]:ct[G]=tt[G]);return{geom:v,stat:M,data:W,aes:mt,attrs:ct,scales:T,args:dt,extendX:q,extendY:Z,vBind:rt}})),S=Y(()=>(({x:g,y:v,...M})=>M)(t.levels??{})),k=Y(()=>{let g={};for(let v of["x","y"])g[v]=b.levels[v]??t.levels?.[v];return g}),X=Y(()=>{let g={};for(let v of["x","y"]){let M=b.min[v]??t.range?.[v+"min"],T=b.max[v]??t.range?.[v+"max"];g[v+"min"]=isFinite(M)&&!Number.isNaN(M)?M:null,g[v+"max"]=isFinite(T)&&!Number.isNaN(T)?T:null}return g}),L=Y(()=>{let g={};for(let v of["x","y"]){let M=b["min-preview"][v]??t.rangePreview?.[v+"min"],T=b["max-preview"][v]??t.rangePreview?.[v+"max"];g[v+"min"]=isFinite(M)&&!Number.isNaN(M)?M:null,g[v+"max"]=isFinite(T)&&!Number.isNaN(T)?T:null}return g}),H=we(()=>({xmin:P?.x?.["onUpdate:min"],xmax:P?.x?.["onUpdate:max"],ymin:P?.y?.["onUpdate:min"],ymax:P?.y?.["onUpdate:max"]})),z=we(()=>({xmin:P?.x?.["onUpdate:minPreview"],xmax:P?.x?.["onUpdate:maxPreview"],ymin:P?.y?.["onUpdate:minPreview"],ymax:P?.y?.["onUpdate:maxPreview"]})),R=Ot({}),F=Ot({});St(X,(g,v)=>{g?.xmin!==v?.xmin&&(R.xmin=g.xmin),g?.xmax!==v?.xmax&&(R.xmax=g.xmax),g?.ymin!==v?.ymin&&(R.ymin=g.ymin),g?.ymax!==v?.ymax&&(R.ymax=g.ymax)},{immediate:!0}),St(L,(g,v)=>{g?.xmin!==v?.xmin&&(F.xmin=g.xmin),g?.xmax!==v?.xmax&&(F.xmax=g.xmax),g?.ymin!==v?.ymin&&(F.ymin=g.ymin),g?.ymax!==v?.ymax&&(F.ymax=g.ymax)},{immediate:!0}),St(()=>({...R}),(g,v)=>{for(let M in H)H[M]?.(g[M]);o("rangechange",{...g},{...v}),o("update:range",{...g})},{deep:!0}),St(()=>F,g=>{for(let v in z)z[v]?.(g[v]);o("update:rangePreview",{...g})},{deep:!0}),hr("range",R),hr("rangePreview",F);const Q=Y(()=>({x:b["min-range"].x??t.minRange?.x??0,y:b["min-range"].y??t.minRange?.y??0})),K=Y(()=>{let g=b["expand-add"].x??t.expandAdd?.x??0,v=b["expand-add"].y??t.expandAdd?.y??0;return Array.isArray(g)?g={min:g[0],max:g[1]}:typeof g=="number"&&(g={min:g,max:g}),Array.isArray(v)?v={min:v[0],max:v[1]}:typeof v=="number"&&(v={min:v,max:v}),{x:g,y:v}}),at=Y(()=>{let g=b["expand-mult"].x??t.expandMult?.x??.05,v=b["expand-mult"].y??t.expandMult?.y??.05;return Array.isArray(g)?g={min:g[0],max:g[1]}:typeof g=="number"&&(g={min:g,max:g}),Array.isArray(v)?v={min:v[0],max:v[1]}:typeof v=="number"&&(v={min:v,max:v}),{x:g,y:v}}),nt=we(()=>({x:l(b.reverse.x)??t.reverse?.x??!1,y:l(b.reverse.y)??t.reverse?.y??!1})),ot={left:1,right:2,middle:4,X1:8,X2:16},pt=Y(()=>{let g=t.flip?{x:"v",y:"h"}:{x:"h",y:"v"},v=$.value.map(M=>({...M.type.$_props,...M.props,$_children:M.children})).concat(t.axes??[]);return v.every(M=>M?.coord!="x")&&v.push({coord:"x"}),v.every(M=>M?.coord!="y")&&v.push({coord:"y"}),v.map(({coord:M,position:T,title:W,breaks:q,labels:Z,titles:tt,"minor-breaks":it,"show-grid":mt,theme:dt=[],extend:ct,boundary:rt,action:G,primary:J,secondary:U,"expand-mult":lt,"expand-add":vt,levels:Qt,limits:Ht,min:ue,max:ne,"onUpdate:min":ie,"onUpdate:max":re,$_children:ga,...xa})=>{let Ae=g[M];T=T??"start",T=="start"?(T={h:"bottom",v:"left"}[Ae],nt[r[M]]&&(T=r[T])):T=="end"&&(T={h:"top",v:"right"}[Ae],nt[r[M]]&&(T=r[T]));let va=Object.values(ga??{}).filter(Pt=>typeof Pt=="function").flatMap(Pt=>u(Pt())).map(Pt=>({...Pt.type.$_props,...Pt.props})).concat(G??[]).flatMap(Pt=>{let fr=[];for(let hn of["move","nudge","zoom","rescale"]){let Zt=Pt[hn];if(Zt==null||Zt===!1)continue;let pa="on"+hn.charAt(0).toUpperCase()+hn.slice(1);fr.push({action:hn,[Ae+"min"]:Zt.min??Pt.min??rt?.min??rt?.[0]??d?.[M]?.min,[Ae+"max"]:Zt.max??Pt.max??rt?.max??rt?.[1]??d?.[M]?.max,["min-range-"+Ae]:Zt["min-range"]??Pt["min-range"],ctrlKey:!!(Zt.ctrl??l(Pt.ctrl)),shiftKey:!!(Zt.shift??l(Pt.shift)),altKey:!!(Zt.alt??l(Pt.alt)),metaKey:!!(Zt.meta??l(Pt.meta)),buttons:Zt.buttons??ot[Zt.button]??Pt.buttons??ot[Pt.button]??1,emit:Pt[pa]})}return fr});return{coord:M,orientation:Ae,position:T,title:W,breaks:q,labels:Z,titles:tt,minorBreaks:it,showGrid:l(mt)??T!=="none",extend:ct??b.extend[M],theme:Object.assign({},...[B.value?.axis?.[T]??B.value?.axis?.[Ae]].concat(dt)),action:va,...xa}}).filter(M=>M!=null)}),At=Ot({});St(pt,g=>{for(let v of["left","right","top","bottom"])At[v]=g.some(M=>M.position==v)},{immediate:!0});const Ct=Y(()=>O.value.map(g=>({...g.type.$_props,...g.props})).concat(t.action??[]).flatMap(g=>{let v=[];for(let M of["select","move","nudge","zoom"]){let T=g[M];if(T==null||T===!1)continue;let W=T.x==null&&T.y==null&&g.x==null&&g.y==null,q="on"+M.charAt(0).toUpperCase()+M.slice(1);v.push({action:M,x:W||!!(T.x??l(g.x)),y:W||!!(T.y??l(g.y)),xmin:T.xmin??g.xmin??d?.x?.min,xmax:T.xmax??g.xmax??d?.x?.max,ymin:T.ymin??g.ymin??d?.y?.min,ymax:T.ymax??g.ymax??d?.y?.max,"min-range-x":T["min-range-x"]??g["min-range-x"],"min-range-y":T["min-range-y"]??g["min-range-y"],ctrlKey:!!(T.ctrl??l(g.ctrl)),shiftKey:!!(T.shift??l(g.shift)),altKey:!!(T.alt??l(g.alt)),metaKey:!!(T.meta??l(g.meta)),buttons:T.buttons??ot[T.button]??g.buttons??ot[g.button]??1,emit:g[q]})}return v})),It=Y(()=>j.value.map(g=>({...g.type.$_props,...g.props})).map(({once:g,move:v,dismissible:M,resize:T,x:W,y:q,xmin:Z,xmax:tt,ymin:it,ymax:mt,ctrl:dt,shift:ct,alt:rt,meta:G,button:J,buttons:U,modelValue:lt,"onUpdate:modelValue":vt,theme:Qt=[],...Ht})=>{let ue=W==null&&q==null;return l(g)?(lt=Ot({}),vt=null):vt==null&&(lt=Ot(lt??{}),vt=ne=>{for(let ie in lt)delete lt[ie];Object.assign(lt,ne)}),{move:!!l(v),dismissible:M==null?void 0:M!==!1,resize:!!l(T),x:ue||!!l(W),y:ue||!!l(q),xmin:Z??d?.x?.min,xmax:tt??d?.x?.max,ymin:it??d?.y?.min,ymax:mt??d?.y?.max,ctrlKey:!!l(dt),shiftKey:!!l(ct),altKey:!!l(rt),metaKey:!!l(G),buttons:U??ot[J]??1,modelValue:lt,"onUpdate:modelValue":vt,theme:Object.assign({},...[B.value?.selection].concat(Qt)),onSelect:(ne,ie)=>o("select",ne,ie),...Ht}})),jt=Vt("wrapper"),$t=Vt("plot"),Wt=me(t,"width"),Gt=me(t,"height");ol(()=>{St(Wt,g=>{jt.value.style.width=Ie(g,"px")??null},{immediate:!0}),St(Gt,g=>{jt.value.style.height=Ie(g,"px")??null},{immediate:!0})});let A={width:0,height:0};ul($t,g=>{let{width:v,height:M}=g[0].contentRect;jt.value.style.width&&(Wt.value=v),jt.value.style.height&&(Gt.value=M),(v>0||M>0)&&(A.width>0||A.height>0)&&o("resize",{width:v,height:M},A),A={width:v,height:M}});const C=Y(()=>({position:"absolute",pointerEvents:"none",left:Ie($t.value?.panel?.left,"px"),top:Ie($t.value?.panel?.top,"px"),width:Ie($t.value?.panel?.width,"px"),height:Ie($t.value?.panel?.height,"px")})),E=Y(()=>{let g={position:"relative",overflow:"hidden",boxSizing:"border-box"};return t.resize==="both"||t.resize===!0||t.resize===""?Object.assign(g,{resize:"both"}):t.resize==="horizontal"||t.resize==="x"&&!t.flip||t.resize==="y"&&t.flip?Object.assign(g,{resize:"horizontal"}):(t.resize==="vertical"||t.resize==="y"&&!t.flip||t.resize==="x"&&t.flip)&&Object.assign(g,{resize:"vertical"}),g});return e({get svg(){return $t.value.svg},serialize(){return so($t.value.svg)}}),(g,v)=>(V(),D("div",_({ref:"wrapper",class:"vvplot",style:E.value},I.value.wrapper),[le(Kh,_({ref:"plot",paddings:At,schema:p.value,layers:w.value,"min-range":Q.value,"expand-add":K.value,"expand-mult":at.value,reverse:Mt(nt),flip:t.flip,"coord-levels":k.value,levels:S.value,scales:t.scales,axes:pt.value,theme:B.value,selections:It.value,transition:a.value,"onUpdate:transition":v[0]||(v[0]=M=>a.value=M)},I.value.plot,{"selection-preview":s.value,"onUpdate:selectionPreview":v[1]||(v[1]=M=>s.value=M),"selection-preview-theme":c.value,"onUpdate:selectionPreviewTheme":v[2]||(v[2]=M=>c.value=M),action:Ct.value,clip:t.clip,render:t.render,legendTeleport:t.legendTeleport,onSelect:v[3]||(v[3]=(M,T)=>o("select",M,T))}),null,16,["paddings","schema","layers","min-range","expand-add","expand-mult","reverse","flip","coord-levels","levels","scales","axes","theme","selections","transition","selection-preview","selection-preview-theme","action","clip","render","legendTeleport"]),v[4]||(v[4]=gt()),wt("div",{class:"vvplot-panel-container",style:sn(C.value)},[y.dom.panel?.length?(V(),D("div",Jh,[(V(!0),D(ut,null,ht(y.dom.panel,M=>(V(),kt(qe(M)))),256))])):Ft("",!0)],4),v[5]||(v[5]=gt()),(V(!0),D(ut,null,ht(N.value,M=>(V(),kt(qe(M)))),256))],16))}}),ya={$_type:"selection",$_props:{}},_h=Object.freeze(Object.defineProperty({__proto__:null,VVAction:Wn,VVAxis:sr,VVAxisX:ur,VVAxisY:cr,VVGeom:Fi,VVGeomBar:qi,VVGeomBlank:Wi,VVGeomBoxplot:Gi,VVGeomCurve:Ui,VVGeomDensity:Ki,VVGeomHistogram:Qi,VVGeomLine:Zi,VVGeomLinerange:Ji,VVGeomPath:_i,VVGeomPoint:tr,VVGeomPolygon:er,VVGeomRect:nr,VVGeomSegment:ir,VVGeomStick:rr,VVGeomText:lr,VVGeomTextsegment:ar,VVGeomTile:or,VVPlot:da,VVSelection:ya},Symbol.toStringTag,{value:"Module"}));export{Wn as VVAction,sr as VVAxis,ur as VVAxisX,cr as VVAxisY,Fi as VVGeom,qi as VVGeomBar,Wi as VVGeomBlank,Gi as VVGeomBoxplot,Ui as VVGeomCurve,Ki as VVGeomDensity,Qi as VVGeomHistogram,Zi as VVGeomLine,Ji as VVGeomLinerange,_i as VVGeomPath,tr as VVGeomPoint,er as VVGeomPolygon,nr as VVGeomRect,ir as VVGeomSegment,rr as VVGeomStick,lr as VVGeomText,ar as VVGeomTextsegment,or as VVGeomTile,da as VVPlot,ya as VVSelection,_h as components,ca as number_cut,Vf as oob,Zn as vvbreak,Oi as vvlabel,ua as vvscale,po as vvtheme};
|