(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function r(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const g9=!1;var Jg=Array.isArray,fdt=Array.prototype.indexOf,P5=Array.from,dv=Object.defineProperty,wu=Object.getOwnPropertyDescriptor,m9=Object.getOwnPropertyDescriptors,hdt=Object.prototype,ddt=Array.prototype,U5=Object.getPrototypeOf,c7=Object.isExtensible;function g0(e){return typeof e=="function"}const pn=()=>{};function pdt(e){return e()}function pv(e){for(var t=0;t{e=r,t=i});return{promise:n,resolve:e,reject:t}}function Gk(e,t){if(Array.isArray(e))return e;if(!(Symbol.iterator in e))return Array.from(e);const n=[];for(const r of e)if(n.push(r),n.length===t)break;return n}const Uo=2,z5=4,gS=8,cp=16,Fu=32,up=64,q5=128,Ia=256,Hw=512,ji=1024,La=2048,Bu=4096,al=8192,fp=16384,mS=32768,hp=65536,u7=1<<17,mdt=1<<18,Zg=1<<19,y9=1<<20,Xk=1<<21,j5=1<<22,wd=1<<23,oc=Symbol("$state"),V5=Symbol("legacy props"),ydt=Symbol(""),W5=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},Y5=3,ug=8;function v9(){throw new Error("https://svelte.dev/e/await_outside_boundary")}function m1(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function vdt(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function bdt(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function _dt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function wdt(e){throw new Error("https://svelte.dev/e/effect_orphan")}function xdt(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Sdt(){throw new Error("https://svelte.dev/e/hydration_failed")}function Adt(e){throw new Error("https://svelte.dev/e/lifecycle_legacy_only")}function Edt(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function Tdt(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function kdt(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Mdt(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Idt(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const yS=1,vS=2,b9=4,Rdt=8,Cdt=16,Ndt=1,$dt=2,Odt=4,Ldt=8,Ddt=16,Fdt=1,Bdt=2,Pdt=4,_9=1,Udt=2,w9="[",H5="[!",G5="]",xd={},bi=Symbol(),zdt="http://www.w3.org/1999/xhtml",qdt="@attach";function y1(e){console.warn("https://svelte.dev/e/hydration_mismatch")}function jdt(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Vdt(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}let Be=!1;function rl(e){Be=e}let on;function Ds(e){if(e===null)throw y1(),xd;return on=e}function Iu(){return Ds(Sl(on))}function tt(e){if(Be){if(Sl(on)!==null)throw y1(),xd;on=e}}function zd(e=1){if(Be){for(var t=e,n=on;t--;)n=Sl(n);on=n}}function Gw(){for(var e=0,t=on;;){if(t.nodeType===ug){var n=t.data;if(n===G5){if(e===0)return t;e-=1}else(n===w9||n===H5)&&(e+=1)}var r=Sl(t);t.remove(),t=r}}function x9(e){if(!e||e.nodeType!==ug)throw y1(),xd;return e.data}function S9(e){return e===this.v}function bS(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function Wdt(e,t){return e!==t}function A9(e){return!bS(e,this.v)}let Qg=!1,Ydt=!1;function Hdt(){Qg=!0}let zn=null;function fg(e){zn=e}function f7(e){return E9().get(e)}function h7(e,t){return E9().set(e,t),t}function me(e,t=!1,n){zn={p:zn,c:null,e:null,s:e,x:null,l:Qg&&!t?{s:null,u:null,$:[]}:null}}function ye(e){var t=zn,n=t.e;if(n!==null){t.e=null;for(var r of n)j9(r)}return e!==void 0&&(t.x=e),zn=t.p,e??{}}function tm(){return!Qg||zn!==null&&zn.l===null}function E9(e){return zn===null&&m1(),zn.c??=new Map(Gdt(zn)||void 0)}function Gdt(e){let t=e.p;for(;t!==null;){const n=t.c;if(n!==null)return n;t=t.p}return null}const Xdt=new WeakMap;function T9(e){var t=Ye;if(t===null)return cn.f|=wd,e;if((t.f&mS)===0){if((t.f&q5)===0)throw!t.parent&&e instanceof Error&&k9(e),e;t.b.error(e)}else gv(e,t)}function gv(e,t){for(;t!==null;){if((t.f&q5)!==0)try{t.b.error(e);return}catch(n){e=n}t=t.parent}throw e instanceof Error&&k9(e),e}function k9(e){const t=Xdt.get(e);t&&(dv(e,"message",{value:t.message}),dv(e,"stack",{value:t.stack}))}const Kdt=typeof requestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback;let Tf=[],hg=[];function M9(){var e=Tf;Tf=[],pv(e)}function I9(){var e=hg;hg=[],pv(e)}function Jdt(){return Tf.length>0||hg.length>0}function yh(e){if(Tf.length===0&&!Hy){var t=Tf;queueMicrotask(()=>{t===Tf&&M9()})}Tf.push(e)}function Zdt(e){hg.length===0&&Kdt(I9),hg.push(e)}function Qdt(){Tf.length>0&&M9(),hg.length>0&&I9()}function tpt(e){let t=0,n=jd(0),r;return()=>{ppt()&&(w(n),dp(()=>(t===0&&(r=_o(()=>e(()=>Gy(n)))),t+=1,()=>{yh(()=>{t-=1,t===0&&(r?.(),r=void 0,Gy(n))})})))}}var ept=hp|Zg|q5;function npt(e,t,n){new rpt(e,t,n)}class rpt{parent;#t=!1;#e;#n;#r;#u;#s;#a=null;#i=null;#o=null;#l=null;#h=0;#f=0;#d=!1;#c=null;#p=()=>{this.#c&&pg(this.#c,this.#h)};#y=tpt(()=>(this.#c=jd(this.#h),()=>{this.#c=null}));constructor(t,n,r){this.#e=t,this.#r=n,this.#u=r,this.#n=on,this.parent=Ye.b,this.#t=!!this.#r.pending,this.#s=vh(()=>{Ye.b=this,Be&&Iu();const i=this.#r.pending;if(Be&&i)this.#i=qi(()=>i(this.#e)),D0.enqueue(()=>{this.#a=this.#g(()=>(D0.ensure(),qi(()=>this.#u(this.#e)))),this.#f>0?this.#m():(Uf(this.#i,()=>{this.#i=null}),this.#t=!1)});else{try{this.#a=qi(()=>r(this.#e))}catch(s){this.error(s)}this.#f>0?this.#m():this.#t=!1}},ept),Be&&(this.#e=on)}is_pending(){return this.#t||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!this.#r.pending}#g(t){var n=Ye,r=cn,i=zn;dc(this.#s),lo(this.#s),fg(this.#s.ctx);try{return t()}catch(s){return T9(s),null}finally{dc(n),lo(r),fg(i)}}#m(){const t=this.#r.pending;this.#a!==null&&(this.#l=document.createDocumentFragment(),ipt(this.#a,this.#l)),this.#i===null&&(this.#i=qi(()=>t(this.#e)))}#v(t){if(!this.has_pending_snippet()){if(this.parent){this.parent.#v(t);return}v9()}this.#f+=t,this.#f===0&&(this.#t=!1,this.#i&&Uf(this.#i,()=>{this.#i=null}),this.#l&&(this.#e.before(this.#l),this.#l=null))}update_pending_count(t){this.#v(t),this.#h+=t,Kk.add(this.#p)}get_effect_pending(){return this.#y(),w(this.#c)}error(t){var n=this.#r.onerror;let r=this.#r.failed;if(this.#d||!n&&!r)throw t;this.#a&&(cs(this.#a),this.#a=null),this.#i&&(cs(this.#i),this.#i=null),this.#o&&(cs(this.#o),this.#o=null),Be&&(Ds(this.#n),zd(),Ds(Gw()));var i=!1,s=!1;const o=()=>{if(i){Vdt();return}i=!0,s&&Idt(),D0.ensure(),this.#f=0,this.#o!==null&&Uf(this.#o,()=>{this.#o=null}),this.#t=!0,this.#a=this.#g(()=>(this.#d=!1,qi(()=>this.#u(this.#e)))),this.#f>0?this.#m():this.#t=!1};var a=cn;try{lo(null),s=!0,n?.(t,o),s=!1}catch(l){gv(l,this.#s&&this.#s.parent)}finally{lo(a)}r&&yh(()=>{this.#o=this.#g(()=>{this.#d=!0;try{return qi(()=>{r(this.#e,()=>t,()=>o)})}catch(l){return gv(l,this.#s.parent),null}finally{this.#d=!1}})})}}function ipt(e,t){for(var n=e.nodes_start,r=e.nodes_end;n!==null;){var i=n===r?null:Sl(n);t.append(n),n=i}}function spt(){const e=Ye.b;return e===null&&v9(),e}function v1(e){var t=Uo|La,n=cn!==null&&(cn.f&Uo)!==0?cn:null;return Ye===null||n!==null&&(n.f&Ia)!==0?t|=Ia:Ye.f|=Zg,{ctx:zn,deps:null,effects:null,equals:S9,f:t,fn:e,reactions:null,rv:0,v:bi,wv:0,parent:n??Ye,ac:null}}function opt(e,t){let n=Ye;n===null&&vdt();var r=n.b,i=void 0,s=jd(bi),o=null,a=!cn;return vpt(()=>{try{var l=e();o&&Promise.resolve(l).catch(()=>{})}catch(d){l=Promise.reject(d)}var c=()=>l;i=o?.then(c,c)??Promise.resolve(l),o=i;var u=fr,f=r.is_pending();a&&(r.update_pending_count(1),f||u.increment());const h=(d,g=void 0)=>{o=null,f||u.activate(),g?g!==W5&&(s.f|=wd,pg(s,g)):((s.f&wd)!==0&&(s.f^=wd),pg(s,d)),a&&(r.update_pending_count(-1),f||u.decrement()),$9()};if(i.then(h,d=>h(null,d||"unknown")),u)return()=>{queueMicrotask(()=>u.neuter())}}),new Promise(l=>{function c(u){function f(){u===i?l(s):c(i)}u.then(f,f)}c(i)})}function dt(e){const t=v1(e);return K9(t),t}function X5(e){const t=v1(e);return t.equals=A9,t}function R9(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;nopt(l))).then(l=>{i?.activate(),o();try{n([...e.map(r),...l])}catch(c){(s.f&fp)===0&&gv(c,s)}i?.deactivate(),$9()}).catch(l=>{a.error(l)})}function lpt(){var e=Ye,t=cn,n=zn,r=fr;return function(){dc(e),lo(t),fg(n),r?.activate()}}function $9(){dc(null),lo(null),fg(null)}const BE=new Set;let fr=null,gw=null,Kk=new Set,qd=[],_S=null,Jk=!1,Hy=!1,D0=class Zk{current=new Map;#t=new Map;#e=new Set;#n=0;#r=null;#u=!1;#s=[];#a=[];#i=[];#o=[];#l=[];#h=[];#f=[];skipped_effects=new Set;process(t){qd=[],gw=null;for(const i of t)this.#d(i);if(this.#s.length===0&&this.#n===0){this.#p();var n=this.#i,r=this.#o;this.#i=[],this.#o=[],this.#l=[],gw=fr,fr=null,d7(n),d7(r),fr===null?fr=this:BE.delete(this),this.#r?.resolve()}else this.#c(this.#i),this.#c(this.#o),this.#c(this.#l);for(const i of this.#s)Ad(i);for(const i of this.#a)Ad(i);this.#s=[],this.#a=[]}#d(t){t.f^=ji;for(var n=t.first;n!==null;){var r=n.f,i=(r&(Fu|up))!==0,s=i&&(r&ji)!==0,o=s||(r&al)!==0||this.skipped_effects.has(n);if(!o&&n.fn!==null){if(i)n.f^=ji;else if((r&z5)!==0)this.#o.push(n);else if((r&ji)===0)if((r&j5)!==0){var a=n.b?.is_pending()?this.#a:this.#s;a.push(n)}else b1(n)&&((n.f&cp)!==0&&this.#l.push(n),Ad(n));var l=n.first;if(l!==null){n=l;continue}}var c=n.parent;for(n=n.next;n===null&&c!==null;)n=c.next,c=c.parent}}#c(t){for(const n of t)((n.f&La)!==0?this.#h:this.#f).push(n),Fs(n,ji);t.length=0}capture(t,n){this.#t.has(t)||this.#t.set(t,n),this.current.set(t,t.v)}activate(){fr=this}deactivate(){fr=null,gw=null;for(const t of Kk)if(Kk.delete(t),t(),fr!==null)break}neuter(){this.#u=!0}flush(){qd.length>0?L9():this.#p(),fr===this&&(this.#n===0&&BE.delete(this),this.deactivate())}#p(){if(!this.#u)for(const t of this.#e)t();this.#e.clear()}increment(){this.#n+=1}decrement(){if(this.#n-=1,this.#n===0){for(const t of this.#h)Fs(t,La),dg(t);for(const t of this.#f)Fs(t,Bu),dg(t);this.#i=[],this.#o=[],this.flush()}else this.deactivate()}add_callback(t){this.#e.add(t)}settled(){return(this.#r??=gdt()).promise}static ensure(){if(fr===null){const t=fr=new Zk;BE.add(fr),Hy||Zk.enqueue(()=>{fr===t&&t.flush()})}return fr}static enqueue(t){yh(t)}};function O9(e){var t=Hy;Hy=!0;try{for(var n;;){if(Qdt(),qd.length===0&&!Jdt()&&(fr?.flush(),qd.length===0))return _S=null,n;L9()}}finally{Hy=t}}function L9(){var e=B0;Jk=!0;try{var t=0;for(m7(!0);qd.length>0;){var n=D0.ensure();if(t++>1e3){var r,i;cpt()}n.process(qd),Pf.clear()}}finally{Jk=!1,m7(e),_S=null}}function cpt(){try{xdt()}catch(e){gv(e,_S)}}let sd=null;function d7(e){var t=e.length;if(t!==0){for(var n=0;n0)){Pf.clear();for(const i of sd)Ad(i);sd=[]}}sd=null}}function dg(e){for(var t=_S=e;t.parent!==null;){t=t.parent;var n=t.f;if(Jk&&t===Ye&&(n&cp)!==0)return;if((n&(up|Fu))!==0){if((n&ji)===0)return;t.f^=ji}}qd.push(t)}const Pf=new Map;function jd(e,t){var n={f:0,v:e,reactions:null,equals:S9,rv:0,wv:0};return n}function _t(e,t){const n=jd(e);return K9(n),n}function F0(e,t=!1,n=!0){const r=jd(e);return t||(r.equals=A9),Qg&&n&&zn!==null&&zn.l!==null&&(zn.l.s??=[]).push(r),r}function X(e,t,n=!1){cn!==null&&(!tl||(cn.f&u7)!==0)&&tm()&&(cn.f&(Uo|cp|j5|u7))!==0&&!xu?.includes(e)&&Mdt();let r=n?il(t):t;return pg(e,r)}function pg(e,t){if(!e.equals(t)){var n=e.v;pp?Pf.set(e,t):Pf.set(e,n),e.v=t;var r=D0.ensure();r.capture(e,n),(e.f&Uo)!==0&&((e.f&La)!==0&&K5(e),Fs(e,(e.f&Ia)===0?ji:Bu)),e.wv=Z9(),D9(e,La),tm()&&Ye!==null&&(Ye.f&ji)!==0&&(Ye.f&(Fu|up))===0&&(ca===null?_pt([e]):ca.push(e))}return t}function Gy(e){X(e,e.v+1)}function D9(e,t){var n=e.reactions;if(n!==null)for(var r=tm(),i=n.length,s=0;s{if(Sd===s)return a();var l=cn,c=Sd;lo(null),v7(s);var u=a();return lo(l),v7(c),u};return r&&n.set("length",_t(e.length)),new Proxy(e,{defineProperty(a,l,c){(!("value"in c)||c.configurable===!1||c.enumerable===!1||c.writable===!1)&&Tdt();var u=n.get(l);return u===void 0?u=o(()=>{var f=_t(c.value);return n.set(l,f),f}):X(u,c.value,!0),!0},deleteProperty(a,l){var c=n.get(l);if(c===void 0){if(l in a){const u=o(()=>_t(bi));n.set(l,u),Gy(i)}}else X(c,bi),Gy(i);return!0},get(a,l,c){if(l===oc)return e;var u=n.get(l),f=l in a;if(u===void 0&&(!f||wu(a,l)?.writable)&&(u=o(()=>{var d=il(f?a[l]:bi),g=_t(d);return g}),n.set(l,u)),u!==void 0){var h=w(u);return h===bi?void 0:h}return Reflect.get(a,l,c)},getOwnPropertyDescriptor(a,l){var c=Reflect.getOwnPropertyDescriptor(a,l);if(c&&"value"in c){var u=n.get(l);u&&(c.value=w(u))}else if(c===void 0){var f=n.get(l),h=f?.v;if(f!==void 0&&h!==bi)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return c},has(a,l){if(l===oc)return!0;var c=n.get(l),u=c!==void 0&&c.v!==bi||Reflect.has(a,l);if(c!==void 0||Ye!==null&&(!u||wu(a,l)?.writable)){c===void 0&&(c=o(()=>{var h=u?il(a[l]):bi,d=_t(h);return d}),n.set(l,c));var f=w(c);if(f===bi)return!1}return u},set(a,l,c,u){var f=n.get(l),h=l in a;if(r&&l==="length")for(var d=c;d_t(bi)),n.set(d+"",g))}if(f===void 0)(!h||wu(a,l)?.writable)&&(f=o(()=>_t(void 0)),X(f,il(c)),n.set(l,f));else{h=f.v!==bi;var y=o(()=>il(c));X(f,y)}var v=Reflect.getOwnPropertyDescriptor(a,l);if(v?.set&&v.set.call(u,c),!h){if(r&&typeof l=="string"){var b=n.get("length"),_=Number(l);Number.isInteger(_)&&_>=b.v&&X(b,_+1)}Gy(i)}return!0},ownKeys(a){w(i);var l=Reflect.ownKeys(a).filter(f=>{var h=n.get(f);return h===void 0||h.v!==bi});for(var[c,u]of n)u.v!==bi&&!(c in a)&&l.push(c);return l},setPrototypeOf(){kdt()}})}function p7(e){try{if(e!==null&&typeof e=="object"&&oc in e)return e[oc]}catch{}return e}function upt(e,t){return Object.is(p7(e),p7(t))}var Qk,F9,B9,P9;function t4(){if(Qk===void 0){Qk=window,F9=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;B9=wu(t,"firstChild").get,P9=wu(t,"nextSibling").get,c7(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),c7(n)&&(n.__t=void 0)}}function Da(e=""){return document.createTextNode(e)}function ns(e){return B9.call(e)}function Sl(e){return P9.call(e)}function ot(e,t){if(!Be)return ns(e);var n=ns(on);if(n===null)n=on.appendChild(Da());else if(t&&n.nodeType!==Y5){var r=Da();return n?.before(r),Ds(r),r}return Ds(n),n}function Wt(e,t){if(!Be){var n=ns(e);return n instanceof Comment&&n.data===""?Sl(n):n}return on}function mt(e,t=1,n=!1){let r=Be?on:e;for(var i;t--;)i=r,r=Sl(r);if(!Be)return r;if(n&&r?.nodeType!==Y5){var s=Da();return r===null?i?.after(s):r.before(s),Ds(s),s}return Ds(r),r}function U9(e){e.textContent=""}function wS(){return!1}function fpt(e,t){if(t){const n=document.body;e.autofocus=!0,yh(()=>{document.activeElement===n&&e.focus()})}}let g7=!1;function z9(){g7||(g7=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function em(e){var t=cn,n=Ye;lo(null),dc(null);try{return e()}finally{lo(t),dc(n)}}function hpt(e,t,n,r=n){e.addEventListener(t,()=>em(n));const i=e.__on_r;i?e.__on_r=()=>{i(),r(!0)}:e.__on_r=()=>r(!0),z9()}function q9(e){Ye===null&&cn===null&&wdt(),cn!==null&&(cn.f&Ia)!==0&&Ye===null&&_dt(),pp&&bdt()}function dpt(e,t){var n=t.last;n===null?t.last=t.first=e:(n.next=e,e.prev=n,t.last=e)}function kc(e,t,n,r=!0){var i=Ye;i!==null&&(i.f&al)!==0&&(e|=al);var s={ctx:zn,deps:null,nodes_start:null,nodes_end:null,f:e|La,first:null,fn:t,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,transitions:null,wv:0,ac:null};if(n)try{Ad(s),s.f|=mS}catch(l){throw cs(s),l}else t!==null&&dg(s);if(r){var o=s;if(n&&o.deps===null&&o.teardown===null&&o.nodes_start===null&&o.first===o.last&&(o.f&Zg)===0&&(o=o.first),o!==null&&(o.parent=i,i!==null&&dpt(o,i),cn!==null&&(cn.f&Uo)!==0&&(e&up)===0)){var a=cn;(a.effects??=[]).push(o)}}return s}function ppt(){return cn!==null&&!tl}function xS(e){const t=kc(gS,null,!1);return Fs(t,ji),t.teardown=e,t}function hs(e){q9();var t=Ye.f,n=!cn&&(t&Fu)!==0&&(t&mS)===0;if(n){var r=zn;(r.e??=[]).push(e)}else return j9(e)}function j9(e){return kc(z5|y9,e,!1)}function ue(e){return q9(),kc(gS|y9,e,!0)}function gpt(e){D0.ensure();const t=kc(up|Zg,e,!0);return(n={})=>new Promise(r=>{n.outro?Uf(t,()=>{cs(t),r(void 0)}):(cs(t),r(void 0))})}function nm(e){return kc(z5,e,!1)}function mpt(e,t){var n=zn,r={effect:null,ran:!1,deps:e};n.l.$.push(r),r.effect=dp(()=>{e(),!r.ran&&(r.ran=!0,_o(t))})}function ypt(){var e=zn;dp(()=>{for(var t of e.l.$){t.deps();var n=t.effect;(n.f&ji)!==0&&Fs(n,Bu),b1(n)&&Ad(n),t.ran=!1}})}function vpt(e){return kc(j5|Zg,e,!0)}function dp(e,t=0){return kc(gS|t,e,!0)}function Ft(e,t=[],n=[]){N9(t,n,r=>{kc(gS,()=>e(...r.map(w)),!0)})}function vh(e,t=0){var n=kc(cp|t,e,!0);return n}function qi(e,t=!0){return kc(Fu|Zg,e,!0,t)}function V9(e){var t=e.teardown;if(t!==null){const n=pp,r=cn;y7(!0),lo(null);try{t.call(null)}finally{y7(n),lo(r)}}}function W9(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const i=n.ac;i!==null&&em(()=>{i.abort(W5)});var r=n.next;(n.f&up)!==0?n.parent=null:cs(n,t),n=r}}function bpt(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&Fu)===0&&cs(t),t=n}}function cs(e,t=!0){var n=!1;(t||(e.f&mdt)!==0)&&e.nodes_start!==null&&e.nodes_end!==null&&(Y9(e.nodes_start,e.nodes_end),n=!0),W9(e,t&&!n),Xw(e,0),Fs(e,fp);var r=e.transitions;if(r!==null)for(const s of r)s.stop();V9(e);var i=e.parent;i!==null&&i.first!==null&&H9(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=e.ac=null}function Y9(e,t){for(;e!==null;){var n=e===t?null:Sl(e);e.remove(),e=n}}function H9(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function Uf(e,t){var n=[];J5(e,n,!0),G9(n,()=>{cs(e),t&&t()})}function G9(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var i of e)i.out(r)}else t()}function J5(e,t,n){if((e.f&al)===0){if(e.f^=al,e.transitions!==null)for(const o of e.transitions)(o.is_global||n)&&t.push(o);for(var r=e.first;r!==null;){var i=r.next,s=(r.f&hp)!==0||(r.f&Fu)!==0;J5(r,t,s?n:!1),r=i}}}function Z5(e){X9(e,!0)}function X9(e,t){if((e.f&al)!==0){e.f^=al,(e.f&ji)===0&&(Fs(e,La),dg(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&hp)!==0||(n.f&Fu)!==0;X9(n,i?t:!1),n=r}if(e.transitions!==null)for(const s of e.transitions)(s.is_global||t)&&s.in()}}let B0=!1;function m7(e){B0=e}let pp=!1;function y7(e){pp=e}let cn=null,tl=!1;function lo(e){cn=e}let Ye=null;function dc(e){Ye=e}let xu=null;function K9(e){cn!==null&&(xu===null?xu=[e]:xu.push(e))}let Ss=null,Mo=0,ca=null;function _pt(e){ca=e}let J9=1,mv=0,Sd=mv;function v7(e){Sd=e}let kf=!1;function Z9(){return++J9}function b1(e){var t=e.f;if((t&La)!==0)return!0;if((t&Bu)!==0){var n=e.deps,r=(t&Ia)!==0;if(n!==null){var i,s,o=(t&Hw)!==0,a=r&&Ye!==null&&!kf,l=n.length;if((o||a)&&(Ye===null||(Ye.f&fp)===0)){var c=e,u=c.parent;for(i=0;ie.wv)return!0}(!r||Ye!==null&&!kf)&&Fs(e,ji)}return!1}function Q9(e,t,n=!0){var r=e.reactions;if(r!==null&&!xu?.includes(e))for(var i=0;i{e.ac.abort(W5)}),e.ac=null);try{e.f|=Xk;var f=e.fn,h=f(),d=e.deps;if(Ss!==null){var g;if(Xw(e,Mo),d!==null&&Mo>0)for(d.length=Mo+Ss.length,g=0;gn?.call(this,s))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?yh(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function P0(e,t,n,r,i){var s={capture:r,passive:i},o=iP(e,t,n,s);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&xS(()=>{t.removeEventListener(e,o,s)})}function Dr(e){for(var t=0;t{throw _});throw h}}finally{e.__root=t,delete e.currentTarget,lo(u),dc(f)}}}function t6(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function Po(e,t){var n=Ye;n.nodes_start===null&&(n.nodes_start=e,n.nodes_end=t)}function xt(e,t){var n=(t&_9)!==0,r=(t&Udt)!==0,i,s=!e.startsWith("");return()=>{if(Be)return Po(on,null),on;i===void 0&&(i=t6(s?e:""+e),n||(i=ns(i)));var o=r||F9?document.importNode(i,!0):i.cloneNode(!0);if(n){var a=ns(o),l=o.lastChild;Po(a,l)}else Po(o,o);return o}}function Rpt(e,t,n="svg"){var r=!e.startsWith(""),i=(t&_9)!==0,s=`<${n}>${r?e:""+e}`,o;return()=>{if(Be)return Po(on,null),on;if(!o){var a=t6(s),l=ns(a);if(i)for(o=document.createDocumentFragment();ns(l);)o.appendChild(ns(l));else o=ns(l)}var c=o.cloneNode(!0);if(i){var u=ns(c),f=c.lastChild;Po(u,f)}else Po(c,c);return c}}function Qe(e,t){return Rpt(e,t,"svg")}function so(e=""){if(!Be){var t=Da(e+"");return Po(t,t),t}var n=on;return n.nodeType!==Y5&&(n.before(n=Da()),Ds(n)),Po(n,n),n}function _n(){if(Be)return Po(on,null),on;var e=document.createDocumentFragment(),t=document.createComment(""),n=Da();return e.append(t,n),Po(t,n),e}function st(e,t){if(Be){Ye.nodes_end=on,Iu();return}e!==null&&e.before(t)}let r4=!0;function ce(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=n+"")}function e6(e,t){return sP(e,t)}function Cpt(e,t){t4(),t.intro=t.intro??!1;const n=t.target,r=Be,i=on;try{for(var s=ns(n);s&&(s.nodeType!==ug||s.data!==w9);)s=Sl(s);if(!s)throw xd;rl(!0),Ds(s),Iu();const o=sP(e,{...t,anchor:s});if(on===null||on.nodeType!==ug||on.data!==G5)throw y1(),xd;return rl(!1),o}catch(o){if(o instanceof Error&&o.message.split(` `).some(a=>a.startsWith("https://svelte.dev/e/")))throw o;return o!==xd&&console.warn("Failed to hydrate: ",o),t.recover===!1&&Sdt(),t4(),U9(n),rl(!1),e6(e,t)}finally{rl(r),Ds(i)}}const Zp=new Map;function sP(e,{target:t,anchor:n,props:r={},events:i,context:s,intro:o=!0}){t4();var a=new Set,l=f=>{for(var h=0;h{var f=n??t.appendChild(Da());return qi(()=>{if(s){me({});var h=zn;h.c=s}i&&(r.$$events=i),Be&&Po(f,null),r4=o,c=e(f,r)||{},r4=!0,Be&&(Ye.nodes_end=on),s&&ye()}),()=>{for(var h of a){t.removeEventListener(h,wy);var d=Zp.get(h);--d===0?(document.removeEventListener(h,wy),Zp.delete(h)):Zp.set(h,d)}n4.delete(l),f!==n&&f.parentNode?.removeChild(f)}});return i4.set(c,u),c}let i4=new WeakMap;function Npt(e,t){const n=i4.get(e);return n?(i4.delete(e),n(t)):Promise.resolve()}function Ot(e,t,n=!1){Be&&Iu();var r=e,i=null,s=null,o=bi,a=n?hp:0,l=!1;const c=(d,g=!0)=>{l=!0,h(g,d)};var u=null;function f(){u!==null&&(u.lastChild.remove(),r.before(u),u=null);var d=o?i:s,g=o?s:i;d&&Z5(d),g&&Uf(g,()=>{o?s=null:i=null})}const h=(d,g)=>{if(o===(o=d))return;let y=!1;if(Be){const k=x9(r)===H5;!!o===k&&(r=Gw(),Ds(r),rl(!1),y=!0)}var v=wS(),b=r;if(v&&(u=document.createDocumentFragment(),u.append(b=Da())),o?i??=g&&qi(()=>g(b)):s??=g&&qi(()=>g(b)),v){var _=fr,x=o?i:s,A=o?s:i;x&&_.skipped_effects.delete(x),A&&_.skipped_effects.add(A),_.add_callback(f)}else f();y&&rl(!0)};vh(()=>{l=!1,t(c),l||h(null,null)},a),Be&&(r=on)}function SS(e,t,n){Be&&Iu();var r=e,i=bi,s,o,a=null,l=tm()?Wdt:bS;function c(){s&&Uf(s),a!==null&&(a.lastChild.remove(),r.before(a),a=null),s=o}vh(()=>{if(l(i,i=t())){var u=r,f=wS();f&&(a=document.createDocumentFragment(),a.append(u=Da())),o=qi(()=>n(u)),f?fr.add_callback(c):c()}}),Be&&(r=on)}let mw=null;function Bn(e,t){return t}function $pt(e,t,n){for(var r=e.items,i=[],s=t.length,o=0;o0&&i.length===0&&n!==null;if(a){var l=n.parentNode;U9(l),l.append(n),r.clear(),Pl(e,t[0].prev,t[s-1].next)}G9(i,()=>{for(var c=0;c{var b=n();return Jg(b)?b:b==null?[]:P5(b)}),g,y;function v(){Opt(y,g,a,h,o,i,t,r,n),s!==null&&(g.length===0?u?Z5(u):u=qi(()=>s(o)):u!==null&&Uf(u,()=>{u=null}))}vh(()=>{y??=Ye,g=w(d);var b=g.length;if(f&&b===0)return;f=b===0;let _=!1;if(Be){var x=x9(o)===H5;x!==(b===0)&&(o=Gw(),Ds(o),rl(!1),_=!0)}if(Be){for(var A=null,k,S=0;S0&&Ds(Gw())}if(Be)b===0&&s&&(u=qi(()=>s(o)));else if(wS()){var I=new Set,N=fr;for(S=0;S0){var B=(o&b9)!==0&&f===0?i:null;if(c){for(T=0;T{if(b!==void 0)for(S of b)S.a?.apply()}),e.first=n.first&&n.first.e,e.last=v&&v.e;for(var V of r.values())cs(V.e);r.clear()}function oP(e,t,n,r){(r&yS)!==0&&pg(e.v,t),(r&vS)!==0?pg(e.i,n):e.i=n}function s4(e,t,n,r,i,s,o,a,l,c,u){var f=mw,h=(l&yS)!==0,d=(l&Cdt)===0,g=h?d?F0(i,!1,!1):jd(i):i,y=(l&vS)===0?o:jd(o),v={i:y,v:g,k:s,a:null,e:null,prev:n,next:r};mw=v;try{if(e===null){var b=document.createDocumentFragment();b.append(e=Da())}return v.e=qi(()=>a(e,g,y,c),Be),v.e.prev=n&&n.e,v.e.next=r&&r.e,n===null?u||(t.first=v):(n.next=v,n.e.next=v.e),r!==null&&(r.prev=v,r.e.prev=v.e),v}finally{mw=f}}function PE(e,t,n){for(var r=e.next?e.next.e.nodes_start:n,i=t?t.e.nodes_start:n,s=e.e.nodes_start;s!==null&&s!==r;){var o=Sl(s);i.before(s),s=o}}function Pl(e,t,n){t===null?e.first=n:(t.next=n,t.e.next=n&&n.e),n!==null&&(n.prev=t,n.e.prev=t&&t.e)}function Lpt(e,t,n=!1,r=!1,i=!1){var s=e,o="";Ft(()=>{var a=Ye;if(o===(o=t()??"")){Be&&Iu();return}if(a.nodes_start!==null&&(Y9(a.nodes_start,a.nodes_end),a.nodes_start=a.nodes_end=null),o!==""){if(Be){on.data;for(var l=Iu(),c=l;l!==null&&(l.nodeType!==ug||l.data!=="");)c=l,l=Sl(l);if(l===null)throw y1(),xd;Po(on,c),s=Ds(l);return}var u=o+"";n?u=`${u}`:r&&(u=`${u}`);var f=t6(u);if((n||r)&&(f=ns(f)),Po(ns(f),f.lastChild),n||r)for(;ns(f);)s.before(ns(f));else s.before(f)}})}function yv(e,t,...n){var r=e,i=pn,s;vh(()=>{i!==(i=t())&&(s&&(cs(s),s=null),s=qi(()=>i(r,...n)))},hp),Be&&(r=on)}function vv(e,t,n){Be&&Iu();var r=e,i,s,o=null,a=null;function l(){s&&(Uf(s),s=null),o&&(o.lastChild.remove(),r.before(o),o=null),s=a,a=null}vh(()=>{if(i!==(i=t())){var c=wS();if(i){var u=r;c&&(o=document.createDocumentFragment(),o.append(u=Da()),s&&fr.skipped_effects.add(s)),a=qi(()=>n(u,i))}c?fr.add_callback(l):l()}},hp),Be&&(r=on)}function aP(e,t,n){nm(()=>{var r=_o(()=>t(e,n?.())||{});if(n&&r?.update){var i=!1,s={};dp(()=>{var o=n();Q5(o),i&&bS(s,o)&&(s=o,r.update(o))}),i=!0}if(r?.destroy)return()=>r.destroy()})}function Dpt(e,t){var n=void 0,r;vh(()=>{n!==(n=t())&&(r&&(cs(r),r=null),n&&(r=qi(()=>{nm(()=>n(e))})))})}function lP(e){var t,n,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var i=e.length;for(t=0;t=0;){var a=o+s;(o===0||_7.includes(r[o-1]))&&(a===r.length||_7.includes(r[a]))?r=(o===0?"":r.substring(0,o))+r.substring(a+1):o=a}}return r===""?null:r}function w7(e,t=!1){var n=t?" !important;":";",r="";for(var i in e){var s=e[i];s!=null&&s!==""&&(r+=" "+i+": "+s+n)}return r}function UE(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function Upt(e,t){if(t){var n="",r,i;if(Array.isArray(t)?(r=t[0],i=t[1]):r=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,o=0,a=!1,l=[];r&&l.push(...Object.keys(r).map(UE)),i&&l.push(...Object.keys(i).map(UE));var c=0,u=-1;const y=e.length;for(var f=0;f{gg(e,e.__value)});t.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),xS(()=>{t.disconnect()})}function x7(e){return"__value"in e?e.__value:e.value}const Jm=Symbol("class"),Zm=Symbol("style"),cP=Symbol("is custom element"),uP=Symbol("is html");function n6(e){if(Be){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;ct(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var i=e.checked;ct(e,"checked",null),e.checked=i}}};e.__on_r=n,Zdt(n),z9()}}function zpt(e,t){var n=r6(e);n.value===(n.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!=="PROGRESS")||(e.value=t??"")}function qpt(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function ct(e,t,n,r){var i=r6(e);Be&&(i[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")||i[t]!==(i[t]=n)&&(t==="loading"&&(e[ydt]=n),n==null?e.removeAttribute(t):typeof n!="string"&&fP(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function jpt(e,t,n,r,i=!1,s=!1){if(Be&&i&&e.tagName==="INPUT"){var o=e,a=o.type==="checkbox"?"defaultChecked":"defaultValue";a in n||n6(o)}var l=r6(e),c=l[cP],u=!l[uP];let f=Be&&c;f&&rl(!1);var h=t||{},d=e.tagName==="OPTION";for(var g in t)g in n||(n[g]=null);n.class?n.class=Bpt(n.class):n[Jm]&&(n.class=null),n[Zm]&&(n.style??=null);var y=fP(e);for(const S in n){let T=n[S];if(d&&S==="value"&&T==null){e.value=e.__value="",h[S]=T;continue}if(S==="class"){var v=e.namespaceURI==="http://www.w3.org/1999/xhtml";ar(e,v,T,r,t?.[Jm],n[Jm]),h[S]=T,h[Jm]=n[Jm];continue}if(S==="style"){Te(e,T,t?.[Zm],n[Zm]),h[S]=T,h[Zm]=n[Zm];continue}var b=h[S];if(!(T===b&&!(T===void 0&&e.hasAttribute(S)))){h[S]=T;var _=S[0]+S[1];if(_!=="$$")if(_==="on"){const M={},I="$$"+S;let N=S.slice(2);var x=Ept(N);if(Spt(N)&&(N=N.slice(0,-7),M.capture=!0),!x&&b){if(T!=null)continue;e.removeEventListener(N,h[I],M),h[I]=null}if(T!=null)if(x)e[`__${N}`]=T,Dr([N]);else{let C=function(L){h[S].call(this,L)};h[I]=iP(N,e,C,M)}else x&&(e[`__${N}`]=void 0)}else if(S==="style")ct(e,S,T);else if(S==="autofocus")fpt(e,!!T);else if(!c&&(S==="__value"||S==="value"&&T!=null))e.value=e.__value=T;else if(S==="selected"&&d)qpt(e,T);else{var A=S;u||(A=kpt(A));var k=A==="defaultValue"||A==="defaultChecked";if(T==null&&!c&&!k)if(l[S]=null,A==="value"||A==="checked"){let M=e;const I=t===void 0;if(A==="value"){let N=M.defaultValue;M.removeAttribute(A),M.defaultValue=N,M.value=M.__value=I?N:null}else{let N=M.defaultChecked;M.removeAttribute(A),M.defaultChecked=N,M.checked=I?N:!1}}else e.removeAttribute(S);else k||y.includes(A)&&(c||typeof T!="string")?(e[A]=T,A in l&&(l[A]=bi)):typeof T!="function"&&ct(e,A,T)}}}return f&&rl(!0),h}function Go(e,t,n=[],r=[],i,s=!1,o=!1){N9(n,r,a=>{var l=void 0,c={},u=e.nodeName==="SELECT",f=!1;if(vh(()=>{var d=t(...a.map(w)),g=jpt(e,l,d,i,s,o);f&&u&&"value"in d&&gg(e,d.value);for(let v of Object.getOwnPropertySymbols(c))d[v]||cs(c[v]);for(let v of Object.getOwnPropertySymbols(d)){var y=d[v];v.description===qdt&&(!l||y!==l[v])&&(c[v]&&cs(c[v]),c[v]=qi(()=>Dpt(e,()=>y))),g[v]=y}l=g}),u){var h=e;nm(()=>{gg(h,l.value,!0),Kw(h)})}f=!0})}function r6(e){return e.__attributes??={[cP]:e.nodeName.includes("-"),[uP]:e.namespaceURI===zdt}}var S7=new Map;function fP(e){var t=e.getAttribute("is")||e.nodeName,n=S7.get(t);if(n)return n;S7.set(t,n=[]);for(var r,i=e,s=Element.prototype;s!==i;){r=m9(i);for(var o in r)r[o].set&&n.push(o);i=U5(i)}return n}const Vpt=()=>performance.now(),Gl={tick:e=>requestAnimationFrame(e),now:()=>Vpt(),tasks:new Set};function hP(){const e=Gl.now();Gl.tasks.forEach(t=>{t.c(e)||(Gl.tasks.delete(t),t.f())}),Gl.tasks.size!==0&&Gl.tick(hP)}function dP(e){let t;return Gl.tasks.size===0&&Gl.tick(hP),{promise:new Promise(n=>{Gl.tasks.add(t={c:e,f:n})}),abort(){Gl.tasks.delete(t)}}}function d_(e,t){em(()=>{e.dispatchEvent(new CustomEvent(t))})}function Wpt(e){if(e==="float")return"cssFloat";if(e==="offset")return"cssOffset";if(e.startsWith("--"))return e;const t=e.split("-");return t.length===1?t[0]:t[0]+t.slice(1).map(n=>n[0].toUpperCase()+n.slice(1)).join("")}function A7(e){const t={},n=e.split(";");for(const r of n){const[i,s]=r.split(":");if(!i||s===void 0)break;const o=Wpt(i.trim());t[o]=s.trim()}return t}const Ypt=e=>e;function Hpt(e,t,n){var r=mw,i,s,o,a=null;r.a??={element:e,measure(){i=this.element.getBoundingClientRect()},apply(){if(o?.abort(),s=this.element.getBoundingClientRect(),i.left!==s.left||i.right!==s.right||i.top!==s.top||i.bottom!==s.bottom){const l=t()(this.element,{from:i,to:s},n?.());o=Zw(this.element,l,void 0,1,()=>{o?.abort(),o=void 0})}},fix(){if(!e.getAnimations().length){var{position:l,width:c,height:u}=getComputedStyle(e);if(l!=="absolute"&&l!=="fixed"){var f=e.style;a={position:f.position,width:f.width,height:f.height,transform:f.transform},f.position="absolute",f.width=c,f.height=u;var h=e.getBoundingClientRect();if(i.left!==h.left||i.top!==h.top){var d=`translate(${i.left-h.left}px, ${i.top-h.top}px)`;f.transform=f.transform?`${f.transform} ${d}`:d}}}},unfix(){if(a){var l=e.style;l.position=a.position,l.width=a.width,l.height=a.height,l.transform=a.transform}}},r.a.element=e}function Jw(e,t,n,r){var i=(e&Fdt)!==0,s=(e&Bdt)!==0,o=i&&s,a=(e&Pdt)!==0,l=o?"both":i?"in":"out",c,u=t.inert,f=t.style.overflow,h,d;function g(){return em(()=>c??=n()(t,r?.()??{},{direction:l}))}var y={is_global:a,in(){if(t.inert=u,!i){d?.abort(),d?.reset?.();return}s||h?.abort(),d_(t,"introstart"),h=Zw(t,g(),d,1,()=>{d_(t,"introend"),h?.abort(),h=c=void 0,t.style.overflow=f})},out(x){if(!s){x?.(),c=void 0;return}t.inert=!0,d_(t,"outrostart"),d=Zw(t,g(),h,0,()=>{d_(t,"outroend"),x?.()})},stop:()=>{h?.abort(),d?.abort()}},v=Ye;if((v.transitions??=[]).push(y),i&&r4){var b=a;if(!b){for(var _=v.parent;_&&(_.f&hp)!==0;)for(;(_=_.parent)&&(_.f&cp)===0;);b=!_||(_.f&mS)!==0}b&&nm(()=>{_o(()=>y.in())})}}function Zw(e,t,n,r,i){var s=r===1;if(g0(t)){var o,a=!1;return yh(()=>{if(!a){var v=t({direction:s?"in":"out"});o=Zw(e,v,n,r,i)}}),{abort:()=>{a=!0,o?.abort()},deactivate:()=>o.deactivate(),reset:()=>o.reset(),t:()=>o.t()}}if(n?.deactivate(),!t?.duration)return i(),{abort:pn,deactivate:pn,reset:pn,t:()=>r};const{delay:l=0,css:c,tick:u,easing:f=Ypt}=t;var h=[];if(s&&n===void 0&&(u&&u(0,1),c)){var d=A7(c(0,1));h.push(d,d)}var g=()=>1-r,y=e.animate(h,{duration:l,fill:"forwards"});return y.onfinish=()=>{y.cancel();var v=n?.t()??1-r;n?.abort();var b=r-v,_=t.duration*Math.abs(b),x=[];if(_>0){var A=!1;if(c)for(var k=Math.ceil(_/16.666666666666668),S=0;S<=k;S+=1){var T=v+b*f(S/k),M=A7(c(T,1-T));x.push(M),A||=M.overflow==="hidden"}A&&(e.style.overflow="hidden"),g=()=>{var I=y.currentTime;return v+b*f(I/_)},u&&dP(()=>{if(y.playState!=="running")return!1;var I=g();return u(I,1-I),!0})}y=e.animate(x,{duration:_,fill:"forwards"}),y.onfinish=()=>{g=()=>r,u?.(r,1-r),i()}},{abort:()=>{y&&(y.cancel(),y.effect=null,y.onfinish=pn)},deactivate:()=>{i=pn},reset:()=>{r===0&&u?.(1,0)},t:()=>g()}}function Gpt(e,t,n=t){var r=new WeakSet;hpt(e,"input",async i=>{var s=i?e.defaultValue:e.value;if(s=qE(e)?jE(s):s,n(s),fr!==null&&r.add(fr),await eP(),s!==(s=t())){var o=e.selectionStart,a=e.selectionEnd;e.value=s??"",a!==null&&(e.selectionStart=o,e.selectionEnd=Math.min(a,e.value.length))}}),(Be&&e.defaultValue!==e.value||_o(t)==null&&e.value)&&(n(qE(e)?jE(e.value):e.value),fr!==null&&r.add(fr)),dp(()=>{var i=t();if(e===document.activeElement){var s=gw??fr;if(r.has(s))return}qE(e)&&i===jE(e.value)||e.type==="date"&&!i&&!e.value||i!==e.value&&(e.value=i??"")})}function qE(e){var t=e.type;return t==="number"||t==="range"}function jE(e){return e===""?null:+e}function Xpt(e,t,n){var r=wu(e,t);r&&r.set&&(e[t]=n,xS(()=>{e[t]=null}))}class i6{#t=new WeakMap;#e;#n;static entries=new WeakMap;constructor(t){this.#n=t}observe(t,n){var r=this.#t.get(t)||new Set;return r.add(n),this.#t.set(t,r),this.#r().observe(t,this.#n),()=>{var i=this.#t.get(t);i.delete(n),i.size===0&&(this.#t.delete(t),this.#e.unobserve(t))}}#r(){return this.#e??(this.#e=new ResizeObserver(t=>{for(var n of t){i6.entries.set(n.target,n);for(var r of this.#t.get(n.target)||[])r(n)}}))}}var Kpt=new i6({box:"border-box"});function Vd(e,t,n){var r=Kpt.observe(e,()=>n(e[t]));nm(()=>(_o(()=>n(e[t])),r))}function E7(e,t){return e===t||e?.[oc]===t}function po(e={},t,n,r){return nm(()=>{var i,s;return dp(()=>{i=s,s=[],_o(()=>{e!==n(...s)&&(t(e,...s),i&&E7(n(...i),e)&&t(null,...i))})}),()=>{yh(()=>{s&&E7(n(...s),e)&&t(null,...s)})}}),e}function s6(e=!1){const t=zn,n=t.l.u;if(!n)return;let r=()=>Q5(t.s);if(e){let i=0,s={};const o=v1(()=>{let a=!1;const l=t.s;for(const c in l)l[c]!==s[c]&&(s[c]=l[c],a=!0);return a&&i++,i});r=()=>w(o)}n.b.length&&ue(()=>{T7(t,r),pv(n.b)}),hs(()=>{const i=_o(()=>n.m.map(pdt));return()=>{for(const s of i)typeof s=="function"&&s()}}),n.a.length&&hs(()=>{T7(t,r),pv(n.a)})}function T7(e,t){if(e.l.s)for(const n of e.l.s)w(n);t()}function k7(e,t){var n=e.$$events?.[t.type],r=Jg(n)?n.slice():n==null?[]:[n];for(var i of r)i.call(this,t)}function o6(e,t,n){if(e==null)return t(void 0),n&&n(void 0),pn;const r=_o(()=>e.subscribe(t,n));return r.unsubscribe?()=>r.unsubscribe():r}const Qp=[];function pP(e,t){return{subscribe:mg(e,t).subscribe}}function mg(e,t=pn){let n=null;const r=new Set;function i(a){if(bS(e,a)&&(e=a,n)){const l=!Qp.length;for(const c of r)c[1](),Qp.push(c,e);if(l){for(let c=0;c{r.delete(c),r.size===0&&n&&(n(),n=null)}}return{set:i,update:s,subscribe:o}}function a6(e,t,n){const r=!Array.isArray(e),i=r?[e]:e;if(!i.every(Boolean))throw new Error("derived() expects stores as input, got a falsy value");const s=t.length<2;return pP(n,(o,a)=>{let l=!1;const c=[];let u=0,f=pn;const h=()=>{if(u)return;f();const g=t(r?c[0]:c,o,a);s?o(g):f=typeof g=="function"?g:pn},d=i.map((g,y)=>o6(g,v=>{c[y]=v,u&=~(1<{u|=1<t=n)(),t}let p_=!1,o4=Symbol();function us(e,t,n){const r=n[t]??={store:null,source:F0(void 0),unsubscribe:pn};if(r.store!==e&&!(o4 in n))if(r.unsubscribe(),r.store=e??null,e==null)r.source.v=void 0,r.unsubscribe=pn;else{var i=!0;r.unsubscribe=o6(e,s=>{i?r.source.v=s:X(r.source,s)}),i=!1}return e&&o4 in n?Jpt(e):w(r.source)}function Qm(e,t){return e.set(t),t}function wo(){const e={};function t(){xS(()=>{for(var n in e)e[n].unsubscribe();dv(e,o4,{enumerable:!1,value:!0})})}return[e,t]}function Zpt(e){var t=p_;try{return p_=!1,[e(),p_]}finally{p_=t}}const Qpt={get(e,t){if(!e.exclude.includes(t))return e.props[t]},set(e,t){return!1},getOwnPropertyDescriptor(e,t){if(!e.exclude.includes(t)&&t in e.props)return{enumerable:!0,configurable:!0,value:e.props[t]}},has(e,t){return e.exclude.includes(t)?!1:t in e.props},ownKeys(e){return Reflect.ownKeys(e.props).filter(t=>!e.exclude.includes(t))}};function qs(e,t,n){return new Proxy({props:e,exclude:t},Qpt)}const t0t={get(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(g0(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r)return r[t]}},set(e,t,n){let r=e.props.length;for(;r--;){let i=e.props[r];g0(i)&&(i=i());const s=wu(i,t);if(s&&s.set)return s.set(n),!0}return!1},getOwnPropertyDescriptor(e,t){let n=e.props.length;for(;n--;){let r=e.props[n];if(g0(r)&&(r=r()),typeof r=="object"&&r!==null&&t in r){const i=wu(r,t);return i&&!i.configurable&&(i.configurable=!0),i}}},has(e,t){if(t===oc||t===V5)return!1;for(let n of e.props)if(g0(n)&&(n=n()),n!=null&&t in n)return!0;return!1},ownKeys(e){const t=[];for(let n of e.props)if(g0(n)&&(n=n()),!!n){for(const r in n)t.includes(r)||t.push(r);for(const r of Object.getOwnPropertySymbols(n))t.includes(r)||t.push(r)}return t}};function a4(...e){return new Proxy({props:e},t0t)}function ie(e,t,n,r){var i=!Qg||(n&$dt)!==0,s=(n&Ldt)!==0,o=(n&Ddt)!==0,a=r,l=!0,c=()=>(l&&(l=!1,a=o?_o(r):r),a),u;if(s){var f=oc in e||V5 in e;u=wu(e,t)?.set??(f&&t in e?x=>e[t]=x:void 0)}var h,d=!1;s?[h,d]=Zpt(()=>e[t]):h=e[t],h===void 0&&r!==void 0&&(h=c(),u&&(i&&Edt(),u(h)));var g;if(i?g=()=>{var x=e[t];return x===void 0?c():(l=!0,x)}:g=()=>{var x=e[t];return x!==void 0&&(a=void 0),x===void 0?a:x},i&&(n&Odt)===0)return g;if(u){var y=e.$$legacy;return(function(x,A){return arguments.length>0?((!i||!A||y||d)&&u(A?g():x),x):g()})}var v=!1,b=((n&Ndt)!==0?v1:X5)(()=>(v=!1,g()));s&&w(b);var _=Ye;return(function(x,A){if(arguments.length>0){const k=A?w(b):i&&s?il(x):x;return X(b,k),v=!0,a!==void 0&&(a=k),x}return pp&&v||(_.f&fp)!==0?b.v:w(b)})}function e0t(e){return new n0t(e)}class n0t{#t;#e;constructor(t){var n=new Map,r=(s,o)=>{var a=F0(o,!1,!1);return n.set(s,a),a};const i=new Proxy({...t.props||{},$$events:{}},{get(s,o){return w(n.get(o)??r(o,Reflect.get(s,o)))},has(s,o){return o===V5?!0:(w(n.get(o)??r(o,Reflect.get(s,o))),Reflect.has(s,o))},set(s,o,a){return X(n.get(o)??r(o,a),a),Reflect.set(s,o,a)}});this.#e=(t.hydrate?Cpt:e6)(t.component,{target:t.target,anchor:t.anchor,props:i,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&O9(),this.#t=i.$$events;for(const s of Object.keys(this.#e))s==="$set"||s==="$destroy"||s==="$on"||dv(this,s,{get(){return this.#e[s]},set(o){this.#e[s]=o},enumerable:!0});this.#e.$set=s=>{Object.assign(i,s)},this.#e.$destroy=()=>{Npt(this.#e)}}$set(t){this.#e.$set(t)}$on(t,n){this.#t[t]=this.#t[t]||[];const r=(...i)=>n.call(this,...i);return this.#t[t].push(r),()=>{this.#t[t]=this.#t[t].filter(i=>i!==r)}}$destroy(){this.#e.$destroy()}}function rm(e){zn===null&&m1(),Qg&&zn.l!==null?gP(zn).m.push(e):hs(()=>{const t=_o(e);if(typeof t=="function")return t})}function l6(e){zn===null&&m1(),rm(()=>()=>_o(e))}function r0t(e,t,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(e,{detail:t,bubbles:n,cancelable:r})}function i0t(){const e=zn;return e===null&&m1(),(t,n,r)=>{const i=e.s.$$events?.[t];if(i){const s=Jg(i)?i.slice():[i],o=r0t(t,n,r);for(const a of s)a.call(e.x,o);return!o.defaultPrevented}return!0}}function s0t(e){zn===null&&m1(),zn.l===null&&Adt(),gP(zn).a.push(e)}function gP(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}const o0t="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(o0t);Hdt();function a0t(e,t){if(e instanceof RegExp)return{keys:!1,pattern:e};var n,r,i,s,o=[],a="",l=e.split("/");for(l[0]||l.shift();i=l.shift();)n=i[0],n==="*"?(o.push("wild"),a+="/(.*)"):n===":"?(r=i.indexOf("?",1),s=i.indexOf(".",1),o.push(i.substring(1,~r?r:~s?s:i.length)),a+=~r&&!~s?"(?:/([^/]+?))?":"/([^/]+?)",~s&&(a+=(~r?"?":"")+"\\"+i.substring(s))):a+="/"+i;return{keys:o,pattern:new RegExp("^"+a+"/?$","i")}}function M7(){const e=window.location.href.indexOf("#/");let t=e>-1?window.location.href.substr(e+1):"/";const n=t.indexOf("?");let r="";return n>-1&&(r=t.substr(n+1),t=t.substr(0,n)),{location:t,querystring:r}}const c6=pP(null,function(t){t(M7());const n=()=>{t(M7())};return window.addEventListener("hashchange",n,!1),function(){window.removeEventListener("hashchange",n,!1)}});a6(c6,e=>e.location);a6(c6,e=>e.querystring);const I7=mg(void 0);function l0t(e){e?window.scrollTo(e.__svelte_spa_router_scrollX,e.__svelte_spa_router_scrollY):window.scrollTo(0,0)}function c0t(e,t){me(t,!1);let n=ie(t,"routes",24,()=>({})),r=ie(t,"prefix",8,""),i=ie(t,"restoreScrollState",8,!1);class s{constructor(S,T){if(!T||typeof T!="function"&&(typeof T!="object"||T._sveltesparouter!==!0))throw Error("Invalid component object");if(!S||typeof S=="string"&&(S.length<1||S.charAt(0)!="/"&&S.charAt(0)!="*")||typeof S=="object"&&!(S instanceof RegExp))throw Error('Invalid value for "path" argument - strings must start with / or *');const{pattern:M,keys:I}=a0t(S);this.path=S,typeof T=="object"&&T._sveltesparouter===!0?(this.component=T.component,this.conditions=T.conditions||[],this.userData=T.userData,this.props=T.props||{}):(this.component=()=>Promise.resolve(T),this.conditions=[],this.props={}),this._pattern=M,this._keys=I}match(S){if(r()){if(typeof r()=="string")if(S.startsWith(r()))S=S.substr(r().length)||"/";else return null;else if(r()instanceof RegExp){const N=S.match(r());if(N&&N[0])S=S.substr(N[0].length)||"/";else return null}}const T=this._pattern.exec(S);if(T===null)return null;if(this._keys===!1)return T;const M={};let I=0;for(;I{o.push(new s(S,k))}):Object.keys(n()).forEach(k=>{o.push(new s(k,n()[k]))});let a=F0(null),l=F0(null),c=F0({});const u=i0t();async function f(k,S){await eP(),u(k,S)}let h=null,d=null;i()&&(d=k=>{k.state&&(k.state.__svelte_spa_router_scrollY||k.state.__svelte_spa_router_scrollX)?h=k.state:h=null},window.addEventListener("popstate",d),s0t(()=>{l0t(h)}));let g=null,y=null;const v=c6.subscribe(async k=>{g=k;let S=0;for(;S{I7.set(w(l))});return}X(a,null),y=null,I7.set(void 0)});l6(()=>{v(),d&&window.removeEventListener("popstate",d)}),mpt(()=>Q5(i()),()=>{history.scrollRestoration=i()?"manual":"auto"}),ypt(),s6();var b=_n(),_=Wt(b);{var x=k=>{var S=_n(),T=Wt(S);vv(T,()=>w(a),(M,I)=>{I(M,a4({get params(){return w(l)}},()=>w(c),{$$events:{routeEvent(N){k7.call(this,t,N)}}}))}),st(k,S)},A=k=>{var S=_n(),T=Wt(S);vv(T,()=>w(a),(M,I)=>{I(M,a4(()=>w(c),{$$events:{routeEvent(N){k7.call(this,t,N)}}}))}),st(k,S)};Ot(_,k=>{w(l)?k(x):k(A,!1)})}st(e,b),ye()}const R7={};function mP(e,t=!1){let n,r,i=R7;function s(c){n=e(c)?.catch(()=>{}).finally(()=>{if(r){const{event:u}=r;r=null,s(u)}else n=null})||null}function o(c){r={event:c}}function a(c){n?o(c):s(c)}function l(c){i!==c&&requestAnimationFrame(()=>{const u=i;i=R7,a(u)}),i=c}return t?l:a}function _1(e){return e instanceof gp}class gp{_filterBy;_requestUpdate;_coordinator;_pending;_enabled;_initialized;_request;constructor(t){this._filterBy=t,this._requestUpdate=mP(()=>this.requestQuery(),!0),this._coordinator=null,this._pending=Promise.resolve(),this._enabled=!0,this._initialized=!1,this._request=null}get coordinator(){return this._coordinator}set coordinator(t){this._coordinator=t}get enabled(){return this._enabled}set enabled(t){t=!!t,this._enabled!==t&&(this._enabled=t,t&&(this._initialized?this._request&&this.requestQuery(this._request===!0?void 0:this._request):this.initialize(),this._request=null))}get pending(){return this._pending}get filterBy(){return this._filterBy}get filterStable(){return!0}async prepare(){}query(t){return null}queryPending(){return this}queryResult(t){return this}queryError(t){return this}requestQuery(t){if(this._enabled){const n=t||this.query(this.filterBy?.predicate(this));return this._coordinator.requestQuery(this,n)}else return this._request=t??!0,null}requestUpdate(){this._enabled?this._requestUpdate():this.requestQuery()}initialize(){this._enabled?this._coordinator&&(this._initialized=!0,this._pending=this.prepare().then(()=>this.requestQuery())):this._initialized=!1}destroy(){this._enabled=!1,this.coordinator?.disconnect(this)}update(){return this}}const yP=Uint8Array.of(65,82,82,79,87,49),AS={V1:0,V4:3,V5:4},Mf={NONE:0,Schema:1,DictionaryBatch:2,RecordBatch:3,Tensor:4,SparseTensor:5},Nt={Dictionary:-1,NONE:0,Null:1,Int:2,Float:3,Binary:4,Utf8:5,Bool:6,Decimal:7,Date:8,Time:9,Timestamp:10,Interval:11,List:12,Struct:13,Union:14,FixedSizeBinary:15,FixedSizeList:16,Map:17,Duration:18,LargeBinary:19,LargeUtf8:20,LargeList:21,RunEndEncoded:22,BinaryView:23,Utf8View:24,ListView:25,LargeListView:26},vP={HALF:0,SINGLE:1,DOUBLE:2},Qw={DAY:0,MILLISECOND:1},Ra={SECOND:0,MILLISECOND:1,MICROSECOND:2,NANOSECOND:3},U0={YEAR_MONTH:0,DAY_TIME:1,MONTH_DAY_NANO:2},u6={Sparse:0,Dense:1},u0t=Uint8Array,bP=Uint16Array,f0t=Uint32Array,_P=BigUint64Array,wP=Int8Array,h0t=Int16Array,Al=Int32Array,Mc=BigInt64Array,d0t=Float32Array,ES=Float64Array;function p0t(e){return e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer}function g0t(e,t){const n=Math.log2(e)-3;return(t?[wP,h0t,Al,Mc]:[u0t,bP,f0t,_P])[n]}function f6(e,t){let n=0,r=e.length;if(r<=2147483648)do{const i=n+r>>>1;e[i]<=t?n=i+1:r=i}while(nt.includes(r),n??(()=>`${e} must be one of ${t}`))}function xP(e,t){for(const[n,r]of Object.entries(e))if(r===t)return n;return""}const d6=e=>`Unsupported data type: "${xP(Nt,e)}" (id ${e})`,SP=(e,t,n=!0,r=null)=>({name:e,type:t,nullable:n,metadata:r});function AP(e){return Object.hasOwn(e,"name")&&EP(e.type)}function EP(e){return typeof e?.typeId=="number"}function Yf(e,t="",n=!0){return AP(e)?e:SP(t,h6(e,EP,()=>"Data type expected."),n)}const m0t=(e,t,n=!1,r=-1)=>({typeId:Nt.Dictionary,id:r,dictionary:e,indices:t||kP(),ordered:n}),TP=(e=32,t=!0)=>({typeId:Nt.Int,bitWidth:pl(e,[8,16,32,64]),signed:t,values:g0t(e,t)}),kP=()=>TP(32),y0t=(e=2)=>({typeId:Nt.Float,precision:pl(e,vP),values:[bP,d0t,ES][e]}),v0t=()=>({typeId:Nt.Binary,offsets:Al}),b0t=()=>({typeId:Nt.Utf8,offsets:Al}),_0t=(e,t,n=128)=>({typeId:Nt.Decimal,precision:e,scale:t,bitWidth:pl(n,[32,64,128,256]),values:n===32?Al:_P}),w0t=e=>({typeId:Nt.Date,unit:pl(e,Qw),values:e===Qw.DAY?Al:Mc}),x0t=(e=Ra.MILLISECOND,t=32)=>({typeId:Nt.Time,unit:pl(e,Ra),bitWidth:pl(t,[32,64]),values:t===32?Al:Mc}),S0t=(e=Ra.MILLISECOND,t=null)=>({typeId:Nt.Timestamp,unit:pl(e,Ra),timezone:t,values:Mc}),A0t=(e=U0.MONTH_DAY_NANO)=>({typeId:Nt.Interval,unit:pl(e,U0),values:e===U0.MONTH_DAY_NANO?void 0:Al}),E0t=e=>({typeId:Nt.List,children:[Yf(e)],offsets:Al}),T0t=e=>({typeId:Nt.Struct,children:Array.isArray(e)&&AP(e[0])?e:Object.entries(e).map(([t,n])=>SP(t,n))}),k0t=(e,t,n,r)=>(n??=t.map((i,s)=>s),{typeId:Nt.Union,mode:pl(e,u6),typeIds:n,typeMap:n.reduce((i,s,o)=>(i[s]=o,i),{}),children:t.map((i,s)=>Yf(i,`_${s}`)),typeIdForValue:r,offsets:Al}),M0t=e=>({typeId:Nt.FixedSizeBinary,stride:e}),I0t=(e,t)=>({typeId:Nt.FixedSizeList,stride:t,children:[Yf(e)]}),R0t=(e,t)=>({typeId:Nt.Map,keysSorted:e,children:[t],offsets:Al}),C0t=(e=Ra.MILLISECOND)=>({typeId:Nt.Duration,unit:pl(e,Ra),values:Mc}),N0t=()=>({typeId:Nt.LargeBinary,offsets:Mc}),$0t=()=>({typeId:Nt.LargeUtf8,offsets:Mc}),O0t=e=>({typeId:Nt.LargeList,children:[Yf(e)],offsets:Mc}),L0t=(e,t)=>({typeId:Nt.RunEndEncoded,children:[h6(Yf(e,"run_ends"),n=>n.type.typeId===Nt.Int,()=>"Run-ends must have an integer type."),Yf(t,"values")]}),D0t=e=>({typeId:Nt.ListView,children:[Yf(e,"value")],offsets:Al}),F0t=e=>({typeId:Nt.LargeListView,children:[Yf(e,"value")],offsets:Mc}),B0t=new ES(2),P0t=B0t.buffer;new Mc(P0t);function Hf(e){if(e>Number.MAX_SAFE_INTEGER||eBigInt.asUintN(64,e);function U0t(e,t){return BigInt.asIntN(64,e[t])}function z0t(e,t){const n=t<<1;let r;return BigInt.asIntN(64,e[n+1])<0?(r=k0(~e[n])|k0(~e[n+1])<<64n,r=-(r+1n)):r=e[n]|e[n+1]<<64n,r}function q0t(e,t){const n=t<<2;let r;return BigInt.asIntN(64,e[n+3])<0?(r=k0(~e[n])|k0(~e[n+1])<<64n|k0(~e[n+2])<<128n|k0(~e[n+3])<<192n,r=-(r+1n)):r=e[n]|e[n+1]<<64n|e[n+2]<<128n|e[n+3]<<192n,r}const j0t=new TextDecoder("utf-8");new TextEncoder;function TS(e){return j0t.decode(e)}const bv=4;function MP(e,t){return(e[t>>3]&1<{if(s>24}function g6(e,t){return e[t]}function da(e,t){return W0t(e,t)<<16>>16}function W0t(e,t){return e[t]|e[t+1]<<8}function Cr(e,t){return e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24}function C7(e,t){return Cr(e,t)>>>0}function ya(e,t){return Hf(BigInt.asIntN(64,BigInt(C7(e,t))+(BigInt(C7(e,t+bv))<<32n)))}function tx(e,t){let n=t+Cr(e,t);const r=Cr(e,n);return n+=bv,TS(e.subarray(n,n+r))}function zf(e,t,n,r){if(!t)return[];const i=t+Cr(e,t);return Array.from({length:Cr(e,i)},(s,o)=>r(e,i+bv+o*n))}const VE=Symbol("rowIndex");function l4(e,t){class n{constructor(s){this[VE]=s}toJSON(){return RP(e,t,this[VE])}}const r=n.prototype;for(let i=0;inew n(i)}function IP(e,t){return n=>RP(e,t,n)}function RP(e,t,n){const r={};for(let i=0;ithis.value(c))}get[Symbol.toStringTag](){return"Batch"}at(t){return this.isValid(t)?this.value(t):null}isValid(t){return MP(this.validity,t)}value(t){return this.values[t]}slice(t,n){const r=n-t,i=Array(r);for(let s=0;s>10,i=(n&1023)/1024,s=(-1)**((n&32768)>>15);switch(r){case 31:return s*(i?Number.NaN:1/0);case 0:return s*(i?6103515625e-14*i:0)}return s*2**(r-15)*(1+i)}}class X0t extends li{value(t){return MP(this.values,t)}}class K0t extends MS{constructor(t){super(t);const{scale:n}=this.type;this.scale=10**n}value(t){return this.values[t]/this.scale}}class CP extends kS{constructor(t){super(t);const{bitWidth:n,scale:r}=this.type;this.decimal=n===64?U0t:n===128?z0t:q0t,this.scale=10n**BigInt(r)}}class J0t extends CP{static ArrayType=ES;value(t){return p6(this.decimal(this.values,t),this.scale)}}class Z0t extends CP{static ArrayType=Array;value(t){return this.decimal(this.values,t)}}class N7 extends li{constructor(t){super(t),this.source=t}value(t){return new Date(this.source.value(t))}}class Q0t extends MS{value(t){return 864e5*this.values[t]}}const tgt=im;class egt extends im{value(t){return super.value(t)*1e3}}const ngt=im;class rgt extends im{value(t){return p6(this.values[t],1000n)}}class igt extends im{value(t){return p6(this.values[t],1000000n)}}class sgt extends li{value(t){return this.values.subarray(t<<1,t+1<<1)}}class ogt extends li{value(t){const n=this.values,r=t<<4;return Float64Array.of(Cr(n,r),Cr(n,r+4),ya(n,r+8))}}const NP=({values:e,offsets:t},n)=>e.subarray(t[n],t[n+1]),$P=({values:e,offsets:t},n)=>e.subarray(Hf(t[n]),Hf(t[n+1]));class agt extends li{value(t){return NP(this,t)}}class lgt extends li{value(t){return $P(this,t)}}class cgt extends li{value(t){return TS(NP(this,t))}}class ugt extends li{value(t){return TS($P(this,t))}}class fgt extends li{value(t){const n=this.offsets;return this.children[0].slice(n[t],n[t+1])}}class hgt extends li{value(t){const n=this.offsets;return this.children[0].slice(Hf(n[t]),Hf(n[t+1]))}}class dgt extends li{value(t){const n=this.offsets[t],r=n+this.sizes[t];return this.children[0].slice(n,r)}}class pgt extends li{value(t){const n=this.offsets[t],r=n+this.sizes[t];return this.children[0].slice(Hf(n),Hf(r))}}class OP extends li{constructor(t){super(t),this.stride=this.type.stride}}class ggt extends OP{value(t){const{stride:n,values:r}=this;return r.subarray(t*n,(t+1)*n)}}class mgt extends OP{value(t){const{children:n,stride:r}=this;return n[0].slice(t*r,(t+1)*r)}}function LP({children:e,offsets:t},n){const[r,i]=e[0].children,s=t[n],o=t[n+1],a=[];for(let l=s;lr.name),this.factory=n(this.names,this.children)}value(t){return this.factory(t)}}class _gt extends FP{constructor(t){super(t,l4)}}class wgt extends li{value(t){const[{values:n},r]=this.children;return r.at(f6(n,t))}}let xgt=class extends li{setDictionary(t){return this.dictionary=t,this.cache=t.cache(),this}value(t){return this.cache[this.key(t)]}key(t){return this.values[t]}};class BP extends li{constructor({data:t,...n}){super(n),this.data=t}view(t){const{values:n,data:r}=this,i=t<<4;let s=i+4,o=n;const a=Cr(o,i);return a>12&&(s=Cr(o,i+12),o=r[Cr(o,i+8)]),o.subarray(s,s+a)}}class Sgt extends BP{value(t){return this.view(t)}}class Agt extends BP{value(t){return TS(this.view(t))}}function $7(e){let t=[];return{add(n){return t.push(n),this},clear:()=>t=[],done:()=>new Egt(t,e)}}class Egt{constructor(t,n=t[0]?.type){this.type=n,this.length=t.reduce((s,o)=>s+o.length,0),this.nullCount=t.reduce((s,o)=>s+o.nullCount,0),this.data=t;const r=t.length,i=new Int32Array(r+1);if(r===1){const[s]=t;i[1]=s.length,this.at=o=>s.at(o)}else for(let s=0,o=0;s0?Array:r[0].constructor.ArrayType??r[0].values.constructor,a=new o(t);return i?kgt(a,r):Mgt(a,r)}cache(){return this._cache??(this._cache=this.toArray())}}function*Tgt(e){for(let t=0;to.name);this.schema=t,this.names=i,this.children=n,this.factory=r?l4:IP;const s=[];this.getFactory=o=>s[o]??(s[o]=this.factory(i,n.map(a=>a.data[o])))}get[Symbol.toStringTag](){return"Table"}get numCols(){return this.names.length}get numRows(){return this.children[0]?.length??0}getChildAt(t){return this.children[t]}getChild(t){const n=this.names.findIndex(r=>r===t);return n>-1?this.children[n]:void 0}selectAt(t,n=[]){const{children:r,factory:i,schema:s}=this,{fields:o}=s;return new PP({...s,fields:t.map((a,l)=>Rgt(o[a],n[l]))},t.map(a=>r[a]),i===l4)}select(t,n){const r=this.names,i=t.map(s=>r.indexOf(s));return this.selectAt(i,n)}toColumns(){const{children:t,names:n}=this,r={};return n.forEach((i,s)=>r[i]=t[s]?.toArray()??[]),r}toArray(){const{children:t,getFactory:n,numRows:r}=this,i=t[0]?.data??[],s=Array(r);for(let o=0,a=-1;o=i)return null;const[{offsets:s}]=n,o=f6(s,t)-1;return r(o)(t-s[o])}get(t){return this.at(t)}};function Rgt(e,t){return t!=null&&t!==e.name?{...e,name:t}:e}function Cgt(e,t={}){const{typeId:n,bitWidth:r,mode:i,precision:s,unit:o}=e,{useBigInt:a,useDate:l,useDecimalInt:c,useMap:u,useProxy:f}=t;switch(n){case Nt.Null:return H0t;case Nt.Bool:return X0t;case Nt.Int:case Nt.Time:case Nt.Duration:return a||r<64?xy:im;case Nt.Float:return s?xy:G0t;case Nt.Date:return O7(o===Qw.DAY?Q0t:tgt,l&&N7);case Nt.Timestamp:return O7(o===Ra.SECOND?egt:o===Ra.MILLISECOND?ngt:o===Ra.MICROSECOND?rgt:igt,l&&N7);case Nt.Decimal:return r===32?c?xy:K0t:c?Z0t:J0t;case Nt.Interval:return o===U0.DAY_TIME?sgt:o===U0.YEAR_MONTH?xy:ogt;case Nt.FixedSizeBinary:return ggt;case Nt.Utf8:return cgt;case Nt.LargeUtf8:return ugt;case Nt.Binary:return agt;case Nt.LargeBinary:return lgt;case Nt.BinaryView:return Sgt;case Nt.Utf8View:return Agt;case Nt.List:return fgt;case Nt.LargeList:return hgt;case Nt.Map:return u?vgt:ygt;case Nt.ListView:return dgt;case Nt.LargeListView:return pgt;case Nt.FixedSizeList:return mgt;case Nt.Struct:return f?_gt:FP;case Nt.RunEndEncoded:return wgt;case Nt.Dictionary:return xgt;case Nt.Union:return i?bgt:DP}throw new Error(d6(n))}function O7(e,t){return t?class extends t{constructor(r){super(new e(r))}}:e}function Ngt(e,t){return{offset:ya(e,t),metadataLength:Cr(e,t+8),bodyLength:ya(e,t+16)}}function L7(e,t){return zf(e,t,24,Ngt)}function UP(e,t,n){const r=Pu(e,t);if(r(10,fd,0))throw new Error("Record batch compression not implemented");const i=n({length:ya(s,o),nullCount:ya(s,o+8)})),regions:zf(e,r(8,fd),16+i,(s,o)=>({offset:ya(s,o+i),length:ya(s,o+i+8)})),variadic:zf(e,r(12,fd),8,ya)}}function $gt(e,t,n){const r=Pu(e,t);return{id:r(4,ya,0),data:r(6,(i,s)=>UP(i,s,n)),isDelta:r(8,_v,!1)}}function zP(e,t,n,r){pl(n,Nt,d6);const i=Pu(e,t);switch(n){case Nt.Binary:return v0t();case Nt.Utf8:return b0t();case Nt.LargeBinary:return N0t();case Nt.LargeUtf8:return $0t();case Nt.List:return E0t(r[0]);case Nt.ListView:return D0t(r[0]);case Nt.LargeList:return O0t(r[0]);case Nt.LargeListView:return F0t(r[0]);case Nt.Struct:return T0t(r);case Nt.RunEndEncoded:return L0t(r[0],r[1]);case Nt.Int:return TP(i(4,Cr,0),i(6,_v,!1));case Nt.Float:return y0t(i(4,da,vP.HALF));case Nt.Decimal:return _0t(i(4,Cr,0),i(6,Cr,0),i(8,Cr,128));case Nt.Date:return w0t(i(4,da,Qw.MILLISECOND));case Nt.Time:return x0t(i(4,da,Ra.MILLISECOND),i(6,Cr,32));case Nt.Timestamp:return S0t(i(4,da,Ra.SECOND),i(6,tx));case Nt.Interval:return A0t(i(4,da,U0.YEAR_MONTH));case Nt.Duration:return C0t(i(4,da,Ra.MILLISECOND));case Nt.FixedSizeBinary:return M0t(i(4,Cr,0));case Nt.FixedSizeList:return I0t(r[0],i(4,Cr,0));case Nt.Map:return R0t(i(4,_v,!1),r[0]);case Nt.Union:return k0t(i(4,da,u6.Sparse),r,zf(e,i(6,fd),4,Cr))}return{typeId:n}}function m6(e,t){const n=zf(e,t,4,(r,i)=>{const s=Pu(r,i);return[s(4,tx),s(6,tx)]});return n.length?new Map(n):null}function qP(e,t,n){const r=Pu(e,t);return{version:n,endianness:r(4,da,0),fields:r(6,Ogt,[]),metadata:r(8,m6)}}function Ogt(e,t){return zf(e,t,4,jP)}function jP(e,t){const n=Pu(e,t),r=n(8,g6,Nt.NONE),i=n(10,fd,0),s=n(12,Dgt),o=n(14,(l,c)=>Lgt(l,c));let a=zP(e,i,r,o);return s&&(s.dictionary=a,a=s),{name:n(4,tx),type:a,nullable:n(6,_v,!1),metadata:n(16,m6)}}function Lgt(e,t){const n=zf(e,t,4,jP);return n.length?n:null}function Dgt(e,t){if(!t)return null;const n=Pu(e,t);return m0t(null,n(6,Fgt,kP()),n(8,_v,!1),n(4,ya,0))}function Fgt(e,t){return zP(e,t,Nt.Int)}const Bgt=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,Pgt=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`,Ugt=e=>`Unsupported message type: ${e} (${xP(Mf,e)})`;function c4(e,t){let n=Cr(e,t)||0;if(t+=bv,n===-1&&(n=Cr(e,t)||0,t+=bv),n===0)return null;const r=e.subarray(t,t+=n);if(r.byteLength0){const f=e.subarray(t,t+=l);if(f.byteLengthqP(a,l,i)),dictionaries:s.map(({offset:a})=>c4(e,a).content),records:o.map(({offset:a})=>c4(e,a).content),metadata:r(12,m6)}}function Wgt(e,t){return Ygt(zgt(e),t)}function Ygt(e,t={}){const{schema:n={fields:[]},dictionaries:r,records:i}=e,{version:s,fields:o}=n,a=new Map,l=Ggt(t,s,a),c=new Map;Hgt(n,h=>{const d=h.type;d.typeId===Nt.Dictionary&&c.set(d.id,d.dictionary)});const u=new Map;for(const h of r){const{id:d,data:g,isDelta:y,body:v}=h,b=c.get(d),_=u4(b,l({...g,body:v}));if(u.has(d)){const x=u.get(d);y||x.clear(),x.add(_)}else{if(y)throw new Error("Delta update can not be first dictionary batch.");u.set(d,$7(b).add(_))}}u.forEach((h,d)=>a.set(d,h.done()));const f=o.map(h=>$7(h.type));for(const h of i){const d=l(h);o.forEach((g,y)=>f[y].add(u4(g.type,d)))}return new Igt(n,f.map(h=>h.done()),t.useProxy)}function Hgt(e,t){e.fields.forEach(function n(r){t(r),r.type.dictionary?.children?.forEach(n),r.type.children?.forEach(n)})}function Ggt(e,t,n){const r={version:t,options:e,dictionary:i=>n.get(i)};return i=>{const{length:s,nodes:o,regions:a,variadic:l,body:c}=i;let u=-1,f=-1,h=-1;return{...r,length:s,node:()=>o[++u],buffer:d=>{const{length:g,offset:y}=a[++f];return d?new d(c.buffer,c.byteOffset+y,g/d.BYTES_PER_ELEMENT):c.subarray(y,y+g)},variadic:()=>l[++h],visit(d){return d.map(g=>u4(g.type,this))}}}}function u4(e,t){const{typeId:n}=e,{length:r,options:i,node:s,buffer:o,variadic:a,version:l}=t,c=Cgt(e,i);if(n===Nt.Null)return new c({length:r,nullCount:r,type:e});const u={...s(),type:e};switch(n){case Nt.Bool:case Nt.Int:case Nt.Time:case Nt.Duration:case Nt.Float:case Nt.Decimal:case Nt.Date:case Nt.Timestamp:case Nt.Interval:case Nt.FixedSizeBinary:return new c({...u,validity:o(),values:o(e.values)});case Nt.Utf8:case Nt.LargeUtf8:case Nt.Binary:case Nt.LargeBinary:return new c({...u,validity:o(),offsets:o(e.offsets),values:o()});case Nt.BinaryView:case Nt.Utf8View:return new c({...u,validity:o(),values:o(),data:Array.from({length:a()},()=>o())});case Nt.List:case Nt.LargeList:case Nt.Map:return new c({...u,validity:o(),offsets:o(e.offsets),children:t.visit(e.children)});case Nt.ListView:case Nt.LargeListView:return new c({...u,validity:o(),offsets:o(e.offsets),sizes:o(e.offsets),children:t.visit(e.children)});case Nt.FixedSizeList:case Nt.Struct:return new c({...u,validity:o(),children:t.visit(e.children)});case Nt.RunEndEncoded:return new c({...u,children:t.visit(e.children)});case Nt.Dictionary:{const{id:f,indices:h}=e;return new c({...u,validity:o(),values:o(h.values)}).setDictionary(t.dictionary(f))}case Nt.Union:return lthis.enqueue(t,n,r))}}const y6="COLUMN_REF",v6="COLUMN_PARAM",Kgt="TABLE_REF",Jgt="LITERAL",Zgt="INTERVAL",Qgt="LIST",WP="UNNEST",YP="ORDER_BY",HP="CAST",GP="CASE",XP="WHEN",tmt="COLLATE",KP="UNARY",JP="UNARY_POSTFIX",ZP="BINARY",QP="BETWEEN",tU="NOT_BETWEEN",eU="LOGICAL_OPERATOR",nU="IN",rU="FUNCTION",IS="AGGREGATE",b6="WINDOW",iU="WINDOW_FUNCTION",sU="WINDOW_DEF",oU="WINDOW_FRAME",aU="WINDOW_EXTENT_EXPR",emt="EXPRESSION",_6="FRAGMENT",lU="VERBATIM",w6="PARAM",cU="WITH_CLAUSE",uU="WINDOW_CLAUSE",fU="SELECT_CLAUSE",hU="FROM_CLAUSE",nmt="SAMPLE_CLAUSE",dU="SELECT_QUERY",pU="DESCRIBE_QUERY",gU="SET_OPERATION",rmt="SCALAR_SUBQUERY";function pc(e){return e instanceof Va}class Va{type;constructor(t){this.type=t}clone(){const t=new this.constructor;for(const n in this)t[n]=this[n];return t}}class Fr extends Va{}let x6=class extends Fr{value;constructor(t){super(Jgt),this.value=t}toString(){return mU(this.value)}};function mU(e){switch(typeof e){case"number":return Number.isFinite(e)?`${e}`:"NULL";case"string":return`'${e.replaceAll("'","''")}'`;case"boolean":return e?"TRUE":"FALSE";default:if(e==null)return"NULL";if(e instanceof Date){const t=+e;if(Number.isNaN(t))return"NULL";const n=e.getUTCFullYear(),r=e.getUTCMonth(),i=e.getUTCDate();return t===Date.UTC(n,r,i)?`DATE '${n}-${r+1}-${i}'`:`epoch_ms(${t})`}else return e instanceof RegExp?`'${e.source}'`:`${e}`}}let RS=class extends Fr{param;constructor(t){super(w6),this.param=t}get value(){return this.param.value}toString(){return mU(this.value)}};class imt extends Fr{name;args;constructor(t,n=[]){super(rU),this.name=t,this.args=n}toString(){const{name:t,args:n}=this;return`${t}(${n.join(", ")})`}}function lr(e,...t){return new imt(e,w1(t).map(mn))}function wn(e,...t){return new Jy(e,w1(t).map(mn))}function El(e,...t){return new hd(new amt(e,w1(t).map(mn)))}function Xy(e,t){return e.flat().filter(n=>n!=null).map(n=>t(n))}function Gf(e){return Xy(e,mn)}function w1(e){const t=e.length;let n=t;for(;n>0&&e[n-1]===void 0;--n);return no).join(" ");return`${t}(${s})`}}class S6 extends Va{name;partition;order;framedef;constructor(t,n,r,i){super(sU),this.name=t,this.partition=n,this.order=r,this.framedef=i}over(t){return g_(this,{name:t})}partitionby(...t){return g_(this,{partition:Gf(t)})}orderby(...t){return g_(this,{order:Gf(t)})}frame(t){return g_(this,{framedef:t})}toString(){const{name:t,partition:n,order:r,framedef:i}=this,s=t&&sm(t),o=[s,n?.length&&`PARTITION BY ${n.join(", ")}`,r?.length&&`ORDER BY ${r.join(", ")}`,i].filter(a=>a);return s&&o.length<2?s:`(${o.join(" ")})`}}function g_(e,t){return new S6(t.name??e.name,t.partition??e.partition,t.order??e.order,t.framedef??e.framedef)}function CS(e){return e instanceof NS}class NS extends Fr{table;constructor(t,n){super(t),this.table=n}get column(){return""}toString(){const{column:t,table:n}=this,r=`${n??""}`,i=t==="*"?"*":sm(t);return(r?r+".":"")+i}}class vU extends NS{name;constructor(t,n){super(y6,n),this.name=t}get column(){return this.name}}function lmt(e){return e instanceof bU}class bU extends NS{param;constructor(t,n){super(v6,n),this.param=t}get column(){return`${this.param.value}`}}function Xf(e){return typeof e=="string"}function f4(e){return Array.isArray(e)}function x1(e){if(e){const t=e;return typeof t?.addEventListener=="function"&&t.dynamic!==!1&&"value"in t}return!1}function Tt(e,t){const n=xU(t);return x1(e)?new bU(new RS(e),n):new vU(e,n)}class _U extends Fr{value;hint;constructor(t,n){super(lU),this.value=t,this.hint=n}toString(){return this.value}}function Jt(e){return new x6(e)}function cmt(e,t){return new _U(e,t)}function nx(e){return e instanceof wU}class wU extends Fr{table;constructor(t){super(Kgt),this.table=[t].flat()}get name(){return this.table[this.table.length-1]}toString(){return this.table.map(t=>sm(t)).join(".")}}function A6(...e){const t=Xy(e,String);return t?.length?new wU(t):void 0}function mn(e){return Xf(e)?fmt(e):S1(e)}function Ky(e){return Xf(e)?cmt(e):S1(e)}function S1(e){return e instanceof Fr?e:x1(e)?new RS(e):Jt(e)}function xU(e){return SU(e)}function umt(e){return SU(e)}function SU(e){return Xf(e)?hmt(e):f4(e)?A6(e):e}function fmt(e){const t=yU(e);return Tt(t.pop(),A6(t))}function hmt(e){return A6(yU(e))}function dmt(){return new S6}class Jy extends Fr{name;args;isDistinct;filter;order;constructor(t,n,r=!1,i=null,s=[]){super(IS),this.name=t,this.args=n,this.isDistinct=r,this.filter=i,this.order=Gf([s])}distinct(t=!0){return new Jy(this.name,this.args,t,this.filter,this.order)}where(t){return Xf(t)&&(t=Ky(t)),new Jy(this.name,this.args,this.isDistinct,t,this.order)}argOrder(t){return new Jy(this.name,this.args,this.isDistinct,this.filter,t)}window(){return new hd(this)}partitionby(...t){return this.window().partitionby(...t)}orderby(...t){return this.window().orderby(...t)}frame(t){return this.window().frame(t)}toString(){const{name:t,args:n,isDistinct:r,filter:i,order:s}=this,o=[r?"DISTINCT":"",n?.length?n.join(", "):t.toLowerCase()==="count"?"*":"",s.length?`ORDER BY ${s.join(", ")}`:""].filter(l=>l).join(" "),a=i?` FILTER (WHERE ${i})`:"";return`${t}(${o})${a}`}}const pmt=["any_value","approx_count_distinct","approx_quantile","arbitrary","arg_max","arg_max_null","arg_min","arg_min_null","array_agg","avg","bit_and","bit_or","bit_xor","bitstring_agg","bool_and","bool_or","corr","count","count_star","covar_pop","covar_samp","entropy","favg","first","fsum","geomean","kurtosis_pop","kurtosis","last","mad","max","max_by","median","min","min_by","mode","product","quantile","quantile_cont","quantile_disc","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_sxx","regr_sxy","regr_syy","regr_slope","reservoir_quantile","skewness","stddev","stddev_pop","stddev_samp","string_agg","sum","variance","var_pop","var_samp"];class AU extends Fr{expr;extent;constructor(t,n,r){super(t),this.expr=n,this.extent=r}toSQL(t){const{extent:n,expr:r}=this;return n?`(${r} ${t} ${n[0]} AND ${n[1]})`:""}}class EU extends AU{constructor(t,n){super(QP,t,n)}toString(){return super.toSQL("BETWEEN")}}class gmt extends AU{constructor(t,n){super(tU,t,n)}toString(){return super.toSQL("NOT BETWEEN")}}class mmt extends Fr{op;left;right;constructor(t,n,r){super(ZP),this.op=t,this.left=n,this.right=r}toString(){return`(${this.left} ${this.op} ${this.right})`}}class wv extends Fr{expr;_when;_else;constructor(t=void 0,n=[],r=void 0){super(GP),this.expr=t,this._when=n,this._else=r}when(t,n){return new wv(this.expr,this._when.concat(new TU(mn(t),mn(n))),this._else)}else(t){return new wv(this.expr,this._when,mn(t))}toString(){return"CASE "+(this.expr?`${this.expr} `:"")+this._when.join(" ")+(this._else?` ELSE ${this._else}`:"")+" END"}}class TU extends Va{when;then;constructor(t,n){super(XP),this.when=t,this.then=n}toString(){return`WHEN ${this.when} THEN ${this.then}`}}class ymt extends Fr{expr;cast;constructor(t,n){super(HP),this.expr=t,this.cast=n}toString(){return`(${this.expr})::${this.cast}`}}class vmt extends Fr{spans;constructor(t){super(_6),this.spans=t}toString(){return this.spans.join("")}}class bmt extends Va{size;perc;method;seed;constructor(t,n=!1,r,i){super(nmt),this.size=t,this.perc=n,this.method=r,this.seed=i}toString(){const{size:t,perc:n,method:r,seed:i}=this,s=r?`${r} `:"",o=i!=null?` REPEATABLE (${i})`:"";return`${s}(${t}${n?"%":" ROWS"})${o}`}}class _mt extends Va{expr;alias;constructor(t,n){super(fU),this.expr=t,this.alias=n}toString(){const{expr:t,alias:n}=this;return!n||wmt(t,n)?`${t}`:`${t} AS ${sm(n)}`}}function wmt(e,t){return e instanceof NS&&e.table==null&&e.column===t}class h4 extends Va{name;query;materialized;constructor(t,n,r=null){super(cU),this.name=t,this.query=n,this.materialized=r}toString(){const t=this.materialized,n=t===!0?" MATERIALIZED":t===!1?" NOT MATERIALIZED":"";return`"${this.name}" AS${n} (${this.query})`}}function E6(e){return e instanceof Pt}function $S(e){return e instanceof yg}function xmt(e){return e instanceof OS}class Pt extends Fr{static with(...t){return new Smt(...t)}static select(...t){return new yg().select(...t)}static from(...t){return new yg().from(...t)}static union(...t){return new Ul("UNION",t.flat())}static unionByName(...t){return new Ul("UNION BY NAME",t.flat())}static unionAll(...t){return new Ul("UNION ALL",t.flat())}static unionAllByName(...t){return new Ul("UNION ALL BY NAME",t.flat())}static intersect(...t){return new Ul("INTERSECT",t.flat())}static intersectAll(...t){return new Ul("INTERSECT ALL",t.flat())}static except(...t){return new Ul("EXCEPT",t.flat())}static exceptAll(...t){return new Ul("EXCEPT ALL",t.flat())}static describe(t){return new OS(t)}_with=[];_orderby=[];_limitPerc=!1;_limit;_offset;cteFor=null;constructor(t){super(t)}get subqueries(){return[]}clone(){return this}setCteFor(t){this.cteFor=t}with(...t){const n=[],r=(i,s)=>{const o=s.clone();o.setCteFor(this),n.push(new h4(i,o))};return t.flat().forEach(i=>{if(i instanceof h4)n.push(i);else if(i!=null)for(const s in i)r(s,i[s])}),this._with=this._with.concat(n),this}orderby(...t){return this._orderby=this._orderby.concat(Gf(t)),this}limitPercent(t){return this._limitPerc=!0,this._limit=mn(t),this}limit(t){return this._limitPerc=!1,this._limit=mn(t),this}offset(t){return this._offset=mn(t),this}}class yg extends Pt{_select=[];_from=[];_where=[];_sample;_groupby=[];_having=[];_window=[];_qualify=[];_distinct=!1;constructor(){super(dU)}get subqueries(){const t=this.cteFor||this,r=(t instanceof yg?t._with:[]).reduce((s,o)=>(s[o.name]=o.query,s),{}),i=[];return this._from.forEach(({expr:s})=>{if(E6(s))i.push(s);else if(nx(s)){const o=r[s.name];o&&i.push(o)}}),i}clone(){return Object.assign(new yg,this)}select(...t){const n=new Set,r=[],i=(s,o)=>{const a=WE(o);n.add(a),s&&r.push(new _mt(mn(s),a))};return t.flat().forEach(s=>{if(s!=null)if(Xf(s))i(s,s);else if(CS(s))i(s,s.column);else if(f4(s))i(s[1],s[0]);else if(pc(s))i(s,`${s}`);else for(const o in s)i(s[o],o)}),this._select=this._select.filter(s=>!n.has(s.alias)).concat(r),this}setSelect(...t){return this._select=[],this.select(...t)}distinct(t=!0){return this._distinct=!!t,this}from(...t){const n=[],r=(i,s)=>{n.push(new D7(umt(i),WE(s)))};return t.flat().forEach(i=>{if(i!=null)if(i instanceof D7)n.push(i);else if(Xf(i))r(i,i);else if(nx(i))r(i,i.name);else if(pc(i))r(i);else if(f4(i))r(i[1],i[0]);else for(const s in i)r(i[s],s)}),this._from=this._from.concat(n),this}setFrom(...t){return this._from=[],this.from(...t)}sample(t,n,r){let i;if(typeof t=="number"){const s=t>0&&t<1,o=s?t*100:Math.floor(t);i=new bmt(o,s,n,r)}else i=t;return this._sample=i??void 0,this}where(...t){return this._where=this._where.concat(Xy(t,Ky)),this}setWhere(...t){return this._where=[],this.where(...t)}groupby(...t){return this._groupby=this._groupby.concat(Gf(t)),this}setGroupby(...t){return this._groupby=[],this.groupby(...t)}having(...t){return this._having=this._having.concat(Xy(t,Ky)),this}window(...t){const n=[];return t.flat().forEach(r=>{if(r!=null)for(const i in r)n.push(new omt(WE(i),r[i]))}),this._window=this._window.concat(n),this}qualify(...t){return this._qualify=this._qualify.concat(Xy(t,Ky)),this}toString(){const{_with:t,_select:n,_distinct:r,_from:i,_sample:s,_where:o,_groupby:a,_having:l,_window:c,_qualify:u,_orderby:f,_limitPerc:h,_limit:d,_offset:g}=this,y=[];if(t.length&&y.push(`WITH ${t.join(", ")}`),y.push(`SELECT${r?" DISTINCT":""} ${n.join(", ")}`),i.length&&y.push(`FROM ${i.join(", ")}`),o.length){const v=o.map(String).filter(b=>b).join(" AND ");v&&y.push(`WHERE ${v}`)}if(s&&y.push(`USING SAMPLE ${s}`),a.length&&y.push(`GROUP BY ${a.join(", ")}`),l.length){const v=l.map(String).filter(b=>b).join(" AND ");v&&y.push(`HAVING ${v}`)}if(c.length&&y.push(`WINDOW ${c.join(", ")}`),u.length){const v=u.map(String).filter(b=>b).join(" AND ");v&&y.push(`QUALIFY ${v}`)}return f.length&&y.push(`ORDER BY ${f.join(", ")}`),d&&y.push(`LIMIT ${d}${h?"%":""}`),g&&y.push(`OFFSET ${g}`),y.join(" ")}}class OS extends Va{query;constructor(t){super(pU),this.query=t}clone(){return new OS(this.query.clone())}toString(){return`DESCRIBE ${this.query}`}}class Ul extends Pt{op;queries;constructor(t,n){super(gU),this.op=t,this.queries=n}setCteFor(t){super.setCteFor(t);const{queries:n,cteFor:r}=this;r&&n.forEach(i=>i.setCteFor(r))}get subqueries(){return this.queries}clone(){const{op:t,queries:n,...r}=this;return Object.assign(new Ul(t,n),r)}toString(){const{op:t,queries:n,_with:r,_orderby:i,_limitPerc:s,_limit:o,_offset:a}=this,l=[];return r.length&&l.push(`WITH ${r.join(", ")}`),l.push(n.join(` ${t} `)),i.length&&l.push(`ORDER BY ${i.join(", ")}`),o&&l.push(`LIMIT ${o}${s?"%":""}`),a&&l.push(`OFFSET ${a}`),l.join(" ")}}class Smt{_with;constructor(...t){this._with=t}select(...t){return Pt.select(...t).with(...this._with)}from(...t){return Pt.from(...t).with(...this._with)}union(...t){return Pt.union(...t).with(...this._with)}unionByName(...t){return Pt.unionByName(...t).with(...this._with)}unionAll(...t){return Pt.unionAll(...t).with(...this._with)}unionAllByName(...t){return Pt.unionAllByName(...t).with(...this._with)}intersect(...t){return Pt.intersect(...t).with(...this._with)}intersectAll(...t){return Pt.intersectAll(...t).with(...this._with)}except(...t){return Pt.except(...t).with(...this._with)}exceptAll(...t){return Pt.exceptAll(...t).with(...this._with)}}class D7 extends Va{expr;alias;sample;constructor(t,n,r){super(hU),this.expr=t,this.alias=n,this.sample=r}toString(){const{expr:t,alias:n,sample:r}=this,i=E6(t)?`(${t})`:`${t}`;return`${n&&!(nx(t)&&t.table.join(".")===n)?`${i} AS ${sm(n)}`:`${i}`}${r?` TABLESAMPLE ${r}`:""}`}}class Amt extends Fr{expr;values;constructor(t,n){super(nU),this.expr=t,this.values=n}toString(){return`(${this.expr} IN (${this.values.join(", ")}))`}}class Emt extends Fr{name;steps;constructor(t,n=1){super(Zgt),this.name=t,this.steps=n}toString(){return`INTERVAL ${this.steps} ${this.name}`}}class Tmt extends Fr{values;constructor(t){super(Qgt),this.values=t}toString(){return`[${this.values.join(", ")}]`}}class kU extends Fr{op;clauses;constructor(t,n){super(eU),this.op=t,this.clauses=n}toString(){const t=this.clauses;return t.length===0?"":t.length===1?`${t[0]}`:`(${t.join(` ${this.op} `)})`}}class kmt extends kU{constructor(t){super("AND",t)}}class Mmt extends kU{constructor(t){super("OR",t)}}class MU extends Fr{expr;desc;nullsFirst;constructor(t,n,r){super(YP),this.expr=t,this.desc=n,this.nullsFirst=r}toString(){const{expr:t,desc:n,nullsFirst:r}=this;return`${t}${n?" DESC":n===!1?" ASC":""}${r?" NULLS FIRST":r===!1?" NULLS LAST":""}`}}class IU extends Fr{op;expr;constructor(t,n,r){super(t),this.op=n,this.expr=r}}class Imt extends IU{constructor(t,n){super(KP,t,n)}toString(){return`(${this.op} ${this.expr})`}}class Rmt extends IU{constructor(t,n){super(JP,t,n)}toString(){return`(${this.expr} ${this.op})`}}class Cmt extends Fr{expr;recursive;maxDepth;constructor(t,n=!1,r=0){super(WP),this.expr=t,this.recursive=n,this.maxDepth=r}toString(){const t=this.recursive?", recursive := true":"",n=this.maxDepth>0?`, max_depth := ${this.maxDepth}`:"";return`UNNEST(${this.expr}${t}${n})`}}const Nmt="ROWS",$mt="RANGE",Omt="GROUPS",Lmt="PRECEDING",Dmt="FOLLOWING",RU="CURRENT ROW",CU="UNBOUNDED";let LS=class extends Va{frameType;extent;exclude;constructor(t,n,r){super(oU),this.frameType=t,this.extent=x1(n)?new RS(n):n,this.exclude=r}toString(){const{frameType:t,exclude:n,extent:r}=this,[i,s]=pc(r)?r.value:r,o=F7(i,Lmt),a=F7(s,Dmt);return`${t} BETWEEN ${o} AND ${a}${n?` ${n}`:""}`}};function F7(e,t){return e instanceof Fmt?e:e!=null&&typeof e!="number"?`${e} ${t}`:e===0?RU:e&&Number.isFinite(e)?`${Math.abs(e)} ${t}`:`${CU} ${t}`}class Fmt extends Va{scope;expr;constructor(t,n=null){super(aU),this.scope=t,this.expr=n}toString(){const{scope:t,expr:n}=this;return t===RU?t:`${n??CU} ${t}`}}function rx(e,t){return wn("arg_max",e,t)}function ix(e,t){return wn("arg_min",e,t)}function Bmt(e){return wn("array_agg",e)}function DS(e){return wn("avg",e)}function Pmt(e,t){return wn("corr",e,t)}function or(e){return wn("count",e)}function Umt(e,t){return wn("covar_samp",e,t)}function zmt(e,t){return wn("covar_pop",e,t)}function qmt(e){return wn("entropy",e)}function jmt(e){return wn("first",e)}function Vmt(e){return wn("geomean",e)}function Wmt(e){return wn("kurtosis",e)}function Ymt(e){return wn("mad",e)}function Fa(e){return wn("max",e)}function FS(e){return wn("median",e)}function gl(e){return wn("min",e)}function Hmt(e){return wn("mode",e)}function Gmt(e){return wn("last",e)}function Xmt(e){return wn("product",e)}function d4(e,t){return wn("quantile",e,t)}function NU(e,t){return wn("regr_avgx",e,t)}function Kmt(e,t){return wn("regr_avgy",e,t)}function $U(e,t){return wn("regr_count",e,t)}function Jmt(e,t){return wn("regr_intercept",e,t)}function Zmt(e,t){return wn("regr_sxx",e,t)}function Qmt(e,t){return wn("regr_syy",e,t)}function tyt(e,t){return wn("regr_slope",e,t)}function eyt(e){return wn("skewness",e)}function OU(e){return wn("stddev",e)}function nyt(e){return wn("stddev_pop",e)}function ryt(e){return wn("string_agg",e)}function Er(e){return wn("sum",e)}function iyt(e){return wn("var_samp",e)}function syt(e){return wn("var_pop",e)}function no(e,t,n){return e?new wv(void 0,[new TU(mn(e),mn(t))],mn(n)):new wv}function Jr(e,t){return new ymt(mn(e),t)}function wi(e){return Jr(e,"INTEGER")}function oyt(e){return Jr(e,"FLOAT")}function ks(e){return Jr(e,"DOUBLE")}function ayt(e,t,n=null){return new h4(e,t,n)}function Tl(e,t){return new Emt(e,t)}function lyt(e){return Tl("YEARS",e)}function cyt(e){return Tl("MONTHS",e)}function uyt(e){return Tl("DAYS",e)}function fyt(e){return Tl("HOURS",e)}function hyt(e){return Tl("MINUTES",e)}function dyt(e){return Tl("SECONDS",e)}function pyt(e){return Tl("MILLISECONDS",e)}function gyt(e){return Tl("MICROSECONDS",e)}function myt(e){return lr("epoch_ms",e)}function yyt(e,t,n=1){return lr("time_bucket",Tl(t,n),e)}function vyt(e){return lr("make_date",2012,lr("month",e),1)}function byt(e){const t=mn(e);return lr("make_date",2012,lr("month",t),lr("day",t))}function _yt(e){return lr("make_date",2012,1,lr("day",e))}function wyt(e){return new Tmt(w1(e).map(S1))}function sx(e){return Array.isArray(e)?wyt(e):mn(e)}function xyt(e,t){return lr("list_has_all",sx(e),sx(t))}function Syt(e,t){return lr("list_has_any",sx(e),sx(t))}function qf(e){return lr("isfinite",e)}function Ayt(...e){return lr("greatest",...e)}function T6(e){return lr("exp",e)}function LU(e){return lr("log",e)}function z0(e){return lr("ln",e)}function Ru(e){return lr("sign",e)}function As(e){return lr("abs",e)}function xv(e){return lr("sqrt",e)}function Eyt(e){return lr("ceil",e)}function zo(e){return lr("floor",e)}function Sv(e,t){return lr("round",e,t)}function Tyt(e,t){return new Imt(e,mn(t))}function DU(e,t){return new Rmt(e,mn(t))}function js(e,t,n){return new mmt(e,mn(t),mn(n))}function Si(...e){return new kmt(Gf(e))}function ss(...e){return new Mmt(Gf(e))}function vg(e){return Tyt("NOT",e)}function ll(e){return DU("IS NULL",e)}function gc(e){return DU("IS NOT NULL",e)}function YE(e,t){return js("&",e,t)}function tr(e,t){return js("+",e,t)}function Ue(e,t){return js("-",e,t)}function ze(e,t){return js("*",e,t)}function dr(e,t){return js("/",e,t)}function kyt(e,t){return js("%",e,t)}function os(e,t){return js("**",e,t)}function No(e,t){return js("=",e,t)}function A1(e,t){return js("<>",e,t)}function hi(e,t){return js("<",e,t)}function _a(e,t){return js(">",e,t)}function ac(e,t){return js("<=",e,t)}function Myt(e,t){return js(">=",e,t)}function Iyt(e,t){return js("IS DISTINCT FROM",e,t)}function k6(e,t){return js("IS NOT DISTINCT FROM",e,t)}function $s(e,t){return new EU(mn(e),t?.map(mn))}function Ryt(e,t){return new gmt(mn(e),t?.map(mn))}function Wd(e,t){return new Amt(mn(e),t.map(mn))}function Cyt(e,t){return new MU(mn(e),!1,t)}function om(e,t){return new MU(mn(e),!0,t)}function FU(e){return lr("st_asgeojson",e)}function Nyt(e){return lr("st_x",e)}function $yt(e){return lr("st_y",e)}function M6(e){return lr("st_centroid",e)}function Oyt(e){return Nyt(M6(e))}function Lyt(e){return $yt(M6(e))}function te(e,...t){return new vmt(Dyt(e,t))}function Dyt(e,t){const n=[e[0]],r=t.length;for(let i=0,s=0;ii).map(i=>Xf(i)?new _U(i):i)}function E1(e,t,...n){return lr(e,t,...w1(n).map(S1))}function Fyt(e,t,n){return E1("regexp_matches",e,t,n)}function Byt(e,t){return E1("contains",e,t)}function Pyt(e,t){return E1("starts_with",e,t)}function Uyt(e,t){return E1("ends_with",e,t)}function zyt(e){return E1("lower",e)}function qyt(e,t=!1,n=0){return new Cmt(mn(e),t,n)}function BU(...e){return lr("coalesce",...e)}function PU(){return El("row_number")}function jyt(){return El("rank")}function Vyt(){return El("dense_rank")}function Wyt(){return El("percent_rank")}function Yyt(){return El("cume_dist")}function Hyt(e){return El("ntile",e)}function Gyt(e,t,n){return El("lag",e,t,n)}function p4(e,t,n){return El("lead",e,t,n)}function Xyt(e){return El("first_value",e)}function Kyt(e){return El("last_value",e)}function Jyt(e,t){return El("nth_value",e,t)}function Zyt(e,t){return new LS(Nmt,e,t)}function Qyt(e,t){return new LS($mt,e,t)}function tvt(e,t){return new LS(Omt,e,t)}const UU={[IS]:["args","order","filter"],[QP]:["expr","extent"],[ZP]:["left","right"],[GP]:["expr","_when","_else"],[HP]:["expr"],[tmt]:["expr"],[v6]:["param","table"],[y6]:["table"],[pU]:["query"],[emt]:["node"],[_6]:["spans"],[hU]:["expr"],[rU]:["args"],[nU]:["expr","values"],[eU]:["clauses"],[tU]:["expr","extent"],[YP]:["expr"],[w6]:["value"],[rmt]:["subquery"],[fU]:["expr"],[dU]:["_with","_select","_from","_where","_sample","_groupby","_having","_window","_qualify","_orderby"],[gU]:["queries","_orderby"],[KP]:["expr"],[JP]:["expr"],[WP]:["expr"],[XP]:["when","then"],[b6]:["func","def"],[uU]:["def"],[sU]:["partition","order","framedef"],[aU]:["expr"],[oU]:["extent"],[iU]:["args"],[cU]:["query"]};function g4(e,t){if(t.has(e))return t.get(e);if(pc(e)){const n=UU[e.type],r=n?.length??0;if(r>0){e=e.clone();for(let i=0;it.endsWith("(")&&evt.test(t.slice(0,-1)))}function bh(e){let t=0;return Yd(e,n=>{switch(n.type){case b6:return-1;case IS:return t|=1,-1;case _6:case lU:{let r=`${n}`.toLowerCase();const i=r.indexOf("(select ");return i>=0&&(r=r.slice(0,i)),r.includes(") over ")?-1:rvt(r)?(t|=2,-1):1}}}),t}function ivt(e){const t=new Set;return Yd(e,n=>{n.type===IS&&t.add(n)}),Array.from(t)}function I6(e){const t={};return Yd(e,n=>{(n.type===y6||n.type===v6)&&(t[`${n}`]=n)}),Object.values(t)}function svt(e){const t=new Set;return Yd(e,n=>{n.type===w6&&t.add(n.param)}),Array.from(t)}function T1(e,t,{replace:n=!1,temp:r=!1,view:i=!1}={}){return"CREATE"+(n?" OR REPLACE ":" ")+(r?"TEMP ":"")+(i?"VIEW":"TABLE")+(n?" ":" IF NOT EXISTS ")+e+" AS "+t}function ovt(e,{strict:t=!1}={}){return"CREATE SCHEMA "+(t?"":"IF NOT EXISTS ")+e}function zU(e){return`INSTALL ${e}; LOAD ${e}`}function avt(e,{columns:t=Object.keys(e?.[0]||{})}={}){let n=[];if(Array.isArray(t)?(n=t,t=n.reduce((i,s)=>(i[s]=s,i),{})):t&&(n=Object.keys(t)),!n.length)throw new Error("Can not create table from empty column set.");const r=[];for(const i of e){const s=n.map(o=>`${S1(i[o])} AS "${t[o]}"`);r.push(`(SELECT ${s.join(", ")})`)}return r.join(" UNION ALL ")}function BS(e,t,n,r={},i={}){const{select:s=["*"],where:o,view:a,temp:l,replace:c,...u}=r,f=dvt({...i,...u}),h=`${e}('${n}'${f?", "+f:""})`,d=o?` WHERE ${o}`:"",g=`SELECT ${s.join(", ")} FROM ${h}${d}`;return T1(t,g,{view:a,temp:l,replace:c})}function lvt(e,t,n){return BS("read_csv",e,t,n,{auto_detect:!0,sample_size:-1})}function cvt(e,t,n){return BS("read_json",e,t,n,{auto_detect:!0,format:"auto"})}function uvt(e,t,n){return BS("read_parquet",e,t,n)}function fvt(e,t,n={}){const{options:r,...i}=n;if(r){const s=Array.isArray(r)?r.join(", "):typeof r=="string"?r:Object.entries(r).map(([o,a])=>`${o}=${a}`).join(", ");Object.assign(i,{open_options:s.toUpperCase()})}return BS("st_read",e,t,i)}function hvt(e,t,n={}){const{select:r=["*"],...i}=n,s=avt(t),o=r.length===1&&r[0]==="*"?s:`SELECT ${r} FROM ${s}`;return T1(e,o,i)}function dvt(e){return Object.entries(e).map(([t,n])=>`${t}=${m4(n)}`).join(", ")}function m4(e){switch(typeof e){case"boolean":return String(e);case"string":return`'${e}'`;case"undefined":case"object":return e==null?"NULL":Array.isArray(e)?"["+e.map(t=>m4(t)).join(", ")+"]":"{"+Object.entries(e).map(([t,n])=>`'${t}': ${m4(n)}`).join(", ")+"}";default:return`${e}`}}function pvt(e,t,n,r,i=!1){const s=i?Ue(n,ks(e)):Ue(ks(e),t),o=n===t?0:r/(n-t);return o?ze(s,ks(o)):s}function gvt(e,t,n,r,i,s){return e.select({index:tr(wi(zo(t)),ze(wi(zo(n)),i)),...r}).groupby("index",s)}function mvt(e,t,n){let{step:r,steps:i=25}=n;const{minstep:s=0,nice:o=!0,base:a}=n;if(o!==!1){const l=t-e,c=a?Math.log(a):Math.LN10;r=r||y4(l,i,s,c);let u=Math.log(r);const f=u>=0?0:~~(-u/c)+1,h=Math.pow(10,-f-1);u=Math.floor(e/r+h)*r,e=et;)o*=10;const a=[5,2];for(let l=0,c=a.length;l=n&&e/i<=t&&(o=i);return o}const qU="year",B7="month",P7="day",m_="hour",y_="minute",v_="second",yvt="millisecond",vvt="microsecond",Sy=1e3,Ay=Sy*60,Ey=Ay*60,PS=Ey*24,bvt=PS*7,U7=PS*30,jU=PS*365,ty=[{unit:v_,step:1,dt:Sy},{unit:v_,step:5,dt:Sy*5},{unit:v_,step:15,dt:Sy*15},{unit:v_,step:30,dt:Sy*30},{unit:y_,step:1,dt:Ay},{unit:y_,step:5,dt:Ay*5},{unit:y_,step:15,dt:Ay*15},{unit:y_,step:30,dt:Ay*30},{unit:m_,step:1,dt:Ey},{unit:m_,step:3,dt:Ey*3},{unit:m_,step:6,dt:Ey*6},{unit:m_,step:12,dt:Ey*12},{unit:P7,step:1,dt:PS},{unit:P7,step:7,dt:bvt},{unit:B7,step:1,dt:U7},{unit:B7,step:3,dt:U7*3},{unit:qU,step:1,dt:jU}];function _vt(e,t,n){const r=+t-+e,i=r/n,s=wvt(ty,i,l=>l.dt);let o,a;return s===ty.length?(o=qU,a=y4(r/jU,n)):s?{unit:o,step:a}=ty[i/ty[s-1].dt=1?yvt:vvt,a=a>=1?a:a*1e3),{unit:o,step:a}}function wvt(e,t,n){const r=(a,l)=>Number(a)-Number(l),i=(a,l)=>r(n(a),l);let s=0,o=e.length;if(s>>1;i(e[a],t)<=0?s=a+1:o=a}while(sz0(t),sqlInvert:t=>T6(t)};if(e===10)return{apply:Math.log10,invert:t=>Math.pow(10,t),sqlApply:t=>LU(t),sqlInvert:t=>os(10,t)};{const t=+e;return{apply:n=>Math.log(n)/Math.log(t),invert:n=>Math.pow(t,n),sqlApply:n=>dr(z0(n),z0(t)),sqlInvert:n=>os(t,n)}}}function Avt({constant:e=1}={}){const t=+e;return{apply:n=>Math.sign(n)*Math.log1p(Math.abs(n)),invert:n=>Math.sign(n)*Math.exp(Math.abs(n)-t),sqlApply:n=>(n=mn(n),ze(Ru(n),z0(tr(t,As(n))))),sqlInvert:n=>ze(Ru(n),Ue(T6(As(n)),t))}}function Evt(){return{apply:e=>Math.sign(e)*Math.sqrt(Math.abs(e)),invert:e=>Math.sign(e)*e*e,sqlApply:e=>(e=mn(e),ze(Ru(e),xv(As(e)))),sqlInvert:e=>ze(Ru(e),os(e,2))}}function Tvt({exponent:e=1}={}){const t=+e;return{apply:n=>Math.sign(n)*Math.pow(Math.abs(n),t),invert:n=>Math.sign(n)*Math.pow(Math.abs(n),1/t),sqlApply:n=>(n=mn(n),ze(Ru(n),os(As(n),t))),sqlInvert:n=>ze(Ru(n),os(As(n),dr(1,t)))}}function q7(){return{apply:e=>Number(e),invert:e=>new Date(e),sqlApply:e=>e instanceof Date?Jt(+e):Mvt(e)?Jt(Number(e.value)):myt(e),sqlInvert:Zy}}const kvt={identity:z7,linear:z7,log:Svt,symlog:Avt,sqrt:Evt,pow:Tvt,time:q7,utc:q7};function R6(e){const t=kvt[e.type];if(!t)throw new Error(`Unrecognized scale type: ${e.type}`);return{...e,...t(e)}}function Mvt(e){return e instanceof x6&&e.value instanceof Date}function Ivt(e,t,n={},r=R6({type:"linear"})){const[i,s]=t,{offset:o=0}=n,{apply:a,sqlApply:l,sqlInvert:c}=r,u=mvt(a(i),a(s),n),f=l(e),h=(u.max-u.min)/u.steps;let d=u.min===0?f:Ue(f,u.min);return h!==1&&(d=dr(d,ks(h))),d=zo(o?tr(o,d):d),h!==1&&(d=ze(h,d)),u.min!==0&&(d=tr(u.min,d)),c(d)}function Rvt(e,t,n=void 0,r=[]){const i=n?(a=>ze(a,n)):(a=>a),s=zo(t),o=tr(s,1);return Pt.from(Pt.unionAll(e.clone().select({i:wi(s),w:i(Ue(o,t))}),e.clone().select({i:wi(o),w:i(Ue(t,s))}))).select({index:"i",density:Er("w")},r).groupby("index",r).having(A1("density",0))}function Cvt(e,t,n,r,i,s=[]){const o=r?b=>ze(b,r):Zy,a=(b,_)=>e.clone().select({xp:t,yp:n,i:b,w:_}),l=(b,_)=>tr(b,ze(_,i)),c=wi(zo(t)),u=wi(zo(n)),f=tr(c,1),h=tr(u,1),d=Ue(t,c),g=Ue(f,t),y=Ue(n,u),v=Ue(h,n);return Pt.from(Pt.unionAll(a(l(c,u),o(ze(g,v))),a(l(c,h),o(ze(g,y))),a(l(f,u),o(ze(d,v))),a(l(f,h),o(ze(d,y))))).select({index:"i",density:Er("w")},s).groupby("index",s).having(A1("density",0))}function Nvt(e,t,n,r,i,s,o=[],a=!0){e.select({x:wi(zo(t)),y:wi(zo(n))});const l=o.concat(r),c=Pt.from(e).select(l,{x0:"x",y0:"y",dx:Ue(p4("x").over("sw"),"x"),dy:Ue(p4("y").over("sw"),"y")}).window({sw:dmt().partitionby(l).orderby(Cyt("x"))}).qualify([ss(hi("x0",i),hi(tr("x0","dx"),i)),ss(hi("y0",s),hi(tr("y0","dy"),s)),ss(_a("x0",0),_a(tr("x0","dx"),0)),ss(_a("y0",0),_a(tr("y0","dy"),0))]),u=Pt.select({x:Ayt(Fa(As("dx")),Fa(As("dy")))}).from("pairs"),f=Pt.select({i:wi(te`UNNEST(range((${u})))`)}),h=Pt.unionAll(Pt.select(l,{x:tr("x0","i"),y:tr("y0",wi(Sv(dr(ze("i","dy"),"dx"))))}).from("pairs","indices").where([ac(As("dy"),As("dx")),hi("i",As("dx"))]),Pt.select(l,{x:tr("x0",wi(Sv(dr(ze(ze(Ru("dy"),"i"),"dx"),"dy")))),y:tr("y0",ze(Ru("dy"),"i"))}).from("pairs","indices").where([_a(As("dy"),As("dx")),hi("i",As("dy"))]),Pt.select(l,{x:"x0",y:"y0"}).from("pairs").where(ll("dx"))),d=Pt.from("raster").select(l,"x","y",a?{w:dr(1,or().partitionby(["x"].concat(l)))}:null).where([ac(0,"x"),hi("x",i),ac(0,"y"),hi("y",s)]);return Pt.with({pairs:c,indices:f,raster:h,points:d}).from("points").select(o,{index:tr("x",ze("y",wi(i))),density:a?Er("w"):or()}).groupby("index",o)}function $vt(e,t,n,r,i=[]){const s=wi(zo(t)),o=E6(e),a=o?"input":e,l=o?Pt.with(ayt(String(a),e,!0)):Pt,c=u=>Pt.from(a).select(u).groupby(s,i);return l.union(c([{[n]:gl(n),[r]:ix(r,n)},...i]),c([{[n]:Fa(n),[r]:rx(r,n)},...i]),c([{[n]:ix(n,r),[r]:gl(r)},...i]),c([{[n]:rx(n,r),[r]:Fa(r)},...i])).orderby(i,n)}function VU(e){let t=2166136261;for(let n=0,r=e.length;n>8)),t=j7(t^i&255)}return Ovt(t)>>>0}function j7(e){return e+(e<<1)+(e<<4)+(e<<7)+(e<<8)+(e<<24)}function Ovt(e){return e+=e<<13,e^=e>>>7,e+=e<<3,e^=e>>>17,e+=e<<5,e&4294967295}function Lvt(e,t,n){switch(e.name){case"count":case"count_star":return Dvt(t,e);case"sum":return YU(t,e);case"avg":return Fvt(t,e);case"geomean":return Bvt(t,e);case"arg_max":return Pvt(t,e);case"arg_min":return Uvt(t,e);case"variance":case"var_samp":return b_(t,e,n);case"var_pop":return b_(t,e,n,!1);case"stddev":case"stddev_samp":return xv(b_(t,e,n));case"stddev_pop":return xv(b_(t,e,n,!1));case"covar_samp":return yw(t,e,n);case"covar_pop":return yw(t,e,n,!1);case"corr":return V7(t,e,n);case"regr_count":return am(t,e).expr;case"regr_avgx":return GU(t,e);case"regr_avgy":return XU(t,e);case"regr_syy":return b4(t,0,e,n);case"regr_sxx":return b4(t,1,e,n);case"regr_sxy":return yw(t,e,n,null);case"regr_slope":return KU(t,e,n);case"regr_intercept":return zvt(t,e,n);case"regr_r2":return os(V7(t,e,n),2);case"max":case"min":case"bit_and":case"bit_or":case"bit_xor":case"bool_and":case"bool_or":case"product":{const r=WU(e);return t[r]=e,te`${e.name}("${r}")`}default:return null}}function WU(e){return"pre_"+VU(`${e}`).toString(16)}function ds(e,t,n){const r=n?.filter;r&&(t=t.filter?t.where(Si(r,t.filter)):t.where(r));const i=WU(t);return e[i]=t,i}function C6(e,t){const n=ds(e,or(t.args[0]),t);return{expr:BU(Er(n),0),name:n}}function Dvt(e,t){return BU(YU(e,t),0)}function YU(e,t){return Er(ds(e,t))}function Fvt(e,t){const n=ds(e,t),{expr:r,name:i}=C6(e,t);return dr(Er(ze(n,i)),r)}function Bvt(e,t){const n=t.args[0],r=ds(e,Er(z0(n)),t),{expr:i}=C6(e,t);return T6(dr(Er(r),i))}function Pvt(e,t){const n=ds(e,t),r=ds(e,Fa(t.args[1]),t);return rx(n,r)}function Uvt(e,t){const n=ds(e,t),r=ds(e,gl(t.args[1]),t);return ix(n,r)}function b_(e,t,n,r=!0){const i=t.args[0],{expr:s}=C6(e,t),o=Ue(i,n(i)),a=ds(e,Er(os(o,2)),t),l=ds(e,Er(o),t),c=r?Ue(s,1):s;return dr(Ue(Er(a),dr(os(Er(l),2),s)),c)}function yw(e,t,n,r=!0){const{expr:i}=am(e,t),s=HU(e,t,n),o=Av(e,1,t,n),a=Av(e,0,t,n),l=Ue(s,dr(ze(o,a),i));return r===null?l:r?dr(l,Ue(i,1)):dr(l,i)}function V7(e,t,n){const{expr:r}=am(e,t),i=HU(e,t,n),s=v4(e,1,t,n),o=v4(e,0,t,n),a=Av(e,1,t,n),l=Av(e,0,t,n),c=Ue(s,dr(os(a,2),r)),u=Ue(o,dr(os(l,2),r));return dr(Ue(i,dr(ze(a,l),r)),xv(ze(c,u)))}function am(e,t){const[n,r]=t.args,i=ds(e,$U(n,r),t);return{expr:Er(i),name:i}}function Av(e,t,n,r){const i=n.args,s=i[t],o=i[1-t],a=Er(Ue(s,r(s))).where(gc(o));return Er(ds(e,a,n))}function v4(e,t,n,r){const i=n.args,s=i[t],o=i[1-t],a=Er(os(Ue(s,r(s)),2)).where(gc(o));return Er(ds(e,a,n))}function HU(e,t,n){const[r,i]=t.args,s=Er(ze(Ue(i,n(i)),Ue(r,n(r))));return Er(ds(e,s,t))}function GU(e,t){const[n,r]=t.args,{expr:i,name:s}=am(e,t),o=ds(e,NU(n,r),t);return dr(Er(ze(o,s)),i)}function XU(e,t){const[n,r]=t.args,{expr:i,name:s}=am(e,t),o=ds(e,Kmt(n,r),t);return dr(Er(ze(o,s)),i)}function b4(e,t,n,r){const{expr:i}=am(e,n),s=Av(e,t,n,r),o=v4(e,t,n,r);return Ue(o,dr(os(s,2),i))}function KU(e,t,n){const r=yw(e,t,n,null),i=b4(e,1,t,n);return dr(r,i)}function zvt(e,t,n){const r=GU(e,t),i=XU(e,t),s=KU(e,t,n);return Ue(i,ze(s,r))}function qvt(e){if(!e.filterStable)return null;const t=e.query();if(!$S(t))return null;const n=ox(t,l=>{const c=l._from[0]?.expr;return nx(c)?c.name:c});if(typeof n!="string")return null;const r=new Map,i={},s={},o=[],a=l=>{const c=l.column,u=ox(t,f=>f._select.find(h=>h.alias===c)?.expr);return te`(SELECT avg(${u??l}) FROM "${n}")`};for(const{alias:l,expr:c}of t._select){if(bh(c)>1)return null;const u=ivt(c);if(u.length===0)o.push(l),i[l]=c;else{for(const f of u){if(f.isDistinct)return null;const h=Lvt(f,i,a);if(!h)return null;r.set(f,h)}s[l]=g4(c,r)}}return r.size?{group:o,preagg:i,output:s}:null}function ox(e,t){const n=e.subqueries;if($S(e)&&n.length===0)return t(e);const r=ox(n[0],t);for(let i=1;is.logger().error(h))}return i.set(t,u),u}}function Wvt(e){const{source:t,meta:n}=e,r=e.predicate,i=I6(r).map(a=>a.column);let s,o;if(!n||!i)return{source:null,columns:o,predicate:s};switch(n.type){case"point":s=a=>a,o=Object.fromEntries(i.map(a=>[`${a}`,mn(a)]));break;case"interval":{const{scales:a,bin:l,pixelSize:c=1}=n;if(!a)break;const u=a.map(f=>Hvt(f,c,l));u.some(f=>!f)||(u.length===1?(s=f=>f?$s("active0",f.extent?.map(u[0])):[],o={active0:u[0](r.expr)}):(s=f=>f?Si(f.clauses.map((h,d)=>$s(`active${d}`,h.extent?.map(u[d])))):[],o=Object.fromEntries(r.clauses.map((f,h)=>[`active${h}`,u[h](f.expr)]))))}}return{source:o?t:null,columns:o,predicate:s}}const Yvt={ceil:Eyt,round:Sv};function Hvt(e,t,n){const{type:r,domain:i,range:s,apply:o,sqlApply:a}=R6(e);if(!o)return;const l=Yvt[`${n}`.toLowerCase()]||zo,c=i.map(y=>Number(y)),u=o(Math.min(...c)),f=o(Math.max(...c)),h=(r==="identity"?1:Math.abs(s[1]-s[0])/(f-u))/t,d=h===1?y=>y:y=>ze(ks(h),y),g=u===0?y=>y:y=>Ue(y,ks(u));return y=>wi(l(d(g(a(y)))))}function Gvt(e,t,n,r){const{group:i,output:s,preagg:o}=n,{columns:a}=t,l=e.setSelect({...o,...a}).groupby(Object.keys(a)),[c]=l.subqueries;if(c){const v=Object.values(a).flatMap(b=>I6(b).map(_=>_.column));Xvt(c,v)}const u=l._having,f=l._orderby;l._having=[],l._orderby=[];const h=l.toString(),d=(VU(h)>>>0).toString(16),g=`${r}.preagg_${d}`,y=Pt.select(i,s).from(g).groupby(i).having(u).orderby(f);return new Jvt({table:g,create:h,active:t,select:y})}function Xvt(e,t){const n=new Set,r=i=>{if(!n.has(i)){if(n.add(i),$S(i)&&i._from.length&&(i.select(t),Kvt(i))){const s=new Set(i._groupby.flatMap(o=>o instanceof vU?[o.name]:[]));i.groupby(t.filter(o=>!s.has(o)))}i.subqueries.forEach(r)}};r(e)}function Kvt(e){return e._groupby.length>0||e._select.some(t=>bh(t))}class Jvt{table;create;result;active;select;skip;constructor({table:t,create:n,active:r,select:i}){this.table=t,this.create=n,this.result=null,this.active=r,this.select=i,this.skip=!1}query(t){return this.select.clone().where(this.active.predicate(t))}}function _4(){return{debug(){},info(){},log(){},warn(){},error(){},group(){},groupCollapsed(){},groupEnd(){}}}const dd=Object.freeze({pending:Symbol("pending"),ready:Symbol("ready"),error:Symbol("error"),done:Symbol("done")});class N6 extends Promise{_resolve;_reject;_state;_value;constructor(){let t,n;super((r,i)=>{t=r,n=i}),this._resolve=t,this._reject=n,this._state=dd.pending,this._value=void 0}fulfill(t){if(this._value!==void 0){if(t!==void 0)throw Error("Promise is ready and fulfill has a provided value");this._resolve(this._value)}else{if(t===void 0)throw Error("Promise is neither ready nor has provided value");this._resolve(t)}return this._state=dd.done,this}ready(t){return this._state=dd.ready,this._value=t,this}reject(t){return this._state=dd.error,this._reject(t),this}get state(){return this._state}}N6.prototype.constructor=Promise;function Zvt(e){return typeof requestAnimationFrame<"u"?requestAnimationFrame(e):typeof setImmediate<"u"?setImmediate(e):setTimeout(e)}function Qvt(e,t){let n=[],r=0;function i(){const s=t1t(n,t);n=[],r=0;for(const o of s)n1t(o,e),s1t(o,t)}return{add(s,o){s.request.type==="arrow"?(r||=Zvt(()=>i()),n.push({entry:s,priority:o,index:n.length})):e(s,o)}}}function t1t(e,t){const n=[],r=new Map;for(const i of e){const{entry:{request:s}}=i,o=e1t(s.query,t);if(!r.has(o)){const a=[];n.push(a),r.set(o,a)}r.get(o).push(i)}return n}function e1t(e,t){const n=`${e}`;if($S(e)&&!t.get(n)){if(e._where.length||e._qualify.length||e._having.length||e._orderby.length||e._distinct)return n;const r=e.clone().setSelect("*"),i=e._groupby;if(i.length){const s={};e._select.forEach(({alias:o,expr:a})=>s[o]=a),r.setGroupby(i.map(o=>CS(o)&&s[o.column]||o))}else e._select.some(s=>bh(s.expr))&&r.setGroupby("ALL");return`${r}`}else return n}function n1t(e,t){if(r1t(e))t({request:{type:"arrow",cache:!1,query:e.query=i1t(e)},result:e.result=new N6});else for(const{entry:n,priority:r}of e)t(n,r)}function r1t(e){if(e.length>1){const t=`${e[0].entry.request.query}`;for(let n=1;ns[a]=o),r.setGroupby(i.map(o=>CS(o)&&s[o.column]||o))}return r.setSelect(Array.from(n.values()))}async function s1t(e,t){const{maps:n,query:r,result:i}=e;if(!n)return;let s;try{s=await i}catch(a){for(const{entry:l}of e)l.result.reject(a);return}const o=xmt(r);e.forEach(({entry:a},l)=>{const{request:c,result:u}=a,f=n[l],h=o&&f?a1t(s,f):f?o1t(s,f):s;c.cache&&t.set(String(c.query),h),u.fulfill(h)})}function o1t(e,t){return e.select(t.map(n=>n[0]),t.map(n=>n[1]))}function a1t(e,t){const n=new Map(t),r=[];for(const i of e)n.has(i.column_name)&&r.push({...i,column_name:n.get(i.column_name)});return r}const l1t=typeof requestIdleCallback<"u"?requestIdleCallback:setTimeout;function c1t(){return{get:()=>{},set:(e,t)=>t,clear:()=>{}}}function u1t({max:e=1e3,ttl:t=10800*1e3}={}){let n=new Map;function r(){const i=performance.now()-t;let s=null,o=1/0;for(const[a,l]of n){const{last:c}=l;cc&&n.delete(a)}s&&n.delete(s)}return{get(i){const s=n.get(i);if(s)return s.last=performance.now(),s.value},set(i,s){return n.set(i,{last:performance.now(),value:s}),n.size>e&&l1t(r),s},clear(){n=new Map}}}class f1t{queue;constructor(t){this.queue=Array.from({length:t},()=>({head:null,tail:null}))}isEmpty(){return this.queue.every(t=>!t.head)}insert(t,n){const r=this.queue[n];if(!r)throw new Error(`Invalid queue priority rank: ${n}`);const i={item:t,next:null};r.head===null?r.head=r.tail=i:r.tail=r.tail.next=i}remove(t){for(const n of this.queue){let{head:r,tail:i}=n;for(let s=null,o=r;o;s=o,o=o.next)t(o.item)&&(o===r?r=o.next:s.next=o.next,o===i&&(i=s||r));n.head=r,n.tail=i}}next(){for(const t of this.queue){const{head:n}=t;if(n!==null)return t.head=n.next,t.tail===n&&(t.tail=null),n.item}}}const M0=Object.freeze({High:0,Normal:1,Low:2});class h1t{queue;db;clientCache;_logger;_logQueries;_consolidate;pendingResults;maxConcurrentRequests;pendingExec;constructor(t=32){this.queue=new f1t(3),this.db=null,this.clientCache=null,this._logger=_4(),this._logQueries=!1,this._consolidate=null,this.pendingResults=[],this.maxConcurrentRequests=t,this.pendingExec=!1}next(){if(this.queue.isEmpty()||this.pendingResults.length>this.maxConcurrentRequests||this.pendingExec)return;const t=this.queue.next();if(!t)return;const{request:n,result:r}=t;this.pendingResults.push(r),n.type==="exec"&&(this.pendingExec=!0),this.submit(n,r).finally(()=>{for(;this.pendingResults.length&&this.pendingResults[0].state!==dd.pending;){const i=this.pendingResults.shift();i.state===dd.ready?i.fulfill():i.state===dd.done&&this._logger.warn("Found resolved query in pending results.")}n.type==="exec"&&(this.pendingExec=!1),this.next()})}enqueue(t,n=M0.Normal){this.queue.insert(t,n),this.next()}async submit(t,n){try{const{query:r,type:i,cache:s=!1,options:o}=t,a=r?`${r}`:null;if(s){const f=this.clientCache.get(a);if(f){const h=await f;this._logger.debug("Cache"),n.ready(h);return}}const l=performance.now();this._logQueries&&this._logger.debug("Query",{type:i,sql:a,...o});const c=this.db.query({type:i,sql:a,...o});s&&this.clientCache.set(a,c);const u=await c;s&&this.clientCache.set(a,u),this._logger.debug(`Request: ${(performance.now()-l).toFixed(1)}`),n.ready(i==="exec"?null:u)}catch(r){n.reject(r)}}cache(t){return t!==void 0?this.clientCache=t===!0?u1t():t||c1t():this.clientCache}logger(t){return t?this._logger=t:this._logger}logQueries(t){return t!==void 0?this._logQueries=!!t:this._logQueries}connector(t){return t?this.db=t:this.db}consolidate(t){t&&!this._consolidate?this._consolidate=Qvt(this.enqueue.bind(this),this.clientCache):!t&&this._consolidate&&(this._consolidate=null)}request(t,n=M0.Normal){const r=new N6,i={request:t,result:r};return this._consolidate?this._consolidate.add(i,n):this.enqueue(i,n),r}cancel(t){const n=new Set(t);if(n.size){this.queue.remove(({result:r})=>n.has(r)?(r.reject("Canceled"),!0):!1);for(const r of this.pendingResults)n.has(r)&&r.reject("Canceled")}}clear(){this.queue.remove(({result:t})=>(t.reject("Cleared"),!0));for(const t of this.pendingResults)t.reject("Cleared");this.pendingResults=[]}}let __;function kl(e){return e?__=e:__==null&&(__=new d1t),__}class d1t{manager;preaggregator;clients=new Set;filterGroups=new Map;_logger=_4();constructor(t=new VP,n={}){const{logger:r=console,manager:i=new h1t,cache:s=!0,consolidate:o=!0,preagg:a={}}=n;this.manager=i,this.manager.cache(s),this.manager.consolidate(o),this.databaseConnector(t),this.logger(r),this.clear(),this.preaggregator=new Vvt(this,a)}clear(t={}){const{clients:n=!0,cache:r=!0}=t;this.manager.clear(),n&&(this.filterGroups?.forEach(i=>i.disconnect()),this.filterGroups=new Map,this.clients?.forEach(i=>this.disconnect(i)),this.clients=new Set),r&&this.manager.cache().clear()}databaseConnector(t){return t?this.manager.connector(t):this.manager.connector()}logger(t){return arguments.length&&(this._logger=t||_4(),this.manager.logger(this._logger)),this._logger}cancel(t){this.manager.cancel(t)}exec(t,n={}){const{priority:r=M0.Normal}=n;return t=Array.isArray(t)?t.filter(i=>i).join(`; `):t,this.manager.request({type:"exec",query:t},r)}query(t,n={}){const{type:r="arrow",cache:i=!0,priority:s=M0.Normal,...o}=n;return this.manager.request({type:r,query:t,cache:i,options:o},s)}prefetch(t,n={}){return this.query(t,{...n,cache:!0,priority:M0.Low})}updateClient(t,n,r=M0.Normal){return t.queryPending(),t._pending=this.query(n,{priority:r}).then(i=>t.queryResult(i).update(),i=>{this._logger?.error(i),t.queryError(i)}).catch(i=>this._logger?.error(i))}requestQuery(t,n){return this.preaggregator.clear(),n?this.updateClient(t,n):Promise.resolve(t.update())}connect(t){const{clients:n}=this;if(n?.has(t))throw new Error("Client already connected.");n?.add(t),t.coordinator=this,t.initialize(),p1t(this,t.filterBy,t)}disconnect(t){const{clients:n,filterGroups:r}=this;if(!n?.has(t))return;n.delete(t),t.coordinator=null;const i=r?.get(t.filterBy);i&&i.clients.delete(t)}}function p1t(e,t,n){if(!t)return;let r=e.filterGroups?.get(t);if(!r){const i=o=>g1t(e,t,o),s=()=>m1t(e,t);t.addEventListener("activate",i),t.addEventListener("value",s),r={selection:t,clients:new Set,disconnect(){t.removeEventListener("activate",i),t.removeEventListener("value",s)}},e.filterGroups?.set(t,r)}r.clients.add(n)}function g1t(e,t,n){const{preaggregator:r,filterGroups:i}=e,{clients:s}=i.get(t);for(const o of s)o.enabled&&r.request(o,t,n)}function m1t(e,t){const{preaggregator:n,filterGroups:r}=e,{clients:i}=r.get(t),{active:s}=t;return Promise.allSettled(Array.from(i,o=>{if(!o.enabled)return o.requestQuery();const a=n.request(o,t,s),l=a?null:t.predicate(o);if(a?.skip||!a&&!l)return;const c=a?.query(s.predicate)??o.query(l);return e.updateClient(o,c)}))}function Uu(e){const{coordinator:t=kl(),...n}=e,r=new y1t(n);return t.connect(r),r}class y1t extends gp{_methods;_filterStable;constructor({selection:t=void 0,enabled:n=!0,filterStable:r=!0,...i}){super(t),this.enabled=n,this._methods=i,this._filterStable=r}get filterStable(){return this._filterStable}async prepare(){await this._methods.prepare?.()}query(t){return this._methods.query?.(t)??null}queryResult(t){return this._methods.queryResult?.(t),this}queryPending(){return this._methods.queryPending?.(),this}queryError(t){return this._methods.queryError?.(t),this}}class v1t{_callbacks;constructor(){this._callbacks=new Map}addEventListener(t,n){this._callbacks.has(t)||this._callbacks.set(t,{callbacks:new Set,pending:null,queue:new b1t}),this._callbacks.get(t).callbacks.add(n)}removeEventListener(t,n){const r=this._callbacks.get(t);r&&r.callbacks.delete(n)}willEmit(t,n){return n}emitQueueFilter(t,n){return null}cancel(t){this._callbacks.get(t)?.queue.clear()}async pending(t){await this._callbacks.get(t)?.pending}emit(t,n){const r=this._callbacks.get(t)||{};if(r.pending)r.queue.enqueue(n,this.emitQueueFilter(t,n));else{const i=this.willEmit(t,n),{callbacks:s,queue:o}=r;if(s?.size){const a=Array.from(s,l=>l(i));r.pending=Promise.allSettled(a).then(()=>{r.pending=null,o.isEmpty()||this.emit(t,o.dequeue())})}}}}class b1t{next=null;constructor(){this.clear()}clear(){this.next=null}isEmpty(){return!this.next}enqueue(t,n){const r={value:t};if(n&&this.next){let i=this;for(;i.next;)n(i.next.value)?i=i.next:i.next=i.next.next;i.next=r}else this.next=r}dequeue(){const{next:t}=this;return this.next=t?.next||null,t?.value}}function JU(e,t){return e===t?!1:e instanceof Date&&t instanceof Date?+e!=+t:Array.isArray(e)&&Array.isArray(t)?_1t(e,t):!0}function _1t(e,t){if(e.length!==t.length)return!0;for(let n=0;nCa(n))){const n=new wa,r=()=>{n.update(t.map(i=>Ca(i)?i.value:i))};return r(),t.forEach(i=>Ca(i)?i.addEventListener("value",r):0),n}return new wa(t)}get value(){return this._value}update(t,{force:n}={}){return JU(this._value,t)||n?this.emit("value",t):this.cancel("value"),this}willEmit(t,n){return t==="value"&&(this._value=n),n}}function Os(e){return e instanceof bg}function w_(e,t){return new bg(new QU(e),t?[t].flat():void 0)}let bg=class ZU extends wa{_resolved;_resolver;_relay;static intersect({cross:t=!1,empty:n=!1,include:r=[]}={}){return w_({cross:t,empty:n},r)}static union({cross:t=!1,empty:n=!1,include:r=[]}={}){return w_({cross:t,empty:n,union:!0},r)}static single({cross:t=!1,empty:n=!1,include:r=[]}={}){return w_({cross:t,empty:n,single:!0},r)}static crossfilter({empty:t=!1,include:n=[]}={}){return w_({cross:!0,empty:t},n)}constructor(t=new QU,n=[]){if(super([]),this._resolved=this._value,this._resolver=t,this._relay=new Set,Array.isArray(n))for(const r of n)r._relay.add(this)}clone(){const t=new ZU(this._resolver);return t._value=t._resolved=this._value,t}remove(t){const n=this.clone();return n._value=n._resolved=n._resolver.resolve(this._resolved,{source:t}),n._value.active={source:t},n}get resolver(){return this._resolver}get single(){return this._resolver.single}get clauses(){return super.value}get active(){return this.clauses.active}get value(){return this.active?.value}valueFor(t){return this.clauses.find(n=>n.source===t)?.value}activate(t){this.emit("activate",t),this._relay.forEach(n=>n.activate(t))}update(t){return this._resolved=this._resolver.resolve(this._resolved,t,!0),this._resolved.active=t,this._relay.forEach(n=>n.update(t)),super.update(this._resolved)}reset(t){return t??=this._resolved,t.forEach(n=>n.source?.reset?.()),this._resolved=this._resolved.filter(n=>t.includes(n)),this._relay.forEach(n=>n.reset(t)),super.update(this._resolved=[])}willEmit(t,n){return t==="value"?(this._value=n,this.value):n}emitQueueFilter(t,n){return t==="value"?this._resolver.queueFilter(n):null}skip(t,n){return this._resolver.skip(t,n)}predicate(t=void 0,n=!1){const{clauses:r}=this,i=n?null:r.active;return this._resolver.predicate(r,i,t)}};class QU{union;cross;single;empty;constructor({union:t,cross:n,single:r,empty:i}={}){this.union=!!t,this.cross=!!n,this.single=!!r,this.empty=!!i}resolve(t,n,r=!1){const{source:i,predicate:s}=n,o=t.filter(l=>i!==l.source),a=this.single?[]:o;return this.single&&r&&o.forEach(l=>l.source?.reset?.()),s&&a.push(n),a}skip(t,n){return t==null?!1:!!(this.cross&&n?.clients?.has(t))}predicate(t,n,r){const{empty:i,union:s}=this;if(i&&!t.length)return[Jt(!1)];if(this.skip(r,n))return;const o=t.filter(a=>!this.skip(r,a)).map(a=>a.predicate);return s&&o.length>1?ss(o):o}queueFilter(t){if(this.cross){const n=t.active?.source;return r=>r.active?.source!==n}return null}}function w1t(e){return new x1t(e)}class x1t{_uri;_ipc;constructor({uri:t="http://localhost:3000/",ipc:n=void 0}={}){this._uri=t,this._ipc=n}async query(t){const n=fetch(this._uri,{method:"POST",mode:"cors",cache:"no-cache",credentials:"omit",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}),r=await n;if(!r.ok)throw new Error(`Query failed with HTTP status ${r.status}: ${await r.text()}`);return t.type==="exec"?n:t.type==="arrow"?ex(await r.arrayBuffer(),this._ipc):r.json()}}function De(e,t,n,r){function i(s){return s instanceof n?s:new n(function(o){o(s)})}return new(n||(n=Promise))(function(s,o){function a(u){try{c(r.next(u))}catch(f){o(f)}}function l(u){try{c(r.throw(u))}catch(f){o(f)}}function c(u){u.done?s(u.value):i(u.value).then(a,l)}c((r=r.apply(e,t||[])).next())})}function W7(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function We(e){return this instanceof We?(this.v=e,this):new We(e)}function nc(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),i,s=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",o),i[Symbol.asyncIterator]=function(){return this},i;function o(d){return function(g){return Promise.resolve(g).then(d,f)}}function a(d,g){r[d]&&(i[d]=function(y){return new Promise(function(v,b){s.push([d,y,v,b])>1||l(d,y)})},g&&(i[d]=g(i[d])))}function l(d,g){try{c(r[d](g))}catch(y){h(s[0][3],y)}}function c(d){d.value instanceof We?Promise.resolve(d.value.v).then(u,f):h(s[0][2],d)}function u(d){l("next",d)}function f(d){l("throw",d)}function h(d,g){d(g),s.shift(),s.length&&l(s[0][0],s[0][1])}}function vw(e){var t,n;return t={},r("next"),r("throw",function(i){throw i}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(i,s){t[i]=e[i]?function(o){return(n=!n)?{value:We(e[i](o)),done:!1}:s?s(o):o}:s}}function Ed(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof W7=="function"?W7(e):e[Symbol.iterator](),n={},r("next"),r("throw"),r("return"),n[Symbol.asyncIterator]=function(){return this},n);function r(s){n[s]=e[s]&&function(o){return new Promise(function(a,l){o=e[s](o),i(a,l,o.done,o.value)})}}function i(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}}const S1t=new TextDecoder("utf-8"),w4=e=>S1t.decode(e),A1t=new TextEncoder,$6=e=>A1t.encode(e),E1t=e=>typeof e=="number",tz=e=>typeof e=="boolean",_i=e=>typeof e=="function",go=e=>e!=null&&Object(e)===e,Hd=e=>go(e)&&_i(e.then),k1=e=>go(e)&&_i(e[Symbol.iterator]),lm=e=>go(e)&&_i(e[Symbol.asyncIterator]),x4=e=>go(e)&&go(e.schema),ez=e=>go(e)&&"done"in e&&"value"in e,nz=e=>go(e)&&_i(e.stat)&&E1t(e.fd),rz=e=>go(e)&&O6(e.body),US=e=>"_getDOMStream"in e&&"_getNodeStream"in e,T1t=e=>go(e)&&_i(e.abort)&&_i(e.getWriter)&&!US(e),O6=e=>go(e)&&_i(e.cancel)&&_i(e.getReader)&&!US(e),k1t=e=>go(e)&&_i(e.end)&&_i(e.write)&&tz(e.writable)&&!US(e),iz=e=>go(e)&&_i(e.read)&&_i(e.pipe)&&tz(e.readable)&&!US(e),M1t=e=>go(e)&&_i(e.clear)&&_i(e.bytes)&&_i(e.position)&&_i(e.setPosition)&&_i(e.capacity)&&_i(e.getBufferIdentifier)&&_i(e.createLong),L6=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:ArrayBuffer;function I1t(e){const t=e[0]?[e[0]]:[];let n,r,i,s;for(let o,a,l=0,c=0,u=e.length;++lu+f.byteLength,0);let i,s,o,a=0,l=-1;const c=Math.min(t||Number.POSITIVE_INFINITY,r);for(const u=n.length;++lQn(Int32Array,e),H7=e=>Qn(BigInt64Array,e),dn=e=>Qn(Uint8Array,e),S4=e=>(e.next(),e);function*R1t(e,t){const n=function*(i){yield i},r=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof L6?n(t):k1(t)?t:n(t);return yield*S4((function*(i){let s=null;do s=i.next(yield Qn(e,s));while(!s.done)})(r[Symbol.iterator]())),new e}const C1t=e=>R1t(Uint8Array,e);function sz(e,t){return nc(this,arguments,function*(){if(Hd(t))return yield We(yield We(yield*vw(Ed(sz(e,yield We(t))))));const r=function(o){return nc(this,arguments,function*(){yield yield We(yield We(o))})},i=function(o){return nc(this,arguments,function*(){yield We(yield*vw(Ed(S4((function*(a){let l=null;do l=a.next(yield l?.value);while(!l.done)})(o[Symbol.iterator]())))))})},s=typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof L6?r(t):k1(t)?i(t):lm(t)?t:r(t);return yield We(yield*vw(Ed(S4((function(o){return nc(this,arguments,function*(){let a=null;do a=yield We(o.next(yield yield We(Qn(e,a))));while(!a.done)})})(s[Symbol.asyncIterator]()))))),yield We(new e)})}const N1t=e=>sz(Uint8Array,e);function oz(e,t,n){if(e!==0){n=n.slice(0,t);for(let r=-1,i=n.length;++r0)do if(e[n]!==t[n])return!1;while(++n(e.next(),e);function*O1t(e){let t,n=!1,r=[],i,s,o,a=0;function l(){return s==="peek"?mc(r,o)[0]:([i,r,a]=mc(r,o),i)}({cmd:s,size:o}=(yield null)||{cmd:"read",size:0});const c=C1t(e)[Symbol.iterator]();try{do if({done:t,value:i}=Number.isNaN(o-a)?c.next():c.next(o-a),!t&&i.byteLength>0&&(r.push(i),a+=i.byteLength),t||o<=a)do({cmd:s,size:o}=yield l());while(o0&&(i.push(s),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield We(c()));while(a0&&(i.push(dn(s)),l+=s.byteLength),n||a<=l)do({cmd:o,size:a}=yield yield We(c()));while(a{})}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=null}cancel(t){return De(this,void 0,void 0,function*(){const{reader:n,source:r}=this;n&&(yield n.cancel(t).catch(()=>{})),r&&r.locked&&this.releaseLock()})}read(t){return De(this,void 0,void 0,function*(){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=yield this.reader.read();return!n.done&&(n.value=dn(n)),n})}}const HE=(e,t)=>{const n=i=>r([t,i]);let r;return[t,n,new Promise(i=>(r=i)&&e.once(t,n))]};function B1t(e){return nc(this,arguments,function*(){const n=[];let r="error",i=!1,s=null,o,a,l=0,c=[],u;function f(){return o==="peek"?mc(c,a)[0]:([u,c,l]=mc(c,a),u)}if({cmd:o,size:a}=(yield yield We(null))||{cmd:"read",size:0},e.isTTY)return yield yield We(new Uint8Array(0)),yield We(null);try{n[0]=HE(e,"end"),n[1]=HE(e,"error");do{if(n[2]=HE(e,"readable"),[r,s]=yield We(Promise.race(n.map(d=>d[2]))),r==="error")break;if((i=r==="end")||(Number.isFinite(a-l)?(u=dn(e.read(a-l)),u.byteLength0&&(c.push(u),l+=u.byteLength)),i||a<=l)do({cmd:o,size:a}=yield yield We(f()));while(a{for(const[b,_]of d)e.off(b,_);try{const b=e.destroy;b&&b.call(e,g),g=void 0}catch(b){g=b||g}finally{g!=null?v(g):y()}})}})}var si;(function(e){e[e.V1=0]="V1",e[e.V2=1]="V2",e[e.V3=2]="V3",e[e.V4=3]="V4",e[e.V5=4]="V5"})(si||(si={}));var ps;(function(e){e[e.Sparse=0]="Sparse",e[e.Dense=1]="Dense"})(ps||(ps={}));var fs;(function(e){e[e.HALF=0]="HALF",e[e.SINGLE=1]="SINGLE",e[e.DOUBLE=2]="DOUBLE"})(fs||(fs={}));var Ba;(function(e){e[e.DAY=0]="DAY",e[e.MILLISECOND=1]="MILLISECOND"})(Ba||(Ba={}));var Ee;(function(e){e[e.SECOND=0]="SECOND",e[e.MILLISECOND=1]="MILLISECOND",e[e.MICROSECOND=2]="MICROSECOND",e[e.NANOSECOND=3]="NANOSECOND"})(Ee||(Ee={}));var yc;(function(e){e[e.YEAR_MONTH=0]="YEAR_MONTH",e[e.DAY_TIME=1]="DAY_TIME",e[e.MONTH_DAY_NANO=2]="MONTH_DAY_NANO"})(yc||(yc={}));const GE=2,Xl=4,cu=4,Gn=4,_f=new Int32Array(2),G7=new Float32Array(_f.buffer),X7=new Float64Array(_f.buffer),S_=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;var A4;(function(e){e[e.UTF8_BYTES=1]="UTF8_BYTES",e[e.UTF16_STRING=2]="UTF16_STRING"})(A4||(A4={}));let _g=class az{constructor(t){this.bytes_=t,this.position_=0,this.text_decoder_=new TextDecoder}static allocate(t){return new az(new Uint8Array(t))}clear(){this.position_=0}bytes(){return this.bytes_}position(){return this.position_}setPosition(t){this.position_=t}capacity(){return this.bytes_.length}readInt8(t){return this.readUint8(t)<<24>>24}readUint8(t){return this.bytes_[t]}readInt16(t){return this.readUint16(t)<<16>>16}readUint16(t){return this.bytes_[t]|this.bytes_[t+1]<<8}readInt32(t){return this.bytes_[t]|this.bytes_[t+1]<<8|this.bytes_[t+2]<<16|this.bytes_[t+3]<<24}readUint32(t){return this.readInt32(t)>>>0}readInt64(t){return BigInt.asIntN(64,BigInt(this.readUint32(t))+(BigInt(this.readUint32(t+4))<>8}writeUint16(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8}writeInt32(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8,this.bytes_[t+2]=n>>16,this.bytes_[t+3]=n>>24}writeUint32(t,n){this.bytes_[t]=n,this.bytes_[t+1]=n>>8,this.bytes_[t+2]=n>>16,this.bytes_[t+3]=n>>24}writeInt64(t,n){this.writeInt32(t,Number(BigInt.asIntN(32,n))),this.writeInt32(t+4,Number(BigInt.asIntN(32,n>>BigInt(32))))}writeUint64(t,n){this.writeUint32(t,Number(BigInt.asUintN(32,n))),this.writeUint32(t+4,Number(BigInt.asUintN(32,n>>BigInt(32))))}writeFloat32(t,n){G7[0]=n,this.writeInt32(t,_f[0])}writeFloat64(t,n){X7[0]=n,this.writeInt32(t,_f[S_?0:1]),this.writeInt32(t+4,_f[S_?1:0])}getBufferIdentifier(){if(this.bytes_.lengththis.minalign&&(this.minalign=t);const r=~(this.bb.capacity()-this.space+n)+1&t-1;for(;this.space=0&&this.vtable[n]==0;n--);const r=n+1;for(;n>=0;n--)this.addInt16(this.vtable[n]!=0?t-this.vtable[n]:0);const i=2;this.addInt16(t-this.object_start);const s=(r+i)*GE;this.addInt16(s);let o=0;const a=this.space;t:for(n=0;n=0;o--)this.writeInt8(s.charCodeAt(o))}this.prep(this.minalign,Xl+i),this.addOffset(t),i&&this.addInt32(this.bb.capacity()-this.space),this.bb.setPosition(this.space)}finishSizePrefixed(t,n){this.finish(t,n,!0)}requiredField(t,n){const r=this.bb.capacity()-t,i=r-this.bb.readInt32(r);if(!(n=0;r--)t.addInt32(n[r]);return t.endVector()}static startTypeIdsVector(t,n){t.startVector(4,n,4)}static endUnion(t){return t.endObject()}static createUnion(t,n,r){return oo.startUnion(t),oo.addMode(t,n),oo.addTypeIds(t,r),oo.endUnion(t)}}let nO=class Ny{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsUtf8(t,n){return(n||new Ny).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsUtf8(t,n){return t.setPosition(t.position()+Gn),(n||new Ny).__init(t.readInt32(t.position())+t.position(),t)}static startUtf8(t){t.startObject(0)}static endUtf8(t){return t.endObject()}static createUtf8(t){return Ny.startUtf8(t),Ny.endUtf8(t)}};var _r;(function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.FloatingPoint=3]="FloatingPoint",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct_=13]="Struct_",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Duration=18]="Duration",e[e.LargeBinary=19]="LargeBinary",e[e.LargeUtf8=20]="LargeUtf8",e[e.LargeList=21]="LargeList",e[e.RunEndEncoded=22]="RunEndEncoded"})(_r||(_r={}));let la=class Aw{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsField(t,n){return(n||new Aw).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsField(t,n){return t.setPosition(t.position()+Gn),(n||new Aw).__init(t.readInt32(t.position())+t.position(),t)}name(t){const n=this.bb.__offset(this.bb_pos,4);return n?this.bb.__string(this.bb_pos+n,t):null}nullable(){const t=this.bb.__offset(this.bb_pos,6);return t?!!this.bb.readInt8(this.bb_pos+t):!1}typeType(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.readUint8(this.bb_pos+t):_r.NONE}type(t){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.__union(t,this.bb_pos+n):null}dictionary(t){const n=this.bb.__offset(this.bb_pos,12);return n?(t||new uu).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}children(t,n){const r=this.bb.__offset(this.bb_pos,14);return r?(n||new Aw).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}childrenLength(){const t=this.bb.__offset(this.bb_pos,14);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,n){const r=this.bb.__offset(this.bb_pos,16);return r?(n||new xi).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){const t=this.bb.__offset(this.bb_pos,16);return t?this.bb.__vector_len(this.bb_pos+t):0}static startField(t){t.startObject(7)}static addName(t,n){t.addFieldOffset(0,n,0)}static addNullable(t,n){t.addFieldInt8(1,+n,0)}static addTypeType(t,n){t.addFieldInt8(2,n,_r.NONE)}static addType(t,n){t.addFieldOffset(3,n,0)}static addDictionary(t,n){t.addFieldOffset(4,n,0)}static addChildren(t,n){t.addFieldOffset(5,n,0)}static createChildrenVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startChildrenVector(t,n){t.startVector(4,n,4)}static addCustomMetadata(t,n){t.addFieldOffset(6,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static endField(t){return t.endObject()}},zl=class Qc{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsSchema(t,n){return(n||new Qc).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsSchema(t,n){return t.setPosition(t.position()+Gn),(n||new Qc).__init(t.readInt32(t.position())+t.position(),t)}endianness(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):wg.Little}fields(t,n){const r=this.bb.__offset(this.bb_pos,6);return r?(n||new la).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}fieldsLength(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new xi).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}features(t){const n=this.bb.__offset(this.bb_pos,10);return n?this.bb.readInt64(this.bb.__vector(this.bb_pos+n)+t*8):BigInt(0)}featuresLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}static startSchema(t){t.startObject(4)}static addEndianness(t,n){t.addFieldInt16(0,n,wg.Little)}static addFields(t,n){t.addFieldOffset(1,n,0)}static createFieldsVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startFieldsVector(t,n){t.startVector(4,n,4)}static addCustomMetadata(t,n){t.addFieldOffset(2,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static addFeatures(t,n){t.addFieldOffset(3,n,0)}static createFeaturesVector(t,n){t.startVector(8,n.length,8);for(let r=n.length-1;r>=0;r--)t.addInt64(n[r]);return t.endVector()}static startFeaturesVector(t,n){t.startVector(8,n,8)}static endSchema(t){return t.endObject()}static finishSchemaBuffer(t,n){t.finish(n)}static finishSizePrefixedSchemaBuffer(t,n){t.finish(n,void 0,!0)}static createSchema(t,n,r,i,s){return Qc.startSchema(t),Qc.addEndianness(t,n),Qc.addFields(t,r),Qc.addCustomMetadata(t,i),Qc.addFeatures(t,s),Qc.endSchema(t)}};var Nn;(function(e){e[e.NONE=0]="NONE",e[e.Schema=1]="Schema",e[e.DictionaryBatch=2]="DictionaryBatch",e[e.RecordBatch=3]="RecordBatch",e[e.Tensor=4]="Tensor",e[e.SparseTensor=5]="SparseTensor"})(Nn||(Nn={}));var Z;(function(e){e[e.NONE=0]="NONE",e[e.Null=1]="Null",e[e.Int=2]="Int",e[e.Float=3]="Float",e[e.Binary=4]="Binary",e[e.Utf8=5]="Utf8",e[e.Bool=6]="Bool",e[e.Decimal=7]="Decimal",e[e.Date=8]="Date",e[e.Time=9]="Time",e[e.Timestamp=10]="Timestamp",e[e.Interval=11]="Interval",e[e.List=12]="List",e[e.Struct=13]="Struct",e[e.Union=14]="Union",e[e.FixedSizeBinary=15]="FixedSizeBinary",e[e.FixedSizeList=16]="FixedSizeList",e[e.Map=17]="Map",e[e.Duration=18]="Duration",e[e.LargeBinary=19]="LargeBinary",e[e.LargeUtf8=20]="LargeUtf8",e[e.Dictionary=-1]="Dictionary",e[e.Int8=-2]="Int8",e[e.Int16=-3]="Int16",e[e.Int32=-4]="Int32",e[e.Int64=-5]="Int64",e[e.Uint8=-6]="Uint8",e[e.Uint16=-7]="Uint16",e[e.Uint32=-8]="Uint32",e[e.Uint64=-9]="Uint64",e[e.Float16=-10]="Float16",e[e.Float32=-11]="Float32",e[e.Float64=-12]="Float64",e[e.DateDay=-13]="DateDay",e[e.DateMillisecond=-14]="DateMillisecond",e[e.TimestampSecond=-15]="TimestampSecond",e[e.TimestampMillisecond=-16]="TimestampMillisecond",e[e.TimestampMicrosecond=-17]="TimestampMicrosecond",e[e.TimestampNanosecond=-18]="TimestampNanosecond",e[e.TimeSecond=-19]="TimeSecond",e[e.TimeMillisecond=-20]="TimeMillisecond",e[e.TimeMicrosecond=-21]="TimeMicrosecond",e[e.TimeNanosecond=-22]="TimeNanosecond",e[e.DenseUnion=-23]="DenseUnion",e[e.SparseUnion=-24]="SparseUnion",e[e.IntervalDayTime=-25]="IntervalDayTime",e[e.IntervalYearMonth=-26]="IntervalYearMonth",e[e.DurationSecond=-27]="DurationSecond",e[e.DurationMillisecond=-28]="DurationMillisecond",e[e.DurationMicrosecond=-29]="DurationMicrosecond",e[e.DurationNanosecond=-30]="DurationNanosecond"})(Z||(Z={}));var ru;(function(e){e[e.OFFSET=0]="OFFSET",e[e.DATA=1]="DATA",e[e.VALIDITY=2]="VALIDITY",e[e.TYPE=3]="TYPE"})(ru||(ru={}));const P1t=void 0;function Ev(e){if(e===null)return"null";if(e===P1t)return"undefined";switch(typeof e){case"number":return`${e}`;case"bigint":return`${e}`;case"string":return`"${e}"`}return typeof e[Symbol.toPrimitive]=="function"?e[Symbol.toPrimitive]("string"):ArrayBuffer.isView(e)?e instanceof BigInt64Array||e instanceof BigUint64Array?`[${[...e].map(t=>Ev(t))}]`:`[${e}]`:ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e,(t,n)=>typeof n=="bigint"?`${n}`:n)}function pr(e){if(typeof e=="bigint"&&(eNumber.MAX_SAFE_INTEGER))throw new TypeError(`${e} is not safe to convert to a number.`);return Number(e)}function hz(e,t){return pr(e/t)+pr(e%t)/pr(t)}const U1t=Symbol.for("isArrowBigNum");function Ml(e,...t){return t.length===0?Object.setPrototypeOf(Qn(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}Ml.prototype[U1t]=!0;Ml.prototype.toJSON=function(){return`"${kv(this)}"`};Ml.prototype.valueOf=function(e){return dz(this,e)};Ml.prototype.toString=function(){return kv(this)};Ml.prototype[Symbol.toPrimitive]=function(e="default"){switch(e){case"number":return dz(this);case"string":return kv(this);case"default":return j1t(this)}return kv(this)};function q0(...e){return Ml.apply(this,e)}function j0(...e){return Ml.apply(this,e)}function Tv(...e){return Ml.apply(this,e)}Object.setPrototypeOf(q0.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(j0.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Tv.prototype,Object.create(Uint32Array.prototype));Object.assign(q0.prototype,Ml.prototype,{constructor:q0,signed:!0,TypedArray:Int32Array,BigIntArray:BigInt64Array});Object.assign(j0.prototype,Ml.prototype,{constructor:j0,signed:!1,TypedArray:Uint32Array,BigIntArray:BigUint64Array});Object.assign(Tv.prototype,Ml.prototype,{constructor:Tv,signed:!0,TypedArray:Uint32Array,BigIntArray:BigUint64Array});const z1t=BigInt(4294967296)*BigInt(4294967296),q1t=z1t-BigInt(1);function dz(e,t){const{buffer:n,byteOffset:r,byteLength:i,signed:s}=e,o=new BigUint64Array(n,r,i/8),a=s&&o.at(-1)&BigInt(1)<=0)return XE(e);t=t.slice();let r=1;for(let s=0;s(e.children=null,e.ArrayType=Array,e.OffsetArrayType=Int32Array,e[Symbol.toStringTag]="DataType"))(re.prototype);class Kf extends re{constructor(){super(Z.Null)}toString(){return"Null"}}gz=Symbol.toStringTag;Kf[gz]=(e=>e[Symbol.toStringTag]="Null")(Kf.prototype);class Gd extends re{constructor(t,n){super(Z.Int),this.isSigned=t,this.bitWidth=n}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?BigInt64Array:BigUint64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?"I":"Ui"}nt${this.bitWidth}`}}mz=Symbol.toStringTag;Gd[mz]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]="Int"))(Gd.prototype);class Mv extends Gd{constructor(){super(!0,32)}get ArrayType(){return Int32Array}}Object.defineProperty(Mv.prototype,"ArrayType",{value:Int32Array});class ux extends re{constructor(t){super(Z.Float),this.precision=t}get ArrayType(){switch(this.precision){case fs.HALF:return Uint16Array;case fs.SINGLE:return Float32Array;case fs.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}yz=Symbol.toStringTag;ux[yz]=(e=>(e.precision=null,e[Symbol.toStringTag]="Float"))(ux.prototype);class fx extends re{constructor(){super(Z.Binary)}toString(){return"Binary"}}vz=Symbol.toStringTag;fx[vz]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]="Binary"))(fx.prototype);class hx extends re{constructor(){super(Z.LargeBinary)}toString(){return"LargeBinary"}}bz=Symbol.toStringTag;hx[bz]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]="LargeBinary"))(hx.prototype);class dx extends re{constructor(){super(Z.Utf8)}toString(){return"Utf8"}}_z=Symbol.toStringTag;dx[_z]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]="Utf8"))(dx.prototype);class px extends re{constructor(){super(Z.LargeUtf8)}toString(){return"LargeUtf8"}}wz=Symbol.toStringTag;px[wz]=(e=>(e.ArrayType=Uint8Array,e.OffsetArrayType=BigInt64Array,e[Symbol.toStringTag]="LargeUtf8"))(px.prototype);class gx extends re{constructor(){super(Z.Bool)}toString(){return"Bool"}}xz=Symbol.toStringTag;gx[xz]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]="Bool"))(gx.prototype);class mx extends re{constructor(t,n,r=128){super(Z.Decimal),this.scale=t,this.precision=n,this.bitWidth=r}toString(){return`Decimal[${this.precision}e${this.scale>0?"+":""}${this.scale}]`}}Sz=Symbol.toStringTag;mx[Sz]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]="Decimal"))(mx.prototype);class yx extends re{constructor(t){super(Z.Date),this.unit=t}toString(){return`Date${(this.unit+1)*32}<${Ba[this.unit]}>`}get ArrayType(){return this.unit===Ba.DAY?Int32Array:BigInt64Array}}Az=Symbol.toStringTag;yx[Az]=(e=>(e.unit=null,e[Symbol.toStringTag]="Date"))(yx.prototype);class vx extends re{constructor(t,n){super(Z.Time),this.unit=t,this.bitWidth=n}toString(){return`Time${this.bitWidth}<${Ee[this.unit]}>`}get ArrayType(){switch(this.bitWidth){case 32:return Int32Array;case 64:return BigInt64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}}Ez=Symbol.toStringTag;vx[Ez]=(e=>(e.unit=null,e.bitWidth=null,e[Symbol.toStringTag]="Time"))(vx.prototype);class bx extends re{constructor(t,n){super(Z.Timestamp),this.unit=t,this.timezone=n}toString(){return`Timestamp<${Ee[this.unit]}${this.timezone?`, ${this.timezone}`:""}>`}}Tz=Symbol.toStringTag;bx[Tz]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]="Timestamp"))(bx.prototype);class _x extends re{constructor(t){super(Z.Interval),this.unit=t}toString(){return`Interval<${yc[this.unit]}>`}}kz=Symbol.toStringTag;_x[kz]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]="Interval"))(_x.prototype);class wx extends re{constructor(t){super(Z.Duration),this.unit=t}toString(){return`Duration<${Ee[this.unit]}>`}}Mz=Symbol.toStringTag;wx[Mz]=(e=>(e.unit=null,e.ArrayType=BigInt64Array,e[Symbol.toStringTag]="Duration"))(wx.prototype);class xx extends re{constructor(t){super(Z.List),this.children=[t]}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}Iz=Symbol.toStringTag;xx[Iz]=(e=>(e.children=null,e[Symbol.toStringTag]="List"))(xx.prototype);class Cs extends re{constructor(t){super(Z.Struct),this.children=t}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}}Rz=Symbol.toStringTag;Cs[Rz]=(e=>(e.children=null,e[Symbol.toStringTag]="Struct"))(Cs.prototype);class Sx extends re{constructor(t,n,r){super(Z.Union),this.mode=t,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,s,o)=>(i[s]=o)&&i||i,Object.create(null))}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(" | ")}>`}}Cz=Symbol.toStringTag;Sx[Cz]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]="Union"))(Sx.prototype);class Ax extends re{constructor(t){super(Z.FixedSizeBinary),this.byteWidth=t}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}Nz=Symbol.toStringTag;Ax[Nz]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]="FixedSizeBinary"))(Ax.prototype);class Ex extends re{constructor(t,n){super(Z.FixedSizeList),this.listSize=t,this.children=[n]}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}$z=Symbol.toStringTag;Ex[$z]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]="FixedSizeList"))(Ex.prototype);class Tx extends re{constructor(t,n=!1){var r,i,s;if(super(Z.Map),this.children=[t],this.keysSorted=n,t&&(t.name="entries",!((r=t?.type)===null||r===void 0)&&r.children)){const o=(i=t?.type)===null||i===void 0?void 0:i.children[0];o&&(o.name="key");const a=(s=t?.type)===null||s===void 0?void 0:s.children[1];a&&(a.name="value")}}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}get childType(){return this.children[0].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(", ")}}>`}}Oz=Symbol.toStringTag;Tx[Oz]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]="Map_"))(Tx.prototype);const V1t=(e=>()=>++e)(-1);class xg extends re{constructor(t,n,r,i){super(Z.Dictionary),this.indices=n,this.dictionary=t,this.isOrdered=i||!1,this.id=r==null?V1t():pr(r)}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}Lz=Symbol.toStringTag;xg[Lz]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]="Dictionary"))(xg.prototype);function iu(e){const t=e;switch(e.typeId){case Z.Decimal:return e.bitWidth/32;case Z.Interval:return 1+t.unit;case Z.FixedSizeList:return t.listSize;case Z.FixedSizeBinary:return t.byteWidth;default:return 1}}class tn{visitMany(t,...n){return t.map((r,i)=>this.visit(r,...n.map(s=>s[i])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,n=!0){return W1t(this,t,n)}getVisitFnByTypeId(t,n=!0){return S0(this,t,n)}visitNull(t,...n){return null}visitBool(t,...n){return null}visitInt(t,...n){return null}visitFloat(t,...n){return null}visitUtf8(t,...n){return null}visitLargeUtf8(t,...n){return null}visitBinary(t,...n){return null}visitLargeBinary(t,...n){return null}visitFixedSizeBinary(t,...n){return null}visitDate(t,...n){return null}visitTimestamp(t,...n){return null}visitTime(t,...n){return null}visitDecimal(t,...n){return null}visitList(t,...n){return null}visitStruct(t,...n){return null}visitUnion(t,...n){return null}visitDictionary(t,...n){return null}visitInterval(t,...n){return null}visitDuration(t,...n){return null}visitFixedSizeList(t,...n){return null}visitMap(t,...n){return null}}function W1t(e,t,n=!0){return typeof t=="number"?S0(e,t,n):typeof t=="string"&&t in Z?S0(e,Z[t],n):t&&t instanceof re?S0(e,rO(t),n):t?.type&&t.type instanceof re?S0(e,rO(t.type),n):S0(e,Z.NONE,n)}function S0(e,t,n=!0){let r=null;switch(t){case Z.Null:r=e.visitNull;break;case Z.Bool:r=e.visitBool;break;case Z.Int:r=e.visitInt;break;case Z.Int8:r=e.visitInt8||e.visitInt;break;case Z.Int16:r=e.visitInt16||e.visitInt;break;case Z.Int32:r=e.visitInt32||e.visitInt;break;case Z.Int64:r=e.visitInt64||e.visitInt;break;case Z.Uint8:r=e.visitUint8||e.visitInt;break;case Z.Uint16:r=e.visitUint16||e.visitInt;break;case Z.Uint32:r=e.visitUint32||e.visitInt;break;case Z.Uint64:r=e.visitUint64||e.visitInt;break;case Z.Float:r=e.visitFloat;break;case Z.Float16:r=e.visitFloat16||e.visitFloat;break;case Z.Float32:r=e.visitFloat32||e.visitFloat;break;case Z.Float64:r=e.visitFloat64||e.visitFloat;break;case Z.Utf8:r=e.visitUtf8;break;case Z.LargeUtf8:r=e.visitLargeUtf8;break;case Z.Binary:r=e.visitBinary;break;case Z.LargeBinary:r=e.visitLargeBinary;break;case Z.FixedSizeBinary:r=e.visitFixedSizeBinary;break;case Z.Date:r=e.visitDate;break;case Z.DateDay:r=e.visitDateDay||e.visitDate;break;case Z.DateMillisecond:r=e.visitDateMillisecond||e.visitDate;break;case Z.Timestamp:r=e.visitTimestamp;break;case Z.TimestampSecond:r=e.visitTimestampSecond||e.visitTimestamp;break;case Z.TimestampMillisecond:r=e.visitTimestampMillisecond||e.visitTimestamp;break;case Z.TimestampMicrosecond:r=e.visitTimestampMicrosecond||e.visitTimestamp;break;case Z.TimestampNanosecond:r=e.visitTimestampNanosecond||e.visitTimestamp;break;case Z.Time:r=e.visitTime;break;case Z.TimeSecond:r=e.visitTimeSecond||e.visitTime;break;case Z.TimeMillisecond:r=e.visitTimeMillisecond||e.visitTime;break;case Z.TimeMicrosecond:r=e.visitTimeMicrosecond||e.visitTime;break;case Z.TimeNanosecond:r=e.visitTimeNanosecond||e.visitTime;break;case Z.Decimal:r=e.visitDecimal;break;case Z.List:r=e.visitList;break;case Z.Struct:r=e.visitStruct;break;case Z.Union:r=e.visitUnion;break;case Z.DenseUnion:r=e.visitDenseUnion||e.visitUnion;break;case Z.SparseUnion:r=e.visitSparseUnion||e.visitUnion;break;case Z.Dictionary:r=e.visitDictionary;break;case Z.Interval:r=e.visitInterval;break;case Z.IntervalDayTime:r=e.visitIntervalDayTime||e.visitInterval;break;case Z.IntervalYearMonth:r=e.visitIntervalYearMonth||e.visitInterval;break;case Z.Duration:r=e.visitDuration;break;case Z.DurationSecond:r=e.visitDurationSecond||e.visitDuration;break;case Z.DurationMillisecond:r=e.visitDurationMillisecond||e.visitDuration;break;case Z.DurationMicrosecond:r=e.visitDurationMicrosecond||e.visitDuration;break;case Z.DurationNanosecond:r=e.visitDurationNanosecond||e.visitDuration;break;case Z.FixedSizeList:r=e.visitFixedSizeList;break;case Z.Map:r=e.visitMap;break}if(typeof r=="function")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${Z[t]}'`)}function rO(e){switch(e.typeId){case Z.Null:return Z.Null;case Z.Int:{const{bitWidth:t,isSigned:n}=e;switch(t){case 8:return n?Z.Int8:Z.Uint8;case 16:return n?Z.Int16:Z.Uint16;case 32:return n?Z.Int32:Z.Uint32;case 64:return n?Z.Int64:Z.Uint64}return Z.Int}case Z.Float:switch(e.precision){case fs.HALF:return Z.Float16;case fs.SINGLE:return Z.Float32;case fs.DOUBLE:return Z.Float64}return Z.Float;case Z.Binary:return Z.Binary;case Z.LargeBinary:return Z.LargeBinary;case Z.Utf8:return Z.Utf8;case Z.LargeUtf8:return Z.LargeUtf8;case Z.Bool:return Z.Bool;case Z.Decimal:return Z.Decimal;case Z.Time:switch(e.unit){case Ee.SECOND:return Z.TimeSecond;case Ee.MILLISECOND:return Z.TimeMillisecond;case Ee.MICROSECOND:return Z.TimeMicrosecond;case Ee.NANOSECOND:return Z.TimeNanosecond}return Z.Time;case Z.Timestamp:switch(e.unit){case Ee.SECOND:return Z.TimestampSecond;case Ee.MILLISECOND:return Z.TimestampMillisecond;case Ee.MICROSECOND:return Z.TimestampMicrosecond;case Ee.NANOSECOND:return Z.TimestampNanosecond}return Z.Timestamp;case Z.Date:switch(e.unit){case Ba.DAY:return Z.DateDay;case Ba.MILLISECOND:return Z.DateMillisecond}return Z.Date;case Z.Interval:switch(e.unit){case yc.DAY_TIME:return Z.IntervalDayTime;case yc.YEAR_MONTH:return Z.IntervalYearMonth}return Z.Interval;case Z.Duration:switch(e.unit){case Ee.SECOND:return Z.DurationSecond;case Ee.MILLISECOND:return Z.DurationMillisecond;case Ee.MICROSECOND:return Z.DurationMicrosecond;case Ee.NANOSECOND:return Z.DurationNanosecond}return Z.Duration;case Z.Map:return Z.Map;case Z.List:return Z.List;case Z.Struct:return Z.Struct;case Z.Union:switch(e.mode){case ps.Dense:return Z.DenseUnion;case ps.Sparse:return Z.SparseUnion}return Z.Union;case Z.FixedSizeBinary:return Z.FixedSizeBinary;case Z.FixedSizeList:return Z.FixedSizeList;case Z.Dictionary:return Z.Dictionary}throw new Error(`Unrecognized type '${Z[e.typeId]}'`)}tn.prototype.visitInt8=null;tn.prototype.visitInt16=null;tn.prototype.visitInt32=null;tn.prototype.visitInt64=null;tn.prototype.visitUint8=null;tn.prototype.visitUint16=null;tn.prototype.visitUint32=null;tn.prototype.visitUint64=null;tn.prototype.visitFloat16=null;tn.prototype.visitFloat32=null;tn.prototype.visitFloat64=null;tn.prototype.visitDateDay=null;tn.prototype.visitDateMillisecond=null;tn.prototype.visitTimestampSecond=null;tn.prototype.visitTimestampMillisecond=null;tn.prototype.visitTimestampMicrosecond=null;tn.prototype.visitTimestampNanosecond=null;tn.prototype.visitTimeSecond=null;tn.prototype.visitTimeMillisecond=null;tn.prototype.visitTimeMicrosecond=null;tn.prototype.visitTimeNanosecond=null;tn.prototype.visitDenseUnion=null;tn.prototype.visitSparseUnion=null;tn.prototype.visitIntervalDayTime=null;tn.prototype.visitIntervalYearMonth=null;tn.prototype.visitDuration=null;tn.prototype.visitDurationSecond=null;tn.prototype.visitDurationMillisecond=null;tn.prototype.visitDurationMicrosecond=null;tn.prototype.visitDurationNanosecond=null;const Dz=new Float64Array(1),t0=new Uint32Array(Dz.buffer);function Fz(e){const t=(e&31744)>>10,n=(e&1023)/1024,r=Math.pow(-1,(e&32768)>>15);switch(t){case 31:return r*(n?Number.NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*Math.pow(2,t-15)*(1+n)}function Y1t(e){if(e!==e)return 32256;Dz[0]=e;const t=(t0[1]&2147483648)>>16&65535;let n=t0[1]&2146435072,r=0;return n>=1089470464?t0[0]>0?n=31744:(n=(n&2080374784)>>16,r=(t0[1]&1048575)>>10):n<=1056964608?(r=1048576+(t0[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(t0[1]&1048575)+512>>10),t|n|r&65535}class Me extends tn{}function Ne(e){return(t,n,r)=>{if(t.setValid(n,r!=null))return e(t,n,r)}}const H1t=(e,t,n)=>{e[t]=Math.floor(n/864e5)},Bz=(e,t,n,r)=>{if(n+1{const i=e+n;r?t[i>>3]|=1<>3]&=~(1<{e[t]=n},F6=({values:e},t,n)=>{e[t]=n},Pz=({values:e},t,n)=>{e[t]=Y1t(n)},X1t=(e,t,n)=>{switch(e.type.precision){case fs.HALF:return Pz(e,t,n);case fs.SINGLE:case fs.DOUBLE:return F6(e,t,n)}},Uz=({values:e},t,n)=>{H1t(e,t,n.valueOf())},zz=({values:e},t,n)=>{e[t]=BigInt(n)},K1t=({stride:e,values:t},n,r)=>{t.set(r.subarray(0,e),e*n)},qz=({values:e,valueOffsets:t},n,r)=>Bz(e,t,n,r),jz=({values:e,valueOffsets:t},n,r)=>Bz(e,t,n,$6(r)),J1t=(e,t,n)=>{e.type.unit===Ba.DAY?Uz(e,t,n):zz(e,t,n)},Vz=({values:e},t,n)=>{e[t]=BigInt(n/1e3)},Wz=({values:e},t,n)=>{e[t]=BigInt(n)},Yz=({values:e},t,n)=>{e[t]=BigInt(n*1e3)},Hz=({values:e},t,n)=>{e[t]=BigInt(n*1e6)},Z1t=(e,t,n)=>{switch(e.type.unit){case Ee.SECOND:return Vz(e,t,n);case Ee.MILLISECOND:return Wz(e,t,n);case Ee.MICROSECOND:return Yz(e,t,n);case Ee.NANOSECOND:return Hz(e,t,n)}},Gz=({values:e},t,n)=>{e[t]=n},Xz=({values:e},t,n)=>{e[t]=n},Kz=({values:e},t,n)=>{e[t]=n},Jz=({values:e},t,n)=>{e[t]=n},Q1t=(e,t,n)=>{switch(e.type.unit){case Ee.SECOND:return Gz(e,t,n);case Ee.MILLISECOND:return Xz(e,t,n);case Ee.MICROSECOND:return Kz(e,t,n);case Ee.NANOSECOND:return Jz(e,t,n)}},tbt=({values:e,stride:t},n,r)=>{e.set(r.subarray(0,t),t*n)},ebt=(e,t,n)=>{const r=e.children[0],i=e.valueOffsets,s=Pa.getVisitFn(r);if(Array.isArray(n))for(let o=-1,a=i[t],l=i[t+1];a{const r=e.children[0],{valueOffsets:i}=e,s=Pa.getVisitFn(r);let{[t]:o,[t+1]:a}=i;const l=n instanceof Map?n.entries():Object.entries(n);for(const c of l)if(s(r,o,c),++o>=a)break},rbt=(e,t)=>(n,r,i,s)=>r&&n(r,e,t[s]),ibt=(e,t)=>(n,r,i,s)=>r&&n(r,e,t.get(s)),sbt=(e,t)=>(n,r,i,s)=>r&&n(r,e,t.get(i.name)),obt=(e,t)=>(n,r,i,s)=>r&&n(r,e,t[i.name]),abt=(e,t,n)=>{const r=e.type.children.map(s=>Pa.getVisitFn(s.type)),i=n instanceof Map?sbt(t,n):n instanceof qr?ibt(t,n):Array.isArray(n)?rbt(t,n):obt(t,n);e.type.children.forEach((s,o)=>i(r[o],e.children[o],s,o))},lbt=(e,t,n)=>{e.type.mode===ps.Dense?Zz(e,t,n):Qz(e,t,n)},Zz=(e,t,n)=>{const r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];Pa.visit(i,e.valueOffsets[t],n)},Qz=(e,t,n)=>{const r=e.type.typeIdToChildIndex[e.typeIds[t]],i=e.children[r];Pa.visit(i,t,n)},cbt=(e,t,n)=>{var r;(r=e.dictionary)===null||r===void 0||r.set(e.values[t],n)},ubt=(e,t,n)=>{e.type.unit===yc.DAY_TIME?tq(e,t,n):eq(e,t,n)},tq=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},eq=({values:e},t,n)=>{e[t]=n[0]*12+n[1]%12},nq=({values:e},t,n)=>{e[t]=n},rq=({values:e},t,n)=>{e[t]=n},iq=({values:e},t,n)=>{e[t]=n},sq=({values:e},t,n)=>{e[t]=n},fbt=(e,t,n)=>{switch(e.type.unit){case Ee.SECOND:return nq(e,t,n);case Ee.MILLISECOND:return rq(e,t,n);case Ee.MICROSECOND:return iq(e,t,n);case Ee.NANOSECOND:return sq(e,t,n)}},hbt=(e,t,n)=>{const{stride:r}=e,i=e.children[0],s=Pa.getVisitFn(i);if(Array.isArray(n))for(let o=-1,a=t*r;++o`${Ev(t)}: ${Ev(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}[Symbol.iterator](){return new dbt(this[Za],this[V0])}}class dbt{constructor(t,n){this.childIndex=0,this.children=t.children,this.rowIndex=n,this.childFields=t.type.children,this.numChildren=this.childFields.length}[Symbol.iterator](){return this}next(){const t=this.childIndex;return tn.name)}has(t,n){return t[Za].type.children.findIndex(r=>r.name===n)!==-1}getOwnPropertyDescriptor(t,n){if(t[Za].type.children.findIndex(r=>r.name===n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,n){if(Reflect.has(t,n))return t[n];const r=t[Za].type.children.findIndex(i=>i.name===n);if(r!==-1){const i=mo.visit(t[Za].children[r],t[V0]);return Reflect.set(t,n,i),i}}set(t,n,r){const i=t[Za].type.children.findIndex(s=>s.name===n);return i!==-1?(Pa.visit(t[Za].children[i],t[V0],r),Reflect.set(t,n,r)):Reflect.has(t,n)||typeof n=="symbol"?Reflect.set(t,n,r):!1}}class ve extends tn{}function Ie(e){return(t,n)=>t.getValid(n)?e(t,n):null}const gbt=(e,t)=>864e5*e[t],mbt=(e,t)=>null,oq=(e,t,n)=>{if(n+1>=t.length)return null;const r=pr(t[n]),i=pr(t[n+1]);return e.subarray(r,i)},ybt=({offset:e,values:t},n)=>{const r=e+n;return(t[r>>3]&1<gbt(e,t),lq=({values:e},t)=>pr(e[t]),_h=({stride:e,values:t},n)=>t[e*n],vbt=({stride:e,values:t},n)=>Fz(t[e*n]),cq=({values:e},t)=>e[t],bbt=({stride:e,values:t},n)=>t.subarray(e*n,e*(n+1)),uq=({values:e,valueOffsets:t},n)=>oq(e,t,n),fq=({values:e,valueOffsets:t},n)=>{const r=oq(e,t,n);return r!==null?w4(r):null},_bt=({values:e},t)=>e[t],wbt=({type:e,values:t},n)=>e.precision!==fs.HALF?t[n]:Fz(t[n]),xbt=(e,t)=>e.type.unit===Ba.DAY?aq(e,t):lq(e,t),hq=({values:e},t)=>1e3*pr(e[t]),dq=({values:e},t)=>pr(e[t]),pq=({values:e},t)=>hz(e[t],BigInt(1e3)),gq=({values:e},t)=>hz(e[t],BigInt(1e6)),Sbt=(e,t)=>{switch(e.type.unit){case Ee.SECOND:return hq(e,t);case Ee.MILLISECOND:return dq(e,t);case Ee.MICROSECOND:return pq(e,t);case Ee.NANOSECOND:return gq(e,t)}},mq=({values:e},t)=>e[t],yq=({values:e},t)=>e[t],vq=({values:e},t)=>e[t],bq=({values:e},t)=>e[t],Abt=(e,t)=>{switch(e.type.unit){case Ee.SECOND:return mq(e,t);case Ee.MILLISECOND:return yq(e,t);case Ee.MICROSECOND:return vq(e,t);case Ee.NANOSECOND:return bq(e,t)}},Ebt=({values:e,stride:t},n)=>D6.decimal(e.subarray(t*n,t*(n+1))),Tbt=(e,t)=>{const{valueOffsets:n,stride:r,children:i}=e,{[t*r]:s,[t*r+1]:o}=n,l=i[0].slice(s,o-s);return new qr([l])},kbt=(e,t)=>{const{valueOffsets:n,children:r}=e,{[t]:i,[t+1]:s}=n,o=r[0];return new P6(o.slice(i,s-i))},Mbt=(e,t)=>new B6(e,t),Ibt=(e,t)=>e.type.mode===ps.Dense?_q(e,t):wq(e,t),_q=(e,t)=>{const n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return mo.visit(r,e.valueOffsets[t])},wq=(e,t)=>{const n=e.type.typeIdToChildIndex[e.typeIds[t]],r=e.children[n];return mo.visit(r,t)},Rbt=(e,t)=>{var n;return(n=e.dictionary)===null||n===void 0?void 0:n.get(e.values[t])},Cbt=(e,t)=>e.type.unit===yc.DAY_TIME?xq(e,t):Sq(e,t),xq=({values:e},t)=>e.subarray(2*t,2*(t+1)),Sq=({values:e},t)=>{const n=e[t],r=new Int32Array(2);return r[0]=Math.trunc(n/12),r[1]=Math.trunc(n%12),r},Aq=({values:e},t)=>e[t],Eq=({values:e},t)=>e[t],Tq=({values:e},t)=>e[t],kq=({values:e},t)=>e[t],Nbt=(e,t)=>{switch(e.type.unit){case Ee.SECOND:return Aq(e,t);case Ee.MILLISECOND:return Eq(e,t);case Ee.MICROSECOND:return Tq(e,t);case Ee.NANOSECOND:return kq(e,t)}},$bt=(e,t)=>{const{stride:n,children:r}=e,s=r[0].slice(t*n,n);return new qr([s])};ve.prototype.visitNull=Ie(mbt);ve.prototype.visitBool=Ie(ybt);ve.prototype.visitInt=Ie(_bt);ve.prototype.visitInt8=Ie(_h);ve.prototype.visitInt16=Ie(_h);ve.prototype.visitInt32=Ie(_h);ve.prototype.visitInt64=Ie(cq);ve.prototype.visitUint8=Ie(_h);ve.prototype.visitUint16=Ie(_h);ve.prototype.visitUint32=Ie(_h);ve.prototype.visitUint64=Ie(cq);ve.prototype.visitFloat=Ie(wbt);ve.prototype.visitFloat16=Ie(vbt);ve.prototype.visitFloat32=Ie(_h);ve.prototype.visitFloat64=Ie(_h);ve.prototype.visitUtf8=Ie(fq);ve.prototype.visitLargeUtf8=Ie(fq);ve.prototype.visitBinary=Ie(uq);ve.prototype.visitLargeBinary=Ie(uq);ve.prototype.visitFixedSizeBinary=Ie(bbt);ve.prototype.visitDate=Ie(xbt);ve.prototype.visitDateDay=Ie(aq);ve.prototype.visitDateMillisecond=Ie(lq);ve.prototype.visitTimestamp=Ie(Sbt);ve.prototype.visitTimestampSecond=Ie(hq);ve.prototype.visitTimestampMillisecond=Ie(dq);ve.prototype.visitTimestampMicrosecond=Ie(pq);ve.prototype.visitTimestampNanosecond=Ie(gq);ve.prototype.visitTime=Ie(Abt);ve.prototype.visitTimeSecond=Ie(mq);ve.prototype.visitTimeMillisecond=Ie(yq);ve.prototype.visitTimeMicrosecond=Ie(vq);ve.prototype.visitTimeNanosecond=Ie(bq);ve.prototype.visitDecimal=Ie(Ebt);ve.prototype.visitList=Ie(Tbt);ve.prototype.visitStruct=Ie(Mbt);ve.prototype.visitUnion=Ie(Ibt);ve.prototype.visitDenseUnion=Ie(_q);ve.prototype.visitSparseUnion=Ie(wq);ve.prototype.visitDictionary=Ie(Rbt);ve.prototype.visitInterval=Ie(Cbt);ve.prototype.visitIntervalDayTime=Ie(xq);ve.prototype.visitIntervalYearMonth=Ie(Sq);ve.prototype.visitDuration=Ie(Nbt);ve.prototype.visitDurationSecond=Ie(Aq);ve.prototype.visitDurationMillisecond=Ie(Eq);ve.prototype.visitDurationMicrosecond=Ie(Tq);ve.prototype.visitDurationNanosecond=Ie(kq);ve.prototype.visitFixedSizeList=Ie($bt);ve.prototype.visitMap=Ie(kbt);const mo=new ve,A0=Symbol.for("keys"),W0=Symbol.for("vals"),E0=Symbol.for("kKeysAsStrings"),k4=Symbol.for("_kKeysAsStrings");class P6{constructor(t){return this[A0]=new qr([t.children[0]]).memoize(),this[W0]=t.children[1],new Proxy(this,new Lbt)}get[E0](){return this[k4]||(this[k4]=Array.from(this[A0].toArray(),String))}[Symbol.iterator](){return new Obt(this[A0],this[W0])}get size(){return this[A0].length}toArray(){return Object.values(this.toJSON())}toJSON(){const t=this[A0],n=this[W0],r={};for(let i=-1,s=t.length;++i`${Ev(t)}: ${Ev(n)}`).join(", ")}}`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}}class Obt{constructor(t,n){this.keys=t,this.vals=n,this.keyIndex=0,this.numKeys=t.length}[Symbol.iterator](){return this}next(){const t=this.keyIndex;return t===this.numKeys?{done:!0,value:null}:(this.keyIndex++,{done:!1,value:[this.keys.get(t),mo.visit(this.vals,t)]})}}class Lbt{isExtensible(){return!1}deleteProperty(){return!1}preventExtensions(){return!0}ownKeys(t){return t[E0]}has(t,n){return t[E0].includes(n)}getOwnPropertyDescriptor(t,n){if(t[E0].indexOf(n)!==-1)return{writable:!0,enumerable:!0,configurable:!0}}get(t,n){if(Reflect.has(t,n))return t[n];const r=t[E0].indexOf(n);if(r!==-1){const i=mo.visit(Reflect.get(t,W0),r);return Reflect.set(t,n,i),i}}set(t,n,r){const i=t[E0].indexOf(n);return i!==-1?(Pa.visit(Reflect.get(t,W0),i,r),Reflect.set(t,n,r)):Reflect.has(t,n)?Reflect.set(t,n,r):!1}}Object.defineProperties(P6.prototype,{[Symbol.toStringTag]:{enumerable:!1,configurable:!1,value:"Row"},[A0]:{writable:!0,enumerable:!1,configurable:!1,value:null},[W0]:{writable:!0,enumerable:!1,configurable:!1,value:null},[k4]:{writable:!0,enumerable:!1,configurable:!1,value:null}});let iO;function Mq(e,t,n,r){const{length:i=0}=e;let s=typeof t!="number"?0:t,o=typeof n!="number"?i:n;return s<0&&(s=(s%i+i)%i),o<0&&(o=(o%i+i)%i),oi&&(o=i),r?r(e,s,o):[s,o]}const U6=(e,t)=>e<0?t+e:e,sO=e=>e!==e;function cm(e){if(typeof e!=="object"||e===null)return sO(e)?sO:n=>n===e;if(e instanceof Date){const n=e.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(e)?n=>n?$1t(e,n):!1:e instanceof Map?Fbt(e):Array.isArray(e)?Dbt(e):e instanceof qr?Bbt(e):Pbt(e,!0)}function Dbt(e){const t=[];for(let n=-1,r=e.length;++n!1;const r=[];for(let i=-1,s=n.length;++i{if(!n||typeof n!="object")return!1;switch(n.constructor){case Array:return Ubt(e,n);case Map:return oO(e,n,n.keys());case P6:case B6:case Object:case void 0:return oO(e,n,t||Object.keys(n))}return n instanceof qr?zbt(e,n):!1}}function Ubt(e,t){const n=e.length;if(t.length!==n)return!1;for(let r=-1;++r>r}function kx(e,t,n){const r=n.byteLength+7&-8;if(e>0||n.byteLength>3):Mx(new z6(n,e,t,null,Iq)).subarray(0,r)),i}return n}function Mx(e){const t=[];let n=0,r=0,i=0;for(const o of e)o&&(i|=1<0)&&(t[n++]=i);const s=new Uint8Array(t.length+7&-8);return s.set(t),s}class z6{constructor(t,n,r,i,s){this.bytes=t,this.length=r,this.context=i,this.get=s,this.bit=n%8,this.byteIndex=n>>3,this.byte=t[this.byteIndex++],this.index=0}next(){return this.index>3<<3,i=t+(t%8===0?0:8-t%8);return M4(e,t,i)+M4(e,r,n)+jbt(e,i>>3,r-i>>3)}function jbt(e,t,n){let r=0,i=Math.trunc(t);const s=new DataView(e.buffer,e.byteOffset,e.byteLength),o=n===void 0?e.byteLength:i+n;for(;o-i>=4;)r+=KE(s.getUint32(i)),i+=4;for(;o-i>=2;)r+=KE(s.getUint16(i)),i+=2;for(;o-i>=1;)r+=KE(s.getUint8(i)),i+=1;return r}function KE(e){let t=Math.trunc(e);return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}const Vbt=-1;class Jn{get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get nullable(){if(this._nullCount!==0){const{type:t}=this;return re.isSparseUnion(t)?this.children.some(n=>n.nullable):re.isDenseUnion(t)?this.children.some(n=>n.nullable):this.nullBitmap&&this.nullBitmap.byteLength>0}return!0}get byteLength(){let t=0;const{valueOffsets:n,values:r,nullBitmap:i,typeIds:s}=this;return n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),s&&(t+=s.byteLength),this.children.reduce((o,a)=>o+a.byteLength,t)}get nullCount(){if(re.isUnion(this.type))return this.children.reduce((r,i)=>r+i.nullCount,0);let t=this._nullCount,n;return t<=Vbt&&(n=this.nullBitmap)&&(this._nullCount=t=n.length===0?0:this.length-M4(n,this.offset,this.offset+this.length)),t}constructor(t,n,r,i,s,o=[],a){this.type=t,this.children=o,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1));let l;s instanceof Jn?(this.stride=s.stride,this.values=s.values,this.typeIds=s.typeIds,this.nullBitmap=s.nullBitmap,this.valueOffsets=s.valueOffsets):(this.stride=iu(t),s&&((l=s[0])&&(this.valueOffsets=l),(l=s[1])&&(this.values=l),(l=s[2])&&(this.nullBitmap=l),(l=s[3])&&(this.typeIds=l)))}getValid(t){const{type:n}=this;if(re.isUnion(n)){const r=n,i=this.children[r.typeIdToChildIndex[this.typeIds[t]]],s=r.mode===ps.Dense?this.valueOffsets[t]:t;return i.getValid(s)}if(this.nullable&&this.nullCount>0){const r=this.offset+t;return(this.nullBitmap[r>>3]&1<>3;(!s||s.byteLength<=u)&&(s=new Uint8Array((o+a+63&-64)>>3).fill(255),this.nullCount>0?(s.set(kx(o,a,this.nullBitmap),0),Object.assign(this,{nullBitmap:s})):Object.assign(this,{nullBitmap:s,_nullCount:0}));const f=s[u];r=(f&c)!==0,s[u]=n?f|c:f&~c}return r!==!!n&&(this._nullCount=this.nullCount+(n?-1:1)),n}clone(t=this.type,n=this.offset,r=this.length,i=this._nullCount,s=this,o=this.children){return new Jn(t,n,r,i,s,o,this.dictionary)}slice(t,n){const{stride:r,typeId:i,children:s}=this,o=+(this._nullCount===0)-1,a=i===16?r:1,l=this._sliceBuffers(t,n,r,i);return this.clone(this.type,this.offset+t,n,o,l,s.length===0||this.valueOffsets?s:this._sliceChildren(s,a*t,a*n))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===Z.Null)return this.clone(this.type,0,t,0);const{length:n,nullCount:r}=this,i=new Uint8Array((t+63&-64)>>3).fill(255,0,n>>3);i[n>>3]=(1<0&&i.set(kx(this.offset,n,this.nullBitmap),0);const s=this.buffers;return s[ru.VALIDITY]=i,this.clone(this.type,0,t,r+(t-n),s)}_sliceBuffers(t,n,r,i){let s;const{buffers:o}=this;return(s=o[ru.TYPE])&&(o[ru.TYPE]=s.subarray(t,t+n)),(s=o[ru.OFFSET])&&(o[ru.OFFSET]=s.subarray(t,t+n+1))||(s=o[ru.DATA])&&(o[ru.DATA]=i===6?s:s.subarray(r*t,r*(t+n))),o}_sliceChildren(t,n,r){return t.map(i=>i.slice(n,r))}}Jn.prototype.children=Object.freeze([]);class Qy extends tn{visit(t){return this.getVisitFn(t.type).call(this,t)}visitNull(t){const{["type"]:n,["offset"]:r=0,["length"]:i=0}=t;return new Jn(n,r,i,i)}visitBool(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length>>3,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitInt(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitFloat(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitUtf8(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.data),s=dn(t.nullBitmap),o=ey(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=t.nullBitmap?-1:0}=t;return new Jn(n,r,a,l,[o,i,s])}visitLargeUtf8(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.data),s=dn(t.nullBitmap),o=H7(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=t.nullBitmap?-1:0}=t;return new Jn(n,r,a,l,[o,i,s])}visitBinary(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.data),s=dn(t.nullBitmap),o=ey(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=t.nullBitmap?-1:0}=t;return new Jn(n,r,a,l,[o,i,s])}visitLargeBinary(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.data),s=dn(t.nullBitmap),o=H7(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=t.nullBitmap?-1:0}=t;return new Jn(n,r,a,l,[o,i,s])}visitFixedSizeBinary(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length/iu(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitDate(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length/iu(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitTimestamp(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length/iu(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitTime(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length/iu(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitDecimal(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length/iu(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitList(t){const{["type"]:n,["offset"]:r=0,["child"]:i}=t,s=dn(t.nullBitmap),o=ey(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=t.nullBitmap?-1:0}=t;return new Jn(n,r,a,l,[o,void 0,s],[i])}visitStruct(t){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=t,s=dn(t.nullBitmap),{length:o=i.reduce((l,{length:c})=>Math.max(l,c),0),nullCount:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,void 0,s],i)}visitUnion(t){const{["type"]:n,["offset"]:r=0,["children"]:i=[]}=t,s=Qn(n.ArrayType,t.typeIds),{["length"]:o=s.length,["nullCount"]:a=-1}=t;if(re.isSparseUnion(n))return new Jn(n,r,o,a,[void 0,void 0,void 0,s],i);const l=ey(t.valueOffsets);return new Jn(n,r,o,a,[l,void 0,void 0,s],i)}visitDictionary(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.indices.ArrayType,t.data),{["dictionary"]:o=new qr([new Qy().visit({type:n.dictionary})])}=t,{["length"]:a=s.length,["nullCount"]:l=t.nullBitmap?-1:0}=t;return new Jn(n,r,a,l,[void 0,s,i],[],o)}visitInterval(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length/iu(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitDuration(t){const{["type"]:n,["offset"]:r=0}=t,i=dn(t.nullBitmap),s=Qn(n.ArrayType,t.data),{["length"]:o=s.length,["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,s,i])}visitFixedSizeList(t){const{["type"]:n,["offset"]:r=0,["child"]:i=new Qy().visit({type:n.valueType})}=t,s=dn(t.nullBitmap),{["length"]:o=i.length/iu(n),["nullCount"]:a=t.nullBitmap?-1:0}=t;return new Jn(n,r,o,a,[void 0,void 0,s],[i])}visitMap(t){const{["type"]:n,["offset"]:r=0,["child"]:i=new Qy().visit({type:n.childType})}=t,s=dn(t.nullBitmap),o=ey(t.valueOffsets),{["length"]:a=o.length-1,["nullCount"]:l=t.nullBitmap?-1:0}=t;return new Jn(n,r,a,l,[o,void 0,s],[i])}}const Wbt=new Qy;function nn(e){return Wbt.visit(e)}class aO{constructor(t=0,n){this.numChunks=t,this.getChunkIterator=n,this.chunkIndex=0,this.chunkIterator=this.getChunkIterator(0)}next(){for(;this.chunkIndext.nullable)}function Rq(e){return e.reduce((t,n)=>t+n.nullCount,0)}function Cq(e){return e.reduce((t,n,r)=>(t[r+1]=t[r]+n.length,t),new Uint32Array(e.length+1))}function Nq(e,t,n,r){const i=[];for(let s=-1,o=e.length;++s=r)break;if(n>=l+c)continue;if(l>=n&&l+c<=r){i.push(a);continue}const u=Math.max(0,n-l),f=Math.min(r-l,c);i.push(a.slice(u,f-u))}return i.length===0&&i.push(e[0].slice(0,0)),i}function q6(e,t,n,r){let i=0,s=0,o=t.length-1;do{if(i>=o-1)return n0?0:-1}function Gbt(e,t){const{nullBitmap:n}=e;if(!n||e.nullCount<=0)return-1;let r=0;for(const i of new z6(n,e.offset+(t||0),e.length,n,Iq)){if(!i)return r;++r}return-1}function Oe(e,t,n){if(t===void 0)return-1;if(t===null)switch(e.typeId){case Z.Union:break;case Z.Dictionary:break;default:return Gbt(e,n)}const r=mo.getVisitFn(e),i=cm(t);for(let s=(n||0)-1,o=e.length;++s{const i=e.data[r];return i.values.subarray(0,i.length)[Symbol.iterator]()});let n=0;return new aO(e.data.length,r=>{const s=e.data[r].length,o=e.slice(n,n+s);return n+=s,new Xbt(o)})}class Xbt{constructor(t){this.vector=t,this.index=0}next(){return this.indexa.data):t;if(s.length===0||s.some(a=>!(a instanceof Jn)))throw new TypeError("Vector constructor expects an Array of Data instances.");const o=(n=s[0])===null||n===void 0?void 0:n.type;switch(s.length){case 0:this._offsets=[0];break;case 1:{const{get:a,set:l,indexOf:c}=Fq[o.typeId],u=s[0];this.isValid=f=>j6(u,f),this.get=f=>a(u,f),this.set=(f,h)=>l(u,f,h),this.indexOf=f=>c(u,f),this._offsets=[0,u.length];break}default:Object.setPrototypeOf(this,Bq[o.typeId]),this._offsets=Cq(s);break}this.data=s,this.type=o,this.stride=iu(o),this.numChildren=(i=(r=o.children)===null||r===void 0?void 0:r.length)!==null&&i!==void 0?i:0,this.length=this._offsets.at(-1)}get byteLength(){return this.data.reduce((t,n)=>t+n.byteLength,0)}get nullable(){return Ybt(this.data)}get nullCount(){return Rq(this.data)}get ArrayType(){return this.type.ArrayType}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}get VectorName(){return`${Z[this.type.typeId]}Vector`}isValid(t){return!1}get(t){return null}at(t){return this.get(U6(t,this.length))}set(t,n){}indexOf(t,n){return-1}includes(t,n){return this.indexOf(t,n)>-1}[Symbol.iterator](){return V6.visit(this)}concat(...t){return new nd(this.data.concat(t.flatMap(n=>n.data).flat(Number.POSITIVE_INFINITY)))}slice(t,n){return new nd(Mq(this,t,n,({data:r,_offsets:i},s,o)=>Nq(r,i,s,o)))}toJSON(){return[...this]}toArray(){const{type:t,data:n,length:r,stride:i,ArrayType:s}=this;switch(t.typeId){case Z.Int:case Z.Float:case Z.Decimal:case Z.Time:case Z.Timestamp:switch(n.length){case 0:return new s;case 1:return n[0].values.subarray(0,r*i);default:return n.reduce((o,{values:a,length:l})=>(o.array.set(a.subarray(0,l*i),o.offset),o.offset+=l*i,o),{array:new s(r*i),offset:0}).array}}return[...this]}toString(){return`[${[...this].join(",")}]`}getChild(t){var n;return this.getChildAt((n=this.type.children)===null||n===void 0?void 0:n.findIndex(r=>r.name===t))}getChildAt(t){return t>-1&&tn[t])):null}get isMemoized(){return re.isDictionary(this.type)?this.data[0].dictionary.isMemoized:!1}memoize(){if(re.isDictionary(this.type)){const t=new Cx(this.data[0].dictionary),n=this.data.map(r=>{const i=r.clone();return i.dictionary=t,i});return new nd(n)}return new Cx(this)}unmemoize(){if(re.isDictionary(this.type)&&this.isMemoized){const t=this.data[0].dictionary.unmemoize(),n=this.data.map(r=>{const i=r.clone();return i.dictionary=t,i});return new nd(n)}return this}};Dq=Symbol.toStringTag;qr[Dq]=(e=>{e.type=re.prototype,e.data=[],e.length=0,e.stride=1,e.numChildren=0,e._offsets=new Uint32Array([0]),e[Symbol.isConcatSpreadable]=!0;const t=Object.keys(Z).map(n=>Z[n]).filter(n=>typeof n=="number"&&n!==Z.NONE);for(const n of t){const r=mo.getVisitFnByTypeId(n),i=Pa.getVisitFnByTypeId(n),s=Rx.getVisitFnByTypeId(n);Fq[n]={get:r,set:i,indexOf:s},Bq[n]=Object.create(e,{isValid:{value:Ix(j6)},get:{value:Ix(mo.getVisitFnByTypeId(n))},set:{value:$q(Pa.getVisitFnByTypeId(n))},indexOf:{value:Oq(Rx.getVisitFnByTypeId(n))}})}return"Vector"})(qr.prototype);class Cx extends qr{constructor(t){super(t.data);const n=this.get,r=this.set,i=this.slice,s=new Array(this.length);Object.defineProperty(this,"get",{value(o){const a=s[o];if(a!==void 0)return a;const l=n.call(this,o);return s[o]=l,l}}),Object.defineProperty(this,"set",{value(o,a){r.call(this,o,a),s[o]=a}}),Object.defineProperty(this,"slice",{value:(o,a)=>new Cx(i.call(this,o,a))}),Object.defineProperty(this,"isMemoized",{value:!0}),Object.defineProperty(this,"unmemoize",{value:()=>new qr(this.data)}),Object.defineProperty(this,"memoize",{value:()=>this})}}class I4{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static sizeOf(){return 24}static createBlock(t,n,r,i){return t.prep(8,24),t.writeInt64(BigInt(i??0)),t.pad(4),t.writeInt32(r),t.writeInt64(BigInt(n??0)),t.offset()}}class Co{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsFooter(t,n){return(n||new Co).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsFooter(t,n){return t.setPosition(t.position()+Gn),(n||new Co).__init(t.readInt32(t.position())+t.position(),t)}version(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):si.V1}schema(t){const n=this.bb.__offset(this.bb_pos,6);return n?(t||new zl).__init(this.bb.__indirect(this.bb_pos+n),this.bb):null}dictionaries(t,n){const r=this.bb.__offset(this.bb_pos,8);return r?(n||new I4).__init(this.bb.__vector(this.bb_pos+r)+t*24,this.bb):null}dictionariesLength(){const t=this.bb.__offset(this.bb_pos,8);return t?this.bb.__vector_len(this.bb_pos+t):0}recordBatches(t,n){const r=this.bb.__offset(this.bb_pos,10);return r?(n||new I4).__init(this.bb.__vector(this.bb_pos+r)+t*24,this.bb):null}recordBatchesLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.__vector_len(this.bb_pos+t):0}customMetadata(t,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new xi).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startFooter(t){t.startObject(5)}static addVersion(t,n){t.addFieldInt16(0,n,si.V1)}static addSchema(t,n){t.addFieldOffset(1,n,0)}static addDictionaries(t,n){t.addFieldOffset(2,n,0)}static startDictionariesVector(t,n){t.startVector(24,n,8)}static addRecordBatches(t,n){t.addFieldOffset(3,n,0)}static startRecordBatchesVector(t,n){t.startVector(24,n,8)}static addCustomMetadata(t,n){t.addFieldOffset(4,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static endFooter(t){return t.endObject()}static finishFooterBuffer(t,n){t.finish(n)}static finishSizePrefixedFooterBuffer(t,n){t.finish(n,void 0,!0)}}class jn{constructor(t=[],n,r,i=si.V5){this.fields=t||[],this.metadata=n||new Map,r||(r=R4(this.fields)),this.dictionaries=r,this.metadataVersion=i}get[Symbol.toStringTag](){return"Schema"}get names(){return this.fields.map(t=>t.name)}toString(){return`Schema<{ ${this.fields.map((t,n)=>`${n}: ${t}`).join(", ")} }>`}select(t){const n=new Set(t),r=this.fields.filter(i=>n.has(i.name));return new jn(r,this.metadata)}selectAt(t){const n=t.map(r=>this.fields[r]).filter(Boolean);return new jn(n,this.metadata)}assign(...t){const n=t[0]instanceof jn?t[0]:Array.isArray(t[0])?new jn(t[0]):new jn(t),r=[...this.fields],i=A_(A_(new Map,this.metadata),n.metadata),s=n.fields.filter(a=>{const l=r.findIndex(c=>c.name===a.name);return~l?(r[l]=a.clone({metadata:A_(A_(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),o=R4(s,new Map);return new jn([...r,...s],i,new Map([...this.dictionaries,...o]))}}jn.prototype.fields=null;jn.prototype.metadata=null;jn.prototype.dictionaries=null;class kr{static new(...t){let[n,r,i,s]=t;return t[0]&&typeof t[0]=="object"&&({name:n}=t[0],r===void 0&&(r=t[0].type),i===void 0&&(i=t[0].nullable),s===void 0&&(s=t[0].metadata)),new kr(`${n}`,r,i,s)}constructor(t,n,r=!1,i){this.name=t,this.type=n,this.nullable=r,this.metadata=i||new Map}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return"Field"}toString(){return`${this.name}: ${this.type}`}clone(...t){let[n,r,i,s]=t;return!t[0]||typeof t[0]!="object"?[n=this.name,r=this.type,i=this.nullable,s=this.metadata]=t:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:s=this.metadata}=t[0],kr.new(n,r,i,s)}}kr.prototype.type=null;kr.prototype.name=null;kr.prototype.nullable=null;kr.prototype.metadata=null;function A_(e,t){return new Map([...e||new Map,...t||new Map])}function R4(e,t=new Map){for(let n=-1,r=e.length;++n0&&R4(s.children,t)}return t}var Kbt=lz,Jbt=_g;class Iv{static decode(t){t=new Jbt(dn(t));const n=Co.getRootAsFooter(t),r=jn.decode(n.schema(),new Map,n.version());return new Zbt(r,n)}static encode(t){const n=new Kbt,r=jn.encode(n,t.schema);Co.startRecordBatchesVector(n,t.numRecordBatches);for(const o of[...t.recordBatches()].slice().reverse())Jf.encode(n,o);const i=n.endVector();Co.startDictionariesVector(n,t.numDictionaries);for(const o of[...t.dictionaryBatches()].slice().reverse())Jf.encode(n,o);const s=n.endVector();return Co.startFooter(n),Co.addSchema(n,r),Co.addVersion(n,si.V5),Co.addRecordBatches(n,i),Co.addDictionaries(n,s),Co.finishFooterBuffer(n,Co.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}constructor(t,n=si.V5,r,i){this.schema=t,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}*recordBatches(){for(let t,n=-1,r=this.numRecordBatches;++n=0&&t=0&&t=0&&t=0&&tthis._closedPromiseResolve=t)}get closed(){return this._closedPromise}cancel(t){return De(this,void 0,void 0,function*(){yield this.return(t)})}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){const{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(jr);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return pa.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return pa.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}throw(t){return De(this,void 0,void 0,function*(){return yield this.abort(t),jr})}return(t){return De(this,void 0,void 0,function*(){return yield this.close(),jr})}read(t){return De(this,void 0,void 0,function*(){return(yield this.next(t,"read")).value})}peek(t){return De(this,void 0,void 0,function*(){return(yield this.next(t,"peek")).value})}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(jr)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error("AsyncQueue is closed")}}class Ew extends Qbt{write(t){if((t=dn(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?w4(this.toUint8Array(!0)):this.toUint8Array(!1).then(w4)}toUint8Array(t=!1){return t?mc(this._values)[0]:De(this,void 0,void 0,function*(){var n,r,i,s;const o=[];let a=0;try{for(var l=!0,c=Ed(this),u;u=yield c.next(),n=u.done,!n;l=!0){s=u.value,l=!1;const f=s;o.push(f),a+=f.byteLength}}catch(f){r={error:f}}finally{try{!l&&!n&&(i=c.return)&&(yield i.call(c))}finally{if(r)throw r.error}}return mc(o,a)[0]})}}class Nx{constructor(t){t&&(this.source=new t_t(pa.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class Sg{constructor(t){t instanceof Sg?this.source=t.source:t instanceof Ew?this.source=new Zh(pa.fromAsyncIterable(t)):iz(t)?this.source=new Zh(pa.fromNodeStream(t)):O6(t)?this.source=new Zh(pa.fromDOMStream(t)):rz(t)?this.source=new Zh(pa.fromDOMStream(t.body)):k1(t)?this.source=new Zh(pa.fromIterable(t)):Hd(t)?this.source=new Zh(pa.fromAsyncIterable(t)):lm(t)&&(this.source=new Zh(pa.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class t_t{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,"peek").value}read(t){return this.next(t,"read").value}next(t,n="read"){return this.source.next({cmd:n,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||jr)}return(t){return Object.create(this.source.return&&this.source.return(t)||jr)}}class Zh{constructor(t){this.source=t,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}cancel(t){return De(this,void 0,void 0,function*(){yield this.return(t)})}get closed(){return this._closedPromise}read(t){return De(this,void 0,void 0,function*(){return(yield this.next(t,"read")).value})}peek(t){return De(this,void 0,void 0,function*(){return(yield this.next(t,"peek")).value})}next(t){return De(this,arguments,void 0,function*(n,r="read"){return yield this.source.next({cmd:r,size:n})})}throw(t){return De(this,void 0,void 0,function*(){const n=this.source.throw&&(yield this.source.throw(t))||jr;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}return(t){return De(this,void 0,void 0,function*(){const n=this.source.return&&(yield this.source.return(t))||jr;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)})}}class cO extends Nx{constructor(t,n){super(),this.position=0,this.buffer=dn(t),this.size=n===void 0?this.buffer.byteLength:n}readInt32(t){const{buffer:n,byteOffset:r}=this.readAt(t,4);return new DataView(n,r).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),t>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let s=i>>>16;return i=n[2]*r[3],s+=i,i=n[3]*r[2]>>>0,s+=i,this.buffer[0]+=s<<16,this.buffer[1]=s>>>0>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(t){const n=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],n>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(t){return this.buffer[1]>>0,n[2]=this.buffer[2]+t.buffer[2]>>>0,n[1]=this.buffer[1]+t.buffer[1]>>>0,n[0]=this.buffer[0]+t.buffer[0]>>>0,n[0]>>0&&++n[1],n[1]>>0&&++n[2],n[2]>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${I0(this.buffer[3])} ${I0(this.buffer[2])} ${I0(this.buffer[1])} ${I0(this.buffer[0])}`}static multiply(t,n){return new ql(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new ql(new Uint32Array(t.buffer)).plus(n)}static from(t,n=new Uint32Array(4)){return ql.fromString(typeof t=="string"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(4)){return ql.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(4)){const r=t.startsWith("-"),i=t.length,s=new ql(n);for(let o=r?1:0;o0&&this.readData(t,r)||new Uint8Array(0)}readOffsets(t,n){return this.readData(t,n)}readTypeIds(t,n){return this.readData(t,n)}readData(t,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(t){return this.dictionaries.get(t.id)}}class n_t extends Uq{constructor(t,n,r,i,s){super(new Uint8Array(0),n,r,i,s),this.sources=t}readNullBitmap(t,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):Mx(this.sources[r])}readOffsets(t,{offset:n}=this.nextBufferRange()){return Qn(Uint8Array,Qn(t.OffsetArrayType,this.sources[n]))}readTypeIds(t,{offset:n}=this.nextBufferRange()){return Qn(Uint8Array,Qn(t.ArrayType,this.sources[n]))}readData(t,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return re.isTimestamp(t)||(re.isInt(t)||re.isTime(t))&&t.bitWidth===64||re.isDuration(t)||re.isDate(t)&&t.unit===Ba.MILLISECOND?Qn(Uint8Array,Zs.convertArray(r[n])):re.isDecimal(t)?Qn(Uint8Array,ql.convertArray(r[n])):re.isBinary(t)||re.isLargeBinary(t)||re.isFixedSizeBinary(t)?r_t(r[n]):re.isBool(t)?Mx(r[n]):re.isUtf8(t)||re.isLargeUtf8(t)?$6(r[n].join("")):Qn(Uint8Array,Qn(t.ArrayType,r[n].map(i=>+i)))}}function r_t(e){const t=e.join(""),n=new Uint8Array(t.length/2);for(let r=0;r>1]=Number.parseInt(t.slice(r,r+2),16);return n}class we extends tn{compareSchemas(t,n){return t===n||n instanceof t.constructor&&this.compareManyFields(t.fields,n.fields)}compareManyFields(t,n){return t===n||Array.isArray(t)&&Array.isArray(n)&&t.length===n.length&&t.every((r,i)=>this.compareFields(r,n[i]))}compareFields(t,n){return t===n||n instanceof t.constructor&&t.name===n.name&&t.nullable===n.nullable&&this.visit(t.type,n.type)}}function Vs(e,t){return t instanceof e.constructor}function mp(e,t){return e===t||Vs(e,t)}function qu(e,t){return e===t||Vs(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function qS(e,t){return e===t||Vs(e,t)&&e.precision===t.precision}function i_t(e,t){return e===t||Vs(e,t)&&e.byteWidth===t.byteWidth}function H6(e,t){return e===t||Vs(e,t)&&e.unit===t.unit}function M1(e,t){return e===t||Vs(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function I1(e,t){return e===t||Vs(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function s_t(e,t){return e===t||Vs(e,t)&&e.children.length===t.children.length&&Zf.compareManyFields(e.children,t.children)}function o_t(e,t){return e===t||Vs(e,t)&&e.children.length===t.children.length&&Zf.compareManyFields(e.children,t.children)}function G6(e,t){return e===t||Vs(e,t)&&e.mode===t.mode&&e.typeIds.every((n,r)=>n===t.typeIds[r])&&Zf.compareManyFields(e.children,t.children)}function a_t(e,t){return e===t||Vs(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&Zf.visit(e.indices,t.indices)&&Zf.visit(e.dictionary,t.dictionary)}function X6(e,t){return e===t||Vs(e,t)&&e.unit===t.unit}function R1(e,t){return e===t||Vs(e,t)&&e.unit===t.unit}function l_t(e,t){return e===t||Vs(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&Zf.compareManyFields(e.children,t.children)}function c_t(e,t){return e===t||Vs(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&Zf.compareManyFields(e.children,t.children)}we.prototype.visitNull=mp;we.prototype.visitBool=mp;we.prototype.visitInt=qu;we.prototype.visitInt8=qu;we.prototype.visitInt16=qu;we.prototype.visitInt32=qu;we.prototype.visitInt64=qu;we.prototype.visitUint8=qu;we.prototype.visitUint16=qu;we.prototype.visitUint32=qu;we.prototype.visitUint64=qu;we.prototype.visitFloat=qS;we.prototype.visitFloat16=qS;we.prototype.visitFloat32=qS;we.prototype.visitFloat64=qS;we.prototype.visitUtf8=mp;we.prototype.visitLargeUtf8=mp;we.prototype.visitBinary=mp;we.prototype.visitLargeBinary=mp;we.prototype.visitFixedSizeBinary=i_t;we.prototype.visitDate=H6;we.prototype.visitDateDay=H6;we.prototype.visitDateMillisecond=H6;we.prototype.visitTimestamp=M1;we.prototype.visitTimestampSecond=M1;we.prototype.visitTimestampMillisecond=M1;we.prototype.visitTimestampMicrosecond=M1;we.prototype.visitTimestampNanosecond=M1;we.prototype.visitTime=I1;we.prototype.visitTimeSecond=I1;we.prototype.visitTimeMillisecond=I1;we.prototype.visitTimeMicrosecond=I1;we.prototype.visitTimeNanosecond=I1;we.prototype.visitDecimal=mp;we.prototype.visitList=s_t;we.prototype.visitStruct=o_t;we.prototype.visitUnion=G6;we.prototype.visitDenseUnion=G6;we.prototype.visitSparseUnion=G6;we.prototype.visitDictionary=a_t;we.prototype.visitInterval=X6;we.prototype.visitIntervalDayTime=X6;we.prototype.visitIntervalYearMonth=X6;we.prototype.visitDuration=R1;we.prototype.visitDurationSecond=R1;we.prototype.visitDurationMillisecond=R1;we.prototype.visitDurationMicrosecond=R1;we.prototype.visitDurationNanosecond=R1;we.prototype.visitFixedSizeList=l_t;we.prototype.visitMap=c_t;const Zf=new we;function C4(e,t){return Zf.compareSchemas(e,t)}function JE(e,t){return u_t(e,t.map(n=>n.data.concat()))}function u_t(e,t){const n=[...e.fields],r=[],i={numBatches:t.reduce((f,h)=>Math.max(f,h.length),0)};let s=0,o=0,a=-1;const l=t.length;let c,u=[];for(;i.numBatches-- >0;){for(o=Number.POSITIVE_INFINITY,a=-1;++a0&&(r[s++]=nn({type:new Cs(n),length:o,nullCount:0,children:u.slice()})))}return[e=e.assign(n),r.map(f=>new ao(e,f))]}function f_t(e,t,n,r,i){var s;const o=(t+63&-64)>>3;for(let a=-1,l=r.length;++a=t)u===t?n[a]=c:(n[a]=c.slice(0,t),i.numBatches=Math.max(i.numBatches,r[a].unshift(c.slice(t,u-t))));else{const f=e[a];e[a]=f.clone({nullable:!0}),n[a]=(s=c?._changeLengthAndBackfillNullBitmap(t))!==null&&s!==void 0?s:nn({type:f.type,length:t,nullCount:t,nullBitmap:new Uint8Array(o)})}}return n}var zq;let Qf=class rd{constructor(...t){var n,r;if(t.length===0)return this.batches=[],this.schema=new jn([]),this._offsets=[0],this;let i,s;t[0]instanceof jn&&(i=t.shift()),t.at(-1)instanceof Uint32Array&&(s=t.pop());const o=l=>{if(l){if(l instanceof ao)return[l];if(l instanceof rd)return l.batches;if(l instanceof Jn){if(l.type instanceof Cs)return[new ao(new jn(l.type.children),l)]}else{if(Array.isArray(l))return l.flatMap(c=>o(c));if(typeof l[Symbol.iterator]=="function")return[...l].flatMap(c=>o(c));if(typeof l=="object"){const c=Object.keys(l),u=c.map(d=>new qr([l[d]])),f=i??new jn(c.map((d,g)=>new kr(String(d),u[g].type,u[g].nullable))),[,h]=JE(f,u);return h.length===0?[new ao(l)]:h}}}return[]},a=t.flatMap(l=>o(l));if(i=(r=i??((n=a[0])===null||n===void 0?void 0:n.schema))!==null&&r!==void 0?r:new jn([]),!(i instanceof jn))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");for(const l of a){if(!(l instanceof ao))throw new TypeError("Table constructor expects a [Schema, RecordBatch[]] pair.");if(!C4(i,l.schema))throw new TypeError("Table and inner RecordBatch schemas must be equivalent.")}this.schema=i,this.batches=a,this._offsets=s??Cq(this.data)}get data(){return this.batches.map(({data:t})=>t)}get numCols(){return this.schema.fields.length}get numRows(){return this.data.reduce((t,n)=>t+n.length,0)}get nullCount(){return this._nullCount===-1&&(this._nullCount=Rq(this.data)),this._nullCount}isValid(t){return!1}get(t){return null}at(t){return this.get(U6(t,this.numRows))}set(t,n){}indexOf(t,n){return-1}[Symbol.iterator](){return this.batches.length>0?V6.visit(new qr(this.data)):new Array(0)[Symbol.iterator]()}toArray(){return[...this]}toString(){return`[ ${this.toArray().join(`, `)} ]`}concat(...t){const n=this.schema,r=this.data.concat(t.flatMap(({data:i})=>i));return new rd(n,r.map(i=>new ao(n,i)))}slice(t,n){const r=this.schema;[t,n]=Mq({length:this.numRows},t,n);const i=Nq(this.data,this._offsets,t,n);return new rd(r,i.map(s=>new ao(r,s)))}getChild(t){return this.getChildAt(this.schema.fields.findIndex(n=>n.name===t))}getChildAt(t){if(t>-1&&tr.children[t]);if(n.length===0){const{type:r}=this.schema.fields[t],i=nn({type:r,length:0,nullCount:0});n.push(i._changeLengthAndBackfillNullBitmap(this.numRows))}return new qr(n)}return null}setChild(t,n){var r;return this.setChildAt((r=this.schema.fields)===null||r===void 0?void 0:r.findIndex(i=>i.name===t),n)}setChildAt(t,n){let r=this.schema,i=[...this.batches];if(t>-1&&tthis.getChildAt(c));[s[t],a[t]]=[o,n],[r,i]=JE(r,a)}return new rd(r,i)}select(t){const n=this.schema.fields.reduce((r,i,s)=>r.set(i.name,s),new Map);return this.selectAt(t.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(t){const n=this.schema.selectAt(t),r=this.batches.map(i=>i.selectAt(t));return new rd(n,r)}assign(t){const n=this.schema.fields,[r,i]=t.schema.fields.reduce((a,l,c)=>{const[u,f]=a,h=n.findIndex(d=>d.name===l.name);return~h?f[h]=c:u.push(c),a},[[],[]]),s=this.schema.assign(t.schema),o=[...n.map((a,l)=>[l,i[l]]).map(([a,l])=>l===void 0?this.getChildAt(a):t.getChildAt(l)),...r.map(a=>t.getChildAt(a))].filter(Boolean);return new rd(...JE(s,o))}};zq=Symbol.toStringTag;Qf[zq]=(e=>(e.schema=null,e.batches=[],e._offsets=new Uint32Array([0]),e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,e.isValid=Ix(j6),e.get=Ix(mo.getVisitFn(Z.Struct)),e.set=$q(Pa.getVisitFn(Z.Struct)),e.indexOf=Oq(Rx.getVisitFn(Z.Struct)),"Table"))(Qf.prototype);var qq;let ao=class $y{constructor(...t){switch(t.length){case 2:{if([this.schema]=t,!(this.schema instanceof jn))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");if([,this.data=nn({nullCount:0,type:new Cs(this.schema.fields),children:this.schema.fields.map(n=>nn({type:n.type,nullCount:0}))})]=t,!(this.data instanceof Jn))throw new TypeError("RecordBatch constructor expects a [Schema, Data] pair.");[this.schema,this.data]=uO(this.schema,this.data.children);break}case 1:{const[n]=t,{fields:r,children:i,length:s}=Object.keys(n).reduce((l,c,u)=>(l.children[u]=n[c],l.length=Math.max(l.length,n[c].length),l.fields[u]=kr.new({name:c,type:n[c].type,nullable:!0}),l),{length:0,fields:new Array,children:new Array}),o=new jn(r),a=nn({type:new Cs(r),length:s,children:i,nullCount:0});[this.schema,this.data]=uO(o,a.children,s);break}default:throw new TypeError("RecordBatch constructor expects an Object mapping names to child Data, or a [Schema, Data] pair.")}}get dictionaries(){return this._dictionaries||(this._dictionaries=jq(this.schema.fields,this.data.children))}get numCols(){return this.schema.fields.length}get numRows(){return this.data.length}get nullCount(){return this.data.nullCount}isValid(t){return this.data.getValid(t)}get(t){return mo.visit(this.data,t)}at(t){return this.get(U6(t,this.numRows))}set(t,n){return Pa.visit(this.data,t,n)}indexOf(t,n){return Rx.visit(this.data,t,n)}[Symbol.iterator](){return V6.visit(new qr([this.data]))}toArray(){return[...this]}concat(...t){return new Qf(this.schema,[this,...t])}slice(t,n){const[r]=new qr([this.data]).slice(t,n).data;return new $y(this.schema,r)}getChild(t){var n;return this.getChildAt((n=this.schema.fields)===null||n===void 0?void 0:n.findIndex(r=>r.name===t))}getChildAt(t){return t>-1&&ti.name===t),n)}setChildAt(t,n){let r=this.schema,i=this.data;if(t>-1&&ta.name===s);~o&&(i[o]=this.data.children[o])}return new $y(n,nn({type:r,length:this.numRows,children:i}))}selectAt(t){const n=this.schema.selectAt(t),r=t.map(s=>this.data.children[s]).filter(Boolean),i=nn({type:new Cs(n.fields),length:this.numRows,children:r});return new $y(n,i)}};qq=Symbol.toStringTag;ao[qq]=(e=>(e._nullCount=-1,e[Symbol.isConcatSpreadable]=!0,"RecordBatch"))(ao.prototype);function uO(e,t,n=t.reduce((r,i)=>Math.max(r,i.length),0)){var r;const i=[...e.fields],s=[...t],o=(n+63&-64)>>3;for(const[a,l]of e.fields.entries()){const c=t[a];(!c||c.length!==n)&&(i[a]=l.clone({nullable:!0}),s[a]=(r=c?._changeLengthAndBackfillNullBitmap(n))!==null&&r!==void 0?r:nn({type:l.type,length:n,nullCount:n,nullBitmap:new Uint8Array(o)}))}return[e.assign(i),nn({type:new Cs(i),length:n,children:s})]}function jq(e,t,n=new Map){var r,i;if(((r=e?.length)!==null&&r!==void 0?r:0)>0&&e?.length===t?.length)for(let s=-1,o=e.length;++snn({type:i.type})),r=nn({type:new Cs(t.fields),nullCount:0,children:n});super(t,r)}}let gf=class Fl{constructor(){this.bb=null,this.bb_pos=0}__init(t,n){return this.bb_pos=t,this.bb=n,this}static getRootAsMessage(t,n){return(n||new Fl).__init(t.readInt32(t.position())+t.position(),t)}static getSizePrefixedRootAsMessage(t,n){return t.setPosition(t.position()+Gn),(n||new Fl).__init(t.readInt32(t.position())+t.position(),t)}version(){const t=this.bb.__offset(this.bb_pos,4);return t?this.bb.readInt16(this.bb_pos+t):si.V1}headerType(){const t=this.bb.__offset(this.bb_pos,6);return t?this.bb.readUint8(this.bb_pos+t):Nn.NONE}header(t){const n=this.bb.__offset(this.bb_pos,8);return n?this.bb.__union(t,this.bb_pos+n):null}bodyLength(){const t=this.bb.__offset(this.bb_pos,10);return t?this.bb.readInt64(this.bb_pos+t):BigInt("0")}customMetadata(t,n){const r=this.bb.__offset(this.bb_pos,12);return r?(n||new xi).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+r)+t*4),this.bb):null}customMetadataLength(){const t=this.bb.__offset(this.bb_pos,12);return t?this.bb.__vector_len(this.bb_pos+t):0}static startMessage(t){t.startObject(5)}static addVersion(t,n){t.addFieldInt16(0,n,si.V1)}static addHeaderType(t,n){t.addFieldInt8(1,n,Nn.NONE)}static addHeader(t,n){t.addFieldOffset(2,n,0)}static addBodyLength(t,n){t.addFieldInt64(3,n,BigInt("0"))}static addCustomMetadata(t,n){t.addFieldOffset(4,n,0)}static createCustomMetadataVector(t,n){t.startVector(4,n.length,4);for(let r=n.length-1;r>=0;r--)t.addOffset(n[r]);return t.endVector()}static startCustomMetadataVector(t,n){t.startVector(4,n,4)}static endMessage(t){return t.endObject()}static finishMessageBuffer(t,n){t.finish(n)}static finishSizePrefixedMessageBuffer(t,n){t.finish(n,void 0,!0)}static createMessage(t,n,r,i,s,o){return Fl.startMessage(t),Fl.addVersion(t,n),Fl.addHeaderType(t,r),Fl.addHeader(t,i),Fl.addBodyLength(t,s),Fl.addCustomMetadata(t,o),Fl.endMessage(t)}};class h_t extends tn{visit(t,n){return t==null||n==null?void 0:super.visit(t,n)}visitNull(t,n){return eO.startNull(n),eO.endNull(n)}visitInt(t,n){return $o.startInt(n),$o.addBitWidth(n,t.bitWidth),$o.addIsSigned(n,t.isSigned),$o.endInt(n)}visitFloat(t,n){return Kl.startFloatingPoint(n),Kl.addPrecision(n,t.precision),Kl.endFloatingPoint(n)}visitBinary(t,n){return K7.startBinary(n),K7.endBinary(n)}visitLargeBinary(t,n){return Z7.startLargeBinary(n),Z7.endLargeBinary(n)}visitBool(t,n){return J7.startBool(n),J7.endBool(n)}visitUtf8(t,n){return nO.startUtf8(n),nO.endUtf8(n)}visitLargeUtf8(t,n){return Q7.startLargeUtf8(n),Q7.endLargeUtf8(n)}visitDecimal(t,n){return v0.startDecimal(n),v0.addScale(n,t.scale),v0.addPrecision(n,t.precision),v0.addBitWidth(n,t.bitWidth),v0.endDecimal(n)}visitDate(t,n){return bw.startDate(n),bw.addUnit(n,t.unit),bw.endDate(n)}visitTime(t,n){return va.startTime(n),va.addUnit(n,t.unit),va.addBitWidth(n,t.bitWidth),va.endTime(n)}visitTimestamp(t,n){const r=t.timezone&&n.createString(t.timezone)||void 0;return ba.startTimestamp(n),ba.addUnit(n,t.unit),r!==void 0&&ba.addTimezone(n,r),ba.endTimestamp(n)}visitInterval(t,n){return Jl.startInterval(n),Jl.addUnit(n,t.unit),Jl.endInterval(n)}visitDuration(t,n){return _w.startDuration(n),_w.addUnit(n,t.unit),_w.endDuration(n)}visitList(t,n){return tO.startList(n),tO.endList(n)}visitStruct(t,n){return pd.startStruct_(n),pd.endStruct_(n)}visitUnion(t,n){oo.startTypeIdsVector(n,t.typeIds.length);const r=oo.createTypeIdsVector(n,t.typeIds);return oo.startUnion(n),oo.addMode(n,t.mode),oo.addTypeIds(n,r),oo.endUnion(n)}visitDictionary(t,n){const r=this.visit(t.indices,n);return uu.startDictionaryEncoding(n),uu.addId(n,BigInt(t.id)),uu.addIsOrdered(n,t.isOrdered),r!==void 0&&uu.addIndexType(n,r),uu.endDictionaryEncoding(n)}visitFixedSizeBinary(t,n){return ww.startFixedSizeBinary(n),ww.addByteWidth(n,t.byteWidth),ww.endFixedSizeBinary(n)}visitFixedSizeList(t,n){return xw.startFixedSizeList(n),xw.addListSize(n,t.listSize),xw.endFixedSizeList(n)}visitMap(t,n){return Sw.startMap(n),Sw.addKeysSorted(n,t.keysSorted),Sw.endMap(n)}}const ZE=new h_t;function d_t(e,t=new Map){return new jn(g_t(e,t),Tw(e.metadata),t)}function Vq(e){return new qo(e.count,Wq(e.columns),Yq(e.columns))}function p_t(e){return new vc(Vq(e.data),e.id,e.isDelta)}function g_t(e,t){return(e.fields||[]).filter(Boolean).map(n=>kr.fromJSON(n,t))}function fO(e,t){return(e.children||[]).filter(Boolean).map(n=>kr.fromJSON(n,t))}function Wq(e){return(e||[]).reduce((t,n)=>[...t,new th(n.count,m_t(n.VALIDITY)),...Wq(n.children)],[])}function Yq(e,t=[]){for(let n=-1,r=(e||[]).length;++nt+ +(n===0),0)}function y_t(e,t){let n,r,i,s,o,a;return!t||!(s=e.dictionary)?(o=dO(e,fO(e,t)),i=new kr(e.name,o,e.nullable,Tw(e.metadata))):t.has(n=s.id)?(r=(r=s.indexType)?hO(r):new Mv,a=new xg(t.get(n),r,n,s.isOrdered),i=new kr(e.name,a,e.nullable,Tw(e.metadata))):(r=(r=s.indexType)?hO(r):new Mv,t.set(n,o=dO(e,fO(e,t))),a=new xg(o,r,n,s.isOrdered),i=new kr(e.name,a,e.nullable,Tw(e.metadata))),i||null}function Tw(e=[]){return new Map(e.map(({key:t,value:n})=>[t,n]))}function hO(e){return new Gd(e.isSigned,e.bitWidth)}function dO(e,t){const n=e.type.name;switch(n){case"NONE":return new Kf;case"null":return new Kf;case"binary":return new fx;case"largebinary":return new hx;case"utf8":return new dx;case"largeutf8":return new px;case"bool":return new gx;case"list":return new xx((t||[])[0]);case"struct":return new Cs(t||[]);case"struct_":return new Cs(t||[])}switch(n){case"int":{const r=e.type;return new Gd(r.isSigned,r.bitWidth)}case"floatingpoint":{const r=e.type;return new ux(fs[r.precision])}case"decimal":{const r=e.type;return new mx(r.scale,r.precision,r.bitWidth)}case"date":{const r=e.type;return new yx(Ba[r.unit])}case"time":{const r=e.type;return new vx(Ee[r.unit],r.bitWidth)}case"timestamp":{const r=e.type;return new bx(Ee[r.unit],r.timezone)}case"interval":{const r=e.type;return new _x(yc[r.unit])}case"duration":{const r=e.type;return new wx(Ee[r.unit])}case"union":{const r=e.type,[i,...s]=(r.mode+"").toLowerCase(),o=i.toUpperCase()+s.join("");return new Sx(ps[o],r.typeIds||[],t||[])}case"fixedsizebinary":{const r=e.type;return new Ax(r.byteWidth)}case"fixedsizelist":{const r=e.type;return new Ex(r.listSize,(t||[])[0])}case"map":{const r=e.type;return new Tx((t||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: "${n}"`)}var v_t=lz,b_t=_g;class Ns{static fromJSON(t,n){const r=new Ns(0,si.V5,n);return r._createHeader=__t(t,n),r}static decode(t){t=new b_t(dn(t));const n=gf.getRootAsMessage(t),r=n.bodyLength(),i=n.version(),s=n.headerType(),o=new Ns(r,i,s);return o._createHeader=w_t(n,s),o}static encode(t){const n=new v_t;let r=-1;return t.isSchema()?r=jn.encode(n,t.header()):t.isRecordBatch()?r=qo.encode(n,t.header()):t.isDictionaryBatch()&&(r=vc.encode(n,t.header())),gf.startMessage(n),gf.addVersion(n,si.V5),gf.addHeader(n,r),gf.addHeaderType(n,t.headerType),gf.addBodyLength(n,BigInt(t.bodyLength)),gf.finishMessageBuffer(n,gf.endMessage(n)),n.asUint8Array()}static from(t,n=0){if(t instanceof jn)return new Ns(0,si.V5,Nn.Schema,t);if(t instanceof qo)return new Ns(n,si.V5,Nn.RecordBatch,t);if(t instanceof vc)return new Ns(n,si.V5,Nn.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===Nn.Schema}isRecordBatch(){return this.headerType===Nn.RecordBatch}isDictionaryBatch(){return this.headerType===Nn.DictionaryBatch}constructor(t,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=pr(t)}}class qo{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,n,r){this._nodes=n,this._buffers=r,this._length=pr(t)}}class vc{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,n,r=!1){this._data=t,this._isDelta=r,this._id=pr(n)}}class rc{constructor(t,n){this.offset=pr(t),this.length=pr(n)}}class th{constructor(t,n){this.length=pr(t),this.nullCount=pr(n)}}function __t(e,t){return(()=>{switch(t){case Nn.Schema:return jn.fromJSON(e);case Nn.RecordBatch:return qo.fromJSON(e);case Nn.DictionaryBatch:return vc.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${Nn[t]}, type: ${t} }`)})}function w_t(e,t){return(()=>{switch(t){case Nn.Schema:return jn.decode(e.header(new zl),new Map,e.version());case Nn.RecordBatch:return qo.decode(e.header(new nu),e.version());case Nn.DictionaryBatch:return vc.decode(e.header(new m0),e.version())}throw new Error(`Unrecognized Message type: { name: ${Nn[t]}, type: ${t} }`)})}kr.encode=N_t;kr.decode=R_t;kr.fromJSON=y_t;jn.encode=C_t;jn.decode=x_t;jn.fromJSON=d_t;qo.encode=$_t;qo.decode=S_t;qo.fromJSON=Vq;vc.encode=O_t;vc.decode=A_t;vc.fromJSON=p_t;th.encode=L_t;th.decode=T_t;rc.encode=D_t;rc.decode=E_t;function x_t(e,t=new Map,n=si.V5){const r=I_t(e,t);return new jn(r,kw(e),t,n)}function S_t(e,t=si.V5){if(e.compression()!==null)throw new Error("Record batch compression not implemented");return new qo(e.length(),k_t(e),M_t(e,t))}function A_t(e,t=si.V5){return new vc(qo.decode(e.data(),t),e.id(),e.isDelta())}function E_t(e){return new rc(e.offset(),e.length())}function T_t(e){return new th(e.length(),e.nullCount())}function k_t(e){const t=[];for(let n,r=-1,i=-1,s=e.nodesLength();++rkr.encode(e,s));zl.startFieldsVector(e,n.length);const r=zl.createFieldsVector(e,n),i=t.metadata&&t.metadata.size>0?zl.createCustomMetadataVector(e,[...t.metadata].map(([s,o])=>{const a=e.createString(`${s}`),l=e.createString(`${o}`);return xi.startKeyValue(e),xi.addKey(e,a),xi.addValue(e,l),xi.endKeyValue(e)})):-1;return zl.startSchema(e),zl.addFields(e,r),zl.addEndianness(e,F_t?wg.Little:wg.Big),i!==-1&&zl.addCustomMetadata(e,i),zl.endSchema(e)}function N_t(e,t){let n=-1,r=-1,i=-1;const s=t.type;let o=t.typeId;re.isDictionary(s)?(o=s.dictionary.typeId,i=ZE.visit(s,e),r=ZE.visit(s.dictionary,e)):r=ZE.visit(s,e);const a=(s.children||[]).map(u=>kr.encode(e,u)),l=la.createChildrenVector(e,a),c=t.metadata&&t.metadata.size>0?la.createCustomMetadataVector(e,[...t.metadata].map(([u,f])=>{const h=e.createString(`${u}`),d=e.createString(`${f}`);return xi.startKeyValue(e),xi.addKey(e,h),xi.addValue(e,d),xi.endKeyValue(e)})):-1;return t.name&&(n=e.createString(t.name)),la.startField(e),la.addType(e,r),la.addTypeType(e,o),la.addChildren(e,l),la.addNullable(e,!!t.nullable),n!==-1&&la.addName(e,n),i!==-1&&la.addDictionary(e,i),c!==-1&&la.addCustomMetadata(e,c),la.endField(e)}function $_t(e,t){const n=t.nodes||[],r=t.buffers||[];nu.startNodesVector(e,n.length);for(const o of n.slice().reverse())th.encode(e,o);const i=e.endVector();nu.startBuffersVector(e,r.length);for(const o of r.slice().reverse())rc.encode(e,o);const s=e.endVector();return nu.startRecordBatch(e),nu.addLength(e,BigInt(t.length)),nu.addNodes(e,i),nu.addBuffers(e,s),nu.endRecordBatch(e)}function O_t(e,t){const n=qo.encode(e,t.data);return m0.startDictionaryBatch(e),m0.addId(e,BigInt(t.id)),m0.addIsDelta(e,t.isDelta),m0.addData(e,n),m0.endDictionaryBatch(e)}function L_t(e,t){return fz.createFieldNode(e,BigInt(t.length),BigInt(t.nullCount))}function D_t(e,t){return uz.createBuffer(e,BigInt(t.offset),BigInt(t.length))}const F_t=(()=>{const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256})(),J6=e=>`Expected ${Nn[e]} Message in stream, but was null or length 0.`,Z6=e=>`Header pointer of flatbuffer-encoded ${Nn[e]} Message is null or length 0.`,Hq=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,Gq=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`;class Xq{constructor(t){this.source=t instanceof Nx?t:new Nx(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done||t.value===-1&&(t=this.readMetadataLength()).done||(t=this.readMetadata(t.value)).done?jr:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(J6(t));return n.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);const n=dn(this.source.read(t));if(n.byteLength[...i,...s.VALIDITY&&[s.VALIDITY]||[],...s.TYPE_ID&&[s.TYPE_ID]||[],...s.OFFSET&&[s.OFFSET]||[],...s.DATA&&[s.DATA]||[],...n(s.children)],[])}}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(J6(t));return n.value}readSchema(){const t=Nn.Schema,n=this.readMessage(t),r=n?.header();if(!n||!r)throw new Error(Z6(t));return r}}const jS=4,N4="ARROW1",Rv=new Uint8Array(N4.length);for(let e=0;ethis):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return pa.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return pa.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,n){throw new Error('"throughDOM" not available in this environment')}static from(t){return t instanceof Na?t:x4(t)?V_t(t):nz(t)?H_t(t):Hd(t)?De(this,void 0,void 0,function*(){return yield Na.from(yield t)}):rz(t)||O6(t)||iz(t)||lm(t)?Y_t(new Sg(t)):W_t(new Nx(t))}static readAll(t){return t instanceof Na?t.isSync()?yO(t):vO(t):x4(t)||ArrayBuffer.isView(t)||k1(t)||ez(t)?yO(t):vO(t)}}class Ox extends Na{constructor(t){super(t),this._impl=t}readAll(){return[...this]}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return nc(this,arguments,function*(){yield We(yield*vw(Ed(this[Symbol.iterator]())))})}}class Lx extends Na{constructor(t){super(t),this._impl=t}readAll(){return De(this,void 0,void 0,function*(){var t,n,r,i;const s=new Array;try{for(var o=!0,a=Ed(this),l;l=yield a.next(),t=l.done,!t;o=!0){i=l.value,o=!1;const c=i;s.push(c)}}catch(c){n={error:c}}finally{try{!o&&!t&&(r=a.return)&&(yield r.call(a))}finally{if(n)throw n.error}}return s})}[Symbol.iterator](){throw new Error("AsyncRecordBatchStreamReader is not Iterable")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class Jq extends Ox{constructor(t){super(t),this._impl=t}}class z_t extends Lx{constructor(t){super(t),this._impl=t}}class Zq{get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,n){const r=this._loadVectors(t,n,this.schema.fields),i=nn({type:new Cs(this.schema.fields),length:t.length,children:r});return new ao(this.schema,i)}_loadDictionaryBatch(t,n){const{id:r,isDelta:i}=t,{dictionaries:s,schema:o}=this,a=s.get(r),l=o.dictionaries.get(r),c=this._loadVectors(t.data,n,[l]);return(a&&i?a.concat(new qr(c)):new qr(c)).memoize()}_loadVectors(t,n,r){return new Uq(n,t.nodes,t.buffers,this.dictionaries,this.schema.metadataVersion).visitMany(r)}}class Dx extends Zq{constructor(t,n){super(n),this._reader=x4(t)?new P_t(this._handle=t):new Xq(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=tj(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):jr}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):jr}next(){if(this.closed)return jr;let t;const{_reader:n}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;const r=t.header(),i=n.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;const r=t.header(),i=n.readMessageBody(t.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new K6(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}}class Fx extends Zq{constructor(t,n){super(n),this._reader=new B_t(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}cancel(){return De(this,void 0,void 0,function*(){!this.closed&&(this.closed=!0)&&(yield this.reset()._reader.return(),this._reader=null,this.dictionaries=null)})}open(t){return De(this,void 0,void 0,function*(){return this.closed||(this.autoDestroy=tj(this,t),this.schema||(this.schema=yield this._reader.readSchema())||(yield this.cancel())),this})}throw(t){return De(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.throw(t):jr})}return(t){return De(this,void 0,void 0,function*(){return!this.closed&&this.autoDestroy&&(this.closed=!0)?yield this.reset()._reader.return(t):jr})}next(){return De(this,void 0,void 0,function*(){if(this.closed)return jr;let t;const{_reader:n}=this;for(;t=yield this._readNextMessageAndValidate();)if(t.isSchema())yield this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;const r=t.header(),i=yield n.readMessageBody(t.bodyLength);return{done:!1,value:this._loadRecordBatch(r,i)}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;const r=t.header(),i=yield n.readMessageBody(t.bodyLength),s=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,s)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new K6(this.schema)}):yield this.return()})}_readNextMessageAndValidate(t){return De(this,void 0,void 0,function*(){return yield this._reader.readMessage(t)})}}class Qq extends Dx{get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}constructor(t,n){super(t instanceof cO?t:new cO(t),n)}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){var n;if(this.closed)return null;this._footer||this.open();const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(t);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Nn.RecordBatch);if(i?.isRecordBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null}_readDictionaryBatch(t){var n;const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(t);if(r&&this._handle.seek(r.offset)){const i=this._reader.readMessage(Nn.DictionaryBatch);if(i?.isDictionaryBatch()){const s=i.header(),o=this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}}_readFooter(){const{_handle:t}=this,n=t.size-Kq,r=t.readInt32(n),i=t.readAt(n-r,r);return Iv.decode(i)}_readNextMessageAndValidate(t){var n;if(this._footer||this.open(),this._footer&&this._recordBatchIndexsuper.open}});return De(this,void 0,void 0,function*(){if(!this.closed&&!this._footer){this.schema=(this._footer=yield this._readFooter()).schema;for(const r of this._footer.dictionaryBatches())r&&(yield this._readDictionaryBatch(this._dictionaryIndex++))}return yield n.open.call(this,t)})}readRecordBatch(t){return De(this,void 0,void 0,function*(){var n;if(this.closed)return null;this._footer||(yield this.open());const r=(n=this._footer)===null||n===void 0?void 0:n.getRecordBatch(t);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Nn.RecordBatch);if(i?.isRecordBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength);return this._loadRecordBatch(s,o)}}return null})}_readDictionaryBatch(t){return De(this,void 0,void 0,function*(){var n;const r=(n=this._footer)===null||n===void 0?void 0:n.getDictionaryBatch(t);if(r&&(yield this._handle.seek(r.offset))){const i=yield this._reader.readMessage(Nn.DictionaryBatch);if(i?.isDictionaryBatch()){const s=i.header(),o=yield this._reader.readMessageBody(i.bodyLength),a=this._loadDictionaryBatch(s,o);this.dictionaries.set(s.id,a)}}})}_readFooter(){return De(this,void 0,void 0,function*(){const{_handle:t}=this;t._pending&&(yield t._pending);const n=t.size-Kq,r=yield t.readInt32(n),i=yield t.readAt(n-r,r);return Iv.decode(i)})}_readNextMessageAndValidate(t){return De(this,void 0,void 0,function*(){if(this._footer||(yield this.open()),this._footer&&this._recordBatchIndex=4?Q6(t)?new Jq(new Qq(e.read())):new Ox(new Dx(e)):new Ox(new Dx((function*(){})()))}function Y_t(e){return De(this,void 0,void 0,function*(){const t=yield e.peek(C1+7&-8);return t&&t.byteLength>=4?Q6(t)?new Jq(new Qq(yield e.read())):new Lx(new Fx(e)):new Lx(new Fx((function(){return nc(this,arguments,function*(){})})()))})}function H_t(e){return De(this,void 0,void 0,function*(){const{size:t}=yield e.stat(),n=new $x(e,t);return t>=U_t&&Q6(yield n.readAt(0,C1+7&-8))?new z_t(new q_t(n)):new Lx(new Fx(n))})}class Wr extends tn{static assemble(...t){const n=i=>i.flatMap(s=>Array.isArray(s)?n(s):s instanceof ao?s.data.children:s.data),r=new Wr;return r.visitMany(n(t)),r}constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}visit(t){if(t instanceof qr)return this.visitMany(t.data),this;const{type:n}=t;if(!re.isDictionary(n)){const{length:r}=t;if(r>2147483647)throw new RangeError("Cannot write arrays larger than 2^31 - 1 in length");if(re.isUnion(n))this.nodes.push(new th(r,0));else{const{nullCount:i}=t;re.isNull(n)||cl.call(this,i<=0?new Uint8Array(0):kx(t.offset,r,t.nullBitmap)),this.nodes.push(new th(r,i))}}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.clone(t.type.indices))}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function cl(e){const t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new rc(this._byteLength,t)),this._byteLength+=t,this}function G_t(e){var t;const{type:n,length:r,typeIds:i,valueOffsets:s}=e;if(cl.call(this,i),n.mode===ps.Sparse)return $4.call(this,e);if(n.mode===ps.Dense){if(e.offset<=0)return cl.call(this,s),$4.call(this,e);{const o=new Int32Array(r),a=Object.create(null),l=Object.create(null);for(let c,u,f=-1;++f{const f=n.typeIds[u],h=a[f],d=l[f];return c.slice(h,Math.min(r,d))}))}}return this}function X_t(e){let t;return e.nullCount>=e.length?cl.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?cl.call(this,kx(e.offset,e.length,t)):cl.call(this,Mx(e.values))}function ju(e){return cl.call(this,e.values.subarray(0,e.length*e.stride))}function VS(e){const{length:t,values:n,valueOffsets:r}=e,i=pr(r[0]),s=pr(r[t]),o=Math.min(s-i,n.byteLength-i);return cl.call(this,oz(-i,t+1,r)),cl.call(this,n.subarray(i,i+o)),this}function tI(e){const{length:t,valueOffsets:n}=e;if(n){const{[0]:r,[t]:i}=n;return cl.call(this,oz(-r,t+1,n)),this.visit(e.children[0].slice(r,i-r))}return this.visit(e.children[0])}function $4(e){return this.visitMany(e.type.children.map((t,n)=>e.children[n]).filter(Boolean))[0]}Wr.prototype.visitBool=X_t;Wr.prototype.visitInt=ju;Wr.prototype.visitFloat=ju;Wr.prototype.visitUtf8=VS;Wr.prototype.visitLargeUtf8=VS;Wr.prototype.visitBinary=VS;Wr.prototype.visitLargeBinary=VS;Wr.prototype.visitFixedSizeBinary=ju;Wr.prototype.visitDate=ju;Wr.prototype.visitTimestamp=ju;Wr.prototype.visitTime=ju;Wr.prototype.visitDecimal=ju;Wr.prototype.visitList=tI;Wr.prototype.visitStruct=$4;Wr.prototype.visitUnion=G_t;Wr.prototype.visitInterval=ju;Wr.prototype.visitDuration=ju;Wr.prototype.visitFixedSizeList=tI;Wr.prototype.visitMap=tI;class ej extends W6{static throughNode(t){throw new Error('"throughNode" not available in this environment')}static throughDOM(t,n){throw new Error('"throughDOM" not available in this environment')}constructor(t){super(),this._position=0,this._started=!1,this._sink=new Ew,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,go(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy=="boolean"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat=="boolean"?t.writeLegacyIpcFormat:!1}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return Hd(t)?t.then(n=>this.writeAll(n)):lm(t)?iI(this,t):rI(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,n=null){return t===this._sink||t instanceof Ew?this._sink=t:(this._sink=new Ew,t&&T1t(t)?this.toDOMStream({type:"bytes"}).pipeTo(t):t&&k1t(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._seenDictionaries=new Map,this._dictionaryDeltaOffsets=new Map,(!n||!C4(n,this._schema))&&(n==null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(t){let n=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof Qf&&!(n=t.schema))return this.finish()&&void 0;if(t instanceof ao&&!(n=t.schema))return this.finish()&&void 0}else throw new Error("RecordBatchWriter is closed");if(n&&!C4(n,this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}t instanceof ao?t instanceof K6||this._writeRecordBatch(t):t instanceof Qf?this.writeAll(t.batches):k1(t)&&this.writeAll(t)}_writeMessage(t,n=8){const r=n-1,i=Ns.encode(t),s=i.byteLength,o=this._writeLegacyIpcFormat?4:8,a=s+o+r&~r,l=a-s-o;return t.headerType===Nn.RecordBatch?this._recordBatchBlocks.push(new Jf(a,t.bodyLength,this._position)):t.headerType===Nn.DictionaryBatch&&this._dictionaryBlocks.push(new Jf(a,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-o)),s>0&&this._write(i),this._writePadding(l)}_write(t){if(this._started){const n=dn(t);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(t){return this._writeMessage(Ns.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(Rv)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){const{byteLength:n,nodes:r,bufferRegions:i,buffers:s}=Wr.assemble(t),o=new qo(t.numRows,r,i),a=Ns.from(o,n);return this._writeDictionaries(t)._writeMessage(a)._writeBodyBuffers(s)}_writeDictionaryBatch(t,n,r=!1){const{byteLength:i,nodes:s,bufferRegions:o,buffers:a}=Wr.assemble(new qr([t])),l=new qo(t.length,s,o),c=new vc(l,n,r),u=Ns.from(c,i);return this._writeMessage(u)._writeBodyBuffers(a)}_writeBodyBuffers(t){let n,r,i;for(let s=-1,o=t.length;++s0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(t){var n,r;for(const[i,s]of t.dictionaries){const o=(n=s?.data)!==null&&n!==void 0?n:[],a=this._seenDictionaries.get(i),l=(r=this._dictionaryDeltaOffsets.get(i))!==null&&r!==void 0?r:0;if(!a||a.data[0]!==o[0])for(const[c,u]of o.entries())this._writeDictionaryBatch(u,i,c>0);else if(lr.writeAll(i)):lm(t)?iI(r,t):rI(r,t)}}class nI extends ej{static writeAll(t){const n=new nI;return Hd(t)?t.then(r=>n.writeAll(r)):lm(t)?iI(n,t):rI(n,t)}constructor(){super(),this._autoDestroy=!0}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeDictionaryBatch(t,n,r=!1){if(!r&&this._seenDictionaries.has(n))throw new Error("The Arrow File format does not support replacement dictionaries. ");return super._writeDictionaryBatch(t,n,r)}_writeFooter(t){const n=Iv.encode(new Iv(t,si.V5,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function rI(e,t){let n=t;t instanceof Qf&&(n=t.batches,e.reset(void 0,t.schema));for(const r of n)e.write(r);return e.finish()}function iI(e,t){return De(this,void 0,void 0,function*(){var n,r,i,s,o,a,l;try{for(n=!0,r=Ed(t);i=yield r.next(),s=i.done,!s;n=!0){l=i.value,n=!1;const c=l;e.write(c)}}catch(c){o={error:c}}finally{try{!n&&!s&&(a=r.return)&&(yield a.call(r))}finally{if(o)throw o.error}}return e.finish()})}function K_t(e,t="stream"){return(t==="stream"?eI:nI).writeAll(e).toUint8Array(!0)}var J_t=Object.create,nj=Object.defineProperty,Z_t=Object.getOwnPropertyDescriptor,Q_t=Object.getOwnPropertyNames,twt=Object.getPrototypeOf,ewt=Object.prototype.hasOwnProperty,nwt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),rwt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Q_t(t))!ewt.call(e,i)&&i!==n&&nj(e,i,{get:()=>t[i],enumerable:!(r=Z_t(t,i))||r.enumerable});return e},iwt=(e,t,n)=>(n=e!=null?J_t(twt(e)):{},rwt(!e||!e.__esModule?nj(n,"default",{value:e,enumerable:!0}):n,e)),swt=nwt((e,t)=>{t.exports=Worker}),owt=(e=>(e[e.UNDEFINED=0]="UNDEFINED",e[e.AUTOMATIC=1]="AUTOMATIC",e[e.READ_ONLY=2]="READ_ONLY",e[e.READ_WRITE=3]="READ_WRITE",e))(owt||{}),awt=(e=>(e[e.IDENTIFIER=0]="IDENTIFIER",e[e.NUMERIC_CONSTANT=1]="NUMERIC_CONSTANT",e[e.STRING_CONSTANT=2]="STRING_CONSTANT",e[e.OPERATOR=3]="OPERATOR",e[e.KEYWORD=4]="KEYWORD",e[e.COMMENT=5]="COMMENT",e))(awt||{}),lwt=(e=>(e[e.NONE=0]="NONE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARNING=3]="WARNING",e[e.ERROR=4]="ERROR",e))(lwt||{}),cwt=(e=>(e[e.NONE=0]="NONE",e[e.CONNECT=1]="CONNECT",e[e.DISCONNECT=2]="DISCONNECT",e[e.OPEN=3]="OPEN",e[e.QUERY=4]="QUERY",e[e.INSTANTIATE=5]="INSTANTIATE",e))(cwt||{}),uwt=(e=>(e[e.NONE=0]="NONE",e[e.OK=1]="OK",e[e.ERROR=2]="ERROR",e[e.START=3]="START",e[e.RUN=4]="RUN",e[e.CAPTURE=5]="CAPTURE",e))(uwt||{}),fwt=(e=>(e[e.NONE=0]="NONE",e[e.WEB_WORKER=1]="WEB_WORKER",e[e.NODE_WORKER=2]="NODE_WORKER",e[e.BINDINGS=3]="BINDINGS",e[e.ASYNC_DUCKDB=4]="ASYNC_DUCKDB",e))(fwt||{}),rj=class{log(t){}},ij=class{constructor(t=2){this.level=t}log(t){t.level>=this.level&&console.log(t)}},hwt=(e=>(e[e.SUCCESS=0]="SUCCESS",e[e.MAX_ARROW_ERROR=255]="MAX_ARROW_ERROR",e[e.DUCKDB_WASM_RETRY=256]="DUCKDB_WASM_RETRY",e))(hwt||{}),dwt=class{constructor(t,n){this._bindings=t,this._conn=n}get bindings(){return this._bindings}async close(){return this._bindings.disconnect(this._conn)}useUnsafe(t){return t(this._bindings,this._conn)}async query(t){this._bindings.logger.log({timestamp:new Date,level:2,origin:4,topic:4,event:4,value:t});let n=await this._bindings.runQuery(this._conn,t),r=Na.from(n);return console.assert(r.isSync(),"Reader is not sync"),console.assert(r.isFile(),"Reader is not file"),new Qf(r)}async send(t,n=!1){this._bindings.logger.log({timestamp:new Date,level:2,origin:4,topic:4,event:4,value:t});let r=await this._bindings.startPendingQuery(this._conn,t,n);for(;r==null;)r=await this._bindings.pollPendingQuery(this._conn);let i=new sj(this._bindings,this._conn,r),s=await Na.from(i);return console.assert(s.isAsync()),console.assert(s.isStream()),s}async cancelSent(){return await this._bindings.cancelPendingQuery(this._conn)}async getTableNames(t){return await this._bindings.getTableNames(this._conn,t)}async prepare(t){let n=await this._bindings.createPrepared(this._conn,t);return new pwt(this._bindings,this._conn,n)}async insertArrowTable(t,n){let r=K_t(t,"stream");await this.insertArrowFromIPCStream(r,n)}async insertArrowFromIPCStream(t,n){await this._bindings.insertArrowFromIPCStream(this._conn,t,n)}async insertCSVFromPath(t,n){await this._bindings.insertCSVFromPath(this._conn,t,n)}async insertJSONFromPath(t,n){await this._bindings.insertJSONFromPath(this._conn,t,n)}},sj=class{constructor(e,t,n){this.db=e,this.conn=t,this.header=n,this._first=!0,this._depleted=!1,this._inFlight=null}async next(){if(this._first)return this._first=!1,{done:!1,value:this.header};if(this._depleted)return{done:!0,value:null};let e=null;for(this._inFlight!=null&&(e=await this._inFlight,this._inFlight=null);e==null;)e=await this.db.fetchQueryResults(this.conn);return this._depleted=e.length==0,this._depleted||(this._inFlight=this.db.fetchQueryResults(this.conn)),{done:this._depleted,value:e}}[Symbol.asyncIterator](){return this}},pwt=class{constructor(t,n,r){this.bindings=t,this.connectionId=n,this.statementId=r}async close(){await this.bindings.closePrepared(this.connectionId,this.statementId)}async query(...t){let n=await this.bindings.runPrepared(this.connectionId,this.statementId,t),r=Na.from(n);return console.assert(r.isSync()),console.assert(r.isFile()),new Qf(r)}async send(...t){let n=await this.bindings.sendPrepared(this.connectionId,this.statementId,t),r=new sj(this.bindings,this.connectionId,n),i=await Na.from(r);return console.assert(i.isAsync()),console.assert(i.isStream()),i}},gwt=(e=>(e.CANCEL_PENDING_QUERY="CANCEL_PENDING_QUERY",e.CLOSE_PREPARED="CLOSE_PREPARED",e.COLLECT_FILE_STATISTICS="COLLECT_FILE_STATISTICS",e.REGISTER_OPFS_FILE_NAME="REGISTER_OPFS_FILE_NAME",e.CONNECT="CONNECT",e.COPY_FILE_TO_BUFFER="COPY_FILE_TO_BUFFER",e.COPY_FILE_TO_PATH="COPY_FILE_TO_PATH",e.CREATE_PREPARED="CREATE_PREPARED",e.DISCONNECT="DISCONNECT",e.DROP_FILE="DROP_FILE",e.DROP_FILES="DROP_FILES",e.EXPORT_FILE_STATISTICS="EXPORT_FILE_STATISTICS",e.FETCH_QUERY_RESULTS="FETCH_QUERY_RESULTS",e.FLUSH_FILES="FLUSH_FILES",e.GET_FEATURE_FLAGS="GET_FEATURE_FLAGS",e.GET_TABLE_NAMES="GET_TABLE_NAMES",e.GET_VERSION="GET_VERSION",e.GLOB_FILE_INFOS="GLOB_FILE_INFOS",e.INSERT_ARROW_FROM_IPC_STREAM="INSERT_ARROW_FROM_IPC_STREAM",e.INSERT_CSV_FROM_PATH="IMPORT_CSV_FROM_PATH",e.INSERT_JSON_FROM_PATH="IMPORT_JSON_FROM_PATH",e.INSTANTIATE="INSTANTIATE",e.OPEN="OPEN",e.PING="PING",e.POLL_PENDING_QUERY="POLL_PENDING_QUERY",e.REGISTER_FILE_BUFFER="REGISTER_FILE_BUFFER",e.REGISTER_FILE_HANDLE="REGISTER_FILE_HANDLE",e.REGISTER_FILE_URL="REGISTER_FILE_URL",e.RESET="RESET",e.RUN_PREPARED="RUN_PREPARED",e.RUN_QUERY="RUN_QUERY",e.SEND_PREPARED="SEND_PREPARED",e.START_PENDING_QUERY="START_PENDING_QUERY",e.TOKENIZE="TOKENIZE",e))(gwt||{}),mwt=(e=>(e.CONNECTION_INFO="CONNECTION_INFO",e.ERROR="ERROR",e.FEATURE_FLAGS="FEATURE_FLAGS",e.FILE_BUFFER="FILE_BUFFER",e.FILE_INFOS="FILE_INFOS",e.FILE_SIZE="FILE_SIZE",e.FILE_STATISTICS="FILE_STATISTICS",e.INSTANTIATE_PROGRESS="INSTANTIATE_PROGRESS",e.LOG="LOG",e.PROGRESS_UPDATE="PROGRESS_UPDATE",e.OK="OK",e.PREPARED_STATEMENT_ID="PREPARED_STATEMENT_ID",e.QUERY_PLAN="QUERY_PLAN",e.QUERY_RESULT="QUERY_RESULT",e.QUERY_RESULT_CHUNK="QUERY_RESULT_CHUNK",e.QUERY_RESULT_HEADER="QUERY_RESULT_HEADER",e.QUERY_RESULT_HEADER_OR_NULL="QUERY_RESULT_HEADER_OR_NULL",e.REGISTERED_FILE="REGISTERED_FILE",e.SCRIPT_TOKENS="SCRIPT_TOKENS",e.SUCCESS="SUCCESS",e.TABLE_NAMES="TABLE_NAMES",e.VERSION_STRING="VERSION_STRING",e))(mwt||{}),vn=class{constructor(e,t){this.promiseResolver=()=>{},this.promiseRejecter=()=>{},this.type=e,this.data=t,this.promise=new Promise((n,r)=>{this.promiseResolver=n,this.promiseRejecter=r})}};function Mw(e){switch(e.typeId){case Z.Binary:return{sqlType:"binary"};case Z.Bool:return{sqlType:"bool"};case Z.Date:return{sqlType:"date"};case Z.DateDay:return{sqlType:"date32[d]"};case Z.DateMillisecond:return{sqlType:"date64[ms]"};case Z.Decimal:{let t=e;return{sqlType:"decimal",precision:t.precision,scale:t.scale}}case Z.Float:return{sqlType:"float"};case Z.Float16:return{sqlType:"float16"};case Z.Float32:return{sqlType:"float32"};case Z.Float64:return{sqlType:"float64"};case Z.Int:return{sqlType:"int32"};case Z.Int16:return{sqlType:"int16"};case Z.Int32:return{sqlType:"int32"};case Z.Int64:return{sqlType:"int64"};case Z.Uint16:return{sqlType:"uint16"};case Z.Uint32:return{sqlType:"uint32"};case Z.Uint64:return{sqlType:"uint64"};case Z.Uint8:return{sqlType:"uint8"};case Z.IntervalDayTime:return{sqlType:"interval[dt]"};case Z.IntervalYearMonth:return{sqlType:"interval[m]"};case Z.List:return{sqlType:"list",valueType:Mw(e.valueType)};case Z.FixedSizeBinary:return{sqlType:"fixedsizebinary",byteWidth:e.byteWidth};case Z.Null:return{sqlType:"null"};case Z.Utf8:return{sqlType:"utf8"};case Z.Struct:return{sqlType:"struct",fields:e.children.map(t=>O4(t.name,t.type))};case Z.Map:{let t=e;return{sqlType:"map",keyType:Mw(t.keyType),valueType:Mw(t.valueType)}}case Z.Time:return{sqlType:"time[s]"};case Z.TimeMicrosecond:return{sqlType:"time[us]"};case Z.TimeMillisecond:return{sqlType:"time[ms]"};case Z.TimeNanosecond:return{sqlType:"time[ns]"};case Z.TimeSecond:return{sqlType:"time[s]"};case Z.Timestamp:return{sqlType:"timestamp",timezone:e.timezone||void 0};case Z.TimestampSecond:return{sqlType:"timestamp[s]",timezone:e.timezone||void 0};case Z.TimestampMicrosecond:return{sqlType:"timestamp[us]",timezone:e.timezone||void 0};case Z.TimestampNanosecond:return{sqlType:"timestamp[ns]",timezone:e.timezone||void 0};case Z.TimestampMillisecond:return{sqlType:"timestamp[ms]",timezone:e.timezone||void 0}}throw new Error("unsupported arrow type: ".concat(e.toString()))}function O4(e,t){let n=Mw(t);return n.name=e,n}var ywt=new TextEncoder,oj=class{constructor(t,n=null){this._onInstantiationProgress=[],this._onExecutionProgress=[],this._worker=null,this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{},this._nextMessageId=0,this._pendingRequests=new Map,this._logger=t,this._onMessageHandler=this.onMessage.bind(this),this._onErrorHandler=this.onError.bind(this),this._onCloseHandler=this.onClose.bind(this),n!=null&&this.attach(n)}get logger(){return this._logger}attach(t){this._worker=t,this._worker.addEventListener("message",this._onMessageHandler),this._worker.addEventListener("error",this._onErrorHandler),this._worker.addEventListener("close",this._onCloseHandler),this._workerShutdownPromise=new Promise((n,r)=>{this._workerShutdownResolver=n})}detach(){this._worker&&(this._worker.removeEventListener("message",this._onMessageHandler),this._worker.removeEventListener("error",this._onErrorHandler),this._worker.removeEventListener("close",this._onCloseHandler),this._worker=null,this._workerShutdownResolver(null),this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{})}async terminate(){this._worker&&(this._worker.terminate(),this._worker=null,this._workerShutdownPromise=null,this._workerShutdownResolver=()=>{})}async postTask(t,n=[]){if(!this._worker){console.error("cannot send a message since the worker is not set!");return}let r=this._nextMessageId++;return this._pendingRequests.set(r,t),this._worker.postMessage({messageId:r,type:t.type,data:t.data},n),await t.promise}onMessage(t){var n;let r=t.data;switch(r.type){case"PROGRESS_UPDATE":{for(let s of this._onExecutionProgress)s(r.data);return}case"LOG":{this._logger.log(r.data);return}case"INSTANTIATE_PROGRESS":{for(let s of this._onInstantiationProgress)s(r.data);return}}let i=this._pendingRequests.get(r.requestId);if(!i){console.warn("unassociated response: [".concat(r.requestId,", ").concat(r.type.toString(),"]"));return}if(this._pendingRequests.delete(r.requestId),r.type=="ERROR"){let s=new Error(r.data.message);s.name=r.data.name,(n=Object.getOwnPropertyDescriptor(s,"stack"))!=null&&n.writable&&(s.stack=r.data.stack),i.promiseRejecter(s);return}switch(i.type){case"CLOSE_PREPARED":case"COLLECT_FILE_STATISTICS":case"REGISTER_OPFS_FILE_NAME":case"COPY_FILE_TO_PATH":case"DISCONNECT":case"DROP_FILE":case"DROP_FILES":case"FLUSH_FILES":case"INSERT_ARROW_FROM_IPC_STREAM":case"IMPORT_CSV_FROM_PATH":case"IMPORT_JSON_FROM_PATH":case"OPEN":case"PING":case"REGISTER_FILE_BUFFER":case"REGISTER_FILE_HANDLE":case"REGISTER_FILE_URL":case"RESET":if(r.type=="OK"){i.promiseResolver(r.data);return}break;case"INSTANTIATE":if(this._onInstantiationProgress=[],r.type=="OK"){i.promiseResolver(r.data);return}break;case"GLOB_FILE_INFOS":if(r.type=="FILE_INFOS"){i.promiseResolver(r.data);return}break;case"GET_VERSION":if(r.type=="VERSION_STRING"){i.promiseResolver(r.data);return}break;case"GET_FEATURE_FLAGS":if(r.type=="FEATURE_FLAGS"){i.promiseResolver(r.data);return}break;case"GET_TABLE_NAMES":if(r.type=="TABLE_NAMES"){i.promiseResolver(r.data);return}break;case"TOKENIZE":if(r.type=="SCRIPT_TOKENS"){i.promiseResolver(r.data);return}break;case"COPY_FILE_TO_BUFFER":if(r.type=="FILE_BUFFER"){i.promiseResolver(r.data);return}break;case"EXPORT_FILE_STATISTICS":if(r.type=="FILE_STATISTICS"){i.promiseResolver(r.data);return}break;case"CONNECT":if(r.type=="CONNECTION_INFO"){i.promiseResolver(r.data);return}break;case"RUN_PREPARED":case"RUN_QUERY":if(r.type=="QUERY_RESULT"){i.promiseResolver(r.data);return}break;case"SEND_PREPARED":if(r.type=="QUERY_RESULT_HEADER"){i.promiseResolver(r.data);return}break;case"START_PENDING_QUERY":if(r.type=="QUERY_RESULT_HEADER_OR_NULL"){i.promiseResolver(r.data);return}break;case"POLL_PENDING_QUERY":if(r.type=="QUERY_RESULT_HEADER_OR_NULL"){i.promiseResolver(r.data);return}break;case"CANCEL_PENDING_QUERY":if(this._onInstantiationProgress=[],r.type=="SUCCESS"){i.promiseResolver(r.data);return}break;case"FETCH_QUERY_RESULTS":if(r.type=="QUERY_RESULT_CHUNK"){i.promiseResolver(r.data);return}break;case"CREATE_PREPARED":if(r.type=="PREPARED_STATEMENT_ID"){i.promiseResolver(r.data);return}break}i.promiseRejecter(new Error("unexpected response type: ".concat(r.type.toString())))}onError(t){console.error(t),console.error("error in duckdb worker: ".concat(t.message)),this._pendingRequests.clear()}onClose(){if(this._workerShutdownResolver(null),this._pendingRequests.size!=0){console.warn("worker terminated with ".concat(this._pendingRequests.size," pending requests"));return}this._pendingRequests.clear()}async reset(){let t=new vn("RESET",null);return await this.postTask(t)}async ping(){let t=new vn("PING",null);await this.postTask(t)}async dropFile(t){let n=new vn("DROP_FILE",t);return await this.postTask(n)}async dropFiles(){let t=new vn("DROP_FILES",null);return await this.postTask(t)}async flushFiles(){let t=new vn("FLUSH_FILES",null);return await this.postTask(t)}async instantiate(t,n=null,r=i=>{}){this._onInstantiationProgress.push(r);let i=new vn("INSTANTIATE",[t,n]);return await this.postTask(i)}async getVersion(){let t=new vn("GET_VERSION",null);return await this.postTask(t)}async getFeatureFlags(){let t=new vn("GET_FEATURE_FLAGS",null);return await this.postTask(t)}async open(t){let n=new vn("OPEN",t);await this.postTask(n)}async tokenize(t){let n=new vn("TOKENIZE",t);return await this.postTask(n)}async connectInternal(){let t=new vn("CONNECT",null);return await this.postTask(t)}async connect(){let t=await this.connectInternal();return new dwt(this,t)}async disconnect(t){let n=new vn("DISCONNECT",t);await this.postTask(n)}async runQuery(t,n){let r=new vn("RUN_QUERY",[t,n]);return await this.postTask(r)}async startPendingQuery(t,n,r=!1){let i=new vn("START_PENDING_QUERY",[t,n,r]);return await this.postTask(i)}async pollPendingQuery(t){let n=new vn("POLL_PENDING_QUERY",t);return await this.postTask(n)}async cancelPendingQuery(t){let n=new vn("CANCEL_PENDING_QUERY",t);return await this.postTask(n)}async fetchQueryResults(t){let n=new vn("FETCH_QUERY_RESULTS",t);return await this.postTask(n)}async getTableNames(t,n){let r=new vn("GET_TABLE_NAMES",[t,n]);return await this.postTask(r)}async createPrepared(t,n){let r=new vn("CREATE_PREPARED",[t,n]);return await this.postTask(r)}async closePrepared(t,n){let r=new vn("CLOSE_PREPARED",[t,n]);await this.postTask(r)}async runPrepared(t,n,r){let i=new vn("RUN_PREPARED",[t,n,r]);return await this.postTask(i)}async sendPrepared(t,n,r){let i=new vn("SEND_PREPARED",[t,n,r]);return await this.postTask(i)}async globFiles(t){let n=new vn("GLOB_FILE_INFOS",t);return await this.postTask(n)}async registerFileText(t,n){let r=ywt.encode(n);await this.registerFileBuffer(t,r)}async registerFileURL(t,n,r,i){n===void 0&&(n=t);let s=new vn("REGISTER_FILE_URL",[t,n,r,i]);await this.postTask(s)}async registerEmptyFileBuffer(t){}async registerFileBuffer(t,n){let r=new vn("REGISTER_FILE_BUFFER",[t,n]);await this.postTask(r,[n.buffer])}async registerFileHandle(t,n,r,i){let s=new vn("REGISTER_FILE_HANDLE",[t,n,r,i]);await this.postTask(s,[])}async registerOPFSFileName(t){let n=new vn("REGISTER_OPFS_FILE_NAME",[t]);await this.postTask(n,[])}async collectFileStatistics(t,n){let r=new vn("COLLECT_FILE_STATISTICS",[t,n]);await this.postTask(r,[])}async exportFileStatistics(t){let n=new vn("EXPORT_FILE_STATISTICS",t);return await this.postTask(n,[])}async copyFileToBuffer(t){let n=new vn("COPY_FILE_TO_BUFFER",t);return await this.postTask(n)}async copyFileToPath(t,n){let r=new vn("COPY_FILE_TO_PATH",[t,n]);await this.postTask(r)}async insertArrowFromIPCStream(t,n,r){if(n.length==0)return;let i=new vn("INSERT_ARROW_FROM_IPC_STREAM",[t,n,r]);await this.postTask(i,[n.buffer])}async insertCSVFromPath(t,n,r){if(r.columns!==void 0){let s=[];for(let o in r.columns){let a=r.columns[o];s.push(O4(o,a))}r.columnsFlat=s,delete r.columns}let i=new vn("IMPORT_CSV_FROM_PATH",[t,n,r]);await this.postTask(i)}async insertJSONFromPath(t,n,r){if(r.columns!==void 0){let s=[];for(let o in r.columns){let a=r.columns[o];s.push(O4(o,a))}r.columnsFlat=s,delete r.columns}let i=new vn("IMPORT_JSON_FROM_PATH",[t,n,r]);await this.postTask(i)}};function vwt(){let e=new TextDecoder;return t=>(typeof SharedArrayBuffer<"u"&&t.buffer instanceof SharedArrayBuffer&&(t=new Uint8Array(t)),e.decode(t))}vwt();var bwt=(e=>(e[e.BUFFER=0]="BUFFER",e[e.NODE_FS=1]="NODE_FS",e[e.BROWSER_FILEREADER=2]="BROWSER_FILEREADER",e[e.BROWSER_FSACCESS=3]="BROWSER_FSACCESS",e[e.HTTP=4]="HTTP",e[e.S3=5]="S3",e))(bwt||{}),_wt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,3,1,0,1,10,14,1,12,0,65,0,65,0,65,0,252,10,0,0,11])),wwt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,10,8,1,6,0,6,64,25,11,11])),xwt=async()=>WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11])),Swt=()=>(async e=>{try{return typeof MessageChannel<"u"&&new MessageChannel().port1.postMessage(new SharedArrayBuffer(1)),WebAssembly.validate(e)}catch{return!1}})(new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,2,1,0,5,4,1,3,1,1,10,11,1,9,0,65,0,254,16,2,0,26,11])),sI={name:"@duckdb/duckdb-wasm",version:"1.30.0"},Awt=sI.name,Ewt=sI.version,oI=sI.version.split(".");oI[0];oI[1];oI[2];var Twt=()=>typeof navigator>"u";function kwt(){let e="https://cdn.jsdelivr.net/npm/".concat(Awt,"@").concat(Ewt,"/dist/");return{mvp:{mainModule:"".concat(e,"duckdb-mvp.wasm"),mainWorker:"".concat(e,"duckdb-browser-mvp.worker.js")},eh:{mainModule:"".concat(e,"duckdb-eh.wasm"),mainWorker:"".concat(e,"duckdb-browser-eh.worker.js")}}}var QE=null,tT=null,eT=null,nT=null,rT=null;async function Mwt(){return QE==null&&(QE=typeof BigInt64Array<"u"),tT==null&&(tT=await wwt()),eT==null&&(eT=await Swt()),nT==null&&(nT=await xwt()),rT==null&&(rT=await _wt()),{bigInt64Array:QE,crossOriginIsolated:Twt()||globalThis.crossOriginIsolated||!1,wasmExceptions:tT,wasmSIMD:nT,wasmThreads:eT,wasmBulkMemory:rT}}async function aj(e){let t=await Mwt();if(t.wasmExceptions){if(t.wasmSIMD&&t.wasmThreads&&t.crossOriginIsolated&&e.coi)return{mainModule:e.coi.mainModule,mainWorker:e.coi.mainWorker,pthreadWorker:e.coi.pthreadWorker};if(e.eh)return{mainModule:e.eh.mainModule,mainWorker:e.eh.mainWorker,pthreadWorker:null}}return{mainModule:e.mvp.mainModule,mainWorker:e.mvp.mainWorker,pthreadWorker:null}}iwt(swt());function Iwt(e={}){return new Rwt(e)}class Rwt{_ipc;_options;_db;_con;_config;_loadPromise;constructor(t={}){const{ipc:n,duckdb:r,connection:i,config:s,...o}=t;this._ipc=n,this._options=o,this._db=r,this._con=i,this._config=s}async getDuckDB(){return this._db||await bO(this),this._db}async getConnection(){return this._con||await bO(this),this._con}async query(t){const{type:n,sql:r}=t,i=await this.getConnection(),s=await Cwt(i,r);return n==="exec"?void 0:n==="arrow"?ex(s,this._ipc):ex(s).toArray()}}function Cwt(e,t){return new Promise((n,r)=>{e.useUnsafe(async(i,s)=>{try{const o=await i.runQuery(s,t);n(o)}catch(o){r(o)}})})}function bO(e){return e._loadPromise||(e._loadPromise=(e._db?Promise.resolve(e._db):Nwt(e._options).then(t=>e._db=t)).then(t=>e._config!=null?t.open(e._config).then(()=>t):t).then(t=>t.connect()).then(t=>e._con=t)),e._loadPromise}async function Nwt({log:e=!1}={}){const t=kwt(),n=await aj(t),r=URL.createObjectURL(new Blob([`importScripts("${n.mainWorker}");`],{type:"text/javascript"})),i=new Worker(r),s=e?new ij:new rj,o=new oj(s,i);return await o.instantiate(n.mainModule,n.pthreadWorker),URL.revokeObjectURL(r),o}function Bx(e,t,{source:n,clients:r=_1(n)?new Set([n]):void 0}){const i=t!==void 0?Wd(e,[Jt(t)]):null;return{meta:{type:"point"},source:n,clients:r,value:t,predicate:i}}function WS(e,t,{source:n,clients:r=_1(n)?new Set([n]):void 0}){let i=null;if(t?.length){const s=t.length&&e.length===1?[Wd(e[0],t.map(o=>Jt(o[0])))]:t.map(o=>Si(o.map((a,l)=>k6(e[l],Jt(a)))));i=t.length===0?Jt(!1):s.length>1?ss(s):s[0]}return{meta:{type:"point"},source:n,clients:r,value:t,predicate:i}}function aI(e,t,{source:n,clients:r=_1(n)?new Set([n]):void 0,bin:i,scale:s,pixelSize:o=1}){const a=t!=null?$s(e,t):null;return{meta:{type:"interval",scales:s&&[s],bin:i,pixelSize:o},source:n,clients:r,value:t,predicate:a}}function $wt(e,t,{source:n,clients:r=_1(n)?new Set([n]):void 0,bin:i,scales:s=[],pixelSize:o=1}){const a=t!=null?Si(e.map((c,u)=>$s(c,t[u]))):null;return{meta:{type:"interval",scales:s,bin:i,pixelSize:o},source:n,clients:r,value:t,predicate:a}}const Owt=e=>e,Lwt={contains:Byt,prefix:Pyt,suffix:Uyt,regexp:Fyt};function Dwt(e,t,{source:n,clients:r=void 0,method:i="contains",caseSensitive:s=!1}){const o=Lwt[i],a=s?Owt:zyt,l=t?o(a(e),a(Jt(t))):null;return{meta:{type:"match",method:i},source:n,clients:r,value:t,predicate:l}}function Fwt(e,t,{source:n,clients:r=_1(n)?new Set([n]):void 0,listMatch:i="any"}){const o=t!==void 0?(i==="all"?xyt:Syt)(e,Jt(t)):null;return{source:n,clients:r,value:t,predicate:o}}function Bwt(e){return typeof e?.getChild=="function"}class Pwt{_set;_done;_promise;constructor(){this._set=new Set,this._done=()=>{},this._promise=new Promise(t=>this._done=t)}pending(t){this._set.add(t)}ready(t){return this._set.delete(t),this._set.size===0}resolve(){this._promise=new Promise(t=>{this._done(),this._done=t})}get promise(){return this._promise}}function Xd(e){if(Bwt(e))return Uwt(e);if(Array.isArray(e))return zwt(e);throw new Error("Unrecognized data format.")}function Uwt(e){const{numRows:t}=e;return{numRows:t,columns:e.toColumns()}}function zwt(e){const t=e.length;if(typeof e[0]=="object"){const n=t?Object.keys(e[0]):[],r={};return n.length>0&&n.forEach(i=>{r[i]=e.map(s=>s[i])}),{numRows:t,columns:r}}else return{numRows:t,values:e}}function lj(e){switch(e){case"BIGINT":case"HUGEINT":case"INTEGER":case"SMALLINT":case"TINYINT":case"UBIGINT":case"UINTEGER":case"USMALLINT":case"UTINYINT":case"DOUBLE":case"FLOAT":case"REAL":return"number";case"DATE":case"TIMESTAMP":case"TIMESTAMPTZ":case"TIMESTAMP WITH TIME ZONE":case"TIME":case"TIMESTAMP_NS":return"date";case"BOOLEAN":return"boolean";case"VARCHAR":case"UUID":case"JSON":return"string";case"ARRAY":case"LIST":return"array";case"BLOB":case"STRUCT":case"MAP":case"GEOMETRY":return"object";default:if(e.startsWith("ENUM"))return"string";if(e.startsWith("DECIMAL"))return"number";if(e.startsWith("STRUCT")||e.startsWith("MAP"))return"object";if(e.endsWith("]"))return"array";throw new Error(`Unsupported type: ${e}`)}}const qwt="count",jwt="nulls",Vwt="max",Wwt="min",Ywt="distinct",Hwt={[qwt]:or,[Ywt]:e=>or(e).distinct(),[Vwt]:Fa,[Wwt]:gl,[jwt]:e=>or().where(ll(e))};function Gwt({table:e,column:t,stats:n}){return Pt.from(e).select(Array.from(n,r=>({[r]:Hwt[r](t)})))}async function lI(e,t){return t.length===1&&t[0].column==="*"?Kwt(e,t[0].table):(await Promise.all(t.map(n=>Xwt(e,n)))).filter(n=>n!==void 0)}async function Xwt(e,{table:t,column:n,stats:r}){const i=Pt.from({source:t}).select({column:n}).groupby(pc(n)&&bh(n)?te`ALL`:[]),[s]=Array.from(await e.query(Pt.describe(i))),o={table:t,column:`${n}`,sqlType:s.column_type,type:lj(s.column_type),nullable:s.null==="YES"};if(!r?.length)return o;const[a]=await e.query(Gwt({table:t,column:n,stats:r}),{persist:!0});return Object.assign(o,a)}async function Kwt(e,t){return Array.from(await e.query(`DESCRIBE ${xU(t)}`)).map(r=>({table:t,column:r.column_name,sqlType:r.column_type,type:lj(r.column_type),nullable:r.null==="YES"}))}var Jwt=(e,t)=>{t.onClick?.()},Zwt=xt(" "),Qwt=xt("");function xa(e,t){me(t,!0);let n=ie(t,"label",3,null),r=ie(t,"icon",3,null),i=ie(t,"title",3,""),s=ie(t,"order",3,null),o=ie(t,"style",3,"default");const a={default:"bg-white dark:bg-slate-800 border-slate-300 dark:border-slate-600 dark:text-slate-400 focus-visible:outline-2 outline-blue-600 -outline-offset-1",plotCell:"bg-white text-slate-400 border-slate-300 hover:text-slate-500 hover:border-slate-500 dark:text-slate-500 dark:border-slate-500 dark:bg-slate-800 dark:hover:border-slate-300 dark:hover:text-slate-300",plotCellClose:"bg-white text-red-500 border-red-500 hover:text-white hover:bg-red-500 dark:bg-slate-800"};var l=Qwt();l.__click=[Jwt,t];let c;var u=ot(l);{var f=g=>{const y=dt(r);var v=_n(),b=Wt(v);vv(b,()=>w(y),(_,x)=>{x(_,{class:"w-5 h-5"})}),st(g,v)};Ot(u,g=>{r()!=null&&g(f)})}var h=mt(u,2);{var d=g=>{var y=Zwt();let v;var b=ot(y,!0);tt(y),Ft(_=>{v=ar(y,1,"",null,v,_),ce(b,n())},[()=>({"ml-1":r()!=null})]),st(g,y)};Ot(h,g=>{n()!=null&&n()!=""&&g(d)})}tt(l),Ft(g=>{ar(l,1,`rounded-md px-1.5 py-1.5 h-[28px] flex select-none items-center border ${a[o()]??""} ${t.class??""??""}`),ct(l,"title",i()),c=Te(l,"",c,g)},[()=>({order:s()})]),st(e,l),ye()}Dr(["click"]);var txt=(e,t,n)=>t(n),ext=xt(''),nxt=xt('
    '),rxt=xt('
    ');function _O(e,t){me(t,!0);let n=ie(t,"value",3,""),r=ie(t,"options",19,()=>[]),i,s,o=_t(!1),a=dt(()=>n()!=null&&r()!=null?r().filter(g=>g.toLowerCase().includes(n().toLowerCase())):r()??[]);function l(g){t.onChange?.(g)}function c(g){l(g),X(o,!1)}var u=rxt(),f=ot(u);n6(f),f.__change=()=>l(i.value??""),f.__input=()=>l(i.value??""),po(f,g=>i=g,()=>i);var h=mt(f,2);{var d=g=>{var y=nxt();bn(y,20,()=>w(a),v=>v,(v,b)=>{var _=ext();_.__click=[txt,c,b];var x=ot(_,!0);tt(_),Ft(()=>ce(x,b)),st(v,_)}),tt(y),st(g,y)};Ot(h,g=>{w(o)&&w(a).length>0&&g(d)})}tt(u),po(u,g=>s=g,()=>s),Ft(()=>{ar(u,1,`relative ${t.className??""??""}`),ct(f,"placeholder",t.placeholder),zpt(f,n())}),P0("focus",f,()=>X(o,!0)),P0("blur",f,g=>{g.relatedTarget&&g.relatedTarget instanceof Node&&s.contains(g.relatedTarget)||X(o,!1)}),st(e,u),ye()}Dr(["change","input","click"]);const ixt="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let cI=(e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e|=0));for(;e--;)t+=ixt[n[e]&63];return t};function wO(e,t,n,r){!t()||!w(n)||t()(r(w(n).value))}var sxt=xt(""),oxt=xt("
    "),axt=xt(""),lxt=xt(''),cxt=xt(""),uxt=xt("
    "),fxt=xt(""),hxt=xt("");function Sa(e,t){me(t,!0);let n=ie(t,"label",3,void 0),r=ie(t,"disabled",3,!1),i=ie(t,"placeholder",3,null),s=ie(t,"options",19,()=>[]),o=ie(t,"onChange",3,void 0),a=_t(void 0);const l=cI(),c=l+"_null",u=l+"_undefined",f=b=>b===null?c:b===void 0?u:b.toString(),h=b=>b===c?null:b===u?void 0:b;var d=_n(),g=Wt(d);{var y=b=>{var _=lxt(),x=ot(_),A=ot(x,!0);tt(x);var k=mt(x,2);k.__change=[wO,o,a,h];var S=ot(k);{var T=N=>{var C=sxt(),L=ot(C,!0);tt(C),C.value=(C.__value=null)??"",Ft(()=>ce(L,i())),st(N,C)};Ot(S,N=>{i()!=null&&N(T)})}var M=mt(S);bn(M,17,s,Bn,(N,C)=>{var L=_n(),F=Wt(L);{var $=O=>{var B=oxt();st(O,B)},D=O=>{var B=axt(),V=ot(B,!0);tt(B);var U={};Ft(q=>{ce(V,w(C).label),U!==(U=q)&&(B.value=(B.__value=q)??"")},[()=>f(w(C).value)]),st(O,B)};Ot(F,O=>{w(C)==="---"?O($):O(D,!1)})}st(N,L)}),tt(k),po(k,N=>X(a,N),()=>w(a));var I;Kw(k),tt(_),Ft(N=>{ce(A,n()),ar(k,1,`form-select rounded-md py-1 bg-white dark:bg-slate-900 border border-slate-300 dark:border-slate-600 dark:text-slate-400 text-ellipsis ${t.class??""??""}`),k.disabled=r(),I!==(I=N)&&(k.value=(k.__value=N)??"",gg(k,N))},[()=>f(t.value)]),st(b,_)},v=b=>{var _=hxt();_.__change=[wO,o,a,h];var x=ot(_);{var A=T=>{var M=cxt(),I=ot(M,!0);tt(M),M.value=(M.__value=null)??"",Ft(()=>ce(I,i())),st(T,M)};Ot(x,T=>{i()!=null&&T(A)})}var k=mt(x);bn(k,17,s,Bn,(T,M)=>{var I=_n(),N=Wt(I);{var C=F=>{var $=uxt();st(F,$)},L=F=>{var $=fxt(),D=ot($,!0);tt($);var O={};Ft(B=>{ce(D,w(M).label),O!==(O=B)&&($.value=($.__value=B)??"")},[()=>f(w(M).value)]),st(F,$)};Ot(N,F=>{w(M)==="---"?F(C):F(L,!1)})}st(T,I)}),tt(_),po(_,T=>X(a,T),()=>w(a));var S;Kw(_),Ft(T=>{ar(_,1,`form-select rounded-md py-1 bg-white dark:bg-slate-900 border border-slate-300 dark:border-slate-600 dark:text-slate-400 select-none text-ellipsis ${t.class??""??""}`),_.disabled=r(),S!==(S=T)&&(_.value=(_.__value=T)??"",gg(_,T))},[()=>f(t.value)]),st(b,_)};Ot(g,b=>{n()!=null?b(y):b(v,!1)})}st(e,d),ye()}Dr(["change"]);function dxt(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Px(e,t){if((n=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var n,r=e.slice(0,n);return[r.length>1?r[0]+r.slice(2):r,+e.slice(n+1)]}function Eg(e){return e=Px(Math.abs(e)),e?e[1]:NaN}function pxt(e,t){return function(n,r){for(var i=n.length,s=[],o=0,a=e[0],l=0;i>0&&a>0&&(l+a+1>r&&(a=Math.max(1,r-l)),s.push(n.substring(i-=a,i+a)),!((l+=a+1)>r));)a=e[o=(o+1)%e.length];return s.reverse().join(t)}}function gxt(e){return function(t){return t.replace(/[0-9]/g,function(n){return e[+n]})}}var mxt=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function Cv(e){if(!(t=mxt.exec(e)))throw new Error("invalid format: "+e);var t;return new uI({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}Cv.prototype=uI.prototype;function uI(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}uI.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function yxt(e){t:for(var t=e.length,n=1,r=-1,i;n0&&(r=0);break}return r>0?e.slice(0,r)+e.slice(i+1):e}var cj;function vxt(e,t){var n=Px(e,t);if(!n)return e+"";var r=n[0],i=n[1],s=i-(cj=Math.max(-8,Math.min(8,Math.floor(i/3)))*3)+1,o=r.length;return s===o?r:s>o?r+new Array(s-o+1).join("0"):s>0?r.slice(0,s)+"."+r.slice(s):"0."+new Array(1-s).join("0")+Px(e,Math.max(0,t+s-1))[0]}function xO(e,t){var n=Px(e,t);if(!n)return e+"";var r=n[0],i=n[1];return i<0?"0."+new Array(-i).join("0")+r:r.length>i+1?r.slice(0,i+1)+"."+r.slice(i+1):r+new Array(i-r.length+2).join("0")}const SO={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:dxt,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>xO(e*100,t),r:xO,s:vxt,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function AO(e){return e}var EO=Array.prototype.map,TO=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function bxt(e){var t=e.grouping===void 0||e.thousands===void 0?AO:pxt(EO.call(e.grouping,Number),e.thousands+""),n=e.currency===void 0?"":e.currency[0]+"",r=e.currency===void 0?"":e.currency[1]+"",i=e.decimal===void 0?".":e.decimal+"",s=e.numerals===void 0?AO:gxt(EO.call(e.numerals,String)),o=e.percent===void 0?"%":e.percent+"",a=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function c(f){f=Cv(f);var h=f.fill,d=f.align,g=f.sign,y=f.symbol,v=f.zero,b=f.width,_=f.comma,x=f.precision,A=f.trim,k=f.type;k==="n"?(_=!0,k="g"):SO[k]||(x===void 0&&(x=12),A=!0,k="g"),(v||h==="0"&&d==="=")&&(v=!0,h="0",d="=");var S=y==="$"?n:y==="#"&&/[boxX]/.test(k)?"0"+k.toLowerCase():"",T=y==="$"?r:/[%p]/.test(k)?o:"",M=SO[k],I=/[defgprs%]/.test(k);x=x===void 0?6:/[gprs]/.test(k)?Math.max(1,Math.min(21,x)):Math.max(0,Math.min(20,x));function N(C){var L=S,F=T,$,D,O;if(k==="c")F=M(C)+F,C="";else{C=+C;var B=C<0||1/C<0;if(C=isNaN(C)?l:M(Math.abs(C),x),A&&(C=yxt(C)),B&&+C==0&&g!=="+"&&(B=!1),L=(B?g==="("?g:a:g==="-"||g==="("?"":g)+L,F=(k==="s"?TO[8+cj/3]:"")+F+(B&&g==="("?")":""),I){for($=-1,D=C.length;++$O||O>57){F=(O===46?i+C.slice($+1):C.slice($))+F,C=C.slice(0,$);break}}}_&&!v&&(C=t(C,1/0));var V=L.length+C.length+F.length,U=V>1)+L+C+F+U.slice(V);break;default:C=U+L+C+F;break}return s(C)}return N.toString=function(){return f+""},N}function u(f,h){var d=c((f=Cv(f),f.type="f",f)),g=Math.max(-8,Math.min(8,Math.floor(Eg(h)/3)))*3,y=Math.pow(10,-g),v=TO[8+g/3];return function(b){return d(y*b)+v}}return{format:c,formatPrefix:u}}var E_,Wa,uj;_xt({thousands:",",grouping:[3],currency:["$",""]});function _xt(e){return E_=bxt(e),Wa=E_.format,uj=E_.formatPrefix,E_}function wxt(e){return Math.max(0,-Eg(Math.abs(e)))}function xxt(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(Eg(t)/3)))*3-Eg(Math.abs(e)))}function Sxt(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,Eg(t)-Eg(e))+1}function Yn(e,t){return e==null||t==null?NaN:et?1:e>=t?0:NaN}function Kd(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function YS(e){let t,n,r;e.length!==2?(t=Yn,n=(a,l)=>Yn(e(a),l),r=(a,l)=>e(a)-l):(t=e===Yn||e===Kd?e:Axt,n=e,r=e);function i(a,l,c=0,u=a.length){if(c>>1;n(a[f],l)<0?c=f+1:u=f}while(c>>1;n(a[f],l)<=0?c=f+1:u=f}while(cc&&r(a[f-1],l)>-r(a[f],l)?f-1:f}return{left:i,center:o,right:s}}function Axt(){return 0}function fj(e){return e===null?NaN:+e}function*Ext(e,t){if(t===void 0)for(let n of e)n!=null&&(n=+n)>=n&&(yield n);else{let n=-1;for(let r of e)(r=t(r,++n,e))!=null&&(r=+r)>=r&&(yield r)}}const Txt=YS(Yn),HS=Txt.right;YS(fj).center;const hj=dj(pj),kxt=dj(Mxt);function dj(e){return function(t,n,r=n){if(!((n=+n)>=0))throw new RangeError("invalid rx");if(!((r=+r)>=0))throw new RangeError("invalid ry");let{data:i,width:s,height:o}=t;if(!((s=Math.floor(s))>=0))throw new RangeError("invalid width");if(!((o=Math.floor(o!==void 0?o:i.length/s))>=0))throw new RangeError("invalid height");if(!s||!o||!n&&!r)return t;const a=n&&e(n),l=r&&e(r),c=i.slice();return a&&l?(e0(a,c,i,s,o),e0(a,i,c,s,o),e0(a,c,i,s,o),n0(l,i,c,s,o),n0(l,c,i,s,o),n0(l,i,c,s,o)):a?(e0(a,i,c,s,o),e0(a,c,i,s,o),e0(a,i,c,s,o)):l&&(n0(l,i,c,s,o),n0(l,c,i,s,o),n0(l,i,c,s,o)),t}}function e0(e,t,n,r,i){for(let s=0,o=r*i;s{i<<=2,s<<=2,o<<=2,t(n,r,i+0,s+0,o),t(n,r,i+1,s+1,o),t(n,r,i+2,s+2,o),t(n,r,i+3,s+3,o)}}function pj(e){const t=Math.floor(e);if(t===e)return Ixt(e);const n=e-t,r=2*e+1;return(i,s,o,a,l)=>{if(!((a-=l)>=o))return;let c=t*s[o];const u=l*t,f=u+l;for(let h=o,d=o+u;h{if(!((s-=o)>=i))return;let a=e*r[i];const l=o*e;for(let c=i,u=i+l;c=r&&++n;else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(i=+i)>=i&&++n}return n}function Rxt(e){return e.length|0}function Cxt(e){return!(e>0)}function Nxt(e){return typeof e!="object"||"length"in e?e:Array.from(e)}function $xt(e){return t=>e(...t)}function Oxt(...e){const t=typeof e[e.length-1]=="function"&&$xt(e.pop());e=e.map(Nxt);const n=e.map(Rxt),r=e.length-1,i=new Array(r+1).fill(0),s=[];if(r<0||n.some(Cxt))return s;for(;;){s.push(i.map((a,l)=>e[l][a]));let o=r;for(;++i[o]===n[o];){if(o===0)return t?s.map(t):s;i[o--]=0}}}function Lxt(e,t){var n=0;return Float64Array.from(e,r=>n+=+r||0)}function fI(e,t){let n=0,r,i=0,s=0;if(t===void 0)for(let o of e)o!=null&&(o=+o)>=o&&(r=o-i,i+=r/++n,s+=r*(o-i));else{let o=-1;for(let a of e)(a=t(a,++o,e))!=null&&(a=+a)>=a&&(r=a-i,i+=r/++n,s+=r*(a-i))}if(n>1)return s/(n-1)}function N1(e,t){const n=fI(e,t);return n&&Math.sqrt(n)}function pi(e,t){let n,r;if(t===void 0)for(const i of e)i!=null&&(n===void 0?i>=i&&(n=r=i):(n>i&&(n=i),r=s&&(n=r=s):(n>s&&(n=s),r0){for(o=t[--n];n>0&&(r=o,i=t[--n],o=r+i,s=i-(o-r),!s););n>0&&(s<0&&t[n-1]<0||s>0&&t[n-1]>0)&&(i=s*2,r=o+i,i==r-o&&(o=r))}return o}}class Jd extends Map{constructor(t,n=yj){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const[r,i]of t)this.set(r,i)}get(t){return super.get(L4(this,t))}has(t){return super.has(L4(this,t))}set(t,n){return super.set(gj(this,t),n)}delete(t){return super.delete(mj(this,t))}}class um extends Set{constructor(t,n=yj){if(super(),Object.defineProperties(this,{_intern:{value:new Map},_key:{value:n}}),t!=null)for(const r of t)this.add(r)}has(t){return super.has(L4(this,t))}add(t){return super.add(gj(this,t))}delete(t){return super.delete(mj(this,t))}}function L4({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):n}function gj({_intern:e,_key:t},n){const r=t(n);return e.has(r)?e.get(r):(e.set(r,n),n)}function mj({_intern:e,_key:t},n){const r=t(n);return e.has(r)&&(n=e.get(r),e.delete(r)),n}function yj(e){return e!==null&&typeof e=="object"?e.valueOf():e}function D4(e){return e}function wh(e,...t){return hI(e,D4,D4,t)}function Y0(e,t,...n){return hI(e,D4,t,n)}function Dxt(e,t,...n){return hI(e,Array.from,t,n)}function hI(e,t,n,r){return(function i(s,o){if(o>=r.length)return n(s);const a=new Jd,l=r[o++];let c=-1;for(const u of s){const f=l(u,++c,s),h=a.get(f);h?h.push(u):a.set(f,[u])}for(const[u,f]of a)a.set(u,i(f,o));return t(a)})(e,0)}function Fxt(e,t){return Array.from(t,n=>e[n])}function Ux(e,...t){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");e=Array.from(e);let[n]=t;if(n&&n.length!==2||t.length>1){const r=Uint32Array.from(e,(i,s)=>s);return t.length>1?(t=t.map(i=>e.map(i)),r.sort((i,s)=>{for(const o of t){const a=Nv(o[i],o[s]);if(a)return a}})):(n=e.map(n),r.sort((i,s)=>Nv(n[i],n[s]))),Fxt(e,r)}return e.sort(dI(n))}function dI(e=Yn){if(e===Yn)return Nv;if(typeof e!="function")throw new TypeError("compare is not a function");return(t,n)=>{const r=e(t,n);return r||r===0?r:(e(n,n)===0)-(e(t,t)===0)}}function Nv(e,t){return(e==null||!(e>=e))-(t==null||!(t>=t))||(et?1:0)}function pI(e,t,n){return(t.length!==2?Ux(Y0(e,t,n),(([r,i],[s,o])=>Yn(i,o)||Yn(r,s))):Ux(wh(e,n),(([r,i],[s,o])=>t(i,o)||Yn(r,s)))).map(([r])=>r)}const Bxt=Math.sqrt(50),Pxt=Math.sqrt(10),Uxt=Math.sqrt(2);function zx(e,t,n){const r=(t-e)/Math.max(0,n),i=Math.floor(Math.log10(r)),s=r/Math.pow(10,i),o=s>=Bxt?10:s>=Pxt?5:s>=Uxt?2:1;let a,l,c;return i<0?(c=Math.pow(10,-i)/o,a=Math.round(e*c),l=Math.round(t*c),a/ct&&--l,c=-c):(c=Math.pow(10,i)*o,a=Math.round(e/c),l=Math.round(t/c),a*ct&&--l),l0))return[];if(e===t)return[e];const r=t=i))return[];const a=s-i+1,l=new Array(a);if(r)if(o<0)for(let c=0;c0?(e=Math.floor(e/i)*i,t=Math.ceil(t/i)*i):i<0&&(e=Math.ceil(e*i)/i,t=Math.floor(t*i)/i),r=i}}function gI(e){return Math.max(1,Math.ceil(Math.log(GS(e))/Math.LN2)+1)}function Yr(e,t){let n;if(t===void 0)for(const r of e)r!=null&&(n=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n=i)&&(n=i)}return n}function zxt(e,t){let n,r=-1,i=-1;if(t===void 0)for(const s of e)++i,s!=null&&(n=s)&&(n=s,r=i);else for(let s of e)(s=t(s,++i,e))!=null&&(n=s)&&(n=s,r=i);return r}function Or(e,t){let n;if(t===void 0)for(const r of e)r!=null&&(n>r||n===void 0&&r>=r)&&(n=r);else{let r=-1;for(let i of e)(i=t(i,++r,e))!=null&&(n>i||n===void 0&&i>=i)&&(n=i)}return n}function qxt(e,t){let n,r=-1,i=-1;if(t===void 0)for(const s of e)++i,s!=null&&(n>s||n===void 0&&s>=s)&&(n=s,r=i);else for(let s of e)(s=t(s,++i,e))!=null&&(n>s||n===void 0&&s>=s)&&(n=s,r=i);return r}function bj(e,t,n=0,r=1/0,i){if(t=Math.floor(t),n=Math.floor(Math.max(0,n)),r=Math.floor(Math.min(e.length-1,r)),!(n<=t&&t<=r))return e;for(i=i===void 0?Nv:dI(i);r>n;){if(r-n>600){const l=r-n+1,c=t-n+1,u=Math.log(l),f=.5*Math.exp(2*u/3),h=.5*Math.sqrt(u*f*(l-f)/l)*(c-l/2<0?-1:1),d=Math.max(n,Math.floor(t-c*f/l+h)),g=Math.min(r,Math.floor(t+(l-c)*f/l+h));bj(e,t,d,g,i)}const s=e[t];let o=n,a=r;for(ny(e,n,t),i(e[r],s)>0&&ny(e,n,r);o0;)--a}i(e[n],s)===0?ny(e,n,a):(++a,ny(e,a,r)),a<=t&&(n=a+1),t<=a&&(r=a-1)}return e}function ny(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function mI(e,t=Yn){let n,r=!1;if(t.length===1){let i;for(const s of e){const o=t(s);(r?Yn(o,i)>0:Yn(o,o)===0)&&(n=s,i=o,r=!0)}}else for(const i of e)(r?t(i,n)>0:t(i,i)===0)&&(n=i,r=!0);return n}function nh(e,t,n){if(e=Float64Array.from(Ext(e,n)),!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return Or(e);if(t>=1)return Yr(e);var r,i=(r-1)*t,s=Math.floor(i),o=Yr(bj(e,s).subarray(0,s+1)),a=Or(e.subarray(s+1));return o+(a-o)*(i-s)}}function jxt(e,t,n=fj){if(!(!(r=e.length)||isNaN(t=+t))){if(t<=0||r<2)return+n(e[0],0,e);if(t>=1)return+n(e[r-1],r-1,e);var r,i=(r-1)*t,s=Math.floor(i),o=+n(e[s],s,e),a=+n(e[s+1],s+1,e);return o+(a-o)*(i-s)}}function Vxt(e,t,n){const r=GS(e),i=nh(e,.75)-nh(e,.25);return r&&i?Math.ceil((n-t)/(2*i*Math.pow(r,-1/3))):1}function _j(e,t,n){const r=GS(e),i=N1(e);return r&&i?Math.ceil((n-t)*Math.cbrt(r)/(3.49*i)):1}function XS(e,t){let n=0,r=0;if(t===void 0)for(let i of e)i!=null&&(i=+i)>=i&&(++n,r+=i);else{let i=-1;for(let s of e)(s=t(s,++i,e))!=null&&(s=+s)>=s&&(++n,r+=s)}if(n)return r/n}function Ov(e,t){return nh(e,.5,t)}function*Wxt(e){for(const t of e)yield*t}function wj(e){return Array.from(Wxt(e))}function xj(e,t){const n=new Jd;if(t===void 0)for(let s of e)s!=null&&s>=s&&n.set(s,(n.get(s)||0)+1);else{let s=-1;for(let o of e)(o=t(o,++s,e))!=null&&o>=o&&n.set(o,(n.get(o)||0)+1)}let r,i=0;for(const[s,o]of n)o>i&&(i=o,r=s);return r}function Yxt(e,t=Hxt){const n=[];let r,i=!1;for(const s of e)i&&n.push(t(r,s)),r=s,i=!0;return n}function Hxt(e,t){return[e,t]}function Do(e,t,n){e=+e,t=+t,n=(i=arguments.length)<2?(t=e,e=0,1):i<3?1:+n;for(var r=-1,i=Math.max(0,Math.ceil((t-e)/n))|0,s=new Array(i);++rt(n[a],n[l]);let s,o;return e=Uint32Array.from(n,(a,l)=>l),e.sort(t===Yn?(a,l)=>Nv(n[a],n[l]):dI(i)),e.forEach((a,l)=>{const c=i(a,s===void 0?a:s);c>=0?((s===void 0||c>0)&&(s=a,o=l),r[a]=o):r[a]=NaN}),r}function Gxt(e,t=Yn){let n,r=!1;if(t.length===1){let i;for(const s of e){const o=t(s);(r?Yn(o,i)<0:Yn(o,o)===0)&&(n=s,i=o,r=!0)}}else for(const i of e)(r?t(i,n)<0:t(i,i)===0)&&(n=i,r=!0);return n}function ml(e,t){let n=0;if(t===void 0)for(let r of e)(r=+r)&&(n+=r);else{let r=-1;for(let i of e)(i=+t(i,++r,e))&&(n+=i)}return n}function qx(e){if(typeof e[Symbol.iterator]!="function")throw new TypeError("values is not iterable");return Array.from(e).reverse()}function Ic(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}function KS(e,t){switch(arguments.length){case 0:break;case 1:{typeof e=="function"?this.interpolator(e):this.range(e);break}default:{this.domain(e),typeof t=="function"?this.interpolator(t):this.range(t);break}}return this}const B4=Symbol("implicit");function yI(){var e=new Jd,t=[],n=[],r=B4;function i(s){let o=e.get(s);if(o===void 0){if(r!==B4)return r;e.set(s,o=t.push(s)-1)}return n[o%n.length]}return i.domain=function(s){if(!arguments.length)return t.slice();t=[],e=new Jd;for(const o of s)e.has(o)||e.set(o,t.push(o)-1);return i},i.range=function(s){return arguments.length?(n=Array.from(s),i):n.slice()},i.unknown=function(s){return arguments.length?(r=s,i):r},i.copy=function(){return yI(t,n).unknown(r)},Ic.apply(i,arguments),i}function $1(){var e=yI().unknown(void 0),t=e.domain,n=e.range,r=0,i=1,s,o,a=!1,l=0,c=0,u=.5;delete e.unknown;function f(){var h=t().length,d=i>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?T_(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?T_(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=Jxt.exec(e))?new Oi(t[1],t[2],t[3],1):(t=Zxt.exec(e))?new Oi(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Qxt.exec(e))?T_(t[1],t[2],t[3],t[4]):(t=t2t.exec(e))?T_(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=e2t.exec(e))?$O(t[1],t[2]/100,t[3]/100,1):(t=n2t.exec(e))?$O(t[1],t[2]/100,t[3]/100,t[4]):kO.hasOwnProperty(e)?RO(kO[e]):e==="transparent"?new Oi(NaN,NaN,NaN,0):null}function RO(e){return new Oi(e>>16&255,e>>8&255,e&255,1)}function T_(e,t,n,r){return r<=0&&(e=t=n=NaN),new Oi(e,t,n,r)}function vI(e){return e instanceof xh||(e=rh(e)),e?(e=e.rgb(),new Oi(e.r,e.g,e.b,e.opacity)):new Oi}function yo(e,t,n,r){return arguments.length===1?vI(e):new Oi(e,t,n,r??1)}function Oi(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}fm(Oi,yo,O1(xh,{brighter(e){return e=e==null?Tg:Math.pow(Tg,e),new Oi(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Zd:Math.pow(Zd,e),new Oi(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Oi(Td(this.r),Td(this.g),Td(this.b),jx(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:CO,formatHex:CO,formatHex8:s2t,formatRgb:NO,toString:NO}));function CO(){return`#${gd(this.r)}${gd(this.g)}${gd(this.b)}`}function s2t(){return`#${gd(this.r)}${gd(this.g)}${gd(this.b)}${gd((isNaN(this.opacity)?1:this.opacity)*255)}`}function NO(){const e=jx(this.opacity);return`${e===1?"rgb(":"rgba("}${Td(this.r)}, ${Td(this.g)}, ${Td(this.b)}${e===1?")":`, ${e})`}`}function jx(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Td(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function gd(e){return e=Td(e),(e<16?"0":"")+e.toString(16)}function $O(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new el(e,t,n,r)}function Ej(e){if(e instanceof el)return new el(e.h,e.s,e.l,e.opacity);if(e instanceof xh||(e=rh(e)),!e)return new el;if(e instanceof el)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),s=Math.max(t,n,r),o=NaN,a=s-i,l=(s+i)/2;return a?(t===s?o=(n-r)/a+(n0&&l<1?0:o,new el(o,a,l,e.opacity)}function P4(e,t,n,r){return arguments.length===1?Ej(e):new el(e,t,n,r??1)}function el(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}fm(el,P4,O1(xh,{brighter(e){return e=e==null?Tg:Math.pow(Tg,e),new el(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Zd:Math.pow(Zd,e),new el(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new Oi(iT(e>=240?e-240:e+120,i,r),iT(e,i,r),iT(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new el(OO(this.h),k_(this.s),k_(this.l),jx(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=jx(this.opacity);return`${e===1?"hsl(":"hsla("}${OO(this.h)}, ${k_(this.s)*100}%, ${k_(this.l)*100}%${e===1?")":`, ${e})`}`}}));function OO(e){return e=(e||0)%360,e<0?e+360:e}function k_(e){return Math.max(0,Math.min(1,e||0))}function iT(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const Tj=Math.PI/180,kj=180/Math.PI,Vx=18,Mj=.96422,Ij=1,Rj=.82521,Cj=4/29,G0=6/29,Nj=3*G0*G0,o2t=G0*G0*G0;function $j(e){if(e instanceof uc)return new uc(e.l,e.a,e.b,e.opacity);if(e instanceof hu)return Oj(e);e instanceof Oi||(e=vI(e));var t=lT(e.r),n=lT(e.g),r=lT(e.b),i=sT((.2225045*t+.7168786*n+.0606169*r)/Ij),s,o;return t===n&&n===r?s=o=i:(s=sT((.4360747*t+.3850649*n+.1430804*r)/Mj),o=sT((.0139322*t+.0971045*n+.7141733*r)/Rj)),new uc(116*i-16,500*(s-i),200*(i-o),e.opacity)}function Wx(e,t,n,r){return arguments.length===1?$j(e):new uc(e,t,n,r??1)}function uc(e,t,n,r){this.l=+e,this.a=+t,this.b=+n,this.opacity=+r}fm(uc,Wx,O1(xh,{brighter(e){return new uc(this.l+Vx*(e??1),this.a,this.b,this.opacity)},darker(e){return new uc(this.l-Vx*(e??1),this.a,this.b,this.opacity)},rgb(){var e=(this.l+16)/116,t=isNaN(this.a)?e:e+this.a/500,n=isNaN(this.b)?e:e-this.b/200;return t=Mj*oT(t),e=Ij*oT(e),n=Rj*oT(n),new Oi(aT(3.1338561*t-1.6168667*e-.4906146*n),aT(-.9787684*t+1.9161415*e+.033454*n),aT(.0719453*t-.2289914*e+1.4052427*n),this.opacity)}}));function sT(e){return e>o2t?Math.pow(e,1/3):e/Nj+Cj}function oT(e){return e>G0?e*e*e:Nj*(e-Cj)}function aT(e){return 255*(e<=.0031308?12.92*e:1.055*Math.pow(e,1/2.4)-.055)}function lT(e){return(e/=255)<=.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)}function a2t(e){if(e instanceof hu)return new hu(e.h,e.c,e.l,e.opacity);if(e instanceof uc||(e=$j(e)),e.a===0&&e.b===0)return new hu(NaN,0=1?(n=1,t-1):Math.floor(n*t),i=e[r],s=e[r+1],o=r>0?e[r-1]:2*i-s,a=r()=>e;function Dj(e,t){return function(n){return e+n*t}}function f2t(e,t,n){return e=Math.pow(e,n),t=Math.pow(t,n)-e,n=1/n,function(r){return Math.pow(e+r*t,n)}}function wI(e,t){var n=t-e;return n?Dj(e,n>180||n<-180?n-360*Math.round(n/360):n):ZS(isNaN(e)?t:e)}function h2t(e){return(e=+e)==1?as:function(t,n){return n-t?f2t(t,n,e):ZS(isNaN(t)?n:t)}}function as(e,t){var n=t-e;return n?Dj(e,n):ZS(isNaN(e)?t:e)}const Qd=(function e(t){var n=h2t(t);function r(i,s){var o=n((i=yo(i)).r,(s=yo(s)).r),a=n(i.g,s.g),l=n(i.b,s.b),c=as(i.opacity,s.opacity);return function(u){return i.r=o(u),i.g=a(u),i.b=l(u),i.opacity=c(u),i+""}}return r.gamma=e,r})(1);function d2t(e){return function(t){var n=t.length,r=new Array(n),i=new Array(n),s=new Array(n),o,a;for(o=0;on&&(s=t.slice(n,s),a[o]?a[o]+=s:a[++o]=s),(r=r[0])===(i=i[0])?a[o]?a[o]+=i:a[++o]=i:(a[++o]=null,l.push({i:o,x:ts(r,i)})),n=cT.lastIndex;return n180?u+=360:u-c>180&&(c+=360),h.push({i:f.push(i(f)+"rotate(",null,r)-2,x:ts(c,u)})):u&&f.push(i(f)+"rotate("+u+r)}function a(c,u,f,h){c!==u?h.push({i:f.push(i(f)+"skewX(",null,r)-2,x:ts(c,u)}):u&&f.push(i(f)+"skewX("+u+r)}function l(c,u,f,h,d,g){if(c!==f||u!==h){var y=d.push(i(d)+"scale(",null,",",null,")");g.push({i:y-4,x:ts(c,f)},{i:y-2,x:ts(u,h)})}else(f!==1||h!==1)&&d.push(i(d)+"scale("+f+","+h+")")}return function(c,u){var f=[],h=[];return c=e(c),u=e(u),s(c.translateX,c.translateY,u.translateX,u.translateY,f,h),o(c.rotate,u.rotate,f,h),a(c.skewX,u.skewX,f,h),l(c.scaleX,c.scaleY,u.scaleX,u.scaleY,f,h),c=u=null,function(d){for(var g=-1,y=h.length,v;++gt&&(n=e,e=t,t=n),function(r){return Math.max(e,Math.min(t,r))}}function F2t(e,t,n){var r=e[0],i=e[1],s=t[0],o=t[1];return i2?B2t:F2t,l=c=null,f}function f(h){return h==null||isNaN(h=+h)?s:(l||(l=a(e.map(r),t,n)))(r(o(h)))}return f.invert=function(h){return o(i((c||(c=a(t,e.map(r),ts)))(h)))},f.domain=function(h){return arguments.length?(e=Array.from(h,j4),u()):e.slice()},f.range=function(h){return arguments.length?(t=Array.from(h),u()):t.slice()},f.rangeRound=function(h){return t=Array.from(h),n=xI,u()},f.clamp=function(h){return arguments.length?(o=h?!0:Ea,u()):o!==Ea},f.interpolate=function(h){return arguments.length?(n=h,u()):n},f.unknown=function(h){return arguments.length?(s=h,f):s},function(h,d){return r=h,i=d,u()}}function zj(){return t3()(Ea,Ea)}function P2t(e,t,n,r){var i=F4(e,t,n),s;switch(r=Cv(r??",f"),r.type){case"s":{var o=Math.max(Math.abs(e),Math.abs(t));return r.precision==null&&!isNaN(s=xxt(i,o))&&(r.precision=s),uj(r,o)}case"":case"e":case"g":case"p":case"r":{r.precision==null&&!isNaN(s=Sxt(i,Math.max(Math.abs(e),Math.abs(t))))&&(r.precision=s-(r.type==="e"));break}case"f":case"%":{r.precision==null&&!isNaN(s=wxt(i))&&(r.precision=s-(r.type==="%")*2);break}}return Wa(r)}function D1(e){var t=e.domain;return e.ticks=function(n){var r=t();return eh(r[0],r[r.length-1],n??10)},e.tickFormat=function(n,r){var i=t();return P2t(i[0],i[i.length-1],n??10,r)},e.nice=function(n){n==null&&(n=10);var r=t(),i=0,s=r.length-1,o=r[i],a=r[s],l,c,u=10;for(a0;){if(c=$v(o,a,n),c===l)return r[i]=o,r[s]=a,t(r);if(c>0)o=Math.floor(o/c)*c,a=Math.ceil(a/c)*c;else if(c<0)o=Math.ceil(o*c)/c,a=Math.floor(a*c)/c;else break;l=c}return e},e}function Vu(){var e=zj();return e.copy=function(){return L1(e,Vu())},Ic.apply(e,arguments),D1(e)}function qj(e){var t;function n(r){return r==null||isNaN(r=+r)?t:r}return n.invert=n,n.domain=n.range=function(r){return arguments.length?(e=Array.from(r,j4),n):e.slice()},n.unknown=function(r){return arguments.length?(t=r,n):t},n.copy=function(){return qj(e).unknown(t)},e=arguments.length?Array.from(e,j4):[0,1],D1(n)}function jj(e,t){e=e.slice();var n=0,r=e.length-1,i=e[n],s=e[r],o;return sMath.pow(e,t)}function V2t(e){return e===Math.E?Math.log:e===10&&Math.log10||e===2&&Math.log2||(e=Math.log(e),t=>Math.log(t)/e)}function jO(e){return(t,n)=>-e(-t,n)}function Vj(e){const t=e(zO,qO),n=t.domain;let r=10,i,s;function o(){return i=V2t(r),s=j2t(r),n()[0]<0?(i=jO(i),s=jO(s),e(U2t,z2t)):e(zO,qO),t}return t.base=function(a){return arguments.length?(r=+a,o()):r},t.domain=function(a){return arguments.length?(n(a),o()):n()},t.ticks=a=>{const l=n();let c=l[0],u=l[l.length-1];const f=u0){for(;h<=d;++h)for(g=1;gu)break;b.push(y)}}else for(;h<=d;++h)for(g=r-1;g>=1;--g)if(y=h>0?g/s(-h):g*s(h),!(yu)break;b.push(y)}b.length*2{if(a==null&&(a=10),l==null&&(l=r===10?"s":","),typeof l!="function"&&(!(r%1)&&(l=Cv(l)).precision==null&&(l.trim=!0),l=Wa(l)),a===1/0)return l;const c=Math.max(1,r*a/t.ticks().length);return u=>{let f=u/s(Math.round(i(u)));return f*rn(jj(n(),{floor:a=>s(Math.floor(i(a))),ceil:a=>s(Math.ceil(i(a)))})),t}function kg(){const e=Vj(t3()).domain([1,10]);return e.copy=()=>L1(e,kg()).base(e.base()),Ic.apply(e,arguments),e}function VO(e){return function(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))}}function WO(e){return function(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}function Wj(e){var t=1,n=e(VO(t),WO(t));return n.constant=function(r){return arguments.length?e(VO(t=+r),WO(t)):t},D1(n)}function AI(){var e=Wj(t3());return e.copy=function(){return L1(e,AI()).constant(e.constant())},Ic.apply(e,arguments)}function YO(e){return function(t){return t<0?-Math.pow(-t,e):Math.pow(t,e)}}function W2t(e){return e<0?-Math.sqrt(-e):Math.sqrt(e)}function Y2t(e){return e<0?-e*e:e*e}function Yj(e){var t=e(Ea,Ea),n=1;function r(){return n===1?e(Ea,Ea):n===.5?e(W2t,Y2t):e(YO(n),YO(1/n))}return t.exponent=function(i){return arguments.length?(n=+i,r()):n},D1(t)}function Hj(){var e=Yj(t3());return e.copy=function(){return L1(e,Hj()).exponent(e.exponent())},Ic.apply(e,arguments),e}function Gj(){var e=[],t=[],n=[],r;function i(){var o=0,a=Math.max(1,t.length);for(n=new Array(a-1);++o0?n[a-1]:e[0],a(e(s=new Date(+s)),s),i.ceil=s=>(e(s=new Date(s-1)),t(s,1),e(s),s),i.round=s=>{const o=i(s),a=i.ceil(s);return s-o(t(s=new Date(+s),o==null?1:Math.floor(o)),s),i.range=(s,o,a)=>{const l=[];if(s=i.ceil(s),a=a==null?1:Math.floor(a),!(s0))return l;let c;do l.push(c=new Date(+s)),t(s,a),e(s);while(cAi(o=>{if(o>=o)for(;e(o),!s(o);)o.setTime(o-1)},(o,a)=>{if(o>=o)if(a<0)for(;++a<=0;)for(;t(o,-1),!s(o););else for(;--a>=0;)for(;t(o,1),!s(o););}),n&&(i.count=(s,o)=>(uT.setTime(+s),fT.setTime(+o),e(uT),e(fT),Math.floor(n(uT,fT))),i.every=s=>(s=Math.floor(s),!isFinite(s)||!(s>0)?null:s>1?i.filter(r?o=>r(o)%s===0:o=>i.count(0,o)%s===0):i)),i}const Yx=Ai(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Yx.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?Ai(t=>{t.setTime(Math.floor(t/e)*e)},(t,n)=>{t.setTime(+t+n*e)},(t,n)=>(n-t)/e):Yx);Yx.range;const du=1e3,Ta=du*60,pu=Ta*60,Cu=pu*24,EI=Cu*7,HO=Cu*30,hT=Cu*365,sl=Ai(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*du)},(e,t)=>(t-e)/du,e=>e.getUTCSeconds());sl.range;const F1=Ai(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*du)},(e,t)=>{e.setTime(+e+t*Ta)},(e,t)=>(t-e)/Ta,e=>e.getMinutes());F1.range;const B1=Ai(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Ta)},(e,t)=>(t-e)/Ta,e=>e.getUTCMinutes());B1.range;const P1=Ai(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*du-e.getMinutes()*Ta)},(e,t)=>{e.setTime(+e+t*pu)},(e,t)=>(t-e)/pu,e=>e.getHours());P1.range;const U1=Ai(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*pu)},(e,t)=>(t-e)/pu,e=>e.getUTCHours());U1.range;const yp=Ai(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Ta)/Cu,e=>e.getDate()-1);yp.range;const e3=Ai(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Cu,e=>e.getUTCDate()-1);e3.range;const n3=Ai(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/Cu,e=>Math.floor(e/Cu));n3.range;function vp(e){return Ai(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,n)=>{t.setDate(t.getDate()+n*7)},(t,n)=>(n-t-(n.getTimezoneOffset()-t.getTimezoneOffset())*Ta)/EI)}const Mg=vp(0),Fv=vp(1),Kj=vp(2),Jj=vp(3),tp=vp(4),Zj=vp(5),Qj=vp(6);Mg.range;Fv.range;Kj.range;Jj.range;tp.range;Zj.range;Qj.range;function bp(e){return Ai(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCDate(t.getUTCDate()+n*7)},(t,n)=>(n-t)/EI)}const Ig=bp(0),Bv=bp(1),tV=bp(2),eV=bp(3),ep=bp(4),nV=bp(5),rV=bp(6);Ig.range;Bv.range;tV.range;eV.range;ep.range;nV.range;rV.range;const z1=Ai(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());z1.range;const q1=Ai(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());q1.range;const vl=Ai(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());vl.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Ai(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,n)=>{t.setFullYear(t.getFullYear()+n*e)});vl.range;const bl=Ai(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());bl.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:Ai(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,n)=>{t.setUTCFullYear(t.getUTCFullYear()+n*e)});bl.range;function iV(e,t,n,r,i,s){const o=[[sl,1,du],[sl,5,5*du],[sl,15,15*du],[sl,30,30*du],[s,1,Ta],[s,5,5*Ta],[s,15,15*Ta],[s,30,30*Ta],[i,1,pu],[i,3,3*pu],[i,6,6*pu],[i,12,12*pu],[r,1,Cu],[r,2,2*Cu],[n,1,EI],[t,1,HO],[t,3,3*HO],[e,1,hT]];function a(c,u,f){const h=uv).right(o,h);if(d===o.length)return e.every(F4(c/hT,u/hT,f));if(d===0)return Yx.every(Math.max(F4(c,u,f),1));const[g,y]=o[h/o[d-1][2]53)return null;"w"in at||(at.w=1),"Z"in at?(Mt=pT(ry(at.y,0,1)),Bt=Mt.getUTCDay(),Mt=Bt>4||Bt===0?Bv.ceil(Mt):Bv(Mt),Mt=e3.offset(Mt,(at.V-1)*7),at.y=Mt.getUTCFullYear(),at.m=Mt.getUTCMonth(),at.d=Mt.getUTCDate()+(at.w+6)%7):(Mt=dT(ry(at.y,0,1)),Bt=Mt.getDay(),Mt=Bt>4||Bt===0?Fv.ceil(Mt):Fv(Mt),Mt=yp.offset(Mt,(at.V-1)*7),at.y=Mt.getFullYear(),at.m=Mt.getMonth(),at.d=Mt.getDate()+(at.w+6)%7)}else("W"in at||"U"in at)&&("w"in at||(at.w="u"in at?at.u%7:"W"in at?1:0),Bt="Z"in at?pT(ry(at.y,0,1)).getUTCDay():dT(ry(at.y,0,1)).getDay(),at.m=0,at.d="W"in at?(at.w+6)%7+at.W*7-(Bt+5)%7:at.w+at.U*7-(Bt+6)%7);return"Z"in at?(at.H+=at.Z/100|0,at.M+=at.Z%100,pT(at)):dT(at)}}function M(J,et,vt,at){for(var kt=0,Mt=et.length,Bt=vt.length,Ut,St;kt=Bt)return-1;if(Ut=et.charCodeAt(kt++),Ut===37){if(Ut=et.charAt(kt++),St=k[Ut in GO?et.charAt(kt++):Ut],!St||(at=St(J,vt,at))<0)return-1}else if(Ut!=vt.charCodeAt(at++))return-1}return at}function I(J,et,vt){var at=c.exec(et.slice(vt));return at?(J.p=u.get(at[0].toLowerCase()),vt+at[0].length):-1}function N(J,et,vt){var at=d.exec(et.slice(vt));return at?(J.w=g.get(at[0].toLowerCase()),vt+at[0].length):-1}function C(J,et,vt){var at=f.exec(et.slice(vt));return at?(J.w=h.get(at[0].toLowerCase()),vt+at[0].length):-1}function L(J,et,vt){var at=b.exec(et.slice(vt));return at?(J.m=_.get(at[0].toLowerCase()),vt+at[0].length):-1}function F(J,et,vt){var at=y.exec(et.slice(vt));return at?(J.m=v.get(at[0].toLowerCase()),vt+at[0].length):-1}function $(J,et,vt){return M(J,t,et,vt)}function D(J,et,vt){return M(J,n,et,vt)}function O(J,et,vt){return M(J,r,et,vt)}function B(J){return o[J.getDay()]}function V(J){return s[J.getDay()]}function U(J){return l[J.getMonth()]}function q(J){return a[J.getMonth()]}function z(J){return i[+(J.getHours()>=12)]}function Y(J){return 1+~~(J.getMonth()/3)}function Q(J){return o[J.getUTCDay()]}function gt(J){return s[J.getUTCDay()]}function yt(J){return l[J.getUTCMonth()]}function pt(J){return a[J.getUTCMonth()]}function lt(J){return i[+(J.getUTCHours()>=12)]}function ft(J){return 1+~~(J.getUTCMonth()/3)}return{format:function(J){var et=S(J+="",x);return et.toString=function(){return J},et},parse:function(J){var et=T(J+="",!1);return et.toString=function(){return J},et},utcFormat:function(J){var et=S(J+="",A);return et.toString=function(){return J},et},utcParse:function(J){var et=T(J+="",!0);return et.toString=function(){return J},et}}}var GO={"-":"",_:" ",0:"0"},Li=/^\s*\d+/,J2t=/^%/,Z2t=/[\\^$*+?|[\]().{}]/g;function On(e,t,n){var r=e<0?"-":"",i=(r?-e:e)+"",s=i.length;return r+(s[t.toLowerCase(),n]))}function tSt(e,t,n){var r=Li.exec(t.slice(n,n+1));return r?(e.w=+r[0],n+r[0].length):-1}function eSt(e,t,n){var r=Li.exec(t.slice(n,n+1));return r?(e.u=+r[0],n+r[0].length):-1}function nSt(e,t,n){var r=Li.exec(t.slice(n,n+2));return r?(e.U=+r[0],n+r[0].length):-1}function rSt(e,t,n){var r=Li.exec(t.slice(n,n+2));return r?(e.V=+r[0],n+r[0].length):-1}function iSt(e,t,n){var r=Li.exec(t.slice(n,n+2));return r?(e.W=+r[0],n+r[0].length):-1}function XO(e,t,n){var r=Li.exec(t.slice(n,n+4));return r?(e.y=+r[0],n+r[0].length):-1}function KO(e,t,n){var r=Li.exec(t.slice(n,n+2));return r?(e.y=+r[0]+(+r[0]>68?1900:2e3),n+r[0].length):-1}function sSt(e,t,n){var r=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(n,n+6));return r?(e.Z=r[1]?0:-(r[2]+(r[3]||"00")),n+r[0].length):-1}function oSt(e,t,n){var r=Li.exec(t.slice(n,n+1));return r?(e.q=r[0]*3-3,n+r[0].length):-1}function aSt(e,t,n){var r=Li.exec(t.slice(n,n+2));return r?(e.m=r[0]-1,n+r[0].length):-1}function JO(e,t,n){var r=Li.exec(t.slice(n,n+2));return r?(e.d=+r[0],n+r[0].length):-1}function lSt(e,t,n){var r=Li.exec(t.slice(n,n+3));return r?(e.m=0,e.d=+r[0],n+r[0].length):-1}function ZO(e,t,n){var r=Li.exec(t.slice(n,n+2));return r?(e.H=+r[0],n+r[0].length):-1}function cSt(e,t,n){var r=Li.exec(t.slice(n,n+2));return r?(e.M=+r[0],n+r[0].length):-1}function uSt(e,t,n){var r=Li.exec(t.slice(n,n+2));return r?(e.S=+r[0],n+r[0].length):-1}function fSt(e,t,n){var r=Li.exec(t.slice(n,n+3));return r?(e.L=+r[0],n+r[0].length):-1}function hSt(e,t,n){var r=Li.exec(t.slice(n,n+6));return r?(e.L=Math.floor(r[0]/1e3),n+r[0].length):-1}function dSt(e,t,n){var r=J2t.exec(t.slice(n,n+1));return r?n+r[0].length:-1}function pSt(e,t,n){var r=Li.exec(t.slice(n));return r?(e.Q=+r[0],n+r[0].length):-1}function gSt(e,t,n){var r=Li.exec(t.slice(n));return r?(e.s=+r[0],n+r[0].length):-1}function QO(e,t){return On(e.getDate(),t,2)}function mSt(e,t){return On(e.getHours(),t,2)}function ySt(e,t){return On(e.getHours()%12||12,t,2)}function vSt(e,t){return On(1+yp.count(vl(e),e),t,3)}function oV(e,t){return On(e.getMilliseconds(),t,3)}function bSt(e,t){return oV(e,t)+"000"}function _St(e,t){return On(e.getMonth()+1,t,2)}function wSt(e,t){return On(e.getMinutes(),t,2)}function xSt(e,t){return On(e.getSeconds(),t,2)}function SSt(e){var t=e.getDay();return t===0?7:t}function ASt(e,t){return On(Mg.count(vl(e)-1,e),t,2)}function aV(e){var t=e.getDay();return t>=4||t===0?tp(e):tp.ceil(e)}function ESt(e,t){return e=aV(e),On(tp.count(vl(e),e)+(vl(e).getDay()===4),t,2)}function TSt(e){return e.getDay()}function kSt(e,t){return On(Fv.count(vl(e)-1,e),t,2)}function MSt(e,t){return On(e.getFullYear()%100,t,2)}function ISt(e,t){return e=aV(e),On(e.getFullYear()%100,t,2)}function RSt(e,t){return On(e.getFullYear()%1e4,t,4)}function CSt(e,t){var n=e.getDay();return e=n>=4||n===0?tp(e):tp.ceil(e),On(e.getFullYear()%1e4,t,4)}function NSt(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+On(t/60|0,"0",2)+On(t%60,"0",2)}function tL(e,t){return On(e.getUTCDate(),t,2)}function $St(e,t){return On(e.getUTCHours(),t,2)}function OSt(e,t){return On(e.getUTCHours()%12||12,t,2)}function LSt(e,t){return On(1+e3.count(bl(e),e),t,3)}function lV(e,t){return On(e.getUTCMilliseconds(),t,3)}function DSt(e,t){return lV(e,t)+"000"}function FSt(e,t){return On(e.getUTCMonth()+1,t,2)}function BSt(e,t){return On(e.getUTCMinutes(),t,2)}function PSt(e,t){return On(e.getUTCSeconds(),t,2)}function USt(e){var t=e.getUTCDay();return t===0?7:t}function zSt(e,t){return On(Ig.count(bl(e)-1,e),t,2)}function cV(e){var t=e.getUTCDay();return t>=4||t===0?ep(e):ep.ceil(e)}function qSt(e,t){return e=cV(e),On(ep.count(bl(e),e)+(bl(e).getUTCDay()===4),t,2)}function jSt(e){return e.getUTCDay()}function VSt(e,t){return On(Bv.count(bl(e)-1,e),t,2)}function WSt(e,t){return On(e.getUTCFullYear()%100,t,2)}function YSt(e,t){return e=cV(e),On(e.getUTCFullYear()%100,t,2)}function HSt(e,t){return On(e.getUTCFullYear()%1e4,t,4)}function GSt(e,t){var n=e.getUTCDay();return e=n>=4||n===0?ep(e):ep.ceil(e),On(e.getUTCFullYear()%1e4,t,4)}function XSt(){return"+0000"}function eL(){return"%"}function nL(e){return+e}function rL(e){return Math.floor(+e/1e3)}var r0,TI,j1;KSt({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function KSt(e){return r0=K2t(e),TI=r0.format,r0.parse,j1=r0.utcFormat,r0.utcParse,r0}function JSt(e){return new Date(e)}function ZSt(e){return e instanceof Date?+e:+new Date(+e)}function kI(e,t,n,r,i,s,o,a,l,c){var u=zj(),f=u.invert,h=u.domain,d=c(".%L"),g=c(":%S"),y=c("%I:%M"),v=c("%I %p"),b=c("%a %d"),_=c("%b %d"),x=c("%B"),A=c("%Y");function k(S){return(l(S)e,forward:e=>e,reverse:e=>e},log:{type:"log",expr:e=>no(_a(e,0),LU(e),Jt("nan")),forward:e=>Math.log10(e),reverse:e=>Math.pow(10,e)},symlog:{type:"symlog",expr:(e,t)=>ze(Ru(e),z0(tr(1,As(dr(e,t))))),forward:(e,t)=>Math.sign(e)*Math.log1p(Math.abs(e)/t),reverse:(e,t)=>Math.sign(e)*Math.expm1(Math.abs(e))*t}};function e3t(e,t){let n=e,r=1/0;for(let i of t){let s=Math.abs(e-i);s=100&&n>=0&&i0?"log":"symlog")),n<=0&&o=="log"&&(r<=0?(n=1,r=10):n=Math.min(e.minPositive,r/10));let a=t.desiredCount??5;switch(o){case"linear":{let l=Vu().domain([n,r]).nice(a),c=l.ticks(a);return{scale:{...oy.linear,domain:l.domain()},binStart:l.domain()[0],binSize:c[1]-c[0]}}case"log":{let l=kg().domain([n,r]).nice(),c=Math.log10(l.domain()[0]),u=(Math.log10(l.domain()[1])-c)/a;return u=e3t(u,[.05,.1,.2,.5,1,1.5,2]),{scale:{...oy.log,domain:l.domain()},binStart:c,binSize:u}}case"symlog":{let l=Math.max(Math.abs(n),Math.abs(r)),c=l>=100?1:l>0?l/1e5:1,u=oy.symlog.forward(n,c),f=oy.symlog.forward(r,c);return{scale:{...oy.symlog,domain:[n,r],constant:c},binStart:u,binSize:(f-u)/a}}default:throw new Error("invalid scale type")}}function je(e){for(var t=e.length/6|0,n=new Array(t),r=0;rp2t(e[e.length-1]);var gV=new Array(3).concat("d8b365f5f5f55ab4ac","a6611adfc27d80cdc1018571","a6611adfc27df5f5f580cdc1018571","8c510ad8b365f6e8c3c7eae55ab4ac01665e","8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e","8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e","8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e","5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30","5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30").map(je);const mV=mr(gV);var yV=new Array(3).concat("af8dc3f7f7f77fbf7b","7b3294c2a5cfa6dba0008837","7b3294c2a5cff7f7f7a6dba0008837","762a83af8dc3e7d4e8d9f0d37fbf7b1b7837","762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837","762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837","762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837","40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b","40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b").map(je);const vV=mr(yV);var bV=new Array(3).concat("e9a3c9f7f7f7a1d76a","d01c8bf1b6dab8e1864dac26","d01c8bf1b6daf7f7f7b8e1864dac26","c51b7de9a3c9fde0efe6f5d0a1d76a4d9221","c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221","c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221","c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221","8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419","8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419").map(je);const _V=mr(bV);var wV=new Array(3).concat("998ec3f7f7f7f1a340","5e3c99b2abd2fdb863e66101","5e3c99b2abd2f7f7f7fdb863e66101","542788998ec3d8daebfee0b6f1a340b35806","542788998ec3d8daebf7f7f7fee0b6f1a340b35806","5427888073acb2abd2d8daebfee0b6fdb863e08214b35806","5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806","2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08","2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08").map(je);const xV=mr(wV);var W4=new Array(3).concat("ef8a62f7f7f767a9cf","ca0020f4a58292c5de0571b0","ca0020f4a582f7f7f792c5de0571b0","b2182bef8a62fddbc7d1e5f067a9cf2166ac","b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac","b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac","b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac","67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061","67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061").map(je);const Hx=mr(W4);var SV=new Array(3).concat("ef8a62ffffff999999","ca0020f4a582bababa404040","ca0020f4a582ffffffbababa404040","b2182bef8a62fddbc7e0e0e09999994d4d4d","b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d","b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d","b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d","67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a","67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a").map(je);const AV=mr(SV);var Y4=new Array(3).concat("fc8d59ffffbf91bfdb","d7191cfdae61abd9e92c7bb6","d7191cfdae61ffffbfabd9e92c7bb6","d73027fc8d59fee090e0f3f891bfdb4575b4","d73027fc8d59fee090ffffbfe0f3f891bfdb4575b4","d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4","d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4","a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695","a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695").map(je);const Gx=mr(Y4);var EV=new Array(3).concat("fc8d59ffffbf91cf60","d7191cfdae61a6d96a1a9641","d7191cfdae61ffffbfa6d96a1a9641","d73027fc8d59fee08bd9ef8b91cf601a9850","d73027fc8d59fee08bffffbfd9ef8b91cf601a9850","d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850","d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850","a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837","a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837").map(je);const TV=mr(EV);var kV=new Array(3).concat("fc8d59ffffbf99d594","d7191cfdae61abdda42b83ba","d7191cfdae61ffffbfabdda42b83ba","d53e4ffc8d59fee08be6f59899d5943288bd","d53e4ffc8d59fee08bffffbfe6f59899d5943288bd","d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd","d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd","9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2","9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2").map(je);const MV=mr(kV);var IV=new Array(3).concat("e5f5f999d8c92ca25f","edf8fbb2e2e266c2a4238b45","edf8fbb2e2e266c2a42ca25f006d2c","edf8fbccece699d8c966c2a42ca25f006d2c","edf8fbccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824","f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b").map(je);const RV=mr(IV);var CV=new Array(3).concat("e0ecf49ebcda8856a7","edf8fbb3cde38c96c688419d","edf8fbb3cde38c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68856a7810f7c","edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b","f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b").map(je);const NV=mr(CV);var $V=new Array(3).concat("e0f3dba8ddb543a2ca","f0f9e8bae4bc7bccc42b8cbe","f0f9e8bae4bc7bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc443a2ca0868ac","f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e","f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081").map(je);const OV=mr($V);var LV=new Array(3).concat("fee8c8fdbb84e34a33","fef0d9fdcc8afc8d59d7301f","fef0d9fdcc8afc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59e34a33b30000","fef0d9fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000","fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000").map(je);const DV=mr(LV);var FV=new Array(3).concat("ece2f0a6bddb1c9099","f6eff7bdc9e167a9cf02818a","f6eff7bdc9e167a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf1c9099016c59","f6eff7d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450","fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636").map(je);const MI=mr(FV);var BV=new Array(3).concat("ece7f2a6bddb2b8cbe","f1eef6bdc9e174a9cf0570b0","f1eef6bdc9e174a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d","f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b","fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858").map(je);const PV=mr(BV);var UV=new Array(3).concat("e7e1efc994c7dd1c77","f1eef6d7b5d8df65b0ce1256","f1eef6d7b5d8df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0dd1c77980043","f1eef6d4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f","f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f").map(je);const zV=mr(UV);var qV=new Array(3).concat("fde0ddfa9fb5c51b8a","feebe2fbb4b9f768a1ae017e","feebe2fbb4b9f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1c51b8a7a0177","feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177","fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a").map(je);const jV=mr(qV);var VV=new Array(3).concat("edf8b17fcdbb2c7fb8","ffffcca1dab441b6c4225ea8","ffffcca1dab441b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c42c7fb8253494","ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84","ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58").map(je);const II=mr(VV);var WV=new Array(3).concat("f7fcb9addd8e31a354","ffffccc2e69978c679238443","ffffccc2e69978c67931a354006837","ffffccd9f0a3addd8e78c67931a354006837","ffffccd9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32","ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529").map(je);const YV=mr(WV);var HV=new Array(3).concat("fff7bcfec44fd95f0e","ffffd4fed98efe9929cc4c02","ffffd4fed98efe9929d95f0e993404","ffffd4fee391fec44ffe9929d95f0e993404","ffffd4fee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04","ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506").map(je);const GV=mr(HV);var XV=new Array(3).concat("ffeda0feb24cf03b20","ffffb2fecc5cfd8d3ce31a1c","ffffb2fecc5cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cf03b20bd0026","ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026","ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026").map(je);const KV=mr(XV);var JV=new Array(3).concat("deebf79ecae13182bd","eff3ffbdd7e76baed62171b5","eff3ffbdd7e76baed63182bd08519c","eff3ffc6dbef9ecae16baed63182bd08519c","eff3ffc6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594","f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b").map(je);const ZV=mr(JV);var QV=new Array(3).concat("e5f5e0a1d99b31a354","edf8e9bae4b374c476238b45","edf8e9bae4b374c47631a354006d2c","edf8e9c7e9c0a1d99b74c47631a354006d2c","edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32","f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b").map(je);const tW=mr(QV);var eW=new Array(3).concat("f0f0f0bdbdbd636363","f7f7f7cccccc969696525252","f7f7f7cccccc969696636363252525","f7f7f7d9d9d9bdbdbd969696636363252525","f7f7f7d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525","fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000").map(je);const nW=mr(eW);var rW=new Array(3).concat("efedf5bcbddc756bb1","f2f0f7cbc9e29e9ac86a51a3","f2f0f7cbc9e29e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8756bb154278f","f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486","fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d").map(je);const iW=mr(rW);var sW=new Array(3).concat("fee0d2fc9272de2d26","fee5d9fcae91fb6a4acb181d","fee5d9fcae91fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4ade2d26a50f15","fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d","fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d").map(je);const oW=mr(sW);var aW=new Array(3).concat("fee6cefdae6be6550d","feeddefdbe85fd8d3cd94701","feeddefdbe85fd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3ce6550da63603","feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04","fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704").map(je);const lW=mr(aW);function cW(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(-4.54-e*(35.34-e*(2381.73-e*(6402.7-e*(7024.72-e*2710.57)))))))+", "+Math.max(0,Math.min(255,Math.round(32.49+e*(170.73+e*(52.82-e*(131.46-e*(176.58-e*67.37)))))))+", "+Math.max(0,Math.min(255,Math.round(81.24+e*(442.36-e*(2482.43-e*(6167.24-e*(6614.94-e*2475.67)))))))+")"}const uW=SI(bc(300,.5,0),bc(-240,.5,1));var fW=SI(bc(-100,.75,.35),bc(80,1.5,.8)),hW=SI(bc(260,.75,.35),bc(80,1.5,.8)),I_=bc();function dW(e){(e<0||e>1)&&(e-=Math.floor(e));var t=Math.abs(e-.5);return I_.h=360*e-100,I_.s=1.5-1.5*t,I_.l=.8-.9*t,I_+""}var R_=yo(),d3t=Math.PI/3,p3t=Math.PI*2/3;function pW(e){var t;return e=(.5-e)*Math.PI,R_.r=255*(t=Math.sin(e))*t,R_.g=255*(t=Math.sin(e+d3t))*t,R_.b=255*(t=Math.sin(e+p3t))*t,R_+""}function RI(e){return e=Math.max(0,Math.min(1,e)),"rgb("+Math.max(0,Math.min(255,Math.round(34.61+e*(1172.33-e*(10793.56-e*(33300.12-e*(38394.49-e*14825.05)))))))+", "+Math.max(0,Math.min(255,Math.round(23.31+e*(557.33+e*(1225.33-e*(3574.96-e*(1073.77+e*707.56)))))))+", "+Math.max(0,Math.min(255,Math.round(27.2+e*(3211.1-e*(15327.97-e*(27814-e*(22569.18-e*6838.66)))))))+")"}function s3(e){var t=e.length;return function(n){return e[Math.max(0,Math.min(t-1,Math.floor(n*t)))]}}const gW=s3(je("44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725"));var mW=s3(je("00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf")),o3=s3(je("00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4")),yW=s3(je("0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921"));function vW(){return!(navigator.gpu==null||navigator.gpu.requestAdapter==null)}function g3t(e){return e==0&&(e=4),e%4!=0&&(e+=4-e%4),e}function X0(e,t,n,r){return(e.buffer==null||e.byteSize!=n||e.usage!=r)&&(e.buffer!=null&&e.buffer.destroy(),e.buffer=t.createBuffer({size:g3t(n),usage:r}),e.byteSize=n,e.destroy=()=>{e.buffer?.destroy()}),e.buffer}function gT(e,t,n,r){if(e.buffer!==n||e.data!==r){if(r!=null)if(r.byteLength%4!=0){let i=r.byteLength-r.byteLength%4;if(t.queue.writeBuffer(n,0,r,0,i),r instanceof Uint8Array){let s=new Uint8Array(4);for(let o=0;o<4;o++)i+o{e.texture?.destroy()}),e.texture}const jo=2,CI=4,a3=8,dm=16,Wu=32,_p=64,bW=128,$a=256,Xx=512,rs=1024,Ua=2048,Sh=4096,ul=8192,wp=16384,NI=32768,$I=65536,sL=1<<17,m3t=1<<18,V1=1<<19,_W=1<<20,H4=1<<21,OI=1<<22,Md=1<<23,Id=Symbol("$state"),wW=Symbol("legacy props"),y3t=Symbol(""),LI=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},xW=3,Pv=8,v3t=!1;var DI=Array.isArray,b3t=Array.prototype.indexOf,FI=Array.from,Kx=Object.defineProperty,K0=Object.getOwnPropertyDescriptor,SW=Object.getOwnPropertyDescriptors,_3t=Object.prototype,w3t=Array.prototype,BI=Object.getPrototypeOf,oL=Object.isExtensible;function AW(e){for(var t=0;t{e=r,t=i});return{promise:n,resolve:e,reject:t}}function EW(e){return e===this.v}function TW(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function S3t(e,t){return e!==t}function kW(e){return!TW(e,this.v)}function A3t(){throw new Error("https://svelte.dev/e/await_outside_boundary")}function MW(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function E3t(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function T3t(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function k3t(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function M3t(e){throw new Error("https://svelte.dev/e/effect_orphan")}function I3t(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function R3t(){throw new Error("https://svelte.dev/e/hydration_failed")}function C3t(e){throw new Error("https://svelte.dev/e/props_invalid_value")}function N3t(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function $3t(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function O3t(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}let L3t=!1;const PI=1,UI=2,IW=4,D3t=8,F3t=16,B3t=1,P3t=4,U3t=8,z3t=16,q3t=1,j3t=2,RW="[",zI="[!",qI="]",J0={},Ri=Symbol(),V3t="http://www.w3.org/1999/xhtml";let Vo=null;function Jx(e){Vo=e}function xp(e,t=!1,n){Vo={p:Vo,c:null,e:null,s:e,x:null,l:null}}function Sp(e){var t=Vo,n=t.e;if(n!==null){t.e=null;for(var r of n)tY(r)}return Vo=t.p,{}}function CW(){return!0}function l3(e){console.warn("https://svelte.dev/e/hydration_mismatch")}let nr=!1;function gu(e){nr=e}let Wn;function fl(e){if(e===null)throw l3(),J0;return Wn=e}function W1(){return fl(Yu(Wn))}function di(e){if(nr){if(Yu(Wn)!==null)throw l3(),J0;Wn=e}}function W3t(e=1){if(nr){for(var t=e,n=Wn;t--;)n=Yu(n);Wn=n}}function G4(){for(var e=0,t=Wn;;){if(t.nodeType===Pv){var n=t.data;if(n===qI){if(e===0)return t;e-=1}else(n===RW||n===zI)&&(e+=1)}var r=Yu(t);t.remove(),t=r}}function NW(e){if(!e||e.nodeType!==Pv)throw l3(),J0;return e.data}function md(e){if(typeof e!="object"||e===null||Id in e)return e;const t=BI(e);if(t!==_3t&&t!==w3t)return e;var n=new Map,r=DI(e),i=Sr(0),s=Rd,o=a=>{if(Rd===s)return a();var l=kn,c=Rd;_c(null),hL(s);var u=a();return _c(l),hL(c),u};return r&&n.set("length",Sr(e.length)),new Proxy(e,{defineProperty(a,l,c){(!("value"in c)||c.configurable===!1||c.enumerable===!1||c.writable===!1)&&N3t();var u=n.get(l);return u===void 0?u=o(()=>{var f=Sr(c.value);return n.set(l,f),f}):Le(u,c.value,!0),!0},deleteProperty(a,l){var c=n.get(l);if(c===void 0){if(l in a){const u=o(()=>Sr(Ri));n.set(l,u),yT(i)}}else Le(c,Ri),yT(i);return!0},get(a,l,c){if(l===Id)return e;var u=n.get(l),f=l in a;if(u===void 0&&(!f||K0(a,l)?.writable)&&(u=o(()=>{var d=md(f?a[l]:Ri),g=Sr(d);return g}),n.set(l,u)),u!==void 0){var h=H(u);return h===Ri?void 0:h}return Reflect.get(a,l,c)},getOwnPropertyDescriptor(a,l){var c=Reflect.getOwnPropertyDescriptor(a,l);if(c&&"value"in c){var u=n.get(l);u&&(c.value=H(u))}else if(c===void 0){var f=n.get(l),h=f?.v;if(f!==void 0&&h!==Ri)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return c},has(a,l){if(l===Id)return!0;var c=n.get(l),u=c!==void 0&&c.v!==Ri||Reflect.has(a,l);if(c!==void 0||gn!==null&&(!u||K0(a,l)?.writable)){c===void 0&&(c=o(()=>{var h=u?md(a[l]):Ri,d=Sr(h);return d}),n.set(l,c));var f=H(c);if(f===Ri)return!1}return u},set(a,l,c,u){var f=n.get(l),h=l in a;if(r&&l==="length")for(var d=c;dSr(Ri)),n.set(d+"",g))}if(f===void 0)(!h||K0(a,l)?.writable)&&(f=o(()=>Sr(void 0)),Le(f,md(c)),n.set(l,f));else{h=f.v!==Ri;var y=o(()=>md(c));Le(f,y)}var v=Reflect.getOwnPropertyDescriptor(a,l);if(v?.set&&v.set.call(u,c),!h){if(r&&typeof l=="string"){var b=n.get("length"),_=Number(l);Number.isInteger(_)&&_>=b.v&&Le(b,_+1)}yT(i)}return!0},ownKeys(a){H(i);var l=Reflect.ownKeys(a).filter(f=>{var h=n.get(f);return h===void 0||h.v!==Ri});for(var[c,u]of n)u.v!==Ri&&!(c in a)&&l.push(c);return l},setPrototypeOf(){$3t()}})}var aL,$W,OW,LW;function X4(){if(aL===void 0){aL=window,$W=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;OW=K0(t,"firstChild").get,LW=K0(t,"nextSibling").get,oL(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),oL(n)&&(n.__t=void 0)}}function ih(e=""){return document.createTextNode(e)}function Nu(e){return OW.call(e)}function Yu(e){return LW.call(e)}function $i(e,t){if(!nr)return Nu(e);var n=Nu(Wn);if(n===null)n=Wn.appendChild(ih());else if(t&&n.nodeType!==xW){var r=ih();return n?.before(r),fl(r),r}return fl(n),n}function T0(e,t){if(!nr){var n=Nu(e);return n instanceof Comment&&n.data===""?Yu(n):n}return Wn}function Nr(e,t=1,n=!1){let r=nr?Wn:e;for(var i;t--;)i=r,r=Yu(r);if(!nr)return r;if(n&&r?.nodeType!==xW){var s=ih();return r===null?i?.after(s):r.before(s),fl(s),s}return fl(r),r}function DW(e){e.textContent=""}function FW(){return!1}const Y3t=new WeakMap;function H3t(e){var t=gn;if(t===null)return kn.f|=Md,e;if((t.f&NI)===0){if((t.f&bW)===0)throw!t.parent&&e instanceof Error&&BW(e),e;t.b.error(e)}else jI(e,t)}function jI(e,t){for(;t!==null;){if((t.f&bW)!==0)try{t.b.error(e);return}catch(n){e=n}t=t.parent}throw e instanceof Error&&BW(e),e}function BW(e){const t=Y3t.get(e);t&&(Kx(e,"message",{value:t.message}),Kx(e,"stack",{value:t.stack}))}let If=[],Zx=[];function PW(){var e=If;If=[],AW(e)}function G3t(){var e=Zx;Zx=[],AW(e)}function X3t(){return If.length>0||Zx.length>0}function c3(e){if(If.length===0&&!tv){var t=If;queueMicrotask(()=>{t===If&&PW()})}If.push(e)}function K3t(){If.length>0&&PW(),Zx.length>0&&G3t()}function J3t(){const e=gn.b;return e===null&&A3t(),e}function u3(e){var t=jo|Ua,n=kn!==null&&(kn.f&jo)!==0?kn:null;return gn===null||n!==null&&(n.f&$a)!==0?t|=$a:gn.f|=V1,{ctx:Vo,deps:null,effects:null,equals:EW,f:t,fn:e,reactions:null,rv:0,v:Ri,wv:0,parent:n??gn,ac:null}}function Z3t(e,t){let n=gn;n===null&&E3t();var r=n.b,i=void 0,s=Uv(Ri),o=null,a=!kn;return fAt(()=>{try{var l=e();o&&Promise.resolve(l).catch(()=>{})}catch(d){l=Promise.reject(d)}var c=()=>l;i=o?.then(c,c)??Promise.resolve(l),o=i;var u=Pi,f=r.is_pending();a&&(r.update_pending_count(1),f||u.increment());const h=(d,g=void 0)=>{o=null,f||u.activate(),g?g!==LI&&(s.f|=Md,zv(s,g)):((s.f&Md)!==0&&(s.f^=Md),zv(s,d)),a&&(r.update_pending_count(-1),f||u.decrement()),jW()};if(i.then(h,d=>h(null,d||"unknown")),u)return()=>{queueMicrotask(()=>u.neuter())}}),new Promise(l=>{function c(u){function f(){u===i?l(s):c(i)}u.then(f,f)}c(i)})}function se(e){const t=u3(e);return HW(t),t}function UW(e){const t=u3(e);return t.equals=kW,t}function zW(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;nZ3t(l))).then(l=>{i?.activate(),o();try{n([...e.map(r),...l])}catch(c){(s.f&wp)===0&&jI(c,s)}i?.deactivate(),jW()}).catch(l=>{a.error(l)})}function eAt(){var e=gn,t=kn,n=Vo,r=Pi;return function(){sh(e),_c(t),Jx(n),r?.activate()}}function jW(){sh(null),_c(null),Jx(null)}const mT=new Set;let Pi=null,lL=new Set,np=[],f3=null,K4=!1,tv=!1,WI=class J4{current=new Map;#t=new Map;#e=new Set;#n=0;#r=null;#u=!1;#s=[];#a=[];#i=[];#o=[];#l=[];#h=[];#f=[];skipped_effects=new Set;process(t){np=[];for(const i of t)this.#d(i);if(this.#s.length===0&&this.#n===0){this.#p();var n=this.#i,r=this.#o;this.#i=[],this.#o=[],this.#l=[],Pi=null,cL(n),cL(r),Pi===null?Pi=this:mT.delete(this),this.#r?.resolve()}else this.#c(this.#i),this.#c(this.#o),this.#c(this.#l);for(const i of this.#s)Q0(i);for(const i of this.#a)Q0(i);this.#s=[],this.#a=[]}#d(t){t.f^=rs;for(var n=t.first;n!==null;){var r=n.f,i=(r&(Wu|_p))!==0,s=i&&(r&rs)!==0,o=s||(r&ul)!==0||this.skipped_effects.has(n);if(!o&&n.fn!==null){if(i)n.f^=rs;else if((r&CI)!==0)this.#o.push(n);else if((r&rs)===0)if((r&OI)!==0){var a=n.b?.is_pending()?this.#a:this.#s;a.push(n)}else h3(n)&&((n.f&dm)!==0&&this.#l.push(n),Q0(n));var l=n.first;if(l!==null){n=l;continue}}var c=n.parent;for(n=n.next;n===null&&c!==null;)n=c.next,c=c.parent}}#c(t){for(const n of t)((n.f&Ua)!==0?this.#h:this.#f).push(n),fo(n,rs);t.length=0}capture(t,n){this.#t.has(t)||this.#t.set(t,n),this.current.set(t,t.v)}activate(){Pi=this}deactivate(){Pi=null;for(const t of lL)if(lL.delete(t),t(),Pi!==null)break}neuter(){this.#u=!0}flush(){np.length>0?VW():this.#p(),Pi===this&&(this.#n===0&&mT.delete(this),this.deactivate())}#p(){if(!this.#u)for(const t of this.#e)t();this.#e.clear()}increment(){this.#n+=1}decrement(){if(this.#n-=1,this.#n===0){for(const t of this.#h)fo(t,Ua),Rg(t);for(const t of this.#f)fo(t,Sh),Rg(t);this.#i=[],this.#o=[],this.flush()}else this.deactivate()}add_callback(t){this.#e.add(t)}settled(){return(this.#r??=x3t()).promise}static ensure(){if(Pi===null){const t=Pi=new J4;mT.add(Pi),tv||J4.enqueue(()=>{Pi===t&&t.flush()})}return Pi}static enqueue(t){c3(t)}};function nAt(e){var t=tv;tv=!0;try{for(var n;;){if(K3t(),np.length===0&&!X3t()&&(Pi?.flush(),np.length===0))return f3=null,n;VW()}}finally{tv=t}}function VW(){var e=Z0;K4=!0;try{var t=0;for(uL(!0);np.length>0;){var n=WI.ensure();if(t++>1e3){var r,i;rAt()}n.process(np),jf.clear()}}finally{K4=!1,uL(e),f3=null}}function rAt(){try{I3t()}catch(e){jI(e,f3)}}let od=null;function cL(e){var t=e.length;if(t!==0){for(var n=0;n0)){jf.clear();for(const i of od)Q0(i);od=[]}}od=null}}function Rg(e){for(var t=f3=e;t.parent!==null;){t=t.parent;var n=t.f;if(K4&&t===gn&&(n&dm)!==0)return;if((n&(_p|Wu))!==0){if((n&rs)===0)return;t.f^=rs}}np.push(t)}const jf=new Map;function Uv(e,t){var n={f:0,v:e,reactions:null,equals:EW,rv:0,wv:0};return n}function Sr(e,t){const n=Uv(e);return HW(n),n}function WW(e,t=!1,n=!0){const r=Uv(e);return t||(r.equals=kW),r}function Le(e,t,n=!1){kn!==null&&(!Zl||(kn.f&sL)!==0)&&CW()&&(kn.f&(jo|dm|OI|sL))!==0&&!Su?.includes(e)&&O3t();let r=n?md(t):t;return zv(e,r)}function zv(e,t){if(!e.equals(t)){var n=e.v;Ap?jf.set(e,t):jf.set(e,n),e.v=t;var r=WI.ensure();r.capture(e,n),(e.f&jo)!==0&&((e.f&Ua)!==0&&VI(e),fo(e,(e.f&$a)===0?rs:Sh)),e.wv=XW(),YW(e,Ua),gn!==null&&(gn.f&rs)!==0&&(gn.f&(Wu|_p))===0&&(ua===null?iAt([e]):ua.push(e))}return t}function yT(e){Le(e,e.v+1)}function YW(e,t){var n=e.reactions;if(n!==null)for(var r=n.length,i=0;ie.wv)return!0}(!r||gn!==null&&!Rf)&&fo(e,rs)}return!1}function KW(e,t,n=!0){var r=e.reactions;if(r!==null&&!Su?.includes(e))for(var i=0;i{e.ac.abort(LI)}),e.ac=null);try{e.f|=H4;var f=e.fn,h=f(),d=e.deps;if(Es!==null){var g;if(Qx(e,Io),d!==null&&Io>0)for(d.length=Io+Es.length,g=0;gnew Promise(r=>{n.outro?d3(t,()=>{$u(t),r(void 0)}):($u(t),r(void 0))})}function eY(e){return Rc(CI,e,!1)}function fAt(e){return Rc(OI|V1,e,!0)}function nY(e,t=0){return Rc(a3|t,e,!0)}function Oo(e,t=[],n=[]){tAt(t,n,r=>{Rc(a3,()=>e(...r.map(H)),!0)})}function HI(e,t=0){var n=Rc(dm|t,e,!0);return n}function rp(e,t=!0){return Rc(Wu|V1,e,!0,t)}function rY(e){var t=e.teardown;if(t!==null){const n=Ap,r=kn;fL(!0),_c(null);try{t.call(null)}finally{fL(n),_c(r)}}}function iY(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const i=n.ac;i!==null&&YI(()=>{i.abort(LI)});var r=n.next;(n.f&_p)!==0?n.parent=null:$u(n,t),n=r}}function hAt(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&Wu)===0&&$u(t),t=n}}function $u(e,t=!0){var n=!1;(t||(e.f&m3t)!==0)&&e.nodes_start!==null&&e.nodes_end!==null&&(dAt(e.nodes_start,e.nodes_end),n=!0),iY(e,t&&!n),Qx(e,0),fo(e,wp);var r=e.transitions;if(r!==null)for(const s of r)s.stop();rY(e);var i=e.parent;i!==null&&i.first!==null&&sY(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=e.ac=null}function dAt(e,t){for(;e!==null;){var n=e===t?null:Yu(e);e.remove(),e=n}}function sY(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function d3(e,t){var n=[];GI(e,n,!0),oY(n,()=>{$u(e),t&&t()})}function oY(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var i of e)i.out(r)}else t()}function GI(e,t,n){if((e.f&ul)===0){if(e.f^=ul,e.transitions!==null)for(const o of e.transitions)(o.is_global||n)&&t.push(o);for(var r=e.first;r!==null;){var i=r.next,s=(r.f&$I)!==0||(r.f&Wu)!==0;GI(r,t,s?n:!1),r=i}}}function XI(e){aY(e,!0)}function aY(e,t){if((e.f&ul)!==0){e.f^=ul,(e.f&rs)===0&&(fo(e,Ua),Rg(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&$I)!==0||(n.f&Wu)!==0;aY(n,i?t:!1),n=r}if(e.transitions!==null)for(const s of e.transitions)(s.is_global||t)&&s.in()}}const lY=new Set,Q4=new Set;function pAt(e,t,n,r={}){function i(s){if(r.capture||Oy.call(t,s),!s.cancelBubble)return YI(()=>n?.call(this,s))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?c3(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function dL(e,t,n,r,i){var s={capture:r,passive:i},o=pAt(e,t,n,s);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&cAt(()=>{t.removeEventListener(e,o,s)})}function KI(e){for(var t=0;t{throw _});throw h}}finally{e.__root=t,delete e.currentTarget,_c(u),sh(f)}}}function cY(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function Vf(e,t){var n=gn;n.nodes_start===null&&(n.nodes_start=e,n.nodes_end=t)}function Ah(e,t){var n=(t&q3t)!==0,r=(t&j3t)!==0,i,s=!e.startsWith("");return()=>{if(nr)return Vf(Wn,null),Wn;i===void 0&&(i=cY(s?e:""+e),n||(i=Nu(i)));var o=r||$W?document.importNode(i,!0):i.cloneNode(!0);if(n){var a=Nu(o),l=o.lastChild;Vf(a,l)}else Vf(o,o);return o}}function gAt(e,t,n="svg"){var r=!e.startsWith(""),i=`<${n}>${r?e:""+e}`,s;return()=>{if(nr)return Vf(Wn,null),Wn;if(!s){var o=cY(i),a=Nu(o);s=Nu(a)}var l=s.cloneNode(!0);return Vf(l,l),l}}function Hu(e,t){return gAt(e,t,"svg")}function ay(){if(nr)return Vf(Wn,null),Wn;var e=document.createDocumentFragment(),t=document.createComment(""),n=ih();return e.append(t,n),Vf(t,n),e}function Kr(e,t){if(nr){gn.nodes_end=Wn,W1();return}e!==null&&e.before(t)}const mAt=["touchstart","touchmove"];function yAt(e){return mAt.includes(e)}function ev(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=n+"")}function uY(e,t){return fY(e,t)}function vAt(e,t){X4(),t.intro=t.intro??!1;const n=t.target,r=nr,i=Wn;try{for(var s=Nu(n);s&&(s.nodeType!==Pv||s.data!==RW);)s=Yu(s);if(!s)throw J0;gu(!0),fl(s),W1();const o=fY(e,{...t,anchor:s});if(Wn===null||Wn.nodeType!==Pv||Wn.data!==qI)throw l3(),J0;return gu(!1),o}catch(o){if(o instanceof Error&&o.message.split(` `).some(a=>a.startsWith("https://svelte.dev/e/")))throw o;return o!==J0&&console.warn("Failed to hydrate: ",o),t.recover===!1&&R3t(),X4(),DW(n),gu(!1),uY(e,t)}finally{gu(r),fl(i)}}const i0=new Map;function fY(e,{target:t,anchor:n,props:r={},events:i,context:s,intro:o=!0}){X4();var a=new Set,l=f=>{for(var h=0;h{var f=n??t.appendChild(ih());return rp(()=>{if(s){xp({});var h=Vo;h.c=s}i&&(r.$$events=i),nr&&Vf(f,null),c=e(f,r)||{},nr&&(gn.nodes_end=Wn),s&&Sp()}),()=>{for(var h of a){t.removeEventListener(h,Oy);var d=i0.get(h);--d===0?(document.removeEventListener(h,Oy),i0.delete(h)):i0.set(h,d)}Q4.delete(l),f!==n&&f.parentNode?.removeChild(f)}});return tM.set(c,u),c}let tM=new WeakMap;function bAt(e,t){const n=tM.get(e);return n?(tM.delete(e),n(t)):Promise.resolve()}function _At(e){return new wAt(e)}class wAt{#t;#e;constructor(t){var n=new Map,r=(s,o)=>{var a=WW(o,!1,!1);return n.set(s,a),a};const i=new Proxy({...t.props||{},$$events:{}},{get(s,o){return H(n.get(o)??r(o,Reflect.get(s,o)))},has(s,o){return o===wW?!0:(H(n.get(o)??r(o,Reflect.get(s,o))),Reflect.has(s,o))},set(s,o,a){return Le(n.get(o)??r(o,a),a),Reflect.set(s,o,a)}});this.#e=(t.hydrate?vAt:uY)(t.component,{target:t.target,anchor:t.anchor,props:i,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&nAt(),this.#t=i.$$events;for(const s of Object.keys(this.#e))s==="$set"||s==="$destroy"||s==="$on"||Kx(this,s,{get(){return this.#e[s]},set(o){this.#e[s]=o},enumerable:!0});this.#e.$set=s=>{Object.assign(i,s)},this.#e.$destroy=()=>{bAt(this.#e)}}$set(t){this.#e.$set(t)}$on(t,n){this.#t[t]=this.#t[t]||[];const r=(...i)=>n.call(this,...i);return this.#t[t].push(r),()=>{this.#t[t]=this.#t[t].filter(i=>i!==r)}}$destroy(){this.#e.$destroy()}}const xAt="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(xAt);function JI(e){Vo===null&&MW(),tu(()=>{const t=pm(e);if(typeof t=="function")return t})}function SAt(e){Vo===null&&MW(),JI(()=>()=>pm(e))}function Js(e,t,n=!1){nr&&W1();var r=e,i=null,s=null,o=Ri,a=n?$I:0,l=!1;const c=(h,d=!0)=>{l=!0,f(d,h)};function u(){var h=o?i:s,d=o?s:i;h&&XI(h),d&&d3(d,()=>{o?s=null:i=null})}const f=(h,d)=>{if(o===(o=h))return;let g=!1;if(nr){const b=NW(r)===zI;!!o===b&&(r=G4(),fl(r),gu(!1),g=!0)}var y=FW(),v=r;o?i??=d&&rp(()=>d(v)):s??=d&&rp(()=>d(v)),y||u(),g&&gu(!0)};HI(()=>{l=!1,t(c),l||f(null,null)},a),nr&&(r=Wn)}function AAt(e,t,n){nr&&W1();var r=e,i=Ri,s,o,a=null,l=S3t;function c(){s&&d3(s),a!==null&&(a.lastChild.remove(),r.before(a),a=null),s=o}HI(()=>{if(l(i,i=t())){var u=r,f=FW();f&&(a=document.createDocumentFragment(),a.append(u=ih())),o=rp(()=>n(u)),f?Pi.add_callback(c):c()}}),nr&&(r=Wn)}function vT(e,t){return t}function EAt(e,t,n){for(var r=e.items,i=[],s=t.length,o=0;o0&&i.length===0&&n!==null;if(a){var l=n.parentNode;DW(l),l.append(n),r.clear(),jl(e,t[0].prev,t[s-1].next)}oY(i,()=>{for(var c=0;c{var b=n();return DI(b)?b:b==null?[]:FI(b)}),g,y;function v(){TAt(y,g,a,h,o,i,t,r,n),s!==null&&(g.length===0?u?XI(u):u=rp(()=>s(o)):u!==null&&d3(u,()=>{u=null}))}HI(()=>{y??=gn,g=H(d);var b=g.length;if(f&&b===0)return;f=b===0;let _=!1;if(nr){var x=NW(o)===zI;x!==(b===0)&&(o=G4(),fl(o),gu(!1),_=!0)}if(nr){for(var A=null,k,S=0;S0&&fl(G4())}nr?b===0&&s&&(u=rp(()=>s(o))):v(),_&&gu(!0),H(d)}),nr&&(o=Wn)}function TAt(e,t,n,r,i,s,o,a,l){var c=(o&D3t)!==0,u=(o&(PI|UI))!==0,f=t.length,h=n.items,d=n.first,g=d,y,v=null,b,_=[],x=[],A,k,S,T;if(c)for(T=0;T0){var B=(o&IW)!==0&&f===0?i:null;if(c){for(T=0;T{if(b!==void 0)for(S of b)S.a?.apply()}),e.first=n.first&&n.first.e,e.last=v&&v.e;for(var V of r.values())$u(V.e);r.clear()}function kAt(e,t,n,r){(r&PI)!==0&&zv(e.v,t),(r&UI)!==0?zv(e.i,n):e.i=n}function hY(e,t,n,r,i,s,o,a,l,c,u){var f=(l&PI)!==0,h=(l&F3t)===0,d=f?h?WW(i,!1,!1):Uv(i):i,g=(l&UI)===0?o:Uv(o),y={i:g,v:d,k:s,a:null,e:null,prev:n,next:r};try{if(e===null){var v=document.createDocumentFragment();v.append(e=ih())}return y.e=rp(()=>a(e,d,g,c),nr),y.e.prev=n&&n.e,y.e.next=r&&r.e,n===null?u||(t.first=y):(n.next=y,n.e.next=y.e),r!==null&&(r.prev=y,r.e.prev=y.e),y}finally{}}function _T(e,t,n){for(var r=e.next?e.next.e.nodes_start:n,i=t?t.e.nodes_start:n,s=e.e.nodes_start;s!==null&&s!==r;){var o=Yu(s);i.before(s),s=o}}function jl(e,t,n){t===null?e.first=n:(t.next=n,t.e.next=n&&n.e),n!==null&&(n.prev=t,n.e.prev=t&&t.e)}function MAt(e,t,n){eY(()=>{var r=pm(()=>t(e,n?.())||{});if(n&&r?.update){var i=!1,s={};nY(()=>{var o=n();aAt(o),i&&TW(s,o)&&(s=o,r.update(o))}),i=!0}if(r?.destroy)return()=>r.destroy()})}function gL(e,t=!1){var n=t?" !important;":";",r="";for(var i in e){var s=e[i];s!=null&&s!==""&&(r+=" "+i+": "+s+n)}return r}function IAt(e,t){if(t){var n="",r,i;return Array.isArray(t)?(r=t[0],i=t[1]):r=t,r&&(n+=gL(r)),i&&(n+=gL(i,!0)),n=n.trim(),n===""?null:n}return String(e)}function wT(e,t={},n,r){for(var i in n){var s=n[i];t[i]!==s&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,s,r))}}function Tn(e,t,n,r){var i=e.__style;if(nr||i!==t){var s=IAt(t,r);(!nr||s!==e.getAttribute("style"))&&(s==null?e.removeAttribute("style"):e.style.cssText=s),e.__style=t}else r&&(Array.isArray(r)?(wT(e,n?.[0],r[0]),wT(e,n?.[1],r[1],"important")):wT(e,n,r));return r}const RAt=Symbol("is custom element"),CAt=Symbol("is html");function Xt(e,t,n,r){var i=NAt(e);nr&&(i[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")||i[t]!==(i[t]=n)&&(t==="loading"&&(e[y3t]=n),n==null?e.removeAttribute(t):typeof n!="string"&&$At(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function NAt(e){return e.__attributes??={[RAt]:e.nodeName.includes("-"),[CAt]:e.namespaceURI===V3t}}var mL=new Map;function $At(e){var t=e.getAttribute("is")||e.nodeName,n=mL.get(t);if(n)return n;mL.set(t,n=[]);for(var r,i=e,s=Element.prototype;s!==i;){r=SW(i);for(var o in r)r[o].set&&n.push(o);i=BI(i)}return n}function yL(e,t){return e===t||e?.[Id]===t}function eM(e={},t,n,r){return eY(()=>{var i,s;return nY(()=>{i=s,s=[],pm(()=>{e!==n(...s)&&(t(e,...s),i&&yL(n(...i),e)&&t(null,...i))})}),()=>{c3(()=>{s&&yL(n(...s),e)&&t(null,...s)})}}),e}let C_=!1;function OAt(e){var t=C_;try{return C_=!1,[e(),C_]}finally{C_=t}}function le(e,t,n,r){var i=(n&U3t)!==0,s=(n&z3t)!==0,o=r,a=!0,l=()=>(a&&(a=!1,o=s?pm(r):r),o),c;if(i){var u=Id in e||wW in e;c=K0(e,t)?.set??(u&&t in e?_=>e[t]=_:void 0)}var f,h=!1;i?[f,h]=OAt(()=>e[t]):f=e[t],f===void 0&&r!==void 0&&(f=l(),c&&(C3t(),c(f)));var d;if(d=()=>{var _=e[t];return _===void 0?l():(a=!0,_)},(n&P3t)===0)return d;if(c){var g=e.$$legacy;return(function(_,x){return arguments.length>0?((!x||g||h)&&c(x?d():_),_):d()})}var y=!1,v=((n&B3t)!==0?u3:UW)(()=>(y=!1,d()));i&&H(v);var b=gn;return(function(_,x){if(arguments.length>0){const A=x?H(v):i?md(_):_;return Le(v,A),y=!0,o!==void 0&&(o=A),_}return Ap&&y||(b.f&wp)!==0?v.v:H(v)})}var LAt=Hu('');function DAt(e,t){xp(t,!0);let n=se(()=>t.pointLocation(t.value.xMin,t.value.yMin)),r=se(()=>t.pointLocation(t.value.xMax,t.value.yMax));const i=8;function s(I){return N=>{N.stopPropagation(),N.preventDefault(),t.preventHover(!0);let C=[H(n).x,H(n).y,H(r).x,H(r).y],L=$=>{$.preventDefault();let D=$.pageX-N.pageX,O=$.pageY-N.pageY,B=[D,O,D,O].map((q,z)=>C[z]+q*I[z]),V=t.coordinateAtPoint(B[0],B[1]),U=t.coordinateAtPoint(B[2],B[3]);t.onChange({xMin:Math.min(V.x,U.x),xMax:Math.max(V.x,U.x),yMin:Math.min(V.y,U.y),yMax:Math.max(V.y,U.y)})},F=()=>{t.preventHover(!1),window.removeEventListener("mousemove",L),window.removeEventListener("mouseup",F)};window.addEventListener("mousemove",L),window.addEventListener("mouseup",F)}}var o=LAt(),a=$i(o),l=se(()=>s([1,1,1,1]));a.__mousedown=function(...I){H(l)?.apply(this,I)},Tn(a,"",{},{stroke:"#fff",fill:"rgba(128,128,128,0.25)",cursor:"move"});var c=Nr(a);Xt(c,"width",i);var u=se(()=>s([1,0,0,0]));c.__mousedown=function(...I){H(u)?.apply(this,I)},Tn(c,"",{},{cursor:"ew-resize",stroke:"none",fill:"none","pointer-events":"all"});var f=Nr(c);Xt(f,"width",i);var h=se(()=>s([0,0,1,0]));f.__mousedown=function(...I){H(h)?.apply(this,I)},Tn(f,"",{},{cursor:"ew-resize",stroke:"none",fill:"none","pointer-events":"all"});var d=Nr(f);Xt(d,"height",i);var g=se(()=>s([0,1,0,0]));d.__mousedown=function(...I){H(g)?.apply(this,I)},Tn(d,"",{},{cursor:"ns-resize",stroke:"none",fill:"none","pointer-events":"all"});var y=Nr(d);Xt(y,"height",i);var v=se(()=>s([0,0,0,1]));y.__mousedown=function(...I){H(v)?.apply(this,I)},Tn(y,"",{},{cursor:"ns-resize",stroke:"none",fill:"none","pointer-events":"all"});var b=Nr(y);Xt(b,"width",i),Xt(b,"height",i);var _=se(()=>s([1,1,0,0]));b.__mousedown=function(...I){H(_)?.apply(this,I)},Tn(b,"",{},{cursor:"nesw-resize",stroke:"none",fill:"none","pointer-events":"all"});var x=Nr(b);Xt(x,"width",i),Xt(x,"height",i);var A=se(()=>s([1,0,0,1]));x.__mousedown=function(...I){H(A)?.apply(this,I)},Tn(x,"",{},{cursor:"nwse-resize",stroke:"none",fill:"none","pointer-events":"all"});var k=Nr(x);Xt(k,"width",i),Xt(k,"height",i);var S=se(()=>s([0,1,1,0]));k.__mousedown=function(...I){H(S)?.apply(this,I)},Tn(k,"",{},{cursor:"nwse-resize",stroke:"none",fill:"none","pointer-events":"all"});var T=Nr(k);Xt(T,"width",i),Xt(T,"height",i);var M=se(()=>s([0,0,1,1]));T.__mousedown=function(...I){H(M)?.apply(this,I)},Tn(T,"",{},{cursor:"nesw-resize",stroke:"none",fill:"none","pointer-events":"all"}),di(o),Oo((I,N,C,L,F,$,D,O,B,V,U,q)=>{Xt(a,"x",I),Xt(a,"width",N),Xt(a,"y",C),Xt(a,"height",L),Xt(c,"x",H(n).x-i/2),Xt(c,"y",F),Xt(c,"height",$),Xt(f,"x",H(r).x-i/2),Xt(f,"y",D),Xt(f,"height",O),Xt(d,"x",B),Xt(d,"width",V),Xt(d,"y",H(n).y-i/2),Xt(y,"x",U),Xt(y,"width",q),Xt(y,"y",H(r).y-i/2),Xt(b,"x",H(n).x-i/2),Xt(b,"y",H(n).y-i/2),Xt(x,"x",H(n).x-i/2),Xt(x,"y",H(r).y-i/2),Xt(k,"x",H(r).x-i/2),Xt(k,"y",H(n).y-i/2),Xt(T,"x",H(r).x-i/2),Xt(T,"y",H(r).y-i/2)},[()=>Math.min(H(n).x,H(r).x),()=>Math.abs(H(n).x-H(r).x),()=>Math.min(H(n).y,H(r).y),()=>Math.abs(H(n).y-H(r).y),()=>Math.min(H(n).y,H(r).y),()=>Math.abs(H(n).y-H(r).y),()=>Math.min(H(n).y,H(r).y),()=>Math.abs(H(n).y-H(r).y),()=>Math.min(H(n).x,H(r).x),()=>Math.abs(H(n).x-H(r).x),()=>Math.min(H(n).x,H(r).x),()=>Math.abs(H(n).x-H(r).x)]),Kr(e,o),Sp()}KI(["mousedown"]);function FAt(e,t){let n=!1,r,i,s,o=300,a=300,l=async u=>{n=!0;try{await e(u)}catch(f){console.error(f)}if(n=!1,r!==void 0){let f=r;r=void 0,c(f)}},c=async u=>{if(n){r=u;return}let f=new Date().getTime();t()&&(i=f);let h=!0;(i==null||f-il(u),o)):l(u)};return c}function xT(e){return{shift:e.shiftKey,ctrl:e.ctrlKey,alt:e.altKey,meta:e.metaKey}}function BAt(e,t){let{zoom:n,click:r,drag:i,hover:s}=t,o=!1,a=!1,l=null,c=r==null?0:5;return{wheel:u=>{if(n==null)return;u.preventDefault();let f=e.getBoundingClientRect(),h=u.clientX-f.left,d=u.clientY-f.top,g=Math.exp(-u.deltaY/200);n(g,{x:h,y:d},xT(u))},mousedown:u=>{u.preventDefault();let f=e.getBoundingClientRect(),h=u.clientX-f.left,d=u.clientY-f.top,g=!1,y=null;o=!0;let v=_=>{_.preventDefault();let x=e.getBoundingClientRect(),A=_.clientX-x.left,k=_.clientY-x.top;g==!1&&i!=null&&(A-h)*(A-h)+(k-d)*(k-d)>c*c&&(g=!0,y=i({x:h,y:d},xT(u))),g&&y?.move!=null&&y.move({x:A,y:k})},b=()=>{window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",b),o=!1,g&&y?.release!=null&&y.release(),g||r&&r({x:h,y:d},xT(u))};window.addEventListener("mousemove",v),window.addEventListener("mouseup",b)},mousemove:u=>{if(s==null||o||a)return;let f=e.getBoundingClientRect(),h=u.clientX-f.left,d=u.clientY-f.top;l={x:h,y:d},s({x:h,y:d})},mouseleave:()=>{l!=null&&s!=null&&(l=null,s(null))},preventHover:u=>{u!=a&&(u&&l!=null&&s!=null&&(l=null,s(null)),a=u)}}}function PAt(e,t){let n=e.x-t.x,r=e.y-t.y;return Math.sqrt(n*n+r*r)}function UAt(e){return"M "+e.map(({x:t,y:n})=>`${t},${n}`).join(" L ")+" Z"}function dY(e){let t=1/0,n=-1/0,r=1/0,i=-1/0;for(let{x:s,y:o}of e)t=Math.min(t,s),r=Math.min(r,o),n=Math.max(n,s),i=Math.max(i,o);return{xMin:t,yMin:r,xMax:n,yMax:i}}async function zAt(e){let t=JSON.stringify(e);return jAt(t)}function Cf(e,t){if(e===t)return!0;if(e===null||t===null||typeof e!="object"||typeof t!="object"||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t.hasOwnProperty(n)){if(!Cf(e[n],t[n]))return!1}else return!1;return!0}function qAt(e,t=0){let n=3735928559^t,r=1103547991^t;for(let i=0;i>>16,2246822507),n^=Math.imul(r^r>>>13,3266489909),r=Math.imul(r^r>>>16,2246822507),r^=Math.imul(n^n>>>13,3266489909),[r>>>0,n>>>0]}function jAt(e){let t=new TextEncoder().encode(e),n=qAt(t);return n[0].toString(16).padStart(8,"0")+n[1].toString(16).padStart(8,"0")}var VAt=Hu("");function WAt(e,t){xp(t,!0);let n=se(()=>t.value.map(({x:i,y:s})=>t.pointLocation(i,s)));var r=VAt();Tn(r,"",{},{stroke:"#fff",fill:"rgba(128,128,128,0.25)"}),Oo(i=>Xt(r,"d",i),[()=>UAt(H(n))]),Kr(e,r),Sp()}const YAt={marquee:"M7 5a2 2 0 1 1-4 0a2 2 0 0 1 4 0m1-.25c0 .414.336.75.75.75h6.5a.75.75 0 0 0 0-1.5h-6.5a.75.75 0 0 0-.75.75M4.75 8a.75.75 0 0 0-.75.75v6.5a.75.75 0 0 0 1.5 0v-6.5A.75.75 0 0 0 4.75 8m14.5 0a.75.75 0 0 0-.75.75v6.5a.75.75 0 0 0 1.5 0v-6.5a.75.75 0 0 0-.75-.75M8.75 20a.75.75 0 0 1 0-1.5h6.5a.75.75 0 0 1 0 1.5zM5 21a2 2 0 1 0 0-4a2 2 0 0 0 0 4M21 5a2 2 0 1 1-4 0a2 2 0 0 1 4 0m-2 16a2 2 0 1 0 0-4a2 2 0 0 0 0 4",lasso:"M9.703 2.265A10 10 0 0 1 12 2c.79 0 1.559.092 2.297.265a.75.75 0 1 1-.343 1.46A8.5 8.5 0 0 0 12 3.5a8.6 8.6 0 0 0-1.954.225a.75.75 0 1 1-.343-1.46m-1.93 1.47a.75.75 0 0 1-.242 1.033a8.55 8.55 0 0 0-2.763 2.763a.75.75 0 1 1-1.275-.79a10.05 10.05 0 0 1 3.248-3.248a.75.75 0 0 1 1.032.243m8.454 0a.75.75 0 0 1 1.032-.242a10.05 10.05 0 0 1 3.248 3.248a.75.75 0 1 1-1.275.79a8.55 8.55 0 0 0-2.763-2.763a.75.75 0 0 1-.242-1.032m-13.06 5.41a.75.75 0 0 1 .558.901A8.5 8.5 0 0 0 3.5 12c0 .673.078 1.327.225 1.954a.75.75 0 1 1-1.46.343A10 10 0 0 1 2 12c0-.79.092-1.559.265-2.297a.75.75 0 0 1 .902-.559m17.666 0a.75.75 0 0 1 .902.558a10.1 10.1 0 0 1 0 4.595a.75.75 0 1 1-1.46-.343a8.54 8.54 0 0 0-.001-3.908a.75.75 0 0 1 .559-.902M3.736 16.226a.75.75 0 0 1 1.032.242a8.55 8.55 0 0 0 2.763 2.763a.75.75 0 0 1-.79 1.275a10.05 10.05 0 0 1-3.248-3.248a.75.75 0 0 1 .243-1.032m16.685.858a.75.75 0 1 0-1.342-.67l-.002.004l-.015.029l-.069.123a8 8 0 0 1-.289.466a9.6 9.6 0 0 1-.965 1.219c-1.17-1.073-2.756-2.006-4.74-2.006c-2.347 0-3.99 1.203-3.99 2.875S10.653 22 13 22c1.942 0 3.495-.75 4.658-1.645a11.7 11.7 0 0 1 1.315 2.01q.05.099.073.149l.017.035l.004.009a.75.75 0 0 0 1.368-.615c-.087-.183 0-.001 0-.001v-.002l-.003-.004l-.007-.015l-.024-.052l-.091-.184a13.2 13.2 0 0 0-1.538-2.337a11 11 0 0 0 1.525-2.032l.09-.162l.024-.047l.007-.014l.002-.005zM13 17.75c1.433 0 2.644.652 3.616 1.512c-.95.7-2.155 1.238-3.616 1.238c-1.973 0-2.49-.922-2.49-1.375s.517-1.375 2.49-1.375"};var HAt=Hu(''),GAt=Ah("");function vL(e,t){let n=le(t,"active",3,!1);var r=GAt();r.__click=function(...a){t.onClick?.apply(this,a)};let i;var s=$i(r);{var o=a=>{var l=HAt();Tn(l,"",{},{width:"14px",height:"14px"});var c=$i(l);Tn(c,"",{},{fill:"currentColor"}),di(l),Oo(()=>Xt(c,"d",YAt[t.icon])),Kr(a,l)};Js(s,a=>{t.icon!=null&&a(o)})}di(r),Oo(a=>{Xt(r,"title",t.title),i=Tn(r,"",i,a)},[()=>({border:"none",appearance:"none",background:n()?"color-mix(in srgb, currentColor 20%, transparent)":"none","border-radius":"2px",height:"16px",width:"16px",padding:"0",margin:"0","font-family":"inherit","font-size":"1em",color:"currentColor",display:"flex","flex-direction":"row","align-items":"center","justify-content":"center"})]),Kr(e,r)}KI(["click"]);var XAt=Ah('
    ');function KAt(e,t){function n(h,d){let g=Math.log10(d*h),y=Math.round(g),v=[.1,.2,.5,1,2,5,10],b=0,_=1e10;for(let x of v){let A=Math.abs(Math.log10(x)+y-g);A<_&&(b=x,_=A)}return b*Math.pow(10,y)}let r=se(()=>n(t.distancePerPoint,30)),i=se(()=>H(r)/t.distancePerPoint);var s=XAt();Tn(s,"",{},{display:"flex","align-items":"center"});var o=$i(s);Tn(o,"",{},{"padding-right":"4px"});var a=$i(o,!0);di(o);var l=Nr(o,2),c=$i(l);Xt(c,"x1",1),Xt(c,"y1",3),Xt(c,"y2",3),Tn(c,"",{},{stroke:"currentColor","stroke-width":"2","stroke-cap":"butt"});var u=Nr(c);Xt(u,"x1",1),Xt(u,"x2",1),Xt(u,"y1",0),Xt(u,"y2",6),Tn(u,"",{},{stroke:"currentColor"});var f=Nr(u);Xt(f,"y1",0),Xt(f,"y2",6),Tn(f,"",{},{stroke:"currentColor"}),di(l),di(s),Oo(h=>{ev(a,h),Xt(l,"width",`${H(i)+2}px`),Xt(c,"x2",H(i)+1),Xt(f,"x1",H(i)+1),Xt(f,"x2",H(i)+1)},[()=>H(r).toLocaleString()]),Kr(e,s)}var JAt=Ah("
    "),ZAt=Ah('
    ',1),QAt=Ah('
    ');function tEt(e,t){xp(t,!0);let n=le(t,"statusMessage",3,null);var r=QAt();let i;var s=$i(r);let o;var a=$i(s);{var l=x=>{var A=JAt();Tn(A,"",{},{display:"inline-block"});var k=$i(A,!0);di(A),Oo(()=>ev(k,n())),Kr(x,A)};Js(a,x=>{n()!=null&&x(l)})}di(s);var c=Nr(s,2);Tn(c,"",{},{flex:"1 1 0%"});var u=Nr(c,2);let f;var h=$i(u);{var d=x=>{var A=ZAt(),k=T0(A);Tn(k,"",{},{color:"currentColor","text-decoration":"underline"});var S=$i(k,!0);di(k),W3t(2),Oo(()=>{Xt(k,"href",t.resolvedTheme.brandingLink.href),ev(S,t.resolvedTheme.brandingLink.text)}),Kr(x,A)};Js(h,x=>{t.resolvedTheme.brandingLink!=null&&x(d)})}var g=Nr(h,2);{let x=se(()=>t.selectionMode=="marquee");vL(g,{icon:"marquee",get active(){return H(x)},title:"Toggle rectangle selection mode. In normal mode, use shift + drag for rectangle selection.",onClick:()=>t.onSelectionMode(t.selectionMode=="marquee"?"none":"marquee")})}var y=Nr(g,2);{let x=se(()=>t.selectionMode=="lasso");vL(y,{icon:"lasso",get active(){return H(x)},title:"Toggle lasso selection mode. In normal mode, use shift + meta + drag for lasso selection.",onClick:()=>t.onSelectionMode(t.selectionMode=="lasso"?"none":"lasso")})}var v=Nr(y,4);KAt(v,{get distancePerPoint(){return t.distancePerPoint}});var b=Nr(v,4),_=$i(b);di(b),di(u),di(r),Oo((x,A,k,S)=>{i=Tn(r,"",i,x),o=Tn(s,"",o,A),f=Tn(u,"",f,k),ev(_,`${S??""} points`)},[()=>({"font-size":"12px","line-height":"20px",height:"20px",color:t.resolvedTheme.statusBarTextColor,position:"absolute",bottom:"0px",left:"0px",right:"0px","user-select":"none","font-family":t.resolvedTheme.fontFamily,display:"flex","flex-direction":"row"}),()=>({flex:"none",display:"flex","flex-direction":"row",gap:"4px",padding:"0px 4px","border-radius":"2px",background:t.resolvedTheme.statusBarBackgroundColor}),()=>({flex:"none",display:"flex","flex-direction":"row","align-items":"center",gap:"4px",padding:"0px 4px","border-radius":"2px",background:t.resolvedTheme.statusBarBackgroundColor}),()=>t.pointCount.toLocaleString()]),Kr(e,r),Sp()}function eEt(e){return(t,n)=>{let r=new e(t,n);return{...r.update?{update:r.update.bind(r)}:{},...r.destroy?{destroy:r.destroy.bind(r)}:{}}}}let ST=new WeakMap;function pY(e){let t=typeof e=="function"?e:e.class;if(ST.has(t))return ST.get(t);{let n=eEt(t);return ST.set(t,n),n}}function gY(e,t){return typeof e=="function"?t:{...e.props??{},...t}}var nEt=Ah("
    ");function rEt(e,t){xp(t,!0);let n=le(t,"margin",3,4),r,i,s=se(()=>pY(t.customTooltip)),o=se(()=>gY(t.customTooltip,{tooltip:t.tooltip}));JI(()=>{t2(()=>{let c=H(s),u=null;return t2(()=>{i.style.left="0px",i.style.top="0px",i.style.pointerEvents=t.allowInteraction?"all":"none",u==null?u=c(i,H(o)):u.update?.(H(o));function f(v,b,_,x){let A=t.location.x,k=t.location.y,S=2,T=v/2,M=b+(t.targetHeight+n());A-T<_&&(T=A-_),A-T>x-v&&(T=A-x+v),k-M{y=null;let v=i.getBoundingClientRect();(v.width!=d||v.height!=g)&&f(v.width,v.height,2,h.width-2)});return()=>{y!=null&&cancelAnimationFrame(y)}}),()=>{u?.destroy?.(),i.replaceChildren()}})});var a=nEt();Tn(a,"",{},{position:"absolute",width:"100%"});var l=$i(a);Tn(l,"",{},{display:"flex",position:"absolute",width:"fit-content",height:"fit-content","z-index":"100"}),eM(l,c=>i=c,()=>i),di(a),eM(a,c=>r=c,()=>r),Kr(e,a),Sp()}function ZI(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function mY(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Y1(){}var jv=.7,e2=1/jv,tg="\\s*([+-]?\\d+)\\s*",Vv="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",fc="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",iEt=/^#([0-9a-f]{3,8})$/,sEt=new RegExp(`^rgb\\(${tg},${tg},${tg}\\)$`),oEt=new RegExp(`^rgb\\(${fc},${fc},${fc}\\)$`),aEt=new RegExp(`^rgba\\(${tg},${tg},${tg},${Vv}\\)$`),lEt=new RegExp(`^rgba\\(${fc},${fc},${fc},${Vv}\\)$`),cEt=new RegExp(`^hsl\\(${Vv},${fc},${fc}\\)$`),uEt=new RegExp(`^hsla\\(${Vv},${fc},${fc},${Vv}\\)$`),bL={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};ZI(Y1,QI,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:_L,formatHex:_L,formatHex8:fEt,formatHsl:hEt,formatRgb:wL,toString:wL});function _L(){return this.rgb().formatHex()}function fEt(){return this.rgb().formatHex8()}function hEt(){return vY(this).formatHsl()}function wL(){return this.rgb().formatRgb()}function QI(e){var t,n;return e=(e+"").trim().toLowerCase(),(t=iEt.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?xL(t):n===3?new co(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?N_(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?N_(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=sEt.exec(e))?new co(t[1],t[2],t[3],1):(t=oEt.exec(e))?new co(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=aEt.exec(e))?N_(t[1],t[2],t[3],t[4]):(t=lEt.exec(e))?N_(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=cEt.exec(e))?EL(t[1],t[2]/100,t[3]/100,1):(t=uEt.exec(e))?EL(t[1],t[2]/100,t[3]/100,t[4]):bL.hasOwnProperty(e)?xL(bL[e]):e==="transparent"?new co(NaN,NaN,NaN,0):null}function xL(e){return new co(e>>16&255,e>>8&255,e&255,1)}function N_(e,t,n,r){return r<=0&&(e=t=n=NaN),new co(e,t,n,r)}function dEt(e){return e instanceof Y1||(e=QI(e)),e?(e=e.rgb(),new co(e.r,e.g,e.b,e.opacity)):new co}function yY(e,t,n,r){return arguments.length===1?dEt(e):new co(e,t,n,r??1)}function co(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}ZI(co,yY,mY(Y1,{brighter(e){return e=e==null?e2:Math.pow(e2,e),new co(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?jv:Math.pow(jv,e),new co(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new co(Cd(this.r),Cd(this.g),Cd(this.b),n2(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:SL,formatHex:SL,formatHex8:pEt,formatRgb:AL,toString:AL}));function SL(){return`#${yd(this.r)}${yd(this.g)}${yd(this.b)}`}function pEt(){return`#${yd(this.r)}${yd(this.g)}${yd(this.b)}${yd((isNaN(this.opacity)?1:this.opacity)*255)}`}function AL(){const e=n2(this.opacity);return`${e===1?"rgb(":"rgba("}${Cd(this.r)}, ${Cd(this.g)}, ${Cd(this.b)}${e===1?")":`, ${e})`}`}function n2(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function Cd(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function yd(e){return e=Cd(e),(e<16?"0":"")+e.toString(16)}function EL(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new nl(e,t,n,r)}function vY(e){if(e instanceof nl)return new nl(e.h,e.s,e.l,e.opacity);if(e instanceof Y1||(e=QI(e)),!e)return new nl;if(e instanceof nl)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),s=Math.max(t,n,r),o=NaN,a=s-i,l=(s+i)/2;return a?(t===s?o=(n-r)/a+(n0&&l<1?0:o,new nl(o,a,l,e.opacity)}function gEt(e,t,n,r){return arguments.length===1?vY(e):new nl(e,t,n,r??1)}function nl(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}ZI(nl,gEt,mY(Y1,{brighter(e){return e=e==null?e2:Math.pow(e2,e),new nl(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?jv:Math.pow(jv,e),new nl(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,n=this.l,r=n+(n<.5?n:1-n)*t,i=2*n-r;return new co(AT(e>=240?e-240:e+120,i,r),AT(e,i,r),AT(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new nl(TL(this.h),$_(this.s),$_(this.l),n2(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=n2(this.opacity);return`${e===1?"hsl(":"hsla("}${TL(this.h)}, ${$_(this.s)*100}%, ${$_(this.l)*100}%${e===1?")":`, ${e})`}`}}));function TL(e){return e=(e||0)%360,e<0?e+360:e}function $_(e){return Math.max(0,Math.min(1,e||0))}function AT(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}const kL=["#1f77b4","#ff7f0e","#2ca02c","#d62728","#9467bd","#8c564b","#e377c2","#7f7f7f","#bcbd22","#17becf"],O_=["#1f77b4","#aec7e8","#ff7f0e","#ffbb78","#2ca02c","#98df8a","#d62728","#ff9896","#9467bd","#c5b0d5","#8c564b","#c49c94","#e377c2","#f7b6d2","#7f7f7f","#c7c7c7","#bcbd22","#dbdb8d","#17becf","#9edae5"];function gm(e){if(e<1&&(e=1),e<=kL.length)return kL.slice(0,e);if(e<=O_.length)return O_.slice(0,e);{let t=[];for(let n=0;n({x:s*t+r,y:o*n+i})}coordinateAtPixelFunction(){let t=this._pixel_kx,n=this._pixel_ky,r=this._pixel_bx,i=this._pixel_by;return(s,o)=>({x:(s-r)/t,y:(o-i)/n})}}class nM{_needsRun=!0;_inputs=new Set;_targets=new Set;constructor(t=[]){this._inputs=new Set(t);for(let n of this._inputs)n._targets.add(this)}addInput(t){this._inputs.add(t),t._targets.add(this)}removeInput(t){t._targets.delete(this),this._inputs.delete(t)}run(){if(this._needsRun){for(let t of this._inputs)t.run();this.update(),this._needsRun=!1}}setNeedsRunDownstream(){for(let t of this._targets)t._needsRun||(t._needsRun=!0,t.setNeedsRunDownstream())}update(){}destroy(){for(let t of this._inputs)t._targets.delete(this)}}let mm=class extends nM{_value=null;setValue(t){this._value!==t&&(this._value=t,this.setNeedsRunDownstream())}get value(){return this.run(),this._value}},xY=class extends mm{constructor(t){super([]),this.setValue(t)}get value(){return super.value}set value(t){this.setValue(t)}};class yEt extends mm{fn;constructor(t,n){super(n),this.fn=t}update(){this.setValue(this.fn())}}class vEt extends mm{fn;state;constructor(t,n){super(n),this.fn=t,this.state={}}update(){this.setValue(this.fn(this.state))}destroy(){super.destroy(),this.state.destroy&&this.state.destroy(),this.state={}}}class bEt extends mm{parent;condition;buildTrue;buildFalse;context=null;currentCondition=null;currentNode=null;constructor(t,n,r,i){super([n]),this.parent=t,this.condition=n,this.buildTrue=r,this.buildFalse=i}update(){(this.currentNode==null||this.currentCondition!==this.condition.value)&&(this.currentNode&&this.removeInput(this.currentNode),this.context?.destroy(),this.context=new H1(this.parent),this.currentCondition=this.condition.value,this.currentCondition?this.currentNode=this.buildTrue(this.context):this.currentNode=this.buildFalse(this.context),this.addInput(this.currentNode)),this.setValue(this.currentNode.value)}destroy(){super.destroy(),this.context?.destroy()}}class _Et extends mm{parent;input;build;cache;constructor(t,n,r){super([n]),this.parent=t,this.input=n,this.build=r,this.cache=new Map}update(){let t=new Set,n=this.input.value.map(r=>{if(t.add(r),this.cache.has(r)){let i=this.cache.get(r);return i.input.value=r,i.output.value}else{let i=new H1(this.parent),s=new xY(r),o=this.build(i,s);return this.cache.set(r,{context:i,input:s,output:o}),this.addInput(o),o.value}});for(let[r,i]of this.cache)t.has(r)||(this.cache.delete(r),this.removeInput(i.output),i.context.destroy());this.setValue(n)}destroy(){super.destroy();for(let t of this.cache.values())t.context.destroy()}}class wEt extends mm{parent;input;cases;currentCase=null;currentNode=null;currentContext=null;constructor(t,n,r){super([n]),this.parent=t,this.input=n,this.cases=r}update(){(this.currentNode==null||this.input.value!==this.currentCase)&&(this.currentNode&&this.removeInput(this.currentNode),this.currentContext?.destroy(),this.currentContext=new H1(this.parent),this.currentCase=this.input.value,this.currentNode=this.cases[this.currentCase](this.currentContext),this.addInput(this.currentNode)),this.setValue(this.currentNode.value)}destroy(){super.destroy(),this.currentContext?.destroy()}}let H1=class SY{_children;_nodes;constructor(t=null){this._children=new Set,this._nodes=new Set,t?._children.add(this)}destroy(){for(let t of this._children)t.destroy();for(let t of this._nodes)t.destroy();this._children.clear(),this._nodes.clear()}value(t){let n=new xY(t);return this._nodes.add(n),n}derive(t,n){let r=t.map(s=>s instanceof nM?s:this.value(s)),i=new yEt(()=>n(...r.map(s=>s.value)),r);return this._nodes.add(i),i}statefulDerive(t,n){let r=t.map(s=>s instanceof nM?s:this.value(s)),i=new vEt(s=>n(s,...r.map(o=>o.value)),r);return this._nodes.add(i),i}if(t,n,r){let i=new bEt(this,t,n,r);return this._nodes.add(i),i}switch(t,n){let r=new wEt(this,t,n);return this._nodes.add(r),r}map(t,n){let r=new _Et(this,t,n);return this._nodes.add(r),r}assertNotNull(t){return t}subgraph(){return new SY(this)}};function wc(e,t,n,r){if(e.program==null||e.vsSource!=n||e.fsSource!=r){e.destroy&&e.destroy();let s=ML(t,t.VERTEX_SHADER,n),o=ML(t,t.FRAGMENT_SHADER,r),a=t.createProgram();if(t.attachShader(a,s),t.attachShader(a,o),t.linkProgram(a),!t.getProgramParameter(a,t.LINK_STATUS)){var i=t.getProgramInfoLog(a);throw new Error(`failed to link program: ${i}, vertex source: ${n}, fragment source: ${r}`)}e.program=a,e.vsSource=n,e.fsSource=r,e.destroy=()=>{t.deleteProgram(a),t.deleteShader(s),t.deleteShader(o)},e.uniforms={};for(let l of(n+r).matchAll(/uniform +[0-9a-zA-Z_]+ +([0-9a-zA-Z_]+) *(;|\[)/g)){let c=l[1];e.uniforms[c]=t.getUniformLocation(a,c)}}return{program:e.program,uniforms:e.uniforms??{}}}function ML(e,t,n){let r=e.createShader(t);if(e.shaderSource(r,n),e.compileShader(r),!e.getShaderParameter(r,e.COMPILE_STATUS)){var i=e.getShaderInfoLog(r);throw new Error(`failed to compile shader: ${i}, source: ${n}`)}return r}function hc(e,t,n,r){if(e.buffer==null){let i=t.createBuffer();e.buffer=i,e.destroy=()=>{t.deleteBuffer(i)}}if(e.data!==n){if(e.data=n,t.bindBuffer(t.ARRAY_BUFFER,e.buffer),n instanceof Array)switch(r??"f32"){case"f32":t.bufferData(t.ARRAY_BUFFER,new Float32Array(n),t.STATIC_DRAW);break;case"i32":t.bufferData(t.ARRAY_BUFFER,new Int32Array(n),t.STATIC_DRAW);break;case"u32":t.bufferData(t.ARRAY_BUFFER,new Uint32Array(n),t.STATIC_DRAW);break;case"i16":t.bufferData(t.ARRAY_BUFFER,new Int16Array(n),t.STATIC_DRAW);break;case"u16":t.bufferData(t.ARRAY_BUFFER,new Uint16Array(n),t.STATIC_DRAW);break;case"i8":t.bufferData(t.ARRAY_BUFFER,new Int8Array(n),t.STATIC_DRAW);break;case"u8":t.bufferData(t.ARRAY_BUFFER,new Uint8Array(n),t.STATIC_DRAW);break;default:throw new Error("invalid type")}else t.bufferData(t.ARRAY_BUFFER,n,t.STATIC_DRAW);t.bindBuffer(t.ARRAY_BUFFER,null)}return e.buffer}function xEt(e,t,n,r,i){const s={u8:{1:[e.R8,e.RED,e.UNSIGNED_BYTE],2:[e.RG8,e.RG,e.UNSIGNED_BYTE],3:[e.RGB8,e.RGB,e.UNSIGNED_BYTE],4:[e.RGBA8,e.RGBA,e.UNSIGNED_BYTE]},u16:{1:[e.R8,e.RED,e.UNSIGNED_SHORT],2:[e.RG8,e.RG,e.UNSIGNED_SHORT],3:[e.RGB8,e.RGB,e.UNSIGNED_SHORT],4:[e.RGBA8,e.RGBA,e.UNSIGNED_SHORT]},u32:{1:[e.R8,e.RED,e.UNSIGNED_INT],2:[e.RG8,e.RG,e.UNSIGNED_INT],3:[e.RGB8,e.RGB,e.UNSIGNED_INT],4:[e.RGBA8,e.RGBA,e.UNSIGNED_INT]},f32:{1:[e.R32F,e.RED,e.FLOAT],2:[e.RG32F,e.RG,e.FLOAT],3:[e.RGB32F,e.RGB,e.FLOAT],4:[e.RGBA32F,e.RGBA,e.FLOAT]}};let[o,a,l]=s[i][r];e.texImage2D(e.TEXTURE_2D,0,o,t,n,0,a,l,null),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE)}function Nf(e,t,n,r,i,s){if(e.framebuffer==null||e.texture==null){let a=t.createFramebuffer(),l=t.createTexture();t.bindFramebuffer(t.FRAMEBUFFER,a),t.bindTexture(t.TEXTURE_2D,l),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),t.bindTexture(t.TEXTURE_2D,null),t.bindFramebuffer(t.FRAMEBUFFER,null),e.framebuffer=a,e.texture=l,e.destroy=()=>{t.deleteFramebuffer(a),t.deleteTexture(l)}}let o=`${n},${r},${i},${s}`;return e.cacheKey!=o&&(e.cacheKey=o,t.bindTexture(t.TEXTURE_2D,e.texture),xEt(t,n,r,i,s),t.bindTexture(t.TEXTURE_2D,null)),{framebuffer:e.framebuffer,texture:e.texture,width:n,height:r}}function SEt(e){let t=e.squareMaxSize,n=e.samples,r=`#version 300 es precision highp float; layout(location=0) in vec2 xy; out vec2 uv; void main() { gl_Position = vec4(xy, 0, 1); uv = (xy + 1.0) / 2.0; } `,i=`#version 300 es precision highp float; uniform sampler2D image; uniform vec2 resolution; uniform vec2 direction; in vec2 uv; out vec4 outColor; void main() { vec4 color = vec4(0.0); const int count = ${t}; int i = -count; while(i + 1 <= count) { color += texture(image, uv + direction * (float(i) + 0.5) / resolution) * 2.0; i += 2; } if (i <= count) { color += texture(image, uv + direction * float(count) / resolution); } outColor = color; } `,s=`#version 300 es precision highp float; uniform sampler2D image; uniform sampler2D imageBox; uniform vec2 resolution; uniform float scaler; in vec2 uv; out vec4 outColor; void main() { vec4 color = texture(imageBox, uv); if (color != vec4(0.0)) { ${n.map(({x:o,y:a,w:l})=>`color -= texture(image, uv + vec2(${o.toFixed(8)}, ${a.toFixed(8)}) / resolution) * (${l.toFixed(8)})`).join(";")}; } outColor = color * scaler; } `;return{vertex:r,fragment1:i,fragment2:s}}function AEt(e,t,n){let r=e.derive([n],EEt),i=e.derive([r],SEt),s=e.statefulDerive([t,e.derive([i],l=>l.vertex),e.derive([i],l=>l.fragment1)],wc),o=e.statefulDerive([t,e.derive([i],l=>l.vertex),e.derive([i],l=>l.fragment2)],wc),a=e.statefulDerive([t,[-1,-1,-1,1,1,-1,1,1],"f32"],hc);return e.derive([t,a,s,o,n,r],(l,c,u,f,h,d)=>(g,y,v)=>{let{width:b,height:_}=y;l.disable(l.BLEND),l.enableVertexAttribArray(0),l.bindBuffer(l.ARRAY_BUFFER,c),l.vertexAttribPointer(0,2,l.FLOAT,!1,0,0),l.bindBuffer(l.ARRAY_BUFFER,null),l.useProgram(u.program),l.uniform2f(u.uniforms.resolution,b,_),l.uniform1i(u.uniforms.image,0),l.bindFramebuffer(l.FRAMEBUFFER,y.framebuffer),l.bindTexture(l.TEXTURE_2D,g),l.uniform2f(u.uniforms.direction,0,1),l.drawArrays(l.TRIANGLE_STRIP,0,4),l.bindFramebuffer(l.FRAMEBUFFER,v.framebuffer),l.bindTexture(l.TEXTURE_2D,y.texture),l.uniform2f(u.uniforms.direction,1,0),l.drawArrays(l.TRIANGLE_STRIP,0,4),l.bindFramebuffer(l.FRAMEBUFFER,y.framebuffer),l.activeTexture(l.TEXTURE1),l.bindTexture(l.TEXTURE_2D,v.texture),l.activeTexture(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,g),l.useProgram(f.program),l.uniform2f(f.uniforms.resolution,b,_),l.uniform1i(f.uniforms.image,0),l.uniform1i(f.uniforms.imageBox,1);let x=1/d.totalWeight*h*h*Math.PI;l.uniform1f(f.uniforms.scaler,x),l.drawArrays(l.TRIANGLE_STRIP,0,4),l.bindFramebuffer(l.FRAMEBUFFER,null),l.useProgram(null),l.activeTexture(l.TEXTURE1),l.bindTexture(l.TEXTURE_2D,null),l.activeTexture(l.TEXTURE0),l.bindTexture(l.TEXTURE_2D,null),l.disableVertexAttribArray(0)})}function IL(e,t,n){let r=Math.sqrt(t*t+n*n);if(re+Math.sqrt(2)/2)return 0;let i=2,s=0;for(let o=0;o0&&a==i[i.length-1].x&&l==i[i.length-1].y+1){let u=i[i.length-1].w,f=c;i[i.length-1].y+=1-u/(u+f),i[i.length-1].w=u+f}else i.push({x:a,y:l,w:c})}i=i.sort((a,l)=>a.y!=l.y?a.y-l.y:a.x-l.x);let s=[];for(let{x:a,y:l,w:c}of i)if(s.length>0&&l==s[s.length-1].y&&a==s[s.length-1].x+1){let u=s[s.length-1].w,f=c;s[s.length-1].x+=1-u/(u+f),s[s.length-1].w=u+f}else s.push({x:a,y:l,w:c});let o=-s.reduce((a,l)=>a+l.w,0);return o+=r*(1+n*2)*(1+n*2),{squareMaxSize:n,squareWeight:r,samples:s,totalWeight:o}}function TEt(e){let t;return e?t=`#version 300 es precision highp float; uniform mat3 matrix; layout(location=0) in float x; layout(location=1) in float y; layout(location=2) in int category; out vec4 color; void main() { gl_Position = vec4(matrix * vec3(x, y, 1), 1); if (category == 0) { color = vec4(1, 0, 0, 0); } else if (category == 1) { color = vec4(0, 1, 0, 0); } else if (category == 2) { color = vec4(0, 0, 1, 0); } else if (category == 3) { color = vec4(0, 0, 0, 1); } gl_PointSize = 1.0; } `:t=`#version 300 es precision highp float; uniform mat3 matrix; layout(location=0) in float x; layout(location=1) in float y; out vec4 color; void main() { gl_Position = vec4(matrix * vec3(x, y, 1), 1); color = vec4(1, 0, 0, 0); gl_PointSize = 1.0; } `,{vertex:t,fragment:`#version 300 es precision highp float; in vec4 color; out vec4 outColor; void main() { outColor = color; } `}}function rM(e,t,n,r,i,s){let o=i!=null,a=TEt(o),l=e.statefulDerive([t,a.vertex,a.fragment],wc);return e.derive([t,l,n,r,i,s],(c,u,f,h,d,g)=>y=>{c.enable(c.BLEND),c.blendFunc(c.ONE,c.ONE),c.useProgram(u.program),c.enableVertexAttribArray(0),c.bindBuffer(c.ARRAY_BUFFER,f),c.vertexAttribPointer(0,1,c.FLOAT,!1,0,0),c.enableVertexAttribArray(1),c.bindBuffer(c.ARRAY_BUFFER,h),c.vertexAttribPointer(1,1,c.FLOAT,!1,0,0),d!=null&&(c.enableVertexAttribArray(2),c.bindBuffer(c.ARRAY_BUFFER,d),c.vertexAttribIPointer(2,1,c.BYTE,0,0)),c.bindBuffer(c.ARRAY_BUFFER,null),c.uniformMatrix3fv(u.uniforms.matrix,!1,y),c.drawArrays(c.POINTS,0,g),c.disableVertexAttribArray(0),c.disableVertexAttribArray(1),d!=null&&c.disableVertexAttribArray(2),c.useProgram(null)})}function kEt(){return{vertex:`#version 300 es precision highp float; uniform vec2 xyScaler; layout(location=0) in vec2 xy; out vec2 uv; void main() { gl_Position = vec4(xy * xyScaler, 0, 1); uv = (xy + 1.0) / 2.0; } `,fragment:`#version 300 es precision highp float; uniform sampler2D source; uniform float gamma; in vec2 uv; out vec4 outColor; void main() { vec4 color = texture(source, uv); color.rgb = pow(color.rgb, vec3(1.0 / gamma)); outColor = color; } `}}function AY(e,t){let{vertex:n,fragment:r}=kEt(),i=e.statefulDerive([t,n,r],wc),s=e.statefulDerive([t,[-1,-1,-1,1,1,-1,1,1],"f32"],hc);return e.derive([t,i,s],(o,a,l)=>(c,u,f,h)=>{o.disable(o.BLEND),o.enableVertexAttribArray(0),o.bindBuffer(o.ARRAY_BUFFER,l),o.vertexAttribPointer(0,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,null),o.bindTexture(o.TEXTURE_2D,c),o.useProgram(a.program),o.uniform1i(a.uniforms.source,0),o.uniform2f(a.uniforms.xyScaler,f??1,h??1),o.uniform1f(a.uniforms.gamma,u??2.2),o.drawArrays(o.TRIANGLE_STRIP,0,4),o.useProgram(null),o.bindTexture(o.TEXTURE_2D,null),o.disableVertexAttribArray(0)})}function EY(e){return Math.ceil(e*3)}function MEt(e){let t=EY(e),n=[];for(let a=-t;a<=t;a++)n.push(Math.exp(-a*a/e/e/2));let r=n.reduce((a,l)=>a+l,0);n=n.map(a=>a/r);let i=REt(n).map(([a,l])=>[a-t,l]),s=`#version 300 es precision highp float; layout(location=0) in vec2 xy; out vec2 uv; void main() { gl_Position = vec4(xy, 0, 1); uv = (xy + 1.0) / 2.0; } `,o=`#version 300 es precision highp float; uniform sampler2D image; uniform vec2 resolution; uniform vec2 direction; in vec2 uv; out vec4 outColor; void main() { vec4 color = vec4(0.0); ${i.map(([a,l])=>`color += texture(image, uv + direction * vec2(${a.toFixed(10)}) / resolution) * ${l.toFixed(10)};`).join(` `)} outColor = color; } `;return{vertex:s,fragment:o}}function IEt(e,t,n){let r=e.derive([n],MEt),i=e.statefulDerive([t,e.derive([r],o=>o.vertex),e.derive([r],o=>o.fragment)],wc),s=e.statefulDerive([t,[-1,-1,-1,1,1,-1,1,1],"f32"],hc);return e.derive([t,s,i,n],(o,a,l,c)=>(u,f,h)=>{let{width:d,height:g}=f;o.disable(o.BLEND),o.enableVertexAttribArray(0),o.bindBuffer(o.ARRAY_BUFFER,a),o.vertexAttribPointer(0,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,null),o.useProgram(l.program),o.uniform2f(l.uniforms.resolution,d,g),o.uniform1i(l.uniforms.image,0),o.bindFramebuffer(o.FRAMEBUFFER,h.framebuffer),o.bindTexture(o.TEXTURE_2D,u),o.uniform2f(l.uniforms.direction,0,1),o.drawArrays(o.TRIANGLE_STRIP,0,4),o.bindFramebuffer(o.FRAMEBUFFER,f.framebuffer),o.bindTexture(o.TEXTURE_2D,h.texture),o.uniform2f(l.uniforms.direction,1,0),o.drawArrays(o.TRIANGLE_STRIP,0,4),o.bindFramebuffer(o.FRAMEBUFFER,null),o.useProgram(null),o.bindTexture(o.TEXTURE_2D,null),o.disableVertexAttribArray(0)})}function REt(e){let t=[];for(let n=0;n=0&&s<=1){let o=r+i;o!=0&&t.push([n+s,o])}else t.push([n,e[n]]),t.push([n+1,e[n+1]])}else t.push([n,e[n]]);return t}function CEt(e){return Math.ceil(e*3)}function NEt(){return{vertex:`#version 300 es precision highp float; layout(location=0) in vec2 xy; out vec2 uv; void main() { gl_Position = vec4(xy, 0, 1); uv = (xy + 1.0) / 2.0; } `,fragment:`#version 300 es precision highp float; uniform sampler2D image; uniform vec2 resolution; uniform vec2 direction; in vec2 uv; out vec4 outColor; uniform float weight0; uniform vec3 distances; uniform vec3 weights; void main() { vec4 color = texture(image, uv) * weight0; if (weights.x != 0.0) { color += texture(image, uv + direction * vec2(distances.x) / resolution) * weights.x; color += texture(image, uv - direction * vec2(distances.x) / resolution) * weights.x; } if (weights.y != 0.0) { color += texture(image, uv + direction * vec2(distances.y) / resolution) * weights.y; color += texture(image, uv - direction * vec2(distances.y) / resolution) * weights.y; } if (weights.z != 0.0) { color += texture(image, uv + direction * vec2(distances.z) / resolution) * weights.z; color += texture(image, uv - direction * vec2(distances.z) / resolution) * weights.z; } outColor = color; } `}}function $Et(e,t,n){let{vertex:r,fragment:i}=NEt(),s=e.statefulDerive([t,r,i],wc),o=e.statefulDerive([t,[-1,-1,-1,1,1,-1,1,1],"f32"],hc);return e.derive([t,o,s],(a,l,c)=>(u,f,h)=>{let{width:d,height:g}=f;a.disable(a.BLEND),a.enableVertexAttribArray(0),a.bindBuffer(a.ARRAY_BUFFER,l),a.vertexAttribPointer(0,2,a.FLOAT,!1,0,0),a.bindBuffer(a.ARRAY_BUFFER,null),a.useProgram(c.program),a.uniform2f(c.uniforms.resolution,d,g),a.uniform1i(c.uniforms.image,0);let y=u,v=h,b=f;for(let _=0;_<2;_++){a.uniform2f(c.uniforms.direction,_,1-_);for(let[x,A,k]of OEt){a.bindFramebuffer(a.FRAMEBUFFER,v.framebuffer),a.bindTexture(a.TEXTURE_2D,y),a.uniform1fv(c.uniforms.weight0,A),a.uniform3fv(c.uniforms.distances,x),a.uniform3fv(c.uniforms.weights,k),a.drawArrays(a.TRIANGLE_STRIP,0,4),y=v.texture;let S=v;v=b,b=S}}a.bindFramebuffer(a.FRAMEBUFFER,null),a.useProgram(null),a.bindTexture(a.TEXTURE_2D,null),a.disableVertexAttribArray(0)})}const OEt=[[[1,2,3],[.2288468365182578],[.18230006506971572,.1356122230111784,.06766429365997693]],[[2,6,10],[.09116254014100238],[.23317759354726447,.18385867277788717,.03738246360434722]],[[3,10,20],[.2950645715317288],[.010918865853671198,.23773695670296047,.10381189167750389]],[[4,16,30],[.20085957073474772],[.14463019087130788,.17934533765938643,.07559468610193185]]];function LEt(){return{vertex:`#version 300 es precision highp float; layout(location=0) in vec2 xy; out vec2 uv; void main() { gl_Position = vec4(xy, 0, 1); uv = (xy + 1.0) / 2.0; } `,fragment:`#version 300 es precision highp float; uniform sampler2D source; uniform vec2 resolution; uniform float densityScaler; uniform float quantizationStep; uniform vec4 channelMask; uniform vec4 color; uniform float globalAlpha; in vec2 uv; out vec4 outColor; float sample_density(vec2 uv) { float d = dot(texture(source, uv), channelMask) * densityScaler; d = min(1.0, max(0.0, d)); d = floor(d / quantizationStep); return d; } void main() { // Run the Sobel operator. float v = sample_density(uv); float v11 = sample_density(uv + vec2(-1, -1) / resolution); float v12 = sample_density(uv + vec2(-1, 0) / resolution); float v13 = sample_density(uv + vec2(-1, +1) / resolution); float v21 = sample_density(uv + vec2( 0, -1) / resolution); float v23 = sample_density(uv + vec2( 0, +1) / resolution); float v31 = sample_density(uv + vec2(+1, -1) / resolution); float v32 = sample_density(uv + vec2(+1, 0) / resolution); float v33 = sample_density(uv + vec2(+1, +1) / resolution); float gx = v11 + v12 * 2.0 + v13 - v31 - v32 * 2.0 - v33; float gy = v11 + v21 * 2.0 + v31 - v13 - v23 * 2.0 - v33; // Derive alpha value from the result. float alpha = length(vec2(gx, gy)) * 0.2; alpha = min(1.0, max(0.0, alpha)); outColor = color * alpha * globalAlpha; } `}}function DEt(e,t){let{vertex:n,fragment:r}=LEt(),i=e.statefulDerive([t,n,r],wc),s=e.statefulDerive([t,[-1,-1,-1,1,1,-1,1,1],"f32"],hc);return e.derive([t,i,s],(o,a,l)=>(c,u,f,h,d,g)=>{o.enable(o.BLEND),o.blendFunc(o.ONE,o.ONE_MINUS_SRC_ALPHA),o.enableVertexAttribArray(0),o.bindBuffer(o.ARRAY_BUFFER,l),o.vertexAttribPointer(0,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,null),o.bindTexture(o.TEXTURE_2D,c.texture),o.useProgram(a.program),o.uniform1i(a.uniforms.source,0),o.uniform2f(a.uniforms.resolution,c.width,c.height),o.uniform1f(a.uniforms.densityScaler,u),o.uniform1f(a.uniforms.quantizationStep,f),o.uniform1f(a.uniforms.globalAlpha,h),o.uniform4fv(a.uniforms.channelMask,d),o.uniform4fv(a.uniforms.color,g),o.drawArrays(o.TRIANGLE_STRIP,0,4),o.useProgram(null),o.bindTexture(o.TEXTURE_2D,null),o.disableVertexAttribArray(0)})}function FEt(){return{vertex:`#version 300 es precision highp float; layout(location=0) in vec2 xy; out vec2 uv; void main() { gl_Position = vec4(xy, 0, 1); uv = (xy + 1.0) / 2.0; } `,fragment:`#version 300 es precision highp float; uniform sampler2D source; uniform vec2 resolution; uniform float densityScaler; uniform float quantizationStep; uniform mat4 colorMatrix; uniform int isDarkMode; uniform float globalAlpha; in vec2 uv; out vec4 outColor; /* Combine alphas with symmetric blending equation f(a, b) = a + b - ab. */ float combine_alphas(vec4 alphas) { float r = alphas.x + alphas.y - alphas.x * alphas.y; r = r + alphas.z - r * alphas.z; r = r + alphas.w - r * alphas.w; return r; } void main() { vec4 density = texture(source, uv) * densityScaler; if (density.x > 1.0 || density.y > 1.0 || density.z > 1.0 || density.w > 1.0) { density = density / max(max(max(density.x, density.y), density.z), density.w); } else { density = floor(density / quantizationStep) * quantizationStep; } if (density.x + density.y + density.z + density.w == 0.0) { discard; } float alpha = combine_alphas(density); density *= alpha / (density.x + density.y + density.z + density.w); vec3 c1 = colorMatrix[0].rgb * density.x; vec3 c2 = colorMatrix[1].rgb * density.y; vec3 c3 = colorMatrix[2].rgb * density.z; vec3 c4 = colorMatrix[3].rgb * density.w; vec3 c; if (isDarkMode == 0) { c = vec3(1.0) - alpha + c1 + c2 + c3 + c4; } else { c = c1 + c2 + c3 + c4; } outColor = vec4(c, 1.0) * alpha * globalAlpha; } `}}function BEt(e,t){let{vertex:n,fragment:r}=FEt(),i=e.statefulDerive([t,n,r],wc),s=e.statefulDerive([t,[-1,-1,-1,1,1,-1,1,1],"f32"],hc);return e.derive([t,i,s],(o,a,l)=>(c,u,f,h,d,g)=>{o.enable(o.BLEND),o.blendFunc(o.ONE,o.ONE_MINUS_SRC_ALPHA),o.enableVertexAttribArray(0),o.bindBuffer(o.ARRAY_BUFFER,l),o.vertexAttribPointer(0,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,null),o.bindTexture(o.TEXTURE_2D,c.texture),o.useProgram(a.program),o.uniform1i(a.uniforms.source,0),o.uniform2f(a.uniforms.resolution,c.width,c.height),o.uniform1f(a.uniforms.densityScaler,u),o.uniform1f(a.uniforms.quantizationStep,f),o.uniform1f(a.uniforms.globalAlpha,h),o.uniform1i(a.uniforms.isDarkMode,g=="dark"?1:0),o.uniformMatrix4fv(a.uniforms.colorMatrix,!1,d),o.drawArrays(o.TRIANGLE_STRIP,0,4),o.useProgram(null),o.bindTexture(o.TEXTURE_2D,null),o.disableVertexAttribArray(0)})}function PEt(e){let t;return e?t=`#version 300 es precision highp float; uniform mat3 matrix; uniform float point_size; uniform float alpha; uniform vec4 colorScheme[64]; layout(location=0) in float x; layout(location=1) in float y; layout(location=2) in int category; out vec4 color; void main() { gl_Position = vec4(matrix * vec3(x, y, 1), 1); if (category < 64) { color = colorScheme[category]; } else { color = vec4(0.5, 0.5, 0.5, 1); } color *= alpha; gl_PointSize = point_size; } `:t=`#version 300 es precision highp float; uniform mat3 matrix; uniform float point_size; uniform vec4 colorScheme; uniform float alpha; layout(location=0) in float x; layout(location=1) in float y; out vec4 color; void main() { gl_Position = vec4(matrix * vec3(x, y, 1), 1); color = colorScheme; color *= alpha; gl_PointSize = point_size; } `,{vertex:t,fragment:`#version 300 es precision highp float; uniform float point_size; in vec4 color; out vec4 outColor; void main() { float r = length(gl_PointCoord.xy - vec2(0.5, 0.5)) * point_size; float a = max(0.0, min(1.0, point_size / 2.0 - r)); outColor = color * a; } `}}function RL(e,t,n,r,i,s){let o=i!=null,a=PEt(o),l=e.statefulDerive([t,a.vertex,a.fragment],wc);return e.derive([t,l,n,r,i,s],(c,u,f,h,d,g)=>(y,v,b,_)=>{c.enable(c.BLEND),c.blendFunc(c.ONE,c.ONE_MINUS_SRC_ALPHA),c.useProgram(u.program),c.enableVertexAttribArray(0),c.bindBuffer(c.ARRAY_BUFFER,f),c.vertexAttribPointer(0,1,c.FLOAT,!1,0,0),c.enableVertexAttribArray(1),c.bindBuffer(c.ARRAY_BUFFER,h),c.vertexAttribPointer(1,1,c.FLOAT,!1,0,0),d!=null&&(c.enableVertexAttribArray(2),c.bindBuffer(c.ARRAY_BUFFER,d),c.vertexAttribIPointer(2,1,c.BYTE,0,0)),c.bindBuffer(c.ARRAY_BUFFER,null),c.uniformMatrix3fv(u.uniforms.matrix,!1,y),c.uniform1f(u.uniforms.point_size,v*2),c.uniform1f(u.uniforms.alpha,b),o?c.uniform4fv(u.uniforms.colorScheme,_):c.uniform4fv(u.uniforms.colorScheme,_.slice(0,4)),c.drawArrays(c.POINTS,0,g),c.disableVertexAttribArray(0),c.disableVertexAttribArray(1),d!=null&&c.disableVertexAttribArray(2),c.useProgram(null)})}function UEt(){return{vertex:`#version 300 es precision highp float; layout(location=0) in vec2 xy; out vec2 uv; void main() { gl_Position = vec4(xy, 0, 1); uv = (xy + 1.0) / 2.0; } `,fragment:`#version 300 es precision highp float; uniform sampler2D source; uniform vec2 resolution; uniform mat4 colorMatrix; uniform float pointAlpha; uniform float globalAlpha; uniform int isDarkMode; in vec2 uv; out vec4 outColor; /* Combine alphas with symmetric blending equation f(a, b) = a + b - ab. */ float combine_alphas(vec4 alphas) { float r = alphas.x + alphas.y - alphas.x * alphas.y; r = r + alphas.z - r * alphas.z; r = r + alphas.w - r * alphas.w; return r; } void main() { vec4 count = texture(source, uv); vec4 alphas = pointAlpha >= 0.999 ? vec4(count.x > 0.0 ? 1.0 : 0.0, count.y > 0.0 ? 1.0 : 0.0, count.z > 0.0 ? 1.0 : 0.0, count.w > 0.0 ? 1.0 : 0.0) : vec4(1.0) - pow(vec4(1.0 - pointAlpha), count); float a = combine_alphas(alphas); if (a <= 0.0) { discard; } alphas *= a / (alphas.x + alphas.y + alphas.z + alphas.w); vec3 c1 = colorMatrix[0].rgb * alphas.x; vec3 c2 = colorMatrix[1].rgb * alphas.y; vec3 c3 = colorMatrix[2].rgb * alphas.z; vec3 c4 = colorMatrix[3].rgb * alphas.w; vec3 c; if (isDarkMode == 0) { c = vec3(1.0) - a + c1 + c2 + c3 + c4; } else { c = c1 + c2 + c3 + c4; } outColor = vec4(c, 1.0) * a * globalAlpha; } `}}function zEt(e,t){let{vertex:n,fragment:r}=UEt(),i=e.statefulDerive([t,n,r],wc),s=e.statefulDerive([t,[-1,-1,-1,1,1,-1,1,1],"f32"],hc);return e.derive([t,i,s],(o,a,l)=>(c,u,f,h,d)=>{o.enable(o.BLEND),o.blendFunc(o.ONE,o.ONE_MINUS_SRC_ALPHA),o.enableVertexAttribArray(0),o.bindBuffer(o.ARRAY_BUFFER,l),o.vertexAttribPointer(0,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,null),o.bindTexture(o.TEXTURE_2D,c.texture),o.useProgram(a.program),o.uniform1i(a.uniforms.source,0),o.uniform2f(a.uniforms.resolution,c.width,c.height),o.uniform1f(a.uniforms.pointAlpha,u),o.uniform1f(a.uniforms.globalAlpha,f),o.uniform1i(a.uniforms.isDarkMode,d=="dark"?1:0),o.uniformMatrix4fv(a.uniforms.colorMatrix,!1,h),o.drawArrays(o.TRIANGLE_STRIP,0,4),o.useProgram(null),o.bindTexture(o.TEXTURE_2D,null),o.disableVertexAttribArray(0)})}class qEt{props;viewport;df;gl;renderInputs;dataBuffers;renderer;constructor(t,n,r){this.props={mode:"points",colorScheme:"light",x:new Float32Array,y:new Float32Array,category:null,categoryCount:1,categoryColors:null,viewportX:0,viewportY:0,viewportScale:1,pointSize:1,pointAlpha:1,pointsAlpha:1,densityScaler:1,densityBandwidth:1,densityQuantizationStep:.1,contoursAlpha:1,densityAlpha:1,gamma:2.2,width:n,height:r},this.viewport=new p3({x:0,y:0,scale:1},n,r);let i=new H1,s=i.value(t);this.df=i,this.gl=s,this.renderInputs={mode:i.value(this.props.mode),colorScheme:i.value(this.props.colorScheme),xData:i.value(this.props.x),yData:i.value(this.props.y),categoryData:i.value(this.props.category),categoryCount:i.value(this.props.categoryCount),matrix:i.value(bY()),width:i.value(n),height:i.value(r),pointSize:i.value(this.props.pointSize),densityBandwidth:i.value(this.props.densityBandwidth)},this.dataBuffers=jEt(i,s,this.renderInputs),this.renderer=VEt(i,s,this.renderInputs,this.dataBuffers)}setProps(t){let n=!1,r;for(r in t)t[r]!==this.props[r]&&(this.props[r]=t[r],n=!0);return this.viewport.update({x:this.props.viewportX,y:this.props.viewportY,scale:this.props.viewportScale},this.props.width,this.props.height),this.renderInputs.mode.value=this.props.mode,this.renderInputs.colorScheme.value=this.props.colorScheme,this.renderInputs.xData.value=this.props.x,this.renderInputs.yData.value=this.props.y,this.renderInputs.categoryData.value=this.props.category,this.props.category!=null?this.renderInputs.categoryCount.value=this.props.categoryCount:this.renderInputs.categoryCount.value=1,this.renderInputs.matrix.value=this.viewport.matrix(),this.renderInputs.width.value=this.props.width,this.renderInputs.height.value=this.props.height,this.renderInputs.pointSize.value=this.props.pointSize,this.renderInputs.densityBandwidth.value=this.props.densityBandwidth,n}render(){this.renderer.value(this.props)}destroy(){this.df.destroy()}async densityMap(t,n,r,i){let s=this.df.subgraph(),o=HEt(s,this.gl,this.dataBuffers,s.value(t),s.value(n),s.value(r)),{x:a,y:l,scale:c}=i,u=[c,0,0,0,c,0,-a*c,-l*c,1],f=o.value(u),h=wY(u);return s.destroy(),{data:f,width:t,height:n,coordinateAtPixel:(d,g)=>{let y=d/t*2-1,v=g/n*2-1,b=_Y([y,v,1],h);return{x:b[0],y:b[1]}}}}}function jEt(e,t,n){const r=e.statefulDerive([t,n.xData,"f32"],hc),i=e.statefulDerive([t,n.yData,"f32"],hc),s=e.if(e.derive([n.categoryData],a=>a!=null),a=>a.statefulDerive([t,a.assertNotNull(n.categoryData),"u8"],hc),a=>a.value(null)),o=e.derive([n.xData],a=>a.length);return{x:r,y:i,category:s,count:o}}function VEt(e,t,n,r){return e.switch(n.mode,{points:i=>WEt(i,t,n,r),density:i=>YEt(i,t,n,r)})}function WEt(e,t,n,r){const i=e.derive([n.categoryCount],l=>l>1),s=e.statefulDerive([t,n.width,n.height,4,"f32"],Nf);let o=e.if(i,l=>RL(l,t,r.x,r.y,l.assertNotNull(r.category),r.count),l=>RL(l,t,r.x,r.y,null,r.count)),a=AY(e,t);return e.derive([t,s,o,a,n.colorScheme,n.matrix,n.categoryCount],(l,c,u,f,h,d,g)=>y=>{let v=[],b=y.categoryColors??gm(y.categoryCount);for(let _=0;_CEt(x)+1),s=e.derive([n.width,i],(x,A)=>x+A*2),o=e.derive([n.height,i],(x,A)=>x+A*2);const a=e.derive([n.categoryCount],x=>x>1),l=e.statefulDerive([t,s,o,4,"f32"],Nf),c=e.statefulDerive([t,s,o,4,"f32"],Nf),u=e.statefulDerive([t,s,o,4,"f32"],Nf),f=e.statefulDerive([t,s,o,4,"f32"],Nf);let h=e.if(a,x=>rM(x,t,r.x,r.y,x.assertNotNull(r.category),r.count),x=>rM(x,t,r.x,r.y,null,r.count)),d=AEt(e,t,n.pointSize),g=$Et(e,t,n.densityBandwidth),y=zEt(e,t),v=BEt(e,t),b=DEt(e,t),_=AY(e,t);return e.derive([t,l,c,u,f,n.colorScheme,n.matrix,h,d,g,y,v,b,_],(x,A,k,S,T,M,I,N,C,L,F,$,D,O)=>B=>{let V=B.categoryColors??gm(B.categoryCount),U=[];for(let Q=0;Q<4;Q++)if(Q0&&B.pointsAlpha>0&&(C(A.texture,S,T),x.bindFramebuffer(x.FRAMEBUFFER,k.framebuffer),F(S,B.pointAlpha,B.pointsAlpha,U,M)),B.densityScaler>0&&(B.densityAlpha>0||B.contoursAlpha>0)&&(L(A.texture,S,T),x.bindFramebuffer(x.FRAMEBUFFER,k.framebuffer),B.densityAlpha>0&&$(S,B.densityScaler,B.densityQuantizationStep,B.densityAlpha,U,M),B.contoursAlpha>0))for(let Q=0;QEY(g)+1),a=e.derive([r,o],(g,y)=>g+y*2),l=e.derive([i,o],(g,y)=>g+y*2);const c=e.statefulDerive([t,a,l,1,"f32"],Nf),u=e.statefulDerive([t,a,l,1,"f32"],Nf),f=e.statefulDerive([t,a,l,1,"f32"],Nf);let h=rM(e,t,n.x,n.y,null,n.count),d=IEt(e,t,s);return e.derive([t,o,r,i,c,u,f,h,d],(g,y,v,b,_,x,A,k,S)=>T=>{let M=v/_.width,I=b/_.height,N=eR([M,0,0,0,I,0,0,0,1],T);g.bindFramebuffer(g.FRAMEBUFFER,_.framebuffer),g.viewport(0,0,_.width,_.height),g.clearColor(0,0,0,0),g.clear(g.COLOR_BUFFER_BIT),k(N),S(_.texture,x,A),g.bindFramebuffer(g.FRAMEBUFFER,x.framebuffer);let C=new Float32Array(v*b);return g.readPixels(y,y,v,b,g.RED,g.FLOAT,C),g.bindFramebuffer(g.FRAMEBUFFER,null),C})}class GEt{i32View;u32View;f32View;offset;constructor(t){this.i32View=new Int32Array(t),this.u32View=new Uint32Array(t),this.f32View=new Float32Array(t),this.offset=0}align2(){this.offset%2!=0&&(this.offset+=2-this.offset%2)}align4(){this.offset%4!=0&&(this.offset+=4-this.offset%4)}f32(t){this.f32View[this.offset++]=t}u32(t){this.u32View[this.offset++]=t}i32(t){this.i32View[this.offset++]=t}vec2f(t,n){this.align2(),this.f32View[this.offset++]=t,this.f32View[this.offset++]=n}vec3f(t,n,r){this.align4(),this.f32View[this.offset++]=t,this.f32View[this.offset++]=n,this.f32View[this.offset++]=r}vec4f(t,n,r,i){this.align4(),this.f32View[this.offset++]=t,this.f32View[this.offset++]=n,this.f32View[this.offset++]=r,this.f32View[this.offset++]=i}mat3x3f(t){this.vec3f(t[0],t[1],t[2]),this.vec3f(t[3],t[4],t[5]),this.vec3f(t[6],t[7],t[8])}byteOffset(){return this.offset*4}}function XEt(e,t){let n=new ArrayBuffer(4288),r=e.statefulDerive([t,4288,GPUBufferUsage.UNIFORM|GPUBufferUsage.COPY_DST|GPUBufferUsage.VERTEX],X0);return{buffer:r,update:e.derive([t,r],(i,s)=>o=>{let a=new GEt(n);a.u32(o.count),a.u32(o.category_count),a.i32(o.framebuffer_width),a.i32(o.framebuffer_height),a.i32(o.density_width),a.i32(o.density_height),a.f32(o.gamma),a.f32(o.point_size),a.f32(o.point_alpha),a.f32(o.points_alpha),a.f32(o.density_scaler),a.f32(o.quantization_step),a.f32(o.density_alpha),a.f32(o.contours_alpha),a.mat3x3f(o.matrix),a.vec2f(...o.view_xy_scaler),a.vec4f(...o.kde_causal),a.vec4f(...o.kde_anticausal),a.vec4f(...o.kde_a),a.vec4f(...o.background_color);let l=o.gamma;for(let c=0;ca.createComputePipeline({layout:a.createPipelineLayout({bindGroupLayouts:[c.group0,c.group1,c.group2A]}),compute:{module:l,entryPoint:"accumulate"}}));return e.derive([o,r.group0,r.group1,r.group2A,s.countBuffer,i.count],(a,l,c,u,f,h)=>d=>{if(d.clearBuffer(f),h==0)return;let g=d.beginComputePass();g.setPipeline(a),g.setBindGroup(0,l),g.setBindGroup(1,c),g.setBindGroup(2,u),h<=ET*TT?g.dispatchWorkgroups(Math.ceil(h/ET)):g.dispatchWorkgroups(TT,Math.ceil(h/(ET*TT))),g.end()})}function KEt(e){const{COMPUTE:t,VERTEX:n,FRAGMENT:r}=GPUShaderStage;return{group0:e.createBindGroupLayout({entries:[{binding:0,visibility:t|n|r,buffer:{type:"uniform"}}]}),group1:e.createBindGroupLayout({entries:[{binding:0,visibility:t|n,buffer:{type:"read-only-storage"}},{binding:1,visibility:t|n,buffer:{type:"read-only-storage"}},{binding:2,visibility:t|n,buffer:{type:"read-only-storage"}}]}),group2A:e.createBindGroupLayout({entries:[{binding:0,visibility:t|r,buffer:{type:"storage"}}]}),group2B:e.createBindGroupLayout({entries:[{binding:1,visibility:t|r,buffer:{type:"storage"}},{binding:2,visibility:t|r,buffer:{type:"storage"}}]}),group3:e.createBindGroupLayout({entries:[{binding:0,visibility:GPUShaderStage.FRAGMENT,sampler:{type:"non-filtering"}},{binding:1,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}},{binding:2,visibility:GPUShaderStage.FRAGMENT,texture:{sampleType:"float"}}]})}}function kY(e,t,n,r,i){let s=e.derive([t],f=>KEt(f)),o=e.derive([t,s,n],(f,h,d)=>f.createBindGroup({layout:h.group0,entries:[{binding:0,resource:{buffer:d}}]})),a=e.derive([t,s,r.x,r.y,r.category],(f,h,d,g,y)=>f.createBindGroup({layout:h.group1,entries:[{binding:0,resource:{buffer:d}},{binding:1,resource:{buffer:g}},{binding:2,resource:{buffer:y??d}}]})),l=e.derive([t,s,i.countBuffer,i.blurBuffer],(f,h,d,g)=>f.createBindGroup({layout:h.group2A,entries:[{binding:0,resource:{buffer:d}}]})),c=e.derive([t,s,i.countBuffer,i.blurBuffer],(f,h,d,g)=>f.createBindGroup({layout:h.group2B,entries:[{binding:1,resource:{buffer:d}},{binding:2,resource:{buffer:g}}]})),u=e.derive([t,s,i.colorTexture,i.alphaTexture],(f,h,d,g)=>f.createBindGroup({layout:h.group3,entries:[{binding:0,resource:f.createSampler({})},{binding:1,resource:d.createView()},{binding:2,resource:g.createView()}]}));return{layouts:s,group0:o,group1:a,group2A:l,group2B:c,group3:u}}function JEt(e,t,n,r,i){const s=e.derive([t,n,r.layouts],(o,a,l)=>o.createRenderPipeline({layout:o.createPipelineLayout({bindGroupLayouts:[l.group0,l.group1,l.group2B]}),vertex:{entryPoint:"draw_density_map_vs",module:a},fragment:{entryPoint:"draw_density_map_fs",module:a,targets:[{format:i.colorTextureFormat,blend:{color:{srcFactor:"one",dstFactor:"one"},alpha:{srcFactor:"one",dstFactor:"one"}}},{format:i.alphaTextureFormat,blend:{color:{srcFactor:"one",dstFactor:"one"},alpha:{srcFactor:"one",dstFactor:"one"}}}]},primitive:{topology:"triangle-strip"}}));return e.derive([s,r.group0,r.group1,r.group2B,i.colorTexture,i.alphaTexture],(o,a,l,c,u,f)=>h=>{let d=h.beginRenderPass({colorAttachments:[{loadOp:"load",storeOp:"store",view:u.createView()},{loadOp:"load",storeOp:"store",view:f.createView()}]});d.setPipeline(o),d.setBindGroup(0,a),d.setBindGroup(1,l),d.setBindGroup(2,c),d.draw(4),d.end()})}function ZEt(e,t,n,r,i,s){const o=e.derive([t,n,r.layouts],(a,l,c)=>a.createRenderPipeline({layout:a.createPipelineLayout({bindGroupLayouts:[c.group0,c.group1]}),vertex:{entryPoint:"points_vs",module:l},fragment:{entryPoint:"points_fs",module:l,targets:[{format:s.colorTextureFormat,blend:{color:{srcFactor:"one",dstFactor:"one"},alpha:{srcFactor:"one",dstFactor:"one"}}},{format:s.alphaTextureFormat,blend:{color:{srcFactor:"one",dstFactor:"one"},alpha:{srcFactor:"one",dstFactor:"one"}}}]},primitive:{topology:"triangle-strip"}}));return e.derive([o,r.group0,r.group1,i.count,s.colorTexture,s.alphaTexture],(a,l,c,u,f,h)=>d=>{let g=d.beginRenderPass({colorAttachments:[{clearValue:[0,0,0,0],loadOp:"clear",storeOp:"store",view:f.createView()},{clearValue:[0,0,0,0],loadOp:"clear",storeOp:"store",view:h.createView()}]});g.setPipeline(a),g.setBindGroup(0,l),g.setBindGroup(1,c),u>0&&g.draw(4,u),g.end()})}function QEt(e,t,n,r,i){const s=e.derive([t,n,i.layouts],(o,a,l)=>o.createRenderPipeline({layout:o.createPipelineLayout({bindGroupLayouts:[l.group0,l.group1,l.group2B,l.group3]}),vertex:{entryPoint:"gamma_correction_vs",module:a},fragment:{entryPoint:"gamma_correction_fs",module:a,targets:[{format:r}]},primitive:{topology:"triangle-strip"}}));return e.derive([s,i.group0,i.group1,i.group2B,i.group3],(o,a,l,c,u)=>(f,h)=>{let d=f.beginRenderPass({colorAttachments:[{clearValue:[1,1,1,1],loadOp:"clear",storeOp:"store",view:h}]});d.setPipeline(o),d.setBindGroup(0,a),d.setBindGroup(1,l),d.setBindGroup(2,c),d.setBindGroup(3,u),d.draw(4),d.end()})}const CL=64;function MY(e,t,n,r,i,s,o){let a=e.derive([t,n,r.layouts],(c,u,f)=>c.createComputePipeline({layout:c.createPipelineLayout({bindGroupLayouts:[f.group0,f.group1,f.group2B,f.group3]}),compute:{module:u,entryPoint:"gaussian_blur_stage_1"}})),l=e.derive([t,n,r.layouts],(c,u,f)=>c.createComputePipeline({layout:c.createPipelineLayout({bindGroupLayouts:[f.group0,f.group1,f.group2B,f.group3]}),compute:{module:u,entryPoint:"gaussian_blur_stage_2"}}));return e.derive([a,l,r.group0,r.group1,r.group2B,r.group3,i,s,o],(c,u,f,h,d,g,y,v,b)=>_=>{let x=_.beginComputePass();x.setBindGroup(0,f),x.setBindGroup(1,h),x.setBindGroup(2,d),x.setBindGroup(3,g),x.setPipeline(c),x.dispatchWorkgroups(Math.ceil(y/CL),b),x.setPipeline(u),x.dispatchWorkgroups(Math.ceil(v/CL),b),x.end()})}function tTt(e,t=!1){const n=new Float64Array(5),r=new Float64Array(4);eTt(n,r,e);const i=Float64Array.of(0,r[1]-n[1]*r[0],r[2]-n[2]*r[0],r[3]-n[3]*r[0],-n[4]*r[0]),s=1+n[1]+n[2]+n[3]+n[4],o=(r[0]+r[1]+r[2]+r[3])/s,a=(i[1]+i[2]+i[3]+i[4])/s;return{sigma:e,negative:t,a:n,b_causal:r,b_anticausal:i,sum_causal:o,sum_anticausal:a}}function eTt(e,t,n){const r=Float64Array.of(.84,1.8675,.84,-1.8675,-.34015,-.1299,-.34015,.1299),i=Math.exp(-1.783/n),s=Math.exp(-1.723/n),o=.6318/n,a=1.997/n,l=Float64Array.of(-i*Math.cos(o),i*Math.sin(o),-i*Math.cos(-o),i*Math.sin(-o),-s*Math.cos(a),s*Math.sin(a),-s*Math.cos(-a),s*Math.sin(-a)),c=n*2.5066282746310007,u=Float64Array.of(r[0],r[1],0,0,0,0,0,0),f=Float64Array.of(1,0,l[0],l[1],0,0,0,0,0,0);let h,d;for(d=2;d<8;d+=2){for(u[d]=l[d]*u[d-2]-l[d+1]*u[d-1],u[d+1]=l[d]*u[d-1]+l[d+1]*u[d-2],h=d-2;h>0;h-=2)u[h]+=l[d]*u[h-2]-l[d+1]*u[h-1],u[h+1]+=l[d]*u[h-1]+l[d+1]*u[h-2];for(h=0;h<=d;h+=2)u[h]+=r[d]*f[h]-r[d+1]*f[h+1],u[h+1]+=r[d]*f[h+1]+r[d+1]*f[h];for(f[d+2]=l[d]*f[d]-l[d+1]*f[d+1],f[d+3]=l[d]*f[d+1]+l[d+1]*f[d],h=d;h>0;h-=2)f[h]+=l[d]*f[h-2]-l[d+1]*f[h-1],f[h+1]+=l[d]*f[h-1]+l[d+1]*f[h-2]}for(d=0;d<4;++d)h=d<<1,t[d]=u[h]/c,e[d+1]=f[h+2]}function IY(e){let t=tTt(e);return{kde_causal:[t.b_causal[0],t.b_causal[1],t.b_causal[2],t.b_causal[3]],kde_anticausal:[t.b_anticausal[1],t.b_anticausal[2],t.b_anticausal[3],t.b_anticausal[4]],kde_a:[t.a[1],t.a[2],t.a[3],t.a[4]]}}const nTt=`// Copyright (c) 2025 Apple Inc. Licensed under MIT License. enable f16; struct Uniforms { count: u32, category_count: u32, framebuffer_width: i32, framebuffer_height: i32, density_width: i32, density_height: i32, gamma: f32, point_size: f32, point_alpha: f32, points_alpha: f32, density_scaler: f32, quantization_step: f32, density_alpha: f32, contours_alpha: f32, matrix: mat3x3, view_xy_scaler: vec2, kde_causal: vec4, kde_anticausal: vec4, kde_a: vec4, background_color: vec4, category_colors: array, 256>, } struct PointData { position: vec3, category: u32, } struct FragmentOutput { @location(0) color: vec4, @location(1) log1malpha: f32, // log(1 - alpha) } @group(0) @binding(0) var uniforms: Uniforms; @group(1) @binding(0) var x_buffer: array; @group(1) @binding(1) var y_buffer: array; @group(1) @binding(2) var category_buffer: array; @group(2) @binding(0) var count_buffer: array>; @group(2) @binding(1) var blur_buffer: array; @group(2) @binding(2) var blur_swap_buffer: array; @group(3) @binding(0) var framebuffer_sampler: sampler; @group(3) @binding(1) var color_texture: texture_2d; @group(3) @binding(2) var log1malpha_texture: texture_2d; fn get_point(index: u32) -> PointData { var result: PointData; result.position = vec3(x_buffer[index], y_buffer[index], 1.0); if (uniforms.category_count > 1) { result.category = (category_buffer[index >> 2] >> ((index & 3) << 3)) & 0xff; } else { result.category = 0; } return result; } const ACCUMULATE_UNIT: u32 = 4096; fn increment_count(x: i32, y: i32, category: u32, value: u32) { let width = uniforms.density_width; let height = uniforms.density_height; if (x < 0 || x >= width || y < 0 || y >= height || category >= uniforms.category_count || value == 0) { return; } let offset = (y * width + x) + i32(category) * (width * height); atomicAdd(&count_buffer[offset], value); } @compute @workgroup_size(64, 1) fn accumulate(@builtin(global_invocation_id) id: vec3) { let width = uniforms.density_width; let height = uniforms.density_height; let index = id.y * 4096 + id.x; // 4096 = 64 * 64 if (index >= uniforms.count) { return; } let point = get_point(index); let pos = uniforms.matrix * point.position; let x = (pos.x + 1.0) / 2.0 * f32(width) - 0.5; let y = (pos.y + 1.0) / 2.0 * f32(height) - 0.5; let ix = i32(x); let iy = i32(y); let tx = x - f32(ix); let ty = y - f32(iy); let w1: u32 = u32((1 - tx) * (1 - ty) * f32(ACCUMULATE_UNIT)); let w2: u32 = u32(tx * (1 - ty) * f32(ACCUMULATE_UNIT)); let w3: u32 = u32((1 - tx) * ty * f32(ACCUMULATE_UNIT)); let w123 = w1 + w2 + w3; var w4: u32 = select(0, ACCUMULATE_UNIT - w123, w123 < ACCUMULATE_UNIT); increment_count(ix, iy, point.category, w1); increment_count(ix + 1, iy, point.category, w2); increment_count(ix, iy + 1, point.category, w3); increment_count(ix + 1, iy + 1, point.category, w4); } // Draw Discrete Points struct PointsVertexOutput { @builtin(position) position: vec4, @location(0) dp: vec3, @location(1) color: vec4, } @vertex fn points_vs( @builtin(instance_index) index: u32, @builtin(vertex_index) part: u32, ) -> PointsVertexOutput { let framebuffer_size = vec2(f32(uniforms.framebuffer_width), f32(uniforms.framebuffer_height)); let alpha = uniforms.point_alpha * uniforms.points_alpha; let dp = vec2(f32(part % 2), f32(part / 2)) * 2.0 - 1.0; let point = get_point(index); let pos = uniforms.matrix * point.position; var out: PointsVertexOutput; out.position = vec4(pos.xy + dp * uniforms.point_size / framebuffer_size * 2.0, 0.0, 1.0); out.dp = vec3(dp, uniforms.point_size); out.color = uniforms.category_colors[point.category] * alpha; return out; } @fragment fn points_fs(in: PointsVertexOutput) -> FragmentOutput { let r = length(in.dp.xy) * in.dp.z; let a = max(0.0, min(1.0, in.dp.z - r)); var out: FragmentOutput; out.color = in.color * a; out.log1malpha = log(1 - out.color.a); return out; } // Draw Density Map struct DrawDensityMapVertexOutput { @builtin(position) position: vec4, @location(0) texture_coord: vec2, } @vertex fn draw_density_map_vs( @builtin(vertex_index) part: u32, ) -> DrawDensityMapVertexOutput { let framebuffer_size = vec2(f32(uniforms.framebuffer_width), f32(uniforms.framebuffer_height)); let dp = vec2(f32(part % 2), f32(part / 2)) * 2.0 - 1.0; var out: DrawDensityMapVertexOutput; out.position = vec4(dp, 0.0, 1.0); out.texture_coord = (vec2(dp.x, dp.y) + 1.0) / 2.0 * framebuffer_size; return out; } fn get_density_raw(x: i32, y: i32, category: u32) -> f32 { let width = uniforms.density_width; let height = uniforms.density_height; let density_scaler = uniforms.density_scaler; if (x < 0 || x >= width || y < 0 || y >= height) { return 0.0; } let offset = (y * width + x) + i32(category) * (width * height); return max(0.0, f32(blur_buffer[offset]) * density_scaler); } fn get_density(x: f32, y: f32, category: u32) -> f32 { let px = x / f32(uniforms.framebuffer_width) * f32(uniforms.density_width) - 0.5; let py = y / f32(uniforms.framebuffer_height) * f32(uniforms.density_height) - 0.5; let ix = i32(px); let iy = i32(py); let tx = px - f32(ix); let ty = py - f32(iy); let v00 = get_density_raw(ix, iy, category); let v10 = get_density_raw(ix + 1, iy, category); let v01 = get_density_raw(ix, iy + 1, category); let v11 = get_density_raw(ix + 1, iy + 1, category); return mix(mix(v00, v10, tx), mix(v01, v11, tx), ty); } fn get_density_quantized(x: f32, y: f32, category: u32) -> f32 { let v = get_density(x, y, category); return floor(clamp(v, 0, 1) / uniforms.quantization_step); } fn get_density_quantized_sobel(x: f32, y: f32, category: u32) -> vec2 { let v11 = get_density_quantized(x - 1, y - 1, category); let v21 = get_density_quantized(x, y - 1, category); let v31 = get_density_quantized(x + 1, y - 1, category); let v12 = get_density_quantized(x - 1, y, category); let v22 = get_density_quantized(x, y, category); let v32 = get_density_quantized(x + 1, y, category); let v13 = get_density_quantized(x - 1, y + 1, category); let v23 = get_density_quantized(x, y + 1, category); let v33 = get_density_quantized(x + 1, y + 1, category); let gx = v11 + v12 * 2.0 + v13 - v31 - v32 * 2.0 - v33; let gy = v11 + v21 * 2.0 + v31 - v13 - v23 * 2.0 - v33; return vec2(gx, gy); } @fragment fn draw_density_map_fs(in: DrawDensityMapVertexOutput) -> FragmentOutput { let px = in.texture_coord.x; let py = in.texture_coord.y; let quantization_step: f32 = uniforms.quantization_step; var sum_color: vec4 = vec4(0); var sum_log1malpha: f32 = 0.0; for (var i: u32 = 0; i < uniforms.category_count; i++) { let density = get_density(px, py, i); var alpha = min(1.0, floor(density / quantization_step) * quantization_step); alpha *= uniforms.density_alpha; let color = uniforms.category_colors[i] * alpha; sum_color += color; sum_log1malpha += log(1 - color.a); } if (uniforms.contours_alpha > 0.0) { for (var i: u32 = 0; i < uniforms.category_count; i++) { let sobel = get_density_quantized_sobel(px, py, i); let alpha = clamp(length(sobel) * 0.2, 0.0, 1.0) * uniforms.contours_alpha; let color = uniforms.category_colors[i] * alpha; sum_color += color; sum_log1malpha += log(1 - color.a); } } var out: FragmentOutput; out.color = sum_color; out.log1malpha = sum_log1malpha; return out; } // Gamma Correction struct GammaCorrectionVertexOutput { @builtin(position) position: vec4, @location(0) texture_coord: vec2, } @vertex fn gamma_correction_vs( @builtin(vertex_index) part: u32, ) -> GammaCorrectionVertexOutput { let dp = vec2(f32(part % 2), f32(part / 2)) * 2.0 - 1.0; var out: GammaCorrectionVertexOutput; out.position = vec4(dp * uniforms.view_xy_scaler, 0.0, 1.0); out.texture_coord = (vec2(dp.x, -dp.y) + 1.0) / 2.0; return out; } @fragment fn gamma_correction_fs(in: GammaCorrectionVertexOutput) -> @location(0) vec4 { let sum_color = textureSample(color_texture, framebuffer_sampler, in.texture_coord); let sum_log_one_minus_alpha = textureSample(log1malpha_texture, framebuffer_sampler, in.texture_coord).r; var color: vec4; if (sum_color.a > 0.0) { color = sum_color / sum_color.a * (1.0 - exp(sum_log_one_minus_alpha)); color = color + uniforms.background_color * (1 - color.a); } else { color = uniforms.background_color; } let rgb = pow(color.rgb, vec3(1.0 / uniforms.gamma)); return vec4(rgb, 1.0); } // Gaussian Blur @compute @workgroup_size(64, 1) fn gaussian_blur_stage_1(@builtin(global_invocation_id) id: vec3) { let width = uniforms.density_width; let height = uniforms.density_height; let x = id.x; if (x >= u32(width)) { return; } let start = x + id.y * u32(width * height); let count = u32(height); let stride = u32(width); deriche_conv_1d( &blur_buffer, &blur_swap_buffer, start, stride, count, uniforms.kde_causal, uniforms.kde_anticausal, uniforms.kde_a, true ); } @compute @workgroup_size(64, 1) fn gaussian_blur_stage_2(@builtin(global_invocation_id) id: vec3) { let width = uniforms.density_width; let height = uniforms.density_height; let y = id.x; if (y >= u32(height)) { return; } let start = y * u32(width) + id.y * u32(width * height); let count = u32(width); let stride = u32(1); deriche_conv_1d( &blur_swap_buffer, &blur_buffer, start, stride, count, uniforms.kde_causal, uniforms.kde_anticausal, uniforms.kde_a, false ); } fn deriche_conv_1d( src: ptr, read_write>, dst: ptr, read_write>, start: u32, stride: u32, count: u32, kde_causal: vec4, kde_anticausal: vec4, kde_a: vec4, src_is_u32: bool ) { var s: vec4 = vec4(0.0); var y0: f32 = 0.0; var y1234: vec4 = vec4(0.0); var first_nonzero: u32 = count; var last_nonzero: u32 = 0; for (var i: u32 = 0; i < count; i++) { let offset = start + i * stride; var input: f32; if (src_is_u32) { input = f32(bitcast(vec2((*src)[offset * 2], (*src)[offset * 2 + 1]))) / f32(ACCUMULATE_UNIT); } else { input = f32((*src)[offset]); } if (input != 0.0) { first_nonzero = min(i, first_nonzero); last_nonzero = max(i, last_nonzero); } s = vec4(input, s.xyz); y1234 = vec4(y0, y1234.xyz); y0 = dot(kde_causal, s) - dot(kde_a, y1234); (*dst)[offset] = f16(y0); } if (first_nonzero > last_nonzero) { return; } s = vec4(0.0); y0 = 0.0; y1234 = vec4(0.0); for (var i: u32 = count - 1 - last_nonzero; i < count; i++) { let p = count - 1 - i; let offset = start + p * stride; var input: f32 = 0.0; if (p >= first_nonzero) { if (src_is_u32) { input = f32(bitcast(vec2((*src)[offset * 2], (*src)[offset * 2 + 1]))) / f32(ACCUMULATE_UNIT); } else { input = f32((*src)[offset]); } } y1234 = vec4(y0, y1234.xyz); y0 = dot(kde_anticausal, s) - dot(kde_a, y1234); s = vec4(input, s.xyz); if (y0 != 0.0) { (*dst)[offset] = f16(f32((*dst)[offset]) + y0); } } } `;let rTt=class{props;viewport;df;device;module;uniforms;context;renderInputs;dataBuffers;renderer;constructor(t,n,r,i,s){this.context=t,this.props={mode:"points",colorScheme:"light",x:new Float32Array,y:new Float32Array,category:null,categoryCount:1,categoryColors:null,viewportX:0,viewportY:0,viewportScale:1,pointSize:1,pointAlpha:1,pointsAlpha:1,densityScaler:1,densityBandwidth:1,densityQuantizationStep:.1,contoursAlpha:1,densityAlpha:1,gamma:2.2,width:i,height:s},this.viewport=new p3({x:0,y:0,scale:1},i,s),this.df=new H1;let o=this.df;this.renderInputs={mode:o.value(this.props.mode),colorScheme:o.value(this.props.colorScheme),xData:o.value(this.props.x),yData:o.value(this.props.y),categoryData:o.value(this.props.category),categoryCount:o.value(this.props.categoryCount),categoryColors:o.value(this.props.categoryColors),matrix:o.value(bY()),width:o.value(i),height:o.value(s),pointSize:o.value(this.props.pointSize),densityBandwidth:o.value(this.props.densityBandwidth)},this.device=o.value(n),this.dataBuffers=iTt(o,this.device,this.renderInputs),this.module=o.derive([this.device],a=>a.createShaderModule({code:nTt})),this.uniforms=XEt(o,this.device),this.renderer=sTt(o,this.device,this.module,this.uniforms,r,this.renderInputs,this.dataBuffers)}setProps(t){let n=!1,r;for(r in t)t[r]!==this.props[r]&&(this.props[r]=t[r],n=!0);return this.viewport.update({x:this.props.viewportX,y:this.props.viewportY,scale:this.props.viewportScale},this.props.width,this.props.height),this.renderInputs.mode.value=this.props.mode,this.renderInputs.colorScheme.value=this.props.colorScheme,this.renderInputs.xData.value=this.props.x,this.renderInputs.yData.value=this.props.y,this.renderInputs.categoryData.value=this.props.category,this.renderInputs.categoryColors.value=this.props.categoryColors,this.props.category!=null?this.renderInputs.categoryCount.value=this.props.categoryCount:this.renderInputs.categoryCount.value=1,this.renderInputs.matrix.value=this.viewport.matrix(),this.renderInputs.width.value=this.props.width,this.renderInputs.height.value=this.props.height,this.renderInputs.pointSize.value=this.props.pointSize,this.renderInputs.densityBandwidth.value=this.props.densityBandwidth,n}render(){this.renderer.value(this.props,this.context.getCurrentTexture().createView())}destroy(){this.df.destroy()}async densityMap(t,n,r,i){let s=this.df.subgraph(),{x:o,y:a,scale:l}=i,c=[l,0,0,0,l,0,-o*l,-a*l,1],u=wY(c),f=await oTt(s,this.device,this.module,this.uniforms,s.value(t),s.value(n),s.value(r),s.value(c),this.dataBuffers).value();return s.destroy(),{data:f,width:t,height:n,coordinateAtPixel:(h,d)=>{let g=h/t*2-1,y=d/n*2-1,v=_Y([g,y,1],u);return{x:v[0],y:v[1]}}}}};function iTt(e,t,n){let r=GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST;const i=e.derive([n.xData],u=>u.length),s=e.derive([i],u=>u*4),o=i,a=e.statefulDerive([t,e.statefulDerive([t,s,r],X0),n.xData],gT),l=e.statefulDerive([t,e.statefulDerive([t,s,r],X0),n.yData],gT),c=e.statefulDerive([t,e.statefulDerive([t,o,r],X0),n.categoryData],gT);return{x:a,y:l,category:c,count:i}}function RY(e,t,n,r,i,s,o){let a="rgba16float",l="r16float",c=GPUTextureUsage.RENDER_ATTACHMENT|GPUTextureUsage.TEXTURE_BINDING,u=e.statefulDerive([t,n,r,a,c],iL),f=e.statefulDerive([t,n,r,l,c],iL),h=e.derive([i,s,o],(v,b,_)=>v*b*_*4),d=e.derive([i,s,o],(v,b,_)=>v*b*_*2),g=e.statefulDerive([t,h,GPUBufferUsage.STORAGE|GPUBufferUsage.COPY_DST|GPUBufferUsage.COPY_SRC],X0),y=e.statefulDerive([t,d,GPUBufferUsage.STORAGE],X0);return{colorTexture:u,alphaTexture:f,colorTextureFormat:a,alphaTextureFormat:l,countBuffer:g,blurBuffer:y}}function sTt(e,t,n,r,i,s,o){let a=e.derive([s.densityBandwidth],k=>Math.ceil(k*3)+1),l=e.derive([s.width,a],(k,S)=>k+S*2),c=e.derive([s.height,a],(k,S)=>k+S*2),u=e.derive([l],k=>Math.ceil(k/4)),f=e.derive([c],k=>Math.ceil(k/4)),h=RY(e,t,l,c,u,f,s.categoryCount),d=kY(e,t,r.buffer,o,h),g=TY(e,t,n,d,o,h),y=ZEt(e,t,n,d,o,h),v=JEt(e,t,n,d,h),b=QEt(e,t,n,i,d),_=MY(e,t,n,d,l,c,s.categoryCount),x=e.derive([s.densityBandwidth,l,u],(k,S,T)=>IY(k/S*T)),A=e.derive([s.categoryColors,s.categoryCount],(k,S)=>(k==null&&(k=gm(S)),k.map(T=>tR(T))));return e.derive([t,l,c,u,f,r.update,o.count,s.matrix,A,y,b,g,_,v,x],(k,S,T,M,I,N,C,L,F,$,D,O,B,V,U)=>(q,z)=>{let Y=q.colorScheme=="light"?[1,1,1,1]:[0,0,0,1],Q=q.width/S,gt=q.height/T,yt=eR([Q,0,0,0,gt,0,0,0,1],L);N({count:C,category_count:q.categoryCount,framebuffer_width:S,framebuffer_height:T,density_width:M,density_height:I,gamma:q.gamma,point_size:Math.max(q.mode=="points"?3:1,q.pointSize),point_alpha:q.pointAlpha,points_alpha:q.pointsAlpha,density_scaler:q.densityScaler/16,quantization_step:q.densityQuantizationStep,density_alpha:q.densityAlpha,contours_alpha:q.contoursAlpha,matrix:yt,view_xy_scaler:[1/Q,1/gt],kde_causal:U.kde_causal,kde_anticausal:U.kde_anticausal,kde_a:U.kde_a,background_color:Y,category_colors:F});let pt=k.createCommandEncoder();$(pt),q.mode=="density"&&(q.densityAlpha>0||q.contoursAlpha>0)&&(O(pt),B(pt),V(pt)),D(pt,z),k.queue.submit([pt.finish()])})}function oTt(e,t,n,r,i,s,o,a,l){let c=RY(e,t,i,s,i,s,e.value(1)),u=kY(e,t,r.buffer,l,c),f=TY(e,t,n,u,l,c),h=MY(e,t,n,u,i,s,e.value(1));return e.derive([t,i,s,l.count,r.update,o,a,f,h,c.countBuffer],(d,g,y,v,b,_,x,A,k,S)=>()=>{let T=d.createCommandEncoder(),M=IY(_);b({count:v,category_count:1,framebuffer_width:g,framebuffer_height:y,density_width:g,density_height:y,gamma:1,point_size:0,point_alpha:0,points_alpha:0,density_scaler:0,quantization_step:0,density_alpha:0,contours_alpha:0,matrix:x,view_xy_scaler:[1,1],kde_causal:M.kde_causal,kde_anticausal:M.kde_anticausal,kde_a:M.kde_a,background_color:[0,0,0,0],category_colors:[]}),A(T),k(T);let I=d.createBuffer({size:g*y*2,usage:GPUBufferUsage.COPY_DST|GPUBufferUsage.MAP_READ});return T.copyBufferToBuffer(S,0,I,0,g*y*2),d.queue.submit([T.finish()]),I.mapAsync(GPUMapMode.READ,0,g*y*2).then(()=>aTt(I.getMappedRange()))})}function aTt(e){let t=new Uint16Array(e),n=new Uint32Array(t.length);for(let r=0;rt.measureText(i).width),r=(e.fontSize??10)*(e.lineSpacing??1)*n.length;return{width:n.reduce((i,s)=>Math.max(i,s)),height:r}}let kT=null,iM=new Map;function uTt(){return kT==null&&(kT=new Promise((e,t)=>{let n=new Worker(new URL(""+new URL("clustering.worker-D0smsvYC.js",import.meta.url).href,import.meta.url),{type:"module"});n.onmessage=r=>{if(r.data.ready){e(n);return}if(r.data.id!=null){let i=iM.get(r.data.id);i!=null&&(iM.delete(r.data.id),i(r.data))}}})),kT}function ym(e,t,n=[]){return new Promise((r,i)=>{uTt().then(s=>{let o=new Date().getTime().toString()+"-"+Math.random().toString();iM.set(o,a=>{r(a.payload)}),s.postMessage({id:o,name:e,payload:t},n)})})}let fTt=(e,t,n,r)=>ym("findClusters",[e,t,n,r],[e.buffer]),hTt=(...e)=>ym("dynamicLabelPlacement",e),dTt=(...e)=>ym("textSummarizerCreate",e),pTt=(...e)=>ym("textSummarizerDestroy",e),gTt=(...e)=>ym("textSummarizerAdd",e),mTt=(...e)=>ym("textSummarizerSummarize",e);async function NL(e,t,n,r,i){let s=new p3(n,e,t),o=r.reduce((g,y)=>Math.min(g,y.level??0),0),a=r.reduce((g,y)=>Math.max(g,y.level??0),0),l=n.scale,c=n.scale/2,u=c*4,f=l/u,h=r.map(g=>{let y=s.pixelLocation(g.x,g.y),v=g.level??0,b=v==0?14:12,_=cTt({text:g.text,fontSize:b,fontFamily:i});return _.width+=4,_.height+=4,{text:g.text,fontSize:b,bounds:{xMin:y.x-_.width/2,xMax:y.x+_.width/2,yMin:y.y-_.height/2,yMax:y.y+_.height/2},locationAtZero:y,priority:g.priority,minScale:g.level==a?null:f*Math.pow(2,-v)/1.2,maxScale:g.level==o?null:f*Math.pow(2,-v+1),coordinate:{x:g.x,y:g.y},placement:null}}),d=await hTt(h,{globalMaxScale:l/c});for(let g=0;g1?(u=c.x,f=c.y):g>0&&(u+=h*g,f+=d*g)}return h=a.x-u,d=a.y-f,h*h+d*d}function r(a,l){for(var c=a[0],u=[c],f,h=1,d=a.length;hl&&(u.push(f),c=f);return c!==f&&u.push(f),u}function i(a,l,c,u,f){for(var h=u,d,g=l+1;gh&&(d=g,h=y)}h>u&&(d-l>1&&i(a,l,d,u,f),f.push(a[d]),c-d>1&&i(a,d,c,u,f))}function s(a,l){var c=a.length-1,u=[a[0]];return i(a,0,c,l,u),u.push(a[c]),u}function o(a,l,c){if(a.length<=2)return a;var u=l!==void 0?l*l:1;return a=c?a:r(a,u),a=s(a,u),a}e.exports=o,e.exports.default=o})()})($L)),$L.exports}var bTt=vTt();const LL=yTt(bTt);function _Tt(e,t){let n=e.slice();for(let r=0;rt&&o<20;)i*=1.1,o+=1,s=LL(n,i);return s}const DL={light:{fontFamily:"system-ui,sans-serif",clusterLabelColor:"#000",clusterLabelOutlineColor:"rgba(255,255,255,0.8)",clusterLabelOpacity:.8,statusBar:!0,statusBarTextColor:"#525252",statusBarBackgroundColor:"rgba(255,255,255,0.9)",brandingLink:{text:"Embedding Atlas",href:"https://apple.github.io/embedding-atlas"}},dark:{fontFamily:"system-ui,sans-serif",clusterLabelColor:"#ccc",clusterLabelOutlineColor:"rgba(0,0,0,0.8)",clusterLabelOpacity:.8,statusBar:!0,statusBarTextColor:"#d9d9d9",statusBarBackgroundColor:"rgba(0,0,0,0.9)",brandingLink:{text:"Embedding Atlas",href:"https://apple.github.io/embedding-atlas"}}};function xTt(e,t){return e==null?DL[t]:{...DL[t],...e,...e[t]!=null?e[t]:{}}}function STt(e,t,n,r,i,s,o){let a=Math.max(r,i)/s,l=e/(n*n)/(a*a),c=1/(l/(s*s))*.2,u=Math.sqrt(e/t/(a*a)),f=Math.log(u),h=Math.log(n),d=(Math.min(Math.max((h-f)*2,-1),1)+1)/2,g;if(o!=null)g=o*s;else{let b=.25/Math.sqrt(l);g=Math.max(.2,Math.min(5,b))*s}let y=1-d,v=.5+d*.5;return{densityScaler:c,densityAlpha:y,contoursAlpha:y,pointSize:g,pointAlpha:.7,pointsAlpha:v,densityBandwidth:20}}var ATt=Ah("
    "),ETt=Hu(""),TTt=Hu(""),kTt=Hu(' '),MTt=Hu(""),ITt=Hu(""),RTt=Hu(""),CTt=Ah('
    ');function NTt(e,t){xp(t,!0);let n=le(t,"data",19,()=>({x:new Float32Array,y:new Float32Array,category:null})),r=le(t,"categoryCount",3,1),i=le(t,"categoryColors",3,null),s=le(t,"width",3,800),o=le(t,"height",3,800),a=le(t,"pixelRatio",3,2),l=le(t,"theme",3,null),c=le(t,"config",3,null),u=le(t,"totalCount",3,null),f=le(t,"maxDensity",3,null),h=le(t,"labels",3,null),d=le(t,"queryClusterLabels",3,null),g=le(t,"tooltip",7,null),y=le(t,"selection",7,null),v=le(t,"querySelection",3,null),b=le(t,"rangeSelection",7,null),_=le(t,"defaultViewportState",3,null),x=le(t,"viewportState",7,null),A=le(t,"customTooltip",3,null),k=le(t,"customOverlay",3,null),S=le(t,"onViewportState",3,null),T=le(t,"onTooltip",3,null),M=le(t,"onSelection",3,null),I=le(t,"onRangeSelection",3,null),N=le(t,"cache",3,null),C=se(()=>c()?.colorScheme??"light"),L=se(()=>xTt(l(),H(C))),F=se(()=>i()??gm(r())),$=se(()=>x()??_()??{x:0,y:0,scale:1}),D=se(()=>new p3(H($),s(),o())),O=se(()=>H(D).pixelLocationFunction()),B=se(()=>H(D).coordinateAtPixelFunction());function V(Rt,Vt){return Rt.x==Vt.x&&Rt.y==Vt.y&&Rt.category==Vt.category&&Rt.text==Vt.text}let U=se(()=>y()?.length==1&&g()!=null&&V(y()[0],g()));function q(Rt){Cf(x(),Rt)||(x(Rt),S()?.(Rt))}function z(Rt){Cf(g(),Rt)||(g(Rt),T()?.(Rt))}function Y(Rt){Cf(y(),Rt)||(y(Rt),M()?.(Rt))}function Q(Rt){Cf(b(),Rt)||(b(Rt),I()?.(Rt))}let gt=Sr(md([])),yt=Sr(null),pt=Sr("none"),lt=se(()=>s()*a()),ft=se(()=>o()*a()),J=Sr(null),et=Sr(null),vt=Sr(null),at=se(()=>c()?.minimumDensity??1/16),kt=se(()=>c()?.pointSize??null),Mt=se(()=>c()?.mode??"points"),Bt=se(()=>c()?.autoLabelEnabled),Ut=se(()=>STt(f()??(u()??n().x.length)/4,H(at),H($).scale,H(lt),H(ft),a(),H(kt))),St=se(()=>H(Ut).pointSize),jt=!0;t2(()=>{H(et)?.setProps({mode:H(Mt),colorScheme:H(C),viewportX:H($).x,viewportY:H($).y,viewportScale:H($).scale,width:H(lt),height:H(ft),x:n().x,y:n().y,category:n().category,categoryCount:r(),categoryColors:H(F),...H(Ut)})&&(oe(),(H(Bt)!==!1||h()!=null)&&jt&&H(et)!=null&&n().x!=null&&n().x.length>0&&_()!=null&&(jt=!1,ui(_())))});function Fe(){Yt=null,!(!H(J)||!H(et))&&(H(J).width=H(et).props.width,H(J).height=H(et).props.height,H(J).style.width=`${H(et).props.width/a()}px`,H(J).style.height=`${H(et).props.height/a()}px`,H(et).render())}let Yt=null;function oe(){Yt==null&&(Yt=requestAnimationFrame(Fe))}function Xe(Rt){let Vt;function Ht(){Vt=Rt.getContext("webgl2",{antialias:!1}),Vt.getExtension("EXT_color_buffer_float"),Vt.getExtension("EXT_float_blend"),Vt.getExtension("OES_texture_float_linear"),Le(et,new qEt(Vt,H(lt),H(ft)),!0)}Ht(),Rt.addEventListener("webglcontextlost",()=>{H(et)?.destroy(),Le(et,null),Vt=null}),Rt.addEventListener("webglcontextrestored",()=>{Ht()})}function ae(Rt){async function Vt(){let Ht=Rt.getContext("webgpu");if(Ht==null){console.error("Could not get WebGPU canvas context");return}let ee=await navigator.gpu.requestAdapter();if(!ee){console.error("Could not request WebGPU adapter");return}let Zt=512*1048576,$e=512*1048576;Zt=Math.min(Zt,ee.limits.maxBufferSize),$e=Math.min($e,ee.limits.maxStorageBufferBindingSize);let In={requiredLimits:{maxBufferSize:Zt,maxStorageBufferBindingSize:$e},requiredFeatures:["shader-f16"]},Rn=await ee.requestDevice(In);Rn.lost.then(Lt=>{console.info(`WebGPU device was lost: ${Lt.message}`),Lt.reason!="destroyed"&&(H(et)?.destroy(),Le(et,null),Vt())});let Ct=navigator.gpu.getPreferredCanvasFormat();Ht.configure({device:Rn,format:Ct,alphaMode:"premultiplied"}),Le(et,new rTt(Ht,Rn,Ct,H(lt),H(ft)),!0)}Vt()}function yn(Rt){Rt!=null&&x()==null&&q(Rt)}t2(()=>yn(_())),JI(()=>{H(J)!=null&&(vW()?ae(H(J)):(Xe(H(J)),Le(vt,"WebGPU is unavailable. If you are using Safari, please enable the WebGPU feature flag.")))}),SAt(()=>{H(et)?.destroy(),Le(et,null)});function fn(Rt,Vt){let{x:Ht,y:ee,scale:Zt}=H($);z(null);let $e=Math.min(100,Math.max(.01,Zt*Rt)),In=H(J).getBoundingClientRect(),Rn=Math.max(In.width,In.height),Ct=(Vt.x-In.width/2)/Rn*2,Lt=(In.height/2-Vt.y)/Rn*2,qt=Ht+Ct/Zt-Ct/$e,xe=ee+Lt/Zt-Lt/$e;q({x:qt,y:xe,scale:$e})}function Br(Rt,Vt){z(null);let Ht="pan";switch(H(pt)!="none"?Vt.shift||(Ht=H(pt)):Vt.shift&&(Ht=Vt.meta?"lasso":"marquee"),Ht){case"marquee":return{move:ee=>{if(z(null),H(et)==null)return;let Zt=H(B)(Rt.x,Rt.y),$e=H(B)(ee.x,ee.y);Q({xMin:Math.min(Zt.x,$e.x),yMin:Math.min(Zt.y,$e.y),xMax:Math.max(Zt.x,$e.x),yMax:Math.max(Zt.y,$e.y)})}};case"lasso":{let ee=[H(B)(Rt.x,Rt.y)];return{move:Zt=>{z(null),H(et)!=null&&(ee=[...ee,H(B)(Zt.x,Zt.y)],ee.length>=3&&Q(wTt(ee,24)))}}}case"pan":{let ee=H(B)(0,0),Zt=H(B)(1,1),$e=ee.x-Zt.x,In=ee.y-Zt.y,Rn=H($).x,Ct=H($).y;return{move:Lt=>{q({x:Rn+(Lt.x-Rt.x)*$e,y:Ct+(Lt.y-Rt.y)*In,scale:H($).scale})}}}}}async function Pr(Rt,Vt){if(b()!=null)Q(null);else{const Ht=await en(Rt);if(Ht==null)Y([]),z(null);else if(Vt.shift||Vt.ctrl||Vt.meta){let ee=y()?.findIndex(Zt=>Zt.x==Ht.x&&Zt.y==Ht.y&&Zt.category==Ht.category);y()==null||ee==null||ee<0?(Y([...y()??[],Ht]),z(Ht)):(Y([...y().slice(0,ee),...y().slice(ee+1)]),z(null))}else Y([Ht]),z(Ht)}}async function He(Rt){if(y()!=null&&y().length==1){let Vt=H(O)(y()[0].x,y()[0].y);Rt!=null&&PAt(Rt,Vt)<10&&z(y()[0])}else z(await en(Rt))}async function en(Rt){if(H(et)==null||Rt==null||v()==null)return null;let{x:Vt,y:Ht}=H(B)(Rt.x,Rt.y),ee=Math.abs(H(B)(Rt.x+1,Rt.y).x-Vt);return await v()(Vt,Ht,ee)}function Xn(){return g()!=null}let ci=se(()=>H(J)?BAt(H(J),{zoom:fn,drag:Br,hover:FAt(He,Xn),click:Pr}):null);async function Gi(Rt,Vt,Ht,ee=.005){let Zt=await Rt.densityMap(1e3,1e3,Vt,Ht),$e=await fTt(Zt.data,Zt.width,Zt.height),In=[];for(let Ct=0;Ct<$e.length;Ct++){let Lt=$e[Ct],qt=Zt.coordinateAtPixel(Lt.meanX,Lt.meanY),xe=Lt.boundaryRectApproximation.map(([Ke,Sn,An,Qt])=>{let Dn=Zt.coordinateAtPixel(Ke,Sn),wr=Zt.coordinateAtPixel(An,Qt);return{xMin:Math.min(Dn.x,wr.x),xMax:Math.max(Dn.x,wr.x),yMin:Math.min(Dn.y,wr.y),yMax:Math.max(Dn.y,wr.y)}});In.push({x:qt.x,y:qt.y,sumDensity:Lt.sumDensity,rects:xe,bandwidth:Vt})}let Rn=In.reduce((Ct,Lt)=>Math.max(Ct,Lt.sumDensity),0);return In.filter(Ct=>Ct.sumDensity/Rn>ee)}async function Ws(Rt){if(H(et)==null||d()==null)return[];let Vt=await zAt({autoLabel:{version:1,viewport:Rt,stopWords:c()?.autoLabelStopWords,densityThreshold:c()?.autoLabelDensityThreshold}});if(N()!=null){let Zt=await N().get(Vt);if(Zt!=null)return Zt}let Ht=await Gi(H(et),10,Rt,c()?.autoLabelDensityThreshold??.005);if(Ht=Ht.concat(await Gi(H(et),5,Rt)),d()){let Zt=await d()(Ht.map($e=>$e.rects));for(let $e=0;$eZt.label!=null&&Zt.label.length>0).map(Zt=>({x:Zt.x,y:Zt.y,text:Zt.label,priority:Zt.sumDensity,level:Zt.bandwidth==10?0:1}));return N()!=null&&await N().set(Vt,ee),ee}async function ui(Rt){if(H(et)!=null)if(h()!=null)Le(gt,await NL(s(),o(),Rt,h(),H(L).fontFamily),!0);else{Le(yt,"Generating labels...");let Vt=await Ws(Rt);Le(gt,await NL(s(),o(),Rt,Vt,H(L).fontFamily),!0),Le(yt,null)}}class Ti{content;constructor(Vt,Ht){let ee=document.createElement("div");this.content=ee,this.update(Ht),Vt.appendChild(ee)}update(Vt){let Ht=this.content;Ht.style.fontFamily=Vt.fontFamily,H(C)=="light"?(Ht.style.color="#000",Ht.style.background="#fff",Ht.style.border="1px solid #000"):(Ht.style.color="#ccc",Ht.style.background="#000",Ht.style.border="1px solid #ccc"),Ht.style.borderRadius="2px",Ht.style.padding="5px",Ht.style.fontSize="12px",Ht.style.maxWidth="300px",Ht.innerText=Vt.tooltip.text??JSON.stringify(Vt.tooltip)}}var Jo=CTt();let nf;var Lh=$i(Jo);Tn(Lh,"",{},{position:"absolute",top:"0",left:"0"}),eM(Lh,Rt=>Le(J,Rt),()=>H(J));var Dc=Nr(Lh,2);let Np;var $p=$i(Dc);{var Fc=Rt=>{const Vt=se(()=>pY(k())),Ht=se(()=>({location:H(O),width:s(),height:o()}));var ee=ay(),Zt=T0(ee);AAt(Zt,()=>H(Vt),$e=>{var In=ATt();MAt(In,(Rn,Ct)=>H(Vt)?.(Rn,Ct),()=>gY(k(),{proxy:H(Ht)})),Kr($e,In)}),Kr(Rt,ee)};Js($p,Rt=>{k()&&Rt(Fc)})}di(Dc);var ys=Nr(Dc,2);ys.__mousedown=function(...Rt){H(ci)?.mousedown?.apply(this,Rt)},ys.__mousemove=function(...Rt){H(ci)?.mousemove?.apply(this,Rt)},Tn(ys,"",{},{position:"absolute",left:"0",top:"0"});var rf=$i(ys);{var Op=Rt=>{const Vt=se(()=>{const{x:In,y:Rn}=H(O)(g().x,g().y);return{x:In,y:Rn}}),Ht=se(()=>Math.max(3,H(St)/a())+1);var ee=ay(),Zt=T0(ee);{var $e=In=>{var Rn=ETt();let Ct;Oo(Lt=>{Xt(Rn,"cx",H(Vt).x),Xt(Rn,"cy",H(Vt).y),Xt(Rn,"r",H(Ht)),Ct=Tn(Rn,"",Ct,Lt)},[()=>({stroke:H(C)=="light"?"#000":"#fff","stroke-width":1,fill:"none"})]),Kr(In,Rn)};Js(Zt,In=>{isFinite(H(Vt).x)&&isFinite(H(Vt).y)&&isFinite(H(Ht))&&In($e)})}Kr(Rt,ee)};Js(rf,Rt=>{g()!=null&&H(et)!=null&&Rt(Op)})}var Dh=Nr(rf);{var Fh=Rt=>{var Vt=ay(),Ht=T0(Vt);bT(Ht,17,y,vT,(ee,Zt)=>{const $e=se(()=>{const{x:xe,y:Ke}=H(O)(H(Zt).x,H(Zt).y);return{x:xe,y:Ke}}),In=se(()=>H(Zt).category!=null?H(F)[H(Zt).category]:H(F)[0]),Rn=se(()=>Math.max(3,H(St)/a())+1);var Ct=ay(),Lt=T0(Ct);{var qt=xe=>{var Ke=TTt();let Sn;Oo(An=>{Xt(Ke,"cx",H($e).x),Xt(Ke,"cy",H($e).y),Xt(Ke,"r",H(Rn)),Sn=Tn(Ke,"",Sn,An)},[()=>({stroke:H(C)=="light"?"#000":"#fff","stroke-width":2,fill:H(In)})]),Kr(xe,Ke)};Js(Lt,xe=>{isFinite(H($e).x)&&isFinite(H($e).y)&&isFinite(H(Rn))&&xe(qt)})}Kr(ee,Ct)}),Kr(Rt,Vt)};Js(Dh,Rt=>{y()!=null&&H(et)!=null&&Rt(Fh)})}var Bh=Nr(Dh);{var Om=Rt=>{var Vt=RTt();bT(Vt,21,()=>H(gt),vT,(Ht,ee)=>{const Zt=se(()=>H(ee).text.split(` `)),$e=se(()=>H(O)(H(ee).coordinate.x,H(ee).coordinate.y)),In=se(()=>H(ee).placement!=null&&H(ee).placement.minScale<=H($).scale&&H($).scale<=H(ee).placement.maxScale);var Rn=ITt(),Ct=$i(Rn);{var Lt=qt=>{var xe=MTt();bT(xe,21,()=>H(Zt),vT,(Ke,Sn,An)=>{var Qt=kTt();Xt(Qt,"x",0);let Dn;var wr=$i(Qt,!0);di(Qt),Oo(ki=>{Xt(Qt,"y",(An-(H(Zt).length-1)/2)*H(ee).fontSize),Xt(Qt,"font-size",H(ee).fontSize),Dn=Tn(Qt,"",Dn,ki),ev(wr,H(Sn))},[()=>({"paint-order":"stroke","stroke-width":"4","stroke-linejoin":"round","stroke-linecap":"round","text-anchor":"middle",fill:H(L).clusterLabelColor,stroke:H(L).clusterLabelOutlineColor,opacity:H(L).clusterLabelOpacity,"user-select":"none","-webkit-user-select":"none","font-family":H(L).fontFamily})]),Kr(Ke,Qt)}),di(xe),Kr(qt,xe)};Js(Ct,qt=>{H(In)&&qt(Lt)})}di(Rn),Oo(()=>Xt(Rn,"transform",`translate(${H($e).x??""},${H($e).y??""})`)),Kr(Ht,Rn)}),di(Vt),Kr(Rt,Vt)};Js(Bh,Rt=>{Rt(Om)})}var Lp=Nr(Bh);{var sf=Rt=>{var Vt=ay(),Ht=T0(Vt);{var ee=$e=>{WAt($e,{get value(){return b()},get pointLocation(){return H(O)}})},Zt=$e=>{{let In=se(()=>H(ci)?.preventHover??(()=>{}));DAt($e,{get value(){return b()},onChange:Q,get pointLocation(){return H(O)},get coordinateAtPoint(){return H(B)},get preventHover(){return H(In)}})}};Js(Ht,$e=>{b()instanceof Array?$e(ee):$e(Zt,!1)})}Kr(Rt,Vt)};Js(Lp,Rt=>{b()!=null&&H(et)!=null&&Rt(sf)})}di(ys);var Ph=Nr(ys,2);{var Uh=Rt=>{const Vt=se(()=>H(O)(g().x,g().y));{let Ht=se(()=>Math.max(3,H(St)/a())),ee=se(()=>A()??{class:Ti,props:{colorScheme:H(C),fontFamily:H(L).fontFamily}});rEt(Rt,{get location(){return H(Vt)},get allowInteraction(){return H(U)},get targetHeight(){return H(Ht)},get customTooltip(){return H(ee)},get tooltip(){return g()}})}};Js(Ph,Rt=>{g()!=null&&H(et)!=null&&Rt(Uh)})}var Dp=Nr(Ph,2);{var Lm=Rt=>{{let Vt=se(()=>H(yt)??H(vt)),Ht=se(()=>1/(H(O)(1,0).x-H(O)(0,0).x));tEt(Rt,{get resolvedTheme(){return H(L)},get statusMessage(){return H(Vt)},get distancePerPoint(){return H(Ht)},get pointCount(){return n().x.length},get selectionMode(){return H(pt)},onSelectionMode:ee=>Le(pt,ee,!0)})}};Js(Dp,Rt=>{H(L).statusBar&&Rt(Lm)})}di(Jo),Oo((Rt,Vt)=>{nf=Tn(Jo,"",nf,Rt),Np=Tn(Dc,"",Np,Vt),Xt(ys,"width",s()),Xt(ys,"height",o())},[()=>({width:`${s()??""}px`,height:`${o()??""}px`,position:"relative"}),()=>({width:`${s()??""}px`,height:`${o()??""}px`,position:"absolute",top:"0",left:"0"})]),dL("wheel",ys,function(...Rt){H(ci)?.wheel?.apply(this,Rt)}),dL("mouseleave",ys,function(...Rt){H(ci)?.mouseleave?.apply(this,Rt)}),Kr(e,Jo),Sp()}KI(["mousedown","mousemove"]);function FL(e,t){if(t.length==0)return Jt(!1);if(e.identifier!=null){let n=e.identifier;return ss(...t.map(r=>No(Tt(n),Jt(r.identifier))))}else{let n=e.x,r=e.y,i=e.category;return i!=null?ss(...t.map(s=>Si(No(Jr(Tt(n),"DOUBLE"),Jt(s.x)),No(Jr(Tt(r),"DOUBLE"),Jt(s.y)),No(Jr(Tt(i),"INTEGER"),Jt(s.category))))):ss(...t.map(s=>Si(No(Jr(Tt(n),"DOUBLE"),Jt(s.x)),No(Jr(Tt(r),"DOUBLE"),Jt(s.y)))))}}function $Tt(e,t,n){let r=[];for(let s=0;str(s,o));return No(kyt(i,Jt(2)),Jt(1))}function OTt(e,t){if(t instanceof Array){if(t.length<3)return Jt(!1);let n=dY(t);return Si($s(Tt(e.x),[n.xMin,n.xMax]),$s(Tt(e.y),[n.yMin,n.yMax]),$Tt(Tt(e.x),Tt(e.y),t))}else return Si($s(Tt(e.x),[t.xMin,t.xMax]),$s(Tt(e.y),[t.yMin,t.yMax]))}async function LTt(e,t){let{x:n,y:r,table:i}=t,s=await e.query(Pt.from(i).select({centerX:te`MEDIAN(${Tt(n)})`,centerY:te`MEDIAN(${Tt(r)})`,stdX:te`STDDEV(${Tt(n)})`,stdY:te`STDDEV(${Tt(r)})`,...t.category!=null?{maxCategory:te`MAX(${Tt(t.category)}::UTINYINT)`}:{}})),{centerX:o,centerY:a,stdX:l,stdY:c,maxCategory:u}=s.get(0),f=1/(Math.max(l,c,.001)*3),h=.1/f,d=te`FLOOR((${Tt(n)} - ${o}) / ${h})`,g=te`FLOOR((${Tt(r)} - ${a}) / ${h})`,y=t.category!=null?Tt(t.category):null,v=y!=null?[d,g,y]:[d,g],b=Pt.from(Pt.from(i).select({count:te`COUNT(*)`}).groupby(...v)).select({totalCount:te`SUM(count)::INT`,maxCount:te`MAX(count)::INT`});s=await e.query(b);let{maxCount:_,totalCount:x}=s.get(0),A=_/(h*h);return{centerX:o,centerY:a,scaler:f,totalCount:x,categoryCount:(u??0)+1,maxDensity:A}}let DTt=class{coordinator;source;lastDistance;selectParams;constructor(t,n){this.coordinator=t,this.source=n,this.lastDistance=0;let{x:r,y:i,category:s,text:o,identifier:a}=this.source,l={},c=n.additionalFields??{};for(let u in c){let f=c[u];typeof f=="string"?l["field_"+u]=Tt(f):l["field_"+u]=te`${f.sql}`}this.selectParams={x:te`${Tt(r)}::DOUBLE`,y:te`${Tt(i)}::DOUBLE`,...s!=null?{category:te`${Tt(s)}::INT`}:{},...o!=null?{text:te`${Tt(o)}`}:{},...a!=null?{identifier:te`${Tt(a)}`}:{},...l}}_convertToDataPoint(t){let n={};for(let r in t)r.startsWith("field_")&&(n[r.slice(6)]=t[r]);return{x:t.x,y:t.y,category:t.category,text:t.text,identifier:t.identifier,fields:n}}async queryClosestPoint(t,n,r,i){let s=i*12,{x:o,y:a}=this.source;for(let l of[this.lastDistance,s]){if(l==0||l>s)continue;let c=Pt.from(this.source.table).select(this.selectParams);c=c.where(te`${Tt(o)} BETWEEN ${n-l} AND ${n+l}`),c=c.where(te`${Tt(a)} BETWEEN ${r-l} AND ${r+l}`),t&&(c=c.where(t)),c=c.orderby(te`(x - (${n}))**2 + (y - (${r}))**2`).limit(1);let u=(await this.coordinator.query(c)).get(0);if(u)return this.lastDistance=Math.max(Math.abs(u.x-n),Math.abs(u.y-r))*4,this._convertToDataPoint(u)}return null}async queryPoints(t){let{table:n,identifier:r}=this.source;if(r==null)return[];let i=Pt.from(n).select(this.selectParams);return i=i.where(Wd(Tt(r),t.map(s=>Jt(s)))),Array.from(await this.coordinator.query(i)).map(s=>this._convertToDataPoint(s))}};function FTt(e,t){xp(t,!0);let n=le(t,"coordinator",19,kl),r=le(t,"category",3,null),i=le(t,"text",3,null),s=le(t,"identifier",3,null),o=le(t,"filter",3,null),a=le(t,"categoryColors",3,null),l=le(t,"tooltip",3,null),c=le(t,"additionalFields",3,null),u=le(t,"selection",3,null),f=le(t,"rangeSelection",3,null),h=le(t,"rangeSelectionValue",3,null),d=le(t,"width",3,null),g=le(t,"height",3,null),y=le(t,"pixelRatio",3,null),v=le(t,"config",3,null),b=le(t,"theme",3,null),_=le(t,"viewportState",3,null),x=le(t,"labels",3,null),A=le(t,"customTooltip",3,null),k=le(t,"customOverlay",3,null),S=le(t,"onViewportState",3,null),T=le(t,"onTooltip",3,null),M=le(t,"onSelection",3,null),I=le(t,"onRangeSelection",3,null),N=le(t,"cache",3,null),C=Sr(new Float32Array),L=Sr(new Float32Array),F=Sr(null),$=Sr(1),D=Sr(1),O=Sr(1),B=Sr(null),V=Sr(null),U=Sr(null),q=Sr(null),z=Sr(null);tu(()=>{let J={coordinator:n(),source:{table:t.table,x:t.x,y:t.y,category:r()}},et=null,vt=!1;async function at(){let kt=J.source,Mt=await LTt(J.coordinator,kt);if(vt)return;let Bt=Mt.scaler*.95;Le(B,{x:Mt.centerX,y:Mt.centerY,scale:Bt}),Le(D,Mt.totalCount),Le(O,Mt.maxDensity),Le($,Mt.categoryCount),et=Uu({coordinator:J.coordinator,selection:o()??void 0,query:Ut=>Pt.from(kt.table).select({x:te`${Tt(kt.x)}::FLOAT`,y:te`${Tt(kt.y)}::FLOAT`,...kt.category!=null?{c:te`${Tt(kt.category)}::UTINYINT`}:{}}).where(Ut),queryResult:Ut=>{let St=Ut.getChild("x").toArray(),jt=Ut.getChild("y").toArray(),Fe=Ut.getChild("c")?.toArray()??null;St!=null&&!(St instanceof Float32Array)&&(St=new Float32Array(St)),jt!=null&&!(jt instanceof Float32Array)&&(jt=new Float32Array(jt)),Fe!=null&&!(Fe instanceof Uint8Array)&&(Fe=new Uint8Array(Fe)),Le(C,St),Le(L,jt),Le(F,Fe),Y(null),Q(null)}}),et.reset=()=>{gt()},Le(z,et)}return at(),()=>{Le(z,null),vt=!0,et?.destroy()}}),tu(()=>{if(Os(l())){let J=H(z);if(J==null)return;let et=l();Le(V,et.valueFor(J)??null);let vt=()=>{Le(V,et.valueFor(J)??null)};return tu(()=>{let at=H(V),kt={x:t.x,y:t.y,category:r(),identifier:s()};et.update({source:J,clients:new Set().add(J),predicate:at!=null?FL(kt,[at]):null,value:at})}),et.addEventListener("value",vt),()=>{et.removeEventListener("value",vt),et.update({source:J,clients:new Set().add(J),value:null,predicate:null})}}else if(l()==null||typeof l()=="object")Le(V,l());else{if(H(V)?.identifier==l())return;let J=!1;return lt([l()]).then(et=>{J||(et.length>0?Le(V,et[0]):Le(V,null))}),()=>{J=!0}}});function Y(J){Cf(l(),J)||(Le(V,J),T()?.(J))}tu(()=>{if(Os(u())){let J=H(z);if(J==null)return;let et=u();Le(U,et.valueFor(J)??null);let vt=()=>{Le(U,et.valueFor(J)??null)};return tu(()=>{let at=H(U),kt={x:t.x,y:t.y,category:r(),identifier:s()};et.update({source:J,clients:new Set().add(J),predicate:at!=null?FL(kt,at):null,value:at})}),et.addEventListener("value",vt),()=>{et.removeEventListener("value",vt),et.update({source:J,clients:new Set().add(J),value:null,predicate:null})}}else if(u()==null)Le(U,null);else if(u().length==0)Le(U,[]);else if(u().every(J=>typeof J=="object"))Le(U,u());else{let J=!1;return lt(u()).then(et=>{J||Le(U,et)}),()=>{J=!0}}});function Q(J){Cf(u(),J)||(Le(U,J),M()?.(J))}tu(()=>{let J=H(z);if(J==null)return;let et=f();if(et!=null)return tu(()=>{let vt=H(q),at={x:t.x,y:t.y},kt={source:J,clients:new Set().add(J),predicate:vt!=null?OTt(at,vt):null,value:vt};et.update(kt),et.activate(kt)}),()=>{et.update({source:J,clients:new Set().add(J),value:null,predicate:null})}}),tu(()=>{Cf(pm(()=>H(q)),h())||Le(q,h())});function gt(){Q(null),Y(null),I()?.(null),Le(q,null)}let yt=se(()=>new DTt(n(),{table:t.table,x:t.x,y:t.y,category:r(),text:i(),identifier:s(),additionalFields:c()}));async function pt(J,et,vt){return await H(yt).queryClosestPoint(o()?.predicate?.(H(z)),J,et,vt)}async function lt(J){return await H(yt).queryPoints(J)}async function ft(J){if(i()==null)return J.map(()=>null);let et=await dTt({regions:J,stopWords:v()?.autoLabelStopWords??null}),vt=0,at=1e4,kt=null;for(;;){let Bt=await n().query(Pt.from(t.table).select({x:Tt(t.x),y:Tt(t.y),text:Tt(i())}).offset(vt).limit(at)),Ut={x:Bt.getChild("x").toArray(),y:Bt.getChild("y").toArray(),text:Bt.getChild("text").toArray()};if(kt!=null&&await kt,kt=gTt(et,Ut),Bt.getChild("text").lengthBt.length==0?null:Bt.length>2?Bt.slice(0,2).join("-")+`- `+Bt.slice(2).join("-"):Bt.join("-"))}{let J=se(()=>d()??800),et=se(()=>g()??800),vt=se(()=>y()??2),at=se(()=>({x:H(C),y:H(L),category:H(F)}));NTt(e,{get width(){return H(J)},get height(){return H(et)},get pixelRatio(){return H(vt)},get theme(){return b()},get config(){return v()},get data(){return H(at)},get totalCount(){return H(D)},get maxDensity(){return H(O)},get categoryCount(){return H($)},get categoryColors(){return a()},get defaultViewportState(){return H(B)},querySelection:pt,queryClusterLabels:ft,get labels(){return x()},get customTooltip(){return A()},get customOverlay(){return k()},get tooltip(){return H(V)},onTooltip:Y,get selection(){return H(U)},onSelection:Q,get viewportState(){return _()},get onViewportState(){return S()},get rangeSelection(){return H(q)},onRangeSelection:kt=>{Le(q,kt),I()?.(kt)},get cache(){return N()}})}Sp()}let BTt=class{component;currentProps;constructor(t,n){this.currentProps={...n},this.component=_At({component:FTt,target:t,props:n})}update(t){let n={};for(let r in t)t[r]!==this.currentProps[r]&&(n[r]=t[r],this.currentProps[r]=t[r]);this.component.$set(n)}destroy(){this.component.$destroy()}};function PTt(){return vW()?32:4}function CY(e){let t=[];for(let n=0;n({...r}))}async queryOne(t){return{...(await this.coordinator.query(t)).get(0)}}async describe(){return await this.query(te`DESCRIBE ${this.table}`)}async distinctCount(t){return(await this.queryOne(te`SELECT COUNT(DISTINCT ${Tt(t)}) AS count FROM ${this.table}`)).count}async columnDescriptions(){let t=await this.describe(),n=[];for(let r of t)n.push({name:r.column_name,type:r.column_type,jsType:r2(r.column_type),distinctCount:await this.distinctCount(r.column_name)});return n}async defaultViewportScale(t,n){let{stdX:r,stdY:i}=await this.queryOne(Pt.from(this.table).select({stdX:te`STDDEV(${Tt(t)})::FLOAT`,stdY:te`STDDEV(${Tt(n)})::FLOAT`}));return 1/(Math.max(r,i,.001)*3)}defaultPlots(t){let n=[{id:ad(),title:"Named Selections",spec:{component:"SelectionList",props:{}}}];for(let r of t)if(r.jsType!=null&&!(r.distinctCount<=1))switch(r.jsType){case"string":r.distinctCount<=1e3&&n.push({id:ad(),title:r.name,spec:Iw({name:r.name,type:"discrete"})});break;case"string[]":n.push({id:ad(),title:r.name,spec:Iw({name:r.name,type:"discrete[]"})});break;case"number":r.distinctCount<=10?n.push({id:ad(),title:r.name,spec:Iw({name:r.name,type:"discrete"})}):n.push({id:ad(),title:r.name,spec:NY({name:r.name})});break}return n}async makeCategoryColumn(t,n){let r=`_ev_${t}_id`,i=await this.query(Pt.from(this.table).select({value:Jr(Tt(t),"TEXT"),count:or()}).where(vg(ll(Jr(Tt(t),"TEXT")))).groupby(Jr(Tt(t),"TEXT")).orderby(om(or())).limit(n)),s=i.length,o=i.length+1;await this.exec(te` ALTER TABLE ${this.table} ADD COLUMN IF NOT EXISTS ${Tt(r)} INTEGER DEFAULT 0; UPDATE ${this.table} SET ${Tt(r)} = CASE ${Tt(t)}::TEXT ${i.map(({value:d},g)=>te`WHEN ${Jt(d)} THEN ${Jt(g)}`).join(" ")} ELSE (CASE WHEN ${Tt(t)} IS NULL THEN ${Jt(o)} ELSE ${Jt(s)} END) END `);let a=await this.query(te` SELECT ${Tt(r)} AS index, COUNT(*)::INT AS count FROM ${this.table} GROUP BY ${Tt(r)} `),l=new Map;for(let d of a)l.set(d.index,d.count);let c=l.get(s)??0,u=l.get(o)??0,f=gm(i.length),h=i.map(({value:d},g)=>({label:d,color:f[g],predicate:No(Jr(Tt(t),"TEXT"),Jt(d)),count:l.get(g)??0}));if(c>0){let{otherCategoryCount:d}=await this.queryOne(te` SELECT COUNT(DISTINCT(${Tt(t)}::TEXT)) AS otherCategoryCount FROM ${this.table} WHERE ${Tt(r)} = ${Jt(s)} AND ${Tt(t)} IS NOT NULL `);h.push({label:`(other ${d.toLocaleString()})`,color:"#9eabc2",predicate:i.length>0?te`${Tt(t)} IS NOT NULL AND ${Tt(t)}::TEXT NOT IN (${i.map(g=>Jt(g.value)).join(",")})`:te`${Tt(t)} IS NOT NULL`,count:c})}return u>0&&(c<=0&&(await this.exec(` UPDATE ${this.table} SET ${Tt(r)} = ${Tt(r)} - 1 WHERE ${Tt(r)} = ${Jt(o)} `),o-=1),h.push({label:"(null)",color:"#aaaaaa",predicate:ll(Tt(t)),count:u})),{indexColumn:r,legend:h}}async makeBinnedNumericColumn(t){let n=await this.queryOne(Pt.from(this.table).select({count:or(),min:gl(Tt(t)),max:Fa(Tt(t)),mean:DS(Tt(t)),median:FS(Tt(t))}).where(qf(Tt(t)))),r=pV(n),i=`_ev_${t}_id`,s=Jr(Tt(t),"DOUBLE");s=r.scale.expr(s,r.scale.constant??0);let o=no(qf(Jr(Tt(t),"DOUBLE")),zo(ze(Ue(s,r.binStart),1/r.binSize)),Jt(null));await this.exec(te` ALTER TABLE ${this.table} ADD COLUMN IF NOT EXISTS ${Tt(i)} INTEGER DEFAULT 0; UPDATE ${this.table} SET ${Tt(i)} = ${o} `);let a=await this.query(te` SELECT ${Tt(i)} AS index, COUNT(*)::INT AS count FROM ${this.table} GROUP BY ${Tt(i)} ORDER BY ${Tt(i)} ASC `),l=null,c=null,u=new Map,f=g=>r.scale.reverse(g,r.scale.constant??0);for(let{index:g,count:y}of a)g!=null&&((l==null||gc)&&(c=g)),u.set(g,y);let h=[],d=Wa(".6");if(l!=null&&c!=null){let g=CY(c-l+1);for(let y=l;y<=c;y++){let v=f(y*r.binSize+r.binStart),b=f((y+1)*r.binSize+r.binStart);h.push({label:`[${d(v)}, ${d(b)})`,color:g[y-l],predicate:No(o,Jt(y)),count:u.get(y)??0})}}if(u.has(null)){let g=h.length;await this.exec(` UPDATE ${this.table} SET ${Tt(i)} = ${Jt(g)} WHERE ${Tt(i)} IS NULL `),h.push({label:"(null / nan / inf)",color:"#aaaaaa",predicate:ll(o),count:u.get(null)??0})}return{indexColumn:i,legend:h}}}function r2(e){return KTt.has(e)?"number":JTt.has(e)?"string":e.match(/^(VARCHAR|TEXT)\[\d*\]$/)?"string[]":null}const KTt=new Set(["REAL","FLOAT4","FLOAT8","FLOAT","DOUBLE","INT","TINYINT","INT1","SMALLINT","INT2","SHORT","INTEGER","INT4","INT","SIGNED","INT8","LONG","BIGINT","UTINYINT","USMALLINT","UINTEGER","UBIGINT","UHUGEINT"]),JTt=new Set(["BOOLEAN","DATE","VARCHAR","CHAR","BPCHAR","TEXT","STRING"]);var ZTt=(e,t,n)=>X(t,n(),!0),QTt=xt(""),tkt=xt('
    X
    Y
    ',1),ekt=xt('
    Text
    Model

    Computing the embedding and 2D projection in browser may take a while.

    ',1),nkt=xt('
    Image
    Model

    Computing the embedding and 2D projection in browser may take a while.

    ',1),rkt=xt(`

    Search and Tooltip (optional)

    The selected column, if any, will be used for full-text search and tooltips. Choose a column with freeform text, such as a description, chat messages, or a summary.

    Text

    Embedding View (optional)

    To enable the embedding view, you can either (a) pick a pair of pre-computed X and Y columns; or (b) pick a text column and compute the embedding projection in browser. For large data, it's recommended to pre-compute the embedding and its 2D projection.

    `);function ikt(e,t){me(t,!0);const n=["Xenova/all-MiniLM-L6-v2","Xenova/multilingual-e5-small","Xenova/multilingual-e5-base","Xenova/multilingual-e5-large"],r=["Xenova/dinov2-small","Xenova/dinov2-base","Xenova/dinov2-large","Xenova/dino-vitb8","Xenova/dino-vits8","Xenova/dino-vitb16","Xenova/dino-vits16"];let i=_t("precomputed"),s=_t(null),o=_t(null),a=_t(null),l=_t(null),c=_t(null),u=_t(null),f=_t(null),h=dt(()=>t.columns.filter(I=>r2(I.column_type)=="number")),d=dt(()=>t.columns.filter(I=>r2(I.column_type)=="string"));ue(()=>{let I=w(f);_o(()=>w(a)==null)&&X(a,I,!0)});function g(){let I={text:w(f),embedding:null};if(w(i)=="precomputed"&&w(s)!=null&&w(o)!=null&&(I.embedding={precomputed:{x:w(s),y:w(o)}}),w(i)=="from-text"&&w(a)!=null){let N=w(l)?.trim()??"";(N==null||N=="")&&(N=n[0]),I.embedding={compute:{column:w(a),type:"text",model:N}}}if(w(i)=="from-image"&&w(c)!=null){let N=w(u)?.trim()??"";(N==null||N=="")&&(N=r[0]),I.embedding={compute:{column:w(c),type:"image",model:N}}}t.onConfirm?.(I)}var y=rkt(),v=ot(y),b=mt(ot(v),4),_=mt(ot(b),2);{let I=dt(()=>[{value:null,label:"(none)"},...w(d).map(N=>({value:N.column_name,label:`${N.column_name} (${N.column_type})`}))]);Sa(_,{class:"flex-1",get value(){return w(f)},onChange:N=>X(f,N,!0),get options(){return w(I)}})}tt(b);var x=mt(b,8);bn(x,20,()=>[["precomputed","Precomputed"],["from-text","From Text"],["from-image","From Image"],["none","Disabled"]],Bn,(I,N)=>{var C=dt(()=>Gk(N,2));let L=()=>w(C)[0],F=()=>w(C)[1];var $=QTt();let D;$.__click=[ZTt,i,L];var O=ot($,!0);tt($),Ft(B=>{D=ar($,1,"bg-slate-200 dark:bg-slate-700 dark:text-slate-400 px-2 py-1",null,D,B),ce(O,F())},[()=>({"!bg-slate-500":L()==w(i),"!text-slate-100":L()==w(i)})]),st(I,$)}),tt(x);var A=mt(x,2);{var k=I=>{var N=tkt(),C=Wt(N),L=mt(ot(C),2);{let D=dt(()=>[{value:null,label:"(none)"},...w(h).map(O=>({value:O.column_name,label:`${O.column_name} (${O.column_type})`}))]);Sa(L,{class:"flex-1",get value(){return w(s)},onChange:O=>X(s,O,!0),get options(){return w(D)}})}tt(C);var F=mt(C,2),$=mt(ot(F),2);{let D=dt(()=>[{value:null,label:"(none)"},...w(h).map(O=>({value:O.column_name,label:`${O.column_name} (${O.column_type})`}))]);Sa($,{class:"flex-1",get value(){return w(o)},onChange:O=>X(o,O,!0),get options(){return w(D)}})}tt(F),st(I,N)},S=I=>{var N=_n(),C=Wt(N);{var L=$=>{var D=ekt(),O=Wt(D),B=mt(ot(O),2);{let q=dt(()=>[{value:null,label:"(none)"},...w(d).map(z=>({value:z.column_name,label:`${z.column_name} (${z.column_type})`}))]);Sa(B,{class:"flex-1",get value(){return w(a)},onChange:z=>X(a,z,!0),get options(){return w(q)}})}tt(O);var V=mt(O,2),U=mt(ot(V),2);_O(U,{className:"flex-1",get value(){return w(l)},get placeholder(){return`(default ${n[0]??""})`},onChange:q=>X(l,q,!0),get options(){return n}}),tt(V),zd(2),st($,D)},F=$=>{var D=_n(),O=Wt(D);{var B=V=>{var U=nkt(),q=Wt(U),z=mt(ot(q),2);{let gt=dt(()=>[{value:null,label:"(none)"},...t.columns.map(yt=>({value:yt.column_name,label:`${yt.column_name} (${yt.column_type})`}))]);Sa(z,{class:"flex-1",get value(){return w(c)},onChange:yt=>X(c,yt,!0),get options(){return w(gt)}})}tt(q);var Y=mt(q,2),Q=mt(ot(Y),2);_O(Q,{className:"flex-1",get value(){return w(u)},get placeholder(){return`(default ${r[0]??""})`},onChange:gt=>X(u,gt,!0),get options(){return r}}),tt(Y),zd(2),st(V,U)};Ot(O,V=>{w(i)=="from-image"&&V(B)},!0)}st($,D)};Ot(C,$=>{w(i)=="from-text"?$(L):$(F,!1)},!0)}st(I,N)};Ot(A,I=>{w(i)=="precomputed"?I(k):I(S,!1)})}tt(v);var T=mt(v,2),M=mt(ot(T),2);xa(M,{label:"Confirm",class:"w-40 justify-center",onClick:()=>{g()}}),tt(T),tt(y),st(e,y),ye()}Dr(["click"]);function skt(e,t,n){const r=Array.from(e.target.files);r.length==1&&t(r[0])&&n.onUpload(r[0])}var okt=xt('');function akt(e,t){me(t,!0);let n=_t(!1),r;function i(d){d.preventDefault(),X(n,!0)}function s(){X(n,!1)}function o(d){if(d.preventDefault(),X(n,!1),d.dataTransfer.files&&d.dataTransfer.files.length==1){let g=d.dataTransfer.files[0];a(g)&&t.onUpload(g)}}function a(d){if(t.extensions==null)return!0;for(let g of t.extensions)if(d.name.toLowerCase().endsWith(g.toLowerCase()))return!0;return!1}var l=okt();l.__click=()=>{r.click()};var c=ot(l),u=ot(c),f=ot(u,!0);tt(u),zd(2),tt(c);var h=mt(c,2);h.__change=[skt,a,t],po(h,d=>r=d,()=>r),tt(l),Ft(d=>{ar(l,1,`flex flex-col items-center w-[40rem] justify-center py-20 border-2 border-dashed rounded-md transition-all ${w(n)?"bg-slate-50 border-slate-500 dark:bg-slate-900 dark:border-slate-500":"bg-slate-50 border-slate-300 dark:bg-slate-900 dark:border-slate-700"}`),ce(f,w(n)?"Drop your files here":"Drag & drop files here or click to select"),ct(h,"accept",d)},[()=>t.extensions?.join(",")]),P0("dragover",l,i),P0("dragleave",l,s),P0("drop",l,o),st(e,l),ye()}Dr(["click","change"]);const G1=Symbol("Fixed"),_l=Symbol("Transient"),OY=Symbol("Transform");function lkt(e){return e}var ckt=3,BL=1e-6;function ukt(e){return"translate("+e+",0)"}function fkt(e){return t=>+e(t)}function hkt(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),n=>+e(n)+t}function dkt(){return!this.__axis}function pkt(e,t){var n=[],r=null,i=null,s=6,o=6,a=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,c=1,u="y",f=ukt;function h(d){var g=r??(t.ticks?t.ticks.apply(t,n):t.domain()),y=i??(t.tickFormat?t.tickFormat.apply(t,n):lkt),v=Math.max(s,0)+a,b=t.range(),_=+b[0]+l,x=+b[b.length-1]+l,A=(t.bandwidth?hkt:fkt)(t.copy(),l),k=d.selection?d.selection():d,S=k.selectAll(".domain").data([null]),T=k.selectAll(".tick").data(g,t).order(),M=T.exit(),I=T.enter().append("g").attr("class","tick"),N=T.select("line"),C=T.select("text");S=S.merge(S.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),T=T.merge(I),N=N.merge(I.append("line").attr("stroke","currentColor").attr(u+"2",c*s)),C=C.merge(I.append("text").attr("fill","currentColor").attr(u,c*v).attr("dy","0.71em")),d!==k&&(S=S.transition(d),T=T.transition(d),N=N.transition(d),C=C.transition(d),M=M.transition(d).attr("opacity",BL).attr("transform",function(L){return isFinite(L=A(L))?f(L+l):this.getAttribute("transform")}),I.attr("opacity",BL).attr("transform",function(L){var F=this.parentNode.__axis;return f((F&&isFinite(F=F(L))?F:A(L))+l)})),M.remove(),S.attr("d",o?"M"+_+","+c*o+"V"+l+"H"+x+"V"+c*o:"M"+_+","+l+"H"+x),T.attr("opacity",1).attr("transform",function(L){return f(A(L)+l)}),N.attr(u+"2",c*s),C.attr(u,c*v).text(y),k.filter(dkt).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor","middle"),k.each(function(){this.__axis=A})}return h.scale=function(d){return arguments.length?(t=d,h):t},h.ticks=function(){return n=Array.from(arguments),h},h.tickArguments=function(d){return arguments.length?(n=d==null?[]:Array.from(d),h):n.slice()},h.tickValues=function(d){return arguments.length?(r=d==null?null:Array.from(d),h):r&&r.slice()},h.tickFormat=function(d){return arguments.length?(i=d,h):i},h.tickSize=function(d){return arguments.length?(s=o=+d,h):s},h.tickSizeInner=function(d){return arguments.length?(s=+d,h):s},h.tickSizeOuter=function(d){return arguments.length?(o=+d,h):o},h.tickPadding=function(d){return arguments.length?(a=+d,h):a},h.offset=function(d){return arguments.length?(l=+d,h):l},h}function gkt(e){return pkt(ckt,e)}var mkt={value:()=>{}};function g3(){for(var e=0,t=arguments.length,n={},r;e=0&&(r=n.slice(i+1),n=n.slice(0,i)),n&&!t.hasOwnProperty(n))throw new Error("unknown type: "+n);return{type:n,name:r}})}Rw.prototype=g3.prototype={constructor:Rw,on:function(e,t){var n=this._,r=ykt(e+"",n),i,s=-1,o=r.length;if(arguments.length<2){for(;++s0)for(var n=new Array(i),r=0,i,s;r=0&&(t=e.slice(0,n))!=="xmlns"&&(e=e.slice(n+1)),Ou.hasOwnProperty(t)?{space:Ou[t],local:e}:e}function bkt(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===sM&&t.documentElement.namespaceURI===sM?t.createElement(e):t.createElementNS(n,e)}}function _kt(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function y3(e){var t=m3(e);return(t.local?_kt:bkt)(t)}function wkt(){}function rR(e){return e==null?wkt:function(){return this.querySelector(e)}}function xkt(e){typeof e!="function"&&(e=rR(e));for(var t=this._groups,n=t.length,r=new Array(n),i=0;i=x&&(x=_+1);!(k=v[x])&&++x=0;)(o=r[i])&&(s&&o.compareDocumentPosition(s)^4&&s.parentNode.insertBefore(o,s),s=o);return this}function Hkt(e){e||(e=Gkt);function t(f,h){return f&&h?e(f.__data__,h.__data__):!f-!h}for(var n=this._groups,r=n.length,i=new Array(r),s=0;st?1:e>=t?0:NaN}function Xkt(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function Kkt(){return Array.from(this)}function Jkt(){for(var e=this._groups,t=0,n=e.length;t1?this.each((t==null?l4t:typeof t=="function"?u4t:c4t)(e,t,n??"")):Cg(this.node(),e)}function Cg(e,t){return e.style.getPropertyValue(t)||PY(e).getComputedStyle(e,null).getPropertyValue(t)}function h4t(e){return function(){delete this[e]}}function d4t(e,t){return function(){this[e]=t}}function p4t(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function g4t(e,t){return arguments.length>1?this.each((t==null?h4t:typeof t=="function"?p4t:d4t)(e,t)):this.node()[e]}function UY(e){return e.trim().split(/^|\s+/)}function iR(e){return e.classList||new zY(e)}function zY(e){this._node=e,this._names=UY(e.getAttribute("class")||"")}zY.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function qY(e,t){for(var n=iR(e),r=-1,i=t.length;++r=0&&(n=t.slice(r+1),t=t.slice(0,r)),{type:t,name:n}})}function j4t(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,s;n=0&&e._call.call(void 0,t),e=e._next;--Ng}function UL(){ip=(o2=Wv.now())+v3,Ng=Ly=0;try{Q4t()}finally{Ng=0,eMt(),ip=0}}function tMt(){var e=Wv.now(),t=e-o2;t>GY&&(v3-=t,o2=e)}function eMt(){for(var e,t=s2,n,r=1/0;t;)t._call?(r>t._time&&(r=t._time),e=t,t=t._next):(n=t._next,t._next=null,t=e?e._next=n:s2=n);Dy=e,lM(r)}function lM(e){if(!Ng){Ly&&(Ly=clearTimeout(Ly));var t=e-ip;t>24?(e<1/0&&(Ly=setTimeout(UL,e-Wv.now()-v3)),cy&&(cy=clearInterval(cy))):(cy||(o2=Wv.now(),cy=setInterval(tMt,GY)),Ng=1,XY(UL))}}function zL(e,t,n){var r=new a2;return t=t==null?0:+t,r.restart(i=>{r.stop(),e(i+t)},t,n),r}var nMt=g3("start","end","cancel","interrupt"),rMt=[],JY=0,qL=1,cM=2,Cw=3,jL=4,uM=5,Nw=6;function b3(e,t,n,r,i,s){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;iMt(e,n,{name:t,index:r,group:i,on:nMt,tween:rMt,time:s.time,delay:s.delay,duration:s.duration,ease:s.ease,timer:null,state:JY})}function oR(e,t){var n=Il(e,t);if(n.state>JY)throw new Error("too late; already scheduled");return n}function Cc(e,t){var n=Il(e,t);if(n.state>Cw)throw new Error("too late; already running");return n}function Il(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw new Error("transition not found");return n}function iMt(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=KY(s,0,n.time);function s(c){n.state=qL,n.timer.restart(o,n.delay,n.time),n.delay<=c&&o(c-n.delay)}function o(c){var u,f,h,d;if(n.state!==qL)return l();for(u in r)if(d=r[u],d.name===n.name){if(d.state===Cw)return zL(o);d.state===jL?(d.state=Nw,d.timer.stop(),d.on.call("interrupt",e,e.__data__,d.index,d.group),delete r[u]):+ucM&&r.state=0&&(t=t.slice(0,n)),!t||t==="start"})}function OMt(e,t,n){var r,i,s=$Mt(t)?oR:Cc;return function(){var o=s(this,e),a=o.on;a!==r&&(i=(r=a).copy()).on(t,n),o.on=i}}function LMt(e,t){var n=this._id;return arguments.length<2?Il(this.node(),n).on.on(e):this.each(OMt(n,e,t))}function DMt(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function FMt(){return this.on("end.remove",DMt(this._id))}function BMt(e){var t=this._name,n=this._id;typeof e!="function"&&(e=rR(e));for(var r=this._groups,i=r.length,s=new Array(i),o=0;o()=>e;function c5t(e,{sourceEvent:t,target:n,selection:r,mode:i,dispatch:s}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},selection:{value:r,enumerable:!0,configurable:!0},mode:{value:i,enumerable:!0,configurable:!0},_:{value:s}})}function u5t(e){e.stopImmediatePropagation()}function IT(e){e.preventDefault(),e.stopImmediatePropagation()}var VL={name:"drag"},RT={name:"space"},s0={name:"handle"},o0={name:"center"};const{abs:WL,max:Ji,min:Zi}=Math;function YL(e){return[+e[0],+e[1]]}function fM(e){return[YL(e[0]),YL(e[1])]}var $w={name:"x",handles:["w","e"].map(Yv),input:function(e,t){return e==null?null:[[+e[0],t[0][1]],[+e[1],t[1][1]]]},output:function(e){return e&&[e[0][0],e[1][0]]}},Ow={name:"y",handles:["n","s"].map(Yv),input:function(e,t){return e==null?null:[[t[0][0],+e[0]],[t[1][0],+e[1]]]},output:function(e){return e&&[e[0][1],e[1][1]]}},f5t={name:"xy",handles:["n","w","e","s","nw","ne","sw","se"].map(Yv),input:function(e){return e==null?null:fM(e)},output:function(e){return e}},Gc={overlay:"crosshair",selection:"move",n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},HL={e:"w",w:"e",nw:"ne",ne:"nw",se:"sw",sw:"se"},GL={n:"s",s:"n",nw:"sw",ne:"se",se:"ne",sw:"nw"},h5t={overlay:1,selection:1,n:null,e:1,s:null,w:-1,nw:-1,ne:1,se:1,sw:-1},d5t={overlay:1,selection:1,n:-1,e:null,s:1,w:null,nw:-1,ne:-1,se:1,sw:1};function Yv(e){return{type:e}}function p5t(e){return!e.ctrlKey&&!e.button}function g5t(){var e=this.ownerSVGElement||this;return e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]}function m5t(){return navigator.maxTouchPoints||"ontouchstart"in this}function CT(e){for(;!e.__brush;)if(!(e=e.parentNode))return;return e.__brush}function y5t(e){return e[0][0]===e[1][0]||e[0][1]===e[1][1]}function v5t(){return lR($w)}function b5t(){return lR(Ow)}function _5t(){return lR(f5t)}function lR(e){var t=g5t,n=p5t,r=m5t,i=!0,s=g3("start","brush","end"),o=6,a;function l(v){var b=v.property("__brush",y).selectAll(".overlay").data([Yv("overlay")]);b.enter().append("rect").attr("class","overlay").attr("pointer-events","all").attr("cursor",Gc.overlay).merge(b).each(function(){var x=CT(this).extent;Ar(this).attr("x",x[0][0]).attr("y",x[0][1]).attr("width",x[1][0]-x[0][0]).attr("height",x[1][1]-x[0][1])}),v.selectAll(".selection").data([Yv("selection")]).enter().append("rect").attr("class","selection").attr("cursor",Gc.selection).attr("fill","#777").attr("fill-opacity",.3).attr("stroke","#fff").attr("shape-rendering","crispEdges");var _=v.selectAll(".handle").data(e.handles,function(x){return x.type});_.exit().remove(),_.enter().append("rect").attr("class",function(x){return"handle handle--"+x.type}).attr("cursor",function(x){return Gc[x.type]}),v.each(c).attr("fill","none").attr("pointer-events","all").on("mousedown.brush",h).filter(r).on("touchstart.brush",h).on("touchmove.brush",d).on("touchend.brush touchcancel.brush",g).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}l.move=function(v,b,_){v.tween?v.on("start.brush",function(x){u(this,arguments).beforestart().start(x)}).on("interrupt.brush end.brush",function(x){u(this,arguments).end(x)}).tween("brush",function(){var x=this,A=x.__brush,k=u(x,arguments),S=A.selection,T=e.input(typeof b=="function"?b.apply(this,arguments):b,A.extent),M=hm(S,T);function I(N){A.selection=N===1&&T===null?null:M(N),c.call(x),k.brush()}return S!==null&&T!==null?I:I(1)}):v.each(function(){var x=this,A=arguments,k=x.__brush,S=e.input(typeof b=="function"?b.apply(x,A):b,k.extent),T=u(x,A).beforestart();eg(x),k.selection=S===null?null:S,c.call(x),T.start(_).brush(_).end(_)})},l.clear=function(v,b){l.move(v,null,b)};function c(){var v=Ar(this),b=CT(this).selection;b?(v.selectAll(".selection").style("display",null).attr("x",b[0][0]).attr("y",b[0][1]).attr("width",b[1][0]-b[0][0]).attr("height",b[1][1]-b[0][1]),v.selectAll(".handle").style("display",null).attr("x",function(_){return _.type[_.type.length-1]==="e"?b[1][0]-o/2:b[0][0]-o/2}).attr("y",function(_){return _.type[0]==="s"?b[1][1]-o/2:b[0][1]-o/2}).attr("width",function(_){return _.type==="n"||_.type==="s"?b[1][0]-b[0][0]+o:o}).attr("height",function(_){return _.type==="e"||_.type==="w"?b[1][1]-b[0][1]+o:o})):v.selectAll(".selection,.handle").style("display","none").attr("x",null).attr("y",null).attr("width",null).attr("height",null)}function u(v,b,_){var x=v.__brush.emitter;return x&&(!_||!x.clean)?x:new f(v,b,_)}function f(v,b,_){this.that=v,this.args=b,this.state=v.__brush,this.active=0,this.clean=_}f.prototype={beforestart:function(){return++this.active===1&&(this.state.emitter=this,this.starting=!0),this},start:function(v,b){return this.starting?(this.starting=!1,this.emit("start",v,b)):this.emit("brush",v),this},brush:function(v,b){return this.emit("brush",v,b),this},end:function(v,b){return--this.active===0&&(delete this.state.emitter,this.emit("end",v,b)),this},emit:function(v,b,_){var x=Ar(this.that).datum();s.call(v,this.that,new c5t(v,{sourceEvent:b,target:l,selection:e.output(this.state.selection),mode:_,dispatch:s}),x)}};function h(v){if(a&&!v.touches||!n.apply(this,arguments))return;var b=this,_=v.target.__data__.type,x=(i&&v.metaKey?_="overlay":_)==="selection"?VL:i&&v.altKey?o0:s0,A=e===Ow?null:h5t[_],k=e===$w?null:d5t[_],S=CT(b),T=S.extent,M=S.selection,I=T[0][0],N,C,L=T[0][1],F,$,D=T[1][0],O,B,V=T[1][1],U,q,z=0,Y=0,Q,gt=A&&k&&i&&v.shiftKey,yt,pt,lt=Array.from(v.touches||[v],St=>{const jt=St.identifier;return St=Qa(St,b),St.point0=St.slice(),St.identifier=jt,St});eg(b);var ft=u(b,arguments,!0).beforestart();if(_==="overlay"){M&&(Q=!0);const St=[lt[0],lt[1]||lt[0]];S.selection=M=[[N=e===Ow?I:Zi(St[0][0],St[1][0]),F=e===$w?L:Zi(St[0][1],St[1][1])],[O=e===Ow?D:Ji(St[0][0],St[1][0]),U=e===$w?V:Ji(St[0][1],St[1][1])]],lt.length>1&&kt(v)}else N=M[0][0],F=M[0][1],O=M[1][0],U=M[1][1];C=N,$=F,B=O,q=U;var J=Ar(b).attr("pointer-events","none"),et=J.selectAll(".overlay").attr("cursor",Gc[_]);if(v.touches)ft.moved=at,ft.ended=Mt;else{var vt=Ar(v.view).on("mousemove.brush",at,!0).on("mouseup.brush",Mt,!0);i&&vt.on("keydown.brush",Bt,!0).on("keyup.brush",Ut,!0),YY(v.view)}c.call(b),ft.start(v,x.name);function at(St){for(const jt of St.changedTouches||[St])for(const Fe of lt)Fe.identifier===jt.identifier&&(Fe.cur=Qa(jt,b));if(gt&&!yt&&!pt&<.length===1){const jt=lt[0];WL(jt.cur[0]-jt[0])>WL(jt.cur[1]-jt[1])?pt=!0:yt=!0}for(const jt of lt)jt.cur&&(jt[0]=jt.cur[0],jt[1]=jt.cur[1]);Q=!0,IT(St),kt(St)}function kt(St){const jt=lt[0],Fe=jt.point0;var Yt;switch(z=jt[0]-Fe[0],Y=jt[1]-Fe[1],x){case RT:case VL:{A&&(z=Ji(I-N,Zi(D-O,z)),C=N+z,B=O+z),k&&(Y=Ji(L-F,Zi(V-U,Y)),$=F+Y,q=U+Y);break}case s0:{lt[1]?(A&&(C=Ji(I,Zi(D,lt[0][0])),B=Ji(I,Zi(D,lt[1][0])),A=1),k&&($=Ji(L,Zi(V,lt[0][1])),q=Ji(L,Zi(V,lt[1][1])),k=1)):(A<0?(z=Ji(I-N,Zi(D-N,z)),C=N+z,B=O):A>0&&(z=Ji(I-O,Zi(D-O,z)),C=N,B=O+z),k<0?(Y=Ji(L-F,Zi(V-F,Y)),$=F+Y,q=U):k>0&&(Y=Ji(L-U,Zi(V-U,Y)),$=F,q=U+Y));break}case o0:{A&&(C=Ji(I,Zi(D,N-z*A)),B=Ji(I,Zi(D,O+z*A))),k&&($=Ji(L,Zi(V,F-Y*k)),q=Ji(L,Zi(V,U+Y*k)));break}}B0&&(N=C-z),k<0?U=q-Y:k>0&&(F=$-Y),x=RT,et.attr("cursor",Gc.selection),kt(St));break}default:return}IT(St)}function Ut(St){switch(St.keyCode){case 16:{gt&&(yt=pt=gt=!1,kt(St));break}case 18:{x===o0&&(A<0?O=B:A>0&&(N=C),k<0?U=q:k>0&&(F=$),x=s0,kt(St));break}case 32:{x===RT&&(St.altKey?(A&&(O=B-z*A,N=C+z*A),k&&(U=q-Y*k,F=$+Y*k),x=o0):(A<0?O=B:A>0&&(N=C),k<0?U=q:k>0&&(F=$),x=s0),et.attr("cursor",Gc[_]),kt(St));break}default:return}IT(St)}}function d(v){u(this,arguments).moved(v)}function g(v){u(this,arguments).ended(v)}function y(){var v=this.__brush||{selection:null};return v.extent=fM(t.apply(this,arguments)),v.dim=e,v}return l.extent=function(v){return arguments.length?(t=typeof v=="function"?v:MT(fM(v)),l):t},l.filter=function(v){return arguments.length?(n=typeof v=="function"?v:MT(!!v),l):n},l.touchable=function(v){return arguments.length?(r=typeof v=="function"?v:MT(!!v),l):r},l.handleSize=function(v){return arguments.length?(o=+v,l):o},l.keyModifiers=function(v){return arguments.length?(i=!!v,l):i},l.on=function(){var v=s.on.apply(s,arguments);return v===s?l:v},l}const hM=Math.PI,dM=2*hM,id=1e-6,w5t=dM-id;function eH(e){this._+=e[0];for(let t=1,n=e.length;t=0))throw new Error(`invalid digits: ${e}`);if(t>15)return eH;const n=10**t;return function(r){this._+=r[0];for(let i=1,s=r.length;iid)if(!(Math.abs(f*l-c*u)>id)||!s)this._append`L${this._x1=t},${this._y1=n}`;else{let d=r-o,g=i-a,y=l*l+c*c,v=d*d+g*g,b=Math.sqrt(y),_=Math.sqrt(h),x=s*Math.tan((hM-Math.acos((y+h-v)/(2*b*_)))/2),A=x/_,k=x/b;Math.abs(A-1)>id&&this._append`L${t+A*u},${n+A*f}`,this._append`A${s},${s},0,0,${+(f*d>u*g)},${this._x1=t+k*l},${this._y1=n+k*c}`}}arc(t,n,r,i,s,o){if(t=+t,n=+n,r=+r,o=!!o,r<0)throw new Error(`negative radius: ${r}`);let a=r*Math.cos(i),l=r*Math.sin(i),c=t+a,u=n+l,f=1^o,h=o?i-s:s-i;this._x1===null?this._append`M${c},${u}`:(Math.abs(this._x1-c)>id||Math.abs(this._y1-u)>id)&&this._append`L${c},${u}`,r&&(h<0&&(h=h%dM+dM),h>w5t?this._append`A${r},${r},0,1,${f},${t-a},${n-l}A${r},${r},0,1,${f},${this._x1=c},${this._y1=u}`:h>id&&this._append`A${r},${r},0,${+(h>=hM)},${f},${this._x1=t+r*Math.cos(s)},${this._y1=n+r*Math.sin(s)}`)}rect(t,n,r,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${r=+r}v${+i}h${-r}Z`}toString(){return this._}};function mu(e=3){return new nH(+e)}var S5t=Array.prototype,rH=S5t.slice;function A5t(e,t){return e-t}function E5t(e){for(var t=0,n=e.length,r=e[n-1][1]*e[0][0]-e[n-1][0]*e[0][1];++t()=>e;function T5t(e,t){for(var n=-1,r=t.length,i;++nr!=d>r&&n<(h-c)*(r-u)/(d-u)+c&&(i=-i)}return i}function M5t(e,t,n){var r;return I5t(e,t,n)&&R5t(e[r=+(e[0]===t[0])],n[r],t[r])}function I5t(e,t,n){return(t[0]-e[0])*(n[1]-e[1])===(n[0]-e[0])*(t[1]-e[1])}function R5t(e,t,n){return e<=t&&t<=n||n<=t&&t<=e}function C5t(){}var Xc=[[],[[[1,1.5],[.5,1]]],[[[1.5,1],[1,1.5]]],[[[1.5,1],[.5,1]]],[[[1,.5],[1.5,1]]],[[[1,1.5],[.5,1]],[[1,.5],[1.5,1]]],[[[1,.5],[1,1.5]]],[[[1,.5],[.5,1]]],[[[.5,1],[1,.5]]],[[[1,1.5],[1,.5]]],[[[.5,1],[1,.5]],[[1.5,1],[1,1.5]]],[[[1.5,1],[1,.5]]],[[[.5,1],[1.5,1]]],[[[1,1.5],[1.5,1]]],[[[.5,1],[1,1.5]]],[]];function l2(){var e=1,t=1,n=gI,r=l;function i(c){var u=n(c);if(Array.isArray(u))u=u.slice().sort(A5t);else{const f=pi(c,N5t);for(u=eh(...vj(f[0],f[1],u),u);u[u.length-1]>=f[1];)u.pop();for(;u[1]s(c,f))}function s(c,u){const f=u==null?NaN:+u;if(isNaN(f))throw new Error(`invalid value: ${u}`);var h=[],d=[];return o(c,f,function(g){r(g,c,f),E5t(g)>0?h.push([g]):d.push(g)}),d.forEach(function(g){for(var y=0,v=h.length,b;y=u,Xc[_<<2].forEach(A);++g0&&d0&&g=0&&f>=0))throw new Error("invalid size");return e=u,t=f,i},i.thresholds=function(c){return arguments.length?(n=typeof c=="function"?c:Array.isArray(c)?xf(rH.call(c)):xf(c),i):n},i.smooth=function(c){return arguments.length?(r=c?l:C5t,i):r===l},i}function N5t(e){return isFinite(e)?e:NaN}function Qh(e,t){return e==null?!1:+e>=t}function NT(e){return e==null||isNaN(e=+e)?-1/0:e}function XL(e,t,n,r){const i=r-t,s=n-t,o=isFinite(i)||isFinite(s)?i/s:Math.sign(i)/Math.sign(s);return isNaN(o)?e:e+o-.5}function $5t(e){return e[0]}function O5t(e){return e[1]}function L5t(){return 1}function D5t(){var e=$5t,t=O5t,n=L5t,r=960,i=500,s=20,o=2,a=s*3,l=r+a*2>>o,c=i+a*2>>o,u=xf(20);function f(_){var x=new Float32Array(l*c),A=Math.pow(2,-o),k=-1;for(const F of _){var S=(e(F,++k,_)+a)*A,T=(t(F,k,_)+a)*A,M=+n(F,k,_);if(M&&S>=0&&S=0&&TS*k))(x).map((S,T)=>(S.value=+A[T],d(S)))}h.contours=function(_){var x=f(_),A=l2().size([l,c]),k=Math.pow(2,2*o),S=T=>{T=+T;var M=d(A.contour(x,T*k));return M.value=T,M};return Object.defineProperty(S,"max",{get:()=>Yr(x)/k}),S};function d(_){return _.coordinates.forEach(g),_}function g(_){_.forEach(y)}function y(_){_.forEach(v)}function v(_){_[0]=_[0]*Math.pow(2,o)-a,_[1]=_[1]*Math.pow(2,o)-a}function b(){return a=s*3,l=r+a*2>>o,c=i+a*2>>o,h}return h.x=function(_){return arguments.length?(e=typeof _=="function"?_:xf(+_),h):e},h.y=function(_){return arguments.length?(t=typeof _=="function"?_:xf(+_),h):t},h.weight=function(_){return arguments.length?(n=typeof _=="function"?_:xf(+_),h):n},h.size=function(_){if(!arguments.length)return[r,i];var x=+_[0],A=+_[1];if(!(x>=0&&A>=0))throw new Error("invalid size");return r=x,i=A,b()},h.cellSize=function(_){if(!arguments.length)return 1<=1))throw new Error("invalid cell size");return o=Math.floor(Math.log(_)/Math.LN2),b()},h.thresholds=function(_){return arguments.length?(u=typeof _=="function"?_:Array.isArray(_)?xf(rH.call(_)):xf(_),h):u},h.bandwidth=function(_){if(!arguments.length)return Math.sqrt(s*(s+1));if(!((_=+_)>=0))throw new Error("invalid bandwidth");return s=(Math.sqrt(4*_*_+1)-1)/2,b()},h}const Au=11102230246251565e-32,Qi=134217729,F5t=(3+8*Au)*Au;function $T(e,t,n,r,i){let s,o,a,l,c=t[0],u=r[0],f=0,h=0;u>c==u>-c?(s=c,c=t[++f]):(s=u,u=r[++h]);let d=0;if(fc==u>-c?(o=c+s,a=s-(o-c),c=t[++f]):(o=u+s,a=s-(o-u),u=r[++h]),s=o,a!==0&&(i[d++]=a);fc==u>-c?(o=s+c,l=o-s,a=s-(o-l)+(c-l),c=t[++f]):(o=s+u,l=o-s,a=s-(o-l)+(u-l),u=r[++h]),s=o,a!==0&&(i[d++]=a);for(;f=$||-F>=$||(f=e-I,a=e-(I+f)+(f-i),f=n-N,c=n-(N+f)+(f-i),f=t-C,l=t-(C+f)+(f-s),f=r-L,u=r-(L+f)+(f-s),a===0&&l===0&&c===0&&u===0)||($=z5t*o+F5t*Math.abs(F),F+=I*u+L*a-(C*c+N*l),F>=$||-F>=$))return F;A=a*L,h=Qi*a,d=h-(h-a),g=a-d,h=Qi*L,y=h-(h-L),v=L-y,k=g*v-(A-d*y-g*y-d*v),S=l*N,h=Qi*l,d=h-(h-l),g=l-d,h=Qi*N,y=h-(h-N),v=N-y,T=g*v-(S-d*y-g*y-d*v),b=k-T,f=k-b,xs[0]=k-(b+f)+(f-T),_=A+b,f=_-A,x=A-(_-f)+(b-f),b=x-S,f=x-b,xs[1]=x-(b+f)+(f-S),M=_+b,f=M-_,xs[2]=_-(M-f)+(b-f),xs[3]=M;const D=$T(4,a0,4,xs,KL);A=I*u,h=Qi*I,d=h-(h-I),g=I-d,h=Qi*u,y=h-(h-u),v=u-y,k=g*v-(A-d*y-g*y-d*v),S=C*c,h=Qi*C,d=h-(h-C),g=C-d,h=Qi*c,y=h-(h-c),v=c-y,T=g*v-(S-d*y-g*y-d*v),b=k-T,f=k-b,xs[0]=k-(b+f)+(f-T),_=A+b,f=_-A,x=A-(_-f)+(b-f),b=x-S,f=x-b,xs[1]=x-(b+f)+(f-S),M=_+b,f=M-_,xs[2]=_-(M-f)+(b-f),xs[3]=M;const O=$T(D,KL,4,xs,JL);A=a*u,h=Qi*a,d=h-(h-a),g=a-d,h=Qi*u,y=h-(h-u),v=u-y,k=g*v-(A-d*y-g*y-d*v),S=l*c,h=Qi*l,d=h-(h-l),g=l-d,h=Qi*c,y=h-(h-c),v=c-y,T=g*v-(S-d*y-g*y-d*v),b=k-T,f=k-b,xs[0]=k-(b+f)+(f-T),_=A+b,f=_-A,x=A-(_-f)+(b-f),b=x-S,f=x-b,xs[1]=x-(b+f)+(f-S),M=_+b,f=M-_,xs[2]=_-(M-f)+(b-f),xs[3]=M;const B=$T(O,JL,4,xs,ZL);return ZL[B-1]}function L_(e,t,n,r,i,s){const o=(t-s)*(n-i),a=(e-i)*(r-s),l=o-a,c=Math.abs(o+a);return Math.abs(l)>=P5t*c?l:-q5t(e,t,n,r,i,s,c)}const QL=Math.pow(2,-52),D_=new Uint32Array(512);class c2{static from(t,n=H5t,r=G5t){const i=t.length,s=new Float64Array(i*2);for(let o=0;o>1;if(n>0&&typeof t[0]!="number")throw new Error("Expected coords to contain numbers.");this.coords=t;const r=Math.max(2*n-5,0);this._triangles=new Uint32Array(r*3),this._halfedges=new Int32Array(r*3),this._hashSize=Math.ceil(Math.sqrt(n)),this._hullPrev=new Uint32Array(n),this._hullNext=new Uint32Array(n),this._hullTri=new Uint32Array(n),this._hullHash=new Int32Array(this._hashSize),this._ids=new Uint32Array(n),this._dists=new Float64Array(n),this.update()}update(){const{coords:t,_hullPrev:n,_hullNext:r,_hullTri:i,_hullHash:s}=this,o=t.length>>1;let a=1/0,l=1/0,c=-1/0,u=-1/0;for(let I=0;Ic&&(c=N),C>u&&(u=C),this._ids[I]=I}const f=(a+c)/2,h=(l+u)/2;let d,g,y;for(let I=0,N=1/0;I0&&(g=I,N=C)}let _=t[2*g],x=t[2*g+1],A=1/0;for(let I=0;IL&&(I[N++]=F,L=$)}this.hull=I.subarray(0,N),this.triangles=new Uint32Array(0),this.halfedges=new Uint32Array(0);return}if(L_(v,b,_,x,k,S)<0){const I=g,N=_,C=x;g=y,_=k,x=S,y=I,k=N,S=C}const T=Y5t(v,b,_,x,k,S);this._cx=T.x,this._cy=T.y;for(let I=0;I0&&Math.abs(F-N)<=QL&&Math.abs($-C)<=QL||(N=F,C=$,L===d||L===g||L===y))continue;let D=0;for(let q=0,z=this._hashKey(F,$);q=0;)if(O=B,O===D){O=-1;break}if(O===-1)continue;let V=this._addTriangle(O,L,r[O],-1,-1,i[O]);i[L]=this._legalize(V+2),i[O]=V,M++;let U=r[O];for(;B=r[U],L_(F,$,t[2*U],t[2*U+1],t[2*B],t[2*B+1])<0;)V=this._addTriangle(U,L,B,i[L],-1,i[U]),i[L]=this._legalize(V+2),r[U]=U,M--,U=B;if(O===D)for(;B=n[O],L_(F,$,t[2*B],t[2*B+1],t[2*O],t[2*O+1])<0;)V=this._addTriangle(B,L,O,-1,i[O],i[B]),this._legalize(V+2),i[B]=V,r[O]=O,M--,O=B;this._hullStart=n[L]=O,r[O]=n[U]=L,r[L]=U,s[this._hashKey(F,$)]=L,s[this._hashKey(t[2*O],t[2*O+1])]=O}this.hull=new Uint32Array(M);for(let I=0,N=this._hullStart;I0?3-n:1+n)/4}function OT(e,t,n,r){const i=e-n,s=t-r;return i*i+s*s}function V5t(e,t,n,r,i,s,o,a){const l=e-o,c=t-a,u=n-o,f=r-a,h=i-o,d=s-a,g=l*l+c*c,y=u*u+f*f,v=h*h+d*d;return l*(f*v-y*d)-c*(u*v-y*h)+g*(u*d-f*h)<0}function W5t(e,t,n,r,i,s){const o=n-e,a=r-t,l=i-e,c=s-t,u=o*o+a*a,f=l*l+c*c,h=.5/(o*c-a*l),d=(c*u-a*f)*h,g=(o*f-l*u)*h;return d*d+g*g}function Y5t(e,t,n,r,i,s){const o=n-e,a=r-t,l=i-e,c=s-t,u=o*o+a*a,f=l*l+c*c,h=.5/(o*c-a*l),d=e+(c*u-a*f)*h,g=t+(o*f-l*u)*h;return{x:d,y:g}}function R0(e,t,n,r){if(r-n<=20)for(let i=n+1;i<=r;i++){const s=e[i],o=t[s];let a=i-1;for(;a>=n&&t[e[a]]>o;)e[a+1]=e[a--];e[a+1]=s}else{const i=n+r>>1;let s=n+1,o=r;uy(e,i,s),t[e[n]]>t[e[r]]&&uy(e,n,r),t[e[s]]>t[e[r]]&&uy(e,s,r),t[e[n]]>t[e[s]]&&uy(e,n,s);const a=e[s],l=t[a];for(;;){do s++;while(t[e[s]]l);if(o=o-n?(R0(e,t,s,r),R0(e,t,n,o-1)):(R0(e,t,n,o-1),R0(e,t,s,r))}}function uy(e,t,n){const r=e[t];e[t]=e[n],e[n]=r}function H5t(e){return e[0]}function G5t(e){return e[1]}const tD=1e-6;class vd{constructor(){this._x0=this._y0=this._x1=this._y1=null,this._=""}moveTo(t,n){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._+="Z")}lineTo(t,n){this._+=`L${this._x1=+t},${this._y1=+n}`}arc(t,n,r){t=+t,n=+n,r=+r;const i=t+r,s=n;if(r<0)throw new Error("negative radius");this._x1===null?this._+=`M${i},${s}`:(Math.abs(this._x1-i)>tD||Math.abs(this._y1-s)>tD)&&(this._+="L"+i+","+s),r&&(this._+=`A${r},${r},0,1,1,${t-r},${n}A${r},${r},0,1,1,${this._x1=i},${this._y1=s}`)}rect(t,n,r,i){this._+=`M${this._x0=this._x1=+t},${this._y0=this._y1=+n}h${+r}v${+i}h${-r}Z`}value(){return this._||null}}class pM{constructor(){this._=[]}moveTo(t,n){this._.push([t,n])}closePath(){this._.push(this._[0].slice())}lineTo(t,n){this._.push([t,n])}value(){return this._.length?this._:null}}let X5t=class{constructor(t,[n,r,i,s]=[0,0,960,500]){if(!((i=+i)>=(n=+n))||!((s=+s)>=(r=+r)))throw new Error("invalid bounds");this.delaunay=t,this._circumcenters=new Float64Array(t.points.length*2),this.vectors=new Float64Array(t.points.length*2),this.xmax=i,this.xmin=n,this.ymax=s,this.ymin=r,this._init()}update(){return this.delaunay.update(),this._init(),this}_init(){const{delaunay:{points:t,hull:n,triangles:r},vectors:i}=this;let s,o;const a=this.circumcenters=this._circumcenters.subarray(0,r.length/3*2);for(let y=0,v=0,b=r.length,_,x;y1;)s-=2;for(let o=2;o0){if(n>=this.ymax)return null;(o=(this.ymax-n)/i)0){if(t>=this.xmax)return null;(o=(this.xmax-t)/r)this.xmax?2:0)|(nthis.ymax?8:0)}_simplify(t){if(t&&t.length>4){for(let n=0;n1e-10)return!1}return!0}function t6t(e,t,n){return[e+Math.sin(e+t)*n,t+Math.cos(e-t)*n]}class Eh{static from(t,n=J5t,r=Z5t,i){return new Eh("length"in t?e6t(t,n,r,i):Float64Array.from(n6t(t,n,r,i)))}constructor(t){this._delaunator=new c2(t),this.inedges=new Int32Array(t.length/2),this._hullIndex=new Int32Array(t.length/2),this.points=this._delaunator.coords,this._init()}update(){return this._delaunator.update(),this._init(),this}_init(){const t=this._delaunator,n=this.points;if(t.hull&&t.hull.length>2&&Q5t(t)){this.collinear=Int32Array.from({length:n.length/2},(h,d)=>d).sort((h,d)=>n[2*h]-n[2*d]||n[2*h+1]-n[2*d+1]);const l=this.collinear[0],c=this.collinear[this.collinear.length-1],u=[n[2*l],n[2*l+1],n[2*c],n[2*c+1]],f=1e-8*Math.hypot(u[3]-u[1],u[2]-u[0]);for(let h=0,d=n.length/2;h0&&(this.triangles=new Int32Array(3).fill(-1),this.halfedges=new Int32Array(3).fill(-1),this.triangles[0]=i[0],o[i[0]]=1,i.length===2&&(o[i[1]]=0,this.triangles[1]=i[1],this.triangles[2]=i[1]))}voronoi(t){return new X5t(this,t)}*neighbors(t){const{inedges:n,hull:r,_hullIndex:i,halfedges:s,triangles:o,collinear:a}=this;if(a){const f=a.indexOf(t);f>0&&(yield a[f-1]),f=0&&s!==r&&s!==i;)r=s;return s}_step(t,n,r){const{inedges:i,hull:s,_hullIndex:o,halfedges:a,triangles:l,points:c}=this;if(i[t]===-1||!c.length)return(t+1)%(c.length>>1);let u=t,f=l0(n-c[t*2],2)+l0(r-c[t*2+1],2);const h=i[t];let d=h;do{let g=l[d];const y=l0(n-c[g*2],2)+l0(r-c[g*2+1],2);if(y0?1:e<0?-1:0},Ps=Math.sqrt,cR=Math.tan;function sH(e){return e>1?0:e<-1?rn:Math.acos(e)}function vo(e){return e>1?Zr:e<-1?-Zr:Math.asin(e)}function Fo(){}function h2(e,t){e&&rD.hasOwnProperty(e.type)&&rD[e.type](e,t)}var nD={Feature:function(e,t){h2(e.geometry,t)},FeatureCollection:function(e,t){for(var n=e.features,r=-1,i=n.length;++rrn&&(e-=Math.round(e/Yo)*Yo),[e,t]}SM.invert=SM;function cH(e,t,n){return(e%=Yo)?t||n?xM(lD(e),cD(t,n)):lD(e):t||n?cD(t,n):SM}function aD(e){return function(t,n){return t+=e,Un(t)>rn&&(t-=Math.round(t/Yo)*Yo),[t,n]}}function lD(e){var t=aD(e);return t.invert=aD(-e),t}function cD(e,t){var n=Ce(e),r=fe(e),i=Ce(t),s=fe(t);function o(a,l){var c=Ce(l),u=Ce(a)*c,f=fe(a)*c,h=fe(l),d=h*n+u*r;return[wl(f*i-d*s,u*n-h*r),vo(d*i+f*s)]}return o.invert=function(a,l){var c=Ce(l),u=Ce(a)*c,f=fe(a)*c,h=fe(l),d=h*i-f*s;return[wl(f*i+h*s,u*n+d*r),vo(d*n-u*r)]},o}function c6t(e){e=cH(e[0]*Cn,e[1]*Cn,e.length>2?e[2]*Cn:0);function t(n){return n=e(n[0]*Cn,n[1]*Cn),n[0]*=zi,n[1]*=zi,n}return t.invert=function(n){return n=e.invert(n[0]*Cn,n[1]*Cn),n[0]*=zi,n[1]*=zi,n},t}function u6t(e,t,n,r,i,s){if(n){var o=Ce(t),a=fe(t),l=r*n;i==null?(i=t+r*Yo,s=t-l/2):(i=uD(o,i),s=uD(o,s),(r>0?is)&&(i+=r*Yo));for(var c,u=i;r>0?u>s:u1&&e.push(e.pop().concat(e.shift()))},result:function(){var n=e;return e=[],t=null,n}}}function Lw(e,t){return Un(e[0]-t[0])=0;--a)i.point((f=u[a])[0],f[1]);else r(h.x,h.p.x,-1,i);h=h.p}h=h.o,u=h.z,d=!d}while(!h.v);i.lineEnd()}}}function fD(e){if(t=e.length){for(var t,n=0,r=e[0],i;++n=0?1:-1,N=I*M,C=N>rn,L=v*S;if(l.add(wl(L*I*fe(N),b*T+L*Ce(N))),o+=C?M+I*Yo:M,C^g>=n^A>=n){var F=d2($g(d),$g(x));vM(F);var $=d2(s,F);vM($);var D=(C^M>=0?-1:1)*vo($[2]);(r>D||r===D&&(F[0]||F[1]))&&(a+=C^M>=0?1:-1)}}return(o<-ke||o0){for(l||(i.polygonStart(),l=!0),i.lineStart(),S=0;S1&&A&2&&k.push(k.pop().concat(k.shift())),u.push(k.filter(h6t))}}return h}}function h6t(e){return e.length>1}function d6t(e,t){return((e=e.x)[0]<0?e[1]-Zr-ke:Zr-e[1])-((t=t.x)[0]<0?t[1]-Zr-ke:Zr-t[1])}const hD=hH(function(){return!0},p6t,m6t,[-rn,-Zr]);function p6t(e){var t=NaN,n=NaN,r=NaN,i;return{lineStart:function(){e.lineStart(),i=1},point:function(s,o){var a=s>0?rn:-rn,l=Un(s-t);Un(l-rn)0?Zr:-Zr),e.point(r,n),e.lineEnd(),e.lineStart(),e.point(a,n),e.point(s,n),i=0):r!==a&&l>=rn&&(Un(t-r)ke?vm((fe(t)*(s=Ce(r))*fe(n)-fe(r)*(i=Ce(t))*fe(e))/(i*s*o)):(t+r)/2}function m6t(e,t,n,r){var i;if(e==null)i=n*Zr,r.point(-rn,i),r.point(0,i),r.point(rn,i),r.point(rn,0),r.point(rn,-i),r.point(0,-i),r.point(-rn,-i),r.point(-rn,0),r.point(-rn,i);else if(Un(e[0]-t[0])>ke){var s=e[0]0,i=Un(t)>ke;function s(u,f,h,d){u6t(d,e,n,h,u,f)}function o(u,f){return Ce(u)*Ce(f)>t}function a(u){var f,h,d,g,y;return{lineStart:function(){g=d=!1,y=1},point:function(v,b){var _=[v,b],x,A=o(v,b),k=r?A?0:c(v,b):A?c(v+(v<0?rn:-rn),b):0;if(!f&&(g=d=A)&&u.lineStart(),A!==d&&(x=l(f,_),(!x||Lw(f,x)||Lw(_,x))&&(_[2]=1)),A!==d)y=0,A?(u.lineStart(),x=l(_,f),u.point(x[0],x[1])):(x=l(f,_),u.point(x[0],x[1],2),u.lineEnd()),f=x;else if(i&&f&&r^A){var S;!(k&h)&&(S=l(_,f,!0))&&(y=0,r?(u.lineStart(),u.point(S[0][0],S[0][1]),u.point(S[1][0],S[1][1]),u.lineEnd()):(u.point(S[1][0],S[1][1]),u.lineEnd(),u.lineStart(),u.point(S[0][0],S[0][1],3)))}A&&(!f||!Lw(f,_))&&u.point(_[0],_[1]),f=_,d=A,h=k},lineEnd:function(){d&&u.lineEnd(),f=null},clean:function(){return y|(g&&d)<<1}}}function l(u,f,h){var d=$g(u),g=$g(f),y=[1,0,0],v=d2(d,g),b=B_(v,v),_=v[0],x=b-_*_;if(!x)return!h&&u;var A=t*b/x,k=-t*_/x,S=d2(y,v),T=P_(y,A),M=P_(v,k);DT(T,M);var I=S,N=B_(T,I),C=B_(I,I),L=N*N-C*(B_(T,T)-1);if(!(L<0)){var F=Ps(L),$=P_(I,(-N-F)/C);if(DT($,T),$=yM($),!h)return $;var D=u[0],O=f[0],B=u[1],V=f[1],U;O0^$[1]<(Un($[0]-D)rn^(D<=$[0]&&$[0]<=O)){var Q=P_(I,(-N+F)/C);return DT(Q,T),[$,yM(Q)]}}}function c(u,f){var h=r?e:rn-e,d=0;return u<-h?d|=1:u>h&&(d|=2),f<-h?d|=4:f>h&&(d|=8),d}return hH(o,a,s,r?[0,-e]:[-rn,e-rn])}function v6t(e,t,n,r,i,s){var o=e[0],a=e[1],l=t[0],c=t[1],u=0,f=1,h=l-o,d=c-a,g;if(g=n-o,!(!h&&g>0)){if(g/=h,h<0){if(g0){if(g>f)return;g>u&&(u=g)}if(g=i-o,!(!h&&g<0)){if(g/=h,h<0){if(g>f)return;g>u&&(u=g)}else if(h>0){if(g0)){if(g/=d,d<0){if(g0){if(g>f)return;g>u&&(u=g)}if(g=s-a,!(!d&&g<0)){if(g/=d,d<0){if(g>f)return;g>u&&(u=g)}else if(d>0){if(g0&&(e[0]=o+u*h,e[1]=a+u*d),f<1&&(t[0]=o+f*h,t[1]=a+f*d),!0}}}}}var By=1e9,z_=-By;function dH(e,t,n,r){function i(c,u){return e<=c&&c<=n&&t<=u&&u<=r}function s(c,u,f,h){var d=0,g=0;if(c==null||(d=o(c,f))!==(g=o(u,f))||l(c,u)<0^f>0)do h.point(d===0||d===3?e:n,d>1?r:t);while((d=(d+f+4)%4)!==g);else h.point(u[0],u[1])}function o(c,u){return Un(c[0]-e)0?0:3:Un(c[0]-n)0?2:1:Un(c[1]-t)0?1:0:u>0?3:2}function a(c,u){return l(c.x,u.x)}function l(c,u){var f=o(c,1),h=o(u,1);return f!==h?f-h:f===0?u[1]-c[1]:f===1?c[0]-u[0]:f===2?c[1]-u[1]:u[0]-c[0]}return function(c){var u=c,f=uH(),h,d,g,y,v,b,_,x,A,k,S,T={point:M,lineStart:L,lineEnd:F,polygonStart:N,polygonEnd:C};function M(D,O){i(D,O)&&u.point(D,O)}function I(){for(var D=0,O=0,B=d.length;Or&&(gt-Y)*(r-Q)>(yt-Q)*(e-Y)&&++D:yt<=r&&(gt-Y)*(r-Q)<(yt-Q)*(e-Y)&&--D;return D}function N(){u=f,h=[],d=[],S=!0}function C(){var D=I(),O=S&&D,B=(h=wj(h)).length;(O||B)&&(c.polygonStart(),O&&(c.lineStart(),s(null,null,1,c),c.lineEnd()),B&&fH(h,a,D,s,c),c.polygonEnd()),u=c,h=d=g=null}function L(){T.point=$,d&&d.push(g=[]),k=!0,A=!1,_=x=NaN}function F(){h&&($(y,v),b&&A&&f.rejoin(),h.push(f.result())),T.point=M,A&&u.lineEnd()}function $(D,O){var B=i(D,O);if(d&&g.push([D,O]),k)y=D,v=O,b=B,k=!1,B&&(u.lineStart(),u.point(D,O));else if(B&&A)u.point(D,O);else{var V=[_=Math.max(z_,Math.min(By,_)),x=Math.max(z_,Math.min(By,x))],U=[D=Math.max(z_,Math.min(By,D)),O=Math.max(z_,Math.min(By,O))];v6t(V,U,e,t,n,r)?(A||(u.lineStart(),u.point(V[0],V[1])),u.point(U[0],U[1]),B||u.lineEnd(),S=!1):B&&(u.lineStart(),u.point(D,O),S=!1)}_=D,x=O,A=B}return T}}function dD(e,t,n){var r=Do(e,t-ke,n).concat(t);return function(i){return r.map(function(s){return[i,s]})}}function pD(e,t,n){var r=Do(e,t-ke,n).concat(t);return function(i){return r.map(function(s){return[s,i]})}}function b6t(){var e,t,n,r,i,s,o,a,l=10,c=l,u=90,f=360,h,d,g,y,v=2.5;function b(){return{type:"MultiLineString",coordinates:_()}}function _(){return Do(F_(r/u)*u,n,u).map(g).concat(Do(F_(a/f)*f,o,f).map(y)).concat(Do(F_(t/l)*l,e,l).filter(function(x){return Un(x%u)>ke}).map(h)).concat(Do(F_(s/c)*c,i,c).filter(function(x){return Un(x%f)>ke}).map(d))}return b.lines=function(){return _().map(function(x){return{type:"LineString",coordinates:x}})},b.outline=function(){return{type:"Polygon",coordinates:[g(r).concat(y(o).slice(1),g(n).reverse().slice(1),y(a).reverse().slice(1))]}},b.extent=function(x){return arguments.length?b.extentMajor(x).extentMinor(x):b.extentMinor()},b.extentMajor=function(x){return arguments.length?(r=+x[0][0],n=+x[1][0],a=+x[0][1],o=+x[1][1],r>n&&(x=r,r=n,n=x),a>o&&(x=a,a=o,o=x),b.precision(v)):[[r,a],[n,o]]},b.extentMinor=function(x){return arguments.length?(t=+x[0][0],e=+x[1][0],s=+x[0][1],i=+x[1][1],t>e&&(x=t,t=e,e=x),s>i&&(x=s,s=i,i=x),b.precision(v)):[[t,s],[e,i]]},b.step=function(x){return arguments.length?b.stepMajor(x).stepMinor(x):b.stepMinor()},b.stepMajor=function(x){return arguments.length?(u=+x[0],f=+x[1],b):[u,f]},b.stepMinor=function(x){return arguments.length?(l=+x[0],c=+x[1],b):[l,c]},b.precision=function(x){return arguments.length?(v=+x,h=dD(s,i,90),d=pD(t,e,v),g=dD(a,o,90),y=pD(r,n,v),b):v},b.extentMajor([[-180,-90+ke],[180,90-ke]]).extentMinor([[-180,-80-ke],[180,80+ke]])}function _6t(){return b6t()()}const AM=e=>e;var BT=new lc,EM=new lc,pH,gH,TM,kM,fu={point:Fo,lineStart:Fo,lineEnd:Fo,polygonStart:function(){fu.lineStart=w6t,fu.lineEnd=S6t},polygonEnd:function(){fu.lineStart=fu.lineEnd=fu.point=Fo,BT.add(Un(EM)),EM=new lc},result:function(){var e=BT/2;return BT=new lc,e}};function w6t(){fu.point=x6t}function x6t(e,t){fu.point=mH,pH=TM=e,gH=kM=t}function mH(e,t){EM.add(kM*e-TM*t),TM=e,kM=t}function S6t(){mH(pH,gH)}var Og=1/0,w2=Og,Hv=-Og,x2=Hv,S2={point:A6t,lineStart:Fo,lineEnd:Fo,polygonStart:Fo,polygonEnd:Fo,result:function(){var e=[[Og,w2],[Hv,x2]];return Hv=x2=-(w2=Og=1/0),e}};function A6t(e,t){eHv&&(Hv=e),tx2&&(x2=t)}var MM=0,IM=0,Py=0,A2=0,E2=0,C0=0,RM=0,CM=0,Uy=0,yH,vH,Ql,tc,Aa={point:sp,lineStart:gD,lineEnd:mD,polygonStart:function(){Aa.lineStart=k6t,Aa.lineEnd=M6t},polygonEnd:function(){Aa.point=sp,Aa.lineStart=gD,Aa.lineEnd=mD},result:function(){var e=Uy?[RM/Uy,CM/Uy]:C0?[A2/C0,E2/C0]:Py?[MM/Py,IM/Py]:[NaN,NaN];return MM=IM=Py=A2=E2=C0=RM=CM=Uy=0,e}};function sp(e,t){MM+=e,IM+=t,++Py}function gD(){Aa.point=E6t}function E6t(e,t){Aa.point=T6t,sp(Ql=e,tc=t)}function T6t(e,t){var n=e-Ql,r=t-tc,i=Ps(n*n+r*r);A2+=i*(Ql+e)/2,E2+=i*(tc+t)/2,C0+=i,sp(Ql=e,tc=t)}function mD(){Aa.point=sp}function k6t(){Aa.point=I6t}function M6t(){bH(yH,vH)}function I6t(e,t){Aa.point=bH,sp(yH=Ql=e,vH=tc=t)}function bH(e,t){var n=e-Ql,r=t-tc,i=Ps(n*n+r*r);A2+=i*(Ql+e)/2,E2+=i*(tc+t)/2,C0+=i,i=tc*e-Ql*t,RM+=i*(Ql+e),CM+=i*(tc+t),Uy+=i*3,sp(Ql=e,tc=t)}function _H(e){this._context=e}_H.prototype={_radius:4.5,pointRadius:function(e){return this._radius=e,this},polygonStart:function(){this._line=0},polygonEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){this._line===0&&this._context.closePath(),this._point=NaN},point:function(e,t){switch(this._point){case 0:{this._context.moveTo(e,t),this._point=1;break}case 1:{this._context.lineTo(e,t);break}default:{this._context.moveTo(e+this._radius,t),this._context.arc(e,t,this._radius,0,Yo);break}}},result:Fo};var NM=new lc,PT,wH,xH,zy,qy,Gv={point:Fo,lineStart:function(){Gv.point=R6t},lineEnd:function(){PT&&SH(wH,xH),Gv.point=Fo},polygonStart:function(){PT=!0},polygonEnd:function(){PT=null},result:function(){var e=+NM;return NM=new lc,e}};function R6t(e,t){Gv.point=SH,wH=zy=e,xH=qy=t}function SH(e,t){zy-=e,qy-=t,NM.add(Ps(zy*zy+qy*qy)),zy=e,qy=t}let yD,T2,vD,bD;class _D{constructor(t){this._append=t==null?AH:C6t(t),this._radius=4.5,this._=""}pointRadius(t){return this._radius=+t,this}polygonStart(){this._line=0}polygonEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){this._line===0&&(this._+="Z"),this._point=NaN}point(t,n){switch(this._point){case 0:{this._append`M${t},${n}`,this._point=1;break}case 1:{this._append`L${t},${n}`;break}default:{if(this._append`M${t},${n}`,this._radius!==vD||this._append!==T2){const r=this._radius,i=this._;this._="",this._append`m0,${r}a${r},${r} 0 1,1 0,${-2*r}a${r},${r} 0 1,1 0,${2*r}z`,vD=r,T2=this._append,bD=this._,this._=i}this._+=bD;break}}}result(){const t=this._;return this._="",t.length?t:null}}function AH(e){let t=1;this._+=e[0];for(const n=e.length;t=0))throw new RangeError(`invalid digits: ${e}`);if(t>15)return AH;if(t!==yD){const n=10**t;yD=t,T2=function(i){let s=1;this._+=i[0];for(const o=i.length;s=0))throw new RangeError(`invalid digits: ${a}`);n=l}return t===null&&(s=new _D(n)),o},o.projection(e).digits(n).context(t)}function k2(e){return{stream:_3(e)}}function _3(e){return function(t){var n=new $M;for(var r in e)n[r]=e[r];return n.stream=t,n}}function $M(){}$M.prototype={constructor:$M,point:function(e,t){this.stream.point(e,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function fR(e,t,n){var r=e.clipExtent&&e.clipExtent();return e.scale(150).translate([0,0]),r!=null&&e.clipExtent(null),Sf(n,e.stream(S2)),t(S2.result()),r!=null&&e.clipExtent(r),e}function hR(e,t,n){return fR(e,function(r){var i=t[1][0]-t[0][0],s=t[1][1]-t[0][1],o=Math.min(i/(r[1][0]-r[0][0]),s/(r[1][1]-r[0][1])),a=+t[0][0]+(i-o*(r[1][0]+r[0][0]))/2,l=+t[0][1]+(s-o*(r[1][1]+r[0][1]))/2;e.scale(150*o).translate([a,l])},n)}function EH(e,t,n){return hR(e,[[0,0],t],n)}function TH(e,t,n){return fR(e,function(r){var i=+t,s=i/(r[1][0]-r[0][0]),o=(i-s*(r[1][0]+r[0][0]))/2,a=-s*r[0][1];e.scale(150*s).translate([o,a])},n)}function kH(e,t,n){return fR(e,function(r){var i=+t,s=i/(r[1][1]-r[0][1]),o=-s*r[0][0],a=(i-s*(r[1][1]+r[0][1]))/2;e.scale(150*s).translate([o,a])},n)}var wD=16,N6t=Ce(30*Cn);function xD(e,t){return+t?O6t(e,t):$6t(e)}function $6t(e){return _3({point:function(t,n){t=e(t,n),this.stream.point(t[0],t[1])}})}function O6t(e,t){function n(r,i,s,o,a,l,c,u,f,h,d,g,y,v){var b=c-r,_=u-i,x=b*b+_*_;if(x>4*t&&y--){var A=o+h,k=a+d,S=l+g,T=Ps(A*A+k*k+S*S),M=vo(S/=T),I=Un(Un(S)-1)t||Un((b*F+_*$)/x-.5)>.3||o*h+a*d+l*g2?D[2]%360*Cn:0,F()):[a*zi,l*zi,c*zi]},C.angle=function(D){return arguments.length?(f=D%360*Cn,F()):f*zi},C.reflectX=function(D){return arguments.length?(h=D?-1:1,F()):h<0},C.reflectY=function(D){return arguments.length?(d=D?-1:1,F()):d<0},C.precision=function(D){return arguments.length?(S=xD(T,k=D*D),$()):Ps(k)},C.fitExtent=function(D,O){return hR(C,D,O)},C.fitSize=function(D,O){return EH(C,D,O)},C.fitWidth=function(D,O){return TH(C,D,O)},C.fitHeight=function(D,O){return kH(C,D,O)};function F(){var D=SD(n,0,0,h,d,f).apply(null,t(s,o)),O=SD(n,r-D[0],i-D[1],h,d,f);return u=cH(a,l,c),T=xM(t,O),M=xM(u,T),S=xD(T,k),$()}function $(){return I=N=null,C}return function(){return t=e.apply(this,arguments),C.invert=t.invert&&L,F()}}function dR(e){var t=0,n=rn/3,r=MH(e),i=r(t,n);return i.parallels=function(s){return arguments.length?r(t=s[0]*Cn,n=s[1]*Cn):[t*zi,n*zi]},i}function B6t(e){var t=Ce(e);function n(r,i){return[r*t,fe(i)/t]}return n.invert=function(r,i){return[r/t,vo(i*t)]},n}function P6t(e,t){var n=fe(e),r=(n+fe(t))/2;if(Un(r)=.12&&v<.234&&y>=-.425&&y<-.214?i:v>=.166&&v<.234&&y>=-.214&&y<-.115?o:n).invert(h)},u.stream=function(h){return e&&t===h?e:e=U6t([n.stream(t=h),i.stream(h),o.stream(h)])},u.precision=function(h){return arguments.length?(n.precision(h),i.precision(h),o.precision(h),f()):n.precision()},u.scale=function(h){return arguments.length?(n.scale(h),i.scale(h*.35),o.scale(h),u.translate(n.translate())):n.scale()},u.translate=function(h){if(!arguments.length)return n.translate();var d=n.scale(),g=+h[0],y=+h[1];return r=n.translate(h).clipExtent([[g-.455*d,y-.238*d],[g+.455*d,y+.238*d]]).stream(c),s=i.translate([g-.307*d,y+.201*d]).clipExtent([[g-.425*d+ke,y+.12*d+ke],[g-.214*d-ke,y+.234*d-ke]]).stream(c),a=o.translate([g-.205*d,y+.212*d]).clipExtent([[g-.214*d+ke,y+.166*d+ke],[g-.115*d-ke,y+.234*d-ke]]).stream(c),f()},u.fitExtent=function(h,d){return hR(u,h,d)},u.fitSize=function(h,d){return EH(u,h,d)},u.fitWidth=function(h,d){return TH(u,h,d)},u.fitHeight=function(h,d){return kH(u,h,d)};function f(){return e=t=null,u}return u.scale(1070)}function RH(e){return function(t,n){var r=Ce(t),i=Ce(n),s=e(r*i);return s===1/0?[2,0]:[s*i*fe(t),s*fe(n)]}}function Q1(e){return function(t,n){var r=Ps(t*t+n*n),i=e(r),s=fe(i),o=Ce(i);return[wl(t*s,r*o),vo(r&&n*s/r)]}}var CH=RH(function(e){return Ps(2/(1+e))});CH.invert=Q1(function(e){return 2*vo(e/2)});function q6t(){return Th(CH).scale(124.75).clipAngle(180-.001)}var NH=RH(function(e){return(e=sH(e))&&e/fe(e)});NH.invert=Q1(function(e){return e});function j6t(){return Th(NH).scale(79.4188).clipAngle(180-.001)}function w3(e,t){return[e,f2(cR((Zr+t)/2))]}w3.invert=function(e,t){return[e,2*vm(iH(t))-Zr]};function V6t(){return $H(w3).scale(961/Yo)}function $H(e){var t=Th(e),n=t.center,r=t.scale,i=t.translate,s=t.clipExtent,o=null,a,l,c;t.scale=function(f){return arguments.length?(r(f),u()):r()},t.translate=function(f){return arguments.length?(i(f),u()):i()},t.center=function(f){return arguments.length?(n(f),u()):n()},t.clipExtent=function(f){return arguments.length?(f==null?o=a=l=c=null:(o=+f[0][0],a=+f[0][1],l=+f[1][0],c=+f[1][1]),u()):o==null?null:[[o,a],[l,c]]};function u(){var f=rn*r(),h=t(c6t(t.rotate()).invert([0,0]));return s(o==null?[[h[0]-f,h[1]-f],[h[0]+f,h[1]+f]]:e===w3?[[Math.max(h[0]-f,o),a],[Math.min(h[0]+f,l),c]]:[[o,Math.max(h[1]-f,a)],[l,Math.min(h[1]+f,c)]])}return u()}function q_(e){return cR((Zr+e)/2)}function W6t(e,t){var n=Ce(e),r=e===t?fe(e):f2(n/Ce(t))/f2(q_(t)/q_(e)),i=n*LT(q_(e),r)/r;if(!r)return w3;function s(o,a){i>0?a<-Zr+ke&&(a=-Zr+ke):a>Zr-ke&&(a=Zr-ke);var l=i/LT(q_(a),r);return[l*fe(r*o),i-l*Ce(r*o)]}return s.invert=function(o,a){var l=i-a,c=ka(r)*Ps(o*o+l*l),u=wl(o,Un(l))*ka(l);return l*r<0&&(u-=rn*ka(o)*ka(l)),[u/r,2*vm(LT(i/c,1/r))-Zr]},s}function Y6t(){return dR(W6t).scale(109.5).parallels([30,30])}function I2(e,t){return[e,t]}I2.invert=I2;function H6t(){return Th(I2).scale(152.63)}function G6t(e,t){var n=Ce(e),r=e===t?fe(e):(n-Ce(t))/(t-e),i=n/r+e;if(Un(r)2?r[2]+90:90]):(r=n(),[r[0],r[1],r[2]-90])},n([0,0,90]).scale(159.155)}function nIt(e,t){return e.parent===t.parent?1:2}function rIt(e){return e.reduce(iIt,0)/e.length}function iIt(e,t){return e+t.x}function sIt(e){return 1+e.reduce(oIt,0)}function oIt(e,t){return Math.max(e,t.y)}function aIt(e){for(var t;t=e.children;)e=t[0];return e}function lIt(e){for(var t;t=e.children;)e=t[t.length-1];return e}function PH(){var e=nIt,t=1,n=1,r=!1;function i(s){var o,a=0;s.eachAfter(function(h){var d=h.children;d?(h.x=rIt(d),h.y=sIt(d)):(h.x=o?a+=e(h,o):0,h.y=0,o=h)});var l=aIt(s),c=lIt(s),u=l.x-e(l,c)/2,f=c.x+e(c,l)/2;return s.eachAfter(r?function(h){h.x=(h.x-s.x)*t,h.y=(s.y-h.y)*n}:function(h){h.x=(h.x-u)/(f-u)*t,h.y=(1-(s.y?h.y/s.y:1))*n})}return i.separation=function(s){return arguments.length?(e=s,i):e},i.size=function(s){return arguments.length?(r=!1,t=+s[0],n=+s[1],i):r?null:[t,n]},i.nodeSize=function(s){return arguments.length?(r=!0,t=+s[0],n=+s[1],i):r?[t,n]:null},i}function cIt(e){var t=0,n=e.children,r=n&&n.length;if(!r)t=1;else for(;--r>=0;)t+=n[r].value;e.value=t}function uIt(){return this.eachAfter(cIt)}function fIt(e,t){let n=-1;for(const r of this)e.call(t,r,++n,this);return this}function hIt(e,t){for(var n=this,r=[n],i,s,o=-1;n=r.pop();)if(e.call(t,n,++o,this),i=n.children)for(s=i.length-1;s>=0;--s)r.push(i[s]);return this}function dIt(e,t){for(var n=this,r=[n],i=[],s,o,a,l=-1;n=r.pop();)if(i.push(n),s=n.children)for(o=0,a=s.length;o=0;)n+=r[i].value;t.value=n})}function mIt(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}function yIt(e){for(var t=this,n=vIt(t,e),r=[t];t!==n;)t=t.parent,r.push(t);for(var i=r.length;e!==n;)r.splice(i,0,e),e=e.parent;return r}function vIt(e,t){if(e===t)return e;var n=e.ancestors(),r=t.ancestors(),i=null;for(e=n.pop(),t=r.pop();e===t;)i=e,e=n.pop(),t=r.pop();return i}function bIt(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}function _It(){return Array.from(this)}function wIt(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}function xIt(){var e=this,t=[];return e.each(function(n){n!==e&&t.push({source:n.parent,target:n})}),t}function*SIt(){var e=this,t,n=[e],r,i,s;do for(t=n.reverse(),n=[];e=t.pop();)if(yield e,r=e.children)for(i=0,s=r.length;i=0;--a)i.push(s=o[a]=new Lg(o[a])),s.parent=r,s.depth=r.depth+1;return n.eachBefore(zH)}function AIt(){return UH(this).eachBefore(kIt)}function EIt(e){return e.children}function TIt(e){return Array.isArray(e)?e[1]:null}function kIt(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function zH(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function Lg(e){this.data=e,this.depth=this.height=0,this.parent=null}Lg.prototype=UH.prototype={constructor:Lg,count:uIt,each:fIt,eachAfter:dIt,eachBefore:hIt,find:pIt,sum:gIt,sort:mIt,path:yIt,ancestors:bIt,descendants:_It,leaves:wIt,links:xIt,copy:AIt,[Symbol.iterator]:SIt};function UT(e){return e==null?null:MIt(e)}function MIt(e){if(typeof e!="function")throw new Error;return e}var IIt={depth:-1},AD={},zT={};function RIt(e){return e.id}function CIt(e){return e.parentId}function qH(){var e=RIt,t=CIt,n;function r(i){var s=Array.from(i),o=e,a=t,l,c,u,f,h,d,g,y,v=new Map;if(n!=null){const b=s.map((A,k)=>NIt(n(A,k,i))),_=b.map(ED),x=new Set(b).add("");for(const A of _)x.has(A)||(x.add(A),b.push(A),_.push(ED(A)),s.push(zT));o=(A,k)=>b[k],a=(A,k)=>_[k]}for(u=0,l=s.length;u=0&&(d=s[b],d.data===zT);--b)d.data=null}if(f.parent=IIt,f.eachBefore(function(b){b.depth=b.parent.depth+1,--l}).eachBefore(zH),f.parent=null,l>0)throw new Error("cycle");return f}return r.id=function(i){return arguments.length?(e=UT(i),r):e},r.parentId=function(i){return arguments.length?(t=UT(i),r):t},r.path=function(i){return arguments.length?(n=UT(i),r):n},r}function NIt(e){e=`${e}`;let t=e.length;return OM(e,t-1)&&!OM(e,t-2)&&(e=e.slice(0,-1)),e[0]==="/"?e:`/${e}`}function ED(e){let t=e.length;if(t<2)return"";for(;--t>1&&!OM(e,t););return e.slice(0,t)}function OM(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if((n&1)===0)return!0}return!1}function $It(e,t){return e.parent===t.parent?1:2}function qT(e){var t=e.children;return t?t[0]:e.t}function jT(e){var t=e.children;return t?t[t.length-1]:e.t}function OIt(e,t,n){var r=n/(t.i-e.i);t.c-=r,t.s+=n,e.c+=r,t.z+=n,t.m+=n}function LIt(e){for(var t=0,n=0,r=e.children,i=r.length,s;--i>=0;)s=r[i],s.z+=t,s.m+=t,t+=s.s+(n+=s.c)}function DIt(e,t,n){return e.a.parent===t.parent?e.a:n}function Dw(e,t){this._=e,this.parent=null,this.children=null,this.A=null,this.a=this,this.z=0,this.m=0,this.c=0,this.s=0,this.t=null,this.i=t}Dw.prototype=Object.create(Lg.prototype);function FIt(e){for(var t=new Dw(e,0),n,r=[t],i,s,o,a;n=r.pop();)if(s=n._.children)for(n.children=new Array(a=s.length),o=a-1;o>=0;--o)r.push(i=n.children[o]=new Dw(s[o],o)),i.parent=n;return(t.parent=new Dw(null,0)).children=[t],t}function C2(){var e=$It,t=1,n=1,r=null;function i(c){var u=FIt(c);if(u.eachAfter(s),u.parent.m=-u.z,u.eachBefore(o),r)c.eachBefore(l);else{var f=c,h=c,d=c;c.eachBefore(function(_){_.xh.x&&(h=_),_.depth>d.depth&&(d=_)});var g=f===h?1:e(f,h)/2,y=g-f.x,v=t/(h.x+g+y),b=n/(d.depth||1);c.eachBefore(function(_){_.x=(_.x+y)*v,_.y=_.depth*b})}return c}function s(c){var u=c.children,f=c.parent.children,h=c.i?f[c.i-1]:null;if(u){LIt(c);var d=(u[0].z+u[u.length-1].z)/2;h?(c.z=h.z+e(c._,h._),c.m=c.z-d):c.z=d}else h&&(c.z=h.z+e(c._,h._));c.parent.A=a(c,h,c.parent.A||f[0])}function o(c){c._.x=c.z+c.parent.m,c.m+=c.parent.m}function a(c,u,f){if(u){for(var h=c,d=c,g=u,y=h.parent.children[0],v=h.m,b=d.m,_=g.m,x=y.m,A;g=jT(g),h=qT(h),g&&h;)y=qT(y),d=jT(d),d.a=c,A=g.z+_-h.z-v+e(g._,h._),A>0&&(OIt(DIt(g,c,f),c,A),v+=A,b+=A),_+=g.m,v+=h.m,x+=y.m,b+=d.m;g&&!jT(d)&&(d.t=g,d.m+=_-b),h&&!qT(y)&&(y.t=h,y.m+=v-x,f=c)}return f}function l(c){c.x*=t,c.y=c.depth*n}return i.separation=function(c){return arguments.length?(e=c,i):e},i.size=function(c){return arguments.length?(r=!1,t=+c[0],n=+c[1],i):r?null:[t,n]},i.nodeSize=function(c){return arguments.length?(r=!0,t=+c[0],n=+c[1],i):r?[t,n]:null},i}const BIt=1664525,PIt=1013904223,TD=1/4294967296;function pR(e=Math.random()){let t=(0<=e&&e<1?e/TD:Math.abs(e))|0;return()=>(t=BIt*t+PIt|0,TD*(t>>>0))}function Ni(e){return function(){return e}}const jH=Math.cos,gR=Math.min,N2=Math.sin,Ei=Math.sqrt,kD=1e-12,$2=Math.PI,x3=2*$2;function VH(e){let t=3;return e.digits=function(n){if(!arguments.length)return t;if(n==null)t=null;else{const r=Math.floor(n);if(!(r>=0))throw new RangeError(`invalid digits: ${n}`);t=r}return e},()=>new nH(t)}function WH(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function YH(e){this._context=e}YH.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function tb(e){return new YH(e)}function HH(e){return e[0]}function GH(e){return e[1]}function XH(e,t){var n=Ni(!0),r=null,i=tb,s=null,o=VH(a);e=typeof e=="function"?e:e===void 0?HH:Ni(e),t=typeof t=="function"?t:t===void 0?GH:Ni(t);function a(l){var c,u=(l=WH(l)).length,f,h=!1,d;for(r==null&&(s=i(d=o())),c=0;c<=u;++c)!(c=d;--g)a.point(x[g],A[g]);a.lineEnd(),a.areaEnd()}b&&(x[h]=+e(v,h,f),A[h]=+t(v,h,f),a.point(r?+r(v,h,f):x[h],n?+n(v,h,f):A[h]))}if(_)return a=null,_+""||null}function u(){return XH().defined(i).curve(o).context(s)}return c.x=function(f){return arguments.length?(e=typeof f=="function"?f:Ni(+f),r=null,c):e},c.x0=function(f){return arguments.length?(e=typeof f=="function"?f:Ni(+f),c):e},c.x1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:Ni(+f),c):r},c.y=function(f){return arguments.length?(t=typeof f=="function"?f:Ni(+f),n=null,c):t},c.y0=function(f){return arguments.length?(t=typeof f=="function"?f:Ni(+f),c):t},c.y1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:Ni(+f),c):n},c.lineX0=c.lineY0=function(){return u().x(e).y(t)},c.lineY1=function(){return u().x(e).y(n)},c.lineX1=function(){return u().x(r).y(t)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:Ni(!!f),c):i},c.curve=function(f){return arguments.length?(o=f,s!=null&&(a=o(s)),c):o},c.context=function(f){return arguments.length?(f==null?s=a=null:a=o(s=f),c):s},c}class KH{constructor(t,n){this._context=t,this._x=n}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,n){switch(t=+t,n=+n,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,n):this._context.moveTo(t,n);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,n,t,n):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+n)/2,t,this._y0,t,n);break}}this._x0=t,this._y0=n}}function UIt(e){return new KH(e,!0)}function zIt(e){return new KH(e,!1)}const qIt=Ei(3),JH={draw(e,t){const n=Ei(t+gR(t/28,.75))*.59436,r=n/2,i=r*qIt;e.moveTo(0,n),e.lineTo(0,-n),e.moveTo(-i,-r),e.lineTo(i,r),e.moveTo(-i,r),e.lineTo(i,-r)}},Xv={draw(e,t){const n=Ei(t/$2);e.moveTo(n,0),e.arc(0,0,n,0,x3)}},ZH={draw(e,t){const n=Ei(t/5)/2;e.moveTo(-3*n,-n),e.lineTo(-n,-n),e.lineTo(-n,-3*n),e.lineTo(n,-3*n),e.lineTo(n,-n),e.lineTo(3*n,-n),e.lineTo(3*n,n),e.lineTo(n,n),e.lineTo(n,3*n),e.lineTo(-n,3*n),e.lineTo(-n,n),e.lineTo(-3*n,n),e.closePath()}},QH=Ei(1/3),jIt=QH*2,tG={draw(e,t){const n=Ei(t/jIt),r=n*QH;e.moveTo(0,-n),e.lineTo(r,0),e.lineTo(0,n),e.lineTo(-r,0),e.closePath()}},eG={draw(e,t){const n=Ei(t)*.62625;e.moveTo(0,-n),e.lineTo(n,0),e.lineTo(0,n),e.lineTo(-n,0),e.closePath()}},nG={draw(e,t){const n=Ei(t-gR(t/7,2))*.87559;e.moveTo(-n,0),e.lineTo(n,0),e.moveTo(0,n),e.lineTo(0,-n)}},rG={draw(e,t){const n=Ei(t),r=-n/2;e.rect(r,r,n,n)}},iG={draw(e,t){const n=Ei(t)*.4431;e.moveTo(n,n),e.lineTo(n,-n),e.lineTo(-n,-n),e.lineTo(-n,n),e.closePath()}},VIt=.8908130915292852,sG=N2($2/10)/N2(7*$2/10),WIt=N2(x3/10)*sG,YIt=-jH(x3/10)*sG,oG={draw(e,t){const n=Ei(t*VIt),r=WIt*n,i=YIt*n;e.moveTo(0,-n),e.lineTo(r,i);for(let s=1;s<5;++s){const o=x3*s/5,a=jH(o),l=N2(o);e.lineTo(l*n,-a*n),e.lineTo(a*r-l*i,l*r+a*i)}e.closePath()}},VT=Ei(3),aG={draw(e,t){const n=-Ei(t/(VT*3));e.moveTo(0,n*2),e.lineTo(-VT*n,-n),e.lineTo(VT*n,-n),e.closePath()}},HIt=Ei(3),lG={draw(e,t){const n=Ei(t)*.6824,r=n/2,i=n*HIt/2;e.moveTo(0,-n),e.lineTo(i,r),e.lineTo(-i,r),e.closePath()}},oa=-.5,aa=Ei(3)/2,LM=1/Ei(12),GIt=(LM/2+1)*3,cG={draw(e,t){const n=Ei(t/GIt),r=n/2,i=n*LM,s=r,o=n*LM+n,a=-s,l=o;e.moveTo(r,i),e.lineTo(s,o),e.lineTo(a,l),e.lineTo(oa*r-aa*i,aa*r+oa*i),e.lineTo(oa*s-aa*o,aa*s+oa*o),e.lineTo(oa*a-aa*l,aa*a+oa*l),e.lineTo(oa*r+aa*i,oa*i-aa*r),e.lineTo(oa*s+aa*o,oa*o-aa*s),e.lineTo(oa*a+aa*l,oa*l-aa*a),e.closePath()}},uG={draw(e,t){const n=Ei(t-gR(t/6,1.7))*.6189;e.moveTo(-n,-n),e.lineTo(n,n),e.moveTo(-n,n),e.lineTo(n,-n)}},XIt=[Xv,ZH,tG,rG,oG,aG,cG],KIt=[Xv,nG,uG,lG,JH,iG,eG];function oh(){}function O2(e,t,n){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+n)/6)}function S3(e){this._context=e}S3.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:O2(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:O2(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function JIt(e){return new S3(e)}function fG(e){this._context=e}fG.prototype={areaStart:oh,areaEnd:oh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:O2(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function ZIt(e){return new fG(e)}function hG(e){this._context=e}hG.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var n=(this._x0+4*this._x1+e)/6,r=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(n,r):this._context.moveTo(n,r);break;case 3:this._point=4;default:O2(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function QIt(e){return new hG(e)}function dG(e,t){this._basis=new S3(e),this._beta=t}dG.prototype={lineStart:function(){this._x=[],this._y=[],this._basis.lineStart()},lineEnd:function(){var e=this._x,t=this._y,n=e.length-1;if(n>0)for(var r=e[0],i=t[0],s=e[n]-r,o=t[n]-i,a=-1,l;++a<=n;)l=a/n,this._basis.point(this._beta*e[a]+(1-this._beta)*(r+l*s),this._beta*t[a]+(1-this._beta)*(i+l*o));this._x=this._y=null,this._basis.lineEnd()},point:function(e,t){this._x.push(+e),this._y.push(+t)}};const tRt=(function e(t){function n(r){return t===1?new S3(r):new dG(r,t)}return n.beta=function(r){return e(+r)},n})(.85);function L2(e,t,n){e._context.bezierCurveTo(e._x1+e._k*(e._x2-e._x0),e._y1+e._k*(e._y2-e._y0),e._x2+e._k*(e._x1-t),e._y2+e._k*(e._y1-n),e._x2,e._y2)}function yR(e,t){this._context=e,this._k=(1-t)/6}yR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:L2(this,this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2,this._x1=e,this._y1=t;break;case 2:this._point=3;default:L2(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const eRt=(function e(t){function n(r){return new yR(r,t)}return n.tension=function(r){return e(+r)},n})(0);function vR(e,t){this._context=e,this._k=(1-t)/6}vR.prototype={areaStart:oh,areaEnd:oh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:L2(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const nRt=(function e(t){function n(r){return new vR(r,t)}return n.tension=function(r){return e(+r)},n})(0);function bR(e,t){this._context=e,this._k=(1-t)/6}bR.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:L2(this,e,t);break}this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const rRt=(function e(t){function n(r){return new bR(r,t)}return n.tension=function(r){return e(+r)},n})(0);function _R(e,t,n){var r=e._x1,i=e._y1,s=e._x2,o=e._y2;if(e._l01_a>kD){var a=2*e._l01_2a+3*e._l01_a*e._l12_a+e._l12_2a,l=3*e._l01_a*(e._l01_a+e._l12_a);r=(r*a-e._x0*e._l12_2a+e._x2*e._l01_2a)/l,i=(i*a-e._y0*e._l12_2a+e._y2*e._l01_2a)/l}if(e._l23_a>kD){var c=2*e._l23_2a+3*e._l23_a*e._l12_a+e._l12_2a,u=3*e._l23_a*(e._l23_a+e._l12_a);s=(s*c+e._x1*e._l23_2a-t*e._l12_2a)/u,o=(o*c+e._y1*e._l23_2a-n*e._l12_2a)/u}e._context.bezierCurveTo(r,i,s,o,e._x2,e._y2)}function pG(e,t){this._context=e,this._alpha=t}pG.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x2,this._y2);break;case 3:this.point(this._x2,this._y2);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3;default:_R(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const iRt=(function e(t){function n(r){return t?new pG(r,t):new yR(r,0)}return n.alpha=function(r){return e(+r)},n})(.5);function gG(e,t){this._context=e,this._alpha=t}gG.prototype={areaStart:oh,areaEnd:oh,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._x5=this._y0=this._y1=this._y2=this._y3=this._y4=this._y5=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x3,this._y3),this._context.closePath();break}case 2:{this._context.lineTo(this._x3,this._y3),this._context.closePath();break}case 3:{this.point(this._x3,this._y3),this.point(this._x4,this._y4),this.point(this._x5,this._y5);break}}},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1,this._x3=e,this._y3=t;break;case 1:this._point=2,this._context.moveTo(this._x4=e,this._y4=t);break;case 2:this._point=3,this._x5=e,this._y5=t;break;default:_R(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const sRt=(function e(t){function n(r){return t?new gG(r,t):new vR(r,0)}return n.alpha=function(r){return e(+r)},n})(.5);function mG(e,t){this._context=e,this._alpha=t}mG.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._x2=this._y0=this._y1=this._y2=NaN,this._l01_a=this._l12_a=this._l23_a=this._l01_2a=this._l12_2a=this._l23_2a=this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){if(e=+e,t=+t,this._point){var n=this._x2-e,r=this._y2-t;this._l23_a=Math.sqrt(this._l23_2a=Math.pow(n*n+r*r,this._alpha))}switch(this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3,this._line?this._context.lineTo(this._x2,this._y2):this._context.moveTo(this._x2,this._y2);break;case 3:this._point=4;default:_R(this,e,t);break}this._l01_a=this._l12_a,this._l12_a=this._l23_a,this._l01_2a=this._l12_2a,this._l12_2a=this._l23_2a,this._x0=this._x1,this._x1=this._x2,this._x2=e,this._y0=this._y1,this._y1=this._y2,this._y2=t}};const oRt=(function e(t){function n(r){return t?new mG(r,t):new bR(r,0)}return n.alpha=function(r){return e(+r)},n})(.5);function yG(e){this._context=e}yG.prototype={areaStart:oh,areaEnd:oh,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function aRt(e){return new yG(e)}function MD(e){return e<0?-1:1}function ID(e,t,n){var r=e._x1-e._x0,i=t-e._x1,s=(e._y1-e._y0)/(r||i<0&&-0),o=(n-e._y1)/(i||r<0&&-0),a=(s*i+o*r)/(r+i);return(MD(s)+MD(o))*Math.min(Math.abs(s),Math.abs(o),.5*Math.abs(a))||0}function RD(e,t){var n=e._x1-e._x0;return n?(3*(e._y1-e._y0)/n-t)/2:t}function WT(e,t,n){var r=e._x0,i=e._y0,s=e._x1,o=e._y1,a=(s-r)/3;e._context.bezierCurveTo(r+a,i+a*t,s-a,o-a*n,s,o)}function D2(e){this._context=e}D2.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:WT(this,this._t0,RD(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var n=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,WT(this,RD(this,n=ID(this,e,t)),n);break;default:WT(this,this._t0,n=ID(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=n}}};function vG(e){this._context=new bG(e)}(vG.prototype=Object.create(D2.prototype)).point=function(e,t){D2.prototype.point.call(this,t,e)};function bG(e){this._context=e}bG.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,n,r,i,s){this._context.bezierCurveTo(t,e,r,n,s,i)}};function lRt(e){return new D2(e)}function cRt(e){return new vG(e)}function _G(e){this._context=e}_G.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,n=e.length;if(n)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),n===2)this._context.lineTo(e[1],t[1]);else for(var r=CD(e),i=CD(t),s=0,o=1;o=0;--t)i[t]=(o[t]-i[t+1])/s[t];for(s[n-1]=(e[n]+i[n-1])/2,t=0;t=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var n=this._x*(1-this._t)+e*this._t;this._context.lineTo(n,this._y),this._context.lineTo(n,t)}break}}this._x=e,this._y=t}};function fRt(e){return new A3(e,.5)}function hRt(e){return new A3(e,0)}function dRt(e){return new A3(e,1)}const j_=e=>()=>e;function pRt(e,{sourceEvent:t,target:n,transform:r,dispatch:i}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},transform:{value:r,enumerable:!0,configurable:!0},_:{value:i}})}function ic(e,t,n){this.k=e,this.x=t,this.y=n}ic.prototype={constructor:ic,scale:function(e){return e===1?this:new ic(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new ic(this.k,this.x+this.k*e,this.y+this.k*t)},apply:function(e){return[e[0]*this.k+this.x,e[1]*this.k+this.y]},applyX:function(e){return e*this.k+this.x},applyY:function(e){return e*this.k+this.y},invert:function(e){return[(e[0]-this.x)/this.k,(e[1]-this.y)/this.k]},invertX:function(e){return(e-this.x)/this.k},invertY:function(e){return(e-this.y)/this.k},rescaleX:function(e){return e.copy().domain(e.range().map(this.invertX,this).map(e.invert,e))},rescaleY:function(e){return e.copy().domain(e.range().map(this.invertY,this).map(e.invert,e))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var wG=new ic(1,0,0);ic.prototype;function YT(e){e.stopImmediatePropagation()}function fy(e){e.preventDefault(),e.stopImmediatePropagation()}function gRt(e){return(!e.ctrlKey||e.type==="wheel")&&!e.button}function mRt(){var e=this;return e instanceof SVGElement?(e=e.ownerSVGElement||e,e.hasAttribute("viewBox")?(e=e.viewBox.baseVal,[[e.x,e.y],[e.x+e.width,e.y+e.height]]):[[0,0],[e.width.baseVal.value,e.height.baseVal.value]]):[[0,0],[e.clientWidth,e.clientHeight]]}function ND(){return this.__zoom||wG}function yRt(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function vRt(){return navigator.maxTouchPoints||"ontouchstart"in this}function bRt(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],s=e.invertY(t[0][1])-n[0][1],o=e.invertY(t[1][1])-n[1][1];return e.translate(i>r?(r+i)/2:Math.min(0,r)||Math.max(0,i),o>s?(s+o)/2:Math.min(0,s)||Math.max(0,o))}function _Rt(){var e=gRt,t=mRt,n=bRt,r=yRt,i=vRt,s=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],a=250,l=I2t,c=g3("start","zoom","end"),u,f,h,d=500,g=150,y=0,v=10;function b($){$.property("__zoom",ND).on("wheel.zoom",M,{passive:!1}).on("mousedown.zoom",I).on("dblclick.zoom",N).filter(i).on("touchstart.zoom",C).on("touchmove.zoom",L).on("touchend.zoom touchcancel.zoom",F).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}b.transform=function($,D,O,B){var V=$.selection?$.selection():$;V.property("__zoom",ND),$!==V?k($,D,O,B):V.interrupt().each(function(){S(this,arguments).event(B).start().zoom(null,typeof D=="function"?D.apply(this,arguments):D).end()})},b.scaleBy=function($,D,O,B){b.scaleTo($,function(){var V=this.__zoom.k,U=typeof D=="function"?D.apply(this,arguments):D;return V*U},O,B)},b.scaleTo=function($,D,O,B){b.transform($,function(){var V=t.apply(this,arguments),U=this.__zoom,q=O==null?A(V):typeof O=="function"?O.apply(this,arguments):O,z=U.invert(q),Y=typeof D=="function"?D.apply(this,arguments):D;return n(x(_(U,Y),q,z),V,o)},O,B)},b.translateBy=function($,D,O,B){b.transform($,function(){return n(this.__zoom.translate(typeof D=="function"?D.apply(this,arguments):D,typeof O=="function"?O.apply(this,arguments):O),t.apply(this,arguments),o)},null,B)},b.translateTo=function($,D,O,B,V){b.transform($,function(){var U=t.apply(this,arguments),q=this.__zoom,z=B==null?A(U):typeof B=="function"?B.apply(this,arguments):B;return n(wG.translate(z[0],z[1]).scale(q.k).translate(typeof D=="function"?-D.apply(this,arguments):-D,typeof O=="function"?-O.apply(this,arguments):-O),U,o)},B,V)};function _($,D){return D=Math.max(s[0],Math.min(s[1],D)),D===$.k?$:new ic(D,$.x,$.y)}function x($,D,O){var B=D[0]-O[0]*$.k,V=D[1]-O[1]*$.k;return B===$.x&&V===$.y?$:new ic($.k,B,V)}function A($){return[(+$[0][0]+ +$[1][0])/2,(+$[0][1]+ +$[1][1])/2]}function k($,D,O,B){$.on("start.zoom",function(){S(this,arguments).event(B).start()}).on("interrupt.zoom end.zoom",function(){S(this,arguments).event(B).end()}).tween("zoom",function(){var V=this,U=arguments,q=S(V,U).event(B),z=t.apply(V,U),Y=O==null?A(z):typeof O=="function"?O.apply(V,U):O,Q=Math.max(z[1][0]-z[0][0],z[1][1]-z[0][1]),gt=V.__zoom,yt=typeof D=="function"?D.apply(V,U):D,pt=l(gt.invert(Y).concat(Q/gt.k),yt.invert(Y).concat(Q/yt.k));return function(lt){if(lt===1)lt=yt;else{var ft=pt(lt),J=Q/ft[2];lt=new ic(J,Y[0]-ft[0]*J,Y[1]-ft[1]*J)}q.zoom(null,lt)}})}function S($,D,O){return!O&&$.__zooming||new T($,D)}function T($,D){this.that=$,this.args=D,this.active=0,this.sourceEvent=null,this.extent=t.apply($,D),this.taps=0}T.prototype={event:function($){return $&&(this.sourceEvent=$),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function($,D){return this.mouse&&$!=="mouse"&&(this.mouse[1]=D.invert(this.mouse[0])),this.touch0&&$!=="touch"&&(this.touch0[1]=D.invert(this.touch0[0])),this.touch1&&$!=="touch"&&(this.touch1[1]=D.invert(this.touch1[0])),this.that.__zoom=D,this.emit("zoom"),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit("end")),this},emit:function($){var D=Ar(this.that).datum();c.call($,this.that,new pRt($,{sourceEvent:this.sourceEvent,target:b,transform:this.that.__zoom,dispatch:c}),D)}};function M($,...D){if(!e.apply(this,arguments))return;var O=S(this,D).event($),B=this.__zoom,V=Math.max(s[0],Math.min(s[1],B.k*Math.pow(2,r.apply(this,arguments)))),U=Qa($);if(O.wheel)(O.mouse[0][0]!==U[0]||O.mouse[0][1]!==U[1])&&(O.mouse[1]=B.invert(O.mouse[0]=U)),clearTimeout(O.wheel);else{if(B.k===V)return;O.mouse=[U,B.invert(U)],eg(this),O.start()}fy($),O.wheel=setTimeout(q,g),O.zoom("mouse",n(x(_(B,V),O.mouse[0],O.mouse[1]),O.extent,o));function q(){O.wheel=null,O.end()}}function I($,...D){if(h||!e.apply(this,arguments))return;var O=$.currentTarget,B=S(this,D,!0).event($),V=Ar($.view).on("mousemove.zoom",Y,!0).on("mouseup.zoom",Q,!0),U=Qa($,O),q=$.clientX,z=$.clientY;YY($.view),YT($),B.mouse=[U,this.__zoom.invert(U)],eg(this),B.start();function Y(gt){if(fy(gt),!B.moved){var yt=gt.clientX-q,pt=gt.clientY-z;B.moved=yt*yt+pt*pt>y}B.event(gt).zoom("mouse",n(x(B.that.__zoom,B.mouse[0]=Qa(gt,O),B.mouse[1]),B.extent,o))}function Q(gt){V.on("mousemove.zoom mouseup.zoom",null),HY(gt.view,B.moved),fy(gt),B.event(gt).end()}}function N($,...D){if(e.apply(this,arguments)){var O=this.__zoom,B=Qa($.changedTouches?$.changedTouches[0]:$,this),V=O.invert(B),U=O.k*($.shiftKey?.5:2),q=n(x(_(O,U),B,V),t.apply(this,D),o);fy($),a>0?Ar(this).transition().duration(a).call(k,q,B,$):Ar(this).call(b.transform,q,B,$)}}function C($,...D){if(e.apply(this,arguments)){var O=$.touches,B=O.length,V=S(this,D,$.changedTouches.length===B).event($),U,q,z,Y;for(YT($),q=0;q0&&isFinite(e)?e:NaN}function E3(e){return e<0&&isFinite(e)?e:NaN}function wRt(e,t){if(e instanceof Date||(e=new Date(+e)),isNaN(e))return typeof t=="function"?t(e):t;const n=e.getUTCHours(),r=e.getUTCMinutes(),i=e.getUTCSeconds(),s=e.getUTCMilliseconds();return`${xRt(e.getUTCFullYear())}-${ou(e.getUTCMonth()+1,2)}-${ou(e.getUTCDate(),2)}${n||r||i||s?`T${ou(n,2)}:${ou(r,2)}${i||s?`:${ou(i,2)}${s?`.${ou(s,3)}`:""}`:""}Z`:""}`}function xRt(e){return e<0?`-${ou(-e,6)}`:e>9999?`+${ou(e,6)}`:ou(e,4)}function ou(e,t){return`${e}`.padStart(t,"0")}const SRt=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function xG(e,t){return SRt.test(e+="")?new Date(e):typeof t=="function"?t(e):t}function Dg(e){if(e==null)return;const t=e[0],n=e[e.length-1];return Kd(t,n)}const N0=1e3,$f=N0*60,Of=$f*60,xc=Of*24,Vl=xc*7,Nd=xc*30,bf=xc*365,HT=[["millisecond",1],["2 milliseconds",2],["5 milliseconds",5],["10 milliseconds",10],["20 milliseconds",20],["50 milliseconds",50],["100 milliseconds",100],["200 milliseconds",200],["500 milliseconds",500],["second",N0],["5 seconds",5*N0],["15 seconds",15*N0],["30 seconds",30*N0],["minute",$f],["5 minutes",5*$f],["15 minutes",15*$f],["30 minutes",30*$f],["hour",Of],["3 hours",3*Of],["6 hours",6*Of],["12 hours",12*Of],["day",xc],["2 days",2*xc],["week",Vl],["2 weeks",2*Vl],["month",Nd],["3 months",3*Nd],["6 months",6*Nd],["year",bf],["2 years",2*bf],["5 years",5*bf],["10 years",10*bf],["20 years",20*bf],["50 years",50*bf],["100 years",100*bf]],xR=new Map([["second",N0],["minute",$f],["hour",Of],["day",xc],["monday",Vl],["tuesday",Vl],["wednesday",Vl],["thursday",Vl],["friday",Vl],["saturday",Vl],["sunday",Vl],["week",Vl],["month",Nd],["year",bf]]),SG=new Map([["second",sl],["minute",F1],["hour",P1],["day",yp],["monday",Fv],["tuesday",Kj],["wednesday",Jj],["thursday",tp],["friday",Zj],["saturday",Qj],["sunday",Mg],["week",Mg],["month",z1],["year",vl]]),SR=new Map([["second",sl],["minute",B1],["hour",U1],["day",n3],["monday",Bv],["tuesday",tV],["wednesday",eV],["thursday",ep],["friday",nV],["saturday",rV],["sunday",Ig],["week",Ig],["month",q1],["year",bl]]),eb=Symbol("intervalDuration"),T3=Symbol("intervalType");for(const[e,t]of SG)t[eb]=xR.get(e),t[T3]="time";for(const[e,t]of SR)t[eb]=xR.get(e),t[T3]="utc";const jy=[["year",bl,"utc"],["month",q1,"utc"],["day",n3,"utc",6*Nd],["hour",U1,"utc",3*xc],["minute",B1,"utc",6*Of],["second",sl,"utc",30*$f]],Fw=[["year",vl,"time"],["month",z1,"time"],["day",yp,"time",6*Nd],["hour",P1,"time",3*xc],["minute",F1,"time",6*Of],["second",sl,"time",30*$f]],ARt=[jy[0],Fw[0],jy[1],Fw[1],jy[2],Fw[2],...jy.slice(3)];function AR(e){let t=`${e}`.toLowerCase();t.endsWith("s")&&(t=t.slice(0,-1));let n=1;const r=/^(?:(\d+)\s+)/.exec(t);switch(r&&(t=t.slice(r[0].length),n=+r[1]),t){case"quarter":t="month",n*=3;break;case"half":t="month",n*=6;break}let i=SR.get(t);if(!i)throw new Error(`unknown interval: ${e}`);if(n>1&&!i.every)throw new Error(`non-periodic interval: ${t}`);return[t,n]}function ER(e){return AG(AR(e),"time")}function k3(e){return AG(AR(e),"utc")}function AG([e,t],n){let r=(n==="time"?SG:SR).get(e);return t>1&&(r=r.every(t),r[eb]=xR.get(e)*t,r[T3]=n),r}function $D(e,t){if(!(t>1))return;const n=e[eb];if(!HT.some(([,i])=>i===n)||n%xc===0&&xcMath.log(i)).center(HT,Math.log(n*t))];return(e[T3]==="time"?ER:k3)(r)}function OD(e,t,n){const r=t==="time"?TI:j1;if(n==null)return r(e==="year"?"%Y":e==="month"?"%Y-%m":e==="day"?"%Y-%m-%d":e==="hour"||e==="minute"?"%Y-%m-%dT%H:%M":e==="second"?"%Y-%m-%dT%H:%M:%S":"%Y-%m-%dT%H:%M:%S.%L");const i=ERt(n);switch(e){case"millisecond":return c0(r(".%L"),r(":%M:%S"),i);case"second":return c0(r(":%S"),r("%-I:%M"),i);case"minute":return c0(r("%-I:%M"),r("%p"),i);case"hour":return c0(r("%-I %p"),r("%b %-d"),i);case"day":return c0(r("%-d"),r("%b"),i);case"month":return c0(r("%b"),r("%Y"),i);case"year":return r("%Y")}throw new Error("unable to format time ticks")}function ERt(e){return e==="left"||e==="right"?(t,n)=>` ${t} ${n}`:e==="top"?(t,n)=>`${n} ${t}`:(t,n)=>`${t} ${n}`}function TRt(e){return e==="time"?Fw:e==="utc"?jy:ARt}function kRt(e,t,n){const r=Yr(Yxt(t,(i,s)=>Math.abs(s-i)));if(r<1e3)return OD("millisecond","utc",n);for(const[i,s,o,a]of TRt(e)){if(r>a||i==="hour"&&!r)break;if(t.every(l=>s.floor(l)>=l))return OD(i,o,n)}}function c0(e,t,n){return(r,i,s)=>{const o=e(r,i),a=t(r,i),l=i-Dg(s);return i!==l&&s[l]!==void 0&&a===t(s[l],l)?o:n(o,a)}}const M3=Object.getPrototypeOf(Uint8Array),MRt=Object.prototype.toString;function Gu(e){return e instanceof Array||e instanceof M3}function EG(e){return e instanceof M3&&!IRt(e)}function TG(e){return e?.prototype instanceof M3&&!RRt(e)}function IRt(e){return e instanceof BigInt64Array||e instanceof BigUint64Array}function RRt(e){return e===BigInt64Array||e===BigUint64Array}const kG=Symbol("reindex");function an(e,t,n){const r=typeof t;return r==="string"?zG(e)?TR(e.getChild(t),n):LD(e,MG(t),n):r==="function"?LD(e,t,n):r==="number"||t instanceof Date||r==="boolean"?gr(e,Wi(t),n):typeof t?.transform=="function"?DM(t.transform(e),n):CRt(DM(t,n),e?.[kG])}function CRt(e,t){return e!=null&&t?R3(e,t):e}function LD(e,t,n){return gr(e,TG(n)?(r,i)=>IR(t(r,i)):t,n)}function DM(e,t){return t===void 0?kh(e):qG(e)?TR(e,t):e instanceof t?e:t.from(e,TG(t)&&!EG(e)?IR:void 0)}function TR(e,t){return e==null?e:(t===void 0||t===Array)&&WRt(e.type)?IG(DD(e)):DM(DD(e),t)}function DD(e){return e.nullCount?e.toJSON():e.toArray()}const ov=[null],MG=e=>t=>{const n=t[e];return n===void 0&&t.type==="Feature"?t.properties?.[e]:n},gi={transform:Xu},he={transform:e=>e},kR=()=>1,NRt=()=>!0,Vi=e=>e==null?e:`${e}`,Tr=e=>e==null?e:+e,I3=e=>e?e[0]:void 0,Kv=e=>e?e[1]:void 0,$Rt=e=>e?e[2]:void 0,Wi=e=>()=>e;function MR(e){const t=+`${e}`.slice(1)/100;return(n,r)=>nh(n,t,r)}function uo(e){return EG(e)?e:gr(e,IR,Float64Array)}function IR(e){return e==null?NaN:Number(e)}function IG(e){return gr(e,RG)}function RG(e){return e instanceof Date&&!isNaN(e)?e:typeof e=="string"?xG(e):e==null||isNaN(e=Number(e))?void 0:new Date(e)}function Us(e,t){return e===void 0&&(e=t),e===null?[void 0,"none"]:nb(e)?[void 0,e]:[e,void 0]}function oi(e,t){return e===void 0&&(e=t),e===null||typeof e=="number"?[void 0,e]:[e,void 0]}function CG(e,t,n){if(e!=null)return Xo(e,t,n)}function Xo(e,t,n){const r=`${e}`.toLowerCase();if(!n.includes(r))throw new Error(`invalid ${t}: ${e}`);return r}function Fg(e){return zG(e)?e:kh(e)}function kh(e){if(e==null||Gu(e))return e;if(qG(e))return TR(e);if(NG(e))switch(e.type){case"FeatureCollection":return e.features;case"GeometryCollection":return e.geometries;default:return[e]}return Array.from(e)}function NG(e){switch(e?.type){case"FeatureCollection":case"GeometryCollection":case"Feature":case"LineString":case"MultiLineString":case"MultiPoint":case"MultiPolygon":case"Point":case"Polygon":case"Sphere":return!0;default:return!1}}function gr(e,t,n=Array){return e==null?e:e instanceof n?e.map(t):n.from(e,t)}function Jv(e,t=Array){return e instanceof t?e.slice():t.from(e)}function $G({x:e,x1:t,x2:n}){return e!==void 0||t!==void 0||n!==void 0}function OG({y:e,y1:t,y2:n}){return e!==void 0||t!==void 0||n!==void 0}function bm(e){return $G(e)||OG(e)||e.interval!==void 0}function Ko(e){return e?.toString===MRt}function $d(e){return Ko(e)&&(e.type!==void 0||e.domain!==void 0)}function Hl(e){return Ko(e)&&typeof e.transform!="function"}function ah(e){return Hl(e)&&e.value===void 0&&e.channel===void 0}function LG(e,t,n,r=he){return t===void 0&&n===void 0?(t=0,n=e===void 0?r:e):t===void 0?t=e===void 0?0:e:n===void 0&&(n=e===void 0?0:e),[t,n]}function Rl(e,t){return e===void 0&&t===void 0?[I3,Kv]:[e,t]}function Mh({z:e,fill:t,stroke:n}={}){return e===void 0&&([e]=Us(t)),e===void 0&&([e]=Us(n)),e}function Zv(e){return Gu(e)?e.length:e?.numRows}function Xu(e){const t=Zv(e),n=new Uint32Array(t);for(let r=0;re[n],e.constructor):gr(t,n=>e.at(n))}function RR(e){return e.length===1?(t,n)=>e(R3(n,t)):e}function Od(e,t,n){return e.subarray?e.subarray(t,n):e.slice(t,n)}function yu(e){return e!==null&&typeof e=="object"?e.valueOf():e}function DG(e,t){if(t[e]!==void 0)return t[e];switch(e){case"x1":case"x2":e="x";break;case"y1":case"y2":e="y";break}return t[e]}function Bo(e){let t;return[{transform:()=>t,label:Nc(e)},n=>t=n]}function Qs(e){return e==null?[e]:Bo(e)}function Nc(e,t){return typeof e=="string"?e:e&&e.label!==void 0?e.label:t}function P2(e,t){return{transform(n){const r=e.transform(n),i=t.transform(n);return zs(r)||zs(i)?gr(r,(s,o)=>new Date((+r[o]+ +i[o])/2)):gr(r,(s,o)=>(+r[o]+ +i[o])/2,Float64Array)},label:e.label}}function U2(e,t){const n=FG(t?.interval,t?.type);return n?gr(e,n):e}function FG(e,t){const n=C3(e,t);return n&&(r=>Hi(r)?n.floor(r):r)}function C3(e,t){if(e!=null){if(typeof e=="number")return BG(e);if(typeof e=="string")return(t==="time"?ER:k3)(e);if(typeof e.floor!="function")throw new Error("invalid interval; missing floor method");if(typeof e.offset!="function")throw new Error("invalid interval; missing offset method");return e}}function BG(e){e=+e,0Math.floor(n*t)/t,offset:(n,r=1)=>(n*t+Math.floor(r))/t,range:(n,r)=>Do(Math.ceil(n*t),r*t).map(i=>i/t)}:{floor:n=>Math.floor(n/t)*t,offset:(n,r=1)=>n+t*Math.floor(r),range:(n,r)=>Do(Math.ceil(n/t),r/t).map(i=>i*t)}}function _m(e,t){if(e=C3(e,t),e&&typeof e.range!="function")throw new Error("invalid interval: missing range method");return e}function ORt(e,t){if(e=_m(e,t),e&&typeof e.ceil!="function")throw new Error("invalid interval: missing ceil method");return e}function LRt(e){return $0(e)&&typeof e?.floor=="function"&&e.floor()instanceof Date}function $0(e){return typeof e?.range=="function"}function wm(e){return e===void 0||Hl(e)?e:{value:e}}function DRt(e){return e==null?null:{transform:t=>an(t,e,Float64Array),label:Nc(e)}}function FRt(e){if(!Ku(e))return!1;for(const t of e)if(t!=null)return typeof t=="object"&&"0"in t&&"1"in t}function Ku(e){return e&&typeof e[Symbol.iterator]=="function"}function PG(e){for(const t of e)if(t!=null)return typeof t!="object"||t instanceof Date}function Xr(e){for(const t of e){if(t==null)continue;const n=typeof t;return n==="string"||n==="boolean"}}function zs(e){for(const t of e)if(t!=null)return t instanceof Date}function BRt(e){for(const t of e)if(t!=null)return typeof t=="string"&&isNaN(t)&&xG(t)}function PRt(e){for(const t of e)if(t!=null){if(typeof t!="string")return!1;if(t.trim())return!isNaN(t)}}function O0(e){for(const t of e)if(t!=null)return typeof t=="number"}function GT(e,t){let n;for(const r of e)if(r!=null){if(!t(r))return!1;n=!0}return n}const URt=new Set("none,currentcolor,transparent,aliceblue,antiquewhite,aqua,aquamarine,azure,beige,bisque,black,blanchedalmond,blue,blueviolet,brown,burlywood,cadetblue,chartreuse,chocolate,coral,cornflowerblue,cornsilk,crimson,cyan,darkblue,darkcyan,darkgoldenrod,darkgray,darkgreen,darkgrey,darkkhaki,darkmagenta,darkolivegreen,darkorange,darkorchid,darkred,darksalmon,darkseagreen,darkslateblue,darkslategray,darkslategrey,darkturquoise,darkviolet,deeppink,deepskyblue,dimgray,dimgrey,dodgerblue,firebrick,floralwhite,forestgreen,fuchsia,gainsboro,ghostwhite,gold,goldenrod,gray,green,greenyellow,grey,honeydew,hotpink,indianred,indigo,ivory,khaki,lavender,lavenderblush,lawngreen,lemonchiffon,lightblue,lightcoral,lightcyan,lightgoldenrodyellow,lightgray,lightgreen,lightgrey,lightpink,lightsalmon,lightseagreen,lightskyblue,lightslategray,lightslategrey,lightsteelblue,lightyellow,lime,limegreen,linen,magenta,maroon,mediumaquamarine,mediumblue,mediumorchid,mediumpurple,mediumseagreen,mediumslateblue,mediumspringgreen,mediumturquoise,mediumvioletred,midnightblue,mintcream,mistyrose,moccasin,navajowhite,navy,oldlace,olive,olivedrab,orange,orangered,orchid,palegoldenrod,palegreen,paleturquoise,palevioletred,papayawhip,peachpuff,peru,pink,plum,powderblue,purple,rebeccapurple,red,rosybrown,royalblue,saddlebrown,salmon,sandybrown,seagreen,seashell,sienna,silver,skyblue,slateblue,slategray,slategrey,snow,springgreen,steelblue,tan,teal,thistle,tomato,turquoise,violet,wheat,white,whitesmoke,yellow".split(","));function nb(e){return typeof e!="string"?!1:(e=e.toLowerCase().trim(),/^#[0-9a-f]{3,8}$/.test(e)||/^(?:url|var|rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.*\)$/.test(e)||URt.has(e))}function zRt(e){return typeof e=="number"&&(0<=e&&e<=1||isNaN(e))}function $r(e){return e==null||Bg(e)}function Bg(e){return/^\s*none\s*$/i.test(e)}function qRt(e){return/^\s*round\s*$/i.test(e)}function FM(e,t){return CG(e,t,["middle","top-left","top","top-right","right","bottom-right","bottom","bottom-left","left"])}function rb(e="middle"){return FM(e,"frameAnchor")}function jRt(e={},...t){let n=e;for(const r of t)for(const i in r)if(n[i]===void 0){const s=r[i];n===e?n={...n,[i]:s}:n[i]=s}return n}function VRt(e){console.warn("named iterables are deprecated; please use an object instead");const t=new Set;return Object.fromEntries(Array.from(e,n=>{const{name:r}=n;if(r==null)throw new Error("missing name");const i=`${r}`;if(i==="__proto__")throw new Error(`illegal name: ${i}`);if(t.has(i))throw new Error(`duplicate name: ${i}`);return t.add(i),[r,n]}))}function CR(e){return Ku(e)?VRt(e):e}function UG(e){return e===!0?e="frame":e===!1?e=null:!NG(e)&&e!=null&&(e=Xo(e,"clip",["frame","sphere"]),e==="sphere"&&(e={type:"Sphere"})),e}function zG(e){return e&&typeof e.getChild=="function"&&typeof e.toArray=="function"&&e.schema&&Array.isArray(e.schema.fields)}function qG(e){return e&&typeof e.toArray=="function"&&e.type}function WRt(e){return e&&(e.typeId===8||e.typeId===10)&&e.unit===1}const sc=Symbol("position"),Ju=Symbol("color"),ib=Symbol("radius"),sb=Symbol("length"),ob=Symbol("opacity"),N3=Symbol("symbol"),jG=Symbol("projection"),Vr=new Map([["x",sc],["y",sc],["fx",sc],["fy",sc],["r",ib],["color",Ju],["opacity",ob],["symbol",N3],["length",sb],["projection",jG]]);function YRt(e){return e===sc||e===jG}function HRt(e){return e===sc||e===ib||e===sb||e===ob}const VG=Math.sqrt(3),WG=2/VG,GRt={draw(e,t){const n=Math.sqrt(t/Math.PI),r=n*WG,i=r/2;e.moveTo(0,r),e.lineTo(n,i),e.lineTo(n,-i),e.lineTo(0,-r),e.lineTo(-n,-i),e.lineTo(-n,i),e.closePath()}},NR=new Map([["asterisk",JH],["circle",Xv],["cross",ZH],["diamond",tG],["diamond2",eG],["hexagon",GRt],["plus",nG],["square",rG],["square2",iG],["star",oG],["times",uG],["triangle",aG],["triangle2",lG],["wye",cG]]);function $R(e){return e&&typeof e.draw=="function"}function XRt(e){return $R(e)?!0:typeof e!="string"?!1:NR.has(e.toLowerCase())}function OR(e){if(e==null||$R(e))return e;const t=NR.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid symbol: ${e}`)}function KRt(e){if(e==null||$R(e))return[void 0,e];if(typeof e=="string"){const t=NR.get(`${e}`.toLowerCase());if(t)return[void 0,t]}return[e,void 0]}function Cl({filter:e,sort:t,reverse:n,transform:r,initializer:i,...s}={},o){if(r===void 0&&(e!=null&&(r=LR(e)),t!=null&&!ah(t)&&(r=XT(r,FR(t))),n&&(r=XT(r,DR))),o!=null&&i!=null)throw new Error("transforms cannot be applied after initializers");return{...s,...(t===null||ah(t))&&{sort:t},transform:XT(r,o)}}function gs({filter:e,sort:t,reverse:n,initializer:r,...i}={},s){return r===void 0&&(e!=null&&(r=LR(e)),t!=null&&!ah(t)&&(r=KT(r,FR(t))),n&&(r=KT(r,DR))),{...i,...(t===null||ah(t))&&{sort:t},initializer:KT(r,s)}}function XT(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(n,r,i){return{data:n,facets:r}=e.call(this,n,r,i),t.call(this,Fg(n),r,i)}}function KT(e,t){return e==null?t===null?void 0:t:t==null?e===null?void 0:e:function(n,r,i,...s){let o,a,l,c,u,f;return{data:a=n,facets:l=r,channels:o}=e.call(this,n,r,i,...s),{data:u=a,facets:f=l,channels:c}=t.call(this,a,l,{...i,...o},...s),{data:u,facets:f,channels:{...o,...c}}}}function $3(e,t){return(e.initializer!=null?gs:Cl)(e,t)}function JRt(e,t){return $3(t,LR(e))}function LR(e){return(t,n)=>{const r=an(t,e);return{data:t,facets:n.map(i=>i.filter(s=>r[s]))}}}function ZRt({sort:e,...t}={}){return{...$3(t,DR),sort:ah(e)?e:null}}function DR(e,t){return{data:e,facets:t.map(n=>n.slice().reverse())}}function QRt({seed:e,sort:t,...n}={}){return{...$3(n,HG(e==null?Math.random:pR(e))),sort:ah(t)?t:null}}function YG(e,{sort:t,...n}={}){return{...(Hl(e)&&e.channel!==void 0?gs:$3)(n,FR(e)),sort:ah(t)?t:null}}function FR(e){return(typeof e=="function"&&e.length!==1?tCt:HG)(e)}function tCt(e){return(t,n)=>{const r=Gu(t)?(i,s)=>e(t[i],t[s]):(i,s)=>e(t.get(i),t.get(s));return{data:t,facets:n.map(i=>i.slice().sort(r))}}}function HG(e){let t,n;({channel:t,value:e,order:n}={...wm(e)});const r=t?.startsWith("-");if(r&&(t=t.slice(1)),n===void 0&&(n=r?F2:za),typeof n!="function")switch(`${n}`.toLowerCase()){case"ascending":n=za;break;case"descending":n=F2;break;default:throw new Error(`invalid order: ${n}`)}return(i,s,o)=>{let a;if(t===void 0)a=an(i,e);else{if(o===void 0)throw new Error("channel sort requires an initializer");if(a=o[t],!a)return{};a=a.value}const l=(c,u)=>n(a[c],a[u]);return{data:i,facets:s.map(c=>c.slice().sort(l))}}}function BR(e,t){return O3(null,null,e,t)}function Qv(e={y:"count"},t={}){const{x:n=he}=t;if(n==null)throw new Error("missing channel: x");return O3(n,null,e,t)}function t1(e={x:"count"},t={}){const{y:n=he}=t;if(n==null)throw new Error("missing channel: y");return O3(null,n,e,t)}function PR(e={fill:"count"},t={}){let{x:n,y:r}=t;if([n,r]=Rl(n,r),n==null)throw new Error("missing channel: x");if(r==null)throw new Error("missing channel: y");return O3(n,r,e,t)}function O3(e,t,{data:n=jR,filter:r,sort:i,reverse:s,...o}={},a={}){o=XG(o,a),n=ZG(n,he),i=i==null?void 0:KG("sort",i,a),r=r==null?void 0:JG("filter",r,a);const[l,c]=Qs(e),[u,f]=Qs(t),{z:h,fill:d,stroke:g,x1:y,x2:v,y1:b,y2:_,...x}=a,[A,k]=Qs(h),[S]=Us(d),[T]=Us(g),[M,I]=Qs(S),[N,C]=Qs(T);return{..."z"in a&&{z:A||h},..."fill"in a&&{fill:M||d},..."stroke"in a&&{stroke:N||g},...Cl(x,(L,F,$)=>{const D=U2(an(L,e),$?.x),O=U2(an(L,t),$?.y),B=an(L,h),V=an(L,S),U=an(L,T),q=qR(o,{z:B,fill:V,stroke:U}),z=[],Y=[],Q=D&&c([]),gt=O&&f([]),yt=B&&k([]),pt=V&&I([]),lt=U&&C([]);let ft=0;for(const J of o)J.initialize(L);i&&i.initialize(L),r&&r.initialize(L);for(const J of F){const et=[];for(const vt of o)vt.scope("facet",J);i&&i.scope("facet",J),r&&r.scope("facet",J);for(const[vt,at]of Ld(J,q))for(const[kt,Mt]of Ld(at,O))for(const[Bt,Ut]of Ld(Mt,D)){const St={data:L};if(D&&(St.x=Bt),O&&(St.y=kt),q&&(St.z=vt),!(r&&!r.reduce(Ut,St))){et.push(ft++),Y.push(n.reduceIndex(Ut,L,St)),D&&Q.push(Bt),O&>.push(kt),B&&yt.push(q===B?vt:B[Ut[0]]),V&&pt.push(q===V?vt:V[Ut[0]]),U&<.push(q===U?vt:U[Ut[0]]);for(const jt of o)jt.reduce(Ut,St);i&&i.reduce(Ut,St)}}z.push(et)}return QG(z,i,s),{data:Y,facets:z}}),...!Lf(o,"x")&&(l?{x:l}:{x1:y,x2:v}),...!Lf(o,"y")&&(u?{y:u}:{y1:b,y2:_}),...Object.fromEntries(o.map(({name:L,output:F})=>[L,F]))}}function Lf(e,...t){for(const{name:n}of e)if(t.includes(n))return!0;return!1}function GG(e,t,n=UR){const r=Object.entries(e);return t.title!=null&&e.title===void 0&&r.push(["title",oCt]),t.href!=null&&e.href===void 0&&r.push(["href",VR]),r.filter(([,i])=>i!==void 0).map(([i,s])=>s===null?eCt(i):n(i,s,t))}function UR(e,t,n,r=zR){let i;Ko(t)&&"reduce"in t&&(i=t.scale,t=t.reduce);const s=r(e,t,n),[o,a]=Bo(s.label);let l;return{name:e,output:i===void 0?o:{value:o,scale:i},initialize(c){s.initialize(c),l=a([])},scope(c,u){s.scope(c,u)},reduce(c,u){l.push(s.reduce(c,u))}}}function eCt(e){return{name:e,initialize(){},scope(){},reduce(){}}}function zR(e,t,n,r=L3){const i=DG(e,n),s=r(t,i);let o,a;return{label:Nc(s===z2?null:i,s.label),initialize(l){o=i===void 0?l:an(l,i),s.scope==="data"&&(a=s.reduceIndex(Xu(l),o))},scope(l,c){s.scope===l&&(a=s.reduceIndex(c,o))},reduce(l,c){return s.scope==null?s.reduceIndex(l,o,c):s.reduceIndex(l,o,a,c)}}}function Ld(e,t){return t?wh(e,n=>t[n]):[[,e]]}function L3(e,t,n=nCt){if(e==null)return n(e);if(typeof e.reduceIndex=="function")return e;if(typeof e.reduce=="function"&&Ko(e))return iCt(e);if(typeof e=="function")return sCt(e);if(/^p\d{2}$/i.test(e))return eu(MR(e));switch(`${e}`.toLowerCase()){case"first":return VR;case"last":return aCt;case"identity":return jR;case"count":return z2;case"distinct":return lCt;case"sum":return t==null?z2:cCt;case"proportion":return BD(t,"data");case"proportion-facet":return BD(t,"facet");case"deviation":return eu(N1);case"min":return eu(Or);case"min-index":return eu(qxt);case"max":return eu(Yr);case"max-index":return eu(zxt);case"mean":return FD(XS);case"median":return FD(Ov);case"variance":return eu(fI);case"mode":return eu(xj)}return n(e)}function nCt(e){throw new Error(`invalid reduce: ${e}`)}function XG(e,t){return GG(e,t,KG)}function KG(e,t,n){return UR(e,t,n,JG)}function JG(e,t,n){return zR(e,t,n,ZG)}function ZG(e,t){return L3(e,t,rCt)}function rCt(e){switch(`${e}`.toLowerCase()){case"x":return uCt;case"y":return fCt;case"z":return tX}throw new Error(`invalid group reduce: ${e}`)}function qR(e,t){for(const n in t){const r=t[n];if(r!==void 0&&!e.some(i=>i.name===n))return r}}function QG(e,t,n){if(t){const r=t.output.transform(),i=(s,o)=>za(r[s],r[o]);e.forEach(s=>s.sort(i))}n&&e.forEach(r=>r.reverse())}function iCt(e){return console.warn("deprecated reduce interface; implement reduceIndex instead."),{...e,reduceIndex:e.reduce.bind(e)}}function sCt(e){return{reduceIndex(t,n,r){return e(R3(n,t),r)}}}function eu(e){return{reduceIndex(t,n){return e(t,r=>n[r])}}}function FD(e){return{reduceIndex(t,n){const r=e(t,i=>n[i]);return zs(n)?new Date(r):r}}}const jR={reduceIndex(e,t){return R3(t,e)}},VR={reduceIndex(e,t){return t[e[0]]}},oCt={reduceIndex(e,t){const r=Ux(Y0(e,s=>s.length,s=>t[s]),Kv),i=r.slice(-5).reverse();if(i.length`${s} (${o.toLocaleString("en-US")})`).join(` `)}},aCt={reduceIndex(e,t){return t[e[e.length-1]]}},z2={label:"Frequency",reduceIndex(e){return e.length}},lCt={label:"Distinct",reduceIndex(e,t){const n=new um;for(const r of e)n.add(t[r]);return n.size}},cCt=eu(ml);function BD(e,t){return e==null?{scope:t,label:"Frequency",reduceIndex:(n,r,i=1)=>n.length/i}:{scope:t,reduceIndex:(n,r,i=1)=>ml(n,s=>r[s])/i}}const uCt={reduceIndex(e,t,{x:n}){return n}},fCt={reduceIndex(e,t,{y:n}){return n}},tX={reduceIndex(e,t,{z:n}){return n}};function hCt(e){if(typeof e!="function")throw new Error(`invalid test function: ${e}`);return{reduceIndex(t,n,{data:r}){return n[t.find(Gu(r)?i=>e(r[i],i,r):i=>e(r.get(i),i,r))]}}}function e1(e,{scale:t,type:n,value:r,filter:i,hint:s,label:o=Nc(r)},a){return s===void 0&&typeof r?.transform=="function"&&(s=r.hint),nX(a,{scale:t,type:n,value:an(e,r),label:o,filter:i,hint:s})}function eX(e,t){return Object.fromEntries(Object.entries(e).map(([n,r])=>[n,e1(t,r,n)]))}function D3(e,t){const n=Object.fromEntries(Object.entries(e).map(([r,{scale:i,value:s}])=>{const o=i==null?null:t[i];return[r,o==null?s:gr(s,o)]}));return n.channels=e,n}function nX(e,t){const{scale:n,value:r}=t;if(n===!0||n==="auto")switch(e){case"fill":case"stroke":case"color":t.scale=n!==!0&>(r,nb)?null:"color",t.defaultScale="color";break;case"fillOpacity":case"strokeOpacity":case"opacity":t.scale=n!==!0&>(r,zRt)?null:"opacity",t.defaultScale="opacity";break;case"symbol":n!==!0&>(r,XRt)?(t.scale=null,t.value=gr(r,OR)):t.scale="symbol",t.defaultScale="symbol";break;default:t.scale=Vr.has(e)?e:null;break}else if(n===!1)t.scale=null;else if(n!=null&&!Vr.has(n))throw new Error(`unknown scale: ${n}`);return t}function dCt(e,t,n,r,i){const{order:s,reverse:o,reduce:a=!0,limit:l}=i;for(const c in i){if(!Vr.has(c))continue;let{value:u,order:f=s,reverse:h=o,reduce:d=a,limit:g=l}=wm(i[c]);const y=u?.startsWith("-");if(y&&(u=u.slice(1)),f=f===void 0?y!==(u==="width"||u==="height")?iX:rX:mCt(f),d==null||d===!1)continue;const v=c==="fx"||c==="fy"?gCt(t,r[c]):pCt(n,c);if(!v)throw new Error(`missing channel for scale: ${c}`);const b=v.value,[_=0,x=1/0]=Ku(g)?g:g<0?[g]:[0,g];if(u==null)v.domain=()=>{let A=Array.from(new um(b));return h&&(A=A.reverse()),(_!==0||x!==1/0)&&(A=A.slice(_,x)),A};else{const A=u==="data"?e:u==="height"?PD(n,"y1","y2"):u==="width"?PD(n,"x1","x2"):BM(n,u,u==="y"?"y2":u==="x"?"x2":void 0),k=L3(d===!0?"max":d,A);v.domain=()=>{let S=Dxt(Xu(b),T=>k.reduceIndex(T,A),T=>b[T]);return f&&S.sort(f),h&&S.reverse(),(_!==0||x!==1/0)&&(S=S.slice(_,x)),S.map(I3)}}}}function pCt(e,t){for(const n in e){const r=e[n];if(r.scale===t)return r}}function gCt(e,t){const n=e.original;if(n===e)return t;const r=t.value,i=t.value=[];for(let s=0;sMath.abs(s-r[o]),Float64Array)}function BM(e,t,n){let r=e[t];if(!r&&n!==void 0&&(r=e[n]),r)return r.value;throw new Error(`missing channel: ${t}`)}function mCt(e){if(e==null||typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"ascending":return rX;case"descending":return iX}throw new Error(`invalid order: ${e}`)}function rX([e,t],[n,r]){return za(t,r)||za(e,n)}function iX([e,t],[n,r]){return F2(t,r)||za(e,n)}function PM(e,t){let n=e[t];if(n){for(;n.source;)n=n.source;return n.source===null?null:n}}const sX=new Map([["accent",r3t],["category10",n3t],["dark2",i3t],["observable10",s3t],["paired",o3t],["pastel1",a3t],["pastel2",l3t],["set1",c3t],["set2",u3t],["set3",f3t],["tableau10",h3t]]);function yCt(e){return e!=null&&sX.has(`${e}`.toLowerCase())}const UD=new Map([...sX,["brbg",Kc(gV,mV)],["prgn",Kc(yV,vV)],["piyg",Kc(bV,_V)],["puor",Kc(wV,xV)],["rdbu",Kc(W4,Hx)],["rdgy",Kc(SV,AV)],["rdylbu",Kc(Y4,Gx)],["rdylgn",Kc(EV,TV)],["spectral",Kc(kV,MV)],["burd",zD(W4,Hx)],["buylrd",zD(Y4,Gx)],["blues",Ii(JV,ZV)],["greens",Ii(QV,tW)],["greys",Ii(eW,nW)],["oranges",Ii(aW,lW)],["purples",Ii(rW,iW)],["reds",Ii(sW,oW)],["turbo",Jc(RI)],["viridis",Jc(gW)],["magma",Jc(mW)],["inferno",Jc(o3)],["plasma",Jc(yW)],["cividis",Jc(cW)],["cubehelix",Jc(uW)],["warm",Jc(fW)],["cool",Jc(hW)],["bugn",Ii(IV,RV)],["bupu",Ii(CV,NV)],["gnbu",Ii($V,OV)],["orrd",Ii(LV,DV)],["pubu",Ii(BV,PV)],["pubugn",Ii(FV,MI)],["purd",Ii(UV,zV)],["rdpu",Ii(qV,jV)],["ylgn",Ii(WV,YV)],["ylgnbu",Ii(VV,II)],["ylorbr",Ii(HV,GV)],["ylorrd",Ii(XV,KV)],["rainbow",qD(dW)],["sinebow",qD(pW)]]);function Ii(e,t){return({length:n})=>n===1?[e[3][1]]:n===2?[e[3][1],e[3][2]]:(n=Math.max(3,Math.floor(n)),n>9?yl(t,n):e[n])}function Kc(e,t){return({length:n})=>n===2?[e[3][0],e[3][2]]:(n=Math.max(3,Math.floor(n)),n>11?yl(t,n):e[n])}function zD(e,t){return({length:n})=>n===2?[e[3][2],e[3][0]]:(n=Math.max(3,Math.floor(n)),n>11?yl(r=>t(1-r),n):e[n].slice().reverse())}function Jc(e){return({length:t})=>yl(e,Math.max(2,Math.floor(t)))}function qD(e){return({length:t})=>yl(e,Math.floor(t)+1).slice(0,-1)}function oX(e){const t=`${e}`.toLowerCase();if(!UD.has(t))throw new Error(`unknown ordinal scheme: ${t}`);return UD.get(t)}function F3(e,t){const n=oX(e),r=typeof n=="function"?n({length:t}):n;return r.length!==t?r.slice(0,t):r}function vCt(e,t="greys"){const n=new Set,[r,i]=F3(t,2);for(const s of e)if(s!=null)if(s===!0)n.add(i);else if(s===!1)n.add(r);else return;return[...n]}const jD=new Map([["brbg",mV],["prgn",vV],["piyg",_V],["puor",xV],["rdbu",Hx],["rdgy",AV],["rdylbu",Gx],["rdylgn",TV],["spectral",MV],["burd",e=>Hx(1-e)],["buylrd",e=>Gx(1-e)],["blues",ZV],["greens",tW],["greys",nW],["purples",iW],["reds",oW],["oranges",lW],["turbo",RI],["viridis",gW],["magma",mW],["inferno",o3],["plasma",yW],["cividis",cW],["cubehelix",uW],["warm",fW],["cool",hW],["bugn",RV],["bupu",NV],["gnbu",OV],["orrd",DV],["pubugn",MI],["pubu",PV],["purd",zV],["rdpu",jV],["ylgnbu",II],["ylgn",YV],["ylorbr",GV],["ylorrd",KV],["rainbow",dW],["sinebow",pW]]);function WR(e){const t=`${e}`.toLowerCase();if(!jD.has(t))throw new Error(`unknown quantitative scheme: ${t}`);return jD.get(t)}const bCt=new Set(["brbg","prgn","piyg","puor","rdbu","rdgy","rdylbu","rdylgn","spectral","burd","buylrd"]);function _Ct(e){return e!=null&&bCt.has(`${e}`.toLowerCase())}const aX=e=>t=>e(1-t),JT=[0,1],VD=new Map([["number",ts],["rgb",Qd],["hsl",C2t],["hcl",O2t],["lab",N2t]]);function lX(e){const t=`${e}`.toLowerCase();if(!VD.has(t))throw new Error(`unknown interpolator: ${t}`);return VD.get(t)}function ab(e,t,n,{type:r,nice:i,clamp:s,zero:o,domain:a=uX(e,n),unknown:l,round:c,scheme:u,interval:f,range:h=Vr.get(e)===ib?CCt(n,a):Vr.get(e)===sb?NCt(n,a):Vr.get(e)===ob?JT:void 0,interpolate:d=Vr.get(e)===Ju?u==null&&h!==void 0?Qd:WR(u!==void 0?u:r==="cyclical"?"rainbow":"turbo"):c?xI:ts,reverse:g}){if(a=WD(a),f=_m(f,r),(r==="cyclical"||r==="sequential")&&(r="linear"),typeof d!="function"&&(d=lX(d)),g=!!g,h!==void 0){const y=a.length,v=(h=WD(h)).length;if(y!==v){if(d.length===1)throw new Error("invalid piecewise interpolator");d=QS(d,h),h=void 0}}if(d.length===1?(g&&(d=aX(d),g=!1),h===void 0&&(h=Float64Array.from(a,(y,v)=>v/(a.length-1)),h.length===2&&(h=JT)),t.interpolate((h===JT?Wi:HR)(d))):t.interpolate(d),o){const[y,v]=pi(a);(y>0||v<0)&&(a=Jv(a),(Dg(a)||1)===Math.sign(y)?a[0]=0:a[a.length-1]=0)}return g&&(a=qx(a)),t.domain(a).unknown(l),i&&(t.nice(wCt(i,r)),a=t.domain()),h!==void 0&&t.range(h),s&&t.clamp(s),{type:r,domain:a,range:h,scale:t,interpolate:d,interval:f}}function WD(e){return e=kh(e),e.length>=2?e:[e[0],e[0]]}function wCt(e,t){return e===!0?void 0:typeof e=="number"?e:ORt(e,t)}function xCt(e,t,n){return ab(e,Vu(),t,n)}function SCt(e,t,n){return cX(e,t,{...n,exponent:.5})}function cX(e,t,{exponent:n=1,...r}){return ab(e,Hj().exponent(n),t,{...r,type:"pow"})}function ACt(e,t,{base:n=10,domain:r=$Ct(t),...i}){return ab(e,kg().base(n),t,{...i,domain:r})}function ECt(e,t,{constant:n=1,...r}){return ab(e,AI().constant(n),t,r)}function TCt(e,t,{range:n,quantiles:r=n===void 0?5:(n=[...n]).length,n:i=r,scheme:s="rdylbu",domain:o=OCt(t),unknown:a,interpolate:l,reverse:c}){return n===void 0&&(n=l!==void 0?yl(l,i):Vr.get(e)===Ju?F3(s,i):void 0),o.length>0&&(o=Gj(o,n===void 0?{length:i}:n).quantiles()),YR(e,t,{domain:o,range:n,reverse:c,unknown:a})}function kCt(e,t,{range:n,n:r=n===void 0?5:(n=[...n]).length,scheme:i="rdylbu",domain:s=uX(e,t),unknown:o,interpolate:a,reverse:l}){const[c,u]=pi(s);let f;return n===void 0?(f=eh(c,u,r),f[0]<=c&&f.splice(0,1),f[f.length-1]>=u&&f.pop(),r=f.length+1,n=a!==void 0?yl(a,r):Vr.get(e)===Ju?F3(i,r):void 0):(f=yl(ts(c,u),r+1).slice(1,-1),c instanceof Date&&(f=f.map(h=>new Date(h)))),Dg(kh(s))<0&&f.reverse(),YR(e,t,{domain:f,range:n,reverse:l,unknown:o})}function YR(e,t,{domain:n=[0],unknown:r,scheme:i="rdylbu",interpolate:s,range:o=s!==void 0?yl(s,n.length+1):Vr.get(e)===Ju?F3(i,n.length+1):void 0,reverse:a}){n=kh(n);const l=Dg(n);if(!isNaN(l)&&!MCt(n,l))throw new Error(`the ${e} scale has a non-monotonic domain`);return a&&(o=qx(o)),{type:"threshold",scale:Xj(l<0?qx(n):n,o===void 0?[]:o).unknown(r),domain:n,range:o}}function MCt(e,t){for(let n=1,r=e.length,i=e[0];nt}}function n1(e,t=B2){return e.length?[Or(e,({value:n})=>n===void 0?n:Or(n,t)),Yr(e,({value:n})=>n===void 0?n:Yr(n,t))]:[0,1]}function uX(e,t){const n=Vr.get(e);return(n===ib||n===ob||n===sb?RCt:n1)(t)}function RCt(e){return[0,e.length?Yr(e,({value:t})=>t===void 0?t:Yr(t,B2)):1]}function CCt(e,t){const n=e.find(({radius:o})=>o!==void 0);if(n!==void 0)return[0,n.radius];const r=nh(e,.5,({value:o})=>o===void 0?NaN:nh(o,.25,Eu)),i=t.map(o=>3*Math.sqrt(o/r)),s=30/Yr(i);return s<1?i.map(o=>o*s):i}function NCt(e,t){const n=Ov(e,({value:s})=>s===void 0?NaN:Ov(s,Math.abs)),r=t.map(s=>12*s/n),i=60/Yr(r);return i<1?r.map(s=>s*i):r}function $Ct(e){for(const{value:t}of e)if(t!==void 0)for(let n of t){if(n>0)return n1(e,Eu);if(n<0)return n1(e,E3)}return[1,10]}function OCt(e){const t=[];for(const{value:n}of e)if(n!==void 0)for(const r of n)t.push(r);return t}function HR(e){return(t,n)=>r=>e(t+r*(n-t))}let UM=0,zM;function LCt(){const e=UM;return UM=0,zM=void 0,e}function Tu(e){e!==zM&&(zM=e,console.warn(e),++UM)}function B3(e,t,n,r,{type:i,nice:s,clamp:o,domain:a=n1(r),unknown:l,pivot:c=0,scheme:u,range:f,symmetric:h=!0,interpolate:d=Vr.get(e)===Ju?u==null&&f!==void 0?Qd:WR(u!==void 0?u:"rdbu"):ts,reverse:g}){c=+c,a=kh(a);let[y,v]=a;if(a.length>2&&Tu(`Warning: the diverging ${e} scale domain contains extra elements.`),Kd(y,v)<0&&([y,v]=[v,y],g=!g),y=Math.min(y,c),v=Math.max(v,c),typeof d!="function"&&(d=lX(d)),f!==void 0&&(d=d.length===1?HR(d)(...f):QS(d,f)),g&&(d=aX(d)),h){const b=n.apply(c),_=b-n.apply(y),x=n.apply(v)-b;_x&&(v=n.invert(b+_))}return t.domain([y,c,v]).unknown(l).interpolator(d),o&&t.clamp(o),s&&t.nice(s),{type:i,domain:[y,v],pivot:c,interpolate:d,scale:t}}function DCt(e,t,n){return B3(e,uV(),UCt,t,n)}function FCt(e,t,n){return fX(e,t,{...n,exponent:.5})}function fX(e,t,{exponent:n=1,...r}){return B3(e,dV().exponent(n=+n),jCt(n),t,{...r,type:"diverging-pow"})}function BCt(e,t,{base:n=10,pivot:r=1,domain:i=n1(t,r<0?E3:Eu),...s}){return B3(e,fV().base(n=+n),zCt,t,{domain:i,pivot:r,...s})}function PCt(e,t,{constant:n=1,...r}){return B3(e,hV().constant(n=+n),VCt(n),t,r)}const UCt={apply(e){return e},invert(e){return e}},zCt={apply:Math.log,invert:Math.exp},qCt={apply(e){return Math.sign(e)*Math.sqrt(Math.abs(e))},invert(e){return Math.sign(e)*(e*e)}};function jCt(e){return e===.5?qCt:{apply(t){return Math.sign(t)*Math.pow(Math.abs(t),e)},invert(t){return Math.sign(t)*Math.pow(Math.abs(t),1/e)}}}function VCt(e){return{apply(t){return Math.sign(t)*Math.log1p(Math.abs(t/e))},invert(t){return Math.sign(t)*Math.expm1(Math.abs(t))*e}}}function hX(e,t,n,r){return ab(e,t,n,r)}function WCt(e,t,n){return hX(e,QSt(),t,n)}function YCt(e,t,n){return hX(e,t3t(),t,n)}const lb=Symbol("ordinal");function dX(e,t,n,{type:r,interval:i,domain:s,range:o,reverse:a,hint:l}){return i=_m(i,r),s===void 0&&(s=gX(n,i,e)),(r==="categorical"||r===lb)&&(r="ordinal"),a&&(s=qx(s)),s=t.domain(s).domain(),o!==void 0&&(typeof o=="function"&&(o=o(s)),t.range(o)),{type:r,domain:s,range:o,scale:t,hint:l,interval:i}}function HCt(e,t,{type:n,interval:r,domain:i,range:s,scheme:o,unknown:a,...l}){r=_m(r,n),i===void 0&&(i=gX(t,r,e));let c;if(Vr.get(e)===N3)c=KCt(t),s=s===void 0?JCt(c):gr(s,OR);else if(Vr.get(e)===Ju&&(s===void 0&&(n==="ordinal"||n===lb)&&(s=vCt(i,o),s!==void 0&&(o=void 0)),o===void 0&&s===void 0&&(o=n==="ordinal"?"turbo":"observable10"),o!==void 0))if(s!==void 0){const u=WR(o),f=s[0],h=s[1]-s[0];s=({length:d})=>yl(g=>u(f+h*g),d)}else s=oX(o);if(a===B4)throw new Error(`implicit unknown on ${e} scale is not supported`);return dX(e,yI().unknown(a),t,{...l,type:n,domain:i,range:s,hint:c})}function GCt(e,t,{align:n=.5,padding:r=.5,...i}){return pX(Xxt().align(n).padding(r),t,i,e)}function XCt(e,t,{align:n=.5,padding:r=.1,paddingInner:i=r,paddingOuter:s=e==="fx"||e==="fy"?0:r,...o}){return pX($1().align(n).paddingInner(i).paddingOuter(s),t,o,e)}function pX(e,t,n,r){let{round:i}=n;return i!==void 0&&e.round(i=!!i),e=dX(r,e,t,n),e.round=i,e}function gX(e,t,n){const r=new um;for(const{value:i,domain:s}of e){if(s!==void 0)return s();if(i!==void 0)for(const o of i)r.add(o)}if(t!==void 0){const[i,s]=pi(r).map(t.floor,t);return t.range(i,t.offset(s))}if(r.size>1e4&&Vr.get(n)===sc)throw new Error(`implicit ordinal domain of ${n} scale has more than 10,000 values`);return Ux(r,za)}function YD(e,t){let n;for(const{hint:r}of e){const i=r?.[t];if(i!==void 0){if(n===void 0)n=i;else if(n!==i)return}}return n}function KCt(e){return{fill:YD(e,"fill"),stroke:YD(e,"stroke")}}function JCt(e){return $r(e.fill)?KIt:XIt}function qM(e,{label:t,inset:n=0,insetTop:r=n,insetRight:i=n,insetBottom:s=n,insetLeft:o=n,round:a,nice:l,clamp:c,zero:u,align:f,padding:h,projection:d,facet:{label:g=t}={},...y}={}){const v={};for(const[b,_]of e){const x=y[b],A=_X(b,_,{round:Vr.get(b)===sc?a:void 0,nice:l,clamp:c,zero:u,align:f,padding:h,projection:d,...x});if(A){let{label:k=b==="fx"||b==="fy"?g:t,percent:S,transform:T,inset:M,insetTop:I=M!==void 0?M:b==="y"?r:0,insetRight:N=M!==void 0?M:b==="x"?i:0,insetBottom:C=M!==void 0?M:b==="y"?s:0,insetLeft:L=M!==void 0?M:b==="x"?o:0}=x||{};if(T==null)T=void 0;else if(typeof T!="function")throw new Error("invalid scale transform; not a function");A.percent=!!S,A.label=k===void 0?QCt(_,A):k,A.transform=T,b==="x"||b==="fx"?(A.insetLeft=+L,A.insetRight=+N):(b==="y"||b==="fy")&&(A.insetTop=+I,A.insetBottom=+C),v[b]=A}}return v}function HD(e){const t={},n={scales:t};for(const[r,i]of Object.entries(e)){const{scale:s,type:o,interval:a,label:l}=i;t[r]=xX(i),n[r]=s,s.type=o,a!=null&&(s.interval=a),l!=null&&(s.label=l)}return n}function ZCt(e,t){const{x:n,y:r,fx:i,fy:s}=e,o=i||s?GR(t):t;i&&GD(i,o),s&&XD(s,o);const a=i||s?yX(e,t):t;n&&GD(n,a),r&&XD(r,a)}function QCt(e=[],t){let n;for(const{label:r}of e)if(r!==void 0){if(n===void 0)n=r;else if(n!==r)return}if(n!==void 0)return!Ep(t)&&t.percent&&(n=`${n} (%)`),{inferred:!0,toString:()=>n}}function mX(e){return Math.sign(Dg(e.domain()))*Math.sign(Dg(e.range()))}function GR(e){const{marginTop:t,marginRight:n,marginBottom:r,marginLeft:i,width:s,height:o,facet:{marginTop:a,marginRight:l,marginBottom:c,marginLeft:u}}=e;return{marginTop:Math.max(t,a),marginRight:Math.max(n,l),marginBottom:Math.max(r,c),marginLeft:Math.max(i,u),width:s,height:o}}function yX({fx:e,fy:t},n){const{marginTop:r,marginRight:i,marginBottom:s,marginLeft:o,width:a,height:l}=GR(n);return{marginTop:r,marginRight:i,marginBottom:s,marginLeft:o,width:e?e.scale.bandwidth()+o+i:a,height:t?t.scale.bandwidth()+r+s:l,facet:{width:a,height:l}}}function GD(e,t){if(e.range===void 0){const{insetLeft:n,insetRight:r}=e,{width:i,marginLeft:s=0,marginRight:o=0}=t,a=s+n,l=i-o-r;e.range=[a,Math.max(a,l)],Ep(e)||(e.range=bX(e)),e.scale.range(e.range)}vX(e)}function XD(e,t){if(e.range===void 0){const{insetTop:n,insetBottom:r}=e,{height:i,marginTop:s=0,marginBottom:o=0}=t,a=s+n,l=i-o-r;e.range=[Math.max(a,l),a],Ep(e)?e.range.reverse():e.range=bX(e),e.scale.range(e.range)}vX(e)}function vX(e){e.round===void 0&&n8t(e)&&t8t(e)<=30&&e.scale.round(!0)}function t8t({scale:e}){const t=e.domain().length,[n,r]=e.range(),i=e.paddingInner?e.paddingInner():1,s=e.paddingOuter?e.paddingOuter():e.padding(),o=t-i,a=Math.abs(r-n)/Math.max(1,o+s*2);return(a-Math.floor(a))*o}function bX(e){const t=e.scale.domain().length+wX(e);if(!(t>2))return e.range;const[n,r]=e.range;return Array.from({length:t},(i,s)=>n+s/(t-1)*(r-n))}function jM(e,t,n){return _X(e,n===void 0?void 0:[{hint:n}],{...t})}function _X(e,t=[],n={}){const r=e8t(e,t,n);if(n.type===void 0&&n.domain===void 0&&n.range===void 0&&n.interval==null&&e!=="fx"&&e!=="fy"&&Ep({type:r})){const i=t.map(({value:s})=>s).filter(s=>s!==void 0);i.some(zs)?Tu(`Warning: some data associated with the ${e} scale are dates. Dates are typically associated with a "utc" or "time" scale rather than a "${u0(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., d3.utcDay), or you can suppress this warning by setting the type of the ${e} scale to "${u0(r)}".`):i.some(BRt)?Tu(`Warning: some data associated with the ${e} scale are strings that appear to be dates (e.g., YYYY-MM-DD). If these strings represent dates, you should parse them to Date objects. Dates are typically associated with a "utc" or "time" scale rather than a "${u0(r)}" scale. If you are using a bar mark, you probably want a rect mark with the interval option instead; if you are using a group transform, you probably want a bin transform instead. If you want to treat this data as ordinal, you can suppress this warning by setting the type of the ${e} scale to "${u0(r)}".`):i.some(PRt)&&Tu(`Warning: some data associated with the ${e} scale are strings that appear to be numbers. If these strings represent numbers, you should parse or coerce them to numbers. Numbers are typically associated with a "linear" scale rather than a "${u0(r)}" scale. If you want to treat this data as ordinal, you can specify the interval of the ${e} scale (e.g., 1 for integers), or you can suppress this warning by setting the type of the ${e} scale to "${u0(r)}".`)}switch(n.type=r,r){case"diverging":case"diverging-sqrt":case"diverging-pow":case"diverging-log":case"diverging-symlog":case"cyclical":case"sequential":case"linear":case"sqrt":case"threshold":case"quantile":case"pow":case"log":case"symlog":n=V_(t,n,uo);break;case"identity":switch(Vr.get(e)){case sc:n=V_(t,n,uo);break;case N3:n=V_(t,n,r8t);break}break;case"utc":case"time":n=V_(t,n,IG);break}switch(r){case"diverging":return DCt(e,t,n);case"diverging-sqrt":return FCt(e,t,n);case"diverging-pow":return fX(e,t,n);case"diverging-log":return BCt(e,t,n);case"diverging-symlog":return PCt(e,t,n);case"categorical":case"ordinal":case lb:return HCt(e,t,n);case"cyclical":case"sequential":case"linear":return xCt(e,t,n);case"sqrt":return SCt(e,t,n);case"threshold":return YR(e,t,n);case"quantile":return TCt(e,t,n);case"quantize":return kCt(e,t,n);case"pow":return cX(e,t,n);case"log":return ACt(e,t,n);case"symlog":return ECt(e,t,n);case"utc":return YCt(e,t,n);case"time":return WCt(e,t,n);case"point":return GCt(e,t,n);case"band":return XCt(e,t,n);case"identity":return ICt(e);case void 0:return;default:throw new Error(`unknown scale type: ${r}`)}}function u0(e){return typeof e=="symbol"?e.description:e}function KD(e){return typeof e=="string"?`${e}`.toLowerCase():e}const JD={toString:()=>"projection"};function e8t(e,t,{type:n,domain:r,range:i,scheme:s,pivot:o,projection:a}){if(n=KD(n),e==="fx"||e==="fy")return"band";(e==="x"||e==="y")&&a!=null&&(n=JD);for(const u of t){const f=KD(u.type);if(f!==void 0){if(n===void 0)n=f;else if(n!==f)throw new Error(`scale incompatible with channel: ${n} !== ${f}`)}}if(n===JD)return;if(n!==void 0)return n;if(r===void 0&&!t.some(({value:u})=>u!==void 0))return;const l=Vr.get(e);if(l===ib)return"sqrt";if(l===ob||l===sb)return"linear";if(l===N3)return"ordinal";const c=(r??i)?.length;if(c<2||c>2)return ZT(l);if(r!==void 0){if(Xr(r))return ZT(l);if(zs(r))return"utc"}else{const u=t.map(({value:f})=>f).filter(f=>f!==void 0);if(u.some(Xr))return ZT(l);if(u.some(zs))return"utc"}if(l===Ju){if(o!=null||_Ct(s))return"diverging";if(yCt(s))return"categorical"}return"linear"}function ZT(e){switch(e){case sc:return"point";case Ju:return lb;default:return"ordinal"}}function Ep({type:e}){return e==="ordinal"||e==="point"||e==="band"||e===lb}function wX({type:e}){return e==="threshold"}function n8t({type:e}){return e==="point"||e==="band"}function Sc(e){if(e===void 0)return!0;const t=e.domain(),n=e(t[0]);for(let r=1,i=t.length;r{if(!Vr.has(t=`${t}`))throw new Error(`unknown scale: ${t}`);return e[t]}}function xX({scale:e,type:t,domain:n,range:r,interpolate:i,interval:s,transform:o,percent:a,pivot:l}){if(t==="identity")return{type:"identity",apply:u=>u,invert:u=>u};const c=e.unknown?e.unknown():void 0;return{type:t,domain:Jv(n),...r!==void 0&&{range:Jv(r)},...o!==void 0&&{transform:o},...a&&{percent:a},...c!==void 0&&{unknown:c},...s!==void 0&&{interval:s},...i!==void 0&&{interpolate:i},...e.clamp&&{clamp:e.clamp()},...l!==void 0&&{pivot:l,symmetric:!1},...e.base&&{base:e.base()},...e.exponent&&{exponent:e.exponent()},...e.constant&&{constant:e.constant()},...e.align&&{align:e.align(),round:e.round()},...e.padding&&(e.paddingInner?{paddingInner:e.paddingInner(),paddingOuter:e.paddingOuter()}:{padding:e.padding()}),...e.bandwidth&&{bandwidth:e.bandwidth(),step:e.step()},apply:u=>e(u),...e.invert&&{invert:u=>e.invert(u)}}}function s8t(e,t){const{fx:n,fy:r}=qM(e,t),i=n?.scale.domain(),s=r?.scale.domain();return i&&s?Oxt(i,s).map(([o,a],l)=>({x:o,y:a,i:l})):i?i.map((o,a)=>({x:o,i:a})):s?s.map((o,a)=>({y:o,i:a})):void 0}function o8t(e,{x:t,y:n}){return t&&=VM(t),n&&=VM(n),e.filter(t&&n?r=>t.has(r.x)&&n.has(r.y):t?r=>t.has(r.x):r=>n.has(r.y)).sort(t&&n?(r,i)=>t.get(r.x)-t.get(i.x)||n.get(r.y)-n.get(i.y):t?(r,i)=>t.get(r.x)-t.get(i.x):(r,i)=>n.get(r.y)-n.get(i.y))}function XR(e,{fx:t,fy:n}){const r=Xu(e),i=t?.value,s=n?.value;return t&&n?Y0(r,o=>(o.fx=i[o[0]],o.fy=s[o[0]],o),o=>i[o],o=>s[o]):t?Y0(r,o=>(o.fx=i[o[0]],o),o=>i[o]):Y0(r,o=>(o.fy=s[o[0]],o),o=>s[o])}function a8t(e,t,{marginTop:n,marginLeft:r}){const i=e?({x:o})=>e(o)-r:()=>0,s=t?({y:o})=>t(o)-n:()=>0;return function(o){this.tagName==="svg"?(this.setAttribute("x",i(o)),this.setAttribute("y",s(o))):this.setAttribute("transform",`translate(${i(o)},${s(o)})`)}}function l8t(e){const t=[],n=new Uint32Array(ml(e,r=>r.length));for(const r of e){let i=0;for(const s of e)r!==s&&(n.set(s,i),i+=s.length);t.push(n.slice(0,i))}return t}const c8t=new Map([["top",QT],["right",nk],["bottom",tk],["left",ek],["top-left",W_(QT,ek)],["top-right",W_(QT,nk)],["bottom-left",W_(tk,ek)],["bottom-right",W_(tk,nk)],["top-empty",h8t],["right-empty",g8t],["bottom-empty",d8t],["left-empty",p8t],["empty",m8t]]);function u8t(e){if(e==null)return null;const t=c8t.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid facet anchor: ${e}`)}const ZD=new WeakMap;function VM(e){let t=ZD.get(e);return t||ZD.set(e,t=new Jd(gr(e,(n,r)=>[n,r]))),t}function Ih(e,t){return VM(e).get(t)}function f8t(e,t,n){return t=yu(t),n=yu(n),e.find(r=>Object.is(yu(r.x),t)&&Object.is(yu(r.y),n))}function P3(e,t,n){return f8t(e,t,n)?.empty}function QT(e,{y:t},{y:n}){return t?Ih(t,n)===0:!0}function tk(e,{y:t},{y:n}){return t?Ih(t,n)===t.length-1:!0}function ek(e,{x:t},{x:n}){return t?Ih(t,n)===0:!0}function nk(e,{x:t},{x:n}){return t?Ih(t,n)===t.length-1:!0}function h8t(e,{y:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;const s=Ih(t,r);if(s>0)return P3(e,n,t[s-1])}function d8t(e,{y:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;const s=Ih(t,r);if(s0)return P3(e,t[s-1],r)}function g8t(e,{x:t},{x:n,y:r,empty:i}){if(i)return!1;if(!t)return;const s=Ih(t,n);if(sr.get(i)?.get(s)??[]):t?e.map(({x:i})=>r.get(i)??[]):e.map(({y:i})=>r.get(i)??[])}const SX=Math.PI,Zc=2*SX,ik=.618;function y8t({projection:e,inset:t=0,insetTop:n=t,insetRight:r=t,insetBottom:i=t,insetLeft:s=t}={},o){if(e==null)return;if(typeof e.stream=="function")return e;let a,l,c="frame";if(Ko(e)){let k;if({type:e,domain:l,inset:k,insetTop:n=k!==void 0?k:n,insetRight:r=k!==void 0?k:r,insetBottom:i=k!==void 0?k:i,insetLeft:s=k!==void 0?k:s,clip:c=c,...a}=e,e==null)return}typeof e!="function"&&({type:e}=WM(e));const{width:u,height:f,marginLeft:h,marginRight:d,marginTop:g,marginBottom:y}=o,v=u-h-d-s-r,b=f-g-y-n-i;if(e=e?.({width:v,height:b,clip:c,...a}),e==null)return;c=v8t(c,h,g,u-d,f-y);let _=h+s,x=g+n,A;if(l!=null){const[[k,S],[T,M]]=Z1(e).bounds(l),I=Math.min(v/(T-k),b/(M-S));I>0?(_-=(I*(k+T)-v)/2,x-=(I*(S+M)-b)/2,A=k2({point(N,C){this.stream.point(N*I+_,C*I+x)}})):Tu("Warning: the projection could not be fit to the specified domain; using the default scale.")}return A??=_===0&&x===0?AX():k2({point(k,S){this.stream.point(k+_,S+x)}}),{stream:k=>e.stream(A.stream(c(k)))}}function WM(e){switch(`${e}`.toLowerCase()){case"albers-usa":return Ka(z6t,.7463,.4673);case"albers":return Y_(IH,.7463,.4673);case"azimuthal-equal-area":return Ka(q6t,4,4);case"azimuthal-equidistant":return Ka(j6t,Zc,Zc);case"conic-conformal":return Y_(Y6t,Zc,Zc);case"conic-equal-area":return Y_(M2,6.1702,2.9781);case"conic-equidistant":return Y_(X6t,7.312,3.6282);case"equal-earth":return Ka(J6t,5.4133,2.6347);case"equirectangular":return Ka(H6t,Zc,SX);case"gnomonic":return Ka(Z6t,3.4641,3.4641);case"identity":return{type:AX};case"reflect-y":return{type:b8t};case"mercator":return Ka(V6t,Zc,Zc);case"orthographic":return Ka(Q6t,2,2);case"stereographic":return Ka(tIt,2,2);case"transverse-mercator":return Ka(eIt,Zc,Zc);default:throw new Error(`unknown projection type: ${e}`)}}function v8t(e,t,n,r,i){if(e===!1||e==null||typeof e=="number")return s=>s;switch(e===!0&&(e="frame"),`${e}`.toLowerCase()){case"frame":return dH(t,n,r,i);default:throw new Error(`unknown projection clip type: ${e}`)}}function Ka(e,t,n){return{type:({width:r,height:i,rotate:s,precision:o=.15,clip:a})=>{const l=e();return o!=null&&l.precision?.(o),s!=null&&l.rotate?.(s),typeof a=="number"&&l.clipAngle?.(a),r!=null&&(l.scale(Math.min(r/t,i/n)),l.translate([r/2,i/2])),l},aspectRatio:n/t}}function Y_(e,t,n){const{type:r,aspectRatio:i}=Ka(e,t,n);return{type:s=>{const{parallels:o,domain:a,width:l,height:c}=s,u=r(s);return o!=null&&(u.parallels(o),a===void 0&&l!=null&&u.fitSize([l,c],{type:"Sphere"})),u},aspectRatio:i}}const AX=Wi({stream:e=>e}),b8t=Wi(k2({point(e,t){this.stream.point(e,-t)}}));function EX(e,t,n,r){const i=n[e],s=n[t],o=i.length,a=n[e]=new Float64Array(o).fill(NaN),l=n[t]=new Float64Array(o).fill(NaN);let c;const u=r.stream({point(f,h){a[c]=f,l[c]=h}});for(c=0;c5?5:l:ik}}if(e!=null){if(typeof e!="function"){const{aspectRatio:t}=WM(e);if(t)return t}return ik}}function cb(e,t,{projection:n}){const{x:r,y:i}=e;let s={};return r&&(s.x=r),i&&(s.y=i),s=D3(s,t),n&&r?.scale==="x"&&i?.scale==="y"&&EX("x","y",s,n),r&&(s.x=uo(s.x)),i&&(s.y=uo(s.y)),s}function x8t(e){const t=[],n=[],r={scale:"x",value:t},i={scale:"y",value:n},s={point(o,a){t.push(o),n.push(a)},lineStart(){},lineEnd(){},polygonStart(){},polygonEnd(){},sphere(){}};for(const o of e.value)Sf(o,s);return[r,i]}function S8t({x:e,y:t}){if(e||t)return e??=n=>n,t??=n=>n,k2({point(n,r){this.stream.point(e(n),t(r))}})}function U3(e={}){const{document:t=typeof window<"u"?window.document:void 0,clip:n}=e;return{document:t,clip:UG(n)}}function xn(e,{document:t}){return Ar(y3(e).call(t.documentElement))}const YM=Symbol("unset");function Pg(e){return(e.length===1?A8t:E8t)(e)}function A8t(e){let t,n=YM;return r=>(Object.is(n,r)||(n=r,t=e(r)),t)}function E8t(e){let t,n;return(...r)=>((n?.length!==r.length||n.some((i,s)=>!Object.is(i,r[s])))&&(n=r,t=e(...r)),t)}const T8t=Pg(e=>new Intl.NumberFormat(e)),k8t=Pg((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{month:t}})),M8t=Pg((e,t)=>new Intl.DateTimeFormat(e,{timeZone:"UTC",...t&&{weekday:t}}));function TX(e="en-US"){const t=T8t(e);return n=>n!=null&&!isNaN(n)?t.format(n):void 0}function I8t(e="en-US",t="short"){const n=k8t(e,t);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2e3,+r)))?n.format(r):void 0}function R8t(e="en-US",t="short"){const n=M8t(e,t);return r=>r!=null&&!isNaN(r=+new Date(Date.UTC(2001,0,+r)))?n.format(r):void 0}function kX(e){return wRt(e,"Invalid Date")}function C8t(e="en-US"){const t=TX(e);return n=>(n instanceof Date?kX:typeof n=="number"?t:Vi)(n)}const Ug=C8t(),Yi=(typeof window<"u"?window.devicePixelRatio>1:typeof it>"u")?0:.5;let N8t=0,$8t=0;function KR(){return`plot-clip-${++N8t}`}function O8t(){return`plot-pattern-${++$8t}`}function MX(e,{title:t,href:n,ariaLabel:r,ariaDescription:i,ariaHidden:s,target:o,fill:a,fillOpacity:l,stroke:c,strokeWidth:u,strokeOpacity:f,strokeLinejoin:h,strokeLinecap:d,strokeMiterlimit:g,strokeDasharray:y,strokeDashoffset:v,opacity:b,mixBlendMode:_,imageFilter:x,paintOrder:A,pointerEvents:k,shapeRendering:S,channels:T},{ariaLabel:M,fill:I="currentColor",fillOpacity:N,stroke:C="none",strokeOpacity:L,strokeWidth:F,strokeLinecap:$,strokeLinejoin:D,strokeMiterlimit:O,paintOrder:B}){I===null&&(a=null,l=null),C===null&&(c=null,f=null),$r(I)?!$r(C)&&(!$r(a)||T?.fill)&&(C="none"):$r(C)&&(!$r(c)||T?.stroke)&&(I="none");const[V,U]=Us(a,I),[q,z]=oi(l,N),[Y,Q]=Us(c,C),[gt,yt]=oi(f,L),[pt,lt]=oi(b);Bg(Q)||(u===void 0&&(u=F),d===void 0&&(d=$),h===void 0&&(h=D),g===void 0&&!qRt(h)&&(g=O),!Bg(U)&&A===void 0&&(A=B));const[ft,J]=oi(u);return I!==null&&(e.fill=fi(U,"currentColor"),e.fillOpacity=hy(z,1)),C!==null&&(e.stroke=fi(Q,"none"),e.strokeWidth=hy(J,1),e.strokeOpacity=hy(yt,1),e.strokeLinejoin=fi(h,"miter"),e.strokeLinecap=fi(d,"butt"),e.strokeMiterlimit=hy(g,4),e.strokeDasharray=fi(y,"none"),e.strokeDashoffset=fi(v,"0")),e.target=Vi(o),e.ariaLabel=Vi(M),e.ariaDescription=Vi(i),e.ariaHidden=Vi(s),e.opacity=hy(lt,1),e.mixBlendMode=fi(_,"normal"),e.imageFilter=fi(x,"none"),e.paintOrder=fi(A,"normal"),e.pointerEvents=fi(k,"auto"),e.shapeRendering=fi(S,"auto"),{title:{value:t,optional:!0,filter:null},href:{value:n,optional:!0,filter:null},ariaLabel:{value:r,optional:!0,filter:null},fill:{value:V,scale:"auto",optional:!0},fillOpacity:{value:q,scale:"auto",optional:!0},stroke:{value:Y,scale:"auto",optional:!0},strokeOpacity:{value:gt,scale:"auto",optional:!0},strokeWidth:{value:ft,optional:!0},opacity:{value:pt,scale:"auto",optional:!0}}}function L8t(e,t){t&&e.filter(n=>wR(t[n])).append("title").call(F8t,t)}function D8t(e,t){t&&e.filter(([n])=>wR(t[n])).append("title").call(B8t,t)}function F8t(e,t){t&&e.text(n=>Ug(t[n]))}function B8t(e,t){t&&e.text(([n])=>Ug(t[n]))}function Hr(e,{target:t,tip:n},{ariaLabel:r,title:i,fill:s,fillOpacity:o,stroke:a,strokeOpacity:l,strokeWidth:c,opacity:u,href:f}){r&&ge(e,"aria-label",h=>r[h]),s&&ge(e,"fill",h=>s[h]),o&&ge(e,"fill-opacity",h=>o[h]),a&&ge(e,"stroke",h=>a[h]),l&&ge(e,"stroke-opacity",h=>l[h]),c&&ge(e,"stroke-width",h=>c[h]),u&&ge(e,"opacity",h=>u[h]),f&&RX(e,h=>f[h],t),n||L8t(e,i)}function q2(e,{target:t,tip:n},{ariaLabel:r,title:i,fill:s,fillOpacity:o,stroke:a,strokeOpacity:l,strokeWidth:c,opacity:u,href:f}){r&&ge(e,"aria-label",([h])=>r[h]),s&&ge(e,"fill",([h])=>s[h]),o&&ge(e,"fill-opacity",([h])=>o[h]),a&&ge(e,"stroke",([h])=>a[h]),l&&ge(e,"stroke-opacity",([h])=>l[h]),c&&ge(e,"stroke-width",([h])=>c[h]),u&&ge(e,"opacity",([h])=>u[h]),f&&RX(e,([h])=>f[h],t),n||D8t(e,i)}function P8t({ariaLabel:e,title:t,fill:n,fillOpacity:r,stroke:i,strokeOpacity:s,strokeWidth:o,opacity:a,href:l},{tip:c}){return[e,c?void 0:t,n,r,i,s,o,a,l].filter(u=>u!==void 0)}function JR(e,t,n){const r=wh(e,i=>t[i]);return n===void 0&&r.size>1+e.length>>1&&Tu("Warning: the implicit z channel has high cardinality. This may occur when the fill or stroke channel is associated with quantitative data rather than ordinal or categorical data. You can suppress this warning by setting the z option explicitly; if this data represents a single series, set z to null."),r.values()}function*IX(e,t,n,r){const{z:i}=n,{z:s}=r,o=P8t(r,n),a=[...t,...o];for(const l of s?JR(e,s,i):[e]){let c,u;t:for(const f of l){for(const h of a)if(!Hi(h[f])){u&&u.push(-1);continue t}if(c===void 0){u&&(yield u),c=o.map(h=>yu(h[f])),u=[f];continue}u.push(f);for(let h=0;hyu(g[f])),u=[f];continue t}}u&&(yield u)}}function U8t(e,t,n,r){let i;const{clip:s=r.clip}=t;s==="frame"?(e=xn("svg:g",r).each(function(){this.appendChild(e.node()),e.node=()=>this}),i=q8t(r,n)):s&&(i=V8t(s,r)),ge(e,"aria-label",t.ariaLabel),ge(e,"aria-description",t.ariaDescription),ge(e,"aria-hidden",t.ariaHidden),ge(e,"clip-path",i)}function z8t(e){const t=new WeakMap;return(n,r)=>{let i=t.get(n);if(!i){const s=KR();Ar(n.ownerSVGElement).append("clipPath").attr("id",s).call(e,n,r),t.set(n,i=`url(#${s})`)}return i}}const q8t=z8t((e,t,n)=>{const{width:r,height:i,marginLeft:s,marginRight:o,marginTop:a,marginBottom:l}=n;e.append("rect").attr("x",s).attr("y",a).attr("width",r-o-s).attr("height",i-a-l)}),QD=new WeakMap,j8t={type:"Sphere"};function V8t(e,t){let n,r;if((n=QD.get(t))||QD.set(t,n=new WeakMap),e.type==="Sphere"&&(e=j8t),!(r=n.get(e))){const i=KR();Ar(t.ownerSVGElement).append("clipPath").attr("id",i).append("path").attr("d",t.path()(e)),n.set(e,r=`url(#${i})`)}return r}function Mr(e,t,n,r){U8t(e,t,n,r),ge(e,"class",t.className),ge(e,"fill",t.fill),ge(e,"fill-opacity",t.fillOpacity),ge(e,"stroke",t.stroke),ge(e,"stroke-width",t.strokeWidth),ge(e,"stroke-opacity",t.strokeOpacity),ge(e,"stroke-linejoin",t.strokeLinejoin),ge(e,"stroke-linecap",t.strokeLinecap),ge(e,"stroke-miterlimit",t.strokeMiterlimit),ge(e,"stroke-dasharray",t.strokeDasharray),ge(e,"stroke-dashoffset",t.strokeDashoffset),ge(e,"shape-rendering",t.shapeRendering),ge(e,"filter",t.imageFilter),ge(e,"paint-order",t.paintOrder);const{pointerEvents:i=r.pointerSticky===!1?"none":void 0}=t;ge(e,"pointer-events",i)}function cr(e,t){W8t(e,"mix-blend-mode",t.mixBlendMode),ge(e,"opacity",t.opacity)}function RX(e,t,n){e.each(function(r){const i=t(r);if(i!=null){const s=this.ownerDocument.createElementNS(Ou.svg,"a");s.setAttribute("fill","inherit"),s.setAttributeNS(Ou.xlink,"href",i),n!=null&&s.setAttribute("target",n),this.parentNode.insertBefore(s,this).appendChild(this)}})}function ge(e,t,n){n!=null&&e.attr(t,n)}function W8t(e,t,n){n!=null&&e.style(t,n)}function yr(e,t,{x:n,y:r},i=Yi,s=Yi){i+=t.dx,s+=t.dy,n?.bandwidth&&(i+=n.bandwidth()/2),r?.bandwidth&&(s+=r.bandwidth()/2),(i||s)&&e.attr("transform",`translate(${i},${s})`)}function fi(e,t){if((e=Vi(e))!==t)return e}function hy(e,t){if((e=Tr(e))!==t)return e}const Y8t=/^-?([_a-z]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])([_a-z0-9-]|[\240-\377]|\\[0-9a-f]{1,6}(\r\n|[ \t\r\n\f])?|\\[^\r\n\f0-9a-f])*$/i;function ZR(e){if(e===void 0)return"plot-d6a7b5";if(e=`${e}`,!Y8t.test(e))throw new Error(`invalid class name: ${e}`);return e}function QR(e,t){if(typeof t=="string")e.property("style",t);else if(t!=null)for(const n of e)Object.assign(n.style,t)}function $c({frameAnchor:e},{width:t,height:n,marginTop:r,marginRight:i,marginBottom:s,marginLeft:o}){return[/left$/.test(e)?o:/right$/.test(e)?t-i:(o+t-i)/2,/^top/.test(e)?r:/^bottom/.test(e)?n-s:(r+n-s)/2]}let vr=class{constructor(t,n={},r={},i){const{facet:s="auto",facetAnchor:o,fx:a,fy:l,sort:c,dx:u=0,dy:f=0,margin:h=0,marginTop:d=h,marginRight:g=h,marginBottom:y=h,marginLeft:v=h,className:b,clip:_=i?.clip,channels:x,tip:A,render:k}=r;if(this.data=t,this.sort=ah(c)?c:null,this.initializer=gs(r).initializer,this.transform=this.initializer?r.transform:Cl(r).transform,s===null||s===!1?this.facet=null:(this.facet=Xo(s===!0?"include":s,"facet",["auto","include","exclude","super"]),this.fx=t===ov&&typeof a=="string"?[a]:a,this.fy=t===ov&&typeof l=="string"?[l]:l),this.facetAnchor=u8t(o),n=CR(n),x!==void 0&&(n={...H8t(x),...n}),i!==void 0&&(n={...MX(this,r,i),...n}),this.channels=Object.fromEntries(Object.entries(n).map(([S,T])=>{if(Hl(T.value)){const{value:M,label:I=T.label,scale:N=T.scale}=T.value;T={...T,label:I,scale:N,value:M}}if(t===ov&&typeof T.value=="string"){const{value:M}=T;T={...T,value:[M]}}return[S,T]}).filter(([S,{value:T,optional:M}])=>{if(T!=null)return!0;if(M)return!1;throw new Error(`missing channel value: ${S}`)})),this.dx=+u,this.dy=+f,this.marginTop=+d,this.marginRight=+g,this.marginBottom=+y,this.marginLeft=+v,this.clip=UG(_),this.tip=G8t(A),this.className=Vi(b),this.facet==="super"){if(a||l)throw new Error("super-faceting cannot use fx or fy");for(const S in this.channels){const{scale:T}=n[S];if(!(T!=="x"&&T!=="y"))throw new Error("super-faceting cannot use x or y")}}k!=null&&(this.render=i1(k,this.render))}initialize(t,n,r){let i=Fg(this.data);t===void 0&&i!=null&&(t=[Xu(i)]);const s=t;this.transform!=null&&({facets:t,data:i}=this.transform(i,t,r),i=Fg(i)),t!==void 0&&(t.original=s);const o=eX(this.channels,i);return this.sort!=null&&dCt(i,t,o,n,this.sort),{data:i,facets:t,channels:o}}filter(t,n,r){for(const i in n){const{filter:s=Hi}=n[i];if(s!==null){const o=r[i];t=t.filter(a=>s(o[a]))}}return t}project(t,n,r){for(const i in t)if(t[i].scale==="x"&&/^x|x$/.test(i)){const s=i.replace(/^x|x$/,"y");s in t&&t[s].scale==="y"&&EX(i,s,n,r.projection)}}scale(t,n,r){const i=D3(t,n);return r.projection&&this.project(t,i,r),i}};function qa(...e){return e.plot=vr.prototype.plot,e}function i1(e,t){if(e==null)return t===null?void 0:t;if(t==null)return e===null?void 0:e;if(typeof e!="function")throw new TypeError(`invalid render transform: ${e}`);if(typeof t!="function")throw new TypeError(`invalid render transform: ${t}`);return function(n,r,i,s,o,a){return e.call(this,n,r,i,s,o,(l,c,u,f,h)=>t.call(this,l,c,u,f,h,a))}}function H8t(e){return Object.fromEntries(Object.entries(CR(e)).map(([t,n])=>(n=typeof n=="string"?{value:n,label:t}:wm(n),n.filter===void 0&&n.scale==null&&(n={...n,filter:null}),[t,n])))}function G8t(e){return e===!0?"xy":e===!1||e==null?null:typeof e=="string"?Xo(e,"tip",["x","y","xy"]):e}function Tp(e,t){return e?.tip===!0?{...e,tip:t}:Ko(e?.tip)&&e.tip.pointer===void 0?{...e,tip:{...e.tip,pointer:t}}:e}function X8t(e,t,n={}){let r=.5-Yi,i=.5+Yi,s=.5+Yi,o=.5-Yi;for(const{marginTop:y,marginRight:v,marginBottom:b,marginLeft:_}of t)y>r&&(r=y),v>i&&(i=v),b>s&&(s=b),_>o&&(o=_);let{margin:a,marginTop:l=a!==void 0?a:r,marginRight:c=a!==void 0?a:i,marginBottom:u=a!==void 0?a:s,marginLeft:f=a!==void 0?a:o}=n;l=+l,c=+c,u=+u,f=+f;let{width:h=640,height:d=K8t(e,n,{width:h,marginTopDefault:r,marginRightDefault:i,marginBottomDefault:s,marginLeftDefault:o})+Math.max(0,l-r+u-s)}=n;h=+h,d=+d;const g={width:h,height:d,marginTop:l,marginRight:c,marginBottom:u,marginLeft:f};if(e.fx||e.fy){let{margin:y,marginTop:v=y!==void 0?y:l,marginRight:b=y!==void 0?y:c,marginBottom:_=y!==void 0?y:u,marginLeft:x=y!==void 0?y:f}=n.facet??{};v=+v,b=+b,_=+_,x=+x,g.facet={marginTop:v,marginRight:b,marginBottom:_,marginLeft:x}}return g}function K8t({x:e,y:t,fy:n,fx:r},{projection:i,aspectRatio:s},{width:o,marginTopDefault:a,marginRightDefault:l,marginBottomDefault:c,marginLeftDefault:u}){const f=n&&n.scale.domain().length||1,h=w8t(i);if(h){const g=r?r.scale.domain().length:1,y=(1.1*f-.1)/(1.1*g-.1)*h,v=Math.max(.1,Math.min(10,y));return Math.round((o-u-l)*v+a+c)}const d=t?Ep(t)?t.scale.domain().length||1:Math.max(7,17/f):1;if(s!=null){if(s=+s,!(isFinite(s)&&s>0))throw new Error(`invalid aspectRatio: ${s}`);const g=tF("y",t)/(tF("x",e)*s),y=r?r.scale.bandwidth():1,v=n?n.scale.bandwidth():1,b=y*(o-u-l)-e.insetLeft-e.insetRight;return(g*b+t.insetTop+t.insetBottom)/v+a+c}return!!(t||n)*Math.max(1,Math.min(60,d*f))*20+!!r*30+60}function tF(e,t){if(!t)throw new Error(`aspectRatio requires ${e} scale`);const{type:n,domain:r}=t;let i;switch(n){case"linear":case"utc":case"time":i=Number;break;case"pow":{const a=t.scale.exponent();i=l=>Math.pow(l,a);break}case"log":i=Math.log;break;case"point":case"band":return r.length;default:throw new Error(`unsupported ${e} scale for aspectRatio: ${n}`)}const[s,o]=pi(r);return Math.abs(i(o)-i(s))}const eF=new WeakMap;function tC(e,t,{x:n,y:r,px:i,py:s,maxRadius:o=40,channels:a,render:l,...c}={}){return o=+o,i!=null&&(n??=null,a={...a,px:{value:i,scale:"x"}}),s!=null&&(r??=null,a={...a,py:{value:s,scale:"y"}}),{x:n,y:r,channels:a,...c,render:i1(function(u,f,h,d,g,y){g={...g,pointerSticky:!1};const v=g.ownerSVGElement,{data:b}=g.getMarkState(this);let _=eF.get(v);_||eF.set(v,_={sticky:!1,roots:[],renders:[]});let x=_.renders.push(Q)-1;const{x:A,y:k,fx:S,fy:T}=f;let M=S?S(u.fx)-d.marginLeft:0,I=T?T(u.fy)-d.marginTop:0;A?.bandwidth&&(M+=A.bandwidth()/2),k?.bandwidth&&(I+=k.bandwidth()/2);const N=u.fi!=null;let C;if(N){let lt=_.facetStates;lt||(_.facetStates=lt=new Map),C=lt.get(this),C||lt.set(this,C=new Map)}const[L,F]=$c(this,d),{px:$,py:D}=h,O=$?lt=>$[lt]:CX(h,L),B=D?lt=>D[lt]:NX(h,F);let V,U,q,z;function Y(lt,ft){if(N)if(z&&(z=cancelAnimationFrame(z)),lt==null)C.delete(u.fi);else{C.set(u.fi,ft),z=requestAnimationFrame(()=>{z=null;for(const[J,et]of C)if(et1)){const et=V==null?null:Gu(b)?b[V]:b.get(V);g.dispatchValue(et)}return J}function gt(lt){if(_.sticky||lt.pointerType==="mouse"&<.buttons===1)return;let[ft,J]=Qa(lt);ft-=M,J-=I;const et=ftd.width-d.marginRight?1:e,vt=Jd.height-d.marginBottom?1:t;let at=null,kt=o*o;for(const Mt of u){const Bt=et*(O(Mt)-ft),Ut=vt*(B(Mt)-J),St=Bt*Bt+Ut*Ut;St<=kt&&(at=Mt,kt=St)}if(at!=null&&(e!==1||t!==1)){const Mt=O(at)-ft,Bt=B(at)-J;kt=Mt*Mt+Bt*Bt}Y(at,kt)}function yt(lt){lt.pointerType==="mouse"&&V!=null&&(_.sticky&&_.roots.some(ft=>ft?.contains(lt.target))||(_.sticky?(_.sticky=!1,_.renders.forEach(ft=>ft(null))):(_.sticky=!0,Q(V)),lt.stopImmediatePropagation()))}function pt(lt){lt.pointerType==="mouse"&&(_.sticky||Y(null))}return v.addEventListener("pointerenter",gt),v.addEventListener("pointermove",gt),v.addEventListener("pointerdown",yt),v.addEventListener("pointerleave",pt),Q(null)},l)}}function z3(e){return tC(1,1,e)}function q3(e){return tC(1,.01,e)}function s1(e){return tC(.01,1,e)}function CX({x1:e,x2:t,x:n=e},r){return e&&t?i=>(e[i]+t[i])/2:n?i=>n[i]:()=>r}function NX({y1:e,y2:t,y:n=e},r){return e&&t?i=>(e[i]+t[i])/2:n?i=>n[i]:()=>r}function $X(e){return Ep(e)&&e.interval===void 0?void 0:"tabular-nums"}function J8t(e,t){let{label:n=e.label,tickSize:r=6,width:i=240,height:s=44+r,marginTop:o=18,marginRight:a=0,marginBottom:l=16+r,marginLeft:c=0,style:u,ticks:f=(i-c-a)/64,tickFormat:h,fontVariant:d=$X(e),round:g=!0,opacity:y,className:v}=t;const b=U3(t);v=ZR(v),y=oi(y)[1],h===null&&(h=()=>null);const _=xn("svg",b).attr("class",`${v}-ramp`).attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("width",i).attr("height",s).attr("viewBox",`0 0 ${i} ${s}`).call(L=>L.append("style").text(`:where(.${v}-ramp) { display: block; height: auto; height: intrinsic; max-width: 100%; overflow: visible; } :where(.${v}-ramp text) { white-space: pre; }`)).call(QR,u);let x=L=>L.selectAll(".tick line").attr("y1",o+l-s),A;const k=g?(L,F)=>L.rangeRound(F):(L,F)=>L.range(F),{type:S,domain:T,range:M,interpolate:I,scale:N,pivot:C}=e;if(I){const L=M===void 0?I:QS(I.length===1?HR(I):I,M);A=k(N.copy(),yl(ts(c,i-a),Math.min(T.length+(C!==void 0),M===void 0?1/0:M.length)));const F=256,$=b.document.createElement("canvas");$.width=F,$.height=1;const D=$.getContext("2d");for(let O=0,B=F-1;O$:typeof h=="string"?Wa(h):h;A=k(Vu().domain([-1,M.length-1]),[c,i-a]),_.append("g").attr("fill-opacity",y).selectAll().data(M).enter().append("rect").attr("x",($,D)=>A(D-1)).attr("y",o).attr("width",($,D)=>A(D)-A(D-1)).attr("height",s-o-l).attr("fill",$=>$),f=gr(L,($,D)=>D),h=$=>F(L[$],$)}else A=k($1().domain(T),[c,i-a]),_.append("g").attr("fill-opacity",y).selectAll().data(T).enter().append("rect").attr("x",A).attr("y",o).attr("width",Math.max(0,A.bandwidth()-1)).attr("height",s-o-l).attr("fill",N),x=()=>{};return _.append("g").attr("transform",`translate(0,${s-l})`).call(gkt(A).ticks(Array.isArray(f)?null:f,typeof h=="string"?h:void 0).tickFormat(typeof h=="function"?h:void 0).tickSize(r).tickValues(Array.isArray(f)?f:null)).attr("font-size",null).attr("font-family",null).attr("font-variant",fi(d,"normal")).call(x).call(L=>L.select(".domain").remove()),n!==void 0&&_.append("text").attr("x",c).attr("y",o-6).attr("fill","currentColor").attr("font-weight","bold").text(n),_.node()}const j2=Math.PI/180;function xm(e,{marker:t,markerStart:n=t,markerMid:r=t,markerEnd:i=t}={}){e.markerStart=sk(n),e.markerMid=sk(r),e.markerEnd=sk(i)}function sk(e){if(e==null||e===!1)return null;if(e===!0)return rF;if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"none":return null;case"arrow":return nF("auto");case"arrow-reverse":return nF("auto-start-reverse");case"dot":return Z8t;case"circle":case"circle-fill":return rF;case"circle-stroke":return Q8t;case"tick":return ok("auto");case"tick-x":return ok(90);case"tick-y":return ok(0)}throw new Error(`invalid marker: ${e}`)}function nF(e){return(t,n)=>xn("svg:marker",n).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("orient",e).attr("fill","none").attr("stroke",t).attr("stroke-width",1.5).attr("stroke-linecap","round").attr("stroke-linejoin","round").call(r=>r.append("path").attr("d","M-1.5,-3l3,3l-3,3")).node()}function Z8t(e,t){return xn("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","none").call(n=>n.append("circle").attr("r",2.5)).node()}function rF(e,t){return xn("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill",e).attr("stroke","var(--plot-background)").attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function Q8t(e,t){return xn("svg:marker",t).attr("viewBox","-5 -5 10 10").attr("markerWidth",6.67).attr("markerHeight",6.67).attr("fill","var(--plot-background)").attr("stroke",e).attr("stroke-width",1.5).call(n=>n.append("circle").attr("r",3)).node()}function ok(e){return(t,n)=>xn("svg:marker",n).attr("viewBox","-3 -3 6 6").attr("markerWidth",6).attr("markerHeight",6).attr("orient",e).attr("stroke",t).call(r=>r.append("path").attr("d","M0,-3v6")).node()}let tNt=0;function ub(e,t,{stroke:n},r){return LX(e,t,n&&(i=>n[i]),null,r)}function eNt(e,t,{stroke:n,z:r},i){return LX(e,t,n&&(([s])=>n[s]),r,i)}const HM=1,OX=2;function nNt(e,t){const n=new Uint8Array(t.length),r=e.data().filter(s=>s.length>1),i=r.length;for(let s=0,o=YM;s1){const l=a[0];o!==(o=yu(t[l]))&&(n[l]|=HM)}}for(let s=i-1,o=YM;s>=0;--s){const a=r[s];if(a.length>1){const l=a[0];o!==(o=yu(t[l]))&&(n[l]|=OX)}}return([s])=>n[s]}function LX(e,{markerStart:t,markerMid:n,markerEnd:r,stroke:i},s=()=>i,o,a){if(!t&&!n&&!r)return;const l=new Map,c=o&&nNt(e,o);function u(f,h,d){return function(g){if(d&&!d(g))return;const y=s(g);let v=l.get(h);v||l.set(h,v=new Map);let b=v.get(y);if(!b){const _=this.parentNode.insertBefore(h(y,a),this),x=`plot-marker-${++tNt}`;_.setAttribute("id",x),v.set(y,b=`url(#${x})`)}this.setAttribute(f,b)}}t&&e.each(u("marker-start",t,c&&(f=>c(f)&HM))),n&&c&&e.each(u("marker-start",n,f=>!(c(f)&HM))),n&&e.each(u("marker-mid",n)),r&&e.each(u("marker-end",r,c&&(f=>c(f)&OX)))}function fb({inset:e,insetLeft:t,insetRight:n,...r}={}){return[t,n]=DX(e,t,n),{inset:e,insetLeft:t,insetRight:n,...r}}function hb({inset:e,insetTop:t,insetBottom:n,...r}={}){return[t,n]=DX(e,t,n),{inset:e,insetTop:t,insetBottom:n,...r}}function DX(e,t,n){return e===void 0&&t===void 0&&n===void 0?Yi?[1,0]:[.5,.5]:[t,n]}function FX(e,{interval:t}){return e={...wm(e)},e.interval=C3(e.interval===void 0?t:e.interval),e}function j3(e,t,n,r){const{[e]:i,[`${e}1`]:s,[`${e}2`]:o}=n,{value:a,interval:l}=FX(i,n);if(a==null||l==null&&!r)return n;const c=Nc(i);if(l==null){let d;const g={transform:y=>d||(d=an(y,a)),label:c};return{...n,[e]:void 0,[`${e}1`]:s===void 0?g:s,[`${e}2`]:o===void 0&&!(s===o&&r)?g:o}}let u,f;function h(d){return f!==void 0&&d===u?f:f=gr(an(u=d,a),g=>l.floor(g))}return t({...n,[e]:void 0,[`${e}1`]:s===void 0?{transform:h,label:c}:s,[`${e}2`]:o===void 0?{transform:d=>h(d).map(g=>l.offset(g)),label:c}:o})}function BX(e,t,n){const{[e]:r}=n,{value:i,interval:s}=FX(r,n);return i==null||s==null?n:t({...n,[e]:{label:Nc(r),transform:o=>{const a=gr(an(o,i),c=>s.floor(c)),l=a.map(c=>s.offset(c));return a.map(zs(a)?(c,u)=>c==null||isNaN(c=+c)||(u=l[u],u==null)||isNaN(u=+u)?void 0:new Date((c+u)/2):(c,u)=>c==null||(u=l[u],u==null)?NaN:(+c+ +u)/2)}}})}function PX(e={}){return j3("x",fb,e,!0)}function UX(e={}){return j3("y",hb,e,!0)}function eC(e={}){return j3("x",fb,e)}function nC(e={}){return j3("y",hb,e)}function zX(e={}){return BX("x",fb,e)}function qX(e={}){return BX("y",hb,e)}const jX={ariaLabel:"rule",fill:null,stroke:"currentColor"};class VX extends vr{constructor(t,n={}){const{x:r,y1:i,y2:s,inset:o=0,insetTop:a=o,insetBottom:l=o}=n;super(t,{x:{value:r,scale:"x",optional:!0},y1:{value:i,scale:"y",optional:!0},y2:{value:s,scale:"y",optional:!0}},Tp(n,"x"),jX),this.insetTop=Tr(a),this.insetBottom=Tr(l),xm(this,n)}render(t,n,r,i,s){const{x:o,y:a}=n,{x:l,y1:c,y2:u}=r,{width:f,height:h,marginTop:d,marginRight:g,marginLeft:y,marginBottom:v}=i,{insetTop:b,insetBottom:_}=this;return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,{x:l&&o},Yi,0).call(x=>x.selectAll().data(t).enter().append("line").call(cr,this).attr("x1",l?A=>l[A]:(y+f-g)/2).attr("x2",l?A=>l[A]:(y+f-g)/2).attr("y1",c&&!Sc(a)?A=>c[A]+b:d+b).attr("y2",u&&!Sc(a)?a.bandwidth?A=>u[A]+a.bandwidth()-_:A=>u[A]-_:h-v-_).call(Hr,this,r).call(ub,this,r,s)).node()}}class WX extends vr{constructor(t,n={}){const{x1:r,x2:i,y:s,inset:o=0,insetRight:a=o,insetLeft:l=o}=n;super(t,{y:{value:s,scale:"y",optional:!0},x1:{value:r,scale:"x",optional:!0},x2:{value:i,scale:"x",optional:!0}},Tp(n,"y"),jX),this.insetRight=Tr(a),this.insetLeft=Tr(l),xm(this,n)}render(t,n,r,i,s){const{x:o,y:a}=n,{y:l,x1:c,x2:u}=r,{width:f,height:h,marginTop:d,marginRight:g,marginLeft:y,marginBottom:v}=i,{insetLeft:b,insetRight:_}=this;return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,{y:l&&a},0,Yi).call(x=>x.selectAll().data(t).enter().append("line").call(cr,this).attr("x1",c&&!Sc(o)?A=>c[A]+b:y+b).attr("x2",u&&!Sc(o)?o.bandwidth?A=>u[A]+o.bandwidth()-_:A=>u[A]-_:f-g-_).attr("y1",l?A=>l[A]:(d+h-v)/2).attr("y2",l?A=>l[A]:(d+h-v)/2).call(Hr,this,r).call(ub,this,r,s)).node()}}function lh(e,t){let{x:n=he,y:r,y1:i,y2:s,...o}=nC(t);return[i,s]=YX(r,i,s),new VX(e,{...o,x:n,y1:i,y2:s})}function ch(e,t){let{y:n=he,x:r,x1:i,x2:s,...o}=eC(t);return[i,s]=YX(r,i,s),new WX(e,{...o,y:n,x1:i,x2:s})}function YX(e,t,n){if(e==null){if(t===void 0){if(n!==void 0)return[0,n]}else if(n===void 0)return[0,t]}else{if(t===void 0)return n===void 0?[0,e]:[e,n];if(n===void 0)return[e,t]}return[t,n]}function db(e,...t){let n=t.length;for(let r=0,i=!0;r{let i=e[0];for(let s=0;s=0))throw new Error(`invalid lineWidth: ${u}`);this.splitLines=ZX(this),this.clipLine=QX(this)}render(t,n,r,i,s){const{x:o,y:a}=n,{x:l,y:c,rotate:u,text:f,title:h,fontSize:d}=r,{rotate:g}=this,[y,v]=$c(this,i);return xn("svg:g",s).call(Mr,this,i,s).call(JX,this,f,i).call(yr,this,{x:l&&o,y:c&&a}).call(b=>b.selectAll().data(t).enter().append("text").call(cr,this).call(iNt,this,f,h).attr("transform",db`translate(${l?_=>l[_]:y},${c?_=>c[_]:v})${u?_=>` rotate(${u[_]})`:g?` rotate(${g})`:""}`).call(ge,"font-size",d&&(_=>d[_])).call(Hr,this,r)).node()}};function GX(e){return e==null?null:Xo(e,"textOverflow",["clip","ellipsis","clip-start","clip-end","ellipsis-start","ellipsis-middle","ellipsis-end"]).replace(/^(clip|ellipsis)$/,"$1-end")}function iNt(e,t,n,r){if(!n)return;const{lineAnchor:i,lineHeight:s,textOverflow:o,splitLines:a,clipLine:l}=t;e.each(function(c){const u=a(Ug(n[c])??"").map(l),f=u.length,h=i==="top"?.71:i==="bottom"?1-f:(164-f*100)/200;if(f>1){let d=0;for(let g=0;gi&&n(e,i,a)>t&&(r.push(e.slice(i,s)+(e[s-1]===HX?"-":"")),i=o),l){r.push(e.slice(i,a)),i=void 0;continue}s=a}return r}function*cNt(e){let t=0,n=0;const r=e.length;for(;ns.split(/\r\n?|\n/g);const r=e?iC:rC,i=t*100;return s=>lNt(s,i,r)}function QX({monospace:e,lineWidth:t,textOverflow:n}){if(n==null||t==1/0)return s=>s;const r=e?iC:rC,i=t*100;switch(n){case"clip-start":return s=>oF(s,i,r,"");case"clip-end":return s=>sF(s,i,r,"");case"ellipsis-start":return s=>oF(s,i,r,ng);case"ellipsis-middle":return s=>uNt(s,i,r,ng);case"ellipsis-end":return s=>sF(s,i,r,ng)}}const ng="…";function qg(e,t,n,r){const i=[];let s=0;for(let o=0,a=0,l=e.length;ot){for(s+=r;s>t&&o>0;)a=o,o=i.pop(),s-=n(e,o,a);return[o,t-s]}s+=c,i.push(o)}return[-1,0]}function sF(e,t,n,r){e=e.trim();const i=n(r),[s]=qg(e,t,n,i);return s<0?e:e.slice(0,s).trimEnd()+r}function uNt(e,t,n,r){e=e.trim();const i=n(e);if(i<=t)return e;const s=n(r)/2,[o,a]=qg(e,t/2,n,s),[l]=qg(e,i-t/2-a+s,n,-s);return l<0?r:e.slice(0,o).trimEnd()+r+e.slice(Sm(e,l)).trimStart()}function oF(e,t,n,r){e=e.trim();const i=n(e);if(i<=t)return e;const s=n(r),[o]=qg(e,i-t+s,n,-s);return o<0?r:r+e.slice(Sm(e,o)).trimStart()}const GM=/[\p{Combining_Mark}\p{Emoji_Modifier}]+/uy,aF=/\p{Extended_Pictographic}/uy;function Sm(e,t){return t+=fNt(e,t)?2:1,dNt(e,t)&&(t=GM.lastIndex),hNt(e,t)?Sm(e,t+1):t}function tK(e,t){return e.charCodeAt(t)<128}function fNt(e,t){const n=e.charCodeAt(t);if(n>=55296&&n<56320){const r=e.charCodeAt(t+1);return r>=56320&&r<57344}return!1}function hNt(e,t){return e.charCodeAt(t)===8205}function dNt(e,t){return tK(e,t)?!1:(GM.lastIndex=t,GM.test(e))}function eK(e,t){return tK(e,t)?!1:(aF.lastIndex=t,aF.test(e))}const nK={ariaLabel:"vector",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinejoin:"round",strokeLinecap:"round"},rK=3.5,pNt=rK*5,iK={draw(e,t,n){const r=t*n/pNt;e.moveTo(0,0),e.lineTo(0,-t),e.moveTo(-r,r-t),e.lineTo(0,-t),e.lineTo(r,r-t)}},sK={draw(e,t,n){e.moveTo(-n,0),e.lineTo(0,-t),e.lineTo(n,0)}},gNt=new Map([["arrow",iK],["spike",sK]]);function mNt(e){return e&&typeof e.draw=="function"}function yNt(e){if(mNt(e))return e;const t=gNt.get(`${e}`.toLowerCase());if(t)return t;throw new Error(`invalid shape: ${e}`)}class W3 extends vr{constructor(t,n={}){const{x:r,y:i,r:s=rK,length:o,rotate:a,shape:l=iK,anchor:c="middle",frameAnchor:u}=n,[f,h]=oi(o,12),[d,g]=oi(a,0);super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},length:{value:f,scale:"length",optional:!0},rotate:{value:d,optional:!0}},n,nK),this.r=+s,this.length=h,this.rotate=g,this.shape=yNt(l),this.anchor=Xo(c,"anchor",["start","middle","end"]),this.frameAnchor=rb(u)}render(t,n,r,i,s){const{x:o,y:a}=n,{x:l,y:c,length:u,rotate:f}=r,{length:h,rotate:d,anchor:g,shape:y,r:v}=this,[b,_]=$c(this,i);return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,{x:l&&o,y:c&&a}).call(x=>x.selectAll().data(t).enter().append("path").call(cr,this).attr("transform",db`translate(${l?A=>l[A]:b},${c?A=>c[A]:_})${f?A=>` rotate(${f[A]})`:d?` rotate(${d})`:""}${g==="start"?"":g==="end"?u?A=>` translate(0,${u[A]})`:` translate(0,${h})`:u?A=>` translate(0,${u[A]/2})`:` translate(0,${h/2})`}`).attr("d",u?A=>{const k=mu();return y.draw(k,u[A],v),k}:(()=>{const A=mu();return y.draw(A,h,v),A})()).call(Hr,this,r)).node()}}function oK(e,t={}){let{x:n,y:r,...i}=t;return t.frameAnchor===void 0&&([n,r]=Rl(n,r)),new W3(e,{...i,x:n,y:r})}function aK(e,t={}){const{x:n=he,...r}=t;return new W3(e,{...r,x:n})}function lK(e,t={}){const{y:n=he,...r}=t;return new W3(e,{...r,y:n})}function vNt(e,t={}){const{shape:n=sK,stroke:r=nK.stroke,strokeWidth:i=1,fill:s=r,fillOpacity:o=.3,anchor:a="start",...l}=t;return oK(e,{...l,shape:n,stroke:r,strokeWidth:i,fill:s,fillOpacity:o,anchor:a})}function Rh(e,t){return arguments.length<2&&!Ku(e)&&(t=e,e=null),t===void 0&&(t={}),[e,t]}function Y3({anchor:e}={},t){return e===void 0?t[0]:Xo(e,"anchor",t)}function cK(e){return Y3(e,["left","right"])}function uK(e){return Y3(e,["right","left"])}function fK(e){return Y3(e,["bottom","top"])}function hK(e){return Y3(e,["top","bottom"])}function sC(){const[e,t]=Rh(...arguments);return gK("y",cK(t),e,t)}function dK(){const[e,t]=Rh(...arguments);return gK("fy",uK(t),e,t)}function oC(){const[e,t]=Rh(...arguments);return mK("x",fK(t),e,t)}function pK(){const[e,t]=Rh(...arguments);return mK("fx",hK(t),e,t)}function gK(e,t,n,{color:r="currentColor",opacity:i=1,stroke:s=r,strokeOpacity:o=i,strokeWidth:a=1,fill:l=r,fillOpacity:c=i,textAnchor:u,textStroke:f,textStrokeOpacity:h,textStrokeWidth:d,tickSize:g=e==="y"?6:0,tickPadding:y,tickRotate:v,x:b,margin:_,marginTop:x=_===void 0?20:_,marginRight:A=_===void 0?t==="right"?40:0:_,marginBottom:k=_===void 0?20:_,marginLeft:S=_===void 0?t==="left"?40:0:_,label:T,labelAnchor:M,labelArrow:I,labelOffset:N,ariaLabel:C=`${e}-axis`,...L}){return g=Tr(g),y=Tr(y),v=Tr(v),M!==void 0&&(M=Xo(M,"labelAnchor",["center","top","bottom"])),I=MK(I),qa(g&&!$r(s)?bNt(e,t,n,{stroke:s,strokeOpacity:o,strokeWidth:a,tickSize:g,tickPadding:y,tickRotate:v,x:b,ariaLabel:C,...L}):null,$r(l)?null:wNt(e,t,n,{fill:l,fillOpacity:c,stroke:f,strokeOpacity:h,strokeWidth:d,textAnchor:u,tickSize:g,tickPadding:y,tickRotate:v,x:b,marginTop:x,marginRight:A,marginBottom:k,marginLeft:S,ariaLabel:C,...L}),!$r(l)&&T!==null?zg([],AK({fill:l,fillOpacity:c,...L},function(F,$,D,O,B){const V=O[e],{marginTop:U,marginRight:q,marginBottom:z,marginLeft:Y}=e==="y"&&B.inset||B,Q=M??(V.bandwidth?"center":"top"),gt=N??(t==="right"?q:Y)-3;return Q==="center"?(this.textAnchor=void 0,this.lineAnchor=t==="right"?"bottom":"top",this.frameAnchor=t,this.rotate=-90):(this.textAnchor=t==="right"?"end":"start",this.lineAnchor=Q,this.frameAnchor=`${Q}-${t}`,this.rotate=0),this.dy=Q==="top"?3-U:Q==="bottom"?z-3:0,this.dx=t==="right"?gt:-gt,this.ariaLabel=`${C} label`,{facets:[[0]],channels:{text:{value:[kK(e,V,{anchor:t,label:T,labelAnchor:Q,labelArrow:I})]}}}})):null)}function mK(e,t,n,{color:r="currentColor",opacity:i=1,stroke:s=r,strokeOpacity:o=i,strokeWidth:a=1,fill:l=r,fillOpacity:c=i,textAnchor:u,textStroke:f,textStrokeOpacity:h,textStrokeWidth:d,tickSize:g=e==="x"?6:0,tickPadding:y,tickRotate:v,y:b,margin:_,marginTop:x=_===void 0?t==="top"?30:0:_,marginRight:A=_===void 0?20:_,marginBottom:k=_===void 0?t==="bottom"?30:0:_,marginLeft:S=_===void 0?20:_,label:T,labelAnchor:M,labelArrow:I,labelOffset:N,ariaLabel:C=`${e}-axis`,...L}){return g=Tr(g),y=Tr(y),v=Tr(v),M!==void 0&&(M=Xo(M,"labelAnchor",["center","left","right"])),I=MK(I),qa(g&&!$r(s)?_Nt(e,t,n,{stroke:s,strokeOpacity:o,strokeWidth:a,tickSize:g,tickPadding:y,tickRotate:v,y:b,ariaLabel:C,...L}):null,$r(l)?null:xNt(e,t,n,{fill:l,fillOpacity:c,stroke:f,strokeOpacity:h,strokeWidth:d,textAnchor:u,tickSize:g,tickPadding:y,tickRotate:v,y:b,marginTop:x,marginRight:A,marginBottom:k,marginLeft:S,ariaLabel:C,...L}),!$r(l)&&T!==null?zg([],AK({fill:l,fillOpacity:c,...L},function(F,$,D,O,B){const V=O[e],{marginTop:U,marginRight:q,marginBottom:z,marginLeft:Y}=e==="x"&&B.inset||B,Q=M??(V.bandwidth?"center":"right"),gt=N??(t==="top"?U:z)-3;return Q==="center"?(this.frameAnchor=t,this.textAnchor=void 0):(this.frameAnchor=`${t}-${Q}`,this.textAnchor=Q==="right"?"end":"start"),this.lineAnchor=t,this.dy=t==="top"?-gt:gt,this.dx=Q==="right"?q-3:Q==="left"?3-Y:0,this.ariaLabel=`${C} label`,{facets:[[0]],channels:{text:{value:[kK(e,V,{anchor:t,label:T,labelAnchor:Q,labelArrow:I})]}}}})):null)}function bNt(e,t,n,{strokeWidth:r=1,strokeLinecap:i=null,strokeLinejoin:s=null,facetAnchor:o=t+(e==="y"?"-empty":""),frameAnchor:a=t,tickSize:l,inset:c=0,insetLeft:u=c,insetRight:f=c,dx:h=0,y:d=e==="y"?void 0:null,ariaLabel:g,...y}){return Am(lK,e,n,{ariaLabel:`${g} tick`,ariaHidden:!0},{strokeWidth:r,strokeLinecap:i,strokeLinejoin:s,facetAnchor:o,frameAnchor:a,y:d,...y,dx:t==="left"?+h-Yi+ +u:+h+Yi-f,anchor:"start",length:l,shape:t==="left"?TNt:kNt})}function _Nt(e,t,n,{strokeWidth:r=1,strokeLinecap:i=null,strokeLinejoin:s=null,facetAnchor:o=t+(e==="x"?"-empty":""),frameAnchor:a=t,tickSize:l,inset:c=0,insetTop:u=c,insetBottom:f=c,dy:h=0,x:d=e==="x"?void 0:null,ariaLabel:g,...y}){return Am(aK,e,n,{ariaLabel:`${g} tick`,ariaHidden:!0},{strokeWidth:r,strokeLinejoin:s,strokeLinecap:i,facetAnchor:o,frameAnchor:a,x:d,...y,dy:t==="bottom"?+h-Yi-f:+h+Yi+ +u,anchor:"start",length:l,shape:t==="bottom"?ANt:ENt})}function wNt(e,t,n,{facetAnchor:r=t+(e==="y"?"-empty":""),frameAnchor:i=t,tickSize:s,tickRotate:o=0,tickPadding:a=Math.max(3,9-s)+(Math.abs(o)>60?4*Math.cos(o*j2):0),text:l,textAnchor:c=Math.abs(o)>60?"middle":t==="left"?"end":"start",lineAnchor:u=o>60?"top":o<-60?"bottom":"middle",fontVariant:f,inset:h=0,insetLeft:d=h,insetRight:g=h,dx:y=0,ariaLabel:v,y:b=e==="y"?void 0:null,..._}){return Am(KX,e,n,{ariaLabel:`${v} tick label`},{facetAnchor:r,frameAnchor:i,text:l,textAnchor:c,lineAnchor:u,fontVariant:f,rotate:o,y:b,..._,dx:t==="left"?+y-s-a+ +d:+y+ +s+ +a-g},function(x,A,k,S,T){f===void 0&&(this.fontVariant=TK(x)),l===void 0&&(T.text=EK(x,A,k,S,t))})}function xNt(e,t,n,{facetAnchor:r=t+(e==="x"?"-empty":""),frameAnchor:i=t,tickSize:s,tickRotate:o=0,tickPadding:a=Math.max(3,9-s)+(Math.abs(o)>=10?4*Math.cos(o*j2):0),text:l,textAnchor:c=Math.abs(o)>=10?o<0^t==="bottom"?"start":"end":"middle",lineAnchor:u=Math.abs(o)>=10?"middle":t==="bottom"?"top":"bottom",fontVariant:f,inset:h=0,insetTop:d=h,insetBottom:g=h,dy:y=0,x:v=e==="x"?void 0:null,ariaLabel:b,..._}){return Am(XX,e,n,{ariaLabel:`${b} tick label`},{facetAnchor:r,frameAnchor:i,text:l===void 0?null:l,textAnchor:c,lineAnchor:u,fontVariant:f,rotate:o,x:v,..._,dy:t==="bottom"?+y+ +s+ +a-g:+y-s-a+ +d},function(x,A,k,S,T){f===void 0&&(this.fontVariant=TK(x)),l===void 0&&(T.text=EK(x,A,k,S,t))})}function yK(){const[e,t]=Rh(...arguments);return wK("y",cK(t),e,t)}function vK(){const[e,t]=Rh(...arguments);return wK("fy",uK(t),e,t)}function bK(){const[e,t]=Rh(...arguments);return xK("x",fK(t),e,t)}function _K(){const[e,t]=Rh(...arguments);return xK("fx",hK(t),e,t)}function wK(e,t,n,{y:r=e==="y"?void 0:null,x:i=null,x1:s=t==="left"?i:null,x2:o=t==="right"?i:null,ariaLabel:a=`${e}-grid`,ariaHidden:l=!0,...c}){return Am(ch,e,n,{ariaLabel:a,ariaHidden:l},{y:r,x1:s,x2:o,...SK(c)})}function xK(e,t,n,{x:r=e==="x"?void 0:null,y:i=null,y1:s=t==="top"?i:null,y2:o=t==="bottom"?i:null,ariaLabel:a=`${e}-grid`,ariaHidden:l=!0,...c}){return Am(lh,e,n,{ariaLabel:a,ariaHidden:l},{x:r,y1:s,y2:o,...SK(c)})}function SK({color:e="currentColor",opacity:t=.1,stroke:n=e,strokeOpacity:r=t,strokeWidth:i=1,...s}){return{stroke:n,strokeOpacity:r,strokeWidth:i,...s}}function AK({fill:e,fillOpacity:t,fontFamily:n,fontSize:r,fontStyle:i,fontVariant:s,fontWeight:o,monospace:a,pointerEvents:l,shapeRendering:c,clip:u=!1},f){return[,e]=Us(e),[,t]=oi(t),{facet:"super",x:null,y:null,fill:e,fillOpacity:t,fontFamily:n,fontSize:r,fontStyle:i,fontVariant:s,fontWeight:o,monospace:a,pointerEvents:l,shapeRendering:c,clip:u,initializer:f}}function Am(e,t,n,r,i,s){let o;function a(u,f,h,d,g,y){const v=u==null&&(t==="fx"||t==="fy"),{[t]:b}=d;if(!b)throw new Error(`missing scale: ${t}`);const _=b.domain();let{interval:x,ticks:A,tickFormat:k,tickSpacing:S=t==="x"?80:35}=i;if(typeof A=="string"&&IK(b)&&(x=A,A=void 0),A===void 0&&(A=_m(x,b.type)??SNt(b,S)),u==null){if(Ku(A))u=kh(A);else if($0(A))u=ak(A,...pi(_));else if(b.interval){let M=b.interval;if(b.ticks){const[I,N]=pi(_),C=(N-I)/M[eb];M=$D(M,C/A)??M,u=ak(M,I,N)}else{u=_;const I=u.length;M=$D(M,I/A)??M,M!==b.interval&&(u=ak(M,...pi(u)))}if(M===b.interval){const I=Math.round(u.length/A);I>1&&(u=u.filter((N,C)=>C%I===0))}}else b.ticks?u=b.ticks(A):u=_;if(!b.ticks&&u.length&&u!==_){const M=new um(_);u=u.filter(I=>M.has(I)),u.length||Tu(`Warning: the ${t}-axis ticks appear to not align with the scale domain, resulting in no ticks. Try different ticks?`)}t==="y"||t==="x"?f=[Xu(u)]:o[t]={scale:t,value:he}}s?.call(this,b,u,A,k,o);const T=Object.fromEntries(Object.entries(o).map(([M,I])=>[M,{...I,value:an(u,I.value)}]));return v&&(f=y.filterFacets(u,T)),{data:u,facets:f,channels:T}}const l=gs(i).initializer,c=e(n,gs({...i,initializer:a},l));return n==null?(o=c.channels,c.channels={}):o={},r!==void 0&&Object.assign(c,r),c.clip===void 0&&(c.clip=!1),c}function SNt(e,t){const[n,r]=pi(e.range());return(r-n)/t}function EK(e,t,n,r,i){return{value:aC(e,t,n,r,i)}}function aC(e,t,n,r,i){return typeof r=="function"&&!(e.type==="log"&&e.tickFormat)?r:r===void 0&&t&&zs(t)?kRt(e.type,t,i)??Ug:e.tickFormat?e.tickFormat(typeof n=="number"?n:null,r):typeof r=="string"&&e.domain().length>0?(zs(e.domain())?j1:Wa)(r):r===void 0?Ug:Wi(r)}function ak(e,t,n){return e.range(t,e.offset(e.floor(n)))}const ANt={draw(e,t){e.moveTo(0,0),e.lineTo(0,t)}},ENt={draw(e,t){e.moveTo(0,0),e.lineTo(0,-t)}},TNt={draw(e,t){e.moveTo(0,0),e.lineTo(-t,0)}},kNt={draw(e,t){e.moveTo(0,0),e.lineTo(t,0)}};function TK(e){return e.bandwidth&&!e.interval?void 0:"tabular-nums"}function kK(e,t,{anchor:n,label:r=t.label,labelAnchor:i,labelArrow:s}={}){if(!(r==null||r.inferred&&IK(t)&&/^(date|time|year)$/i.test(r))){if(r=String(r),s==="auto"&&(s=(!t.bandwidth||t.interval)&&!/[↑↓→←]/.test(r)),!s)return r;if(s===!0){const o=mX(t);o&&(s=/x$/.test(e)||i==="center"?/x$/.test(e)===o<0?"left":"right":o<0?"up":"down")}switch(s){case"left":return`← ${r}`;case"right":return`${r} →`;case"up":return n==="right"?`${r} ↑`:`↑ ${r}`;case"down":return n==="right"?`${r} ↓`:`↓ ${r}`}return r}}function MK(e="auto"){return $r(e)?!1:typeof e=="boolean"?e:Xo(e,"labelArrow",["auto","up","right","down","left"])}function IK(e){return zs(e.domain())}function lF(e,t){if(t==null)return t;const n=e(t);if(!n)throw new Error(`scale not found: ${t}`);return n}function MNt(e,{opacity:t,...n}={}){if(!Ep(e)&&!wX(e))throw new Error(`swatches legend requires ordinal or threshold color scale (not ${e.type})`);return RK(e,n,(r,i,s,o)=>r.append("svg").attr("width",s).attr("height",o).attr("fill",i.scale).attr("fill-opacity",oi(t)[1]).append("rect").attr("width","100%").attr("height","100%"))}function INt(e,{fill:t=e.hint?.fill!==void 0?e.hint.fill:"none",fillOpacity:n=1,stroke:r=e.hint?.stroke!==void 0?e.hint.stroke:$r(t)?"currentColor":"none",strokeOpacity:i=1,strokeWidth:s=1.5,r:o=4.5,...a}={},l){const[c,u]=Us(t),[f,h]=Us(r),d=lF(l,c),g=lF(l,f),y=o*o*Math.PI;return n=oi(n)[1],i=oi(i)[1],s=oi(s)[1],RK(e,a,(v,b,_,x)=>v.append("svg").attr("viewBox","-8 -8 16 16").attr("width",_).attr("height",x).attr("fill",c==="color"?A=>d.scale(A):u).attr("fill-opacity",n).attr("stroke",f==="color"?A=>g.scale(A):h).attr("stroke-opacity",i).attr("stroke-width",s).append("path").attr("d",A=>{const k=mu();return e.scale(A).draw(k,y),k}))}function RK(e,t={},n){let{columns:r,tickFormat:i,fontVariant:s=$X(e),swatchSize:o=15,swatchWidth:a=o,swatchHeight:l=o,marginLeft:c=0,className:u,style:f,width:h}=t;const d=U3(t);u=ZR(u),i=aC(e.scale,e.domain,void 0,i);const g=xn("div",d).attr("class",`${u}-swatches ${u}-swatches-${r!=null?"columns":"wrap"}`);let y;return r!=null?(y=`:where(.${u}-swatches-columns .${u}-swatch) { display: flex; align-items: center; break-inside: avoid; padding-bottom: 1px; } :where(.${u}-swatches-columns .${u}-swatch::before) { flex-shrink: 0; } :where(.${u}-swatches-columns .${u}-swatch-label) { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }`,g.style("columns",r).selectAll().data(e.domain).enter().append("div").attr("class",`${u}-swatch`).call(n,e,a,l).call(v=>v.append("div").attr("class",`${u}-swatch-label`).attr("title",i).text(i))):(y=`:where(.${u}-swatches-wrap) { display: flex; align-items: center; min-height: 33px; flex-wrap: wrap; } :where(.${u}-swatches-wrap .${u}-swatch) { display: inline-flex; align-items: center; margin-right: 1em; }`,g.selectAll().data(e.domain).enter().append("span").attr("class",`${u}-swatch`).call(n,e,a,l).append(function(){return this.ownerDocument.createTextNode(i.apply(this,arguments))})),g.call(v=>v.insert("style","*").text(`:where(.${u}-swatches) { font-family: system-ui, sans-serif; font-size: 10px; margin-bottom: 0.5em; } :where(.${u}-swatch > svg) { margin-right: 0.5em; overflow: visible; } ${y}`)).style("margin-left",c?`${+c}px`:null).style("width",h===void 0?null:`${+h}px`).style("font-variant",fi(s,"normal")).call(QR,f).node()}const V2=new Map([["symbol",INt],["color",CK],["opacity",NNt]]);function RNt(e={}){for(const[t,n]of V2){const r=e[t];if($d(r)){const i=U3(e);let s;if(t==="symbol"){const{fill:o,stroke:a=o===void 0&&$d(e.color)?"color":void 0}=e;s={fill:o,stroke:a}}return n(jM(t,r,s),lC(i,r,e),o=>$d(e[o])?jM(o,e[o]):null)}}throw new Error("unknown legend type; no scale found")}function CNt(e,t,n={}){return(r,i)=>{if(!V2.has(r))throw new Error(`unknown legend type: ${r}`);if(r in e)return V2.get(r)(e[r],lC(t,n[r],i),s=>e[s])}}function lC({className:e,...t},{label:n,ticks:r,tickFormat:i}={},s){return jRt(s,{className:e,...t},{label:n,ticks:r,tickFormat:i})}function CK(e,{legend:t=!0,...n}){if(t===!0&&(t=e.type==="ordinal"?"swatches":"ramp"),e.domain!==void 0)switch(`${t}`.toLowerCase()){case"swatches":return MNt(e,n);case"ramp":return J8t(e,n);default:throw new Error(`unknown legend type: ${t}`)}}function NNt({type:e,interpolate:t,...n},{legend:r=!0,color:i=yo(0,0,0),...s}){if(!t)throw new Error(`${e} opacity scales are not supported`);if(r===!0&&(r="ramp"),`${r}`.toLowerCase()!=="ramp")throw new Error(`${r} opacity legends are not supported`);return CK({type:e,...n,interpolate:$Nt(i)},{legend:r,...s})}function $Nt(e){const{r:t,g:n,b:r}=yo(e)||yo(0,0,0);return i=>`rgba(${t},${n},${r},${i})`}function ONt(e,t,n){const r=[];for(const[i,s]of V2){const o=n[i];if(o?.legend&&i in e){const a=s(e[i],lC(t,e[i],o),l=>e[l]);a!=null&&r.push(a)}}return r}function H3(e={},t="x"){return $G(e)?e:{...e,[t]:he}}function G3(e={},t="y"){return OG(e)?e:{...e,[t]:he}}function NK(e,t){if(t.length===1)return{data:e,facets:t};const n=Zv(e),r=new Uint8Array(n);let i=0;for(const a of t)for(const l of a)r[l]&&++i,r[l]=1;if(i===0)return{data:e,facets:t};e=Jv(e);const s=e[kG]=new Uint32Array(n+i);t=t.map(a=>Jv(a,Uint32Array));let o=n;r.fill(0);for(const a of t)for(let l=0,c=a.length;l{({data:y,facets:v}=NK(y,v));const _=e==null?void 0:u(U2(an(y,e),b?.[n])),x=an(y,t,Float64Array),A=an(y,l),k=s&&s(y,_,x,A),S=Zv(y),T=h(new Float64Array(S)),M=g(new Float64Array(S)),I=[];for(const N of v){const C=_?Array.from(wh(N,L=>_[L]).values()):[N];if(k)for(const L of C)L.sort(k);for(const L of C){let F=0,$=0;o&&L.reverse();for(const D of L){const O=x[D];O<0?F=M[D]=(T[D]=F)+O:O>0?$=M[D]=(T[D]=$)+O:M[D]=T[D]=$}}I.push(C)}return i&&i(I,T,M,A),{data:y,facets:v}}),c,f,d]}function UNt(e){if(e!=null){if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"expand":case"normalize":return zNt;case"center":case"silhouette":return qNt;case"wiggle":return DK}throw new Error(`unknown offset: ${e}`)}}function LK(e,t){let n=0,r=0;for(const i of e){const s=t[i];sr&&(r=s)}return[n,r]}function zNt(e,t,n){for(const r of e)for(const i of r){const[s,o]=LK(i,n);for(const a of i){const l=1/(o-s||1);t[a]=l*(t[a]-s),n[a]=l*(n[a]-s)}}}function qNt(e,t,n){for(const r of e){for(const i of r){const[s,o]=LK(i,n);for(const a of i){const l=(o+s)/2;t[a]-=l,n[a]-=l}}FK(r,t,n)}BK(e,t,n)}function DK(e,t,n,r){for(const i of e){const s=new Jd;let o=0;for(const a of i){let l=-1;const c=a.map(d=>Math.abs(n[d]-t[d])),u=a.map(d=>{l=r?r[d]:++l;const g=n[d]-t[d],y=s.has(l)?g-s.get(l):0;return s.set(l,g),y}),f=[0,...Lxt(u)];for(const d of a)t[d]+=o,n[d]+=o;const h=ml(c);h&&(o-=ml(c,(d,g)=>(u[g]/2+f[g])*d)/h)}FK(i,t,n)}BK(e,t,n)}function FK(e,t,n){const r=Or(e,i=>Or(i,s=>t[s]));for(const i of e)for(const s of i)t[s]-=r,n[s]-=r}function BK(e,t,n){const r=e.length;if(r===1)return;const i=e.map(a=>a.flat()),s=i.map(a=>(Or(a,l=>t[l])+Yr(a,l=>n[l]))/2),o=Or(s);for(let a=0;a(i,s)=>e(r[i],r[s])}function WNt(e){return(t,n,r,i)=>(s,o)=>e(i[s],i[o])}function YNt(e){return J3(e,(t,n,r,i)=>pI(Xu(t),s=>ml(s,o=>r[o]),s=>i[s]))}function HNt(e){return J3(e,(t,n,r,i)=>pI(Xu(t),s=>n[mI(s,o=>r[o])],s=>i[s]))}function cF(e){return J3(e,(t,n,r,i)=>{const s=Xu(t),o=pI(s,f=>n[mI(f,h=>r[h])],f=>i[f]),a=Y0(s,f=>ml(f,h=>r[h]),f=>i[f]),l=[],c=[];let u=0;for(const f of o)u<0?(u+=a.get(f),l.push(f)):(u-=a.get(f),c.push(f));return c.reverse().concat(l)})}function uF(e){return t=>{const n=an(t,e);return(r,i)=>za(n[r],n[i])}}function GNt(e){return t=>Gu(t)?(n,r)=>e(t[n],t[r]):(n,r)=>e(t.get(n),t.get(r))}function XNt(e){return J3(za,()=>e)}function J3(e,t){return(n,r,i,s)=>{if(!s)throw new Error("missing channel: z");const o=new Jd(t(n,r,i,s).map((a,l)=>[a,l]));return(a,l)=>e(o.get(s[a]),o.get(s[l]))}}const KNt={ariaLabel:"rect"};class Z3 extends vr{constructor(t,n={}){const{x1:r,y1:i,x2:s,y2:o}=n;super(t,{x1:{value:r,scale:"x",type:r!=null&&s==null?"band":void 0,optional:!0},y1:{value:i,scale:"y",type:i!=null&&o==null?"band":void 0,optional:!0},x2:{value:s,scale:"x",optional:!0},y2:{value:o,scale:"y",optional:!0}},n,KNt),cC(this,n),uC(this,n)}render(t,n,r,i,s){const{x:o,y:a}=n;let{x1:l,y1:c,x2:u,y2:f}=r;const{marginTop:h,marginRight:d,marginBottom:g,marginLeft:y,width:v,height:b}=i,{projection:_}=s,{insetTop:x,insetRight:A,insetBottom:k,insetLeft:S}=this,{rx:T,ry:M,rx1y1:I,rx1y2:N,rx2y1:C,rx2y2:L}=this;(l||u)&&!_&&Sc(o)&&(l=u=null),(c||f)&&!_&&Sc(a)&&(c=f=null);const F=o?.bandwidth?o.bandwidth():0,$=a?.bandwidth?a.bandwidth():0;return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,{},0,0).call(D=>D.selectAll().data(t).enter().call(I||N||C||L?O=>O.append("path").call(cr,this).call(fC,l&&u?B=>l[B]+(u[B]l[B]+S:y+S,c&&f?B=>c[B]+(f[B]c[B]+x:h+x,l&&u?B=>u[B]-(u[B]l[B]+F-A:v-d-A,c&&f?B=>f[B]-(f[B]c[B]+$-k:b-g-k,this).call(Hr,this,r):O=>O.append("rect").call(cr,this).attr("x",l?u?B=>Math.min(l[B],u[B])+S:B=>l[B]+S:y+S).attr("y",c?f?B=>Math.min(c[B],f[B])+x:B=>c[B]+x:h+x).attr("width",l?u?B=>Math.max(0,Math.abs(u[B]-l[B])+F-S-A):F-S-A:v-d-y-A-S).attr("height",c?f?B=>Math.max(0,Math.abs(c[B]-f[B])+$-x-k):$-x-k:b-h-g-x-k).call(ge,"rx",T).call(ge,"ry",M).call(Hr,this,r))).node()}}function cC(e,{inset:t=0,insetTop:n=t,insetRight:r=t,insetBottom:i=t,insetLeft:s=t}={}){e.insetTop=Tr(n),e.insetRight=Tr(r),e.insetBottom=Tr(i),e.insetLeft=Tr(s)}function uC(e,{r:t,rx:n,ry:r,rx1:i=t,ry1:s=t,rx2:o=t,ry2:a=t,rx1y1:l=i!==void 0?+i:s!==void 0?+s:0,rx1y2:c=i!==void 0?+i:a!==void 0?+a:0,rx2y1:u=o!==void 0?+o:s!==void 0?+s:0,rx2y2:f=o!==void 0?+o:a!==void 0?+a:0}={}){l||c||u||f?(e.rx1y1=l,e.rx1y2=c,e.rx2y1=u,e.rx2y2=f):(e.rx=fi(n,"auto"),e.ry=fi(r,"auto"))}function fC(e,t,n,r,i,s){const{rx1y1:o,rx1y2:a,rx2y1:l,rx2y2:c}=s;typeof t!="function"&&(t=Wi(t)),typeof n!="function"&&(n=Wi(n)),typeof r!="function"&&(r=Wi(r)),typeof i!="function"&&(i=Wi(i));const u=Math.max(Math.abs(o+l),Math.abs(a+c)),f=Math.max(Math.abs(o+a),Math.abs(l+c));e.attr("d",h=>{const d=t(h),g=n(h),y=r(h),v=i(h),b=d>y,_=g>v,x=b?y:d,A=b?d:y,k=_?v:g,S=_?g:v,T=Math.min(1,(A-x)/u,(S-k)/f),M=T*(b?_?c:l:_?a:o),I=T*(b?_?a:o:_?c:l),N=T*(b?_?o:a:_?l:c),C=T*(b?_?l:c:_?o:a);return`M${x},${k+G_(M,C)}A${M},${M} 0 0 ${M<0?0:1} ${x+H_(M,C)},${k}H${A-H_(I,N)}A${I},${I} 0 0 ${I<0?0:1} ${A},${k+G_(I,N)}V${S-G_(N,I)}A${N},${N} 0 0 ${N<0?0:1} ${A-H_(N,I)},${S}H${x+H_(C,M)}A${C},${C} 0 0 ${C<0?0:1} ${x},${S-G_(C,M)}Z`})}function H_(e,t){return t<0?e:Math.abs(e)}function G_(e,t){return t<0?Math.abs(e):e}function hC(e,t){return new Z3(e,PX(UX(t)))}function W2(e,t={}){return bm(t)||(t={...t,y:gi,x2:he,interval:1}),new Z3(e,X3(UX(H3(t))))}function Y2(e,t={}){return bm(t)||(t={...t,x:gi,y2:he,interval:1}),new Z3(e,K3(PX(G3(t))))}const JNt={ariaLabel:"frame",fill:"none",stroke:"currentColor",clip:!1},ZNt={ariaLabel:"frame",fill:null,stroke:"currentColor",strokeLinecap:"square",clip:!1};class PK extends vr{constructor(t={}){const{anchor:n=null}=t;super(ov,void 0,t,n==null?JNt:ZNt),this.anchor=CG(n,"anchor",["top","right","bottom","left"]),cC(this,t),n||uC(this,t)}render(t,n,r,i,s){const{marginTop:o,marginRight:a,marginBottom:l,marginLeft:c,width:u,height:f}=i,{anchor:h,insetTop:d,insetRight:g,insetBottom:y,insetLeft:v}=this,{rx:b,ry:_,rx1y1:x,rx1y2:A,rx2y1:k,rx2y2:S}=this,T=c+v,M=u-a-g,I=o+d,N=f-l-y;return xn(h?"svg:line":x||A||k||S?"svg:path":"svg:rect",s).datum(0).call(Mr,this,i,s).call(cr,this).call(Hr,this,r).call(yr,this,{}).call(h==="left"?C=>C.attr("x1",T).attr("x2",T).attr("y1",I).attr("y2",N):h==="right"?C=>C.attr("x1",M).attr("x2",M).attr("y1",I).attr("y2",N):h==="top"?C=>C.attr("x1",T).attr("x2",M).attr("y1",I).attr("y2",I):h==="bottom"?C=>C.attr("x1",T).attr("x2",M).attr("y1",N).attr("y2",N):x||A||k||S?C=>C.call(fC,T,I,M,N,this):C=>C.attr("x",T).attr("y",I).attr("width",M-T).attr("height",N-I).attr("rx",b).attr("ry",_)).node()}}function dC(e){return new PK(e)}const lk={ariaLabel:"tip",fill:"var(--plot-background)",stroke:"currentColor"},QNt=new Set(["geometry","href","src","ariaLabel","scales"]);class UK extends vr{constructor(t,n={}){n.tip&&(n={...n,tip:!1}),n.title===void 0&&Ku(t)&&PG(t)&&(n={...n,title:he});const{x:r,y:i,x1:s,x2:o,y1:a,y2:l,anchor:c,preferredAnchor:u="bottom",monospace:f,fontFamily:h=f?"ui-monospace, monospace":void 0,fontSize:d,fontStyle:g,fontVariant:y,fontWeight:v,lineHeight:b=1,lineWidth:_=20,frameAnchor:x,format:A,textAnchor:k="start",textOverflow:S,textPadding:T=8,title:M,pointerSize:I=12,pathFilter:N="drop-shadow(0 3px 4px rgba(0,0,0,0.2))"}=n;super(t,{x:{value:s!=null&&o!=null?null:r,scale:"x",optional:!0},y:{value:a!=null&&l!=null?null:i,scale:"y",optional:!0},x1:{value:s,scale:"x",optional:o==null},y1:{value:a,scale:"y",optional:l==null},x2:{value:o,scale:"x",optional:s==null},y2:{value:l,scale:"y",optional:a==null},title:{value:M,optional:!0}},n,lk),this.anchor=FM(c,"anchor"),this.preferredAnchor=FM(u,"preferredAnchor"),this.frameAnchor=rb(x),this.textAnchor=fi(k,"middle"),this.textPadding=+T,this.pointerSize=+I,this.pathFilter=Vi(N),this.lineHeight=+b,this.lineWidth=+_,this.textOverflow=GX(S),this.monospace=!!f,this.fontFamily=Vi(h),this.fontSize=Tr(d),this.fontStyle=Vi(g),this.fontVariant=Vi(y),this.fontWeight=Vi(v);for(const C in lk)C in this.channels&&(this[C]=lk[C]);this.splitLines=ZX(this),this.clipLine=QX(this),this.format=typeof A=="string"||typeof A=="function"?{title:A}:{...A}}render(t,n,r,i,s){const o=this,{x:a,y:l,fx:c,fy:u}=n,{ownerSVGElement:f,document:h}=s,{anchor:d,monospace:g,lineHeight:y,lineWidth:v}=this,{textPadding:b,pointerSize:_,pathFilter:x}=this,{marginTop:A,marginLeft:k}=i,{x1:S,y1:T,x2:M,y2:I,x:N=S??M,y:C=T??I}=r,L=c?c(t.fx)-k:0,F=u?u(t.fy)-A:0,[$,D]=$c(this,i),O=CX(r,$),B=NX(r,D),V=g?iC:rC,U=V(ng);let q,z;"title"in r?(q=fF.call(this,{title:r.channels.title},n),z=r$t):(q=fF.call(this,r.channels,n),z=i$t);const Y=xn("svg:g",s).call(Mr,this,i,s).call(JX,this).call(yr,this,{x:N&&a,y:C&&l}).call(yt=>yt.selectAll().data(t).enter().append("g").attr("transform",pt=>`translate(${Math.round(O(pt))},${Math.round(B(pt))})`).call(cr,this).call(pt=>pt.append("path").attr("filter",x)).call(pt=>pt.append("text").each(function(lt){const ft=Ar(this);this.setAttribute("fill","currentColor"),this.setAttribute("fill-opacity",1),this.setAttribute("stroke","none");const J=z.call(o,lt,t,q,n,r);if(typeof J=="string")for(const et of o.splitLines(J))Q(ft,{value:o.clipLine(et)});else{const et=new Set;for(const vt of J){const{label:at=""}=vt;at&&et.has(at)||(et.add(at),Q(ft,vt))}}})));function Q(yt,{label:pt,value:lt,color:ft,opacity:J}){pt??="",lt??="";const et=ft!=null||J!=null;let vt,at=v*100;const[kt]=qg(pt,at,V,U);if(kt>=0)pt=pt.slice(0,kt).trimEnd()+ng,vt=lt.trim(),lt="";else{(pt||!lt&&!et)&&(lt=" "+lt);const[Bt]=qg(lt,at-V(pt),V,U);Bt>=0&&(vt=lt.trim(),lt=lt.slice(0,Bt).trimEnd()+ng)}const Mt=yt.append("tspan").attr("x",0).attr("dy",`${y}em`).text("​");pt&&Mt.append("tspan").attr("font-weight","bold").text(pt),lt&&Mt.append(()=>h.createTextNode(lt)),et&&Mt.append("tspan").text(" ■").attr("fill",ft).attr("fill-opacity",J).style("user-select","none"),vt&&Mt.append("title").text(vt)}function gt(){const{width:yt,height:pt}=i.facet??i;Y.selectChildren().each(function(lt){let{x:ft,width:J,height:et}=this.getBBox();J=Math.round(J),et=Math.round(et);let vt=d;if(vt===void 0){const Mt=O(lt)+L,Bt=B(lt)+F,Ut=Mt+J+_+b*20,jt=Bt+et+_+b*20;vt=Ut&&St?jt&&Fe?o.preferredAnchor:Fe?"bottom":"top":jt&&Fe?Ut?"left":"right":(Ut||St)&&(jt||Fe)?`${Fe?"bottom":"top"}-${Ut?"left":"right"}`:o.preferredAnchor}const at=this.firstChild,kt=this.lastChild;if(at.setAttribute("d",n$t(vt,_,b,J,et)),ft)for(const Mt of kt.childNodes)Mt.setAttribute("x",-ft);kt.setAttribute("y",`${+t$t(vt,kt.childNodes.length,y).toFixed(6)}em`),kt.setAttribute("transform",`translate(${e$t(vt,_,b,J,et)})`)}),Y.attr("visibility",null)}return t.length&&(Y.attr("visibility","hidden"),f.isConnected?Promise.resolve().then(gt):typeof requestAnimationFrame<"u"&&requestAnimationFrame(gt)),Y.node()}}function zK(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Rl(t,n)),new UK(e,{...r,x:t,y:n})}function t$t(e,t,n){return/^top(?:-|$)/.test(e)?.94-n:-.29-t*n}function e$t(e,t,n,r,i){switch(e){case"middle":return[-r/2,i/2];case"top-left":return[n,t+n];case"top":return[-r/2,t/2+n];case"top-right":return[-r-n,t+n];case"right":return[-t/2-r-n,i/2];case"bottom-left":return[n,-t-n];case"bottom":return[-r/2,-t/2-n];case"bottom-right":return[-r-n,-t-n];case"left":return[n+t/2,i/2]}}function n$t(e,t,n,r,i){const s=r+n*2,o=i+n*2;switch(e){case"middle":return`M${-s/2},${-o/2}h${s}v${o}h${-s}z`;case"top-left":return`M0,0l${t},${t}h${s-t}v${o}h${-s}z`;case"top":return`M0,0l${t/2},${t/2}h${(s-t)/2}v${o}h${-s}v${-o}h${(s-t)/2}z`;case"top-right":return`M0,0l${-t},${t}h${t-s}v${o}h${s}z`;case"right":return`M0,0l${-t/2},${-t/2}v${t/2-o/2}h${-s}v${o}h${s}v${t/2-o/2}z`;case"bottom-left":return`M0,0l${t},${-t}h${s-t}v${-o}h${-s}z`;case"bottom":return`M0,0l${t/2},${-t/2}h${(s-t)/2}v${-o}h${-s}v${o}h${(s-t)/2}z`;case"bottom-right":return`M0,0l${-t},${-t}h${t-s}v${-o}h${s}z`;case"left":return`M0,0l${t/2},${-t/2}v${t/2-o/2}h${s}v${o}h${-s}v${t/2-o/2}z`}}function fF(e,t){const n={};let r=this.format;r=hF(r,e,"x"),r=hF(r,e,"y"),this.format=r;for(const i in r){const s=r[i];if(!(s===null||s===!1))if(i==="fx"||i==="fy")n[i]=!0;else{const o=PM(e,i);o&&(n[i]=o)}}for(const i in e){if(i in n||i in r||QNt.has(i)||(i==="x"||i==="y")&&e.geometry)continue;const s=PM(e,i);if(s){if(s.scale==null&&s.defaultScale==="color")continue;n[i]=s}}this.facet&&(t.fx&&!("fx"in r)&&(n.fx=!0),t.fy&&!("fy"in r)&&(n.fy=!0));for(const i in n){const s=this.format[i];if(typeof s=="string"){const o=n[i]?.value??t[i]?.domain()??[];this.format[i]=(zs(o)?j1:Wa)(s)}else if(s===void 0||s===!0){const o=t[i];this.format[i]=o?.bandwidth?aC(o,o.domain()):Ug}}return n}function hF(e,t,n){if(!(n in e))return e;const r=`${n}1`,i=`${n}2`;if((r in e||!(r in t))&&(i in e||!(i in t)))return e;const s=Object.entries(e),o=e[n];return s.splice(s.findIndex(([a])=>a===n)+1,0,[r,o],[i,o]),Object.fromEntries(s)}function r$t(e,t,{title:n}){return this.format.title(n.value[e],e)}function*i$t(e,t,n,r,i){for(const s in n){if(s==="fx"||s==="fy"){yield{label:H2(r,n,s),value:this.format[s](t[s],e)};continue}if(s==="x1"&&"x2"in n||s==="y1"&&"y2"in n)continue;const o=n[s];if(s==="x2"&&"x1"in n)yield{label:pF(r,n,"x"),value:dF(this.format.x2,n.x1,o,e)};else if(s==="y2"&&"y1"in n)yield{label:pF(r,n,"y"),value:dF(this.format.y2,n.y1,o,e)};else{const a=o.value[e],l=o.scale;if(!Hi(a)&&l==null)continue;yield{label:H2(r,n,s),value:this.format[s](a,e),color:l==="color"?i[s][e]:null,opacity:l==="opacity"?i[s][e]:null}}}}function dF(e,t,n,r){return n.hint?.length?`${e(n.value[r]-t.value[r],r)}`:`${e(t.value[r],r)}–${e(n.value[r],r)}`}function pF(e,t,n){const r=H2(e,t,`${n}1`,n),i=H2(e,t,`${n}2`,n);return r===i?r:`${r}–${i}`}function H2(e,t,n,r=n){const i=t[n],s=e[i?.scale??n];return String(s?.label??i?.label??r)}function pC(e={}){const{facet:t,style:n,title:r,subtitle:i,caption:s,ariaLabel:o,ariaDescription:a}=e,l=ZR(e.className),c=e.marks===void 0?[]:mF(e.marks);c.push(...f$t(c));const u=c$t(t,e),f=new Map;for(const U of c){const q=yF(U,u,e);q&&f.set(U,q)}const h=new Map;u&&dy(h,[u],e),dy(h,f,e);const d=mF(h$t(c,h,e));for(const U of d){const q=yF(U,u,e);q&&f.set(U,q)}c.unshift(...d);let g=s8t(h,e);if(g!==void 0){const U=u?rk(g,u):void 0;for(const z of c){if(z.facet===null||z.facet==="super")continue;const Y=f.get(z);Y!==void 0&&(Y.facetsIndex=z.fx!=null||z.fy!=null?rk(g,Y):U)}const q=new Set;for(const{facetsIndex:z}of f.values())z?.forEach((Y,Q)=>{Y?.length>0&&q.add(Q)});g.forEach(0z.empty=!q.has(Y):z=>z.empty=!1);for(const z of c)if(z.facet==="exclude"){const Y=f.get(z);Y!==void 0&&(Y.facetsIndex=l8t(Y.facetsIndex))}}for(const U of Vr.keys())$d(e[U])&&U!=="fx"&&U!=="fy"&&h.set(U,[]);const y=new Map;for(const U of c){if(y.has(U))throw new Error("duplicate mark; each mark must be unique");const{facetsIndex:q,channels:z}=f.get(U)??{},{data:Y,facets:Q,channels:gt}=U.initialize(q,z,e);gC(gt,e),y.set(U,{data:Y,facets:Q,channels:gt})}const v=qM(dy(h,y,e),e),b=X8t(v,c,e);ZCt(v,b);const _=HD(v),{fx:x,fy:A}=_,k=x||A?yX(v,b):b,S=x||A?b$t(_,b):b,T=U3(e),M=T.document,I=y3("svg").call(M.documentElement);let N=I;T.ownerSVGElement=I,T.className=l,T.projection=y8t(e,k),T.path=function(){return Z1(this.projection??S8t(_))},T.filterFacets=(U,q)=>rk(g,{channels:q,groups:XR(U,q)}),T.getMarkState=U=>{const q=y.get(U),z=f.get(U);return{...q,channels:{...q.channels,...z?.channels}}},T.dispatchValue=U=>{N.value!==U&&(N.value=U,N.dispatchEvent(new T.document.defaultView.Event("input",{bubbles:!0})))};const C=new Set;for(const[U,q]of y)if(U.initializer!=null){const z=U.facet==="super"?S:k,Y=U.initializer(q.data,q.facets,q.channels,_,z,T);if(Y.data!==void 0&&(q.data=Y.data),Y.facets!==void 0&&(q.facets=Y.facets),Y.channels!==void 0){const{fx:Q,fy:gt,...yt}=Y.channels;l$t(yt),Object.assign(q.channels,yt);for(const pt of Object.values(yt)){const{scale:lt}=pt;lt!=null&&!YRt(Vr.get(lt))&&(qK(pt,e),C.add(lt))}(Q!=null||gt!=null)&&f.set(U,!0)}}if(C.size){const U=new Map;dy(U,y,e,Q=>C.has(Q)),dy(h,y,e,Q=>C.has(Q));const q=v$t(qM(U,e),v),{scales:z,...Y}=HD(q);Object.assign(v,q),Object.assign(_,Y),Object.assign(_.scales,z)}let L,F;g!==void 0&&(L={x:x?.domain(),y:A?.domain()},g=o8t(g,L),F=a8t(x,A,b));for(const[U,q]of y)q.values=U.scale(q.channels,_,T);const{width:$,height:D}=b;Ar(I).attr("class",l).attr("fill","currentColor").attr("font-family","system-ui, sans-serif").attr("font-size",10).attr("text-anchor","middle").attr("width",$).attr("height",D).attr("viewBox",`0 0 ${$} ${D}`).attr("aria-label",o).attr("aria-description",a).call(U=>U.append("style").text(`:where(.${l}) { --plot-background: white; display: block; height: auto; height: intrinsic; max-width: 100%; } :where(.${l} text), :where(.${l} tspan) { white-space: pre; }`)).call(QR,n);for(const U of c){const{channels:q,values:z,facets:Y}=y.get(U);if(g===void 0||U.facet==="super"){let Q=null;if(Y&&(Q=Y[0],Q=U.filter(Q,q,z),Q.length===0))continue;const gt=U.render(Q,_,z,S,T);if(gt==null)continue;I.appendChild(gt)}else{let Q;for(const gt of g){if(!(U.facetAnchor?.(g,L,gt)??!gt.empty))continue;let yt=null;if(Y){const lt=f.has(U);if(yt=Y[lt?gt.i:0],yt=U.filter(yt,q,z),yt.length===0)continue;!lt&&yt===Y[0]&&(yt=Od(yt)),yt.fx=gt.x,yt.fy=gt.y,yt.fi=gt.i}const pt=U.render(yt,_,z,k,T);if(pt!=null){(Q??=Ar(I).append("g")).append(()=>pt).datum(gt);for(const lt of["aria-label","aria-description","aria-hidden","transform"])pt.hasAttribute(lt)&&(Q.attr(lt,pt.getAttribute(lt)),pt.removeAttribute(lt))}}Q?.selectChildren().each(F)}}const O=ONt(v,T,e),{figure:B=r!=null||i!=null||s!=null||O.length>0}=e;B&&(N=M.createElement("figure"),N.className=`${l}-figure`,N.style.maxWidth="initial",r!=null&&N.append(gF(M,r,"h2")),i!=null&&N.append(gF(M,i,"h3")),N.append(...O,I),s!=null&&N.append(s$t(M,s)),"value"in I&&(N.value=I.value,delete I.value)),N.scale=i8t(_.scales),N.legend=CNt(v,T,e);const V=LCt();return V>0&&Ar(I).append("text").attr("x",$).attr("y",20).attr("dy","-1em").attr("text-anchor","end").attr("font-family","initial").text("⚠️").append("title").text(`${V.toLocaleString("en-US")} warning${V===1?"":"s"}. Please check the console.`),N}function gF(e,t,n){if(t.ownerDocument)return t;const r=e.createElement(n);return r.append(t),r}function s$t(e,t){const n=e.createElement("figcaption");return n.append(t),n}function mF(e){return e.flat(1/0).filter(t=>t!=null).map(o$t)}function o$t(e){return typeof e.render=="function"?e:new a$t(e)}class a$t extends vr{constructor(t){if(typeof t!="function")throw new TypeError("invalid mark; missing render function");super(),this.render=t}render(){}}function gC(e,t){for(const n in e)qK(e[n],t);return e}function qK(e,t){const{scale:n,transform:r=!0}=e;if(n==null||!r)return;const{type:i,percent:s,interval:o,transform:a=s?l=>l==null?NaN:l*100:FG(o,i)}=t[n]??{};a!=null&&(e.value=gr(e.value,a),e.transform=!1)}function l$t(e){for(const t in e)nX(t,e[t])}function dy(e,t,n,r=NRt){for(const{channels:i}of t.values())for(const s in i){const o=i[s],{scale:a}=o;if(a!=null&&r(a))if(a==="projection"){if(!_8t(n)){const l=n.x?.domain===void 0,c=n.y?.domain===void 0;if(l||c){const[u,f]=x8t(o);l&&ck(e,"x",u),c&&ck(e,"y",f)}}}else ck(e,a,o)}return e}function ck(e,t,n){const r=e.get(t);r!==void 0?r.push(n):e.set(t,[n])}function c$t(e,t){if(e==null)return;const{x:n,y:r}=e;if(n==null&&r==null)return;const i=Fg(e.data);if(i==null)throw new Error("missing facet data");const s={};n!=null&&(s.fx=e1(i,{value:n,scale:"fx"})),r!=null&&(s.fy=e1(i,{value:r,scale:"fy"})),gC(s,t);const o=XR(i,s);return{channels:s,groups:o,data:e.data}}function yF(e,t,n){if(e.facet===null||e.facet==="super")return;const{fx:r,fy:i}=e;if(r!=null||i!=null){const l=Fg(e.data??r??i);if(l===void 0)throw new Error(`missing facet data in ${e.ariaLabel}`);if(l===null)return;const c={};return r!=null&&(c.fx=e1(l,{value:r,scale:"fx"})),i!=null&&(c.fy=e1(l,{value:i,scale:"fy"})),gC(c,n),{channels:c,groups:XR(l,c)}}if(t===void 0)return;const{channels:s,groups:o,data:a}=t;if(e.facet!=="auto"||e.data===a)return{channels:s,groups:o};a.length>0&&(o.size>1||o.size===1&&s.fx&&s.fy&&[...o][0][1].size>1)&&Zv(Fg(e.data))===Zv(a)&&Tu(`Warning: the ${e.ariaLabel} mark appears to use faceted data, but isn’t faceted. The mark data has the same length as the facet data and the mark facet option is "auto", but the mark data and facet data are distinct. If this mark should be faceted, set the mark facet option to true; otherwise, suppress this warning by setting the mark facet option to false.`)}function u$t(e,t={}){return gs({...t,x:null,y:null},(n,r,i,s,o,a)=>a.getMarkState(e))}function f$t(e){const t=[];for(const n of e){let r=n.tip;if(r){r===!0?r={}:typeof r=="string"&&(r={pointer:r});let{pointer:i,preferredAnchor:s}=r;i=/^x$/i.test(i)?q3:/^y$/i.test(i)?s1:z3,r=i(u$t(n,r)),r.title=null,s===void 0&&(r.preferredAnchor=i===s1?"left":"bottom");const o=zK(n.data,r);o.facet=n.facet,o.facetAnchor=n.facetAnchor,t.push(o)}}return t}function h$t(e,t,n){let{projection:r,x:i={},y:s={},fx:o={},fy:a={},axis:l,grid:c,facet:u={},facet:{axis:f=l,grid:h}=u,x:{axis:d=l,grid:g=d===null?null:c}=i,y:{axis:y=l,grid:v=y===null?null:c}=s,fx:{axis:b=f,grid:_=b===null?null:h}=o,fy:{axis:x=f,grid:A=x===null?null:h}=a}=n;(r||!$d(i)&&!vF("x",e))&&(d=g=null),(r||!$d(s)&&!vF("y",e))&&(y=v=null),t.has("fx")||(b=_=null),t.has("fy")||(x=A=null),d===void 0&&(d=!J_(e,"x")),y===void 0&&(y=!J_(e,"y")),b===void 0&&(b=!J_(e,"fx")),x===void 0&&(x=!J_(e,"fy")),d===!0&&(d="bottom"),y===!0&&(y="left"),b===!0&&(b=d==="top"||d===null?"bottom":"top"),x===!0&&(x=y==="right"||y===null?"left":"right");const k=[];return K_(k,A,vK,a),X_(k,x,dK,"right","left",u,a),K_(k,_,_K,o),X_(k,b,pK,"top","bottom",u,o),K_(k,v,yK,s),X_(k,y,sC,"left","right",n,s),K_(k,g,bK,i),X_(k,d,oC,"bottom","top",n,i),k}function X_(e,t,n,r,i,s,o){if(!t)return;const a=d$t(t);o=p$t(a?r:t,s,o);const{line:l}=o;(n===sC||n===oC)&&l&&!Bg(l)&&e.push(dC(g$t(o))),e.push(n(o)),a&&e.push(n({...o,anchor:i,label:null}))}function K_(e,t,n,r){!t||Bg(t)||e.push(n(m$t(t,r)))}function d$t(e){return/^\s*both\s*$/i.test(e)}function p$t(e,t,{line:n=t.line,ticks:r,tickSize:i,tickSpacing:s,tickPadding:o,tickFormat:a,tickRotate:l,fontVariant:c,ariaLabel:u,ariaDescription:f,label:h=t.label,labelAnchor:d,labelArrow:g=t.labelArrow,labelOffset:y}){return{anchor:e,line:n,ticks:r,tickSize:i,tickSpacing:s,tickPadding:o,tickFormat:a,tickRotate:l,fontVariant:c,ariaLabel:u,ariaDescription:f,label:h,labelAnchor:d,labelArrow:g,labelOffset:y}}function g$t(e){const{anchor:t,line:n}=e;return{anchor:t,facetAnchor:t+"-empty",stroke:n===!0?void 0:n}}function m$t(e,{stroke:t=nb(e)?e:void 0,ticks:n=y$t(e)?e:void 0,tickSpacing:r,ariaLabel:i,ariaDescription:s}){return{stroke:t,ticks:n,tickSpacing:r,ariaLabel:i,ariaDescription:s}}function y$t(e){switch(typeof e){case"number":return!0;case"string":return!nb(e)}return Ku(e)||typeof e?.range=="function"}function J_(e,t){const n=`${t}-axis `;return e.some(r=>r.ariaLabel?.startsWith(n))}function vF(e,t){for(const n of t)for(const r in n.channels){const{scale:i}=n.channels[r];if(i===e||i==="projection")return!0}return!1}function v$t(e,t){for(const n in e){const r=e[n],i=t[n];r.label===void 0&&i&&(r.label=i.label)}return e}function b$t({fx:e,fy:t},n){const{marginTop:r,marginRight:i,marginBottom:s,marginLeft:o,width:a,height:l}=GR(n),c=e&&bF(e),u=t&&bF(t);return{marginTop:t?u[0]:r,marginRight:e?a-c[1]:i,marginBottom:t?l-u[1]:s,marginLeft:e?c[0]:o,inset:{marginTop:n.marginTop,marginRight:n.marginRight,marginBottom:n.marginBottom,marginLeft:n.marginLeft},width:a,height:l}}function bF(e){const t=e.domain();if(t.length===0)return[0,e.bandwidth()];let n=e(t[0]),r=e(t[t.length-1]);return r{const vt=U2(an(ft,_),et?.[x]),at=an(ft,M),kt=an(ft,Y),Mt=an(ft,Q),Bt=qR(l,{z:at,fill:kt,stroke:Mt}),Ut=[],St=[],jt=vt&&k([]),Fe=at&&z([]),Yt=kt&&yt([]),oe=Mt&<([]),Xe=e&&f([]),ae=e&&d([]),yn=t&&y([]),fn=t&&b([]),Br=E$t(e,t,ft);let Pr=0;for(const He of l)He.initialize(ft);o&&o.initialize(ft),s&&s.initialize(ft);for(const He of J){const en=[];for(const Xn of l)Xn.scope("facet",He);o&&o.scope("facet",He),s&&s.scope("facet",He);for(const[Xn,ci]of Ld(He,Bt))for(const[Gi,Ws]of Ld(ci,vt))for(const[ui,Ti]of Br(Ws))if(Bt&&(Ti.z=Xn),!(s&&!s.reduce(ui,Ti))){en.push(Pr++),St.push(i.reduceIndex(ui,ft,Ti)),vt&&jt.push(Gi),at&&Fe.push(Bt===at?Xn:at[(ui.length>0?ui:Ws)[0]]),kt&&Yt.push(Bt===kt?Xn:kt[(ui.length>0?ui:Ws)[0]]),Mt&&oe.push(Bt===Mt?Xn:Mt[(ui.length>0?ui:Ws)[0]]),Xe&&(Xe.push(Ti.x1),ae.push(Ti.x2)),yn&&(yn.push(Ti.y1),fn.push(Ti.y2));for(const Jo of l)Jo.reduce(ui,Ti);o&&o.reduce(ui,Ti)}Ut.push(en)}return QG(Ut,o,a),{data:St,facets:Ut}}),...!Lf(l,"x")&&(u?{x1:u,x2:h,x:P2(u,h)}:{x:S,x1:C,x2:L}),...!Lf(l,"y")&&(g?{y1:g,y2:v,y:P2(g,v)}:{y:T,y1:F,y2:$}),...A&&{[x]:A},...Object.fromEntries(l.map(({name:ft,output:J})=>[ft,J]))}}function _C({cumulative:e,domain:t,thresholds:n,interval:r,...i},s){return[i,{cumulative:e,domain:t,thresholds:n,interval:r,...s}]}function G2(e,{cumulative:t,domain:n,thresholds:r,interval:i},s){return e={...wm(e)},e.domain===void 0&&(e.domain=n),e.cumulative===void 0&&(e.cumulative=t),e.thresholds===void 0&&(e.thresholds=r),e.interval===void 0&&(e.interval=i),e.value===void 0&&(e.value=s),e.thresholds=WK(e.thresholds,e.interval),e}function w$t(e){let{x:t,y:n}=e;return t=G2(t,e),n=G2(n,e),[t.value,n.value]=Rl(t.value,n.value),{x:t,y:n}}function _F(e){if(e==null)return;const{value:t,cumulative:n,domain:r=pi,thresholds:i}=e,s=o=>{let a=an(o,t),l;if(zs(a)||A$t(i)){a=gr(a,RG,Float64Array);let[u,f]=typeof r=="function"?r(a):r,h=typeof i=="function"&&!$0(i)?i(a,u,f):i;typeof h=="number"&&(h=sV(u,f,h)),$0(h)&&(r===pi&&(u=h.floor(u),f=h.offset(h.floor(f))),h=h.range(u,h.offset(f))),l=h}else{a=uo(a);let[u,f]=typeof r=="function"?r(a):r,h=typeof i=="function"&&!$0(i)?i(a,u,f):i;if(typeof h=="number")if(r===pi){let d=$v(u,f,h);if(isFinite(d))if(d>0){let g=Math.round(u/d),y=Math.round(f/d);g*d<=u||--g,y*d>f||++y;let v=y-g+1;h=new Float64Array(v);for(let b=0;bf||++y;let v=y-g+1;h=new Float64Array(v);for(let b=0;b0?T$t:wC)(c,l,a),c};return s.label=Nc(t),s}function WK(e,t,n=wF){if(e===void 0)return t===void 0?n:_m(t);if(typeof e=="string"){switch(e.toLowerCase()){case"freedman-diaconis":return Vxt;case"scott":return _j;case"sturges":return gI;case"auto":return wF}return k3(e)}return e}function x$t(e,t){return GG(e,t,YK)}function YK(e,t,n){return UR(e,t,n,HK)}function HK(e,t,n){return zR(e,t,n,GK)}function GK(e,t){return L3(e,t,S$t)}function S$t(e){switch(`${e}`.toLowerCase()){case"x":return M$t;case"x1":return R$t;case"x2":return C$t;case"y":return I$t;case"y1":return N$t;case"y2":return $$t;case"z":return tX}throw new Error(`invalid bin reduce: ${e}`)}function wF(e,t,n){return Math.min(200,_j(e,t,n))}function A$t(e){return LRt(e)||Ku(e)&&zs(e)}function E$t(e,t,n){const r=e?.(n),i=t?.(n);return r&&i?function*(s){const o=r.bin(s);for(const[a,[l,c]]of r.entries()){const u=i.bin(o[a]);for(const[f,[h,d]]of i.entries())yield[u[f],{data:n,x1:l,y1:h,x2:c,y2:d}]}}:r?function*(s){const o=r.bin(s);for(const[a,[l,c]]of r.entries())yield[o[a],{data:n,x1:l,x2:c}]}:function*(s){const o=i.bin(s);for(const[a,[l,c]]of i.entries())yield[o[a],{data:n,y1:l,y2:c}]}}function wC(e,t,n){return t=uo(t),r=>{const i=e.map(()=>[]);for(const s of r)i[HS(t,n[s])-1]?.push(s);return i}}function T$t(e,t,n){const r=wC(e,t,n);return i=>{const s=r(i);for(let o=1,a=s.length;o{const s=r(i);for(let o=s.length-2;o>=0;--o){const a=s[o+1],l=s[o];for(const c of a)l.push(c)}return s}}function XK(e,t){const n=(+e+ +t)/2;return e instanceof Date?new Date(n):n}const M$t={reduceIndex(e,t,{x1:n,x2:r}){return XK(n,r)}},I$t={reduceIndex(e,t,{y1:n,y2:r}){return XK(n,r)}},R$t={reduceIndex(e,t,{x1:n}){return n}},C$t={reduceIndex(e,t,{x2:n}){return n}},N$t={reduceIndex(e,t,{y1:n}){return n}},$$t={reduceIndex(e,t,{y2:n}){return n}},O$t={ariaLabel:"area",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1};class Q3 extends vr{constructor(t,n={}){const{x1:r,y1:i,x2:s,y2:o,z:a,curve:l,tension:c}=n;super(t,{x1:{value:r,scale:"x"},y1:{value:i,scale:"y"},x2:{value:s,scale:"x",optional:!0},y2:{value:o,scale:"y",optional:!0},z:{value:Mh(n),optional:!0}},n,O$t),this.z=a,this.curve=mC(l,c)}filter(t){return t}render(t,n,r,i,s){const{x1:o,y1:a,x2:l=o,y2:c=a}=r;return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,n,0,0).call(u=>u.selectAll().data(IX(t,[o,a,l,c],this,r)).enter().append("path").call(cr,this).call(q2,this,r).attr("d",mR().curve(this.curve).defined(f=>f>=0).x0(f=>o[f]).y0(f=>a[f]).x1(f=>l[f]).y1(f=>c[f]))).node()}}function XM(e,t){return t===void 0?Vg(e,{x:I3,y:Kv}):new Q3(e,t)}function o1(e,t){const{y:n=gi,...r}=vC(t);return new Q3(e,X3(H3({...r,y1:n,y2:void 0},n===gi?"x2":"x")))}function Vg(e,t){const{x:n=gi,...r}=yC(t);return new Q3(e,K3(G3({...r,x1:n,x2:void 0},n===gi?"y2":"y")))}const L$t={ariaLabel:"link",fill:"none",stroke:"currentColor",strokeMiterlimit:1};class KK extends vr{constructor(t,n={}){const{x1:r,y1:i,x2:s,y2:o,curve:a,tension:l}=n;super(t,{x1:{value:r,scale:"x"},y1:{value:i,scale:"y"},x2:{value:s,scale:"x",optional:!0},y2:{value:o,scale:"y",optional:!0}},n,L$t),this.curve=jK(a,l),xm(this,n)}project(t,n,r){this.curve!==jg&&super.project(t,n,r)}render(t,n,r,i,s){const{x1:o,y1:a,x2:l=o,y2:c=a}=r,{curve:u}=this;return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,n).call(f=>f.selectAll().data(t).enter().append("path").call(cr,this).attr("d",u===jg&&s.projection?D$t(s.path(),o,a,l,c):h=>{const d=mu(),g=u(d);return g.lineStart(),g.point(o[h],a[h]),g.point(l[h],c[h]),g.lineEnd(),d}).call(Hr,this,r).call(ub,this,r,s)).node()}}function D$t(e,t,n,r,i){return t=uo(t),n=uo(n),r=uo(r),i=uo(i),s=>e({type:"LineString",coordinates:[[t[s],n[s]],[r[s],i[s]]]})}function JK(e,{x:t,x1:n,x2:r,y:i,y1:s,y2:o,...a}={}){return[n,r]=X2(t,n,r),[s,o]=X2(i,s,o),new KK(e,{...a,x1:n,x2:r,y1:s,y2:o})}function X2(e,t,n){if(e===void 0){if(t===void 0){if(n!==void 0)return[n]}else if(n===void 0)return[t]}else{if(t===void 0)return n===void 0?[e]:[e,n];if(n===void 0)return[e,t]}return[t,n]}const F$t={ariaLabel:"arrow",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:1,strokeWidth:1.5};class ZK extends vr{constructor(t,n={}){const{x1:r,y1:i,x2:s,y2:o,bend:a=0,headAngle:l=60,headLength:c=8,inset:u=0,insetStart:f=u,insetEnd:h=u,sweep:d}=n;super(t,{x1:{value:r,scale:"x"},y1:{value:i,scale:"y"},x2:{value:s,scale:"x",optional:!0},y2:{value:o,scale:"y",optional:!0}},n,F$t),this.bend=a===!0?22.5:Math.max(-90,Math.min(90,a)),this.headAngle=+l,this.headLength=+c,this.insetStart=+f,this.insetEnd=+h,this.sweep=B$t(d)}render(t,n,r,i,s){const{x1:o,y1:a,x2:l=o,y2:c=a,SW:u}=r,{strokeWidth:f,bend:h,headAngle:d,headLength:g,insetStart:y,insetEnd:v}=this,b=u?A=>u[A]:Wi(f===void 0?1:f),_=d*j2/2,x=g/1.5;return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,n).call(A=>A.selectAll().data(t).enter().append("path").call(cr,this).attr("d",k=>{let S=o[k],T=a[k],M=l[k],I=c[k];const N=Math.hypot(M-S,I-T);if(N<=y+v)return null;let C=Math.atan2(I-T,M-S);const L=Math.min(x*b(k),N/3),F=this.sweep(S,T,M,I)*h*j2,$=Math.hypot(N/Math.tan(F),N)/2;if(y||v)if($<1e5){const gt=Math.sign(F),[yt,pt]=P$t([S,T],[M,I],$,gt);if(y&&([S,T]=xF([yt,pt,$],[S,T,y],-gt*Math.sign(y))),v){const[lt,ft]=xF([yt,pt,$],[M,I,v],gt*Math.sign(v));C+=Math.atan2(ft-pt,lt-yt)-Math.atan2(I-pt,M-yt),M=lt,I=ft}}else{const gt=M-S,yt=I-T,pt=Math.hypot(gt,yt);y&&(S+=gt/pt*y,T+=yt/pt*y),v&&(M-=gt/pt*v,I-=yt/pt*v)}const D=C+F,O=D+_,B=D-_,V=M-L*Math.cos(O),U=I-L*Math.sin(O),q=M-L*Math.cos(B),z=I-L*Math.sin(B),Y=$<1e5?`A${$},${$} 0,0,${F>0?1:0} `:"L",Q=L?`M${V},${U}L${M},${I}L${q},${z}`:"";return`M${S},${T}${Y}${M},${I}${Q}`}).call(Hr,this,r)).node()}}function B$t(e=1){if(typeof e=="number")return Wi(Math.sign(e));if(typeof e=="function")return(t,n,r,i)=>Math.sign(e(t,n,r,i));switch(Xo(e,"sweep",["+x","-x","+y","-y"])){case"+x":return(t,n,r)=>Yn(t,r);case"-x":return(t,n,r)=>Kd(t,r);case"+y":return(t,n,r,i)=>Yn(n,i);case"-y":return(t,n,r,i)=>Kd(n,i)}}function P$t([e,t],[n,r],i,s){const o=n-e,a=r-t,l=Math.hypot(o,a),c=s*Math.sqrt(i*i-l*l/4)/l;return[(e+n)/2-a*c,(t+r)/2+o*c]}function xF([e,t,n],[r,i,s],o){const a=r-e,l=i-t,c=Math.hypot(a,l),u=(a*a+l*l-s*s+n*n)/(2*c),f=o*Math.sqrt(n*n-u*u);return[e+(a*u+l*f)/c,t+(l*u-a*f)/c]}function U$t(e,{x:t,x1:n,x2:r,y:i,y1:s,y2:o,...a}={}){return[n,r]=X2(t,n,r),[s,o]=X2(i,s,o),new ZK(e,{...a,x1:n,x2:r,y1:s,y2:o})}const z$t={ariaLabel:"bar"};class xC extends vr{constructor(t,n,r={},i=z$t){super(t,n,r,i),cC(this,r),uC(this,r)}render(t,n,r,i,s){const{rx:o,ry:a,rx1y1:l,rx1y2:c,rx2y1:u,rx2y2:f}=this,h=this._x(n,r,i),d=this._y(n,r,i),g=this._width(n,r,i),y=this._height(n,r,i);return xn("svg:g",s).call(Mr,this,i,s).call(this._transform,this,n).call(v=>v.selectAll().data(t).enter().call(l||c||u||f?b=>b.append("path").call(cr,this).call(fC,h,d,SF(h,g),SF(d,y),this).call(Hr,this,r):b=>b.append("rect").call(cr,this).attr("x",h).attr("width",g).attr("y",d).attr("height",y).call(ge,"rx",o).call(ge,"ry",a).call(Hr,this,r))).node()}_x(t,{x:n},{marginLeft:r}){const{insetLeft:i}=this;return n?s=>n[s]+i:r+i}_y(t,{y:n},{marginTop:r}){const{insetTop:i}=this;return n?s=>n[s]+i:r+i}_width({x:t},{x:n},{marginRight:r,marginLeft:i,width:s}){const{insetLeft:o,insetRight:a}=this,l=n&&t?t.bandwidth():s-r-i;return Math.max(0,l-o-a)}_height({y:t},{y:n},{marginTop:r,marginBottom:i,height:s}){const{insetTop:o,insetBottom:a}=this,l=n&&t?t.bandwidth():s-r-i;return Math.max(0,l-o-a)}}function SF(e,t){return typeof e=="function"&&typeof t=="function"?n=>e(n)+t(n):typeof e=="function"?n=>e(n)+t:typeof t=="function"?n=>e+t(n):e+t}class SC extends xC{constructor(t,n={},r){const{x1:i,x2:s,y:o}=n;super(t,{x1:{value:i,scale:"x"},x2:{value:s,scale:"x"},y:{value:o,scale:"y",type:"band",optional:!0}},n,r)}_transform(t,n,{x:r}){t.call(yr,n,{x:r},0,0)}_x({x:t},{x1:n,x2:r},{marginLeft:i}){const{insetLeft:s}=this;return Sc(t)?i+s:o=>Math.min(n[o],r[o])+s}_width({x:t},{x1:n,x2:r},{marginRight:i,marginLeft:s,width:o}){const{insetLeft:a,insetRight:l}=this;return Sc(t)?o-i-s-a-l:c=>Math.max(0,Math.abs(r[c]-n[c])-a-l)}}class AC extends xC{constructor(t,n={},r){const{x:i,y1:s,y2:o}=n;super(t,{y1:{value:s,scale:"y"},y2:{value:o,scale:"y"},x:{value:i,scale:"x",type:"band",optional:!0}},n,r)}_transform(t,n,{y:r}){t.call(yr,n,{y:r},0,0)}_y({y:t},{y1:n,y2:r},{marginTop:i}){const{insetTop:s}=this;return Sc(t)?i+s:o=>Math.min(n[o],r[o])+s}_height({y:t},{y1:n,y2:r},{marginTop:i,marginBottom:s,height:o}){const{insetTop:a,insetBottom:l}=this;return Sc(t)?o-i-s-a-l:c=>Math.max(0,Math.abs(r[c]-n[c])-a-l)}}function bd(e,t={}){return bm(t)||(t={...t,y:gi,x2:he}),new SC(e,X3(eC(H3(t))))}function _d(e,t={}){return bm(t)||(t={...t,x:gi,y2:he}),new AC(e,K3(nC(G3(t))))}const q$t={ariaLabel:"cell"};class tA extends xC{constructor(t,{x:n,y:r,...i}={}){super(t,{x:{value:n,scale:"x",type:"band",optional:!0},y:{value:r,scale:"y",type:"band",optional:!0}},i,q$t)}_transform(t,n){t.call(yr,n,{},0,0)}}function L0(e,{x:t,y:n,...r}={}){return[t,n]=Rl(t,n),new tA(e,{...r,x:t,y:n})}function j$t(e,{x:t=gi,fill:n,stroke:r,...i}={}){return n===void 0&&Us(r)[0]===void 0&&(n=he),new tA(e,{...i,x:t,fill:n,stroke:r})}function V$t(e,{y:t=gi,fill:n,stroke:r,...i}={}){return n===void 0&&Us(r)[0]===void 0&&(n=he),new tA(e,{...i,y:t,fill:n,stroke:r})}const W$t={ariaLabel:"dot",fill:"none",stroke:"currentColor",strokeWidth:1.5};function EC(e){return e.sort===void 0&&e.reverse===void 0?YG({channel:"-r"},e):e}class eA extends vr{constructor(t,n={}){const{x:r,y:i,r:s,rotate:o,symbol:a=Xv,frameAnchor:l}=n,[c,u]=oi(o,0),[f,h]=KRt(a),[d,g]=oi(s,f==null?3:4.5);super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},r:{value:d,scale:"r",filter:Eu,optional:!0},rotate:{value:c,optional:!0},symbol:{value:f,scale:"auto",optional:!0}},EC(n),W$t),this.r=g,this.rotate=u,this.symbol=h,this.frameAnchor=rb(l);const{channels:y}=this,{symbol:v}=y;if(v){const{fill:b,stroke:_}=y;v.hint={fill:b?b.value===v.value?"color":"currentColor":this.fill??"currentColor",stroke:_?_.value===v.value?"color":"currentColor":this.stroke??"none"}}}render(t,n,r,i,s){const{x:o,y:a}=n,{x:l,y:c,r:u,rotate:f,symbol:h}=r,{r:d,rotate:g,symbol:y}=this,[v,b]=$c(this,i),_=y===Xv,x=u?void 0:d*d*Math.PI;return E3(d)&&(t=[]),xn("svg:g",s).call(Mr,this,i,s).call(yr,this,{x:l&&o,y:c&&a}).call(A=>A.selectAll().data(t).enter().append(_?"circle":"path").call(cr,this).call(_?k=>{k.attr("cx",l?S=>l[S]:v).attr("cy",c?S=>c[S]:b).attr("r",u?S=>u[S]:d)}:k=>{k.attr("transform",db`translate(${l?S=>l[S]:v},${c?S=>c[S]:b})${f?S=>` rotate(${f[S]})`:g?` rotate(${g})`:""}`).attr("d",u&&h?S=>{const T=mu();return h[S].draw(T,u[S]*u[S]*Math.PI),T}:u?S=>{const T=mu();return y.draw(T,u[S]*u[S]*Math.PI),T}:h?S=>{const T=mu();return h[S].draw(T,x),T}:(()=>{const S=mu();return y.draw(S,x),S})())}).call(Hr,this,r)).node()}}function Ch(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Rl(t,n)),new eA(e,{...r,x:t,y:n})}function Y$t(e,{x:t=he,...n}={}){return new eA(e,qX({...n,x:t}))}function H$t(e,{y:t=he,...n}={}){return new eA(e,zX({...n,y:t}))}function G$t(e,t){return Ch(e,{...t,symbol:"circle"})}function X$t(e,t){return Ch(e,{...t,symbol:"hexagon"})}const K$t={ariaLabel:"line",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1};class nA extends vr{constructor(t,n={}){const{x:r,y:i,z:s,curve:o,tension:a}=n;super(t,{x:{value:r,scale:"x"},y:{value:i,scale:"y"},z:{value:Mh(n),optional:!0}},n,K$t),this.z=s,this.curve=jK(o,a),xm(this,n)}filter(t){return t}project(t,n,r){this.curve!==jg&&super.project(t,n,r)}render(t,n,r,i,s){const{x:o,y:a}=r,{curve:l}=this;return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,n).call(c=>c.selectAll().data(IX(t,[o,a],this,r)).enter().append("path").call(cr,this).call(q2,this,r).call(eNt,this,r,s).attr("d",l===jg&&s.projection?J$t(s.path(),o,a):XH().curve(l).defined(u=>u>=0).x(u=>o[u]).y(u=>a[u]))).node()}}function J$t(e,t,n){return t=uo(t),n=uo(n),r=>{let i=[];const s=[i];for(const o of r)o===-1?(i=[],s.push(i)):i.push([t[o],n[o]]);return e({type:"MultiLineString",coordinates:s})}}function rA(e,{x:t,y:n,...r}={}){return[t,n]=Rl(t,n),new nA(e,{...r,x:t,y:n})}function a1(e,{x:t=he,y:n=gi,...r}={}){return new nA(e,vC({...r,x:t,y:n}))}function l1(e,{x:t=gi,y:n=he,...r}={}){return new nA(e,yC({...r,x:t,y:n}))}function QK(e,t){t=Q$t(t);const{x:n,y:r,color:i,size:s}=t,o=Z_(e,n),a=Z_(e,r),l=Z_(e,i),c=Z_(e,s);let{fx:u,fy:f,x:{value:h,reduce:d,zero:g,...y},y:{value:v,reduce:b,zero:_,...x},color:{value:A,color:k,reduce:S},size:{value:T,reduce:M},mark:I}=t;if(d===void 0&&(d=b==null&&h==null&&T==null&&v!=null?"count":null),b===void 0&&(b=d==null&&v==null&&T==null&&h!=null?"count":null),M===void 0&&T==null&&S==null&&d==null&&b==null&&(h==null||Xr(o))&&(v==null||Xr(a))&&(M="count"),g===void 0&&(g=Q_(d)?!0:void 0),_===void 0&&(_=Q_(b)?!0:void 0),h==null&&v==null)throw new Error("must specify x or y");if(d!=null&&v==null)throw new Error("reducing x requires y");if(b!=null&&h==null)throw new Error("reducing y requires x");I===void 0&&(I=T!=null||M!=null?"dot":Q_(d)||Q_(b)||S!=null?"bar":h!=null&&v!=null?Xr(o)||Xr(a)||d==null&&b==null&&!py(o)&&!py(a)?"dot":"line":h!=null||v!=null?"rule":null);let N,C,L;switch(I){case"dot":L=Ch,C="stroke";break;case"line":L=o&&a||d!=null||b!=null?_||b!=null||o&&py(o)?l1:g||d!=null||a&&py(a)?a1:rA:o?a1:l1,C="stroke",EF(l)&&(N=null);break;case"area":L=!(_||b!=null)&&(g||d!=null||a&&py(a))?o1:Vg,C="fill",EF(l)&&(N=null);break;case"rule":L=o?lh:ch,C="stroke";break;case"bar":L=d!=null?Xr(a)?AF(d)&&o&&Xr(o)?L0:bd:W2:b!=null?Xr(o)?AF(b)&&a&&Xr(a)?L0:_d:Y2:S!=null||M!=null?o&&Xr(o)&&a&&Xr(a)?L0:o&&Xr(o)?_d:a&&Xr(a)?bd:hC:o&&O0(o)&&!(a&&O0(a))?bd:a&&O0(a)&&!(o&&O0(o))?_d:L0,C="fill";break;default:throw new Error(`invalid mark: ${I}`)}let F={fx:u,fy:f,x:o??void 0,y:a??void 0,[C]:l??k,z:N,r:c??void 0,tip:!0},$,D={[C]:S??void 0,r:M??void 0};if(d!=null&&b!=null)throw new Error("cannot reduce both x and y");return b!=null?(D.y=b,$=Xr(o)?Qv:Af):d!=null?(D.x=d,$=Xr(a)?t1:Ef):(S!=null||M!=null)&&(o&&a?$=Xr(o)&&Xr(a)?PR:Xr(o)?Ef:Xr(a)?Af:ld:o?$=Xr(o)?Qv:Af:a&&($=Xr(a)?t1:Ef)),($===ld||$===Af)&&(F.x={value:o,...y}),($===ld||$===Ef)&&(F.y={value:a,...x}),g===void 0&&(g=o&&!($===ld||$===Af)&&(L===bd||L===o1||L===W2||L===ch)),_===void 0&&(_=a&&!($===ld||$===Ef)&&(L===_d||L===Vg||L===Y2||L===lh)),{fx:u??null,fy:f??null,x:{value:h??null,reduce:d??null,zero:!!g,...y},y:{value:v??null,reduce:b??null,zero:!!_,...x},color:{value:A??null,reduce:S??null,...k!==void 0&&{color:k}},size:{value:T??null,reduce:M??null},mark:I,markImpl:TF[L],markOptions:F,transformImpl:TF[$],transformOptions:D,colorMode:C}}function Z$t(e,t){const n=QK(e,t),{fx:r,fy:i,x:{zero:s},y:{zero:o},markOptions:a,transformOptions:l,colorMode:c}=n,u=KM[n.markImpl],f=KM[n.transformImpl],h=r!=null||i!=null?dC({strokeOpacity:.1}):null,d=[s?lh([0]):null,o?ch([0]):null],g=u(e,f?f(l,a):a);return c==="stroke"?qa(h,d,g):qa(h,g,d)}function py(e){let t,n;for(const r of e){if(r==null)continue;if(t===void 0){t=r;continue}const i=Math.sign(Yn(t,r));if(i){if(n!==void 0&&i!==n)return!1;t=r,n=i}}return!0}function Q$t({x:e,y:t,color:n,size:r,fx:i,fy:s,mark:o}={}){return Hl(e)||(e=f0(e)),Hl(t)||(t=f0(t)),Hl(n)||(n=nb(n)?{color:n}:f0(n)),Hl(r)||(r=f0(r)),Hl(i)&&({value:i}=f0(i)),Hl(s)&&({value:s}=f0(s)),o!=null&&(o=`${o}`.toLowerCase()),{x:e,y:t,color:n,size:r,fx:i,fy:s,mark:o}}function Z_(e,t){const n=an(e,t.value);return n&&(n.label=Nc(t.value)),n}function f0(e){return t7t(e)?{reduce:e}:{value:e}}function Q_(e){return/^(?:distinct|count|sum|proportion)$/i.test(e)}function AF(e){return/^(?:first|last|mode)$/i.test(e)}function t7t(e){if(e==null)return!1;if(typeof e.reduceIndex=="function"||typeof e.reduce=="function"&&Ko(e)||/^p\d{2}$/i.test(e))return!0;switch(`${e}`.toLowerCase()){case"first":case"last":case"count":case"distinct":case"sum":case"proportion":case"proportion-facet":case"deviation":case"min":case"min-index":case"max":case"max-index":case"mean":case"median":case"variance":case"mode":return!0}return!1}function EF(e){return e?new um(e).size>e.length>>1:!1}const KM={dot:Ch,line:rA,lineX:a1,lineY:l1,areaX:o1,areaY:Vg,ruleX:lh,ruleY:ch,barX:bd,barY:_d,rect:hC,rectX:W2,rectY:Y2,cell:L0,bin:ld,binX:Af,binY:Ef,group:PR,groupX:Qv,groupY:t1},TF=Object.fromEntries(Object.entries(KM).map(([e,t])=>[t,e]));function TC(e,t={}){let{x:n,x1:r,x2:i}=t;n===void 0&&r===void 0&&i===void 0&&(t={...t,x:n=he});const s={};return n!=null&&(s.x=e),r!=null&&(s.x1=e),i!=null&&(s.x2=e),Ac(s,t)}function kC(e,t={}){let{y:n,y1:r,y2:i}=t;n===void 0&&r===void 0&&i===void 0&&(t={...t,y:n=he});const s={};return n!=null&&(s.y=e),r!=null&&(s.y1=e),i!=null&&(s.y2=e),Ac(s,t)}function Ac(e={},t={}){const n=Mh(t),r=Object.entries(e).map(([i,s])=>{const o=DG(i,t);if(o==null)throw new Error(`missing channel: ${i}`);const[a,l]=Bo(o);return{key:i,input:o,output:a,setOutput:l,map:e7t(s)}});return{...Cl(t,(i,s)=>{const o=an(i,n),a=r.map(({input:c})=>an(i,c)),l=r.map(({setOutput:c})=>c(new Array(i.length)));for(const c of s)for(const u of o?wh(c,f=>o[f]).values():[c])r.forEach(({map:f},h)=>f.mapIndex(u,a[h],l[h]));return{data:i,facets:s}}),...Object.fromEntries(r.map(({key:i,output:s})=>[i,s]))}}function e7t(e){if(e==null)throw new Error("missing map");if(typeof e.mapIndex=="function")return e;if(typeof e.map=="function"&&Ko(e))return n7t(e);if(typeof e=="function")return uk(RR(e));switch(`${e}`.toLowerCase()){case"cumsum":return i7t;case"rank":return uk((t,n)=>Sj(t,r=>n[r]));case"quantile":return uk((t,n)=>r7t(t,r=>n[r]))}throw new Error(`invalid map: ${e}`)}function n7t(e){return console.warn("deprecated map interface; implement mapIndex instead."),{mapIndex:e.map.bind(e)}}function r7t(e,t){const n=GS(e,t)-1;return Sj(e,t).map(r=>r/n)}function uk(e){return{mapIndex(t,n,r){const i=e(t,n);if(i.length!==t.length)throw new Error("map function returned a mismatched length");for(let s=0,o=t.length;s0))throw new Error(`invalid k: ${t}`);return c7t(n)(t,a7t(i,t),s)}function a7t(e="middle",t){switch(`${e}`.toLowerCase()){case"middle":return t-1>>1;case"start":return 0;case"end":return t-1}throw new Error(`invalid anchor: ${e}`)}function l7t(e){switch(`${e}`.toLowerCase()){case"centered":return"middle";case"leading":return"start";case"trailing":return"end"}throw new Error(`invalid shift: ${e}`)}function c7t(e="mean"){if(typeof e=="string"){if(/^p\d{2}$/i.test(e))return tw(MR(e));switch(e.toLowerCase()){case"deviation":return tw(N1);case"max":return ew((t,n)=>Yr(t,r=>n[r]));case"mean":return u7t;case"median":return tw(Ov);case"min":return ew((t,n)=>Or(t,r=>n[r]));case"mode":return ew((t,n)=>xj(t,r=>n[r]));case"sum":return tJ;case"variance":return tw(fI);case"difference":return d7t;case"ratio":return p7t;case"first":return g7t;case"last":return m7t}}if(typeof e!="function")throw new Error(`invalid reduce: ${e}`);return ew(RR(e))}function tw(e){return(t,n,r)=>r?{mapIndex(i,s,o){const a=c=>s[c]==null?NaN:+s[c];let l=0;for(let c=0;cs[l]==null?NaN:+s[l];for(let l=-n;l<0;++l)o[i[l+n]]=e(Od(i,0,l+t),a);for(let l=0,c=i.length-n;lr?{mapIndex(i,s,o){let a=0;for(let l=0;l=n;--i){const s=e[t[i]];if(Hi(s))return s}}function eJ(e,t,n,r){for(let i=n+r;n=n;--i){let s=e[t[i]];if(s!==null&&!isNaN(s=+s))return s}}function d7t(e,t,n){return n?{mapIndex(r,i,s){for(let o=0,a=r.length-e;oXS(i)+t*(N1(i)||0),strict:n,anchor:r})}const b7t={ariaLabel:"tick",fill:null,stroke:"currentColor"};class rJ extends vr{constructor(t,n,r){super(t,n,r,b7t),xm(this,r)}render(t,n,r,i,s){return xn("svg:g",s).call(Mr,this,i,s).call(this._transform,this,n).call(o=>o.selectAll().data(t).enter().append("line").call(cr,this).attr("x1",this._x1(n,r,i)).attr("x2",this._x2(n,r,i)).attr("y1",this._y1(n,r,i)).attr("y2",this._y2(n,r,i)).call(Hr,this,r).call(ub,this,r,s)).node()}}class iJ extends rJ{constructor(t,n={}){const{x:r,y:i,inset:s=0,insetTop:o=s,insetBottom:a=s}=n;super(t,{x:{value:r,scale:"x"},y:{value:i,scale:"y",type:"band",optional:!0}},n),this.insetTop=Tr(o),this.insetBottom=Tr(a)}_transform(t,n,{x:r}){t.call(yr,n,{x:r},Yi,0)}_x1(t,{x:n}){return r=>n[r]}_x2(t,{x:n}){return r=>n[r]}_y1({y:t},{y:n},{marginTop:r}){const{insetTop:i}=this;return n&&t?s=>n[s]+i:r+i}_y2({y:t},{y:n},{height:r,marginBottom:i}){const{insetBottom:s}=this;return n&&t?o=>n[o]+t.bandwidth()-s:r-i-s}}class sJ extends rJ{constructor(t,n={}){const{x:r,y:i,inset:s=0,insetRight:o=s,insetLeft:a=s}=n;super(t,{y:{value:i,scale:"y"},x:{value:r,scale:"x",type:"band",optional:!0}},n),this.insetRight=Tr(o),this.insetLeft=Tr(a)}_transform(t,n,{y:r}){t.call(yr,n,{y:r},0,Yi)}_x1({x:t},{x:n},{marginLeft:r}){const{insetLeft:i}=this;return n&&t?s=>n[s]+i:r+i}_x2({x:t},{x:n},{width:r,marginRight:i}){const{insetRight:s}=this;return n&&t?o=>n[o]+t.bandwidth()-s:r-i-s}_y1(t,{y:n}){return r=>n[r]}_y2(t,{y:n}){return r=>n[r]}}function oJ(e,{x:t=he,...n}={}){return new iJ(e,{...n,x:t})}function aJ(e,{y:t=he,...n}={}){return new sJ(e,{...n,y:t})}function _7t(e,{x:t=he,y:n=null,r,fill:i="#ccc",fillOpacity:s,stroke:o="currentColor",strokeOpacity:a,strokeWidth:l=2,sort:c,...u}={}){const f=n!=null?t1:BR;return qa(ch(e,f({x1:MC,x2:IC},{x:t,y:n,stroke:o,strokeOpacity:a,...u})),bd(e,f({x1:"p25",x2:"p75"},{x:t,y:n,fill:i,fillOpacity:s,...u})),oJ(e,f({x:"p50"},{x:t,y:n,stroke:o,strokeOpacity:a,strokeWidth:l,sort:c,...u})),Ch(e,Ac({x:lJ},{x:t,y:n,z:n,r,stroke:o,strokeOpacity:a,...u})))}function w7t(e,{y:t=he,x:n=null,r,fill:i="#ccc",fillOpacity:s,stroke:o="currentColor",strokeOpacity:a,strokeWidth:l=2,sort:c,...u}={}){const f=n!=null?Qv:BR;return qa(lh(e,f({y1:MC,y2:IC},{x:n,y:t,stroke:o,strokeOpacity:a,...u})),_d(e,f({y1:"p25",y2:"p75"},{x:n,y:t,fill:i,fillOpacity:s,...u})),aJ(e,f({y:"p50"},{x:n,y:t,stroke:o,strokeOpacity:a,strokeWidth:l,sort:c,...u})),Ch(e,Ac({y:lJ},{x:n,y:t,z:n,r,stroke:o,strokeOpacity:a,...u})))}function lJ(e){const t=MC(e),n=IC(e);return e.map(r=>rn?r:NaN)}function MC(e){const t=cJ(e)*2.5-uJ(e)*1.5;return Or(e,n=>n>=t?n:NaN)}function IC(e){const t=uJ(e)*2.5-cJ(e)*1.5;return Yr(e,n=>n<=t?n:NaN)}function cJ(e){return nh(e,.25)}function uJ(e){return nh(e,.75)}const x7t={ariaLabel:"raster",stroke:null,pixelSize:1};function h0(e,t){const n=+e;if(isNaN(n))throw new Error(`invalid ${t}: ${e}`);return n}function kF(e,t){const n=Math.floor(e);if(isNaN(n))throw new Error(`invalid ${t}: ${e}`);return n}class fJ extends vr{constructor(t,n,r={},i){let{width:s,height:o,x:a,y:l,x1:c=a==null?0:void 0,y1:u=l==null?0:void 0,x2:f=a==null?s:void 0,y2:h=l==null?o:void 0,pixelSize:d=i.pixelSize,blur:g=0,interpolate:y}=r;if(s!=null&&(s=kF(s,"width")),o!=null&&(o=kF(o,"height")),c!=null&&(c=h0(c,"x1")),u!=null&&(u=h0(u,"y1")),f!=null&&(f=h0(f,"x2")),h!=null&&(h=h0(h,"y2")),a==null&&(c==null||f==null))throw new Error("missing x");if(l==null&&(u==null||h==null))throw new Error("missing y");t!=null&&s!=null&&o!=null&&(a===void 0&&c!=null&&f!=null&&(a=C7t(c,f,s)),l===void 0&&u!=null&&h!=null&&(l=N7t(u,h,s,o))),super(t,{x:{value:a,scale:"x",optional:!0},y:{value:l,scale:"y",optional:!0},x1:{value:c==null?null:[c],scale:"x",optional:!0,filter:null},y1:{value:u==null?null:[u],scale:"y",optional:!0,filter:null},x2:{value:f==null?null:[f],scale:"x",optional:!0,filter:null},y2:{value:h==null?null:[h],scale:"y",optional:!0,filter:null},...n},r,i),this.width=s,this.height=o,this.pixelSize=h0(d,"pixelSize"),this.blur=h0(g,"blur"),this.interpolate=a==null||l==null?null:A7t(y)}}let hJ=class extends fJ{constructor(t,n={}){const{imageRendering:r}=n;if(t==null){const{fill:i,fillOpacity:s}=n;oi(s)[0]!==void 0&&(n=JM("fillOpacity",n)),Us(i)[0]!==void 0&&(n=JM("fill",n))}super(t,void 0,n,x7t),this.imageRendering=fi(r,"auto")}scale(t,{color:n,...r},i){return super.scale(t,r,i)}render(t,n,r,i,s){const o=n[r.channels.fill?.scale]??(D=>D),{x:a,y:l}=r,{document:c}=s,[u,f,h,d]=pJ(r,i,s),g=h-u,y=d-f,{pixelSize:v,width:b=Math.round(Math.abs(g)/v),height:_=Math.round(Math.abs(y)/v)}=this,x=b*_;let{fill:A,fillOpacity:k}=r,S=0;if(this.interpolate){const D=b/g,O=_/y,B=gr(a,U=>(U-u)*D,Float64Array),V=gr(l,U=>(U-f)*O,Float64Array);A&&(A=this.interpolate(t,b,_,B,V,A)),k&&(k=this.interpolate(t,b,_,B,V,k))}else this.data==null&&t&&(S=t.fi*x);const T=c.createElement("canvas");T.width=b,T.height=_;const M=T.getContext("2d"),I=M.createImageData(b,_),N=I.data;let{r:C,g:L,b:F}=yo(this.fill)??{r:0,g:0,b:0},$=(this.fillOpacity??1)*255;for(let D=0;D0&&kxt(I,this.blur),M.putImageData(I,0,0),xn("svg:g",s).call(Mr,this,i,s).call(yr,this,n).call(D=>D.append("image").attr("transform",`translate(${u},${f}) scale(${Math.sign(h-u)},${Math.sign(d-f)})`).attr("width",Math.abs(g)).attr("height",Math.abs(y)).attr("preserveAspectRatio","none").call(ge,"image-rendering",this.imageRendering).call(cr,this).attr("xlink:href",T.toDataURL())).node()}};function dJ(e,t,n){arguments.length<3&&(n=t,t=null);let{x:r,y:i,[e]:s,...o}=n;return r===void 0&&i===void 0&&FRt(t)&&(r=I3,i=Kv,s===void 0&&(s=$Rt)),[t,{...o,x:r,y:i,[e]:s}]}function S7t(){const[e,t]=dJ("fill",...arguments);return new hJ(e,e==null||t.fill!==void 0||t.fillOpacity!==void 0?t:{...t,fill:he})}function pJ({x1:e,y1:t,x2:n,y2:r},i,{projection:s}){const{width:o,height:a,marginTop:l,marginRight:c,marginBottom:u,marginLeft:f}=i;return[e&&s==null?e[0]:f,t&&s==null?t[0]:l,n&&s==null?n[0]:o-c,r&&s==null?r[0]:a-u]}function gJ({x1:e,y1:t,x2:n,y2:r},i,s,o){const a={};return e&&(a.x1=e),t&&(a.y1=t),n&&(a.x2=n),r&&(a.y2=r),pJ(D3(a,i),s,o)}function JM(e,t={}){const{[e]:n}=t;if(typeof n!="function")throw new Error(`invalid ${e}: not a function`);return gs({...t,[e]:void 0},function(r,i,s,o,a,l){const{x:c,y:u}=o;if(!c)throw new Error("missing scale: x");if(!u)throw new Error("missing scale: y");const[f,h,d,g]=gJ(s,o,a,l),y=d-f,v=g-h,{pixelSize:b}=this,{width:_=Math.round(Math.abs(y)/b),height:x=Math.round(Math.abs(v)/b)}=t,A=new Array(_*x*(i?i.length:1)),k=y/_,S=v/x;let T=0;for(const M of i??[void 0])for(let I=.5;I=t||i[a]<0||i[a]>=n||(o[Math.floor(i[a])*t+Math.floor(r[a])]=s[a]);return o}function RC({random:e=pR(42)}={}){return(t,n,r,i,s,o)=>{const{points:a,triangles:l,hull:c}=Eh.from(t,d=>i[d],d=>s[d]),u=new o.constructor(n*r).fill(NaN),f=new Uint8Array(n*r),h=R7t(o,e);for(let d=0;d=n||O<0||O>=r)continue;const B=D+.5,V=O+.5,U=Math.sign(C),q=(k-S)*(B-x)+(V-S)*(x-_);if(q*U<0)continue;const z=(S-A)*(B-x)+(V-S)*(b-x);if(z*U<0)continue;const Y=C-(q+z);if(Y*U<0)continue;const Q=D+n*O;u[Q]=h(L,q/C,F,z/C,$,Y/C,D,O),f[Q]=1}}return E7t(u,f,i,s,o,n,r,c,t,h),u}}function E7t(e,t,n,r,i,s,o,a,l,c){n=Float64Array.from(a,d=>n[l[d]]),r=Float64Array.from(a,d=>r[l[d]]),i=Array.from(a,d=>i[l[d]]);const u=n.length,f=Array.from({length:u},(d,g)=>k7t(g,n,r));let h=0;for(let d=0;d0&&c>0?l/(l+c):+(l>c)}function gy(e,t,n,r){return e*r-n*t}function k7t(e,t,n){const r=t.length,i=t.at(e-2),s=n.at(e-2),o=t.at(e-1),a=n.at(e-1),l=t[e],c=n[e],u=t.at(e+1-r),f=n.at(e+1-r),h=o-l,d=a-c,g=i-o,y=s-a,v=l-u,b=c-f,_=Math.hypot(h,d),x=Math.hypot(g,y),A=Math.hypot(v,b);return(k,S)=>{const T=k-o,M=S-a,I=k-l,N=S-c;return gy(T,M,I,N)>-1e-6&&gy(T,M,h,d)*x-gy(T,M,g,y)*_>-1e-6&&gy(I,N,v,b)*_-gy(I,N,h,d)*A<=0}}function CC(e,t,n,r,i,s){const o=new s.constructor(t*n),a=Eh.from(e,u=>r[u],u=>i[u]);let l,c;for(let u=.5,f=0;u{const c=new l.constructor(i*s),u=Eh.from(r,g=>o[g],g=>a[g]);let f,h,d;for(let g=.5,y=0;gt&&A{const c=e(a,l);return cl.map(c=>c.value),label:Nc(r)};for(const l in s)i[l]==="value"&&(i[l]=a)}if(t==null){if(r==null)throw new Error("missing contour value");i=JM("value",{value:r,...i}),r=null}else{let{interpolate:a}=i;r===void 0&&(r=he),a===void 0&&(i.interpolate="nearest")}super(t,{value:{value:r,optional:!0}},$7t(i),MF);const o={geometry:{value:he}};for(const a in this.channels){const l=this.channels[a],{scale:c}=l;c==="x"||c==="y"||a==="value"||(o[a]=l,delete this.channels[a])}this.contourChannels=o,this.smooth=!!n}filter(t,{x:n,y:r,value:i,...s},o){return super.filter(t,s,o)}render(t,n,r,i,s){const{geometry:o}=r,a=Z1();return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,n).call(l=>{l.selectAll().data(t).enter().append("path").call(cr,this).attr("d",c=>a(o[c])).call(Hr,this,r)}).node()}}function $7t({thresholds:e,interval:t,...n}){return e=WK(e,t,gI),gs(n,function(r,i,s,o,a,l){const[c,u,f,h]=gJ(s,o,a,l),d=f-c,g=h-u,{pixelSize:y,width:v=Math.round(Math.abs(d)/y),height:b=Math.round(Math.abs(g)/y)}=this,_=v/d,x=b/g,A=s.value.value,k=[];if(this.interpolate){const{x:N,y:C}=cb(s,o,l),L=gr(N,O=>(O-c)*_,Float64Array),F=gr(C,O=>(O-u)*x,Float64Array),$=[s.x,s.y,s.value],D=[L,F,A];for(const O of i){const B=this.filter(O,$,D);k.push(this.interpolate(B,v,b,L,F,A))}}else if(i){const N=v*b,C=i.length;for(let L=0;L0)for(const N of k)hj({data:N,width:v,height:b},this.blur);const S=O7t(e,A,...D7t(k));if(S===null)throw new Error(`unsupported thresholds: ${e}`);const{contour:T}=l2().size([v,b]).smooth(this.smooth),M=[],I=[];for(const N of k)I.push(Do(M.length,M.push(...gr(S,C=>T(N,C)))));for(const{coordinates:N}of M)for(const C of N)for(const L of C)for(const F of L)F[0]=F[0]/_+c,F[1]=F[1]/x+u;return{data:M,facets:I,channels:eX(this.contourChannels,M)}})}function O7t(e,t,n,r){if(typeof e?.range=="function")return e.range(e.floor(n),r);if(typeof e=="function"&&(e=e(t,n,r)),typeof e!="number")return kh(e);const i=eh(...vj(n,r,e),e);for(;i[i.length-1]>=r;)i.pop();for(;i[1]Or(t,IF)),Yr(e,t=>Yr(t,IF))]}function IF(e){return isFinite(e)?e:NaN}function F7t(e,t){return $C(z3,e,t)}function B7t(e,t={}){return $C(q3,e,t)}function P7t(e,t={}){return $C(s1,e,t)}function $C(e,t,n={}){const{x:r,y:i,maxRadius:s}=n,o=e({px:r,py:i,maxRadius:s}),a=[];r!=null&&a.push(lh(t,RF("x",{...o,inset:-6},n))),i!=null&&a.push(ch(t,RF("y",{...o,inset:-6},n))),r!=null&&a.push(zg(t,CF("x",{...o,dy:9,frameAnchor:"bottom",lineAnchor:"top"},n))),i!=null&&a.push(zg(t,CF("y",{...o,dx:-9,frameAnchor:"left",textAnchor:"end"},n)));for(const l of a)l.ariaLabel=`crosshair ${l.ariaLabel}`;return qa(...a)}function yJ(e,{channels:t,...n},{facet:r,facetAnchor:i,fx:s,fy:o,[e]:a,channels:l,transform:c,initializer:u}){return{...n,facet:r,facetAnchor:i,fx:s,fy:o,[e]:a,channels:{...t,...l},transform:c,initializer:U7t(e,u)}}function U7t(e,t){return t==null?t:function(n,r,{x:i,y:s,px:o,py:a,...l},...c){const{channels:{x:u,y:f,...h}={},...d}=t.call(this,n,r,{...l,x:o,y:a},...c);return{channels:{...h,...u&&{px:u,...e==="x"&&{x:u}},...f&&{py:f,...e==="y"&&{y:f}}},...d}}}function RF(e,t,n){const{color:r="currentColor",opacity:i=.2,ruleStroke:s=r,ruleStrokeOpacity:o=i,ruleStrokeWidth:a}=n;return{...yJ(e,t,n),stroke:s,strokeOpacity:o,strokeWidth:a}}function CF(e,t,n){const{color:r="currentColor",textFill:i=r,textFillOpacity:s,textStroke:o="var(--plot-background)",textStrokeOpacity:a,textStrokeWidth:l=5}=n;return{...yJ(e,t,z7t(e,n)),fill:i,fillOpacity:s,stroke:o,strokeOpacity:a,strokeWidth:l}}function z7t(e,t){return gs(t,(n,r,i)=>({channels:{text:{value:PM(i,e)?.value}}}))}const q7t={ariaLabel:"delaunay link",fill:"none",stroke:"currentColor",strokeMiterlimit:1},j7t={ariaLabel:"delaunay mesh",fill:null,stroke:"currentColor",strokeOpacity:.2},V7t={ariaLabel:"hull",fill:"none",stroke:"currentColor",strokeWidth:1.5,strokeMiterlimit:1},W7t={ariaLabel:"voronoi",fill:"none",stroke:"currentColor",strokeMiterlimit:1},Y7t={ariaLabel:"voronoi mesh",fill:null,stroke:"currentColor",strokeOpacity:.2};class H7t extends vr{constructor(t,n={}){const{x:r,y:i,z:s,curve:o,tension:a}=n;super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},z:{value:s,optional:!0}},n,q7t),this.curve=mC(o,a),xm(this,n)}render(t,n,r,i,s){const{x:o,y:a}=n,{x:l,y:c,z:u}=r,{curve:f}=this,[h,d]=$c(this,i),g=l?_=>l[_]:Wi(h),y=c?_=>c[_]:Wi(d),v=this;function b(_){let x=-1;const A=[],k={};for(const $ in r)k[$]=[];const S=[],T=[],M=[],I=[];function N($,D){$=_[$],D=_[D],A.push(++x),S[x]=g($),M[x]=y($),T[x]=g(D),I[x]=y(D);for(const O in r)k[O].push(r[O][D])}const{halfedges:C,hull:L,triangles:F}=Eh.from(_,g,y);for(let $=0;$$&&N(F[$],F[D])}for(let $=0;${const D=mu(),O=f(D);return O.lineStart(),O.point(S[$],M[$]),O.point(T[$],I[$]),O.lineEnd(),D}).call(Hr,v,k).call(ub,v,k,s)}return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,{x:l&&o,y:c&&a}).call(u?_=>_.selectAll().data(wh(t,x=>u[x]).values()).enter().append("g").each(b):_=>_.datum(t).each(b)).node()}}class OC extends vr{constructor(t,n={},r,i=({z:s})=>s){const{x:s,y:o}=n;super(t,{x:{value:s,scale:"x",optional:!0},y:{value:o,scale:"y",optional:!0},z:{value:i(n),optional:!0}},n,r)}render(t,n,r,i,s){const{x:o,y:a}=n,{x:l,y:c,z:u}=r,[f,h]=$c(this,i),d=l?b=>l[b]:Wi(f),g=c?b=>c[b]:Wi(h),y=this;function v(b){const _=Eh.from(b,d,g);Ar(this).append("path").datum(b[0]).call(cr,y).attr("d",y._render(_,i)).call(Hr,y,r)}return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,{x:l&&o,y:c&&a}).call(u?b=>b.selectAll().data(wh(t,_=>u[_]).values()).enter().append("g").each(v):b=>b.datum(t).each(v)).node()}}class G7t extends OC{constructor(t,n={}){super(t,n,j7t),this.fill="none"}_render(t){return t.render()}}class X7t extends OC{constructor(t,n={}){super(t,n,V7t,Mh)}_render(t){return t.renderHull()}}class K7t extends vr{constructor(t,n={}){const{x:r,y:i,z:s}=n;super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},z:{value:s,optional:!0}},gs(n,function(o,a,l,c,u,f){let{x:h,y:d,z:g}=l;({x:h,y:d}=cb(l,c,f)),g=g?.value;const y=new Array((h??d).length).fill(null),[v,b]=$c(this,u),_=h?A=>h[A]:Wi(v),x=d?A=>d[A]:Wi(b);for(let A of a){h&&(A=A.filter(k=>Hi(_(k)))),d&&(A=A.filter(k=>Hi(x(k))));for(const[,k]of Ld(A,g)){const S=Eh.from(k,_,x),T=vJ(S,u);for(let M=0,I=k.length;M{f.selectAll().data(t).enter().append("path").call(cr,this).attr("d",h=>u[h]).call(Hr,this,r)}).node()}}class J7t extends OC{constructor(t,n){super(t,n,Y7t),this.fill="none"}_render(t,n){return vJ(t,n).render()}}function vJ(e,t){const{width:n,height:r,marginTop:i,marginRight:s,marginBottom:o,marginLeft:a}=t;return e.voronoi([a,i,n-s,r-o])}function pb(e,t,{x:n,y:r,...i}={}){return[n,r]=Rl(n,r),new e(t,{...i,x:n,y:r})}function Z7t(e,t){return pb(H7t,e,t)}function Q7t(e,t){return pb(G7t,e,t)}function tOt(e,t){return pb(X7t,e,t)}function eOt(e,{x:t,y:n,initializer:r,...i}={}){return pb(K7t,e,{...Cl({...i,x:t,y:n},NK),initializer:r})}function nOt(e,t){return pb(J7t,e,t)}const rOt={ariaLabel:"density",fill:"none",stroke:"currentColor",strokeMiterlimit:1};class bJ extends vr{constructor(t,{x:n,y:r,z:i,weight:s,fill:o,stroke:a,...l}={}){const c=NF(o)&&(o="currentColor",!0),u=NF(a)&&(a="currentColor",!0);super(t,{x:{value:n,scale:"x",optional:!0},y:{value:r,scale:"y",optional:!0},z:{value:Mh({z:i,fill:o,stroke:a}),optional:!0},weight:{value:s,optional:!0}},oOt({...l,fill:o,stroke:a},c,u),rOt),c&&(this.fill=void 0),u&&(this.stroke=void 0),this.z=i}filter(t){return t}render(t,n,r,i,s){const{contours:o}=r,a=Z1();return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,{}).call(l=>l.selectAll().data(t).enter().append("path").call(cr,this).call(Hr,this,r).attr("d",c=>a(o[c]))).node()}}function iOt(e,{x:t,y:n,...r}={}){return[t,n]=Rl(t,n),new bJ(e,{...r,x:t,y:n})}const sOt=new Set(["x","y","z","weight"]);function oOt(e,t,n){let{bandwidth:i,thresholds:s}=e;return i=i===void 0?20:+i,s=s===void 0?20:typeof s?.[Symbol.iterator]=="function"?uo(s):+s,gs(e,function(o,a,l,c,u,f){const h=l.weight?uo(l.weight.value):null,d=l.z?.value,{z:g}=this,[y,v]=$c(this,u),{width:b,height:_}=u,{x,y:A}=cb(l,c,f),k=Object.fromEntries(Object.entries(l).filter(([F])=>!sOt.has(F)).map(([F,$])=>[F,{...$,value:[]}])),S=t&&[],T=n&&[],M=D5t().x(x?F=>x[F]:y).y(A?F=>A[F]:v).weight(h?F=>h[F]:1).size([b,_]).bandwidth(i),I=[];for(const F of a){const $=[];I.push($);for(const D of d?JR(F,d,g):[F]){const O=M.contours(D);$.push([D,O])}}let N=s;if(!(N instanceof M3)){let F=0;for(const $ of I)for(const[,D]of $){const O=D.max;O>F&&(F=O)}N=Float64Array.from({length:s-1},($,D)=>F*100*(D+1)/s)}const C=[],L=[];for(const F of I){const $=[];C.push($);for(const[D,O]of F)for(const B of N){$.push(L.length),L.push(O(B/100)),S&&S.push(B),T&&T.push(B);for(const V in k)k[V].value.push(l[V].value[D[0]])}}return S&&S.push(0),T&&T.push(0),{data:o,facets:C,channels:{...k,...S&&{fill:{value:S,scale:"color"}},...T&&{stroke:{value:T,scale:"color"}},contours:{value:L}}}})}function NF(e){return/^density$/i.test(e)}function aOt(e,t){return _J("x",e,t)}function lOt(e,t){return _J("y",e,t)}function _J(e,t,{x1:n,x2:r,y1:i,y2:s,x:o=n===void 0&&r===void 0?e==="y"?gi:he:void 0,y:a=i===void 0&&s===void 0?e==="x"?gi:he:void 0,fill:l,positiveFill:c="#3ca951",negativeFill:u="#4269d0",fillOpacity:f=1,positiveFillOpacity:h=f,negativeFillOpacity:d=f,stroke:g,strokeOpacity:y,z:v=Us(g)[0],clip:b,tip:_,render:x,...A}={}){return[n,r]=$F(o,n,r),[i,s]=$F(a,i,s),n===r&&i===s&&(e==="y"?i=su(0):n=su(0)),{tip:_}=Tp({tip:_},e==="y"?"x":"y"),qa($r(c)?null:Object.assign(XM(t,{x1:n,x2:r,y1:i,y2:s,z:v,fill:c,fillOpacity:h,render:i1(x,OF(e,!0)),clip:b,...A}),{ariaLabel:"positive difference"}),$r(u)?null:Object.assign(XM(t,{x1:n,x2:r,y1:i,y2:s,z:v,fill:u,fillOpacity:d,render:i1(x,OF(e,!1)),clip:b,...A}),{ariaLabel:"negative difference"}),rA(t,{x:r,y:s,z:v,stroke:g,strokeOpacity:y,tip:_,clip:!0,...A}))}function $F(e,t,n){return t===void 0&&n===void 0?t=n=su(e):t===void 0?(n=su(n),t=e===void 0?n:su(e)):n===void 0?(t=su(t),n=e===void 0?t:su(e)):(t=su(t),n=su(n)),[t,n]}function su(e){let t;const{value:n,label:r=Nc(n)}=wm(e);return{transform:i=>t||(t=an(i,n)),label:r}}function OF(e,t){const n=e==="x"?"y":"x",r=`${n}1`,i=`${n}2`,s=`${e}1`,o=`${e}2`;return(a,l,c,u,f,h)=>{const{[r]:d,[i]:g}=c,y=new Float32Array(d.length),v=new Float32Array(g.length),b=u[e==="y"?"height":"width"];(t===mX(l[e])<0?y:v).fill(b);const _=h(a,l,{...c,[i]:d,[o]:v},u,f),x=h(a,l,{...c,[r]:g,[s]:y},u,f),A=_.querySelector("g")??_,k=x.querySelector("g")??x;for(let S=0;A.firstChild;S+=2){const T=KR(),M=xn("svg:clipPath",f).attr("id",T).node();M.appendChild(A.firstChild),k.childNodes[S].setAttribute("clip-path",`url(#${T})`),k.insertBefore(M,k.childNodes[S])}return x}}function wJ({geometry:e=he,...t}={}){const n=Pg(r=>an(r,e));return gs({...t,x:null,y:null,geometry:{transform:n}},(r,i,s,o,a,l)=>{const c=n(r),u=c.length,f=new Float64Array(u),h=new Float64Array(u),{centroid:d}=l.path();for(let g=0;gan(i,e)),r=Pg(i=>an(n(i),l6t));return{...t,x:{transform:i=>Float64Array.from(r(i),([s])=>s)},y:{transform:i=>Float64Array.from(r(i),([,s])=>s)},geometry:{transform:n}}}const uOt={ariaLabel:"geo",fill:"none",stroke:"currentColor",strokeWidth:1,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1};class xJ extends vr{constructor(t,n={}){const[r,i]=oi(n.r,3);super(t,{x:{value:n.tip?n.x:null,scale:"x",optional:!0},y:{value:n.tip?n.y:null,scale:"y",optional:!0},r:{value:r,scale:"r",filter:Eu,optional:!0},geometry:{value:n.geometry,scale:"projection"}},EC(n),uOt),this.r=i}render(t,n,r,i,s){const{geometry:o,r:a}=r,l=s.path(),{r:c}=this;return E3(c)?t=[]:c!==void 0&&l.pointRadius(c),xn("svg:g",s).call(Mr,this,i,s).call(yr,this,n).call(u=>{u.selectAll().data(t).enter().append("path").call(cr,this).attr("d",a?f=>l.pointRadius(a[f])(o[f]):f=>l(o[f])).call(Hr,this,r)}).node()}}function LC(e,t={}){return t.tip&&t.x===void 0&&t.y===void 0?t=wJ(t):t.geometry===void 0&&(t={...t,geometry:he}),new xJ(e,t)}function fOt({strokeWidth:e=1.5,...t}={}){return LC({type:"Sphere"},{strokeWidth:e,...t})}function hOt({strokeOpacity:e=.1,...t}={}){return LC(_6t(),{strokeOpacity:e,...t})}const av=.5,lv=0;function dOt(e={fill:"count"},{binWidth:t,...n}={}){const{z:r}=n;return t=t===void 0?20:Tr(t),e=XG(e,n),Lf(e,"fill")&&(n.channels={...n.channels,fill:{value:[]}}),n.symbol===void 0&&(n.symbol="hexagon"),n.r===void 0&&!Lf(e,"r")&&(n.r=t/2),gs(n,(i,s,o,a,l,c)=>{let{x:u,y:f,z:h,fill:d,stroke:g,symbol:y}=o;if(u===void 0)throw new Error("missing channel: x");if(f===void 0)throw new Error("missing channel: y");({x:u,y:f}=cb(o,a,c)),h=h?h.value:an(i,r),d=d?.value,g=g?.value,y=y?.value;const v=qR(e,{z:h,fill:d,stroke:g,symbol:y}),b=h&&[],_=d&&[],x=g&&[],A=y&&[],k=[],S=[],T=[];let M=-1;for(const L of e)L.initialize(i);for(const L of s){const F=[];for(const $ of e)$.scope("facet",L);for(const[$,D]of Ld(L,v))for(const{index:O,extent:B}of pOt(i,D,u,f,t)){F.push(++M),S.push(B.x),T.push(B.y),h&&b.push(v===h?$:h[O[0]]),d&&_.push(v===d?$:d[O[0]]),g&&x.push(v===g?$:g[O[0]]),y&&A.push(v===y?$:y[O[0]]);for(const V of e)V.reduce(O,B)}k.push(F)}const I=o.x.scale,N=o.y.scale,C={x:{value:S,source:a[I]?{value:gr(S,a[I].invert),scale:I}:null},y:{value:T,source:a[N]?{value:gr(T,a[N].invert),scale:N}:null},...h&&{z:{value:b}},...d&&{fill:{value:_,scale:"auto"}},...g&&{stroke:{value:x,scale:"auto"}},...y&&{symbol:{value:A,scale:"auto"}},...Object.fromEntries(e.map(({name:L,output:F})=>[L,{scale:"auto",label:F.label,radius:L==="r"?t/2:void 0,value:F.transform()}]))};return{data:i,facets:k,channels:C}})}function pOt(e,t,n,r,i){const s=i*(1.5/VG),o=new Map;for(const a of t){let l=n[a],c=r[a];if(isNaN(l)||isNaN(c))continue;let u=Math.round(c=(c-lv)/s),f=Math.round(l=(l-av)/i-(u&1)/2),h=c-u;if(Math.abs(h)*3>1){let y=l-f,v=f+(l_*_+x*x&&(f=v+(u&1?1:-1)/2,u=b)}const d=`${f},${u}`;let g=o.get(d);g===void 0&&(g={index:[],extent:{data:e,x:(f+(u&1)/2)*i+av,y:u*s+lv}},o.set(d,g)),g.index.push(a)}return o.values()}const gOt={ariaLabel:"hexgrid",fill:"none",stroke:"currentColor",strokeOpacity:.1};function mOt(e){return new SJ(e)}class SJ extends vr{constructor({binWidth:t=20,clip:n=!0,...r}={}){super(ov,void 0,{clip:n,...r},gOt),this.binWidth=Tr(t)}render(t,n,r,i,s){const{binWidth:o}=this,{marginTop:a,marginRight:l,marginBottom:c,marginLeft:u,width:f,height:h}=i,d=u-av,g=f-l-av,y=a-lv,v=h-c-lv,b=o/2,_=b*WG,x=_/2,A=b*2,k=_*1.5,S=Math.floor(d/A),T=Math.ceil(g/A),M=Math.floor((y+x)/k),I=Math.ceil((v-x)/k)+1,N=`m0,${mf(-_)}l${mf(b)},${mf(x)}v${mf(_)}l${mf(-b)},${mf(x)}`;let C=N;for(let L=M;LL.append("path").call(cr,this).call(Hr,this,r).attr("d",C)).node()}}function mf(e){return Math.round(e*1e3)/1e3}const yOt={ariaLabel:"image",fill:null,stroke:null};function vOt(e){return/^\.*\//.test(e)}function bOt(e){return/^(blob|data|file|http|https):/i.test(e)}function _Ot(e){return typeof e=="string"&&(vOt(e)||bOt(e))?[void 0,e]:[e,void 0]}class AJ extends vr{constructor(t,n={}){let{x:r,y:i,r:s,width:o,height:a,rotate:l,src:c,preserveAspectRatio:u,crossOrigin:f,frameAnchor:h,imageRendering:d}=n;s==null&&(s=void 0),s===void 0&&o===void 0&&a===void 0?o=a=16:o===void 0&&a!==void 0?o=a:a===void 0&&o!==void 0&&(a=o);const[g,y]=_Ot(c),[v,b]=oi(s),[_,x]=oi(o,b!==void 0?b*2:void 0),[A,k]=oi(a,b!==void 0?b*2:void 0),[S,T]=oi(l,0);super(t,{x:{value:r,scale:"x",optional:!0},y:{value:i,scale:"y",optional:!0},r:{value:v,scale:"r",filter:Eu,optional:!0},width:{value:_,filter:Eu,optional:!0},height:{value:A,filter:Eu,optional:!0},rotate:{value:S,optional:!0},src:{value:g,optional:!0}},EC(n),yOt),this.src=y,this.width=x,this.rotate=T,this.height=k,this.r=b,this.preserveAspectRatio=fi(u,"xMidYMid"),this.crossOrigin=Vi(f),this.frameAnchor=rb(h),this.imageRendering=fi(d,"auto")}render(t,n,r,i,s){const{x:o,y:a}=n,{x:l,y:c,width:u,height:f,r:h,rotate:d,src:g}=r,{r:y,width:v,height:b,rotate:_}=this,[x,A]=$c(this,i);return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,{x:l&&o,y:c&&a}).call(k=>k.selectAll().data(t).enter().append("image").call(cr,this).attr("x",LF(l,u,h,x,v,y)).attr("y",LF(c,f,h,A,b,y)).attr("width",u?S=>u[S]:v!==void 0?v:h?S=>h[S]*2:y*2).attr("height",f?S=>f[S]:b!==void 0?b:h?S=>h[S]*2:y*2).attr("transform",d?S=>`rotate(${d[S]})`:_?`rotate(${_})`:null).attr("transform-origin",d||_?db`${l?S=>l[S]:x}px ${c?S=>c[S]:A}px`:null).call(ge,"href",g?S=>g[S]:this.src).call(ge,"preserveAspectRatio",this.preserveAspectRatio).call(ge,"crossorigin",this.crossOrigin).call(ge,"image-rendering",this.imageRendering).call(ge,"clip-path",h?S=>`circle(${h[S]}px)`:y!==void 0?`circle(${y}px)`:null).call(Hr,this,r)).node()}}function LF(e,t,n,r,i,s){return t&&e?o=>e[o]-t[o]/2:t?o=>r-t[o]/2:e&&i!==void 0?o=>e[o]-i/2:i!==void 0?r-i/2:n&&e?o=>e[o]-n[o]:n?o=>r-n[o]:e?o=>e[o]-s:r-s}function wOt(e,{x:t,y:n,...r}={}){return r.frameAnchor===void 0&&([t,n]=Rl(t,n)),new AJ(e,{...r,x:t,y:n})}function xOt(e,t,n){var r=1e-8,i=t-1,s=n-1,o=0,a,l,c,u,f,h,d,g;if(e<=0)return 0;if(e>=1)return 1;for(a=Math.log(t/(t+n)),l=Math.log(n/(t+n)),c=Math.exp(t*a)/t,u=Math.exp(n*l)/n,d=c+u,e=1&&(h=.5*(h+c+1)),Math.abs(c)0)break}return h}function SOt(e,t,n){var r=e===0||e===1?0:Math.exp(rg(t+n)-rg(t)-rg(n)+t*Math.log(e)+n*Math.log(1-e));return e<0||e>1?!1:e<(t+1)/(t+n+2)?r*DF(e,t,n)/t:1-r*DF(1-e,n,t)/n}function DF(e,t,n){var r=1e-30,i=1,s=t+n,o=t+1,a=t-1,l=1,c=1-s*e/o,u,f,h,d;for(Math.abs(c).5?n:-n}const EOt={ariaLabel:"linear-regression",fill:"currentColor",fillOpacity:.1,stroke:"currentColor",strokeWidth:1.5,strokeLinecap:"round",strokeLinejoin:"round",strokeMiterlimit:1};class EJ extends vr{constructor(t,n={}){const{x:r,y:i,z:s,ci:o=.95,precision:a=4}=n;if(super(t,{x:{value:r,scale:"x"},y:{value:i,scale:"y"},z:{value:Mh(n),optional:!0}},n,EOt),this.z=s,this.ci=+o,this.precision=+a,!(0<=this.ci&&this.ci<1))throw new Error(`invalid ci; not in [0, 1): ${o}`);if(!(this.precision>0))throw new Error(`invalid precision: ${a}`)}render(t,n,r,i,s){const{x:o,y:a,z:l}=r,{ci:c}=this;return xn("svg:g",s).call(Mr,this,i,s).call(yr,this,n).call(u=>u.selectAll().data(l?JR(t,l,this.z):[t]).enter().call(f=>f.append("path").attr("fill","none").call(cr,this).call(q2,this,{...r,fill:null,fillOpacity:null}).attr("d",h=>this._renderLine(h,o,a)).call(c&&!Bg(this.fill)?h=>h.select(TOt).attr("stroke","none").call(cr,this).call(q2,this,{...r,stroke:null,strokeOpacity:null,strokeWidth:null}).attr("d",d=>this._renderBand(d,o,a)):()=>{}))).node()}}function TOt(){return this.parentNode.insertBefore(this.ownerDocument.createElementNS(Ou.svg,"path"),this)}class kOt extends EJ{constructor(t,n){super(t,n)}_renderBand(t,n,r){const{ci:i,precision:s}=this,[o,a]=pi(t,u=>r[u]),l=K2(t,r,n),c=TJ(t,r,n,(1-i)/2,l);return mR().y(u=>u).x0(u=>c(u,-1)).x1(u=>c(u,1))(Do(o,a-s/2,s).concat(a))}_renderLine(t,n,r){const[i,s]=pi(t,a=>r[a]),o=K2(t,r,n);return`M${o(i)},${i}L${o(s)},${s}`}}class MOt extends EJ{constructor(t,n){super(t,n)}_renderBand(t,n,r){const{ci:i,precision:s}=this,[o,a]=pi(t,u=>n[u]),l=K2(t,n,r),c=TJ(t,n,r,(1-i)/2,l);return mR().x(u=>u).y0(u=>c(u,-1)).y1(u=>c(u,1))(Do(o,a-s/2,s).concat(a))}_renderLine(t,n,r){const[i,s]=pi(t,a=>n[a]),o=K2(t,n,r);return`M${i},${o(i)}L${s},${o(s)}`}}function IOt(e,{y:t=gi,x:n=he,stroke:r,fill:i=$r(r)?"currentColor":r,...s}={}){return new kOt(e,vC({...s,x:n,y:t,fill:i,stroke:r}))}function ROt(e,{x:t=gi,y:n=he,stroke:r,fill:i=$r(r)?"currentColor":r,...s}={}){return new MOt(e,yC({...s,x:t,y:n,fill:i,stroke:r}))}function K2(e,t,n){let r=0,i=0,s=0,o=0;for(const u of e){const f=t[u],h=n[u];r+=f,i+=h,s+=f*h,o+=f*f}const a=e.length,l=(a*s-r*i)/(a*o-r*r),c=(i-l*r)/a;return u=>l*u+c}function TJ(e,t,n,r,i){const s=ml(e,u=>t[u])/e.length;let o=0,a=0;for(const u of e)o+=(t[u]-s)**2,a+=(n[u]-i(t[u]))**2;const l=Math.sqrt(a/(e.length-2)),c=AOt(r,e.length-2);return(u,f)=>{const h=i(u),d=l*Math.sqrt(1/e.length+(u-s)**2/o);return h+f*c*d}}function QM({path:e=he,delimiter:t,frameAnchor:n,treeLayout:r=C2,treeSort:i,treeSeparation:s,treeAnchor:o,treeFilter:a,...l}={}){o=DC(o),i=MJ(i),a!=null&&(a=e5(a)),n===void 0&&(n=o.frameAnchor);const c=IJ(t),u=DJ(l,e5),[f,h]=Bo(),[d,g]=Bo();return{x:f,y:d,frameAnchor:n,...Cl(l,(y,v)=>{const b=c(an(y,e)),_=h([]),x=g([]);let A=-1;const k=[],S=[],T=qH().path(N=>b[N]),M=Gu(y)?N=>N.data=y[N.data]:N=>N.data=y.get(N.data),I=r();I.nodeSize&&I.nodeSize([1,1]),I.separation&&s!==void 0&&I.separation(s??kR);for(const N of u)N[J2]=N[OJ]([]);for(const N of v){const C=[],L=T(N.filter(F=>b[F]!=null)).each(M);i!=null&&L.sort(i),I(L);for(const F of L.descendants())if(!(a!=null&&!a(F))){C.push(++A),k[A]=F.data,o.position(F,A,_,x);for(const $ of u)$[J2][A]=$[LJ](F)}S.push(C)}return{data:k,facets:S}}),...Object.fromEntries(u)}}function kJ({path:e=he,delimiter:t,curve:n="bump-x",stroke:r="#555",strokeWidth:i=1.5,strokeOpacity:s=.5,treeLayout:o=C2,treeSort:a,treeSeparation:l,treeAnchor:c,treeFilter:u,...f}={}){c=DC(c),a=MJ(a),u!=null&&(u=BF(u)),f={curve:n,stroke:r,strokeWidth:i,strokeOpacity:s,...f};const h=IJ(t),d=DJ(f,BF),[g,y]=Bo(),[v,b]=Bo(),[_,x]=Bo(),[A,k]=Bo();return{x1:g,x2:v,y1:_,y2:A,...Cl(f,(S,T)=>{const M=h(an(S,e)),I=y([]),N=b([]),C=x([]),L=k([]);let F=-1;const $=[],D=[],O=qH().path(V=>M[V]),B=o();B.nodeSize&&B.nodeSize([1,1]),B.separation&&l!==void 0&&B.separation(l??kR);for(const V of d)V[J2]=V[OJ]([]);for(const V of T){const U=[],q=O(V.filter(z=>M[z]!=null)).each(z=>z.data=S[z.data]);a!=null&&q.sort(a),B(q);for(const{source:z,target:Y}of q.links())if(!(u!=null&&!u(Y,z))){U.push(++F),$[F]=Y.data,c.position(z,F,I,C),c.position(Y,F,N,L);for(const Q of d)Q[J2][F]=Q[LJ](Y,z)}D.push(U)}return{data:$,facets:D}}),...Object.fromEntries(d)}}function DC(e="left"){switch(`${e}`.trim().toLowerCase()){case"left":return COt;case"right":return NOt}throw new Error(`invalid tree anchor: ${e}`)}const COt={frameAnchor:"left",dx:6,position({x:e,y:t},n,r,i){r[n]=t,i[n]=-e}},NOt={frameAnchor:"right",dx:-6,position({x:e,y:t},n,r,i){r[n]=-t,i[n]=-e}};function MJ(e){return e==null||typeof e=="function"?e:`${e}`.trim().toLowerCase().startsWith("node:")?FF(e5(e)):FF($Ot(e))}function FF(e){return(t,n)=>za(e(t),e(n))}function $Ot(e){return t=>t.data?.[e]}function IJ(e="/"){if(e=`${e}`,e==="/")return n=>n;if(e.length!==1)throw new Error("delimiter must be exactly one character");const t=e.charCodeAt(0);return n=>n.map(r=>OOt(r,t))}const t5=92,RJ=47;function OOt(e,t){if(t===t5)throw new Error("delimiter cannot be backslash");let n=!1;for(let r=0,i=e.length;rn==null?void 0:e(n)}function FOt(e){let t=e.length;for(;--t>0&&!BOt(e,t););return LOt(e.slice(t+1))}function BOt(e,t){if(e[t]==="/"){let n=0;for(;t>0&&e[--t]==="\\";)++n;if((n&1)===0)return!0}return!1}const OJ=2,LJ=3,J2=4;function DJ(e,t){const n=[];for(const r in e){const i=e[r],s=t(i);s!==void 0&&n.push([r,...Bo(i),s])}return n}function FJ(e,{fill:t,stroke:n,strokeWidth:r,strokeOpacity:i,strokeLinejoin:s,strokeLinecap:o,strokeMiterlimit:a,strokeDasharray:l,strokeDashoffset:c,marker:u,markerStart:f=u,markerEnd:h=u,dot:d=$r(f)&&$r(h),text:g="node:name",textStroke:y="var(--plot-background)",title:v="node:path",dx:b,dy:_,textAnchor:x,treeLayout:A=C2,textLayout:k=A===C2||A===PH?"mirrored":"normal",tip:S,...T}={}){if(b===void 0&&(b=DC(T.treeAnchor).dx),x!==void 0)throw new Error("textAnchor is not a configurable tree option");k=Xo(k,"textLayout",["mirrored","normal"]);function M(I){return zg(e,QM({treeLayout:A,text:g,fill:t===void 0?"currentColor":t,stroke:y,dx:b,dy:_,title:v,...I,...T}))}return qa(JK(e,kJ({treeLayout:A,markerStart:f,markerEnd:h,stroke:n!==void 0?n:t===void 0?"node:internal":t,strokeWidth:r,strokeOpacity:i,strokeLinejoin:s,strokeLinecap:o,strokeMiterlimit:a,strokeDasharray:l,strokeDashoffset:c,...T})),d?Ch(e,QM({treeLayout:A,fill:t===void 0?"node:internal":t,title:v,tip:S,...T})):null,g!=null?k==="mirrored"?[M({textAnchor:"start",treeFilter:"node:external"}),M({textAnchor:"end",treeFilter:"node:internal",dx:-b})]:M():null)}function POt(e,t){return FJ(e,{...t,treeLayout:PH})}const BJ={ariaLabel:"waffle"};class PJ extends SC{constructor(t,{unit:n=1,gap:r=1,round:i,multiple:s,...o}={}){super(t,zJ("x",o),BJ),this.unit=Math.max(0,n),this.gap=+r,this.round=qJ(i),this.multiple=jJ(s)}}class UJ extends AC{constructor(t,{unit:n=1,gap:r=1,round:i,multiple:s,...o}={}){super(t,zJ("y",o),BJ),this.unit=Math.max(0,n),this.gap=+r,this.round=qJ(i),this.multiple=jJ(s)}}function zJ(e,t){const n=e==="y"?"x":"y",r=`${e}1`,i=`${e}2`;return gs(UOt(t),function(s,o,a,l,c){const{round:u,unit:f}=this,h=a[r].value,d=a[i].value,g=D3({...n in a&&{[n]:a[n]},[r]:a[r],[i]:a[i]},l),y=this[e==="y"?"_width":"_height"](l,g,c),v=this[e==="y"?"_x":"_y"](l,g,c),b=f*jOt(l.scales[e]),{multiple:_=Math.max(1,Math.floor(Math.sqrt(y/b)))}=this,x=Math.min(y/_,b*_),A=b*_,k=(y-_*x)/2,S=typeof v=="function"?O=>v(O)+k:v+k,T=l[e](0),M=e==="y"?([O,B])=>[O*x,-B*A]:([O,B])=>[B*A,O*x],I=typeof S=="function"?O=>S(O)-y/2:()=>S,[N,C]=e==="y"?[0,1]:[1,0],L=d.length,F=new Array(L),$=new Float64Array(L),D=new Float64Array(L);for(let O=0;OM.selectAll().data(n).enter().append(()=>S.cloneNode(!0)).attr("id",I=>`${k}-${I}`).select("rect").call(cr,this).call(Hr,this,g)).call(M=>M.selectAll().data(n).enter().append("path").attr("transform",db`translate(${_},${A})`).attr("d",I=>`M${v[I].join("L")}Z`).attr("fill",I=>`url(#${k}-${I})`).attr("stroke",this.stroke==null?null:"none").call(Hr,this,{ariaLabel:f,href:h,title:d})).node()})}}function FC(e,t,n){if(tl&&f.push([0,l]),f.push([r,l],[r,a+e%1],[i,a+e%1]),e%n>n-1||(f.push([i,a]),c>a&&f.push([n,a])),c>a&&f.push([n,c]),f.push([o,c],[o,c+t%1],[s,c+t%1]),t%n<1||(f.push([s,u]),u>l&&f.push([0,u])),f.push(qOt(e,t,n)),f}function zOt(e,t,n,r){return FC(e+r*n,t+r*n,n).map(([i,s])=>[i,s-r])}function qOt(e,t,n){const r=Math.floor(t/n)-Math.floor(e/n);return r===0?fk(e,t,n):r===1?Math.floor(t%n)>Math.ceil(e%n)?[(Math.floor(t%n)+Math.ceil(e%n))/2,Math.floor(t/n)]:t%n>n-e%n?fk(t-t%n,t,n):fk(e,n*Math.ceil(e/n),n):[n/2,(Math.round(e/n)+Math.round(t/n))/2]}function fk(e,t,n){const r=Math.floor(t)-Math.floor(e);return r===0?[Math.floor(e%n)+.5,Math.floor(e/n)+(e+t)/2%1]:r===1?t%1-e%1>.5?[Math.ceil(e%n),Math.floor(t/n)+(e%1+t%1)/2]:t%1>1-e%1?[Math.floor(t%n)+.5,Math.floor(t/n)+t%1/2]:[Math.floor(e%n)+.5,Math.floor(e/n)+(1+e%1)/2]:[Math.ceil(e%n)+Math.ceil(Math.floor(t)-Math.ceil(e))/2,Math.floor(e/n)+(t>=1+e?.5:(e+t)/2%1)]}function qJ(e){if(e===void 0||e===!1)return Number;if(e===!0)return Math.round;if(typeof e!="function")throw new Error(`invalid round: ${e}`);return e}function jJ(e){return e===void 0?void 0:Math.max(1,Math.floor(e))}function jOt({domain:e,range:t}){return PF(t)/PF(e)}function PF(e){const[t,n]=pi(e);return n-t}function VOt(e,{tip:t,...n}={}){return bm(n)||(n={...n,y:gi,x2:he}),new PJ(e,{tip:VJ(t),...X3(eC(H3(n)))})}function WOt(e,{tip:t,...n}={}){return bm(n)||(n={...n,x:gi,y2:he}),new UJ(e,{tip:VJ(t),...K3(nC(G3(n)))})}function VJ(e){return e===!0?{maxRadius:1/0}:Ko(e)&&e.maxRadius===void 0?{...e,maxRadius:1/0}:void 0}function WJ(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var hk,UF;function YOt(){if(UF)return hk;UF=1;function e(o,a,l,c,u){for(var f=u+1;c<=u;){var h=c+u>>>1,d=o[h],g=l!==void 0?l(d,a):d-a;g>=0?(f=h,u=h-1):c=h+1}return f}function t(o,a,l,c,u){for(var f=u+1;c<=u;){var h=c+u>>>1,d=o[h],g=l!==void 0?l(d,a):d-a;g>0?(f=h,u=h-1):c=h+1}return f}function n(o,a,l,c,u){for(var f=c-1;c<=u;){var h=c+u>>>1,d=o[h],g=l!==void 0?l(d,a):d-a;g<0?(f=h,c=h+1):u=h-1}return f}function r(o,a,l,c,u){for(var f=c-1;c<=u;){var h=c+u>>>1,d=o[h],g=l!==void 0?l(d,a):d-a;g<=0?(f=h,c=h+1):u=h-1}return f}function i(o,a,l,c,u){for(;c<=u;){var f=c+u>>>1,h=o[f],d=l!==void 0?l(h,a):h-a;if(d===0)return f;d<=0?c=f+1:u=f-1}return-1}function s(o,a,l,c,u,f){return typeof l=="function"?f(o,a,l,c===void 0?0:c|0,u===void 0?o.length-1:u|0):f(o,a,void 0,l===void 0?0:l|0,c===void 0?o.length-1:c|0)}return hk={ge:function(o,a,l,c,u){return s(o,a,l,c,u,e)},gt:function(o,a,l,c,u){return s(o,a,l,c,u,t)},lt:function(o,a,l,c,u){return s(o,a,l,c,u,n)},le:function(o,a,l,c,u){return s(o,a,l,c,u,r)},eq:function(o,a,l,c,u){return s(o,a,l,c,u,i)}},hk}var dk,zF;function HOt(){if(zF)return dk;zF=1;var e=YOt(),t=0,n=1,r=2;dk=x;function i(A,k,S,T,M){this.mid=A,this.left=k,this.right=S,this.leftPoints=T,this.rightPoints=M,this.count=(k?k.count:0)+(S?S.count:0)+T.length}var s=i.prototype;function o(A,k){A.mid=k.mid,A.left=k.left,A.right=k.right,A.leftPoints=k.leftPoints,A.rightPoints=k.rightPoints,A.count=k.count}function a(A,k){var S=v(k);A.mid=S.mid,A.left=S.left,A.right=S.right,A.leftPoints=S.leftPoints,A.rightPoints=S.rightPoints,A.count=S.count}function l(A,k){var S=A.intervals([]);S.push(k),a(A,S)}function c(A,k){var S=A.intervals([]),T=S.indexOf(k);return T<0?t:(S.splice(T,1),a(A,S),n)}s.intervals=function(A){return A.push.apply(A,this.leftPoints),this.left&&this.left.intervals(A),this.right&&this.right.intervals(A),A},s.insert=function(A){var k=this.count-this.leftPoints.length;if(this.count+=1,A[1]3*(k+1)?l(this,A):this.left.insert(A):this.left=v([A]);else if(A[0]>this.mid)this.right?4*(this.right.count+1)>3*(k+1)?l(this,A):this.right.insert(A):this.right=v([A]);else{var S=e.ge(this.leftPoints,A,g),T=e.ge(this.rightPoints,A,y);this.leftPoints.splice(S,0,A),this.rightPoints.splice(T,0,A)}},s.remove=function(A){var k=this.count-this.leftPoints;if(A[1]3*(k-1))return c(this,A);var T=this.left.remove(A);return T===r?(this.left=null,this.count-=1,n):(T===n&&(this.count-=1),T)}else if(A[0]>this.mid){if(!this.right)return t;var M=this.left?this.left.count:0;if(4*M>3*(k-1))return c(this,A);var T=this.right.remove(A);return T===r?(this.right=null,this.count-=1,n):(T===n&&(this.count-=1),T)}else{if(this.count===1)return this.leftPoints[0]===A?r:t;if(this.leftPoints.length===1&&this.leftPoints[0]===A){if(this.left&&this.right){for(var I=this,N=this.left;N.right;)I=N,N=N.right;if(I===this)N.right=this.right;else{var C=this.left,T=this.right;I.count-=N.count,I.right=N.left,N.left=C,N.right=T}o(this,N),this.count=(this.left?this.left.count:0)+(this.right?this.right.count:0)+this.leftPoints.length}else this.left?o(this,this.left):o(this,this.right);return n}for(var C=e.ge(this.leftPoints,A,g);C=0&&A[T][1]>=k;--T){var M=S(A[T]);if(M)return M}}function h(A,k){for(var S=0;Sthis.mid){if(this.right){var S=this.right.queryPoint(A,k);if(S)return S}return f(this.rightPoints,A,k)}else return h(this.leftPoints,k)},s.queryInterval=function(A,k,S){if(Athis.mid&&this.right){var T=this.right.queryInterval(A,k,S);if(T)return T}return kthis.mid?f(this.rightPoints,A,S):h(this.leftPoints,S)};function d(A,k){return A-k}function g(A,k){var S=A[0]-k[0];return S||A[1]-k[1]}function y(A,k){var S=A[1]-k[1];return S||A[0]-k[0]}function v(A){if(A.length===0)return null;for(var k=[],S=0;S>1],M=[],I=[],N=[],S=0;S[1,e],JOt=({width:e,marginRight:t})=>[-1,e-t],ZOt=({width:e,marginLeft:t,marginRight:n})=>[0,(t+e-n)/2],QOt=({marginTop:e})=>[1,e],tLt=({height:e,marginBottom:t})=>[-1,e-t],eLt=({height:e,marginTop:t,marginBottom:n})=>[0,(t+e-n)/2];function YJ(e){return typeof e=="string"?{anchor:e}:e}function nLt(e={},t={}){arguments.length===1&&([e,t]=HJ(e));let{anchor:n="left",padding:r=1,r:i=t.r}=YJ(e);switch(`${n}`.toLowerCase()){case"left":n=KOt;break;case"right":n=JOt;break;case"middle":n=ZOt;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return GJ("x","y",n,Tr(r),i,t)}function rLt(e={},t={}){arguments.length===1&&([e,t]=HJ(e));let{anchor:n="bottom",padding:r=1,r:i=t.r}=YJ(e);switch(`${n}`.toLowerCase()){case"top":n=QOt;break;case"bottom":n=tLt;break;case"middle":n=eLt;break;default:throw new Error(`unknown dodge anchor: ${n}`)}return GJ("y","x",n,Tr(r),i,t)}function HJ(e){const{anchor:t,padding:n,...r}=e,{r:i}=r;return[{anchor:t,padding:n,r:i},r]}function GJ(e,t,n,r,i,s){if(i!=null&&typeof i!="number"){let{channels:o,sort:a,reverse:l}=s;o=CR(o),o?.r===void 0&&(s={...s,channels:{...o,r:{value:i,scale:"r"}}}),a===void 0&&l===void 0&&(s.sort={channel:"-r"})}return gs(s,function(o,a,l,c,u,f){let{[t]:h,r:d}=l;if(!l[t])throw new Error(`missing channel: ${t}`);({[t]:h}=cb(l,c,f));const g=d?void 0:i!==void 0?Tr(i):this.r!==void 0?this.r:3;d&&(d=an(d.value,c[d.scale]||he,Float64Array));let[y,v]=n(u);const b=y?sLt:iLt,_=new Float64Array(h.length),x=d?A=>d[A]:()=>g;for(let A of a){const k=XOt();A=A.filter(d?T=>B2(h[T])&&Eu(d[T]):T=>B2(h[T]));const S=new Float64Array(2*A.length+2);for(const T of A){const M=x(T),I=y?M+r:0,N=h[T]-M,C=h[T]+M;let L=2;k.queryInterval(N-r,C+r,([,,$])=>{const D=_[$]-I,O=h[T]-h[$],B=r+(d?d[T]+d[$]:2*g),V=Math.sqrt(B*B-O*O);S[L++]=D-V,S[L++]=D+V});let F=S.slice(0,L);y&&(F=F.filter($=>$>=0));t:for(const $ of F.sort(b)){for(let D=0;De(t,r=>n[r]))}const lLt={mapIndex(e,t,n){const[r,i]=pi(e,o=>t[o]),s=i-r;for(const o of e)n[o]=t[o]===null?NaN:(t[o]-r)/s}},qF=sA((e,t)=>{for(let n=0;n{for(let n=e.length-1;n>=0;--n){const r=t[e[n]];if(Hi(r))return r}}),uLt={mapIndex(e,t,n){const r=XS(e,s=>t[s]),i=N1(e,s=>t[s]);for(const s of e)n[s]=t[s]===null?NaN:i?(t[s]-r)/i:0}},fLt=km(Yr),hLt=km(XS),dLt=km(Ov),pLt=km(Or),gLt=km(ml);function mLt(e,t){return XJ("x",e,t)}function yLt(e,t){return XJ("y",e,t)}function XJ(e,t,n={}){let r,i=1;if(typeof t=="number")i=t,r=(c,u)=>+c+u;else{if(typeof t=="string"){const c=t.startsWith("-")?-1:1;[t,i]=AR(t.replace(/^[+-]/,"")),i*=c}t=C3(t),r=(c,u)=>t.offset(c,u)}const s=`${e}1`,o=`${e}2`,a=Ac({[s]:c=>c.map(u=>r(u,i)),[o]:c=>c},n),l=a[o].transform;return a[o].transform=()=>{const c=l(),[u,f]=pi(c);return c.domain=i<0?[u,r(f,i)]:[r(u,i),f],c},a}function vLt(e,t={}){if(typeof e=="string")switch(e.toLowerCase()){case"first":return PC(t);case"last":return UC(t)}if(typeof e=="function")return uh(null,e,t);let n,r;for(n in e){if(r!==void 0)throw new Error("ambiguous selector; multiple inputs");r=bLt(e[n])}if(r===void 0)throw new Error(`invalid selector: ${e}`);return uh(n,r,t)}function bLt(e){if(typeof e=="function")return e;switch(`${e}`.toLowerCase()){case"min":return zC;case"max":return qC}throw new Error(`unknown selector: ${e}`)}function PC(e){return uh(null,_Lt,e)}function UC(e){return uh(null,wLt,e)}function KJ(e){return uh("x",zC,e)}function JJ(e){return uh("y",zC,e)}function ZJ(e){return uh("x",qC,e)}function QJ(e){return uh("y",qC,e)}function*_Lt(e){yield e[0]}function*wLt(e){yield e[e.length-1]}function*zC(e,t){yield Gxt(e,n=>t[n])}function*qC(e,t){yield mI(e,n=>t[n])}function uh(e,t,n){if(e!=null){if(n[e]==null)throw new Error(`missing channel: ${e}`);e=n[e]}const r=Mh(n);return Cl(n,(i,s)=>{const o=an(i,r),a=an(i,e),l=[];for(const c of s){const u=[];for(const f of o?wh(c,h=>o[h]).values():[c])for(const h of t(f,a))u.push(h);l.push(u)}return{data:i,facets:l}})}vr.prototype.plot=function({marks:e=[],...t}={}){return pC({...t,marks:[...e,this]})};const xLt=Object.freeze(Object.defineProperty({__proto__:null,Area:Q3,Arrow:ZK,BarX:SC,BarY:AC,Cell:tA,Contour:mJ,Density:bJ,Dot:eA,Frame:PK,Geo:xJ,Hexgrid:SJ,Image:AJ,Line:nA,Link:KK,Mark:vr,Raster:hJ,Rect:Z3,RuleX:VX,RuleY:WX,Text:V3,TickX:iJ,TickY:sJ,Tip:UK,Vector:W3,WaffleX:PJ,WaffleY:UJ,area:XM,areaX:o1,areaY:Vg,arrow:U$t,auto:Z$t,autoSpec:QK,axisFx:pK,axisFy:dK,axisX:oC,axisY:sC,barX:bd,barY:_d,bin:ld,binX:Af,binY:Ef,bollinger:Dd,bollingerX:y7t,bollingerY:v7t,boxX:_7t,boxY:w7t,cell:L0,cellX:j$t,cellY:V$t,centroid:wJ,circle:G$t,cluster:POt,column:Bo,contour:L7t,crosshair:F7t,crosshairX:B7t,crosshairY:P7t,delaunayLink:Z7t,delaunayMesh:Q7t,density:iOt,differenceX:aOt,differenceY:lOt,dodgeX:nLt,dodgeY:rLt,dot:Ch,dotX:Y$t,dotY:H$t,filter:JRt,find:hCt,formatIsoDate:kX,formatMonth:I8t,formatNumber:TX,formatWeekday:R8t,frame:dC,geo:LC,geoCentroid:cOt,graticule:hOt,gridFx:_K,gridFy:vK,gridX:bK,gridY:yK,group:PR,groupX:Qv,groupY:t1,groupZ:BR,hexagon:X$t,hexbin:dOt,hexgrid:mOt,hull:tOt,identity:he,image:wOt,indexOf:gi,initializer:gs,interpolateNearest:CC,interpolateNone:ZM,interpolatorBarycentric:RC,interpolatorRandomWalk:NC,legend:RNt,line:rA,lineX:a1,lineY:l1,linearRegressionX:IOt,linearRegressionY:ROt,link:JK,map:Ac,mapX:TC,mapY:kC,marks:qa,normalize:BC,normalizeX:oLt,normalizeY:aLt,numberInterval:BG,plot:pC,pointer:z3,pointerX:q3,pointerY:s1,raster:S7t,rect:hC,rectX:W2,rectY:Y2,reverse:ZRt,ruleX:lh,ruleY:ch,scale:r1,select:vLt,selectFirst:PC,selectLast:UC,selectMaxX:ZJ,selectMaxY:QJ,selectMinX:KJ,selectMinY:JJ,shiftX:mLt,shiftY:yLt,shuffle:QRt,sort:YG,sphere:fOt,spike:vNt,stackX:$K,stackX1:LNt,stackX2:DNt,stackY:OK,stackY1:FNt,stackY2:BNt,text:zg,textX:XX,textY:KX,tickX:oJ,tickY:aJ,timeInterval:ER,tip:zK,transform:Cl,tree:FJ,treeLink:kJ,treeNode:QM,utcInterval:k3,valueof:an,vector:oK,vectorX:aK,vectorY:lK,voronoi:eOt,voronoiMesh:nOt,waffleX:VOt,waffleY:WOt,window:iA,windowX:s7t,windowY:o7t},Symbol.toStringTag,{value:"Module"})),SLt=new Map([["style","style"],["width","width"],["height","height"],["margin","margin"],["marginLeft","marginLeft"],["marginRight","marginRight"],["marginTop","marginTop"],["marginBottom","marginBottom"],["align","align"],["aspectRatio","aspectRatio"],["axis","axis"],["inset","inset"],["grid","grid"],["label","label"],["padding","padding"],["xScale","x.type"],["xDomain","x.domain"],["xRange","x.range"],["xNice","x.nice"],["xInset","x.inset"],["xInsetLeft","x.insetLeft"],["xInsetRight","x.insetRight"],["xClamp","x.clamp"],["xRound","x.round"],["xAlign","x.align"],["xPadding","x.padding"],["xPaddingInner","x.paddingInner"],["xPaddingOuter","x.paddingOuter"],["xAxis","x.axis"],["xTicks","x.ticks"],["xTickSize","x.tickSize"],["xTickSpacing","x.tickSpacing"],["xTickPadding","x.tickPadding"],["xTickFormat","x.tickFormat"],["xTickRotate","x.tickRotate"],["xGrid","x.grid"],["xLine","x.line"],["xLabel","x.label"],["xLabelAnchor","x.labelAnchor"],["xLabelArrow","x.labelArrow"],["xLabelOffset","x.labelOffset"],["xFontVariant","x.fontVariant"],["xAriaLabel","x.ariaLabel"],["xAriaDescription","x.ariaDescription"],["xPercent","x.percent"],["xReverse","x.reverse"],["xZero","x.zero"],["xBase","x.base"],["xExponent","x.exponent"],["xConstant","x.constant"],["yScale","y.type"],["yDomain","y.domain"],["yRange","y.range"],["yNice","y.nice"],["yInset","y.inset"],["yInsetTop","y.insetTop"],["yInsetBottom","y.insetBottom"],["yClamp","y.clamp"],["yRound","y.round"],["yAlign","y.align"],["yPadding","y.padding"],["yPaddingInner","y.paddingInner"],["yPaddingOuter","y.paddingOuter"],["yAxis","y.axis"],["yTicks","y.ticks"],["yTickSize","y.tickSize"],["yTickSpacing","y.tickSpacing"],["yTickPadding","y.tickPadding"],["yTickFormat","y.tickFormat"],["yTickRotate","y.tickRotate"],["yGrid","y.grid"],["yLine","y.line"],["yLabel","y.label"],["yLabelAnchor","y.labelAnchor"],["yLabelArrow","y.labelArrow"],["yLabelOffset","y.labelOffset"],["yFontVariant","y.fontVariant"],["yAriaLabel","y.ariaLabel"],["yAriaDescription","y.ariaDescription"],["yPercent","y.percent"],["yReverse","y.reverse"],["yZero","y.zero"],["yBase","y.base"],["yExponent","y.exponent"],["yConstant","y.constant"],["facetMargin","facet.margin"],["facetMarginTop","facet.marginTop"],["facetMarginBottom","facet.marginBottom"],["facetMarginLeft","facet.marginLeft"],["facetMarginRight","facet.marginRight"],["facetGrid","facet.grid"],["facetLabel","facet.label"],["fxDomain","fx.domain"],["fxRange","fx.range"],["fxInset","fx.inset"],["fxInsetLeft","fx.insetLeft"],["fxInsetRight","fx.insetRight"],["fxRound","fx.round"],["fxAlign","fx.align"],["fxPadding","fx.padding"],["fxPaddingInner","fx.paddingInner"],["fxPaddingOuter","fx.paddingOuter"],["fxAxis","fx.axis"],["fxTicks","fx.ticks"],["fxTickSize","fx.tickSize"],["fxTickSpacing","fx.tickSpacing"],["fxTickPadding","fx.tickPadding"],["fxTickFormat","fx.tickFormat"],["fxTickRotate","fx.tickRotate"],["fxGrid","fx.grid"],["fxLine","fx.line"],["fxLabel","fx.label"],["fxLabelAnchor","fx.labelAnchor"],["fxLabelOffset","fx.labelOffset"],["fxFontVariant","fx.fontVariant"],["fxAriaLabel","fx.ariaLabel"],["fxAriaDescription","fx.ariaDescription"],["fxReverse","fx.reverse"],["fyDomain","fy.domain"],["fyRange","fy.range"],["fyInset","fy,inset"],["fyInsetTop","fy.insetTop"],["fyInsetBottom","fy.insetBottom"],["fyRound","fy.round"],["fyAlign","fy.align"],["fyPadding","fy.padding"],["fyPaddingInner","fy.paddingInner"],["fyPaddingOuter","fy.paddingOuter"],["fyAxis","fy.axis"],["fyTicks","fy.ticks"],["fyTickSize","fy.tickSize"],["fyTickSpacing","fy.tickSpacing"],["fyTickPadding","fy.tickPadding"],["fyTickFormat","fy.tickFormat"],["fyTickRotate","fy.tickRotate"],["fyGrid","fy.grid"],["fyLine","fy.line"],["fyLabel","fy.label"],["fyLabelAnchor","fy.labelAnchor"],["fyLabelOffset","fy.labelOffset"],["fyFontVariant","fy.fontVariant"],["fyAriaLabel","fy.ariaLabel"],["fyAriaDescription","fy.ariaDescription"],["fyReverse","fy.reverse"],["colorScale","color.type"],["colorDomain","color.domain"],["colorRange","color.range"],["colorClamp","color.clamp"],["colorN","color.n"],["colorNice","color.nice"],["colorScheme","color.scheme"],["colorInterpolate","color.interpolate"],["colorPivot","color.pivot"],["colorSymmetric","color.symmetric"],["colorLabel","color.label"],["colorPercent","color.percent"],["colorReverse","color.reverse"],["colorZero","color.zero"],["colorTickFormat","color.tickFormat"],["colorBase","color.base"],["colorExponent","color.exponent"],["colorConstant","color.constant"],["opacityScale","opacity.type"],["opacityDomain","opacity.domain"],["opacityRange","opacity.range"],["opacityClamp","opacity.clamp"],["opacityNice","opacity.nice"],["opacityLabel","opacity.label"],["opacityPercent","opacity.percent"],["opacityReverse","opacity.reverse"],["opacityZero","opacity.zero"],["opacityTickFormat","opacity.tickFormat"],["opacityBase","opacity.base"],["opacityExponent","opacity.exponent"],["opacityConstant","opacity.constant"],["symbolScale","symbol.type"],["symbolDomain","symbol.domain"],["symbolRange","symbol.range"],["rScale","r.type"],["rDomain","r.domain"],["rRange","r.range"],["rClamp","r.clamp"],["rNice","r.nice"],["rLabel","r.label"],["rPercent","r.percent"],["rZero","r.zero"],["rBase","r.base"],["rExponent","r.exponent"],["rConstant","r.constant"],["lengthScale","length.type"],["lengthDomain","length.domain"],["lengthRange","length.range"],["lengthClamp","length.clamp"],["lengthNice","length.nice"],["lengthPercent","length.percent"],["lengthZero","length.zero"],["lengthBase","length.base"],["lengthExponent","length.exponent"],["lengthConstant","length.constant"],["projectionType","projection.type"],["projectionParallels","projection.parallels"],["projectionPrecision","projection.precision"],["projectionRotate","projection.rotate"],["projectionDomain","projection.domain"],["projectionInset","projection.inset"],["projectionInsetLeft","projection.insetLeft"],["projectionInsetRight","projection.insetRight"],["projectionInsetTop","projection.insetTop"],["projectionInsetBottom","projection.insetBottom"],["projectionClip","projection.clip"]]);function ALt(e,t,n){for(let r=0;r{const s=n[i];if(s===G1){if(!i.endsWith("Domain"))throw new Error(`Unsupported fixed attribute: ${i}`);const o=i.slice(0,-6),a=t.scale(o);a?.domain&&e.setAttribute(i,n[`${o}Reverse`]?a.domain.slice().reverse():a.domain)}else throw new Error(`Unrecognized symbol: ${s}`)})}function RLt(e,t){const{marks:n}=t;rw("x",e,n),rw("y",e,n),rw("fx",e,n),rw("fy",e,n)}function rw(e,t,n){const r=t[e]||{};if(r.axis===null||r.label!==void 0)return;const i=n.map(o=>o.channelField(e)?.field);if(i.every(o=>o==null))return;let s;for(let o=0;othis.render())),this.synch.promise}async render(){this.pendingRender=!1;const t=await MLt(this),n=this.legends.flatMap(({legend:r,include:i})=>{const s=r.init(t);return i?s:[]});this.element.replaceChildren(t,...n),this.synch.resolve()}getAttribute(t){return this.attributes[t]}setAttribute(t,n,r){return JU(this.attributes[t],n)?(n===void 0?delete this.attributes[t]:this.attributes[t]=n,r?.silent||this.listeners?.get(t)?.forEach(i=>i(t,n)),!0):!1}addAttributeListener(t,n){const r=this.listeners||(this.listeners=new Map);return r.has(t)||r.set(t,new Set),r.get(t).add(n),this}removeAttributeListener(t,n){return this.listeners?.get(t)?.delete(n)}addParams(t,n){const{params:r}=this;for(const i of n)r.has(i)?r.get(i).push(t):(r.set(i,[t]),i.addEventListener("value",()=>Promise.allSettled(r.get(i).map(s=>s.initialize()))))}addMark(t){return t.setPlot(this,this.marks.length),this.marks.push(t),this.markset=null,this}get markSet(){return this.markset||(this.markset=new Set(this.marks))}addInteractor(t){return this.interactors.push(t),this}addLegend(t,n=!0){t.setPlot(this),this.legends.push({legend:t,include:n})}}function LLt(e,t,n){const r=e.getAttribute("aspectRatio");if(r==null)return;const i=e.getAttribute("xDomain"),s=e.getAttribute("yDomain");if(!i||!s)return;const o=Math.abs(i[1]-i[0]);return Math.abs(s[1]-s[0])*e.innerWidth()/(r*o)+t+n}function eZ(e){return typeof e!="string"?!1:(e=e.toLowerCase().trim(),e==="none"||e==="currentcolor"||e.startsWith("url(")&&e.endsWith(")")||e.startsWith("var(")&&e.endsWith(")")||rh(e)!==null)}const DLt=new Set(["offset","order","reverse","sort","label","anchor","curve","tension","marker","markerStart","markerMid","markerEnd","textAnchor","lineAnchor","lineHeight","textOverflow","monospace","fontFamily","fontSize","fontStyle","fontVariant","fontWeight","frameAnchor","strokeLinejoin","strokeLinecap","strokeMiterlimit","strokeDasharray","strokeDashoffset","mixBlendMode","shapeRendering","imageRendering","preserveAspectRatio","interpolate","crossOrigin","paintOrder","pointerEvents","target","select"]);function FLt(e){return DLt.has(e)}const BLt=new Set(["asterisk","circle","cross","diamond","diamond2","hexagon","plus","square","square2","star","times","triangle","triangle2","wye"]);function PLt(e){return BLt.has(`${e}`.toLowerCase())}const nZ=e=>e==="stroke"||e==="fill",ULt=e=>/opacity$/i.test(e),zLt=e=>e==="symbol",qLt=(e,t)=>e!=="sort"&&e!=="tip"&&t!=null&&!Array.isArray(t),pk=(e,t)=>({channel:e,field:t,as:CS(t)&&!lmt(t)?t.column:e}),gk=(e,t)=>({channel:e,value:t}),o5=e=>Array.isArray(e);let Nh=class extends gp{constructor(t,n,r,i={}){super(n?.options?.filterBy),this.type=t,this.reqs=i,this.source=n;const s=this.channels=[],o=this.detail=new Set,a=this.params=new Set;o5(n)?this.data=Xd(n):Ca(n?.table)&&a.add(n.table);const l=(c,u)=>{const f=typeof u;if(c==="channels")for(const h in u)o.add(h),l(h,u[h]);else if(f==="function"&&u[OY]){const h=u(this,c);for(const d in h)l(d,h[d])}else if(f==="string")FLt(c)||nZ(c)&&eZ(u)||zLt(c)&&PLt(u)?s.push(gk(c,u)):s.push(pk(c,Tt(u)));else if(x1(u)){const h=gk(c,u.value);s.push(h),u.addEventListener("value",d=>(h.value=d,this.update()))}else pc(u)?(svt(u).forEach(h=>a.add(h)),s.push(pk(c,u))):f==="object"&&qLt(c,u)?s.push(pk(c,u)):u!==void 0&&s.push(gk(c,u))};for(const c in r)l(c,r[c])}setPlot(t,n){this.plot=t,this.index=n,t.addParams(this,this.params),this.source?.table&&this.queryPending()}sourceTable(){const t=this.source?.table;return t?Ca(t)?t.value:t:null}hasOwnData(){return this.source==null||o5(this.source)}hasFieldInfo(){return!!this._fieldInfo}channel(t){return this.channels.find(n=>n.channel===t)}channelField(t,{exact:n=!1}={}){const r=n?this.channel(t):this.channels.find(i=>i.channel.startsWith(t));return r?.field?r:null}async prepare(){if(this.hasOwnData())return null;const{channels:t,reqs:n}=this,r=new Map;for(const{channel:a,field:l}of t){if(!l)continue;const c=l.stats?.stats||[],u=l.stats?.column??l,f=r.get(u)??r.set(u,new Set).get(u);c.forEach(h=>f.add(h)),n[a]?.forEach(h=>f.add(h))}const i=this.sourceTable(),s=await lI(this.coordinator,Array.from(r,([a,l])=>({table:i,column:a,stats:Array.from(l)}))),o=Object.fromEntries(s.map(a=>[a.column,a]));for(const a of this.channels){const{field:l}=a;l&&Object.assign(a,o[l.stats?.column??l])}this._fieldInfo=!0}query(t=[]){return this.hasOwnData()?null:jC(this.channels,this.sourceTable()).where(t)}queryPending(){return this.plot.pending(this),this}queryResult(t){return this.data=Xd(t),this}update(){return this.plot.update(this)}plotSpecs(){const{type:t,data:n,detail:r,channels:i}=this;return rZ(t,r,i,n)}};function ga(e,t){const n=t?.[e.as]??e.as;return Object.hasOwn(e,"value")?e.value:nZ(e.channel)?{value:n,scale:"color"}:ULt(e.channel)?{value:n,scale:"opacity"}:n}function jC(e,t,n=[]){const r=Pt.from({source:t}),i=new Set;let s=!1;for(const o of e){const{channel:a,field:l,as:c}=o;if(!n.includes(a)){if(a==="orderby")r.orderby(o.value??l);else if(l){if(bh(l))s=!0;else{if(i.has(c))continue;i.add(c)}r.select({[c]:l})}}}return s&&r.groupby(Array.from(i)),r}function rZ(e,t,n,r,i={}){const{numRows:s,values:o,columns:a}=r??{},l={};for(const f of n){const h=t.has(f.channel)?l:i;h[f.channel]=ga(f,a)}return t.size&&(i.channels=l),[{type:e,data:o??(r?{length:s}:null),options:i}]}function Z2(e,t){const{plot:n}=e;let r=n.getAttribute(`${t}Scale`);if(!r){const{type:s}=e.channelField(t);r=s==="date"?"time":"linear"}const i={type:r};switch(r){case"log":i.base=n.getAttribute(`${t}Base`)??10;break;case"pow":i.exponent=n.getAttribute(`${t}Exponent`)??1;break;case"symlog":i.constant=n.getAttribute(`${t}Constant`)??1;break}return R6(i)}function fh(e,t,n,r,i=1,s){const{field:o}=e.channelField(t);s=s??o;const{type:a,apply:l,sqlApply:c}=Z2(e,t),u=!!e.plot.getAttribute(`${t}Reverse`),[f,h]=r.map(y=>l(y)),d=c(s),g=a==="time"||a==="utc"?d:s;return[pvt(d,f,h,n-i,u),g]}const iZ={x:["min","max"]},sZ={y:["min","max"]},oZ={...iZ,...sZ};function aZ(e,t,n,r,i){const{plot:s}=e,o=s.getAttribute(r),a=s.getAttribute(i);if(Array.isArray(o)&&!o[_l])return o;{const{column:l,min:c,max:u}=e.channelField(n),f=lZ(t,l)||(a?Vu().domain([c,u]).nice().domain():[c,u]);return o!==G1&&(f[_l]=!0),s.setAttribute(r,f,{silent:!0}),f}}function gb(e,t){return aZ(e,t,"x","xDomain","xNice")}function mb(e,t){return aZ(e,t,"y","yDomain","yNice")}function lZ(e,t){if(!e)return;let n,r;return[e].flat().forEach(i=>Yd(i,s=>{if(s instanceof EU&&`${s.expr}`===t){const o=(s.extent??[]).map(a=>a?.value??a);(n==null||o[0]r)&&(r=o[1])}})),n!=null&&r!=null&&n!==r?[n,r]:void 0}class jLt extends Nh{constructor(t,n,r){const i=t.endsWith("X")?"y":t.endsWith("Y")?"x":null,s=i?{[i]:["count","min","max"]}:void 0;super(t,n,r,s),this.dim=i}query(t=[]){const{plot:n,dim:r,source:i}=this;let s=i.options?.optimize;const o=super.query(t);if(!r)return o;const a=r==="x"?"y":"x",l=this.channelField(a,{exact:!0})?.as,{field:c,as:u,type:f,count:h,min:d,max:g}=this.channelField(r),y=f==="date"||f==="number",v=r==="x"?n.innerWidth():n.innerHeight();if(s??=h/v>10,s&&y&&l){const[b,_]=lZ(t,c)||[d,g],[x]=fh(this,r,v,[b,_],1,u),A=o._select.map(k=>k.alias).filter(k=>k!==u&&k!==l);return $vt(o,x,u,l,A)}else return o.orderby(u)}}function a5(e,t=[]){return new t.constructor(e)}function VLt(e,t,n,r,i){if(!t?.length)return{numRows:0,columns:{}};const s=t.length,o={},a=[];if(i?.length){const l=new Int32Array(s),c=i.map(h=>r[h]),u={};for(let h=0;hg[h]);l[h]=u[d]??=a.push(d)-1}for(let h=0;hd[h]);const f=o._grid=a.map(()=>a5(e,n));for(let h=0;hr[d]),u={},f=[],h=new Int32Array(a);if(s?.length){const d=s.map(y=>r[y]),g={};for(let y=0;yb[y]);h[y]=g[v]??=f.push(v)-1}for(let y=0;yv[y])}else f.push([]);if(o){const d=n.map(v=>v%e),g=n.map(v=>Math.floor(v/e)),y=f.map(()=>[]);for(let v=0;v{const _=c[b];u[v]=f.map((x,A)=>o(y[A],e,t,d,g,_))})}else i.forEach((d,g)=>{const y=c[g],v=u[d]=f.map(()=>a5(l,y));for(let b=0;b{const i=r.length;for(let s=0;sn&&(n=o)}}),Number.isFinite(t)&&Number.isFinite(n)?[t,n]:[0,1]}function YLt(e){const t=new um;return e.forEach(n=>{const r=n.length;for(let i=0;i0;d-=2)f[d]+=c[g]*f[d-2]-c[g+1]*f[d-1],f[d+1]+=c[g]*f[d-1]+c[g+1]*f[d-2];for(d=0;d<=g;d+=2)f[d]+=i[g]*h[d]-i[g+1]*h[d+1],f[d+1]+=i[g]*h[d+1]+i[g+1]*h[d];for(h[g+2]=c[g]*h[g]-c[g+1]*h[g+1],h[g+3]=c[g]*h[g+1]+c[g+1]*h[g],d=g;d>0;d-=2)h[d]+=c[g]*h[d-2]-c[g+1]*h[d-1],h[d+1]+=c[g]*h[d-1]+c[g+1]*h[d-2]}for(g=0;g<4;++g)d=g<<1,t[g]=f[d]/u,e[g+1]=h[d+2]}function GLt(e,t,n,[r,i]){const s=new Float64Array(Math.max(r,i)),o=new Float64Array(Math.max(r,i)),a=new Float64Array(5),l=new Float64Array(n.length);for(let c=0,u=0;c=0&&g(this.bandwidth=h,this.grids?this.convolve().update():null)),this.interpolate=es(s,h=>(this.interpolate=h,this.requestUpdate())),this.pixelSize=es(o,h=>(this.pixelSize=h,this.requestUpdate())),this.pad=es(a,h=>(this.pad=h,this.requestUpdate())),this.width=es(l,h=>(this.width=h,this.requestUpdate())),this.height=es(c,h=>(this.height=h,this.requestUpdate()))}setPlot(t,n){const r=()=>{this.hasFieldInfo()&&this.requestUpdate()};t.addAttributeListener("xDomain",r),t.addAttributeListener("yDomain",r),super.setPlot(t,n)}get filterStable(){const t=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return t&&n&&!t[_l]&&!n[_l]}query(t=[]){const{interpolate:n,pad:r,channels:i,densityMap:s}=this,[o,a]=this.extentX=gb(this,t),[l,c]=this.extentY=mb(this,t),[u,f]=this.bins=this.binDimensions(),[h,d]=fh(this,"x",u,[o,a],r),[g,y]=fh(this,"y",f,[l,c],r),v=r?[$s(d,[+o,+a]),$s(y,[+l,+c])]:[ac(+o,d),hi(d,+a),ac(+l,y),hi(y,+c)],b=Pt.from(this.sourceTable()).where(t.concat(v)),_=this.groupby=[],x={};for(const k of i)if(Object.hasOwn(k,"field")){const{as:S,channel:T,field:M}=k;bh(M)?(x[T]=M,s[T]=!0):T==="weight"?x[Yl]=Er(M):T!=="x"&&T!=="y"&&(b.select({[S]:M}),_.push(S))}const A=this.aggr=Object.keys(x);if(x.density&&A.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(A.length||(A.push(Yl),x[Yl]=or()),n==="linear"){if(A.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!x[Yl])throw new Error("Linear binning not applicable to custom aggregates.");const k=I6(x[Yl])[0];return Cvt(b,h,g,k,u,_)}else return gvt(b,h,g,x,u,_)}binDimensions(){const{plot:t,pixelSize:n,width:r,height:i}=this;return[r??Math.round(t.innerWidth()/n),i??Math.round(t.innerHeight()/n)]}queryResult(t){const[n,r]=this.bins,i=JLt(this.interpolate),{columns:s}=Xd(t);return this.grids0=WLt(n,r,s.index,s,this.aggr,this.groupby,i),this.convolve()}convolve(){const{aggr:t,bandwidth:n,bins:r,grids0:i,plot:s}=this;if(this.grids=i,n>0&&i.numRows>0){const o=t.length===1?t[0]:t.includes(Yl)?Yl:null;if(!o)return console.warn("No compatible grid found for smoothing."),this;const a=i.columns[o],l=s.innerWidth(),c=s.innerHeight(),[u,f]=r,h=a.some(y=>y.some(v=>v<0)),d=l5(n*(u-1)/l,h),g=l5(n*(f-1)/c,h);this.grids={numRows:i.numRows,columns:{...i.columns,[o]:a.map(y=>GLt(d,g,y,r))}}}return this}}function KLt(e){const t={};for(const n in e)e[n]==="density"&&(delete e[n],t[n]=!0);return t}function JLt(e="none"){if(typeof e=="function")return e;switch(e.toLowerCase()){case"none":case"linear":return;case"nearest":return CC;case"barycentric":return RC();case"random-walk":return NC()}throw new Error(`invalid interpolate: ${e}`)}class ZLt extends oA{constructor(t,n){const{thresholds:r=10,...i}=n;super("geo",t,{bandwidth:20,interpolate:"linear",pixelSize:2,...i}),this.thresholds=es(r,s=>(this.thresholds=s,this.grids?this.contours().update():null))}convolve(){return super.convolve().contours()}contours(){const{bins:t,densityMap:n,grids:r,thresholds:i,plot:s}=this,{numRows:o,columns:a}=r;let l=i,c;if(Array.isArray(l))c=l;else{const[,C]=VC(a.density);c=Array.from({length:l-1},(L,F)=>C*(F+1)/l)}(n.fill||n.stroke)&&this.plot.getAttribute("colorScale")!=="log"&&this.plot.setAttribute("colorZero",!0);const[u,f]=t,[h,d]=s.getAttribute("xDomain"),[g,y]=s.getAttribute("yDomain"),v=(d-h)/u,b=(y-g)/f,_=+h,x=+g,A=C=>_+C*v,k=C=>x+C*b,S=l2().size(t),T=this.contourData=Array(o*c.length),{density:M,...I}=a,N=Object.entries(I);for(let C=0,L=0;C(D[O]=B[C],D),{});for(let D=0;Dn)}function cZ(e,t){const n=t.reduce((i,s,o)=>(i[s]=o,i),{}),r=WC(e.length);return r.sort((i,s)=>n[e[i]]-n[e[s]]),r}function uZ(e,t){if(typeof document<"u"){const n=document.createElement("canvas");return n.setAttribute("width",e),n.setAttribute("height",t),n}throw new Error("Can not create a canvas instance.")}function tDt(e=1){const t=255*e|0;return(n,r,i)=>{for(let s=0,o=0;s{for(let o=0,a=0;o{for(let c=0,u=0;c{if(u.map)for(let f=0,h=0;f{for(let u=0,f=0;u{this.hasFieldInfo()&&this.rasterize()};t.addAttributeListener("schemeColor",r),super.setPlot(t,n)}convolve(){return super.convolve().rasterize()}rasterize(){const{bins:t,grids:n}=this,[r,i]=t,{numRows:s,columns:o}=n,{canvas:a,ctx:l,img:c}=cDt(this,r,i),{alpha:u,alphaProp:f,color:h,colorProp:d}=fZ(this),g=o[f]??[],y=o[d]??[],v=s>1&&d&&this.groupby?.includes(d)?cZ(y,this.plot.getAttribute("colorDomain")):WC(s);return this.data={numRows:s,columns:{src:Array.from({length:s},(b,_)=>(h?.(c.data,r,i,y[v[_]]),u?.(c.data,r,i,g[v[_]]),l.putImageData(c,0,0),a.toDataURL()))}},this}plotSpecs(){const{type:t,plot:n,data:{numRows:r,columns:i}}=this,s={src:i.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:t,data:{length:r},options:s}]}}class sDt extends YC{constructor(t,n){super(t,{bandwidth:20,interpolate:"linear",pixelSize:2,...n})}}function fZ(e){const{aggr:t,densityMap:n,groupby:r,plot:i}=e,s=t.includes(Yl),o=t.includes("fillOpacity"),a=e.channel("fill"),l=e.channel("fillOpacity");if(t.length>2||s&&o)throw new Error("Invalid raster encodings. Try dropping an aggregate?");if(r.includes(l?.as))throw new Error("Raster fillOpacity must be an aggregate or constant.");const c=n.fill||t.includes("fill")?"grid":r.includes(a?.as)?"group":eZ(a?.value)?a.value:s&&i.getAttribute("colorScheme")?"grid":void 0,u=n.fillOpacity||t.includes("fillOpacity")?"grid":typeof l?.value=="number"?l.value:s&&c!=="grid"?"grid":void 0;if(c!=="grid"&&u!=="grid")throw new Error("Raster mark missing density values.");const f=a?.as??(c==="grid"?Yl:null),h=l?.as??(u==="grid"?Yl:null),d=c!=="grid"&&c!=="group"?nDt(c):aDt(e,f),g=u!=="grid"?tDt(u):oDt(e,h);return{alphaProp:h,colorProp:f,alpha:g,color:d}}function oDt(e,t){const{plot:n,grids:r}=e,i=n.getAttribute("opacityDomain"),s=i===G1,o=i?.[_l],a=!s&&!o&&i||VC(r.columns[t]);(s||o||!i)&&(s||(a[_l]=!0),n.setAttribute("opacityDomain",a));const l=r1({opacity:{type:n.getAttribute("opacityScale"),domain:a,range:n.getAttribute("opacityRange"),clamp:n.getAttribute("opacityClamp"),nice:n.getAttribute("opacityNice"),reverse:n.getAttribute("opacityReverse"),zero:n.getAttribute("opacityZero"),base:n.getAttribute("opacityBase"),exponent:n.getAttribute("opacityExponent"),constant:n.getAttribute("opacityConstant")}});return eDt(l)}function aDt(e,t){const{plot:n,grids:r}=e,i=r.columns[t]??[],s=!i[0]?.map,o=s||Array.isArray(i[0]),a=n.getAttribute("colorDomain"),l=a===G1,c=a?.[_l],u=!l&&!c&&a||(s?i.slice().sort(Yn):o?YLt(i):VC(i));(l||c||!a)&&(l||(u[_l]=!0),n.setAttribute("colorDomain",u));const f=r1({color:{type:n.getAttribute("colorScale"),domain:u,range:n.getAttribute("colorRange"),clamp:n.getAttribute("colorClamp"),n:n.getAttribute("colorN"),nice:n.getAttribute("colorNice"),reverse:n.getAttribute("colorReverse"),scheme:n.getAttribute("colorScheme"),interpolate:n.getAttribute("colorInterpolate"),pivot:n.getAttribute("colorPivot"),symmetric:n.getAttribute("colorSymmetric"),zero:n.getAttribute("colorZero"),base:n.getAttribute("colorBase"),exponent:n.getAttribute("colorExponent"),constant:n.getAttribute("colorConstant")}});if(o)return rDt(f);{const h=r1({x:{type:lDt(f.type),domain:f.domain,reverse:f.reverse,range:[0,1],clamp:f.clamp,base:f.base,exponent:f.exponent,constant:f.constant}});return iDt(1024,f,h.apply)}}function lDt(e){return e.endsWith("symlog")?"symlog":e.endsWith("log")?"log":e.endsWith("pow")?"pow":e.endsWith("sqrt")?"sqrt":e==="diverging"?"linear":e}function cDt(e,t,n){if(!e.image||e.image.w!==t||e.image.h!==n){const r=uZ(t,n),i=r.getContext("2d",{willReadFrequently:!0}),s=i.getImageData(0,0,t,n);e.image={canvas:r,ctx:i,img:s,w:t,h:n}}return e.image}class uDt extends YC{constructor(t,n){const{normalize:r=!0,...i}=n;super(t,i),this.normalize=es(r,s=>(this.normalize=s,this.requestUpdate()))}query(t=[]){const{channels:n,normalize:r,pad:i}=this,[s,o]=this.bins=this.binDimensions(),[a]=fh(this,"x",s,gb(this,t),i),[l]=fh(this,"y",o,mb(this,t),i),c=Pt.from(this.sourceTable()).where(fDt(this,t));this.aggr=["density"];const u=this.groupby=[],f=[];for(const h of n)if(Object.hasOwn(h,"field")){const{channel:d,field:g}=h;d==="z"?(c.select({[d]:g}),f.push("z")):d!=="x"&&d!=="y"&&(c.select({[d]:g}),u.push(d))}return Nvt(c,a,l,f,s,o,u,r)}}function fDt(e,t){if(Array.isArray(t)&&!t.length)return t;const n=e.channelField("x").column,r=e.channelField("y").column,i=o=>{const a=`${o.expr}`;return o.type!=="BETWEEN"||a!==n&&a!==r},s=o=>o.op==="AND"?Si(o.clauses.filter(a=>i(a))):o;return Array.isArray(t)?t.filter(o=>i(o)).map(o=>s(o)):s(t)}const hDt={fill:1,stroke:1,z:1};class hZ extends Nh{constructor(t,n,r){const{bins:i=1024,bandwidth:s=20,normalize:o=!1,stack:a=!1,...l}=r,c=t.endsWith("X")?"y":"x";super(t,n,l,c==="x"?iZ:sZ),this.dim=c,this.bins=es(i,u=>(this.bins=u,this.requestUpdate())),this.bandwidth=es(s,u=>(this.bandwidth=u,this.grids?this.convolve().update():null)),this.normalize=es(o,u=>(this.normalize=u,this.convolve().update())),this.stack=es(a,u=>(this.stack=u,this.update()))}get filterStable(){const t=this.dim==="x"?"xDomain":"yDomain",n=this.plot.getAttribute(t);return n&&!n[_l]}query(t=[]){if(this.hasOwnData())throw new Error("Density1DMark requires a data source");const{bins:n,channels:r,dim:i}=this,s=this.extent=(i==="x"?gb:mb)(this,t),[o,a]=fh(this,i,n,s),l=jC(r,this.sourceTable(),[i]).where(t.concat($s(a,s))),c=this.channelField("weight")?"weight":null,u=this.groupby=r.flatMap(f=>hDt[f.channel]&&f.field?f.as:[]);return Rvt(l,o,c,u)}queryResult(t){const n=Xd(t).columns;return this.grids=VLt(this.bins,n.index,n.density,n,this.groupby),this.convolve()}convolve(){const{bins:t,bandwidth:n,normalize:r,dim:i,grids:s,groupby:o,plot:a,extent:[l,c]}=this,u=s.columns,f=s.numRows,h=this.channelField(i).as,d=i==="x"?"y":"x",g=i==="x"?a.innerWidth():a.innerHeight(),y=u._grid.some(T=>T.some(M=>M<0)),v=l5(n*(t-1)/g,y),b=+l,_=(c-b)/(t-1),x=t*f,A=new Float64Array(x),k=new Float64Array(x),S=o.reduce((T,M)=>(T[M]=Array(x),T),{});for(let T=0,M=0;MS[L].fill(u[L][M],T,T+t));const I=u._grid[M],N=c5(v,I,t),C=1/dDt(I,N,_,r);for(let L=0;La.apply(v)),[f,h]=i.map(v=>l.apply(v)),d=(u-c)/(s-n),g=(h-f)/(o-n),y=n?0:.5;return this.data=gDt(this.grids,t,c,f,d,g,a.invert,l.invert,y),this}plotSpecs(){const{type:t,channels:n,densityMap:r,data:{numRows:i,columns:s}}=this,o={};for(const a of n){const{channel:l}=a;o[l]=l==="x"||l==="y"?s[l]:ga(a,s)}for(const a in r)r[a]&&(o[a]=s.density);return[{type:t,data:{length:i},options:o}]}}function gDt(e,t,n,r,i,s,o,a,l){const c=1/(i*s),[u,f]=t,h=u*f,d=h*e.numRows,g=new Float64Array(d),y=new Float64Array(d),v=new Float64Array(d),b={x:g,y,density:v},{density:_,...x}=e.columns;for(const k in x)b[k]=new x[k].constructor(d);let A=0;for(let k=0;k=1)return 1;for(a=Math.log(t/(t+n)),l=Math.log(n/(t+n)),c=Math.exp(t*a)/t,u=Math.exp(n*l)/n,d=c+u,e=1&&(h=.5*(h+c+1)),Math.abs(c)0)break}return h}function yDt(e,t,n){var r=e===0||e===1?0:Math.exp(ig(t+n)-ig(t)-ig(n)+t*Math.log(e)+n*Math.log(1-e));return e<0||e>1?0:e<(t+1)/(t+n+2)?r*jF(e,t,n)/t:1-r*jF(1-e,n,t)/n}function jF(e,t,n){var r=1e-30,i=1,s=t+n,o=t+1,a=t-1,l=1,c=1-s*e/o,u,f,h,d;for(Math.abs(c).5?n:-n}function bDt(e){let t=-Math.log((1-e)*(1+e)),n;return t<6.25?(t-=3.125,n=-364441206401782e-35,n=-16850591381820166e-35+n*t,n=128584807152564e-32+n*t,n=11157877678025181e-33+n*t,n=-1333171662854621e-31+n*t,n=20972767875968562e-33+n*t,n=6637638134358324e-30+n*t,n=-4054566272975207e-29+n*t,n=-8151934197605472e-29+n*t,n=26335093153082323e-28+n*t,n=-12975133253453532e-27+n*t,n=-5415412054294628e-26+n*t,n=10512122733215323e-25+n*t,n=-4112633980346984e-24+n*t,n=-29070369957882005e-24+n*t,n=42347877827932404e-23+n*t,n=-13654692000834679e-22+n*t,n=-13882523362786469e-21+n*t,n=.00018673420803405714+n*t,n=-.000740702534166267+n*t,n=-.006033670871430149+n*t,n=.24015818242558962+n*t,n=1.6536545626831027+n*t):t<16?(t=Math.sqrt(t)-3.25,n=22137376921775787e-25,n=9075656193888539e-23+n*t,n=-27517406297064545e-23+n*t,n=18239629214389228e-24+n*t,n=15027403968909828e-22+n*t,n=-4013867526981546e-21+n*t,n=29234449089955446e-22+n*t,n=12475304481671779e-21+n*t,n=-47318229009055734e-21+n*t,n=6828485145957318e-20+n*t,n=24031110387097894e-21+n*t,n=-.0003550375203628475+n*t,n=.0009532893797373805+n*t,n=-.0016882755560235047+n*t,n=.002491442096107851+n*t,n=-.003751208507569241+n*t,n=.005370914553590064+n*t,n=1.0052589676941592+n*t,n=3.0838856104922208+n*t):Number.isFinite(t)?(t=Math.sqrt(t)-5,n=-27109920616438573e-27,n=-2555641816996525e-25+n*t,n=15076572693500548e-25+n*t,n=-3789465440126737e-24+n*t,n=761570120807834e-23+n*t,n=-1496002662714924e-23+n*t,n=2914795345090108e-23+n*t,n=-6771199775845234e-23+n*t,n=22900482228026655e-23+n*t,n=-99298272942317e-20+n*t,n=4526062597223154e-21+n*t,n=-1968177810553167e-20+n*t,n=7599527703001776e-20+n*t,n=-.00021503011930044477+n*t,n=-.00013871931833623122+n*t,n=1.0103004648645344+n*t,n=4.849906401408584+n*t):n=1/0,n*e}class dZ extends Nh{constructor(t,n,r){const i=t.endsWith("X")?"y":"x",{ci:s=.95,...o}=r;super(t,n,o),this.dim=i,this.field=this.channelField(i).field,this.channels=this.channels.filter(a=>a.channel!==i),this.ci=es(s,a=>(this.ci=a,this.update()))}query(t=[]){const{channels:n,field:r}=this,i=n.concat([{field:DS(r),as:"__avg__"},{field:dr(OU(r),xv(or(r))),as:"__se__"}]);return jC(i,this.sourceTable()).where(t)}queryResult(t){return this.data=Xd(t),this}plotSpecs(){const{type:t,dim:n,detail:r,data:i,ci:s,channels:o}=this,a=Math.SQRT2*bDt(s),{columns:{__avg__:l,__se__:c}}=i,u={[`${n}1`]:l.map((f,h)=>f-a*c[h]),[`${n}2`]:l.map((f,h)=>f+a*c[h])};return rZ(t,r,o,i,u)}}const _Dt="geom";class wDt extends Nh{constructor(t,n={},r){!o5(t)&&!n?.geometry&&(n.geometry=FU(_Dt)),super("geo",t,n,r)}queryResult(t){super.queryResult(t);const n=this.channelField("geometry")?.as;if(n){const{columns:r}=this.data;typeof r[n][0]=="string"&&(r[n]=r[n].map(i=>JSON.parse(i)))}return this}}class xDt extends Nh{constructor(t,n){const{type:r="hexagon",binWidth:i=20,...s}=n;super(r,t,{r:i/2,clip:!0,...s},oZ),this.binWidth=es(i,o=>(this.binWidth=o,this.requestUpdate()))}get filterStable(){const t=this.plot.getAttribute("xDomain"),n=this.plot.getAttribute("yDomain");return t&&n&&!t[_l]&&!n[_l]}query(t=[]){if(this.hasOwnData())return null;const{plot:n,binWidth:r,channels:i}=this;let s,o;const a=new Set,l={};for(const N of i)if(N.channel!=="orderby"){if(N.channel==="x")s=N;else if(N.channel==="y")o=N;else if(Object.hasOwn(N,"field")){const{as:C,field:L}=N;l[C]=L,bh(L)||a.add(C)}}const[c,u]=gb(this,t),[f,h]=mb(this,t),d=.5-n.getAttribute("marginLeft"),g=0-n.getAttribute("marginTop"),y=ks(r),v=ks(r*(1.5/Math.sqrt(3))),b=ks(n.innerWidth()/(u-c)),_=ks(n.innerHeight()/(h-f)),x="_x",A="_y",k="_px",S="_py",T="_pi",M="_pj",I="_tt";return Pt.select({[s.as]:tr(ks(c),dr(tr(ze(tr(x,ze(.5,YE(A,1))),y),d),b)),[o.as]:Ue(ks(h),dr(tr(ze(A,v),g),_)),...l}).groupby(x,A,...a).from(Pt.select({[S]:dr(Ue(ze(_,Ue(h,o.field)),g),v),[M]:wi(Sv(S)),[k]:Ue(dr(Ue(ze(b,Ue(s.field,c)),d),y),ze(.5,YE(M,1))),[T]:wi(Sv(k)),[I]:Si(_a(ze(As(Ue(S,M)),3),1),_a(tr(os(Ue(k,T),2),os(Ue(S,M),2)),tr(os(Ue(Ue(k,T),ze(.5,no(hi(k,T),-1,1))),2),os(Ue(Ue(S,M),no(hi(S,M),-1,1)),2)))),[x]:no(I,wi(tr(tr(T,no(hi(k,T),-.5,.5)),no(A1(YE(M,1),0),.5,-.5))),T),[A]:no(I,wi(tr(M,no(hi(S,M),-1,1))),M)},"*").from(this.sourceTable()).where(gc(s.field),gc(o.field),t))}}class SDt extends oA{constructor(t,n){const{origin:r=[0,0],dim:i="xy",...s}=n;super("image",t,s),this.image=null,this.origin=r,this.tileX=i.toLowerCase().includes("x"),this.tileY=i.toLowerCase().includes("y")}setPlot(t,n){const r=()=>{this.hasFieldInfo()&&this.rasterize()};t.addAttributeListener("schemeColor",r),super.setPlot(t,n)}requestQuery(){return this.requestTiles()}query(t=[]){return this._filter=t,null}tileQuery(t){const{interpolate:n,pad:r,channels:i,densityMap:s}=this,[[o,a],[l,c]]=t,[u,f]=this.bins,[h,d]=fh(this,"x",u,[o,a],r),[g,y]=fh(this,"y",f,[l,c],r),v=r?[$s(d,[+o,+a]),$s(y,[+l,+c])]:[ac(+o,d),hi(d,+a),ac(+l,y),hi(y,+c)],b=Pt.from(this.sourceTable()).where(v),_=this.groupby=[],x={};for(const k of i)if(Object.hasOwn(k,"field")){const{as:S,channel:T,field:M}=k;M.aggregate?(x[T]=M,s[T]=!0):T==="weight"?x.density=Er(M):T!=="x"&&T!=="y"&&(b.select({[S]:M}),_.push(S))}const A=this.aggr=Object.keys(x);if(x.density&&A.length>1)throw new Error("Weight option can not be used with custom aggregates.");if(A.length||(A.push("density"),x.density=or()),n==="linear"){if(A.length>1)throw new Error("Linear binning not applicable to multiple aggregates.");if(!x.density)throw new Error("Linear binning not applicable to custom aggregates.");return MDt(b,h,g,x.density,u,_)}else return kDt(b,h,g,x,u,_)}async requestTiles(){const t=kl();this.prefetch&&t.cancel(this.prefetch);const{pad:n,tileX:r,tileY:i,origin:[s,o]}=this,[a,l]=this.bins=this.binDimensions(),[c,u]=gb(this,this._filter),[f,h]=mb(this,this._filter),d=u-c,g=h-f,y=Math.floor((c-s)*(a-n)/d),v=Math.floor((f-o)*(l-n)/g),b=(C,L)=>[[s+C*d,s+(C+1)*d],[o+L*g,o+(L+1)*g]],_=Math.floor((c-s)/d),x=r?VF((u-s)/d):_,A=Math.floor((f-o)/g),k=i?VF((h-o)/g):A,S=[];for(let C=_;C<=x;++C)for(let L=A;L<=k;++L)S.push([C,L]);const T=S.map(([C,L])=>t.query(this.tileQuery(b(C,L)))),M=[];if(r)for(let C=A;C<=k;++C)M.push([x+1,C]),M.push([_-1,C]);if(i){const C=r?_-1:_,L=r?x+1:x;for(let F=C;F<=L;++F)M.push([F,k+1]),M.push([F,A-1])}this.prefetch=M.map(([C,L])=>t.prefetch(this.tileQuery(b(C,L))));const I=await Promise.all(T),N=ADt(a,l,y,v,S,I);this.grids0={numRows:N.length,columns:{density:[N]}},this.convolve().update()}convolve(){return super.convolve().rasterize()}rasterize(){const{bins:t,grids:n}=this,[r,i]=t,{numRows:s,columns:o}=n,{canvas:a,ctx:l,img:c}=TDt(this,r,i),{alpha:u,alphaProp:f,color:h,colorProp:d}=fZ(this),g=o[f]??[],y=o[d]??[],v=s>1&&d&&this.groupby?.includes(d)?cZ(y,this.plot.getAttribute("colorDomain")):WC(s);return this.data={numRows:s,columns:{src:Array.from({length:s},(b,_)=>(h?.(c.data,r,i,y[v[_]]),u?.(c.data,r,i,g[v[_]]),l.putImageData(c,0,0),a.toDataURL()))}},this}plotSpecs(){const{type:t,plot:n,data:{numRows:r,columns:i}}=this,s={src:i.src,width:n.innerWidth(),height:n.innerHeight(),preserveAspectRatio:"none",imageRendering:this.channel("imageRendering")?.value,frameAnchor:"middle"};return[{type:t,data:{length:r},options:s}]}}function ADt(e,t,n,r,i,s){const o=new Float64Array(e*t);return s.forEach((a,l)=>{const[c,u]=i[l],f=c*e-n,h=u*t-r;EDt(e,t,o,a,f,h)}),o}function EDt(e,t,n,r,i,s){const o=r.numRows;if(o===0)return;const a=r.getChild("index").toArray(),l=r.getChild("density").toArray();for(let c=0;ce.clone().select({xp:t,yp:n,i:h,w:d}),l=a(te`FLOOR(xp)::INTEGER + FLOOR(yp)::INTEGER * ${i}`,te`(FLOOR(xp)::INTEGER + 1 - xp) * (FLOOR(yp)::INTEGER + 1 - yp)${o}`),c=a(te`FLOOR(xp)::INTEGER + (FLOOR(yp)::INTEGER + 1) * ${i}`,te`(FLOOR(xp)::INTEGER + 1 - xp) * (yp - FLOOR(yp)::INTEGER)${o}`),u=a(te`FLOOR(xp)::INTEGER + 1 + FLOOR(yp)::INTEGER * ${i}`,te`(xp - FLOOR(xp)::INTEGER) * (FLOOR(yp)::INTEGER + 1 - yp)${o}`),f=a(te`FLOOR(xp)::INTEGER + 1 + (FLOOR(yp)::INTEGER + 1) * ${i}`,te`(xp - FLOOR(xp)::INTEGER) * (yp - FLOOR(yp)::INTEGER)${o}`);return Pt.from(Pt.unionAll(l,c,u,f)).select({index:"i",density:Er("w")},s).groupby("index",s).having(A1("density",0))}function VF(e){const t=Math.floor(e);return t===e?t-1:t}class IDt extends Nh{constructor(t,n){const{ci:r=.95,precision:i=4,...s}=n;super("line",t,s);const o=()=>this.modelFit?this.confidenceBand().update():null;this.ci=es(r,a=>(this.ci=a,o())),this.precision=es(i,a=>(this.precision=a,o()))}query(t=[]){const n=this.channelField("x").as,r=this.channelField("y").as,i=Array.from(new Set(["stroke","z","fx","fy"].flatMap(s=>this.channelField(s)?.as||[])));return Pt.from(super.query(t)).select({intercept:Jmt(r,n),slope:tyt(r,n),n:$U(r,n),ssy:Qmt(r,n),ssx:Zmt(r,n),xm:NU(r,n),x0:ks(gl(n).where(gc(r))),x1:ks(Fa(n).where(gc(r)))}).select(i).groupby(i)}queryResult(t){return this.modelFit=Xd(t),this.lineData=RDt(this.modelFit),this.confidenceBand()}confidenceBand(){const{ci:t,modelFit:n,precision:r,plot:i}=this,s=i.innerWidth();return this.areaData=t?CDt(n,t,r,s):null,this}plotSpecs(){const{lineData:t,areaData:n,channels:r,ci:i}=this,s=t.columns,o=i?n.columns:{},a={x:s.x,y:s.y},l={x:o.x,y1:o.y1,y2:o.y2,fillOpacity:.1};for(const c of r)switch(c.channel){case"x":case"y":case"fill":break;case"tip":l.tip=ga(c,o);break;case"stroke":a.stroke=ga(c,s),l.fill=ga(c,o);break;case"strokeOpacity":a.strokeOpacity=ga(c,s);break;case"fillOpacity":l.fillOpacity=ga(c,o);break;default:a[c.channel]=ga(c,s),l[c.channel]=ga(c,o);break}return[...i?[{type:"areaY",data:{length:n.numRows},options:l}]:[],{type:"line",data:{length:t.numRows},options:a}]}}function mk(e,t){if(e.concat)return e.concat(t);const n=new e.constructor(e.length+t.length);return n.set(e,0),n.set(t,e.length),n}function RDt(e){const{x0:t=[],x1:n=[],xm:r,intercept:i,slope:s,n:o,ssx:a,ssy:l,...c}=e.columns,u=(d,g)=>i[g]+d*s[g],f=mk(t,n),h=mk(t.map(u),n.map(u));for(const d in c)c[d]=mk(c[d],c[d]);return{numRows:f.length,columns:{x:f,y:h,...c}}}function CDt(e,t,n,r){const i=e.numRows,{x0:s,x1:o,xm:a,intercept:l,slope:c,n:u,ssx:f,ssy:h,...d}=e.columns,g=Object.keys(d),y={x:[],y1:[],y2:[]};g.forEach(v=>y[v]=[]);for(let v=0;v{const A=l[v]+x*c[v],k=_*Math.sqrt(1/u[v]+(x-a[v])**2/f[v]);y.x.push(x),y.y1.push(A-k),y.y2.push(A+k),g.forEach(S=>y[S].push(d[S][v]))})}return{numRows:y.x.length,columns:y}}function HC(e){e.tagName==="a"&&(e=e.children[0]);const t=e.__data__;return Array.isArray(t)?t[0]:t}function NDt(e){const t=e.toLowerCase(),n=e.length;let r="";for(let i=0;ithis.update()))}init(t){this.svg=t;const n=this.values=[],i=`g[data-index="${this.mark.index}"]`,s=`${i} > *:not(g), ${i} > g > *`,o=this.nodes=t.querySelectorAll(s),{channels:a}=this;for(let l=0;lc.getAttribute(u[0])))}return this.update()}async update(){const{svg:t,nodes:n,channels:r,values:i,mark:s,selection:o}=this;if(!t)return;const a=await LDt(s,o);for(let l=0;l!0;const r=e.filterBy?.predicate(e,!0),i={__:Si(n)},s=e.query(r);(s.queries||[s]).forEach(l=>{l._groupby.length?l.select(i):l.setSelect(i)});const o=await e.coordinator.query(s),a=o.getChild?.("__");return o.numRows||o.length?a?(l=>a.at(l)):(l=>o[l].__):(()=>!1)}function pZ(){const e=this,t=e.getScreenCTM;let n;e.getScreenCTM=()=>e.isConnected?n=t.call(e):n}function GC(e){const t=e.on;let n=!0;function r(i){n=!1,i(),n=!0}return e.reset=(...i)=>{r(()=>e.clear(...i))},e.moveSilent=(...i)=>{r(()=>e.move(...i))},e.on=(...i)=>{if(i.length>1&&i[1]){const s=i[1];i[1]=(...o)=>n&&s(...o)}return t(...i)},e}function gZ(){return GC(_5t())}function DDt(){return GC(v5t())}function FDt(){return GC(b5t())}function mZ(e,t,n,r,i){let s=Ar(t??e).append("g").attr("class",i);const o=e.scale("fx"),a=e.scale("fy");if(o||a){const l=o?.domain.map(u=>o.apply(u)-n),c=a?.domain.map(u=>a.apply(u)-r);if(l&&c)for(let u=0;u{const s=i==="color"?["color","fill","stroke"]:i==="x"?["x","x1","x2"]:i==="y"?["y","y1","y2"]:[i];for(let o=0;othis.publish(l))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[0,1]))}publish(t){let n;t&&(n=t.map(r=>f5(r,this.scale,this.pixelSize)).sort((r,i)=>r-i)),u5(n,this.value)||(this.value=n,this.g.call(this.brush.moveSilent,t),this.selection.update(this.clause(n)))}clause(t){const{mark:n,pixelSize:r,field:i,scale:s}=this;return aI(i,t,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scale:s,pixelSize:r})}init(t,n){const{brush:r,channel:i,style:s}=this;this.scale=t.scale(i);const o=this.value?.map(this.scale.apply).sort(Yn),a=t.scale("x").range,l=t.scale("y").range;if(r.extent([[Or(a),Or(l)],[Yr(a),Yr(l)]]),this.g=mZ(t,n,Or(a),Or(l),`interval-${i}`).call(r).call(r.moveSilent,o),s){const c=this.g.selectAll("rect.selection");for(const u in s)c.attr(u,s[u])}t.addEventListener("pointerenter",c=>{c.buttons||this.activate()})}}class PDt{constructor(t,{selection:n,xfield:r,yfield:i,pixelSize:s=1,peers:o=!0,brush:a}){this.mark=t,this.pixelSize=s||1,this.selection=n,this.peers=o,this.xfield=r||Wg(t,"x"),this.yfield=i||Wg(t,"y"),this.style=a&&aA(a),this.brush=gZ(),this.brush.on("brush end",({selection:l})=>this.publish(l))}reset(){this.value=void 0,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause(this.value||[[0,1],[0,1]]))}publish(t){const{value:n,pixelSize:r,xscale:i,yscale:s}=this;let o,a;if(t){const[l,c]=t;o=[l[0],c[0]].map(u=>f5(u,i,r)).sort(Yn),a=[l[1],c[1]].map(u=>f5(u,s,r)).sort(Yn)}(!u5(o,n?.[0])||!u5(a,n?.[1]))&&(this.value=t?[o,a]:void 0,this.g.call(this.brush.moveSilent,t),this.selection.update(this.clause(this.value)))}clause(t){const{mark:n,pixelSize:r,xfield:i,yfield:s,xscale:o,yscale:a}=this;return $wt([i,s],t,{source:this,clients:this.peers?n.plot.markSet:new Set().add(n),scales:[o,a],pixelSize:r})}init(t){const{brush:n,style:r,value:i}=this,s=this.xscale=t.scale("x"),o=this.yscale=t.scale("y"),a=s.range,l=o.range;if(n.extent([[Or(a),Or(l)],[Yr(a),Yr(l)]]),this.g=mZ(t,null,Or(a),Or(l),"interval-xy").call(n),r){const c=this.g.selectAll("rect.selection");for(const u in r)c.attr(u,r[u])}if(i){const[c,u]=i[0].map(s.apply).sort(Yn),[f,h]=i[1].map(o.apply).sort(Yn);this.g.call(n.moveSilent,[[c,f],[u,h]])}t.addEventListener("pointerenter",c=>{c.buttons||this.activate()})}}class KC{constructor(t,{selection:n,pointer:r,channels:i,fields:s,maxRadius:o=40}){this.mark=t,this.selection=n,this.clients=new Set().add(t),this.pointer=r,this.channels=i||(r==="x"?["x"]:r==="y"?["y"]:["x","y"]),this.fields=s||this.channels.map(a=>Wg(t,[a])),this.maxRadius=o,this.valueIndex=-1}clause(t){const{clients:n,fields:r}=this,i={source:this,clients:n};return r.length>1?WS(r,t&&[t],i):Bx(r[0],t?.[0],i)}init(t){const n=this,{mark:r,channels:i,selection:s,maxRadius:o}=this,{data:{columns:a}}=r,l=i.map(y=>r.channelField(y).as),c=!Os(s),[u,f]=UDt(t,r),h=this.pointer==="y"?.01:1,d=this.pointer==="x"?.01:1,g=Ar(t);g.on("pointerenter pointerdown pointermove",function(y){const[v,b]=Qa(y,this),_=zDt(u,f,v,b,h,d,o);if(_!==this.valueIndex){this.valueIndex=_;const x=_<0?void 0:l.map(A=>a[A][_]);s.update(c?!x||x.length>1?x:x[0]:n.clause(x))}}),!c&&(g.on("pointerleave",()=>{s.update(n.clause(void 0))}),t.addEventListener("pointerenter",y=>{y.buttons||this.activate()}))}activate(){const t=this.channels.map(()=>0);this.selection.activate(this.clause(t))}}function UDt(e,t){const{data:{columns:n}}=t,r=f=>n[t.channelField(f)?.as],i=f=>e.scale(f),s=e.scale("x"),o=e.scale("y"),a=i("fx")?.apply,l=i("fy")?.apply,c=Array.from(r("x"),s.apply),u=Array.from(r("y"),o.apply);if(a){const f=Or(s.range),h=r("fx");for(let d=0;de-t;class qDt{constructor(t,{x:n=new bg,y:r=new bg,xfield:i,yfield:s,zoom:o=!0,panx:a=!0,pany:l=!0}){this.mark=t,this.xsel=n,this.ysel=r,this.xfield=i||Wg(t,"x"),this.yfield=s||Wg(t,"y"),this.zoom=yk(o,[0,1/0],[1,1]),this.panx=this.xsel&&a,this.pany=this.ysel&&l;const{plot:c}=t;a&&this.xsel.addEventListener("value",u=>{c.setAttribute("xDomain",u)&&c.update()}),l&&this.ysel.addEventListener("value",u=>{c.setAttribute("yDomain",u)&&c.update()})}publish(t){if(this.panx){const n=jDt(t,this.xscale);this.xsel.update(this.clause(n,this.xfield,this.xscale))}if(this.pany){const n=VDt(t,this.yscale);this.ysel.update(this.clause(n,this.yfield,this.yscale))}}clause(t,n,r){return aI(n,t,{source:this,clients:this.mark.plot.markSet,scale:r})}init(t){if(this.svg=t,this.initialized)return;this.initialized=!0;const{panx:n,pany:r,mark:{plot:{element:i}}}=this;this.xscale=t.scale("x"),this.yscale=t.scale("y");const s=this.xscale.range.slice().sort(YF),o=this.yscale.range.slice().sort(YF),a=yk(n,[-1/0,1/0],s),l=yk(r,[-1/0,1/0],o),c=_Rt().extent([[s[0],o[0]],[s[1],o[1]]]).scaleExtent(this.zoom).translateExtent([[a[0],l[0]],[a[1],l[1]]]).on("start",()=>{this.xscale=this.svg.scale("x"),this.yscale=this.svg.scale("y")}).on("end",()=>i.__zoom=new ic(1,0,0)).on("zoom",({transform:u})=>this.publish(u));if(Ar(i).call(c),n||r){let u=!1;i.addEventListener("pointerenter",f=>{u||(u=!0,f.buttons||this.activate())}),i.addEventListener("pointerleave",()=>u=!1)}}activate(){if(this.panx){const{xscale:t,xfield:n}=this;this.xsel.activate(this.clause(t.domain,n,t))}if(this.pany){const{yscale:t,yfield:n}=this;this.ysel.activate(this.clause(t.domain,n,t))}}}function yk(e,t,n){return e?Array.isArray(e)?e:t:n}function jDt(e,t){return t.range.map(e.invertX,e).map(t.invert,t)}function VDt(e,t){return t.range.map(e.invertY,e).map(t.invert,t)}const WDt={m:2,l:2,h:1,v:1,z:0,c:6,s:4,q:4,t:2,a:7},YDt=/[mlhvzcsqta]([^mlhvzcsqta]+|$)/gi,HDt=/^[+-]?(([0-9]*\.[0-9]+)|([0-9]+\.)|([0-9]+))([eE][+-]?[0-9]+)?/,GDt=/^((\s+,?\s*)|(,\s*))/,XDt=/^[01]/,vZ=e=>`Invalid SVG path, incorrect parameter ${e}`;function KDt(e){const t=[];return(e.match(YDt)||[]).forEach(r=>{let i=r[0];const s=i.toLowerCase(),o=WDt[s],a=JDt(s,o,r.slice(1).trim()),l=a.length;if(l=s&&d<=a&&g>=o&&y<=l)return!0;if(h<=a&&d>=s&&g<=l&&y>=o){let v=r.tagName;if(v==="a"&&(r=r.children[0],v=r.tagName),v==="rect"||v==="text"||v==="image")return!0;switch(s-=c,o-=u,a-=c,l-=u,v){case"circle":return _Z(s,o,a,l,td(r.cx),td(r.cy),td(r.r));case"line":return wZ(s,o,a,l,td(r.x1),td(r.y1),td(r.x2),td(r.y2));case"path":return QDt(s,o,a,l,r)}}return!1}function td(e){return e.baseVal.value}function bZ(e){const t=e.transform.baseVal,n=t.length;let r=t[0]?.matrix;for(let i=1;ic)return!1;let u=s,f=a;const h=o-i;if(Math.abs(h)>1e-8){const y=(a-s)/h,v=s-y*i;u=y*l+v,f=y*c+v}const d=Math.max(Math.min(u,f),t),g=Math.min(Math.max(u,f),r);return d<=g}function QDt(e,t,n,r,i){const s=i.__path__||(i.__path__=KDt(i.getAttribute("d")));let o=0,a=0,l=0,c=0,u=!1,f=[0,0],h=2;const d=bZ(i),g=(_,x)=>{f.length=h=2,f[0]=l=o=_,f[1]=c=a=x},y=d?(_,x)=>g(GF(d,_,x),XF(d,_,x)):(_,x)=>g(_,x),v=(_,x)=>(f[h]=_,f[h+1]=x,h+=2,wZ(e,t,n,r,f[h-4],f[h-3],_,x)),b=d?(_,x)=>{u=v(GF(d,l=_,c=x),XF(d,_,x))}:(_,x)=>{u=v(l=_,c=x)};for(let _=0;_0)return!0;y(o,a);break;default:return console.warn("SVG path command not supported: ",x[0]),!1}if(u)return!0}return!1}function GF(e,t,n){return e.a*t+e.c*n+e.e}function XF(e,t,n){return e.b*t+e.d*n+e.f}function tFt(e,t){const n=e[t],r=e[t+1];return r&&r[0]==="a"&&e[t+2]?.[0]==="z"&&n[1]===n[2]&&r[1]===r[2]&&n[1]===r[1]&&n[7]===-r[7]}function eFt(e,t,n){let r=0;const i=n.length-2;for(let s=0;st&&KF(e,t,n,s)>0&&++r:n[s+3]<=t&&KF(e,t,n[s])<0&&--r;return r}function KF(e,t,n,r){return(n[r+2]-n[r])*(t-n[r+1])-(e-n[r])*(n[r+3]-n[r+1])}function xZ(e,t){return e==null||t==null?e!=null||t!=null:e.length!==t.length||e.some((n,r)=>h5(n,t[r]))}function h5(e,t){const n=e.length;if(t.length!==n)return!0;for(let r=0;rthis.publish(l.selection)),this.extent=null,this.groups=null;const{fields:o,as:a}=BDt(t,n);this.fields=o,this.as=a}reset(){this.value=void 0,this.extent=null,this.g&&this.brush.reset(this.g)}activate(){this.selection.activate(this.clause([this.fields.map(()=>0)]))}clause(t){const{fields:n,mark:r}=this;return WS(n,t,{source:this,clients:this.peers?r.plot.markSet:new Set().add(r)})}publish(t){const{as:n,group:r,mark:i,svg:s}=this;let o;if(t){const{data:{columns:a={}}={}}=i,l=new Map;ZDt(s,r,t).forEach(c=>{const u=HC(c),f=n.map(h=>a[h][u]);l.set(f.join("|"),f)}),o=Array.from(l.values())}this.extent=t,xZ(o,this.value)&&(this.value=o,this.selection.update(this.clause(o)))}init(t){const{brush:n,extent:r,mark:i,style:s}=this;this.svg=t;const o=t.width.baseVal.value,a=t.height.baseVal.value;if(n.extent([[0,0],[o,a]]),this.group=t.querySelector(`[data-index="${i.index}"]`),this.g=Ar(t).append("g").attr("class","region-xy").each(pZ).call(n).call(n.moveSilent,r),s){const l=this.g.selectAll("rect.selection");for(const c in s)l.attr(c,s[c])}t.addEventListener("pointerenter",l=>{l.buttons||this.activate()})}}class SZ{constructor(t,{selection:n,channels:r,peers:i=!0}){this.mark=t,this.value=null,this.selection=n,this.peers=i;const s=this.fields=[],o=this.as=[];r.forEach(a=>{const l=a==="color"?["color","fill","stroke"]:a==="x"?["x","x1","x2"]:a==="y"?["y","y1","y2"]:[a];for(let c=0;cs.map(u=>a[u][HC(c)]),n??=`[data-index="${i.index}"]`;const l=Array.from(t.querySelectorAll(n));t.addEventListener("pointerdown",c=>{const u=o.single?o.value:this.value,f=c.target;let h=null;if(rFt(l,f)){const d=r(f);(c.shiftKey||c.metaKey)&&u?.length?(h=u.filter(g=>h5(g,d)),h.length===u.length&&h.push(d)):u?.length===1&&!h5(u[0],d)?h=null:h=[d]}this.value=h,xZ(u,h)&&o.update(this.clause(h))}),t.addEventListener("pointerenter",c=>{c.buttons||this.activate()})}activate(){this.selection.activate(this.clause([this.fields.map(()=>0)]))}}function rFt(e,t){return e.some(n=>n.contains(t))}const AZ=":scope > div, :scope > span",Bw="swatch",JF="ramp";class ZF{constructor(t,n){const{as:r,field:i,...s}=n;this.channel=t,this.options=s,this.type=null,this.handler=null,this.selection=r,this.field=i,this.legend=null,this.element=document.createElement("div"),this.element.setAttribute("class","legend"),Object.defineProperty(this.element,"value",{value:this})}setPlot(t){this.plot=t}init(t){const n=iFt(this,t);return this.element.replaceChildren(n),this.element}update(){if(!this.legend)return;const{selection:t,handler:n}=this,{single:r,value:i}=t,s=r?i:t.valueFor(n),o=s&&s.length?new Set(s.map(l=>l[0])):null,a=this.legend.querySelectorAll(AZ);for(const l of a){const c=o?o.has(l.__data__):!0;l.style.opacity=c?1:.2}}}function iFt(e,t){const{channel:n,plot:r,selection:i}=e,s=t.scale(n),o=s.type==="ordinal"?Bw:JF,a={label:r.getAttribute(`${n}Label`)??null,...e.options},l=o===Bw?a:a.label?{tickSize:2,...a}:{tickSize:2,marginTop:1,height:29,...a},c=t.legend(n,l);e.legend=c;let u=!!i;if(u&&o===JF){const f=l.width??240,h=lFt(s,f);h?c.scale=function(d){return d==="x"?{range:[0,f]}:d==="y"?{range:[-10,0]}:d===n?h:void 0}:u=!1}if(u){const f=sFt(e,o);o===Bw?(f.init(c,AZ,h=>[h.__data__]),e.update()):f.init(c,c.querySelector("g:last-of-type"))}return c}function sFt(e,t){const{channel:n,handler:r,selection:i}=e;if(r)return r;const s=oFt(e);return t===Bw?(e.handler=new SZ(s,{selection:i,channels:[n],peers:!1}),i.addEventListener("value",()=>e.update())):e.handler=new XC(s,{selection:i,channel:n,brush:{fill:"none",stroke:"currentColor"},peers:!1}),e.handler}function oFt(e){const{channel:t,plot:n}=e,r=e.field??aFt(n.marks,t)??"value";if(r){const i={field:r};return{plot:n,channelField:s=>t===s?i:void 0}}}function aFt(e,t){const n=t==="color"?["fill","stroke"]:t==="opacity"?["opacity","fillOpacity","strokeOpacity"]:null;if(n==null)return null;for(let r=e.length-1;r>-1;--r)for(const i of n){const s=e[r].channelField(i,{exact:!0});if(s)return s.field}return null}function lFt(e,t){const{apply:n,invert:r,interpolate:i,...s}=e;let o=e.type;o.startsWith("diverging-")&&(o=o.slice(11));let a;switch(o){case"log":case"pow":case"sqrt":case"symlog":a=o;break;case"threshold":case"quantize":case"quantile":return console.warn(`Legends do not yet support ${o} scales.`),null;default:a="linear"}return r1({x:{...s,type:a,range:[0,t]}})}const cFt=new Set(["rectY-x","rectX-y","rect-x","rect-y","ruleY-x","ruleX-y"]);function uFt(e,t){return cFt.has(`${e.type}-${t}`)}function fFt(e,t={}){const n=(r,i)=>uFt(r,i)?{[`${i}1`]:vk(r,i,e,t),[`${i}2`]:vk(r,i,e,{...t,offset:1})}:{[i]:vk(r,i,e,t)};return n[OY]=!0,n}function vk(e,t,n,r){return new dFt(n,e,t,r)}function hFt(e,t){const n=e.plot.getAttribute(`${t}Scale`);return n==="utc"||n==="time"}let dFt=class extends Fr{constructor(t,n,r,i){super("COLUMN_REF"),this.column=t,this.mark=n,this.channel=r,this.options=i}get stats(){return{column:this.column,stats:["min","max"]}}toString(){const{mark:t,channel:n,column:r,options:i}=this,{type:s,min:o,max:a}=t.channelField(n);return`${i.interval||s==="date"||hFt(t,n)?xvt(r,[o,a],i):Ivt(r,[o,a],i,Z2(t,n))}`}},lA=class extends gp{constructor(t,n,r="input"){super(t),this.element=n||document.createElement("div"),r&&this.element.setAttribute("class",r),Object.defineProperty(this.element,"value",{value:this})}activate(){}};const pFt=e=>e&&typeof e=="object"&&!Array.isArray(e);class gFt extends lA{constructor({element:t,filterBy:n,as:r,from:i,column:s,label:o=s,format:a=h=>h,options:l,value:c,field:u=s,listMatch:f}={}){super(n,t),this.from=i,this.column=s,this.format=a,this.field=u,this.listMatch=f;const h=this.selection=r,d=document.createElement("label");if(d.innerText=o||s,this.element.appendChild(d),this.select=document.createElement("select"),this.element.appendChild(this.select),l&&(this.data=l.map(g=>pFt(g)?g:{value:g}),this.selectedValue(c===void 0?"":c),this.update()),h){const g=!Os(h);c!=null&&(!g||h.value===void 0)&&this.publish(c),this.select.addEventListener("input",()=>{this.publish(this.selectedValue()??null)}),g?this.selection.addEventListener("value",y=>{y!==this.select.value&&this.selectedValue(y)}):(this.select.addEventListener("pointerenter",y=>{y.buttons||this.activate()}),this.select.addEventListener("focus",()=>this.activate()))}}selectedValue(t){if(arguments.length===0){const n=this.select.selectedIndex;return this.data[n].value}else{const n=this.data?.findIndex(r=>r.value===t);n>=0?this.select.selectedIndex=n:this.select.value=String(t)}}reset(){this.select.selectedIndex=this.from?0:-1}activate(){Os(this.selection)&&this.selection.activate(Bx(this.field,0,{source:this}))}publish(t){const{selection:n,field:r,listMatch:i}=this;if(Os(n)){t===""&&(t=void 0);const s=i?Fwt(r,t,{source:this,listMatch:i}):Bx(r,t,{source:this});n.update(s)}else Ca(n)&&n.update(t)}query(t=[]){const{from:n,column:r,listMatch:i}=this;return n?Pt.from(n).select({value:i?qyt(r):r}).distinct().where(t).orderby(r):null}queryResult(t){return this.data=[{value:"",label:"All"},...t],this}update(){const{data:t,format:n,select:r,selection:i}=this;r.replaceChildren();for(const{value:s,label:o}of t){const a=document.createElement("option");a.setAttribute("value",s),a.innerText=o??n(s),this.select.appendChild(a)}if(i){const s=Os(i)?i.valueFor(this):i.value;this.selectedValue(s===void 0?"":s)}return this}}let mFt=0;class yFt extends lA{constructor({element:t,filterBy:n,from:r,column:i,label:s,type:o="contains",field:a=i,as:l}={}){if(super(n,t),this.id="search_"+ ++mFt,this.type=o,this.from=r,this.column=i,this.selection=l,this.field=a,s){const c=document.createElement("label");c.setAttribute("for",this.id),c.innerText=s,this.element.appendChild(c)}this.searchbox=document.createElement("input"),this.searchbox.setAttribute("id",this.id),this.searchbox.setAttribute("type","text"),this.searchbox.setAttribute("placeholder","Query"),this.element.appendChild(this.searchbox),this.selection&&(this.searchbox.addEventListener("input",()=>{this.publish(this.searchbox.value||null)}),Os(this.selection)?(this.searchbox.addEventListener("pointerenter",c=>{c.buttons||this.activate()}),this.searchbox.addEventListener("focus",()=>this.activate())):this.selection.addEventListener("value",c=>{c!==this.searchbox.value&&(this.searchbox.value=c)}))}reset(){this.searchbox.value=""}clause(t){const{field:n,type:r}=this;return Dwt(n,t,{source:this,method:r})}activate(){Os(this.selection)&&this.selection.activate(this.clause(""))}publish(t){const{selection:n}=this;Os(n)?n.update(this.clause(t)):Ca(n)&&n.update(t)}query(t=[]){const{from:n,column:r}=this;return n?Pt.from(n).select({list:r}).distinct().where(t):null}queryResult(t){return this.data=t,this}update(){const t=document.createElement("datalist"),n=`${this.id}_list`;t.setAttribute("id",n);for(const r of this.data){const i=document.createElement("option");i.setAttribute("value",r.list),t.append(i)}return this.datalist&&this.datalist.remove(),this.element.appendChild(this.datalist=t),this.searchbox.setAttribute("list",n),this}}let vFt=0,bFt=class extends lA{constructor({element:t,filterBy:n,as:r,min:i,max:s,step:o,from:a,column:l,label:c=l,value:u=r?.value,select:f="point",field:h=l,width:d}={}){if(super(n,t),this.id="slider_"+ ++vFt,this.from=a,this.column=l||"value",this.selection=r,this.selectionType=f,this.field=h,this.min=i,this.max=s,this.step=o,c){const g=document.createElement("label");g.setAttribute("for",this.id),g.innerText=c,this.element.appendChild(g)}this.slider=document.createElement("input"),this.slider.setAttribute("id",this.id),this.slider.setAttribute("type","range"),d!=null&&(this.slider.style.width=`${+d}px`),i!=null&&this.slider.setAttribute("min",`${i}`),s!=null&&this.slider.setAttribute("max",`${s}`),o!=null&&this.slider.setAttribute("step",`${o}`),this.element.appendChild(this.slider),this.curval=document.createElement("label"),this.curval.setAttribute("for",this.id),this.curval.setAttribute("class","value"),this.element.appendChild(this.curval),u!=null&&(this.slider.setAttribute("value",`${u}`),this.selection?.value===void 0&&this.publish(u)),this.curval.innerText=this.slider.value,this.slider.addEventListener("input",()=>{const{value:g}=this.slider;this.curval.innerText=g,this.selection&&this.publish(+g)}),this.selection&&(Os(this.selection)?(this.slider.addEventListener("pointerenter",g=>{g.buttons||this.activate()}),this.slider.addEventListener("focus",()=>this.activate())):this.selection.addEventListener("value",g=>{g!==+this.slider.value&&(this.slider.value=g,this.curval.innerText=g)}))}query(t=[]){const{from:n,column:r}=this;return!n||this.min!=null&&this.max!=null?null:Pt.select({min:gl(r),max:Fa(r)}).from(n).where(t)}queryResult(t){const{min:n,max:r}=Array.from(t)[0];return this.min==null&&(this.min=n,this.slider.setAttribute("min",`${n}`)),this.max==null&&(this.max=r,this.slider.setAttribute("max",`${r}`)),this.step==null&&(this.step=(r-n)/500,this.slider.setAttribute("step",`${this.step}`)),this}clause(t){const{field:n,selectionType:r}=this;if(r==="interval"){const i=[this.min??0,t];return aI(n,i,{source:this,bin:"ceil",scale:{type:"identity",domain:i},pixelSize:this.step})}else return Bx(n,t,{source:this})}activate(){Os(this.selection)&&this.selection.activate(this.clause(0))}publish(t){const{selection:n}=this;Os(n)?n.update(this.clause(t)):Ca(this.selection)&&n.update(t)}};const EZ=kZ(e=>{const t=JC(e);return n=>n==null?"":typeof n=="number"?t(n):n instanceof Date?TZ(n):`${n}`}),JC=kZ(e=>t=>t===0?"0":t.toLocaleString(e));EZ();JC();function TZ(e){return _Ft(e,"Invalid Date")}function kZ(e){let t=null,n;return(r="en")=>r===t?n:n=e(t=r)}function _Ft(e,t){if(e instanceof Date||(e=new Date(+e)),isNaN(+e))return typeof t=="function"?t(e):t;const n=e.getUTCHours(),r=e.getUTCMinutes(),i=e.getUTCSeconds(),s=e.getUTCMilliseconds();return`${wFt(e.getUTCFullYear())}-${au(e.getUTCMonth()+1,2)}-${au(e.getUTCDate(),2)}${n||r||i||s?`T${au(n,2)}:${au(r,2)}${i||s?`:${au(i,2)}${s?`.${au(s,3)}`:""}`:""}Z`:""}`}function wFt(e){return e<0?`-${au(-e,6)}`:e>9999?`+${au(e,6)}`:au(e,4)}function au(e,t){return`${e}`.padStart(t,"0")}let xFt=-1,SFt=class extends lA{constructor({element:t,filterBy:n,from:r,columns:i=["*"],align:s={},format:o,width:a,maxWidth:l,height:c=500,rowBatch:u=100,as:f}={}){super(n,t,null),this.id=`table-${++xFt}`,this.element.setAttribute("id",this.id),this.from=r,this.columns=i,this.format=o,this.align=s,this.widths=typeof a=="object"?a:{},Ca(r)&&r.addEventListener("value",()=>this.initialize()),this.offset=0,this.limit=+u,this.isPending=!1,this.selection=f,this.currentRow=-1,this.sortHeader=null,this.sortColumn=null,this.sortDesc=!1,typeof a=="number"&&(this.element.style.width=`${a}px`),l&&(this.element.style.maxWidth=`${l}px`),this.element.style.maxHeight=`${c}px`,this.element.style.overflow="auto";let h=-1;this.element.addEventListener("scroll",d=>{const{isPending:g,loaded:y}=this,{scrollHeight:v,scrollTop:b,clientHeight:_}=d.target,x=b{const g=AFt(d.target);g>-1&&g!==this.currentRow&&(this.currentRow=g,this.selection.update(this.clause([g])))}),this.body.addEventListener("pointerleave",()=>{this.currentRow=-1,this.selection.update(this.clause())})),this.style=document.createElement("style"),this.element.appendChild(this.style)}sourceTable(){return Ca(this.from)?this.from.value:this.from}clause(t=[]){const{data:n,limit:r,schema:i}=this,s=i.map(a=>a.column),o=t.map(a=>{const{columns:l}=n[~~(a/r)];return s.map(c=>l[c][a%r])});return WS(s,o,{source:this})}requestData(t=0){this.offset=t;const n=this.query(this.filterBy?.predicate(this));this.requestQuery(n),kl().prefetch(n.clone().offset(t+this.limit))}async prepare(){const t=this.sourceTable(),n=this.columns.map(o=>({column:o,table:t})),r=await lI(this.coordinator,n);this.schema=r;const i=this.head;i.innerHTML="";const s=document.createElement("tr");for(const{column:o}of r){const a=document.createElement("th");a.addEventListener("click",l=>this.sort(l,o)),a.appendChild(document.createElement("span")),a.appendChild(document.createTextNode(o)),s.appendChild(a)}i.appendChild(s),this.formats=EFt(this.format,r),this.style.innerText=MFt(this.id,TFt(this.align,r),kFt(this.widths,r))}query(t=[]){const{limit:n,offset:r,schema:i,sortColumn:s,sortDesc:o}=this;return Pt.from(this.sourceTable()).select(i.map(a=>a.column)).where(t).orderby(s?o?om(s):s:[]).limit(n).offset(r)}queryResult(t){return this.isPending||(this.loaded=!1,this.data=[],this.body.replaceChildren(),this.offset=0),this.data.push(Xd(t)),this}update(){const{body:t,formats:n,data:r,schema:i,limit:s}=this,o=i.length,a=r.length-1,l=s*a,{numRows:c,columns:u}=r[a],f=i.map(h=>u[h.column]);for(let h=0;h{if(r in e)return e[r];switch(i){case"number":return JC(n);case"date":return TZ;default:return EZ(n)}})}function TFt(e={},t){return t.map(({column:n,type:r})=>n in e?e[n]:r==="number"?"right":"left")}function kFt(e={},t){return t.map(({column:n})=>e[n])}function MFt(e,t,n){const r=[];return t.forEach((i,s)=>{const o=+n[s];if(i!=="left"||o){const a=i!=="left"?`text-align:${i};`:"",l=o?`width:${o}px;max-width:${o}px;`:"";r.push(`#${e} tr>:nth-child(${s+1}) {${a}${l}}`)}}),r.join(" ")}function MZ(e,...t){const n=e?.context?.coordinator??kl();for(const r of t)n.connect(r)}function cA(e,t,n){const r=new t(n);return MZ(e,r),r.element}function IFt(e){return cA(this,gFt,e)}function RFt(e){return cA(this,yFt,e)}function CFt(e){return cA(this,bFt,e)}function NFt(e){return cA(this,SFt,e)}function IZ({direction:e="vertical",wrap:t=!1},n){const r=document.createElement("div");return r.style.display="flex",r.style.flexDirection=e==="vertical"?"column":"row",r.style.flexWrap=t?t===!0?"wrap":t:"nowrap",r.style.justifyContent="flex-start",r.style.alignItems="flex-start",n.forEach(i=>r.appendChild(i)),Object.assign(r,{value:{element:r}}),r}function $Ft(...e){return IZ({direction:"vertical"},e.flat())}function OFt(...e){return IZ({direction:"horizontal"},e.flat())}function RZ({dim:e="width",size:t=10}){const n=document.createElement("span");return n.style.display="inline-block",n.style[e]=Number.isNaN(+t)?t:`${t}px`,Object.assign(n,{value:{element:n}})}function LFt(e){return RZ({dim:"height",size:e})}function DFt(e){return RZ({dim:"width",size:e})}class CZ extends Map{request(t,n){if(this.has(t))n(this.get(t));else{const r=this.waiting||(this.waiting=new Map),i=r.get(t)||[];r.set(t,i.concat(n))}}set(t,n){this.has(t)&&console.warn(`Overwriting named plot "${t}".`);const{waiting:r}=this;return r?.has(t)&&(r.get(t).forEach(i=>i(n)),r.delete(t)),super.set(t,n)}clear(){return this.waiting?.clear(),super.clear()}}const NZ=new CZ;function FFt(e,t,n){(e?.context?.namedPlots??NZ).request(t,n)}function BFt(e,t,n){(e?.context?.namedPlots??NZ).set(t,n)}function $Z(e){return t=>BFt(this,e,t)}function OZ(e,t,n){Ca(n)?(n.addEventListener("value",r=>{e.setAttribute(t,r),e.update()}),n.value!==void 0&&e.setAttribute(t,n.value)):e.setAttribute(t,n)}function PFt(e,t){return n=>{OZ(n,e,t)}}function ZC(e){return t=>{for(const[n,r]of Object.entries(e))OZ(t,n,r)}}function LZ(e){const{top:t,bottom:n,left:r,right:i}=e,s={};return t!==void 0&&(s.marginTop=t),n!==void 0&&(s.marginBottom=n),r!==void 0&&(s.marginLeft=r),i!==void 0&&(s.marginRight=i),ZC(s)}function DZ(e){return ZC({marginTop:e,marginBottom:e,marginLeft:e,marginRight:e})}function FZ(e){return ZC({xDomain:e,yDomain:e})}const nt=e=>t=>PFt(e,t),BZ=nt("style"),PZ=nt("width"),UZ=nt("height"),zZ=nt("marginLeft"),qZ=nt("marginRight"),jZ=nt("marginTop"),VZ=nt("marginBottom"),WZ=nt("align"),YZ=nt("aspectRatio"),HZ=nt("axis"),GZ=nt("inset"),XZ=nt("grid"),KZ=nt("clip"),JZ=nt("padding"),ZZ=nt("ariaLabel"),QZ=nt("ariaDescription"),tQ=nt("xScale"),eQ=nt("xDomain"),nQ=nt("xRange"),rQ=nt("xNice"),iQ=nt("xInset"),sQ=nt("xInsetLeft"),oQ=nt("xInsetRight"),aQ=nt("xClamp"),lQ=nt("xRound"),cQ=nt("xAlign"),uQ=nt("xPadding"),fQ=nt("xPaddingInner"),hQ=nt("xPaddingOuter"),dQ=nt("xAxis"),pQ=nt("xTicks"),gQ=nt("xTickSize"),mQ=nt("xTickSpacing"),yQ=nt("xTickPadding"),vQ=nt("xTickFormat"),bQ=nt("xTickRotate"),_Q=nt("xGrid"),wQ=nt("xLine"),xQ=nt("xLabel"),SQ=nt("xLabelAnchor"),AQ=nt("xLabelArrow"),EQ=nt("xLabelOffset"),TQ=nt("xFontVariant"),kQ=nt("xAriaLabel"),MQ=nt("xAriaDescription"),IQ=nt("xPercent"),RQ=nt("xReverse"),CQ=nt("xZero"),NQ=nt("xBase"),$Q=nt("xExponent"),OQ=nt("xConstant"),LQ=nt("yScale"),DQ=nt("yDomain"),FQ=nt("yRange"),BQ=nt("yNice"),PQ=nt("yInset"),UQ=nt("yInsetTop"),zQ=nt("yInsetBottom"),qQ=nt("yClamp"),jQ=nt("yRound"),VQ=nt("yAlign"),WQ=nt("yPadding"),YQ=nt("yPaddingInner"),HQ=nt("yPaddingOuter"),GQ=nt("yAxis"),XQ=nt("yTicks"),KQ=nt("yTickSize"),JQ=nt("yTickSpacing"),ZQ=nt("yTickPadding"),QQ=nt("yTickFormat"),ttt=nt("yTickRotate"),ett=nt("yGrid"),ntt=nt("yLine"),rtt=nt("yLabel"),itt=nt("yLabelAnchor"),stt=nt("yLabelArrow"),ott=nt("yLabelOffset"),att=nt("yFontVariant"),ltt=nt("yAriaLabel"),ctt=nt("yAriaDescription"),utt=nt("yPercent"),ftt=nt("yReverse"),htt=nt("yZero"),dtt=nt("yBase"),ptt=nt("yExponent"),gtt=nt("yConstant"),mtt=nt("facetMargin"),ytt=nt("facetMarginTop"),vtt=nt("facetMarginBottom"),btt=nt("facetMarginLeft"),_tt=nt("facetMarginRight"),wtt=nt("facetGrid"),xtt=nt("facetLabel"),Stt=nt("fxDomain"),Att=nt("fxRange"),Ett=nt("fxInset"),Ttt=nt("fxInsetLeft"),ktt=nt("fxInsetRight"),Mtt=nt("fxRound"),Itt=nt("fxAlign"),Rtt=nt("fxPadding"),Ctt=nt("fxPaddingInner"),Ntt=nt("fxPaddingOuter"),$tt=nt("fxAxis"),Ott=nt("fxTicks"),Ltt=nt("fxTickSize"),Dtt=nt("fxTickSpacing"),Ftt=nt("fxTickPadding"),Btt=nt("fxTickFormat"),Ptt=nt("fxTickRotate"),Utt=nt("fxGrid"),ztt=nt("fxLine"),qtt=nt("fxLabel"),jtt=nt("fxLabelAnchor"),Vtt=nt("fxLabelOffset"),Wtt=nt("fxFontVariant"),Ytt=nt("fxAriaLabel"),Htt=nt("fxAriaDescription"),Gtt=nt("fxReverse"),Xtt=nt("fyDomain"),Ktt=nt("fyRange"),Jtt=nt("fyInset"),Ztt=nt("fyInsetTop"),Qtt=nt("fyInsetBottom"),tet=nt("fyRound"),eet=nt("fyAlign"),net=nt("fyPadding"),ret=nt("fyPaddingInner"),iet=nt("fyPaddingOuter"),set=nt("fyAxis"),oet=nt("fyTicks"),aet=nt("fyTickSize"),cet=nt("fyTickSpacing"),uet=nt("fyTickPadding"),fet=nt("fyTickFormat"),het=nt("fyTickRotate"),det=nt("fyGrid"),pet=nt("fyLine"),get=nt("fyLabel"),met=nt("fyLabelAnchor"),yet=nt("fyLabelOffset"),vet=nt("fyFontVariant"),bet=nt("fyAriaLabel"),_et=nt("fyAriaDescription"),wet=nt("fyReverse"),xet=nt("colorScale"),Aet=nt("colorDomain"),Eet=nt("colorRange"),Tet=nt("colorClamp"),ket=nt("colorN"),Met=nt("colorNice"),Iet=nt("colorScheme"),Ret=nt("colorInterpolate"),Cet=nt("colorPivot"),Net=nt("colorSymmetric"),$et=nt("colorLabel"),Oet=nt("colorPercent"),Let=nt("colorReverse"),Det=nt("colorZero"),Fet=nt("colorTickFormat"),Bet=nt("colorBase"),Pet=nt("colorExponent"),Uet=nt("colorConstant"),zet=nt("opacityScale"),qet=nt("opacityDomain"),jet=nt("opacityRange"),Vet=nt("opacityClamp"),Wet=nt("opacityNice"),Yet=nt("opacityLabel"),Het=nt("opacityPercent"),Get=nt("opacityReverse"),Xet=nt("opacityZero"),Ket=nt("opacityTickFormat"),Jet=nt("opacityBase"),Zet=nt("opacityExponent"),Qet=nt("opacityConstant"),tnt=nt("symbolScale"),ent=nt("symbolDomain"),nnt=nt("symbolRange"),rnt=nt("rScale"),int=nt("rDomain"),snt=nt("rRange"),ont=nt("rClamp"),ant=nt("rNice"),lnt=nt("rLabel"),cnt=nt("rPercent"),unt=nt("rZero"),fnt=nt("rBase"),hnt=nt("rExponent"),dnt=nt("rConstant"),pnt=nt("lengthScale"),gnt=nt("lengthDomain"),mnt=nt("lengthRange"),ynt=nt("lengthClamp"),vnt=nt("lengthNice"),bnt=nt("lengthPercent"),_nt=nt("lengthZero"),wnt=nt("lengthBase"),xnt=nt("lengthExponent"),Snt=nt("lengthConstant"),Ant=nt("projectionType"),Ent=nt("projectionParallels"),Tnt=nt("projectionPrecision"),knt=nt("projectionRotate"),Mnt=nt("projectionDomain"),Int=nt("projectionInset"),Rnt=nt("projectionInsetLeft"),Cnt=nt("projectionInsetRight"),Nnt=nt("projectionInsetTop"),$nt=nt("projectionInsetBottom"),Ont=nt("projectionClip"),UFt=Object.freeze(Object.defineProperty({__proto__:null,align:WZ,ariaDescription:QZ,ariaLabel:ZZ,aspectRatio:YZ,axis:HZ,clip:KZ,colorBase:Bet,colorClamp:Tet,colorConstant:Uet,colorDomain:Aet,colorExponent:Pet,colorInterpolate:Ret,colorLabel:$et,colorN:ket,colorNice:Met,colorPercent:Oet,colorPivot:Cet,colorRange:Eet,colorReverse:Let,colorScale:xet,colorScheme:Iet,colorSymmetric:Net,colorTickFormat:Fet,colorZero:Det,facetGrid:wtt,facetLabel:xtt,facetMargin:mtt,facetMarginBottom:vtt,facetMarginLeft:btt,facetMarginRight:_tt,facetMarginTop:ytt,fxAlign:Itt,fxAriaDescription:Htt,fxAriaLabel:Ytt,fxAxis:$tt,fxDomain:Stt,fxFontVariant:Wtt,fxGrid:Utt,fxInset:Ett,fxInsetLeft:Ttt,fxInsetRight:ktt,fxLabel:qtt,fxLabelAnchor:jtt,fxLabelOffset:Vtt,fxLine:ztt,fxPadding:Rtt,fxPaddingInner:Ctt,fxPaddingOuter:Ntt,fxRange:Att,fxReverse:Gtt,fxRound:Mtt,fxTickFormat:Btt,fxTickPadding:Ftt,fxTickRotate:Ptt,fxTickSize:Ltt,fxTickSpacing:Dtt,fxTicks:Ott,fyAlign:eet,fyAriaDescription:_et,fyAriaLabel:bet,fyAxis:set,fyDomain:Xtt,fyFontVariant:vet,fyGrid:det,fyInset:Jtt,fyInsetBottom:Qtt,fyInsetTop:Ztt,fyLabel:get,fyLabelAnchor:met,fyLabelOffset:yet,fyLine:pet,fyPadding:net,fyPaddingInner:ret,fyPaddingOuter:iet,fyRange:Ktt,fyReverse:wet,fyRound:tet,fyTickFormat:fet,fyTickPadding:uet,fyTickRotate:het,fyTickSize:aet,fyTickSpacing:cet,fyTicks:oet,grid:XZ,height:UZ,inset:GZ,lengthBase:wnt,lengthClamp:ynt,lengthConstant:Snt,lengthDomain:gnt,lengthExponent:xnt,lengthNice:vnt,lengthPercent:bnt,lengthRange:mnt,lengthScale:pnt,lengthZero:_nt,margin:DZ,marginBottom:VZ,marginLeft:zZ,marginRight:qZ,marginTop:jZ,margins:LZ,name:$Z,opacityBase:Jet,opacityClamp:Vet,opacityConstant:Qet,opacityDomain:qet,opacityExponent:Zet,opacityLabel:Yet,opacityNice:Wet,opacityPercent:Het,opacityRange:jet,opacityReverse:Get,opacityScale:zet,opacityTickFormat:Ket,opacityZero:Xet,padding:JZ,projectionClip:Ont,projectionDomain:Mnt,projectionInset:Int,projectionInsetBottom:$nt,projectionInsetLeft:Rnt,projectionInsetRight:Cnt,projectionInsetTop:Nnt,projectionParallels:Ent,projectionPrecision:Tnt,projectionRotate:knt,projectionType:Ant,rBase:fnt,rClamp:ont,rConstant:dnt,rDomain:int,rExponent:hnt,rLabel:lnt,rNice:ant,rPercent:cnt,rRange:snt,rScale:rnt,rZero:unt,style:BZ,symbolDomain:ent,symbolRange:nnt,symbolScale:tnt,width:PZ,xAlign:cQ,xAriaDescription:MQ,xAriaLabel:kQ,xAxis:dQ,xBase:NQ,xClamp:aQ,xConstant:OQ,xDomain:eQ,xExponent:$Q,xFontVariant:TQ,xGrid:_Q,xInset:iQ,xInsetLeft:sQ,xInsetRight:oQ,xLabel:xQ,xLabelAnchor:SQ,xLabelArrow:AQ,xLabelOffset:EQ,xLine:wQ,xNice:rQ,xPadding:uQ,xPaddingInner:fQ,xPaddingOuter:hQ,xPercent:IQ,xRange:nQ,xReverse:RQ,xRound:lQ,xScale:tQ,xTickFormat:vQ,xTickPadding:yQ,xTickRotate:bQ,xTickSize:gQ,xTickSpacing:mQ,xTicks:pQ,xZero:CQ,xyDomain:FZ,yAlign:VQ,yAriaDescription:ctt,yAriaLabel:ltt,yAxis:GQ,yBase:dtt,yClamp:qQ,yConstant:gtt,yDomain:DQ,yExponent:ptt,yFontVariant:att,yGrid:ett,yInset:PQ,yInsetBottom:zQ,yInsetTop:UQ,yLabel:rtt,yLabelAnchor:itt,yLabelArrow:stt,yLabelOffset:ott,yLine:ntt,yNice:BQ,yPadding:WQ,yPaddingInner:YQ,yPaddingOuter:HQ,yPercent:utt,yRange:FQ,yReverse:ftt,yRound:jQ,yScale:LQ,yTickFormat:QQ,yTickPadding:ZQ,yTickRotate:ttt,yTickSize:KQ,yTickSpacing:JQ,yTicks:XQ,yZero:htt},Symbol.toStringTag,{value:"Module"}));function zFt(e,t=void 0){return{table:e,options:t}}const qFt=new Set(["frame","axisX","axisY","axisFx","axisFy","gridX","gridY","gridFx","gridFy","hexgrid","graticule","sphere"]);function de(e,t,n={}){arguments.length===2&&!Array.isArray(t)&&(n=t,t=qFt.has(e)?null:[{}]);const r=e.startsWith("area")||e.startsWith("line")?jLt:Nh;return yb(r,e,t,n)}function yb(e,t,n,r){return i=>{i.addMark(new e(t,n,r))}}function Zu(e,t,n){return r=>{r.addMark(new e(t,n))}}const Lnt=(...e)=>de("area",...e),Dnt=(...e)=>de("areaX",...e),Fnt=(...e)=>de("areaY",...e),Bnt=(...e)=>de("line",...e),Pnt=(...e)=>de("lineX",...e),Unt=(...e)=>de("lineY",...e),znt=(...e)=>de("barX",...e),qnt=(...e)=>de("barY",...e),jnt=(...e)=>de("cell",...e),Vnt=(...e)=>de("cellX",...e),Wnt=(...e)=>de("cellY",...e),Ynt=(...e)=>de("rect",...e),Hnt=(...e)=>de("rectX",...e),Gnt=(...e)=>de("rectY",...e),Xnt=(...e)=>de("dot",...e),Knt=(...e)=>de("dotX",...e),Jnt=(...e)=>de("dotY",...e),Znt=(...e)=>de("circle",...e),Qnt=(...e)=>de("hexagon",...e),trt=(...e)=>de("text",...e),ert=(...e)=>de("textX",...e),nrt=(...e)=>de("textY",...e),rrt=(...e)=>de("ruleX",...e),irt=(...e)=>de("ruleY",...e),srt=(...e)=>de("tickX",...e),ort=(...e)=>de("tickY",...e),art=(...e)=>de("vector",...e),lrt=(...e)=>de("vectoX",...e),crt=(...e)=>de("vectorY",...e),urt=(...e)=>de("spike",...e),frt=(...e)=>de("image",...e),hrt=(...e)=>yb(hZ,"areaX",...e),drt=(...e)=>yb(hZ,"areaY",...e),prt=(...e)=>Zu(pDt,...e),grt=(...e)=>Zu(uDt,...e),mrt=(...e)=>Zu(ZLt,...e),yrt=(...e)=>Zu(sDt,...e),vrt=(...e)=>Zu(YC,...e),brt=(...e)=>Zu(SDt,...e),_rt=(...e)=>Zu(xDt,...e),wrt=(...e)=>de("hexgrid",...e),xrt=(...e)=>Zu(IDt,...e),Srt=(...e)=>yb(dZ,"ruleY",...e),Art=(...e)=>yb(dZ,"ruleX",...e),Ert=(...e)=>de("voronoi",...e),Trt=(...e)=>de("voronoiMesh",...e),krt=(...e)=>de("delaunayLink",...e),Mrt=(...e)=>de("delaunayMesh",...e),Irt=(...e)=>de("hull",...e),Rrt=(...e)=>de("arrow",...e),Crt=(...e)=>de("link",...e),Nrt=(...e)=>de("frame",...e),$rt=(...e)=>de("axisX",...e),Ort=(...e)=>de("axisY",...e),Lrt=(...e)=>de("axisFx",...e),Drt=(...e)=>de("axisFy",...e),Frt=(...e)=>de("gridX",...e),Brt=(...e)=>de("gridY",...e),Prt=(...e)=>de("gridFx",...e),Urt=(...e)=>de("gridFy",...e),zrt=(...e)=>Zu(wDt,...e),qrt=(...e)=>de("sphere",...e),jrt=(...e)=>de("graticule",...e),Vrt=(...e)=>de("waffleX",...e),Wrt=(...e)=>de("waffleY",...e),jFt=Object.freeze(Object.defineProperty({__proto__:null,area:Lnt,areaX:Dnt,areaY:Fnt,arrow:Rrt,axisFx:Lrt,axisFy:Drt,axisX:$rt,axisY:Ort,barX:znt,barY:qnt,cell:jnt,cellX:Vnt,cellY:Wnt,circle:Znt,contour:mrt,delaunayLink:krt,delaunayMesh:Mrt,denseLine:grt,density:prt,densityX:hrt,densityY:drt,dot:Xnt,dotX:Knt,dotY:Jnt,errorbarX:Srt,errorbarY:Art,frame:Nrt,geo:zrt,graticule:jrt,gridFx:Prt,gridFy:Urt,gridX:Frt,gridY:Brt,heatmap:yrt,hexagon:Qnt,hexbin:_rt,hexgrid:wrt,hull:Irt,image:frt,line:Bnt,lineX:Pnt,lineY:Unt,link:Crt,raster:vrt,rasterTile:brt,rect:Ynt,rectX:Hnt,rectY:Gnt,regressionY:xrt,ruleX:rrt,ruleY:irt,sphere:qrt,spike:urt,text:trt,textX:ert,textY:nrt,tickX:srt,tickY:ort,vector:art,vectorX:lrt,vectorY:crt,voronoi:Ert,voronoiMesh:Trt,waffleX:Vrt,waffleY:Wrt},Symbol.toStringTag,{value:"Module"}));function Oc(e,t){return n=>{const r=n.marks[n.marks.length-1];n.addInteractor(new e(r,t))}}function Yrt({by:e,...t}){return Oc(ODt,{selection:e,channels:t})}function Hrt({as:e,...t}){return Oc(XC,{...t,selection:e,channel:"x"})}function Grt({as:e,...t}){return Oc(XC,{...t,selection:e,channel:"y"})}function Xrt({as:e,...t}){return Oc(PDt,{...t,selection:e})}function Krt({as:e,...t}){return Oc(KC,{...t,selection:e,pointer:"xy"})}function Jrt({as:e,...t}){return Oc(KC,{...t,selection:e,pointer:"x"})}function Zrt({as:e,...t}){return Oc(KC,{...t,selection:e,pointer:"y"})}function Qrt({as:e,...t}){return Oc(nFt,{...t,selection:e})}function Mm({as:e,...t}){return Oc(SZ,{...t,selection:e})}function tit(e){return Mm({...e,channels:["x"]})}function eit(e){return Mm({...e,channels:["y"]})}function nit(e){return Mm({...e,channels:["z"]})}function rit(e){return Mm({...e,channels:["color"]})}function Im(e){return Oc(qDt,e)}function iit(e={}){return Im({...e,zoom:!1})}function sit(e={}){return Im({...e,zoom:!1,pany:!1})}function oit(e={}){return Im({...e,zoom:!1,panx:!1})}function ait(e={}){return Im(e)}function lit(e={}){return Im({...e,pany:!1})}function cit(e={}){return Im({...e,panx:!1})}const VFt=Object.freeze(Object.defineProperty({__proto__:null,highlight:Yrt,intervalX:Hrt,intervalXY:Xrt,intervalY:Grt,nearest:Krt,nearestX:Jrt,nearestY:Zrt,pan:iit,panX:sit,panY:oit,panZoom:ait,panZoomX:lit,panZoomY:cit,region:Qrt,toggle:Mm,toggleColor:rit,toggleX:tit,toggleY:eit,toggleZ:nit},Symbol.toStringTag,{value:"Module"}));function QC(e,t={}){if(t.for){const{for:n,...r}=t,i=new ZF(e,r),s=typeof n,o=a=>a.addLegend(i,!1);return s==="string"?FFt(this,n,o):n.value&&o(n.value),i.element}else return n=>n.addLegend(new ZF(e,t))}function uit(e){return QC.call(this,"color",e)}function fit(e){return QC.call(this,"opacity",e)}function hit(e){return QC.call(this,"symbol",e)}const WFt=Object.freeze(Object.defineProperty({__proto__:null,colorLegend:uit,opacityLegend:fit,symbolLegend:hit},Symbol.toStringTag,{value:"Module"}));function YFt(...e){const t=new OLt;return e.flat().forEach(n=>n(t)),MZ(this,...t.marks),t.update(),t.element}const HFt=Object.freeze(Object.defineProperty({__proto__:null,Fixed:G1,Param:wa,Query:Pt,Selection:bg,align:WZ,and:Si,area:Lnt,areaX:Dnt,areaY:Fnt,argmax:rx,argmin:ix,ariaDescription:QZ,ariaLabel:ZZ,arrayAgg:Bmt,arrow:Rrt,aspectRatio:YZ,avg:DS,axis:HZ,axisFx:Lrt,axisFy:Drt,axisX:$rt,axisY:Ort,barX:znt,barY:qnt,bin:fFt,cast:Jr,cell:jnt,cellX:Vnt,cellY:Wnt,centroid:M6,centroidX:Oyt,centroidY:Lyt,circle:Znt,clip:KZ,colorBase:Bet,colorClamp:Tet,colorConstant:Uet,colorDomain:Aet,colorExponent:Pet,colorInterpolate:Ret,colorLabel:$et,colorLegend:uit,colorN:ket,colorNice:Met,colorPercent:Oet,colorPivot:Cet,colorRange:Eet,colorReverse:Let,colorScale:xet,colorScheme:Iet,colorSymmetric:Net,colorTickFormat:Fet,colorZero:Det,column:Tt,contour:mrt,coordinator:kl,corr:Pmt,count:or,covarPop:zmt,covariance:Umt,createSchema:ovt,createTable:T1,cume_dist:Yyt,dateDay:_yt,dateMonth:vyt,dateMonthDay:byt,days:uyt,delaunayLink:krt,delaunayMesh:Mrt,denseLine:grt,dense_rank:Vyt,density:prt,densityX:hrt,densityY:drt,dot:Xnt,dotX:Knt,dotY:Jnt,entropy:qmt,eq:No,errorbarX:Srt,errorbarY:Art,facetGrid:wtt,facetLabel:xtt,facetMargin:mtt,facetMarginBottom:vtt,facetMarginLeft:btt,facetMarginRight:_tt,facetMarginTop:ytt,first:jmt,first_value:Xyt,float32:oyt,float64:ks,frame:Nrt,frameGroups:tvt,frameRange:Qyt,frameRows:Zyt,from:zFt,fxAlign:Itt,fxAriaDescription:Htt,fxAriaLabel:Ytt,fxAxis:$tt,fxDomain:Stt,fxFontVariant:Wtt,fxGrid:Utt,fxInset:Ett,fxInsetLeft:Ttt,fxInsetRight:ktt,fxLabel:qtt,fxLabelAnchor:jtt,fxLabelOffset:Vtt,fxLine:ztt,fxPadding:Rtt,fxPaddingInner:Ctt,fxPaddingOuter:Ntt,fxRange:Att,fxReverse:Gtt,fxRound:Mtt,fxTickFormat:Btt,fxTickPadding:Ftt,fxTickRotate:Ptt,fxTickSize:Ltt,fxTickSpacing:Dtt,fxTicks:Ott,fyAlign:eet,fyAriaDescription:_et,fyAriaLabel:bet,fyAxis:set,fyDomain:Xtt,fyFontVariant:vet,fyGrid:det,fyInset:Jtt,fyInsetBottom:Qtt,fyInsetTop:Ztt,fyLabel:get,fyLabelAnchor:met,fyLabelOffset:yet,fyLine:pet,fyPadding:net,fyPaddingInner:ret,fyPaddingOuter:iet,fyRange:Ktt,fyReverse:wet,fyRound:tet,fyTickFormat:fet,fyTickPadding:uet,fyTickRotate:het,fyTickSize:aet,fyTickSpacing:cet,fyTicks:oet,geo:zrt,geojson:FU,geomean:Vmt,graticule:jrt,grid:XZ,gridFx:Prt,gridFy:Urt,gridX:Frt,gridY:Brt,gt:_a,gte:Myt,hconcat:OFt,heatmap:yrt,height:UZ,hexagon:Qnt,hexbin:_rt,hexgrid:wrt,highlight:Yrt,hours:fyt,hspace:DFt,hull:Irt,image:frt,inset:GZ,int32:wi,interval:Tl,intervalX:Hrt,intervalXY:Xrt,intervalY:Grt,isBetween:$s,isDistinct:Iyt,isNotBetween:Ryt,isNotDistinct:k6,isNotNull:gc,isNull:ll,kurtosis:Wmt,lag:Gyt,last:Gmt,last_value:Kyt,lead:p4,lengthBase:wnt,lengthClamp:ynt,lengthConstant:Snt,lengthDomain:gnt,lengthExponent:xnt,lengthNice:vnt,lengthPercent:bnt,lengthRange:mnt,lengthScale:pnt,lengthZero:_nt,line:Bnt,lineX:Pnt,lineY:Unt,link:Crt,literal:Jt,loadCSV:lvt,loadExtension:zU,loadJSON:cvt,loadObjects:hvt,loadParquet:uvt,loadSpatial:fvt,lt:hi,lte:ac,mad:Ymt,margin:DZ,marginBottom:VZ,marginLeft:zZ,marginRight:qZ,marginTop:jZ,margins:LZ,max:Fa,median:FS,menu:IFt,microseconds:gyt,milliseconds:pyt,min:gl,minutes:hyt,mode:Hmt,months:cyt,name:$Z,nearest:Krt,nearestX:Jrt,nearestY:Zrt,neq:A1,not:vg,nth_value:Jyt,ntile:Hyt,opacityBase:Jet,opacityClamp:Vet,opacityConstant:Qet,opacityDomain:qet,opacityExponent:Zet,opacityLabel:Yet,opacityLegend:fit,opacityNice:Wet,opacityPercent:Het,opacityRange:jet,opacityReverse:Get,opacityScale:zet,opacityTickFormat:Ket,opacityZero:Xet,or:ss,padding:JZ,pan:iit,panX:sit,panY:oit,panZoom:ait,panZoomX:lit,panZoomY:cit,percent_rank:Wyt,plot:YFt,product:Xmt,projectionClip:Ont,projectionDomain:Mnt,projectionInset:Int,projectionInsetBottom:$nt,projectionInsetLeft:Rnt,projectionInsetRight:Cnt,projectionInsetTop:Nnt,projectionParallels:Ent,projectionPrecision:Tnt,projectionRotate:knt,projectionType:Ant,quantile:d4,rBase:fnt,rClamp:ont,rConstant:dnt,rDomain:int,rExponent:hnt,rLabel:lnt,rNice:ant,rPercent:cnt,rRange:snt,rScale:rnt,rZero:unt,rank:jyt,raster:vrt,rasterTile:brt,rect:Ynt,rectX:Hnt,rectY:Gnt,region:Qrt,regressionY:xrt,row_number:PU,ruleX:rrt,ruleY:irt,search:RFt,seconds:dyt,skewness:eyt,slider:CFt,sphere:qrt,spike:urt,sql:te,stddev:OU,stddevPop:nyt,stringAgg:ryt,style:BZ,sum:Er,symbolDomain:ent,symbolLegend:hit,symbolRange:nnt,symbolScale:tnt,table:NFt,text:trt,textX:ert,textY:nrt,tickX:srt,tickY:ort,toggle:Mm,toggleColor:rit,toggleX:tit,toggleY:eit,toggleZ:nit,varPop:syt,variance:iyt,vconcat:$Ft,vector:art,vectorX:lrt,vectorY:crt,voronoi:Ert,voronoiMesh:Trt,vspace:LFt,waffleX:Vrt,waffleY:Wrt,width:PZ,xAlign:cQ,xAriaDescription:MQ,xAriaLabel:kQ,xAxis:dQ,xBase:NQ,xClamp:aQ,xConstant:OQ,xDomain:eQ,xExponent:$Q,xFontVariant:TQ,xGrid:_Q,xInset:iQ,xInsetLeft:sQ,xInsetRight:oQ,xLabel:xQ,xLabelAnchor:SQ,xLabelArrow:AQ,xLabelOffset:EQ,xLine:wQ,xNice:rQ,xPadding:uQ,xPaddingInner:fQ,xPaddingOuter:hQ,xPercent:IQ,xRange:nQ,xReverse:RQ,xRound:lQ,xScale:tQ,xTickFormat:vQ,xTickPadding:yQ,xTickRotate:bQ,xTickSize:gQ,xTickSpacing:mQ,xTicks:pQ,xZero:CQ,xyDomain:FZ,yAlign:VQ,yAriaDescription:ctt,yAriaLabel:ltt,yAxis:GQ,yBase:dtt,yClamp:qQ,yConstant:gtt,yDomain:DQ,yExponent:ptt,yFontVariant:att,yGrid:ett,yInset:PQ,yInsetBottom:zQ,yInsetTop:UQ,yLabel:rtt,yLabelAnchor:itt,yLabelArrow:stt,yLabelOffset:ott,yLine:ntt,yNice:BQ,yPadding:WQ,yPaddingInner:YQ,yPaddingOuter:HQ,yPercent:utt,yRange:FQ,yReverse:ftt,yRound:jQ,yScale:LQ,yTickFormat:QQ,yTickPadding:ZQ,yTickRotate:ttt,yTickSize:KQ,yTickSpacing:JQ,yTicks:XQ,yZero:htt,years:lyt},Symbol.toStringTag,{value:"Module"}));function dit({coordinator:e=kl(),namedPlots:t=new CZ,extensions:n=null,...r}={}){return{...HFt,...n,context:{coordinator:e,namedPlots:t,...r}}}function GFt(e){return e}function t8(e){const t=e-1;return t*t*t+1}function QF(e){return Object.prototype.toString.call(e)==="[object Date]"}function d5(e,t){if(e===t||e!==e)return()=>e;const n=typeof e;if(n!==typeof t||Array.isArray(e)!==Array.isArray(t))throw new Error("Cannot interpolate values of different type");if(Array.isArray(e)){const r=t.map((i,s)=>d5(e[s],i));return i=>r.map(s=>s(i))}if(n==="object"){if(!e||!t)throw new Error("Object cannot be null");if(QF(e)&&QF(t)){const s=e.getTime(),a=t.getTime()-s;return l=>new Date(s+l*a)}const r=Object.keys(t),i={};return r.forEach(s=>{i[s]=d5(e[s],t[s])}),s=>{const o={};return r.forEach(a=>{o[a]=i[a](s)}),o}}if(n==="number"){const r=t-e;return i=>e+i*r}return()=>t}class e8{#t;#e;#n;#r=null;constructor(t,n={}){this.#t=_t(t),this.#e=_t(t),this.#n=n}static of(t,n){const r=new e8(t(),n);return dp(()=>{r.set(t())}),r}set(t,n){X(this.#e,t);let{delay:r=0,duration:i=400,easing:s=GFt,interpolate:o=d5}={...this.#n,...n};if(i===0)return this.#r?.abort(),X(this.#t,t),Promise.resolve();const a=Gl.now()+r;let l,c=!1,u=this.#r;return this.#r=dP(f=>{if(fi?(X(this.#t,t),!1):(X(this.#t,l(s(h/i))),!0)}),this.#r.promise}get current(){return w(this.#t)}get target(){return w(this.#e)}set target(t){this.set(t)}}function XFt(e){const t=e-1;return t*t*t+1}function Q2(e,{delay:t=0,duration:n=400,easing:r=XFt,axis:i="y"}={}){const s=getComputedStyle(e),o=+s.opacity,a=i==="y"?"height":"width",l=parseFloat(s[a]),c=i==="y"?["top","bottom"]:["left","right"],u=c.map(b=>`${b[0].toUpperCase()}${b.slice(1)}`),f=parseFloat(s[`padding${u[0]}`]),h=parseFloat(s[`padding${u[1]}`]),d=parseFloat(s[`margin${u[0]}`]),g=parseFloat(s[`margin${u[1]}`]),y=parseFloat(s[`border${u[0]}Width`]),v=parseFloat(s[`border${u[1]}Width`]);return{delay:t,duration:n,easing:r,css:b=>`overflow: hidden;opacity: ${Math.min(b*20,1)*o};${a}: ${b*l}px;padding-${c[0]}: ${b*f}px;padding-${c[1]}: ${b*h}px;margin-${c[0]}: ${b*d}px;margin-${c[1]}: ${b*g}px;border-${c[0]}-width: ${b*y}px;border-${c[1]}-width: ${b*v}px;min-${a}: 0`}}const Ho=2,n8=4,r8=8,Rm=16,Qu=32,kp=64,pit=128,Oa=256,tS=512,is=1024,ja=2048,$h=4096,hl=8192,Mp=16384,i8=32768,uA=65536,tB=1<<17,KFt=1<<18,vb=1<<19,JFt=1<<20,p5=1<<21,s8=1<<22,Fd=1<<23,Bd=Symbol("$state"),git=Symbol("legacy props"),ZFt=Symbol(""),o8=new class extends Error{name="StaleReactionError";message="The reaction that called `getAbortSignal()` was re-run or destroyed"},mit=3,c1=8,QFt=!1;var fA=Array.isArray,tBt=Array.prototype.indexOf,a8=Array.from,eS=Object.defineProperty,sg=Object.getOwnPropertyDescriptor,yit=Object.getOwnPropertyDescriptors,vit=Object.prototype,eBt=Array.prototype,hA=Object.getPrototypeOf,eB=Object.isExtensible;const nBt=()=>{};function bit(e){for(var t=0;t{e=r,t=i});return{promise:n,resolve:e,reject:t}}function _it(e){return e===this.v}function l8(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function iBt(e,t){return e!==t}function wit(e){return!l8(e,this.v)}function sBt(){throw new Error("https://svelte.dev/e/await_outside_boundary")}function xit(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function oBt(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function aBt(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function lBt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function cBt(e){throw new Error("https://svelte.dev/e/effect_orphan")}function uBt(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function fBt(){throw new Error("https://svelte.dev/e/hydration_failed")}function hBt(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function dBt(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function pBt(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}let bb=!1,gBt=!1;function mBt(){bb=!0}const c8=1,u8=2,Sit=4,yBt=8,vBt=16,bBt=1,_Bt=2,Ait="[",f8="[!",h8="]",og={},Ci=Symbol(),wBt="http://www.w3.org/1999/xhtml",xBt=[];function Eit(e,t=!1,n=!1){return Pw(e,new Map,"",xBt,null,n)}function Pw(e,t,n,r,i=null,s=!1){if(typeof e=="object"&&e!==null){var o=t.get(e);if(o!==void 0)return o;if(e instanceof Map)return new Map(e);if(e instanceof Set)return new Set(e);if(fA(e)){var a=Array(e.length);t.set(e,a),i!==null&&t.set(i,a);for(var l=0;l{if(Pd===s)return a();var l=Mn,c=Pd;Ec(null),aB(s);var u=a();return Ec(l),aB(c),u};return r&&n.set("length",Kt(e.length)),new Proxy(e,{defineProperty(a,l,c){(!("value"in c)||c.configurable===!1||c.enumerable===!1||c.writable===!1)&&hBt();var u=n.get(l);return u===void 0?u=o(()=>{var f=Kt(c.value);return n.set(l,f),f}):It(u,c.value,!0),!0},deleteProperty(a,l){var c=n.get(l);if(c===void 0){if(l in a){const u=o(()=>Kt(Ci));n.set(l,u),_k(i)}}else It(c,Ci),_k(i);return!0},get(a,l,c){if(l===Bd)return e;var u=n.get(l),f=l in a;if(u===void 0&&(!f||sg(a,l)?.writable)&&(u=o(()=>{var d=ls(f?a[l]:Ci),g=Kt(d);return g}),n.set(l,u)),u!==void 0){var h=G(u);return h===Ci?void 0:h}return Reflect.get(a,l,c)},getOwnPropertyDescriptor(a,l){var c=Reflect.getOwnPropertyDescriptor(a,l);if(c&&"value"in c){var u=n.get(l);u&&(c.value=G(u))}else if(c===void 0){var f=n.get(l),h=f?.v;if(f!==void 0&&h!==Ci)return{enumerable:!0,configurable:!0,value:h,writable:!0}}return c},has(a,l){if(l===Bd)return!0;var c=n.get(l),u=c!==void 0&&c.v!==Ci||Reflect.has(a,l);if(c!==void 0||un!==null&&(!u||sg(a,l)?.writable)){c===void 0&&(c=o(()=>{var h=u?ls(a[l]):Ci,d=Kt(h);return d}),n.set(l,c));var f=G(c);if(f===Ci)return!1}return u},set(a,l,c,u){var f=n.get(l),h=l in a;if(r&&l==="length")for(var d=c;dKt(Ci)),n.set(d+"",g))}if(f===void 0)(!h||sg(a,l)?.writable)&&(f=o(()=>Kt(void 0)),It(f,ls(c)),n.set(l,f));else{h=f.v!==Ci;var y=o(()=>ls(c));It(f,y)}var v=Reflect.getOwnPropertyDescriptor(a,l);if(v?.set&&v.set.call(u,c),!h){if(r&&typeof l=="string"){var b=n.get("length"),_=Number(l);Number.isInteger(_)&&_>=b.v&&It(b,_+1)}_k(i)}return!0},ownKeys(a){G(i);var l=Reflect.ownKeys(a).filter(f=>{var h=n.get(f);return h===void 0||h.v!==Ci});for(var[c,u]of n)u.v!==Ci&&!(c in a)&&l.push(c);return l},setPrototypeOf(){dBt()}})}var m5,Mit,Iit,Rit;function y5(){if(m5===void 0){m5=window,Mit=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,n=Text.prototype;Iit=sg(t,"firstChild").get,Rit=sg(t,"nextSibling").get,eB(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),eB(n)&&(n.__t=void 0)}}function hh(e=""){return document.createTextNode(e)}function op(e){return Iit.call(e)}function Oh(e){return Rit.call(e)}function Vn(e,t){if(!$n)return op(e);var n=op(hr);if(n===null)n=hr.appendChild(hh());else if(t&&n.nodeType!==mit){var r=hh();return n?.before(r),dl(r),r}return dl(n),n}function Lo(e,t){if(!$n){var n=op(e);return n instanceof Comment&&n.data===""?Oh(n):n}return hr}function Ma(e,t=1,n=!1){let r=$n?hr:e;for(var i;t--;)i=r,r=Oh(r);if(!$n)return r;if(n&&r?.nodeType!==mit){var s=hh();return r===null?i?.after(s):r.before(s),dl(s),s}return dl(r),r}function Cit(e){e.textContent=""}function Nit(){return!1}const ABt=new WeakMap;function EBt(e){var t=un;if(t===null)return Mn.f|=Fd,e;if((t.f&i8)===0){if((t.f&pit)===0)throw!t.parent&&e instanceof Error&&$it(e),e;t.b.error(e)}else d8(e,t)}function d8(e,t){for(;t!==null;){if((t.f&pit)!==0)try{t.b.error(e);return}catch(n){e=n}t=t.parent}throw e instanceof Error&&$it(e),e}function $it(e){const t=ABt.get(e);t&&(eS(e,"message",{value:t.message}),eS(e,"stack",{value:t.stack}))}const TBt=typeof requestIdleCallback>"u"?e=>setTimeout(e,1):requestIdleCallback;let Df=[],Yg=[];function Oit(){var e=Df;Df=[],bit(e)}function Lit(){var e=Yg;Yg=[],bit(e)}function kBt(){return Df.length>0||Yg.length>0}function pA(e){if(Df.length===0&&!cv){var t=Df;queueMicrotask(()=>{t===Df&&Oit()})}Df.push(e)}function MBt(e){Yg.length===0&&TBt(Lit),Yg.push(e)}function IBt(){Df.length>0&&Oit(),Yg.length>0&&Lit()}function RBt(){const e=un.b;return e===null&&sBt(),e}function gA(e){var t=Ho|ja,n=Mn!==null&&(Mn.f&Ho)!==0?Mn:null;return un===null||n!==null&&(n.f&Oa)!==0?t|=Oa:un.f|=vb,{ctx:Qr,deps:null,effects:null,equals:_it,f:t,fn:e,reactions:null,rv:0,v:Ci,wv:0,parent:n??un,ac:null}}function CBt(e,t){let n=un;n===null&&oBt();var r=n.b,i=void 0,s=u1(Ci),o=null,a=!Mn;return YBt(()=>{try{var l=e();o&&Promise.resolve(l).catch(()=>{})}catch(d){l=Promise.reject(d)}var c=()=>l;i=o?.then(c,c)??Promise.resolve(l),o=i;var u=Ui,f=r.is_pending();a&&(r.update_pending_count(1),f||u.increment());const h=(d,g=void 0)=>{o=null,f||u.activate(),g?g!==o8&&(s.f|=Fd,f1(s,g)):((s.f&Fd)!==0&&(s.f^=Fd),f1(s,d)),a&&(r.update_pending_count(-1),f||u.decrement()),Pit()};if(i.then(h,d=>h(null,d||"unknown")),u)return()=>{queueMicrotask(()=>u.neuter())}}),new Promise(l=>{function c(u){function f(){u===i?l(s):c(i)}u.then(f,f)}c(i)})}function Dt(e){const t=gA(e);return jit(t),t}function Dit(e){const t=gA(e);return t.equals=wit,t}function Fit(e){var t=e.effects;if(t!==null){e.effects=null;for(var n=0;nCBt(l))).then(l=>{i?.activate(),o();try{n([...e.map(r),...l])}catch(c){(s.f&Mp)===0&&d8(c,s)}i?.deactivate(),Pit()}).catch(l=>{a.error(l)})}function OBt(){var e=un,t=Mn,n=Qr,r=Ui;return function(){dh(e),Ec(t),nS(n),r?.activate()}}function Pit(){dh(null),Ec(null),nS(null)}const bk=new Set;let Ui=null,nB=new Set,ap=[],mA=null,v5=!1,cv=!1;class Hg{current=new Map;#t=new Map;#e=new Set;#n=0;#r=null;#u=!1;#s=[];#a=[];#i=[];#o=[];#l=[];#h=[];#f=[];skipped_effects=new Set;process(t){ap=[];for(const i of t)this.#d(i);if(this.#s.length===0&&this.#n===0){this.#p();var n=this.#i,r=this.#o;this.#i=[],this.#o=[],this.#l=[],Ui=null,rB(n),rB(r),Ui===null?Ui=this:bk.delete(this),this.#r?.resolve()}else this.#c(this.#i),this.#c(this.#o),this.#c(this.#l);for(const i of this.#s)lg(i);for(const i of this.#a)lg(i);this.#s=[],this.#a=[]}#d(t){t.f^=is;for(var n=t.first;n!==null;){var r=n.f,i=(r&(Qu|kp))!==0,s=i&&(r&is)!==0,o=s||(r&hl)!==0||this.skipped_effects.has(n);if(!o&&n.fn!==null){if(i)n.f^=is;else if((r&n8)!==0)this.#o.push(n);else if((r&is)===0)if((r&s8)!==0){var a=n.b?.is_pending()?this.#a:this.#s;a.push(n)}else yA(n)&&((n.f&Rm)!==0&&this.#l.push(n),lg(n));var l=n.first;if(l!==null){n=l;continue}}var c=n.parent;for(n=n.next;n===null&&c!==null;)n=c.next,c=c.parent}}#c(t){for(const n of t)((n.f&ja)!==0?this.#h:this.#f).push(n),ho(n,is);t.length=0}capture(t,n){this.#t.has(t)||this.#t.set(t,n),this.current.set(t,t.v)}activate(){Ui=this}deactivate(){Ui=null;for(const t of nB)if(nB.delete(t),t(),Ui!==null)break}neuter(){this.#u=!0}flush(){ap.length>0?Uit():this.#p(),Ui===this&&(this.#n===0&&bk.delete(this),this.deactivate())}#p(){if(!this.#u)for(const t of this.#e)t();this.#e.clear()}increment(){this.#n+=1}decrement(){if(this.#n-=1,this.#n===0){for(const t of this.#h)ho(t,ja),Gg(t);for(const t of this.#f)ho(t,$h),Gg(t);this.#i=[],this.#o=[],this.flush()}else this.deactivate()}add_callback(t){this.#e.add(t)}settled(){return(this.#r??=rBt()).promise}static ensure(){if(Ui===null){const t=Ui=new Hg;bk.add(Ui),cv||Hg.enqueue(()=>{Ui===t&&t.flush()})}return Ui}static enqueue(t){pA(t)}}function LBt(e){var t=cv;cv=!0;try{for(var n;;){if(IBt(),ap.length===0&&!kBt()&&(Ui?.flush(),ap.length===0))return mA=null,n;Uit()}}finally{cv=t}}function Uit(){var e=ag;v5=!0;try{var t=0;for(sB(!0);ap.length>0;){var n=Hg.ensure();if(t++>1e3){var r,i;DBt()}n.process(ap),Wf.clear()}}finally{v5=!1,sB(e),mA=null}}function DBt(){try{uBt()}catch(e){d8(e,mA)}}let cd=null;function rB(e){var t=e.length;if(t!==0){for(var n=0;n0)){Wf.clear();for(const i of cd)lg(i);cd=[]}}cd=null}}function Gg(e){for(var t=mA=e;t.parent!==null;){t=t.parent;var n=t.f;if(v5&&t===un&&(n&Rm)!==0)return;if((n&(kp|Qu))!==0){if((n&is)===0)return;t.f^=is}}ap.push(t)}const Wf=new Map;function u1(e,t){var n={f:0,v:e,reactions:null,equals:_it,rv:0,wv:0};return n}function Kt(e,t){const n=u1(e);return jit(n),n}function zit(e,t=!1,n=!0){const r=u1(e);return t||(r.equals=wit),bb&&n&&Qr!==null&&Qr.l!==null&&(Qr.l.s??=[]).push(r),r}function It(e,t,n=!1){Mn!==null&&(!ec||(Mn.f&tB)!==0)&&Cm()&&(Mn.f&(Ho|Rm|s8|tB))!==0&&!Mu?.includes(e)&&pBt();let r=n?ls(t):t;return f1(e,r)}function f1(e,t){if(!e.equals(t)){var n=e.v;Ip?Wf.set(e,t):Wf.set(e,n),e.v=t;var r=Hg.ensure();r.capture(e,n),(e.f&Ho)!==0&&((e.f&ja)!==0&&p8(e),ho(e,(e.f&Oa)===0?is:$h)),e.wv=Wit(),qit(e,ja),Cm()&&un!==null&&(un.f&is)!==0&&(un.f&(Qu|kp))===0&&(fa===null?BBt([e]):fa.push(e))}return t}function _k(e){It(e,e.v+1)}function qit(e,t){var n=e.reactions;if(n!==null)for(var r=Cm(),i=n.length,s=0;s{Promise.resolve().then(()=>{if(!e.defaultPrevented)for(const t of e.target.elements)t.__on_r?.()})},{capture:!0}))}function g8(e){var t=Mn,n=un;Ec(null),dh(null);try{return e()}finally{Ec(t),dh(n)}}let ag=!1;function sB(e){ag=e}let Ip=!1;function oB(e){Ip=e}let Mn=null,ec=!1;function Ec(e){Mn=e}let un=null;function dh(e){un=e}let Mu=null;function jit(e){Mn!==null&&(Mu===null?Mu=[e]:Mu.push(e))}let Ts=null,Ro=0,fa=null;function BBt(e){fa=e}let Vit=1,h1=0,Pd=h1;function aB(e){Pd=e}let Ff=!1;function Wit(){return++Vit}function yA(e){var t=e.f;if((t&ja)!==0)return!0;if((t&$h)!==0){var n=e.deps,r=(t&Oa)!==0;if(n!==null){var i,s,o=(t&tS)!==0,a=r&&un!==null&&!Ff,l=n.length;if((o||a)&&(un===null||(un.f&Mp)===0)){var c=e,u=c.parent;for(i=0;ie.wv)return!0}(!r||un!==null&&!Ff)&&ho(e,is)}return!1}function Yit(e,t,n=!0){var r=e.reactions;if(r!==null&&!Mu?.includes(e))for(var i=0;i{e.ac.abort(o8)}),e.ac=null);try{e.f|=p5;var f=e.fn,h=f(),d=e.deps;if(Ts!==null){var g;if(rS(e,Ro),d!==null&&Ro>0)for(d.length=Ro+Ts.length,g=0;gnew Promise(r=>{n.outro?_A(t,()=>{Tc(t),r(void 0)}):(Tc(t),r(void 0))})}function wb(e){return tf(n8,e,!1)}function YBt(e){return tf(s8|vb,e,!0)}function Kit(e,t=0){return tf(r8|t,e,!0)}function ai(e,t=[],n=[]){$Bt(t,n,r=>{tf(r8,()=>e(...r.map(G)),!0)})}function bA(e,t=0){var n=tf(Rm|t,e,!0);return n}function ph(e,t=!0){return tf(Qu|vb,e,!0,t)}function Jit(e){var t=e.teardown;if(t!==null){const n=Ip,r=Mn;oB(!0),Ec(null);try{t.call(null)}finally{oB(n),Ec(r)}}}function Zit(e,t=!1){var n=e.first;for(e.first=e.last=null;n!==null;){const i=n.ac;i!==null&&g8(()=>{i.abort(o8)});var r=n.next;(n.f&kp)!==0?n.parent=null:Tc(n,t),n=r}}function HBt(e){for(var t=e.first;t!==null;){var n=t.next;(t.f&Qu)===0&&Tc(t),t=n}}function Tc(e,t=!0){var n=!1;(t||(e.f&KFt)!==0)&&e.nodes_start!==null&&e.nodes_end!==null&&(GBt(e.nodes_start,e.nodes_end),n=!0),Zit(e,t&&!n),rS(e,0),ho(e,Mp);var r=e.transitions;if(r!==null)for(const s of r)s.stop();Jit(e);var i=e.parent;i!==null&&i.first!==null&&Qit(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes_start=e.nodes_end=e.ac=null}function GBt(e,t){for(;e!==null;){var n=e===t?null:Oh(e);e.remove(),e=n}}function Qit(e){var t=e.parent,n=e.prev,r=e.next;n!==null&&(n.next=r),r!==null&&(r.prev=n),t!==null&&(t.first===e&&(t.first=r),t.last===e&&(t.last=n))}function _A(e,t){var n=[];m8(e,n,!0),tst(n,()=>{Tc(e),t&&t()})}function tst(e,t){var n=e.length;if(n>0){var r=()=>--n||t();for(var i of e)i.out(r)}else t()}function m8(e,t,n){if((e.f&hl)===0){if(e.f^=hl,e.transitions!==null)for(const o of e.transitions)(o.is_global||n)&&t.push(o);for(var r=e.first;r!==null;){var i=r.next,s=(r.f&uA)!==0||(r.f&Qu)!==0;m8(r,t,s?n:!1),r=i}}}function y8(e){est(e,!0)}function est(e,t){if((e.f&hl)!==0){e.f^=hl,(e.f&is)===0&&(ho(e,ja),Gg(e));for(var n=e.first;n!==null;){var r=n.next,i=(n.f&uA)!==0||(n.f&Qu)!==0;est(n,i?t:!1),n=r}if(e.transitions!==null)for(const s of e.transitions)(s.is_global||t)&&s.in()}}const nst=new Set,_5=new Set;function XBt(e){if(!$n)return;e.removeAttribute("onload"),e.removeAttribute("onerror");const t=e.__e;t!==void 0&&(e.__e=void 0,queueMicrotask(()=>{e.isConnected&&e.dispatchEvent(t)}))}function KBt(e,t,n,r={}){function i(s){if(r.capture||Vy.call(t,s),!s.cancelBubble)return g8(()=>n?.call(this,s))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?pA(()=>{t.addEventListener(e,i,r)}):t.addEventListener(e,i,r),i}function Xg(e,t,n,r,i){var s={capture:r,passive:i},o=KBt(e,t,n,s);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&VBt(()=>{t.removeEventListener(e,o,s)})}function ef(e){for(var t=0;t{throw _});throw h}}finally{e.__root=t,delete e.currentTarget,Ec(u),dh(f)}}}function JBt(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function cg(e,t){var n=un;n.nodes_start===null&&(n.nodes_start=e,n.nodes_end=t)}function Ln(e,t){var n=(t&bBt)!==0,r=(t&_Bt)!==0,i,s=!e.startsWith("");return()=>{if($n)return cg(hr,null),hr;i===void 0&&(i=JBt(s?e:""+e),n||(i=op(i)));var o=r||Mit?document.importNode(i,!0):i.cloneNode(!0);if(n){var a=op(o),l=o.lastChild;cg(a,l)}else cg(o,o);return o}}function ud(){if($n)return cg(hr,null),hr;var e=document.createDocumentFragment(),t=document.createComment(""),n=hh();return e.append(t,n),cg(t,n),e}function Ze(e,t){if($n){un.nodes_end=hr,_b();return}e!==null&&e.before(t)}const ZBt=["touchstart","touchmove"];function QBt(e){return ZBt.includes(e)}function Lc(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??=e.nodeValue)&&(e.__t=n,e.nodeValue=n+"")}function rst(e,t){return ist(e,t)}function t9t(e,t){y5(),t.intro=t.intro??!1;const n=t.target,r=$n,i=hr;try{for(var s=op(n);s&&(s.nodeType!==c1||s.data!==Ait);)s=Oh(s);if(!s)throw og;vu(!0),dl(s),_b();const o=ist(e,{...t,anchor:s});if(hr===null||hr.nodeType!==c1||hr.data!==h8)throw dA(),og;return vu(!1),o}catch(o){if(o instanceof Error&&o.message.split(` `).some(a=>a.startsWith("https://svelte.dev/e/")))throw o;return o!==og&&console.warn("Failed to hydrate: ",o),t.recover===!1&&fBt(),y5(),Cit(n),vu(!1),rst(e,t)}finally{vu(r),dl(i)}}const d0=new Map;function ist(e,{target:t,anchor:n,props:r={},events:i,context:s,intro:o=!0}){y5();var a=new Set,l=f=>{for(var h=0;h{var f=n??t.appendChild(hh());return ph(()=>{if(s){ti({});var h=Qr;h.c=s}i&&(r.$$events=i),$n&&cg(f,null),c=e(f,r)||{},$n&&(un.nodes_end=hr),s&&ei()}),()=>{for(var h of a){t.removeEventListener(h,Vy);var d=d0.get(h);--d===0?(document.removeEventListener(h,Vy),d0.delete(h)):d0.set(h,d)}_5.delete(l),f!==n&&f.parentNode?.removeChild(f)}});return w5.set(c,u),c}let w5=new WeakMap;function e9t(e,t){const n=w5.get(e);return n?(w5.delete(e),n(t)):Promise.resolve()}function n9t(e){return new r9t(e)}class r9t{#t;#e;constructor(t){var n=new Map,r=(s,o)=>{var a=zit(o,!1,!1);return n.set(s,a),a};const i=new Proxy({...t.props||{},$$events:{}},{get(s,o){return G(n.get(o)??r(o,Reflect.get(s,o)))},has(s,o){return o===git?!0:(G(n.get(o)??r(o,Reflect.get(s,o))),Reflect.has(s,o))},set(s,o,a){return It(n.get(o)??r(o,a),a),Reflect.set(s,o,a)}});this.#e=(t.hydrate?t9t:rst)(t.component,{target:t.target,anchor:t.anchor,props:i,context:t.context,intro:t.intro??!1,recover:t.recover}),(!t?.props?.$$host||t.sync===!1)&&LBt(),this.#t=i.$$events;for(const s of Object.keys(this.#e))s==="$set"||s==="$destroy"||s==="$on"||eS(this,s,{get(){return this.#e[s]},set(o){this.#e[s]=o},enumerable:!0});this.#e.$set=s=>{Object.assign(i,s)},this.#e.$destroy=()=>{e9t(this.#e)}}$set(t){this.#e.$set(t)}$on(t,n){this.#t[t]=this.#t[t]||[];const r=(...i)=>n.call(this,...i);return this.#t[t].push(r),()=>{this.#t[t]=this.#t[t].filter(i=>i!==r)}}$destroy(){this.#e.$destroy()}}const i9t="5";typeof window<"u"&&((window.__svelte??={}).v??=new Set).add(i9t);function v8(e,t,...n){var r=e,i=nBt,s;bA(()=>{i!==(i=t())&&(s&&(Tc(s),s=null),s=ph(()=>i(r,...n)))},uA),$n&&(r=hr)}function Nm(e){Qr===null&&xit(),bb&&Qr.l!==null?s9t(Qr).m.push(e):zr(()=>{const t=vA(e);if(typeof t=="function")return t})}function s9t(e){var t=e.l;return t.u??={a:[],b:[],m:[]}}function io(e,t,n=!1){$n&&_b();var r=e,i=null,s=null,o=Ci,a=n?uA:0,l=!1;const c=(h,d=!0)=>{l=!0,f(d,h)};function u(){var h=o?i:s,d=o?s:i;h&&y8(h),d&&_A(d,()=>{o?s=null:i=null})}const f=(h,d)=>{if(o===(o=h))return;let g=!1;if($n){const b=kit(r)===f8;!!o===b&&(r=g5(),dl(r),vu(!1),g=!0)}var y=Nit(),v=r;o?i??=d&&ph(()=>d(v)):s??=d&&ph(()=>d(v)),y||u(),g&&vu(!0)};bA(()=>{l=!1,t(c),l||f(null,null)},a),$n&&(r=hr)}function o9t(e,t,n){$n&&_b();var r=e,i=Ci,s,o,a=null,l=Cm()?iBt:l8;function c(){s&&_A(s),a!==null&&(a.lastChild.remove(),r.before(a),a=null),s=o}bA(()=>{if(l(i,i=t())){var u=r,f=Nit();f&&(a=document.createDocumentFragment(),a.append(u=hh())),o=ph(()=>n(u)),f?Ui.add_callback(c):c()}}),$n&&(r=hr)}function a9t(e,t){return t}function l9t(e,t,n){for(var r=e.items,i=[],s=t.length,o=0;o0&&i.length===0&&n!==null;if(a){var l=n.parentNode;Cit(l),l.append(n),r.clear(),Wl(e,t[0].prev,t[s-1].next)}tst(i,()=>{for(var c=0;c{var b=n();return fA(b)?b:b==null?[]:a8(b)}),g,y;function v(){c9t(y,g,a,h,o,i,t,r,n),s!==null&&(g.length===0?u?y8(u):u=ph(()=>s(o)):u!==null&&_A(u,()=>{u=null}))}bA(()=>{y??=un,g=G(d);var b=g.length;if(f&&b===0)return;f=b===0;let _=!1;if($n){var x=kit(o)===f8;x!==(b===0)&&(o=g5(),dl(o),vu(!1),_=!0)}if($n){for(var A=null,k,S=0;S0&&dl(g5())}$n?b===0&&s&&(u=ph(()=>s(o))):v(),_&&vu(!0),G(d)}),$n&&(o=hr)}function c9t(e,t,n,r,i,s,o,a,l){var c=(o&yBt)!==0,u=(o&(c8|u8))!==0,f=t.length,h=n.items,d=n.first,g=d,y,v=null,b,_=[],x=[],A,k,S,T;if(c)for(T=0;T0){var B=(o&Sit)!==0&&f===0?i:null;if(c){for(T=0;T{if(b!==void 0)for(S of b)S.a?.apply()}),e.first=n.first&&n.first.e,e.last=v&&v.e;for(var V of r.values())Tc(V.e);r.clear()}function u9t(e,t,n,r){(r&c8)!==0&&f1(e.v,t),(r&u8)!==0?f1(e.i,n):e.i=n}function sst(e,t,n,r,i,s,o,a,l,c,u){var f=(l&c8)!==0,h=(l&vBt)===0,d=f?h?zit(i,!1,!1):u1(i):i,g=(l&u8)===0?o:u1(o),y={i:g,v:d,k:s,a:null,e:null,prev:n,next:r};try{if(e===null){var v=document.createDocumentFragment();v.append(e=hh())}return y.e=ph(()=>a(e,d,g,c),$n),y.e.prev=n&&n.e,y.e.next=r&&r.e,n===null?u||(t.first=y):(n.next=y,n.e.next=y.e),r!==null&&(r.prev=y,r.e.prev=y.e),y}finally{}}function wk(e,t,n){for(var r=e.next?e.next.e.nodes_start:n,i=t?t.e.nodes_start:n,s=e.e.nodes_start;s!==null&&s!==r;){var o=Oh(s);i.before(s),s=o}}function Wl(e,t,n){t===null?e.first=n:(t.next=n,t.e.next=n&&n.e),n!==null&&(n.prev=t,n.e.prev=t&&t.e)}function ni(e,t){wb(()=>{var n=e.getRootNode(),r=n.host?n:n.head??n.ownerDocument.head;if(!r.querySelector("#"+t.hash)){const i=document.createElement("style");i.id=t.hash,i.textContent=t.code,r.appendChild(i)}})}function b8(e,t,n){wb(()=>{var r=vA(()=>t(e,n?.())||{});if(n&&r?.update){var i=!1,s={};Kit(()=>{var o=n();zBt(o),i&&l8(s,o)&&(s=o,r.update(o))}),i=!0}if(r?.destroy)return()=>r.destroy()})}function f9t(e,t,n){var r=e==null?"":""+e;return t&&(r=r?r+" "+t:t),r===""?null:r}function cB(e,t=!1){var n=t?" !important;":";",r="";for(var i in e){var s=e[i];s!=null&&s!==""&&(r+=" "+i+": "+s+n)}return r}function h9t(e,t){if(t){var n="",r,i;return Array.isArray(t)?(r=t[0],i=t[1]):r=t,r&&(n+=cB(r)),i&&(n+=cB(i,!0)),n=n.trim(),n===""?null:n}return String(e)}function gh(e,t,n,r,i,s){var o=e.__className;if($n||o!==n||o===void 0){var a=f9t(n,r);(!$n||a!==e.getAttribute("class"))&&(a==null?e.removeAttribute("class"):e.className=a),e.__className=n}return s}function xk(e,t={},n,r){for(var i in n){var s=n[i];t[i]!==s&&(n[i]==null?e.style.removeProperty(i):e.style.setProperty(i,s,r))}}function bo(e,t,n,r){var i=e.__style;if($n||i!==t){var s=h9t(t,r);(!$n||s!==e.getAttribute("style"))&&(s==null?e.removeAttribute("style"):e.style.cssText=s),e.__style=t}else r&&(Array.isArray(r)?(xk(e,n?.[0],r[0]),xk(e,n?.[1],r[1],"important")):xk(e,n,r));return r}const d9t=Symbol("is custom element"),p9t=Symbol("is html");function g9t(e){if($n){var t=!1,n=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var r=e.value;d1(e,"value",null),e.value=r}if(e.hasAttribute("checked")){var i=e.checked;d1(e,"checked",null),e.checked=i}}};e.__on_r=n,MBt(n),FBt()}}function m9t(e,t){var n=ost(e);n.checked!==(n.checked=t??void 0)&&(e.checked=t)}function d1(e,t,n,r){var i=ost(e);$n&&(i[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")||i[t]!==(i[t]=n)&&(t==="loading"&&(e[ZFt]=n),n==null?e.removeAttribute(t):typeof n!="string"&&y9t(e).includes(t)?e[t]=n:e.setAttribute(t,n))}function ost(e){return e.__attributes??={[d9t]:e.nodeName.includes("-"),[p9t]:e.namespaceURI===wBt}}var uB=new Map;function y9t(e){var t=e.getAttribute("is")||e.nodeName,n=uB.get(t);if(n)return n;uB.set(t,n=[]);for(var r,i=e,s=Element.prototype;s!==i;){r=yit(i);for(var o in r)r[o].set&&n.push(o);i=hA(i)}return n}class _8{#t=new WeakMap;#e;#n;static entries=new WeakMap;constructor(t){this.#n=t}observe(t,n){var r=this.#t.get(t)||new Set;return r.add(n),this.#t.set(t,r),this.#r().observe(t,this.#n),()=>{var i=this.#t.get(t);i.delete(n),i.size===0&&(this.#t.delete(t),this.#e.unobserve(t))}}#r(){return this.#e??(this.#e=new ResizeObserver(t=>{for(var n of t){_8.entries.set(n.target,n);for(var r of this.#t.get(n.target)||[])r(n)}}))}}var v9t=new _8({box:"border-box"});function xl(e,t,n){var r=v9t.observe(e,()=>n(e[t]));wb(()=>(vA(()=>n(e[t])),r))}function fB(e,t){return e===t||e?.[Bd]===t}function Bs(e={},t,n,r){return wb(()=>{var i,s;return Kit(()=>{i=s,s=[],vA(()=>{e!==n(...s)&&(t(e,...s),i&&fB(n(...i),e)&&t(null,...i))})}),()=>{pA(()=>{s&&fB(n(...s),e)&&t(null,...s)})}}),e}let iw=!1;function b9t(e){var t=iw;try{return iw=!1,[e(),iw]}finally{iw=t}}function $m(e,t,n,r){var i=r,s=!0,o=()=>(s&&(s=!1,i=r),i),a;{var l=Bd in e||git in e;a=sg(e,t)?.set??(l&&t in e?v=>e[t]=v:void 0)}var c,u=!1;[c,u]=b9t(()=>e[t]);var f;if(f=()=>{var v=e[t];return v===void 0?o():(s=!0,v)},a){var h=e.$$legacy;return(function(v,b){return arguments.length>0?((!b||h||u)&&a(b?f():v),v):f()})}var d=!1,g=gA(()=>(d=!1,f()));G(g);var y=un;return(function(v,b){if(arguments.length>0){const _=b?G(g):ls(v);return It(g,_),d=!0,i!==void 0&&(i=_),v}return Ip&&d||(y.f&Mp)!==0?g.v:G(g)})}var Bf=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function w8(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Uw={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors * Released under MIT license * Based on Underscore.js 1.8.3 * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors */var _9t=Uw.exports,hB;function w9t(){return hB||(hB=1,(function(e,t){(function(){var n,r="4.17.21",i=200,s="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",o="Expected a function",a="Invalid `variable` option passed into `_.template`",l="__lodash_hash_undefined__",c=500,u="__lodash_placeholder__",f=1,h=2,d=4,g=1,y=2,v=1,b=2,_=4,x=8,A=16,k=32,S=64,T=128,M=256,I=512,N=30,C="...",L=800,F=16,$=1,D=2,O=3,B=1/0,V=9007199254740991,U=17976931348623157e292,q=NaN,z=4294967295,Y=z-1,Q=z>>>1,gt=[["ary",T],["bind",v],["bindKey",b],["curry",x],["curryRight",A],["flip",I],["partial",k],["partialRight",S],["rearg",M]],yt="[object Arguments]",pt="[object Array]",lt="[object AsyncFunction]",ft="[object Boolean]",J="[object Date]",et="[object DOMException]",vt="[object Error]",at="[object Function]",kt="[object GeneratorFunction]",Mt="[object Map]",Bt="[object Number]",Ut="[object Null]",St="[object Object]",jt="[object Promise]",Fe="[object Proxy]",Yt="[object RegExp]",oe="[object Set]",Xe="[object String]",ae="[object Symbol]",yn="[object Undefined]",fn="[object WeakMap]",Br="[object WeakSet]",Pr="[object ArrayBuffer]",He="[object DataView]",en="[object Float32Array]",Xn="[object Float64Array]",ci="[object Int8Array]",Gi="[object Int16Array]",Ws="[object Int32Array]",ui="[object Uint8Array]",Ti="[object Uint8ClampedArray]",Jo="[object Uint16Array]",nf="[object Uint32Array]",Lh=/\b__p \+= '';/g,Dc=/\b(__p \+=) '' \+/g,Np=/(__e\(.*?\)|\b__t\)) \+\n'';/g,$p=/&(?:amp|lt|gt|quot|#39);/g,Fc=/[&<>"']/g,ys=RegExp($p.source),rf=RegExp(Fc.source),Op=/<%-([\s\S]+?)%>/g,Dh=/<%([\s\S]+?)%>/g,Fh=/<%=([\s\S]+?)%>/g,Bh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Om=/^\w*$/,Lp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,sf=/[\\^$.*+?()[\]{}|]/g,Ph=RegExp(sf.source),Uh=/^\s+/,Dp=/\s/,Lm=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Rt=/\{\n\/\* \[wrapped with (.+)\] \*/,Vt=/,? & /,Ht=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ee=/[()=,{}\[\]\/\s]/,Zt=/\\(\\)?/g,$e=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,In=/\w*$/,Rn=/^[-+]0x[0-9a-f]+$/i,Ct=/^0b[01]+$/i,Lt=/^\[object .+?Constructor\]$/,qt=/^0o[0-7]+$/i,xe=/^(?:0|[1-9]\d*)$/,Ke=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Sn=/($^)/,An=/['\n\r\u2028\u2029\\]/g,Qt="\\ud800-\\udfff",Dn="\\u0300-\\u036f",wr="\\ufe20-\\ufe2f",ki="\\u20d0-\\u20ff",mi=Dn+wr+ki,En="\\u2700-\\u27bf",sr="a-z\\xdf-\\xf6\\xf8-\\xff",$l="\\xac\\xb1\\xd7\\xf7",Di="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",vs="\\u2000-\\u206f",zh=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Fp="A-Z\\xc0-\\xd6\\xd8-\\xde",Eb="\\ufe0e\\ufe0f",Tb=$l+Di+vs+zh,qh="['’]",fot="["+Qt+"]",V8="["+Tb+"]",kb="["+mi+"]",W8="\\d+",hot="["+En+"]",Y8="["+sr+"]",H8="[^"+Qt+Tb+W8+En+sr+Fp+"]",IA="\\ud83c[\\udffb-\\udfff]",dot="(?:"+kb+"|"+IA+")",G8="[^"+Qt+"]",RA="(?:\\ud83c[\\udde6-\\uddff]){2}",CA="[\\ud800-\\udbff][\\udc00-\\udfff]",Bp="["+Fp+"]",X8="\\u200d",K8="(?:"+Y8+"|"+H8+")",pot="(?:"+Bp+"|"+H8+")",J8="(?:"+qh+"(?:d|ll|m|re|s|t|ve))?",Z8="(?:"+qh+"(?:D|LL|M|RE|S|T|VE))?",Q8=dot+"?",tN="["+Eb+"]?",got="(?:"+X8+"(?:"+[G8,RA,CA].join("|")+")"+tN+Q8+")*",mot="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",yot="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",eN=tN+Q8+got,vot="(?:"+[hot,RA,CA].join("|")+")"+eN,bot="(?:"+[G8+kb+"?",kb,RA,CA,fot].join("|")+")",_ot=RegExp(qh,"g"),wot=RegExp(kb,"g"),NA=RegExp(IA+"(?="+IA+")|"+bot+eN,"g"),xot=RegExp([Bp+"?"+Y8+"+"+J8+"(?="+[V8,Bp,"$"].join("|")+")",pot+"+"+Z8+"(?="+[V8,Bp+K8,"$"].join("|")+")",Bp+"?"+K8+"+"+J8,Bp+"+"+Z8,yot,mot,W8,vot].join("|"),"g"),Sot=RegExp("["+X8+Qt+mi+Eb+"]"),Aot=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Eot=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Tot=-1,xr={};xr[en]=xr[Xn]=xr[ci]=xr[Gi]=xr[Ws]=xr[ui]=xr[Ti]=xr[Jo]=xr[nf]=!0,xr[yt]=xr[pt]=xr[Pr]=xr[ft]=xr[He]=xr[J]=xr[vt]=xr[at]=xr[Mt]=xr[Bt]=xr[St]=xr[Yt]=xr[oe]=xr[Xe]=xr[fn]=!1;var br={};br[yt]=br[pt]=br[Pr]=br[He]=br[ft]=br[J]=br[en]=br[Xn]=br[ci]=br[Gi]=br[Ws]=br[Mt]=br[Bt]=br[St]=br[Yt]=br[oe]=br[Xe]=br[ae]=br[ui]=br[Ti]=br[Jo]=br[nf]=!0,br[vt]=br[at]=br[fn]=!1;var kot={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Mot={"&":"&","<":"<",">":">",'"':""","'":"'"},Iot={"&":"&","<":"<",">":">",""":'"',"'":"'"},Rot={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Cot=parseFloat,Not=parseInt,nN=typeof Bf=="object"&&Bf&&Bf.Object===Object&&Bf,$ot=typeof self=="object"&&self&&self.Object===Object&&self,Fi=nN||$ot||Function("return this")(),$A=t&&!t.nodeType&&t,jh=$A&&!0&&e&&!e.nodeType&&e,rN=jh&&jh.exports===$A,OA=rN&&nN.process,Zo=(function(){try{var ut=jh&&jh.require&&jh.require("util").types;return ut||OA&&OA.binding&&OA.binding("util")}catch{}})(),iN=Zo&&Zo.isArrayBuffer,sN=Zo&&Zo.isDate,oN=Zo&&Zo.isMap,aN=Zo&&Zo.isRegExp,lN=Zo&&Zo.isSet,cN=Zo&&Zo.isTypedArray;function xo(ut,wt,bt){switch(bt.length){case 0:return ut.call(wt);case 1:return ut.call(wt,bt[0]);case 2:return ut.call(wt,bt[0],bt[1]);case 3:return ut.call(wt,bt[0],bt[1],bt[2])}return ut.apply(wt,bt)}function Oot(ut,wt,bt,Gt){for(var Pe=-1,Fn=ut==null?0:ut.length;++Pe-1}function LA(ut,wt,bt){for(var Gt=-1,Pe=ut==null?0:ut.length;++Gt-1;);return bt}function yN(ut,wt){for(var bt=ut.length;bt--&&Pp(wt,ut[bt],0)>-1;);return bt}function jot(ut,wt){for(var bt=ut.length,Gt=0;bt--;)ut[bt]===wt&&++Gt;return Gt}var Vot=PA(kot),Wot=PA(Mot);function Yot(ut){return"\\"+Rot[ut]}function Hot(ut,wt){return ut==null?n:ut[wt]}function Up(ut){return Sot.test(ut)}function Got(ut){return Aot.test(ut)}function Xot(ut){for(var wt,bt=[];!(wt=ut.next()).done;)bt.push(wt.value);return bt}function jA(ut){var wt=-1,bt=Array(ut.size);return ut.forEach(function(Gt,Pe){bt[++wt]=[Pe,Gt]}),bt}function vN(ut,wt){return function(bt){return ut(wt(bt))}}function lf(ut,wt){for(var bt=-1,Gt=ut.length,Pe=0,Fn=[];++bt-1}function Dat(p,m){var E=this.__data__,R=Wb(E,p);return R<0?(++this.size,E.push([p,m])):E[R][1]=m,this}Bc.prototype.clear=Nat,Bc.prototype.delete=$at,Bc.prototype.get=Oat,Bc.prototype.has=Lat,Bc.prototype.set=Dat;function Pc(p){var m=-1,E=p==null?0:p.length;for(this.clear();++m=m?p:m)),p}function na(p,m,E,R,P,W){var K,rt=m&f,ht=m&h,At=m&d;if(E&&(K=P?E(p,R,P,W):E(p)),K!==n)return K;if(!Ur(p))return p;var Et=qe(p);if(Et){if(K=Ult(p),!rt)return Ys(p,K)}else{var $t=Ki(p),zt=$t==at||$t==kt;if(pf(p))return t$(p,rt);if($t==St||$t==yt||zt&&!P){if(K=ht||zt?{}:b$(p),!rt)return ht?Ilt(p,Zat(K,p)):Mlt(p,RN(K,p))}else{if(!br[$t])return P?p:{};K=zlt(p,$t,rt)}}W||(W=new Ha);var ne=W.get(p);if(ne)return ne;W.set(p,K),G$(p)?p.forEach(function(Ae){K.add(na(Ae,m,E,Ae,p,W))}):Y$(p)&&p.forEach(function(Ae,sn){K.set(sn,na(Ae,m,E,sn,p,W))});var Se=At?ht?gE:pE:ht?Gs:Mi,Ge=Et?n:Se(p);return Qo(Ge||p,function(Ae,sn){Ge&&(sn=Ae,Ae=p[sn]),qm(K,sn,na(Ae,m,E,sn,p,W))}),K}function Qat(p){var m=Mi(p);return function(E){return CN(E,p,m)}}function CN(p,m,E){var R=E.length;if(p==null)return!R;for(p=ur(p);R--;){var P=E[R],W=m[P],K=p[P];if(K===n&&!(P in p)||!W(K))return!1}return!0}function NN(p,m,E){if(typeof p!="function")throw new ta(o);return Xm(function(){p.apply(n,E)},m)}function jm(p,m,E,R){var P=-1,W=Mb,K=!0,rt=p.length,ht=[],At=m.length;if(!rt)return ht;E&&(m=Rr(m,So(E))),R?(W=LA,K=!1):m.length>=i&&(W=Dm,K=!1,m=new Yh(m));t:for(;++PP?0:P+E),R=R===n||R>P?P:Ve(R),R<0&&(R+=P),R=E>R?0:K$(R);E0&&E(rt)?m>1?Bi(rt,m-1,E,R,P):af(P,rt):R||(P[P.length]=rt)}return P}var KA=o$(),LN=o$(!0);function Ol(p,m){return p&&KA(p,m,Mi)}function JA(p,m){return p&&LN(p,m,Mi)}function Hb(p,m){return of(m,function(E){return Vc(p[E])})}function Gh(p,m){m=hf(m,p);for(var E=0,R=m.length;p!=null&&Em}function nlt(p,m){return p!=null&&Kn.call(p,m)}function rlt(p,m){return p!=null&&m in ur(p)}function ilt(p,m,E){return p>=Xi(m,E)&&p=120&&Et.length>=120)?new Yh(K&&Et):n}Et=p[0];var $t=-1,zt=rt[0];t:for(;++$t-1;)rt!==p&&Bb.call(rt,ht,1),Bb.call(p,ht,1);return p}function YN(p,m){for(var E=p?m.length:0,R=E-1;E--;){var P=m[E];if(E==R||P!==W){var W=P;jc(P)?Bb.call(p,P,1):aE(p,P)}}return p}function iE(p,m){return p+zb(TN()*(m-p+1))}function ylt(p,m,E,R){for(var P=-1,W=vi(Ub((m-p)/(E||1)),0),K=bt(W);W--;)K[R?W:++P]=p,p+=E;return K}function sE(p,m){var E="";if(!p||m<1||m>V)return E;do m%2&&(E+=p),m=zb(m/2),m&&(p+=p);while(m);return E}function Je(p,m){return xE(x$(p,m,Xs),p+"")}function vlt(p){return IN(Jp(p))}function blt(p,m){var E=Jp(p);return i_(E,Hh(m,0,E.length))}function Ym(p,m,E,R){if(!Ur(p))return p;m=hf(m,p);for(var P=-1,W=m.length,K=W-1,rt=p;rt!=null&&++PP?0:P+m),E=E>P?P:E,E<0&&(E+=P),P=m>E?0:E-m>>>0,m>>>=0;for(var W=bt(P);++R>>1,K=p[W];K!==null&&!Eo(K)&&(E?K<=m:K=i){var At=m?null:$lt(p);if(At)return Rb(At);K=!1,P=Dm,ht=new Yh}else ht=m?[]:rt;t:for(;++R=R?p:ra(p,m,E)}var QN=uat||function(p){return Fi.clearTimeout(p)};function t$(p,m){if(m)return p.slice();var E=p.length,R=wN?wN(E):new p.constructor(E);return p.copy(R),R}function fE(p){var m=new p.constructor(p.byteLength);return new Db(m).set(new Db(p)),m}function Alt(p,m){var E=m?fE(p.buffer):p.buffer;return new p.constructor(E,p.byteOffset,p.byteLength)}function Elt(p){var m=new p.constructor(p.source,In.exec(p));return m.lastIndex=p.lastIndex,m}function Tlt(p){return zm?ur(zm.call(p)):{}}function e$(p,m){var E=m?fE(p.buffer):p.buffer;return new p.constructor(E,p.byteOffset,p.length)}function n$(p,m){if(p!==m){var E=p!==n,R=p===null,P=p===p,W=Eo(p),K=m!==n,rt=m===null,ht=m===m,At=Eo(m);if(!rt&&!At&&!W&&p>m||W&&K&&ht&&!rt&&!At||R&&K&&ht||!E&&ht||!P)return 1;if(!R&&!W&&!At&&p=rt)return ht;var At=E[R];return ht*(At=="desc"?-1:1)}}return p.index-m.index}function r$(p,m,E,R){for(var P=-1,W=p.length,K=E.length,rt=-1,ht=m.length,At=vi(W-K,0),Et=bt(ht+At),$t=!R;++rt1?E[P-1]:n,K=P>2?E[2]:n;for(W=p.length>3&&typeof W=="function"?(P--,W):n,K&&_s(E[0],E[1],K)&&(W=P<3?n:W,P=1),m=ur(m);++R-1?P[W?m[K]:K]:n}}function c$(p){return qc(function(m){var E=m.length,R=E,P=ea.prototype.thru;for(p&&m.reverse();R--;){var W=m[R];if(typeof W!="function")throw new ta(o);if(P&&!K&&n_(W)=="wrapper")var K=new ea([],!0)}for(R=K?R:E;++R1&&hn.reverse(),Et&&htrt))return!1;var At=W.get(p),Et=W.get(m);if(At&&Et)return At==m&&Et==p;var $t=-1,zt=!0,ne=E&y?new Yh:n;for(W.set(p,m),W.set(m,p);++$t1?"& ":"")+m[R],m=m.join(E>2?", ":" "),p.replace(Lm,`{ /* [wrapped with `+m+`] */ `)}function jlt(p){return qe(p)||Jh(p)||!!(AN&&p&&p[AN])}function jc(p,m){var E=typeof p;return m=m??V,!!m&&(E=="number"||E!="symbol"&&xe.test(p))&&p>-1&&p%1==0&&p0){if(++m>=L)return arguments[0]}else m=0;return p.apply(n,arguments)}}function i_(p,m){var E=-1,R=p.length,P=R-1;for(m=m===n?R:m;++E1?p[m-1]:n;return E=typeof E=="function"?(p.pop(),E):n,O$(p,E)});function L$(p){var m=j(p);return m.__chain__=!0,m}function tut(p,m){return m(p),p}function s_(p,m){return m(p)}var eut=qc(function(p){var m=p.length,E=m?p[0]:0,R=this.__wrapped__,P=function(W){return XA(W,p)};return m>1||this.__actions__.length||!(R instanceof ln)||!jc(E)?this.thru(P):(R=R.slice(E,+E+(m?1:0)),R.__actions__.push({func:s_,args:[P],thisArg:n}),new ea(R,this.__chain__).thru(function(W){return m&&!W.length&&W.push(n),W}))});function nut(){return L$(this)}function rut(){return new ea(this.value(),this.__chain__)}function iut(){this.__values__===n&&(this.__values__=X$(this.value()));var p=this.__index__>=this.__values__.length,m=p?n:this.__values__[this.__index__++];return{done:p,value:m}}function sut(){return this}function out(p){for(var m,E=this;E instanceof Vb;){var R=M$(E);R.__index__=0,R.__values__=n,m?P.__wrapped__=R:m=R;var P=R;E=E.__wrapped__}return P.__wrapped__=p,m}function aut(){var p=this.__wrapped__;if(p instanceof ln){var m=p;return this.__actions__.length&&(m=new ln(this)),m=m.reverse(),m.__actions__.push({func:s_,args:[SE],thisArg:n}),new ea(m,this.__chain__)}return this.thru(SE)}function lut(){return JN(this.__wrapped__,this.__actions__)}var cut=Jb(function(p,m,E){Kn.call(p,E)?++p[E]:Uc(p,E,1)});function uut(p,m,E){var R=qe(p)?uN:tlt;return E&&_s(p,m,E)&&(m=n),R(p,pe(m,3))}function fut(p,m){var E=qe(p)?of:ON;return E(p,pe(m,3))}var hut=l$(I$),dut=l$(R$);function put(p,m){return Bi(o_(p,m),1)}function gut(p,m){return Bi(o_(p,m),B)}function mut(p,m,E){return E=E===n?1:Ve(E),Bi(o_(p,m),E)}function D$(p,m){var E=qe(p)?Qo:uf;return E(p,pe(m,3))}function F$(p,m){var E=qe(p)?Lot:$N;return E(p,pe(m,3))}var yut=Jb(function(p,m,E){Kn.call(p,E)?p[E].push(m):Uc(p,E,[m])});function vut(p,m,E,R){p=Hs(p)?p:Jp(p),E=E&&!R?Ve(E):0;var P=p.length;return E<0&&(E=vi(P+E,0)),f_(p)?E<=P&&p.indexOf(m,E)>-1:!!P&&Pp(p,m,E)>-1}var but=Je(function(p,m,E){var R=-1,P=typeof m=="function",W=Hs(p)?bt(p.length):[];return uf(p,function(K){W[++R]=P?xo(m,K,E):Vm(K,m,E)}),W}),_ut=Jb(function(p,m,E){Uc(p,E,m)});function o_(p,m){var E=qe(p)?Rr:UN;return E(p,pe(m,3))}function wut(p,m,E,R){return p==null?[]:(qe(m)||(m=m==null?[]:[m]),E=R?n:E,qe(E)||(E=E==null?[]:[E]),VN(p,m,E))}var xut=Jb(function(p,m,E){p[E?0:1].push(m)},function(){return[[],[]]});function Sut(p,m,E){var R=qe(p)?DA:pN,P=arguments.length<3;return R(p,pe(m,4),E,P,uf)}function Aut(p,m,E){var R=qe(p)?Dot:pN,P=arguments.length<3;return R(p,pe(m,4),E,P,$N)}function Eut(p,m){var E=qe(p)?of:ON;return E(p,c_(pe(m,3)))}function Tut(p){var m=qe(p)?IN:vlt;return m(p)}function kut(p,m,E){(E?_s(p,m,E):m===n)?m=1:m=Ve(m);var R=qe(p)?Xat:blt;return R(p,m)}function Mut(p){var m=qe(p)?Kat:wlt;return m(p)}function Iut(p){if(p==null)return 0;if(Hs(p))return f_(p)?zp(p):p.length;var m=Ki(p);return m==Mt||m==oe?p.size:eE(p).length}function Rut(p,m,E){var R=qe(p)?FA:xlt;return E&&_s(p,m,E)&&(m=n),R(p,pe(m,3))}var Cut=Je(function(p,m){if(p==null)return[];var E=m.length;return E>1&&_s(p,m[0],m[1])?m=[]:E>2&&_s(m[0],m[1],m[2])&&(m=[m[0]]),VN(p,Bi(m,1),[])}),a_=fat||function(){return Fi.Date.now()};function Nut(p,m){if(typeof m!="function")throw new ta(o);return p=Ve(p),function(){if(--p<1)return m.apply(this,arguments)}}function B$(p,m,E){return m=E?n:m,m=p&&m==null?p.length:m,zc(p,T,n,n,n,n,m)}function P$(p,m){var E;if(typeof m!="function")throw new ta(o);return p=Ve(p),function(){return--p>0&&(E=m.apply(this,arguments)),p<=1&&(m=n),E}}var EE=Je(function(p,m,E){var R=v;if(E.length){var P=lf(E,Xp(EE));R|=k}return zc(p,R,m,E,P)}),U$=Je(function(p,m,E){var R=v|b;if(E.length){var P=lf(E,Xp(U$));R|=k}return zc(m,R,p,E,P)});function z$(p,m,E){m=E?n:m;var R=zc(p,x,n,n,n,n,n,m);return R.placeholder=z$.placeholder,R}function q$(p,m,E){m=E?n:m;var R=zc(p,A,n,n,n,n,n,m);return R.placeholder=q$.placeholder,R}function j$(p,m,E){var R,P,W,K,rt,ht,At=0,Et=!1,$t=!1,zt=!0;if(typeof p!="function")throw new ta(o);m=sa(m)||0,Ur(E)&&(Et=!!E.leading,$t="maxWait"in E,W=$t?vi(sa(E.maxWait)||0,m):W,zt="trailing"in E?!!E.trailing:zt);function ne(ii){var Xa=R,Yc=P;return R=P=n,At=ii,K=p.apply(Yc,Xa),K}function Se(ii){return At=ii,rt=Xm(sn,m),Et?ne(ii):K}function Ge(ii){var Xa=ii-ht,Yc=ii-At,l7=m-Xa;return $t?Xi(l7,W-Yc):l7}function Ae(ii){var Xa=ii-ht,Yc=ii-At;return ht===n||Xa>=m||Xa<0||$t&&Yc>=W}function sn(){var ii=a_();if(Ae(ii))return hn(ii);rt=Xm(sn,Ge(ii))}function hn(ii){return rt=n,zt&&R?ne(ii):(R=P=n,K)}function To(){rt!==n&&QN(rt),At=0,R=ht=P=rt=n}function ws(){return rt===n?K:hn(a_())}function ko(){var ii=a_(),Xa=Ae(ii);if(R=arguments,P=this,ht=ii,Xa){if(rt===n)return Se(ht);if($t)return QN(rt),rt=Xm(sn,m),ne(ht)}return rt===n&&(rt=Xm(sn,m)),K}return ko.cancel=To,ko.flush=ws,ko}var $ut=Je(function(p,m){return NN(p,1,m)}),Out=Je(function(p,m,E){return NN(p,sa(m)||0,E)});function Lut(p){return zc(p,I)}function l_(p,m){if(typeof p!="function"||m!=null&&typeof m!="function")throw new ta(o);var E=function(){var R=arguments,P=m?m.apply(this,R):R[0],W=E.cache;if(W.has(P))return W.get(P);var K=p.apply(this,R);return E.cache=W.set(P,K)||W,K};return E.cache=new(l_.Cache||Pc),E}l_.Cache=Pc;function c_(p){if(typeof p!="function")throw new ta(o);return function(){var m=arguments;switch(m.length){case 0:return!p.call(this);case 1:return!p.call(this,m[0]);case 2:return!p.call(this,m[0],m[1]);case 3:return!p.call(this,m[0],m[1],m[2])}return!p.apply(this,m)}}function Dut(p){return P$(2,p)}var Fut=Slt(function(p,m){m=m.length==1&&qe(m[0])?Rr(m[0],So(pe())):Rr(Bi(m,1),So(pe()));var E=m.length;return Je(function(R){for(var P=-1,W=Xi(R.length,E);++P=m}),Jh=FN((function(){return arguments})())?FN:function(p){return Gr(p)&&Kn.call(p,"callee")&&!SN.call(p,"callee")},qe=bt.isArray,Zut=iN?So(iN):olt;function Hs(p){return p!=null&&u_(p.length)&&!Vc(p)}function ri(p){return Gr(p)&&Hs(p)}function Qut(p){return p===!0||p===!1||Gr(p)&&bs(p)==ft}var pf=dat||FE,tft=sN?So(sN):alt;function eft(p){return Gr(p)&&p.nodeType===1&&!Km(p)}function nft(p){if(p==null)return!0;if(Hs(p)&&(qe(p)||typeof p=="string"||typeof p.splice=="function"||pf(p)||Kp(p)||Jh(p)))return!p.length;var m=Ki(p);if(m==Mt||m==oe)return!p.size;if(Gm(p))return!eE(p).length;for(var E in p)if(Kn.call(p,E))return!1;return!0}function rft(p,m){return Wm(p,m)}function ift(p,m,E){E=typeof E=="function"?E:n;var R=E?E(p,m):n;return R===n?Wm(p,m,n,E):!!R}function kE(p){if(!Gr(p))return!1;var m=bs(p);return m==vt||m==et||typeof p.message=="string"&&typeof p.name=="string"&&!Km(p)}function sft(p){return typeof p=="number"&&EN(p)}function Vc(p){if(!Ur(p))return!1;var m=bs(p);return m==at||m==kt||m==lt||m==Fe}function W$(p){return typeof p=="number"&&p==Ve(p)}function u_(p){return typeof p=="number"&&p>-1&&p%1==0&&p<=V}function Ur(p){var m=typeof p;return p!=null&&(m=="object"||m=="function")}function Gr(p){return p!=null&&typeof p=="object"}var Y$=oN?So(oN):clt;function oft(p,m){return p===m||tE(p,m,yE(m))}function aft(p,m,E){return E=typeof E=="function"?E:n,tE(p,m,yE(m),E)}function lft(p){return H$(p)&&p!=+p}function cft(p){if(Ylt(p))throw new Pe(s);return BN(p)}function uft(p){return p===null}function fft(p){return p==null}function H$(p){return typeof p=="number"||Gr(p)&&bs(p)==Bt}function Km(p){if(!Gr(p)||bs(p)!=St)return!1;var m=Fb(p);if(m===null)return!0;var E=Kn.call(m,"constructor")&&m.constructor;return typeof E=="function"&&E instanceof E&&$b.call(E)==aat}var ME=aN?So(aN):ult;function hft(p){return W$(p)&&p>=-V&&p<=V}var G$=lN?So(lN):flt;function f_(p){return typeof p=="string"||!qe(p)&&Gr(p)&&bs(p)==Xe}function Eo(p){return typeof p=="symbol"||Gr(p)&&bs(p)==ae}var Kp=cN?So(cN):hlt;function dft(p){return p===n}function pft(p){return Gr(p)&&Ki(p)==fn}function gft(p){return Gr(p)&&bs(p)==Br}var mft=e_(nE),yft=e_(function(p,m){return p<=m});function X$(p){if(!p)return[];if(Hs(p))return f_(p)?Ya(p):Ys(p);if(Fm&&p[Fm])return Xot(p[Fm]());var m=Ki(p),E=m==Mt?jA:m==oe?Rb:Jp;return E(p)}function Wc(p){if(!p)return p===0?p:0;if(p=sa(p),p===B||p===-B){var m=p<0?-1:1;return m*U}return p===p?p:0}function Ve(p){var m=Wc(p),E=m%1;return m===m?E?m-E:m:0}function K$(p){return p?Hh(Ve(p),0,z):0}function sa(p){if(typeof p=="number")return p;if(Eo(p))return q;if(Ur(p)){var m=typeof p.valueOf=="function"?p.valueOf():p;p=Ur(m)?m+"":m}if(typeof p!="string")return p===0?p:+p;p=gN(p);var E=Ct.test(p);return E||qt.test(p)?Not(p.slice(2),E?2:8):Rn.test(p)?q:+p}function J$(p){return Ll(p,Gs(p))}function vft(p){return p?Hh(Ve(p),-V,V):p===0?p:0}function qn(p){return p==null?"":Ao(p)}var bft=Hp(function(p,m){if(Gm(m)||Hs(m)){Ll(m,Mi(m),p);return}for(var E in m)Kn.call(m,E)&&qm(p,E,m[E])}),Z$=Hp(function(p,m){Ll(m,Gs(m),p)}),h_=Hp(function(p,m,E,R){Ll(m,Gs(m),p,R)}),_ft=Hp(function(p,m,E,R){Ll(m,Mi(m),p,R)}),wft=qc(XA);function xft(p,m){var E=Yp(p);return m==null?E:RN(E,m)}var Sft=Je(function(p,m){p=ur(p);var E=-1,R=m.length,P=R>2?m[2]:n;for(P&&_s(m[0],m[1],P)&&(R=1);++E1),W}),Ll(p,gE(p),E),R&&(E=na(E,f|h|d,Olt));for(var P=m.length;P--;)aE(E,m[P]);return E});function zft(p,m){return t7(p,c_(pe(m)))}var qft=qc(function(p,m){return p==null?{}:glt(p,m)});function t7(p,m){if(p==null)return{};var E=Rr(gE(p),function(R){return[R]});return m=pe(m),WN(p,E,function(R,P){return m(R,P[0])})}function jft(p,m,E){m=hf(m,p);var R=-1,P=m.length;for(P||(P=1,p=n);++Rm){var R=p;p=m,m=R}if(E||p%1||m%1){var P=TN();return Xi(p+P*(m-p+Cot("1e-"+((P+"").length-1))),m)}return iE(p,m)}var tht=Gp(function(p,m,E){return m=m.toLowerCase(),p+(E?r7(m):m)});function r7(p){return CE(qn(p).toLowerCase())}function i7(p){return p=qn(p),p&&p.replace(Ke,Vot).replace(wot,"")}function eht(p,m,E){p=qn(p),m=Ao(m);var R=p.length;E=E===n?R:Hh(Ve(E),0,R);var P=E;return E-=m.length,E>=0&&p.slice(E,P)==m}function nht(p){return p=qn(p),p&&rf.test(p)?p.replace(Fc,Wot):p}function rht(p){return p=qn(p),p&&Ph.test(p)?p.replace(sf,"\\$&"):p}var iht=Gp(function(p,m,E){return p+(E?"-":"")+m.toLowerCase()}),sht=Gp(function(p,m,E){return p+(E?" ":"")+m.toLowerCase()}),oht=a$("toLowerCase");function aht(p,m,E){p=qn(p),m=Ve(m);var R=m?zp(p):0;if(!m||R>=m)return p;var P=(m-R)/2;return t_(zb(P),E)+p+t_(Ub(P),E)}function lht(p,m,E){p=qn(p),m=Ve(m);var R=m?zp(p):0;return m&&R>>0,E?(p=qn(p),p&&(typeof m=="string"||m!=null&&!ME(m))&&(m=Ao(m),!m&&Up(p))?df(Ya(p),0,E):p.split(m,E)):[]}var ght=Gp(function(p,m,E){return p+(E?" ":"")+CE(m)});function mht(p,m,E){return p=qn(p),E=E==null?0:Hh(Ve(E),0,p.length),m=Ao(m),p.slice(E,E+m.length)==m}function yht(p,m,E){var R=j.templateSettings;E&&_s(p,m,E)&&(m=n),p=qn(p),m=h_({},m,R,p$);var P=h_({},m.imports,R.imports,p$),W=Mi(P),K=qA(P,W),rt,ht,At=0,Et=m.interpolate||Sn,$t="__p += '",zt=VA((m.escape||Sn).source+"|"+Et.source+"|"+(Et===Fh?$e:Sn).source+"|"+(m.evaluate||Sn).source+"|$","g"),ne="//# sourceURL="+(Kn.call(m,"sourceURL")?(m.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Tot+"]")+` `;p.replace(zt,function(Ae,sn,hn,To,ws,ko){return hn||(hn=To),$t+=p.slice(At,ko).replace(An,Yot),sn&&(rt=!0,$t+=`' + __e(`+sn+`) + '`),ws&&(ht=!0,$t+=`'; `+ws+`; __p += '`),hn&&($t+=`' + ((__t = (`+hn+`)) == null ? '' : __t) + '`),At=ko+Ae.length,Ae}),$t+=`'; `;var Se=Kn.call(m,"variable")&&m.variable;if(!Se)$t=`with (obj) { `+$t+` } `;else if(ee.test(Se))throw new Pe(a);$t=(ht?$t.replace(Lh,""):$t).replace(Dc,"$1").replace(Np,"$1;"),$t="function("+(Se||"obj")+`) { `+(Se?"":`obj || (obj = {}); `)+"var __t, __p = ''"+(rt?", __e = _.escape":"")+(ht?`, __j = Array.prototype.join; function print() { __p += __j.call(arguments, '') } `:`; `)+$t+`return __p }`;var Ge=o7(function(){return Fn(W,ne+"return "+$t).apply(n,K)});if(Ge.source=$t,kE(Ge))throw Ge;return Ge}function vht(p){return qn(p).toLowerCase()}function bht(p){return qn(p).toUpperCase()}function _ht(p,m,E){if(p=qn(p),p&&(E||m===n))return gN(p);if(!p||!(m=Ao(m)))return p;var R=Ya(p),P=Ya(m),W=mN(R,P),K=yN(R,P)+1;return df(R,W,K).join("")}function wht(p,m,E){if(p=qn(p),p&&(E||m===n))return p.slice(0,bN(p)+1);if(!p||!(m=Ao(m)))return p;var R=Ya(p),P=yN(R,Ya(m))+1;return df(R,0,P).join("")}function xht(p,m,E){if(p=qn(p),p&&(E||m===n))return p.replace(Uh,"");if(!p||!(m=Ao(m)))return p;var R=Ya(p),P=mN(R,Ya(m));return df(R,P).join("")}function Sht(p,m){var E=N,R=C;if(Ur(m)){var P="separator"in m?m.separator:P;E="length"in m?Ve(m.length):E,R="omission"in m?Ao(m.omission):R}p=qn(p);var W=p.length;if(Up(p)){var K=Ya(p);W=K.length}if(E>=W)return p;var rt=E-zp(R);if(rt<1)return R;var ht=K?df(K,0,rt).join(""):p.slice(0,rt);if(P===n)return ht+R;if(K&&(rt+=ht.length-rt),ME(P)){if(p.slice(rt).search(P)){var At,Et=ht;for(P.global||(P=VA(P.source,qn(In.exec(P))+"g")),P.lastIndex=0;At=P.exec(Et);)var $t=At.index;ht=ht.slice(0,$t===n?rt:$t)}}else if(p.indexOf(Ao(P),rt)!=rt){var zt=ht.lastIndexOf(P);zt>-1&&(ht=ht.slice(0,zt))}return ht+R}function Aht(p){return p=qn(p),p&&ys.test(p)?p.replace($p,Qot):p}var Eht=Gp(function(p,m,E){return p+(E?" ":"")+m.toUpperCase()}),CE=a$("toUpperCase");function s7(p,m,E){return p=qn(p),m=E?n:m,m===n?Got(p)?nat(p):Pot(p):p.match(m)||[]}var o7=Je(function(p,m){try{return xo(p,n,m)}catch(E){return kE(E)?E:new Pe(E)}}),Tht=qc(function(p,m){return Qo(m,function(E){E=Dl(E),Uc(p,E,EE(p[E],p))}),p});function kht(p){var m=p==null?0:p.length,E=pe();return p=m?Rr(p,function(R){if(typeof R[1]!="function")throw new ta(o);return[E(R[0]),R[1]]}):[],Je(function(R){for(var P=-1;++PV)return[];var E=z,R=Xi(p,z);m=pe(m),p-=z;for(var P=zA(R,m);++E0||m<0)?new ln(E):(p<0?E=E.takeRight(-p):p&&(E=E.drop(p)),m!==n&&(m=Ve(m),E=m<0?E.dropRight(-m):E.take(m-p)),E)},ln.prototype.takeRightWhile=function(p){return this.reverse().takeWhile(p).reverse()},ln.prototype.toArray=function(){return this.take(z)},Ol(ln.prototype,function(p,m){var E=/^(?:filter|find|map|reject)|While$/.test(m),R=/^(?:head|last)$/.test(m),P=j[R?"take"+(m=="last"?"Right":""):m],W=R||/^find/.test(m);P&&(j.prototype[m]=function(){var K=this.__wrapped__,rt=R?[1]:arguments,ht=K instanceof ln,At=rt[0],Et=ht||qe(K),$t=function(sn){var hn=P.apply(j,af([sn],rt));return R&&zt?hn[0]:hn};Et&&E&&typeof At=="function"&&At.length!=1&&(ht=Et=!1);var zt=this.__chain__,ne=!!this.__actions__.length,Se=W&&!zt,Ge=ht&&!ne;if(!W&&Et){K=Ge?K:new ln(this);var Ae=p.apply(K,rt);return Ae.__actions__.push({func:s_,args:[$t],thisArg:n}),new ea(Ae,zt)}return Se&&Ge?p.apply(this,rt):(Ae=this.thru($t),Se?R?Ae.value()[0]:Ae.value():Ae)})}),Qo(["pop","push","shift","sort","splice","unshift"],function(p){var m=Cb[p],E=/^(?:push|sort|unshift)$/.test(p)?"tap":"thru",R=/^(?:pop|shift)$/.test(p);j.prototype[p]=function(){var P=arguments;if(R&&!this.__chain__){var W=this.value();return m.apply(qe(W)?W:[],P)}return this[E](function(K){return m.apply(qe(K)?K:[],P)})}}),Ol(ln.prototype,function(p,m){var E=j[m];if(E){var R=E.name+"";Kn.call(Wp,R)||(Wp[R]=[]),Wp[R].push({name:m,func:E})}}),Wp[Zb(n,b).name]=[{name:"wrapper",func:n}],ln.prototype.clone=Aat,ln.prototype.reverse=Eat,ln.prototype.value=Tat,j.prototype.at=eut,j.prototype.chain=nut,j.prototype.commit=rut,j.prototype.next=iut,j.prototype.plant=out,j.prototype.reverse=aut,j.prototype.toJSON=j.prototype.valueOf=j.prototype.value=lut,j.prototype.first=j.prototype.head,Fm&&(j.prototype[Fm]=sut),j}),qp=rat();jh?((jh.exports=qp)._=qp,$A._=qp):Fi._=qp}).call(_9t)})(Uw,Uw.exports)),Uw.exports}var x5=w9t();const ast=w8(x5),x9t={headerHeight:null,columnConfigs:{},onColumnConfigsChange:()=>{},minColumnWidths:{},rowRenderBatchSize:4,minFetchSize:1,renderWindowOffset:400,verticalScrollbarPillHeight:4,verticalScrollbarWidth:24,horizontalScrollbarHeight:16,lineHeight:20,textMaxLines:3,betweenRowPadding:8,betweenColPadding:24,scrollOverflowValue:1e6,onRowClick:null,highlightedRows:null,firstColLeftPadding:8,showRowNumber:!0,onShowRowNumberChange:()=>{},highlightHoveredRow:!1,get rowHeight(){return this.textMaxLines*this.lineHeight+this.betweenRowPadding},DEFAULT_TEXT_MAX_LINES:3,DEFAULT_LINE_HEIGHT:20,DEFAULT_ROW_NUMBER_COL_WIDTH:60};class S9t{#t=Kt(ls(x9t));get config(){return G(this.#t)}set config(t){It(this.#t,t,!0)}}const dB=Symbol("config");let er=class{static initialize(){ma(dB,new S9t)}static get config(){const t=ro(dB);if(t==null)throw new Error("config context not yet set");return t.config}};class A9t{tableModel;tableController;margin=2;isDragging=!1;lastDragX=0;#t=Kt(0);get elementWidth(){return G(this.#t)}set elementWidth(t){It(this.#t,t,!0)}#e=Dt(()=>this.elementWidth-this.margin*2);get scrollbarWidth(){return G(this.#e)}set scrollbarWidth(t){It(this.#e,t)}#n=Dt(()=>this.tableController.viewWidth/this.tableModel.colsRightmostPosition*this.scrollbarWidth);get pillWidth(){return G(this.#n)}set pillWidth(t){It(this.#n,t)}#r=Dt(()=>-this.tableController.xScroll/this.tableModel.colsRightmostPosition*this.scrollbarWidth);get pillLeft(){return G(this.#r)}set pillLeft(t){It(this.#r,t)}constructor({tableModel:t,tableController:n}){this.tableModel=t,this.tableController=n}handlePointerDown=t=>{t.preventDefault(),t.target.setPointerCapture(t.pointerId),this.isDragging=!0,this.lastDragX=t.offsetX};handlePointerMove=t=>{this.isDragging&&this.lastDragX!==null&&this.tableController.scroll({deltaX:t.offsetX-this.lastDragX,deltaY:0})};handlePointerUp=t=>{t.target.releasePointerCapture(t.pointerId),this.isDragging=!1,this.lastDragX=null}}const pB="mosaic-coordinator";class S5{static get coordinator(){return ro(pB)??kl()}static set coordinator(t){ma(pB,t)}}const to="__oid",E9t=120;class T9t{schema;#t=Kt(ls({}));get data(){return G(this.#t)}set data(t){It(this.#t,t,!0)}#e=Kt(ls({}));get defaultColWidths(){return G(this.#e)}set defaultColWidths(t){It(this.#e,t,!0)}#n=Kt(ls([]));get columns(){return G(this.#n)}set columns(t){It(this.#n,t,!0)}#r=Kt(0);get numRows(){return G(this.#r)}set numRows(t){It(this.#r,t,!0)}#u=Kt(0);get renderOffset(){return G(this.#u)}set renderOffset(t){It(this.#u,t,!0)}#s=Kt(ls({}));get rowHeightAddition(){return G(this.#s)}set rowHeightAddition(t){It(this.#s,t,!0)}#a=Dt(()=>this.columns.reduce((t,n)=>(er.config.columnConfigs[n]?.hidden&&t.add(n),n===to&&er.config.showRowNumber===!1&&t.add(to),t),new Set));get hiddenColumns(){return G(this.#a)}set hiddenColumns(t){It(this.#a,t)}rowKeyColumn=null;constructor(t){this.schema=t}#i=Dt(()=>Object.keys(this.data).sort((t,n)=>this.data[t][to]-this.data[n][to]));get renderableRows(){return G(this.#i)}set renderableRows(t){It(this.#i,t)}#o=Dt(()=>this.columns.filter(t=>!this.hiddenColumns.has(t)));get renderableCols(){return G(this.#o)}set renderableCols(t){It(this.#o,t)}#l=Dt(()=>this.renderableRows.length===0?this.zeroRowPosition:Math.min(...this.renderableRows.map(t=>this.rowPositions[t])));get minRowPosition(){return G(this.#l)}set minRowPosition(t){It(this.#l,t)}#h=Dt(()=>this.renderableRows.length===0?this.finalRowPosition:Math.max(...this.renderableRows.map(t=>this.rowPositions[t])));get maxRowPosition(){return G(this.#h)}set maxRowPosition(t){It(this.#h,t)}#f=Dt(()=>{const t=Math.min(...this.renderableRows.map(n=>this.data[n][to]));return Number.isSafeInteger(t)?t:0});get minRowOID(){return G(this.#f)}set minRowOID(t){It(this.#f,t)}#d=Dt(()=>{const t=Math.max(...this.renderableRows.map(n=>this.data[n][to]));return Number.isSafeInteger(t)?t:0});get maxRowOID(){return G(this.#d)}set maxRowOID(t){It(this.#d,t)}#c=Dt(()=>0);get zeroRowPosition(){return G(this.#c)}set zeroRowPosition(t){It(this.#c,t)}#p=Dt(()=>(this.numRows-1)*er.config.rowHeight+this.rowPositionOffsets.cumulative);get finalRowPosition(){return G(this.#p)}set finalRowPosition(t){It(this.#p,t)}colsLeftmostPosition=0;#y=Dt(()=>{const t=this.renderableCols[this.renderableCols.length-1];return this.colPositions[t]+this.colWidths[t]});get colsRightmostPosition(){return G(this.#y)}set colsRightmostPosition(t){It(this.#y,t)}#g=Dt(()=>this.renderableRows.reduce(({offsets:t,cumulative:n},r)=>{t[r]=n;const i=this.rowHeightAddition[r]??0;return{offsets:t,cumulative:n+i}},{offsets:{},cumulative:0}));get rowPositionOffsets(){return G(this.#g)}set rowPositionOffsets(t){It(this.#g,t)}#m=Dt(()=>this.renderableRows.reduce((t,n)=>{const r=(this.data[n][to]-1)*er.config.rowHeight+this.rowPositionOffsets.offsets[n];return t[n]=r,t},{}));get rowPositions(){return G(this.#m)}set rowPositions(t){It(this.#m,t)}#v=Dt(()=>{let t=0;return this.columns.reduce((n,r,i)=>(this.hiddenColumns.has(r)||(n[r]=t,t+=this.colWidths[r]),n),{})});get colPositions(){return G(this.#v)}set colPositions(t){It(this.#v,t)}#b=Dt(()=>this.renderableRows.reduce((t,n)=>(t[n]=er.config.rowHeight+(this.rowHeightAddition[n]??0),t),{}));get rowHeights(){return G(this.#b)}set rowHeights(t){It(this.#b,t)}#_=Dt(()=>this.columns.reduce((t,n,r)=>(t[n]=Math.max(er.config.columnConfigs[n]?.width??this.defaultColWidths[n]??E9t,er.config.minColumnWidths[n]??0),this.isFirstCol(n)&&(t[n]+=er.config.firstColLeftPadding),this.isLastCol(n)&&(t[n]+=er.config.verticalScrollbarWidth),t),{}));get colWidths(){return G(this.#_)}set colWidths(t){It(this.#_,t)}getContent({row:t,col:n}){return this.data[t]?this.data[t][n]:null}getRowData(t){return this.data[t]?this.data[t]:null}getPosition({row:t,col:n}){const r=this.colPositions[n],i=this.rowPositions[t];return{x:r,y:i}}getDimensions({row:t,col:n}){const r=this.colWidths[n],i=this.rowHeights[t];return{width:r,height:i}}getRowParity(t){return this.data[t]&&this.data[t][to]%2===0?"even":"odd"}isFirstCol(t){return this.renderableCols.indexOf(t)===0}isLastCol(t){return this.renderableCols.indexOf(t)===this.renderableCols.length-1}deleteRow(t){delete this.data[t];const n=this.rowHeightAddition[t]??0;return delete this.rowHeightAddition[t],n}collapseRow(t){const n=this.rowHeightAddition[t]??0;return delete this.rowHeightAddition[t],n}reset(){this.data={},this.rowHeightAddition={}}teardown(){this.reset()}}class k9t extends gp{tableName;onResult;constructor(t,n,r){super(n??void 0),this.tableName=t,this.onResult=r}queryResult(t){const n=t.toArray()[0].count;return this.onResult(n),this}query(t=[]){return Pt.from(this.tableName).select({count:or()}).where(t)}}const eo="__oid";class M9t extends gp{tableName;columns;onResult;onColumnInfo;limit=20;offset=0;sort=null;info=null;columnInfo=null;isReady=!1;constructor(t,n,r,i,s){super(r??void 0),this.tableName=t,this.columns=n,this.onResult=i,this.onColumnInfo=s}async prepare(){if(this.coordinator==null)return;const t=(await lI(this.coordinator,[{table:this.tableName,column:"*"}])).reduce((n,r)=>(n[r.column]=r,n),{});this.columnInfo=t,this.onColumnInfo(t),this.isReady=!0}getSelect({includeRowNumber:t}={includeRowNumber:!0}){const n=this.columns.reduce((r,i)=>(this.columnInfo?.[i]?.sqlType==="BIGINT"?r[i]=Jr(Tt(i),"TEXT"):r[i]=Tt(i),r),{});return t||delete n[eo],n}queryResult(t){return this.onResult(t),this}query(t=[]){if(!this.isReady)return null;const n=this.columns.reduce((r,i)=>(this.columnInfo?.[i]?.sqlType==="BIGINT"?r[i]=Jr(Tt(i),"TEXT"):r[i]=Tt(i),r),{});if(n[eo]=PU(),this.sort){const r=this.sort.direction==="ascending"?this.sort.column:om(this.sort.column);n[eo]=n[eo].orderby(r)}return Pt.from(this.tableName).select(n).where(t).limit(this.limit).offset(this.offset)}fetchRows(t,n){this.offset=t,this.limit=n,this.requestUpdate()}}class I9t{model;schema;config;#t=Dt(()=>S5.coordinator);get coordinator(){return G(this.#t)}set coordinator(t){It(this.#t,t)}filterBy=null;rowsClient=null;numRowsClient=null;rowKeyColumn=null;#e=Kt(null);get element(){return G(this.#e)}set element(t){It(this.#e,t,!0)}#n=Kt(0);get viewHeight(){return G(this.#n)}set viewHeight(t){It(this.#n,t,!0)}#r=Kt(0);get viewWidth(){return G(this.#r)}set viewWidth(t){It(this.#r,t,!0)}#u=Kt(0);get yScroll(){return G(this.#u)}set yScroll(t){It(this.#u,t,!0)}#s=Kt(0);get xScroll(){return G(this.#s)}set xScroll(t){It(this.#s,t,!0)}#a=Kt(!1);get isFetching(){return G(this.#a)}set isFetching(t){It(this.#a,t,!0)}#i=Kt(!1);get isJumping(){return G(this.#i)}set isJumping(t){It(this.#i,t,!0)}#o=Kt(null);get sort(){return G(this.#o)}set sort(t){It(this.#o,t,!0)}#l=Kt(!1);get isReady(){return G(this.#l)}set isReady(t){It(this.#l,t,!0)}#h=Kt(0);get updateKey(){return G(this.#h)}set updateKey(t){It(this.#h,t,!0)}#f=Kt(!1);get isStale(){return G(this.#f)}set isStale(t){It(this.#f,t,!0)}#d=Kt(null);get flashedRowId(){return G(this.#d)}set flashedRowId(t){It(this.#d,t,!0)}#c=Kt(null);get hoveredRowId(){return G(this.#c)}set hoveredRowId(t){It(this.#c,t,!0)}#p=Dt(()=>Math.ceil(this.viewHeight/er.config.rowHeight));get rowsOnScreen(){return G(this.#p)}set rowsOnScreen(t){It(this.#p,t)}#y=Dt(()=>this.isJumping?0:er.config.renderWindowOffset);get renderWindowOffset(){return G(this.#y)}set renderWindowOffset(t){It(this.#y,t)}#g=Dt(()=>{if(this.model.renderableRows.length===0)return null;const t=this.model.renderableRows.filter(r=>{const i=this.model.rowPositions[r]+this.yScroll;return i+this.model.rowHeights[r]>0&&iMath.max(0,Math.floor(-this.yScroll/er.config.rowHeight)));get offset(){return G(this.#m)}set offset(t){It(this.#m,t)}onFetchResolveBegin=null;onFetchResolveEnd=null;constructor(t,n){this.model=t,this.schema=n,this.config=er.config}handleFilterBy=()=>{this.rowsClient&&(this.rowsClient.offset=0,this.rowsClient.limit=this.rowsOnScreen,this.isJumping=!0,this.markStale())};updateData=t=>{if(!this.model||!this.rowKeyColumn)return;this.onFetchResolveBegin&&(this.onFetchResolveBegin(),this.onFetchResolveBegin=null);const n=t.toArray(),r={};for(const i of n){const s=i[this.rowKeyColumn];r[s]=i}this.model.data={...this.model.data,...r},this.onFetchResolveEnd&&(this.onFetchResolveEnd(),this.onFetchResolveEnd=null),this.isFetching=!1};initialize({tableName:t,rowKey:n,columns:r,filterBy:i}){if(this.model.columns=r,this.model.rowKeyColumn=n,this.rowKeyColumn=n,i&&(this.filterBy=i,this.filterBy.addEventListener("value",this.handleFilterBy)),!this.rowKeyColumn)throw new Error("rowkey cannot be null");let s=r.includes(this.rowKeyColumn)?r:[...r,this.rowKeyColumn];this.rowsClient=new M9t(t,s,i,o=>{this.updateData(o)},o=>{this.schema.columnInfo=o,this.computeColWidths(t,r),this.isReady=!0}),this.coordinator.connect(this.rowsClient),this.numRowsClient=new k9t(t,i,o=>{this.model&&(this.model.numRows=o)}),this.coordinator.connect(this.numRowsClient),zr(()=>{if(!this.rowsClient||this.isFetching||!this.isReady)return;const o=-this.renderWindowOffset,a=this.viewHeight+this.renderWindowOffset,l=this.model.maxRowPosition+this.yScroll+this.config.rowHeight,c=this.model.minRowPosition+this.yScroll;if(c<0&&l<0||c>this.viewHeight&&l>this.viewHeight){const y=this.rowsOnScreen;this.isFetching=!0,this.rowsClient.fetchRows(this.offset,y)}else{if(l0&&this.model.maxRowOID!==this.model.numRows&&(this.isFetching=!0,this.rowsClient.fetchRows(this.model.maxRowOID,v))}const y=this.model.minRowPosition+this.yScroll;if(y>o&&this.model.minRowOID!==1){const v=x5.clamp(Math.ceil((y-o)/this.config.rowHeight),this.config.minFetchSize,this.rowsOnScreen);v>0&&(this.isFetching=!0,this.rowsClient.fetchRows(Math.max(0,this.model.minRowOID-1-v),v))}}const u=Eit(this.model.renderableRows);let f=0;for(;this.model.rowPositions[u[f]]+this.yScroll+this.model.rowHeights[u[f]]<0;)this.yScroll+=this.model.collapseRow(u[f]),f+=1;let h=u.length-1;for(;this.model.rowPositions[u[h]]+this.yScroll>this.viewHeight;)this.model.collapseRow(u[h]),h-=1;let d=0;for(;this.model.rowPositions[u[d]]+this.yScroll+this.model.rowHeights[u[d]]a;)this.model.deleteRow(u[g]),g-=1})}teardown(){this.filterBy&&this.filterBy.removeEventListener("value",this.handleFilterBy)}cellIsVisible(t){const{x:n,y:r}=this.model.getPosition(t),{width:i,height:s}=this.model.getDimensions(t),o=n+this.xScroll,a=r+this.yScroll;return o+i>=0&&o<=this.viewWidth&&a+s>=0&&a<=this.viewHeight}rowIsVisible(t){const n=this.model.rowPositions[t],r=this.model.rowHeights[t],i=n+this.yScroll;return i+r>=0&&i<=this.viewHeight}rowStillExists(t){return this.model.data[t]!=null}colIsVisible(t){const n=this.model.colPositions[t],r=this.model.colWidths[t],i=n+this.xScroll;return i+r>=0&&i<=this.viewWidth}scroll({deltaX:t,deltaY:n}){if(Math.abs(n)>Math.abs(t)){const r=this.yScroll-n;this.model.zeroRowPosition+r>0?this.yScroll=-this.model.zeroRowPosition:this.model.finalRowPosition+r<0?this.yScroll=-this.model.finalRowPosition:this.yScroll=r}else{const r=this.xScroll-t;-r<0?this.xScroll=0:-r>Math.max(this.model.colsRightmostPosition,this.viewWidth)-this.viewWidth?this.xScroll=-Math.max(this.model.colsRightmostPosition,this.viewWidth)+this.viewWidth:this.xScroll=r}}handleWheel=t=>{t.preventDefault(),this.isJumping=!1,this.scroll({deltaX:t.deltaX,deltaY:t.deltaY})};jumpToOffset(t){if(!this.rowsClient)return;this.isFetching=!0;const n=this.rowsOnScreen,r=this.onFetchResolveEnd;this.onFetchResolveEnd=()=>{r&&r(),this.yScroll=-(t*this.config.rowHeight)},this.markStale(),this.rowsClient.fetchRows(t,n)}handleSort=t=>{this.rowsClient&&(this.sort=t,this.rowsClient.sort=t,this.resetRows())};resetRows(){this.model.reset(),this.yScroll=0}flashRow(t){this.flashedRowId=t,setTimeout(()=>{this.flashedRowId=null},400)}async scrollToRow(t,n=!0){if(!this.rowsClient)return;this.isFetching=!0;const r=Pt.with({original:this.rowsClient.query(this.rowsClient.filterBy?.predicate(this.rowsClient)).offset(0).limit(this.model.numRows)}).select([eo]).from("original").where(No(Tt(this.rowKeyColumn),Jt(t))),i=(await this.coordinator.query(r)).toArray();if(i.length>0){const s=i[0][eo]-1;this.onFetchResolveEnd=()=>{n&&this.flashRow(t)},this.jumpToOffset(s)}else this.isFetching=!1,console.error("no row",t,"found")}addHeightToRow(t,n){this.model.rowHeightAddition[t]=(this.model.rowHeightAddition[t]??0)+n}hideColumn(t){t===eo?this.config.onShowRowNumberChange?this.config.onShowRowNumberChange(!1):this.config.showRowNumber=!1:(this.config.columnConfigs[t]||(this.config.columnConfigs[t]={}),this.config.columnConfigs[t].hidden=!0)}showColumn(t){t===eo?this.config.onShowRowNumberChange?this.config.onShowRowNumberChange(!0):this.config.showRowNumber=!0:(this.config.columnConfigs[t]||(this.config.columnConfigs[t]={}),this.config.columnConfigs[t].hidden=!1)}markStale(){this.isStale=!0;const t=this.onFetchResolveBegin;this.onFetchResolveBegin=()=>{t&&t(),this.resetRows()};const n=this.onFetchResolveEnd;this.onFetchResolveEnd=()=>{n&&n(),this.updateKey+=1,this.isStale=!1}}async computeColWidths(t,n){const r=n.filter(l=>l!==eo),i=this.rowsClient?.getSelect({includeRowNumber:!1}),s=r.reduce((l,c)=>(l[c]=0,l),{}),o=Pt.from(t).select(i).offset(0).limit(10),a=(await this.coordinator.query(o)).toArray();for(const l of a)for(const c of r)s[c]=Math.max(s[c],R9t(l[c]));n.includes(eo)&&(s[eo]=this.config.DEFAULT_ROW_NUMBER_COL_WIDTH),this.model.defaultColWidths=s}}function R9t(e){const t=String(e).length;return t>200?600:t>100?300:t>20?200:t>10?150:120}class C9t{tableController;#t=Dt(()=>this.tableController.element);get tableElement(){return G(this.#t)}set tableElement(t){It(this.#t,t)}constructor(t){this.tableController=t}mount(t,n,r,i,s){if(!this.tableElement)return;const o=n.getBoundingClientRect(),a=this.tableElement.getBoundingClientRect(),l=a.top,c=a.left;switch(r){case"inside":switch(s){case"top":t.style.top=o.top-l+"px";break;case"middle":case"bottom":throw new Error("not yet implemented"+r+s)}switch(i){case"left":t.style.left=o.left-c+"px";case"center":case"right":throw new Error("not yet implemented"+r+i)}break;case"outside":switch(s){case"top":t.style.top=o.bottom-l+"px";break;case"middle":case"bottom":throw new Error("not yet implemented"+r+s)}switch(i){case"left":t.style.left=o.left-c+"px";break;case"center":case"right":throw new Error("not yet implemented"+r+i)}break}this.tableElement.appendChild(t)}destroy(t){this.tableElement&&this.tableElement.contains(t)&&this.tableElement.removeChild(t)}}var Sk,gB;function N9t(){if(gB)return Sk;gB=1;function e(t,n,r){return t===t&&(r!==void 0&&(t=t<=r?t:r),n!==void 0&&(t=t>=n?t:n)),t}return Sk=e,Sk}var Ak,mB;function $9t(){if(mB)return Ak;mB=1;var e=/\s/;function t(n){for(var r=n.length;r--&&e.test(n.charAt(r)););return r}return Ak=t,Ak}var Ek,yB;function O9t(){if(yB)return Ek;yB=1;var e=$9t(),t=/^\s+/;function n(r){return r&&r.slice(0,e(r)+1).replace(t,"")}return Ek=n,Ek}var Tk,vB;function x8(){if(vB)return Tk;vB=1;function e(t){var n=typeof t;return t!=null&&(n=="object"||n=="function")}return Tk=e,Tk}var kk,bB;function L9t(){if(bB)return kk;bB=1;var e=typeof Bf=="object"&&Bf&&Bf.Object===Object&&Bf;return kk=e,kk}var Mk,_B;function lst(){if(_B)return Mk;_B=1;var e=L9t(),t=typeof self=="object"&&self&&self.Object===Object&&self,n=e||t||Function("return this")();return Mk=n,Mk}var Ik,wB;function cst(){if(wB)return Ik;wB=1;var e=lst(),t=e.Symbol;return Ik=t,Ik}var Rk,xB;function D9t(){if(xB)return Rk;xB=1;var e=cst(),t=Object.prototype,n=t.hasOwnProperty,r=t.toString,i=e?e.toStringTag:void 0;function s(o){var a=n.call(o,i),l=o[i];try{o[i]=void 0;var c=!0}catch{}var u=r.call(o);return c&&(a?o[i]=l:delete o[i]),u}return Rk=s,Rk}var Ck,SB;function F9t(){if(SB)return Ck;SB=1;var e=Object.prototype,t=e.toString;function n(r){return t.call(r)}return Ck=n,Ck}var Nk,AB;function B9t(){if(AB)return Nk;AB=1;var e=cst(),t=D9t(),n=F9t(),r="[object Null]",i="[object Undefined]",s=e?e.toStringTag:void 0;function o(a){return a==null?a===void 0?i:r:s&&s in Object(a)?t(a):n(a)}return Nk=o,Nk}var $k,EB;function P9t(){if(EB)return $k;EB=1;function e(t){return t!=null&&typeof t=="object"}return $k=e,$k}var Ok,TB;function U9t(){if(TB)return Ok;TB=1;var e=B9t(),t=P9t(),n="[object Symbol]";function r(i){return typeof i=="symbol"||t(i)&&e(i)==n}return Ok=r,Ok}var Lk,kB;function ust(){if(kB)return Lk;kB=1;var e=O9t(),t=x8(),n=U9t(),r=NaN,i=/^[-+]0x[0-9a-f]+$/i,s=/^0b[01]+$/i,o=/^0o[0-7]+$/i,a=parseInt;function l(c){if(typeof c=="number")return c;if(n(c))return r;if(t(c)){var u=typeof c.valueOf=="function"?c.valueOf():c;c=t(u)?u+"":u}if(typeof c!="string")return c===0?c:+c;c=e(c);var f=s.test(c);return f||o.test(c)?a(c.slice(2),f?2:8):i.test(c)?r:+c}return Lk=l,Lk}var Dk,MB;function z9t(){if(MB)return Dk;MB=1;var e=N9t(),t=ust();function n(r,i,s){return s===void 0&&(s=i,i=void 0),s!==void 0&&(s=t(s),s=s===s?s:0),i!==void 0&&(i=t(i),i=i===i?i:0),e(t(r),i,s)}return Dk=n,Dk}var q9t=z9t();const j9t=w8(q9t);var Fk,IB;function V9t(){if(IB)return Fk;IB=1;var e=lst(),t=function(){return e.Date.now()};return Fk=t,Fk}var Bk,RB;function W9t(){if(RB)return Bk;RB=1;var e=x8(),t=V9t(),n=ust(),r="Expected a function",i=Math.max,s=Math.min;function o(a,l,c){var u,f,h,d,g,y,v=0,b=!1,_=!1,x=!0;if(typeof a!="function")throw new TypeError(r);l=n(l)||0,e(c)&&(b=!!c.leading,_="maxWait"in c,h=_?i(n(c.maxWait)||0,l):h,x="trailing"in c?!!c.trailing:x);function A(F){var $=u,D=f;return u=f=void 0,v=F,d=a.apply(D,$),d}function k(F){return v=F,g=setTimeout(M,l),b?A(F):d}function S(F){var $=F-y,D=F-v,O=l-$;return _?s(O,h-D):O}function T(F){var $=F-y,D=F-v;return y===void 0||$>=l||$<0||_&&D>=h}function M(){var F=t();if(T(F))return I(F);g=setTimeout(M,S(F))}function I(F){return g=void 0,x&&u?A(F):(u=f=void 0,d)}function N(){g!==void 0&&clearTimeout(g),v=0,u=y=f=g=void 0}function C(){return g===void 0?d:I(t())}function L(){var F=t(),$=T(F);if(u=arguments,f=this,y=F,$){if(g===void 0)return k(y);if(_)return clearTimeout(g),g=setTimeout(M,l),A(y)}return g===void 0&&(g=setTimeout(M,l)),d}return L.cancel=N,L.flush=C,L}return Bk=o,Bk}var Pk,CB;function Y9t(){if(CB)return Pk;CB=1;var e=W9t(),t=x8(),n="Expected a function";function r(i,s,o){var a=!0,l=!0;if(typeof i!="function")throw new TypeError(n);return t(o)&&(a="leading"in o?!!o.leading:a,l="trailing"in o?!!o.trailing:l),e(i,s,{leading:a,maxWait:s,trailing:l})}return Pk=r,Pk}var H9t=Y9t();const NB=w8(H9t);class G9t{tableModel;tableController;isDragging=!1;#t=Kt(0);get elementHeight(){return G(this.#t)}set elementHeight(t){It(this.#t,t,!0)}#e=Kt(0);get labelHeight(){return G(this.#e)}set labelHeight(t){It(this.#e,t,!0)}#n=Dt(()=>er.config.verticalScrollbarPillHeight);get pillHeight(){return G(this.#n)}set pillHeight(t){It(this.#n,t)}#r=Dt(()=>this.elementHeight-this.pillHeight);get scrollbarHeight(){return G(this.#r)}set scrollbarHeight(t){It(this.#r,t)}#u=Dt(()=>this.tableController.firstVisibleRowOID?this.tableController.firstVisibleRowOID:this.tableController.offset+1);get displayRow(){return G(this.#u)}set displayRow(t){It(this.#u,t)}#s=Dt(()=>(this.displayRow-1)/(this.tableModel.numRows-1)*this.scrollbarHeight);get pillPosition(){return G(this.#s)}set pillPosition(t){It(this.#s,t)}#a=Dt(()=>{if(this.pillPosition===null)return 0;const t=this.pillPosition+this.pillHeight/2-this.labelHeight/2;if(t<0)return t;const n=this.pillPosition+this.pillHeight/2+this.labelHeight/2;return n>this.elementHeight?n-this.elementHeight:0});get labelOffset(){return G(this.#a)}set labelOffset(t){It(this.#a,t)}constructor({tableModel:t,tableController:n}){this.tableModel=t,this.tableController=n}computeOffsetFromPointer=t=>{this.isDragging=!0;let n=Math.round(t.offsetY/this.scrollbarHeight*(this.tableModel.numRows-1));return j9t(n,0,this.tableModel.numRows-1)};pointerDown=t=>{t.preventDefault(),t.target.setPointerCapture(t.pointerId),this.isDragging=!0;const n=this.computeOffsetFromPointer(t);this.tableController.isJumping=!0,this.tableController.jumpToOffset(n)};handlePointerDown=NB(this.pointerDown,50);pointerMove=t=>{if(this.isDragging){const n=this.computeOffsetFromPointer(t);this.tableController.jumpToOffset(n)}};handlePointerMove=NB(this.pointerMove,50);handlePointerUp=t=>{t.target.releasePointerCapture(t.pointerId),this.isDragging=!1,this.tableController.isJumping=!1}}class X9t{#t=Kt(null);get columnInfo(){return G(this.#t)}set columnInfo(t){It(this.#t,t,!0)}#e=Dt(()=>this.columnInfo?Object.keys(this.columnInfo).reduce((t,n)=>(t[n]=this.columnInfo[n].type,t),{}):{});get dataType(){return G(this.#e)}set dataType(t){It(this.#e,t)}#n=Dt(()=>this.columnInfo?Object.keys(this.columnInfo).reduce((t,n)=>(t[n]=this.columnInfo[n].sqlType,t),{}):{});get sqlType(){return G(this.#n)}set sqlType(t){It(this.#n,t)}}class K9t{tableController;#t=Dt(()=>Math.floor(-this.tableController.yScroll/er.config.scrollOverflowValue)*er.config.scrollOverflowValue);get offset(){return G(this.#t)}set offset(t){It(this.#t,t)}constructor(t){this.tableController=t}y(t){return t-this.offset}yScroll(t){return t+this.offset}}const $B=Symbol("schema"),OB=Symbol("model"),LB=Symbol("controller"),DB=Symbol("vertical-scrollbar-controller"),FB=Symbol("horizontal-scrollbar-controller"),BB=Symbol("table-portal-controller"),PB=Symbol("overscroll-modifier");class ir{static initialize(){const t=new X9t,n=new T9t(t),r=new I9t(n,t),i=new G9t({tableModel:n,tableController:r}),s=new A9t({tableModel:n,tableController:r}),o=new C9t(r),a=new K9t(r);ma($B,t),ma(OB,n),ma(LB,r),ma(DB,i),ma(FB,s),ma(BB,o),ma(PB,a)}static get schema(){return ro($B)}static get model(){return ro(OB)}static get controller(){return ro(LB)}static get verticalScrollbarController(){return ro(DB)}static get horizontalScrollbarController(){return ro(FB)}static get tablePortalController(){return ro(BB)}static get overscrollModifier(){return ro(PB)}}var J9t=Ln('
    ');const Z9t={hash:"svelte-csucem",code:".horizontal-scrollbar.svelte-csucem {position:absolute;bottom:0;left:0;width:100%;height:var(--height);transition:opacity 200ms linear;background-color:var(--scrollbar-bg);}.horizontal-scrollbar.svelte-csucem:hover {opacity:1 !important;}.pill.svelte-csucem {width:var(--width);height:calc(var(--height) - var(--margin) * 2);margin:var(--margin);border-radius:2px;background-color:var(--scrollbar-pill-bg);}"};function Q9t(e,t){ti(t,!0),ni(e,Z9t);const n=ir.horizontalScrollbarController,r=ir.controller,i=er.config;let s=Kt(0),o=Kt(null),a=Kt(null),l=0;Nm(()=>(l=requestAnimationFrame(f),()=>{cancelAnimationFrame(l)}));function c(){G(o)&&(G(o).style.opacity="0")}const u=ast.debounce(c,1e3);zr(()=>{G(o)&&(r.xScroll,G(o).style.opacity="1",u())});function f(){It(s,n.pillWidth,!0),G(a)&&(G(a).style.transform=`translate(${n.pillLeft}px, 0)`),l=requestAnimationFrame(f)}var h=J9t();let d;var g=Vn(h);g.__pointerdown=function(...v){n.handlePointerDown?.apply(this,v)},g.__pointermove=function(...v){n.handlePointerMove?.apply(this,v)},g.__pointerup=function(...v){n.handlePointerUp?.apply(this,v)};let y;Bs(g,v=>It(a,v),()=>G(a)),Pn(h),Bs(h,v=>It(o,v),()=>G(o)),ai((v,b)=>{d=bo(h,"",d,v),y=bo(g,"",y,b)},[()=>({"--height":i.horizontalScrollbarHeight+"px"}),()=>({"--width":G(s)+"px","--margin":n.margin+"px"})]),xl(h,"clientWidth",v=>n.elementWidth=v),Ze(e,h),ei()}ef(["pointerdown","pointermove","pointerup"]);var tPt=Ln('
    ');const ePt={hash:"svelte-d1fz7o",code:".vertical-scrollbar.svelte-d1fz7o {position:absolute;right:0;top:0;width:var(--width);height:calc(100% - var(--offset-bottom));contain:layout;cursor:row-resize;transition:opacity 200ms linear;user-select:none;background-color:var(--scrollbar-bg);}.vertical-scrollbar.svelte-d1fz7o:hover {opacity:1 !important;}.pill.svelte-d1fz7o {--pill-height: 4px;position:relative;pointer-events:none; /* let the container respond to pointer events */top:0;left:0;width:calc(var(--width) - 2px);margin-left:1px;margin-right:1px;height:var(--pill-height);border-radius:2px;will-change:transform;background-color:var(--scrollbar-pill-bg);}.label.svelte-d1fz7o {--offset: 0;position:absolute;pointer-events:none;top:0;left:-4px;font-family:var(--font-family);font-size:14px;white-space:nowrap;padding:2px 4px;box-shadow:var(--shadow);transform:translate(-100%, calc(-50% + var(--pill-height) / 2 - var(--offset)));border-radius:2px;color:var(--secondary-text-color);background-color:var(--scrollbar-label-bg);border:var(--outline);}"};function nPt(e,t){ti(t,!0),ni(e,ePt);const n=ir.verticalScrollbarController,r=ir.controller,i=er.config;let s=Kt(0),o=Kt(0),a=Kt(null),l=Kt(null),c=Kt(null),u=Dt(()=>new Intl.NumberFormat().format(G(o))),f=0;Nm(()=>(f=requestAnimationFrame(g),()=>{cancelAnimationFrame(f)}));function h(){G(a)&&(G(a).style.opacity="0")}const d=ast.debounce(h,1e3);zr(()=>{G(a)&&(r.yScroll,G(a).style.opacity="1",d())});function g(){It(s,n.pillPosition??G(s),!0),It(o,n.displayRow??G(o),!0),G(l)&&(G(l).style.transform=`translate3d(0, ${G(s)}px, 0)`),G(c)&&G(c).style.setProperty("--offset",n.labelOffset-1+"px"),f=requestAnimationFrame(g)}var y=tPt();y.__pointerdown=function(...k){n.handlePointerDown?.apply(this,k)},y.__pointermove=function(...k){n.handlePointerMove?.apply(this,k)},y.__pointerup=function(...k){n.handlePointerUp?.apply(this,k)};let v;var b=Vn(y);let _;var x=Vn(b),A=Vn(x,!0);Pn(x),Bs(x,k=>It(c,k),()=>G(c)),Pn(b),Bs(b,k=>It(l,k),()=>G(l)),Pn(y),Bs(y,k=>It(a,k),()=>G(a)),ai((k,S)=>{v=bo(y,"",v,k),_=bo(b,"",_,S),Lc(A,G(u))},[()=>({"--offset-bottom":i.horizontalScrollbarHeight+"px","--width":i.verticalScrollbarWidth+"px"}),()=>({"--pill-height":n.pillHeight+"px"})]),xl(x,"clientHeight",k=>n.labelHeight=k),xl(y,"clientHeight",k=>n.elementHeight=k),Ze(e,y),ei()}ef(["pointerdown","pointermove","pointerup"]);var rPt=Ln('
    ');const iPt={hash:"svelte-1x1osq0",code:".bigint-content.svelte-1x1osq0 {text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}"};function sPt(e,t){ti(t,!0),ni(e,iPt);let n=$m(t,"height");function r(o){return o===null?null:o.toLocaleString()}var i=rPt(),s=Vn(i,!0);Pn(i),ai(o=>Lc(s,o),[()=>r(t.bigint)]),xl(i,"clientHeight",n),Ze(e,i),ei()}var oPt=Ln("
    ");const aPt={hash:"svelte-ubqfz9",code:""};function lPt(e,t){ti(t,!0),ni(e,aPt);let n=$m(t,"height");const r=ir.model,i=c=>typeof c=="function"?(u,f)=>{let h=new c(u,f);return{...h.update?{update:h.update.bind(h)}:{},...h.destroy?{destroy:h.destroy.bind(h)}:{}}}:(u,f)=>{let h=new c.class(u,f);return{...h.update?{update:h.update.bind(h)}:{},...h.destroy?{destroy:h.destroy.bind(h)}:{}}};let s=Dt(()=>i(t.customCell)),o=Dt(()=>r.getContent({row:t.row,col:t.col})),a=Dt(()=>r.getRowData(t.row));var l=oPt();b8(l,(c,u)=>G(s)?.(c,u),()=>({value:G(o),rowData:G(a)})),wb(()=>xl(l,"clientHeight",n)),Ze(e,l),ei()}var cPt=Ln('');function uPt(e,t){ti(t,!0);let n=$m(t,"height");er.config;let r=Kt(null);function i(u){let f="";for(let h=0;hh.charCodeAt(0)))}function o(u,f){if(u.lengthIt(r,u),()=>G(r)),ai(u=>d1(c,"src",u),[()=>l(t.image)]),Xg("load",c,()=>{G(r)&&n(G(r).scrollHeight)}),XBt(c),Ze(e,c),ei()}var fPt=Ln(' '),hPt=Ln('');const dPt={hash:"svelte-1wimtwv",code:""};function pPt(e,t){ti(t,!0),ni(e,dPt);let n=$m(t,"height");var r=hPt(),i=Vn(r);{var s=o=>{var a=fPt(),l=Vn(a,!0);Pn(a),ai(()=>{d1(a,"href",t.url),Lc(l,t.url)}),Ze(o,a)};io(i,o=>{t.url&&o(s)})}Pn(r),xl(r,"clientHeight",n),Ze(e,r),ei()}var gPt=Ln('
    ');const mPt={hash:"svelte-1xfvszy",code:".number-content.svelte-1xfvszy {text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}"};function yPt(e,t){ti(t,!0),ni(e,mPt);let n=$m(t,"height");function r(o){return o===null?null:Number.isInteger(o)?o.toString():o.toPrecision(4).toString()}var i=gPt(),s=Vn(i,!0);Pn(i),ai(o=>Lc(s,o),[()=>r(t.number)]),xl(i,"clientHeight",n),Ze(e,i),ei()}var vPt=Ln("
    ");const bPt={hash:"svelte-1ngffx0",code:".clamped.svelte-1ngffx0 {display:-webkit-box;-webkit-box-orient:vertical;line-clamp:var(--lines, var(--num-lines)); /* fallback to numlines from parent */-webkit-line-clamp:var(--lines, var(--num-lines));overflow:hidden;text-overflow:ellipsis;}"};function UB(e,t){ti(t,!0),ni(e,bPt);let n=$m(t,"height");const r=er.config;let i=Kt(null),s=Kt(null);zr(()=>{G(i)&&(n(G(i).scrollHeight),It(s,Math.floor(t.parentHeight/r.lineHeight),!0))});var o=vPt();let a;var l=Vn(o,!0);Pn(o),Bs(o,c=>It(i,c),()=>G(i)),ai(c=>{gh(o,1,`text-content ${(t.clamped?"clamped":null)??""}`,"svelte-1ngffx0"),a=bo(o,"",a,c),Lc(l,t.text)},[()=>({"--lines":G(s)})]),Ze(e,o),ei()}class _Pt{#t=Kt(ls({}));get config(){return G(this.#t)}set config(t){It(this.#t,t,!0)}}const Uk="custom-cells";class zw{static initialize(){ma(Uk,new _Pt)}static set config(t){const n=ro(Uk);n.config=t}static get config(){return ro(Uk).config}}var wPt=(e,t,n,r,i)=>{t.addHeightToRow(n.row,G(r)-G(i))},xPt=Ln(""),SPt=Ln('
    ');const APt={hash:"svelte-8bpcsh",code:".cell-content.svelte-8bpcsh {position:relative;flex-grow:1;line-height:var(--lineHeight);overflow-wrap:anywhere;overflow:hidden;}.expand-button.svelte-8bpcsh {all:unset;visibility:hidden;position:absolute;bottom:0;right:0;cursor:pointer;font-size:12px;line-height:18px;padding-left:4px;padding-right:4px;border-radius:2px;color:var(--secondary-text-color);background-color:var(--background-color);border:var(--outline);}.expand-button.show.svelte-8bpcsh {visibility:visible;}"};function EPt(e,t){ti(t,!0),ni(e,APt);const n=ir.model,r=ir.controller,i=ir.schema,s=er.config,o=zw.config;let a=Kt(0),l=Kt(0),c=Dt(()=>G(l)>G(a));const u=n.getContent({row:t.row,col:t.col}),f=i.dataType[t.col]??"string",h=i.sqlType[t.col]??"TEXT";function d(S){return typeof S=="string"&&(S.startsWith("http://")||S.startsWith("https://"))}function g(S){return S==null?!1:!!(typeof S=="string"&&S.startsWith("data:image/")||S.bytes&&S.bytes instanceof Uint8Array)}var y=SPt();let v;var b=Vn(y);{var _=S=>{lPt(S,{get row(){return t.row},get col(){return t.col},get customCell(){return o[t.col]},get height(){return G(l)},set height(T){It(l,T,!0)}})},x=S=>{var T=ud(),M=Lo(T);{var I=C=>{var L=ud(),F=Lo(L);{var $=O=>{pPt(O,{get url(){return u},get height(){return G(l)},set height(B){It(l,B,!0)}})},D=O=>{UB(O,{get text(){return u},get clamped(){return G(c)},get parentHeight(){return G(a)},get height(){return G(l)},set height(B){It(l,B,!0)}})};io(F,O=>{u&&d(u)?O($):O(D,!1)})}Ze(C,L)},N=C=>{var L=ud(),F=Lo(L);{var $=O=>{var B=ud(),V=Lo(B);{var U=z=>{{let Y=Dt(()=>BigInt(u??""));sPt(z,{get bigint(){return G(Y)},get height(){return G(l)},set height(Q){It(l,Q,!0)}})}},q=z=>{yPt(z,{get number(){return u},get height(){return G(l)},set height(Y){It(l,Y,!0)}})};io(V,z=>{h==="BIGINT"?z(U):z(q,!1)})}Ze(O,B)},D=O=>{var B=ud(),V=Lo(B);{var U=z=>{uPt(z,{get image(){return u},get height(){return G(l)},set height(Y){It(l,Y,!0)}})},q=z=>{UB(z,{get text(){return u},get clamped(){return G(c)},get parentHeight(){return G(a)},get height(){return G(l)},set height(Y){It(l,Y,!0)}})};io(V,z=>{g(u)?z(U):z(q,!1)},!0)}Ze(O,B)};io(F,O=>{f==="number"?O($):O(D,!1)},!0)}Ze(C,L)};io(M,C=>{f==="string"?C(I):C(N,!1)},!0)}Ze(S,T)};io(b,S=>{o[t.col]?S(_):S(x,!1)})}var A=Ma(b,2);{var k=S=>{var T=xPt();T.__click=[wPt,r,t,l,a],ai(()=>gh(T,1,`expand-button ${t.hovered?"show":"hide"}`,"svelte-8bpcsh")),Ze(S,T)};io(A,S=>{G(c)&&S(k)})}Pn(y),ai(S=>v=bo(y,"",v,S),[()=>({"--lineHeight":s.lineHeight+"px","--num-lines":s.textMaxLines})]),xl(y,"clientHeight",S=>It(a,S)),Ze(e,y),ei()}ef(["click"]);var TPt=Ln('
    ');const kPt={hash:"svelte-1e2x749",code:".row-number.svelte-1e2x749 {flex-grow:1;text-align:right;color:var(--secondary-text-color);text-overflow:ellipsis;white-space:nowrap;overflow:hidden;}"};function MPt(e,t){ti(t,!0),ni(e,kPt);const n=ir.model.getContent({row:t.row,col:t.col}),r=Dt(()=>new Intl.NumberFormat().format(n??0));var i=TPt(),s=Vn(i,!0);Pn(i),ai(()=>Lc(s,G(r))),Ze(e,i),ei()}var IPt=(e,t)=>{e.key==="Enter"&&t()},RPt=Ln('
    ');const CPt={hash:"svelte-16dgxhm",code:".cell.svelte-16dgxhm {--x: 0px;--y: 0px;--width: 0px;--height: 0px;display:flex;box-sizing:border-box;padding-top:calc(var(--padding-y) / 2);padding-bottom:calc(var(--padding-y) / 2);padding-right:calc(calc(var(--padding-x) / 2) + var(--extra-right-padding));padding-left:calc(calc(var(--padding-x) / 2) + var(--extra-left-padding));position:absolute;left:0;top:0;width:var(--width);height:var(--height);transform:translate(var(--x), var(--y));contain:layout paint;color:var(--primary-text-color);font-family:var(--cell-font-family);font-size:var(--cell-font-size);}"};function NPt(e,t){ti(t,!0),ni(e,CPt);const n=ir.model,r=ir.controller,i=ir.overscrollModifier,s=er.config;let o=Dt(()=>n.getPosition({row:t.row,col:t.col})),a=Dt(()=>G(o).x),l=Dt(()=>G(o).y),c=Dt(()=>i.y(G(l))),u=Dt(()=>n.getDimensions({row:t.row,col:t.col})),f=Dt(()=>G(u).width),h=Dt(()=>G(u).height),d=Dt(()=>n.isFirstCol(t.col)),g=Dt(()=>n.isLastCol(t.col)),y=Dt(()=>n.getRowParity(t.row)==="even"?"var(--primary-bg)":"var(--secondary-bg)"),v=()=>{s.onRowClick&&s.onRowClick(t.row)},b=Kt(!1);var _=RPt();_.__click=v,_.__keydown=[IPt,v];let x;var A=Vn(_);{var k=T=>{EPt(T,{get row(){return t.row},get col(){return t.col},get hovered(){return G(b)}})},S=T=>{MPt(T,{get row(){return t.row},get col(){return t.col}})};io(A,T=>{t.col!==to?T(k):T(S,!1)})}Pn(_),ai(T=>x=bo(_,"",x,T),[()=>({"--x":G(a)+"px","--y":G(c)+"px","--width":G(f)+"px","--height":G(h)+"px","--padding-x":s.betweenColPadding+"px","--padding-y":s.betweenRowPadding+"px","--extra-right-padding":(G(g)?s.verticalScrollbarWidth:0)+"px","--extra-left-padding":(G(d)?s.firstColLeftPadding:0)+"px","--background-color":G(y)})]),Xg("pointerenter",_,()=>{It(b,!0),r.hoveredRowId=t.row}),Xg("pointerleave",_,()=>{It(b,!1),r.hoveredRowId=null}),Ze(e,_),ei()}ef(["click","keydown"]);var $Pt=Ln('
    ');const OPt={hash:"svelte-1si5830",code:".header-title.svelte-1si5830 {flex-shrink:1;margin-right:2px;}"};function LPt(e,t){ti(t,!0),ni(e,OPt);const n=er.config;var r=$Pt(),i=Vn(r,!0);Pn(r),ai(()=>Lc(i,n.columnConfigs[t.col]?.title??t.col)),Ze(e,r),ei()}mBt();var DPt=Ln('
    #
    ');const FPt={hash:"svelte-v1uha2",code:".row-number-header.svelte-v1uha2 {flex-grow:1;text-align:right;margin-right:4px;box-sizing:border-box;color:var(--secondary-text-color);}"};function BPt(e){ni(e,FPt);var t=DPt();Ze(e,t)}var PPt=(e,t,n,r,i)=>{const s=G(t)?G(n)==="ascending"?"descending":null:"ascending";s?r.handleSort({column:i.col,direction:s}):r.handleSort(null)},UPt=Ln('');const zPt={hash:"svelte-mgubjs",code:".sort-buttons.svelte-mgubjs {all:unset;flex-shrink:0;width:16px;cursor:pointer;display:flex;justify-content:center;flex-direction:row;margin-left:4px;border-radius:2px;padding-left:4px;padding-right:4px;color:var(--tertiary-text-color);}.sort-buttons.svelte-mgubjs:hover {--placeholder: 0;background-color:var(--hover-bg);}.sort-glyph.svelte-mgubjs {color:var(--tertiary-text-color);}.sort-buttons.svelte-mgubjs:hover .sort-glyph:where(.svelte-mgubjs) {color:var(--tertiary-text-color);}.selected.svelte-mgubjs {color:var(--primary-text-color) !important;}"};function qPt(e,t){ti(t,!0),ni(e,zPt);const n=ir.controller;let r=Dt(()=>n.sort?n.sort.column===t.col:!1),i=Dt(()=>n.sort?n.sort.direction:null),s=Dt(()=>G(r)?G(i)==="ascending"?"↑":"↓":"⇅");var o=UPt();o.__click=[PPt,r,i,n,t];var a=Vn(o),l=Vn(a,!0);Pn(a),Pn(o),ai(()=>{gh(a,1,`sort-button ${(G(r)?"selected":null)??""} sort-glyph`,"svelte-mgubjs"),Lc(l,G(s))}),Ze(e,o),ei()}ef(["click"]);class jPt{#t=Kt(ls({}));get config(){return G(this.#t)}set config(t){It(this.#t,t,!0)}}const zk="custom-cells";class A5{static initialize(){ma(zk,new jPt)}static set config(t){const n=ro(zk);n.config=t}static get config(){return ro(zk).config}}var VPt=Ln("
    ");const WPt={hash:"svelte-v680az",code:""};function YPt(e,t){ti(t,!0),ni(e,WPt),ir.model;const n=s=>typeof s=="function"?(o,a)=>{let l=new s(o,a);return{...l.update?{update:l.update.bind(l)}:{},...l.destroy?{destroy:l.destroy.bind(l)}:{}}}:(o,a)=>{let l=new s.class(o,a);return{...l.update?{update:l.update.bind(l)}:{},...l.destroy?{destroy:l.destroy.bind(l)}:{}}};let r=Dt(()=>n(t.customHeader));var i=VPt();b8(i,(s,o)=>G(r)?.(s,o),()=>({column:t.col})),Ze(e,i),ei()}var HPt=Ln(" ",1),GPt=Ln('
    ');const XPt={hash:"svelte-1vl6s3u",code:".header-cell.svelte-1vl6s3u {position:relative;display:flex;flex-direction:row;align-items:end;width:var(--width);min-height:var(--height);flex-shrink:0;box-sizing:border-box;padding:0.25em;padding-right:calc(calc(var(--padding-x) / 2) + var(--extra-padding-right));padding-left:calc(calc(var(--padding-x) / 2) + var(--extra-padding-left));color:var(--secondary-text-color);font-family:var(--header-font-family);font-size:var(--header-font-size);}.header-cell.number.svelte-1vl6s3u {justify-content:end;}.header-content.svelte-1vl6s3u {display:flex;flex-direction:column;flex-shrink:0;}.header-title.svelte-1vl6s3u {height:1.5em;align-items:center;display:flex;flex-direction:row;flex-shrink:0;}"};function KPt(e,t){ti(t,!0),ni(e,XPt);const n=ir.model,r=ir.schema,i=er.config,s=A5.config;let o=Kt(null),a=Kt(0);zr(()=>{i.minColumnWidths[t.col]=G(a)+i.betweenColPadding});const l=Dt(()=>n.colWidths[t.col]),c=Dt(()=>(r.dataType[t.col]??"string")==="number"),u=Dt(()=>G(c)||t.col===to?"number":""),f=Dt(()=>n.isFirstCol(t.col)),h=Dt(()=>n.isLastCol(t.col));let d=Dt(()=>i.headerHeight?i.headerHeight+"px":"auto");var g=GPt();let y;var v=Vn(g),b=Vn(v);{var _=T=>{YPt(T,{get col(){return t.col},get customHeader(){return s[t.col]}})};io(b,T=>{s[t.col]&&T(_)})}var x=Ma(b,2),A=Vn(x);{var k=T=>{var M=HPt(),I=Lo(M);LPt(I,{get col(){return t.col}});var N=Ma(I,2);qPt(N,{get col(){return t.col}}),Ze(T,M)},S=T=>{BPt(T)};io(A,T=>{t.col!==to?T(k):T(S,!1)})}Pn(x),Pn(v),Pn(g),Bs(g,T=>It(o,T),()=>G(o)),ai(T=>{gh(g,1,`header-cell ${G(u)??""}`,"svelte-1vl6s3u"),y=bo(g,"",y,T)},[()=>({"--width":G(l)+"px","--height":G(d),"--padding-x":i.betweenColPadding+"px","--extra-padding-right":(G(h)?i.verticalScrollbarWidth:0)+"px","--extra-padding-left":(G(f)?i.firstColLeftPadding:0)+"px"})]),xl(v,"clientWidth",T=>It(a,T)),Ze(e,g),ei()}class JPt{tableModel;tableController;col;config;isDragging=!1;startDragX=0;constructor({tableModel:t,tableController:n,col:r}){this.tableModel=t,this.tableController=n,this.col=r,this.config=er.config}handlePointerDown=t=>{t.preventDefault(),t.target.setPointerCapture(t.pointerId),this.isDragging=!0,this.startDragX=t.offsetX};handlePointerMove=t=>{if(this.isDragging&&this.startDragX!==null){const n=t.offsetX-this.startDragX,r=this.tableModel.colWidths[this.col],i=Math.max(0,Math.round(r+n));this.config.columnConfigs[this.col]||(this.config.columnConfigs[this.col]={}),this.config.columnConfigs[this.col].width=i,this.config.onColumnConfigsChange(this.col,Eit(this.config.columnConfigs))}};handlePointerUp=t=>{t.target.releasePointerCapture(t.pointerId),this.isDragging=!1,this.startDragX=null}}var ZPt=Ln('
    ');const QPt={hash:"svelte-1y4d3p9",code:".header-resize-indicator.svelte-1y4d3p9 {position:absolute;z-index:2;box-sizing:border-box;width:12px;height:calc(100% - 0.25rem);margin:2px;cursor:col-resize;justify-content:center;display:flex;align-items:center;justify-content:center;transform:translateX(calc(var(--x) - 4px - 50%));}.pill.svelte-1y4d3p9 {width:2px;height:calc(100% - 4px);margin-top:2px;margin-bottom:2px;background-color:var(--secondary-text-color);opacity:0.2;border-radius:2px;}"};function tUt(e,t){ti(t,!0),ni(e,QPt);const n=ir.model;let r=new JPt({tableModel:n,tableController:ir.controller,col:t.col});const i=Dt(()=>n.colPositions[t.col]+n.colWidths[t.col]);var s=ZPt();s.__pointerdown=function(...a){r.handlePointerDown?.apply(this,a)},s.__pointermove=function(...a){r.handlePointerMove?.apply(this,a)},s.__pointerup=function(...a){r.handlePointerUp?.apply(this,a)};let o;ai(a=>o=bo(s,"",o,a),[()=>({"--x":G(i)+"px"})]),Ze(e,s),ei()}ef(["pointerdown","pointermove","pointerup"]);var eUt=e=>{e.stopPropagation()},nUt=Ln('
    ');const rUt={hash:"svelte-i8g41o",code:".table-portal.svelte-i8g41o {position:absolute;}"};function iUt(e,t){ti(t,!0),ni(e,rUt);const n=ir.controller,r=ir.tablePortalController;let i=Kt(null);const s=u=>{zr(()=>(r.mount(u,t.relativeTo,t.anchor,t.horizontalAlign,t.verticalAlign),u.focus(),()=>{r.destroy(u)}))};let o=0;Nm(()=>{o=n.xScroll,requestAnimationFrame(a)});function a(){G(i)&&t.stickyX&&(G(i).style.transform=`translateX(${n.xScroll-o}px)`),requestAnimationFrame(a)}var l=nUt();l.__click=[eUt];var c=Vn(l);v8(c,()=>t.children),Pn(l),Bs(l,u=>It(i,u),()=>G(i)),b8(l,u=>s?.(u)),Xg("wheel",l,u=>{u.stopPropagation()}),Ze(e,l),ei()}ef(["click"]);var sUt=(e,t)=>{It(t,!0)},oUt=Ln(" ",1);const aUt={hash:"svelte-3t0u29",code:'.dropdown.svelte-3t0u29 {all:unset;padding-left:8px;padding-right:8px;border-radius:2px;cursor:pointer;color:var(--secondary-text-color);position:relative;user-select:none;}.dropdown.svelte-3t0u29::before {content:"";position:absolute;top:0;left:0;height:100%;width:100%;background-color:var(--primary-bg);z-index:-1;}.dropdown.svelte-3t0u29:hover {background-color:var(--hover-bg);}.unclickable.svelte-3t0u29 {pointer-events:none;}'};function lUt(e,t){ni(e,aUt);let n=Kt(!1),r=Kt(null),i=Kt(null);var s=oUt();Xg("click",m5,u=>{G(n)&&u.target!==G(r)&&It(n,!1)});var o=Lo(s);o.__click=[sUt,n];var a=Vn(o,!0);Pn(o),Bs(o,u=>It(r,u),()=>G(r));var l=Ma(o,2);{var c=u=>{iUt(u,{get relativeTo(){return t.relativeTo},anchor:"outside",horizontalAlign:"left",verticalAlign:"top",stickyX:!1,get element(){return G(i)},set element(f){It(i,f,!0)},children:(f,h)=>{var d=ud(),g=Lo(d);v8(g,()=>t.children),Ze(f,d)},$$slots:{default:!0}})};io(l,u=>{G(n)&&u(c)})}ai(()=>{gh(o,1,`dropdown ${G(n)?"unclickable":"clickable"}`,"svelte-3t0u29"),Lc(a,t.label)}),Ze(e,s)}ef(["click"]);var cUt=(e,t,n)=>{e.target.checked?t.showColumn(G(n)):t.hideColumn(G(n))},uUt=Ln('
  • '),fUt=Ln('
      '),hUt=Ln(" ",1),dUt=Ln('
      ');const pUt={hash:"svelte-bmvlb6",code:".header-row.svelte-bmvlb6 {flex-shrink:0;border-bottom:1px solid var(--secondary-bg);background-color:var(--primary-bg);}.scroll-container.svelte-bmvlb6 {display:flex;flex-direction:row;}.dropdown-label-container.svelte-bmvlb6 {position:absolute;z-index:20;left:0px;box-sizing:border-box;height:100%;padding:0.25em;display:flex;flex-direction:row;align-items:end;}.dropdown-label.svelte-bmvlb6 {height:1.5em;align-items:center;display:flex;}.column-toggle.svelte-bmvlb6 {margin:0;margin-top:4px;margin-left:8px;padding:12px;background-color:var(--primary-bg);border-radius:4px;box-shadow:var(--shadow);border:var(--outline);max-height:var(--max-height);max-width:var(--max-width);overflow:scroll;}.column-entry.svelte-bmvlb6 {list-style-type:none;padding:4px;user-select:none;}.column-label.svelte-bmvlb6 {display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--secondary-text-color);}"};function gUt(e,t){ti(t,!0),ni(e,pUt);const n=ir.model,r=ir.controller,i=er.config;let s=Kt(null),o=Kt(null),a=Kt(null),l=Dt(()=>n.renderableCols),c=0;Nm(()=>(c=requestAnimationFrame(u),()=>{cancelAnimationFrame(c)}));function u(){G(o)&&(G(o).style.transform=`translate3d(${r.xScroll}px, 0, 0)`),G(a)&&(G(a).style.transform=`translate3d(${-r.xScroll}px, 0, 0)`),c=requestAnimationFrame(u)}var f=dUt(),h=Vn(f),d=Vn(h),g=Vn(d),y=Vn(g);lUt(y,{label:"⋮",get relativeTo(){return G(s)},children:(b,_)=>{var x=fUt();let A;uv(x,21,()=>n.columns,a9t,(k,S)=>{var T=uUt(),M=Vn(T),I=Vn(M),N=Ma(I);g9t(N),N.__change=[cUt,r,S],bo(N,"",{},{float:"right"}),Pn(M),Pn(T),ai(()=>{Lc(I,`${(G(S)===to?"row #":i.columnConfigs[G(S)]?.title??G(S))??""} `),d1(N,"id",`${G(S)??""}-checkbox`),m9t(N,G(S)===to?i.showRowNumber!==!1:!i.columnConfigs[G(S)]?.hidden)}),Ze(k,T)}),Pn(x),ai(k=>A=bo(x,"",A,k),[()=>({"--max-height":r.viewHeight-48+"px","--max-width":r.viewWidth-48+"px"})]),Ze(b,x)}}),Pn(g),Bs(g,b=>It(a,b),()=>G(a)),Pn(d);var v=Ma(d,2);uv(v,16,()=>G(l),b=>b,(b,_)=>{var x=hUt(),A=Lo(x);KPt(A,{get col(){return _}});var k=Ma(A,2);tUt(k,{get col(){return _}}),Ze(b,x)}),Pn(h),Bs(h,b=>It(o,b),()=>G(o)),Pn(f),Bs(f,b=>It(s,b),()=>G(s)),Ze(e,f),ei()}ef(["change"]);function mUt(e,t){return{...e,...e[t]!=null?e[t]:{}}}class yUt{#t=Kt(null);get colorScheme(){return G(this.#t)}set colorScheme(t){It(this.#t,t,!0)}#e=Kt(ls({}));get theme(){return G(this.#e)}set theme(t){It(this.#e,t,!0)}}const zB=Symbol("style");class E5{static initialize(){ma(zB,new yUt)}static get style(){return ro(zB)}}var vUt=Ln("
      ");const bUt={hash:"svelte-c7n1rn",code:".table-defaults.light.svelte-c7n1rn {--default-primary-text-color: black;--default-secondary-text-color: gray;--default-tertiary-text-color: lightgray;--default-font-family: sans-serif;--default-font-size: 1rem;--default-primary-bg: white;--default-secondary-bg: rgb(246, 246, 247);--default-tertiary-bg: rgb(234, 234, 235);--default-hover-bg: rgba(0, 0, 0, 0.05);--default-scrollbar-bg: rgba(0, 0, 0, 0.05);--default-scrollbar-pill-bg: rgba(0, 0, 0, 0.5);--default-scrollbar-label-bg: rgba(255, 255, 255, 0.9);--default-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--default-outline-color: rgb(0 0 0 / 0.2);--default-dimmed-row-color: rgb(0 0 0 / 0.2);--default-row-scroll-to-color: rgb(202 225 255);--default-row-hover-color: rgb(220, 235, 255);}.table-defaults.dark.svelte-c7n1rn {--default-primary-text-color: lightgray;--default-secondary-text-color: gray;--default-tertiary-text-color: dimgray;--default-font-family: sans-serif;--default-font-size: 1rem;--default-primary-bg: #060607;--default-secondary-bg: #161617;--default-hover-bg: rgba(255, 255, 255, 0.05);--default-scrollbar-bg: rgba(255, 255, 255, 0.05);--default-scrollbar-pill-bg: rgba(255, 255, 255, 0.5);--default-scrollbar-label-bg: rgba(0, 0, 0, 0.9);--default-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);--default-outline-color: rgb(255 255 255 / 0.2);--default-dimmed-row-color: rgb(0 0 0 / 0.6);--default-row-scroll-to-color: rgb(1, 24, 106);--default-row-hover-color: rgb(0, 6, 35);}.style-wrapper.svelte-c7n1rn {width:100%;height:100%;--primary-text-color: var(--user-primary-text-color, var(--default-primary-text-color));--secondary-text-color: var(--user-secondary-text-color, var(--default-secondary-text-color));--tertiary-text-color: var(--user-tertiary-text-color, var(--default-tertiary-text-color));--font-family: var(--user-font-family, var(--default-font-family));--font-size: var(--user-font-size, var(--default-font-size));--primary-bg: var(--user-primary-bg, var(--default-primary-bg));--secondary-bg: var(--user-secondary-bg, var(--default-secondary-bg));--tertiary-bg: var(--user-tertiarty-bg, var(--default-tertiary-bg));--hover-bg: var(--user-hover-bg, var(--default-hover-bg));--header-font-family: var(--user-header-font-family, var(--font-family));--header-font-size: var(--user-header-font-size, var(--font-size));--cell-font-family: var(--user-cell-font-family, var(--font-family));--cell-font-size: var(--user-cell-font-size, var(--font-size));--scrollbar-bg: var(--user-scrollbar-bg, var(--default-scrollbar-bg));--scrollbar-pill-bg: var(--user-scrollbar-pill-bg, var(--default-scrollbar-pill-bg));--scrollbar-label-bg: var(--user-scrollbar-label-bg, var(--default-scrollbar-label-bg));--shadow: var(--user-shadow, var(--default-shadow));--outline-color: var(--user-outline-color, var(--default-outline-color));--outline: 0.5px solid var(--outline-color);--dimmed-row-color: var(--user-dimmed-row-color, var(--default-dimmed-row-color));--row-scroll-to-color: var(--user-row-scroll-to-color, var(--default-row-scroll-to-color));--row-hover-color: var(--user-row-hover-color, var(--default-row-hover-color));}"};function _Ut(e,t){ti(t,!0),ni(e,bUt);const n=E5.style;let r=Dt(()=>n.colorScheme),i=Dt(()=>n.theme),s=Kt(null),o=Dt(()=>G(r)??G(s)??"light");const a=B=>{B.matches?It(s,"dark"):It(s,"light")},l="(prefers-color-scheme: dark";Nm(()=>(It(s,window.matchMedia(l).matches?"dark":"light",!0),window.matchMedia(l).addEventListener("change",a),()=>{window.matchMedia(l).removeEventListener("change",a)}));let c=Dt(()=>mUt(G(i),G(o))),u=Dt(()=>G(c).primaryTextColor),f=Dt(()=>G(c).secondaryTextColor),h=Dt(()=>G(c).tertiaryTextColor),d=Dt(()=>G(c).fontFamily),g=Dt(()=>G(c).fontSize),y=Dt(()=>G(c).primaryBackgroundColor),v=Dt(()=>G(c).secondaryBackgroundColor),b=Dt(()=>G(c).hoverBackgroundColor),_=Dt(()=>G(c).headerFontFamily),x=Dt(()=>G(c).headerFontSize),A=Dt(()=>G(c).cellFontFamily),k=Dt(()=>G(c).cellFontSize),S=Dt(()=>G(c).scrollbarBackgroundColor),T=Dt(()=>G(c).scrollbarPillColor),M=Dt(()=>G(c).scrollbarLabelBackgroundColor),I=Dt(()=>G(c).shadow),N=Dt(()=>G(c).outlineColor),C=Dt(()=>G(c).dimmedRowColor),L=Dt(()=>G(c).rowScrollToColor),F=Dt(()=>G(c).rowHoverColor);zr(()=>{});var $=vUt();let D;var O=Vn($);v8(O,()=>t.children),Pn($),ai(B=>{gh($,1,`style-wrapper table-defaults ${G(o)??""}`,"svelte-c7n1rn"),D=bo($,"",D,B)},[()=>({"--user-primary-text-color":G(u),"--user-secondary-text-color":G(f),"--user-tertiary-text-color":G(h),"--user-font-family":G(d),"--user-font-size":G(g),"--user-primary-bg":G(y),"--user-secondary-bg":G(v),"--user-hover-bg":G(b),"--user-header-font-family":G(_),"--user-header-font-size":G(x),"--user-cell-font-family":G(A),"--user-cell-font-size":G(k),"--user-scrollbar-bg":G(S),"--user-scrollbar-pill-bg":G(T),"--user-scrollbar-label-bg":G(M),"--user-shadow":G(I),"--user-outline-color":G(N),"--user-dimmed-row-color":G(C),"--user-row-scroll-to-color":G(L),"--user-row-hover-color":G(F)})]),Ze(e,$),ei()}function wUt(){return to}function xUt(e,t){const n=new Set(e),r=new Set(t);return{left:e.filter(i=>!r.has(i)),right:t.filter(i=>!n.has(i))}}function SUt(e,t){const n=new Set(t);return e.filter(r=>!n.has(r))}function AUt(e,t){return e.concat(t)}var EUt=Ln("
      "),TUt=Ln("
      ",1);const kUt={hash:"svelte-14dgpd0",code:".row-background.svelte-14dgpd0 {position:absolute;width:var(--width);height:var(--height);box-sizing:border-box;z-index:-1;transform:translate3d(0, var(--y), 0);transition:background-color 100ms linear;}.odd.svelte-14dgpd0 {background-color:var(--secondary-bg);}.even.svelte-14dgpd0 {background-color:var(--primary-bg);}.dimmer.svelte-14dgpd0 {background-color:var(--dimmed-row-color);z-index:10;pointer-events:none;}.flashed.svelte-14dgpd0 {background-color:var(--row-scroll-to-color);}.hovered.svelte-14dgpd0 {background-color:var(--row-hover-color);}"};function MUt(e,t){ti(t,!0),ni(e,kUt);const n=ir.controller,r=ir.model,i=ir.overscrollModifier,s=er.config;let o=Dt(()=>r.rowHeights[t.row]),a=Dt(()=>Math.max(r.colsRightmostPosition,n.viewWidth)),l=Dt(()=>i.y(r.rowPositions[t.row])),c=Dt(()=>r.getRowParity(t.row)),u=Dt(()=>n.flashedRowId===t.row),f=Dt(()=>n.hoveredRowId===t.row),h=Dt(()=>s.highlightedRows?s.highlightedRows?.has(t.row):null);var d=TUt(),g=Lo(d);let y;var v=Ma(g,2);{var b=_=>{var x=EUt();let A;ai(k=>{gh(x,1,`row-background ${G(c)??""} dimmer`,"svelte-14dgpd0"),A=bo(x,"",A,k)},[()=>({"--width":G(a)+"px","--height":G(o)+"px","--y":G(l)+"px"})]),Ze(_,x)};io(v,_=>{G(h)!==null&&!G(h)&&_(b)})}ai(_=>{gh(g,1,`row-background ${G(c)??""} ${(G(u)?"flashed":null)??""} ${(G(f)&&s.highlightHoveredRow?"hovered":null)??""}`,"svelte-14dgpd0"),y=bo(g,"",y,_)},[()=>({"--width":G(a)+"px","--height":G(o)+"px","--y":G(l)+"px"})]),Ze(e,d),ei()}var IUt=Ln(" ",1),RUt=Ln('
      ',1),CUt=Ln('
      ');const NUt={hash:"svelte-1v3p82v",code:".table.svelte-1v3p82v {width:100%;max-width:var(--max-width);height:100%;display:flex;flex-direction:column;position:relative;}.table-contents.svelte-1v3p82v {position:relative;overflow:hidden;flex-grow:1;}.scroll-container.svelte-1v3p82v {position:absolute;width:0;height:0;will-change:transform;contain:layout size;}"};function $Ut(e,t){ti(t,!0),ni(e,NUt),er.initialize(),zw.initialize(),E5.initialize(),ir.initialize();const n=ir.controller,r=ir.model,i=ir.overscrollModifier,s=er.config,o=E5.style;zr(()=>{t.scrollTo!=null&&n.scrollToRow(String(t.scrollTo))}),zr(()=>{t.highlightedRows&&t.highlightedRows.length>0?s.highlightedRows=new Set(t.highlightedRows.map(_=>String(_))):s.highlightedRows=null}),zr(()=>{t.onRowClick!=null?s.onRowClick=t.onRowClick:s.onRowClick=null}),zr(()=>{t.coordinator?S5.coordinator=t.coordinator:S5.coordinator=null}),zr(()=>{t.numLines!=null?s.textMaxLines=t.numLines:s.textMaxLines=s.DEFAULT_TEXT_MAX_LINES,t.lineHeight!=null?s.lineHeight=t.lineHeight:s.lineHeight=s.DEFAULT_LINE_HEIGHT}),zr(()=>{t.colorScheme!=null?o.colorScheme=t.colorScheme:o.colorScheme=null}),zr(()=>{t.theme!=null?o.theme=t.theme:o.theme={},t.colorScheme!=null?o.colorScheme=t.colorScheme:o.colorScheme=null}),zr(()=>{t.columnConfigs!=null?s.columnConfigs=t.columnConfigs:s.columnConfigs={},t.onColumnConfigsChange!=null?s.onColumnConfigsChange=t.onColumnConfigsChange:s.onColumnConfigsChange=()=>{}}),zr(()=>{s.showRowNumber=t.showRowNumber??null}),zr(()=>{s.onShowRowNumberChange=t.onShowRowNumberChange??null}),zr(()=>{n.initialize({tableName:t.table,rowKey:t.rowKey,columns:[wUt(),...t.columns],filterBy:t.filter??null})}),zr(()=>{t.customCells!=null?zw.config=t.customCells:zw.config={}}),zr(()=>{t.additionalHeaderContents!=null?A5.config=t.additionalHeaderContents:A5.config={}}),zr(()=>{t.headerHeight!=null?s.headerHeight=t.headerHeight:s.headerHeight=null}),zr(()=>{t.highlightHoveredRow!=null?s.highlightHoveredRow=t.highlightHoveredRow:s.highlightHoveredRow=!1});let a=Kt([]),l=Kt(0),c=Kt(null),u=Kt(ls([])),f=Kt(ls([])),h=Dt(()=>G(u).filter(_=>n.rowStillExists(_))),d=Dt(()=>G(f)),g=0;Nm(()=>(g=requestAnimationFrame(b),()=>{n.teardown(),r.teardown(),cancelAnimationFrame(g)}));function y(_,x){if(x.length>0){const A=x[x.length-1];return Math.abs(r.data[_][eo]-r.data[A][eo])}return 0}function v(){const{left:_,right:x}=xUt(G(a),r.renderableRows);_.length===0&&x.length===0||(It(a,SUt(G(a),_)),It(a,AUt(G(a),x.sort((A,k)=>y(A,G(a))-y(k,G(a))).slice(0,n.isJumping?n.rowsOnScreen:s.rowRenderBatchSize))))}function b(){v(),It(u,G(a).filter(A=>n.rowIsVisible(A)),!0),It(f,r.renderableCols.filter(A=>n.colIsVisible(A)),!0);const _=n.xScroll,x=i.yScroll(n.yScroll);G(c)&&(G(c).style.transform=`translate3d(${_}px, ${x}px, 0)`),It(l,n.updateKey,!0),g=requestAnimationFrame(b)}_Ut(e,{children:(_,x)=>{var A=CUt(),k=Vn(A);gUt(k,{});var S=Ma(k,2),T=Vn(S);{var M=I=>{var N=RUt(),C=Lo(N),L=Vn(C);o9t(L,()=>G(l),D=>{var O=IUt(),B=Lo(O);uv(B,16,()=>G(h),U=>U,(U,q)=>{var z=ud(),Y=Lo(z);uv(Y,16,()=>G(d),Q=>Q,(Q,gt)=>{NPt(Q,{get row(){return q},get col(){return gt}})}),Ze(U,z)});var V=Ma(B,2);uv(V,16,()=>r.renderableRows,U=>U,(U,q)=>{MUt(U,{get row(){return q}})}),Ze(D,O)}),Pn(C),Bs(C,D=>It(c,D),()=>G(c));var F=Ma(C,2);nPt(F,{});var $=Ma(F,2);Q9t($,{}),Ze(I,N)};io(T,I=>{n.isReady&&I(M)})}Pn(S),Pn(A),Bs(A,I=>n.element=I,()=>n?.element),Xg("wheel",A,function(...I){n.handleWheel?.apply(this,I)}),xl(S,"clientHeight",I=>n.viewHeight=I),xl(S,"clientWidth",I=>n.viewWidth=I),Ze(_,A)},$$slots:{default:!0}}),ei()}class OUt{component;currentProps;constructor(t,n){this.currentProps={...n},this.component=n9t({component:$Ut,target:t,props:n})}update(t){let n={};for(let r in t)t[r]!==this.currentProps[r]&&(n[r]=t[r],this.currentProps[r]=t[r]);this.component.$set(n)}destroy(){this.component.$destroy()}}var LUt=xt("
      ");function DUt(e,t){me(t,!0);let n=qs(t,["$$slots","$$events","$$legacy"]),r;rm(()=>{let s=new OUt(r,n);hs(()=>{s.update(n)}),l6(()=>{s.destroy()})});var i=LUt();Te(i,"",{},{width:"100%",height:"100%"}),po(i,s=>r=s,()=>r),st(e,i),ye()}function FUt(e,t,n){t(e.clientX-w(n).getBoundingClientRect().left);let r=s=>{t(s.clientX-w(n).getBoundingClientRect().left)},i=()=>{window.removeEventListener("mousemove",r),window.removeEventListener("mouseup",i)};window.addEventListener("mousemove",r),window.addEventListener("mouseup",i)}function BUt(e,t,n,r,i){e.key=="ArrowLeft"?t(Math.max(t()-(n()??1),r())):e.key=="ArrowRight"&&t(Math.min(t()+(n()??1),i()))}var PUt=xt('
      ');function fst(e,t){me(t,!0);let n=ie(t,"value",15,0),r=ie(t,"min",3,0),i=ie(t,"max",3,100),s=ie(t,"step",3,void 0),o=ie(t,"width",3,100),a=15,l=dt(()=>x=>(x-r())/(i()-r())*(o()-a)),c=dt(()=>x=>x/(o()-a)*(i()-r())+r()),u=dt(()=>w(l)(n())),f=_t(void 0);function h(x){let A=w(c)(x-a/2);A=Math.max(r(),Math.min(i(),A)),s()!=null&&(A=Math.round(A/s())*s()),n(A)}var d=PUt();d.__mousedown=[FUt,h,f],d.__keydown=[BUt,n,s,r,i];let g;var y=ot(d);let v;var b=mt(y,2);let _;tt(d),po(d,x=>X(f,x),()=>w(f)),Ft((x,A,k)=>{ct(d,"aria-valuenow",n()),ct(d,"aria-valuemin",r()),ct(d,"aria-valuemax",i()),g=Te(d,"",g,x),v=Te(y,"",v,A),_=Te(b,"",_,k)},[()=>({width:`${o()??""}px`,height:"28px"}),()=>({left:"0px",top:"12px",width:`${o()??""}px`,height:"4px"}),()=>({left:`${w(u)??""}px`,top:"6.5px",width:"15px",height:"15px"})]),st(e,d),ye()}Dr(["mousedown","keydown"]);function UUt(e){let t="";for(let n=0;nn.charCodeAt(0)))}function p0(e,t){if(e.lengthr instanceof Object&&ArrayBuffer.isView(r)?Array.from(r):r,t)}catch{return"(invalid)"}}class jUt{element;constructor(t,n){this.element=t,this.update(n)}update(t){let n=document.createElement("pre");n.className="text-sm",n.style.whiteSpace="pre-wrap",n.style.wordBreak="break-all",n.innerText=dst(t.value,2),this.element.replaceChildren(n)}}function S8(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var Rp=S8();function pst(e){Rp=e}var fv={exec:()=>null};function Hn(e,t=""){let n=typeof e=="string"?e:e.source,r={replace:(i,s)=>{let o=typeof s=="string"?s:s.source;return o=o.replace(Ls.caret,"$1"),n=n.replace(i,o),r},getRegex:()=>new RegExp(n,t)};return r}var Ls={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},VUt=/^(?:[ \t]*(?:\n|$))+/,WUt=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,YUt=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,xb=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,HUt=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,A8=/(?:[*+-]|\d{1,9}[.)])/,gst=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,mst=Hn(gst).replace(/bull/g,A8).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),GUt=Hn(gst).replace(/bull/g,A8).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),E8=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,XUt=/^[^\n]+/,T8=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,KUt=Hn(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",T8).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),JUt=Hn(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,A8).getRegex(),wA="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",k8=/|$))/,ZUt=Hn("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",k8).replace("tag",wA).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),yst=Hn(E8).replace("hr",xb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",wA).getRegex(),QUt=Hn(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",yst).getRegex(),M8={blockquote:QUt,code:WUt,def:KUt,fences:YUt,heading:HUt,hr:xb,html:ZUt,lheading:mst,list:JUt,newline:VUt,paragraph:yst,table:fv,text:XUt},jB=Hn("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",xb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",wA).getRegex(),tzt={...M8,lheading:GUt,table:jB,paragraph:Hn(E8).replace("hr",xb).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",jB).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",wA).getRegex()},ezt={...M8,html:Hn(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",k8).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:fv,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Hn(E8).replace("hr",xb).replace("heading",` *#{1,6} *[^ ]`).replace("lheading",mst).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},nzt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,rzt=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,vst=/^( {2,}|\\)\n(?!\s*$)/,izt=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\]*?>/g,wst=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,czt=Hn(wst,"u").replace(/punct/g,xA).getRegex(),uzt=Hn(wst,"u").replace(/punct/g,_st).getRegex(),xst="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",fzt=Hn(xst,"gu").replace(/notPunctSpace/g,bst).replace(/punctSpace/g,I8).replace(/punct/g,xA).getRegex(),hzt=Hn(xst,"gu").replace(/notPunctSpace/g,azt).replace(/punctSpace/g,ozt).replace(/punct/g,_st).getRegex(),dzt=Hn("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,bst).replace(/punctSpace/g,I8).replace(/punct/g,xA).getRegex(),pzt=Hn(/\\(punct)/,"gu").replace(/punct/g,xA).getRegex(),gzt=Hn(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),mzt=Hn(k8).replace("(?:-->|$)","-->").getRegex(),yzt=Hn("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",mzt).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),iS=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`[^`]*`|[^\[\]\\`])*?/,vzt=Hn(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",iS).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Sst=Hn(/^!?\[(label)\]\[(ref)\]/).replace("label",iS).replace("ref",T8).getRegex(),Ast=Hn(/^!?\[(ref)\](?:\[\])?/).replace("ref",T8).getRegex(),bzt=Hn("reflink|nolink(?!\\()","g").replace("reflink",Sst).replace("nolink",Ast).getRegex(),R8={_backpedal:fv,anyPunctuation:pzt,autolink:gzt,blockSkip:lzt,br:vst,code:rzt,del:fv,emStrongLDelim:czt,emStrongRDelimAst:fzt,emStrongRDelimUnd:dzt,escape:nzt,link:vzt,nolink:Ast,punctuation:szt,reflink:Sst,reflinkSearch:bzt,tag:yzt,text:izt,url:fv},_zt={...R8,link:Hn(/^!?\[(label)\]\((.*?)\)/).replace("label",iS).getRegex(),reflink:Hn(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",iS).getRegex()},T5={...R8,emStrongRDelimAst:hzt,emStrongLDelim:uzt,url:Hn(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},VB=e=>xzt[e];function Bl(e,t){if(t){if(Ls.escapeTest.test(e))return e.replace(Ls.escapeReplace,VB)}else if(Ls.escapeTestNoEncode.test(e))return e.replace(Ls.escapeReplaceNoEncode,VB);return e}function WB(e){try{e=encodeURI(e).replace(Ls.percentDecode,"%")}catch{return null}return e}function YB(e,t){let n=e.replace(Ls.findPipe,(s,o,a)=>{let l=!1,c=o;for(;--c>=0&&a[c]==="\\";)l=!l;return l?"|":" |"}),r=n.split(Ls.splitPipe),i=0;if(r[0].trim()||r.shift(),r.length>0&&!r.at(-1)?.trim()&&r.pop(),t)if(r.length>t)r.splice(t);else for(;r.length0?-2:-1}function HB(e,t,n,r,i){let s=t.href,o=t.title||null,a=e[1].replace(i.other.outputLinkReplace,"$1");r.state.inLink=!0;let l={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:s,title:o,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,l}function Azt(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(` `).map(s=>{let o=s.match(n.other.beginningSpace);if(o===null)return s;let[a]=o;return a.length>=i.length?s.slice(i.length):s}).join(` `)}var sS=class{options;rules;lexer;constructor(e){this.options=e||Rp}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:yy(n,` `)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let n=t[0],r=Azt(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:r}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){let r=yy(n,"#");(this.options.pedantic||!r||this.rules.other.endingSpaceChar.test(r))&&(n=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:yy(t[0],` `)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let n=yy(t[0],` `).split(` `),r="",i="",s=[];for(;n.length>0;){let o=!1,a=[],l;for(l=0;l1,i={type:"list",raw:"",ordered:r,start:r?+n.slice(0,-1):"",loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:"[*+-]");let s=this.rules.other.listItemRegex(n),o=!1;for(;e;){let l=!1,c="",u="";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;c=t[0],e=e.substring(c.length);let f=t[2].split(` `,1)[0].replace(this.rules.other.listReplaceTabs,b=>" ".repeat(3*b.length)),h=e.split(` `,1)[0],d=!f.trim(),g=0;if(this.options.pedantic?(g=2,u=f.trimStart()):d?g=t[1].length+1:(g=t[2].search(this.rules.other.nonSpaceChar),g=g>4?1:g,u=f.slice(g),g+=t[1].length),d&&this.rules.other.blankLine.test(h)&&(c+=h+` `,e=e.substring(h.length+1),l=!0),!l){let b=this.rules.other.nextBulletRegex(g),_=this.rules.other.hrRegex(g),x=this.rules.other.fencesBeginRegex(g),A=this.rules.other.headingBeginRegex(g),k=this.rules.other.htmlBeginRegex(g);for(;e;){let S=e.split(` `,1)[0],T;if(h=S,this.options.pedantic?(h=h.replace(this.rules.other.listReplaceNesting," "),T=h):T=h.replace(this.rules.other.tabCharGlobal," "),x.test(h)||A.test(h)||k.test(h)||b.test(h)||_.test(h))break;if(T.search(this.rules.other.nonSpaceChar)>=g||!h.trim())u+=` `+T.slice(g);else{if(d||f.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||x.test(f)||A.test(f)||_.test(f))break;u+=` `+h}!d&&!h.trim()&&(d=!0),c+=S+` `,e=e.substring(S.length+1),f=T.slice(g)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(c)&&(o=!0));let y=null,v;this.options.gfm&&(y=this.rules.other.listIsTask.exec(u),y&&(v=y[0]!=="[ ] ",u=u.replace(this.rules.other.listReplaceTask,""))),i.items.push({type:"list_item",raw:c,task:!!y,checked:v,loose:!1,text:u,tokens:[]}),i.raw+=c}let a=i.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let l=0;lf.type==="space"),u=c.length>0&&c.some(f=>this.rules.other.anyLine.test(f.raw));i.loose=u}if(i.loose)for(let l=0;l({text:a,tokens:this.lexer.inline(a),header:!1,align:s.align[l]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let n=t[1].charAt(t[1].length-1)===` `?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;let s=yy(n.slice(0,-1),"\\");if((n.length-s.length)%2===0)return}else{let s=Szt(t[2],"()");if(s===-2)return;if(s>-1){let o=(t[0].indexOf("!")===0?5:4)+t[1].length+s;t[2]=t[2].substring(0,s),t[0]=t[0].substring(0,o).trim(),t[3]=""}}let r=t[2],i="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(r);s&&(r=s[1],i=s[3])}else i=t[3]?t[3].slice(1,-1):"";return r=r.trim(),this.rules.other.startAngleBracket.test(r)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?r=r.slice(1):r=r.slice(1,-1)),HB(t,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let r=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=t[r.toLowerCase()];if(!i){let s=n[0].charAt(0);return{type:"text",raw:s,text:s}}return HB(n,i,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||r[3]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[2])||!n||this.rules.inline.punctuation.exec(n))){let i=[...r[0]].length-1,s,o,a=i,l=0,c=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+i);(r=c.exec(t))!=null;){if(s=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!s)continue;if(o=[...s].length,r[3]||r[4]){a+=o;continue}else if((r[5]||r[6])&&i%3&&!((i+o)%3)){l+=o;continue}if(a-=o,a>0)continue;o=Math.min(o,o+a+l);let u=[...r[0]][0].length,f=e.slice(0,i+r.index+u+o);if(Math.min(i,o)%2){let d=f.slice(1,-1);return{type:"em",raw:f,text:d,tokens:this.lexer.inlineTokens(d)}}let h=f.slice(2,-2);return{type:"strong",raw:f,text:h,tokens:this.lexer.inlineTokens(h)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," "),r=this.rules.other.nonSpaceChar.test(n),i=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return r&&i&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let n,r;return t[2]==="@"?(n=t[1],r="mailto:"+n):(n=t[1],r=n),{type:"link",raw:t[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let n,r;if(t[2]==="@")n=t[0],r="mailto:"+n;else{let i;do i=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??"";while(i!==t[0]);n=t[0],t[1]==="www."?r="http://"+t[0]:r=t[0]}return{type:"link",raw:t[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},bu=class k5{tokens;options;state;tokenizer;inlineQueue;constructor(t){this.tokens=[],this.tokens.links=Object.create(null),this.options=t||Rp,this.options.tokenizer=this.options.tokenizer||new sS,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let n={other:Ls,block:sw.normal,inline:my.normal};this.options.pedantic?(n.block=sw.pedantic,n.inline=my.pedantic):this.options.gfm&&(n.block=sw.gfm,this.options.breaks?n.inline=my.breaks:n.inline=my.gfm),this.tokenizer.rules=n}static get rules(){return{block:sw,inline:my}}static lex(t,n){return new k5(n).lex(t)}static lexInline(t,n){return new k5(n).inlineTokens(t)}lex(t){t=t.replace(Ls.carriageReturn,` `),this.blockTokens(t,this.tokens);for(let n=0;n(i=o.call({lexer:this},t,n))?(t=t.substring(i.raw.length),n.push(i),!0):!1))continue;if(i=this.tokenizer.space(t)){t=t.substring(i.raw.length);let o=n.at(-1);i.raw.length===1&&o!==void 0?o.raw+=` `:n.push(i);continue}if(i=this.tokenizer.code(t)){t=t.substring(i.raw.length);let o=n.at(-1);o?.type==="paragraph"||o?.type==="text"?(o.raw+=(o.raw.endsWith(` `)?"":` `)+i.raw,o.text+=` `+i.text,this.inlineQueue.at(-1).src=o.text):n.push(i);continue}if(i=this.tokenizer.fences(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.heading(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.hr(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.blockquote(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.list(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.html(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.def(t)){t=t.substring(i.raw.length);let o=n.at(-1);o?.type==="paragraph"||o?.type==="text"?(o.raw+=(o.raw.endsWith(` `)?"":` `)+i.raw,o.text+=` `+i.raw,this.inlineQueue.at(-1).src=o.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},n.push(i));continue}if(i=this.tokenizer.table(t)){t=t.substring(i.raw.length),n.push(i);continue}if(i=this.tokenizer.lheading(t)){t=t.substring(i.raw.length),n.push(i);continue}let s=t;if(this.options.extensions?.startBlock){let o=1/0,a=t.slice(1),l;this.options.extensions.startBlock.forEach(c=>{l=c.call({lexer:this},a),typeof l=="number"&&l>=0&&(o=Math.min(o,l))}),o<1/0&&o>=0&&(s=t.substring(0,o+1))}if(this.state.top&&(i=this.tokenizer.paragraph(s))){let o=n.at(-1);r&&o?.type==="paragraph"?(o.raw+=(o.raw.endsWith(` `)?"":` `)+i.raw,o.text+=` `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):n.push(i),r=s.length!==t.length,t=t.substring(i.raw.length);continue}if(i=this.tokenizer.text(t)){t=t.substring(i.raw.length);let o=n.at(-1);o?.type==="text"?(o.raw+=(o.raw.endsWith(` `)?"":` `)+i.raw,o.text+=` `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):n.push(i);continue}if(t){let o="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){let r=t,i=null;if(this.tokens.links){let a=Object.keys(this.tokens.links);if(a.length>0)for(;(i=this.tokenizer.rules.inline.reflinkSearch.exec(r))!=null;)a.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(r=r.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(i=this.tokenizer.rules.inline.anyPunctuation.exec(r))!=null;)r=r.slice(0,i.index)+"++"+r.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(i=this.tokenizer.rules.inline.blockSkip.exec(r))!=null;)r=r.slice(0,i.index)+"["+"a".repeat(i[0].length-2)+"]"+r.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);r=this.options.hooks?.emStrongMask?.call({lexer:this},r)??r;let s=!1,o="";for(;t;){s||(o=""),s=!1;let a;if(this.options.extensions?.inline?.some(c=>(a=c.call({lexer:this},t,n))?(t=t.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.escape(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.tag(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.link(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(a.raw.length);let c=n.at(-1);a.type==="text"&&c?.type==="text"?(c.raw+=a.raw,c.text+=a.text):n.push(a);continue}if(a=this.tokenizer.emStrong(t,r,o)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.codespan(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.br(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.del(t)){t=t.substring(a.raw.length),n.push(a);continue}if(a=this.tokenizer.autolink(t)){t=t.substring(a.raw.length),n.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(t))){t=t.substring(a.raw.length),n.push(a);continue}let l=t;if(this.options.extensions?.startInline){let c=1/0,u=t.slice(1),f;this.options.extensions.startInline.forEach(h=>{f=h.call({lexer:this},u),typeof f=="number"&&f>=0&&(c=Math.min(c,f))}),c<1/0&&c>=0&&(l=t.substring(0,c+1))}if(a=this.tokenizer.inlineText(l)){t=t.substring(a.raw.length),a.raw.slice(-1)!=="_"&&(o=a.raw.slice(-1)),s=!0;let c=n.at(-1);c?.type==="text"?(c.raw+=a.raw,c.text+=a.text):n.push(a);continue}if(t){let c="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return n}},oS=class{options;parser;constructor(e){this.options=e||Rp}space(e){return""}code({text:e,lang:t,escaped:n}){let r=(t||"").match(Ls.notSpaceStart)?.[0],i=e.replace(Ls.endingNewline,"")+` `;return r?'
      '+(n?i:Bl(i,!0))+`
      `:"
      "+(n?i:Bl(i,!0))+`
      `}blockquote({tokens:e}){return`
      ${this.parser.parse(e)}
      `}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)} `}hr(e){return`
      `}list(e){let t=e.ordered,n=e.start,r="";for(let o=0;o `+r+" `}listitem(e){let t="";if(e.task){let n=this.checkbox({checked:!!e.checked});e.loose?e.tokens[0]?.type==="paragraph"?(e.tokens[0].text=n+" "+e.tokens[0].text,e.tokens[0].tokens&&e.tokens[0].tokens.length>0&&e.tokens[0].tokens[0].type==="text"&&(e.tokens[0].tokens[0].text=n+" "+Bl(e.tokens[0].tokens[0].text),e.tokens[0].tokens[0].escaped=!0)):e.tokens.unshift({type:"text",raw:n+" ",text:n+" ",escaped:!0}):t+=n+" "}return t+=this.parser.parse(e.tokens,!!e.loose),`
    • ${t}
    • `}checkbox({checked:e}){return"'}paragraph({tokens:e}){return`

      ${this.parser.parseInline(e)}

      `}table(e){let t="",n="";for(let i=0;i${r}`),` `+t+` `+r+`
      `}tablerow({text:e}){return` ${e} `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+` `}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${Bl(e,!0)}`}br(e){return"
      "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=WB(e);if(i===null)return r;e=i;let s='
      ",s}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=WB(e);if(i===null)return Bl(n);e=i;let s=`${n}{let o=i[s].flat(1/0);n=n.concat(this.walkTokens(o,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{let r={...n};if(r.async=this.defaults.async||r.async||!1,n.extensions&&(n.extensions.forEach(i=>{if(!i.name)throw new Error("extension name required");if("renderer"in i){let s=t.renderers[i.name];s?t.renderers[i.name]=function(...o){let a=i.renderer.apply(this,o);return a===!1&&(a=s.apply(this,o)),a}:t.renderers[i.name]=i.renderer}if("tokenizer"in i){if(!i.level||i.level!=="block"&&i.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=t[i.level];s?s.unshift(i.tokenizer):t[i.level]=[i.tokenizer],i.start&&(i.level==="block"?t.startBlock?t.startBlock.push(i.start):t.startBlock=[i.start]:i.level==="inline"&&(t.startInline?t.startInline.push(i.start):t.startInline=[i.start]))}"childTokens"in i&&i.childTokens&&(t.childTokens[i.name]=i.childTokens)}),r.extensions=t),n.renderer){let i=this.defaults.renderer||new oS(this.defaults);for(let s in n.renderer){if(!(s in i))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,a=n.renderer[o],l=i[o];i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u||""}}r.renderer=i}if(n.tokenizer){let i=this.defaults.tokenizer||new sS(this.defaults);for(let s in n.tokenizer){if(!(s in i))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,a=n.tokenizer[o],l=i[o];i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}r.tokenizer=i}if(n.hooks){let i=this.defaults.hooks||new Wy;for(let s in n.hooks){if(!(s in i))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,a=n.hooks[o],l=i[o];Wy.passThroughHooks.has(s)?i[o]=c=>{if(this.defaults.async&&Wy.passThroughHooksRespectAsync.has(s))return Promise.resolve(a.call(i,c)).then(f=>l.call(i,f));let u=a.call(i,c);return l.call(i,u)}:i[o]=(...c)=>{let u=a.apply(i,c);return u===!1&&(u=l.apply(i,c)),u}}r.hooks=i}if(n.walkTokens){let i=this.defaults.walkTokens,s=n.walkTokens;r.walkTokens=function(o){let a=[];return a.push(s.call(this,o)),i&&(a=a.concat(i.call(this,o))),a}}this.defaults={...this.defaults,...r}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return bu.lex(e,t??this.defaults)}parser(e,t){return _u.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},s=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return s(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));i.hooks&&(i.hooks.options=i,i.hooks.block=e);let o=i.hooks?i.hooks.provideLexer():e?bu.lex:bu.lexInline,a=i.hooks?i.hooks.provideParser():e?_u.parse:_u.parseInline;if(i.async)return Promise.resolve(i.hooks?i.hooks.preprocess(t):t).then(l=>o(l,i)).then(l=>i.hooks?i.hooks.processAllTokens(l):l).then(l=>i.walkTokens?Promise.all(this.walkTokens(l,i.walkTokens)).then(()=>l):l).then(l=>a(l,i)).then(l=>i.hooks?i.hooks.postprocess(l):l).catch(s);try{i.hooks&&(t=i.hooks.preprocess(t));let l=o(t,i);i.hooks&&(l=i.hooks.processAllTokens(l)),i.walkTokens&&this.walkTokens(l,i.walkTokens);let c=a(l,i);return i.hooks&&(c=i.hooks.postprocess(c)),c}catch(l){return s(l)}}}onError(e,t){return n=>{if(n.message+=` Please report this to https://github.com/markedjs/marked.`,e){let r="

      An error occurred:

      "+Bl(n.message+"",!0)+"
      ";return t?Promise.resolve(r):r}if(t)return Promise.reject(n);throw n}}},lp=new Ezt;function rr(e,t){return lp.parse(e,t)}rr.options=rr.setOptions=function(e){return lp.setOptions(e),rr.defaults=lp.defaults,pst(rr.defaults),rr};rr.getDefaults=S8;rr.defaults=Rp;rr.use=function(...e){return lp.use(...e),rr.defaults=lp.defaults,pst(rr.defaults),rr};rr.walkTokens=function(e,t){return lp.walkTokens(e,t)};rr.parseInline=lp.parseInline;rr.Parser=_u;rr.parser=_u.parse;rr.Renderer=oS;rr.TextRenderer=C8;rr.Lexer=bu;rr.lexer=bu.lex;rr.Tokenizer=sS;rr.Hooks=Wy;rr.parse=rr;rr.options;rr.setOptions;rr.use;rr.walkTokens;rr.parseInline;_u.parse;bu.lex;class Tzt{element;constructor(t,n){this.element=t,this.update(n)}update(t){this.element.innerHTML='
      '+rr(t.value?.toString()??"(null)",{async:!1,gfm:!0})+"
      "}}class kzt{element;constructor(t,n){this.element=t,this.update(n)}update(t){if(t.value!=null){let n=document.createElement("a");n.href=t.value,n.innerText=t.value,n.className="underline",n.target="_blank",this.element.replaceChildren(n)}else this.element.innerText="(null)"}}let Est={markdown:Tzt,image:qUt,url:kzt,json:jUt},Mzt=[{renderer:"markdown",label:"Markdown"},{renderer:"image",label:"Image"},{renderer:"url",label:"Link"},{renderer:"json",label:"JSON"}];function GB(e){if(e!=null)return typeof e=="string"?Est[e]:e}function Izt(e){return typeof e=="string"&&(e.startsWith("http://")||e.startsWith("https://"))}function Rzt(e){return e==null?!1:!!(typeof e=="string"&&e.startsWith("data:image/")||e.bytes&&e.bytes instanceof Uint8Array)}function N8(e){if(e==null)return"(null)";if(typeof e=="string")return e.toString();if(typeof e=="number")return e.toLocaleString();if(Array.isArray(e))return"["+e.map(t=>N8(t)).join(", ")+"]";try{return dst(e)}catch{return e.toString()}}var Czt=xt('
      ');function Nzt(e,t){me(t,!0);function n(y){t.onChange({...t.style,...y})}var r=Czt(),i=ot(r),s=ot(i),o=ot(s,!0);tt(s),tt(i);var a=mt(i),l=ot(a),c=ot(l);{let y=dt(()=>t.style.renderer??null),v=dt(()=>[{value:null,label:"(default)"},...Mzt.map(b=>({value:b.renderer,label:b.label}))]);Sa(c,{get value(){return w(y)},onChange:b=>n({renderer:b}),get options(){return w(v)}})}var u=mt(c,2);{var f=y=>{var v=()=>t.style.rendererOptions?.size??100,b=_=>{n({rendererOptions:{size:_}})};fst(y,{get value(){return v()},set value(_){b(_)},width:72,min:16,max:400})};Ot(u,y=>{t.style.renderer=="image"&&y(f)})}tt(l),tt(a);var h=mt(a),d=ot(h),g=ot(d);{let y=dt(()=>t.style.display??"badge");Sa(g,{get value(){return w(y)},onChange:v=>{n({display:v})},options:[{value:"full",label:"Full"},{value:"badge",label:"Badge"},{value:"hidden",label:"Hidden"}]})}tt(d),tt(h),tt(r),Ft(()=>ce(o,t.column.name)),st(e,r),ye()}var $zt=xt('
      ColumnFormatStyle
      ');function Ozt(e,t){me(t,!0);var n=$zt(),r=ot(n),i=mt(ot(r));bn(i,21,()=>t.columns,Bn,(s,o)=>{{let a=dt(()=>t.styles[w(o).name]??{});Nzt(s,{get column(){return w(o)},get style(){return w(a)},onChange:l=>{let c={...t.styles};c[w(o).name]=l,t.onStylesChange(c)}})}}),tt(i),tt(r),tt(n),st(e,n),ye()}var Lzt=xt("
      ");function Dzt(e,t){me(t,!0);let n=qs(t,["$$slots","$$events","$$legacy"]),r;rm(()=>{let s=new BTt(r,n);hs(()=>{s.update(n)}),l6(()=>{s.destroy()})});var i=Lzt();Te(i,"",{},{display:"flex"}),po(i,s=>r=s,()=>r),st(e,i),ye()}var Fzt=(e,t,n)=>{t(w(n),e)},Bzt=xt('
      '),Pzt=xt('
      ');function Uzt(e,t){me(t,!0);let n=ie(t,"selection",3,null),r=_t(new Set);class i extends gp{reset(){X(r,new Set)}}const s=new i;function o(u,f){if(f.shiftKey||f.metaKey){let h=new Set(w(r));h.has(u)?h.delete(u):h.add(u),X(r,h)}else w(r).has(u)&&w(r).size==1?X(r,new Set):X(r,new Set([u]))}ue(()=>{let u=n();if(u!=null)return ue(()=>{let f=w(r),h=f.size!=0?ss(Array.from(f).map(g=>g.predicate)):null,d={source:s,clients:new Set([s]),value:f.size==0?null:f,predicate:h};u.update(d)}),()=>{u.update({source:s,clients:new Set([s]),value:null,predicate:null})}}),ue(()=>{let u=t.stateStore;if(!u)return;let f=u.subscribe(h=>{h!=null&&X(r,new Set(t.items.filter(d=>h.selectedItems.indexOf(d.label)>=0)))});return ue(()=>{u.set({selectedItems:Array.from(w(r)).map(h=>h.label)})}),f});var a=Pzt(),l=ot(a),c=ot(l);bn(c,21,()=>t.items,Bn,(u,f)=>{const h=dt(()=>w(r).has(w(f))||w(r).size==0);var d=Bzt();let g;d.__click=[Fzt,o,f];var y=ot(d),v=ot(y);let b;tt(y);var _=mt(y),x=ot(_),A=ot(x,!0);tt(x),tt(_);var k=mt(_),S=ot(k,!0);tt(k),tt(d),Ft((T,M,I)=>{g=ar(d,1,"hover:bg-slate-200 dark:hover:bg-slate-700 select-none leading-7",null,g,T),b=Te(v,"",b,M),ct(x,"title",w(f).label),ce(A,w(f).label),ce(S,I)},[()=>({"opacity-20":!w(h)}),()=>({"background-color":w(f).color}),()=>w(f).count.toLocaleString()]),st(u,d)}),tt(c),tt(l),tt(a),st(e,a),ye()}Dr(["click"]);const XB=Symbol("coordinator"),KB=Symbol("darkMode");class Lr{static get coordinator(){return f7(XB)??kl()}static set coordinator(t){h7(XB,t)}static get darkMode(){return f7(KB)}static set darkMode(t){h7(KB,t)}}function ow(e,t,n){return e+(t-e)*n}function zzt(e,t,n){let r=Math.log(e.scale),i=Math.log(t.scale);if(Math.abs(i-r)<1e-5)return{x:ow(e.x,t.x,n),y:ow(e.y,t.y,n),scale:ow(e.scale,t.scale,n)};let s=Math.exp(ow(r,i,n));return{x:(t.x*t.scale-e.x*e.scale+(e.x-t.x)*(e.scale*t.scale/s))/(t.scale-e.scale),y:(t.y*t.scale-e.y*e.scale+(e.y-t.y)*(e.scale*t.scale/s))/(t.scale-e.scale),scale:s}}var qzt=xt('
      ');function jzt(e,t){me(t,!0);const n=()=>us(l,"$darkMode",r),[r,i]=wo(),s=800;let o=ie(t,"onClickPoint",3,null);const a=Lr.coordinator,l=Lr.darkMode;let c=_t(null),u=_t(null),f=_t(null),h=_t([]),d=_t(750),g=_t(750),y=dt(()=>t.stateStore?.child("legend")),v;function b(C){X(f,null);let L=w(c);if(L==null){X(c,C);return}let F=s,$=new Date().getTime(),D=()=>{let O=(new Date().getTime()-$)/F;O>1?O=1:v=requestAnimationFrame(D),X(c,zzt(L,C,t8(O)))};v&&cancelAnimationFrame(v),v=requestAnimationFrame(D)}function _(C){C==null?(X(h,[]),X(f,null)):(X(h,[C]),X(f,C))}function x(){v&&cancelAnimationFrame(v)}function A(C){o()?.(C)}hs(()=>{w(h)?.[0]!=null&&A(w(h)?.[0])}),ue(()=>{let C=t.stateStore;if(!C)return;let L=C.subscribe(F=>{F!=null&&(X(c,F.viewportState),X(u,F.rangeSelection))});return hs(()=>{C.set({viewportState:w(c),rangeSelection:w(u)})}),L});var k={startViewportAnimation:b,showTooltip:_},S=qzt(),T=ot(S);{let C=dt(()=>({...t.config??{},colorScheme:n()?"dark":"light"})),L=dt(()=>t.categoryLegend?.indexColumn),F=dt(()=>t.categoryLegend?.legend.map($=>$.color));Dzt(T,{get coordinator(){return a},get table(){return t.table},get identifier(){return t.id},get x(){return t.x},get y(){return t.y},get labels(){return t.labels},get config(){return w(C)},get text(){return t.text},get category(){return w(L)},get categoryColors(){return w(F)},get additionalFields(){return t.additionalFields},get viewportState(){return w(c)},onViewportState:$=>{X(c,$),x()},get tooltip(){return w(f)},onTooltip:$=>X(f,$),get selection(){return w(h)},onSelection:$=>{X(h,$)},get filter(){return t.filter},get rangeSelection(){return t.filter},get rangeSelectionValue(){return w(u)},onRangeSelection:$=>{X(u,$)},get width(){return w(d)},get height(){return w(g)},get customTooltip(){return t.customTooltip},get customOverlay(){return t.customOverlay},get cache(){return t.cache}})}var M=mt(T,2);{var I=C=>{var L=_n(),F=Wt(L);SS(F,()=>t.categoryLegend,$=>{Uzt($,{get items(){return t.categoryLegend.legend},get selection(){return t.filter},get stateStore(){return w(y)}})}),st(C,L)};Ot(M,C=>{t.categoryLegend!=null&&C(I)})}tt(S),Vd(S,"clientWidth",C=>X(d,C)),Vd(S,"clientHeight",C=>X(g,C)),st(e,S);var N=ye(k);return i(),N}function Vzt(e,{from:t,to:n},r={}){var{delay:i=0,duration:s=S=>Math.sqrt(S)*120,easing:o=t8}=r,a=getComputedStyle(e),l=a.transform==="none"?"":a.transform,[c,u]=a.transformOrigin.split(" ").map(parseFloat);c/=e.clientWidth,u/=e.clientHeight;var f=Wzt(e),h=e.clientWidth/n.width/f,d=e.clientHeight/n.height/f,g=t.left+t.width*c,y=t.top+t.height*u,v=n.left+n.width*c,b=n.top+n.height*u,_=(g-v)*h,x=(y-b)*d,A=t.width/n.width,k=t.height/n.height;return{delay:i,duration:typeof s=="function"?s(Math.sqrt(_*_+x*x)):s,easing:o,css:(S,T)=>{var M=T*_,I=T*x,N=S+T*A,C=S+T*k;return`transform: ${l} translate(${M}px, ${I}px) scale(${N}, ${C});`}}}function Wzt(e){if("currentCSSZoom"in e)return e.currentCSSZoom;for(var t=e,n=1;t!==null;)n*=+getComputedStyle(t).zoom,t=t.parentElement;return n}const Yzt="spec",Tst="literal",Hzt="options",Gzt="selection",Xzt="paramref",Kzt="columnparamref",Jzt="param",Zzt="include",kst="select",I5="value",Qzt="crossfilter",Mst="intersect",tqt="union",eqt="single",nqt="data",rqt="expression",hv="sql",$8="input",aS="hconcat",lS="vconcat",cS="hspace",uS="vspace",Ist="mark",JB="from",fS="plot",O8="legend",iqt="attribute",Rst="transform",sqt="windowframe",oqt="interactor",qw="Fixed";function hS(e){const t=typeof e;return t==="object"?e?.param:t==="string"?aqt(e):null}function aqt(e){return e?.[0]==="$"?e.slice(1):null}function ZB(e){return`$${e}`}function Cst(e){return[e].flat()}function Ud(e){return Array.isArray(e)}function L8(e){return e!==null&&typeof e=="object"&&!Ud(e)}function jw(e){return typeof e=="string"}function Nst(e,t){throw Object.assign(Error(e),{data:t})}const lqt=/^(?:[-+]\d{2})?\d{4}(?:-\d{2}(?:-\d{2})?)?(?:T\d{2}:\d{2}(?::\d{2}(?:\.\d{3})?)?(?:Z|[-+]\d{2}:?\d{2})?)?$/;function cqt(e,t){return lqt.test(e+="")?new Date(e):t}class Ir{constructor(t,n=null){this.type=t,this.children=n}instantiate(t){throw Error("instantiate not implemented")}codegen(t){return Error("codegen not implemented")}toJSON(){return Error("toJSON not implemented")}}function Nl(e,t){const n={};for(const r in e)n[r]=t.maybeSelection(e[r]);return new Sb(n)}class Sb extends Ir{constructor(t){super(Hzt),this.options=t}filter(t){const n=Object.fromEntries(Object.entries(this.options).filter(([r,i])=>t(r,i)));return new Sb(n)}instantiate(t){const{options:n}=this,r={};for(const i in n)r[i]=n[i].instantiate(t);return r}codegen(t){const{options:n}=this,r=[];for(const i in n)r.push(`${i}: ${n[i].codegen(t)}`);return r.length?`{${t.maybeLineWrap(r)}}`:""}toJSON(){const{options:t}=this,n={};for(const r in t)n[r]=t[r].toJSON();return n}}const $st="table",Ost="parquet",Lst="csv",D8="json",F8="spatial",QB=new Map([[$st,pqt],[Ost,gqt],[Lst,mqt],[D8,yqt],[F8,vqt]]);function uqt(e,t,n){const r=fqt(t);if(QB.has(r.type))return QB.get(r.type)(e,r,n);n.error("Unrecognized data format type.",t)}function fqt(e){return Ud(e)&&(e={type:"json",data:e}),jw(e)&&(e={type:"table",query:e}),{...e,type:hqt(e)}}function hqt(e){return e.type||dqt(e.file)||"table"}function dqt(e){const t=e?.lastIndexOf(".");return t>0?e.slice(t+1):null}function pqt(e,t,n){const{query:r,type:i,...s}=t;return new wqt(e,r,Nl(s,n))}function gqt(e,t,n){const{file:r,type:i,...s}=t;return new Sqt(e,r,Nl(s,n))}function mqt(e,t,n){const{file:r,type:i,...s}=t;return new Aqt(e,r,Nl(s,n))}function yqt(e,t,n){const{data:r,file:i,type:s,...o}=t,a=Nl(o,n);return r?new Tqt(e,r,a):new Eqt(e,i,a)}function vqt(e,t,n){const{file:r,type:i,...s}=t;return new xqt(e,r,Nl(s,n))}function t9(e,t){return t?new URL(e,t).toString():e}function bqt(e,t){const n=e?.codegen(t);return n?`, ${n}`:""}class _qt extends Ir{constructor(t,n){super(nqt),this.name=t,this.format=n}}class B8 extends _qt{constructor(t,n){super(t,n)}instantiateQuery(t){t.error("instantiateQuery not implemented")}codegenQuery(t){t.error("codegenQuery not implemented")}instantiate(t){const n=this.instantiateQuery(t);if(n)return n}codegen(t){const n=this.codegenQuery(t);if(n)return n}}class wqt extends B8{constructor(t,n,r){super(t,$st),this.query=n?.trim(),this.options=r}instantiateQuery(t){const{name:n,query:r,options:i}=this;if(r)return t.api.createTable(n,r,i.instantiate(t))}codegenQuery(t){const{name:n,query:r,options:i}=this;if(r)return`\`${T1(n,r,i.instantiate(t))}\``}toJSON(){const{format:t,query:n,options:r}=this;return{type:t,query:n,...r.toJSON()}}}class SA extends B8{constructor(t,n,r,i,s){super(t,n),this.file=i,this.method=r,this.options=s}instantiateQuery(t){const{name:n,method:r,file:i,options:s}=this,o=t9(i,t.baseURL),a=s?.instantiate(t);return t.api[r](n,o,a)}codegenQuery(t){const{name:n,method:r,file:i,options:s}=this,o=t9(i,t.baseURL),a=bqt(s,t);return`${t.ns()}${r}("${n}", "${o}"${a})`}toJSON(){const{format:t,file:n,options:r}=this;return{type:t,file:n,...r.toJSON()}}}class xqt extends SA{constructor(t,n,r){super(t,F8,"loadSpatial",n,r)}}class Sqt extends SA{constructor(t,n,r){super(t,Ost,"loadParquet",n,r)}}class Aqt extends SA{constructor(t,n,r){super(t,Lst,"loadCSV",n,r)}}class Eqt extends SA{constructor(t,n,r){super(t,D8,"loadJSON",n,r)}}class Tqt extends B8{constructor(t,n,r){super(t,D8),this.data=n,this.options=r}instantiateQuery(t){const{name:n,data:r,options:i}=this;return t.api.loadObjects(n,r,i.instantiate(t))}codegenQuery(t){const{name:n,data:r,options:i}=this,s=i?","+i.codegen(t):"",o=`[ `+r.map(a=>JSON.stringify(a)).join(`, `)+` ]`;return`${t.ns()}loadObjects("${n}", ${o}${s})`}toJSON(){const{format:t,data:n,options:r}=this;return{type:t,data:n,...r.toJSON()}}}function kqt(e){const t=e.config?.extensions,n=new Set(t?Cst(t):[]);for(const r of Object.values(e.data))r.format===F8&&n.add("spatial");return n}async function Mqt(e,t){const{data:n,params:r,plotDefaults:i}=e,s=new Iqt({plotDefaults:i,...t}),o=[],a=kqt(e);o.push(...Array.from(a).map(l=>zU(l)));for(const l of Object.values(n)){const c=l.instantiate(s);c&&o.push(c)}o.length>0&&await s.coordinator.exec(o);for(const[l,c]of Object.entries(r))if(!s.activeParams.has(l)){const u=c.instantiate(s);s.activeParams.set(l,u)}return{element:e.root.instantiate(s),params:s.activeParams}}class Iqt{constructor({api:t=dit(),plotDefaults:n=[],params:r=new Map,baseURL:i=null}={}){this.api=t,this.plotDefaults=n,this.activeParams=r,this.baseURL=i,this.coordinator=t.context.coordinator}error(t,n){Nst(t,n)}}class R5 extends Ir{constructor(t){super(Tst),this.value=t}instantiate(){return this.value}codegen(t){return t.stringify(this.value)}toJSON(){return this.value}}function Rqt(e,t){const{select:n,include:r,...i}=e,s=Nl(i,t);return r&&(s.options.include=new Cqt(Cst(r).map(o=>t.selectionRef(hS(o))))),new C5(n,s)}class C5 extends Ir{constructor(t=Mst,n=new Sb({})){super(Gzt),this.select=t,this.options=n}instantiate(t){const{select:n,options:r}=this;return t.api.Selection[n](r.instantiate(t))}codegen(t){const{select:n,options:r}=this;return`${t.ns()}Selection.${n}(${r.codegen(t)})`}toJSON(){const{select:t,options:n}=this;return{select:t,...n.toJSON()}}}class Cqt extends Ir{constructor(t){super(Zzt),this.refs=t}instantiate(t){return this.refs.map(n=>n.instantiate(t))}codegen(t){return`[${this.refs.map(n=>n.codegen(t)).join(", ")}]`}toJSON(){return this.refs.map(t=>t.toJSON())}}const Nqt=new Set([I5,eqt,Qzt,Mst,tqt]);function $qt(e,t){const n=L8(e)?e:{value:e},{select:r=I5,value:i,date:s}=n;return Nqt.has(r)||t.error(`Unrecognized param type: ${r}`,n),r!==I5?Rqt(e,t):Ud(i)?new N5(i.map(o=>t.maybeParam(o))):new N5(i,s)}class N5 extends Ir{constructor(t,n){super(Jzt),this.value=t,this.date=n}instantiate(t){const{date:n,value:r}=this,{Param:i}=t.api;return Ud(r)?i.array(r.map(s=>s.instantiate(t))):i.value(cqt(n,r))}codegen(t){const{value:n,date:r}=this,i=`${t.ns()}Param.`;return Ud(n)?`${i}array([${n.map(s=>s.codegen(t)).join(", ")}])`:r?`${i}value(new Date(${JSON.stringify(r)}))`:`${i}value(${JSON.stringify(n)})`}toJSON(){const{date:t,value:n}=this;return Ud(n)?n.map(r=>r.toJSON()):t?{date:t}:n}}class Oqt extends Ir{constructor(t){super(Xzt),this.name=t}instantiate(t){return t.activeParams?.get(this.name)}codegen(t){return ZB(this.name)}toJSON(){return ZB(this.name)}}function Dst(e,t,n){return n.plot?.attributes?.has(e)||n.error(`Unrecognized attribute: ${e}`),new Lqt(e,t===qw?new Dqt:n.maybeParam(t))}class Lqt extends Ir{constructor(t,n){super(iqt),this.name=t,this.value=n}instantiate(t){const{name:n,value:r}=this;return t.api[n](r.instantiate(t))}codegen(t){const{name:n,value:r}=this;return`${t.tab()}${t.ns()}${n}(${r.codegen(t)})`}toJSON(){const{name:t,value:n}=this;return{[t]:n.toJSON()}}}class Dqt extends Ir{constructor(){super(Tst),this.value=qw}instantiate(t){return t.api[qw]}codegen(t){return`${t.ns()}${qw}`}toJSON(){return this.value}}class Fqt extends Ir{constructor(t,n,r,i,s,o){super(Yzt,[t]),this.root=t,this.meta=n,this.config=r,this.data=i,this.params=s,this.plotDefaults=o}toJSON(){const{root:t,meta:n,config:r,plotDefaults:i}=this,s=new Map(Object.entries(this.data)),o=new Map(Object.entries(this.params)),a={};if(n&&(a.meta={...n}),r&&(a.config={...r}),s?.size){const l=a.data={};for(const[c,u]of s)l[c]=u.toJSON()}if(o?.size){const l=a.params={};for(const[c,u]of o)l[c]=u.toJSON()}if(i?.length){const l=a.plotDefaults={};for(const c of i)Object.assign(l,c.toJSON())}return Object.assign(a,t.toJSON())}}function Bqt(e,t){const n=e[aS].map(r=>t.parseComponent(r));return new Pqt(n)}class Pqt extends Ir{constructor(t){super(aS,t)}instantiate(t){return t.api[aS](this.children.map(n=>n.instantiate(t)))}codegen(t){t.indent();const n=this.children.map(r=>r.codegen(t));return t.undent(),`${t.tab()}${t.ns()}${this.type}( ${n.join(`, `)} ${t.tab()})`}toJSON(){return{[this.type]:this.children.map(t=>t.toJSON())}}}function Uqt(e){return new zqt(e[cS])}class zqt extends Ir{constructor(t){super(cS),this.value=t}instantiate(t){return t.api[cS](this.value)}codegen(t){return`${t.tab()}${t.ns()}${this.type}(${t.stringify(this.value)})`}toJSON(){return{[this.type]:this.value}}}function qqt(e,t){const{[$8]:n,...r}=e;return t.inputs?.has(n)||t.error(`Unrecognized input type: ${n}`,e),new jqt(n,Nl(r,t))}class jqt extends Ir{constructor(t,n){super($8),this.name=t,this.options=n}instantiate(t){return t.api[this.name](this.options.instantiate(t))}codegen(t){const n=this.options.codegen(t);return`${t.tab()}${t.ns()}${this.name}(${n})`}toJSON(){const{type:t,name:n,options:r}=this;return{[t]:n,...r.toJSON()}}}function Fst(e,t){const{[O8]:n,...r}=e,i=`${n}Legend`;return t.plot?.legends?.has(i)||t.error(`Unrecognized legend type: ${n}`,e),new Vqt(i,n,Nl(r,t))}class Vqt extends Ir{constructor(t,n,r){super(O8),this.key=t,this.name=n,this.options=r}instantiate(t){return t.api[this.key](this.options.instantiate(t))}codegen(t){const n=this.options.codegen(t);return`${t.tab()}${t.ns()}${this.key}(${n})`}toJSON(){const{type:t,name:n,options:r}=this;return{[t]:n,...r.toJSON()}}}function Wqt(e,t){const{[kst]:n,...r}=e;return t.plot?.interactors?.has(n)||t.error(`Unrecognized interactor type: ${n}`,e),new Yqt(n,Nl(r,t))}class Yqt extends Ir{constructor(t,n){super(oqt),this.name=t,this.options=n}instantiate(t){return t.api[this.name](this.options.instantiate(t))}codegen(t){const n=this.options.codegen(t);return`${t.tab()}${t.ns()}${this.name}(${n})`}toJSON(){const{name:t,options:n}=this;return{[kst]:t,...n.toJSON()}}}class Hqt extends Ir{constructor(t){super(Kzt),this.param=t}instantiate(t){return t.api.column(this.param.instantiate(t))}codegen(t){return`${t.ns()}column(${this.param.codegen(t)})`}toJSON(){return`$${this.param.toJSON}`}}const Gqt=/(\\'|\\"|"(?:\\"|[^"])*"|'(?:\\'|[^'])*'|\${1,2}\w+)/g;function Xqt(e,t){const n=e[hv],r=n.split(Gqt),i=[""],s=[];for(let o=0,a=0;oo.instantiate(t));return i(n,...s)}codegen(t){const{spans:n,params:r}=this;let i="";const s=r.length;for(let o=0;oL8(o)?Bst(o,t):new x6(o));return new tjt(n,s,e.exclude)}class tjt extends Ir{constructor(t,n,r){super(sqt),this.type=t,this.extent=n,this.exclude=r?.toUpperCase()}instantiate(t){const{type:n,extent:r,exclude:i}=this,s=Array.isArray(r)?r.map(o=>o.instantiate(t)):r.instantiate(t);return new LS(n,s,i?.toUpperCase())}codegen(t){const{type:n,extent:r,exclude:i}=this,s=`frame${n[0].toUpperCase()}${n.slice(1).toLowerCase()}`,o=Array.isArray(r)?`[${r.map(l=>l.codegen(t)).join(", ")}]`:r.codegen(t),a=i?`, '${i.toUpperCase()}'`:"";return`${t.ns()}${s}(${o}${a})`}toJSON(){const{type:t,extent:n,exclude:r}=this,i=t.toLowerCase(),s=Array.isArray(n)?n.map(o=>o.toJSON()):n.toJSON();return{[i]:s,exclude:r}}}function aw(e,t){return e==null?[]:[e].flat().map(n=>t.maybeParam(n))}function Bst(e,t){let n;for(const r in e)t.transforms.has(r)&&(n=r);if(n)if(n==="bin"){const{bin:r,...i}=e,[s]=aw(r,t);return new njt(n,s,Nl(i,t))}else{const r=n==="count"&&!e[n]?[]:aw(e[n],t),i={distinct:e.distinct,orderby:aw(e.orderby,t),partitionby:aw(e.partitionby,t),frame:Qqt(e,t)};return new ejt(n,r,i)}}class ejt extends Ir{constructor(t,n,r){super(Rst),this.name=t,this.args=n,this.options=r}instantiate(t){const{name:n,args:r,options:i}=this,{distinct:s,orderby:o,partitionby:a,frame:l}=i;let c=t.api[n](...r.map(u=>u.instantiate(t)));return s&&(c=c.distinct()),o.length&&(c=c.orderby(o.map(u=>u.instantiate(t)))),a.length&&(c=c.partitionby(a.map(u=>u.instantiate(t)))),l&&(c=c.frame(l.instantiate(t))),c}codegen(t){const{name:n,args:r,options:i}=this,{distinct:s,orderby:o,partitionby:a,frame:l}=i;let c=`${t.ns()}${n}(`+r.map(u=>u.codegen(t)).join(", ")+")";if(s&&(c+=".distinct()"),o.length){const u=o.map(f=>f.codegen(t));c+=`.orderby(${u.join(", ")})`}if(a.length){const u=a.map(f=>f.codegen(t));c+=`.partitionby(${u.join(", ")})`}return l&&(c+=`.frame(${l.codegen(t)})`),c}toJSON(){const{name:t,args:n,options:r}=this,{distinct:i,orderby:s,partitionby:o,frame:a}=r,l={[t]:qk(n.map(c=>c.toJSON()))};return i&&(l.distinct=!0),s.length&&(l.orderby=qk(s.map(c=>c.toJSON()))),o.length&&(l.partitionby=qk(o.map(c=>c.toJSON()))),a&&Object.assign(l,a.toJSON()),l}}class njt extends Ir{constructor(t,n,r){super(Rst),this.name=t,this.arg=n,this.options=r}instantiate(t){const{name:n,arg:r,options:i}=this;return t.api[n](r.instantiate(t),i.instantiate(t))}codegen(t){const{name:n,arg:r,options:i}=this,s=i.codegen(t);return`${t.ns()}${n}(`+r.codegen(t)+(s?`, ${s}`:"")+")"}toJSON(){const{name:t,arg:n,options:r}=this;return{[t]:n.toJSON(),...r.toJSON()}}}function qk(e){return e.length===0?"":e.length===1?e[0]:e}function rjt(e,t){if(L8(e))return e[hv]?Xqt(e,t):Bst(e,t)}function ijt(e,t){const{mark:n,data:r,...i}=e;t.plot?.marks?.has(n)||t.error(`Unrecognized mark type: ${n}`,e);const s=Jqt(r,t),o={};for(const a in i){const l=i[a];o[a]=rjt(l,t)||t.maybeParam(l)}return new sjt(n,s,new Sb(o))}class sjt extends Ir{constructor(t,n,r){super(Ist),this.name=t,this.data=n,this.options=r}instantiate(t){const{name:n,data:r,options:i}=this,s=i.instantiate(t);return r?t.api[n](r.instantiate(t),s):t.api[n](s)}codegen(t){const{name:n,data:r,options:i}=this,s=r?r.codegen(t):"",o=i.codegen(t);let a;if(s&&o){t.indent();const l=i.codegen(t);a=` ${t.tab()}${s}, ${t.tab()}${l} `,t.undent(),a+=t.tab()}else a=`${s}${o}`;return`${t.tab()}${t.ns()}${n}(${a})`}toJSON(){const{type:t,name:n,data:r,options:i}=this;return{[t]:n,...r?{data:r.toJSON()}:{},...i.toJSON()}}}function ojt(e,t){return Pst({plot:[e]},t)}function Pst(e,t){const{[fS]:n,...r}=e,i=Object.entries(r).map(([o,a])=>Dst(o,a,t)),s=n.map(o=>jw(o.mark)?ijt(o,t):jw(o.legend)?Fst(o,t):jw(o.select)?Wqt(o,t):t.error("Invalid plot entry.",o));return new ajt(s,i)}class ajt extends Ir{constructor(t,n){super(fS,t),this.attributes=n}instantiate(t){const n=[...t.plotDefaults||[],...this.attributes||[]];return t.api[fS](this.children.map(r=>r.instantiate(t)),n.map(r=>r.instantiate(t)))}codegen(t){const{type:n,children:r,attributes:i}=this;t.indent();const s=[...r.map(o=>o.codegen(t)),...t.plotDefaults?.length?[`${t.tab()}...defaultAttributes`]:[],...i.map(o=>o.codegen(t))].join(`, `);return t.undent(),`${t.tab()}${t.ns()}${n}( ${s} ${t.tab()})`}toJSON(){const{type:t,children:n,attributes:r}=this,i={[t]:n.map(s=>s.toJSON())};for(const s of r)Object.assign(i,s.toJSON());return i}}function ljt(e,t){const n=e[lS].map(r=>t.parseComponent(r));return new cjt(n)}class cjt extends Ir{constructor(t){super(lS,t)}instantiate(t){return t.api[lS](this.children.map(n=>n.instantiate(t)))}codegen(t){t.indent();const n=this.children.map(r=>r.codegen(t));return t.undent(),`${t.tab()}${t.ns()}${this.type}( ${n.join(`, `)} ${t.tab()})`}toJSON(){return{[this.type]:this.children.map(t=>t.toJSON())}}}function ujt(e){return new fjt(e[uS])}class fjt extends Ir{constructor(t){super(uS),this.value=t}instantiate(t){return t.api[uS](this.value)}codegen(t){return`${t.tab()}${t.ns()}${this.type}(${t.stringify(this.value)})`}toJSON(){return{[this.type]:this.value}}}function hjt(e=[]){return new Map([[fS,Pst],[Ist,ojt],[O8,Fst],[$8,qqt],[aS,Bqt],[lS,ljt],[cS,Uqt],[uS,ujt],...e])}function djt(e=[]){return new Set(["menu","search","slider","table",...e])}function pjt({attributes:e=gjt(),interactors:t=mjt(),legends:n=yjt(),marks:r=vjt()}={}){return{attributes:e,interactors:t,legends:n,marks:r}}function gjt(e=[]){return new Set([...Object.keys(UFt),...e])}function mjt(e=[]){return new Set([...Object.keys(VFt),...e])}function yjt(e=[]){return new Set([...Object.keys(WFt),...e])}function vjt(e=[]){return new Set([...Object.keys(jFt),...e])}function bjt(e=[]){return new Set(["argmin","argmax","avg","bin","centroid","centroidX","centroidY","column","count","covariance","covarPop","dateMonth","dateMonthDay","dateDay","first","geomean","geojson","last","max","median","min","mode","product","quantile","stddev","stddevPop","sum","variance","varPop","row_number","rank","dense_rank","percent_rank","cume_dist","ntile","lag","lead","first_value","last_value","nth_value","years","months","days","hours","minutes","seconds","milliseconds","microseconds",...e])}function P8(e,t){return new _jt(t).parse(e)}class _jt{constructor({components:t=hjt(),transforms:n=bjt(),inputs:r=djt(),plot:i=pjt(),params:s=[],datasets:o=[]}={}){this.components=t,this.transforms=n,this.inputs=r,this.plot=i,this.params=new Map(s),this.datasets=new Map(o)}parse(t){const{meta:n,config:r,data:i={},params:s,plotDefaults:o={},...a}=t;for(const l in i)this.datasets.set(l,uqt(l,i[l],this));this.plotDefaults=Object.entries(o).map(([l,c])=>Dst(l,c,this));for(const l in s)this.params.set(l,$qt(s[l],this));return new Fqt(this.parseComponent(a),n?{...n}:void 0,r?{...r}:void 0,Object.fromEntries(this.datasets),Object.fromEntries(this.params),this.plotDefaults)}parseComponent(t){for(const[n,r]of this.components)if(t[n]!=null)return r(t,this);this.error("Invalid specification.",t)}maybeParam(t){const n=hS(t);return n?this.paramRef(n):new R5(t)}maybeSelection(t){const n=hS(t);return n?this.selectionRef(n):new R5(t)}paramRef(t,n=()=>new N5){const{params:r}=this;if(!t)return null;let i=r.get(t);return i||(i=n(),r.set(t,i)),new Oqt(t)}selectionRef(t,n=!1){const r=this.params.get(t);return n&&r&&!(r instanceof C5)?null:this.paramRef(t,()=>new C5)}error(t,n){Nst(t,n)}}var lw={},e9=Symbol(),wjt=Symbol(),Ust=e=>typeof e=="string"?p1[e]:e,p1={plain:lw,plaintext:lw,text:lw,txt:lw},zst=(e,t)=>(t[wjt]||xjt)(e,t),xjt=(e,t)=>{for(var n=[e],r,i=[],s=0;r=Ust(t[e9]);)delete t[e9],Object.assign(t,r);for(Wst(e,t,n,0);i[s++]=n[0],n=n[1];);return i},qst=(e,t,n)=>e.replace(/&/g,"&").replace(t,n),n9="",cw="",vy="",jst=e=>{for(var t="",n=e.length,r=0;r{if(e instanceof Yy){var{type:t,alias:n,content:r}=e,i=cw,s=vy,o=``;vy+=n9,cw+=o;var a=Vst(r);return cw=i,vy=s,o+a+n9}return typeof e!="string"?jst(e):(e=qst(e,/{for(var s in t)if(t[s])for(var o=0,a=t[s],l=Array.isArray(a)?a:[a];o=v+(S=y[0].length);y=y[1],v+=S);if(y[0]instanceof Yy)continue;for(var T=y,a=v;(a+=T[0].length)i[2]&&(i[2]=C)}}}}};function Yy(e,t,n,r){this.type=e,this.content=t,this.alias=r,this.length=n.length}const Sjt=(e,t,...n)=>{let r,i=[],s,o="",a,l=!1,c=!0,u=[],f,h=0;const d=Tjt(),g=d.firstChild,y=g.children,v=y[0],b=v.firstChild,_={language:"text",value:o},x=new Set(n),A={},k=D=>{Object.assign(_,D);let O=o!=(o=D.value??o),B=r!=(r=_.language);f=!!_.readOnly,d.style.tabSize=_.tabSize||2,b.inputMode=f?"none":"",b.setAttribute("aria-readonly",f),M(),T(),O&&(l||b.remove(),b.value=o,b.selectionEnd=0,l||v.prepend(b)),(O||B)&&S()},S=()=>{u=zst(o=b.value,p1[r]||{}),L("tokenize",u,r,o);let D=jst(u).split(` `),O=0,B=h,V=h=D.length;for(;D[O]==i[O]&&O