timescope 0.0.0-alpha.3 → 0.0.0-alpha.5

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/browser.js CHANGED
@@ -1 +1 @@
1
- (function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<y.length?y[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<b.length?b[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*ee)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(v))return{exponent:0n,remainder:v.clone()};if(e.ge(v))return m(e,t,n,r);let a=m(v.div(e,i),t,n,r);return a.remainder.eq(v)?{exponent:-a.exponent,remainder:v.clone()}:{exponent:-a.exponent-1n,remainder:v.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return S(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(v,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=x(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=x(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=x(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=x(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=x(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=x(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=x(e),r=x(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=x(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=x(e),r=x(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=x(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=x(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=te(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(te(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(v))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(v),p=f?v.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let ee=i===0?0:c;return this.round$(ee),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\x1b[33m${this.toString()}\x1b[m \x1b[90m(${this.coeff} * 10 ** ${-this.digits})\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,ee=Math.log2(10),v=new g(1n),y=[],b=[];(function(){for(let e=0;e<256;e++)b[e]=10n**BigInt(e),y[e]=5n**BigInt(e)})();function x(e){return e==null||S(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=x(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(x||={});let S=x.isDecimal;x.isDecimalLike;let te=x.pow10,C=x.minmax;x.min,x.max;function ne(e){if(typeof e==`number`&&isNaN(e)||typeof e==`number`&&!isFinite(e))return null;try{return x(e)}catch{return null}}var w={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function re(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var ie=class{uid=re(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},T=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},E=class extends ie{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}};function D(e){if(e==null||S(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return x(t/1e3)}return e instanceof Date?x(e.getTime()/1e3):x(e)}function ae(e){return e.map(D)}let oe=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),se=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var ce=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,"in-out":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=oe(a)}else this.done()};this.#e=oe(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(se(this.#e),null)}get animating(){return this.#e!==null}};function O(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var k=class extends E{#e;#t={id:void 0,value:null,nullValue:x(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new ce;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return x(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>x(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(O(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>x(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=O(x(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=O(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new T(`sync`,n)),this.dispatchEvent(new T(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new T(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=O(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t)};this.dispatchEvent(new T(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new T(`valuechanging`,e)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=O(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new T(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.changed(),this.dispatchEvent(new T(`valuechanging`,this.#t.value)),this.dispatchEvent(new T(`valuechanged`,this.#t.value))},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new T(`sync`,e)),this.#l(e)}},le=class extends E{time;zoom;constructor(e){super(),this.time=new k,this.zoom=new k,this.time=new k({initialValue:D(e.time??null),domain:ae(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new k({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.zoom.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new T(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new T(`timechanged`,e.value))),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new T(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new T(`zoomchanged`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(D(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=ae(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(x(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(x)}};function A(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>A(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,A(n,...t)])):e}function ue(e){return function(t){let n=e.split(`,`).map(e=>e.trim()),r=t;for(let e of n){let n=e.split(`.`);r=t;for(let e=0;e<n.length&&r!=null;e++){if(typeof r!=`object`){r=null;break}r=r[n[e]]}if(r!=null)return r}return r}}function de(e){return Object.prototype.toString.call(e)===`[object Object]`}function fe(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&de(r)?((!i||typeof i!=`object`)&&(e[n]={}),fe(e[n],r)):e[n]=r}return e}let j={z:0,r:x(1)};function pe(e){return j.r.eq(e)?j.z:-e.log(w.base).number()}function me(e){return j.z===e?j.r:(j.z=e,j.r=x(w.base).pow(-e,BigInt(Math.floor(e))),j.r)}function he(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(x(e).floorBy(w.chunkStep).toFixed(2))}var ge=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},_e=class extends ge{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}},ve=class{#e=`none`;#t={};#n=[];#r;#i;#a={none:[[[`pointerdown`,1,this.#o.bind(this)],`down`,[`down`]]],down:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`drag:start`,`pinch:start`]],[[`pointermove`,1,this.#l.bind(this)],`drag`,[`drag:start`]],[[`pointerup`,0],`none`,[`click`,`up`]],[[`pointercancel`,0],`none`,[`up`]]],drag:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`pinch:start`]],[[`pointermove`,1],`drag`,[`drag:update`]],[[`pointerup`,0],`none`,[`drag:end`,`up`]],[[`pointercancel`,0],`none`,[`drag:end`,`up`]]],pinch:[[[`pointermove`,2],`pinch`,[`pinch:update`]],[[`pointerup`,1,this.#c.bind(this)],`drag`,[`pinch:end`]],[[`pointercancel`,0],`none`,[`pinch:end`,`up`]]]};get state(){return this.#e}disabled=!1;#o(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#s(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#c(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#l(){let e=this.#n.find(e=>e.pressed)||this.#n[0];return e.latest.distanceTo(e.anchor)<4?!1:(this.#n.forEach(e=>e.anchor=e.latest.clone()),!0)}#u(e){if(this.disabled)return;let t=new _e(e.clientX,e.clientY),n=this.#i(t,e)??t,r=!!(e.buttons&1),i=this.#t[e.pointerId]?.latest??n;this.#t[e.pointerId]={pointerId:e.pointerId,last:i,latest:n,delta:n.clone().sub(i),anchor:this.#t[e.pointerId]?.anchor??n,pressed:r};let a=Object.values(this.#t),o=a.filter(e=>e.pressed).length;this.#n=a.filter(t=>t.pressed||t.pointerId===e.pointerId),this.#m(e,o),this.#f(e),r||delete this.#t[e.pointerId]}#d;async#f(e){this.#r&&this.#d&&(this.#r.style.cursor=await this.#d({type:`cursor`,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})??``)}#p;#m(e,t){let[[n,r,i],a,o]=this.#a[this.#e].find(([[n,r]])=>(n===`*`||n===e.type)&&(r===void 0||r===t))??[[`*`],this.#e];i?.(e)!==!1&&(this.#e=a,o&&o.forEach(t=>this.#p({type:t,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})))}constructor(e={}){this.#i=e.transform??(e=>e),this.#p=e.handler??(async()=>void 0),this.#d=e.cursor,e.element&&this.attach(e.element)}#h;attach(e){this.#h?.abort(),this.#h=new AbortController;let t=this.#h.signal,n=e=>this.#u(e);return e.addEventListener(`pointerdown`,n,{signal:t}),window.addEventListener(`pointermove`,n,{passive:!0,signal:t}),window.addEventListener(`pointerup`,n,{passive:!0,signal:t}),window.addEventListener(`pointercancel`,n,{passive:!0,signal:t}),e.addEventListener(`touchstart`,e=>e.preventDefault(),{signal:t}),this.#r=e,this}detach(){this.#h?.abort()}};let ye=0;function be(e){return function(t,n,r={rpc:!1}){let i=++ye;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:Se(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(N(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function xe(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](N(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:Se(o)})}),t}function M(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=M(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=M(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=M(e[r],t,n);return n.delete(e),i}function Se(e,t){return M(e,t,new WeakSet)}function Ce(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function N(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(Ce(e))return x(e);if(Array.isArray(e))return e.map(N);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=N(e[n]);return t}return e}}let we=[[`font-style`,`style`],[`font-weight`,`weight`],[`font-stretch`,`stretch`],[`unicode-range`,`unicodeRange`],[`font-variant`,`variant`],[`font-feature-settings`,`featureSettings`],[`font-display`,`display`],[`ascent-override`,`ascentOverride`],[`descent-override`,`descentOverride`],[`line-gap-override`,`lineGapOverride`]];function Te(){return{visited:new Set}}function Ee(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}function De(e,t){return e.replace(/url\(([^)]+)\)/gi,(e,n)=>{let r=n.trim(),i=Ee(r);if(!i)return`url(${n})`;try{let e=new URL(i,t).toString(),n=r.startsWith(`"`)?`"`:r.startsWith(`'`)?`'`:``;return`url(${n}${e}${n})`}catch{return`url(${n})`}})}function Oe(e,t){let n=e.style.getPropertyValue(`font-family`),r=e.style.getPropertyValue(`src`),i=Ee(n);if(!i||!r)return null;let a={};for(let[t,n]of we){let r=e.style.getPropertyValue(t);r.trim()&&(a[n]=r.trim())}return{family:i,source:t?De(r,t):r,desc:a}}function ke(){if(typeof document<`u`&&document.baseURI)return document.baseURI;if(typeof location<`u`&&location.href)return location.href}function Ae(e,t){try{return t?new URL(e,t).toString():new URL(e).toString()}catch{return null}}function je(e){try{let t=e.cssRules;return Array.from(t)}catch{return null}}async function Me(e,t,n){let r=[],i=t??ke();for(let t of e){if(t.type===CSSRule.FONT_FACE_RULE){let e=Oe(t,i);e&&r.push(e);continue}if(t.type===CSSRule.IMPORT_RULE){let e=Ae(t.href,i);if(!e)continue;r.push(...await Pe(e,n))}}return r}async function Ne(e,t,n){let r=je(e);return r?await Me(r,t??e.href??ke(),n):e.href?await Pe(e.href,n,t):[]}async function Pe(e,t,n){let r=Ae(e,n);if(!r||t.visited.has(r))return[];if(t.visited.add(r),typeof fetch>`u`||typeof CSSStyleSheet>`u`)throw Error(`Failed to load CSS: ${r}`);try{let e=await fetch(r);if(!e.ok)throw Error();let n=await e.text(),i=new CSSStyleSheet;return await i.replace(n),await Ne(i,e.url,t)}catch{throw Error(`Failed to load CSS: ${r}`)}}async function Fe(e){let t=Te(),n=[];for(let r of e){if(typeof r==`string`){let e=await Pe(r,t);n.push(...e);continue}else typeof r.source==`string`&&(r.source=De(r.source,location.href));n.push(r)}return n}async function Ie(){if(typeof document>`u`||!document.styleSheets)return[];let e=Te(),t=[],n=ke();for(let r of Array.from(document.styleSheets)){let i;try{i=r}catch{continue}let a=i.href??n;try{let n=await Ne(i,a,e);t.push(...n)}catch{continue}}return t}var Le=class{options;constructor(e){this.options=e}loadMeta(e){}},Re=class extends Le{constructor(e){super(e)}async loadChunk(e){let t=await this.options.series.loadChunk(e);return await this.transform(t)}async transform(e){return e}};let ze={lines:{links:[{draw:`line`}]},"lines:filled":{links:[{draw:`area`},{draw:`line`}]},curves:{links:[{draw:`curve`}]},"curves:filled":{links:[{draw:`curve-area`},{draw:`curve`}]},"steps-start":{links:[{draw:`step-start`}]},"steps-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}]},steps:{links:[{draw:`step`}]},"steps:filled":{links:[{draw:`step-area`},{draw:`step`}]},"steps-end":{links:[{draw:`step-end`}]},"steps-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}]},points:{marks:[{draw:`circle`}]},linespoints:{links:[{draw:`line`}],marks:[{draw:`circle`}]},"linespoints:filled":{links:[{draw:`area`},{draw:`line`}],marks:[{draw:`circle`}]},curvespoints:{links:[{draw:`curve`}],marks:[{draw:`circle`}]},"curvespoints:filled":{links:[{draw:`curve-area`},{draw:`curve`}],marks:[{draw:`circle`}]},"stepspoints-start":{links:[{draw:`step-start`}],marks:[{draw:`circle`}]},"stepspoints-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}],marks:[{draw:`circle`}]},stepspoints:{links:[{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints:filled":{links:[{draw:`step-area`},{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints-end":{links:[{draw:`step-end`}],marks:[{draw:`circle`}]},"stepspoints-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}],marks:[{draw:`circle`}]},impulses:{marks:[{draw:`line`,using:[`value`,`zero`]}]},impulsespoints:{marks:[{draw:`line`,using:[`value`,`zero`]},{draw:`circle`}]},boxes:{marks:[{draw:`box`,using:[`value`,`zero`],style:{fillColor:`transparent`}}]},"boxes:filled":{marks:[{draw:`box`,using:[`value`,`zero`]}]}};function Be(e){return ze[e]??{}}var Ve=class extends Re{marks;links;constructor(e){super(e);let t=typeof e.series.options.chart==`string`?Be(e.series.options.chart):e.series.options.chart??{};this.marks=t.marks,this.links=t.links}async transform(e){let t=e.data?.map(t=>{let n={resolution:e.resolution,data:t.data??{},time:t.time,value:t.value},r=A(this.marks,n);return{...t,marks:r?.map(e=>({...e,style:A(e.style,n)??{}}))??[]}});return{...e,data:t}}async loadMeta({resolution:e}){return{links:A(this.links,{resolution:e})?.map(e=>({...e,style:A(e.style,null)??{}}))??[],color:this.options.series.color,...this.options.series.dataRange}}};function He(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function Ue(e){return e?{using:e.using??`value`,zoom:e.zoom}:{using:`value`,zoom:void 0}}function We(e){let t=({name:e,unit:t,digits:n,value:r})=>{if(r==null)return`No data`;let i=[];return e&&i.push(e),i.push(r.toFixed(n)),t&&i.push(t),i.join(` `)};return typeof e==`boolean`||!e?{format:t}:{...e,format:e.format??t}}var Ge=class extends Re{#e;#t;constructor(e){super(e),this.#e=Ue(e.series.options.data.instantaneous),this.#t=We(e.series.options.tooltip)}async transform(e){let{name:t,unit:n,digits:r}=this.options.series,i=this.#t.format,a=He(A(this.#e.using,e))[0],o=e.data?.flatMap(e=>{if(!this.#e)return[];let o=e.time[a[1]],s=e.value[a[0]];return[{time:{time:o},value:s,text:i({time:o,value:s,unit:n,digits:r,name:t})}]});return{...e,data:o}}async loadMeta(e){let t=this.options.series.color;return{...this.options.series.dataRange,color:t}}};let Ke=x(1n),qe=x(0n),P=60n,F=P*60n,I=F*24n,L=8640000000000n;function R(e,t){let n=e/t,r=e%t;return r!==0n&&r>0n!=t>0n&&(n-=1n),n}function z(e,t){return e-R(e,t)*t}function Je(e){return e>0n?e:e+1n}function Ye(e){return e>0n?e:e-1n}function B(e,t){let n=Je(e),r=t-1n,i=R(r,12n),a=r-i*12n;return{year:Ye(n+i),month:a+1n,day:1n}}function V(e,t,n){let r=B(e,t);return Xe(H(r.year,r.month,n))}function H(e,t,n){let r=Je(e),i=t,a=n;i<=2n&&(r-=1n);let o=r/400n-(r<0n?1n:0n),s=r-o*400n;i+=i>2n?-3n:9n;let c=(153n*i+2n)/5n+a-1n,l=s*365n+s/4n-s/100n+c;return o*146097n+l-719468n}function Xe(e){let t=e+719468n,n=t/146097n-(t<0n?1n:0n),r=t-n*146097n,i=(r-r/1460n+r/36524n-r/146096n)/365n,a=i+n*400n,o=r-(365n*i+i/4n-i/100n),s=(5n*o+2n)/153n,c=o-(153n*s+2n)/5n+1n,l=s+(s<10n?3n:-9n);return l<=2n&&(a+=1n),{year:Ye(a),month:l,day:c}}function Ze(e){return e>L?L:e<-L?-L:e}function Qe(e){let t=Ze(e);return-BigInt(Math.floor(new Date(Number(t)*1e3).getTimezoneOffset()))*P}function $e(e){return Qe(e)}function et(e){return Qe(e)}function tt(e){let t=H(e.year,e.month,e.day),n=e.hour*F+e.minute*P+e.second,r=t*I+n;return x(r-et(r)).add(e.subseconds)}function nt(e){let t=V(e.year,e.month,e.day),n=e.subseconds.modPositive(Ke),r=e.subseconds.sub(n).integer(),i=e.second+r;return tt({...e,...t,second:i,subseconds:n})}function rt(e){return Number(z(H(e.year,e.month,e.day)+4n,7n))}function it(e){let[t]=e.split(),n=$e(t.integer()),[r,i]=e.add(x(n)).split(),a=r.integer(),o=R(a,I),s=z(a,I),c=Xe(o),l=R(s,F),u=s-l*F,d=R(u,P),f=z(u,P);return{year:c.year,month:c.month,day:c.day,hour:l,minute:d,second:f,subseconds:i}}function U(e,t){return nt({...t(it(e)),hour:0n,minute:0n,second:0n,subseconds:qe})}function W(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>t<=e).toSorted().at(-1)??e:(t=BigInt(t),(e-n)/t*t+n):e}function G(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>e<t).toSorted().at(0):(t=BigInt(t),((e-n)/t+1n)*t+n):e}function at(e,t){return U(e,e=>({...V(e.year,e.month,W(e.day,t,1n))}))}function ot(e,t){return U(e,e=>{let n=G(e.day,t,1n);return n?V(e.year,e.month,n):B(e.year,G(e.month,1n,1n))})}function st(e,t){return U(e,e=>B(e.year,W(e.month,t,1n)))}function ct(e,t){return U(e,e=>B(e.year,G(e.month,t,1n)))}function lt(e,t){return U(e,e=>{let n=W(e.year<=0n?e.year-1n:e.year,t,0n);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function ut(e,t){return U(e,e=>{let n=G(e.year<=0n?e.year-1n:e.year,t);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function dt(e,t){let n=x(t),r=at(e,1n);return e.sub(r).floorBy(n).add(r)}function ft(e,t){return e.add(x(t))}function pt(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}let mt={s:0n,ms:3n,us:6n,ns:9n};function ht({time:e,digits:t,labeler:n}){let r={year:0n,quarter:0,month:0,day:0,hour:0,minute:0,subseconds:e.sub(e.integer()),week:0,second:e.integer(),digits:t,time:e};if(t>0){let i=e.toFixed(t).split(`.`);return n?.seconds?.(r)??i[0]+`.`+Ut(i[1])}return n?.seconds?.(r)??e.toString()}function K(e,t,n){if(t===n)return e;let r=mt[t]??0n,i=(mt[n]??0n)-r;return e.shift10(i)}function*gt(e,t,n){if(!e[0]||!e[1])return;let r=typeof n.timeFormat==`function`?n.timeFormat:void 0,i=typeof n.timeFormat==`function`?{}:n.timeFormat,a=x(w.defaultChunkSize),o=t.mul(a).log(10).round().integer(),s=x(10).pow(o,-o),c=t.mul(x(20)),l=[10n,5n,1n],u=s,d=1n;for(let e of l){let t=s.div(x(e));if(!t.lt(c)){u=t,d=e;break}}if(u.isZero())return;let f=x(d),p=x(1n),m=e[0].div(u).floor().sub(p),h=Math.max(0,-u.log(10).floor().number());for(let t=0;t<1e6;t+=1){m=m.add(p);let t=u.mul(m);if(t.ge(e[1]))break;if(t.lt(e[0]))continue;let a=m.mod(f).isZero(),o={time:t,unit:n.timeUnit??`s`,level:`relative`,digits:h,stride:void 0};yield{time:{time:t},major:a,tick:!0,text:a?r?.(o)??ht({...o,labeler:i}):``}}}function q(e){return{align:t=>dt(t,e),next:t=>ft(t,e)}}function J(e){return e=e.mul(60),{align:t=>dt(t,e),next:t=>ft(t,e)}}function Y(e){return e=e.mul(3600),{align:t=>dt(t,e),next:t=>ft(t,e)}}function X(e){return{align:t=>at(t,e),next:t=>ot(t,e)}}function Z(e){return{align:t=>st(t,e),next:t=>ct(t,e)}}function _t(e){return{align:t=>lt(t,e),next:t=>ut(t,e)}}let vt=[{ops:q,stride:1,step:1},{ops:q,stride:5,step:5},{ops:q,stride:10,step:10},{ops:q,stride:15,step:15},{ops:q,stride:30,step:30},{ops:J,stride:1,step:1},{ops:J,stride:5,step:5},{ops:J,stride:10,step:10},{ops:J,stride:15,step:15},{ops:J,stride:30,step:30},{ops:Y,stride:1,step:1},{ops:Y,stride:3,step:3},{ops:Y,stride:6,step:6},{ops:Y,stride:12,step:12},{ops:X,stride:1,step:1},{ops:X,stride:10,step:[1,10,20]},{ops:Z,stride:1,step:1},{ops:Z,stride:3,step:3}],yt=x(86400),bt=x(`2629800`),xt=x(`31557600`),St=x(60),Ct=x(20),wt=[1n,5n],Tt=[1n,5n],Et=[`subsecond`,`second`,`minute`,`hour`,`day`,`month`,`year`];function Dt(e){switch(e.ops){case q:return`second`;case J:return`minute`;case Y:return`hour`;case X:return`day`;case Z:return`month`;default:throw Error(`Unknown calendar definition`)}}function Ot(e){let{ops:t,step:n}=e;if(t===q||t===J||t===Y)return t(x(n));if(t===X||t===Z)return t(Array.isArray(n)?n.map(e=>BigInt(e)):BigInt(n));throw Error(`Unsupported definition`)}function kt(e){let t=x(BigInt(e.stride));switch(Dt(e)){case`second`:return x(e.step);case`minute`:return x(e.step).mul(60);case`hour`:return x(e.step).mul(3600);case`day`:return t.mul(yt);case`month`:return t.mul(bt);default:return x(0)}}let At=vt.map(e=>({level:Dt(e),stride:BigInt(e.stride),duration:kt(e),digits:0,create:()=>Ot(e),source:e})).sort((e,t)=>e.duration.lt(t.duration)?-1:e.duration.gt(t.duration)?1:0),jt=At.reduce((e,t)=>{let n=e.get(t.level);return n?n.push(t):e.set(t.level,[t]),e},new Map);function Mt(e){if(e.digits<=0n)return 0;let t=e.digits,n=BigInt(2**53-1);return t>n&&(t=n),Number(t)}function Nt(e,t,n){return{level:`subsecond`,stride:1n,duration:e,digits:Mt(e),create:()=>q(e),subsecondMetadata:{exponent:t,factor:n}}}function Pt(e,t,n){let r=t&&t.lt(x(1))?t:x(1),i=e.lt(x(1));if(!i&&!n)return null;let a=i?e:x(1),o;a.isPositive()?(o=a.log(10).floor().integer(),o>=0n&&(o=-1n)):o=-1n;let s=null;for(let e=o;e<0n;e+=1n){let t=x(10).pow(e,-e);for(let n of wt){let i=t.mul(x(n));if(i.lt(r)){if(a.isZero()||!i.lt(a))return Nt(i,e,n);(!s||s.step.lt(i))&&(s={step:i,exponent:e,factor:n})}}}return n&&s?Nt(s.step,s.exponent,s.factor):null}function Ft(e){let t=e.isPositive()?e:x(0);for(let e of At)if(t.isZero()||!e.duration.lt(t))return e;return null}function It(e,t,n,r){let i=jt.get(e);if(!i)return null;let a=t.isPositive()?t:x(0),o=null;for(let e of i){if(n&&!e.duration.lt(n))break;if(a.isZero()||!e.duration.lt(a))return e;o=e}return r&&o?o:null}function Lt(e){if(e<=0n)return 1n;let t=1n,n=10n,r=e;for(;r>0n;)(r&1n)==1n&&(t*=n),n*=n,r>>=1n;return t}function Rt(e){return{level:`year`,stride:e,duration:x(e).mul(xt),digits:0,create:()=>_t(e),yearStride:e}}function zt(e){let t=e.isPositive()?e:x(0);if(t.isZero())return Rt(1n);let n=t.div(xt).log(10).floor().integer();n<0n&&(n=0n);for(let e=n;;e+=1n){let n=Lt(e);for(let e of Tt){let r=Rt(n*e);if(!r.duration.lt(t))return r}}}function Bt(e){return Et.indexOf(e)}function Vt(e,t){let n=Bt(e.level);if(n<=0)return null;let r=Et[n-1],i=e.duration;if(e.level===`year`){for(let n of[5n,4n,2n]){if(e.stride%n!==0n)continue;let r=e.stride/n;if(r<=0n)continue;let i=Rt(r);if(!i.duration.lt(t)&&i.duration.lt(e.duration))return i}let n=zt(t);return n.duration.lt(e.duration)?n:null}if(e.level===`subsecond`){let n=Pt(t,e.duration,!0);return n&&n.duration.lt(e.duration)?n:null}let a=e.level,o=jt.get(a)??[];for(let n=o.length-1;n>=0;--n){let r=o[n];if(r.duration.lt(e.duration)&&!r.duration.lt(t))return r}if(r===`subsecond`){let n=Pt(t,i,!0);return n&&n.duration.lt(e.duration)?n:null}return r===`year`?null:It(r,t,i,!0)}function Ht(e){if(!e||!e.isPositive())return null;let t=e.mul(St),n=e.mul(Ct),r=Pt(t,null,!1);if(r||=Ft(t),r||=zt(t),!r)return null;let i=Vt(r,n);return{level:r.level,major:r.create(),minor:i?i.create():null,digits:r.digits,stride:r.stride}}function Ut(e){return e.replace(/[0-9]/g,e=>String.fromCodePoint(e.charCodeAt(0)-48+8320))}function Wt(e){let{time:t,unit:n}=e,r=e,{year:i,month:a,day:o,hour:s,minute:c,second:l,subseconds:u}=it(K(t,n,`s`)),d=rt({year:i,month:a,day:o}),f=Math.floor((Number(a)-1)/3)+1,p=(e,t)=>e.toString().padStart(t,`0`),m=e=>p(e,2),h=e.labeler??{},g={year:i,quarter:f,month:Number(a),day:Number(o),hour:Number(s),minute:Number(c),second:l,subseconds:u,week:d,digits:r.digits,time:t},_=h.year??(()=>i>0n?i.toString():` ${(1n-i).toString()} BC`),ee=h.quarter??(()=>f===1?`${_(g)} Q${f}`:`Q${f}`),v=h.month??(()=>`${_(g)}/${m(a)}`),y=h.date??(()=>`${m(a)}/${m(o)}(${[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`][d]})`),b=h?.minutes??(()=>`${m(s)}:${m(c)}`),x=r.digits>0?`.`+Ut(u.toFixed(r.digits).split(`.`)[1]):``,S=h.seconds??(()=>`${m(s)}:${m(c)}:${m(l)}${x}`);switch(r.level){case`subsecond`:case`second`:return s===0n&&c===0n&&l===0n&&u.eq(0)?y(g):S(g);case`minute`:case`hour`:return s===0n&&c===0n?y(g):b(g);case`day`:return y(g);case`month`:return r.stride===3n?ee(g):v(g);case`year`:default:return _(g)}}function Gt(e,t,n){if(!e)return null;let r=e.next(t);return!r||r.le(t)||r.ge(n)?null:r}function*Kt(e,t,n){if(!e[0]||!e[1])return;let r=n.timeUnit??`s`,i=K(e[0],r,`s`),a=K(e[1],r,`s`);if(a.le(i))return;t=K(t,r,`s`);let o=Ht(t);if(!o)return;let s=typeof n.timeFormat==`function`?n.timeFormat:void 0,c=o.major.align(i),l=o.minor?.align(i)??null;for(;c||l;){if(c!=null&&(l==null||c.le(l))&&c){if(i.le(c)){let e=K(c,`s`,r);yield{time:{time:e},major:!0,tick:!0,text:s?.({time:e,unit:r,...o})??Wt({time:e,unit:r,...o,labeler:typeof n.timeFormat==`function`?void 0:n.timeFormat})}}l&&l.eq(c)&&(l=Gt(o.minor,l,a)),c=Gt(o.major,c,a);continue}l&&=(i.le(l)&&(yield{time:{time:K(l,`s`,r)},major:!1,tick:!0,text:``}),Gt(o.minor,l,a))}}var qt=class extends Le{constructor(e){e={...e,timeAxis:pt(e.timeAxis,{timeUnit:`s`})},super(e)}async loadChunk(e){let t=[...this.options.timeAxis.relative?gt(e.range,e.resolution,this.options.timeAxis):Kt(e.range,e.resolution,this.options.timeAxis)].map(e=>({...e,time:{time:e.time.time,_minTime:e.time.time,_maxTime:e.time.time}}));return{...e,data:t}}},Jt=class{#e;#t;constructor(e){let{maxSize:t}=e;if(!(typeof t==`number`&&Number.isFinite(t)&&t>0))throw TypeError("`maxSize` must be a number greater than 0");this.#e=Math.floor(t),this.#t=new Map}get size(){return this.#t.size}get maxSize(){return this.#e}get(e){if(!this.#t.has(e))return;let t=this.#t.get(e);return this.#t.delete(e),this.#t.set(e,t),t}set(e,t){if(this.#t.has(e)&&this.#t.delete(e),this.#t.set(e,t),this.#t.size>this.#e){let e=this.#t.keys().next().value;e!==void 0&&this.#t.delete(e)}return this}has(e){return this.#t.has(e)}delete(e){return this.#t.delete(e)}clear(){this.#t.clear()}*keys(){let e=Array.from(this.#t.keys());for(let t=e.length-1;t>=0;t--)yield e[t]}*values(){for(let[,e]of this)yield e}*entries(){yield*this[Symbol.iterator]()}*[Symbol.iterator](){let e=Array.from(this.#t.entries());for(let t=e.length-1;t>=0;t--)yield e[t]}};function Yt(e,t,n=w.defaultChunkSize){let r=me(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function Xt(e){return!!(S(e)||typeof e==`number`||typeof e==`string`||typeof e==`bigint`)}function Zt(e){return e==null?{shrink:!0,expand:!0,default:[x(0),void 0]}:Array.isArray(e)?{shrink:!0,expand:!0,default:e.map(x)}:typeof e==`number`||Xt(e)?{shrink:!0,expand:!0,default:[x(0),x(e)]}:e.default!=null&&!Array.isArray(e.default)?{shrink:e.shrink??!0,expand:e.expand??!0,default:[x(0),x(e.default)]}:{shrink:e.shrink??!0,expand:e.expand??!0,default:(e.default??[0,void 0]).map(x)}}function Qt(e,t){return e._minTime?.le(t[1])&&t[0]?.le(e._maxTime)}var $t=class{#e;#t;#n;#r=new Jt({maxSize:256});#i={};#a;constructor(e){this.#e=e.options,this.#t=e.sources,this.#a=e.options.data.color,this.#n=Zt(e.options.data.range)}get name(){return this.#e.data.name??``}get digits(){return this.#e.data.digits??1}get unit(){return this.#e.data.unit??``}get zoomLevels(){return this.#t[this.#e.data.source].zoomLevels}get chunkSize(){return this.#t[this.#e.data.source].chunkSize}get options(){return this.#e}async loadChunk(e){let t=await this.#t[this.#e.data.source].loadChunk(e),n=this.#e.data.parser?.(t.data)??t.data;if(!Array.isArray(n))throw Error(`Invalid data from the source after parsed.`);let r=Object.fromEntries((Array.isArray(this.#e.data.time)?this.#e.data.time.map(e=>[e,e]):Object.entries(typeof this.#e.data.time==`string`||this.#e.data.time==null?{time:this.#e.data.time??`time`}:this.#e.data.time)).map(([e,t])=>[e,typeof t==`function`?t:ue(t)])),i=Object.fromEntries((Array.isArray(this.#e.data.value)?this.#e.data.value.map(e=>[e,e]):Object.entries(typeof this.#e.data.value==`string`||this.#e.data.value==null?{value:this.#e.data.value??`value`}:this.#e.data.value)).map(([e,t])=>[e,typeof t==`function`?t:ue(t)])),a=n.map(e=>{let t=Object.fromEntries(Object.entries(r).map(([t,n])=>[t,D(n(e))])),n=Object.fromEntries(Object.entries(i).map(([t,n])=>[t,ne(n(e))]).filter(([,e])=>e!==void 0)),[a,o]=C(...Object.values(t));return t._minTime=a,t._maxTime=o,{time:t,value:n,data:e}});return this.#r.set(t.id,a),{...t,data:a}}updateDataRange(e,t){t=he(t,this.zoomLevels);let[n,r]=C(...Yt(e,t,this.chunkSize).flatMap(({id:t})=>{let n=this.#r.get(t);return n?n.flatMap(t=>Qt(t.time,e)?C(...Object.values(t.value)):[]):[]}));n==null||r==null||(this.#i={min:this.#n.default[0]==null?n:this.#n.expand?x.min(n,this.#n.default[0],...this.#n.shrink?[]:[this.#i.min]):this.#n.default[0],max:this.#n.default[1]==null?r:this.#n.expand?x.max(r,this.#n.default[1],...this.#n.shrink?[]:[this.#i.max]):this.#n.default[1]})}get color(){return this.#a}get dataRange(){let e=x.max(this.#i.min?.abs(),this.#i?.max?.abs());return{...this.#i,amp:e}}};function en(e){return new $t(e)}var tn=class extends E{#e=`initial`;#t;#n;#r;#i;#a;#o;#s;get id(){return this.#o}get seq(){return this.#s}get range(){return this.#t}get resolution(){return this.#n}get zoom(){return this.#r}get state(){return this.#e}get expired(){return this.#e!==`loaded`&&this.#e!==`error`||this.#c<=Date.now()}#c=0;get expires(){return this.#c}setExpires(e){this.#c=e}invalidate(){this.#c=0}constructor(e){super(),this.#o=e.id,this.#s=e.seq,this.#t=e.range,this.#n=e.resolution,this.#r=e.zoom,this.#i=e.loader}reload(){return this.load(!0)}async load(e=!1){if(this.#a&&(this.#e===`loading`||!e&&!this.expired))return await this.#a;this.#e=`loading`,this.#c=1/0;try{let e={id:this.#o,seq:this.#s,expires:1/0,range:this.#t.map(e=>e?.clone()),zoom:this.#r,resolution:this.#n.clone()};return this.#a=this.#i(e,{expiresAt:t=>e.expires=t,expiresIn:t=>e.expires=t+Date.now()}).then(t=>(this.#e=`loaded`,this.#c=e.expires??1/0,this.changed(),t||null)),await this.#a}catch(e){return console.error(e),this.#e=`error`,this.changed(),null}}};function nn(e){return async(t,n)=>{let r=await e(t,n);return r instanceof Response?await r.json():r}}var Q=class extends E{#e=new Jt({maxSize:1e3});zoomLevels;chunkSize;loader;constructor(e){if(super(),this.chunkSize=e.chunkSize||w.defaultChunkSize,this.zoomLevels=e.zoomLevels,`loader`in e)this.loader=nn(e.loader);else if(`data`in e)this.zoomLevels=[0],this.chunkSize=0,this.loader=async()=>e.data;else if(`url`in e)e.url.match(/{[a-zA-Z]+}/)?this.loader=nn(async t=>{let n=e.url.replace(/{[a-zA-Z]+}/g,e=>{switch(e.substring(1,e.length-1)){case`z`:case`zoom`:return t.zoom.toString();case`r`:case`resolution`:return t.resolution.rescale().toString();case`s`:case`start`:return t.range[0].rescale().toString();case`e`:case`end`:return t.range[1].rescale().toString();default:return console.warn(`Unknown template string is found in the URL: `+e),e}});return await fetch(n)}):(this.zoomLevels=[0],this.chunkSize=0,this.loader=nn(()=>fetch(e.url)));else throw Error(`No source`)}async loadChunk({id:e,seq:t,range:n,resolution:r,zoom:i}){let a=this.#t(e,t,n,r,i),o=await a.load()??void 0;return{id:e,seq:t,expires:a.expires,range:n,resolution:r,zoom:i,data:o}}#t(e,t,n,r,i){let a=this.#e.get(e);return a||(a=new tn({id:e,seq:t,loader:this.loader,range:n,resolution:r,zoom:i}),this.#e.set(e,a)),a}async loadData(e,t){t=he(t,this.zoomLevels);let n=Yt(e,t,this.chunkSize);return await Promise.all(n.map(e=>this.loadChunk(e)))}async expireChunks(e){for(let t of this.#e.values())(!e||!t.range[1]||t.range[1].gt(e[0])||!t.range[0]||t.range[0].lt(e[1]))&&t.invalidate();this.changed()}};function rn(e){return typeof e==`string`?new Q({url:e}):typeof e==`function`?new Q({loader:e}):e instanceof Q?e:typeof e==`object`&&e&&[`url`,`loader`,`data`].some(t=>t in e)?new Q(e):new Q({data:e})}function an(e={}){let t=URL.createObjectURL(new Blob([`URL.revokeObjectURL(self.location.href);`,"(function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<b.length?b[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<x.length?x[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*v)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(y))return{exponent:0n,remainder:y.clone()};if(e.ge(y))return m(e,t,n,r);let a=m(y.div(e,i),t,n,r);return a.remainder.eq(y)?{exponent:-a.exponent,remainder:y.clone()}:{exponent:-a.exponent-1n,remainder:y.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return C(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(y,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=S(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=S(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=S(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=S(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=S(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=S(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=S(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=w(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(w(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(y))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(y),p=f?y.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let v=i===0?0:c;return this.round$(v),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\\x1b[33m${this.toString()}\\x1b[m \\x1b[90m(${this.coeff} * 10 ** ${-this.digits})\\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,v=Math.log2(10),y=new g(1n),b=[],x=[];(function(){for(let e=0;e<256;e++)x[e]=10n**BigInt(e),b[e]=5n**BigInt(e)})();function S(e){return e==null||C(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=S(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(S||={});let C=S.isDecimal;S.isDecimalLike;let w=S.pow10;S.minmax,S.min,S.max;let ee=0;function te(e){return function(t,n,r={rpc:!1}){let i=++ee;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:re(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(E(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function ne(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](E(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:re(o)})}),t}function T(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=T(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=T(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=T(e[r],t,n);return n.delete(e),i}function re(e,t){return T(e,t,new WeakSet)}function ie(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function E(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(ie(e))return S(e);if(Array.isArray(e))return e.map(E);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=E(e[n]);return t}return e}}function ae(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>ae(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,ae(n,...t)])):e}function oe(e){return Object.prototype.toString.call(e)===`[object Object]`}function D(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&oe(r)?((!i||typeof i!=`object`)&&(e[n]={}),D(e[n],r)):e[n]=r}return e}var O={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function se(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var ce=class{uid=se(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},k=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},A=class extends ce{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}},j=class extends A{constructor(){super()}updateOptions(e){}render(e){}preRender(e){}postRender(e){}onPointerEvent(e,t){}pointerStyle(e,t){}};function le(e,t,n){if(!t)return;let{height:r}=e.size,i=e.ctx,[a,o]=e.timeAxis.p(t);i.fillStyle=n,i.fillRect(a,0,o-a,r)}function ue(e,t,n){if(!t)return;let{width:r,height:i}=e.size,a=e.ctx,[o,s]=e.timeAxis.p(t);a.fillStyle=n,0<o&&a.fillRect(0,0,Math.min(o,r),i),s<r&&a.fillRect(s,0,r-s,i)}function de(e){let t=e.ctx,n=e.size.height,r=Math.round(e.timeAxis.cursor.p);t.fillStyle=`white`,t.strokeStyle=`red`,t.lineWidth=1,t.fillRect(r-1,0,3,n),t.beginPath(),t.moveTo(r+.5,0),t.lineTo(r+.5,n),t.stroke()}function M(e,t,n){let r=e.ctx,i=e.dpr,a={width:r.canvas.width/i,height:r.canvas.height/i};r.save(),t?(r.translate(0,t.oy),a.height=t.height,e.renderingTrack=t):e.renderingTrack=null,e.chart.ox=e.options.padding[3]??0,e.chart.oy=e.options.padding[0]??0,e.chart.width=a.width-e.chart.ox-e.options.padding[1],e.chart.height=a.height-e.chart.oy-e.options.padding[2],e.size.width=a.width,e.size.height=a.height,r.beginPath(),r.rect(0,0,e.size.width,e.size.height),r.clip(),n(e),r.restore()}function N(e,t){e.tracks.forEach(n=>M(e,n,()=>t(n.id,n)))}function P(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}function F(e,t,n=O.clickTolerance){return e&&e-n<=t&&t<=e+n}var fe=class extends j{#e=null;#t=`rgba(0, 0, 255, 0.2)`;#n=!1;#r=!1;#i=!0;#a=S(0n);#o=8;constructor(){super(),this.on(`change`,()=>{this.dispatchEvent(new k(`renderer:event`,{range:this.#e,resizing:this.#r}))})}updateOptions(e){let t=e.selection;t!==void 0&&(t===!1?(this.#i=!1,this.#e=null):t===!0?this.#i=!0:(t.resizable!==void 0&&(this.#i=t.resizable),t.color!==void 0&&(this.#t=t.color),t.invert!==void 0&&(this.#n=t.invert),t.range!==void 0&&(this.#e=t.range)),this.changed())}#s({shiftKey:e,buttons:t},n){if(!this.#i)return!1;let r=t[0].latest.x;if(e){let e=n.timeAxis.t(r);return this.#r=!0,this.#a=e,this.#e=[e,e],this.changed(),!0}if(!this.#e)return!1;let i=n.timeAxis.p(this.#e);if(F(i[0],r,this.#o)){let e=this.#e[1];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}else if(F(i[1],r,this.#o)){let e=this.#e[0];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}return!1}#c({buttons:e},t){if(!this.#i||!this.#r)return!1;let n=t.timeAxis.t(e[0].latest.x),r=this.#a;return this.#e=n.lt(r)?[n,r]:[r,n],this.changed(),!0}#l(e,t){if(!this.#i||!this.#r||!this.#e)return!1;this.#r=!1;let n=t.timeAxis.p(this.#e[0]),r=t.timeAxis.p(this.#e[1]);return Math.abs(n-r)<this.#o&&(this.#e=null),this.changed(),!0}onPointerEvent(e,t){if(this.#i)switch(e.type){case`down`:return this.#s(e,t);case`drag:update`:return this.#c(e,t);case`up`:return this.#l(e,t)}}pointerStyle(e,t){if(!this.#e||!this.#i)return;let n=t.timeAxis.p(this.#e);if(this.#r&&F(n[0],n[1],this.#o))return`not-allowed`;if(F(n[0],e.buttons[0].latest.x,this.#o))return`w-resize`;if(F(n[1],e.buttons[0].latest.x,this.#o))return`e-resize`}render(e){M(e,null,()=>{this.#n?ue(e,this.#e,this.#t):le(e,this.#e,this.#t)})}};function pe(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function I(e,t,n){let{min:r,max:i,amp:a}=n;if(t){let e=r&&r.isPositive()&&r?.log(10),t=i&&i.isPositive()&&i?.log(10);if(!e||!t||t.eq(e))return null;let n=t.sub(e);return t=>{if(!t)return null;if(!t.isZero()&&!t.isNegative())return t.log(10).sub(e).div(n).number()}}else return!a||!r||!i||a.eq(0)||r.eq(i)?null:e?e=>e?.div(a).number():e=>e?.sub(r).div(i.sub(r)).number()}let me=[`link:fill`,`link:stroke`,`marks`];function L(e,t,n){let r=typeof n.lineWidth==`number`&&isFinite(n.lineWidth)?n.lineWidth:1,i=Math.max(.75,r/2),a=new Path2D;a.arc(t.x,t.y,i,0,Math.PI*2),e.addPath(a)}function R(e,t,n,r){if(isNaN(t.y)||isNaN(n.y))return;let i=typeof r.lineWidth==`number`&&isFinite(r.lineWidth)?r.lineWidth:1,a=Math.max(1,i)/2;e.moveTo(t.x-a,t.y),e.lineTo(t.x+a,t.y),e.lineTo(n.x+a,n.y),e.lineTo(n.x-a,n.y),e.closePath()}function he(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=null,o=0,s=()=>{o===1&&a&&L(r,a,n),a=null,o=0};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){s();continue}o===0?(r.moveTo(e,n),a={x:e,y:n}):r.lineTo(e,n),o++}return s(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function z(e,t){if(!t.length)return;if(t.length===1){e.moveTo(t[0].x,t[0].y);return}if(t.length===2){e.moveTo(t[0].x,t[0].y),e.lineTo(t[1].x,t[1].y);return}let n=t.length,r=Array(n-1),i=Array(n-1);for(let e=0;e<n-1;e++)r[e]=t[e+1].x-t[e].x,i[e]=r[e]===0?0:(t[e+1].y-t[e].y)/r[e];let a=Array(n);a[0]=i[0];for(let e=1;e<n-1;e++)a[e]=(i[e-1]+i[e])/2;a[n-1]=i[n-2];for(let e=0;e<n-1;e++){if(i[e]===0||!isFinite(i[e])){a[e]=0,a[e+1]=0;continue}if(a[e]===0&&a[e+1]===0)continue;if(a[e]*i[e]<0||a[e+1]*i[e]<0){a[e]=0,a[e+1]=0;continue}let t=a[e]/i[e],n=a[e+1]/i[e],r=t*t+n*n;if(r>9){let o=3/Math.sqrt(r);a[e]=o*t*i[e],a[e+1]=o*n*i[e]}}e.moveTo(t[0].x,t[0].y);for(let i=0;i<n-1;i++){let n=r[i],o=t[i],s=t[i+1],c=o.x+n/3,l=o.y+a[i]*n/3,u=s.x-n/3,d=s.y-a[i+1]*n/3;e.bezierCurveTo(c,l,u,d,s.x,s.y)}}function ge(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=[],o=()=>{if(a.length){if(a.length===1){L(r,a[0],n),a=[];return}z(r,a),a=[]}};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){o();continue}a.push({x:e,y:n})}return o(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function _e(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&(isNaN(a[o].y1)||isNaN(a[o].y2));)o++;if(o>=a.length)break;let e=[];for(;o<a.length&&!isNaN(a[o].y1)&&!isNaN(a[o].y2);)e.push(a[o]),o++;if(e.length===1){R(r,{x:e[0].x1,y:e[0].y1},{x:e[0].x2,y:e[0].y2},n);continue}z(r,e.map(e=>({x:e.x1,y:e.y1})));let t=e[e.length-1];r.lineTo(t.x2,t.y2);for(let t=e.length-2;t>=0;t--)r.lineTo(e[t].x2,e[t].y2);r.closePath()}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function ve(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&isNaN(a[o].y1);)o++;if(o>=a.length)break;let e=o;for(r.moveTo(a[e].x1,a[e].y1);o<a.length&&!isNaN(a[o].y1);)r.lineTo(a[o].x1,a[o].y1),o++;let t=o--,i=!1;for(;o>=e&&!isNaN(a[o].y2);)r.lineTo(a[o].x2,a[o].y2),o--,i=!0;!i&&!isNaN(a[e].y2)&&(r.lineTo(a[e].x2,a[e].y2),i=!0),r.lineTo(a[e].x1,a[e].y1),t-e===1&&i&&R(r,{x:a[e].x1,y:a[e].y1},{x:a[e].x2,y:a[e].y2},n),o=t}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function B(e,t=`value@time`){return function(n,r,i){let a=new Path2D,o=K(r??t),s=n.map(o);for(let t of s){let n=t.x2-t.x1,r=t.y2-t.y1,o=Math.hypot(n,r),s=Math.atan2(r,n)*180/Math.PI,c=new Path2D;e(c,{style:i,dx:n,dy:r,l:o});let l=new DOMMatrix().translate(t.x1,t.y1).rotate(s).translate(i.offset?.[0]??0,i.offset?.[1]??0).rotate(i.angle??0);a.addPath(c,l)}return{path:a,strokeStyle:i.lineColor??i.color??`black`,fillStyle:G(i.fillColor??i.color??`black`,i.fillOpacity??.25,`white`)}}}function V(e,t){let n=K(t??`value@time`);return{path:e.map(n).map(({x1:e,y1:t})=>({x:e,y:t}))}}let ye={line:{defaultUsing:`value@time`,predicate:e=>!isNaN(e.y1),hasBottom:!1},area:{defaultUsing:[`value@time`,`zero@time`],predicate:e=>!isNaN(e.y1)&&!isNaN(e.y2),hasBottom:!0}};function be(e,t,n){if(n===`start`)return[{x:t.x,y:e.y},{x:t.x,y:t.y}];if(n===`end`)return[{x:e.x,y:t.y},{x:t.x,y:t.y}];let r=(e.x+t.x)/2;return[{x:r,y:e.y},{x:r,y:t.y},{x:t.x,y:t.y}]}function H(e,t,n){let r=[],i=null;for(let a of e){let e=t(a);if(isNaN(e.y)){i=null;continue}i?r.push(...be(i,e,n)):r.push(e),i=e}return r}function U(e,t){let n=ye[t];return function(r,i,a){let o=K(i??n.defaultUsing),s=r.map(o),c=[],l=xe(s,e,n,a,c);if(t===`line`)for(let e of c)L(l,e,a);return{path:l,strokeStyle:a.lineColor??a.color??`black`,fillStyle:G(a.fillColor??a.color??`black`,a.fillOpacity??.25,`transparent`)}}}function xe(e,t,n,r,i=[]){let a=new Path2D,o=0;for(;o<e.length;){for(;o<e.length&&!n.predicate(e[o]);)o++;if(o>=e.length)break;let s=o,c=[];for(;o<e.length&&n.predicate(e[o]);)c.push(e[o]),o++;let l=o;if(!c.length)continue;let u=Se(c,t,{left:s>0?e[s-1]:null,right:l<e.length?e[l]:null}),d=H(u,e=>({x:e.x1,y:e.y1}),t);if(!d.length)continue;let f=d.length===1,p=[];if(n.hasBottom){if(p=H(u,e=>({x:e.x2,y:e.y2}),t),!p.length)continue;if(f&&p.length===1){R(a,d[0],p[0],r);continue}}a.moveTo(d[0].x,d[0].y);for(let e=1;e<d.length;e++)a.lineTo(d[e].x,d[e].y);if(!n.hasBottom){f&&i.push(d[0]);continue}for(let e=p.length-1;e>=0;e--)a.lineTo(p[e].x,p[e].y);a.lineTo(d[0].x,d[0].y)}return a}function Se(e,t,n){let r=e.map(e=>({...e}));return r.length?(Ce(r,t,n.left),we(r,t,n.right),r):r}function Ce(e,t,n){if(!n)return;let r=Te(t,n.x1,e[0].x1);r==null||r===e[0].x1||e.unshift(W(e[0],r))}function we(e,t,n){if(!n)return;let r=e[e.length-1],i=Ee(t,n.x1,r.x1);i==null||i===r.x1||e.push(W(r,i))}function Te(e,t,n){if(t==null||isNaN(t)||e===`start`)return null;if(e===`end`)return t;let r=(t+n)/2;return isNaN(r)?null:r}function Ee(e,t,n){if(t==null||isNaN(t)||e===`end`)return null;if(e===`start`)return t;let r=(n+t)/2;return isNaN(r)?null:r}function W(e,t){return{x1:t,y1:e.y1,x2:t,y2:e.y2}}function G(e,t,n=`transparent`){return`color-mix(in srgb, ${e} ${t*100}%, ${n})`}function K(e){let[[t,n],[r,i]]=pe(e);return function(e){return{x1:e.x[n],y1:e.y[t],x2:e.x[i],y2:e.y[r]}}}function De(e){return(typeof e==`number`||e==null)&&(e=[e??0]),{t:e[0],r:e[1]??e[0],b:e[2]??e[0],l:e[3]??e[1]??e[0]}}let Oe={\"link:line\":[he,{stroke:!0}],\"link:curve\":[ge,{stroke:!0}],\"link:area\":[ve,{fill:!0}],\"link:curve-area\":[_e,{fill:!0}],\"link:step-area-start\":[U(`start`,`area`),{fill:!0}],\"link:step-area\":[U(`mid`,`area`),{fill:!0}],\"link:step-area-end\":[U(`end`,`area`),{fill:!0}],\"link:step-start\":[U(`start`,`line`),{stroke:!0}],\"link:step\":[U(`mid`,`line`),{stroke:!0}],\"link:step-end\":[U(`end`,`line`),{stroke:!0}],\"mark:circle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(n,0),e.arc(0,0,n,0,Math.PI*2)}),{stroke:!0,fill:!0}],\"mark:minus\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(-n,0),e.lineTo(n,0)}),{stroke:!0,fill:!1}],\"mark:triangle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(0,-n),e.lineTo(+n*Math.sqrt(3)/2,n/2),e.lineTo(-n*Math.sqrt(3)/2,n/2),e.closePath()}),{stroke:!0,fill:!0}],\"mark:square\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.rect(-t/2,-t/2,t,t)}),{stroke:!0,fill:!0}],\"mark:diamond\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(0,-t/2),e.lineTo(t/2,0),e.lineTo(0,t/2),e.lineTo(-t/2,0),e.closePath()}),{stroke:!0,fill:!0}],\"mark:star\":[B((e,{style:{size:t}})=>{t??=5;let n=t/2,r=n*.4;for(let t=0;t<10;t++){let i=t%2==0?n:r,a=Math.PI/5*t-Math.PI/2,o=i*Math.cos(a),s=i*Math.sin(a);t===0?e.moveTo(o,s):e.lineTo(o,s)}e.closePath()}),{stroke:!0,fill:!0}],\"mark:plus\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(-t/2,0),e.lineTo(t/2,0),e.moveTo(0,-t/2),e.lineTo(0,t/2)}),{stroke:!0}],\"mark:cross\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.moveTo(-t/2,-t/2),e.lineTo(t/2,t/2),e.moveTo(-t/2,t/2),e.lineTo(t/2,-t/2)}),{stroke:!0}],\"mark:path\":[B((e,{style:{path:t,size:n,scale:r,origin:i}})=>{let a=new DOMMatrix().scale(r??1).scale(n??5).translate(-(i?.[0]??0),-(i?.[1]??0));e.addPath(new Path2D(t),a)}),{stroke:!0,fill:!0}],\"mark:line\":[B((e,{l:t})=>{e.moveTo(0,0),e.lineTo(t,0)},[`min`,`max`]),{stroke:!0}],\"mark:box\":[B((e,{l:t,style:{size:n,radius:r,padding:i}})=>{n??=5;let a=De(i),o=-a.l,s=-(a.t+n/2),c=a.l+t+a.r,l=a.t+n+a.b;r&&r>0?e.roundRect(o,s,c,l,r):e.rect(o,s,c,l)},[`min`,`max`]),{stroke:!0,fill:!0}],\"mark:section\":[B((e,{l:t,style:{size:n}})=>{n??=5,e.moveTo(0,-n/2),e.lineTo(0,n/2),e.moveTo(0,0),e.lineTo(t,0),e.moveTo(t,-n/2),e.lineTo(t,n/2)},[`min`,`max`]),{stroke:!0}],\"mark:icon\":[V,{fill:!0}],\"mark:text\":[V,{fill:!0}]};var ke=class extends j{updateOptions(e){super.updateOptions(e)}#e=S(0);#t={};render(e){super.render(e),this.#n(e),this.#r(e)}#n(e){let t=this.#e.neq(e.timeAxis.current.resolution);if(this.#e=e.timeAxis.current.resolution.clone(),e.options.series)for(let n in e.options.series){let r=e.options.series[n],i=r.track??e.tracks[0].id,a=e.tracks.find(e=>e.id===i),{data:o,meta:s,revision:c}=e.dataCaches[`series:${n}:chart`];if(this.#t[n]&&!t&&this.#t[n].revision===c&&this.#t[n].trackId===i)continue;this.#t[n]={time:e.timeAxis.current.range[0],trackId:i,revision:c,linkOps:[],markOps:[]};let l=s.color,u=[],d=I(a.symmetric,r.data.scale===`log`,s);if(d){for(let e=0;e<o.length;e++){let t=o[e].time,r=o[e].value,i={x:{},y:{zero:a.y(0)}};for(let e in t)i.x[e]=t[e].sub(this.#t[n].time).div(this.#e,3).number();for(let e in r)i.y[e]=a.y(d(r[e]));u.push(i);for(let t of o[e].marks){if(!t)continue;let e={color:l,...t.style??{}},[r,a]=Oe[`mark:${t.draw}`],{path:o,strokeStyle:s,fillStyle:c,postFillStyle:u}=r?.([i],t.using,e)??{};this.#t[n].markOps||(this.#t[n].markOps=[]),this.#t[n].markOps.push({type:`mark`,draw:t.draw,time:this.#t[n].time,path:o,style:{...e,strokeStyle:s,fillStyle:c,postFillStyle:u,...a}})}}for(let e of s.links??[]){if(!e)continue;let t={color:l,...e.style??{}},[r,i]=Oe[`link:${e.draw}`],{path:a,strokeStyle:o,fillStyle:s}=r?.(u,e.using,t)??{};this.#t[n].linkOps||(this.#t[n].linkOps=[]),this.#t[n].linkOps.push({type:`link`,draw:e.draw,time:this.#t[n].time,path:a,style:{...t,strokeStyle:o,fillStyle:s,...i}})}}}}#r(e){if(!e.options.series)return;let t={};for(let n in this.#t){let r=this.#t[n];t[r.trackId]||(t[r.trackId]={});let i=r.time.sub(e.timeAxis.current.time??e.timeAxis.now).div(this.#e,3).number()+e.timeAxis.axisLength[0];for(let e of r.linkOps){let n=e.draw.includes(`area`)?`link:fill`:`link:stroke`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}for(let e of r.markOps){let n=`marks`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}}for(let n of e.tracks)M(e,n,()=>{let r=e.ctx;for(let i of me){if(!t?.[n.id]?.[i])continue;let a=t[n.id][i];for(let t of a)r.save(),r.translate(t.ox,t.oy),t.path instanceof Path2D?Ae(e,t.path,t.style):t.path&&(Me(e,t.path,t.style),je(e,t.path,t.style)),r.restore()}})}};function Ae({ctx:e},t,n){!t||!(t instanceof Path2D)||(n.fill&&!n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)),n.stroke&&n.strokeStyle&&(n.lineWidth??1)>0&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.strokeStyle,e.lineWidth=n.lineWidth??1,n.lineDashArray&&(e.setLineDash(n.lineDashArray),e.lineDashOffset=n.lineDashOffset??0),e.stroke(t)),n.fill&&n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)))}function je({ctx:e},t,n){if(n.text){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.fontWeight??`normal`} ${n.size??14}px ${n.fontFamily??`sans-serif`}`,e.textAlign=n.textAlign??`center`,e.textBaseline=n.textBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.textOutline||n.textOutlineColor!==void 0||n.textOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.textOutlineColor??`white`,e.lineWidth=n.textOutlineWidth??2,e.strokeText(n.text??``,0,0)),e.fillStyle=G(n.textColor??n.color??`black`,n.textOpacity??1),e.fillText(n.text??``,0,0),e.restore()}}function Me({ctx:e},t,n){if(n.icon){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.iconFontWeight??`normal`} ${n.size??16}px ${n.iconFontFamily??`icons`}`,e.textAlign=n.iconAlign??`center`,e.textBaseline=n.iconBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.iconOutline||n.iconOutlineColor!==void 0||n.iconOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.iconOutlineColor??`white`,e.lineWidth=n.iconOutlineWidth??2,e.strokeText(n.icon??``,0,0)),e.fillStyle=G(n.iconColor??n.color??`black`,n.iconOpacity??1),e.fillText(n.icon??``,0,0),e.restore()}}var Ne=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},q=class extends Ne{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}};function Pe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).lt(t)?r=a+1:i=a}return r}function Fe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).le(t)?r=a+1:i=a}return r}function Ie(e,[t,n],r){let i=t===void 0?0:Pe(e,t,r),a=n===void 0?e.length:Pe(e,n,r);return i<a?[i,a]:[0,0]}function Le(e,t){let n=(e,t,n,r)=>Math.min(t,r)-Math.max(e,n),r=n(e.point.x,e.point.x+e.box.width+2,t.point.x,t.point.x+t.box.width+2),i=n(e.point.y,e.point.y+e.box.height+2,t.point.y,t.point.y+t.box.height+2);return r<=0||i<=0?null:{w:r,h:i,d:Math.hypot(r,i)}}function Re(e,t,n){let r=0,i=0,a=new q(0,0);do{r=0;let i=e.map(e=>({...e,force:(e?.force??new q(.01*e.id,0)).set(.01*e.id,0)}));for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],r=i[t];if(n===r||n.sideX!==r.sideX)continue;let o=Le(n,r);if(o)if(n.point.distanceTo(r.point)===0){let e=[0,o.h/2];n.force.sub(e),r.force.add(e)}else{let e=a.set(...r.point.values).sub(n.point).normalize(),t=[o.w/2*e.x,o.h/2*e.y];n.force.sub(t),r.force.add(t)}}i.forEach(e=>{let t=a.set(e.point.x,0);e.force.sub(t.normalize().scale(.2))});for(let e=0;e<i.length;e++){let a=i[e];a.point.add(a.force),a.point.x<0&&(a.force.x+=a.point.x,a.point.x-=a.point.x),a.point.y-a.box.height/2<0+t&&(a.force.y+=a.point.y-a.box.height/2-t,a.point.y-=a.point.y-a.box.height/2-t),a.point.y+a.box.height/2+1>n&&(a.force.y+=a.point.y+a.box.height/2+1-n,a.point.y-=a.point.y+a.box.height/2+1-n),r+=a.force.norm**2}}while(r>1&&i++<100);return i<100}var ze=class extends j{postRender(e){super.postRender(e),this.#t(e)}#e(e,t){if(!e)return;let n=Fe(e,t,e=>e.time.time);if(0<n&&n<=e.length)return e[n-1]}#t(e){if(e.timeAxis.animating||!e.options.series)return;let t=e.timeAxis.cursor.time??S(Date.now()/1e3);N(e,(n,r)=>{let i=e.ctx,a=[],o=1;i.textBaseline=`middle`,i.textAlign=`left`;for(let n of r.seriesKeys){let s=e.options.series?.[n];if(!s)throw Error(`Invalid series`);if(s.tooltip===!1)continue;let{data:c,meta:l}=e.dataCaches[`series:${n}:instantaneous`];if(!l)continue;let u=I(r.symmetric,s.data.scale===`log`,l);if(!u)continue;let d=this.#e(c,t);if(!d)continue;let f=d.time.time;if(!f)continue;let p=e.timeAxis.p(f),m=d.value,h=d.text,g=i.measureText(h),_=l.color;if(m==null)continue;let v=r.y(u(m));a.push({id:a.length,cx:p,cy:v,point:new q(0,v),color:_,metrics:g,sideX:o,text:{dx:6,dy:0,value:h},box:{dx:.5,dy:.5-g.fontBoundingBoxAscent-2,width:12+g.width,height:4+g.fontBoundingBoxAscent+g.fontBoundingBoxDescent}}),o=-o}Re(a,e.chart.oy,e.chart.oy+e.chart.height);for(let e of a)e.point.x=e.cx+e.sideX*(e.point.x+20);for(let{cx:e,cy:t,point:n,color:r}of a)i.beginPath(),i.moveTo(e,t),i.lineTo(n.x,n.y),i.strokeStyle=`white`,i.lineWidth=3,i.stroke(),i.strokeStyle=r,i.lineWidth=1,i.setLineDash([3]),i.stroke(),i.setLineDash([]);for(let{cx:e,cy:t,point:n,sideX:r,text:o,color:s,box:c}of a)i.beginPath(),i.arc(e,t,3,0,Math.PI*2),i.fillStyle=s,i.fill(),i.strokeStyle=`white`,i.stroke(),i.beginPath(),i.roundRect(n.x+c.dx,n.y+c.dy,c.width*r,c.height,4),i.shadowBlur=3,i.shadowColor=`black`,i.shadowOffsetX=0,i.shadowOffsetY=1,i.fillStyle=s,i.fill(),i.shadowBlur=0,i.shadowColor=`transparent`,i.shadowOffsetX=0,i.shadowOffsetY=0,i.lineWidth=1,i.strokeStyle=`white`,i.stroke(),i.textBaseline=`middle`,i.textAlign=r<0?`right`:`left`,i.fillStyle=`white`,i.fillText(o.value,n.x+r*o.dx,n.y+o.dy)})}};function Be(e,t={}){return{font:`${e?.fontWeight??t?.fontWeight??`normal`} ${e?.fontSize??t?.fontSize??`12px`} \"${e?.fontFamily??t?.fontFamily??`BIZ UDPGothic`}\"`,color:e?.color??t?.color}}var Ve=class extends j{render(e){super.render(e),N(e,()=>{this.#t(e)})}preRender(e){super.preRender(e),N(e,()=>{this.#e(e)})}#e(e){let t=e.ctx,{width:n}=e.size,r=e.renderingTrack.axisY,i=e.renderingTrack.id,a=P(e.options.tracks?.[i].timeAxis,{});if(!a)return;let o=e.dataCaches[`tracks:${i}:timeAxis`]?.data;o&&(t.beginPath(),a.axis!==!1&&(t.strokeStyle=(typeof a.axis==`object`?a.axis.color:void 0)||`#3333`,t.moveTo(0,r+.5),t.lineTo(n,r+.5)),t.strokeStyle=(a.ticks!==!1&&typeof a.ticks==`object`?a.ticks.color:void 0)||`#3333`,o.forEach(n=>{if(!n.tick)return;let i=e.timeAxis.p(n.time.time);a.ticks!==!1&&(t.moveTo(i,r-(n.major?10:5)),t.lineTo(i,r+(e.symmetric?n.major?10:5:0)))}),t.stroke())}#t(e){let t=e.ctx,n=e.renderingTrack.axisY+2,r=e.renderingTrack.id,i=P(e.options.tracks?.[r].timeAxis,{});if(!i)return;let a=e.dataCaches[`tracks:${r}:timeAxis`]?.data;if(!a||i.labels===!1)return;let o=Be(i.labels);t.fillStyle=o?.color??`black`,t.font=o?.font,t.textAlign=`center`,t.textBaseline=`top`,a.forEach(r=>{let i=e.timeAxis.p(r.time.time);r.text!==void 0&&t.fillText(r.text,i,n)})}};let J={z:0,r:S(1)};function He(e){return J.r.eq(e)?J.z:-e.log(O.base).number()}function Y(e){return J.z===e?J.r:(J.z=e,J.r=S(O.base).pow(-e,BigInt(Math.floor(e))),J.r)}function Ue(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(S(e).floorBy(O.chunkStep).toFixed(2))}function We(e,t,n=O.defaultChunkSize){let r=Y(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function Ge(e,t){return t===void 0?e:e===void 0||t.lt(e)?t:e}function Ke(e,t){return t===void 0?e:e===void 0?t:e.gt(t)?e:t}function qe(e,t){return(!e[0]||!t[1]||e[0].le(t[1]))&&(!t[0]||!e[1]||t[0].le(e[1]))}var X=class extends A{#e={};#t=[];#n;#r;#i;#a;#o;#s;#c={};#l;constructor(e){super(),this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}updateOptions(e){this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}#u(e,t){if(e.id in this.#e&&t){try{this.#t=this.#p(e.range,this.#t,t)??this.#t}catch(e){console.error(e)}this.changed(),this.dispatchEvent(`datachanged`)}}#d=!1;#f(e,t){let n={...this.#e};for(let e of t)delete n[e.id];for(let e in n)this.#d=!0,delete this.#e[e];!e.timeAxis.animating&&!e.timeAxis.editing&&this.#d&&(this.#d=!1,this.#t=this.#h(Object.values(this.#e),this.#t)??this.#t,this.changed(),this.dispatchEvent(`datachanged`))}#p(e,t,n){let[r,i]=Ie(t,e,e=>e.time._minTime??e.time.time);return[...t.slice(0,r),...n.filter(e=>e.time._minTime??e.time.time),...t.slice(i)].toSorted((e,t)=>{let n=e.time._minTime??e.time.time,r=t.time._maxTime??t.time.time;return n==null||r==null?0:n.lt(r)?-1:n.gt(r)?1:0})}#m=[S(0),S(0)];get window(){return this.#m}#h(e,t){let[n,r]=e.reduce((e,t)=>{let n=t.range[0],r=t.range[1];return[Ge(e[0],n),Ke(e[1],r)]},[void 0,void 0]);if(!n||!r)return t;let i=[n,r];return this.#m=i,t.filter(e=>qe([e.time._minTime??e.time.time,e.time._maxTime??e.time.time],i))}#g(e,t){return t=Ue(t,this.#s),We(e,t,this.#o).map(e=>this.#e[e.id]??e)}update(e){if(this.#r){let t=e.timeAxis.committing.time??e.timeAxis.now,n=this.#i??e.timeAxis.committing.zoom.number(),r=Y(n).mul(this.#o).div(2),i=[t.sub(r),t.add(r)];this.#_(e,i,n)}else if(this.#a){let t=e.timeAxis.current.zoom?.number()??0;this.#_(e,e.timeAxis.current.range,t)}else{let t=e.timeAxis.committing.zoom?.number()??0;this.#_(e,e.timeAxis.committing.range,t)}}#_(e,t,n){let r=this.#g(t,n),i=Date.now();r.forEach(e=>{this.#e[e.id]&&i<=e.expires||(this.#e[e.id]=e,this.#d=!0,e.expires=1/0,e._loading=!0,this.#n(e).then(t=>{e.expires=t?.expires??e.expires,this.#u(t,t.data)}).finally(()=>{e._loading=!1}))}),this.#f(e,r)}get data(){return this.#t}invalidate(){this.#e={},this.#d=!0}get meta(){return this.#c}updateMeta(e){this.#c=e,this.changed(),this.dispatchEvent(`metachanged`)}get name(){return this.#l}};function Z(e){if(e==null||C(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return S(t/1e3)}return e instanceof Date?S(e.getTime()/1e3):S(e)}function Je(e){return e.map(Z)}let Ye=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),Xe=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var Ze=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,\"in-out\":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=Ye(a)}else this.done()};this.#e=Ye(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(Xe(this.#e),null)}get animating(){return this.#e!==null}};function Q(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var $=class extends A{#e;#t={id:void 0,value:null,nullValue:S(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new Ze;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return S(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>S(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(Q(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>S(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=Q(S(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=Q(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new k(`sync`,n)),this.dispatchEvent(new k(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new k(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=Q(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t)};this.dispatchEvent(new k(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new k(`valuechanging`,e)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=Q(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new k(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.changed(),this.dispatchEvent(new k(`valuechanging`,this.#t.value)),this.dispatchEvent(new k(`valuechanged`,this.#t.value))},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new k(`sync`,e)),this.#l(e)}},Qe=class extends A{time;zoom;constructor(e){super(),this.time=new $,this.zoom=new $,this.time=new $({initialValue:Z(e.time??null),domain:Je(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new $({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.zoom.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(Z(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=Je(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(S(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(S)}},$e=class{decay;minVelocity;delay;points=[];angle_=0;distance_=0;constructor(e=.005,t=.05,n=100){this.decay=e,this.minVelocity=t,this.delay=n}begin(){this.points=[]}update(e,t){let n=Date.now();this.points.push({x:e,y:t,t:n});let r=n-this.delay;for(;this.points.length>1&&this.points[0].t<r;)this.points.shift()}end(){let e=this.points.length;if(e<2)return!1;let t=Date.now()-this.delay,n=this.points[e-1];if(n.t<t)return!1;for(;this.points.length>1&&this.points[0].t<t;)this.points.shift();let r=this.points[0];if(n.t<Date.now()-this.delay)return!1;let i=n.x-r.x,a=n.y-r.y,o=n.t-r.t;return o<1e3/60?!1:(this.distance_=Math.sqrt(i*i+a*a)/o/this.decay,this.angle_=Math.atan2(a,i),!0)}getDistance(){return this.distance_}getAngle(){return this.angle_}},et=class extends A{#e;#t={cursorMode:`center`,axisLength:[0,0],disabled:!1,dragging:!1,pinch:null};#n=new $e;constructor(e={}){super(),this.#e=new Qe(e);let{time:t,zoom:n}=this.#e;t.on(`change`,()=>this.changed()),t.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),t.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),t.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{time:e.value}))),n.on(`change`,()=>this.changed()),n.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number()))),n.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),n.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{zoom:e.value}))),t.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),n.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),t.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`)),n.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`))}z(e){return S(He(e))}r(e){return Y(e.number())}p(e,t){if(Array.isArray(e))return e.map((e,t)=>this.p(e,t));if(e===void 0)return t===0?-100:this.#t.axisLength[0]+this.#t.axisLength[1]+100;let n=this.r(this.#e.zoom.current),r=this.#e.time.current??this.now,i=e??this.now;return S(i).sub(r).div$(n,3).number()+this.#t.axisLength[0]}t(e){if(Array.isArray(e))return e.map(e=>this.t(e));let t=this.r(this.#e.zoom.current),n=this.#e.time.current??this.now;return t.mul(e-this.#t.axisLength[0]).add(n).round(t.digits)}set disabled(e){this.#t.disabled=e}get disabled(){return this.#t.disabled}get editing(){return this.#e.time.editing||this.#e.zoom.editing}get dragging(){return this.#t.dragging}get animating(){return this.#e.time.animating||this.#e.zoom.animating}get current(){return{time:this.#e.time.current,zoom:this.#e.zoom.current,resolution:this.r(this.#e.zoom.current),range:this.rangeFor(this.#e.time.current,this.#e.zoom.current),p:this.p(this.#e.time.current)}}get candidate(){return{time:this.#e.time.candidate,zoom:this.#e.zoom.candidate,resolution:this.r(this.#e.zoom.candidate),range:this.rangeFor(this.#e.time.candidate,this.#e.zoom.candidate),p:this.p(this.#e.time.candidate)}}get value(){return{time:this.#e.time.value,zoom:this.#e.zoom.value,resolution:this.r(this.#e.zoom.value),range:this.rangeFor(this.#e.time.value,this.#e.zoom.value),p:this.p(this.#e.time.value)}}get committing(){return{time:this.#e.time.committing,zoom:this.#e.zoom.committing,resolution:this.r(this.#e.zoom.committing),range:this.rangeFor(this.#e.time.committing,this.#e.zoom.committing),p:this.p(this.#e.time.committing)}}get committed(){return{time:this.#e.time.committed,zoom:this.#e.zoom.committed,resolution:this.r(this.#e.zoom.committed),range:this.rangeFor(this.#e.time.committed,this.#e.zoom.committed),p:this.p(this.#e.time.committed)}}get cursor(){return{time:this.#e.time.cursor,p:this.p(this.#e.time.cursor)}}get range(){return{time:this.#e.time.domain,p:this.p(this.#e.time.domain)}}rangeFor(e,t){return[(e??this.now).sub(this.r(t).mul(this.#t.axisLength[0])),(e??this.now).add(this.r(t).mul(this.#t.axisLength[1]))]}#r(e){this.#e.time.begin(this.t(e)),this.#n.begin()}#i(e,t){this.#e.time.update(this.t(this.current.p-t)),this.#n.update(e,0)}#a(){if(this.#n.end()){let e=this.#n.getDistance(),t=this.#n.getAngle(),n=e*Math.cos(t);this.#e.time.commit({value:this.t(this.current.p-n)})}else this.#e.time.commit()}click(e){this.#e.time.begin(this.t(e)),this.#e.time.commit()}dragStart(e){this.disabled||(this.#r(e),this.#t.dragging=!0)}dragUpdate(e,t){!this.#t.dragging||this.disabled||this.#i(e,t)}dragEnd(){!this.#t.dragging||this.disabled||(this.#a(),this.#t.dragging=!1)}dragCancel(){this.#t.dragging=!1}pinchStart(e,t){if(!this.disabled){if(this.#e.time.update(this.#e.time.current),this.#t.pinch={anchorTime:[this.t(e),this.t(t)]},this.#t.pinch.anchorTime[0].eq(this.#t.pinch.anchorTime[1])){this.#t.pinch=null;return}this.#e.zoom.begin(this.#e.zoom.current)}}pinchUpdate(e,t){if(this.disabled)return;if(!this.#t.pinch)return this.pinchStart(e,t);let n=this.#t.pinch.anchorTime[0],r=this.#t.pinch.anchorTime[1];if(Math.abs(t-e)>2){let i=r.sub(n).div(t-e).abs(),a=this.z(i);this.#e.zoom.update(a)}}pinchEnd(){this.disabled||this.#t.pinch&&(this.#t.pinch=null,this.#e.zoom.commit({animation:`linear`,duration:200}))}setAxisLength(e){this.#t.axisLength=e,this.changed(),this.dispatchEvent(`viewchanged`),this.dispatchEvent(`viewchanging`)}get axisLength(){return this.#t.axisLength}get now(){return S(Date.now()/1e3)}handleSyncEvent(e){e.time&&this.#e.time.handleSyncEvent(e.time),e.zoom&&this.#e.zoom.handleSyncEvent(e.zoom)}},tt=class{id;height;symmetric;oy=0;paddingY=[5,5];labelHeight=0;seriesKeys;constructor(e){this.id=e.id,this.oy=e.oy??0,this.height=e.height??0,this.symmetric=e.symmetric??!1,this.labelHeight=e.labelHeight??0,this.seriesKeys=e.seriesKeys}get chartHeight(){return this.height-this.paddingY[0]-this.paddingY[1]-this.labelHeight}get axisY(){return(this.symmetric?this.chartHeight/2:this.chartHeight)+this.paddingY[0]}y(e){if(e==null||isNaN(e))return NaN;let t=this.symmetric?this.chartHeight/2:this.chartHeight;return this.axisY-t*e}getRenderers(){return[]}},nt=class extends X{#e=new $({initialValue:null});#t=new $({initialValue:null});#n;#r(){let e=this.#e.current,t=this.#t.current;if(!this.#n||e==null||t==null)return;let n=S.max(e.abs(),t.abs());super.updateMeta({...this.#n??{},min:e,max:t,amp:n})}constructor(e){super(e),this.#e.on(`change`,()=>this.#r()),this.#t.on(`change`,()=>this.#r())}updateMeta(e){this.#n=e,e.min&&this.#e.setValue(e.min,this.#e.committed?{animation:`linear`,duration:200}:!1),e.max&&this.#t.setValue(e.max,this.#t.committed?{animation:`linear`,duration:200}:!1),this.#r()}};function rt(e,t,n=globalThis.requestAnimationFrame){let r,i,a=te(e),o=new et;o.on(`change`,()=>v()),o.on(`sync`,e=>a(`sync`,e.value)),o.on(`viewchanging`,()=>u());let s={onPointerEvent:e=>{let t={click:e=>o.click(e),\"drag:start\":e=>o.dragStart(e),\"drag:update\":(e,t)=>o.dragUpdate(e,t),\"drag:end\":()=>o.dragEnd(),\"pinch:start\":(e,t,n)=>o.pinchStart(e,n),\"pinch:update\":(e,t,n)=>o.pinchUpdate(e,n),\"pinch:end\":()=>o.pinchEnd()};if(e.type in t)return t[e.type](e.buttons[0]?.latest.x??0,e.buttons[0]?.delta.x??0,e.buttons[1]?.latest.x??0),!0},pointerStyle:()=>{}},c=[new Ve,new ke,new ze,new fe];c.forEach(e=>{e.on(`change`,()=>v()),e.on(`renderer:event`,t=>a(`renderer:event`,{value:t.value,uid:e.uid}))});let l={ctx:null,options:{},tracks:[],renderingTrack:null,dataCaches:{},chart:{ox:0,oy:0,width:1,height:1,get axisY(){return(l.symmetric?l.chart.height/2:l.chart.height)+l.chart.oy}},size:{width:1,height:1},get symmetric(){return this.renderingTrack?.symmetric??!1},dpr:1,timeAxis:o};async function u(){let e=o.current,t=o.revision;await a(`view:changed`,{time:e.time,zoom:e.zoom.number(),resolution:e.resolution,range:e.range},{rpc:!0}),o.revision===t&&Object.values(l.dataCaches).forEach(e=>d(e).then(()=>v()))}async function d(e){let{revision:t}=e,{resolution:n,zoom:r}=o.value,i=await a(`provider:loadMeta`,{key:e.name,zoom:r.number(),resolution:n},{rpc:!0});e.revision===t&&e.updateMeta(i)}function f(e,t={}){let n={...t,name:e,loader:async t=>await a(`provider:loadChunk`,{key:e,chunk:t},{rpc:!0})};if(l.dataCaches[e]){let t=l.dataCaches[e];return t.updateOptions(n),t.invalidate(),t}let r=e.startsWith(`series:`)?new nt(n):new X(n);return r.on(`change`,()=>v()),r.on(`datachanged`,async()=>u()),r}function p(e){let t={...e.dataCaches};for(let n in e.options.dataCacheOptions)e.dataCaches[n]=f(n,e.options.dataCacheOptions[n]),delete t[n];Object.keys(t).forEach(t=>delete e.dataCaches[t])}function m(e){for(let t of Object.values(e.dataCaches))t.update(e)}let h;function g(){if(!i)return;let e=i.height/l.dpr,t=Object.entries(l.options.tracks??{default:{}}),n=Math.max(0,e-t.reduce((e,[,t])=>e+(t?.height??0),0))/t.filter(([,e])=>e.height==null).length,r=0;l.tracks=t.map(([e,i])=>{let a=i.height??n;return r+=a,new tt({id:e,oy:r-a,height:a,symmetric:i.symmetric??!1,labelHeight:!i.symmetric&&i.timeAxis!==!1&&(typeof i.timeAxis!=`object`||i.timeAxis.labels!==!1)?14:0,seriesKeys:Object.entries(l.options.series??{}).filter(([,n])=>(n.track??t[0][0])===e).map(([e])=>e)})})}ne(e,{init:({canvas:e})=>{i=e,r=i?.getContext(`2d`)},fonts:e=>{if(e)for(let n of e)try{let e=typeof n.source==`string`&&n.source.match(/url\\(\"([^\"]+)\"\\) *format\\(\"woff2\"\\)/);if(e&&e?.[1])fetch(e[1]).then(e=>e.arrayBuffer()).then(e=>{let r=new Uint8Array(e),i=new FontFace(n.family,r,n.desc);i.loaded.then(()=>{t?.add(i),v()}),i.load()});else{let e=new FontFace(n.family,n.source,n.desc);e.loaded.then(()=>{t?.add(e),v()}),e.load()}}catch(e){console.error(`Failed to load the font:`,e)}v()},\"options:update\":e=>{D(l.options,e),e.dataCacheOptions&&p(l),(`tracks`in e||`series`in e)&&g();for(let t of c)t.updateOptions(e);v()},resize:async({size:e,context:t})=>{if(!i)return;let n=t?.dpr??l.dpr??1;i.width=e.width*n,i.height=e.height*n,o.setAxisLength([e.width/2,e.width/2]),l.dpr=n,g(),v()},pointer:async e=>{let t=[...c??[],s],n=(h??t).find(t=>t.onPointerEvent(e,l));return h=e.type===`up`||!n?void 0:[n],!0},cursor:async e=>{let t=[...c??[],s];return(h??t).map(t=>t.pointerStyle(e,l)).find(e=>e)},sync:e=>{o.handleSyncEvent(e)},reload:()=>{for(let e of Object.values(l.dataCaches))e.invalidate();v()}});let _=!1;function v(){_=!0}let y=0,b=0;function x(){y++}function S(){let e=Date.now(),t=(y*1e3/(e-b)).toFixed(1);b+1e3<=e&&(b=e,y=0),r?.clearRect(0,0,60,15),r?.fillText(`FPS: ${t}`,5,10)}function C(e){for(let t of c)r?.save(),e(t),r?.restore()}function w(e){!i||!r||(e.ctx=r,_=!1,m(e),x(),r.reset(),r.scale(e.dpr,e.dpr),C(t=>{t.preRender(e)}),M(e,null,()=>{ue(e,o.range.time,`#00000010`)}),C(t=>{t.render(e)}),e.options.indicator!==!1&&M(e,null,()=>de(e)),C(t=>{t.postRender(e)}))}function ee(){let e=o.range,t=e.time[0]===null&&0<=e.p[0]&&e.p[0]<l.size.width||e.time[1]===null&&0<=e.p[1]&&e.p[1]<l.size.width;return _||o.value.time===null||t}let T=()=>{n(T),ee()&&w(l),l.options.showFps&&S()};n(T)}rt(self,self.fonts)})();"],{type:`text/javascript;charset=utf-8`}));return new Worker(t,e)}function on(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`)return e.toString()===t.toString();if(e&&t&&typeof e==`object`){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!on(e[r],t[r]))return!1;return!0}return!1}function $(e,t,n=new WeakSet){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`)return;if(r===`function`)return e.toString();if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=$(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=$(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=$(e[r],t,n);return n.delete(e),i}function sn(e,t,n){e??={},t??={};let r=[],i={...t};for(let a in e)(!i[a]||i[a]!==e[a]&&!on(i[a]?._src,e[a]))&&(t[a]=n(e[a]),t[a]!==e[a]&&(t[a]._src=$(e[a]),r.push(a))),delete i[a];Object.keys(i).forEach(e=>delete t[e])}let cn=[`#080`,`#800`,`#008`,`#880`,`#088`,`#808`],ln={indicator:!0,padding:[5,5,5,5],sources:void 0,series:void 0,tracks:void 0,selection:void 0};var un=class extends E{#e;call;#t={};#n={};#r={};#i=!1;#a=[];#o=!1;#s=null;#c=0;constructor(e){super(),this.#e=new an,this.call=be(this.#e),xe(this.#e,{sync:e=>{this.dispatchEvent(new T(`sync`,e,this.uid))},"renderer:event":async e=>{this.dispatchEvent(new T(`renderer:event`,e.value,e.uid))},"provider:loadChunk":async({key:e,chunk:t})=>await this.#r[e]?.loadChunk(t),"provider:loadMeta":async({key:e,zoom:t,resolution:n})=>await this.#r[e].loadMeta({zoom:t,resolution:n}),"view:changed":async e=>{for(let t in this.dispatchEvent(new T(`viewchanged`,e,this.uid)),this.#n)this.#n[t].updateDataRange(e.range,e.zoom);return!0}});let t=e.canvas.transferControlToOffscreen();this.call(`init`,{canvas:t},{transfer:[t]}),this.setFonts(e.fonts)}async setFonts(e){if(e){this.#i=!1,this.#d();let t=await Fe(e);this.call(`fonts`,t);return}this.#i=!0,this.#u(),await this.#p()}[Symbol.dispose](){this.dispose()}dispose(){this.#d(),this.#e.terminate()}setOptions(e){this.#l={},this.updateOptions({...ln,...e})}#l={};updateOptions(e){fe(this.#l,e);let t={...e},n=!1;if(`sources`in e&&sn(this.#l.sources,this.#t,e=>(n=!0,rn(e))),(n||`series`in e||`tracks`in e)&&(sn(this.#l.series,this.#n,e=>(e.data.color||(e.data.color=cn[this.#c++],this.#c%=cn.length),n=!0,en({sources:this.#t,options:e}))),`tracks`in e&&(n=!0),n)){let e=[...Object.entries(this.#l.tracks??{default:{}}).filter(([,e])=>e.timeAxis!==!1).map(([e,t])=>[`tracks:${e}:timeAxis`,qt,{timeAxis:t.timeAxis},{immediate:!0}]),...Object.entries(this.#n).flatMap(([e,t])=>{let n={series:t,options:this.#l},r={zoomLevels:t.zoomLevels,chunkSize:t.chunkSize};return[[`series:${e}:chart`,Ve,n,r],[`series:${e}:instantaneous`,Ge,n,{...r,instantValue:!0,instantZoomLevel:t.options.data.instantaneous?.zoom}]]})];t.dataCacheOptions={};let n={...this.#r};for(let[r,i,a,o]of e)this.#r[r]=new i(a),delete n[r],o&&(t.dataCacheOptions[r]=o);Object.keys(n).forEach(e=>delete this.#r[e])}this.call(`options:update`,t)}resize(e){this.call(`resize`,e)}onPointerEvent(e){this.call(`pointer`,e)}async pointerStyle(e){return await this.call(`cursor`,e,{rpc:!0})}sync(e,t){t&&t===this.uid||this.call(`sync`,e)}#u(){if(!this.#i||this.#o||typeof document>`u`)return;this.#o=!0;let e=[],t=document.fonts;if(t&&typeof t.addEventListener==`function`){let n=()=>this.#f();t.addEventListener(`loadingdone`,n),t.addEventListener(`loadingerror`,n),t.addEventListener(`loading`,n),e.push(()=>{t.removeEventListener(`loadingdone`,n),t.removeEventListener(`loadingerror`,n),t.removeEventListener(`loading`,n)})}if(typeof MutationObserver<`u`){let t=new MutationObserver(e=>{for(let t of e){if(t.type===`childList`&&[...Array.from(t.addedNodes??[]),...Array.from(t.removedNodes??[])].some(e=>dn(e))){this.#f();return}if(t.type===`attributes`&&dn(t.target)){this.#f();return}}});try{let n=document.head??document.documentElement??document;t.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`rel`,`href`]}),e.push(()=>t.disconnect())}catch{t.disconnect()}}this.#a=e}#d(){if(this.#o){this.#o=!1;for(let e of this.#a)try{e()}catch{}this.#a=[],this.#s!=null&&(clearTimeout(this.#s),this.#s=null)}}#f(){this.#i&&this.#s==null&&(this.#s=setTimeout(()=>{this.#s=null,this.#p()},0))}async#p(){if(this.#i)try{let e=await Ie();this.call(`fonts`,e.length?e:void 0)}catch(e){console.error(`Failed to resolve document fonts`,e)}}invalidateSources(e){e||=Object.keys(this.#t);for(let t of e)this.#t[t]?.expireChunks();this.call(`reload`,null)}};function dn(e){return typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement?!0:typeof HTMLLinkElement<`u`&&e instanceof HTMLLinkElement?e.rel?.toLowerCase()===`stylesheet`:!1}function fn(e){let t=e.deltaY;switch(e.deltaMode){case WheelEvent.DOM_DELTA_LINE:return t*16;case WheelEvent.DOM_DELTA_PAGE:return t*window.innerHeight}return t}var pn=class extends E{#e=null;#t=null;#n=null;#r;#i;#a;#o;get time(){return this.#r.time.value?.clone()??null}set time(e){this.setTime(e)}setTime(e,t){this.#r.setTime(e,t)}get timeRange(){return this.#r.time.domain.map(e=>e==null?e:e.clone())}setTimeRange(e){this.#r.setTimeRange(e)}get zoom(){return this.#r.zoom.value.number()}set zoom(e){this.setZoom(e)}setZoom(e,t){return this.#r.setZoom(e,t)}fitTo(e,t){if(!this.#s.width)return!1;let n=typeof t?.padding==`number`?t.padding*2:Array.isArray(t?.padding)?t.padding.reduce((e,t)=>e+t):0,r=e.map(e=>D(e)),i=pe(r[1].sub(r[0]).div(this.#s.width-n).abs()),a=r[0].add(r[1]).div(2);this.setZoom(i,t?.animation===!1?!1:void 0),this.setTime(a,t?.animation===!1?!1:void 0)}get zoomRange(){return this.#r.zoom.domain.map(e=>e==null?e:e.number())}setZoomRange(e){this.#r.setZoomRange(e)}setSelection(e){if(this.#i.selection===!1)return;let t=e?.map(e=>D(e))??null;this.#t?.updateOptions({selection:{range:t}})}clearSelection(){this.setSelection(null)}get animating(){return this.#r.time.animating}get editing(){return this.#r.time.editing}#s={x:0,y:0,width:0,height:0,dpr:0};get size(){return{...this.#s}}#c=!1;set disabled(e){this.#c=e,this.#n&&(this.#n.disabled=e)}get disabled(){return this.#c}get options(){return this.#i}setOptions(e){this.#i={style:void 0,...e},this.#l(this.#i,!0)}updateOptions(e){fe(this.#i,e),this.#l(e,!1)}#l(e,t){!this.#e||!this.#t||(`style`in e&&(this.#e.style.width=e.style?.width??`100%`,this.#e.style.height=e.style?.height??`36px`,this.#e.style.background=e.style?.background??`#fff`),t?this.#t.setOptions(e):this.#t.updateOptions(e),this.#u())}#u(){if(!this.#e||!this.#t)return;let e=window.devicePixelRatio,t=this.#e.getBoundingClientRect();if(this.#s.width===t.width&&this.#s.height===t.height&&this.#s.dpr===e)return;this.#s={x:t.x,y:t.y,width:t.width,height:t.height,dpr:e};let n=this.#s.width,r=this.#s.height;this.#t.resize({size:{width:n,height:r},context:{dpr:e}})}#d(){let e=this.#r.time,t=this.#r.zoom;this.#r.on(`change`,()=>this.changed()),this.#r.on(`timechanging`,e=>this.dispatchEvent(e)),this.#r.on(`timechanged`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanging`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanged`,e=>this.dispatchEvent(e)),e.on(`sync`,e=>this.#t?.sync({time:e.value},e.origin)),t.on(`sync`,e=>this.#t?.sync({zoom:e.value},e.origin))}#f(e){if(this.#c)return;e.preventDefault();let t=fn(e);this.#r.setZoom(this.#r.zoom.committing.add(-t/this.#o))}constructor(e){super();let t=e??{};this.#r=new le(t),this.#d(),this.#i={style:void 0,...t},this.#a=t.fonts??[],t.target&&this.mount(t.target),this.#o=t.wheelSensitivity??w.wheelSensitivity}reload(e){this.#t?.invalidateSources(e)}mount(e){let t=typeof e==`string`?document.querySelector(e):e;if(!t)throw Error(`mount failed`);return(this.#e||this.#t||this.#n)&&console.warn(`Timescope: mounted twice`),this.#e?.remove(),this.#e=document.createElement(`canvas`),this.#e.style.all=`unset`,this.#e.style.display=`block`,this.#e.style.touchAction=`none`,this.#e.style.width=this.#i.style?.width??`100%`,this.#e.style.height=this.#i.style?.height??`36px`,this.#e.style.background=this.#i.style?.background??`#fff`,this.#t=new un({canvas:this.#e,fonts:this.#a}),this.#t.setOptions(this.#i),this.#r.time.restore(),this.#r.zoom.restore(),new ResizeObserver(()=>this.#u()).observe(this.#e),this.#t.on(`change`,()=>this.changed()),this.#t.on(`sync`,e=>{e.value.time&&(this.#r.time.handleSyncEvent(e.value.time),this.#r.time.dispatchEvent(new T(`sync`,e.value.time,e.origin))),e.value.zoom&&(this.#r.zoom.handleSyncEvent(e.value.zoom),this.#r.zoom.dispatchEvent(new T(`sync`,e.value.zoom,e.origin)))}),this.#t.on(`renderer:event`,e=>{typeof e.value==`object`&&e.value&&`range`in e.value&&`resizing`in e.value&&this.dispatchEvent(new T(e.value.resizing?`rangechanging`:`rangechanged`,e.value.range,e.origin))}),this.#n=new ve({element:this.#e,transform:e=>e.sub([this.#s.x,this.#s.y]),handler:e=>{this.#t?.onPointerEvent(e)},cursor:async e=>await this.#t?.pointerStyle(e)??void 0}),this.#e.addEventListener(`wheel`,this.#f.bind(this)),t.appendChild(this.#e),this}unmount(){this.#e?.remove(),this.#n?.detach(),this.#t?.dispose(),this.#t=null,this.#e=null,this.#n=null}dispose(){this.unmount()}};let mn=window;mn.Decimal=x,mn.Timescope=pn})();
1
+ (function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<y.length?y[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<b.length?b[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*ee)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(v))return{exponent:0n,remainder:v.clone()};if(e.ge(v))return m(e,t,n,r);let a=m(v.div(e,i),t,n,r);return a.remainder.eq(v)?{exponent:-a.exponent,remainder:v.clone()}:{exponent:-a.exponent-1n,remainder:v.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return S(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(v,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=x(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=x(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=x(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=x(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=x(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=x(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=x(e),r=x(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=x(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=x(e),r=x(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=x(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=x(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=te(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(te(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(v))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(v),p=f?v.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let ee=i===0?0:c;return this.round$(ee),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\x1b[33m${this.toString()}\x1b[m \x1b[90m(${this.coeff} * 10 ** ${-this.digits})\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,ee=Math.log2(10),v=new g(1n),y=[],b=[];(function(){for(let e=0;e<256;e++)b[e]=10n**BigInt(e),y[e]=5n**BigInt(e)})();function x(e){return e==null||S(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=x(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(x||={});let S=x.isDecimal;x.isDecimalLike;let te=x.pow10,C=x.minmax;x.min,x.max;function ne(e){if(typeof e==`number`&&isNaN(e)||typeof e==`number`&&!isFinite(e))return null;try{return x(e)}catch{return null}}var w={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function re(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var ie=class{uid=re(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},T=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},E=class extends ie{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}};function D(e){if(e==null||S(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return x(t/1e3)}return e instanceof Date?x(e.getTime()/1e3):x(e)}function ae(e){return e.map(D)}let oe=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),se=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var ce=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,"in-out":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=oe(a)}else this.done()};this.#e=oe(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(se(this.#e),null)}get animating(){return this.#e!==null}};function O(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var k=class extends E{#e;#t={id:void 0,value:null,nullValue:x(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new ce;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return x(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>x(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(O(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>x(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=O(x(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=O(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new T(`sync`,n)),this.dispatchEvent(new T(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new T(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=O(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t).round((e??t).digits)};this.dispatchEvent(new T(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new T(`valuechanging`,e)),this.dispatchEvent(new T(`valueanimating`,this.#t.current)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=O(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new T(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.dispatchEvent(new T(`valuechanging`,this.#t.value)),this.dispatchEvent(new T(`valuechanged`,this.#t.value)),this.changed()},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.dispatchEvent(new T(`valueanimating`,this.#t.current)),this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.dispatchEvent(new T(`valueanimating`,this.#t.current)),this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new T(`sync`,e)),this.#l(e)}},le=class extends E{time;zoom;constructor(e){super(),this.time=new k,this.zoom=new k,this.time=new k({initialValue:D(e.time??null),domain:ae(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new k({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new T(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new T(`timechanged`,e.value))),this.time.on(`valueanimating`,e=>this.dispatchEvent(new T(`timeanimating`,e.value))),this.zoom.on(`change`,()=>this.changed()),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new T(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new T(`zoomchanged`,e.value.number()))),this.zoom.on(`valueanimating`,e=>this.dispatchEvent(new T(`zoomanimating`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(D(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=ae(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(x(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(x)}};function A(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>A(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,A(n,...t)])):e}function ue(e){return function(t){let n=e.split(`,`).map(e=>e.trim()),r=t;for(let e of n){let n=e.split(`.`);r=t;for(let e=0;e<n.length&&r!=null;e++){if(typeof r!=`object`){r=null;break}r=r[n[e]]}if(r!=null)return r}return r}}function de(e){return Object.prototype.toString.call(e)===`[object Object]`}function fe(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&de(r)?((!i||typeof i!=`object`)&&(e[n]={}),fe(e[n],r)):e[n]=r}return e}let j={z:0,r:x(1)};function pe(e){return j.r.eq(e)?j.z:-e.log(w.base).number()}function me(e){return j.z===e?j.r:(j.z=e,j.r=x(w.base).pow(-e,BigInt(Math.floor(e))),j.r)}function he(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(x(e).floorBy(w.chunkStep).toFixed(2))}var ge=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},_e=class extends ge{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}},ve=class{#e=`none`;#t={};#n=[];#r;#i;#a={none:[[[`pointerdown`,1,this.#o.bind(this)],`down`,[`down`]]],down:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`drag:start`,`pinch:start`]],[[`pointermove`,1,this.#l.bind(this)],`drag`,[`drag:start`]],[[`pointerup`,0],`none`,[`click`,`up`]],[[`pointercancel`,0],`none`,[`up`]]],drag:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`pinch:start`]],[[`pointermove`,1],`drag`,[`drag:update`]],[[`pointerup`,0],`none`,[`drag:end`,`up`]],[[`pointercancel`,0],`none`,[`drag:end`,`up`]]],pinch:[[[`pointermove`,2],`pinch`,[`pinch:update`]],[[`pointerup`,1,this.#c.bind(this)],`drag`,[`pinch:end`]],[[`pointercancel`,0],`none`,[`pinch:end`,`up`]]]};get state(){return this.#e}disabled=!1;#o(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#s(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#c(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#l(){let e=this.#n.find(e=>e.pressed)||this.#n[0];return e.latest.distanceTo(e.anchor)<4?!1:(this.#n.forEach(e=>e.anchor=e.latest.clone()),!0)}#u(e){if(this.disabled)return;let t=new _e(e.clientX,e.clientY),n=this.#i(t,e)??t,r=!!(e.buttons&1),i=this.#t[e.pointerId]?.latest??n;this.#t[e.pointerId]={pointerId:e.pointerId,last:i,latest:n,delta:n.clone().sub(i),anchor:this.#t[e.pointerId]?.anchor??n,pressed:r};let a=Object.values(this.#t),o=a.filter(e=>e.pressed).length;this.#n=a.filter(t=>t.pressed||t.pointerId===e.pointerId),this.#m(e,o),this.#f(e),r||delete this.#t[e.pointerId]}#d;async#f(e){this.#r&&this.#d&&(this.#r.style.cursor=await this.#d({type:`cursor`,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})??``)}#p;#m(e,t){let[[n,r,i],a,o]=this.#a[this.#e].find(([[n,r]])=>(n===`*`||n===e.type)&&(r===void 0||r===t))??[[`*`],this.#e];i?.(e)!==!1&&(this.#e=a,o&&o.forEach(t=>this.#p({type:t,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})))}constructor(e={}){this.#i=e.transform??(e=>e),this.#p=e.handler??(async()=>void 0),this.#d=e.cursor,e.element&&this.attach(e.element)}#h;attach(e){this.#h?.abort(),this.#h=new AbortController;let t=this.#h.signal,n=e=>this.#u(e);return e.addEventListener(`pointerdown`,n,{signal:t}),window.addEventListener(`pointermove`,n,{passive:!0,signal:t}),window.addEventListener(`pointerup`,n,{passive:!0,signal:t}),window.addEventListener(`pointercancel`,n,{passive:!0,signal:t}),e.addEventListener(`touchstart`,e=>e.preventDefault(),{signal:t}),this.#r=e,this}detach(){this.#h?.abort()}};let ye=0;function be(e){return function(t,n,r={rpc:!1}){let i=++ye;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:Se(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(N(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function xe(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](N(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:Se(o)})}),t}function M(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=M(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=M(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=M(e[r],t,n);return n.delete(e),i}function Se(e,t){return M(e,t,new WeakSet)}function Ce(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function N(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(Ce(e))return x(e);if(Array.isArray(e))return e.map(N);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=N(e[n]);return t}return e}}let we=[[`font-style`,`style`],[`font-weight`,`weight`],[`font-stretch`,`stretch`],[`unicode-range`,`unicodeRange`],[`font-variant`,`variant`],[`font-feature-settings`,`featureSettings`],[`font-display`,`display`],[`ascent-override`,`ascentOverride`],[`descent-override`,`descentOverride`],[`line-gap-override`,`lineGapOverride`]];function Te(){return{visited:new Set}}function Ee(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}function De(e,t){return e.replace(/url\(([^)]+)\)/gi,(e,n)=>{let r=n.trim(),i=Ee(r);if(!i)return`url(${n})`;try{let e=new URL(i,t).toString(),n=r.startsWith(`"`)?`"`:r.startsWith(`'`)?`'`:``;return`url(${n}${e}${n})`}catch{return`url(${n})`}})}function Oe(e,t){let n=e.style.getPropertyValue(`font-family`),r=e.style.getPropertyValue(`src`),i=Ee(n);if(!i||!r)return null;let a={};for(let[t,n]of we){let r=e.style.getPropertyValue(t);r.trim()&&(a[n]=r.trim())}return{family:i,source:t?De(r,t):r,desc:a}}function ke(){if(typeof document<`u`&&document.baseURI)return document.baseURI;if(typeof location<`u`&&location.href)return location.href}function Ae(e,t){try{return t?new URL(e,t).toString():new URL(e).toString()}catch{return null}}function je(e){try{let t=e.cssRules;return Array.from(t)}catch{return null}}async function Me(e,t,n){let r=[],i=t??ke();for(let t of e){if(t.type===CSSRule.FONT_FACE_RULE){let e=Oe(t,i);e&&r.push(e);continue}if(t.type===CSSRule.IMPORT_RULE){let e=Ae(t.href,i);if(!e)continue;r.push(...await Pe(e,n))}}return r}async function Ne(e,t,n){let r=je(e);return r?await Me(r,t??e.href??ke(),n):e.href?await Pe(e.href,n,t):[]}async function Pe(e,t,n){let r=Ae(e,n);if(!r||t.visited.has(r))return[];if(t.visited.add(r),typeof fetch>`u`||typeof CSSStyleSheet>`u`)throw Error(`Failed to load CSS: ${r}`);try{let e=await fetch(r);if(!e.ok)throw Error();let n=await e.text(),i=new CSSStyleSheet;return await i.replace(n),await Ne(i,e.url,t)}catch{throw Error(`Failed to load CSS: ${r}`)}}async function Fe(e){let t=Te(),n=[];for(let r of e){if(typeof r==`string`){let e=await Pe(r,t);n.push(...e);continue}else typeof r.source==`string`&&(r.source=De(r.source,location.href));n.push(r)}return n}async function Ie(){if(typeof document>`u`||!document.styleSheets)return[];let e=Te(),t=[],n=ke();for(let r of Array.from(document.styleSheets)){let i;try{i=r}catch{continue}let a=i.href??n;try{let n=await Ne(i,a,e);t.push(...n)}catch{continue}}return t}var Le=class{options;constructor(e){this.options=e}loadMeta(e){}},Re=class extends Le{constructor(e){super(e)}async loadChunk(e){let t=await this.options.series.loadChunk(e);return await this.transform(t)}async transform(e){return e}};let ze={lines:{links:[{draw:`line`}]},"lines:filled":{links:[{draw:`area`},{draw:`line`}]},curves:{links:[{draw:`curve`}]},"curves:filled":{links:[{draw:`curve-area`},{draw:`curve`}]},"steps-start":{links:[{draw:`step-start`}]},"steps-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}]},steps:{links:[{draw:`step`}]},"steps:filled":{links:[{draw:`step-area`},{draw:`step`}]},"steps-end":{links:[{draw:`step-end`}]},"steps-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}]},points:{marks:[{draw:`circle`}]},linespoints:{links:[{draw:`line`}],marks:[{draw:`circle`}]},"linespoints:filled":{links:[{draw:`area`},{draw:`line`}],marks:[{draw:`circle`}]},curvespoints:{links:[{draw:`curve`}],marks:[{draw:`circle`}]},"curvespoints:filled":{links:[{draw:`curve-area`},{draw:`curve`}],marks:[{draw:`circle`}]},"stepspoints-start":{links:[{draw:`step-start`}],marks:[{draw:`circle`}]},"stepspoints-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}],marks:[{draw:`circle`}]},stepspoints:{links:[{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints:filled":{links:[{draw:`step-area`},{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints-end":{links:[{draw:`step-end`}],marks:[{draw:`circle`}]},"stepspoints-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}],marks:[{draw:`circle`}]},impulses:{marks:[{draw:`line`,using:[`value`,`zero`]}]},impulsespoints:{marks:[{draw:`line`,using:[`value`,`zero`]},{draw:`circle`}]},boxes:{marks:[{draw:`box`,using:[`value`,`zero`],style:{fillColor:`transparent`}}]},"boxes:filled":{marks:[{draw:`box`,using:[`value`,`zero`]}]}};function Be(e){return ze[e]??{}}var Ve=class extends Re{marks;links;constructor(e){super(e);let t=typeof e.series.options.chart==`string`?Be(e.series.options.chart):e.series.options.chart??{};this.marks=t.marks,this.links=t.links}async transform(e){let t=e.data?.map(t=>{let n={resolution:e.resolution,data:t.data??{},time:t.time,value:t.value},r=A(this.marks,n);return{...t,marks:r?.map(e=>({...e,style:A(e.style,n)??{}}))??[]}});return{...e,data:t}}async loadMeta({resolution:e}){return{links:A(this.links,{resolution:e})?.map(e=>({...e,style:A(e.style,null)??{}}))??[],color:this.options.series.color,...this.options.series.dataRange}}};function He(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function Ue(e){return e?{using:e.using??`value`,zoom:e.zoom}:{using:`value`,zoom:void 0}}function We(e){let t=({name:e,unit:t,digits:n,value:r})=>{if(r==null)return`No data`;let i=[];return e&&i.push(e),i.push(r.toFixed(n)),t&&i.push(t),i.join(` `)};return typeof e==`boolean`||!e?{format:t}:{...e,format:e.format??t}}var Ge=class extends Re{#e;#t;constructor(e){super(e),this.#e=Ue(e.series.options.data.instantaneous),this.#t=We(e.series.options.tooltip)}async transform(e){let{name:t,unit:n,digits:r}=this.options.series,i=this.#t.format,a=He(A(this.#e.using,e))[0],o=e.data?.flatMap(e=>{if(!this.#e)return[];let o=e.time[a[1]],s=e.value[a[0]];return[{time:{time:o},value:s,text:i({time:o,value:s,unit:n,digits:r,name:t})}]});return{...e,data:o}}async loadMeta(e){let t=this.options.series.color;return{...this.options.series.dataRange,color:t}}};let Ke=x(1n),qe=x(0n),P=60n,F=P*60n,I=F*24n,L=8640000000000n;function R(e,t){let n=e/t,r=e%t;return r!==0n&&r>0n!=t>0n&&(n-=1n),n}function z(e,t){return e-R(e,t)*t}function Je(e){return e>0n?e:e+1n}function Ye(e){return e>0n?e:e-1n}function B(e,t){let n=Je(e),r=t-1n,i=R(r,12n),a=r-i*12n;return{year:Ye(n+i),month:a+1n,day:1n}}function V(e,t,n){let r=B(e,t);return Xe(H(r.year,r.month,n))}function H(e,t,n){let r=Je(e),i=t,a=n;i<=2n&&(r-=1n);let o=r/400n-(r<0n?1n:0n),s=r-o*400n;i+=i>2n?-3n:9n;let c=(153n*i+2n)/5n+a-1n,l=s*365n+s/4n-s/100n+c;return o*146097n+l-719468n}function Xe(e){let t=e+719468n,n=t/146097n-(t<0n?1n:0n),r=t-n*146097n,i=(r-r/1460n+r/36524n-r/146096n)/365n,a=i+n*400n,o=r-(365n*i+i/4n-i/100n),s=(5n*o+2n)/153n,c=o-(153n*s+2n)/5n+1n,l=s+(s<10n?3n:-9n);return l<=2n&&(a+=1n),{year:Ye(a),month:l,day:c}}function Ze(e){return e>L?L:e<-L?-L:e}function Qe(e){let t=Ze(e);return-BigInt(Math.floor(new Date(Number(t)*1e3).getTimezoneOffset()))*P}function $e(e){return Qe(e)}function et(e){return Qe(e)}function tt(e){let t=H(e.year,e.month,e.day),n=e.hour*F+e.minute*P+e.second,r=t*I+n;return x(r-et(r)).add(e.subseconds)}function nt(e){let t=V(e.year,e.month,e.day),n=e.subseconds.modPositive(Ke),r=e.subseconds.sub(n).integer(),i=e.second+r;return tt({...e,...t,second:i,subseconds:n})}function rt(e){return Number(z(H(e.year,e.month,e.day)+4n,7n))}function it(e){let[t]=e.split(),n=$e(t.integer()),[r,i]=e.add(x(n)).split(),a=r.integer(),o=R(a,I),s=z(a,I),c=Xe(o),l=R(s,F),u=s-l*F,d=R(u,P),f=z(u,P);return{year:c.year,month:c.month,day:c.day,hour:l,minute:d,second:f,subseconds:i}}function U(e,t){return nt({...t(it(e)),hour:0n,minute:0n,second:0n,subseconds:qe})}function W(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>t<=e).toSorted().at(-1)??e:(t=BigInt(t),(e-n)/t*t+n):e}function G(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>e<t).toSorted().at(0):(t=BigInt(t),((e-n)/t+1n)*t+n):e}function at(e,t){return U(e,e=>({...V(e.year,e.month,W(e.day,t,1n))}))}function ot(e,t){return U(e,e=>{let n=G(e.day,t,1n);return n?V(e.year,e.month,n):B(e.year,G(e.month,1n,1n))})}function st(e,t){return U(e,e=>B(e.year,W(e.month,t,1n)))}function ct(e,t){return U(e,e=>B(e.year,G(e.month,t,1n)))}function lt(e,t){return U(e,e=>{let n=W(e.year<=0n?e.year-1n:e.year,t,0n);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function ut(e,t){return U(e,e=>{let n=G(e.year<=0n?e.year-1n:e.year,t);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function dt(e,t){let n=x(t),r=at(e,1n);return e.sub(r).floorBy(n).add(r)}function ft(e,t){return e.add(x(t))}function pt(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}let mt={s:0n,ms:3n,us:6n,ns:9n};function ht({time:e,digits:t,labeler:n}){let r={year:0n,quarter:0,month:0,day:0,hour:0,minute:0,subseconds:e.sub(e.integer()),week:0,second:e.integer(),digits:t,time:e};if(t>0){let i=e.toFixed(t).split(`.`);return n?.seconds?.(r)??i[0]+`.`+Ut(i[1])}return n?.seconds?.(r)??e.toString()}function K(e,t,n){if(t===n)return e;let r=mt[t]??0n,i=(mt[n]??0n)-r;return e.shift10(i)}function*gt(e,t,n){if(!e[0]||!e[1])return;let r=typeof n.timeFormat==`function`?n.timeFormat:void 0,i=typeof n.timeFormat==`function`?{}:n.timeFormat,a=x(w.defaultChunkSize),o=t.mul(a).log(10).round().integer(),s=x(10).pow(o,-o),c=t.mul(x(20)),l=[10n,5n,1n],u=s,d=1n;for(let e of l){let t=s.div(x(e));if(!t.lt(c)){u=t,d=e;break}}if(u.isZero())return;let f=x(d),p=x(1n),m=e[0].div(u).floor().sub(p),h=Math.max(0,-u.log(10).floor().number());for(let t=0;t<1e6;t+=1){m=m.add(p);let t=u.mul(m);if(t.ge(e[1]))break;if(t.lt(e[0]))continue;let a=m.mod(f).isZero(),o={time:t,unit:n.timeUnit??`s`,level:`relative`,digits:h,stride:void 0};yield{time:{time:t},major:a,tick:!0,text:a?r?.(o)??ht({...o,labeler:i}):``}}}function q(e){return{align:t=>dt(t,e),next:t=>ft(t,e)}}function J(e){return e=e.mul(60),{align:t=>dt(t,e),next:t=>ft(t,e)}}function Y(e){return e=e.mul(3600),{align:t=>dt(t,e),next:t=>ft(t,e)}}function X(e){return{align:t=>at(t,e),next:t=>ot(t,e)}}function Z(e){return{align:t=>st(t,e),next:t=>ct(t,e)}}function _t(e){return{align:t=>lt(t,e),next:t=>ut(t,e)}}let vt=[{ops:q,stride:1,step:1},{ops:q,stride:5,step:5},{ops:q,stride:10,step:10},{ops:q,stride:15,step:15},{ops:q,stride:30,step:30},{ops:J,stride:1,step:1},{ops:J,stride:5,step:5},{ops:J,stride:10,step:10},{ops:J,stride:15,step:15},{ops:J,stride:30,step:30},{ops:Y,stride:1,step:1},{ops:Y,stride:3,step:3},{ops:Y,stride:6,step:6},{ops:Y,stride:12,step:12},{ops:X,stride:1,step:1},{ops:X,stride:10,step:[1,10,20]},{ops:Z,stride:1,step:1},{ops:Z,stride:3,step:3}],yt=x(86400),bt=x(`2629800`),xt=x(`31557600`),St=x(60),Ct=x(20),wt=[1n,5n],Tt=[1n,5n],Et=[`subsecond`,`second`,`minute`,`hour`,`day`,`month`,`year`];function Dt(e){switch(e.ops){case q:return`second`;case J:return`minute`;case Y:return`hour`;case X:return`day`;case Z:return`month`;default:throw Error(`Unknown calendar definition`)}}function Ot(e){let{ops:t,step:n}=e;if(t===q||t===J||t===Y)return t(x(n));if(t===X||t===Z)return t(Array.isArray(n)?n.map(e=>BigInt(e)):BigInt(n));throw Error(`Unsupported definition`)}function kt(e){let t=x(BigInt(e.stride));switch(Dt(e)){case`second`:return x(e.step);case`minute`:return x(e.step).mul(60);case`hour`:return x(e.step).mul(3600);case`day`:return t.mul(yt);case`month`:return t.mul(bt);default:return x(0)}}let At=vt.map(e=>({level:Dt(e),stride:BigInt(e.stride),duration:kt(e),digits:0,create:()=>Ot(e),source:e})).sort((e,t)=>e.duration.lt(t.duration)?-1:e.duration.gt(t.duration)?1:0),jt=At.reduce((e,t)=>{let n=e.get(t.level);return n?n.push(t):e.set(t.level,[t]),e},new Map);function Mt(e){if(e.digits<=0n)return 0;let t=e.digits,n=BigInt(2**53-1);return t>n&&(t=n),Number(t)}function Nt(e,t,n){return{level:`subsecond`,stride:1n,duration:e,digits:Mt(e),create:()=>q(e),subsecondMetadata:{exponent:t,factor:n}}}function Pt(e,t,n){let r=t&&t.lt(x(1))?t:x(1),i=e.lt(x(1));if(!i&&!n)return null;let a=i?e:x(1),o;a.isPositive()?(o=a.log(10).floor().integer(),o>=0n&&(o=-1n)):o=-1n;let s=null;for(let e=o;e<0n;e+=1n){let t=x(10).pow(e,-e);for(let n of wt){let i=t.mul(x(n));if(i.lt(r)){if(a.isZero()||!i.lt(a))return Nt(i,e,n);(!s||s.step.lt(i))&&(s={step:i,exponent:e,factor:n})}}}return n&&s?Nt(s.step,s.exponent,s.factor):null}function Ft(e){let t=e.isPositive()?e:x(0);for(let e of At)if(t.isZero()||!e.duration.lt(t))return e;return null}function It(e,t,n,r){let i=jt.get(e);if(!i)return null;let a=t.isPositive()?t:x(0),o=null;for(let e of i){if(n&&!e.duration.lt(n))break;if(a.isZero()||!e.duration.lt(a))return e;o=e}return r&&o?o:null}function Lt(e){if(e<=0n)return 1n;let t=1n,n=10n,r=e;for(;r>0n;)(r&1n)==1n&&(t*=n),n*=n,r>>=1n;return t}function Rt(e){return{level:`year`,stride:e,duration:x(e).mul(xt),digits:0,create:()=>_t(e),yearStride:e}}function zt(e){let t=e.isPositive()?e:x(0);if(t.isZero())return Rt(1n);let n=t.div(xt).log(10).floor().integer();n<0n&&(n=0n);for(let e=n;;e+=1n){let n=Lt(e);for(let e of Tt){let r=Rt(n*e);if(!r.duration.lt(t))return r}}}function Bt(e){return Et.indexOf(e)}function Vt(e,t){let n=Bt(e.level);if(n<=0)return null;let r=Et[n-1],i=e.duration;if(e.level===`year`){for(let n of[5n,4n,2n]){if(e.stride%n!==0n)continue;let r=e.stride/n;if(r<=0n)continue;let i=Rt(r);if(!i.duration.lt(t)&&i.duration.lt(e.duration))return i}let n=zt(t);return n.duration.lt(e.duration)?n:null}if(e.level===`subsecond`){let n=Pt(t,e.duration,!0);return n&&n.duration.lt(e.duration)?n:null}let a=e.level,o=jt.get(a)??[];for(let n=o.length-1;n>=0;--n){let r=o[n];if(r.duration.lt(e.duration)&&!r.duration.lt(t))return r}if(r===`subsecond`){let n=Pt(t,i,!0);return n&&n.duration.lt(e.duration)?n:null}return r===`year`?null:It(r,t,i,!0)}function Ht(e){if(!e||!e.isPositive())return null;let t=e.mul(St),n=e.mul(Ct),r=Pt(t,null,!1);if(r||=Ft(t),r||=zt(t),!r)return null;let i=Vt(r,n);return{level:r.level,major:r.create(),minor:i?i.create():null,digits:r.digits,stride:r.stride}}function Ut(e){return e.replace(/[0-9]/g,e=>String.fromCodePoint(e.charCodeAt(0)-48+8320))}function Wt(e){let{time:t,unit:n}=e,r=e,{year:i,month:a,day:o,hour:s,minute:c,second:l,subseconds:u}=it(K(t,n,`s`)),d=rt({year:i,month:a,day:o}),f=Math.floor((Number(a)-1)/3)+1,p=(e,t)=>e.toString().padStart(t,`0`),m=e=>p(e,2),h=e.labeler??{},g={year:i,quarter:f,month:Number(a),day:Number(o),hour:Number(s),minute:Number(c),second:l,subseconds:u,week:d,digits:r.digits,time:t},_=h.year??(()=>i>0n?i.toString():` ${(1n-i).toString()} BC`),ee=h.quarter??(()=>f===1?`${_(g)} Q${f}`:`Q${f}`),v=h.month??(()=>`${_(g)}/${m(a)}`),y=h.date??(()=>`${m(a)}/${m(o)}(${[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`][d]})`),b=h?.minutes??(()=>`${m(s)}:${m(c)}`),x=r.digits>0?`.`+Ut(u.toFixed(r.digits).split(`.`)[1]):``,S=h.seconds??(()=>`${m(s)}:${m(c)}:${m(l)}${x}`);switch(r.level){case`subsecond`:case`second`:return s===0n&&c===0n&&l===0n&&u.eq(0)?y(g):S(g);case`minute`:case`hour`:return s===0n&&c===0n?y(g):b(g);case`day`:return y(g);case`month`:return r.stride===3n?ee(g):v(g);case`year`:default:return _(g)}}function Gt(e,t,n){if(!e)return null;let r=e.next(t);return!r||r.le(t)||r.ge(n)?null:r}function*Kt(e,t,n){if(!e[0]||!e[1])return;let r=n.timeUnit??`s`,i=K(e[0],r,`s`),a=K(e[1],r,`s`);if(a.le(i))return;t=K(t,r,`s`);let o=Ht(t);if(!o)return;let s=typeof n.timeFormat==`function`?n.timeFormat:void 0,c=o.major.align(i),l=o.minor?.align(i)??null;for(;c||l;){if(c!=null&&(l==null||c.le(l))&&c){if(i.le(c)){let e=K(c,`s`,r);yield{time:{time:e},major:!0,tick:!0,text:s?.({time:e,unit:r,...o})??Wt({time:e,unit:r,...o,labeler:typeof n.timeFormat==`function`?void 0:n.timeFormat})}}l&&l.eq(c)&&(l=Gt(o.minor,l,a)),c=Gt(o.major,c,a);continue}l&&=(i.le(l)&&(yield{time:{time:K(l,`s`,r)},major:!1,tick:!0,text:``}),Gt(o.minor,l,a))}}var qt=class extends Le{constructor(e){e={...e,timeAxis:pt(e.timeAxis,{timeUnit:`s`})},super(e)}async loadChunk(e){let t=[...this.options.timeAxis.relative?gt(e.range,e.resolution,this.options.timeAxis):Kt(e.range,e.resolution,this.options.timeAxis)].map(e=>({...e,time:{time:e.time.time,_minTime:e.time.time,_maxTime:e.time.time}}));return{...e,data:t}}},Jt=class{#e;#t;constructor(e){let{maxSize:t}=e;if(!(typeof t==`number`&&Number.isFinite(t)&&t>0))throw TypeError("`maxSize` must be a number greater than 0");this.#e=Math.floor(t),this.#t=new Map}get size(){return this.#t.size}get maxSize(){return this.#e}get(e){if(!this.#t.has(e))return;let t=this.#t.get(e);return this.#t.delete(e),this.#t.set(e,t),t}set(e,t){if(this.#t.has(e)&&this.#t.delete(e),this.#t.set(e,t),this.#t.size>this.#e){let e=this.#t.keys().next().value;e!==void 0&&this.#t.delete(e)}return this}has(e){return this.#t.has(e)}delete(e){return this.#t.delete(e)}clear(){this.#t.clear()}*keys(){let e=Array.from(this.#t.keys());for(let t=e.length-1;t>=0;t--)yield e[t]}*values(){for(let[,e]of this)yield e}*entries(){yield*this[Symbol.iterator]()}*[Symbol.iterator](){let e=Array.from(this.#t.entries());for(let t=e.length-1;t>=0;t--)yield e[t]}};function Yt(e,t,n=w.defaultChunkSize){let r=me(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function Xt(e){return!!(S(e)||typeof e==`number`||typeof e==`string`||typeof e==`bigint`)}function Zt(e){return e==null?{shrink:!0,expand:!0,default:[x(0),void 0]}:Array.isArray(e)?{shrink:!0,expand:!0,default:e.map(x)}:typeof e==`number`||Xt(e)?{shrink:!0,expand:!0,default:[x(0),x(e)]}:e.default!=null&&!Array.isArray(e.default)?{shrink:e.shrink??!0,expand:e.expand??!0,default:[x(0),x(e.default)]}:{shrink:e.shrink??!0,expand:e.expand??!0,default:(e.default??[0,void 0]).map(x)}}function Qt(e,t){return e._minTime?.le(t[1])&&t[0]?.le(e._maxTime)}var $t=class{#e;#t;#n;#r=new Jt({maxSize:256});#i={};#a;constructor(e){this.#e=e.options,this.#t=e.sources,this.#a=e.options.data.color,this.#n=Zt(e.options.data.range)}get name(){return this.#e.data.name??``}get digits(){return this.#e.data.digits??1}get unit(){return this.#e.data.unit??``}get zoomLevels(){return this.#t[this.#e.data.source].zoomLevels}get chunkSize(){return this.#t[this.#e.data.source].chunkSize}get options(){return this.#e}async loadChunk(e){let t=await this.#t[this.#e.data.source].loadChunk(e),n=this.#e.data.parser?.(t.data)??t.data;if(!Array.isArray(n))throw Error(`Invalid data from the source after parsed.`);let r=Object.fromEntries((Array.isArray(this.#e.data.time)?this.#e.data.time.map(e=>[e,e]):Object.entries(typeof this.#e.data.time==`string`||this.#e.data.time==null?{time:this.#e.data.time??`time`}:this.#e.data.time)).map(([e,t])=>[e,typeof t==`function`?t:ue(t)])),i=Object.fromEntries((Array.isArray(this.#e.data.value)?this.#e.data.value.map(e=>[e,e]):Object.entries(typeof this.#e.data.value==`string`||this.#e.data.value==null?{value:this.#e.data.value??`value`}:this.#e.data.value)).map(([e,t])=>[e,typeof t==`function`?t:ue(t)])),a=n.map(e=>{let t=Object.fromEntries(Object.entries(r).map(([t,n])=>[t,D(n(e))])),n=Object.fromEntries(Object.entries(i).map(([t,n])=>[t,ne(n(e))]).filter(([,e])=>e!==void 0)),[a,o]=C(...Object.values(t));return t._minTime=a,t._maxTime=o,{time:t,value:n,data:e}});return this.#r.set(t.id,a),{...t,data:a}}updateDataRange(e,t){t=he(t,this.zoomLevels);let[n,r]=C(...Yt(e,t,this.chunkSize).flatMap(({id:t})=>{let n=this.#r.get(t);return n?n.flatMap(t=>Qt(t.time,e)?C(...Object.values(t.value)):[]):[]}));n==null||r==null||(this.#i={min:this.#n.default[0]==null?n:this.#n.expand?x.min(n,this.#n.default[0],...this.#n.shrink?[]:[this.#i.min]):this.#n.default[0],max:this.#n.default[1]==null?r:this.#n.expand?x.max(r,this.#n.default[1],...this.#n.shrink?[]:[this.#i.max]):this.#n.default[1]})}get color(){return this.#a}get dataRange(){let e=x.max(this.#i.min?.abs(),this.#i?.max?.abs());return{...this.#i,amp:e}}};function en(e){return new $t(e)}var tn=class extends E{#e=`initial`;#t;#n;#r;#i;#a;#o;#s;get id(){return this.#o}get seq(){return this.#s}get range(){return this.#t}get resolution(){return this.#n}get zoom(){return this.#r}get state(){return this.#e}get expired(){return this.#e!==`loaded`&&this.#e!==`error`||this.#c<=Date.now()}#c=0;get expires(){return this.#c}setExpires(e){this.#c=e}invalidate(){this.#c=0}constructor(e){super(),this.#o=e.id,this.#s=e.seq,this.#t=e.range,this.#n=e.resolution,this.#r=e.zoom,this.#i=e.loader}reload(){return this.load(!0)}async load(e=!1){if(this.#a&&(this.#e===`loading`||!e&&!this.expired))return await this.#a;this.#e=`loading`,this.#c=1/0;try{let e={id:this.#o,seq:this.#s,expires:1/0,range:this.#t.map(e=>e?.clone()),zoom:this.#r,resolution:this.#n.clone()};return this.#a=this.#i(e,{expiresAt:t=>e.expires=t,expiresIn:t=>e.expires=t+Date.now()}).then(t=>(this.#e=`loaded`,this.#c=e.expires??1/0,this.changed(),t||null)),await this.#a}catch(e){return console.error(e),this.#e=`error`,this.changed(),null}}};function nn(e){return async(t,n)=>{let r=await e(t,n);return r instanceof Response?await r.json():r}}var Q=class extends E{#e=new Jt({maxSize:1e3});zoomLevels;chunkSize;loader;constructor(e){if(super(),this.chunkSize=e.chunkSize||w.defaultChunkSize,this.zoomLevels=e.zoomLevels,`loader`in e)this.loader=nn(e.loader);else if(`data`in e)this.zoomLevels=[0],this.chunkSize=0,this.loader=async()=>e.data;else if(`url`in e)e.url.match(/{[a-zA-Z]+}/)?this.loader=nn(async t=>{let n=e.url.replace(/{[a-zA-Z]+}/g,e=>{switch(e.substring(1,e.length-1)){case`z`:case`zoom`:return t.zoom.toString();case`r`:case`resolution`:return t.resolution.rescale().toString();case`s`:case`start`:return t.range[0].rescale().toString();case`e`:case`end`:return t.range[1].rescale().toString();default:return console.warn(`Unknown template string is found in the URL: `+e),e}});return await fetch(n)}):(this.zoomLevels=[0],this.chunkSize=0,this.loader=nn(()=>fetch(e.url)));else throw Error(`No source`)}async loadChunk({id:e,seq:t,range:n,resolution:r,zoom:i}){let a=this.#t(e,t,n,r,i),o=await a.load()??void 0;return{id:e,seq:t,expires:a.expires,range:n,resolution:r,zoom:i,data:o}}#t(e,t,n,r,i){let a=this.#e.get(e);return a||(a=new tn({id:e,seq:t,loader:this.loader,range:n,resolution:r,zoom:i}),this.#e.set(e,a)),a}async loadData(e,t){t=he(t,this.zoomLevels);let n=Yt(e,t,this.chunkSize);return await Promise.all(n.map(e=>this.loadChunk(e)))}async expireChunks(e){for(let t of this.#e.values())(!e||!t.range[1]||t.range[1].gt(e[0])||!t.range[0]||t.range[0].lt(e[1]))&&t.invalidate();this.changed()}};function rn(e){return typeof e==`string`?new Q({url:e}):typeof e==`function`?new Q({loader:e}):e instanceof Q?e:typeof e==`object`&&e&&[`url`,`loader`,`data`].some(t=>t in e)?new Q(e):new Q({data:e})}function an(e={}){let t=URL.createObjectURL(new Blob([`URL.revokeObjectURL(self.location.href);`,"(function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<b.length?b[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<x.length?x[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*v)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(y))return{exponent:0n,remainder:y.clone()};if(e.ge(y))return m(e,t,n,r);let a=m(y.div(e,i),t,n,r);return a.remainder.eq(y)?{exponent:-a.exponent,remainder:y.clone()}:{exponent:-a.exponent-1n,remainder:y.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return C(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(y,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=S(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=S(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=S(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=S(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=S(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=S(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=S(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=w(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(w(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(y))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(y),p=f?y.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let v=i===0?0:c;return this.round$(v),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\\x1b[33m${this.toString()}\\x1b[m \\x1b[90m(${this.coeff} * 10 ** ${-this.digits})\\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,v=Math.log2(10),y=new g(1n),b=[],x=[];(function(){for(let e=0;e<256;e++)x[e]=10n**BigInt(e),b[e]=5n**BigInt(e)})();function S(e){return e==null||C(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=S(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(S||={});let C=S.isDecimal;S.isDecimalLike;let w=S.pow10;S.minmax,S.min,S.max;let ee=0;function te(e){return function(t,n,r={rpc:!1}){let i=++ee;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:re(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(E(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function ne(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](E(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:re(o)})}),t}function T(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=T(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=T(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=T(e[r],t,n);return n.delete(e),i}function re(e,t){return T(e,t,new WeakSet)}function ie(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function E(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(ie(e))return S(e);if(Array.isArray(e))return e.map(E);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=E(e[n]);return t}return e}}function ae(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>ae(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,ae(n,...t)])):e}function oe(e){return Object.prototype.toString.call(e)===`[object Object]`}function D(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&oe(r)?((!i||typeof i!=`object`)&&(e[n]={}),D(e[n],r)):e[n]=r}return e}var O={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function se(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var ce=class{uid=se(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},k=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},A=class extends ce{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}},j=class extends A{constructor(){super()}updateOptions(e){}render(e){}preRender(e){}postRender(e){}onPointerEvent(e,t){}pointerStyle(e,t){}};function le(e,t,n){if(!t)return;let{height:r}=e.size,i=e.ctx,[a,o]=e.timeAxis.p(t);i.fillStyle=n,i.fillRect(a,0,o-a,r)}function ue(e,t,n){if(!t)return;let{width:r,height:i}=e.size,a=e.ctx,[o,s]=e.timeAxis.p(t);a.fillStyle=n,0<o&&a.fillRect(0,0,Math.min(o,r),i),s<r&&a.fillRect(s,0,r-s,i)}function de(e){let t=e.ctx,n=e.size.height,r=Math.round(e.timeAxis.cursor.p);t.fillStyle=`white`,t.strokeStyle=`red`,t.lineWidth=1,t.fillRect(r-1,0,3,n),t.beginPath(),t.moveTo(r+.5,0),t.lineTo(r+.5,n),t.stroke()}function M(e,t,n){let r=e.ctx,i=e.dpr,a={width:r.canvas.width/i,height:r.canvas.height/i};r.save(),t?(r.translate(0,t.oy),a.height=t.height,e.renderingTrack=t):e.renderingTrack=null,e.chart.ox=e.options.padding[3]??0,e.chart.oy=e.options.padding[0]??0,e.chart.width=a.width-e.chart.ox-e.options.padding[1],e.chart.height=a.height-e.chart.oy-e.options.padding[2],e.size.width=a.width,e.size.height=a.height,r.beginPath(),r.rect(0,0,e.size.width,e.size.height),r.clip(),n(e),r.restore()}function N(e,t){e.tracks.forEach(n=>M(e,n,()=>t(n.id,n)))}function P(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}function F(e,t,n=O.clickTolerance){return e&&e-n<=t&&t<=e+n}var fe=class extends j{#e=null;#t=`rgba(0, 0, 255, 0.2)`;#n=!1;#r=!1;#i=!0;#a=S(0n);#o=8;constructor(){super(),this.on(`change`,()=>{this.dispatchEvent(new k(`renderer:event`,{range:this.#e,resizing:this.#r}))})}updateOptions(e){let t=e.selection;t!==void 0&&(t===!1?(this.#i=!1,this.#e=null):t===!0?this.#i=!0:(t.resizable!==void 0&&(this.#i=t.resizable),t.color!==void 0&&(this.#t=t.color),t.invert!==void 0&&(this.#n=t.invert),t.range!==void 0&&(this.#e=t.range)),this.changed())}#s({shiftKey:e,buttons:t},n){if(!this.#i)return!1;let r=t[0].latest.x;if(e){let e=n.timeAxis.t(r);return this.#r=!0,this.#a=e,this.#e=[e,e],this.changed(),!0}if(!this.#e)return!1;let i=n.timeAxis.p(this.#e);if(F(i[0],r,this.#o)){let e=this.#e[1];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}else if(F(i[1],r,this.#o)){let e=this.#e[0];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}return!1}#c({buttons:e},t){if(!this.#i||!this.#r)return!1;let n=t.timeAxis.t(e[0].latest.x),r=this.#a;return this.#e=n.lt(r)?[n,r]:[r,n],this.changed(),!0}#l(e,t){if(!this.#i||!this.#r||!this.#e)return!1;this.#r=!1;let n=t.timeAxis.p(this.#e[0]),r=t.timeAxis.p(this.#e[1]);return Math.abs(n-r)<this.#o&&(this.#e=null),this.changed(),!0}onPointerEvent(e,t){if(this.#i)switch(e.type){case`down`:return this.#s(e,t);case`drag:update`:return this.#c(e,t);case`up`:return this.#l(e,t)}}pointerStyle(e,t){if(!this.#e||!this.#i)return;let n=t.timeAxis.p(this.#e);if(this.#r&&F(n[0],n[1],this.#o))return`not-allowed`;if(F(n[0],e.buttons[0].latest.x,this.#o))return`w-resize`;if(F(n[1],e.buttons[0].latest.x,this.#o))return`e-resize`}render(e){M(e,null,()=>{this.#n?ue(e,this.#e,this.#t):le(e,this.#e,this.#t)})}};function pe(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function I(e,t,n){let{min:r,max:i,amp:a}=n;if(t){let e=r&&r.isPositive()&&r?.log(10),t=i&&i.isPositive()&&i?.log(10);if(!e||!t||t.eq(e))return null;let n=t.sub(e);return t=>{if(!t)return null;if(!t.isZero()&&!t.isNegative())return t.log(10).sub(e).div(n).number()}}else return!a||!r||!i||a.eq(0)||r.eq(i)?null:e?e=>e?.div(a).number():e=>e?.sub(r).div(i.sub(r)).number()}let me=[`link:fill`,`link:stroke`,`marks`];function L(e,t,n){let r=typeof n.lineWidth==`number`&&isFinite(n.lineWidth)?n.lineWidth:1,i=Math.max(.75,r/2),a=new Path2D;a.arc(t.x,t.y,i,0,Math.PI*2),e.addPath(a)}function R(e,t,n,r){if(isNaN(t.y)||isNaN(n.y))return;let i=typeof r.lineWidth==`number`&&isFinite(r.lineWidth)?r.lineWidth:1,a=Math.max(1,i)/2;e.moveTo(t.x-a,t.y),e.lineTo(t.x+a,t.y),e.lineTo(n.x+a,n.y),e.lineTo(n.x-a,n.y),e.closePath()}function he(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=null,o=0,s=()=>{o===1&&a&&L(r,a,n),a=null,o=0};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){s();continue}o===0?(r.moveTo(e,n),a={x:e,y:n}):r.lineTo(e,n),o++}return s(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function z(e,t){if(!t.length)return;if(t.length===1){e.moveTo(t[0].x,t[0].y);return}if(t.length===2){e.moveTo(t[0].x,t[0].y),e.lineTo(t[1].x,t[1].y);return}let n=t.length,r=Array(n-1),i=Array(n-1);for(let e=0;e<n-1;e++)r[e]=t[e+1].x-t[e].x,i[e]=r[e]===0?0:(t[e+1].y-t[e].y)/r[e];let a=Array(n);a[0]=i[0];for(let e=1;e<n-1;e++)a[e]=(i[e-1]+i[e])/2;a[n-1]=i[n-2];for(let e=0;e<n-1;e++){if(i[e]===0||!isFinite(i[e])){a[e]=0,a[e+1]=0;continue}if(a[e]===0&&a[e+1]===0)continue;if(a[e]*i[e]<0||a[e+1]*i[e]<0){a[e]=0,a[e+1]=0;continue}let t=a[e]/i[e],n=a[e+1]/i[e],r=t*t+n*n;if(r>9){let o=3/Math.sqrt(r);a[e]=o*t*i[e],a[e+1]=o*n*i[e]}}e.moveTo(t[0].x,t[0].y);for(let i=0;i<n-1;i++){let n=r[i],o=t[i],s=t[i+1],c=o.x+n/3,l=o.y+a[i]*n/3,u=s.x-n/3,d=s.y-a[i+1]*n/3;e.bezierCurveTo(c,l,u,d,s.x,s.y)}}function ge(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=[],o=()=>{if(a.length){if(a.length===1){L(r,a[0],n),a=[];return}z(r,a),a=[]}};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){o();continue}a.push({x:e,y:n})}return o(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function _e(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&(isNaN(a[o].y1)||isNaN(a[o].y2));)o++;if(o>=a.length)break;let e=[];for(;o<a.length&&!isNaN(a[o].y1)&&!isNaN(a[o].y2);)e.push(a[o]),o++;if(e.length===1){R(r,{x:e[0].x1,y:e[0].y1},{x:e[0].x2,y:e[0].y2},n);continue}z(r,e.map(e=>({x:e.x1,y:e.y1})));let t=e[e.length-1];r.lineTo(t.x2,t.y2);for(let t=e.length-2;t>=0;t--)r.lineTo(e[t].x2,e[t].y2);r.closePath()}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function ve(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&isNaN(a[o].y1);)o++;if(o>=a.length)break;let e=o;for(r.moveTo(a[e].x1,a[e].y1);o<a.length&&!isNaN(a[o].y1);)r.lineTo(a[o].x1,a[o].y1),o++;let t=o--,i=!1;for(;o>=e&&!isNaN(a[o].y2);)r.lineTo(a[o].x2,a[o].y2),o--,i=!0;!i&&!isNaN(a[e].y2)&&(r.lineTo(a[e].x2,a[e].y2),i=!0),r.lineTo(a[e].x1,a[e].y1),t-e===1&&i&&R(r,{x:a[e].x1,y:a[e].y1},{x:a[e].x2,y:a[e].y2},n),o=t}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function B(e,t=`value@time`){return function(n,r,i){let a=new Path2D,o=K(r??t),s=n.map(o);for(let t of s){let n=t.x2-t.x1,r=t.y2-t.y1,o=Math.hypot(n,r),s=Math.atan2(r,n)*180/Math.PI,c=new Path2D;e(c,{style:i,dx:n,dy:r,l:o});let l=new DOMMatrix().translate(t.x1,t.y1).rotate(s).translate(i.offset?.[0]??0,i.offset?.[1]??0).rotate(i.angle??0);a.addPath(c,l)}return{path:a,strokeStyle:i.lineColor??i.color??`black`,fillStyle:G(i.fillColor??i.color??`black`,i.fillOpacity??.25,`white`)}}}function V(e,t){let n=K(t??`value@time`);return{path:e.map(n).map(({x1:e,y1:t})=>({x:e,y:t}))}}let ye={line:{defaultUsing:`value@time`,predicate:e=>!isNaN(e.y1),hasBottom:!1},area:{defaultUsing:[`value@time`,`zero@time`],predicate:e=>!isNaN(e.y1)&&!isNaN(e.y2),hasBottom:!0}};function be(e,t,n){if(n===`start`)return[{x:t.x,y:e.y},{x:t.x,y:t.y}];if(n===`end`)return[{x:e.x,y:t.y},{x:t.x,y:t.y}];let r=(e.x+t.x)/2;return[{x:r,y:e.y},{x:r,y:t.y},{x:t.x,y:t.y}]}function H(e,t,n){let r=[],i=null;for(let a of e){let e=t(a);if(isNaN(e.y)){i=null;continue}i?r.push(...be(i,e,n)):r.push(e),i=e}return r}function U(e,t){let n=ye[t];return function(r,i,a){let o=K(i??n.defaultUsing),s=r.map(o),c=[],l=xe(s,e,n,a,c);if(t===`line`)for(let e of c)L(l,e,a);return{path:l,strokeStyle:a.lineColor??a.color??`black`,fillStyle:G(a.fillColor??a.color??`black`,a.fillOpacity??.25,`transparent`)}}}function xe(e,t,n,r,i=[]){let a=new Path2D,o=0;for(;o<e.length;){for(;o<e.length&&!n.predicate(e[o]);)o++;if(o>=e.length)break;let s=o,c=[];for(;o<e.length&&n.predicate(e[o]);)c.push(e[o]),o++;let l=o;if(!c.length)continue;let u=Se(c,t,{left:s>0?e[s-1]:null,right:l<e.length?e[l]:null}),d=H(u,e=>({x:e.x1,y:e.y1}),t);if(!d.length)continue;let f=d.length===1,p=[];if(n.hasBottom){if(p=H(u,e=>({x:e.x2,y:e.y2}),t),!p.length)continue;if(f&&p.length===1){R(a,d[0],p[0],r);continue}}a.moveTo(d[0].x,d[0].y);for(let e=1;e<d.length;e++)a.lineTo(d[e].x,d[e].y);if(!n.hasBottom){f&&i.push(d[0]);continue}for(let e=p.length-1;e>=0;e--)a.lineTo(p[e].x,p[e].y);a.lineTo(d[0].x,d[0].y)}return a}function Se(e,t,n){let r=e.map(e=>({...e}));return r.length?(Ce(r,t,n.left),we(r,t,n.right),r):r}function Ce(e,t,n){if(!n)return;let r=Te(t,n.x1,e[0].x1);r==null||r===e[0].x1||e.unshift(W(e[0],r))}function we(e,t,n){if(!n)return;let r=e[e.length-1],i=Ee(t,n.x1,r.x1);i==null||i===r.x1||e.push(W(r,i))}function Te(e,t,n){if(t==null||isNaN(t)||e===`start`)return null;if(e===`end`)return t;let r=(t+n)/2;return isNaN(r)?null:r}function Ee(e,t,n){if(t==null||isNaN(t)||e===`end`)return null;if(e===`start`)return t;let r=(n+t)/2;return isNaN(r)?null:r}function W(e,t){return{x1:t,y1:e.y1,x2:t,y2:e.y2}}function G(e,t,n=`transparent`){return`color-mix(in srgb, ${e} ${t*100}%, ${n})`}function K(e){let[[t,n],[r,i]]=pe(e);return function(e){return{x1:e.x[n],y1:e.y[t],x2:e.x[i],y2:e.y[r]}}}function De(e){return(typeof e==`number`||e==null)&&(e=[e??0]),{t:e[0],r:e[1]??e[0],b:e[2]??e[0],l:e[3]??e[1]??e[0]}}let Oe={\"link:line\":[he,{stroke:!0}],\"link:curve\":[ge,{stroke:!0}],\"link:area\":[ve,{fill:!0}],\"link:curve-area\":[_e,{fill:!0}],\"link:step-area-start\":[U(`start`,`area`),{fill:!0}],\"link:step-area\":[U(`mid`,`area`),{fill:!0}],\"link:step-area-end\":[U(`end`,`area`),{fill:!0}],\"link:step-start\":[U(`start`,`line`),{stroke:!0}],\"link:step\":[U(`mid`,`line`),{stroke:!0}],\"link:step-end\":[U(`end`,`line`),{stroke:!0}],\"mark:circle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(n,0),e.arc(0,0,n,0,Math.PI*2)}),{stroke:!0,fill:!0}],\"mark:minus\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(-n,0),e.lineTo(n,0)}),{stroke:!0,fill:!1}],\"mark:triangle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(0,-n),e.lineTo(+n*Math.sqrt(3)/2,n/2),e.lineTo(-n*Math.sqrt(3)/2,n/2),e.closePath()}),{stroke:!0,fill:!0}],\"mark:square\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.rect(-t/2,-t/2,t,t)}),{stroke:!0,fill:!0}],\"mark:diamond\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(0,-t/2),e.lineTo(t/2,0),e.lineTo(0,t/2),e.lineTo(-t/2,0),e.closePath()}),{stroke:!0,fill:!0}],\"mark:star\":[B((e,{style:{size:t}})=>{t??=5;let n=t/2,r=n*.4;for(let t=0;t<10;t++){let i=t%2==0?n:r,a=Math.PI/5*t-Math.PI/2,o=i*Math.cos(a),s=i*Math.sin(a);t===0?e.moveTo(o,s):e.lineTo(o,s)}e.closePath()}),{stroke:!0,fill:!0}],\"mark:plus\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(-t/2,0),e.lineTo(t/2,0),e.moveTo(0,-t/2),e.lineTo(0,t/2)}),{stroke:!0}],\"mark:cross\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.moveTo(-t/2,-t/2),e.lineTo(t/2,t/2),e.moveTo(-t/2,t/2),e.lineTo(t/2,-t/2)}),{stroke:!0}],\"mark:path\":[B((e,{style:{path:t,size:n,scale:r,origin:i}})=>{let a=new DOMMatrix().scale(r??1).scale(n??5).translate(-(i?.[0]??0),-(i?.[1]??0));e.addPath(new Path2D(t),a)}),{stroke:!0,fill:!0}],\"mark:line\":[B((e,{l:t})=>{e.moveTo(0,0),e.lineTo(t,0)},[`min`,`max`]),{stroke:!0}],\"mark:box\":[B((e,{l:t,style:{size:n,radius:r,padding:i}})=>{n??=5;let a=De(i),o=-a.l,s=-(a.t+n/2),c=a.l+t+a.r,l=a.t+n+a.b;r&&r>0?e.roundRect(o,s,c,l,r):e.rect(o,s,c,l)},[`min`,`max`]),{stroke:!0,fill:!0}],\"mark:section\":[B((e,{l:t,style:{size:n}})=>{n??=5,e.moveTo(0,-n/2),e.lineTo(0,n/2),e.moveTo(0,0),e.lineTo(t,0),e.moveTo(t,-n/2),e.lineTo(t,n/2)},[`min`,`max`]),{stroke:!0}],\"mark:icon\":[V,{fill:!0}],\"mark:text\":[V,{fill:!0}]};var ke=class extends j{updateOptions(e){super.updateOptions(e)}#e=S(0);#t={};render(e){super.render(e),this.#n(e),this.#r(e)}#n(e){let t=this.#e.neq(e.timeAxis.current.resolution);if(this.#e=e.timeAxis.current.resolution.clone(),e.options.series)for(let n in e.options.series){let r=e.options.series[n],i=r.track??e.tracks[0].id,a=e.tracks.find(e=>e.id===i),{data:o,meta:s,revision:c}=e.dataCaches[`series:${n}:chart`];if(this.#t[n]&&!t&&this.#t[n].revision===c&&this.#t[n].trackId===i)continue;this.#t[n]={time:e.timeAxis.current.range[0],trackId:i,revision:c,linkOps:[],markOps:[]};let l=s.color,u=[],d=I(a.symmetric,r.data.scale===`log`,s);if(d){for(let e=0;e<o.length;e++){let t=o[e].time,r=o[e].value,i={x:{},y:{zero:a.y(0)}};for(let e in t)i.x[e]=t[e].sub(this.#t[n].time).div(this.#e,3).number();for(let e in r)i.y[e]=a.y(d(r[e]));u.push(i);for(let t of o[e].marks){if(!t)continue;let e={color:l,...t.style??{}},[r,a]=Oe[`mark:${t.draw}`],{path:o,strokeStyle:s,fillStyle:c,postFillStyle:u}=r?.([i],t.using,e)??{};this.#t[n].markOps||(this.#t[n].markOps=[]),this.#t[n].markOps.push({type:`mark`,draw:t.draw,time:this.#t[n].time,path:o,style:{...e,strokeStyle:s,fillStyle:c,postFillStyle:u,...a}})}}for(let e of s.links??[]){if(!e)continue;let t={color:l,...e.style??{}},[r,i]=Oe[`link:${e.draw}`],{path:a,strokeStyle:o,fillStyle:s}=r?.(u,e.using,t)??{};this.#t[n].linkOps||(this.#t[n].linkOps=[]),this.#t[n].linkOps.push({type:`link`,draw:e.draw,time:this.#t[n].time,path:a,style:{...t,strokeStyle:o,fillStyle:s,...i}})}}}}#r(e){if(!e.options.series)return;let t={};for(let n in this.#t){let r=this.#t[n];t[r.trackId]||(t[r.trackId]={});let i=r.time.sub(e.timeAxis.current.time??e.timeAxis.now).div(this.#e,3).number()+e.timeAxis.axisLength[0];for(let e of r.linkOps){let n=e.draw.includes(`area`)?`link:fill`:`link:stroke`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}for(let e of r.markOps){let n=`marks`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}}for(let n of e.tracks)M(e,n,()=>{let r=e.ctx;for(let i of me){if(!t?.[n.id]?.[i])continue;let a=t[n.id][i];for(let t of a)r.save(),r.translate(t.ox,t.oy),t.path instanceof Path2D?Ae(e,t.path,t.style):t.path&&(Me(e,t.path,t.style),je(e,t.path,t.style)),r.restore()}})}};function Ae({ctx:e},t,n){!t||!(t instanceof Path2D)||(n.fill&&!n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)),n.stroke&&n.strokeStyle&&(n.lineWidth??1)>0&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.strokeStyle,e.lineWidth=n.lineWidth??1,n.lineDashArray&&(e.setLineDash(n.lineDashArray),e.lineDashOffset=n.lineDashOffset??0),e.stroke(t)),n.fill&&n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)))}function je({ctx:e},t,n){if(n.text){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.fontWeight??`normal`} ${n.size??14}px ${n.fontFamily??`sans-serif`}`,e.textAlign=n.textAlign??`center`,e.textBaseline=n.textBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.textOutline||n.textOutlineColor!==void 0||n.textOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.textOutlineColor??`white`,e.lineWidth=n.textOutlineWidth??2,e.strokeText(n.text??``,0,0)),e.fillStyle=G(n.textColor??n.color??`black`,n.textOpacity??1),e.fillText(n.text??``,0,0),e.restore()}}function Me({ctx:e},t,n){if(n.icon){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.iconFontWeight??`normal`} ${n.size??16}px ${n.iconFontFamily??`icons`}`,e.textAlign=n.iconAlign??`center`,e.textBaseline=n.iconBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.iconOutline||n.iconOutlineColor!==void 0||n.iconOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.iconOutlineColor??`white`,e.lineWidth=n.iconOutlineWidth??2,e.strokeText(n.icon??``,0,0)),e.fillStyle=G(n.iconColor??n.color??`black`,n.iconOpacity??1),e.fillText(n.icon??``,0,0),e.restore()}}var Ne=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},q=class extends Ne{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}};function Pe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).lt(t)?r=a+1:i=a}return r}function Fe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).le(t)?r=a+1:i=a}return r}function Ie(e,[t,n],r){let i=t===void 0?0:Pe(e,t,r),a=n===void 0?e.length:Pe(e,n,r);return i<a?[i,a]:[0,0]}function Le(e,t){let n=(e,t,n,r)=>Math.min(t,r)-Math.max(e,n),r=n(e.point.x,e.point.x+e.box.width+2,t.point.x,t.point.x+t.box.width+2),i=n(e.point.y,e.point.y+e.box.height+2,t.point.y,t.point.y+t.box.height+2);return r<=0||i<=0?null:{w:r,h:i,d:Math.hypot(r,i)}}function Re(e,t,n){let r=0,i=0,a=new q(0,0);do{r=0;let i=e.map(e=>({...e,force:(e?.force??new q(.01*e.id,0)).set(.01*e.id,0)}));for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],r=i[t];if(n===r||n.sideX!==r.sideX)continue;let o=Le(n,r);if(o)if(n.point.distanceTo(r.point)===0){let e=[0,o.h/2];n.force.sub(e),r.force.add(e)}else{let e=a.set(...r.point.values).sub(n.point).normalize(),t=[o.w/2*e.x,o.h/2*e.y];n.force.sub(t),r.force.add(t)}}i.forEach(e=>{let t=a.set(e.point.x,0);e.force.sub(t.normalize().scale(.2))});for(let e=0;e<i.length;e++){let a=i[e];a.point.add(a.force),a.point.x<0&&(a.force.x+=a.point.x,a.point.x-=a.point.x),a.point.y-a.box.height/2<0+t&&(a.force.y+=a.point.y-a.box.height/2-t,a.point.y-=a.point.y-a.box.height/2-t),a.point.y+a.box.height/2+1>n&&(a.force.y+=a.point.y+a.box.height/2+1-n,a.point.y-=a.point.y+a.box.height/2+1-n),r+=a.force.norm**2}}while(r>1&&i++<100);return i<100}var ze=class extends j{postRender(e){super.postRender(e),this.#t(e)}#e(e,t){if(!e)return;let n=Fe(e,t,e=>e.time.time);if(0<n&&n<=e.length)return e[n-1]}#t(e){if(e.timeAxis.animating||!e.options.series)return;let t=e.timeAxis.cursor.time??S(Date.now()/1e3);N(e,(n,r)=>{let i=e.ctx,a=[],o=1;i.textBaseline=`middle`,i.textAlign=`left`;for(let n of r.seriesKeys){let s=e.options.series?.[n];if(!s)throw Error(`Invalid series`);if(s.tooltip===!1)continue;let{data:c,meta:l}=e.dataCaches[`series:${n}:instantaneous`];if(!l)continue;let u=I(r.symmetric,s.data.scale===`log`,l);if(!u)continue;let d=this.#e(c,t);if(!d)continue;let f=d.time.time;if(!f)continue;let p=e.timeAxis.p(f),m=d.value,h=d.text,g=i.measureText(h),_=l.color;if(m==null)continue;let v=r.y(u(m));a.push({id:a.length,cx:p,cy:v,point:new q(0,v),color:_,metrics:g,sideX:o,text:{dx:6,dy:0,value:h},box:{dx:.5,dy:.5-g.fontBoundingBoxAscent-2,width:12+g.width,height:4+g.fontBoundingBoxAscent+g.fontBoundingBoxDescent}}),o=-o}Re(a,e.chart.oy,e.chart.oy+e.chart.height);for(let e of a)e.point.x=e.cx+e.sideX*(e.point.x+20);for(let{cx:e,cy:t,point:n,color:r}of a)i.beginPath(),i.moveTo(e,t),i.lineTo(n.x,n.y),i.strokeStyle=`white`,i.lineWidth=3,i.stroke(),i.strokeStyle=r,i.lineWidth=1,i.setLineDash([3]),i.stroke(),i.setLineDash([]);for(let{cx:e,cy:t,point:n,sideX:r,text:o,color:s,box:c}of a)i.beginPath(),i.arc(e,t,3,0,Math.PI*2),i.fillStyle=s,i.fill(),i.strokeStyle=`white`,i.stroke(),i.beginPath(),i.roundRect(n.x+c.dx,n.y+c.dy,c.width*r,c.height,4),i.shadowBlur=3,i.shadowColor=`black`,i.shadowOffsetX=0,i.shadowOffsetY=1,i.fillStyle=s,i.fill(),i.shadowBlur=0,i.shadowColor=`transparent`,i.shadowOffsetX=0,i.shadowOffsetY=0,i.lineWidth=1,i.strokeStyle=`white`,i.stroke(),i.textBaseline=`middle`,i.textAlign=r<0?`right`:`left`,i.fillStyle=`white`,i.fillText(o.value,n.x+r*o.dx,n.y+o.dy)})}};function Be(e,t={}){return{font:`${e?.fontWeight??t?.fontWeight??`normal`} ${e?.fontSize??t?.fontSize??`12px`} \"${e?.fontFamily??t?.fontFamily??`BIZ UDPGothic`}\"`,color:e?.color??t?.color}}var Ve=class extends j{render(e){super.render(e),N(e,()=>{this.#t(e)})}preRender(e){super.preRender(e),N(e,()=>{this.#e(e)})}#e(e){let t=e.ctx,{width:n}=e.size,r=e.renderingTrack.axisY,i=e.renderingTrack.id,a=P(e.options.tracks?.[i].timeAxis,{});if(!a)return;let o=e.dataCaches[`tracks:${i}:timeAxis`]?.data;o&&(t.beginPath(),a.axis!==!1&&(t.strokeStyle=(typeof a.axis==`object`?a.axis.color:void 0)||`#3333`,t.moveTo(0,r+.5),t.lineTo(n,r+.5)),t.strokeStyle=(a.ticks!==!1&&typeof a.ticks==`object`?a.ticks.color:void 0)||`#3333`,o.forEach(n=>{if(!n.tick)return;let i=e.timeAxis.p(n.time.time);a.ticks!==!1&&(t.moveTo(i,r-(n.major?10:5)),t.lineTo(i,r+(e.symmetric?n.major?10:5:0)))}),t.stroke())}#t(e){let t=e.ctx,n=e.renderingTrack.axisY+2,r=e.renderingTrack.id,i=P(e.options.tracks?.[r].timeAxis,{});if(!i)return;let a=e.dataCaches[`tracks:${r}:timeAxis`]?.data;if(!a||i.labels===!1)return;let o=Be(i.labels);t.fillStyle=o?.color??`black`,t.font=o?.font,t.textAlign=`center`,t.textBaseline=`top`,a.forEach(r=>{let i=e.timeAxis.p(r.time.time);r.text!==void 0&&t.fillText(r.text,i,n)})}};let J={z:0,r:S(1)};function He(e){return J.r.eq(e)?J.z:-e.log(O.base).number()}function Y(e){return J.z===e?J.r:(J.z=e,J.r=S(O.base).pow(-e,BigInt(Math.floor(e))),J.r)}function Ue(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(S(e).floorBy(O.chunkStep).toFixed(2))}function We(e,t,n=O.defaultChunkSize){let r=Y(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function Ge(e,t){return t===void 0?e:e===void 0||t.lt(e)?t:e}function Ke(e,t){return t===void 0?e:e===void 0?t:e.gt(t)?e:t}function qe(e,t){return(!e[0]||!t[1]||e[0].le(t[1]))&&(!t[0]||!e[1]||t[0].le(e[1]))}var X=class extends A{#e={};#t=[];#n;#r;#i;#a;#o;#s;#c={};#l;constructor(e){super(),this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}updateOptions(e){this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}#u(e,t){if(e.id in this.#e&&t){try{this.#t=this.#p(e.range,this.#t,t)??this.#t}catch(e){console.error(e)}this.changed(),this.dispatchEvent(`datachanged`)}}#d=!1;#f(e,t){let n={...this.#e};for(let e of t)delete n[e.id];for(let e in n)this.#d=!0,delete this.#e[e];!e.timeAxis.animating&&!e.timeAxis.editing&&this.#d&&(this.#d=!1,this.#t=this.#h(Object.values(this.#e),this.#t)??this.#t,this.changed(),this.dispatchEvent(`datachanged`))}#p(e,t,n){let[r,i]=Ie(t,e,e=>e.time._minTime??e.time.time);return[...t.slice(0,r),...n.filter(e=>e.time._minTime??e.time.time),...t.slice(i)].toSorted((e,t)=>{let n=e.time._minTime??e.time.time,r=t.time._maxTime??t.time.time;return n==null||r==null?0:n.lt(r)?-1:n.gt(r)?1:0})}#m=[S(0),S(0)];get window(){return this.#m}#h(e,t){let[n,r]=e.reduce((e,t)=>{let n=t.range[0],r=t.range[1];return[Ge(e[0],n),Ke(e[1],r)]},[void 0,void 0]);if(!n||!r)return t;let i=[n,r];return this.#m=i,t.filter(e=>qe([e.time._minTime??e.time.time,e.time._maxTime??e.time.time],i))}#g(e,t){return t=Ue(t,this.#s),We(e,t,this.#o).map(e=>this.#e[e.id]??e)}update(e){if(this.#r){let t=e.timeAxis.committing.time??e.timeAxis.now,n=this.#i??e.timeAxis.committing.zoom.number(),r=Y(n).mul(this.#o).div(2),i=[t.sub(r),t.add(r)];this.#_(e,i,n)}else if(this.#a){let t=e.timeAxis.current.zoom?.number()??0;this.#_(e,e.timeAxis.current.range,t)}else{let t=e.timeAxis.committing.zoom?.number()??0;this.#_(e,e.timeAxis.committing.range,t)}}#_(e,t,n){let r=this.#g(t,n),i=Date.now();r.forEach(e=>{this.#e[e.id]&&i<=e.expires||(this.#e[e.id]=e,this.#d=!0,e.expires=1/0,e._loading=!0,this.#n(e).then(t=>{e.expires=t?.expires??e.expires,this.#u(t,t.data)}).finally(()=>{e._loading=!1}))}),this.#f(e,r)}get data(){return this.#t}invalidate(){this.#e={},this.#d=!0}get meta(){return this.#c}updateMeta(e){this.#c=e,this.changed(),this.dispatchEvent(`metachanged`)}get name(){return this.#l}};function Z(e){if(e==null||C(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return S(t/1e3)}return e instanceof Date?S(e.getTime()/1e3):S(e)}function Je(e){return e.map(Z)}let Ye=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),Xe=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var Ze=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,\"in-out\":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=Ye(a)}else this.done()};this.#e=Ye(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(Xe(this.#e),null)}get animating(){return this.#e!==null}};function Q(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var $=class extends A{#e;#t={id:void 0,value:null,nullValue:S(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new Ze;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return S(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>S(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(Q(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>S(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=Q(S(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=Q(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new k(`sync`,n)),this.dispatchEvent(new k(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new k(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=Q(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t).round((e??t).digits)};this.dispatchEvent(new k(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new k(`valuechanging`,e)),this.dispatchEvent(new k(`valueanimating`,this.#t.current)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=Q(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new k(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.dispatchEvent(new k(`valuechanging`,this.#t.value)),this.dispatchEvent(new k(`valuechanged`,this.#t.value)),this.changed()},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.dispatchEvent(new k(`valueanimating`,this.#t.current)),this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.dispatchEvent(new k(`valueanimating`,this.#t.current)),this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new k(`sync`,e)),this.#l(e)}},Qe=class extends A{time;zoom;constructor(e){super(),this.time=new $,this.zoom=new $,this.time=new $({initialValue:Z(e.time??null),domain:Je(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new $({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),this.time.on(`valueanimating`,e=>this.dispatchEvent(new k(`timeanimating`,e.value))),this.zoom.on(`change`,()=>this.changed()),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number()))),this.zoom.on(`valueanimating`,e=>this.dispatchEvent(new k(`zoomanimating`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(Z(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=Je(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(S(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(S)}},$e=class{decay;minVelocity;delay;points=[];angle_=0;distance_=0;constructor(e=.005,t=.05,n=100){this.decay=e,this.minVelocity=t,this.delay=n}begin(){this.points=[]}update(e,t){let n=Date.now();this.points.push({x:e,y:t,t:n});let r=n-this.delay;for(;this.points.length>1&&this.points[0].t<r;)this.points.shift()}end(){let e=this.points.length;if(e<2)return!1;let t=Date.now()-this.delay,n=this.points[e-1];if(n.t<t)return!1;for(;this.points.length>1&&this.points[0].t<t;)this.points.shift();let r=this.points[0];if(n.t<Date.now()-this.delay)return!1;let i=n.x-r.x,a=n.y-r.y,o=n.t-r.t;return o<1e3/60?!1:(this.distance_=Math.sqrt(i*i+a*a)/o/this.decay,this.angle_=Math.atan2(a,i),!0)}getDistance(){return this.distance_}getAngle(){return this.angle_}},et=class extends A{#e;#t={cursorMode:`center`,axisLength:[0,0],disabled:!1,dragging:!1,pinch:null};#n=new $e;constructor(e={}){super(),this.#e=new Qe(e);let{time:t,zoom:n}=this.#e;t.on(`change`,()=>this.changed()),t.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),t.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),t.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{time:e.value}))),n.on(`change`,()=>this.changed()),n.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number()))),n.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),n.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{zoom:e.value}))),t.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),n.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),t.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`)),n.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`))}z(e){return S(He(e))}r(e){return Y(e.number())}p(e,t){if(Array.isArray(e))return e.map((e,t)=>this.p(e,t));if(e===void 0)return t===0?-100:this.#t.axisLength[0]+this.#t.axisLength[1]+100;let n=this.r(this.#e.zoom.current),r=this.#e.time.current??this.now,i=e??this.now;return S(i).sub(r).div$(n,3).number()+this.#t.axisLength[0]}t(e){if(Array.isArray(e))return e.map(e=>this.t(e));let t=this.r(this.#e.zoom.current),n=this.#e.time.current??this.now;return t.mul(e-this.#t.axisLength[0]).add(n).round(t.digits)}set disabled(e){this.#t.disabled=e}get disabled(){return this.#t.disabled}get editing(){return this.#e.time.editing||this.#e.zoom.editing}get dragging(){return this.#t.dragging}get animating(){return this.#e.time.animating||this.#e.zoom.animating}get current(){return{time:this.#e.time.current,zoom:this.#e.zoom.current,resolution:this.r(this.#e.zoom.current),range:this.rangeFor(this.#e.time.current,this.#e.zoom.current),p:this.p(this.#e.time.current)}}get candidate(){return{time:this.#e.time.candidate,zoom:this.#e.zoom.candidate,resolution:this.r(this.#e.zoom.candidate),range:this.rangeFor(this.#e.time.candidate,this.#e.zoom.candidate),p:this.p(this.#e.time.candidate)}}get value(){return{time:this.#e.time.value,zoom:this.#e.zoom.value,resolution:this.r(this.#e.zoom.value),range:this.rangeFor(this.#e.time.value,this.#e.zoom.value),p:this.p(this.#e.time.value)}}get committing(){return{time:this.#e.time.committing,zoom:this.#e.zoom.committing,resolution:this.r(this.#e.zoom.committing),range:this.rangeFor(this.#e.time.committing,this.#e.zoom.committing),p:this.p(this.#e.time.committing)}}get committed(){return{time:this.#e.time.committed,zoom:this.#e.zoom.committed,resolution:this.r(this.#e.zoom.committed),range:this.rangeFor(this.#e.time.committed,this.#e.zoom.committed),p:this.p(this.#e.time.committed)}}get cursor(){return{time:this.#e.time.cursor,p:this.p(this.#e.time.cursor)}}get range(){return{time:this.#e.time.domain,p:this.p(this.#e.time.domain)}}rangeFor(e,t){return[(e??this.now).sub(this.r(t).mul(this.#t.axisLength[0])),(e??this.now).add(this.r(t).mul(this.#t.axisLength[1]))]}#r(e){this.#e.time.begin(this.t(e)),this.#n.begin()}#i(e,t){this.#e.time.update(this.t(this.current.p-t)),this.#n.update(e,0)}#a(){if(this.#n.end()){let e=this.#n.getDistance(),t=this.#n.getAngle(),n=e*Math.cos(t);this.#e.time.commit({value:this.t(this.current.p-n)})}else this.#e.time.commit()}click(e){this.#e.time.begin(this.t(e)),this.#e.time.commit()}dragStart(e){this.disabled||(this.#r(e),this.#t.dragging=!0)}dragUpdate(e,t){!this.#t.dragging||this.disabled||this.#i(e,t)}dragEnd(){!this.#t.dragging||this.disabled||(this.#a(),this.#t.dragging=!1)}dragCancel(){this.#t.dragging=!1}pinchStart(e,t){if(!this.disabled){if(this.#e.time.update(this.#e.time.current),this.#t.pinch={anchorTime:[this.t(e),this.t(t)]},this.#t.pinch.anchorTime[0].eq(this.#t.pinch.anchorTime[1])){this.#t.pinch=null;return}this.#e.zoom.begin(this.#e.zoom.current)}}pinchUpdate(e,t){if(this.disabled)return;if(!this.#t.pinch)return this.pinchStart(e,t);let n=this.#t.pinch.anchorTime[0],r=this.#t.pinch.anchorTime[1];if(Math.abs(t-e)>2){let i=r.sub(n).div(t-e).abs(),a=this.z(i);this.#e.zoom.update(a)}}pinchEnd(){this.disabled||this.#t.pinch&&(this.#t.pinch=null,this.#e.zoom.commit({animation:`linear`,duration:200}))}setAxisLength(e){this.#t.axisLength=e,this.changed(),this.dispatchEvent(`viewchanged`),this.dispatchEvent(`viewchanging`)}get axisLength(){return this.#t.axisLength}get now(){return S(Date.now()/1e3)}handleSyncEvent(e){e.time&&this.#e.time.handleSyncEvent(e.time),e.zoom&&this.#e.zoom.handleSyncEvent(e.zoom)}},tt=class{id;height;symmetric;oy=0;paddingY=[5,5];labelHeight=0;seriesKeys;constructor(e){this.id=e.id,this.oy=e.oy??0,this.height=e.height??0,this.symmetric=e.symmetric??!1,this.labelHeight=e.labelHeight??0,this.seriesKeys=e.seriesKeys}get chartHeight(){return this.height-this.paddingY[0]-this.paddingY[1]-this.labelHeight}get axisY(){return(this.symmetric?this.chartHeight/2:this.chartHeight)+this.paddingY[0]}y(e){if(e==null||isNaN(e))return NaN;let t=this.symmetric?this.chartHeight/2:this.chartHeight;return this.axisY-t*e}getRenderers(){return[]}},nt=class extends X{#e=new $({initialValue:null});#t=new $({initialValue:null});#n;#r(){let e=this.#e.current,t=this.#t.current;if(!this.#n||e==null||t==null)return;let n=S.max(e.abs(),t.abs());super.updateMeta({...this.#n??{},min:e,max:t,amp:n})}constructor(e){super(e),this.#e.on(`change`,()=>this.#r()),this.#t.on(`change`,()=>this.#r())}updateMeta(e){this.#n=e,e.min&&this.#e.setValue(e.min,this.#e.committed?{animation:`linear`,duration:200}:!1),e.max&&this.#t.setValue(e.max,this.#t.committed?{animation:`linear`,duration:200}:!1),this.#r()}};function rt(e,t,n=globalThis.requestAnimationFrame){let r,i,a=te(e),o=new et;o.on(`change`,()=>v()),o.on(`sync`,e=>a(`sync`,e.value)),o.on(`viewchanging`,()=>u());let s={onPointerEvent:e=>{let t={click:e=>o.click(e),\"drag:start\":e=>o.dragStart(e),\"drag:update\":(e,t)=>o.dragUpdate(e,t),\"drag:end\":()=>o.dragEnd(),\"pinch:start\":(e,t,n)=>o.pinchStart(e,n),\"pinch:update\":(e,t,n)=>o.pinchUpdate(e,n),\"pinch:end\":()=>o.pinchEnd()};if(e.type in t)return t[e.type](e.buttons[0]?.latest.x??0,e.buttons[0]?.delta.x??0,e.buttons[1]?.latest.x??0),!0},pointerStyle:()=>{}},c=[new Ve,new ke,new ze,new fe];c.forEach(e=>{e.on(`change`,()=>v()),e.on(`renderer:event`,t=>a(`renderer:event`,{value:t.value,uid:e.uid}))});let l={ctx:null,options:{},tracks:[],renderingTrack:null,dataCaches:{},chart:{ox:0,oy:0,width:1,height:1,get axisY(){return(l.symmetric?l.chart.height/2:l.chart.height)+l.chart.oy}},size:{width:1,height:1},get symmetric(){return this.renderingTrack?.symmetric??!1},dpr:1,timeAxis:o};async function u(){let e=o.current,t=o.revision;await a(`view:changed`,{time:e.time,zoom:e.zoom.number(),resolution:e.resolution,range:e.range},{rpc:!0}),o.revision===t&&Object.values(l.dataCaches).forEach(e=>d(e).then(()=>v()))}async function d(e){let{revision:t}=e,{resolution:n,zoom:r}=o.value,i=await a(`provider:loadMeta`,{key:e.name,zoom:r.number(),resolution:n},{rpc:!0});e.revision===t&&e.updateMeta(i)}function f(e,t={}){let n={...t,name:e,loader:async t=>await a(`provider:loadChunk`,{key:e,chunk:t},{rpc:!0})};if(l.dataCaches[e]){let t=l.dataCaches[e];return t.updateOptions(n),t.invalidate(),t}let r=e.startsWith(`series:`)?new nt(n):new X(n);return r.on(`change`,()=>v()),r.on(`datachanged`,async()=>u()),r}function p(e){let t={...e.dataCaches};for(let n in e.options.dataCacheOptions)e.dataCaches[n]=f(n,e.options.dataCacheOptions[n]),delete t[n];Object.keys(t).forEach(t=>delete e.dataCaches[t])}function m(e){for(let t of Object.values(e.dataCaches))t.update(e)}let h;function g(){if(!i)return;let e=i.height/l.dpr,t=Object.entries(l.options.tracks??{default:{}}),n=Math.max(0,e-t.reduce((e,[,t])=>e+(t?.height??0),0))/t.filter(([,e])=>e.height==null).length,r=0;l.tracks=t.map(([e,i])=>{let a=i.height??n;return r+=a,new tt({id:e,oy:r-a,height:a,symmetric:i.symmetric??!1,labelHeight:!i.symmetric&&i.timeAxis!==!1&&(typeof i.timeAxis!=`object`||i.timeAxis.labels!==!1)?14:0,seriesKeys:Object.entries(l.options.series??{}).filter(([,n])=>(n.track??t[0][0])===e).map(([e])=>e)})})}ne(e,{init:({canvas:e})=>{i=e,r=i?.getContext(`2d`)},fonts:e=>{if(e)for(let n of e)try{let e=typeof n.source==`string`&&n.source.match(/url\\(\"([^\"]+)\"\\) *format\\(\"woff2\"\\)/);if(e&&e?.[1])fetch(e[1]).then(e=>e.arrayBuffer()).then(e=>{let r=new Uint8Array(e),i=new FontFace(n.family,r,n.desc);i.loaded.then(()=>{t?.add(i),v()}),i.load()});else{let e=new FontFace(n.family,n.source,n.desc);e.loaded.then(()=>{t?.add(e),v()}),e.load()}}catch(e){console.error(`Failed to load the font:`,e)}v()},\"options:update\":e=>{D(l.options,e),e.dataCacheOptions&&p(l),(`tracks`in e||`series`in e)&&g();for(let t of c)t.updateOptions(e);v()},resize:async({size:e,context:t})=>{if(!i)return;let n=t?.dpr??l.dpr??1;i.width=e.width*n,i.height=e.height*n,o.setAxisLength([e.width/2,e.width/2]),l.dpr=n,g(),v()},pointer:async e=>{let t=[...c??[],s],n=(h??t).find(t=>t.onPointerEvent(e,l));return h=e.type===`up`||!n?void 0:[n],!0},cursor:async e=>{let t=[...c??[],s];return(h??t).map(t=>t.pointerStyle(e,l)).find(e=>e)},sync:e=>{o.handleSyncEvent(e)},reload:()=>{for(let e of Object.values(l.dataCaches))e.invalidate();v()}});let _=!1;function v(){_=!0}let y=0,b=0;function x(){y++}function S(){let e=Date.now(),t=(y*1e3/(e-b)).toFixed(1);b+1e3<=e&&(b=e,y=0),r?.clearRect(0,0,60,15),r?.fillText(`FPS: ${t}`,5,10)}function C(e){for(let t of c)r?.save(),e(t),r?.restore()}function w(e){!i||!r||(e.ctx=r,_=!1,m(e),x(),r.reset(),r.scale(e.dpr,e.dpr),C(t=>{t.preRender(e)}),M(e,null,()=>{ue(e,o.range.time,`#00000010`)}),C(t=>{t.render(e)}),e.options.indicator!==!1&&M(e,null,()=>de(e)),C(t=>{t.postRender(e)}))}function ee(){let e=o.range,t=e.time[0]===null&&0<=e.p[0]&&e.p[0]<l.size.width||e.time[1]===null&&0<=e.p[1]&&e.p[1]<l.size.width;return _||o.value.time===null||t}let T=()=>{n(T),ee()&&w(l),l.options.showFps&&S()};n(T)}rt(self,self.fonts)})();"],{type:`text/javascript;charset=utf-8`}));return new Worker(t,e)}function on(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`)return e.toString()===t.toString();if(e&&t&&typeof e==`object`){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!on(e[r],t[r]))return!1;return!0}return!1}function $(e,t,n=new WeakSet){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`)return;if(r===`function`)return e.toString();if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=$(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=$(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=$(e[r],t,n);return n.delete(e),i}function sn(e,t,n){e??={},t??={};let r=[],i={...t};for(let a in e)(!i[a]||i[a]!==e[a]&&!on(i[a]?._src,e[a]))&&(t[a]=n(e[a]),t[a]!==e[a]&&(t[a]._src=$(e[a]),r.push(a))),delete i[a];Object.keys(i).forEach(e=>delete t[e])}let cn=[`#080`,`#800`,`#008`,`#880`,`#088`,`#808`],ln={indicator:!0,padding:[5,5,5,5],sources:void 0,series:void 0,tracks:void 0,selection:void 0};var un=class extends E{#e;call;#t={};#n={};#r={};#i=!1;#a=[];#o=!1;#s=null;#c=0;constructor(e){super(),this.#e=new an,this.call=be(this.#e),xe(this.#e,{sync:e=>{this.dispatchEvent(new T(`sync`,e,this.uid))},"renderer:event":async e=>{this.dispatchEvent(new T(`renderer:event`,e.value,e.uid))},"provider:loadChunk":async({key:e,chunk:t})=>await this.#r[e]?.loadChunk(t),"provider:loadMeta":async({key:e,zoom:t,resolution:n})=>await this.#r[e].loadMeta({zoom:t,resolution:n}),"view:changed":async e=>{for(let t in this.dispatchEvent(new T(`viewchanged`,e,this.uid)),this.#n)this.#n[t].updateDataRange(e.range,e.zoom);return!0}});let t=e.canvas.transferControlToOffscreen();this.call(`init`,{canvas:t},{transfer:[t]}),this.setFonts(e.fonts)}async setFonts(e){if(e){this.#i=!1,this.#d();let t=await Fe(e);this.call(`fonts`,t);return}this.#i=!0,this.#u(),await this.#p()}[Symbol.dispose](){this.dispose()}dispose(){this.#d(),this.#e.terminate()}setOptions(e){this.#l={},this.updateOptions({...ln,...e})}#l={};updateOptions(e){fe(this.#l,e);let t={...e},n=!1;if(`sources`in e&&sn(this.#l.sources,this.#t,e=>(n=!0,rn(e))),(n||`series`in e||`tracks`in e)&&(sn(this.#l.series,this.#n,e=>(e.data.color||(e.data.color=cn[this.#c++],this.#c%=cn.length),n=!0,en({sources:this.#t,options:e}))),`tracks`in e&&(n=!0),n)){let e=[...Object.entries(this.#l.tracks??{default:{}}).filter(([,e])=>e.timeAxis!==!1).map(([e,t])=>[`tracks:${e}:timeAxis`,qt,{timeAxis:t.timeAxis},{immediate:!0}]),...Object.entries(this.#n).flatMap(([e,t])=>{let n={series:t,options:this.#l},r={zoomLevels:t.zoomLevels,chunkSize:t.chunkSize};return[[`series:${e}:chart`,Ve,n,r],[`series:${e}:instantaneous`,Ge,n,{...r,instantValue:!0,instantZoomLevel:t.options.data.instantaneous?.zoom}]]})];t.dataCacheOptions={};let n={...this.#r};for(let[r,i,a,o]of e)this.#r[r]=new i(a),delete n[r],o&&(t.dataCacheOptions[r]=o);Object.keys(n).forEach(e=>delete this.#r[e])}this.call(`options:update`,t)}resize(e){this.call(`resize`,e)}onPointerEvent(e){this.call(`pointer`,e)}async pointerStyle(e){return await this.call(`cursor`,e,{rpc:!0})}sync(e,t){t&&t===this.uid||this.call(`sync`,e)}#u(){if(!this.#i||this.#o||typeof document>`u`)return;this.#o=!0;let e=[],t=document.fonts;if(t&&typeof t.addEventListener==`function`){let n=()=>this.#f();t.addEventListener(`loadingdone`,n),t.addEventListener(`loadingerror`,n),t.addEventListener(`loading`,n),e.push(()=>{t.removeEventListener(`loadingdone`,n),t.removeEventListener(`loadingerror`,n),t.removeEventListener(`loading`,n)})}if(typeof MutationObserver<`u`){let t=new MutationObserver(e=>{for(let t of e){if(t.type===`childList`&&[...Array.from(t.addedNodes??[]),...Array.from(t.removedNodes??[])].some(e=>dn(e))){this.#f();return}if(t.type===`attributes`&&dn(t.target)){this.#f();return}}});try{let n=document.head??document.documentElement??document;t.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`rel`,`href`]}),e.push(()=>t.disconnect())}catch{t.disconnect()}}this.#a=e}#d(){if(this.#o){this.#o=!1;for(let e of this.#a)try{e()}catch{}this.#a=[],this.#s!=null&&(clearTimeout(this.#s),this.#s=null)}}#f(){this.#i&&this.#s==null&&(this.#s=setTimeout(()=>{this.#s=null,this.#p()},0))}async#p(){if(this.#i)try{let e=await Ie();this.call(`fonts`,e.length?e:void 0)}catch(e){console.error(`Failed to resolve document fonts`,e)}}invalidateSources(e){e||=Object.keys(this.#t);for(let t of e)this.#t[t]?.expireChunks();this.call(`reload`,null)}};function dn(e){return typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement?!0:typeof HTMLLinkElement<`u`&&e instanceof HTMLLinkElement?e.rel?.toLowerCase()===`stylesheet`:!1}function fn(e){let t=e.deltaY;switch(e.deltaMode){case WheelEvent.DOM_DELTA_LINE:return t*16;case WheelEvent.DOM_DELTA_PAGE:return t*window.innerHeight}return t}var pn=class extends E{#e=null;#t=null;#n=null;#r;#i;#a;#o;get time(){return this.#r.time.value?.clone()??null}set time(e){this.setTime(e)}setTime(e,t){this.#r.setTime(e,t)}get timeChanging(){return this.#r.time.candidate?.clone()??null}get timeAnimating(){return this.#r.time.current?.clone()??null}get timeRange(){return this.#r.time.domain.map(e=>e==null?e:e.clone())}setTimeRange(e){this.#r.setTimeRange(e)}get zoom(){return this.#r.zoom.value.number()}set zoom(e){this.setZoom(e)}setZoom(e,t){return this.#r.setZoom(e,t)}get zoomChanging(){return this.#r.zoom.candidate.number()}get zoomAnimating(){return this.#r.zoom.current.number()}fitTo(e,t){if(!this.#s.width)return!1;let n=typeof t?.padding==`number`?t.padding*2:Array.isArray(t?.padding)?t.padding.reduce((e,t)=>e+t):0,r=e.map(e=>D(e)),i=pe(r[1].sub(r[0]).div(this.#s.width-n).abs()),a=r[0].add(r[1]).div(2);this.setZoom(i,t?.animation===!1?!1:void 0),this.setTime(a,t?.animation===!1?!1:void 0)}get zoomRange(){return this.#r.zoom.domain.map(e=>e==null?e:e.number())}setZoomRange(e){this.#r.setZoomRange(e)}setSelection(e){if(this.#i.selection===!1)return;let t=e?.map(e=>D(e))??null;this.#t?.updateOptions({selection:{range:t}})}clearSelection(){this.setSelection(null)}get animating(){return this.#r.time.animating}get editing(){return this.#r.time.editing}#s={x:0,y:0,width:0,height:0,dpr:0};get size(){return{...this.#s}}#c=!1;set disabled(e){this.#c=e,this.#n&&(this.#n.disabled=e)}get disabled(){return this.#c}get options(){return this.#i}setOptions(e){this.#i={style:void 0,...e},this.#l(this.#i,!0)}updateOptions(e){fe(this.#i,e),this.#l(e,!1)}#l(e,t){!this.#e||!this.#t||(`style`in e&&(this.#e.style.width=e.style?.width??`100%`,this.#e.style.height=e.style?.height??`36px`,this.#e.style.background=e.style?.background??`#fff`),t?this.#t.setOptions(e):this.#t.updateOptions(e),this.#u())}#u(){if(!this.#e||!this.#t)return;let e=window.devicePixelRatio,t=this.#e.getBoundingClientRect();if(this.#s.width===t.width&&this.#s.height===t.height&&this.#s.dpr===e)return;this.#s={x:t.x,y:t.y,width:t.width,height:t.height,dpr:e};let n=this.#s.width,r=this.#s.height;this.#t.resize({size:{width:n,height:r},context:{dpr:e}})}#d(){let e=this.#r.time,t=this.#r.zoom;this.#r.on(`change`,()=>this.changed()),this.#r.on(`timechanging`,e=>this.dispatchEvent(e)),this.#r.on(`timechanged`,e=>this.dispatchEvent(e)),this.#r.on(`timeanimating`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanging`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanged`,e=>this.dispatchEvent(e)),this.#r.on(`zoomanimating`,e=>this.dispatchEvent(e)),e.on(`sync`,e=>this.#t?.sync({time:e.value},e.origin)),t.on(`sync`,e=>this.#t?.sync({zoom:e.value},e.origin))}#f(e){if(this.#c)return;e.preventDefault();let t=fn(e);this.#r.setZoom(this.#r.zoom.committing.add(-t/this.#o))}constructor(e){super();let t=e??{};this.#r=new le(t),this.#d(),this.#i={style:void 0,...t},this.#a=t.fonts??[],t.target&&this.mount(t.target),this.#o=t.wheelSensitivity??w.wheelSensitivity}reload(e){this.#t?.invalidateSources(e)}mount(e){let t=typeof e==`string`?document.querySelector(e):e;if(!t)throw Error(`mount failed`);return(this.#e||this.#t||this.#n)&&console.warn(`Timescope: mounted twice`),this.#e?.remove(),this.#e=document.createElement(`canvas`),this.#e.style.all=`unset`,this.#e.style.display=`block`,this.#e.style.touchAction=`none`,this.#e.style.width=this.#i.style?.width??`100%`,this.#e.style.height=this.#i.style?.height??`36px`,this.#e.style.background=this.#i.style?.background??`#fff`,this.#t=new un({canvas:this.#e,fonts:this.#a}),this.#t.setOptions(this.#i),this.#r.time.restore(),this.#r.zoom.restore(),new ResizeObserver(()=>this.#u()).observe(this.#e),this.#u(),this.#t.on(`change`,()=>this.changed()),this.#t.on(`sync`,e=>{e.value.time&&(this.#r.time.handleSyncEvent(e.value.time),this.#r.time.dispatchEvent(new T(`sync`,e.value.time,e.origin))),e.value.zoom&&(this.#r.zoom.handleSyncEvent(e.value.zoom),this.#r.zoom.dispatchEvent(new T(`sync`,e.value.zoom,e.origin)))}),this.#t.on(`renderer:event`,e=>{typeof e.value==`object`&&e.value&&`range`in e.value&&`resizing`in e.value&&this.dispatchEvent(new T(e.value.resizing?`rangechanging`:`rangechanged`,e.value.range,e.origin))}),this.#n=new ve({element:this.#e,transform:e=>e.sub([this.#s.x,this.#s.y]),handler:e=>{this.#t?.onPointerEvent(e)},cursor:async e=>await this.#t?.pointerStyle(e)??void 0}),this.#e.addEventListener(`wheel`,this.#f.bind(this)),t.appendChild(this.#e),this}unmount(){this.#e?.remove(),this.#n?.detach(),this.#t?.dispose(),this.#t=null,this.#e=null,this.#n=null}dispose(){this.unmount()}};let mn=window;mn.Decimal=x,mn.Timescope=pn})();
package/index.d.ts CHANGED
@@ -434,16 +434,20 @@ type TimescopeFitOptions = {
434
434
  animation?: boolean;
435
435
  padding?: number | [l: number, r: number];
436
436
  };
437
- declare class Timescope<Source extends Record<string, TimescopeSourceInput> = Record<string, TimescopeSourceInput>, SourceName extends Record<string, keyof Source> = Record<string, keyof Source>, TimeDef extends Record<string, FieldDefLike<TimeLike<never>>> = Record<string, FieldDefLike<TimeLike<never>>>, ValueDef extends Record<string, FieldDefLike<NumberLike | null>> = Record<string, FieldDefLike<NumberLike | null>>, Track extends string = string> extends TimescopeObservable<TimescopeEvent<'timechanging', Decimal | null> | TimescopeEvent<'timechanged', Decimal | null> | TimescopeEvent<'zoomchanging', number> | TimescopeEvent<'zoomchanged', number> | TimescopeEvent<'rangechanging', Range<Decimal>> | TimescopeEvent<'rangechanged', Range<Decimal> | null>> {
437
+ declare class Timescope<Source extends Record<string, TimescopeSourceInput> = Record<string, TimescopeSourceInput>, SourceName extends Record<string, keyof Source> = Record<string, keyof Source>, TimeDef extends Record<string, FieldDefLike<TimeLike<never>>> = Record<string, FieldDefLike<TimeLike<never>>>, ValueDef extends Record<string, FieldDefLike<NumberLike | null>> = Record<string, FieldDefLike<NumberLike | null>>, Track extends string = string> extends TimescopeObservable<TimescopeEvent<'timechanging', Decimal | null> | TimescopeEvent<'timechanged', Decimal | null> | TimescopeEvent<'timeanimating', Decimal | null> | TimescopeEvent<'zoomchanging', number> | TimescopeEvent<'zoomchanged', number> | TimescopeEvent<'zoomanimating', number> | TimescopeEvent<'rangechanging', Range<Decimal>> | TimescopeEvent<'rangechanged', Range<Decimal> | null>> {
438
438
  #private;
439
439
  get time(): Decimal | null;
440
440
  set time(v: TimeLike | null);
441
441
  setTime(v: TimeLike | null, animation?: TimescopeAnimationInput): void;
442
+ get timeChanging(): Decimal | null;
443
+ get timeAnimating(): Decimal | null;
442
444
  get timeRange(): Range<Decimal | null | undefined>;
443
445
  setTimeRange(domain?: Range<TimeLike | null | undefined>): void;
444
446
  get zoom(): number;
445
447
  set zoom(v: ZoomLike);
446
448
  setZoom(v: ZoomLike, animation?: TimescopeAnimationInput): boolean;
449
+ get zoomChanging(): number;
450
+ get zoomAnimating(): number;
447
451
  fitTo(range: Range<TimeLike<never>>, opts?: TimescopeFitOptions): false | undefined;
448
452
  get zoomRange(): Range<number | undefined>;
449
453
  setZoomRange(domain?: Range<ZoomLike | undefined>): void;
package/index.js CHANGED
@@ -1 +1 @@
1
- function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<y.length?y[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<b.length?b[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*ee)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(v))return{exponent:0n,remainder:v.clone()};if(e.ge(v))return m(e,t,n,r);let a=m(v.div(e,i),t,n,r);return a.remainder.eq(v)?{exponent:-a.exponent,remainder:v.clone()}:{exponent:-a.exponent-1n,remainder:v.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return S(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(v,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=x(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=x(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=x(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=x(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=x(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=x(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=x(e),r=x(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=x(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=x(e),r=x(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=x(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=x(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=te(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(te(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(v))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(v),p=f?v.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let ee=i===0?0:c;return this.round$(ee),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\x1b[33m${this.toString()}\x1b[m \x1b[90m(${this.coeff} * 10 ** ${-this.digits})\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};const _=18n,ee=Math.log2(10),v=new g(1n),y=[],b=[];(function(){for(let e=0;e<256;e++)b[e]=10n**BigInt(e),y[e]=5n**BigInt(e)})();function x(e){return e==null||S(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=x(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(x||={});const S=x.isDecimal;x.isDecimalLike;const te=x.pow10,ne=x.minmax;x.min,x.max;function re(e){if(typeof e==`number`&&isNaN(e)||typeof e==`number`&&!isFinite(e))return null;try{return x(e)}catch{return null}}function ie(e){return function(t){return e?e(t):t}}function ae(e){return function(t){return e?e(t):t}}function oe(e){return function(t){return e?e(t):t}}function se(e){return function(t,n,r){return e?e(t):t}}const ce=ie(),le=ae(),ue=oe(),de=se();var C={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function fe(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var pe=class{uid=fe(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},w=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},T=class extends pe{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}};function E(e){if(e==null||S(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return x(t/1e3)}return e instanceof Date?x(e.getTime()/1e3):x(e)}function me(e){return e.map(E)}const he=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),ge=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var _e=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,"in-out":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=he(a)}else this.done()};this.#e=he(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(ge(this.#e),null)}get animating(){return this.#e!==null}};function D(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var O=class extends T{#e;#t={id:void 0,value:null,nullValue:x(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new _e;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return x(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>x(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(D(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>x(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=D(x(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=D(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new w(`sync`,n)),this.dispatchEvent(new w(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new w(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=D(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t)};this.dispatchEvent(new w(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new w(`valuechanging`,e)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=D(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new w(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.changed(),this.dispatchEvent(new w(`valuechanging`,this.#t.value)),this.dispatchEvent(new w(`valuechanged`,this.#t.value))},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new w(`sync`,e)),this.#l(e)}},ve=class extends T{time;zoom;constructor(e){super(),this.time=new O,this.zoom=new O,this.time=new O({initialValue:E(e.time??null),domain:me(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new O({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.zoom.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new w(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new w(`timechanged`,e.value))),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new w(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new w(`zoomchanged`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(E(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=me(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(x(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(x)}};function k(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>k(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,k(n,...t)])):e}function ye(e){return function(t){let n=e.split(`,`).map(e=>e.trim()),r=t;for(let e of n){let n=e.split(`.`);r=t;for(let e=0;e<n.length&&r!=null;e++){if(typeof r!=`object`){r=null;break}r=r[n[e]]}if(r!=null)return r}return r}}function be(e){return Object.prototype.toString.call(e)===`[object Object]`}function xe(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&be(r)?((!i||typeof i!=`object`)&&(e[n]={}),xe(e[n],r)):e[n]=r}return e}const A={z:0,r:x(1)};function Se(e){return A.r.eq(e)?A.z:-e.log(C.base).number()}function Ce(e){return A.z===e?A.r:(A.z=e,A.r=x(C.base).pow(-e,BigInt(Math.floor(e))),A.r)}function we(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(x(e).floorBy(C.chunkStep).toFixed(2))}var Te=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},Ee=class extends Te{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}},De=class{#e=`none`;#t={};#n=[];#r;#i;#a={none:[[[`pointerdown`,1,this.#o.bind(this)],`down`,[`down`]]],down:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`drag:start`,`pinch:start`]],[[`pointermove`,1,this.#l.bind(this)],`drag`,[`drag:start`]],[[`pointerup`,0],`none`,[`click`,`up`]],[[`pointercancel`,0],`none`,[`up`]]],drag:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`pinch:start`]],[[`pointermove`,1],`drag`,[`drag:update`]],[[`pointerup`,0],`none`,[`drag:end`,`up`]],[[`pointercancel`,0],`none`,[`drag:end`,`up`]]],pinch:[[[`pointermove`,2],`pinch`,[`pinch:update`]],[[`pointerup`,1,this.#c.bind(this)],`drag`,[`pinch:end`]],[[`pointercancel`,0],`none`,[`pinch:end`,`up`]]]};get state(){return this.#e}disabled=!1;#o(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#s(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#c(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#l(){let e=this.#n.find(e=>e.pressed)||this.#n[0];return e.latest.distanceTo(e.anchor)<4?!1:(this.#n.forEach(e=>e.anchor=e.latest.clone()),!0)}#u(e){if(this.disabled)return;let t=new Ee(e.clientX,e.clientY),n=this.#i(t,e)??t,r=!!(e.buttons&1),i=this.#t[e.pointerId]?.latest??n;this.#t[e.pointerId]={pointerId:e.pointerId,last:i,latest:n,delta:n.clone().sub(i),anchor:this.#t[e.pointerId]?.anchor??n,pressed:r};let a=Object.values(this.#t),o=a.filter(e=>e.pressed).length;this.#n=a.filter(t=>t.pressed||t.pointerId===e.pointerId),this.#m(e,o),this.#f(e),r||delete this.#t[e.pointerId]}#d;async#f(e){this.#r&&this.#d&&(this.#r.style.cursor=await this.#d({type:`cursor`,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})??``)}#p;#m(e,t){let[[n,r,i],a,o]=this.#a[this.#e].find(([[n,r]])=>(n===`*`||n===e.type)&&(r===void 0||r===t))??[[`*`],this.#e];i?.(e)!==!1&&(this.#e=a,o&&o.forEach(t=>this.#p({type:t,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})))}constructor(e={}){this.#i=e.transform??(e=>e),this.#p=e.handler??(async()=>void 0),this.#d=e.cursor,e.element&&this.attach(e.element)}#h;attach(e){this.#h?.abort(),this.#h=new AbortController;let t=this.#h.signal,n=e=>this.#u(e);return e.addEventListener(`pointerdown`,n,{signal:t}),window.addEventListener(`pointermove`,n,{passive:!0,signal:t}),window.addEventListener(`pointerup`,n,{passive:!0,signal:t}),window.addEventListener(`pointercancel`,n,{passive:!0,signal:t}),e.addEventListener(`touchstart`,e=>e.preventDefault(),{signal:t}),this.#r=e,this}detach(){this.#h?.abort()}};let Oe=0;function ke(e){return function(t,n,r={rpc:!1}){let i=++Oe;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:je(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(M(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function Ae(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](M(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:je(o)})}),t}function j(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=j(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=j(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=j(e[r],t,n);return n.delete(e),i}function je(e,t){return j(e,t,new WeakSet)}function Me(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function M(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(Me(e))return x(e);if(Array.isArray(e))return e.map(M);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=M(e[n]);return t}return e}}const Ne=[[`font-style`,`style`],[`font-weight`,`weight`],[`font-stretch`,`stretch`],[`unicode-range`,`unicodeRange`],[`font-variant`,`variant`],[`font-feature-settings`,`featureSettings`],[`font-display`,`display`],[`ascent-override`,`ascentOverride`],[`descent-override`,`descentOverride`],[`line-gap-override`,`lineGapOverride`]];function Pe(){return{visited:new Set}}function Fe(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}function Ie(e,t){return e.replace(/url\(([^)]+)\)/gi,(e,n)=>{let r=n.trim(),i=Fe(r);if(!i)return`url(${n})`;try{let e=new URL(i,t).toString(),n=r.startsWith(`"`)?`"`:r.startsWith(`'`)?`'`:``;return`url(${n}${e}${n})`}catch{return`url(${n})`}})}function Le(e,t){let n=e.style.getPropertyValue(`font-family`),r=e.style.getPropertyValue(`src`),i=Fe(n);if(!i||!r)return null;let a={};for(let[t,n]of Ne){let r=e.style.getPropertyValue(t);r.trim()&&(a[n]=r.trim())}return{family:i,source:t?Ie(r,t):r,desc:a}}function N(){if(typeof document<`u`&&document.baseURI)return document.baseURI;if(typeof location<`u`&&location.href)return location.href}function Re(e,t){try{return t?new URL(e,t).toString():new URL(e).toString()}catch{return null}}function ze(e){try{let t=e.cssRules;return Array.from(t)}catch{return null}}async function Be(e,t,n){let r=[],i=t??N();for(let t of e){if(t.type===CSSRule.FONT_FACE_RULE){let e=Le(t,i);e&&r.push(e);continue}if(t.type===CSSRule.IMPORT_RULE){let e=Re(t.href,i);if(!e)continue;r.push(...await P(e,n))}}return r}async function Ve(e,t,n){let r=ze(e);return r?await Be(r,t??e.href??N(),n):e.href?await P(e.href,n,t):[]}async function P(e,t,n){let r=Re(e,n);if(!r||t.visited.has(r))return[];if(t.visited.add(r),typeof fetch>`u`||typeof CSSStyleSheet>`u`)throw Error(`Failed to load CSS: ${r}`);try{let e=await fetch(r);if(!e.ok)throw Error();let n=await e.text(),i=new CSSStyleSheet;return await i.replace(n),await Ve(i,e.url,t)}catch{throw Error(`Failed to load CSS: ${r}`)}}async function He(e){let t=Pe(),n=[];for(let r of e){if(typeof r==`string`){let e=await P(r,t);n.push(...e);continue}else typeof r.source==`string`&&(r.source=Ie(r.source,location.href));n.push(r)}return n}async function Ue(){if(typeof document>`u`||!document.styleSheets)return[];let e=Pe(),t=[],n=N();for(let r of Array.from(document.styleSheets)){let i;try{i=r}catch{continue}let a=i.href??n;try{let n=await Ve(i,a,e);t.push(...n)}catch{continue}}return t}var We=class{options;constructor(e){this.options=e}loadMeta(e){}},Ge=class extends We{constructor(e){super(e)}async loadChunk(e){let t=await this.options.series.loadChunk(e);return await this.transform(t)}async transform(e){return e}};const Ke={lines:{links:[{draw:`line`}]},"lines:filled":{links:[{draw:`area`},{draw:`line`}]},curves:{links:[{draw:`curve`}]},"curves:filled":{links:[{draw:`curve-area`},{draw:`curve`}]},"steps-start":{links:[{draw:`step-start`}]},"steps-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}]},steps:{links:[{draw:`step`}]},"steps:filled":{links:[{draw:`step-area`},{draw:`step`}]},"steps-end":{links:[{draw:`step-end`}]},"steps-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}]},points:{marks:[{draw:`circle`}]},linespoints:{links:[{draw:`line`}],marks:[{draw:`circle`}]},"linespoints:filled":{links:[{draw:`area`},{draw:`line`}],marks:[{draw:`circle`}]},curvespoints:{links:[{draw:`curve`}],marks:[{draw:`circle`}]},"curvespoints:filled":{links:[{draw:`curve-area`},{draw:`curve`}],marks:[{draw:`circle`}]},"stepspoints-start":{links:[{draw:`step-start`}],marks:[{draw:`circle`}]},"stepspoints-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}],marks:[{draw:`circle`}]},stepspoints:{links:[{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints:filled":{links:[{draw:`step-area`},{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints-end":{links:[{draw:`step-end`}],marks:[{draw:`circle`}]},"stepspoints-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}],marks:[{draw:`circle`}]},impulses:{marks:[{draw:`line`,using:[`value`,`zero`]}]},impulsespoints:{marks:[{draw:`line`,using:[`value`,`zero`]},{draw:`circle`}]},boxes:{marks:[{draw:`box`,using:[`value`,`zero`],style:{fillColor:`transparent`}}]},"boxes:filled":{marks:[{draw:`box`,using:[`value`,`zero`]}]}};function qe(e){return Ke[e]??{}}var Je=class extends Ge{marks;links;constructor(e){super(e);let t=typeof e.series.options.chart==`string`?qe(e.series.options.chart):e.series.options.chart??{};this.marks=t.marks,this.links=t.links}async transform(e){let t=e.data?.map(t=>{let n={resolution:e.resolution,data:t.data??{},time:t.time,value:t.value},r=k(this.marks,n);return{...t,marks:r?.map(e=>({...e,style:k(e.style,n)??{}}))??[]}});return{...e,data:t}}async loadMeta({resolution:e}){return{links:k(this.links,{resolution:e})?.map(e=>({...e,style:k(e.style,null)??{}}))??[],color:this.options.series.color,...this.options.series.dataRange}}};function Ye(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function Xe(e){return e?{using:e.using??`value`,zoom:e.zoom}:{using:`value`,zoom:void 0}}function Ze(e){let t=({name:e,unit:t,digits:n,value:r})=>{if(r==null)return`No data`;let i=[];return e&&i.push(e),i.push(r.toFixed(n)),t&&i.push(t),i.join(` `)};return typeof e==`boolean`||!e?{format:t}:{...e,format:e.format??t}}var Qe=class extends Ge{#e;#t;constructor(e){super(e),this.#e=Xe(e.series.options.data.instantaneous),this.#t=Ze(e.series.options.tooltip)}async transform(e){let{name:t,unit:n,digits:r}=this.options.series,i=this.#t.format,a=Ye(k(this.#e.using,e))[0],o=e.data?.flatMap(e=>{if(!this.#e)return[];let o=e.time[a[1]],s=e.value[a[0]];return[{time:{time:o},value:s,text:i({time:o,value:s,unit:n,digits:r,name:t})}]});return{...e,data:o}}async loadMeta(e){let t=this.options.series.color;return{...this.options.series.dataRange,color:t}}};const $e=x(1n),et=x(0n),F=60n,I=F*60n,L=I*24n,R=8640000000000n;function z(e,t){let n=e/t,r=e%t;return r!==0n&&r>0n!=t>0n&&(n-=1n),n}function B(e,t){return e-z(e,t)*t}function tt(e){return e>0n?e:e+1n}function nt(e){return e>0n?e:e-1n}function V(e,t){let n=tt(e),r=t-1n,i=z(r,12n),a=r-i*12n;return{year:nt(n+i),month:a+1n,day:1n}}function H(e,t,n){let r=V(e,t);return it(rt(r.year,r.month,n))}function rt(e,t,n){let r=tt(e),i=t,a=n;i<=2n&&(r-=1n);let o=r/400n-(r<0n?1n:0n),s=r-o*400n;i+=i>2n?-3n:9n;let c=(153n*i+2n)/5n+a-1n,l=s*365n+s/4n-s/100n+c;return o*146097n+l-719468n}function it(e){let t=e+719468n,n=t/146097n-(t<0n?1n:0n),r=t-n*146097n,i=(r-r/1460n+r/36524n-r/146096n)/365n,a=i+n*400n,o=r-(365n*i+i/4n-i/100n),s=(5n*o+2n)/153n,c=o-(153n*s+2n)/5n+1n,l=s+(s<10n?3n:-9n);return l<=2n&&(a+=1n),{year:nt(a),month:l,day:c}}function at(e){return e>R?R:e<-R?-R:e}function ot(e){let t=at(e);return-BigInt(Math.floor(new Date(Number(t)*1e3).getTimezoneOffset()))*F}function st(e){return ot(e)}function ct(e){return ot(e)}function lt(e){let t=rt(e.year,e.month,e.day),n=e.hour*I+e.minute*F+e.second,r=t*L+n;return x(r-ct(r)).add(e.subseconds)}function ut(e){let t=H(e.year,e.month,e.day),n=e.subseconds.modPositive($e),r=e.subseconds.sub(n).integer(),i=e.second+r;return lt({...e,...t,second:i,subseconds:n})}function dt(e){return Number(B(rt(e.year,e.month,e.day)+4n,7n))}function ft(e){let[t]=e.split(),n=st(t.integer()),[r,i]=e.add(x(n)).split(),a=r.integer(),o=z(a,L),s=B(a,L),c=it(o),l=z(s,I),u=s-l*I,d=z(u,F),f=B(u,F);return{year:c.year,month:c.month,day:c.day,hour:l,minute:d,second:f,subseconds:i}}function U(e,t){return ut({...t(ft(e)),hour:0n,minute:0n,second:0n,subseconds:et})}function pt(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>t<=e).toSorted().at(-1)??e:(t=BigInt(t),(e-n)/t*t+n):e}function W(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>e<t).toSorted().at(0):(t=BigInt(t),((e-n)/t+1n)*t+n):e}function mt(e,t){return U(e,e=>({...H(e.year,e.month,pt(e.day,t,1n))}))}function ht(e,t){return U(e,e=>{let n=W(e.day,t,1n);return n?H(e.year,e.month,n):V(e.year,W(e.month,1n,1n))})}function gt(e,t){return U(e,e=>V(e.year,pt(e.month,t,1n)))}function _t(e,t){return U(e,e=>V(e.year,W(e.month,t,1n)))}function vt(e,t){return U(e,e=>{let n=pt(e.year<=0n?e.year-1n:e.year,t,0n);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function yt(e,t){return U(e,e=>{let n=W(e.year<=0n?e.year-1n:e.year,t);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function bt(e,t){let n=x(t),r=mt(e,1n);return e.sub(r).floorBy(n).add(r)}function xt(e,t){return e.add(x(t))}function St(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}const Ct={s:0n,ms:3n,us:6n,ns:9n};function wt({time:e,digits:t,labeler:n}){let r={year:0n,quarter:0,month:0,day:0,hour:0,minute:0,subseconds:e.sub(e.integer()),week:0,second:e.integer(),digits:t,time:e};if(t>0){let i=e.toFixed(t).split(`.`);return n?.seconds?.(r)??i[0]+`.`+Zt(i[1])}return n?.seconds?.(r)??e.toString()}function G(e,t,n){if(t===n)return e;let r=Ct[t]??0n,i=(Ct[n]??0n)-r;return e.shift10(i)}function*Tt(e,t,n){if(!e[0]||!e[1])return;let r=typeof n.timeFormat==`function`?n.timeFormat:void 0,i=typeof n.timeFormat==`function`?{}:n.timeFormat,a=x(C.defaultChunkSize),o=t.mul(a).log(10).round().integer(),s=x(10).pow(o,-o),c=t.mul(x(20)),l=[10n,5n,1n],u=s,d=1n;for(let e of l){let t=s.div(x(e));if(!t.lt(c)){u=t,d=e;break}}if(u.isZero())return;let f=x(d),p=x(1n),m=e[0].div(u).floor().sub(p),h=Math.max(0,-u.log(10).floor().number());for(let t=0;t<1e6;t+=1){m=m.add(p);let t=u.mul(m);if(t.ge(e[1]))break;if(t.lt(e[0]))continue;let a=m.mod(f).isZero(),o={time:t,unit:n.timeUnit??`s`,level:`relative`,digits:h,stride:void 0};yield{time:{time:t},major:a,tick:!0,text:a?r?.(o)??wt({...o,labeler:i}):``}}}function K(e){return{align:t=>bt(t,e),next:t=>xt(t,e)}}function q(e){return e=e.mul(60),{align:t=>bt(t,e),next:t=>xt(t,e)}}function J(e){return e=e.mul(3600),{align:t=>bt(t,e),next:t=>xt(t,e)}}function Y(e){return{align:t=>mt(t,e),next:t=>ht(t,e)}}function X(e){return{align:t=>gt(t,e),next:t=>_t(t,e)}}function Et(e){return{align:t=>vt(t,e),next:t=>yt(t,e)}}const Dt=[{ops:K,stride:1,step:1},{ops:K,stride:5,step:5},{ops:K,stride:10,step:10},{ops:K,stride:15,step:15},{ops:K,stride:30,step:30},{ops:q,stride:1,step:1},{ops:q,stride:5,step:5},{ops:q,stride:10,step:10},{ops:q,stride:15,step:15},{ops:q,stride:30,step:30},{ops:J,stride:1,step:1},{ops:J,stride:3,step:3},{ops:J,stride:6,step:6},{ops:J,stride:12,step:12},{ops:Y,stride:1,step:1},{ops:Y,stride:10,step:[1,10,20]},{ops:X,stride:1,step:1},{ops:X,stride:3,step:3}],Ot=x(86400),kt=x(`2629800`),At=x(`31557600`),jt=x(60),Mt=x(20),Nt=[1n,5n],Pt=[1n,5n],Ft=[`subsecond`,`second`,`minute`,`hour`,`day`,`month`,`year`];function It(e){switch(e.ops){case K:return`second`;case q:return`minute`;case J:return`hour`;case Y:return`day`;case X:return`month`;default:throw Error(`Unknown calendar definition`)}}function Lt(e){let{ops:t,step:n}=e;if(t===K||t===q||t===J)return t(x(n));if(t===Y||t===X)return t(Array.isArray(n)?n.map(e=>BigInt(e)):BigInt(n));throw Error(`Unsupported definition`)}function Rt(e){let t=x(BigInt(e.stride));switch(It(e)){case`second`:return x(e.step);case`minute`:return x(e.step).mul(60);case`hour`:return x(e.step).mul(3600);case`day`:return t.mul(Ot);case`month`:return t.mul(kt);default:return x(0)}}const zt=Dt.map(e=>({level:It(e),stride:BigInt(e.stride),duration:Rt(e),digits:0,create:()=>Lt(e),source:e})).sort((e,t)=>e.duration.lt(t.duration)?-1:e.duration.gt(t.duration)?1:0),Bt=zt.reduce((e,t)=>{let n=e.get(t.level);return n?n.push(t):e.set(t.level,[t]),e},new Map);function Vt(e){if(e.digits<=0n)return 0;let t=e.digits,n=BigInt(2**53-1);return t>n&&(t=n),Number(t)}function Ht(e,t,n){return{level:`subsecond`,stride:1n,duration:e,digits:Vt(e),create:()=>K(e),subsecondMetadata:{exponent:t,factor:n}}}function Ut(e,t,n){let r=t&&t.lt(x(1))?t:x(1),i=e.lt(x(1));if(!i&&!n)return null;let a=i?e:x(1),o;a.isPositive()?(o=a.log(10).floor().integer(),o>=0n&&(o=-1n)):o=-1n;let s=null;for(let e=o;e<0n;e+=1n){let t=x(10).pow(e,-e);for(let n of Nt){let i=t.mul(x(n));if(i.lt(r)){if(a.isZero()||!i.lt(a))return Ht(i,e,n);(!s||s.step.lt(i))&&(s={step:i,exponent:e,factor:n})}}}return n&&s?Ht(s.step,s.exponent,s.factor):null}function Wt(e){let t=e.isPositive()?e:x(0);for(let e of zt)if(t.isZero()||!e.duration.lt(t))return e;return null}function Gt(e,t,n,r){let i=Bt.get(e);if(!i)return null;let a=t.isPositive()?t:x(0),o=null;for(let e of i){if(n&&!e.duration.lt(n))break;if(a.isZero()||!e.duration.lt(a))return e;o=e}return r&&o?o:null}function Kt(e){if(e<=0n)return 1n;let t=1n,n=10n,r=e;for(;r>0n;)(r&1n)==1n&&(t*=n),n*=n,r>>=1n;return t}function Z(e){return{level:`year`,stride:e,duration:x(e).mul(At),digits:0,create:()=>Et(e),yearStride:e}}function qt(e){let t=e.isPositive()?e:x(0);if(t.isZero())return Z(1n);let n=t.div(At).log(10).floor().integer();n<0n&&(n=0n);for(let e=n;;e+=1n){let n=Kt(e);for(let e of Pt){let r=Z(n*e);if(!r.duration.lt(t))return r}}}function Jt(e){return Ft.indexOf(e)}function Yt(e,t){let n=Jt(e.level);if(n<=0)return null;let r=Ft[n-1],i=e.duration;if(e.level===`year`){for(let n of[5n,4n,2n]){if(e.stride%n!==0n)continue;let r=e.stride/n;if(r<=0n)continue;let i=Z(r);if(!i.duration.lt(t)&&i.duration.lt(e.duration))return i}let n=qt(t);return n.duration.lt(e.duration)?n:null}if(e.level===`subsecond`){let n=Ut(t,e.duration,!0);return n&&n.duration.lt(e.duration)?n:null}let a=e.level,o=Bt.get(a)??[];for(let n=o.length-1;n>=0;--n){let r=o[n];if(r.duration.lt(e.duration)&&!r.duration.lt(t))return r}if(r===`subsecond`){let n=Ut(t,i,!0);return n&&n.duration.lt(e.duration)?n:null}return r===`year`?null:Gt(r,t,i,!0)}function Xt(e){if(!e||!e.isPositive())return null;let t=e.mul(jt),n=e.mul(Mt),r=Ut(t,null,!1);if(r||=Wt(t),r||=qt(t),!r)return null;let i=Yt(r,n);return{level:r.level,major:r.create(),minor:i?i.create():null,digits:r.digits,stride:r.stride}}function Zt(e){return e.replace(/[0-9]/g,e=>String.fromCodePoint(e.charCodeAt(0)-48+8320))}function Qt(e){let{time:t,unit:n}=e,r=e,{year:i,month:a,day:o,hour:s,minute:c,second:l,subseconds:u}=ft(G(t,n,`s`)),d=dt({year:i,month:a,day:o}),f=Math.floor((Number(a)-1)/3)+1,p=(e,t)=>e.toString().padStart(t,`0`),m=e=>p(e,2),h=e.labeler??{},g={year:i,quarter:f,month:Number(a),day:Number(o),hour:Number(s),minute:Number(c),second:l,subseconds:u,week:d,digits:r.digits,time:t},_=h.year??(()=>i>0n?i.toString():` ${(1n-i).toString()} BC`),ee=h.quarter??(()=>f===1?`${_(g)} Q${f}`:`Q${f}`),v=h.month??(()=>`${_(g)}/${m(a)}`),y=h.date??(()=>`${m(a)}/${m(o)}(${[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`][d]})`),b=h?.minutes??(()=>`${m(s)}:${m(c)}`),x=r.digits>0?`.`+Zt(u.toFixed(r.digits).split(`.`)[1]):``,S=h.seconds??(()=>`${m(s)}:${m(c)}:${m(l)}${x}`);switch(r.level){case`subsecond`:case`second`:return s===0n&&c===0n&&l===0n&&u.eq(0)?y(g):S(g);case`minute`:case`hour`:return s===0n&&c===0n?y(g):b(g);case`day`:return y(g);case`month`:return r.stride===3n?ee(g):v(g);case`year`:default:return _(g)}}function $t(e,t,n){if(!e)return null;let r=e.next(t);return!r||r.le(t)||r.ge(n)?null:r}function*en(e,t,n){if(!e[0]||!e[1])return;let r=n.timeUnit??`s`,i=G(e[0],r,`s`),a=G(e[1],r,`s`);if(a.le(i))return;t=G(t,r,`s`);let o=Xt(t);if(!o)return;let s=typeof n.timeFormat==`function`?n.timeFormat:void 0,c=o.major.align(i),l=o.minor?.align(i)??null;for(;c||l;){if(c!=null&&(l==null||c.le(l))&&c){if(i.le(c)){let e=G(c,`s`,r);yield{time:{time:e},major:!0,tick:!0,text:s?.({time:e,unit:r,...o})??Qt({time:e,unit:r,...o,labeler:typeof n.timeFormat==`function`?void 0:n.timeFormat})}}l&&l.eq(c)&&(l=$t(o.minor,l,a)),c=$t(o.major,c,a);continue}l&&=(i.le(l)&&(yield{time:{time:G(l,`s`,r)},major:!1,tick:!0,text:``}),$t(o.minor,l,a))}}var tn=class extends We{constructor(e){e={...e,timeAxis:St(e.timeAxis,{timeUnit:`s`})},super(e)}async loadChunk(e){let t=[...this.options.timeAxis.relative?Tt(e.range,e.resolution,this.options.timeAxis):en(e.range,e.resolution,this.options.timeAxis)].map(e=>({...e,time:{time:e.time.time,_minTime:e.time.time,_maxTime:e.time.time}}));return{...e,data:t}}},nn=class{#e;#t;constructor(e){let{maxSize:t}=e;if(!(typeof t==`number`&&Number.isFinite(t)&&t>0))throw TypeError("`maxSize` must be a number greater than 0");this.#e=Math.floor(t),this.#t=new Map}get size(){return this.#t.size}get maxSize(){return this.#e}get(e){if(!this.#t.has(e))return;let t=this.#t.get(e);return this.#t.delete(e),this.#t.set(e,t),t}set(e,t){if(this.#t.has(e)&&this.#t.delete(e),this.#t.set(e,t),this.#t.size>this.#e){let e=this.#t.keys().next().value;e!==void 0&&this.#t.delete(e)}return this}has(e){return this.#t.has(e)}delete(e){return this.#t.delete(e)}clear(){this.#t.clear()}*keys(){let e=Array.from(this.#t.keys());for(let t=e.length-1;t>=0;t--)yield e[t]}*values(){for(let[,e]of this)yield e}*entries(){yield*this[Symbol.iterator]()}*[Symbol.iterator](){let e=Array.from(this.#t.entries());for(let t=e.length-1;t>=0;t--)yield e[t]}};function rn(e,t,n=C.defaultChunkSize){let r=Ce(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function an(e){return!!(S(e)||typeof e==`number`||typeof e==`string`||typeof e==`bigint`)}function on(e){return e==null?{shrink:!0,expand:!0,default:[x(0),void 0]}:Array.isArray(e)?{shrink:!0,expand:!0,default:e.map(x)}:typeof e==`number`||an(e)?{shrink:!0,expand:!0,default:[x(0),x(e)]}:e.default!=null&&!Array.isArray(e.default)?{shrink:e.shrink??!0,expand:e.expand??!0,default:[x(0),x(e.default)]}:{shrink:e.shrink??!0,expand:e.expand??!0,default:(e.default??[0,void 0]).map(x)}}function sn(e,t){return e._minTime?.le(t[1])&&t[0]?.le(e._maxTime)}var cn=class{#e;#t;#n;#r=new nn({maxSize:256});#i={};#a;constructor(e){this.#e=e.options,this.#t=e.sources,this.#a=e.options.data.color,this.#n=on(e.options.data.range)}get name(){return this.#e.data.name??``}get digits(){return this.#e.data.digits??1}get unit(){return this.#e.data.unit??``}get zoomLevels(){return this.#t[this.#e.data.source].zoomLevels}get chunkSize(){return this.#t[this.#e.data.source].chunkSize}get options(){return this.#e}async loadChunk(e){let t=await this.#t[this.#e.data.source].loadChunk(e),n=this.#e.data.parser?.(t.data)??t.data;if(!Array.isArray(n))throw Error(`Invalid data from the source after parsed.`);let r=Object.fromEntries((Array.isArray(this.#e.data.time)?this.#e.data.time.map(e=>[e,e]):Object.entries(typeof this.#e.data.time==`string`||this.#e.data.time==null?{time:this.#e.data.time??`time`}:this.#e.data.time)).map(([e,t])=>[e,typeof t==`function`?t:ye(t)])),i=Object.fromEntries((Array.isArray(this.#e.data.value)?this.#e.data.value.map(e=>[e,e]):Object.entries(typeof this.#e.data.value==`string`||this.#e.data.value==null?{value:this.#e.data.value??`value`}:this.#e.data.value)).map(([e,t])=>[e,typeof t==`function`?t:ye(t)])),a=n.map(e=>{let t=Object.fromEntries(Object.entries(r).map(([t,n])=>[t,E(n(e))])),n=Object.fromEntries(Object.entries(i).map(([t,n])=>[t,re(n(e))]).filter(([,e])=>e!==void 0)),[a,o]=ne(...Object.values(t));return t._minTime=a,t._maxTime=o,{time:t,value:n,data:e}});return this.#r.set(t.id,a),{...t,data:a}}updateDataRange(e,t){t=we(t,this.zoomLevels);let[n,r]=ne(...rn(e,t,this.chunkSize).flatMap(({id:t})=>{let n=this.#r.get(t);return n?n.flatMap(t=>sn(t.time,e)?ne(...Object.values(t.value)):[]):[]}));n==null||r==null||(this.#i={min:this.#n.default[0]==null?n:this.#n.expand?x.min(n,this.#n.default[0],...this.#n.shrink?[]:[this.#i.min]):this.#n.default[0],max:this.#n.default[1]==null?r:this.#n.expand?x.max(r,this.#n.default[1],...this.#n.shrink?[]:[this.#i.max]):this.#n.default[1]})}get color(){return this.#a}get dataRange(){let e=x.max(this.#i.min?.abs(),this.#i?.max?.abs());return{...this.#i,amp:e}}};function ln(e){return new cn(e)}var un=class extends T{#e=`initial`;#t;#n;#r;#i;#a;#o;#s;get id(){return this.#o}get seq(){return this.#s}get range(){return this.#t}get resolution(){return this.#n}get zoom(){return this.#r}get state(){return this.#e}get expired(){return this.#e!==`loaded`&&this.#e!==`error`||this.#c<=Date.now()}#c=0;get expires(){return this.#c}setExpires(e){this.#c=e}invalidate(){this.#c=0}constructor(e){super(),this.#o=e.id,this.#s=e.seq,this.#t=e.range,this.#n=e.resolution,this.#r=e.zoom,this.#i=e.loader}reload(){return this.load(!0)}async load(e=!1){if(this.#a&&(this.#e===`loading`||!e&&!this.expired))return await this.#a;this.#e=`loading`,this.#c=1/0;try{let e={id:this.#o,seq:this.#s,expires:1/0,range:this.#t.map(e=>e?.clone()),zoom:this.#r,resolution:this.#n.clone()};return this.#a=this.#i(e,{expiresAt:t=>e.expires=t,expiresIn:t=>e.expires=t+Date.now()}).then(t=>(this.#e=`loaded`,this.#c=e.expires??1/0,this.changed(),t||null)),await this.#a}catch(e){return console.error(e),this.#e=`error`,this.changed(),null}}};function dn(e){return async(t,n)=>{let r=await e(t,n);return r instanceof Response?await r.json():r}}var Q=class extends T{#e=new nn({maxSize:1e3});zoomLevels;chunkSize;loader;constructor(e){if(super(),this.chunkSize=e.chunkSize||C.defaultChunkSize,this.zoomLevels=e.zoomLevels,`loader`in e)this.loader=dn(e.loader);else if(`data`in e)this.zoomLevels=[0],this.chunkSize=0,this.loader=async()=>e.data;else if(`url`in e)e.url.match(/{[a-zA-Z]+}/)?this.loader=dn(async t=>{let n=e.url.replace(/{[a-zA-Z]+}/g,e=>{switch(e.substring(1,e.length-1)){case`z`:case`zoom`:return t.zoom.toString();case`r`:case`resolution`:return t.resolution.rescale().toString();case`s`:case`start`:return t.range[0].rescale().toString();case`e`:case`end`:return t.range[1].rescale().toString();default:return console.warn(`Unknown template string is found in the URL: `+e),e}});return await fetch(n)}):(this.zoomLevels=[0],this.chunkSize=0,this.loader=dn(()=>fetch(e.url)));else throw Error(`No source`)}async loadChunk({id:e,seq:t,range:n,resolution:r,zoom:i}){let a=this.#t(e,t,n,r,i),o=await a.load()??void 0;return{id:e,seq:t,expires:a.expires,range:n,resolution:r,zoom:i,data:o}}#t(e,t,n,r,i){let a=this.#e.get(e);return a||(a=new un({id:e,seq:t,loader:this.loader,range:n,resolution:r,zoom:i}),this.#e.set(e,a)),a}async loadData(e,t){t=we(t,this.zoomLevels);let n=rn(e,t,this.chunkSize);return await Promise.all(n.map(e=>this.loadChunk(e)))}async expireChunks(e){for(let t of this.#e.values())(!e||!t.range[1]||t.range[1].gt(e[0])||!t.range[0]||t.range[0].lt(e[1]))&&t.invalidate();this.changed()}};function fn(e){return typeof e==`string`?new Q({url:e}):typeof e==`function`?new Q({loader:e}):e instanceof Q?e:typeof e==`object`&&e&&[`url`,`loader`,`data`].some(t=>t in e)?new Q(e):new Q({data:e})}function pn(e={}){let t=URL.createObjectURL(new Blob([`URL.revokeObjectURL(self.location.href);`,"(function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<b.length?b[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<x.length?x[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*v)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(y))return{exponent:0n,remainder:y.clone()};if(e.ge(y))return m(e,t,n,r);let a=m(y.div(e,i),t,n,r);return a.remainder.eq(y)?{exponent:-a.exponent,remainder:y.clone()}:{exponent:-a.exponent-1n,remainder:y.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return C(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(y,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=S(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=S(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=S(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=S(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=S(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=S(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=S(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=w(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(w(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(y))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(y),p=f?y.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let v=i===0?0:c;return this.round$(v),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\\x1b[33m${this.toString()}\\x1b[m \\x1b[90m(${this.coeff} * 10 ** ${-this.digits})\\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,v=Math.log2(10),y=new g(1n),b=[],x=[];(function(){for(let e=0;e<256;e++)x[e]=10n**BigInt(e),b[e]=5n**BigInt(e)})();function S(e){return e==null||C(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=S(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(S||={});let C=S.isDecimal;S.isDecimalLike;let w=S.pow10;S.minmax,S.min,S.max;let ee=0;function te(e){return function(t,n,r={rpc:!1}){let i=++ee;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:re(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(E(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function ne(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](E(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:re(o)})}),t}function T(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=T(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=T(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=T(e[r],t,n);return n.delete(e),i}function re(e,t){return T(e,t,new WeakSet)}function ie(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function E(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(ie(e))return S(e);if(Array.isArray(e))return e.map(E);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=E(e[n]);return t}return e}}function ae(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>ae(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,ae(n,...t)])):e}function oe(e){return Object.prototype.toString.call(e)===`[object Object]`}function D(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&oe(r)?((!i||typeof i!=`object`)&&(e[n]={}),D(e[n],r)):e[n]=r}return e}var O={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function se(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var ce=class{uid=se(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},k=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},A=class extends ce{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}},j=class extends A{constructor(){super()}updateOptions(e){}render(e){}preRender(e){}postRender(e){}onPointerEvent(e,t){}pointerStyle(e,t){}};function le(e,t,n){if(!t)return;let{height:r}=e.size,i=e.ctx,[a,o]=e.timeAxis.p(t);i.fillStyle=n,i.fillRect(a,0,o-a,r)}function ue(e,t,n){if(!t)return;let{width:r,height:i}=e.size,a=e.ctx,[o,s]=e.timeAxis.p(t);a.fillStyle=n,0<o&&a.fillRect(0,0,Math.min(o,r),i),s<r&&a.fillRect(s,0,r-s,i)}function de(e){let t=e.ctx,n=e.size.height,r=Math.round(e.timeAxis.cursor.p);t.fillStyle=`white`,t.strokeStyle=`red`,t.lineWidth=1,t.fillRect(r-1,0,3,n),t.beginPath(),t.moveTo(r+.5,0),t.lineTo(r+.5,n),t.stroke()}function M(e,t,n){let r=e.ctx,i=e.dpr,a={width:r.canvas.width/i,height:r.canvas.height/i};r.save(),t?(r.translate(0,t.oy),a.height=t.height,e.renderingTrack=t):e.renderingTrack=null,e.chart.ox=e.options.padding[3]??0,e.chart.oy=e.options.padding[0]??0,e.chart.width=a.width-e.chart.ox-e.options.padding[1],e.chart.height=a.height-e.chart.oy-e.options.padding[2],e.size.width=a.width,e.size.height=a.height,r.beginPath(),r.rect(0,0,e.size.width,e.size.height),r.clip(),n(e),r.restore()}function N(e,t){e.tracks.forEach(n=>M(e,n,()=>t(n.id,n)))}function P(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}function F(e,t,n=O.clickTolerance){return e&&e-n<=t&&t<=e+n}var fe=class extends j{#e=null;#t=`rgba(0, 0, 255, 0.2)`;#n=!1;#r=!1;#i=!0;#a=S(0n);#o=8;constructor(){super(),this.on(`change`,()=>{this.dispatchEvent(new k(`renderer:event`,{range:this.#e,resizing:this.#r}))})}updateOptions(e){let t=e.selection;t!==void 0&&(t===!1?(this.#i=!1,this.#e=null):t===!0?this.#i=!0:(t.resizable!==void 0&&(this.#i=t.resizable),t.color!==void 0&&(this.#t=t.color),t.invert!==void 0&&(this.#n=t.invert),t.range!==void 0&&(this.#e=t.range)),this.changed())}#s({shiftKey:e,buttons:t},n){if(!this.#i)return!1;let r=t[0].latest.x;if(e){let e=n.timeAxis.t(r);return this.#r=!0,this.#a=e,this.#e=[e,e],this.changed(),!0}if(!this.#e)return!1;let i=n.timeAxis.p(this.#e);if(F(i[0],r,this.#o)){let e=this.#e[1];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}else if(F(i[1],r,this.#o)){let e=this.#e[0];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}return!1}#c({buttons:e},t){if(!this.#i||!this.#r)return!1;let n=t.timeAxis.t(e[0].latest.x),r=this.#a;return this.#e=n.lt(r)?[n,r]:[r,n],this.changed(),!0}#l(e,t){if(!this.#i||!this.#r||!this.#e)return!1;this.#r=!1;let n=t.timeAxis.p(this.#e[0]),r=t.timeAxis.p(this.#e[1]);return Math.abs(n-r)<this.#o&&(this.#e=null),this.changed(),!0}onPointerEvent(e,t){if(this.#i)switch(e.type){case`down`:return this.#s(e,t);case`drag:update`:return this.#c(e,t);case`up`:return this.#l(e,t)}}pointerStyle(e,t){if(!this.#e||!this.#i)return;let n=t.timeAxis.p(this.#e);if(this.#r&&F(n[0],n[1],this.#o))return`not-allowed`;if(F(n[0],e.buttons[0].latest.x,this.#o))return`w-resize`;if(F(n[1],e.buttons[0].latest.x,this.#o))return`e-resize`}render(e){M(e,null,()=>{this.#n?ue(e,this.#e,this.#t):le(e,this.#e,this.#t)})}};function pe(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function I(e,t,n){let{min:r,max:i,amp:a}=n;if(t){let e=r&&r.isPositive()&&r?.log(10),t=i&&i.isPositive()&&i?.log(10);if(!e||!t||t.eq(e))return null;let n=t.sub(e);return t=>{if(!t)return null;if(!t.isZero()&&!t.isNegative())return t.log(10).sub(e).div(n).number()}}else return!a||!r||!i||a.eq(0)||r.eq(i)?null:e?e=>e?.div(a).number():e=>e?.sub(r).div(i.sub(r)).number()}let me=[`link:fill`,`link:stroke`,`marks`];function L(e,t,n){let r=typeof n.lineWidth==`number`&&isFinite(n.lineWidth)?n.lineWidth:1,i=Math.max(.75,r/2),a=new Path2D;a.arc(t.x,t.y,i,0,Math.PI*2),e.addPath(a)}function R(e,t,n,r){if(isNaN(t.y)||isNaN(n.y))return;let i=typeof r.lineWidth==`number`&&isFinite(r.lineWidth)?r.lineWidth:1,a=Math.max(1,i)/2;e.moveTo(t.x-a,t.y),e.lineTo(t.x+a,t.y),e.lineTo(n.x+a,n.y),e.lineTo(n.x-a,n.y),e.closePath()}function he(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=null,o=0,s=()=>{o===1&&a&&L(r,a,n),a=null,o=0};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){s();continue}o===0?(r.moveTo(e,n),a={x:e,y:n}):r.lineTo(e,n),o++}return s(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function z(e,t){if(!t.length)return;if(t.length===1){e.moveTo(t[0].x,t[0].y);return}if(t.length===2){e.moveTo(t[0].x,t[0].y),e.lineTo(t[1].x,t[1].y);return}let n=t.length,r=Array(n-1),i=Array(n-1);for(let e=0;e<n-1;e++)r[e]=t[e+1].x-t[e].x,i[e]=r[e]===0?0:(t[e+1].y-t[e].y)/r[e];let a=Array(n);a[0]=i[0];for(let e=1;e<n-1;e++)a[e]=(i[e-1]+i[e])/2;a[n-1]=i[n-2];for(let e=0;e<n-1;e++){if(i[e]===0||!isFinite(i[e])){a[e]=0,a[e+1]=0;continue}if(a[e]===0&&a[e+1]===0)continue;if(a[e]*i[e]<0||a[e+1]*i[e]<0){a[e]=0,a[e+1]=0;continue}let t=a[e]/i[e],n=a[e+1]/i[e],r=t*t+n*n;if(r>9){let o=3/Math.sqrt(r);a[e]=o*t*i[e],a[e+1]=o*n*i[e]}}e.moveTo(t[0].x,t[0].y);for(let i=0;i<n-1;i++){let n=r[i],o=t[i],s=t[i+1],c=o.x+n/3,l=o.y+a[i]*n/3,u=s.x-n/3,d=s.y-a[i+1]*n/3;e.bezierCurveTo(c,l,u,d,s.x,s.y)}}function ge(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=[],o=()=>{if(a.length){if(a.length===1){L(r,a[0],n),a=[];return}z(r,a),a=[]}};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){o();continue}a.push({x:e,y:n})}return o(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function _e(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&(isNaN(a[o].y1)||isNaN(a[o].y2));)o++;if(o>=a.length)break;let e=[];for(;o<a.length&&!isNaN(a[o].y1)&&!isNaN(a[o].y2);)e.push(a[o]),o++;if(e.length===1){R(r,{x:e[0].x1,y:e[0].y1},{x:e[0].x2,y:e[0].y2},n);continue}z(r,e.map(e=>({x:e.x1,y:e.y1})));let t=e[e.length-1];r.lineTo(t.x2,t.y2);for(let t=e.length-2;t>=0;t--)r.lineTo(e[t].x2,e[t].y2);r.closePath()}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function ve(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&isNaN(a[o].y1);)o++;if(o>=a.length)break;let e=o;for(r.moveTo(a[e].x1,a[e].y1);o<a.length&&!isNaN(a[o].y1);)r.lineTo(a[o].x1,a[o].y1),o++;let t=o--,i=!1;for(;o>=e&&!isNaN(a[o].y2);)r.lineTo(a[o].x2,a[o].y2),o--,i=!0;!i&&!isNaN(a[e].y2)&&(r.lineTo(a[e].x2,a[e].y2),i=!0),r.lineTo(a[e].x1,a[e].y1),t-e===1&&i&&R(r,{x:a[e].x1,y:a[e].y1},{x:a[e].x2,y:a[e].y2},n),o=t}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function B(e,t=`value@time`){return function(n,r,i){let a=new Path2D,o=K(r??t),s=n.map(o);for(let t of s){let n=t.x2-t.x1,r=t.y2-t.y1,o=Math.hypot(n,r),s=Math.atan2(r,n)*180/Math.PI,c=new Path2D;e(c,{style:i,dx:n,dy:r,l:o});let l=new DOMMatrix().translate(t.x1,t.y1).rotate(s).translate(i.offset?.[0]??0,i.offset?.[1]??0).rotate(i.angle??0);a.addPath(c,l)}return{path:a,strokeStyle:i.lineColor??i.color??`black`,fillStyle:G(i.fillColor??i.color??`black`,i.fillOpacity??.25,`white`)}}}function V(e,t){let n=K(t??`value@time`);return{path:e.map(n).map(({x1:e,y1:t})=>({x:e,y:t}))}}let ye={line:{defaultUsing:`value@time`,predicate:e=>!isNaN(e.y1),hasBottom:!1},area:{defaultUsing:[`value@time`,`zero@time`],predicate:e=>!isNaN(e.y1)&&!isNaN(e.y2),hasBottom:!0}};function be(e,t,n){if(n===`start`)return[{x:t.x,y:e.y},{x:t.x,y:t.y}];if(n===`end`)return[{x:e.x,y:t.y},{x:t.x,y:t.y}];let r=(e.x+t.x)/2;return[{x:r,y:e.y},{x:r,y:t.y},{x:t.x,y:t.y}]}function H(e,t,n){let r=[],i=null;for(let a of e){let e=t(a);if(isNaN(e.y)){i=null;continue}i?r.push(...be(i,e,n)):r.push(e),i=e}return r}function U(e,t){let n=ye[t];return function(r,i,a){let o=K(i??n.defaultUsing),s=r.map(o),c=[],l=xe(s,e,n,a,c);if(t===`line`)for(let e of c)L(l,e,a);return{path:l,strokeStyle:a.lineColor??a.color??`black`,fillStyle:G(a.fillColor??a.color??`black`,a.fillOpacity??.25,`transparent`)}}}function xe(e,t,n,r,i=[]){let a=new Path2D,o=0;for(;o<e.length;){for(;o<e.length&&!n.predicate(e[o]);)o++;if(o>=e.length)break;let s=o,c=[];for(;o<e.length&&n.predicate(e[o]);)c.push(e[o]),o++;let l=o;if(!c.length)continue;let u=Se(c,t,{left:s>0?e[s-1]:null,right:l<e.length?e[l]:null}),d=H(u,e=>({x:e.x1,y:e.y1}),t);if(!d.length)continue;let f=d.length===1,p=[];if(n.hasBottom){if(p=H(u,e=>({x:e.x2,y:e.y2}),t),!p.length)continue;if(f&&p.length===1){R(a,d[0],p[0],r);continue}}a.moveTo(d[0].x,d[0].y);for(let e=1;e<d.length;e++)a.lineTo(d[e].x,d[e].y);if(!n.hasBottom){f&&i.push(d[0]);continue}for(let e=p.length-1;e>=0;e--)a.lineTo(p[e].x,p[e].y);a.lineTo(d[0].x,d[0].y)}return a}function Se(e,t,n){let r=e.map(e=>({...e}));return r.length?(Ce(r,t,n.left),we(r,t,n.right),r):r}function Ce(e,t,n){if(!n)return;let r=Te(t,n.x1,e[0].x1);r==null||r===e[0].x1||e.unshift(W(e[0],r))}function we(e,t,n){if(!n)return;let r=e[e.length-1],i=Ee(t,n.x1,r.x1);i==null||i===r.x1||e.push(W(r,i))}function Te(e,t,n){if(t==null||isNaN(t)||e===`start`)return null;if(e===`end`)return t;let r=(t+n)/2;return isNaN(r)?null:r}function Ee(e,t,n){if(t==null||isNaN(t)||e===`end`)return null;if(e===`start`)return t;let r=(n+t)/2;return isNaN(r)?null:r}function W(e,t){return{x1:t,y1:e.y1,x2:t,y2:e.y2}}function G(e,t,n=`transparent`){return`color-mix(in srgb, ${e} ${t*100}%, ${n})`}function K(e){let[[t,n],[r,i]]=pe(e);return function(e){return{x1:e.x[n],y1:e.y[t],x2:e.x[i],y2:e.y[r]}}}function De(e){return(typeof e==`number`||e==null)&&(e=[e??0]),{t:e[0],r:e[1]??e[0],b:e[2]??e[0],l:e[3]??e[1]??e[0]}}let Oe={\"link:line\":[he,{stroke:!0}],\"link:curve\":[ge,{stroke:!0}],\"link:area\":[ve,{fill:!0}],\"link:curve-area\":[_e,{fill:!0}],\"link:step-area-start\":[U(`start`,`area`),{fill:!0}],\"link:step-area\":[U(`mid`,`area`),{fill:!0}],\"link:step-area-end\":[U(`end`,`area`),{fill:!0}],\"link:step-start\":[U(`start`,`line`),{stroke:!0}],\"link:step\":[U(`mid`,`line`),{stroke:!0}],\"link:step-end\":[U(`end`,`line`),{stroke:!0}],\"mark:circle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(n,0),e.arc(0,0,n,0,Math.PI*2)}),{stroke:!0,fill:!0}],\"mark:minus\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(-n,0),e.lineTo(n,0)}),{stroke:!0,fill:!1}],\"mark:triangle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(0,-n),e.lineTo(+n*Math.sqrt(3)/2,n/2),e.lineTo(-n*Math.sqrt(3)/2,n/2),e.closePath()}),{stroke:!0,fill:!0}],\"mark:square\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.rect(-t/2,-t/2,t,t)}),{stroke:!0,fill:!0}],\"mark:diamond\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(0,-t/2),e.lineTo(t/2,0),e.lineTo(0,t/2),e.lineTo(-t/2,0),e.closePath()}),{stroke:!0,fill:!0}],\"mark:star\":[B((e,{style:{size:t}})=>{t??=5;let n=t/2,r=n*.4;for(let t=0;t<10;t++){let i=t%2==0?n:r,a=Math.PI/5*t-Math.PI/2,o=i*Math.cos(a),s=i*Math.sin(a);t===0?e.moveTo(o,s):e.lineTo(o,s)}e.closePath()}),{stroke:!0,fill:!0}],\"mark:plus\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(-t/2,0),e.lineTo(t/2,0),e.moveTo(0,-t/2),e.lineTo(0,t/2)}),{stroke:!0}],\"mark:cross\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.moveTo(-t/2,-t/2),e.lineTo(t/2,t/2),e.moveTo(-t/2,t/2),e.lineTo(t/2,-t/2)}),{stroke:!0}],\"mark:path\":[B((e,{style:{path:t,size:n,scale:r,origin:i}})=>{let a=new DOMMatrix().scale(r??1).scale(n??5).translate(-(i?.[0]??0),-(i?.[1]??0));e.addPath(new Path2D(t),a)}),{stroke:!0,fill:!0}],\"mark:line\":[B((e,{l:t})=>{e.moveTo(0,0),e.lineTo(t,0)},[`min`,`max`]),{stroke:!0}],\"mark:box\":[B((e,{l:t,style:{size:n,radius:r,padding:i}})=>{n??=5;let a=De(i),o=-a.l,s=-(a.t+n/2),c=a.l+t+a.r,l=a.t+n+a.b;r&&r>0?e.roundRect(o,s,c,l,r):e.rect(o,s,c,l)},[`min`,`max`]),{stroke:!0,fill:!0}],\"mark:section\":[B((e,{l:t,style:{size:n}})=>{n??=5,e.moveTo(0,-n/2),e.lineTo(0,n/2),e.moveTo(0,0),e.lineTo(t,0),e.moveTo(t,-n/2),e.lineTo(t,n/2)},[`min`,`max`]),{stroke:!0}],\"mark:icon\":[V,{fill:!0}],\"mark:text\":[V,{fill:!0}]};var ke=class extends j{updateOptions(e){super.updateOptions(e)}#e=S(0);#t={};render(e){super.render(e),this.#n(e),this.#r(e)}#n(e){let t=this.#e.neq(e.timeAxis.current.resolution);if(this.#e=e.timeAxis.current.resolution.clone(),e.options.series)for(let n in e.options.series){let r=e.options.series[n],i=r.track??e.tracks[0].id,a=e.tracks.find(e=>e.id===i),{data:o,meta:s,revision:c}=e.dataCaches[`series:${n}:chart`];if(this.#t[n]&&!t&&this.#t[n].revision===c&&this.#t[n].trackId===i)continue;this.#t[n]={time:e.timeAxis.current.range[0],trackId:i,revision:c,linkOps:[],markOps:[]};let l=s.color,u=[],d=I(a.symmetric,r.data.scale===`log`,s);if(d){for(let e=0;e<o.length;e++){let t=o[e].time,r=o[e].value,i={x:{},y:{zero:a.y(0)}};for(let e in t)i.x[e]=t[e].sub(this.#t[n].time).div(this.#e,3).number();for(let e in r)i.y[e]=a.y(d(r[e]));u.push(i);for(let t of o[e].marks){if(!t)continue;let e={color:l,...t.style??{}},[r,a]=Oe[`mark:${t.draw}`],{path:o,strokeStyle:s,fillStyle:c,postFillStyle:u}=r?.([i],t.using,e)??{};this.#t[n].markOps||(this.#t[n].markOps=[]),this.#t[n].markOps.push({type:`mark`,draw:t.draw,time:this.#t[n].time,path:o,style:{...e,strokeStyle:s,fillStyle:c,postFillStyle:u,...a}})}}for(let e of s.links??[]){if(!e)continue;let t={color:l,...e.style??{}},[r,i]=Oe[`link:${e.draw}`],{path:a,strokeStyle:o,fillStyle:s}=r?.(u,e.using,t)??{};this.#t[n].linkOps||(this.#t[n].linkOps=[]),this.#t[n].linkOps.push({type:`link`,draw:e.draw,time:this.#t[n].time,path:a,style:{...t,strokeStyle:o,fillStyle:s,...i}})}}}}#r(e){if(!e.options.series)return;let t={};for(let n in this.#t){let r=this.#t[n];t[r.trackId]||(t[r.trackId]={});let i=r.time.sub(e.timeAxis.current.time??e.timeAxis.now).div(this.#e,3).number()+e.timeAxis.axisLength[0];for(let e of r.linkOps){let n=e.draw.includes(`area`)?`link:fill`:`link:stroke`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}for(let e of r.markOps){let n=`marks`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}}for(let n of e.tracks)M(e,n,()=>{let r=e.ctx;for(let i of me){if(!t?.[n.id]?.[i])continue;let a=t[n.id][i];for(let t of a)r.save(),r.translate(t.ox,t.oy),t.path instanceof Path2D?Ae(e,t.path,t.style):t.path&&(Me(e,t.path,t.style),je(e,t.path,t.style)),r.restore()}})}};function Ae({ctx:e},t,n){!t||!(t instanceof Path2D)||(n.fill&&!n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)),n.stroke&&n.strokeStyle&&(n.lineWidth??1)>0&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.strokeStyle,e.lineWidth=n.lineWidth??1,n.lineDashArray&&(e.setLineDash(n.lineDashArray),e.lineDashOffset=n.lineDashOffset??0),e.stroke(t)),n.fill&&n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)))}function je({ctx:e},t,n){if(n.text){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.fontWeight??`normal`} ${n.size??14}px ${n.fontFamily??`sans-serif`}`,e.textAlign=n.textAlign??`center`,e.textBaseline=n.textBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.textOutline||n.textOutlineColor!==void 0||n.textOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.textOutlineColor??`white`,e.lineWidth=n.textOutlineWidth??2,e.strokeText(n.text??``,0,0)),e.fillStyle=G(n.textColor??n.color??`black`,n.textOpacity??1),e.fillText(n.text??``,0,0),e.restore()}}function Me({ctx:e},t,n){if(n.icon){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.iconFontWeight??`normal`} ${n.size??16}px ${n.iconFontFamily??`icons`}`,e.textAlign=n.iconAlign??`center`,e.textBaseline=n.iconBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.iconOutline||n.iconOutlineColor!==void 0||n.iconOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.iconOutlineColor??`white`,e.lineWidth=n.iconOutlineWidth??2,e.strokeText(n.icon??``,0,0)),e.fillStyle=G(n.iconColor??n.color??`black`,n.iconOpacity??1),e.fillText(n.icon??``,0,0),e.restore()}}var Ne=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},q=class extends Ne{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}};function Pe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).lt(t)?r=a+1:i=a}return r}function Fe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).le(t)?r=a+1:i=a}return r}function Ie(e,[t,n],r){let i=t===void 0?0:Pe(e,t,r),a=n===void 0?e.length:Pe(e,n,r);return i<a?[i,a]:[0,0]}function Le(e,t){let n=(e,t,n,r)=>Math.min(t,r)-Math.max(e,n),r=n(e.point.x,e.point.x+e.box.width+2,t.point.x,t.point.x+t.box.width+2),i=n(e.point.y,e.point.y+e.box.height+2,t.point.y,t.point.y+t.box.height+2);return r<=0||i<=0?null:{w:r,h:i,d:Math.hypot(r,i)}}function Re(e,t,n){let r=0,i=0,a=new q(0,0);do{r=0;let i=e.map(e=>({...e,force:(e?.force??new q(.01*e.id,0)).set(.01*e.id,0)}));for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],r=i[t];if(n===r||n.sideX!==r.sideX)continue;let o=Le(n,r);if(o)if(n.point.distanceTo(r.point)===0){let e=[0,o.h/2];n.force.sub(e),r.force.add(e)}else{let e=a.set(...r.point.values).sub(n.point).normalize(),t=[o.w/2*e.x,o.h/2*e.y];n.force.sub(t),r.force.add(t)}}i.forEach(e=>{let t=a.set(e.point.x,0);e.force.sub(t.normalize().scale(.2))});for(let e=0;e<i.length;e++){let a=i[e];a.point.add(a.force),a.point.x<0&&(a.force.x+=a.point.x,a.point.x-=a.point.x),a.point.y-a.box.height/2<0+t&&(a.force.y+=a.point.y-a.box.height/2-t,a.point.y-=a.point.y-a.box.height/2-t),a.point.y+a.box.height/2+1>n&&(a.force.y+=a.point.y+a.box.height/2+1-n,a.point.y-=a.point.y+a.box.height/2+1-n),r+=a.force.norm**2}}while(r>1&&i++<100);return i<100}var ze=class extends j{postRender(e){super.postRender(e),this.#t(e)}#e(e,t){if(!e)return;let n=Fe(e,t,e=>e.time.time);if(0<n&&n<=e.length)return e[n-1]}#t(e){if(e.timeAxis.animating||!e.options.series)return;let t=e.timeAxis.cursor.time??S(Date.now()/1e3);N(e,(n,r)=>{let i=e.ctx,a=[],o=1;i.textBaseline=`middle`,i.textAlign=`left`;for(let n of r.seriesKeys){let s=e.options.series?.[n];if(!s)throw Error(`Invalid series`);if(s.tooltip===!1)continue;let{data:c,meta:l}=e.dataCaches[`series:${n}:instantaneous`];if(!l)continue;let u=I(r.symmetric,s.data.scale===`log`,l);if(!u)continue;let d=this.#e(c,t);if(!d)continue;let f=d.time.time;if(!f)continue;let p=e.timeAxis.p(f),m=d.value,h=d.text,g=i.measureText(h),_=l.color;if(m==null)continue;let v=r.y(u(m));a.push({id:a.length,cx:p,cy:v,point:new q(0,v),color:_,metrics:g,sideX:o,text:{dx:6,dy:0,value:h},box:{dx:.5,dy:.5-g.fontBoundingBoxAscent-2,width:12+g.width,height:4+g.fontBoundingBoxAscent+g.fontBoundingBoxDescent}}),o=-o}Re(a,e.chart.oy,e.chart.oy+e.chart.height);for(let e of a)e.point.x=e.cx+e.sideX*(e.point.x+20);for(let{cx:e,cy:t,point:n,color:r}of a)i.beginPath(),i.moveTo(e,t),i.lineTo(n.x,n.y),i.strokeStyle=`white`,i.lineWidth=3,i.stroke(),i.strokeStyle=r,i.lineWidth=1,i.setLineDash([3]),i.stroke(),i.setLineDash([]);for(let{cx:e,cy:t,point:n,sideX:r,text:o,color:s,box:c}of a)i.beginPath(),i.arc(e,t,3,0,Math.PI*2),i.fillStyle=s,i.fill(),i.strokeStyle=`white`,i.stroke(),i.beginPath(),i.roundRect(n.x+c.dx,n.y+c.dy,c.width*r,c.height,4),i.shadowBlur=3,i.shadowColor=`black`,i.shadowOffsetX=0,i.shadowOffsetY=1,i.fillStyle=s,i.fill(),i.shadowBlur=0,i.shadowColor=`transparent`,i.shadowOffsetX=0,i.shadowOffsetY=0,i.lineWidth=1,i.strokeStyle=`white`,i.stroke(),i.textBaseline=`middle`,i.textAlign=r<0?`right`:`left`,i.fillStyle=`white`,i.fillText(o.value,n.x+r*o.dx,n.y+o.dy)})}};function Be(e,t={}){return{font:`${e?.fontWeight??t?.fontWeight??`normal`} ${e?.fontSize??t?.fontSize??`12px`} \"${e?.fontFamily??t?.fontFamily??`BIZ UDPGothic`}\"`,color:e?.color??t?.color}}var Ve=class extends j{render(e){super.render(e),N(e,()=>{this.#t(e)})}preRender(e){super.preRender(e),N(e,()=>{this.#e(e)})}#e(e){let t=e.ctx,{width:n}=e.size,r=e.renderingTrack.axisY,i=e.renderingTrack.id,a=P(e.options.tracks?.[i].timeAxis,{});if(!a)return;let o=e.dataCaches[`tracks:${i}:timeAxis`]?.data;o&&(t.beginPath(),a.axis!==!1&&(t.strokeStyle=(typeof a.axis==`object`?a.axis.color:void 0)||`#3333`,t.moveTo(0,r+.5),t.lineTo(n,r+.5)),t.strokeStyle=(a.ticks!==!1&&typeof a.ticks==`object`?a.ticks.color:void 0)||`#3333`,o.forEach(n=>{if(!n.tick)return;let i=e.timeAxis.p(n.time.time);a.ticks!==!1&&(t.moveTo(i,r-(n.major?10:5)),t.lineTo(i,r+(e.symmetric?n.major?10:5:0)))}),t.stroke())}#t(e){let t=e.ctx,n=e.renderingTrack.axisY+2,r=e.renderingTrack.id,i=P(e.options.tracks?.[r].timeAxis,{});if(!i)return;let a=e.dataCaches[`tracks:${r}:timeAxis`]?.data;if(!a||i.labels===!1)return;let o=Be(i.labels);t.fillStyle=o?.color??`black`,t.font=o?.font,t.textAlign=`center`,t.textBaseline=`top`,a.forEach(r=>{let i=e.timeAxis.p(r.time.time);r.text!==void 0&&t.fillText(r.text,i,n)})}};let J={z:0,r:S(1)};function He(e){return J.r.eq(e)?J.z:-e.log(O.base).number()}function Y(e){return J.z===e?J.r:(J.z=e,J.r=S(O.base).pow(-e,BigInt(Math.floor(e))),J.r)}function Ue(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(S(e).floorBy(O.chunkStep).toFixed(2))}function We(e,t,n=O.defaultChunkSize){let r=Y(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function Ge(e,t){return t===void 0?e:e===void 0||t.lt(e)?t:e}function Ke(e,t){return t===void 0?e:e===void 0?t:e.gt(t)?e:t}function qe(e,t){return(!e[0]||!t[1]||e[0].le(t[1]))&&(!t[0]||!e[1]||t[0].le(e[1]))}var X=class extends A{#e={};#t=[];#n;#r;#i;#a;#o;#s;#c={};#l;constructor(e){super(),this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}updateOptions(e){this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}#u(e,t){if(e.id in this.#e&&t){try{this.#t=this.#p(e.range,this.#t,t)??this.#t}catch(e){console.error(e)}this.changed(),this.dispatchEvent(`datachanged`)}}#d=!1;#f(e,t){let n={...this.#e};for(let e of t)delete n[e.id];for(let e in n)this.#d=!0,delete this.#e[e];!e.timeAxis.animating&&!e.timeAxis.editing&&this.#d&&(this.#d=!1,this.#t=this.#h(Object.values(this.#e),this.#t)??this.#t,this.changed(),this.dispatchEvent(`datachanged`))}#p(e,t,n){let[r,i]=Ie(t,e,e=>e.time._minTime??e.time.time);return[...t.slice(0,r),...n.filter(e=>e.time._minTime??e.time.time),...t.slice(i)].toSorted((e,t)=>{let n=e.time._minTime??e.time.time,r=t.time._maxTime??t.time.time;return n==null||r==null?0:n.lt(r)?-1:n.gt(r)?1:0})}#m=[S(0),S(0)];get window(){return this.#m}#h(e,t){let[n,r]=e.reduce((e,t)=>{let n=t.range[0],r=t.range[1];return[Ge(e[0],n),Ke(e[1],r)]},[void 0,void 0]);if(!n||!r)return t;let i=[n,r];return this.#m=i,t.filter(e=>qe([e.time._minTime??e.time.time,e.time._maxTime??e.time.time],i))}#g(e,t){return t=Ue(t,this.#s),We(e,t,this.#o).map(e=>this.#e[e.id]??e)}update(e){if(this.#r){let t=e.timeAxis.committing.time??e.timeAxis.now,n=this.#i??e.timeAxis.committing.zoom.number(),r=Y(n).mul(this.#o).div(2),i=[t.sub(r),t.add(r)];this.#_(e,i,n)}else if(this.#a){let t=e.timeAxis.current.zoom?.number()??0;this.#_(e,e.timeAxis.current.range,t)}else{let t=e.timeAxis.committing.zoom?.number()??0;this.#_(e,e.timeAxis.committing.range,t)}}#_(e,t,n){let r=this.#g(t,n),i=Date.now();r.forEach(e=>{this.#e[e.id]&&i<=e.expires||(this.#e[e.id]=e,this.#d=!0,e.expires=1/0,e._loading=!0,this.#n(e).then(t=>{e.expires=t?.expires??e.expires,this.#u(t,t.data)}).finally(()=>{e._loading=!1}))}),this.#f(e,r)}get data(){return this.#t}invalidate(){this.#e={},this.#d=!0}get meta(){return this.#c}updateMeta(e){this.#c=e,this.changed(),this.dispatchEvent(`metachanged`)}get name(){return this.#l}};function Z(e){if(e==null||C(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return S(t/1e3)}return e instanceof Date?S(e.getTime()/1e3):S(e)}function Je(e){return e.map(Z)}let Ye=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),Xe=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var Ze=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,\"in-out\":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=Ye(a)}else this.done()};this.#e=Ye(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(Xe(this.#e),null)}get animating(){return this.#e!==null}};function Q(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var $=class extends A{#e;#t={id:void 0,value:null,nullValue:S(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new Ze;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return S(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>S(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(Q(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>S(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=Q(S(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=Q(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new k(`sync`,n)),this.dispatchEvent(new k(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new k(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=Q(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t)};this.dispatchEvent(new k(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new k(`valuechanging`,e)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=Q(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new k(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.changed(),this.dispatchEvent(new k(`valuechanging`,this.#t.value)),this.dispatchEvent(new k(`valuechanged`,this.#t.value))},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new k(`sync`,e)),this.#l(e)}},Qe=class extends A{time;zoom;constructor(e){super(),this.time=new $,this.zoom=new $,this.time=new $({initialValue:Z(e.time??null),domain:Je(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new $({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.zoom.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(Z(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=Je(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(S(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(S)}},$e=class{decay;minVelocity;delay;points=[];angle_=0;distance_=0;constructor(e=.005,t=.05,n=100){this.decay=e,this.minVelocity=t,this.delay=n}begin(){this.points=[]}update(e,t){let n=Date.now();this.points.push({x:e,y:t,t:n});let r=n-this.delay;for(;this.points.length>1&&this.points[0].t<r;)this.points.shift()}end(){let e=this.points.length;if(e<2)return!1;let t=Date.now()-this.delay,n=this.points[e-1];if(n.t<t)return!1;for(;this.points.length>1&&this.points[0].t<t;)this.points.shift();let r=this.points[0];if(n.t<Date.now()-this.delay)return!1;let i=n.x-r.x,a=n.y-r.y,o=n.t-r.t;return o<1e3/60?!1:(this.distance_=Math.sqrt(i*i+a*a)/o/this.decay,this.angle_=Math.atan2(a,i),!0)}getDistance(){return this.distance_}getAngle(){return this.angle_}},et=class extends A{#e;#t={cursorMode:`center`,axisLength:[0,0],disabled:!1,dragging:!1,pinch:null};#n=new $e;constructor(e={}){super(),this.#e=new Qe(e);let{time:t,zoom:n}=this.#e;t.on(`change`,()=>this.changed()),t.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),t.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),t.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{time:e.value}))),n.on(`change`,()=>this.changed()),n.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number()))),n.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),n.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{zoom:e.value}))),t.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),n.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),t.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`)),n.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`))}z(e){return S(He(e))}r(e){return Y(e.number())}p(e,t){if(Array.isArray(e))return e.map((e,t)=>this.p(e,t));if(e===void 0)return t===0?-100:this.#t.axisLength[0]+this.#t.axisLength[1]+100;let n=this.r(this.#e.zoom.current),r=this.#e.time.current??this.now,i=e??this.now;return S(i).sub(r).div$(n,3).number()+this.#t.axisLength[0]}t(e){if(Array.isArray(e))return e.map(e=>this.t(e));let t=this.r(this.#e.zoom.current),n=this.#e.time.current??this.now;return t.mul(e-this.#t.axisLength[0]).add(n).round(t.digits)}set disabled(e){this.#t.disabled=e}get disabled(){return this.#t.disabled}get editing(){return this.#e.time.editing||this.#e.zoom.editing}get dragging(){return this.#t.dragging}get animating(){return this.#e.time.animating||this.#e.zoom.animating}get current(){return{time:this.#e.time.current,zoom:this.#e.zoom.current,resolution:this.r(this.#e.zoom.current),range:this.rangeFor(this.#e.time.current,this.#e.zoom.current),p:this.p(this.#e.time.current)}}get candidate(){return{time:this.#e.time.candidate,zoom:this.#e.zoom.candidate,resolution:this.r(this.#e.zoom.candidate),range:this.rangeFor(this.#e.time.candidate,this.#e.zoom.candidate),p:this.p(this.#e.time.candidate)}}get value(){return{time:this.#e.time.value,zoom:this.#e.zoom.value,resolution:this.r(this.#e.zoom.value),range:this.rangeFor(this.#e.time.value,this.#e.zoom.value),p:this.p(this.#e.time.value)}}get committing(){return{time:this.#e.time.committing,zoom:this.#e.zoom.committing,resolution:this.r(this.#e.zoom.committing),range:this.rangeFor(this.#e.time.committing,this.#e.zoom.committing),p:this.p(this.#e.time.committing)}}get committed(){return{time:this.#e.time.committed,zoom:this.#e.zoom.committed,resolution:this.r(this.#e.zoom.committed),range:this.rangeFor(this.#e.time.committed,this.#e.zoom.committed),p:this.p(this.#e.time.committed)}}get cursor(){return{time:this.#e.time.cursor,p:this.p(this.#e.time.cursor)}}get range(){return{time:this.#e.time.domain,p:this.p(this.#e.time.domain)}}rangeFor(e,t){return[(e??this.now).sub(this.r(t).mul(this.#t.axisLength[0])),(e??this.now).add(this.r(t).mul(this.#t.axisLength[1]))]}#r(e){this.#e.time.begin(this.t(e)),this.#n.begin()}#i(e,t){this.#e.time.update(this.t(this.current.p-t)),this.#n.update(e,0)}#a(){if(this.#n.end()){let e=this.#n.getDistance(),t=this.#n.getAngle(),n=e*Math.cos(t);this.#e.time.commit({value:this.t(this.current.p-n)})}else this.#e.time.commit()}click(e){this.#e.time.begin(this.t(e)),this.#e.time.commit()}dragStart(e){this.disabled||(this.#r(e),this.#t.dragging=!0)}dragUpdate(e,t){!this.#t.dragging||this.disabled||this.#i(e,t)}dragEnd(){!this.#t.dragging||this.disabled||(this.#a(),this.#t.dragging=!1)}dragCancel(){this.#t.dragging=!1}pinchStart(e,t){if(!this.disabled){if(this.#e.time.update(this.#e.time.current),this.#t.pinch={anchorTime:[this.t(e),this.t(t)]},this.#t.pinch.anchorTime[0].eq(this.#t.pinch.anchorTime[1])){this.#t.pinch=null;return}this.#e.zoom.begin(this.#e.zoom.current)}}pinchUpdate(e,t){if(this.disabled)return;if(!this.#t.pinch)return this.pinchStart(e,t);let n=this.#t.pinch.anchorTime[0],r=this.#t.pinch.anchorTime[1];if(Math.abs(t-e)>2){let i=r.sub(n).div(t-e).abs(),a=this.z(i);this.#e.zoom.update(a)}}pinchEnd(){this.disabled||this.#t.pinch&&(this.#t.pinch=null,this.#e.zoom.commit({animation:`linear`,duration:200}))}setAxisLength(e){this.#t.axisLength=e,this.changed(),this.dispatchEvent(`viewchanged`),this.dispatchEvent(`viewchanging`)}get axisLength(){return this.#t.axisLength}get now(){return S(Date.now()/1e3)}handleSyncEvent(e){e.time&&this.#e.time.handleSyncEvent(e.time),e.zoom&&this.#e.zoom.handleSyncEvent(e.zoom)}},tt=class{id;height;symmetric;oy=0;paddingY=[5,5];labelHeight=0;seriesKeys;constructor(e){this.id=e.id,this.oy=e.oy??0,this.height=e.height??0,this.symmetric=e.symmetric??!1,this.labelHeight=e.labelHeight??0,this.seriesKeys=e.seriesKeys}get chartHeight(){return this.height-this.paddingY[0]-this.paddingY[1]-this.labelHeight}get axisY(){return(this.symmetric?this.chartHeight/2:this.chartHeight)+this.paddingY[0]}y(e){if(e==null||isNaN(e))return NaN;let t=this.symmetric?this.chartHeight/2:this.chartHeight;return this.axisY-t*e}getRenderers(){return[]}},nt=class extends X{#e=new $({initialValue:null});#t=new $({initialValue:null});#n;#r(){let e=this.#e.current,t=this.#t.current;if(!this.#n||e==null||t==null)return;let n=S.max(e.abs(),t.abs());super.updateMeta({...this.#n??{},min:e,max:t,amp:n})}constructor(e){super(e),this.#e.on(`change`,()=>this.#r()),this.#t.on(`change`,()=>this.#r())}updateMeta(e){this.#n=e,e.min&&this.#e.setValue(e.min,this.#e.committed?{animation:`linear`,duration:200}:!1),e.max&&this.#t.setValue(e.max,this.#t.committed?{animation:`linear`,duration:200}:!1),this.#r()}};function rt(e,t,n=globalThis.requestAnimationFrame){let r,i,a=te(e),o=new et;o.on(`change`,()=>v()),o.on(`sync`,e=>a(`sync`,e.value)),o.on(`viewchanging`,()=>u());let s={onPointerEvent:e=>{let t={click:e=>o.click(e),\"drag:start\":e=>o.dragStart(e),\"drag:update\":(e,t)=>o.dragUpdate(e,t),\"drag:end\":()=>o.dragEnd(),\"pinch:start\":(e,t,n)=>o.pinchStart(e,n),\"pinch:update\":(e,t,n)=>o.pinchUpdate(e,n),\"pinch:end\":()=>o.pinchEnd()};if(e.type in t)return t[e.type](e.buttons[0]?.latest.x??0,e.buttons[0]?.delta.x??0,e.buttons[1]?.latest.x??0),!0},pointerStyle:()=>{}},c=[new Ve,new ke,new ze,new fe];c.forEach(e=>{e.on(`change`,()=>v()),e.on(`renderer:event`,t=>a(`renderer:event`,{value:t.value,uid:e.uid}))});let l={ctx:null,options:{},tracks:[],renderingTrack:null,dataCaches:{},chart:{ox:0,oy:0,width:1,height:1,get axisY(){return(l.symmetric?l.chart.height/2:l.chart.height)+l.chart.oy}},size:{width:1,height:1},get symmetric(){return this.renderingTrack?.symmetric??!1},dpr:1,timeAxis:o};async function u(){let e=o.current,t=o.revision;await a(`view:changed`,{time:e.time,zoom:e.zoom.number(),resolution:e.resolution,range:e.range},{rpc:!0}),o.revision===t&&Object.values(l.dataCaches).forEach(e=>d(e).then(()=>v()))}async function d(e){let{revision:t}=e,{resolution:n,zoom:r}=o.value,i=await a(`provider:loadMeta`,{key:e.name,zoom:r.number(),resolution:n},{rpc:!0});e.revision===t&&e.updateMeta(i)}function f(e,t={}){let n={...t,name:e,loader:async t=>await a(`provider:loadChunk`,{key:e,chunk:t},{rpc:!0})};if(l.dataCaches[e]){let t=l.dataCaches[e];return t.updateOptions(n),t.invalidate(),t}let r=e.startsWith(`series:`)?new nt(n):new X(n);return r.on(`change`,()=>v()),r.on(`datachanged`,async()=>u()),r}function p(e){let t={...e.dataCaches};for(let n in e.options.dataCacheOptions)e.dataCaches[n]=f(n,e.options.dataCacheOptions[n]),delete t[n];Object.keys(t).forEach(t=>delete e.dataCaches[t])}function m(e){for(let t of Object.values(e.dataCaches))t.update(e)}let h;function g(){if(!i)return;let e=i.height/l.dpr,t=Object.entries(l.options.tracks??{default:{}}),n=Math.max(0,e-t.reduce((e,[,t])=>e+(t?.height??0),0))/t.filter(([,e])=>e.height==null).length,r=0;l.tracks=t.map(([e,i])=>{let a=i.height??n;return r+=a,new tt({id:e,oy:r-a,height:a,symmetric:i.symmetric??!1,labelHeight:!i.symmetric&&i.timeAxis!==!1&&(typeof i.timeAxis!=`object`||i.timeAxis.labels!==!1)?14:0,seriesKeys:Object.entries(l.options.series??{}).filter(([,n])=>(n.track??t[0][0])===e).map(([e])=>e)})})}ne(e,{init:({canvas:e})=>{i=e,r=i?.getContext(`2d`)},fonts:e=>{if(e)for(let n of e)try{let e=typeof n.source==`string`&&n.source.match(/url\\(\"([^\"]+)\"\\) *format\\(\"woff2\"\\)/);if(e&&e?.[1])fetch(e[1]).then(e=>e.arrayBuffer()).then(e=>{let r=new Uint8Array(e),i=new FontFace(n.family,r,n.desc);i.loaded.then(()=>{t?.add(i),v()}),i.load()});else{let e=new FontFace(n.family,n.source,n.desc);e.loaded.then(()=>{t?.add(e),v()}),e.load()}}catch(e){console.error(`Failed to load the font:`,e)}v()},\"options:update\":e=>{D(l.options,e),e.dataCacheOptions&&p(l),(`tracks`in e||`series`in e)&&g();for(let t of c)t.updateOptions(e);v()},resize:async({size:e,context:t})=>{if(!i)return;let n=t?.dpr??l.dpr??1;i.width=e.width*n,i.height=e.height*n,o.setAxisLength([e.width/2,e.width/2]),l.dpr=n,g(),v()},pointer:async e=>{let t=[...c??[],s],n=(h??t).find(t=>t.onPointerEvent(e,l));return h=e.type===`up`||!n?void 0:[n],!0},cursor:async e=>{let t=[...c??[],s];return(h??t).map(t=>t.pointerStyle(e,l)).find(e=>e)},sync:e=>{o.handleSyncEvent(e)},reload:()=>{for(let e of Object.values(l.dataCaches))e.invalidate();v()}});let _=!1;function v(){_=!0}let y=0,b=0;function x(){y++}function S(){let e=Date.now(),t=(y*1e3/(e-b)).toFixed(1);b+1e3<=e&&(b=e,y=0),r?.clearRect(0,0,60,15),r?.fillText(`FPS: ${t}`,5,10)}function C(e){for(let t of c)r?.save(),e(t),r?.restore()}function w(e){!i||!r||(e.ctx=r,_=!1,m(e),x(),r.reset(),r.scale(e.dpr,e.dpr),C(t=>{t.preRender(e)}),M(e,null,()=>{ue(e,o.range.time,`#00000010`)}),C(t=>{t.render(e)}),e.options.indicator!==!1&&M(e,null,()=>de(e)),C(t=>{t.postRender(e)}))}function ee(){let e=o.range,t=e.time[0]===null&&0<=e.p[0]&&e.p[0]<l.size.width||e.time[1]===null&&0<=e.p[1]&&e.p[1]<l.size.width;return _||o.value.time===null||t}let T=()=>{n(T),ee()&&w(l),l.options.showFps&&S()};n(T)}rt(self,self.fonts)})();"],{type:`text/javascript;charset=utf-8`}));return new Worker(t,e)}function mn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`)return e.toString()===t.toString();if(e&&t&&typeof e==`object`){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!mn(e[r],t[r]))return!1;return!0}return!1}function $(e,t,n=new WeakSet){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`)return;if(r===`function`)return e.toString();if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=$(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=$(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=$(e[r],t,n);return n.delete(e),i}function hn(e,t,n){e??={},t??={};let r=[],i={...t};for(let a in e)(!i[a]||i[a]!==e[a]&&!mn(i[a]?._src,e[a]))&&(t[a]=n(e[a]),t[a]!==e[a]&&(t[a]._src=$(e[a]),r.push(a))),delete i[a];Object.keys(i).forEach(e=>delete t[e])}const gn=[`#080`,`#800`,`#008`,`#880`,`#088`,`#808`],_n={indicator:!0,padding:[5,5,5,5],sources:void 0,series:void 0,tracks:void 0,selection:void 0};var vn=class extends T{#e;call;#t={};#n={};#r={};#i=!1;#a=[];#o=!1;#s=null;#c=0;constructor(e){super(),this.#e=new pn,this.call=ke(this.#e),Ae(this.#e,{sync:e=>{this.dispatchEvent(new w(`sync`,e,this.uid))},"renderer:event":async e=>{this.dispatchEvent(new w(`renderer:event`,e.value,e.uid))},"provider:loadChunk":async({key:e,chunk:t})=>await this.#r[e]?.loadChunk(t),"provider:loadMeta":async({key:e,zoom:t,resolution:n})=>await this.#r[e].loadMeta({zoom:t,resolution:n}),"view:changed":async e=>{for(let t in this.dispatchEvent(new w(`viewchanged`,e,this.uid)),this.#n)this.#n[t].updateDataRange(e.range,e.zoom);return!0}});let t=e.canvas.transferControlToOffscreen();this.call(`init`,{canvas:t},{transfer:[t]}),this.setFonts(e.fonts)}async setFonts(e){if(e){this.#i=!1,this.#d();let t=await He(e);this.call(`fonts`,t);return}this.#i=!0,this.#u(),await this.#p()}[Symbol.dispose](){this.dispose()}dispose(){this.#d(),this.#e.terminate()}setOptions(e){this.#l={},this.updateOptions({..._n,...e})}#l={};updateOptions(e){xe(this.#l,e);let t={...e},n=!1;if(`sources`in e&&hn(this.#l.sources,this.#t,e=>(n=!0,fn(e))),(n||`series`in e||`tracks`in e)&&(hn(this.#l.series,this.#n,e=>(e.data.color||(e.data.color=gn[this.#c++],this.#c%=gn.length),n=!0,ln({sources:this.#t,options:e}))),`tracks`in e&&(n=!0),n)){let e=[...Object.entries(this.#l.tracks??{default:{}}).filter(([,e])=>e.timeAxis!==!1).map(([e,t])=>[`tracks:${e}:timeAxis`,tn,{timeAxis:t.timeAxis},{immediate:!0}]),...Object.entries(this.#n).flatMap(([e,t])=>{let n={series:t,options:this.#l},r={zoomLevels:t.zoomLevels,chunkSize:t.chunkSize};return[[`series:${e}:chart`,Je,n,r],[`series:${e}:instantaneous`,Qe,n,{...r,instantValue:!0,instantZoomLevel:t.options.data.instantaneous?.zoom}]]})];t.dataCacheOptions={};let n={...this.#r};for(let[r,i,a,o]of e)this.#r[r]=new i(a),delete n[r],o&&(t.dataCacheOptions[r]=o);Object.keys(n).forEach(e=>delete this.#r[e])}this.call(`options:update`,t)}resize(e){this.call(`resize`,e)}onPointerEvent(e){this.call(`pointer`,e)}async pointerStyle(e){return await this.call(`cursor`,e,{rpc:!0})}sync(e,t){t&&t===this.uid||this.call(`sync`,e)}#u(){if(!this.#i||this.#o||typeof document>`u`)return;this.#o=!0;let e=[],t=document.fonts;if(t&&typeof t.addEventListener==`function`){let n=()=>this.#f();t.addEventListener(`loadingdone`,n),t.addEventListener(`loadingerror`,n),t.addEventListener(`loading`,n),e.push(()=>{t.removeEventListener(`loadingdone`,n),t.removeEventListener(`loadingerror`,n),t.removeEventListener(`loading`,n)})}if(typeof MutationObserver<`u`){let t=new MutationObserver(e=>{for(let t of e){if(t.type===`childList`&&[...Array.from(t.addedNodes??[]),...Array.from(t.removedNodes??[])].some(e=>yn(e))){this.#f();return}if(t.type===`attributes`&&yn(t.target)){this.#f();return}}});try{let n=document.head??document.documentElement??document;t.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`rel`,`href`]}),e.push(()=>t.disconnect())}catch{t.disconnect()}}this.#a=e}#d(){if(this.#o){this.#o=!1;for(let e of this.#a)try{e()}catch{}this.#a=[],this.#s!=null&&(clearTimeout(this.#s),this.#s=null)}}#f(){this.#i&&this.#s==null&&(this.#s=setTimeout(()=>{this.#s=null,this.#p()},0))}async#p(){if(this.#i)try{let e=await Ue();this.call(`fonts`,e.length?e:void 0)}catch(e){console.error(`Failed to resolve document fonts`,e)}}invalidateSources(e){e||=Object.keys(this.#t);for(let t of e)this.#t[t]?.expireChunks();this.call(`reload`,null)}};function yn(e){return typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement?!0:typeof HTMLLinkElement<`u`&&e instanceof HTMLLinkElement?e.rel?.toLowerCase()===`stylesheet`:!1}function bn(e){let t=e.deltaY;switch(e.deltaMode){case WheelEvent.DOM_DELTA_LINE:return t*16;case WheelEvent.DOM_DELTA_PAGE:return t*window.innerHeight}return t}var xn=class extends T{#e=null;#t=null;#n=null;#r;#i;#a;#o;get time(){return this.#r.time.value?.clone()??null}set time(e){this.setTime(e)}setTime(e,t){this.#r.setTime(e,t)}get timeRange(){return this.#r.time.domain.map(e=>e==null?e:e.clone())}setTimeRange(e){this.#r.setTimeRange(e)}get zoom(){return this.#r.zoom.value.number()}set zoom(e){this.setZoom(e)}setZoom(e,t){return this.#r.setZoom(e,t)}fitTo(e,t){if(!this.#s.width)return!1;let n=typeof t?.padding==`number`?t.padding*2:Array.isArray(t?.padding)?t.padding.reduce((e,t)=>e+t):0,r=e.map(e=>E(e)),i=Se(r[1].sub(r[0]).div(this.#s.width-n).abs()),a=r[0].add(r[1]).div(2);this.setZoom(i,t?.animation===!1?!1:void 0),this.setTime(a,t?.animation===!1?!1:void 0)}get zoomRange(){return this.#r.zoom.domain.map(e=>e==null?e:e.number())}setZoomRange(e){this.#r.setZoomRange(e)}setSelection(e){if(this.#i.selection===!1)return;let t=e?.map(e=>E(e))??null;this.#t?.updateOptions({selection:{range:t}})}clearSelection(){this.setSelection(null)}get animating(){return this.#r.time.animating}get editing(){return this.#r.time.editing}#s={x:0,y:0,width:0,height:0,dpr:0};get size(){return{...this.#s}}#c=!1;set disabled(e){this.#c=e,this.#n&&(this.#n.disabled=e)}get disabled(){return this.#c}get options(){return this.#i}setOptions(e){this.#i={style:void 0,...e},this.#l(this.#i,!0)}updateOptions(e){xe(this.#i,e),this.#l(e,!1)}#l(e,t){!this.#e||!this.#t||(`style`in e&&(this.#e.style.width=e.style?.width??`100%`,this.#e.style.height=e.style?.height??`36px`,this.#e.style.background=e.style?.background??`#fff`),t?this.#t.setOptions(e):this.#t.updateOptions(e),this.#u())}#u(){if(!this.#e||!this.#t)return;let e=window.devicePixelRatio,t=this.#e.getBoundingClientRect();if(this.#s.width===t.width&&this.#s.height===t.height&&this.#s.dpr===e)return;this.#s={x:t.x,y:t.y,width:t.width,height:t.height,dpr:e};let n=this.#s.width,r=this.#s.height;this.#t.resize({size:{width:n,height:r},context:{dpr:e}})}#d(){let e=this.#r.time,t=this.#r.zoom;this.#r.on(`change`,()=>this.changed()),this.#r.on(`timechanging`,e=>this.dispatchEvent(e)),this.#r.on(`timechanged`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanging`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanged`,e=>this.dispatchEvent(e)),e.on(`sync`,e=>this.#t?.sync({time:e.value},e.origin)),t.on(`sync`,e=>this.#t?.sync({zoom:e.value},e.origin))}#f(e){if(this.#c)return;e.preventDefault();let t=bn(e);this.#r.setZoom(this.#r.zoom.committing.add(-t/this.#o))}constructor(e){super();let t=e??{};this.#r=new ve(t),this.#d(),this.#i={style:void 0,...t},this.#a=t.fonts??[],t.target&&this.mount(t.target),this.#o=t.wheelSensitivity??C.wheelSensitivity}reload(e){this.#t?.invalidateSources(e)}mount(e){let t=typeof e==`string`?document.querySelector(e):e;if(!t)throw Error(`mount failed`);return(this.#e||this.#t||this.#n)&&console.warn(`Timescope: mounted twice`),this.#e?.remove(),this.#e=document.createElement(`canvas`),this.#e.style.all=`unset`,this.#e.style.display=`block`,this.#e.style.touchAction=`none`,this.#e.style.width=this.#i.style?.width??`100%`,this.#e.style.height=this.#i.style?.height??`36px`,this.#e.style.background=this.#i.style?.background??`#fff`,this.#t=new vn({canvas:this.#e,fonts:this.#a}),this.#t.setOptions(this.#i),this.#r.time.restore(),this.#r.zoom.restore(),new ResizeObserver(()=>this.#u()).observe(this.#e),this.#t.on(`change`,()=>this.changed()),this.#t.on(`sync`,e=>{e.value.time&&(this.#r.time.handleSyncEvent(e.value.time),this.#r.time.dispatchEvent(new w(`sync`,e.value.time,e.origin))),e.value.zoom&&(this.#r.zoom.handleSyncEvent(e.value.zoom),this.#r.zoom.dispatchEvent(new w(`sync`,e.value.zoom,e.origin)))}),this.#t.on(`renderer:event`,e=>{typeof e.value==`object`&&e.value&&`range`in e.value&&`resizing`in e.value&&this.dispatchEvent(new w(e.value.resizing?`rangechanging`:`rangechanged`,e.value.range,e.origin))}),this.#n=new De({element:this.#e,transform:e=>e.sub([this.#s.x,this.#s.y]),handler:e=>{this.#t?.onPointerEvent(e)},cursor:async e=>await this.#t?.pointerStyle(e)??void 0}),this.#e.addEventListener(`wheel`,this.#f.bind(this)),t.appendChild(this.#e),this}unmount(){this.#e?.remove(),this.#n?.detach(),this.#t?.dispose(),this.#t=null,this.#e=null,this.#n=null}dispose(){this.unmount()}};export{x as Decimal,xn as Timescope,ie as createDefineTimescopeOptions,se as createDefineTimescopeSeries,ae as createDefineTimescopeSources,oe as createDefineTimescopeTracks,ce as defineTimescopeOptions,de as defineTimescopeSeries,le as defineTimescopeSources,ue as defineTimescopeTracks};
1
+ function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<y.length?y[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<b.length?b[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*ee)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(v))return{exponent:0n,remainder:v.clone()};if(e.ge(v))return m(e,t,n,r);let a=m(v.div(e,i),t,n,r);return a.remainder.eq(v)?{exponent:-a.exponent,remainder:v.clone()}:{exponent:-a.exponent-1n,remainder:v.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return S(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(v,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=x(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=x(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=x(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=x(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=x(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=x(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=x(e),r=x(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=x(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=x(e),r=x(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=x(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=x(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=te(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(te(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(v))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(v),p=f?v.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let ee=i===0?0:c;return this.round$(ee),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\x1b[33m${this.toString()}\x1b[m \x1b[90m(${this.coeff} * 10 ** ${-this.digits})\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};const _=18n,ee=Math.log2(10),v=new g(1n),y=[],b=[];(function(){for(let e=0;e<256;e++)b[e]=10n**BigInt(e),y[e]=5n**BigInt(e)})();function x(e){return e==null||S(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=x(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(x||={});const S=x.isDecimal;x.isDecimalLike;const te=x.pow10,ne=x.minmax;x.min,x.max;function re(e){if(typeof e==`number`&&isNaN(e)||typeof e==`number`&&!isFinite(e))return null;try{return x(e)}catch{return null}}function ie(e){return function(t){return e?e(t):t}}function ae(e){return function(t){return e?e(t):t}}function oe(e){return function(t){return e?e(t):t}}function se(e){return function(t,n,r){return e?e(t):t}}const ce=ie(),le=ae(),ue=oe(),de=se();var C={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function fe(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var pe=class{uid=fe(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},w=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},T=class extends pe{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}};function E(e){if(e==null||S(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return x(t/1e3)}return e instanceof Date?x(e.getTime()/1e3):x(e)}function me(e){return e.map(E)}const he=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),ge=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var _e=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,"in-out":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=he(a)}else this.done()};this.#e=he(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(ge(this.#e),null)}get animating(){return this.#e!==null}};function D(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var O=class extends T{#e;#t={id:void 0,value:null,nullValue:x(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new _e;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return x(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>x(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(D(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>x(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=D(x(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=D(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new w(`sync`,n)),this.dispatchEvent(new w(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new w(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=D(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t).round((e??t).digits)};this.dispatchEvent(new w(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new w(`valuechanging`,e)),this.dispatchEvent(new w(`valueanimating`,this.#t.current)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=D(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new w(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.dispatchEvent(new w(`valuechanging`,this.#t.value)),this.dispatchEvent(new w(`valuechanged`,this.#t.value)),this.changed()},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.dispatchEvent(new w(`valueanimating`,this.#t.current)),this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.dispatchEvent(new w(`valueanimating`,this.#t.current)),this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new w(`sync`,e)),this.#l(e)}},ve=class extends T{time;zoom;constructor(e){super(),this.time=new O,this.zoom=new O,this.time=new O({initialValue:E(e.time??null),domain:me(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new O({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new w(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new w(`timechanged`,e.value))),this.time.on(`valueanimating`,e=>this.dispatchEvent(new w(`timeanimating`,e.value))),this.zoom.on(`change`,()=>this.changed()),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new w(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new w(`zoomchanged`,e.value.number()))),this.zoom.on(`valueanimating`,e=>this.dispatchEvent(new w(`zoomanimating`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(E(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=me(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(x(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(x)}};function k(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>k(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,k(n,...t)])):e}function ye(e){return function(t){let n=e.split(`,`).map(e=>e.trim()),r=t;for(let e of n){let n=e.split(`.`);r=t;for(let e=0;e<n.length&&r!=null;e++){if(typeof r!=`object`){r=null;break}r=r[n[e]]}if(r!=null)return r}return r}}function be(e){return Object.prototype.toString.call(e)===`[object Object]`}function xe(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&be(r)?((!i||typeof i!=`object`)&&(e[n]={}),xe(e[n],r)):e[n]=r}return e}const A={z:0,r:x(1)};function Se(e){return A.r.eq(e)?A.z:-e.log(C.base).number()}function Ce(e){return A.z===e?A.r:(A.z=e,A.r=x(C.base).pow(-e,BigInt(Math.floor(e))),A.r)}function we(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(x(e).floorBy(C.chunkStep).toFixed(2))}var Te=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},Ee=class extends Te{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}},De=class{#e=`none`;#t={};#n=[];#r;#i;#a={none:[[[`pointerdown`,1,this.#o.bind(this)],`down`,[`down`]]],down:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`drag:start`,`pinch:start`]],[[`pointermove`,1,this.#l.bind(this)],`drag`,[`drag:start`]],[[`pointerup`,0],`none`,[`click`,`up`]],[[`pointercancel`,0],`none`,[`up`]]],drag:[[[`pointerdown`,2,this.#s.bind(this)],`pinch`,[`pinch:start`]],[[`pointermove`,1],`drag`,[`drag:update`]],[[`pointerup`,0],`none`,[`drag:end`,`up`]],[[`pointercancel`,0],`none`,[`drag:end`,`up`]]],pinch:[[[`pointermove`,2],`pinch`,[`pinch:update`]],[[`pointerup`,1,this.#c.bind(this)],`drag`,[`pinch:end`]],[[`pointercancel`,0],`none`,[`pinch:end`,`up`]]]};get state(){return this.#e}disabled=!1;#o(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#s(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#c(e){return this.#n.forEach(e=>e.anchor=e.latest.clone()),!0}#l(){let e=this.#n.find(e=>e.pressed)||this.#n[0];return e.latest.distanceTo(e.anchor)<4?!1:(this.#n.forEach(e=>e.anchor=e.latest.clone()),!0)}#u(e){if(this.disabled)return;let t=new Ee(e.clientX,e.clientY),n=this.#i(t,e)??t,r=!!(e.buttons&1),i=this.#t[e.pointerId]?.latest??n;this.#t[e.pointerId]={pointerId:e.pointerId,last:i,latest:n,delta:n.clone().sub(i),anchor:this.#t[e.pointerId]?.anchor??n,pressed:r};let a=Object.values(this.#t),o=a.filter(e=>e.pressed).length;this.#n=a.filter(t=>t.pressed||t.pointerId===e.pointerId),this.#m(e,o),this.#f(e),r||delete this.#t[e.pointerId]}#d;async#f(e){this.#r&&this.#d&&(this.#r.style.cursor=await this.#d({type:`cursor`,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})??``)}#p;#m(e,t){let[[n,r,i],a,o]=this.#a[this.#e].find(([[n,r]])=>(n===`*`||n===e.type)&&(r===void 0||r===t))??[[`*`],this.#e];i?.(e)!==!1&&(this.#e=a,o&&o.forEach(t=>this.#p({type:t,state:this.#e,buttons:this.#n,latest:this.#t[e.pointerId],shiftKey:e.shiftKey})))}constructor(e={}){this.#i=e.transform??(e=>e),this.#p=e.handler??(async()=>void 0),this.#d=e.cursor,e.element&&this.attach(e.element)}#h;attach(e){this.#h?.abort(),this.#h=new AbortController;let t=this.#h.signal,n=e=>this.#u(e);return e.addEventListener(`pointerdown`,n,{signal:t}),window.addEventListener(`pointermove`,n,{passive:!0,signal:t}),window.addEventListener(`pointerup`,n,{passive:!0,signal:t}),window.addEventListener(`pointercancel`,n,{passive:!0,signal:t}),e.addEventListener(`touchstart`,e=>e.preventDefault(),{signal:t}),this.#r=e,this}detach(){this.#h?.abort()}};let Oe=0;function ke(e){return function(t,n,r={rpc:!1}){let i=++Oe;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:je(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(M(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function Ae(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](M(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:je(o)})}),t}function j(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=j(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=j(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=j(e[r],t,n);return n.delete(e),i}function je(e,t){return j(e,t,new WeakSet)}function Me(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function M(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(Me(e))return x(e);if(Array.isArray(e))return e.map(M);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=M(e[n]);return t}return e}}const Ne=[[`font-style`,`style`],[`font-weight`,`weight`],[`font-stretch`,`stretch`],[`unicode-range`,`unicodeRange`],[`font-variant`,`variant`],[`font-feature-settings`,`featureSettings`],[`font-display`,`display`],[`ascent-override`,`ascentOverride`],[`descent-override`,`descentOverride`],[`line-gap-override`,`lineGapOverride`]];function Pe(){return{visited:new Set}}function Fe(e){let t=e.trim();return t.startsWith(`"`)&&t.endsWith(`"`)||t.startsWith(`'`)&&t.endsWith(`'`)?t.slice(1,-1):t}function Ie(e,t){return e.replace(/url\(([^)]+)\)/gi,(e,n)=>{let r=n.trim(),i=Fe(r);if(!i)return`url(${n})`;try{let e=new URL(i,t).toString(),n=r.startsWith(`"`)?`"`:r.startsWith(`'`)?`'`:``;return`url(${n}${e}${n})`}catch{return`url(${n})`}})}function Le(e,t){let n=e.style.getPropertyValue(`font-family`),r=e.style.getPropertyValue(`src`),i=Fe(n);if(!i||!r)return null;let a={};for(let[t,n]of Ne){let r=e.style.getPropertyValue(t);r.trim()&&(a[n]=r.trim())}return{family:i,source:t?Ie(r,t):r,desc:a}}function N(){if(typeof document<`u`&&document.baseURI)return document.baseURI;if(typeof location<`u`&&location.href)return location.href}function Re(e,t){try{return t?new URL(e,t).toString():new URL(e).toString()}catch{return null}}function ze(e){try{let t=e.cssRules;return Array.from(t)}catch{return null}}async function Be(e,t,n){let r=[],i=t??N();for(let t of e){if(t.type===CSSRule.FONT_FACE_RULE){let e=Le(t,i);e&&r.push(e);continue}if(t.type===CSSRule.IMPORT_RULE){let e=Re(t.href,i);if(!e)continue;r.push(...await P(e,n))}}return r}async function Ve(e,t,n){let r=ze(e);return r?await Be(r,t??e.href??N(),n):e.href?await P(e.href,n,t):[]}async function P(e,t,n){let r=Re(e,n);if(!r||t.visited.has(r))return[];if(t.visited.add(r),typeof fetch>`u`||typeof CSSStyleSheet>`u`)throw Error(`Failed to load CSS: ${r}`);try{let e=await fetch(r);if(!e.ok)throw Error();let n=await e.text(),i=new CSSStyleSheet;return await i.replace(n),await Ve(i,e.url,t)}catch{throw Error(`Failed to load CSS: ${r}`)}}async function He(e){let t=Pe(),n=[];for(let r of e){if(typeof r==`string`){let e=await P(r,t);n.push(...e);continue}else typeof r.source==`string`&&(r.source=Ie(r.source,location.href));n.push(r)}return n}async function Ue(){if(typeof document>`u`||!document.styleSheets)return[];let e=Pe(),t=[],n=N();for(let r of Array.from(document.styleSheets)){let i;try{i=r}catch{continue}let a=i.href??n;try{let n=await Ve(i,a,e);t.push(...n)}catch{continue}}return t}var We=class{options;constructor(e){this.options=e}loadMeta(e){}},Ge=class extends We{constructor(e){super(e)}async loadChunk(e){let t=await this.options.series.loadChunk(e);return await this.transform(t)}async transform(e){return e}};const Ke={lines:{links:[{draw:`line`}]},"lines:filled":{links:[{draw:`area`},{draw:`line`}]},curves:{links:[{draw:`curve`}]},"curves:filled":{links:[{draw:`curve-area`},{draw:`curve`}]},"steps-start":{links:[{draw:`step-start`}]},"steps-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}]},steps:{links:[{draw:`step`}]},"steps:filled":{links:[{draw:`step-area`},{draw:`step`}]},"steps-end":{links:[{draw:`step-end`}]},"steps-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}]},points:{marks:[{draw:`circle`}]},linespoints:{links:[{draw:`line`}],marks:[{draw:`circle`}]},"linespoints:filled":{links:[{draw:`area`},{draw:`line`}],marks:[{draw:`circle`}]},curvespoints:{links:[{draw:`curve`}],marks:[{draw:`circle`}]},"curvespoints:filled":{links:[{draw:`curve-area`},{draw:`curve`}],marks:[{draw:`circle`}]},"stepspoints-start":{links:[{draw:`step-start`}],marks:[{draw:`circle`}]},"stepspoints-start:filled":{links:[{draw:`step-area-start`},{draw:`step-start`}],marks:[{draw:`circle`}]},stepspoints:{links:[{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints:filled":{links:[{draw:`step-area`},{draw:`step`}],marks:[{draw:`circle`}]},"stepspoints-end":{links:[{draw:`step-end`}],marks:[{draw:`circle`}]},"stepspoints-end:filled":{links:[{draw:`step-area-end`},{draw:`step-end`}],marks:[{draw:`circle`}]},impulses:{marks:[{draw:`line`,using:[`value`,`zero`]}]},impulsespoints:{marks:[{draw:`line`,using:[`value`,`zero`]},{draw:`circle`}]},boxes:{marks:[{draw:`box`,using:[`value`,`zero`],style:{fillColor:`transparent`}}]},"boxes:filled":{marks:[{draw:`box`,using:[`value`,`zero`]}]}};function qe(e){return Ke[e]??{}}var Je=class extends Ge{marks;links;constructor(e){super(e);let t=typeof e.series.options.chart==`string`?qe(e.series.options.chart):e.series.options.chart??{};this.marks=t.marks,this.links=t.links}async transform(e){let t=e.data?.map(t=>{let n={resolution:e.resolution,data:t.data??{},time:t.time,value:t.value},r=k(this.marks,n);return{...t,marks:r?.map(e=>({...e,style:k(e.style,n)??{}}))??[]}});return{...e,data:t}}async loadMeta({resolution:e}){return{links:k(this.links,{resolution:e})?.map(e=>({...e,style:k(e.style,null)??{}}))??[],color:this.options.series.color,...this.options.series.dataRange}}};function Ye(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function Xe(e){return e?{using:e.using??`value`,zoom:e.zoom}:{using:`value`,zoom:void 0}}function Ze(e){let t=({name:e,unit:t,digits:n,value:r})=>{if(r==null)return`No data`;let i=[];return e&&i.push(e),i.push(r.toFixed(n)),t&&i.push(t),i.join(` `)};return typeof e==`boolean`||!e?{format:t}:{...e,format:e.format??t}}var Qe=class extends Ge{#e;#t;constructor(e){super(e),this.#e=Xe(e.series.options.data.instantaneous),this.#t=Ze(e.series.options.tooltip)}async transform(e){let{name:t,unit:n,digits:r}=this.options.series,i=this.#t.format,a=Ye(k(this.#e.using,e))[0],o=e.data?.flatMap(e=>{if(!this.#e)return[];let o=e.time[a[1]],s=e.value[a[0]];return[{time:{time:o},value:s,text:i({time:o,value:s,unit:n,digits:r,name:t})}]});return{...e,data:o}}async loadMeta(e){let t=this.options.series.color;return{...this.options.series.dataRange,color:t}}};const $e=x(1n),et=x(0n),F=60n,I=F*60n,L=I*24n,R=8640000000000n;function z(e,t){let n=e/t,r=e%t;return r!==0n&&r>0n!=t>0n&&(n-=1n),n}function B(e,t){return e-z(e,t)*t}function tt(e){return e>0n?e:e+1n}function nt(e){return e>0n?e:e-1n}function V(e,t){let n=tt(e),r=t-1n,i=z(r,12n),a=r-i*12n;return{year:nt(n+i),month:a+1n,day:1n}}function H(e,t,n){let r=V(e,t);return it(rt(r.year,r.month,n))}function rt(e,t,n){let r=tt(e),i=t,a=n;i<=2n&&(r-=1n);let o=r/400n-(r<0n?1n:0n),s=r-o*400n;i+=i>2n?-3n:9n;let c=(153n*i+2n)/5n+a-1n,l=s*365n+s/4n-s/100n+c;return o*146097n+l-719468n}function it(e){let t=e+719468n,n=t/146097n-(t<0n?1n:0n),r=t-n*146097n,i=(r-r/1460n+r/36524n-r/146096n)/365n,a=i+n*400n,o=r-(365n*i+i/4n-i/100n),s=(5n*o+2n)/153n,c=o-(153n*s+2n)/5n+1n,l=s+(s<10n?3n:-9n);return l<=2n&&(a+=1n),{year:nt(a),month:l,day:c}}function at(e){return e>R?R:e<-R?-R:e}function ot(e){let t=at(e);return-BigInt(Math.floor(new Date(Number(t)*1e3).getTimezoneOffset()))*F}function st(e){return ot(e)}function ct(e){return ot(e)}function lt(e){let t=rt(e.year,e.month,e.day),n=e.hour*I+e.minute*F+e.second,r=t*L+n;return x(r-ct(r)).add(e.subseconds)}function ut(e){let t=H(e.year,e.month,e.day),n=e.subseconds.modPositive($e),r=e.subseconds.sub(n).integer(),i=e.second+r;return lt({...e,...t,second:i,subseconds:n})}function dt(e){return Number(B(rt(e.year,e.month,e.day)+4n,7n))}function ft(e){let[t]=e.split(),n=st(t.integer()),[r,i]=e.add(x(n)).split(),a=r.integer(),o=z(a,L),s=B(a,L),c=it(o),l=z(s,I),u=s-l*I,d=z(u,F),f=B(u,F);return{year:c.year,month:c.month,day:c.day,hour:l,minute:d,second:f,subseconds:i}}function U(e,t){return ut({...t(ft(e)),hour:0n,minute:0n,second:0n,subseconds:et})}function pt(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>t<=e).toSorted().at(-1)??e:(t=BigInt(t),(e-n)/t*t+n):e}function W(e,t,n=0n){return t?Array.isArray(t)?t.map(e=>BigInt(e)).filter(t=>e<t).toSorted().at(0):(t=BigInt(t),((e-n)/t+1n)*t+n):e}function mt(e,t){return U(e,e=>({...H(e.year,e.month,pt(e.day,t,1n))}))}function ht(e,t){return U(e,e=>{let n=W(e.day,t,1n);return n?H(e.year,e.month,n):V(e.year,W(e.month,1n,1n))})}function gt(e,t){return U(e,e=>V(e.year,pt(e.month,t,1n)))}function _t(e,t){return U(e,e=>V(e.year,W(e.month,t,1n)))}function vt(e,t){return U(e,e=>{let n=pt(e.year<=0n?e.year-1n:e.year,t,0n);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function yt(e,t){return U(e,e=>{let n=W(e.year<=0n?e.year-1n:e.year,t);return{year:n<=0n?n+1n:n,month:1n,day:1n}})}function bt(e,t){let n=x(t),r=mt(e,1n);return e.sub(r).floorBy(n).add(r)}function xt(e,t){return e.add(x(t))}function St(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}const Ct={s:0n,ms:3n,us:6n,ns:9n};function wt({time:e,digits:t,labeler:n}){let r={year:0n,quarter:0,month:0,day:0,hour:0,minute:0,subseconds:e.sub(e.integer()),week:0,second:e.integer(),digits:t,time:e};if(t>0){let i=e.toFixed(t).split(`.`);return n?.seconds?.(r)??i[0]+`.`+Zt(i[1])}return n?.seconds?.(r)??e.toString()}function G(e,t,n){if(t===n)return e;let r=Ct[t]??0n,i=(Ct[n]??0n)-r;return e.shift10(i)}function*Tt(e,t,n){if(!e[0]||!e[1])return;let r=typeof n.timeFormat==`function`?n.timeFormat:void 0,i=typeof n.timeFormat==`function`?{}:n.timeFormat,a=x(C.defaultChunkSize),o=t.mul(a).log(10).round().integer(),s=x(10).pow(o,-o),c=t.mul(x(20)),l=[10n,5n,1n],u=s,d=1n;for(let e of l){let t=s.div(x(e));if(!t.lt(c)){u=t,d=e;break}}if(u.isZero())return;let f=x(d),p=x(1n),m=e[0].div(u).floor().sub(p),h=Math.max(0,-u.log(10).floor().number());for(let t=0;t<1e6;t+=1){m=m.add(p);let t=u.mul(m);if(t.ge(e[1]))break;if(t.lt(e[0]))continue;let a=m.mod(f).isZero(),o={time:t,unit:n.timeUnit??`s`,level:`relative`,digits:h,stride:void 0};yield{time:{time:t},major:a,tick:!0,text:a?r?.(o)??wt({...o,labeler:i}):``}}}function K(e){return{align:t=>bt(t,e),next:t=>xt(t,e)}}function q(e){return e=e.mul(60),{align:t=>bt(t,e),next:t=>xt(t,e)}}function J(e){return e=e.mul(3600),{align:t=>bt(t,e),next:t=>xt(t,e)}}function Y(e){return{align:t=>mt(t,e),next:t=>ht(t,e)}}function X(e){return{align:t=>gt(t,e),next:t=>_t(t,e)}}function Et(e){return{align:t=>vt(t,e),next:t=>yt(t,e)}}const Dt=[{ops:K,stride:1,step:1},{ops:K,stride:5,step:5},{ops:K,stride:10,step:10},{ops:K,stride:15,step:15},{ops:K,stride:30,step:30},{ops:q,stride:1,step:1},{ops:q,stride:5,step:5},{ops:q,stride:10,step:10},{ops:q,stride:15,step:15},{ops:q,stride:30,step:30},{ops:J,stride:1,step:1},{ops:J,stride:3,step:3},{ops:J,stride:6,step:6},{ops:J,stride:12,step:12},{ops:Y,stride:1,step:1},{ops:Y,stride:10,step:[1,10,20]},{ops:X,stride:1,step:1},{ops:X,stride:3,step:3}],Ot=x(86400),kt=x(`2629800`),At=x(`31557600`),jt=x(60),Mt=x(20),Nt=[1n,5n],Pt=[1n,5n],Ft=[`subsecond`,`second`,`minute`,`hour`,`day`,`month`,`year`];function It(e){switch(e.ops){case K:return`second`;case q:return`minute`;case J:return`hour`;case Y:return`day`;case X:return`month`;default:throw Error(`Unknown calendar definition`)}}function Lt(e){let{ops:t,step:n}=e;if(t===K||t===q||t===J)return t(x(n));if(t===Y||t===X)return t(Array.isArray(n)?n.map(e=>BigInt(e)):BigInt(n));throw Error(`Unsupported definition`)}function Rt(e){let t=x(BigInt(e.stride));switch(It(e)){case`second`:return x(e.step);case`minute`:return x(e.step).mul(60);case`hour`:return x(e.step).mul(3600);case`day`:return t.mul(Ot);case`month`:return t.mul(kt);default:return x(0)}}const zt=Dt.map(e=>({level:It(e),stride:BigInt(e.stride),duration:Rt(e),digits:0,create:()=>Lt(e),source:e})).sort((e,t)=>e.duration.lt(t.duration)?-1:e.duration.gt(t.duration)?1:0),Bt=zt.reduce((e,t)=>{let n=e.get(t.level);return n?n.push(t):e.set(t.level,[t]),e},new Map);function Vt(e){if(e.digits<=0n)return 0;let t=e.digits,n=BigInt(2**53-1);return t>n&&(t=n),Number(t)}function Ht(e,t,n){return{level:`subsecond`,stride:1n,duration:e,digits:Vt(e),create:()=>K(e),subsecondMetadata:{exponent:t,factor:n}}}function Ut(e,t,n){let r=t&&t.lt(x(1))?t:x(1),i=e.lt(x(1));if(!i&&!n)return null;let a=i?e:x(1),o;a.isPositive()?(o=a.log(10).floor().integer(),o>=0n&&(o=-1n)):o=-1n;let s=null;for(let e=o;e<0n;e+=1n){let t=x(10).pow(e,-e);for(let n of Nt){let i=t.mul(x(n));if(i.lt(r)){if(a.isZero()||!i.lt(a))return Ht(i,e,n);(!s||s.step.lt(i))&&(s={step:i,exponent:e,factor:n})}}}return n&&s?Ht(s.step,s.exponent,s.factor):null}function Wt(e){let t=e.isPositive()?e:x(0);for(let e of zt)if(t.isZero()||!e.duration.lt(t))return e;return null}function Gt(e,t,n,r){let i=Bt.get(e);if(!i)return null;let a=t.isPositive()?t:x(0),o=null;for(let e of i){if(n&&!e.duration.lt(n))break;if(a.isZero()||!e.duration.lt(a))return e;o=e}return r&&o?o:null}function Kt(e){if(e<=0n)return 1n;let t=1n,n=10n,r=e;for(;r>0n;)(r&1n)==1n&&(t*=n),n*=n,r>>=1n;return t}function Z(e){return{level:`year`,stride:e,duration:x(e).mul(At),digits:0,create:()=>Et(e),yearStride:e}}function qt(e){let t=e.isPositive()?e:x(0);if(t.isZero())return Z(1n);let n=t.div(At).log(10).floor().integer();n<0n&&(n=0n);for(let e=n;;e+=1n){let n=Kt(e);for(let e of Pt){let r=Z(n*e);if(!r.duration.lt(t))return r}}}function Jt(e){return Ft.indexOf(e)}function Yt(e,t){let n=Jt(e.level);if(n<=0)return null;let r=Ft[n-1],i=e.duration;if(e.level===`year`){for(let n of[5n,4n,2n]){if(e.stride%n!==0n)continue;let r=e.stride/n;if(r<=0n)continue;let i=Z(r);if(!i.duration.lt(t)&&i.duration.lt(e.duration))return i}let n=qt(t);return n.duration.lt(e.duration)?n:null}if(e.level===`subsecond`){let n=Ut(t,e.duration,!0);return n&&n.duration.lt(e.duration)?n:null}let a=e.level,o=Bt.get(a)??[];for(let n=o.length-1;n>=0;--n){let r=o[n];if(r.duration.lt(e.duration)&&!r.duration.lt(t))return r}if(r===`subsecond`){let n=Ut(t,i,!0);return n&&n.duration.lt(e.duration)?n:null}return r===`year`?null:Gt(r,t,i,!0)}function Xt(e){if(!e||!e.isPositive())return null;let t=e.mul(jt),n=e.mul(Mt),r=Ut(t,null,!1);if(r||=Wt(t),r||=qt(t),!r)return null;let i=Yt(r,n);return{level:r.level,major:r.create(),minor:i?i.create():null,digits:r.digits,stride:r.stride}}function Zt(e){return e.replace(/[0-9]/g,e=>String.fromCodePoint(e.charCodeAt(0)-48+8320))}function Qt(e){let{time:t,unit:n}=e,r=e,{year:i,month:a,day:o,hour:s,minute:c,second:l,subseconds:u}=ft(G(t,n,`s`)),d=dt({year:i,month:a,day:o}),f=Math.floor((Number(a)-1)/3)+1,p=(e,t)=>e.toString().padStart(t,`0`),m=e=>p(e,2),h=e.labeler??{},g={year:i,quarter:f,month:Number(a),day:Number(o),hour:Number(s),minute:Number(c),second:l,subseconds:u,week:d,digits:r.digits,time:t},_=h.year??(()=>i>0n?i.toString():` ${(1n-i).toString()} BC`),ee=h.quarter??(()=>f===1?`${_(g)} Q${f}`:`Q${f}`),v=h.month??(()=>`${_(g)}/${m(a)}`),y=h.date??(()=>`${m(a)}/${m(o)}(${[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`][d]})`),b=h?.minutes??(()=>`${m(s)}:${m(c)}`),x=r.digits>0?`.`+Zt(u.toFixed(r.digits).split(`.`)[1]):``,S=h.seconds??(()=>`${m(s)}:${m(c)}:${m(l)}${x}`);switch(r.level){case`subsecond`:case`second`:return s===0n&&c===0n&&l===0n&&u.eq(0)?y(g):S(g);case`minute`:case`hour`:return s===0n&&c===0n?y(g):b(g);case`day`:return y(g);case`month`:return r.stride===3n?ee(g):v(g);case`year`:default:return _(g)}}function $t(e,t,n){if(!e)return null;let r=e.next(t);return!r||r.le(t)||r.ge(n)?null:r}function*en(e,t,n){if(!e[0]||!e[1])return;let r=n.timeUnit??`s`,i=G(e[0],r,`s`),a=G(e[1],r,`s`);if(a.le(i))return;t=G(t,r,`s`);let o=Xt(t);if(!o)return;let s=typeof n.timeFormat==`function`?n.timeFormat:void 0,c=o.major.align(i),l=o.minor?.align(i)??null;for(;c||l;){if(c!=null&&(l==null||c.le(l))&&c){if(i.le(c)){let e=G(c,`s`,r);yield{time:{time:e},major:!0,tick:!0,text:s?.({time:e,unit:r,...o})??Qt({time:e,unit:r,...o,labeler:typeof n.timeFormat==`function`?void 0:n.timeFormat})}}l&&l.eq(c)&&(l=$t(o.minor,l,a)),c=$t(o.major,c,a);continue}l&&=(i.le(l)&&(yield{time:{time:G(l,`s`,r)},major:!1,tick:!0,text:``}),$t(o.minor,l,a))}}var tn=class extends We{constructor(e){e={...e,timeAxis:St(e.timeAxis,{timeUnit:`s`})},super(e)}async loadChunk(e){let t=[...this.options.timeAxis.relative?Tt(e.range,e.resolution,this.options.timeAxis):en(e.range,e.resolution,this.options.timeAxis)].map(e=>({...e,time:{time:e.time.time,_minTime:e.time.time,_maxTime:e.time.time}}));return{...e,data:t}}},nn=class{#e;#t;constructor(e){let{maxSize:t}=e;if(!(typeof t==`number`&&Number.isFinite(t)&&t>0))throw TypeError("`maxSize` must be a number greater than 0");this.#e=Math.floor(t),this.#t=new Map}get size(){return this.#t.size}get maxSize(){return this.#e}get(e){if(!this.#t.has(e))return;let t=this.#t.get(e);return this.#t.delete(e),this.#t.set(e,t),t}set(e,t){if(this.#t.has(e)&&this.#t.delete(e),this.#t.set(e,t),this.#t.size>this.#e){let e=this.#t.keys().next().value;e!==void 0&&this.#t.delete(e)}return this}has(e){return this.#t.has(e)}delete(e){return this.#t.delete(e)}clear(){this.#t.clear()}*keys(){let e=Array.from(this.#t.keys());for(let t=e.length-1;t>=0;t--)yield e[t]}*values(){for(let[,e]of this)yield e}*entries(){yield*this[Symbol.iterator]()}*[Symbol.iterator](){let e=Array.from(this.#t.entries());for(let t=e.length-1;t>=0;t--)yield e[t]}};function rn(e,t,n=C.defaultChunkSize){let r=Ce(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function an(e){return!!(S(e)||typeof e==`number`||typeof e==`string`||typeof e==`bigint`)}function on(e){return e==null?{shrink:!0,expand:!0,default:[x(0),void 0]}:Array.isArray(e)?{shrink:!0,expand:!0,default:e.map(x)}:typeof e==`number`||an(e)?{shrink:!0,expand:!0,default:[x(0),x(e)]}:e.default!=null&&!Array.isArray(e.default)?{shrink:e.shrink??!0,expand:e.expand??!0,default:[x(0),x(e.default)]}:{shrink:e.shrink??!0,expand:e.expand??!0,default:(e.default??[0,void 0]).map(x)}}function sn(e,t){return e._minTime?.le(t[1])&&t[0]?.le(e._maxTime)}var cn=class{#e;#t;#n;#r=new nn({maxSize:256});#i={};#a;constructor(e){this.#e=e.options,this.#t=e.sources,this.#a=e.options.data.color,this.#n=on(e.options.data.range)}get name(){return this.#e.data.name??``}get digits(){return this.#e.data.digits??1}get unit(){return this.#e.data.unit??``}get zoomLevels(){return this.#t[this.#e.data.source].zoomLevels}get chunkSize(){return this.#t[this.#e.data.source].chunkSize}get options(){return this.#e}async loadChunk(e){let t=await this.#t[this.#e.data.source].loadChunk(e),n=this.#e.data.parser?.(t.data)??t.data;if(!Array.isArray(n))throw Error(`Invalid data from the source after parsed.`);let r=Object.fromEntries((Array.isArray(this.#e.data.time)?this.#e.data.time.map(e=>[e,e]):Object.entries(typeof this.#e.data.time==`string`||this.#e.data.time==null?{time:this.#e.data.time??`time`}:this.#e.data.time)).map(([e,t])=>[e,typeof t==`function`?t:ye(t)])),i=Object.fromEntries((Array.isArray(this.#e.data.value)?this.#e.data.value.map(e=>[e,e]):Object.entries(typeof this.#e.data.value==`string`||this.#e.data.value==null?{value:this.#e.data.value??`value`}:this.#e.data.value)).map(([e,t])=>[e,typeof t==`function`?t:ye(t)])),a=n.map(e=>{let t=Object.fromEntries(Object.entries(r).map(([t,n])=>[t,E(n(e))])),n=Object.fromEntries(Object.entries(i).map(([t,n])=>[t,re(n(e))]).filter(([,e])=>e!==void 0)),[a,o]=ne(...Object.values(t));return t._minTime=a,t._maxTime=o,{time:t,value:n,data:e}});return this.#r.set(t.id,a),{...t,data:a}}updateDataRange(e,t){t=we(t,this.zoomLevels);let[n,r]=ne(...rn(e,t,this.chunkSize).flatMap(({id:t})=>{let n=this.#r.get(t);return n?n.flatMap(t=>sn(t.time,e)?ne(...Object.values(t.value)):[]):[]}));n==null||r==null||(this.#i={min:this.#n.default[0]==null?n:this.#n.expand?x.min(n,this.#n.default[0],...this.#n.shrink?[]:[this.#i.min]):this.#n.default[0],max:this.#n.default[1]==null?r:this.#n.expand?x.max(r,this.#n.default[1],...this.#n.shrink?[]:[this.#i.max]):this.#n.default[1]})}get color(){return this.#a}get dataRange(){let e=x.max(this.#i.min?.abs(),this.#i?.max?.abs());return{...this.#i,amp:e}}};function ln(e){return new cn(e)}var un=class extends T{#e=`initial`;#t;#n;#r;#i;#a;#o;#s;get id(){return this.#o}get seq(){return this.#s}get range(){return this.#t}get resolution(){return this.#n}get zoom(){return this.#r}get state(){return this.#e}get expired(){return this.#e!==`loaded`&&this.#e!==`error`||this.#c<=Date.now()}#c=0;get expires(){return this.#c}setExpires(e){this.#c=e}invalidate(){this.#c=0}constructor(e){super(),this.#o=e.id,this.#s=e.seq,this.#t=e.range,this.#n=e.resolution,this.#r=e.zoom,this.#i=e.loader}reload(){return this.load(!0)}async load(e=!1){if(this.#a&&(this.#e===`loading`||!e&&!this.expired))return await this.#a;this.#e=`loading`,this.#c=1/0;try{let e={id:this.#o,seq:this.#s,expires:1/0,range:this.#t.map(e=>e?.clone()),zoom:this.#r,resolution:this.#n.clone()};return this.#a=this.#i(e,{expiresAt:t=>e.expires=t,expiresIn:t=>e.expires=t+Date.now()}).then(t=>(this.#e=`loaded`,this.#c=e.expires??1/0,this.changed(),t||null)),await this.#a}catch(e){return console.error(e),this.#e=`error`,this.changed(),null}}};function dn(e){return async(t,n)=>{let r=await e(t,n);return r instanceof Response?await r.json():r}}var Q=class extends T{#e=new nn({maxSize:1e3});zoomLevels;chunkSize;loader;constructor(e){if(super(),this.chunkSize=e.chunkSize||C.defaultChunkSize,this.zoomLevels=e.zoomLevels,`loader`in e)this.loader=dn(e.loader);else if(`data`in e)this.zoomLevels=[0],this.chunkSize=0,this.loader=async()=>e.data;else if(`url`in e)e.url.match(/{[a-zA-Z]+}/)?this.loader=dn(async t=>{let n=e.url.replace(/{[a-zA-Z]+}/g,e=>{switch(e.substring(1,e.length-1)){case`z`:case`zoom`:return t.zoom.toString();case`r`:case`resolution`:return t.resolution.rescale().toString();case`s`:case`start`:return t.range[0].rescale().toString();case`e`:case`end`:return t.range[1].rescale().toString();default:return console.warn(`Unknown template string is found in the URL: `+e),e}});return await fetch(n)}):(this.zoomLevels=[0],this.chunkSize=0,this.loader=dn(()=>fetch(e.url)));else throw Error(`No source`)}async loadChunk({id:e,seq:t,range:n,resolution:r,zoom:i}){let a=this.#t(e,t,n,r,i),o=await a.load()??void 0;return{id:e,seq:t,expires:a.expires,range:n,resolution:r,zoom:i,data:o}}#t(e,t,n,r,i){let a=this.#e.get(e);return a||(a=new un({id:e,seq:t,loader:this.loader,range:n,resolution:r,zoom:i}),this.#e.set(e,a)),a}async loadData(e,t){t=we(t,this.zoomLevels);let n=rn(e,t,this.chunkSize);return await Promise.all(n.map(e=>this.loadChunk(e)))}async expireChunks(e){for(let t of this.#e.values())(!e||!t.range[1]||t.range[1].gt(e[0])||!t.range[0]||t.range[0].lt(e[1]))&&t.invalidate();this.changed()}};function fn(e){return typeof e==`string`?new Q({url:e}):typeof e==`function`?new Q({loader:e}):e instanceof Q?e:typeof e==`object`&&e&&[`url`,`loader`,`data`].some(t=>t in e)?new Q(e):new Q({data:e})}function pn(e={}){let t=URL.createObjectURL(new Blob([`URL.revokeObjectURL(self.location.href);`,"(function(){function e(e,t=`Digits must be an integer`){if(typeof e==`number`){if(!Number.isFinite(e)||!Number.isInteger(e))throw Error(t);return BigInt(e)}return e}function t(t){let n=e(t);return n<0n?0n:n}function n(e){let t=Number(e);return t<b.length?b[t]:5n**BigInt(e)}function r(e){let t=Number(e);return t<x.length?x[t]:10n**BigInt(e)}function i(e,t,n){let r=BigInt(t);if(r<=0n)return new g(1n);let i=new g(1n),a=e.clone();for(;r&1n&&i.mul$(a,n),r>>=1n,r!==0n;)a.mul$(a,n);return i}function a(e,t,n,r){if(t.isZero()||r<=0)return new g(1n);let{guardPrec:a,rootPrec:s}=f(n,r),c=o(t.coeff).toString().padStart(r,`0`),l=e.round(s),u=new g(1n);for(let e=0;e<r;e++){l=l.root(10n,s);let t=c.charCodeAt(e)-48;if(t<=0)continue;let n=i(l.clone(),t,a);u.mul$(n,a)}return u.round$(n)}function o(e){return e<0n?-e:e}function s(e){if(e===``)throw Error(`Invalid number`);let t=1n,n=e;if(n[0]===`-`?(t=-1n,n=n.slice(1)):n[0]===`+`&&(n=n.slice(1)),n===``)throw Error(`Invalid number`);let r=n.indexOf(`.`),i=n,a=``;r>=0&&(i=n.slice(0,r),a=n.slice(r+1)),i===``&&(i=`0`);let o=(i+a).replace(/^0+/,``),s=o===``?`0`:o;return{coeff:t*BigInt(s),digits:BigInt(a.length)}}function c(e){let t=e.search(/[eE]/);if(t===-1)return s(e);let n=e.slice(0,t),r=e.slice(t+1);if(r.trim()===``)throw Error(`Invalid number`);let{coeff:i,digits:a}=s(n);return{coeff:i,digits:a-BigInt(r)}}function l(e,t){let n=e.digits>t.digits?e.digits:t.digits,i=n-e.digits,a=n-t.digits;return{digits:n,aCoeff:e.coeff*r(i),bCoeff:t.coeff*r(a)}}function u(e){let t=Math.max(0,Number(e));return Math.min(2**53-1,t)}function d(e,t,n){let r=u(t),i=u(n),a=Math.max(r,i)+1,o=Math.max(a,1),s=e+o;for(;;){let t=Math.ceil(s*v)+o,n=Math.max(t*2,1),r=Math.max(a,Math.ceil(Math.log10(n))+1);if(r<=o){let e=s+o;return{guardPrec:o,fracPrec:s,bits:t,divPrec:e}}o=r,s=e+o}}function f(e,t){let n=Math.max(1,t),r=Math.max(6,Math.ceil(Math.log10(n*4))+2),i=e+BigInt(r);return{guardPrec:i,rootPrec:i+BigInt(Math.max(r,6))}}function p(e,t){let n=Math.max(1,t.toString().replace(`-`,``).length),r=Math.max(12,n+4);return{iterPrec:e+BigInt(r),stopShift:e+2n}}function m(e,t,n,r){let i=[],a=[],o=new g(t),s=1n,c=n+Math.max(r,1);for(;o.le(e);)i.push(o),a.push(s),o=o.mul(o),s*=2n;let l=new g(e),u=0n;for(let e=i.length-1;e>=0;e--){let t=i[e];l.ge(t)&&(l.div$(t,c),u+=a[e])}return{exponent:u,remainder:l}}function h(e,t,n,r){let i=n+Math.max(r,1);if(e.eq(y))return{exponent:0n,remainder:y.clone()};if(e.ge(y))return m(e,t,n,r);let a=m(y.div(e,i),t,n,r);return a.remainder.eq(y)?{exponent:-a.exponent,remainder:y.clone()}:{exponent:-a.exponent-1n,remainder:y.div(a.remainder,i).mul$(t)}}var g=class s{coeff;digits;constructor(e,t){if(typeof e==`number`){if(e!==e||e===1/0||e===-1/0)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(e.toString()))}else if(typeof e==`string`){let t=e.trim();if(t===``)throw Error(`Invalid number`);({coeff:this.coeff,digits:this.digits}=c(t))}else if(typeof e==`bigint`)this.coeff=e,this.digits=t??0n;else if(typeof e==`object`&&e&&`coeff`in e&&typeof e.coeff==`bigint`&&`digits`in e&&typeof e.digits==`bigint`)this.coeff=e.coeff,this.digits=e.digits;else throw Error(`Invalid input type for Decimal`)}clone(){return new s({coeff:this.coeff,digits:this.digits})}#e(e,t=0n){return C(e)&&(t=e.digits,e=e.coeff),this.coeff=e,this.digits=t,this}#t(e,t,n){let i=this.coeff,a=e.coeff,s=e.digits+t-this.digits;s>=0n?i*=r(s):a*=r(-s);let c=i/a,l=i-c*a;if(l!==0n&&n!==`trunc`){let e=i>=0n;switch(n){case`floor`:e||(c-=1n);break;case`ceil`:e&&(c+=1n);break;case`round`:{let t=o(l),n=a<0n?-a:a;t*2n>=n&&(c+=e?1n:-1n);break}default:break}}return this.#e(c,t)}#n(t,n=`trunc`){let i=e(t);if(this.isZero())return this.digits=i,this;if(i===this.digits)return this;if(i>this.digits){let e=r(i-this.digits);return this.coeff*=e,this.digits=i,this}return this.#t(y,i,n)}#r(){if(this.coeff===0n)return this.digits=0n,this;if(this.digits<=0n)return this;for(;this.digits>0n&&this.coeff%10n==0n;)this.coeff/=10n,this.digits-=1n;return this}round$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`round`)}round(e=0,t=!1){return this.clone().round$(e,t)}roundBy$(e,t=`round`){let n=new s(e).abs();if(n.isZero())throw Error(`Cannot align to zero`);return this.div$(n,0n,t).mul$(n)}roundBy(e,t=`round`){return this.clone().roundBy$(e,t)}floor$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`floor`)}floor(e=0,t=!1){return this.clone().floor$(e,t)}floorBy$(e){return this.roundBy$(e,`floor`)}floorBy(e){return this.clone().floorBy$(e)}ceil$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`ceil`)}ceil(e=0,t=!1){return this.clone().ceil$(e,t)}ceilBy$(e){return this.roundBy$(e,`ceil`)}ceilBy(e){return this.clone().ceilBy$(e)}trunc$(t=0,n=!1){let r=e(t);return!n&&this.digits<=r?this:this.#n(r,`trunc`)}trunc(e=0,t=!1){return this.clone().trunc$(e,t)}rescale$(e,t=`trunc`){return e==null?this.#r():this.#n(e,t)}rescale(e,t=`trunc`){return this.clone().rescale$(e,t)}truncBy$(e){return this.roundBy$(e,`trunc`)}truncBy(e){return this.clone().truncBy$(e)}#i(e){let t=this.clone();return e(this),[this,t.sub$(this)]}split$(e,t=`floor`){return this.#i(n=>n.#n(e??0n,t))}split(e,t=`floor`){return this.clone().split$(e,t)}splitBy$(e,t=`floor`){return this.#i(n=>n.roundBy$(e,t))}splitBy(e,t=`floor`){return this.clone().splitBy$(e,t)}neg$(e){return e!==!1&&(this.coeff=-this.coeff),this}neg(e){return this.clone().neg$(e)}isZero(){return this.coeff===0n}isPositive(){return this.coeff>0n}isNegative(){return this.coeff<0n}add$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r+i,this.digits=n,this}add(e){return this.clone().add$(e)}sub$(e){let t=S(e),{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r-i,this.digits=n,this}sub(e){return this.clone().sub$(e)}mul$(e,t){let n=S(e);return this.coeff*=n.coeff,this.digits+=n.digits,t!==void 0&&this.round$(t),this}mul(e,t){return this.clone().mul$(e,t)}shift10$(t){let n=e(t,`Shift amount must be an integer`);return n===0n||(this.digits-=n),this}shift10(e){return this.clone().shift10$(e)}inverse$(e=_){if(this.isZero())throw Error(`Division by zero`);let n=t(e),r=this.clone();return this.#e(1n).div$(r,n)}inverse(e=_){return this.clone().inverse$(e)}div$(e,n,r=`round`){let i=n===void 0,a=t(n??_),o=S(e);if(o.isZero())throw Error(`Division by zero`);return this.isZero()?this:(this.#t(o,a,r),i?this.#r():this)}div(e,t,n=`round`){return this.clone().div$(e,t,n)}abs$(){return this.isNegative()&&(this.coeff=-this.coeff),this}abs(){return this.clone().abs$()}mod$(e){let t=S(e);if(t.isZero())throw Error(`Division by zero`);let{digits:n,aCoeff:r,bCoeff:i}=l(this,t);return this.coeff=r%i,this.digits=n,this}mod(e){return this.clone().mod$(e)}modPositive$(e){let t=S(e);if(t.isNegative())throw Error(`Modulo divisor must be positive`);return this.mod$(t),this.isNegative()&&this.add$(t),this}modPositive(e){return this.clone().modPositive$(e)}clamp$(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid clamp range`);return n&&this.lt(n)?(this.coeff=n.coeff,this.digits=n.digits,this):r&&this.gt(r)?(this.coeff=r.coeff,this.digits=r.digits,this):this}clamp(e,t){return this.clone().clamp$(e,t)}cmp(e){let t=S(e),{aCoeff:n,bCoeff:r}=l(this,t);return n===r?0:n>r?1:-1}eq(e){return this.cmp(e)===0}neq(e){return this.cmp(e)!==0}lt(e){return this.cmp(e)<0}gt(e){return this.cmp(e)>0}le(e){return this.cmp(e)<=0}ge(e){return this.cmp(e)>=0}between(e,t){let n=S(e),r=S(t);if(n&&r&&n.gt(r))throw Error(`Invalid between range`);return!(n&&this.lt(n)||r&&this.gt(r))}isCloseTo(e,t){let n=S(t);if(n.isNegative())throw Error(`Tolerance must be non-negative`);return this.sub(e).abs$().le(n)}pow$(e,n=_){let r=t(n),o=S(e);if(o.isZero())return this.#e(1n);if(this.isZero()){if(o.isNegative())throw Error(`Zero to negative exponent is undefined`);return this}let s=o.isNegative(),[c,l]=o.abs().split$(),u=this.clone(),d=l.isZero()?0:Number(l.digits);if(u.isNegative()&&d>0)throw Error(`Fractional exponent requires non-negative base`);let f=i(u,c.coeff),p=r;d>0&&(p=r+BigInt(Math.max(4,d)));let m=a(u,l,p,d);d>0&&f.mul$(m,p);let h=p>r?p:r,g=d>0?p:r;return s?this.#e(1n).div$(f,h):(f.round$(h,!0),this.#e(f)),this.round$(g,g===0n),this}pow(e,t=_){return this.clone().pow$(e,t)}root$(n,r=_){let a=e(n,`Root degree must be an integer`);if(a<=0n)throw Error(`Invalid root degree`);let o=t(r);if(a===1n)return o<this.digits?this:this.trunc$(o,!0);if(this.isZero())return this;let c=this.isNegative();if(c&&a%2n==0n)throw Error(`Even root of negative value is not defined`);let l=this.abs(),u=a-1n,{iterPrec:d,stopShift:f}=p(o,a),m=w(-f),h=(()=>{let e=l.number();if(Number.isFinite(e)&&e>0){let t=Number(a);if(t>0){let n=e**(1/t);if(Number.isFinite(n)&&n>0)return new s(n).round$(d,!0)}}return new s(w(l.order()/a)).round$(d,!0)})();this.#e(h.coeff,h.digits),this.isZero()&&this.#e(1n);for(let e=0;e<64;e++){let e=i(this.clone(),u,d);if(e.isZero())break;let t=l.div(e,d),n=this.mul(u,d).add$(t).div$(a,d);if(n.isCloseTo(this,m)||n.eq(this)){this.#e(n);break}this.#e(n)}return this.round$(d,!0),this.round$(o,o===0n),c&&this.neg$(),this}root(e,t=_){return this.clone().root$(e,t)}sqrt$(e=_){return this.root$(2n,e)}sqrt(e=_){return this.clone().sqrt$(e)}log$(e,r=_){let i=Number(t(r)),a=new s(e);if(!this.isPositive())throw Error(`Logarithm argument must be positive`);if(!a.isPositive())throw Error(`Logarithm base must be positive`);if(a.eq(y))throw Error(`Logarithm base cannot be one`);let{guardPrec:o,fracPrec:c,bits:l,divPrec:u}=d(i,a.digits,this.digits),f=a.lt(y),p=f?y.div(a,u):a,{exponent:m,remainder:g}=h(this,p,c,o);if(this.#e(m),c>0){let e=0n;for(let t=0;t<l;t++)g.mul$(g,u),e<<=1n,g.ge(p)&&(g.div$(p,u),e|=1n);e!==0n&&this.add$({coeff:e*n(l),digits:BigInt(l)})}let v=i===0?0:c;return this.round$(v),f&&this.neg$(),this}log(e,t=_){return this.clone().log$(e,t)}sign$(){return this.isZero()?this:(this.coeff=this.coeff<0n?-1n:1n,this.digits=0n,this)}sign(){return this.clone().sign$()}order(){if(this.isZero())throw RangeError(`order undefined for 0`);return BigInt(o(this.coeff).toString().length)-1n-this.digits}toFixed(t){let n=`Fraction digits must be a non-negative integer`,r=e(t,n);if(r<0n)throw Error(n);return this.round(r,!0).toString()}toString(){if(this.coeff===0n)return this.digits<=0n?`0`:`0.${`0`.repeat(Number(this.digits))}`;let e=this.coeff<0n,t=e?`-`:``,n=(e?-this.coeff:this.coeff).toString();if(this.digits<=0n)return`${t}${n}${`0`.repeat(Number(-this.digits))}`;let r=Number(this.digits),i=n.padStart(r+1,`0`),a=i.length-r;return`${t}${i.slice(0,a)}.${i.slice(a).padEnd(r,`0`)}`}[Symbol.for(`nodejs.util.inspect.custom`)](e,t){return`colors`in t&&t?.colors?`\\x1b[33m${this.toString()}\\x1b[m \\x1b[90m(${this.coeff} * 10 ** ${-this.digits})\\x1b[m`:this.toString()}number(){return Number(this.toString())}integer(){return this.digits<=0n?this.coeff*r(-this.digits):this.coeff/r(this.digits)}};let _=18n,v=Math.log2(10),y=new g(1n),b=[],x=[];(function(){for(let e=0;e<256;e++)x[e]=10n**BigInt(e),b[e]=5n**BigInt(e)})();function S(e){return e==null||C(e)?e:new g(e)}(function(e){function t(e){return e instanceof g}e.isDecimal=t;function n(e){return!!(t(e)||typeof e==`string`||typeof e==`number`||typeof e==`bigint`||typeof e==`object`&&e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`)}e.isDecimalLike=n;function r(e){return new g({coeff:1n,digits:-BigInt(e)})}e.pow10=r;function i(...e){let t=null,n=null;for(let r=0;r<e.length;r++){let i=S(e[r]);i!=null&&((t===null||i.lt(t))&&(t=i),(n===null||i.gt(n))&&(n=i))}return[t,n]}e.minmax=i;function a(...e){return i(...e)[0]}e.min=a;function o(...e){return i(...e)[1]}e.max=o})(S||={});let C=S.isDecimal;S.isDecimalLike;let w=S.pow10;S.minmax,S.min,S.max;let ee=0;function te(e){return function(t,n,r={rpc:!1}){let i=++ee;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:re(n,r.transfer)},r.transfer??[]),r.rpc?new Promise(n=>{let r=a=>{a.data.type===`rpc:ack`&&a.data.command===t&&a.data.seq===i&&(e.removeEventListener(`message`,r),n(E(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function ne(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](E(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:re(o)})}),t}function T(e,t,n){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`||r===`function`)return;if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=T(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=T(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=T(e[r],t,n);return n.delete(e),i}function re(e,t){return T(e,t,new WeakSet)}function ie(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function E(e){if(e==null)return e;let t=typeof e;if(t===`string`||t===`number`||t===`boolean`||t===`bigint`)return e;if(!(t===`undefined`||t===`symbol`||t===`function`)){if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||typeof OffscreenCanvas<`u`&&e instanceof OffscreenCanvas)return e;if(ie(e))return S(e);if(Array.isArray(e))return e.map(E);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=E(e[n]);return t}return e}}function ae(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>ae(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,ae(n,...t)])):e}function oe(e){return Object.prototype.toString.call(e)===`[object Object]`}function D(e,t){for(let n in t){let r=t[n],i=e[n];Array.isArray(r)?e[n]=r.slice():r&&typeof r==`object`&&oe(r)?((!i||typeof i!=`object`)&&(e[n]={}),D(e[n],r)):e[n]=r}return e}var O={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function se(e){if(globalThis._uid||(globalThis._uid=1),e){if(`_uid`in e)return String(e._uid);e._uid=String(globalThis._uid),Object.defineProperty(e,`_uid`,{enumerable:!1})}return String(globalThis._uid++)}var ce=class{uid=se(this);#e={};dispatchEvent(e){let t=typeof e==`string`?e:e.type,n=this.#e[t];if(n)for(let t of n)t(e)}on(e,t){let n=this.#e[e]??[];return n.push(t),this.#e[e]=n,()=>this.un(e,t)}un(e,t){let n=this.#e[e];if(!n)return;let r=n.indexOf(t);r>=0&&n.splice(r,1)}},k=class{type;value;origin;stopped=!1;prevented=!1;constructor(e,t,n){this.type=e,this.value=t,this.origin=n}stopPropagation(){this.stopped=!0}preventDefaults(){this.prevented=!0}},A=class extends ce{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}},j=class extends A{constructor(){super()}updateOptions(e){}render(e){}preRender(e){}postRender(e){}onPointerEvent(e,t){}pointerStyle(e,t){}};function le(e,t,n){if(!t)return;let{height:r}=e.size,i=e.ctx,[a,o]=e.timeAxis.p(t);i.fillStyle=n,i.fillRect(a,0,o-a,r)}function ue(e,t,n){if(!t)return;let{width:r,height:i}=e.size,a=e.ctx,[o,s]=e.timeAxis.p(t);a.fillStyle=n,0<o&&a.fillRect(0,0,Math.min(o,r),i),s<r&&a.fillRect(s,0,r-s,i)}function de(e){let t=e.ctx,n=e.size.height,r=Math.round(e.timeAxis.cursor.p);t.fillStyle=`white`,t.strokeStyle=`red`,t.lineWidth=1,t.fillRect(r-1,0,3,n),t.beginPath(),t.moveTo(r+.5,0),t.lineTo(r+.5,n),t.stroke()}function M(e,t,n){let r=e.ctx,i=e.dpr,a={width:r.canvas.width/i,height:r.canvas.height/i};r.save(),t?(r.translate(0,t.oy),a.height=t.height,e.renderingTrack=t):e.renderingTrack=null,e.chart.ox=e.options.padding[3]??0,e.chart.oy=e.options.padding[0]??0,e.chart.width=a.width-e.chart.ox-e.options.padding[1],e.chart.height=a.height-e.chart.oy-e.options.padding[2],e.size.width=a.width,e.size.height=a.height,r.beginPath(),r.rect(0,0,e.size.width,e.size.height),r.clip(),n(e),r.restore()}function N(e,t){e.tracks.forEach(n=>M(e,n,()=>t(n.id,n)))}function P(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}function F(e,t,n=O.clickTolerance){return e&&e-n<=t&&t<=e+n}var fe=class extends j{#e=null;#t=`rgba(0, 0, 255, 0.2)`;#n=!1;#r=!1;#i=!0;#a=S(0n);#o=8;constructor(){super(),this.on(`change`,()=>{this.dispatchEvent(new k(`renderer:event`,{range:this.#e,resizing:this.#r}))})}updateOptions(e){let t=e.selection;t!==void 0&&(t===!1?(this.#i=!1,this.#e=null):t===!0?this.#i=!0:(t.resizable!==void 0&&(this.#i=t.resizable),t.color!==void 0&&(this.#t=t.color),t.invert!==void 0&&(this.#n=t.invert),t.range!==void 0&&(this.#e=t.range)),this.changed())}#s({shiftKey:e,buttons:t},n){if(!this.#i)return!1;let r=t[0].latest.x;if(e){let e=n.timeAxis.t(r);return this.#r=!0,this.#a=e,this.#e=[e,e],this.changed(),!0}if(!this.#e)return!1;let i=n.timeAxis.p(this.#e);if(F(i[0],r,this.#o)){let e=this.#e[1];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}else if(F(i[1],r,this.#o)){let e=this.#e[0];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}return!1}#c({buttons:e},t){if(!this.#i||!this.#r)return!1;let n=t.timeAxis.t(e[0].latest.x),r=this.#a;return this.#e=n.lt(r)?[n,r]:[r,n],this.changed(),!0}#l(e,t){if(!this.#i||!this.#r||!this.#e)return!1;this.#r=!1;let n=t.timeAxis.p(this.#e[0]),r=t.timeAxis.p(this.#e[1]);return Math.abs(n-r)<this.#o&&(this.#e=null),this.changed(),!0}onPointerEvent(e,t){if(this.#i)switch(e.type){case`down`:return this.#s(e,t);case`drag:update`:return this.#c(e,t);case`up`:return this.#l(e,t)}}pointerStyle(e,t){if(!this.#e||!this.#i)return;let n=t.timeAxis.p(this.#e);if(this.#r&&F(n[0],n[1],this.#o))return`not-allowed`;if(F(n[0],e.buttons[0].latest.x,this.#o))return`w-resize`;if(F(n[1],e.buttons[0].latest.x,this.#o))return`e-resize`}render(e){M(e,null,()=>{this.#n?ue(e,this.#e,this.#t):le(e,this.#e,this.#t)})}};function pe(e){let t=typeof e==`string`?[e,e]:e.length===1?[e[0],e[0]]:e,n=t[0].split(`@`),r=t[1].split(`@`);return[[n[0]||`value`,n[1]||`time`],[r[0]||`value`,r[1]||`time`]]}function I(e,t,n){let{min:r,max:i,amp:a}=n;if(t){let e=r&&r.isPositive()&&r?.log(10),t=i&&i.isPositive()&&i?.log(10);if(!e||!t||t.eq(e))return null;let n=t.sub(e);return t=>{if(!t)return null;if(!t.isZero()&&!t.isNegative())return t.log(10).sub(e).div(n).number()}}else return!a||!r||!i||a.eq(0)||r.eq(i)?null:e?e=>e?.div(a).number():e=>e?.sub(r).div(i.sub(r)).number()}let me=[`link:fill`,`link:stroke`,`marks`];function L(e,t,n){let r=typeof n.lineWidth==`number`&&isFinite(n.lineWidth)?n.lineWidth:1,i=Math.max(.75,r/2),a=new Path2D;a.arc(t.x,t.y,i,0,Math.PI*2),e.addPath(a)}function R(e,t,n,r){if(isNaN(t.y)||isNaN(n.y))return;let i=typeof r.lineWidth==`number`&&isFinite(r.lineWidth)?r.lineWidth:1,a=Math.max(1,i)/2;e.moveTo(t.x-a,t.y),e.lineTo(t.x+a,t.y),e.lineTo(n.x+a,n.y),e.lineTo(n.x-a,n.y),e.closePath()}function he(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=null,o=0,s=()=>{o===1&&a&&L(r,a,n),a=null,o=0};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){s();continue}o===0?(r.moveTo(e,n),a={x:e,y:n}):r.lineTo(e,n),o++}return s(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function z(e,t){if(!t.length)return;if(t.length===1){e.moveTo(t[0].x,t[0].y);return}if(t.length===2){e.moveTo(t[0].x,t[0].y),e.lineTo(t[1].x,t[1].y);return}let n=t.length,r=Array(n-1),i=Array(n-1);for(let e=0;e<n-1;e++)r[e]=t[e+1].x-t[e].x,i[e]=r[e]===0?0:(t[e+1].y-t[e].y)/r[e];let a=Array(n);a[0]=i[0];for(let e=1;e<n-1;e++)a[e]=(i[e-1]+i[e])/2;a[n-1]=i[n-2];for(let e=0;e<n-1;e++){if(i[e]===0||!isFinite(i[e])){a[e]=0,a[e+1]=0;continue}if(a[e]===0&&a[e+1]===0)continue;if(a[e]*i[e]<0||a[e+1]*i[e]<0){a[e]=0,a[e+1]=0;continue}let t=a[e]/i[e],n=a[e+1]/i[e],r=t*t+n*n;if(r>9){let o=3/Math.sqrt(r);a[e]=o*t*i[e],a[e+1]=o*n*i[e]}}e.moveTo(t[0].x,t[0].y);for(let i=0;i<n-1;i++){let n=r[i],o=t[i],s=t[i+1],c=o.x+n/3,l=o.y+a[i]*n/3,u=s.x-n/3,d=s.y-a[i+1]*n/3;e.bezierCurveTo(c,l,u,d,s.x,s.y)}}function ge(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=[],o=()=>{if(a.length){if(a.length===1){L(r,a[0],n),a=[];return}z(r,a),a=[]}};for(let t of e){let{x1:e,y1:n}=i(t);if(isNaN(n)){o();continue}a.push({x:e,y:n})}return o(),{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function _e(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&(isNaN(a[o].y1)||isNaN(a[o].y2));)o++;if(o>=a.length)break;let e=[];for(;o<a.length&&!isNaN(a[o].y1)&&!isNaN(a[o].y2);)e.push(a[o]),o++;if(e.length===1){R(r,{x:e[0].x1,y:e[0].y1},{x:e[0].x2,y:e[0].y2},n);continue}z(r,e.map(e=>({x:e.x1,y:e.y1})));let t=e[e.length-1];r.lineTo(t.x2,t.y2);for(let t=e.length-2;t>=0;t--)r.lineTo(e[t].x2,e[t].y2);r.closePath()}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function ve(e,t,n){let r=new Path2D,i=K(t??[`value@time`,`zero@time`]),a=e.map(i),o=0;for(;o<a.length;){for(;o<a.length&&isNaN(a[o].y1);)o++;if(o>=a.length)break;let e=o;for(r.moveTo(a[e].x1,a[e].y1);o<a.length&&!isNaN(a[o].y1);)r.lineTo(a[o].x1,a[o].y1),o++;let t=o--,i=!1;for(;o>=e&&!isNaN(a[o].y2);)r.lineTo(a[o].x2,a[o].y2),o--,i=!0;!i&&!isNaN(a[e].y2)&&(r.lineTo(a[e].x2,a[e].y2),i=!0),r.lineTo(a[e].x1,a[e].y1),t-e===1&&i&&R(r,{x:a[e].x1,y:a[e].y1},{x:a[e].x2,y:a[e].y2},n),o=t}return{path:r,strokeStyle:n.lineColor??n.color??`black`,fillStyle:G(n.fillColor??n.color??`black`,n.fillOpacity??.25,`transparent`)}}function B(e,t=`value@time`){return function(n,r,i){let a=new Path2D,o=K(r??t),s=n.map(o);for(let t of s){let n=t.x2-t.x1,r=t.y2-t.y1,o=Math.hypot(n,r),s=Math.atan2(r,n)*180/Math.PI,c=new Path2D;e(c,{style:i,dx:n,dy:r,l:o});let l=new DOMMatrix().translate(t.x1,t.y1).rotate(s).translate(i.offset?.[0]??0,i.offset?.[1]??0).rotate(i.angle??0);a.addPath(c,l)}return{path:a,strokeStyle:i.lineColor??i.color??`black`,fillStyle:G(i.fillColor??i.color??`black`,i.fillOpacity??.25,`white`)}}}function V(e,t){let n=K(t??`value@time`);return{path:e.map(n).map(({x1:e,y1:t})=>({x:e,y:t}))}}let ye={line:{defaultUsing:`value@time`,predicate:e=>!isNaN(e.y1),hasBottom:!1},area:{defaultUsing:[`value@time`,`zero@time`],predicate:e=>!isNaN(e.y1)&&!isNaN(e.y2),hasBottom:!0}};function be(e,t,n){if(n===`start`)return[{x:t.x,y:e.y},{x:t.x,y:t.y}];if(n===`end`)return[{x:e.x,y:t.y},{x:t.x,y:t.y}];let r=(e.x+t.x)/2;return[{x:r,y:e.y},{x:r,y:t.y},{x:t.x,y:t.y}]}function H(e,t,n){let r=[],i=null;for(let a of e){let e=t(a);if(isNaN(e.y)){i=null;continue}i?r.push(...be(i,e,n)):r.push(e),i=e}return r}function U(e,t){let n=ye[t];return function(r,i,a){let o=K(i??n.defaultUsing),s=r.map(o),c=[],l=xe(s,e,n,a,c);if(t===`line`)for(let e of c)L(l,e,a);return{path:l,strokeStyle:a.lineColor??a.color??`black`,fillStyle:G(a.fillColor??a.color??`black`,a.fillOpacity??.25,`transparent`)}}}function xe(e,t,n,r,i=[]){let a=new Path2D,o=0;for(;o<e.length;){for(;o<e.length&&!n.predicate(e[o]);)o++;if(o>=e.length)break;let s=o,c=[];for(;o<e.length&&n.predicate(e[o]);)c.push(e[o]),o++;let l=o;if(!c.length)continue;let u=Se(c,t,{left:s>0?e[s-1]:null,right:l<e.length?e[l]:null}),d=H(u,e=>({x:e.x1,y:e.y1}),t);if(!d.length)continue;let f=d.length===1,p=[];if(n.hasBottom){if(p=H(u,e=>({x:e.x2,y:e.y2}),t),!p.length)continue;if(f&&p.length===1){R(a,d[0],p[0],r);continue}}a.moveTo(d[0].x,d[0].y);for(let e=1;e<d.length;e++)a.lineTo(d[e].x,d[e].y);if(!n.hasBottom){f&&i.push(d[0]);continue}for(let e=p.length-1;e>=0;e--)a.lineTo(p[e].x,p[e].y);a.lineTo(d[0].x,d[0].y)}return a}function Se(e,t,n){let r=e.map(e=>({...e}));return r.length?(Ce(r,t,n.left),we(r,t,n.right),r):r}function Ce(e,t,n){if(!n)return;let r=Te(t,n.x1,e[0].x1);r==null||r===e[0].x1||e.unshift(W(e[0],r))}function we(e,t,n){if(!n)return;let r=e[e.length-1],i=Ee(t,n.x1,r.x1);i==null||i===r.x1||e.push(W(r,i))}function Te(e,t,n){if(t==null||isNaN(t)||e===`start`)return null;if(e===`end`)return t;let r=(t+n)/2;return isNaN(r)?null:r}function Ee(e,t,n){if(t==null||isNaN(t)||e===`end`)return null;if(e===`start`)return t;let r=(n+t)/2;return isNaN(r)?null:r}function W(e,t){return{x1:t,y1:e.y1,x2:t,y2:e.y2}}function G(e,t,n=`transparent`){return`color-mix(in srgb, ${e} ${t*100}%, ${n})`}function K(e){let[[t,n],[r,i]]=pe(e);return function(e){return{x1:e.x[n],y1:e.y[t],x2:e.x[i],y2:e.y[r]}}}function De(e){return(typeof e==`number`||e==null)&&(e=[e??0]),{t:e[0],r:e[1]??e[0],b:e[2]??e[0],l:e[3]??e[1]??e[0]}}let Oe={\"link:line\":[he,{stroke:!0}],\"link:curve\":[ge,{stroke:!0}],\"link:area\":[ve,{fill:!0}],\"link:curve-area\":[_e,{fill:!0}],\"link:step-area-start\":[U(`start`,`area`),{fill:!0}],\"link:step-area\":[U(`mid`,`area`),{fill:!0}],\"link:step-area-end\":[U(`end`,`area`),{fill:!0}],\"link:step-start\":[U(`start`,`line`),{stroke:!0}],\"link:step\":[U(`mid`,`line`),{stroke:!0}],\"link:step-end\":[U(`end`,`line`),{stroke:!0}],\"mark:circle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(n,0),e.arc(0,0,n,0,Math.PI*2)}),{stroke:!0,fill:!0}],\"mark:minus\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(-n,0),e.lineTo(n,0)}),{stroke:!0,fill:!1}],\"mark:triangle\":[B((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(0,-n),e.lineTo(+n*Math.sqrt(3)/2,n/2),e.lineTo(-n*Math.sqrt(3)/2,n/2),e.closePath()}),{stroke:!0,fill:!0}],\"mark:square\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.rect(-t/2,-t/2,t,t)}),{stroke:!0,fill:!0}],\"mark:diamond\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(0,-t/2),e.lineTo(t/2,0),e.lineTo(0,t/2),e.lineTo(-t/2,0),e.closePath()}),{stroke:!0,fill:!0}],\"mark:star\":[B((e,{style:{size:t}})=>{t??=5;let n=t/2,r=n*.4;for(let t=0;t<10;t++){let i=t%2==0?n:r,a=Math.PI/5*t-Math.PI/2,o=i*Math.cos(a),s=i*Math.sin(a);t===0?e.moveTo(o,s):e.lineTo(o,s)}e.closePath()}),{stroke:!0,fill:!0}],\"mark:plus\":[B((e,{style:{size:t}})=>{t??=5,e.moveTo(-t/2,0),e.lineTo(t/2,0),e.moveTo(0,-t/2),e.lineTo(0,t/2)}),{stroke:!0}],\"mark:cross\":[B((e,{style:{size:t}})=>{t=(t??5)/2*Math.sqrt(2),e.moveTo(-t/2,-t/2),e.lineTo(t/2,t/2),e.moveTo(-t/2,t/2),e.lineTo(t/2,-t/2)}),{stroke:!0}],\"mark:path\":[B((e,{style:{path:t,size:n,scale:r,origin:i}})=>{let a=new DOMMatrix().scale(r??1).scale(n??5).translate(-(i?.[0]??0),-(i?.[1]??0));e.addPath(new Path2D(t),a)}),{stroke:!0,fill:!0}],\"mark:line\":[B((e,{l:t})=>{e.moveTo(0,0),e.lineTo(t,0)},[`min`,`max`]),{stroke:!0}],\"mark:box\":[B((e,{l:t,style:{size:n,radius:r,padding:i}})=>{n??=5;let a=De(i),o=-a.l,s=-(a.t+n/2),c=a.l+t+a.r,l=a.t+n+a.b;r&&r>0?e.roundRect(o,s,c,l,r):e.rect(o,s,c,l)},[`min`,`max`]),{stroke:!0,fill:!0}],\"mark:section\":[B((e,{l:t,style:{size:n}})=>{n??=5,e.moveTo(0,-n/2),e.lineTo(0,n/2),e.moveTo(0,0),e.lineTo(t,0),e.moveTo(t,-n/2),e.lineTo(t,n/2)},[`min`,`max`]),{stroke:!0}],\"mark:icon\":[V,{fill:!0}],\"mark:text\":[V,{fill:!0}]};var ke=class extends j{updateOptions(e){super.updateOptions(e)}#e=S(0);#t={};render(e){super.render(e),this.#n(e),this.#r(e)}#n(e){let t=this.#e.neq(e.timeAxis.current.resolution);if(this.#e=e.timeAxis.current.resolution.clone(),e.options.series)for(let n in e.options.series){let r=e.options.series[n],i=r.track??e.tracks[0].id,a=e.tracks.find(e=>e.id===i),{data:o,meta:s,revision:c}=e.dataCaches[`series:${n}:chart`];if(this.#t[n]&&!t&&this.#t[n].revision===c&&this.#t[n].trackId===i)continue;this.#t[n]={time:e.timeAxis.current.range[0],trackId:i,revision:c,linkOps:[],markOps:[]};let l=s.color,u=[],d=I(a.symmetric,r.data.scale===`log`,s);if(d){for(let e=0;e<o.length;e++){let t=o[e].time,r=o[e].value,i={x:{},y:{zero:a.y(0)}};for(let e in t)i.x[e]=t[e].sub(this.#t[n].time).div(this.#e,3).number();for(let e in r)i.y[e]=a.y(d(r[e]));u.push(i);for(let t of o[e].marks){if(!t)continue;let e={color:l,...t.style??{}},[r,a]=Oe[`mark:${t.draw}`],{path:o,strokeStyle:s,fillStyle:c,postFillStyle:u}=r?.([i],t.using,e)??{};this.#t[n].markOps||(this.#t[n].markOps=[]),this.#t[n].markOps.push({type:`mark`,draw:t.draw,time:this.#t[n].time,path:o,style:{...e,strokeStyle:s,fillStyle:c,postFillStyle:u,...a}})}}for(let e of s.links??[]){if(!e)continue;let t={color:l,...e.style??{}},[r,i]=Oe[`link:${e.draw}`],{path:a,strokeStyle:o,fillStyle:s}=r?.(u,e.using,t)??{};this.#t[n].linkOps||(this.#t[n].linkOps=[]),this.#t[n].linkOps.push({type:`link`,draw:e.draw,time:this.#t[n].time,path:a,style:{...t,strokeStyle:o,fillStyle:s,...i}})}}}}#r(e){if(!e.options.series)return;let t={};for(let n in this.#t){let r=this.#t[n];t[r.trackId]||(t[r.trackId]={});let i=r.time.sub(e.timeAxis.current.time??e.timeAxis.now).div(this.#e,3).number()+e.timeAxis.axisLength[0];for(let e of r.linkOps){let n=e.draw.includes(`area`)?`link:fill`:`link:stroke`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}for(let e of r.markOps){let n=`marks`;t[r.trackId][n]||(t[r.trackId][n]=[]),t[r.trackId][n].push({...e,ox:i,oy:0})}}for(let n of e.tracks)M(e,n,()=>{let r=e.ctx;for(let i of me){if(!t?.[n.id]?.[i])continue;let a=t[n.id][i];for(let t of a)r.save(),r.translate(t.ox,t.oy),t.path instanceof Path2D?Ae(e,t.path,t.style):t.path&&(Me(e,t.path,t.style),je(e,t.path,t.style)),r.restore()}})}};function Ae({ctx:e},t,n){!t||!(t instanceof Path2D)||(n.fill&&!n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)),n.stroke&&n.strokeStyle&&(n.lineWidth??1)>0&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.strokeStyle,e.lineWidth=n.lineWidth??1,n.lineDashArray&&(e.setLineDash(n.lineDashArray),e.lineDashOffset=n.lineDashOffset??0),e.stroke(t)),n.fill&&n.fillPost&&n.fillStyle&&(e.fillStyle=n.fillStyle,e.fill(t)))}function je({ctx:e},t,n){if(n.text){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.fontWeight??`normal`} ${n.size??14}px ${n.fontFamily??`sans-serif`}`,e.textAlign=n.textAlign??`center`,e.textBaseline=n.textBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.textOutline||n.textOutlineColor!==void 0||n.textOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.textOutlineColor??`white`,e.lineWidth=n.textOutlineWidth??2,e.strokeText(n.text??``,0,0)),e.fillStyle=G(n.textColor??n.color??`black`,n.textOpacity??1),e.fillText(n.text??``,0,0),e.restore()}}function Me({ctx:e},t,n){if(n.icon){e.translate(n.offset?.[0]??0,n.offset?.[1]??0),e.font=`${n.iconFontWeight??`normal`} ${n.size??16}px ${n.iconFontFamily??`icons`}`,e.textAlign=n.iconAlign??`center`,e.textBaseline=n.iconBaseline??`middle`;for(let r of t)e.save(),e.translate(r.x,r.y),n.angle&&e.rotate(n.angle/180*Math.PI),(n.iconOutline||n.iconOutlineColor!==void 0||n.iconOutlineWidth!==void 0)&&(e.lineCap=`round`,e.lineJoin=`round`,e.strokeStyle=n.iconOutlineColor??`white`,e.lineWidth=n.iconOutlineWidth??2,e.strokeText(n.icon??``,0,0)),e.fillStyle=G(n.iconColor??n.color??`black`,n.iconOpacity??1),e.fillText(n.icon??``,0,0),e.restore()}}var Ne=class{values;constructor(...e){this.values=e}clone(){return new this.constructor(...this.values)}get length(){return this.values.length}set(...e){return this.values=e,this}add(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]+=e[t];return this}sub(e){if(Array.isArray(e)||(e=e.values),e.length!==this.length)throw Error(`Vector size mismatch`);for(let t=this.length-1;t>=0;t--)this.values[t]-=e[t];return this}scale(e){for(let t=this.length-1;t>=0;t--)this.values[t]*=e;return this}get norm(){return Math.sqrt(this.values.reduce((e,t)=>e+t**2,0))}normalize(){let e=this.norm;return e?this.scale(1/e):this}distanceTo(e){return this.clone().sub(e).norm}},q=class extends Ne{get x(){return this.values[0]}set x(e){this.values[0]=e}get y(){return this.values[1]}set y(e){this.values[1]=e}toJSON(){return{x:this.x,y:this.y}}};function Pe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).lt(t)?r=a+1:i=a}return r}function Fe(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>1,o=n(e[a]);o!=null&&S(o).le(t)?r=a+1:i=a}return r}function Ie(e,[t,n],r){let i=t===void 0?0:Pe(e,t,r),a=n===void 0?e.length:Pe(e,n,r);return i<a?[i,a]:[0,0]}function Le(e,t){let n=(e,t,n,r)=>Math.min(t,r)-Math.max(e,n),r=n(e.point.x,e.point.x+e.box.width+2,t.point.x,t.point.x+t.box.width+2),i=n(e.point.y,e.point.y+e.box.height+2,t.point.y,t.point.y+t.box.height+2);return r<=0||i<=0?null:{w:r,h:i,d:Math.hypot(r,i)}}function Re(e,t,n){let r=0,i=0,a=new q(0,0);do{r=0;let i=e.map(e=>({...e,force:(e?.force??new q(.01*e.id,0)).set(.01*e.id,0)}));for(let e=0;e<i.length;e++)for(let t=e+1;t<i.length;t++){let n=i[e],r=i[t];if(n===r||n.sideX!==r.sideX)continue;let o=Le(n,r);if(o)if(n.point.distanceTo(r.point)===0){let e=[0,o.h/2];n.force.sub(e),r.force.add(e)}else{let e=a.set(...r.point.values).sub(n.point).normalize(),t=[o.w/2*e.x,o.h/2*e.y];n.force.sub(t),r.force.add(t)}}i.forEach(e=>{let t=a.set(e.point.x,0);e.force.sub(t.normalize().scale(.2))});for(let e=0;e<i.length;e++){let a=i[e];a.point.add(a.force),a.point.x<0&&(a.force.x+=a.point.x,a.point.x-=a.point.x),a.point.y-a.box.height/2<0+t&&(a.force.y+=a.point.y-a.box.height/2-t,a.point.y-=a.point.y-a.box.height/2-t),a.point.y+a.box.height/2+1>n&&(a.force.y+=a.point.y+a.box.height/2+1-n,a.point.y-=a.point.y+a.box.height/2+1-n),r+=a.force.norm**2}}while(r>1&&i++<100);return i<100}var ze=class extends j{postRender(e){super.postRender(e),this.#t(e)}#e(e,t){if(!e)return;let n=Fe(e,t,e=>e.time.time);if(0<n&&n<=e.length)return e[n-1]}#t(e){if(e.timeAxis.animating||!e.options.series)return;let t=e.timeAxis.cursor.time??S(Date.now()/1e3);N(e,(n,r)=>{let i=e.ctx,a=[],o=1;i.textBaseline=`middle`,i.textAlign=`left`;for(let n of r.seriesKeys){let s=e.options.series?.[n];if(!s)throw Error(`Invalid series`);if(s.tooltip===!1)continue;let{data:c,meta:l}=e.dataCaches[`series:${n}:instantaneous`];if(!l)continue;let u=I(r.symmetric,s.data.scale===`log`,l);if(!u)continue;let d=this.#e(c,t);if(!d)continue;let f=d.time.time;if(!f)continue;let p=e.timeAxis.p(f),m=d.value,h=d.text,g=i.measureText(h),_=l.color;if(m==null)continue;let v=r.y(u(m));a.push({id:a.length,cx:p,cy:v,point:new q(0,v),color:_,metrics:g,sideX:o,text:{dx:6,dy:0,value:h},box:{dx:.5,dy:.5-g.fontBoundingBoxAscent-2,width:12+g.width,height:4+g.fontBoundingBoxAscent+g.fontBoundingBoxDescent}}),o=-o}Re(a,e.chart.oy,e.chart.oy+e.chart.height);for(let e of a)e.point.x=e.cx+e.sideX*(e.point.x+20);for(let{cx:e,cy:t,point:n,color:r}of a)i.beginPath(),i.moveTo(e,t),i.lineTo(n.x,n.y),i.strokeStyle=`white`,i.lineWidth=3,i.stroke(),i.strokeStyle=r,i.lineWidth=1,i.setLineDash([3]),i.stroke(),i.setLineDash([]);for(let{cx:e,cy:t,point:n,sideX:r,text:o,color:s,box:c}of a)i.beginPath(),i.arc(e,t,3,0,Math.PI*2),i.fillStyle=s,i.fill(),i.strokeStyle=`white`,i.stroke(),i.beginPath(),i.roundRect(n.x+c.dx,n.y+c.dy,c.width*r,c.height,4),i.shadowBlur=3,i.shadowColor=`black`,i.shadowOffsetX=0,i.shadowOffsetY=1,i.fillStyle=s,i.fill(),i.shadowBlur=0,i.shadowColor=`transparent`,i.shadowOffsetX=0,i.shadowOffsetY=0,i.lineWidth=1,i.strokeStyle=`white`,i.stroke(),i.textBaseline=`middle`,i.textAlign=r<0?`right`:`left`,i.fillStyle=`white`,i.fillText(o.value,n.x+r*o.dx,n.y+o.dy)})}};function Be(e,t={}){return{font:`${e?.fontWeight??t?.fontWeight??`normal`} ${e?.fontSize??t?.fontSize??`12px`} \"${e?.fontFamily??t?.fontFamily??`BIZ UDPGothic`}\"`,color:e?.color??t?.color}}var Ve=class extends j{render(e){super.render(e),N(e,()=>{this.#t(e)})}preRender(e){super.preRender(e),N(e,()=>{this.#e(e)})}#e(e){let t=e.ctx,{width:n}=e.size,r=e.renderingTrack.axisY,i=e.renderingTrack.id,a=P(e.options.tracks?.[i].timeAxis,{});if(!a)return;let o=e.dataCaches[`tracks:${i}:timeAxis`]?.data;o&&(t.beginPath(),a.axis!==!1&&(t.strokeStyle=(typeof a.axis==`object`?a.axis.color:void 0)||`#3333`,t.moveTo(0,r+.5),t.lineTo(n,r+.5)),t.strokeStyle=(a.ticks!==!1&&typeof a.ticks==`object`?a.ticks.color:void 0)||`#3333`,o.forEach(n=>{if(!n.tick)return;let i=e.timeAxis.p(n.time.time);a.ticks!==!1&&(t.moveTo(i,r-(n.major?10:5)),t.lineTo(i,r+(e.symmetric?n.major?10:5:0)))}),t.stroke())}#t(e){let t=e.ctx,n=e.renderingTrack.axisY+2,r=e.renderingTrack.id,i=P(e.options.tracks?.[r].timeAxis,{});if(!i)return;let a=e.dataCaches[`tracks:${r}:timeAxis`]?.data;if(!a||i.labels===!1)return;let o=Be(i.labels);t.fillStyle=o?.color??`black`,t.font=o?.font,t.textAlign=`center`,t.textBaseline=`top`,a.forEach(r=>{let i=e.timeAxis.p(r.time.time);r.text!==void 0&&t.fillText(r.text,i,n)})}};let J={z:0,r:S(1)};function He(e){return J.r.eq(e)?J.z:-e.log(O.base).number()}function Y(e){return J.z===e?J.r:(J.z=e,J.r=S(O.base).pow(-e,BigInt(Math.floor(e))),J.r)}function Ue(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(S(e).floorBy(O.chunkStep).toFixed(2))}function We(e,t,n=O.defaultChunkSize){let r=Y(t),i=r.mul(n);if(!e[0]||!e[1]||!i.isPositive())return[{id:`z${t}`,seq:0n,expires:1/0,range:e,resolution:r,zoom:t}];let a=[],o=e[1].add(i);for(let n=e[0];n.le(o);n=n.add(i)){let e=n.div(i).floor().integer(),o=[i.mul(e),i.mul(e+1n)],s=`z${t}:seq${e}`;a.push({id:s,seq:e,expires:1/0,range:o,resolution:r,zoom:t})}return a}function Ge(e,t){return t===void 0?e:e===void 0||t.lt(e)?t:e}function Ke(e,t){return t===void 0?e:e===void 0?t:e.gt(t)?e:t}function qe(e,t){return(!e[0]||!t[1]||e[0].le(t[1]))&&(!t[0]||!e[1]||t[0].le(e[1]))}var X=class extends A{#e={};#t=[];#n;#r;#i;#a;#o;#s;#c={};#l;constructor(e){super(),this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}updateOptions(e){this.#n=e.loader,this.#r=e.instantValue??!1,this.#i=e.instantZoomLevel,this.#a=e.immediate??!1,this.#s=e.zoomLevels,this.#o=e.chunkSize===null?0:e.chunkSize??O.defaultChunkSize,this.#l=e.name}#u(e,t){if(e.id in this.#e&&t){try{this.#t=this.#p(e.range,this.#t,t)??this.#t}catch(e){console.error(e)}this.changed(),this.dispatchEvent(`datachanged`)}}#d=!1;#f(e,t){let n={...this.#e};for(let e of t)delete n[e.id];for(let e in n)this.#d=!0,delete this.#e[e];!e.timeAxis.animating&&!e.timeAxis.editing&&this.#d&&(this.#d=!1,this.#t=this.#h(Object.values(this.#e),this.#t)??this.#t,this.changed(),this.dispatchEvent(`datachanged`))}#p(e,t,n){let[r,i]=Ie(t,e,e=>e.time._minTime??e.time.time);return[...t.slice(0,r),...n.filter(e=>e.time._minTime??e.time.time),...t.slice(i)].toSorted((e,t)=>{let n=e.time._minTime??e.time.time,r=t.time._maxTime??t.time.time;return n==null||r==null?0:n.lt(r)?-1:n.gt(r)?1:0})}#m=[S(0),S(0)];get window(){return this.#m}#h(e,t){let[n,r]=e.reduce((e,t)=>{let n=t.range[0],r=t.range[1];return[Ge(e[0],n),Ke(e[1],r)]},[void 0,void 0]);if(!n||!r)return t;let i=[n,r];return this.#m=i,t.filter(e=>qe([e.time._minTime??e.time.time,e.time._maxTime??e.time.time],i))}#g(e,t){return t=Ue(t,this.#s),We(e,t,this.#o).map(e=>this.#e[e.id]??e)}update(e){if(this.#r){let t=e.timeAxis.committing.time??e.timeAxis.now,n=this.#i??e.timeAxis.committing.zoom.number(),r=Y(n).mul(this.#o).div(2),i=[t.sub(r),t.add(r)];this.#_(e,i,n)}else if(this.#a){let t=e.timeAxis.current.zoom?.number()??0;this.#_(e,e.timeAxis.current.range,t)}else{let t=e.timeAxis.committing.zoom?.number()??0;this.#_(e,e.timeAxis.committing.range,t)}}#_(e,t,n){let r=this.#g(t,n),i=Date.now();r.forEach(e=>{this.#e[e.id]&&i<=e.expires||(this.#e[e.id]=e,this.#d=!0,e.expires=1/0,e._loading=!0,this.#n(e).then(t=>{e.expires=t?.expires??e.expires,this.#u(t,t.data)}).finally(()=>{e._loading=!1}))}),this.#f(e,r)}get data(){return this.#t}invalidate(){this.#e={},this.#d=!0}get meta(){return this.#c}updateMeta(e){this.#c=e,this.changed(),this.dispatchEvent(`metachanged`)}get name(){return this.#l}};function Z(e){if(e==null||C(e))return e;if(typeof e==`string`){let t=Date.parse(e);if(Number.isNaN(t))throw Error(`Parse error as Date`);return S(t/1e3)}return e instanceof Date?S(e.getTime()/1e3):S(e)}function Je(e){return e.map(Z)}let Ye=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),Xe=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var Ze=class{#e=null;#t;start(e){e={animation:`in-out`,duration:500,...e},this.cancel(),this.#t=()=>e.done?.(e.target());let t=e.overshoot??0,n=e.duration??500,r=performance.now(),i=e.animation?{linear:e=>e,\"in-out\":e=>e*e*e*(e*(e*6-15)+10),out:e=>1+(t+1)*(e-1)**3+t*(e-1)**2}[String(e.animation)]:null;if(!i||e.origin()===e.target()){this.done();return}let a=()=>{let t=performance.now()-r;if(t<n){let r=i(t/n),o=e.origin()*(1-r)+e.target()*r;e.update(o,r),this.#e=Ye(a)}else this.done()};this.#e=Ye(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(Xe(this.#e),null)}get animating(){return this.#e!==null}};function Q(e,t,n){let r=e??n;if(t[0]!==void 0){let e=t[0]??n;if(r.lt(e))return t[0]}if(t[1]!==void 0){let e=t[1]??n;if(r.gt(e))return t[1]}return e}var $=class extends A{#e;#t={id:void 0,value:null,nullValue:S(0),committed:null,committing:null,current:null,candidate:null,domain:[void 0,void 0],editing:!1,animating:!1,cursorMode:`current`,updated:!1};#n=new Ze;#r;get candidate(){return this.#t.candidate}get value(){return this.#t.value}get committing(){return this.#t.committing}parseValue(e){return S(e)}setValue(e,t){t??=!1;let n=this.parseValue(e);if(this.#t.value===n||n&&this.#t.value?.eq(n))return;let r=typeof t==`object`?t:{animation:t};this.begin(n),this.commit(r)}get committed(){return this.#t.committed}get current(){return this.#t.current}get domain(){return this.#t.domain}set domain(e){let t=e.map(e=>S(e));this.#t.domain=t,this.restore(),this.#c(),this.setValue(Q(this.value,t,this.#t.nullValue)),this.changed()}get editing(){return this.#t.editing}get animating(){return this.#t.animating}get cursor(){return this.#t.cursorMode===`current`?this.#t.current:this.#t.committing}constructor(e={initialValue:0}){super(),e.domain&&(this.#t.domain=e.domain.map(e=>S(e))),e.onNull&&(this.#r=e.onNull,this.#c()),this.#e=e.lazy??!1;let t=Q(S(e.initialValue),this.#t.domain,this.#t.nullValue);this.#t.value=t,this.#t.committed=t,this.#t.current=t,this.#t.candidate=t,this.#t.committing=t}handleSyncEvent(e){switch(e.type){case`begin`:this.#i(e);break;case`update`:this.#a(e);break;case`commit`:this.#o(e);break;case`restore`:this.#l(e);break;case`set:nullvalue`:this.#s(e);break}}begin(e){this.#c(),e===void 0&&(e=this.#t.current);let t=Q(e,this.#t.domain,this.#t.nullValue),n={type:`begin`,candidate:t};this.dispatchEvent(new k(`sync`,n)),this.dispatchEvent(new k(`valuechanging`,t)),this.#i(n)}#i({candidate:e}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.editing=!0,this.#t.updated=!1,this.#t.candidate=e,this.dispatchEvent(new k(`valuechanging`,e)),this.changed()}update(e){this.#c();let t=this.#t.nullValue,n=Q(e,this.#t.domain,t),r={type:`update`,candidate:n,current:(e??t).sub(this.#t.current??t).mul(n===e?1:.5).add(this.#t.current??t).round((e??t).digits)};this.dispatchEvent(new k(`sync`,r)),this.#a(r)}#a({candidate:e,current:t}){this.#t.editing=!0,this.#t.updated=!0,this.#t.candidate=e,this.#t.current=t,this.dispatchEvent(new k(`valuechanging`,e)),this.dispatchEvent(new k(`valueanimating`,this.#t.current)),this.changed()}commit(e={}){this.#c();let t=e.value===void 0?this.#t.candidate:e.value,n=t,r=Q(t,this.#t.domain,this.#t.nullValue),i=e.animation===void 0?this.#t.updated?`current`:`target`:this.#t.cursorMode,a={type:`commit`,targetValue:r,animation:e.animation===void 0?this.#t.editing?`out`:`in-out`:e.animation,duration:e.duration??500,cursorMode:i,divergentValue:n,lazy:e.lazy??this.#e};this.dispatchEvent(new k(`sync`,a)),this.#o(a)}#o({targetValue:e,divergentValue:t,animation:n,duration:r,cursorMode:i,lazy:a}){let o=()=>{this.#t.value=e,this.#t.editing=!1,this.dispatchEvent(new k(`valuechanging`,this.#t.value)),this.dispatchEvent(new k(`valuechanged`,this.#t.value)),this.changed()},s=this.#t.current??this.#t.nullValue,c=e??this.#t.nullValue,l=t??this.#t.nullValue,u=0;c.neq(l)&&l.neq(s)&&(u=3*(l.sub(s).div(c.sub(s)).number()-1)/2),this.#t.cursorMode=i,this.#t.candidate=e,this.#t.committing=e,a||o();let d=c.eq(s)?0:1;this.#t.animating=!0,this.#n.start({origin:()=>0,target:()=>d,update:t=>{this.#c(),this.#t.animating=!0;let n=(e??this.#t.nullValue).sub(s).mul(t).add(s);this.#t.current=n,this.dispatchEvent(new k(`valueanimating`,this.#t.current)),this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.dispatchEvent(new k(`valueanimating`,this.#t.current)),this.changed()},animation:n,duration:r,overshoot:u})}#s({nullValue:e}){this.#t.nullValue=e}#c(){if(!this.#r)return;let e=this.parseValue(this.#r())??this.#t.nullValue;this.#t.nullValue=e}toString(){return JSON.stringify(this)}toJSON(){return{value:this.value,candidate:this.candidate,committed:this.committed,committing:this.committing,current:this.current,editing:this.editing,animating:this.animating}}#l({value:e,domain:t}){this.#n.cancel(),this.#t.cursorMode=`current`,this.#t.value=e,this.#t.candidate=e,this.#t.committed=e,this.#t.committing=e,this.#t.current=e,this.#t.editing=!1,this.#t.animating=!1,this.#t.domain=t}restore(){let e={type:`restore`,value:this.value,domain:this.#t.domain};this.dispatchEvent(new k(`sync`,e)),this.#l(e)}},Qe=class extends A{time;zoom;constructor(e){super(),this.time=new $,this.zoom=new $,this.time=new $({initialValue:Z(e.time??null),domain:Je(e.timeRange??[void 0,null]),onNull:()=>Date.now()/1e3}),this.zoom=new $({initialValue:e.zoom??0,domain:e.zoomRange}),this.time.on(`change`,()=>this.changed()),this.time.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),this.time.on(`valueanimating`,e=>this.dispatchEvent(new k(`timeanimating`,e.value))),this.zoom.on(`change`,()=>this.changed()),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number()))),this.zoom.on(`valueanimating`,e=>this.dispatchEvent(new k(`zoomanimating`,e.value.number())))}setTime(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??=`out`;try{this.time.setValue(Z(e),t)}catch{return!1}return!0}setTimeRange(e){this.time.domain=Je(e??[void 0,null])}setZoom(e,t){if(typeof e==`number`&&!isFinite(e)||typeof e==`number`&&isNaN(e))return!1;t??={animation:`linear`,duration:200,lazy:this.zoom.value.lt(e)};try{this.zoom.setValue(S(e),t)}catch{return!1}return!0}setZoomRange(e){this.zoom.domain=(e??[void 0,void 0]).map(S)}},$e=class{decay;minVelocity;delay;points=[];angle_=0;distance_=0;constructor(e=.005,t=.05,n=100){this.decay=e,this.minVelocity=t,this.delay=n}begin(){this.points=[]}update(e,t){let n=Date.now();this.points.push({x:e,y:t,t:n});let r=n-this.delay;for(;this.points.length>1&&this.points[0].t<r;)this.points.shift()}end(){let e=this.points.length;if(e<2)return!1;let t=Date.now()-this.delay,n=this.points[e-1];if(n.t<t)return!1;for(;this.points.length>1&&this.points[0].t<t;)this.points.shift();let r=this.points[0];if(n.t<Date.now()-this.delay)return!1;let i=n.x-r.x,a=n.y-r.y,o=n.t-r.t;return o<1e3/60?!1:(this.distance_=Math.sqrt(i*i+a*a)/o/this.decay,this.angle_=Math.atan2(a,i),!0)}getDistance(){return this.distance_}getAngle(){return this.angle_}},et=class extends A{#e;#t={cursorMode:`center`,axisLength:[0,0],disabled:!1,dragging:!1,pinch:null};#n=new $e;constructor(e={}){super(),this.#e=new Qe(e);let{time:t,zoom:n}=this.#e;t.on(`change`,()=>this.changed()),t.on(`valuechanged`,e=>this.dispatchEvent(new k(`timechanged`,e.value))),t.on(`valuechanging`,e=>this.dispatchEvent(new k(`timechanging`,e.value))),t.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{time:e.value}))),n.on(`change`,()=>this.changed()),n.on(`valuechanged`,e=>this.dispatchEvent(new k(`zoomchanged`,e.value.number()))),n.on(`valuechanging`,e=>this.dispatchEvent(new k(`zoomchanging`,e.value.number()))),n.on(`sync`,e=>this.dispatchEvent(new k(`sync`,{zoom:e.value}))),t.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),n.on(`valuechanged`,()=>this.dispatchEvent(`viewchanged`)),t.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`)),n.on(`valuechanging`,()=>this.dispatchEvent(`viewchanging`))}z(e){return S(He(e))}r(e){return Y(e.number())}p(e,t){if(Array.isArray(e))return e.map((e,t)=>this.p(e,t));if(e===void 0)return t===0?-100:this.#t.axisLength[0]+this.#t.axisLength[1]+100;let n=this.r(this.#e.zoom.current),r=this.#e.time.current??this.now,i=e??this.now;return S(i).sub(r).div$(n,3).number()+this.#t.axisLength[0]}t(e){if(Array.isArray(e))return e.map(e=>this.t(e));let t=this.r(this.#e.zoom.current),n=this.#e.time.current??this.now;return t.mul(e-this.#t.axisLength[0]).add(n).round(t.digits)}set disabled(e){this.#t.disabled=e}get disabled(){return this.#t.disabled}get editing(){return this.#e.time.editing||this.#e.zoom.editing}get dragging(){return this.#t.dragging}get animating(){return this.#e.time.animating||this.#e.zoom.animating}get current(){return{time:this.#e.time.current,zoom:this.#e.zoom.current,resolution:this.r(this.#e.zoom.current),range:this.rangeFor(this.#e.time.current,this.#e.zoom.current),p:this.p(this.#e.time.current)}}get candidate(){return{time:this.#e.time.candidate,zoom:this.#e.zoom.candidate,resolution:this.r(this.#e.zoom.candidate),range:this.rangeFor(this.#e.time.candidate,this.#e.zoom.candidate),p:this.p(this.#e.time.candidate)}}get value(){return{time:this.#e.time.value,zoom:this.#e.zoom.value,resolution:this.r(this.#e.zoom.value),range:this.rangeFor(this.#e.time.value,this.#e.zoom.value),p:this.p(this.#e.time.value)}}get committing(){return{time:this.#e.time.committing,zoom:this.#e.zoom.committing,resolution:this.r(this.#e.zoom.committing),range:this.rangeFor(this.#e.time.committing,this.#e.zoom.committing),p:this.p(this.#e.time.committing)}}get committed(){return{time:this.#e.time.committed,zoom:this.#e.zoom.committed,resolution:this.r(this.#e.zoom.committed),range:this.rangeFor(this.#e.time.committed,this.#e.zoom.committed),p:this.p(this.#e.time.committed)}}get cursor(){return{time:this.#e.time.cursor,p:this.p(this.#e.time.cursor)}}get range(){return{time:this.#e.time.domain,p:this.p(this.#e.time.domain)}}rangeFor(e,t){return[(e??this.now).sub(this.r(t).mul(this.#t.axisLength[0])),(e??this.now).add(this.r(t).mul(this.#t.axisLength[1]))]}#r(e){this.#e.time.begin(this.t(e)),this.#n.begin()}#i(e,t){this.#e.time.update(this.t(this.current.p-t)),this.#n.update(e,0)}#a(){if(this.#n.end()){let e=this.#n.getDistance(),t=this.#n.getAngle(),n=e*Math.cos(t);this.#e.time.commit({value:this.t(this.current.p-n)})}else this.#e.time.commit()}click(e){this.#e.time.begin(this.t(e)),this.#e.time.commit()}dragStart(e){this.disabled||(this.#r(e),this.#t.dragging=!0)}dragUpdate(e,t){!this.#t.dragging||this.disabled||this.#i(e,t)}dragEnd(){!this.#t.dragging||this.disabled||(this.#a(),this.#t.dragging=!1)}dragCancel(){this.#t.dragging=!1}pinchStart(e,t){if(!this.disabled){if(this.#e.time.update(this.#e.time.current),this.#t.pinch={anchorTime:[this.t(e),this.t(t)]},this.#t.pinch.anchorTime[0].eq(this.#t.pinch.anchorTime[1])){this.#t.pinch=null;return}this.#e.zoom.begin(this.#e.zoom.current)}}pinchUpdate(e,t){if(this.disabled)return;if(!this.#t.pinch)return this.pinchStart(e,t);let n=this.#t.pinch.anchorTime[0],r=this.#t.pinch.anchorTime[1];if(Math.abs(t-e)>2){let i=r.sub(n).div(t-e).abs(),a=this.z(i);this.#e.zoom.update(a)}}pinchEnd(){this.disabled||this.#t.pinch&&(this.#t.pinch=null,this.#e.zoom.commit({animation:`linear`,duration:200}))}setAxisLength(e){this.#t.axisLength=e,this.changed(),this.dispatchEvent(`viewchanged`),this.dispatchEvent(`viewchanging`)}get axisLength(){return this.#t.axisLength}get now(){return S(Date.now()/1e3)}handleSyncEvent(e){e.time&&this.#e.time.handleSyncEvent(e.time),e.zoom&&this.#e.zoom.handleSyncEvent(e.zoom)}},tt=class{id;height;symmetric;oy=0;paddingY=[5,5];labelHeight=0;seriesKeys;constructor(e){this.id=e.id,this.oy=e.oy??0,this.height=e.height??0,this.symmetric=e.symmetric??!1,this.labelHeight=e.labelHeight??0,this.seriesKeys=e.seriesKeys}get chartHeight(){return this.height-this.paddingY[0]-this.paddingY[1]-this.labelHeight}get axisY(){return(this.symmetric?this.chartHeight/2:this.chartHeight)+this.paddingY[0]}y(e){if(e==null||isNaN(e))return NaN;let t=this.symmetric?this.chartHeight/2:this.chartHeight;return this.axisY-t*e}getRenderers(){return[]}},nt=class extends X{#e=new $({initialValue:null});#t=new $({initialValue:null});#n;#r(){let e=this.#e.current,t=this.#t.current;if(!this.#n||e==null||t==null)return;let n=S.max(e.abs(),t.abs());super.updateMeta({...this.#n??{},min:e,max:t,amp:n})}constructor(e){super(e),this.#e.on(`change`,()=>this.#r()),this.#t.on(`change`,()=>this.#r())}updateMeta(e){this.#n=e,e.min&&this.#e.setValue(e.min,this.#e.committed?{animation:`linear`,duration:200}:!1),e.max&&this.#t.setValue(e.max,this.#t.committed?{animation:`linear`,duration:200}:!1),this.#r()}};function rt(e,t,n=globalThis.requestAnimationFrame){let r,i,a=te(e),o=new et;o.on(`change`,()=>v()),o.on(`sync`,e=>a(`sync`,e.value)),o.on(`viewchanging`,()=>u());let s={onPointerEvent:e=>{let t={click:e=>o.click(e),\"drag:start\":e=>o.dragStart(e),\"drag:update\":(e,t)=>o.dragUpdate(e,t),\"drag:end\":()=>o.dragEnd(),\"pinch:start\":(e,t,n)=>o.pinchStart(e,n),\"pinch:update\":(e,t,n)=>o.pinchUpdate(e,n),\"pinch:end\":()=>o.pinchEnd()};if(e.type in t)return t[e.type](e.buttons[0]?.latest.x??0,e.buttons[0]?.delta.x??0,e.buttons[1]?.latest.x??0),!0},pointerStyle:()=>{}},c=[new Ve,new ke,new ze,new fe];c.forEach(e=>{e.on(`change`,()=>v()),e.on(`renderer:event`,t=>a(`renderer:event`,{value:t.value,uid:e.uid}))});let l={ctx:null,options:{},tracks:[],renderingTrack:null,dataCaches:{},chart:{ox:0,oy:0,width:1,height:1,get axisY(){return(l.symmetric?l.chart.height/2:l.chart.height)+l.chart.oy}},size:{width:1,height:1},get symmetric(){return this.renderingTrack?.symmetric??!1},dpr:1,timeAxis:o};async function u(){let e=o.current,t=o.revision;await a(`view:changed`,{time:e.time,zoom:e.zoom.number(),resolution:e.resolution,range:e.range},{rpc:!0}),o.revision===t&&Object.values(l.dataCaches).forEach(e=>d(e).then(()=>v()))}async function d(e){let{revision:t}=e,{resolution:n,zoom:r}=o.value,i=await a(`provider:loadMeta`,{key:e.name,zoom:r.number(),resolution:n},{rpc:!0});e.revision===t&&e.updateMeta(i)}function f(e,t={}){let n={...t,name:e,loader:async t=>await a(`provider:loadChunk`,{key:e,chunk:t},{rpc:!0})};if(l.dataCaches[e]){let t=l.dataCaches[e];return t.updateOptions(n),t.invalidate(),t}let r=e.startsWith(`series:`)?new nt(n):new X(n);return r.on(`change`,()=>v()),r.on(`datachanged`,async()=>u()),r}function p(e){let t={...e.dataCaches};for(let n in e.options.dataCacheOptions)e.dataCaches[n]=f(n,e.options.dataCacheOptions[n]),delete t[n];Object.keys(t).forEach(t=>delete e.dataCaches[t])}function m(e){for(let t of Object.values(e.dataCaches))t.update(e)}let h;function g(){if(!i)return;let e=i.height/l.dpr,t=Object.entries(l.options.tracks??{default:{}}),n=Math.max(0,e-t.reduce((e,[,t])=>e+(t?.height??0),0))/t.filter(([,e])=>e.height==null).length,r=0;l.tracks=t.map(([e,i])=>{let a=i.height??n;return r+=a,new tt({id:e,oy:r-a,height:a,symmetric:i.symmetric??!1,labelHeight:!i.symmetric&&i.timeAxis!==!1&&(typeof i.timeAxis!=`object`||i.timeAxis.labels!==!1)?14:0,seriesKeys:Object.entries(l.options.series??{}).filter(([,n])=>(n.track??t[0][0])===e).map(([e])=>e)})})}ne(e,{init:({canvas:e})=>{i=e,r=i?.getContext(`2d`)},fonts:e=>{if(e)for(let n of e)try{let e=typeof n.source==`string`&&n.source.match(/url\\(\"([^\"]+)\"\\) *format\\(\"woff2\"\\)/);if(e&&e?.[1])fetch(e[1]).then(e=>e.arrayBuffer()).then(e=>{let r=new Uint8Array(e),i=new FontFace(n.family,r,n.desc);i.loaded.then(()=>{t?.add(i),v()}),i.load()});else{let e=new FontFace(n.family,n.source,n.desc);e.loaded.then(()=>{t?.add(e),v()}),e.load()}}catch(e){console.error(`Failed to load the font:`,e)}v()},\"options:update\":e=>{D(l.options,e),e.dataCacheOptions&&p(l),(`tracks`in e||`series`in e)&&g();for(let t of c)t.updateOptions(e);v()},resize:async({size:e,context:t})=>{if(!i)return;let n=t?.dpr??l.dpr??1;i.width=e.width*n,i.height=e.height*n,o.setAxisLength([e.width/2,e.width/2]),l.dpr=n,g(),v()},pointer:async e=>{let t=[...c??[],s],n=(h??t).find(t=>t.onPointerEvent(e,l));return h=e.type===`up`||!n?void 0:[n],!0},cursor:async e=>{let t=[...c??[],s];return(h??t).map(t=>t.pointerStyle(e,l)).find(e=>e)},sync:e=>{o.handleSyncEvent(e)},reload:()=>{for(let e of Object.values(l.dataCaches))e.invalidate();v()}});let _=!1;function v(){_=!0}let y=0,b=0;function x(){y++}function S(){let e=Date.now(),t=(y*1e3/(e-b)).toFixed(1);b+1e3<=e&&(b=e,y=0),r?.clearRect(0,0,60,15),r?.fillText(`FPS: ${t}`,5,10)}function C(e){for(let t of c)r?.save(),e(t),r?.restore()}function w(e){!i||!r||(e.ctx=r,_=!1,m(e),x(),r.reset(),r.scale(e.dpr,e.dpr),C(t=>{t.preRender(e)}),M(e,null,()=>{ue(e,o.range.time,`#00000010`)}),C(t=>{t.render(e)}),e.options.indicator!==!1&&M(e,null,()=>de(e)),C(t=>{t.postRender(e)}))}function ee(){let e=o.range,t=e.time[0]===null&&0<=e.p[0]&&e.p[0]<l.size.width||e.time[1]===null&&0<=e.p[1]&&e.p[1]<l.size.width;return _||o.value.time===null||t}let T=()=>{n(T),ee()&&w(l),l.options.showFps&&S()};n(T)}rt(self,self.fonts)})();"],{type:`text/javascript;charset=utf-8`}));return new Worker(t,e)}function mn(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`)return e.toString()===t.toString();if(e&&t&&typeof e==`object`){let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!mn(e[r],t[r]))return!1;return!0}return!1}function $(e,t,n=new WeakSet){if(e==null)return e;let r=typeof e;if(r===`string`||r===`number`||r===`boolean`||r===`bigint`)return e;if(r===`undefined`||r===`symbol`)return;if(r===`function`)return e.toString();if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer||t?.includes(e))return e;if(n.has(e))throw TypeError(`Cannot serialize circular reference`);if(n.add(e),typeof e.toJSON==`function`){let r=e.toJSON();if(r!==e){let i=$(r,t,n);return n.delete(e),i}}if(Array.isArray(e)){let r=Array(e.length);for(let i=0;i<e.length;i++)r[i]=$(e[i],t,n);return n.delete(e),r}if(e instanceof Date||e instanceof RegExp||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)return n.delete(e),e;let i={};for(let r of Object.keys(e))i[r]=$(e[r],t,n);return n.delete(e),i}function hn(e,t,n){e??={},t??={};let r=[],i={...t};for(let a in e)(!i[a]||i[a]!==e[a]&&!mn(i[a]?._src,e[a]))&&(t[a]=n(e[a]),t[a]!==e[a]&&(t[a]._src=$(e[a]),r.push(a))),delete i[a];Object.keys(i).forEach(e=>delete t[e])}const gn=[`#080`,`#800`,`#008`,`#880`,`#088`,`#808`],_n={indicator:!0,padding:[5,5,5,5],sources:void 0,series:void 0,tracks:void 0,selection:void 0};var vn=class extends T{#e;call;#t={};#n={};#r={};#i=!1;#a=[];#o=!1;#s=null;#c=0;constructor(e){super(),this.#e=new pn,this.call=ke(this.#e),Ae(this.#e,{sync:e=>{this.dispatchEvent(new w(`sync`,e,this.uid))},"renderer:event":async e=>{this.dispatchEvent(new w(`renderer:event`,e.value,e.uid))},"provider:loadChunk":async({key:e,chunk:t})=>await this.#r[e]?.loadChunk(t),"provider:loadMeta":async({key:e,zoom:t,resolution:n})=>await this.#r[e].loadMeta({zoom:t,resolution:n}),"view:changed":async e=>{for(let t in this.dispatchEvent(new w(`viewchanged`,e,this.uid)),this.#n)this.#n[t].updateDataRange(e.range,e.zoom);return!0}});let t=e.canvas.transferControlToOffscreen();this.call(`init`,{canvas:t},{transfer:[t]}),this.setFonts(e.fonts)}async setFonts(e){if(e){this.#i=!1,this.#d();let t=await He(e);this.call(`fonts`,t);return}this.#i=!0,this.#u(),await this.#p()}[Symbol.dispose](){this.dispose()}dispose(){this.#d(),this.#e.terminate()}setOptions(e){this.#l={},this.updateOptions({..._n,...e})}#l={};updateOptions(e){xe(this.#l,e);let t={...e},n=!1;if(`sources`in e&&hn(this.#l.sources,this.#t,e=>(n=!0,fn(e))),(n||`series`in e||`tracks`in e)&&(hn(this.#l.series,this.#n,e=>(e.data.color||(e.data.color=gn[this.#c++],this.#c%=gn.length),n=!0,ln({sources:this.#t,options:e}))),`tracks`in e&&(n=!0),n)){let e=[...Object.entries(this.#l.tracks??{default:{}}).filter(([,e])=>e.timeAxis!==!1).map(([e,t])=>[`tracks:${e}:timeAxis`,tn,{timeAxis:t.timeAxis},{immediate:!0}]),...Object.entries(this.#n).flatMap(([e,t])=>{let n={series:t,options:this.#l},r={zoomLevels:t.zoomLevels,chunkSize:t.chunkSize};return[[`series:${e}:chart`,Je,n,r],[`series:${e}:instantaneous`,Qe,n,{...r,instantValue:!0,instantZoomLevel:t.options.data.instantaneous?.zoom}]]})];t.dataCacheOptions={};let n={...this.#r};for(let[r,i,a,o]of e)this.#r[r]=new i(a),delete n[r],o&&(t.dataCacheOptions[r]=o);Object.keys(n).forEach(e=>delete this.#r[e])}this.call(`options:update`,t)}resize(e){this.call(`resize`,e)}onPointerEvent(e){this.call(`pointer`,e)}async pointerStyle(e){return await this.call(`cursor`,e,{rpc:!0})}sync(e,t){t&&t===this.uid||this.call(`sync`,e)}#u(){if(!this.#i||this.#o||typeof document>`u`)return;this.#o=!0;let e=[],t=document.fonts;if(t&&typeof t.addEventListener==`function`){let n=()=>this.#f();t.addEventListener(`loadingdone`,n),t.addEventListener(`loadingerror`,n),t.addEventListener(`loading`,n),e.push(()=>{t.removeEventListener(`loadingdone`,n),t.removeEventListener(`loadingerror`,n),t.removeEventListener(`loading`,n)})}if(typeof MutationObserver<`u`){let t=new MutationObserver(e=>{for(let t of e){if(t.type===`childList`&&[...Array.from(t.addedNodes??[]),...Array.from(t.removedNodes??[])].some(e=>yn(e))){this.#f();return}if(t.type===`attributes`&&yn(t.target)){this.#f();return}}});try{let n=document.head??document.documentElement??document;t.observe(n,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`rel`,`href`]}),e.push(()=>t.disconnect())}catch{t.disconnect()}}this.#a=e}#d(){if(this.#o){this.#o=!1;for(let e of this.#a)try{e()}catch{}this.#a=[],this.#s!=null&&(clearTimeout(this.#s),this.#s=null)}}#f(){this.#i&&this.#s==null&&(this.#s=setTimeout(()=>{this.#s=null,this.#p()},0))}async#p(){if(this.#i)try{let e=await Ue();this.call(`fonts`,e.length?e:void 0)}catch(e){console.error(`Failed to resolve document fonts`,e)}}invalidateSources(e){e||=Object.keys(this.#t);for(let t of e)this.#t[t]?.expireChunks();this.call(`reload`,null)}};function yn(e){return typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement?!0:typeof HTMLLinkElement<`u`&&e instanceof HTMLLinkElement?e.rel?.toLowerCase()===`stylesheet`:!1}function bn(e){let t=e.deltaY;switch(e.deltaMode){case WheelEvent.DOM_DELTA_LINE:return t*16;case WheelEvent.DOM_DELTA_PAGE:return t*window.innerHeight}return t}var xn=class extends T{#e=null;#t=null;#n=null;#r;#i;#a;#o;get time(){return this.#r.time.value?.clone()??null}set time(e){this.setTime(e)}setTime(e,t){this.#r.setTime(e,t)}get timeChanging(){return this.#r.time.candidate?.clone()??null}get timeAnimating(){return this.#r.time.current?.clone()??null}get timeRange(){return this.#r.time.domain.map(e=>e==null?e:e.clone())}setTimeRange(e){this.#r.setTimeRange(e)}get zoom(){return this.#r.zoom.value.number()}set zoom(e){this.setZoom(e)}setZoom(e,t){return this.#r.setZoom(e,t)}get zoomChanging(){return this.#r.zoom.candidate.number()}get zoomAnimating(){return this.#r.zoom.current.number()}fitTo(e,t){if(!this.#s.width)return!1;let n=typeof t?.padding==`number`?t.padding*2:Array.isArray(t?.padding)?t.padding.reduce((e,t)=>e+t):0,r=e.map(e=>E(e)),i=Se(r[1].sub(r[0]).div(this.#s.width-n).abs()),a=r[0].add(r[1]).div(2);this.setZoom(i,t?.animation===!1?!1:void 0),this.setTime(a,t?.animation===!1?!1:void 0)}get zoomRange(){return this.#r.zoom.domain.map(e=>e==null?e:e.number())}setZoomRange(e){this.#r.setZoomRange(e)}setSelection(e){if(this.#i.selection===!1)return;let t=e?.map(e=>E(e))??null;this.#t?.updateOptions({selection:{range:t}})}clearSelection(){this.setSelection(null)}get animating(){return this.#r.time.animating}get editing(){return this.#r.time.editing}#s={x:0,y:0,width:0,height:0,dpr:0};get size(){return{...this.#s}}#c=!1;set disabled(e){this.#c=e,this.#n&&(this.#n.disabled=e)}get disabled(){return this.#c}get options(){return this.#i}setOptions(e){this.#i={style:void 0,...e},this.#l(this.#i,!0)}updateOptions(e){xe(this.#i,e),this.#l(e,!1)}#l(e,t){!this.#e||!this.#t||(`style`in e&&(this.#e.style.width=e.style?.width??`100%`,this.#e.style.height=e.style?.height??`36px`,this.#e.style.background=e.style?.background??`#fff`),t?this.#t.setOptions(e):this.#t.updateOptions(e),this.#u())}#u(){if(!this.#e||!this.#t)return;let e=window.devicePixelRatio,t=this.#e.getBoundingClientRect();if(this.#s.width===t.width&&this.#s.height===t.height&&this.#s.dpr===e)return;this.#s={x:t.x,y:t.y,width:t.width,height:t.height,dpr:e};let n=this.#s.width,r=this.#s.height;this.#t.resize({size:{width:n,height:r},context:{dpr:e}})}#d(){let e=this.#r.time,t=this.#r.zoom;this.#r.on(`change`,()=>this.changed()),this.#r.on(`timechanging`,e=>this.dispatchEvent(e)),this.#r.on(`timechanged`,e=>this.dispatchEvent(e)),this.#r.on(`timeanimating`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanging`,e=>this.dispatchEvent(e)),this.#r.on(`zoomchanged`,e=>this.dispatchEvent(e)),this.#r.on(`zoomanimating`,e=>this.dispatchEvent(e)),e.on(`sync`,e=>this.#t?.sync({time:e.value},e.origin)),t.on(`sync`,e=>this.#t?.sync({zoom:e.value},e.origin))}#f(e){if(this.#c)return;e.preventDefault();let t=bn(e);this.#r.setZoom(this.#r.zoom.committing.add(-t/this.#o))}constructor(e){super();let t=e??{};this.#r=new ve(t),this.#d(),this.#i={style:void 0,...t},this.#a=t.fonts??[],t.target&&this.mount(t.target),this.#o=t.wheelSensitivity??C.wheelSensitivity}reload(e){this.#t?.invalidateSources(e)}mount(e){let t=typeof e==`string`?document.querySelector(e):e;if(!t)throw Error(`mount failed`);return(this.#e||this.#t||this.#n)&&console.warn(`Timescope: mounted twice`),this.#e?.remove(),this.#e=document.createElement(`canvas`),this.#e.style.all=`unset`,this.#e.style.display=`block`,this.#e.style.touchAction=`none`,this.#e.style.width=this.#i.style?.width??`100%`,this.#e.style.height=this.#i.style?.height??`36px`,this.#e.style.background=this.#i.style?.background??`#fff`,this.#t=new vn({canvas:this.#e,fonts:this.#a}),this.#t.setOptions(this.#i),this.#r.time.restore(),this.#r.zoom.restore(),new ResizeObserver(()=>this.#u()).observe(this.#e),this.#u(),this.#t.on(`change`,()=>this.changed()),this.#t.on(`sync`,e=>{e.value.time&&(this.#r.time.handleSyncEvent(e.value.time),this.#r.time.dispatchEvent(new w(`sync`,e.value.time,e.origin))),e.value.zoom&&(this.#r.zoom.handleSyncEvent(e.value.zoom),this.#r.zoom.dispatchEvent(new w(`sync`,e.value.zoom,e.origin)))}),this.#t.on(`renderer:event`,e=>{typeof e.value==`object`&&e.value&&`range`in e.value&&`resizing`in e.value&&this.dispatchEvent(new w(e.value.resizing?`rangechanging`:`rangechanged`,e.value.range,e.origin))}),this.#n=new De({element:this.#e,transform:e=>e.sub([this.#s.x,this.#s.y]),handler:e=>{this.#t?.onPointerEvent(e)},cursor:async e=>await this.#t?.pointerStyle(e)??void 0}),this.#e.addEventListener(`wheel`,this.#f.bind(this)),t.appendChild(this.#e),this}unmount(){this.#e?.remove(),this.#n?.detach(),this.#t?.dispose(),this.#t=null,this.#e=null,this.#n=null}dispose(){this.unmount()}};export{x as Decimal,xn as Timescope,ie as createDefineTimescopeOptions,se as createDefineTimescopeSeries,ae as createDefineTimescopeSources,oe as createDefineTimescopeTracks,ce as defineTimescopeOptions,de as defineTimescopeSeries,le as defineTimescopeSources,ue as defineTimescopeTracks};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "timescope",
3
- "version": "0.0.0-alpha.3",
3
+ "version": "0.0.0-alpha.5",
4
4
  "type": "module",
5
5
  "description": "Timescope - Canvas for Time-Series Visualization",
6
6
  "author": "Xenodrive, Inc.",