timescope 0.0.0-alpha.4 → 0.0.0-alpha.6

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 timeForAnimation(){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)}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,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}}var C={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function ie(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 ae=class{uid=ie(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 ae{#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 oe(e){return e.map(E)}let se=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),ce=globalThis.cancelAnimationFrame??(e=>clearTimeout(e));var le=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=se(a)}else this.done()};this.#e=se(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(ce(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 le;#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)}},ue=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:oe(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=oe(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 de(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 fe(e){return Object.prototype.toString.call(e)===`[object Object]`}function A(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`&&fe(r)?((!i||typeof i!=`object`)&&(e[n]={}),A(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(C.base).number()}function me(e){return j.z===e?j.r:(j.z=e,j.r=x(C.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(C.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=k(this.marks,n);return{...t,marks:r?.map(e=>({...e,style:k(e.style,n)??{}}))??[]}});return{...e,data:t}}async loadMeta({resolution:e}){let t=k(this.links,{resolution:e})?.map(e=>({...e,style:k(e.style,null)??{}}))??[],n=this.options.series.color;return{...this.options.series.dataRange,links:t,color:n,scale:this.options.series.options.data.scale}}};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(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:{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,scale:this.options.series.options.data.scale,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(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)??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=C.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`)}let Zt=x(0);function Qt(e){return e==null?{shrink:!1,expand:!1,default:[x(0),void 0]}:Array.isArray(e)?{shrink:!1,expand:!1,default:e.map(x)}:typeof e==`number`||Xt(e)?{shrink:!1,expand:!1,default:[x(0),x(e)]}:e.default!=null&&!Array.isArray(e.default)?{shrink:e.shrink??!1,expand:e.expand??!1,default:[x(0),x(e.default)]}:{shrink:e.shrink??!1,expand:e.expand??!1,default:(e.default??[0,void 0]).map(x)}}function $t(e,t){return e._minTime?.le(t[1])&&t[0]?.le(e._maxTime)}var en=class{#e;#t;#n;#r=new Jt({maxSize:256});#i=null;#a;constructor(e){this.#e=e.options,this.#t=e.sources,this.#a=e.options.data.color,this.#n=Qt(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:de(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:de(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=he(t,this.zoomLevels);let n=Yt(e,t,this.chunkSize),r=this.#n.expand||this.#n.default?.[1]===void 0,i=this.#n.expand||this.#n.default?.[0]===void 0,{pmin:a,pmax:o,nmin:s,nmax:c,zero:l}=this.#n.shrink||!this.#i?{}:this.#i,u=(e,t=!1)=>{let[n,u]=x.minmax(...e.filter(e=>e?.isPositive()),a,o),[d,f]=x.minmax(...e.filter(e=>e?.isNegative()),s,c),p=l||e.some(e=>e?.isZero())&&Zt||null;return[t||r?u:o,t||i?n:a,t||i?p:l,t||i?f:c,t||r?d:s]};if([o,a,l,c,s]=u(this.#n.default,!0),r||i)for(let{id:t}of n){let n=this.#r.get(t);if(n)for(let t of n)$t(t.time,e)&&([o,a,l,c,s]=u(Object.values(t.value)))}!a&&!c&&!l&&!o&&!s||(this.#i={pmin:a,pmax:o,nmin:s,nmax:c,zero:l})}get color(){return this.#a}get dataRange(){return this.#i}};function tn(e){return new en(e)}var nn=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 rn(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 Jt({maxSize:1e3});zoomLevels;chunkSize;loader;constructor(e){if(super(),this.chunkSize=e.chunkSize||C.defaultChunkSize,this.zoomLevels=e.zoomLevels,`loader`in e)this.loader=rn(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=rn(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=rn(()=>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 nn({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 an(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 on(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 T=0;function ee(e){return function(t,n,r={rpc:!1}){let i=++T;return e.postMessage({type:r.rpc?`rpc`:`event`,command:t,seq:i,payload:D(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(O(a.data?.payload)))};e.addEventListener(`message`,r)}):Promise.resolve()}}function te(e,t){return e.addEventListener(`message`,async({data:{type:n,command:r,seq:i,payload:a}})=>{let o=r in t&&await t[r](O(a))||null;n===`rpc`&&e.postMessage({type:`rpc:ack`,command:r,seq:i,payload:D(o)})}),t}function E(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=E(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(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(e[r],t,n);return n.delete(e),i}function D(e,t){return E(e,t,new WeakSet)}function ne(e){return typeof e==`object`&&!!e&&`coeff`in e&&`digits`in e&&typeof e.coeff==`bigint`&&typeof e.digits==`bigint`}function O(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(ne(e))return S(e);if(Array.isArray(e))return e.map(O);if(e&&typeof e==`object`){let t={};for(let n of Object.keys(e))t[n]=O(e[n]);return t}return e}}function re(e,...t){return typeof e==`function`?e(...t):Array.isArray(e)?e.map(e=>re(e,...t)):typeof e==`object`&&e?Object.fromEntries(Object.entries(e).map(([e,n])=>[e,re(n,...t)])):e}function ie(e){return Object.prototype.toString.call(e)===`[object Object]`}function k(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`&&ie(r)?((!i||typeof i!=`object`)&&(e[n]={}),k(e[n],r)):e[n]=r}return e}var A={clickTolerance:8,defaultChunkSize:256,base:2,chunkStep:1,wheelSensitivity:200};function ae(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 oe=class{uid=ae(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)}},j=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}},M=class extends oe{#e=0;changed(){this.#e++,this.dispatchEvent(`change`)}get revision(){return this.#e}},N=class extends M{constructor(){super()}updateOptions(e){}render(e){}preRender(e){}postRender(e){}onPointerEvent(e,t){}pointerStyle(e,t){}};function se(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 ce(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 le(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 P(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 F(e,t){e.tracks.forEach(n=>P(e,n,()=>t(n.id,n)))}function ue(e,t){return e===!1?null:((e===!0||e==null)&&(e=t),e)}function I(e,t,n=A.clickTolerance){return e&&e-n<=t&&t<=e+n}var de=class extends N{#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 j(`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(I(i[0],r,this.#o)){let e=this.#e[1];return e===void 0?!1:(this.#r=!0,this.#a=e,!0)}else if(I(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&&I(n[0],n[1],this.#o))return`not-allowed`;if(I(n[0],e.buttons[0].latest.x,this.#o))return`w-resize`;if(I(n[1],e.buttons[0].latest.x,this.#o))return`e-resize`}render(e){P(e,null,()=>{this.#n?ce(e,this.#e,this.#t):se(e,this.#e,this.#t)})}};function fe(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`]]}let pe=[`link:fill`,`link:stroke`,`marks`];function L(e){return e.lineColor??e.color??`black`}function R(e,t=`transparent`){return G(e.fillColor??e.color??`black`,e.fillOpacity??.25,t)}function z(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 B(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 me(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=null,o=0,s=()=>{o===1&&a&&z(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:L(n),fillStyle:R(n)}}function V(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 he(e,t,n){let r=new Path2D,i=K(t??`value@time`),a=[],o=()=>{if(a.length){if(a.length===1){z(r,a[0],n),a=[];return}V(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:L(n),fillStyle:R(n)}}function ge(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){B(r,{x:e[0].x1,y:e[0].y1},{x:e[0].x2,y:e[0].y2},n);continue}V(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:L(n),fillStyle:R(n)}}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);)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&&B(r,{x:a[e].x1,y:a[e].y1},{x:a[e].x2,y:a[e].y2},n),o=t}return{path:r,strokeStyle:L(n),fillStyle:R(n)}}function H(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:L(i),fillStyle:R(i,`white`)}}}function U(e,t){let n=K(t??`value@time`);return{path:e.map(n).map(({x1:e,y1:t})=>({x:e,y:t}))}}let ve={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 ye(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 be(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(...ye(i,e,n)):r.push(e),i=e}return r}function W(e,t){let n=ve[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)z(l,e,a);return{path:l,strokeStyle:L(a),fillStyle:R(a)}}}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=be(u,e=>({x:e.x1,y:e.y1}),t);if(!d.length)continue;let f=d.length===1,p=[];if(n.hasBottom){if(p=be(u,e=>({x:e.x2,y:e.y2}),t),!p.length)continue;if(f&&p.length===1){B(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(De(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(De(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 De(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]]=fe(e);return function(e){return{x1:e.x[n],y1:e.y[t],x2:e.x[i],y2:e.y[r]}}}function Oe(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 ke={\"link:line\":[me,{stroke:!0}],\"link:curve\":[he,{stroke:!0}],\"link:area\":[_e,{fill:!0}],\"link:curve-area\":[ge,{fill:!0}],\"link:step-area-start\":[W(`start`,`area`),{fill:!0}],\"link:step-area\":[W(`mid`,`area`),{fill:!0}],\"link:step-area-end\":[W(`end`,`area`),{fill:!0}],\"link:step-start\":[W(`start`,`line`),{stroke:!0}],\"link:step\":[W(`mid`,`line`),{stroke:!0}],\"link:step-end\":[W(`end`,`line`),{stroke:!0}],\"mark:circle\":[H((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\":[H((e,{style:{size:t}})=>{let n=(t??5)/2;e.moveTo(-n,0),e.lineTo(n,0)}),{stroke:!0,fill:!1}],\"mark:triangle\":[H((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\":[H((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\":[H((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\":[H((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\":[H((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\":[H((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\":[H((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\":[H((e,{l:t})=>{e.moveTo(0,0),e.lineTo(t,0)},[`min`,`max`]),{stroke:!0}],\"mark:box\":[H((e,{l:t,style:{size:n,radius:r,padding:i}})=>{n??=5;let a=Oe(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\":[H((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\":[U,{fill:!0}],\"mark:text\":[U,{fill:!0}]};var Ae=class extends N{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 of e.tracks){let r=t=>e.dataCaches[`series:${t}:chart`];for(let i of n.seriesKeys){let{data:a,meta:o,revision:s,scaleY:c,floating:l}=r(i);if(this.#t[i]&&!t&&this.#t[i].revision===s&&this.#t[i].trackId===n.id&&this.#t[i].trackRevision===n.revision||!c)continue;this.#t[i]={time:e.timeAxis.current.range[0],trackId:n.id,trackRevision:n.revision,revision:s,linkOps:[],markOps:[]};let u=o.color,d=[];for(let e=0;e<a.length;e++){let t=a[e].time,r=a[e].value,o={x:{},y:{zero:n.y(0)}};for(let e in t)o.x[e]=t[e].sub(this.#t[i].time).div(this.#e,3).number();for(let e in r)o.y[e]=n.y(c(r[e]),l)??NaN;d.push(o);for(let t of a[e].marks){if(!t)continue;let e={color:u,...t.style??{}},[n,r]=ke[`mark:${t.draw}`],{path:a,strokeStyle:s,fillStyle:c,postFillStyle:d}=n?.([o],t.using,e)??{};this.#t[i].markOps||(this.#t[i].markOps=[]),this.#t[i].markOps.push({type:`mark`,draw:t.draw,time:this.#t[i].time,path:a,style:{...e,strokeStyle:s,fillStyle:c,postFillStyle:d,...r,floating:l}})}}for(let e of o.links??[]){if(!e)continue;let t={color:u,...e.style??{}},[n,r]=ke[`link:${e.draw}`],{path:a,strokeStyle:o,fillStyle:s}=n?.(d,e.using,t)??{};this.#t[i].linkOps||(this.#t[i].linkOps=[]),this.#t[i].linkOps.push({type:`link`,draw:e.draw,time:this.#t[i].time,path:a,style:{...t,strokeStyle:o,fillStyle:s,...r,floating:l}})}}}}#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)P(e,n,()=>{let r=e.ctx;for(let i of pe){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?je(e,t.path,t.style):t.path&&(Ne(e,t.path,t.style),Me(e,t.path,t.style)),r.restore()}})}};function q(e,t,n){let r=e.renderingTrack.y0;if(!n)return t;let i=e.renderingTrack.y(0,10*n);if(!isFinite(i))return t;let a=e.ctx.createLinearGradient(0,i,0,r);return a.addColorStop(0,t),a.addColorStop(.2,t),a.addColorStop(.8,`color-mix(in srgb, ${t} 1%, transparent)`),a.addColorStop(1,`transparent`),a}function je(e,t,n){if(!t||!(t instanceof Path2D))return;let r=e.ctx;n.fill&&!n.fillPost&&n.fillStyle&&(r.fillStyle=q(e,n.fillStyle,n.floating),r.fill(t)),n.stroke&&n.strokeStyle&&(n.lineWidth??1)>0&&(r.lineCap=`round`,r.lineJoin=`round`,r.strokeStyle=q(e,n.strokeStyle,n.floating),r.lineWidth=n.lineWidth??1,n.lineDashArray&&(r.setLineDash(n.lineDashArray),r.lineDashOffset=n.lineDashOffset??0),r.stroke(t)),n.fill&&n.fillPost&&n.fillStyle&&(r.fillStyle=q(e,n.fillStyle,n.floating),r.fill(t))}function Me({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 Ne({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 Pe=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}},J=class extends Pe{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 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).lt(t)?r=a+1:i=a}return r}function Ie(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 Le(e,[t,n],r){let i=t===void 0?0:Fe(e,t,r),a=n===void 0?e.length:Fe(e,n,r);return i<a?[i,a]:[0,0]}function Re(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 ze(e,t,n){let r=0,i=0,a=new J(0,0);do{r=0;let i=e.map(e=>({...e,force:(e?.force??new J(.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=Re(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 Be=class extends N{postRender(e){super.postRender(e),this.#t(e)}#e(e,t){if(!e)return;let n=Ie(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);F(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,scaleY:u,floating:d}=e.dataCaches[`series:${n}:instantaneous`];if(!l||!u)continue;let f=this.#e(c,t);if(!f)continue;let p=f.time.time;if(!p)continue;let m=e.timeAxis.p(p),h=f.value,g=f.text,_=i.measureText(g),v=l.color;if(h==null)continue;let y=r.y(u(h.value),d)??NaN;a.push({id:a.length,cx:m,cy:y,point:new J(0,y),color:v,metrics:_,sideX:o,text:{dx:6,dy:0,value:g},box:{dx:.5,dy:.5-_.fontBoundingBoxAscent-2,width:12+_.width,height:4+_.fontBoundingBoxAscent+_.fontBoundingBoxDescent}}),o=-o}ze(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 Ve(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 He=class extends N{render(e){super.render(e),F(e,()=>{this.#t(e)})}preRender(e){super.preRender(e),F(e,()=>{this.#e(e)})}#e(e){let t=e.ctx,{width:n}=e.size,r=e.renderingTrack.y0,i=e.renderingTrack.id,a=ue(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.y0+2,r=e.renderingTrack.id,i=ue(e.options.tracks?.[r].timeAxis,{});if(!i)return;let a=e.dataCaches[`tracks:${r}:timeAxis`]?.data;if(!a||i.labels===!1)return;let o=Ve(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 Y={z:0,r:S(1)};function Ue(e){return Y.r.eq(e)?Y.z:-e.log(A.base).number()}function X(e){return Y.z===e?Y.r:(Y.z=e,Y.r=S(A.base).pow(-e,BigInt(Math.floor(e))),Y.r)}function We(e,t){return t?t.reduce((t,n)=>Math.abs(n-e)<Math.abs(t-e)?n:t,t[0]):Number(S(e).floorBy(A.chunkStep).toFixed(2))}function Ge(e,t,n=A.defaultChunkSize){let r=X(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 Ke(e,t){return t===void 0?e:e===void 0||t.lt(e)?t:e}function qe(e,t){return t===void 0?e:e===void 0?t:e.gt(t)?e:t}function Je(e,t){return(!e[0]||!t[1]||e[0].le(t[1]))&&(!t[0]||!e[1]||t[0].le(e[1]))}var Ye=class extends M{#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??A.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??A.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]=Le(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[Ke(e[0],n),qe(e[1],r)]},[void 0,void 0]);if(!n||!r)return t;let i=[n,r];return this.#m=i,t.filter(e=>Je([e.time._minTime??e.time.time,e.time._maxTime??e.time.time],i))}#g(e,t){return t=We(t,this.#s),Ge(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=X(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 Xe(e){return e.map(Z)}let Ze=globalThis.requestAnimationFrame??(e=>setTimeout(e,0)),Qe=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=Ze(a)}else this.done()};this.#e=Ze(a)}done(){this.cancel(),this.#t?.()}cancel(){this.#e&&=(Qe(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 M{#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 $e;#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 j(`sync`,n)),this.dispatchEvent(new j(`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 j(`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 j(`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 j(`valuechanging`,e)),this.dispatchEvent(new j(`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 j(`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 j(`valuechanging`,this.#t.value)),this.dispatchEvent(new j(`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 j(`valueanimating`,this.#t.current)),this.changed()},done:()=>{this.#t.animating=!1,this.#t.current=e,a&&o(),this.#t.committed=e,this.dispatchEvent(new j(`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 j(`sync`,e)),this.#l(e)}},et=class extends M{time;zoom;constructor(e){super(),this.time=new $,this.zoom=new $,this.time=new $({initialValue:Z(e.time??null),domain:Xe(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 j(`timechanging`,e.value))),this.time.on(`valuechanged`,e=>this.dispatchEvent(new j(`timechanged`,e.value))),this.time.on(`valueanimating`,e=>this.dispatchEvent(new j(`timeanimating`,e.value))),this.zoom.on(`change`,()=>this.changed()),this.zoom.on(`valuechanging`,e=>this.dispatchEvent(new j(`zoomchanging`,e.value.number()))),this.zoom.on(`valuechanged`,e=>this.dispatchEvent(new j(`zoomchanged`,e.value.number()))),this.zoom.on(`valueanimating`,e=>this.dispatchEvent(new j(`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=Xe(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)}},tt=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_}},nt=class extends M{#e;#t={cursorMode:`center`,axisLength:[0,0],disabled:!1,dragging:!1,pinch:null};#n=new tt;constructor(e={}){super(),this.#e=new et(e);let{time:t,zoom:n}=this.#e;t.on(`change`,()=>this.changed()),t.on(`valuechanged`,e=>this.dispatchEvent(new j(`timechanged`,e.value))),t.on(`valuechanging`,e=>this.dispatchEvent(new j(`timechanging`,e.value))),t.on(`sync`,e=>this.dispatchEvent(new j(`sync`,{time:e.value}))),n.on(`change`,()=>this.changed()),n.on(`valuechanged`,e=>this.dispatchEvent(new j(`zoomchanged`,e.value.number()))),n.on(`valuechanging`,e=>this.dispatchEvent(new j(`zoomchanging`,e.value.number()))),n.on(`sync`,e=>this.dispatchEvent(new j(`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(Ue(e))}r(e){return X(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)}};function rt(e){let t=1/0,n=-1/0;for(let{meta:r,scaleYcommitting:i}of e){if(!i)continue;let e=[r.pmin,r.pmax,r.nmin,r.nmax,r.zero].map(i).filter(e=>!isNaN(e));t=Math.min(...e,t),n=Math.max(...e,n)}return isFinite(t)&&isFinite(n)?[t,n]:[-1,1]}var it=class extends M{id;height;symmetric;oy=0;paddingY=[15,15];labelHeight=0;seriesKeys;constructor(e){super(),this.id=e.id,this.oy=e.oy??0,this.height=e.height??0,this.symmetric=e.symmetric??!1,this.labelHeight=0;let t=Math.max(0,Math.min(this.height-36,18));this.paddingY=[t,t],this.seriesKeys=e.seriesKeys,this.#e.on(`change`,()=>this.changed()),this.#t.on(`change`,()=>this.changed())}get chartHeight(){return this.height-this.paddingY[0]-this.paddingY[1]}#e=new $({initialValue:null});#t=new $({initialValue:null});setScale(e,t){e!==t&&(this.#e.setValue(e,this.#e.current?{animation:`linear`,duration:200}:!1),this.#t.setValue(t,this.#t.current?{animation:`linear`,duration:200}:!1))}adjustScaleBySeriesChart(e){this.setScale(...rt(this.seriesKeys.map(t=>e.dataCaches[`series:${t}:chart`])))}get y0(){return this.y(0)}get bottom(){return this.height-this.paddingY[1]}y(e,t=0){let n=this.chartHeight;if(e==null||isNaN(e)||!this.#e.current||!this.#t.current||this.#t.current.eq(this.#e.current))return NaN;let r=t?10:0,i=this.#t.current.number(),a=this.#e.current.number();if(a===i)return NaN;let o=r/n,s=(a+(1-o)*(i-a))/i;return this.bottom-n*((e*s-a)/(i-a)+o*Math.sign(t))}},at=class extends Ye{#e=new $({initialValue:null});#t=new $({initialValue:null});constructor(e){super(e),this.#e.on(`change`,()=>this.changed()),this.#t.on(`change`,()=>this.changed())}updateMeta(e){let{pmin:t,pmax:n,nmin:r,nmax:i,scale:a}=e,o=e.zero;if(!t&&!n&&!r&&!i&&!o)return;let s,c;if(e.scale===`log`){if(s=n?.log(10)??S(0),c=t?.log(10)??S(0),!s&&!c)return}else o||=t&&r?S(0):null,s=[n,r,o].filter(e=>e).toSorted((e,t)=>t.abs().cmp(e.abs()))[0],c=o??[t,i,o].filter(e=>e).toSorted((e,t)=>e.abs().cmp(t.abs()))[0];s&&!s?.isZero()&&this.#e.setValue(s,this.#e.committed?{animation:`linear`,duration:200}:!1),c&&this.#t.setValue(c,this.#t.committed?{animation:`linear`,duration:200}:!1),super.updateMeta(e)}#n(e){if(!this.#e[e]||!this.#t[e]||this.#e[e]?.isZero())return e=>(e?.sign().number()??0)*.5;let t=this.#e[e].abs().sub(this.#t[e].abs());return t.isZero()?e=>(e?.sign().number()??0)*.5:this.meta.scale===`log`?n=>!n||!n?.isPositive()?NaN:n?.log(10).sub(this.#t[e]).div(t).number()??NaN:n=>n?.sub(this.#t[e]).div(t).number()??0}get scaleY(){return this.#n(`current`)}get scaleYcommitting(){return this.#n(`candidate`)}get floating(){return!this.#e.current||!this.#t.current?0:this.#t.current.sign().number()}};function ot(e,t,n=globalThis.requestAnimationFrame){let r,i,a=ee(e),o=new nt;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 He,new Ae,new Be,new de];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},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&&(await Promise.all(Object.values(l.dataCaches).map(e=>d(e).then(()=>v()))),l.tracks.forEach(e=>e.adjustScaleBySeriesChart(l)))}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 at(n):new Ye(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;r+=a;let o=new it({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)});return o.on(`change`,()=>v()),o})}te(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=>{k(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()},redraw:()=>{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)}),P(e,null,()=>{ce(e,o.range.time,`#00000010`)}),C(t=>{t.render(e)}),e.options.indicator!==!1&&P(e,null,()=>le(e)),C(t=>{t.postRender(e)}))}function T(){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 E=()=>{n(E),T()&&w(l),l.options.showFps&&S()};n(E)}ot(self,self.fonts)})();"],{type:`text/javascript;charset=utf-8`}));return new Worker(t,e)}function sn(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(!sn(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 cn(e,t,n){e??={},t??={};let r=[],i={...t};for(let a in e)(!i[a]||i[a]!==e[a]&&!sn(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 ln=[`#080`,`#800`,`#008`,`#880`,`#088`,`#808`],un={indicator:!0,padding:[5,5,5,5],sources:void 0,series:void 0,tracks:void 0,selection:void 0};var dn=class extends T{#e;call;#t={};#n={};#r={};#i=!1;#a=[];#o=!1;#s=null;#c=0;constructor(e){super(),this.#e=new on,this.call=be(this.#e),xe(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 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({...un,...e})}#l={};updateOptions(e){A(this.#l,e);let t={...e},n=!1;if(`sources`in e&&cn(this.#l.sources,this.#t,e=>(n=!0,an(e))),(n||`series`in e||`tracks`in e)&&(cn(this.#l.series,this.#n,e=>(e.data.color||(e.data.color=ln[this.#c++],this.#c%=ln.length),n=!0,tn({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)}redraw(){this.call(`redraw`,{})}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=>fn(e))){this.#f();return}if(t.type===`attributes`&&fn(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 fn(e){return typeof HTMLStyleElement<`u`&&e instanceof HTMLStyleElement?!0:typeof HTMLLinkElement<`u`&&e instanceof HTMLLinkElement?e.rel?.toLowerCase()===`stylesheet`:!1}function pn(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 mn=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){return 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=pe(r[1].sub(r[0]).div(this.#s.width-n).abs()),a=r[0].add(r[1]).div(2),o=!0;return o&&=this.setZoom(i,t?.animation===!1?!1:void 0),o&&=this.setTime(a,t?.animation===!1?!1:void 0),o}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){A(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=pn(e);this.#r.setZoom(this.#r.zoom.committing.add(-t/this.#o))}constructor(e){super();let t=e??{};this.#r=new ue(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)}redraw(){this.#t?.redraw()}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 dn({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 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 hn=window;hn.Decimal=x,hn.Timescope=mn})();