yamlite 0.37.0 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  //#region src/browser/sqlite.d.ts
2
2
  export declare const sqlite3: any;
3
- export declare const opfs: any;
4
3
  export declare function registerVfs(name: string): void;
4
+ export declare function installOpfs(name?: string): Promise<any>;
5
5
  type Value = null | number | bigint | string | Uint8Array;
6
6
  type Row = Record<string, Value>;
7
7
  export declare const constants: Record<string, number>;
@@ -1,11 +1,15 @@
1
1
  import sqlite3InitModule from "@sqlite.org/sqlite-wasm";
2
2
  //#region src/browser/sqlite.ts
3
3
  const sqlite3 = await sqlite3InitModule();
4
- const opfs = typeof globalThis.FileSystemHandle !== "undefined" ? await sqlite3.installOpfsSAHPoolVfs({ name: "yamlite" }) : null;
5
- let VFS = opfs?.vfsName;
4
+ let VFS;
6
5
  function registerVfs(name) {
7
6
  VFS = name;
8
7
  }
8
+ async function installOpfs(name = "yamlite") {
9
+ const pool = await sqlite3.installOpfsSAHPoolVfs({ name });
10
+ VFS = pool.vfsName;
11
+ return pool;
12
+ }
9
13
  const { capi, oo1 } = sqlite3;
10
14
  const constants = Object.fromEntries(Object.entries(capi).filter(([k, v]) => k.startsWith("SQLITE_") && typeof v === "number"));
11
15
  var SqliteError = class extends Error {
@@ -216,4 +220,4 @@ var DatabaseSync = class {
216
220
  }
217
221
  };
218
222
  //#endregion
219
- export { DatabaseSync, StatementSync, constants, opfs, registerVfs, sqlite3 };
223
+ export { DatabaseSync, StatementSync, constants, installOpfs, registerVfs, sqlite3 };
@@ -1,4 +1,4 @@
1
- import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{S as t,b as n,i as r,v as i,w as a,x as o}from"./theme-CMaLONsO.js";import{$t as s,Bt as c,D as l,Ft as u,It as d,Jt as f,L as p,Lt as m,Mt as h,N as g,Nt as _,Pt as v,Qt as y,Ut as b,Xt as x,Yt as S,Zt as C,a as w,an as T,cn as E,dn as D,en as O,fn as k,in as A,jt as j,ln as M,mn as N,nn as P,on as F,pn as I,rn as L,sn as R,t as z,tn as B,un as V,zt as H}from"./index-yVyR96tO.js";var ee=((e={},t={})=>(t.locale??a())===`ja`?`クリックで関連をハイライト · ダブルクリックでテーブルを開く`:`Click to highlight relations · double-click to open the table`),te=((e={},t={})=>(t.locale??a())===`ja`?`タップで関連をハイライト · タイトルをタップでテーブルを開く`:`Tap to highlight relations · tap a title to open the table`),U=((e={},t={})=>(t.locale??a())===`ja`?`キー`:`key`),ne=((e={},t={})=>(t.locale??a())===`ja`?`問題あり`:`problem`),re=((e={},t={})=>(t.locale??a())===`ja`?`参照`:`reference`),ie=((e={},t={})=>(t.locale??a())===`ja`?`再レイアウト`:`Re-layout`),ae=((e={},t={})=>(t.locale??a())===`ja`?`ビューを表示`:`Show views`);function oe(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var se=class extends A{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,L.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!R(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(oe(e,n).forEach(e=>{e.destroy()}),oe(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){let n=new Set;return t.map((r,i)=>{let a=e[i];return r.defaultedQueryOptions.notifyOnChangeProps?a:r.observer.trackResult(a,e=>{n.has(e)||(n.add(e),t.forEach(t=>{t.observer.trackProp(e)}))})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=F(this.#a,t(e))),this.#a}return e}#f(){return!this.#r?.combine||this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new P(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=this.#t.slice(),this.#t[n]=t,this.#h())}#h(){if(this.hasListeners()){let e=this.#f(),t=this.#a,n=e?t:this.#d(this.#u(this.#t,this.#l),this.#r?.combine);(e||t!==n)&&L.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},W=e(t(),1);function ce({queries:e,...t},n){let r=E(n),i=B(),a=O(),o=t.subscribed!==!1,c=W.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:o?`optimistic`:void 0,t}),[e,r,i,o]);c.forEach(e=>{f(e);let t=r.getQueryCache().get(e.queryHash);C(e,a,t)}),s(a);let[l]=W.useState(()=>new se(r,c,t)),[u,d,p]=l.getOptimisticResult(c,t.combine),m=!i&&o;W.useSyncExternalStore(W.useCallback(e=>m?l.subscribe(L.batchCalls(e)):T,[l,m]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),W.useEffect(()=>{l.setQueries(c,t)},[c,t,l]);let h=u.some((e,t)=>x(c[t],e))?u.flatMap((e,t)=>{let n=c[t];if(n&&x(n,e)){let e=new P(r,n);return S(n,e,a)}return[]}):[];if(h.length>0)throw Promise.all(h);let g=u.find((e,t)=>{let n=c[t];return n&&y({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(g)throw g.error;return d(p())}var le={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};le.node;var ue=d(le),G=n();function K(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=K(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var de={value:()=>{}};function fe(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new pe(n)}function pe(e){this._=e}function me(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}pe.prototype=fe.prototype={constructor:pe,on:function(e,t){var n=this._,r=me(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=he(n[i],e.name)))return i}else{if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=ge(n[i],e.name,t);else if(t==null)for(i in n)n[i]=ge(n[i],e.name,null);return this}},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new pe(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function he(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function ge(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=de,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var _e={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function ve(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),_e.hasOwnProperty(t)?{space:_e[t],local:e}:e}function ye(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function be(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function xe(e){var t=ve(e);return(t.local?be:ye)(t)}function Se(){}function Ce(e){return e==null?Se:function(){return this.querySelector(e)}}function we(e){typeof e!=`function`&&(e=Ce(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new q(r,this._parents)}function Te(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ee(){return[]}function De(e){return e==null?Ee:function(){return this.querySelectorAll(e)}}function Oe(e){return function(){return Te(e.apply(this,arguments))}}function ke(e){e=typeof e==`function`?Oe(e):De(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new q(r,i)}function Ae(e){return function(){return this.matches(e)}}function je(e){return function(t){return t.matches(e)}}var Me=Array.prototype.find;function Ne(e){return function(){return Me.call(this.children,e)}}function Pe(){return this.firstElementChild}function Fe(e){return this.select(e==null?Pe:Ne(typeof e==`function`?e:je(e)))}var Ie=Array.prototype.filter;function Le(){return Array.from(this.children)}function Re(e){return function(){return Ie.call(this.children,e)}}function ze(e){return this.selectAll(e==null?Le:Re(typeof e==`function`?e:je(e)))}function Be(e){typeof e!=`function`&&(e=Ae(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new q(r,this._parents)}function Ve(e){return Array(e.length)}function He(){return new q(this._enter||this._groups.map(Ve),this._parents)}function Ue(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Ue.prototype={constructor:Ue,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function We(e){return function(){return e}}function Ge(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new Ue(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Ke(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new Ue(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function qe(e){return e.__data__}function Je(e,t){if(!arguments.length)return Array.from(this,qe);var n=t?Ke:Ge,r=this._parents,i=this._groups;typeof e!=`function`&&(e=We(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=Ye(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new q(o,r),o._enter=s,o._exit=c,o}function Ye(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Xe(){return new q(this._exit||this._groups.map(Ve),this._parents)}function Ze(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Qe(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new q(s,this._parents)}function $e(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function et(e){e||=tt;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new q(i,this._parents).order()}function tt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function nt(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function rt(){return Array.from(this)}function it(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function at(){let e=0;for(let t of this)++e;return e}function ot(){return!this.node()}function st(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function ct(e){return function(){this.removeAttribute(e)}}function lt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ut(e,t){return function(){this.setAttribute(e,t)}}function dt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function ft(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function pt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function mt(e,t){var n=ve(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?lt:ct:typeof t==`function`?n.local?pt:ft:n.local?dt:ut)(n,t))}function ht(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function gt(e){return function(){this.style.removeProperty(e)}}function _t(e,t,n){return function(){this.style.setProperty(e,t,n)}}function vt(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function yt(e,t,n){return arguments.length>1?this.each((t==null?gt:typeof t==`function`?vt:_t)(e,t,n??``)):bt(this.node(),e)}function bt(e,t){return e.style.getPropertyValue(t)||ht(e).getComputedStyle(e,null).getPropertyValue(t)}function xt(e){return function(){delete this[e]}}function St(e,t){return function(){this[e]=t}}function Ct(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function wt(e,t){return arguments.length>1?this.each((t==null?xt:typeof t==`function`?Ct:St)(e,t)):this.node()[e]}function Tt(e){return e.trim().split(/^|\s+/)}function Et(e){return e.classList||new Dt(e)}function Dt(e){this._node=e,this._names=Tt(e.getAttribute(`class`)||``)}Dt.prototype={add:function(e){this._names.indexOf(e)<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 Ot(e,t){for(var n=Et(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function kt(e,t){for(var n=Et(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function At(e){return function(){Ot(this,e)}}function jt(e){return function(){kt(this,e)}}function Mt(e,t){return function(){(t.apply(this,arguments)?Ot:kt)(this,e)}}function Nt(e,t){var n=Tt(e+``);if(arguments.length<2){for(var r=Et(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Mt:t?At:jt)(n,t))}function Pt(){this.textContent=``}function Ft(e){return function(){this.textContent=e}}function It(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Lt(e){return arguments.length?this.each(e==null?Pt:(typeof e==`function`?It:Ft)(e)):this.node().textContent}function Rt(){this.innerHTML=``}function zt(e){return function(){this.innerHTML=e}}function Bt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function Vt(e){return arguments.length?this.each(e==null?Rt:(typeof e==`function`?Bt:zt)(e)):this.node().innerHTML}function Ht(){this.nextSibling&&this.parentNode.appendChild(this)}function Ut(){return this.each(Ht)}function Wt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Gt(){return this.each(Wt)}function Kt(e){var t=typeof e==`function`?e:xe(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function qt(){return null}function Jt(e,t){var n=typeof e==`function`?e:xe(e),r=t==null?qt:typeof t==`function`?t:Ce(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function Yt(){var e=this.parentNode;e&&e.removeChild(this)}function Xt(){return this.each(Yt)}function Zt(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Qt(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function $t(e){return this.select(e?Qt:Zt)}function en(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function tn(e){return function(t){e.call(this,t,this.__data__)}}function nn(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function rn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function an(e,t,n){return function(){var r=this.__on,i,a=tn(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function on(e,t,n){var r=nn(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}}else{for(s=t?an:rn,i=0;i<a;++i)this.each(s(r[i],t,n));return this}}function sn(e,t,n){var r=ht(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function cn(e,t){return function(){return sn(this,e,t)}}function ln(e,t){return function(){return sn(this,e,t.apply(this,arguments))}}function un(e,t){return this.each((typeof t==`function`?ln:cn)(e,t))}function*dn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var fn=[null];function q(e,t){this._groups=e,this._parents=t}function pn(){return new q([[document.documentElement]],fn)}function mn(){return this}q.prototype=pn.prototype={constructor:q,select:we,selectAll:ke,selectChild:Fe,selectChildren:ze,filter:Be,data:Je,enter:He,exit:Xe,join:Ze,merge:Qe,selection:mn,order:$e,sort:et,call:nt,nodes:rt,node:it,size:at,empty:ot,each:st,attr:mt,style:yt,property:wt,classed:Nt,text:Lt,html:Vt,raise:Ut,lower:Gt,append:Kt,insert:Jt,remove:Xt,clone:$t,datum:en,on,dispatch:un,[Symbol.iterator]:dn};function J(e){return typeof e==`string`?new q([[document.querySelector(e)]],[document.documentElement]):new q([[e]],fn)}function hn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function gn(e,t){if(e=hn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var _n={passive:!1},vn={capture:!0,passive:!1};function yn(e){e.stopImmediatePropagation()}function bn(e){e.preventDefault(),e.stopImmediatePropagation()}function xn(e){var t=e.document.documentElement,n=J(e).on(`dragstart.drag`,bn,vn);`onselectstart`in t?n.on(`selectstart.drag`,bn,vn):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Sn(e,t){var n=e.document.documentElement,r=J(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,bn,vn),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Cn=e=>()=>e;function wn(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}wn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Tn(e){return!e.ctrlKey&&!e.button}function En(){return this.parentNode}function Dn(e,t){return t??{x:e.x,y:e.y}}function On(){return navigator.maxTouchPoints||`ontouchstart`in this}function kn(){var e=Tn,t=En,n=Dn,r=On,i={},a=fe(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,_n).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!u&&e.call(this,n,r)){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(J(n.view).on(`mousemove.drag`,m,vn).on(`mouseup.drag`,h,vn),xn(n.view),yn(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(bn(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){J(e.view).on(`mousemove.drag mouseup.drag`,null),Sn(e.view,l),bn(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r))for(var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s=0,c;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(yn(n),c(`start`,n,i[s]))}function _(e){for(var t=e.changedTouches,n=t.length,r=0,a;r<n;++r)(a=i[t[r].identifier])&&(bn(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(yn(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=gn(l||r,t),p,m,h;if((h=n.call(e,new wn(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=gn(l||a,t),_=o}u.call(r,e,new wn(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Cn(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Cn(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Cn(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Cn(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function An(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function jn(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Mn(){}var Nn=.7,Pn=1/Nn,Fn=`\\s*([+-]?\\d+)\\s*`,In=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Ln=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Rn=/^#([0-9a-f]{3,8})$/,zn=RegExp(`^rgb\\(${Fn},${Fn},${Fn}\\)$`),Bn=RegExp(`^rgb\\(${Ln},${Ln},${Ln}\\)$`),Vn=RegExp(`^rgba\\(${Fn},${Fn},${Fn},${In}\\)$`),Hn=RegExp(`^rgba\\(${Ln},${Ln},${Ln},${In}\\)$`),Un=RegExp(`^hsl\\(${In},${Ln},${Ln}\\)$`),Wn=RegExp(`^hsla\\(${In},${Ln},${Ln},${In}\\)$`),Gn={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};An(Mn,Xn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Kn,formatHex:Kn,formatHex8:qn,formatHsl:Jn,formatRgb:Yn,toString:Yn});function Kn(){return this.rgb().formatHex()}function qn(){return this.rgb().formatHex8()}function Jn(){return cr(this).formatHsl()}function Yn(){return this.rgb().formatRgb()}function Xn(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Rn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Zn(t):n===3?new Y(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Qn(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Qn(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=zn.exec(e))?new Y(t[1],t[2],t[3],1):(t=Bn.exec(e))?new Y(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Vn.exec(e))?Qn(t[1],t[2],t[3],t[4]):(t=Hn.exec(e))?Qn(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Un.exec(e))?sr(t[1],t[2]/100,t[3]/100,1):(t=Wn.exec(e))?sr(t[1],t[2]/100,t[3]/100,t[4]):Gn.hasOwnProperty(e)?Zn(Gn[e]):e===`transparent`?new Y(NaN,NaN,NaN,0):null}function Zn(e){return new Y(e>>16&255,e>>8&255,e&255,1)}function Qn(e,t,n,r){return r<=0&&(e=t=n=NaN),new Y(e,t,n,r)}function $n(e){return e instanceof Mn||(e=Xn(e)),e?(e=e.rgb(),new Y(e.r,e.g,e.b,e.opacity)):new Y}function er(e,t,n,r){return arguments.length===1?$n(e):new Y(e,t,n,r??1)}function Y(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}An(Y,er,jn(Mn,{brighter(e){return e=e==null?Pn:Pn**+e,new Y(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Nn:Nn**+e,new Y(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Y(ar(this.r),ar(this.g),ar(this.b),ir(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:tr,formatHex:tr,formatHex8:nr,formatRgb:rr,toString:rr}));function tr(){return`#${or(this.r)}${or(this.g)}${or(this.b)}`}function nr(){return`#${or(this.r)}${or(this.g)}${or(this.b)}${or((isNaN(this.opacity)?1:this.opacity)*255)}`}function rr(){let e=ir(this.opacity);return`${e===1?`rgb(`:`rgba(`}${ar(this.r)}, ${ar(this.g)}, ${ar(this.b)}${e===1?`)`:`, ${e})`}`}function ir(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ar(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function or(e){return e=ar(e),(e<16?`0`:``)+e.toString(16)}function sr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ur(e,t,n,r)}function cr(e){if(e instanceof ur)return new ur(e.h,e.s,e.l,e.opacity);if(e instanceof Mn||(e=Xn(e)),!e)return new ur;if(e instanceof ur)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new ur(o,s,c,e.opacity)}function lr(e,t,n,r){return arguments.length===1?cr(e):new ur(e,t,n,r??1)}function ur(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}An(ur,lr,jn(Mn,{brighter(e){return e=e==null?Pn:Pn**+e,new ur(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Nn:Nn**+e,new ur(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 Y(pr(e>=240?e-240:e+120,i,r),pr(e,i,r),pr(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new ur(dr(this.h),fr(this.s),fr(this.l),ir(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(){let e=ir(this.opacity);return`${e===1?`hsl(`:`hsla(`}${dr(this.h)}, ${fr(this.s)*100}%, ${fr(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function dr(e){return e=(e||0)%360,e<0?e+360:e}function fr(e){return Math.max(0,Math.min(1,e||0))}function pr(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var mr=e=>()=>e;function hr(e,t){return function(n){return e+n*t}}function gr(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function _r(e){return(e=+e)==1?vr:function(t,n){return n-t?gr(t,n,e):mr(isNaN(t)?n:t)}}function vr(e,t){var n=t-e;return n?hr(e,n):mr(isNaN(e)?t:e)}var yr=(function e(t){var n=_r(t);function r(e,t){var r=n((e=er(e)).r,(t=er(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=vr(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function br(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function xr(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Sr(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=jr(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Cr(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function wr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Tr(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=jr(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Er=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Dr=new RegExp(Er.source,`g`);function Or(e){return function(){return e}}function kr(e){return function(t){return e(t)+``}}function Ar(e,t){var n=Er.lastIndex=Dr.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Er.exec(e))&&(i=Dr.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:wr(r,i)})),n=Dr.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?kr(c[0].x):Or(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function jr(e,t){var n=typeof t,r;return t==null||n===`boolean`?mr(t):(n===`number`?wr:n===`string`?(r=Xn(t))?(t=r,yr):Ar:t instanceof Xn?yr:t instanceof Date?Cr:xr(t)?br:Array.isArray(t)?Sr:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Tr:wr)(e,t)}var Mr=180/Math.PI,Nr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Pr(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Mr,skewX:Math.atan(c)*Mr,scaleX:o,scaleY:s}}var Fr;function Ir(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Nr:Pr(t.a,t.b,t.c,t.d,t.e,t.f)}function Lr(e){return e==null||(Fr||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Fr.setAttribute(`transform`,e),!(e=Fr.transform.baseVal.consolidate()))?Nr:(e=e.matrix,Pr(e.a,e.b,e.c,e.d,e.e,e.f))}function Rr(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:wr(e,i)},{i:c-2,x:wr(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:wr(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:wr(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:wr(e,n)},{i:s-2,x:wr(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var zr=Rr(Ir,`px, `,`px)`,`deg)`),Br=Rr(Lr,`, `,`)`,`)`),Vr=1e-12;function Hr(e){return((e=Math.exp(e))+1/e)/2}function Ur(e){return((e=Math.exp(e))-1/e)/2}function Wr(e){return((e=Math.exp(2*e))-1)/(e+1)}var Gr=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<Vr)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=Hr(y),c=s/(n*g)*(i*Wr(t*r+y)-Ur(y));return[a+c*d,o+c*f,s*i/Hr(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),Kr=0,qr=0,Jr=0,Yr=1e3,Xr,Zr,Qr=0,$r=0,ei=0,ti=typeof performance==`object`&&performance.now?performance:Date,ni=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ri(){return $r||=(ni(ii),ti.now()+ei)}function ii(){$r=0}function ai(){this._call=this._time=this._next=null}ai.prototype=oi.prototype={constructor:ai,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?ri():+n)+(t==null?0:+t),!this._next&&Zr!==this&&(Zr?Zr._next=this:Xr=this,Zr=this),this._call=e,this._time=n,di()},stop:function(){this._call&&(this._call=null,this._time=1/0,di())}};function oi(e,t,n){var r=new ai;return r.restart(e,t,n),r}function si(){ri(),++Kr;for(var e=Xr,t;e;)(t=$r-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Kr}function ci(){$r=(Qr=ti.now())+ei,Kr=qr=0;try{si()}finally{Kr=0,ui(),$r=0}}function li(){var e=ti.now(),t=e-Qr;t>Yr&&(ei-=t,Qr=e)}function ui(){for(var e,t=Xr,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:Xr=n);Zr=e,di(r)}function di(e){Kr||(qr&&=clearTimeout(qr),e-$r>24?(e<1/0&&(qr=setTimeout(ci,e-ti.now()-ei)),Jr&&=clearInterval(Jr)):(Jr||=(Qr=ti.now(),setInterval(li,Yr)),Kr=1,ni(ci)))}function fi(e,t,n){var r=new ai;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var pi=fe(`start`,`end`,`cancel`,`interrupt`),mi=[];function hi(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;yi(e,n,{name:t,index:r,group:i,on:pi,tween:mi,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function gi(e,t){var n=vi(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function _i(e,t){var n=vi(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function vi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function yi(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=oi(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return fi(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(fi(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function bi(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n)(r=n[o]).name===t?(i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]):a=!1;a&&delete e.__transition}}function xi(e){return this.each(function(){bi(this,e)})}function Si(e,t){var n,r;return function(){var i=_i(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Ci(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=_i(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function wi(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=vi(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?Si:Ci)(n,e,t))}function Ti(e,t,n){var r=e._id;return e.each(function(){var e=_i(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return vi(e,r).value[t]}}function Ei(e,t){var n;return(typeof t==`number`?wr:t instanceof Xn?yr:(n=Xn(t))?(t=n,yr):Ar)(e,t)}function Di(e){return function(){this.removeAttribute(e)}}function Oi(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ki(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ai(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function ji(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Mi(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Ni(e,t){var n=ve(e),r=n===`transform`?Br:Ei;return this.attrTween(e,typeof t==`function`?(n.local?Mi:ji)(n,r,Ti(this,`attr.`+e,t)):t==null?(n.local?Oi:Di)(n):(n.local?Ai:ki)(n,r,t))}function Pi(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Fi(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Ii(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Fi(e,i)),n}return i._value=t,i}function Li(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Pi(e,i)),n}return i._value=t,i}function Ri(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=ve(e);return this.tween(n,(r.local?Ii:Li)(r,t))}function zi(e,t){return function(){gi(this,e).delay=+t.apply(this,arguments)}}function Bi(e,t){return t=+t,function(){gi(this,e).delay=t}}function Vi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?zi:Bi)(t,e)):vi(this.node(),t).delay}function Hi(e,t){return function(){_i(this,e).duration=+t.apply(this,arguments)}}function Ui(e,t){return t=+t,function(){_i(this,e).duration=t}}function Wi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Hi:Ui)(t,e)):vi(this.node(),t).duration}function Gi(e,t){if(typeof t!=`function`)throw Error();return function(){_i(this,e).ease=t}}function Ki(e){var t=this._id;return arguments.length?this.each(Gi(t,e)):vi(this.node(),t).ease}function qi(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();_i(this,e).ease=n}}function Ji(e){if(typeof e!=`function`)throw Error();return this.each(qi(this._id,e))}function Yi(e){typeof e!=`function`&&(e=Ae(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new wa(r,this._parents,this._name,this._id)}function Xi(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new wa(o,this._parents,this._name,this._id)}function Zi(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function Qi(e,t,n){var r,i,a=Zi(t)?gi:_i;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function $i(e,t){var n=this._id;return arguments.length<2?vi(this.node(),n).on.on(e):this.each(Qi(n,e,t))}function ea(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function ta(){return this.on(`end.remove`,ea(this._id))}function na(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ce(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,hi(l[f],t,n,f,l,vi(u,n)));return new wa(a,this._parents,t,n)}function ra(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=De(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=vi(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&hi(p,t,n,h,f,m);a.push(f),o.push(u)}return new wa(a,o,t,n)}var ia=pn.prototype.constructor;function aa(){return new ia(this._groups,this._parents)}function oa(e,t){var n,r,i;return function(){var a=bt(this,e),o=(this.style.removeProperty(e),bt(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function sa(e){return function(){this.style.removeProperty(e)}}function ca(e,t,n){var r,i=n+``,a;return function(){var o=bt(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function la(e,t,n){var r,i,a;return function(){var o=bt(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),bt(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function ua(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=_i(this,e),l=c.on,u=c.value[a]==null?s||=sa(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function da(e,t,n){var r=(e+=``)==`transform`?zr:Ei;return t==null?this.styleTween(e,oa(e,r)).on(`end.style.`+e,sa(e)):typeof t==`function`?this.styleTween(e,la(e,r,Ti(this,`style.`+e,t))).each(ua(this._id,e)):this.styleTween(e,ca(e,r,t),n).on(`end.style.`+e,null)}function fa(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function pa(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&fa(e,a,n)),r}return a._value=t,a}function ma(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,pa(e,t,n??``))}function ha(e){return function(){this.textContent=e}}function ga(e){return function(){var t=e(this);this.textContent=t??``}}function _a(e){return this.tween(`text`,typeof e==`function`?ga(Ti(this,`text`,e)):ha(e==null?``:e+``))}function va(e){return function(t){this.textContent=e.call(this,t)}}function ya(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&va(r)),t}return r._value=e,r}function ba(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,ya(e))}function xa(){for(var e=this._name,t=this._id,n=Ta(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=vi(c,t);hi(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new wa(r,this._parents,e,n)}function Sa(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=_i(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ca=0;function wa(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Ta(){return++Ca}var Ea=pn.prototype;wa.prototype={constructor:wa,select:na,selectAll:ra,selectChild:Ea.selectChild,selectChildren:Ea.selectChildren,filter:Yi,merge:Xi,selection:aa,transition:xa,call:Ea.call,nodes:Ea.nodes,node:Ea.node,size:Ea.size,empty:Ea.empty,each:Ea.each,on:$i,attr:Ni,attrTween:Ri,style:da,styleTween:ma,text:_a,textTween:ba,remove:ta,tween:wi,delay:Vi,duration:Wi,ease:Ki,easeVarying:Ji,end:Sa,[Symbol.iterator]:Ea[Symbol.iterator]};function Da(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Oa={time:null,delay:0,duration:250,ease:Da};function ka(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Aa(e){var t,n;e instanceof wa?(t=e._id,e=e._name):(t=Ta(),(n=Oa).time=ri(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&hi(c,e,t,l,o,n||ka(c,t));return new wa(r,this._parents,e,t)}pn.prototype.interrupt=xi,pn.prototype.transition=Aa;var ja=e=>()=>e;function Ma(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 Na(e,t,n){this.k=e,this.x=t,this.y=n}Na.prototype={constructor:Na,scale:function(e){return e===1?this:new Na(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Na(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 Pa=new Na(1,0,0);Fa.prototype=Na.prototype;function Fa(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Pa;return e.__zoom}function Ia(e){e.stopImmediatePropagation()}function La(e){e.preventDefault(),e.stopImmediatePropagation()}function Ra(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function za(){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 Ba(){return this.__zoom||Pa}function Va(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Ha(){return navigator.maxTouchPoints||`ontouchstart`in this}function Ua(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=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>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function Wa(){var e=Ra,t=za,n=Ua,r=Va,i=Ha,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Gr,l=fe(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,Ba).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,D).on(`touchmove.zoom`,O).on(`touchend.zoom touchcancel.zoom`,k).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,Ba),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(Pa.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new Na(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Na(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new Na(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=J(this.that).datum();l.call(e,this.that,new Ma(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function w(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=gn(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],bi(this),s.start();La(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function T(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=J(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=gn(t,i),l=t.clientX,u=t.clientY;xn(t.view),Ia(t),a.mouse=[c,this.__zoom.invert(c)],bi(this),a.start();function d(e){if(La(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=gn(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),Sn(e.view,a.moved),La(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=gn(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);La(r),s>0?J(this).transition().duration(s).call(x,d,c,r):J(this).call(_.transform,d,c,r)}}function D(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(Ia(t),s=0;s<i;++s)c=r[s],l=gn(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),bi(this),a.start())}}function O(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(La(e),s=0;s<a;++s)c=i[s],l=gn(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function k(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(Ia(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=gn(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=J(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:ja(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:ja(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:ja(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:ja([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var Ga={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>`It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.`,error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>`useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.`,error015:()=>`It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Ka=[[-1/0,-1/0],[1/0,1/0]],qa=[`Enter`,` `,`Escape`],Ja={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},Ya;(function(e){e.Strict=`strict`,e.Loose=`loose`})(Ya||={});var Xa;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(Xa||={});var Za;(function(e){e.Partial=`partial`,e.Full=`full`})(Za||={});var Qa={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},$a;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})($a||={});var eo;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(eo||={});var X;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(X||={});var to={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top},no=e=>!!e&&typeof e==`object`&&`id`in e&&`source`in e&&`target`in e,ro=e=>!!e&&typeof e==`object`&&`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),io=e=>!!e&&typeof e==`object`&&`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),ao=(e,t=[0,0])=>{let{width:n,height:r}=Bo(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},oo=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,r=e.reduce((e,r)=>{let i=typeof r==`string`,a=!t.nodeLookup&&!i?r:void 0;return t.nodeLookup&&(a=i?t.nodeLookup.get(r):io(r)?r:t.nodeLookup.get(r.id)),a?(n=!0,bo(e,wo(a,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?So(r):{x:0,y:0,width:0,height:0}},so=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=bo(n,wo(e)),r=!0)}),r?So(n):{x:0,y:0,width:0,height:0}},co=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=Eo(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},lo=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function uo(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{let i;if(t?.includeHiddenNodes){let{width:t,height:n}=Bo(e);i=t>0&&n>0}else i=!!(e.measured.width&&e.measured.height&&!e.hidden);i&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function fo({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=Lo(so(uo(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function po({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent){if(!s)a?.(`005`,Ga.error005());else{let{width:e,height:t}=Bo(s);e&&t&&(d=[[c,l],[c+e,l+t]])}}else s&&zo(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=zo(d)?go(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,Ga.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function mo({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=lo(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var ho=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),go=(e={x:0,y:0},t,n)=>({x:ho(e.x,t[0][0],t[1][0]-(n?.width??0)),y:ho(e.y,t[0][1],t[1][1]-(n?.height??0))});function _o(e,t,n){let{width:r,height:i}=Bo(n),{x:a,y:o}=n.internals.positionAbsolute;return go(e,[[a,o],[a+r,o+i]],t)}var vo=(e,t,n)=>e<t?ho(Math.abs(e-t),1,t)/t:e>n?-ho(Math.abs(e-n),1,t)/t:0,yo=(e,t,n=15,r=40)=>[vo(e.x,r,t.width-r)*n,vo(e.y,r,t.height-r)*n],bo=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),xo=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),So=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Co=(e,t=[0,0])=>{let{x:n,y:r}=io(e)?e.internals.positionAbsolute:ao(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},wo=(e,t=[0,0])=>{let{x:n,y:r}=io(e)?e.internals.positionAbsolute:ao(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},To=(e,t)=>So(bo(xo(e),xo(t))),Eo=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},Do=(e,t)=>Eo(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Oo=e=>ko(e.width)&&ko(e.height)&&ko(e.x)&&ko(e.y),ko=e=>!isNaN(e)&&isFinite(e),Ao=(e,t)=>(e,t)=>{},jo=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Mo=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?jo(s,o):s},No=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function Po(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Fo(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=Po(e,n),i=Po(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=Po(e.top??e.y??0,n),i=Po(e.bottom??e.y??0,n),a=Po(e.left??e.x??0,t),o=Po(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Io(e,t,n,r,i,a){let{x:o,y:s}=No(e,[t,n,r]),{x:c,y:l}=No({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var Lo=(e,t,n,r,i,a)=>{let o=Fo(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=ho(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=Io(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},Ro=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function zo(e){return e!=null&&e!==`parent`}function Bo(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Vo(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Ho(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function Uo(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Wo(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function Go(e){return{...Ja,...e||{}}}function Ko(e){return e===null?null:e?`valid`:`invalid`}function qo(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=$o(e),s=Mo({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?jo(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var Jo=e=>({width:e.offsetWidth,height:e.offsetHeight}),Yo=e=>e?.getRootNode?.()||window?.document,Xo=[`INPUT`,`SELECT`,`TEXTAREA`];function Zo(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?Xo.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var Qo=e=>`clientX`in e,$o=(e,t)=>{let n=Qo(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},es=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...Jo(t)}})};function ts({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function ns(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function rs({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case X.Left:return[t-ns(t-r,a),n];case X.Right:return[t+ns(r-t,a),n];case X.Top:return[t,n-ns(n-i,a)];case X.Bottom:return[t,n+ns(i-n,a)]}}function is({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,curvature:o=.25}){let[s,c]=rs({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=rs({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=ts({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function as({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function os({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function ss({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=bo(wo(e),wo(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),Do({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},So(a))>0}var cs=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,ls=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),us=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,Ga.error006()),t;let r=n.getEdgeId||cs,i;return i=no(e)?{...e}:{...e,id:r(e)},ls(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function ds({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=as({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var fs={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},ps=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},ms=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function hs({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:i,offset:a,stepPosition:o}){let s=fs[t],c=fs[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=ps({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=as({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function gs(e,t,n,r){let i=Math.min(ms(e,t)/2,ms(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function _s({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=hs({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=gs(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function vs(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function ys(e){let{sourceNode:t,targetNode:n}=e;if(!vs(t)||!vs(n))return null;let r=t.internals.handleBounds||bs(t.handles),i=n.internals.handleBounds||bs(n.handles),a=Ss(r?.source??[],e.sourceHandle),o=Ss(e.connectionMode===Ya.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,Ga.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||X.Bottom,c=o?.position||X.Top,l=xs(t,a,s),u=xs(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function bs(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function xs(e,t,n=X.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??Bo(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case X.Top:return{x:i+o/2,y:a};case X.Right:return{x:i+o,y:a+s/2};case X.Bottom:return{x:i+o/2,y:a+s};case X.Left:return{x:i,y:a+s/2}}}function Ss(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function Cs(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function ws(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=Cs(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var Ts=1e3,Es=10,Ds={nodeOrigin:[0,0],nodeExtent:Ka,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Os={...Ds,checkEquality:!0};function ks(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function As(e,t,n){let r=ks(Ds,n);for(let n of e.values())if(n.parentId)Fs(n,e,t,r);else{let e=go(ao(n,r.nodeOrigin),zo(n.extent)?n.extent:r.nodeExtent,Bo(n));n.internals.positionAbsolute=e}}function js(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function Ms(e){return e===`manual`}function Ns(e,t,n,r={}){let i=ks(Os,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!Ms(i.zIndexMode)?Ts:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=go(ao(u,i.nodeOrigin),zo(u.extent)?u.extent:i.nodeExtent,Bo(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:js(u,e),z:Is(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&Fs(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Ps(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Fs(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=ks(Ds,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Ps(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*Es),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=Ls(e,u,o,s,a&&!Ms(c)?Ts:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function Is(e,t,n){let r=ko(e.zIndex)?e.zIndex:0;return Ms(n)?r:r+(e.selected?t:0)}function Ls(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=Bo(e),l=ao(e,n),u=zo(e.extent)?go(l,e.extent,c):l,d=go({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=_o(d,c,t));let f=Is(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function Rs(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=To(a.get(n.parentId)?.expandedRect??Co(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=Bo(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function zs(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=Jo(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=zo(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;if(e.parentId&&e.extent===`parent`){let n=t.get(e.parentId);n&&(h=_o(h,s,n))}else m&&(h=go(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:es(`source`,r.nodeElement,p,d,e.id),target:es(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&Fs(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:Co(g,i)}))}}if(f.length>0){let e=Rs(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function Bs({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function Vs(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function Hs(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;Vs(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),Vs(`target`,s,c,e,i,o),t.set(r.id,r)}}function Us(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:Us(n,t):!1}function Ws(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function Gs(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!Us(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function Ks({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function qs({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=jo(a,t);return{x:o.x-a.x,y:o.y-a.y}}function Js({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=J(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?xo(so(s)):null,x=v&&l?qs({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:jo(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=po({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=Ks({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=yo(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0,(!m||!y)&&!o&&b&&(i.get(b)?.selected||_()),y&&m&&b&&e?.(b);let v=qo(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=v,s=Gs(i,c,v,b),s.size>0&&(n||h||!b&&g)){let[e,t]=Ks({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=kn().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=qo(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=$o(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=qo(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=$o(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=$o(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p)p&&s.size>0&&t().updateNodePositions(s,!1);else if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=Ks({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!Ws(t,`.${g}`,v))&&(!_||Ws(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function Ys(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())Do(i,Co(e))>0&&r.push(e);return r}var Xs=250;function Zs(e,t,n,r){let i=[],a=1/0,o=Ys(e,n,t+Xs);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=xs(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function Qs(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...xs(o,c,c.position,!0)}:c}function $s(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function ec(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var tc=()=>!0;function nc(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=tc,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=Yo(e.target),E=0,D,{x:O,y:k}=$o(e),A=$s(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=Qs(i,A,r,c,t);if(!N)return;let P=$o(e,j),F=!1,I=null,L=!1,R=null;function z(){if(!u||!j)return;let[e,t]=yo(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(z)}let B={...N,nodeId:i,type:A,position:N.position},V=c.get(i),H={inProgress:!0,isValid:null,from:xs(V,B,X.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:V,to:P,toHandle:null,toPosition:to[B.position],toNode:null,pointer:P};function ee(){M=!0,y(H),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&ee();function te(e){if(!M){let{x:t,y:n}=$o(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;ee()}if(!x()||!B){U(e);return}let a=b();P=$o(e,j),D=Zs(Mo(P,a,!1,[1,1]),n,c,B),F||=(z(),!0);let s=rc(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});R=s.handleDomNode,I=s.connection,L=ec(!!D,s.isValid);let u=c.get(i),f=u?xs(u,B,X.Left,!0):H.from,p={...H,from:f,isValid:L,to:s.toHandle&&L?No({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:L&&s.toHandle?s.toHandle.position:to[B.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),H=p}function U(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||R)&&I&&L&&h?.(I);let{inProgress:t,...n}=H,r={...n,toPosition:H.toHandle?H.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,L=!1,I=null,R=null,T.removeEventListener(`mousemove`,te),T.removeEventListener(`mouseup`,U),T.removeEventListener(`touchmove`,te),T.removeEventListener(`touchend`,U)}}T.addEventListener(`mousemove`,te),T.addEventListener(`mouseup`,U),T.addEventListener(`touchmove`,te),T.addEventListener(`touchend`,U)}function rc(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=tc,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=$o(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=$s(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===Ya.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=Qs(t,e,a,u,n,!0)}return _}var ic={onPointerDown:nc,isValid:rc};function ac({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=J(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&Ro()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=Wa().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:gn}}var oc=e=>({x:e.x,y:e.y,zoom:e.k}),sc=({x:e,y:t,zoom:n})=>Pa.translate(e,t).scale(n),cc=(e,t)=>e.target.closest(`.${t}`),lc=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),uc=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,dc=(e,t=0,n=uc,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},fc=e=>{let t=e.ctrlKey&&Ro()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function pc({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(cc(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=gn(u),t=d*2**fc(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===Xa.Vertical?0:u.deltaX*f,m=i===Xa.Horizontal?0:u.deltaY*f;!Ro()&&u.shiftKey&&i!==Xa.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=oc(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,h):(e.isPanScrolling=!0,s?.(u,h)),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)}}function mc({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=cc(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function hc({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=oc(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function gc({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&lc(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,oc(a.transform))}}function _c({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&lc(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=oc(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function vc({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:i,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=t||n,m=r&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(cc(f,`${u}-flow__node`)||cc(f,`${u}-flow__edge`)||cc(f,`${u}-flow__selection`)||cc(f,`${u}-flow__nodesselection`)))return!0;if(!i&&!p&&!a&&!o&&!r||s||d&&!h||cc(f,c)&&h||cc(f,l)&&(!h||a&&h&&!t)||!r&&f.ctrlKey&&h)return!1;if(!r&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!i&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(i)&&!i.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h||e)&&g}}function yc({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),d=[[0,0],[u.width,u.height]];(typeof ResizeObserver<`u`?new ResizeObserver(e=>{let t=e[0];t&&(d=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null)?.observe(e);let f=Wa().extent(()=>d).scaleExtent([t,n]).translateExtent(r),p=J(e).call(f);y({x:i.x,y:i.y,zoom:ho(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(fc);async function g(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?jr:Gr).transform(dc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function _({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:u,panOnScrollMode:d,panOnScrollSpeed:g,preventScrolling:_,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,panActivationKeyPressed:S=!1,zoomActivationKeyPressed:C,lib:w,onTransformChange:T,connectionInProgress:E,paneClickDistance:D,selectionOnDrag:O}){r&&!l.isZoomingOrPanning&&v();let k=i&&!C&&!r;f.clickDistance(O?1/0:!ko(D)||D<0?0:D);let A=k?pc({zoomPanValues:l,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:d,panOnScrollSpeed:g,zoomOnPinch:y,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):mc({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:m});p.on(`wheel.zoom`,A,{passive:!1});let j=hc({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:o});f.on(`start`,j);let M=gc({zoomPanValues:l,panOnDrag:u,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:T});f.on(`zoom`,M);let N=_c({zoomPanValues:l,panOnDrag:u,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});f.on(`end`,N);let P=vc({panActivationKeyPressed:S,zoomActivationKeyPressed:C,panOnDrag:u,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:w,connectionInProgress:E});f.filter(P),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function v(){f.on(`zoom`,null)}async function y(e,t,n){let r=sc(e),i=f?.constrain()(r,t,n);return i&&await g(i),i}async function b(e,t){let n=sc(e);return await g(n,t),n}function x(e){if(p){let t=sc(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function S(){let e=p?Fa(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function C(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?jr:Gr).scaleTo(dc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function w(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?jr:Gr).scaleBy(dc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function T(e){f?.scaleExtent(e)}function E(e){f?.translateExtent(e)}function D(e){let t=!ko(e)||e<0?0:e;f?.clickDistance(t)}return{update:_,destroy:v,setViewport:b,setViewportConstrained:y,getViewport:S,scaleTo:C,scaleBy:w,setScaleExtent:T,setTranslateExtent:E,syncViewport:x,setClickDistance:D}}var bc;(function(e){e.Line=`line`,e.Handle=`handle`})(bc||={});function xc({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function Sc(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function Cc(e,t){return Math.max(0,t-e)}function wc(e,t){return Math.max(0,e-t)}function Tc(e,t,n){return Math.max(0,t-e,e-n)}function Ec(e,t){return e?!t:t}function Dc(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=Tc(E,h,g),j=Tc(D,_,v);if(o){let e=0,t=0;c&&w<0?e=Cc(y+w+O,o[0][0]):!c&&w>0&&(e=wc(y+E+O,o[1][0])),l&&T<0?t=Cc(b+T+k,o[0][1]):!l&&T>0&&(t=wc(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=wc(y+w,s[0][0]):!c&&w<0&&(e=Cc(y+E,s[1][0])),l&&T>0?t=wc(b+T,s[0][1]):!l&&T<0&&(t=Cc(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=Tc(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?wc(b+k+E/C,o[1][1])*C:Cc(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?Cc(b+E/C,s[1][1])*C:wc(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=Tc(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?wc(y+D*C+O,o[1][0])/C:Cc(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?Cc(y+D*C,s[1][0])/C:wc(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(Ec(c,l)?-w:w)/C:w=(Ec(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var Oc={width:0,height:0,x:0,y:0},kc={...Oc,pointerX:0,pointerY:0,aspectRatio:1};function Ac(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function jc({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=J(e),o={controlDirection:Sc(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...Oc},h={...kc};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:Sc(e)};let g,_=null,v=[],y,b,x,S=kn().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=qo(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=zo(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=Ac(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=qo(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:S,height:C}=m,w={},T=g.origin??s,{width:E,height:D,x:O,y:k}=Dc(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,T,b,x),A=E!==S,j=D!==C,M=O!==u&&A,N=k!==f&&j;if(!M&&!N&&!A&&!j)return;let P={prevValues:{...m},startX:h.x,startY:h.y,childNodes:v.map(e=>({...e,position:{...e.position}}))};if((M||N||T[0]===1||T[1]===1)&&(w.x=M?O:m.x,w.y=N?k:m.y,m.x=w.x,m.y=w.y,v.length>0)){let e=O-u,t=k-f;for(let n of v)n.position={x:n.position.x-e+T[0]*(E-S),y:n.position.y-t+T[1]*(D-C)},l.push(n)}if((A||j)&&(w.width=A&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?E:m.width,w.height=j&&(!o.resizeDirection||o.resizeDirection===`vertical`)?D:m.height,m.width=w.width,m.height=w.height),y&&g.expandParent){let e=T[0]*(w.width??0);w.x&&w.x<e&&(m.x=e,h.x-=w.x-e);let t=T[1]*(w.height??0);w.y&&w.y<t&&(m.y=t,h.y-=w.y-t)}let F=xc({width:m.width,prevWidth:S,height:m.height,prevHeight:C,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};p?.(e,I)===!1?(m=P.prevValues,h.x=P.startX,h.y=P.startY,v.forEach((e,t)=>{e.position=P.childNodes[t].position})):(d?.(e,I),r(w,l))}).on(`end`,e=>{f?.(e,{...m}),i?.({...m})});a.call(S)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var Mc=e(D(),1),Nc=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},Pc=e=>e?Nc(e):Nc,{useDebugValue:Fc}=W.default,{useSyncExternalStoreWithSelector:Ic}=Mc.default,Lc=e=>e;function Rc(e,t=Lc,n){let r=Ic(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Fc(r),r}var zc=(e,t)=>{let n=Pc(e),r=(e,r=t)=>Rc(n,e,r);return Object.assign(r,n),r},Bc=(e,t)=>e?zc(e,t):zc;function Z(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}o();var Vc=(0,W.createContext)(null),Hc=Vc.Provider,Uc=Ga.error001(`react`);function Q(e,t){let n=(0,W.useContext)(Vc);if(n===null)throw Error(Uc);return Rc(n,e,t)}function $(){let e=(0,W.useContext)(Vc);if(e===null)throw Error(Uc);return(0,W.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var Wc={display:`none`},Gc={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},Kc=`react-flow__node-desc`,qc=`react-flow__edge-desc`,Jc=`react-flow__aria-live`,Yc=e=>e.ariaLiveMessage,Xc=e=>e.ariaLabelConfig;function Zc({rfId:e}){let t=Q(Yc);return(0,G.jsx)(`div`,{id:`${Jc}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:Gc,children:t})}function Qc({rfId:e,disableKeyboardA11y:t}){let n=Q(Xc);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{id:`${Kc}-${e}`,style:Wc,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,G.jsx)(`div`,{id:`${qc}-${e}`,style:Wc,children:n[`edge.a11yDescription.default`]}),!t&&(0,G.jsx)(Zc,{rfId:e})]})}var $c=(0,W.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>{let o=`${e}`.split(`-`);return(0,G.jsx)(`div`,{className:K([`react-flow__panel`,n,...o]),style:r,ref:a,...i,children:t})});$c.displayName=`Panel`;var el=`https://reactflow.dev?utm_source=attribution`;function tl({proOptions:e,position:t=`bottom-right`}){return(0,W.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,G.jsx)($c,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${el}`,children:(0,G.jsx)(`a`,{href:el,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var nl=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},rl=e=>e.id;function il(e,t){return Z(e.selectedNodes.map(rl),t.selectedNodes.map(rl))&&Z(e.selectedEdges.map(rl),t.selectedEdges.map(rl))}function al({onSelectionChange:e}){let t=$(),{selectedNodes:n,selectedEdges:r}=Q(nl,il);return(0,W.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var ol=e=>!!e.onSelectionChangeHandlers;function sl({onSelectionChange:e}){let t=Q(ol);return e||t?(0,G.jsx)(al,{onSelectionChange:e}):null}var cl=[0,0],ll={x:0,y:0,zoom:1},ul=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],dl=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),fl={translateExtent:Ka,nodeOrigin:cl,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function pl(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=Q(dl,Z),l=$();(0,W.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{u.current=fl,s()}),[]);let u=(0,W.useRef)(fl);return(0,W.useEffect)(()=>{for(let s of ul){let c=e[s];c!==u.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?l.setState({ariaLabelConfig:Go(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}u.current=e},ul.map(t=>e[t])),null}function ml(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function hl(e){let[t,n]=(0,W.useState)(e===`system`?null:e);return(0,W.useEffect)(()=>{if(e!==`system`){n(e);return}let t=ml(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?ml()?.matches?`dark`:`light`:t}var gl=typeof document<`u`?document:null;function _l(e=null,t={target:gl,actInsideInputWithModifier:!0}){let[n,r]=(0,W.useState)(!1),i=(0,W.useRef)(!1),a=(0,W.useRef)(new Set([])),[o,s]=(0,W.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(/\+/g,`
1
+ import{r as e}from"./rolldown-runtime-XKyaHtl9.js";import{S as t,b as n,i as r,v as i,w as a,x as o}from"./theme-CMaLONsO.js";import{$t as s,Bt as c,D as l,Ft as u,It as d,Jt as f,L as p,Lt as m,Mt as h,N as g,Nt as _,Pt as v,Qt as y,Ut as b,Xt as x,Yt as S,Zt as C,a as w,an as T,cn as E,dn as D,en as O,fn as k,in as A,jt as j,ln as M,mn as N,nn as P,on as F,pn as I,rn as L,sn as R,t as z,tn as B,un as V,zt as H}from"./index-BnlDexUD.js";var ee=((e={},t={})=>(t.locale??a())===`ja`?`クリックで関連をハイライト · ダブルクリックでテーブルを開く`:`Click to highlight relations · double-click to open the table`),te=((e={},t={})=>(t.locale??a())===`ja`?`タップで関連をハイライト · タイトルをタップでテーブルを開く`:`Tap to highlight relations · tap a title to open the table`),U=((e={},t={})=>(t.locale??a())===`ja`?`キー`:`key`),ne=((e={},t={})=>(t.locale??a())===`ja`?`問題あり`:`problem`),re=((e={},t={})=>(t.locale??a())===`ja`?`参照`:`reference`),ie=((e={},t={})=>(t.locale??a())===`ja`?`再レイアウト`:`Re-layout`),ae=((e={},t={})=>(t.locale??a())===`ja`?`ビューを表示`:`Show views`);function oe(e,t){let n=new Set(t);return e.filter(e=>!n.has(e))}var se=class extends A{#e;#t;#n;#r;#i;#a;#o;#s;#c;#l=[];constructor(e,t,n){super(),this.#e=e,this.#r=n,this.#n=[],this.#i=[],this.#t=[],this.setQueries(t)}onSubscribe(){this.listeners.size===1&&this.#i.forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})}onUnsubscribe(){this.listeners.size||this.destroy()}destroy(){this.listeners=new Set,this.#i.forEach(e=>{e.destroy()})}setQueries(e,t){this.#n=e,this.#r=t,L.batch(()=>{let e=this.#i,t=this.#p(this.#n);t.forEach(e=>e.observer.setOptions(e.defaultedQueryOptions));let n=t.map(e=>e.observer),r=n.map(e=>e.getCurrentResult()),i=e.length!==n.length,a=n.some((t,n)=>t!==e[n]),o=i||a,s=o?!0:r.some((e,t)=>{let n=this.#t[t];return!n||!R(e,n)});(o||s)&&(o&&(this.#l=t,this.#i=n),this.#t=r,this.hasListeners()&&(o&&(oe(e,n).forEach(e=>{e.destroy()}),oe(n,e).forEach(e=>{e.subscribe(t=>{this.#m(e,t)})})),this.#h()))})}getCurrentResult(){return this.#t}getQueries(){return this.#i.map(e=>e.getCurrentQuery())}getObservers(){return this.#i}getOptimisticResult(e,t){let n=this.#p(e),r=n.map(e=>e.observer.getOptimisticResult(e.defaultedQueryOptions)),i=n.map(e=>e.defaultedQueryOptions.queryHash);return[r,e=>this.#d(e??r,t,i),()=>this.#u(r,n)]}#u(e,t){let n=new Set;return t.map((r,i)=>{let a=e[i];return r.defaultedQueryOptions.notifyOnChangeProps?a:r.observer.trackResult(a,e=>{n.has(e)||(n.add(e),t.forEach(t=>{t.observer.trackProp(e)}))})})}#d(e,t,n){if(t){let r=this.#c,i=n!==void 0&&r!==void 0&&(r.length!==n.length||n.some((e,t)=>e!==r[t]));return(this.#t!==this.#s||i||t!==this.#o)&&(this.#o=t,this.#s=this.#t,n!==void 0&&(this.#c=n),this.#a=F(this.#a,t(e))),this.#a}return e}#f(){return!this.#r?.combine||this.#i.some((e,t)=>e.options.suspense&&this.#t[t]?.data===void 0)}#p(e){let t=new Map;this.#i.forEach(e=>{let n=e.options.queryHash;if(!n)return;let r=t.get(n);r?r.push(e):t.set(n,[e])});let n=[];return e.forEach(e=>{let r=this.#e.defaultQueryOptions(e),i=t.get(r.queryHash)?.shift()??new P(this.#e,r);n.push({defaultedQueryOptions:r,observer:i})}),n}#m(e,t){let n=this.#i.indexOf(e);n!==-1&&(this.#t=this.#t.slice(),this.#t[n]=t,this.#h())}#h(){if(this.hasListeners()){let e=this.#f(),t=this.#a,n=e?t:this.#d(this.#u(this.#t,this.#l),this.#r?.combine);(e||t!==n)&&L.batch(()=>{this.listeners.forEach(e=>{e(this.#t)})})}}},W=e(t(),1);function ce({queries:e,...t},n){let r=E(n),i=B(),a=O(),o=t.subscribed!==!1,c=W.useMemo(()=>e.map(e=>{let t=r.defaultQueryOptions(e);return t._optimisticResults=i?`isRestoring`:o?`optimistic`:void 0,t}),[e,r,i,o]);c.forEach(e=>{f(e);let t=r.getQueryCache().get(e.queryHash);C(e,a,t)}),s(a);let[l]=W.useState(()=>new se(r,c,t)),[u,d,p]=l.getOptimisticResult(c,t.combine),m=!i&&o;W.useSyncExternalStore(W.useCallback(e=>m?l.subscribe(L.batchCalls(e)):T,[l,m]),()=>l.getCurrentResult(),()=>l.getCurrentResult()),W.useEffect(()=>{l.setQueries(c,t)},[c,t,l]);let h=u.some((e,t)=>x(c[t],e))?u.flatMap((e,t)=>{let n=c[t];if(n&&x(n,e)){let e=new P(r,n);return S(n,e,a)}return[]}):[];if(h.length>0)throw Promise.all(h);let g=u.find((e,t)=>{let n=c[t];return n&&y({result:e,errorResetBoundary:a,throwOnError:n.throwOnError,query:r.getQueryCache().get(n.queryHash),suspense:n.suspense})});if(g)throw g.error;return d(p())}var le={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};le.node;var ue=d(le),G=n();function K(e){if(typeof e==`string`||typeof e==`number`)return``+e;let t=``;if(Array.isArray(e))for(let n=0,r;n<e.length;n++)(r=K(e[n]))!==``&&(t+=(t&&` `)+r);else for(let n in e)e[n]&&(t+=(t&&` `)+n);return t}var de={value:()=>{}};function fe(){for(var e=0,t=arguments.length,n={},r;e<t;++e){if(!(r=arguments[e]+``)||r in n||/[\s.]/.test(r))throw Error(`illegal type: `+r);n[r]=[]}return new pe(n)}function pe(e){this._=e}function me(e,t){return e.trim().split(/^|\s+/).map(function(e){var n=``,r=e.indexOf(`.`);if(r>=0&&(n=e.slice(r+1),e=e.slice(0,r)),e&&!t.hasOwnProperty(e))throw Error(`unknown type: `+e);return{type:e,name:n}})}pe.prototype=fe.prototype={constructor:pe,on:function(e,t){var n=this._,r=me(e+``,n),i,a=-1,o=r.length;if(arguments.length<2){for(;++a<o;)if((i=(e=r[a]).type)&&(i=he(n[i],e.name)))return i}else{if(t!=null&&typeof t!=`function`)throw Error(`invalid callback: `+t);for(;++a<o;)if(i=(e=r[a]).type)n[i]=ge(n[i],e.name,t);else if(t==null)for(i in n)n[i]=ge(n[i],e.name,null);return this}},copy:function(){var e={},t=this._;for(var n in t)e[n]=t[n].slice();return new pe(e)},call:function(e,t){if((i=arguments.length-2)>0)for(var n=Array(i),r=0,i,a;r<i;++r)n[r]=arguments[r+2];if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(a=this._[e],r=0,i=a.length;r<i;++r)a[r].value.apply(t,n)},apply:function(e,t,n){if(!this._.hasOwnProperty(e))throw Error(`unknown type: `+e);for(var r=this._[e],i=0,a=r.length;i<a;++i)r[i].value.apply(t,n)}};function he(e,t){for(var n=0,r=e.length,i;n<r;++n)if((i=e[n]).name===t)return i.value}function ge(e,t,n){for(var r=0,i=e.length;r<i;++r)if(e[r].name===t){e[r]=de,e=e.slice(0,r).concat(e.slice(r+1));break}return n!=null&&e.push({name:t,value:n}),e}var _e={svg:`http://www.w3.org/2000/svg`,xhtml:`http://www.w3.org/1999/xhtml`,xlink:`http://www.w3.org/1999/xlink`,xml:`http://www.w3.org/XML/1998/namespace`,xmlns:`http://www.w3.org/2000/xmlns/`};function ve(e){var t=e+=``,n=t.indexOf(`:`);return n>=0&&(t=e.slice(0,n))!==`xmlns`&&(e=e.slice(n+1)),_e.hasOwnProperty(t)?{space:_e[t],local:e}:e}function ye(e){return function(){var t=this.ownerDocument,n=this.namespaceURI;return n===`http://www.w3.org/1999/xhtml`&&t.documentElement.namespaceURI===`http://www.w3.org/1999/xhtml`?t.createElement(e):t.createElementNS(n,e)}}function be(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function xe(e){var t=ve(e);return(t.local?be:ye)(t)}function Se(){}function Ce(e){return e==null?Se:function(){return this.querySelector(e)}}function we(e){typeof e!=`function`&&(e=Ce(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=Array(o),c,l,u=0;u<o;++u)(c=a[u])&&(l=e.call(c,c.__data__,u,a))&&(`__data__`in c&&(l.__data__=c.__data__),s[u]=l);return new q(r,this._parents)}function Te(e){return e==null?[]:Array.isArray(e)?e:Array.from(e)}function Ee(){return[]}function De(e){return e==null?Ee:function(){return this.querySelectorAll(e)}}function Oe(e){return function(){return Te(e.apply(this,arguments))}}function ke(e){e=typeof e==`function`?Oe(e):De(e);for(var t=this._groups,n=t.length,r=[],i=[],a=0;a<n;++a)for(var o=t[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&(r.push(e.call(c,c.__data__,l,o)),i.push(c));return new q(r,i)}function Ae(e){return function(){return this.matches(e)}}function je(e){return function(t){return t.matches(e)}}var Me=Array.prototype.find;function Ne(e){return function(){return Me.call(this.children,e)}}function Pe(){return this.firstElementChild}function Fe(e){return this.select(e==null?Pe:Ne(typeof e==`function`?e:je(e)))}var Ie=Array.prototype.filter;function Le(){return Array.from(this.children)}function Re(e){return function(){return Ie.call(this.children,e)}}function ze(e){return this.selectAll(e==null?Le:Re(typeof e==`function`?e:je(e)))}function Be(e){typeof e!=`function`&&(e=Ae(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new q(r,this._parents)}function Ve(e){return Array(e.length)}function He(){return new q(this._enter||this._groups.map(Ve),this._parents)}function Ue(e,t){this.ownerDocument=e.ownerDocument,this.namespaceURI=e.namespaceURI,this._next=null,this._parent=e,this.__data__=t}Ue.prototype={constructor:Ue,appendChild:function(e){return this._parent.insertBefore(e,this._next)},insertBefore:function(e,t){return this._parent.insertBefore(e,t)},querySelector:function(e){return this._parent.querySelector(e)},querySelectorAll:function(e){return this._parent.querySelectorAll(e)}};function We(e){return function(){return e}}function Ge(e,t,n,r,i,a){for(var o=0,s,c=t.length,l=a.length;o<l;++o)(s=t[o])?(s.__data__=a[o],r[o]=s):n[o]=new Ue(e,a[o]);for(;o<c;++o)(s=t[o])&&(i[o]=s)}function Ke(e,t,n,r,i,a,o){var s,c,l=new Map,u=t.length,d=a.length,f=Array(u),p;for(s=0;s<u;++s)(c=t[s])&&(f[s]=p=o.call(c,c.__data__,s,t)+``,l.has(p)?i[s]=c:l.set(p,c));for(s=0;s<d;++s)p=o.call(e,a[s],s,a)+``,(c=l.get(p))?(r[s]=c,c.__data__=a[s],l.delete(p)):n[s]=new Ue(e,a[s]);for(s=0;s<u;++s)(c=t[s])&&l.get(f[s])===c&&(i[s]=c)}function qe(e){return e.__data__}function Je(e,t){if(!arguments.length)return Array.from(this,qe);var n=t?Ke:Ge,r=this._parents,i=this._groups;typeof e!=`function`&&(e=We(e));for(var a=i.length,o=Array(a),s=Array(a),c=Array(a),l=0;l<a;++l){var u=r[l],d=i[l],f=d.length,p=Ye(e.call(u,u&&u.__data__,l,r)),m=p.length,h=s[l]=Array(m),g=o[l]=Array(m);n(u,d,h,g,c[l]=Array(f),p,t);for(var _=0,v=0,y,b;_<m;++_)if(y=h[_]){for(_>=v&&(v=_+1);!(b=g[v])&&++v<m;);y._next=b||null}}return o=new q(o,r),o._enter=s,o._exit=c,o}function Ye(e){return typeof e==`object`&&`length`in e?e:Array.from(e)}function Xe(){return new q(this._exit||this._groups.map(Ve),this._parents)}function Ze(e,t,n){var r=this.enter(),i=this,a=this.exit();return typeof e==`function`?(r=e(r),r&&=r.selection()):r=r.append(e+``),t!=null&&(i=t(i),i&&=i.selection()),n==null?a.remove():n(a),r&&i?r.merge(i).order():i}function Qe(e){for(var t=e.selection?e.selection():e,n=this._groups,r=t._groups,i=n.length,a=r.length,o=Math.min(i,a),s=Array(i),c=0;c<o;++c)for(var l=n[c],u=r[c],d=l.length,f=s[c]=Array(d),p,m=0;m<d;++m)(p=l[m]||u[m])&&(f[m]=p);for(;c<i;++c)s[c]=n[c];return new q(s,this._parents)}function $e(){for(var e=this._groups,t=-1,n=e.length;++t<n;)for(var r=e[t],i=r.length-1,a=r[i],o;--i>=0;)(o=r[i])&&(a&&o.compareDocumentPosition(a)^4&&a.parentNode.insertBefore(o,a),a=o);return this}function et(e){e||=tt;function t(t,n){return t&&n?e(t.__data__,n.__data__):!t-!n}for(var n=this._groups,r=n.length,i=Array(r),a=0;a<r;++a){for(var o=n[a],s=o.length,c=i[a]=Array(s),l,u=0;u<s;++u)(l=o[u])&&(c[u]=l);c.sort(t)}return new q(i,this._parents).order()}function tt(e,t){return e<t?-1:e>t?1:e>=t?0:NaN}function nt(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function rt(){return Array.from(this)}function it(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length;i<a;++i){var o=r[i];if(o)return o}return null}function at(){let e=0;for(let t of this)++e;return e}function ot(){return!this.node()}function st(e){for(var t=this._groups,n=0,r=t.length;n<r;++n)for(var i=t[n],a=0,o=i.length,s;a<o;++a)(s=i[a])&&e.call(s,s.__data__,a,i);return this}function ct(e){return function(){this.removeAttribute(e)}}function lt(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ut(e,t){return function(){this.setAttribute(e,t)}}function dt(e,t){return function(){this.setAttributeNS(e.space,e.local,t)}}function ft(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttribute(e):this.setAttribute(e,n)}}function pt(e,t){return function(){var n=t.apply(this,arguments);n==null?this.removeAttributeNS(e.space,e.local):this.setAttributeNS(e.space,e.local,n)}}function mt(e,t){var n=ve(e);if(arguments.length<2){var r=this.node();return n.local?r.getAttributeNS(n.space,n.local):r.getAttribute(n)}return this.each((t==null?n.local?lt:ct:typeof t==`function`?n.local?pt:ft:n.local?dt:ut)(n,t))}function ht(e){return e.ownerDocument&&e.ownerDocument.defaultView||e.document&&e||e.defaultView}function gt(e){return function(){this.style.removeProperty(e)}}function _t(e,t,n){return function(){this.style.setProperty(e,t,n)}}function vt(e,t,n){return function(){var r=t.apply(this,arguments);r==null?this.style.removeProperty(e):this.style.setProperty(e,r,n)}}function yt(e,t,n){return arguments.length>1?this.each((t==null?gt:typeof t==`function`?vt:_t)(e,t,n??``)):bt(this.node(),e)}function bt(e,t){return e.style.getPropertyValue(t)||ht(e).getComputedStyle(e,null).getPropertyValue(t)}function xt(e){return function(){delete this[e]}}function St(e,t){return function(){this[e]=t}}function Ct(e,t){return function(){var n=t.apply(this,arguments);n==null?delete this[e]:this[e]=n}}function wt(e,t){return arguments.length>1?this.each((t==null?xt:typeof t==`function`?Ct:St)(e,t)):this.node()[e]}function Tt(e){return e.trim().split(/^|\s+/)}function Et(e){return e.classList||new Dt(e)}function Dt(e){this._node=e,this._names=Tt(e.getAttribute(`class`)||``)}Dt.prototype={add:function(e){this._names.indexOf(e)<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 Ot(e,t){for(var n=Et(e),r=-1,i=t.length;++r<i;)n.add(t[r])}function kt(e,t){for(var n=Et(e),r=-1,i=t.length;++r<i;)n.remove(t[r])}function At(e){return function(){Ot(this,e)}}function jt(e){return function(){kt(this,e)}}function Mt(e,t){return function(){(t.apply(this,arguments)?Ot:kt)(this,e)}}function Nt(e,t){var n=Tt(e+``);if(arguments.length<2){for(var r=Et(this.node()),i=-1,a=n.length;++i<a;)if(!r.contains(n[i]))return!1;return!0}return this.each((typeof t==`function`?Mt:t?At:jt)(n,t))}function Pt(){this.textContent=``}function Ft(e){return function(){this.textContent=e}}function It(e){return function(){var t=e.apply(this,arguments);this.textContent=t??``}}function Lt(e){return arguments.length?this.each(e==null?Pt:(typeof e==`function`?It:Ft)(e)):this.node().textContent}function Rt(){this.innerHTML=``}function zt(e){return function(){this.innerHTML=e}}function Bt(e){return function(){var t=e.apply(this,arguments);this.innerHTML=t??``}}function Vt(e){return arguments.length?this.each(e==null?Rt:(typeof e==`function`?Bt:zt)(e)):this.node().innerHTML}function Ht(){this.nextSibling&&this.parentNode.appendChild(this)}function Ut(){return this.each(Ht)}function Wt(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Gt(){return this.each(Wt)}function Kt(e){var t=typeof e==`function`?e:xe(e);return this.select(function(){return this.appendChild(t.apply(this,arguments))})}function qt(){return null}function Jt(e,t){var n=typeof e==`function`?e:xe(e),r=t==null?qt:typeof t==`function`?t:Ce(t);return this.select(function(){return this.insertBefore(n.apply(this,arguments),r.apply(this,arguments)||null)})}function Yt(){var e=this.parentNode;e&&e.removeChild(this)}function Xt(){return this.each(Yt)}function Zt(){var e=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function Qt(){var e=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(e,this.nextSibling):e}function $t(e){return this.select(e?Qt:Zt)}function en(e){return arguments.length?this.property(`__data__`,e):this.node().__data__}function tn(e){return function(t){e.call(this,t,this.__data__)}}function nn(e){return e.trim().split(/^|\s+/).map(function(e){var t=``,n=e.indexOf(`.`);return n>=0&&(t=e.slice(n+1),e=e.slice(0,n)),{type:e,name:t}})}function rn(e){return function(){var t=this.__on;if(t){for(var n=0,r=-1,i=t.length,a;n<i;++n)a=t[n],(!e.type||a.type===e.type)&&a.name===e.name?this.removeEventListener(a.type,a.listener,a.options):t[++r]=a;++r?t.length=r:delete this.__on}}}function an(e,t,n){return function(){var r=this.__on,i,a=tn(t);if(r){for(var o=0,s=r.length;o<s;++o)if((i=r[o]).type===e.type&&i.name===e.name){this.removeEventListener(i.type,i.listener,i.options),this.addEventListener(i.type,i.listener=a,i.options=n),i.value=t;return}}this.addEventListener(e.type,a,n),i={type:e.type,name:e.name,value:t,listener:a,options:n},r?r.push(i):this.__on=[i]}}function on(e,t,n){var r=nn(e+``),i,a=r.length,o;if(arguments.length<2){var s=this.node().__on;if(s){for(var c=0,l=s.length,u;c<l;++c)for(i=0,u=s[c];i<a;++i)if((o=r[i]).type===u.type&&o.name===u.name)return u.value}}else{for(s=t?an:rn,i=0;i<a;++i)this.each(s(r[i],t,n));return this}}function sn(e,t,n){var r=ht(e),i=r.CustomEvent;typeof i==`function`?i=new i(t,n):(i=r.document.createEvent(`Event`),n?(i.initEvent(t,n.bubbles,n.cancelable),i.detail=n.detail):i.initEvent(t,!1,!1)),e.dispatchEvent(i)}function cn(e,t){return function(){return sn(this,e,t)}}function ln(e,t){return function(){return sn(this,e,t.apply(this,arguments))}}function un(e,t){return this.each((typeof t==`function`?ln:cn)(e,t))}function*dn(){for(var e=this._groups,t=0,n=e.length;t<n;++t)for(var r=e[t],i=0,a=r.length,o;i<a;++i)(o=r[i])&&(yield o)}var fn=[null];function q(e,t){this._groups=e,this._parents=t}function pn(){return new q([[document.documentElement]],fn)}function mn(){return this}q.prototype=pn.prototype={constructor:q,select:we,selectAll:ke,selectChild:Fe,selectChildren:ze,filter:Be,data:Je,enter:He,exit:Xe,join:Ze,merge:Qe,selection:mn,order:$e,sort:et,call:nt,nodes:rt,node:it,size:at,empty:ot,each:st,attr:mt,style:yt,property:wt,classed:Nt,text:Lt,html:Vt,raise:Ut,lower:Gt,append:Kt,insert:Jt,remove:Xt,clone:$t,datum:en,on,dispatch:un,[Symbol.iterator]:dn};function J(e){return typeof e==`string`?new q([[document.querySelector(e)]],[document.documentElement]):new q([[e]],fn)}function hn(e){let t;for(;t=e.sourceEvent;)e=t;return e}function gn(e,t){if(e=hn(e),t===void 0&&(t=e.currentTarget),t){var n=t.ownerSVGElement||t;if(n.createSVGPoint){var r=n.createSVGPoint();return r.x=e.clientX,r.y=e.clientY,r=r.matrixTransform(t.getScreenCTM().inverse()),[r.x,r.y]}if(t.getBoundingClientRect){var i=t.getBoundingClientRect();return[e.clientX-i.left-t.clientLeft,e.clientY-i.top-t.clientTop]}}return[e.pageX,e.pageY]}var _n={passive:!1},vn={capture:!0,passive:!1};function yn(e){e.stopImmediatePropagation()}function bn(e){e.preventDefault(),e.stopImmediatePropagation()}function xn(e){var t=e.document.documentElement,n=J(e).on(`dragstart.drag`,bn,vn);`onselectstart`in t?n.on(`selectstart.drag`,bn,vn):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=`none`)}function Sn(e,t){var n=e.document.documentElement,r=J(e).on(`dragstart.drag`,null);t&&(r.on(`click.drag`,bn,vn),setTimeout(function(){r.on(`click.drag`,null)},0)),`onselectstart`in n?r.on(`selectstart.drag`,null):(n.style.MozUserSelect=n.__noselect,delete n.__noselect)}var Cn=e=>()=>e;function wn(e,{sourceEvent:t,subject:n,target:r,identifier:i,active:a,x:o,y:s,dx:c,dy:l,dispatch:u}){Object.defineProperties(this,{type:{value:e,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:n,enumerable:!0,configurable:!0},target:{value:r,enumerable:!0,configurable:!0},identifier:{value:i,enumerable:!0,configurable:!0},active:{value:a,enumerable:!0,configurable:!0},x:{value:o,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:c,enumerable:!0,configurable:!0},dy:{value:l,enumerable:!0,configurable:!0},_:{value:u}})}wn.prototype.on=function(){var e=this._.on.apply(this._,arguments);return e===this._?this:e};function Tn(e){return!e.ctrlKey&&!e.button}function En(){return this.parentNode}function Dn(e,t){return t??{x:e.x,y:e.y}}function On(){return navigator.maxTouchPoints||`ontouchstart`in this}function kn(){var e=Tn,t=En,n=Dn,r=On,i={},a=fe(`start`,`drag`,`end`),o=0,s,c,l,u,d=0;function f(e){e.on(`mousedown.drag`,p).filter(r).on(`touchstart.drag`,g).on(`touchmove.drag`,_,_n).on(`touchend.drag touchcancel.drag`,v).style(`touch-action`,`none`).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}function p(n,r){if(!u&&e.call(this,n,r)){var i=y(this,t.call(this,n,r),n,r,`mouse`);i&&(J(n.view).on(`mousemove.drag`,m,vn).on(`mouseup.drag`,h,vn),xn(n.view),yn(n),l=!1,s=n.clientX,c=n.clientY,i(`start`,n))}}function m(e){if(bn(e),!l){var t=e.clientX-s,n=e.clientY-c;l=t*t+n*n>d}i.mouse(`drag`,e)}function h(e){J(e.view).on(`mousemove.drag mouseup.drag`,null),Sn(e.view,l),bn(e),i.mouse(`end`,e)}function g(n,r){if(e.call(this,n,r))for(var i=n.changedTouches,a=t.call(this,n,r),o=i.length,s=0,c;s<o;++s)(c=y(this,a,n,r,i[s].identifier,i[s]))&&(yn(n),c(`start`,n,i[s]))}function _(e){for(var t=e.changedTouches,n=t.length,r=0,a;r<n;++r)(a=i[t[r].identifier])&&(bn(e),a(`drag`,e,t[r]))}function v(e){var t=e.changedTouches,n=t.length,r,a;for(u&&clearTimeout(u),u=setTimeout(function(){u=null},500),r=0;r<n;++r)(a=i[t[r].identifier])&&(yn(e),a(`end`,e,t[r]))}function y(e,t,r,s,c,l){var u=a.copy(),d=gn(l||r,t),p,m,h;if((h=n.call(e,new wn(`beforestart`,{sourceEvent:r,target:f,identifier:c,active:o,x:d[0],y:d[1],dx:0,dy:0,dispatch:u}),s))!=null)return p=h.x-d[0]||0,m=h.y-d[1]||0,function n(r,a,l){var g=d,_;switch(r){case`start`:i[c]=n,_=o++;break;case`end`:delete i[c],--o;case`drag`:d=gn(l||a,t),_=o}u.call(r,e,new wn(r,{sourceEvent:a,subject:h,target:f,identifier:c,active:_,x:d[0]+p,y:d[1]+m,dx:d[0]-g[0],dy:d[1]-g[1],dispatch:u}),s)}}return f.filter=function(t){return arguments.length?(e=typeof t==`function`?t:Cn(!!t),f):e},f.container=function(e){return arguments.length?(t=typeof e==`function`?e:Cn(e),f):t},f.subject=function(e){return arguments.length?(n=typeof e==`function`?e:Cn(e),f):n},f.touchable=function(e){return arguments.length?(r=typeof e==`function`?e:Cn(!!e),f):r},f.on=function(){var e=a.on.apply(a,arguments);return e===a?f:e},f.clickDistance=function(e){return arguments.length?(d=(e=+e)*e,f):Math.sqrt(d)},f}function An(e,t,n){e.prototype=t.prototype=n,n.constructor=e}function jn(e,t){var n=Object.create(e.prototype);for(var r in t)n[r]=t[r];return n}function Mn(){}var Nn=.7,Pn=1/Nn,Fn=`\\s*([+-]?\\d+)\\s*`,In=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*`,Ln=`\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*`,Rn=/^#([0-9a-f]{3,8})$/,zn=RegExp(`^rgb\\(${Fn},${Fn},${Fn}\\)$`),Bn=RegExp(`^rgb\\(${Ln},${Ln},${Ln}\\)$`),Vn=RegExp(`^rgba\\(${Fn},${Fn},${Fn},${In}\\)$`),Hn=RegExp(`^rgba\\(${Ln},${Ln},${Ln},${In}\\)$`),Un=RegExp(`^hsl\\(${In},${Ln},${Ln}\\)$`),Wn=RegExp(`^hsla\\(${In},${Ln},${Ln},${In}\\)$`),Gn={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};An(Mn,Xn,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:Kn,formatHex:Kn,formatHex8:qn,formatHsl:Jn,formatRgb:Yn,toString:Yn});function Kn(){return this.rgb().formatHex()}function qn(){return this.rgb().formatHex8()}function Jn(){return cr(this).formatHsl()}function Yn(){return this.rgb().formatRgb()}function Xn(e){var t,n;return e=(e+``).trim().toLowerCase(),(t=Rn.exec(e))?(n=t[1].length,t=parseInt(t[1],16),n===6?Zn(t):n===3?new Y(t>>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):n===8?Qn(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):n===4?Qn(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=zn.exec(e))?new Y(t[1],t[2],t[3],1):(t=Bn.exec(e))?new Y(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=Vn.exec(e))?Qn(t[1],t[2],t[3],t[4]):(t=Hn.exec(e))?Qn(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=Un.exec(e))?sr(t[1],t[2]/100,t[3]/100,1):(t=Wn.exec(e))?sr(t[1],t[2]/100,t[3]/100,t[4]):Gn.hasOwnProperty(e)?Zn(Gn[e]):e===`transparent`?new Y(NaN,NaN,NaN,0):null}function Zn(e){return new Y(e>>16&255,e>>8&255,e&255,1)}function Qn(e,t,n,r){return r<=0&&(e=t=n=NaN),new Y(e,t,n,r)}function $n(e){return e instanceof Mn||(e=Xn(e)),e?(e=e.rgb(),new Y(e.r,e.g,e.b,e.opacity)):new Y}function er(e,t,n,r){return arguments.length===1?$n(e):new Y(e,t,n,r??1)}function Y(e,t,n,r){this.r=+e,this.g=+t,this.b=+n,this.opacity=+r}An(Y,er,jn(Mn,{brighter(e){return e=e==null?Pn:Pn**+e,new Y(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?Nn:Nn**+e,new Y(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Y(ar(this.r),ar(this.g),ar(this.b),ir(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:tr,formatHex:tr,formatHex8:nr,formatRgb:rr,toString:rr}));function tr(){return`#${or(this.r)}${or(this.g)}${or(this.b)}`}function nr(){return`#${or(this.r)}${or(this.g)}${or(this.b)}${or((isNaN(this.opacity)?1:this.opacity)*255)}`}function rr(){let e=ir(this.opacity);return`${e===1?`rgb(`:`rgba(`}${ar(this.r)}, ${ar(this.g)}, ${ar(this.b)}${e===1?`)`:`, ${e})`}`}function ir(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ar(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function or(e){return e=ar(e),(e<16?`0`:``)+e.toString(16)}function sr(e,t,n,r){return r<=0?e=t=n=NaN:n<=0||n>=1?e=t=NaN:t<=0&&(e=NaN),new ur(e,t,n,r)}function cr(e){if(e instanceof ur)return new ur(e.h,e.s,e.l,e.opacity);if(e instanceof Mn||(e=Xn(e)),!e)return new ur;if(e instanceof ur)return e;e=e.rgb();var t=e.r/255,n=e.g/255,r=e.b/255,i=Math.min(t,n,r),a=Math.max(t,n,r),o=NaN,s=a-i,c=(a+i)/2;return s?(o=t===a?(n-r)/s+(n<r)*6:n===a?(r-t)/s+2:(t-n)/s+4,s/=c<.5?a+i:2-a-i,o*=60):s=c>0&&c<1?0:o,new ur(o,s,c,e.opacity)}function lr(e,t,n,r){return arguments.length===1?cr(e):new ur(e,t,n,r??1)}function ur(e,t,n,r){this.h=+e,this.s=+t,this.l=+n,this.opacity=+r}An(ur,lr,jn(Mn,{brighter(e){return e=e==null?Pn:Pn**+e,new ur(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?Nn:Nn**+e,new ur(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 Y(pr(e>=240?e-240:e+120,i,r),pr(e,i,r),pr(e<120?e+240:e-120,i,r),this.opacity)},clamp(){return new ur(dr(this.h),fr(this.s),fr(this.l),ir(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(){let e=ir(this.opacity);return`${e===1?`hsl(`:`hsla(`}${dr(this.h)}, ${fr(this.s)*100}%, ${fr(this.l)*100}%${e===1?`)`:`, ${e})`}`}}));function dr(e){return e=(e||0)%360,e<0?e+360:e}function fr(e){return Math.max(0,Math.min(1,e||0))}function pr(e,t,n){return(e<60?t+(n-t)*e/60:e<180?n:e<240?t+(n-t)*(240-e)/60:t)*255}var mr=e=>()=>e;function hr(e,t){return function(n){return e+n*t}}function gr(e,t,n){return e**=+n,t=t**+n-e,n=1/n,function(r){return(e+r*t)**+n}}function _r(e){return(e=+e)==1?vr:function(t,n){return n-t?gr(t,n,e):mr(isNaN(t)?n:t)}}function vr(e,t){var n=t-e;return n?hr(e,n):mr(isNaN(e)?t:e)}var yr=(function e(t){var n=_r(t);function r(e,t){var r=n((e=er(e)).r,(t=er(t)).r),i=n(e.g,t.g),a=n(e.b,t.b),o=vr(e.opacity,t.opacity);return function(t){return e.r=r(t),e.g=i(t),e.b=a(t),e.opacity=o(t),e+``}}return r.gamma=e,r})(1);function br(e,t){t||=[];var n=e?Math.min(t.length,e.length):0,r=t.slice(),i;return function(a){for(i=0;i<n;++i)r[i]=e[i]*(1-a)+t[i]*a;return r}}function xr(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}function Sr(e,t){for(var n=t?t.length:0,r=e?Math.min(n,e.length):0,i=Array(r),a=Array(n),o=0;o<r;++o)i[o]=jr(e[o],t[o]);for(;o<n;++o)a[o]=t[o];return function(e){for(o=0;o<r;++o)a[o]=i[o](e);return a}}function Cr(e,t){var n=new Date;return e=+e,t=+t,function(r){return n.setTime(e*(1-r)+t*r),n}}function wr(e,t){return e=+e,t=+t,function(n){return e*(1-n)+t*n}}function Tr(e,t){var n={},r={},i;for(i in(typeof e!=`object`||!e)&&(e={}),(typeof t!=`object`||!t)&&(t={}),t)i in e?n[i]=jr(e[i],t[i]):r[i]=t[i];return function(e){for(i in n)r[i]=n[i](e);return r}}var Er=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Dr=new RegExp(Er.source,`g`);function Or(e){return function(){return e}}function kr(e){return function(t){return e(t)+``}}function Ar(e,t){var n=Er.lastIndex=Dr.lastIndex=0,r,i,a,o=-1,s=[],c=[];for(e+=``,t+=``;(r=Er.exec(e))&&(i=Dr.exec(t));)(a=i.index)>n&&(a=t.slice(n,a),s[o]?s[o]+=a:s[++o]=a),(r=r[0])===(i=i[0])?s[o]?s[o]+=i:s[++o]=i:(s[++o]=null,c.push({i:o,x:wr(r,i)})),n=Dr.lastIndex;return n<t.length&&(a=t.slice(n),s[o]?s[o]+=a:s[++o]=a),s.length<2?c[0]?kr(c[0].x):Or(t):(t=c.length,function(e){for(var n=0,r;n<t;++n)s[(r=c[n]).i]=r.x(e);return s.join(``)})}function jr(e,t){var n=typeof t,r;return t==null||n===`boolean`?mr(t):(n===`number`?wr:n===`string`?(r=Xn(t))?(t=r,yr):Ar:t instanceof Xn?yr:t instanceof Date?Cr:xr(t)?br:Array.isArray(t)?Sr:typeof t.valueOf!=`function`&&typeof t.toString!=`function`||isNaN(t)?Tr:wr)(e,t)}var Mr=180/Math.PI,Nr={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Pr(e,t,n,r,i,a){var o,s,c;return(o=Math.sqrt(e*e+t*t))&&(e/=o,t/=o),(c=e*n+t*r)&&(n-=e*c,r-=t*c),(s=Math.sqrt(n*n+r*r))&&(n/=s,r/=s,c/=s),e*r<t*n&&(e=-e,t=-t,c=-c,o=-o),{translateX:i,translateY:a,rotate:Math.atan2(t,e)*Mr,skewX:Math.atan(c)*Mr,scaleX:o,scaleY:s}}var Fr;function Ir(e){let t=new(typeof DOMMatrix==`function`?DOMMatrix:WebKitCSSMatrix)(e+``);return t.isIdentity?Nr:Pr(t.a,t.b,t.c,t.d,t.e,t.f)}function Lr(e){return e==null||(Fr||=document.createElementNS(`http://www.w3.org/2000/svg`,`g`),Fr.setAttribute(`transform`,e),!(e=Fr.transform.baseVal.consolidate()))?Nr:(e=e.matrix,Pr(e.a,e.b,e.c,e.d,e.e,e.f))}function Rr(e,t,n,r){function i(e){return e.length?e.pop()+` `:``}function a(e,r,i,a,o,s){if(e!==i||r!==a){var c=o.push(`translate(`,null,t,null,n);s.push({i:c-4,x:wr(e,i)},{i:c-2,x:wr(r,a)})}else(i||a)&&o.push(`translate(`+i+t+a+n)}function o(e,t,n,a){e===t?t&&n.push(i(n)+`rotate(`+t+r):(e-t>180?t+=360:t-e>180&&(e+=360),a.push({i:n.push(i(n)+`rotate(`,null,r)-2,x:wr(e,t)}))}function s(e,t,n,a){e===t?t&&n.push(i(n)+`skewX(`+t+r):a.push({i:n.push(i(n)+`skewX(`,null,r)-2,x:wr(e,t)})}function c(e,t,n,r,a,o){if(e!==n||t!==r){var s=a.push(i(a)+`scale(`,null,`,`,null,`)`);o.push({i:s-4,x:wr(e,n)},{i:s-2,x:wr(t,r)})}else(n!==1||r!==1)&&a.push(i(a)+`scale(`+n+`,`+r+`)`)}return function(t,n){var r=[],i=[];return t=e(t),n=e(n),a(t.translateX,t.translateY,n.translateX,n.translateY,r,i),o(t.rotate,n.rotate,r,i),s(t.skewX,n.skewX,r,i),c(t.scaleX,t.scaleY,n.scaleX,n.scaleY,r,i),t=n=null,function(e){for(var t=-1,n=i.length,a;++t<n;)r[(a=i[t]).i]=a.x(e);return r.join(``)}}}var zr=Rr(Ir,`px, `,`px)`,`deg)`),Br=Rr(Lr,`, `,`)`,`)`),Vr=1e-12;function Hr(e){return((e=Math.exp(e))+1/e)/2}function Ur(e){return((e=Math.exp(e))-1/e)/2}function Wr(e){return((e=Math.exp(2*e))-1)/(e+1)}var Gr=(function e(t,n,r){function i(e,i){var a=e[0],o=e[1],s=e[2],c=i[0],l=i[1],u=i[2],d=c-a,f=l-o,p=d*d+f*f,m,h;if(p<Vr)h=Math.log(u/s)/t,m=function(e){return[a+e*d,o+e*f,s*Math.exp(t*e*h)]};else{var g=Math.sqrt(p),_=(u*u-s*s+r*p)/(2*s*n*g),v=(u*u-s*s-r*p)/(2*u*n*g),y=Math.log(Math.sqrt(_*_+1)-_);h=(Math.log(Math.sqrt(v*v+1)-v)-y)/t,m=function(e){var r=e*h,i=Hr(y),c=s/(n*g)*(i*Wr(t*r+y)-Ur(y));return[a+c*d,o+c*f,s*i/Hr(t*r+y)]}}return m.duration=h*1e3*t/Math.SQRT2,m}return i.rho=function(t){var n=Math.max(.001,+t),r=n*n;return e(n,r,r*r)},i})(Math.SQRT2,2,4),Kr=0,qr=0,Jr=0,Yr=1e3,Xr,Zr,Qr=0,$r=0,ei=0,ti=typeof performance==`object`&&performance.now?performance:Date,ni=typeof window==`object`&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(e){setTimeout(e,17)};function ri(){return $r||=(ni(ii),ti.now()+ei)}function ii(){$r=0}function ai(){this._call=this._time=this._next=null}ai.prototype=oi.prototype={constructor:ai,restart:function(e,t,n){if(typeof e!=`function`)throw TypeError(`callback is not a function`);n=(n==null?ri():+n)+(t==null?0:+t),!this._next&&Zr!==this&&(Zr?Zr._next=this:Xr=this,Zr=this),this._call=e,this._time=n,di()},stop:function(){this._call&&(this._call=null,this._time=1/0,di())}};function oi(e,t,n){var r=new ai;return r.restart(e,t,n),r}function si(){ri(),++Kr;for(var e=Xr,t;e;)(t=$r-e._time)>=0&&e._call.call(void 0,t),e=e._next;--Kr}function ci(){$r=(Qr=ti.now())+ei,Kr=qr=0;try{si()}finally{Kr=0,ui(),$r=0}}function li(){var e=ti.now(),t=e-Qr;t>Yr&&(ei-=t,Qr=e)}function ui(){for(var e,t=Xr,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:Xr=n);Zr=e,di(r)}function di(e){Kr||(qr&&=clearTimeout(qr),e-$r>24?(e<1/0&&(qr=setTimeout(ci,e-ti.now()-ei)),Jr&&=clearInterval(Jr)):(Jr||=(Qr=ti.now(),setInterval(li,Yr)),Kr=1,ni(ci)))}function fi(e,t,n){var r=new ai;return t=t==null?0:+t,r.restart(n=>{r.stop(),e(n+t)},t,n),r}var pi=fe(`start`,`end`,`cancel`,`interrupt`),mi=[];function hi(e,t,n,r,i,a){var o=e.__transition;if(!o)e.__transition={};else if(n in o)return;yi(e,n,{name:t,index:r,group:i,on:pi,tween:mi,time:a.time,delay:a.delay,duration:a.duration,ease:a.ease,timer:null,state:0})}function gi(e,t){var n=vi(e,t);if(n.state>0)throw Error(`too late; already scheduled`);return n}function _i(e,t){var n=vi(e,t);if(n.state>3)throw Error(`too late; already running`);return n}function vi(e,t){var n=e.__transition;if(!n||!(n=n[t]))throw Error(`transition not found`);return n}function yi(e,t,n){var r=e.__transition,i;r[t]=n,n.timer=oi(a,0,n.time);function a(e){n.state=1,n.timer.restart(o,n.delay,n.time),n.delay<=e&&o(e-n.delay)}function o(a){var l,u,d,f;if(n.state!==1)return c();for(l in r)if(f=r[l],f.name===n.name){if(f.state===3)return fi(o);f.state===4?(f.state=6,f.timer.stop(),f.on.call(`interrupt`,e,e.__data__,f.index,f.group),delete r[l]):+l<t&&(f.state=6,f.timer.stop(),f.on.call(`cancel`,e,e.__data__,f.index,f.group),delete r[l])}if(fi(function(){n.state===3&&(n.state=4,n.timer.restart(s,n.delay,n.time),s(a))}),n.state=2,n.on.call(`start`,e,e.__data__,n.index,n.group),n.state===2){for(n.state=3,i=Array(d=n.tween.length),l=0,u=-1;l<d;++l)(f=n.tween[l].value.call(e,e.__data__,n.index,n.group))&&(i[++u]=f);i.length=u+1}}function s(t){for(var r=t<n.duration?n.ease.call(null,t/n.duration):(n.timer.restart(c),n.state=5,1),a=-1,o=i.length;++a<o;)i[a].call(e,r);n.state===5&&(n.on.call(`end`,e,e.__data__,n.index,n.group),c())}function c(){for(var i in n.state=6,n.timer.stop(),delete r[t],r)return;delete e.__transition}}function bi(e,t){var n=e.__transition,r,i,a=!0,o;if(n){for(o in t=t==null?null:t+``,n)(r=n[o]).name===t?(i=r.state>2&&r.state<5,r.state=6,r.timer.stop(),r.on.call(i?`interrupt`:`cancel`,e,e.__data__,r.index,r.group),delete n[o]):a=!1;a&&delete e.__transition}}function xi(e){return this.each(function(){bi(this,e)})}function Si(e,t){var n,r;return function(){var i=_i(this,e),a=i.tween;if(a!==n){r=n=a;for(var o=0,s=r.length;o<s;++o)if(r[o].name===t){r=r.slice(),r.splice(o,1);break}}i.tween=r}}function Ci(e,t,n){var r,i;if(typeof n!=`function`)throw Error();return function(){var a=_i(this,e),o=a.tween;if(o!==r){i=(r=o).slice();for(var s={name:t,value:n},c=0,l=i.length;c<l;++c)if(i[c].name===t){i[c]=s;break}c===l&&i.push(s)}a.tween=i}}function wi(e,t){var n=this._id;if(e+=``,arguments.length<2){for(var r=vi(this.node(),n).tween,i=0,a=r.length,o;i<a;++i)if((o=r[i]).name===e)return o.value;return null}return this.each((t==null?Si:Ci)(n,e,t))}function Ti(e,t,n){var r=e._id;return e.each(function(){var e=_i(this,r);(e.value||={})[t]=n.apply(this,arguments)}),function(e){return vi(e,r).value[t]}}function Ei(e,t){var n;return(typeof t==`number`?wr:t instanceof Xn?yr:(n=Xn(t))?(t=n,yr):Ar)(e,t)}function Di(e){return function(){this.removeAttribute(e)}}function Oi(e){return function(){this.removeAttributeNS(e.space,e.local)}}function ki(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttribute(e);return o===i?null:o===r?a:a=t(r=o,n)}}function Ai(e,t,n){var r,i=n+``,a;return function(){var o=this.getAttributeNS(e.space,e.local);return o===i?null:o===r?a:a=t(r=o,n)}}function ji(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttribute(e):(o=this.getAttribute(e),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Mi(e,t,n){var r,i,a;return function(){var o,s=n(this),c;return s==null?void this.removeAttributeNS(e.space,e.local):(o=this.getAttributeNS(e.space,e.local),c=s+``,o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s)))}}function Ni(e,t){var n=ve(e),r=n===`transform`?Br:Ei;return this.attrTween(e,typeof t==`function`?(n.local?Mi:ji)(n,r,Ti(this,`attr.`+e,t)):t==null?(n.local?Oi:Di)(n):(n.local?Ai:ki)(n,r,t))}function Pi(e,t){return function(n){this.setAttribute(e,t.call(this,n))}}function Fi(e,t){return function(n){this.setAttributeNS(e.space,e.local,t.call(this,n))}}function Ii(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Fi(e,i)),n}return i._value=t,i}function Li(e,t){var n,r;function i(){var i=t.apply(this,arguments);return i!==r&&(n=(r=i)&&Pi(e,i)),n}return i._value=t,i}function Ri(e,t){var n=`attr.`+e;if(arguments.length<2)return(n=this.tween(n))&&n._value;if(t==null)return this.tween(n,null);if(typeof t!=`function`)throw Error();var r=ve(e);return this.tween(n,(r.local?Ii:Li)(r,t))}function zi(e,t){return function(){gi(this,e).delay=+t.apply(this,arguments)}}function Bi(e,t){return t=+t,function(){gi(this,e).delay=t}}function Vi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?zi:Bi)(t,e)):vi(this.node(),t).delay}function Hi(e,t){return function(){_i(this,e).duration=+t.apply(this,arguments)}}function Ui(e,t){return t=+t,function(){_i(this,e).duration=t}}function Wi(e){var t=this._id;return arguments.length?this.each((typeof e==`function`?Hi:Ui)(t,e)):vi(this.node(),t).duration}function Gi(e,t){if(typeof t!=`function`)throw Error();return function(){_i(this,e).ease=t}}function Ki(e){var t=this._id;return arguments.length?this.each(Gi(t,e)):vi(this.node(),t).ease}function qi(e,t){return function(){var n=t.apply(this,arguments);if(typeof n!=`function`)throw Error();_i(this,e).ease=n}}function Ji(e){if(typeof e!=`function`)throw Error();return this.each(qi(this._id,e))}function Yi(e){typeof e!=`function`&&(e=Ae(e));for(var t=this._groups,n=t.length,r=Array(n),i=0;i<n;++i)for(var a=t[i],o=a.length,s=r[i]=[],c,l=0;l<o;++l)(c=a[l])&&e.call(c,c.__data__,l,a)&&s.push(c);return new wa(r,this._parents,this._name,this._id)}function Xi(e){if(e._id!==this._id)throw Error();for(var t=this._groups,n=e._groups,r=t.length,i=n.length,a=Math.min(r,i),o=Array(r),s=0;s<a;++s)for(var c=t[s],l=n[s],u=c.length,d=o[s]=Array(u),f,p=0;p<u;++p)(f=c[p]||l[p])&&(d[p]=f);for(;s<r;++s)o[s]=t[s];return new wa(o,this._parents,this._name,this._id)}function Zi(e){return(e+``).trim().split(/^|\s+/).every(function(e){var t=e.indexOf(`.`);return t>=0&&(e=e.slice(0,t)),!e||e===`start`})}function Qi(e,t,n){var r,i,a=Zi(t)?gi:_i;return function(){var o=a(this,e),s=o.on;s!==r&&(i=(r=s).copy()).on(t,n),o.on=i}}function $i(e,t){var n=this._id;return arguments.length<2?vi(this.node(),n).on.on(e):this.each(Qi(n,e,t))}function ea(e){return function(){var t=this.parentNode;for(var n in this.__transition)if(+n!==e)return;t&&t.removeChild(this)}}function ta(){return this.on(`end.remove`,ea(this._id))}function na(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=Ce(e));for(var r=this._groups,i=r.length,a=Array(i),o=0;o<i;++o)for(var s=r[o],c=s.length,l=a[o]=Array(c),u,d,f=0;f<c;++f)(u=s[f])&&(d=e.call(u,u.__data__,f,s))&&(`__data__`in u&&(d.__data__=u.__data__),l[f]=d,hi(l[f],t,n,f,l,vi(u,n)));return new wa(a,this._parents,t,n)}function ra(e){var t=this._name,n=this._id;typeof e!=`function`&&(e=De(e));for(var r=this._groups,i=r.length,a=[],o=[],s=0;s<i;++s)for(var c=r[s],l=c.length,u,d=0;d<l;++d)if(u=c[d]){for(var f=e.call(u,u.__data__,d,c),p,m=vi(u,n),h=0,g=f.length;h<g;++h)(p=f[h])&&hi(p,t,n,h,f,m);a.push(f),o.push(u)}return new wa(a,o,t,n)}var ia=pn.prototype.constructor;function aa(){return new ia(this._groups,this._parents)}function oa(e,t){var n,r,i;return function(){var a=bt(this,e),o=(this.style.removeProperty(e),bt(this,e));return a===o?null:a===n&&o===r?i:i=t(n=a,r=o)}}function sa(e){return function(){this.style.removeProperty(e)}}function ca(e,t,n){var r,i=n+``,a;return function(){var o=bt(this,e);return o===i?null:o===r?a:a=t(r=o,n)}}function la(e,t,n){var r,i,a;return function(){var o=bt(this,e),s=n(this),c=s+``;return s??(c=s=(this.style.removeProperty(e),bt(this,e))),o===c?null:o===r&&c===i?a:(i=c,a=t(r=o,s))}}function ua(e,t){var n,r,i,a=`style.`+t,o=`end.`+a,s;return function(){var c=_i(this,e),l=c.on,u=c.value[a]==null?s||=sa(t):void 0;(l!==n||i!==u)&&(r=(n=l).copy()).on(o,i=u),c.on=r}}function da(e,t,n){var r=(e+=``)==`transform`?zr:Ei;return t==null?this.styleTween(e,oa(e,r)).on(`end.style.`+e,sa(e)):typeof t==`function`?this.styleTween(e,la(e,r,Ti(this,`style.`+e,t))).each(ua(this._id,e)):this.styleTween(e,ca(e,r,t),n).on(`end.style.`+e,null)}function fa(e,t,n){return function(r){this.style.setProperty(e,t.call(this,r),n)}}function pa(e,t,n){var r,i;function a(){var a=t.apply(this,arguments);return a!==i&&(r=(i=a)&&fa(e,a,n)),r}return a._value=t,a}function ma(e,t,n){var r=`style.`+(e+=``);if(arguments.length<2)return(r=this.tween(r))&&r._value;if(t==null)return this.tween(r,null);if(typeof t!=`function`)throw Error();return this.tween(r,pa(e,t,n??``))}function ha(e){return function(){this.textContent=e}}function ga(e){return function(){var t=e(this);this.textContent=t??``}}function _a(e){return this.tween(`text`,typeof e==`function`?ga(Ti(this,`text`,e)):ha(e==null?``:e+``))}function va(e){return function(t){this.textContent=e.call(this,t)}}function ya(e){var t,n;function r(){var r=e.apply(this,arguments);return r!==n&&(t=(n=r)&&va(r)),t}return r._value=e,r}function ba(e){var t=`text`;if(arguments.length<1)return(t=this.tween(t))&&t._value;if(e==null)return this.tween(t,null);if(typeof e!=`function`)throw Error();return this.tween(t,ya(e))}function xa(){for(var e=this._name,t=this._id,n=Ta(),r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)if(c=o[l]){var u=vi(c,t);hi(c,e,n,l,o,{time:u.time+u.delay+u.duration,delay:0,duration:u.duration,ease:u.ease})}return new wa(r,this._parents,e,n)}function Sa(){var e,t,n=this,r=n._id,i=n.size();return new Promise(function(a,o){var s={value:o},c={value:function(){--i===0&&a()}};n.each(function(){var n=_i(this,r),i=n.on;i!==e&&(t=(e=i).copy(),t._.cancel.push(s),t._.interrupt.push(s),t._.end.push(c)),n.on=t}),i===0&&a()})}var Ca=0;function wa(e,t,n,r){this._groups=e,this._parents=t,this._name=n,this._id=r}function Ta(){return++Ca}var Ea=pn.prototype;wa.prototype={constructor:wa,select:na,selectAll:ra,selectChild:Ea.selectChild,selectChildren:Ea.selectChildren,filter:Yi,merge:Xi,selection:aa,transition:xa,call:Ea.call,nodes:Ea.nodes,node:Ea.node,size:Ea.size,empty:Ea.empty,each:Ea.each,on:$i,attr:Ni,attrTween:Ri,style:da,styleTween:ma,text:_a,textTween:ba,remove:ta,tween:wi,delay:Vi,duration:Wi,ease:Ki,easeVarying:Ji,end:Sa,[Symbol.iterator]:Ea[Symbol.iterator]};function Da(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var Oa={time:null,delay:0,duration:250,ease:Da};function ka(e,t){for(var n;!(n=e.__transition)||!(n=n[t]);)if(!(e=e.parentNode))throw Error(`transition ${t} not found`);return n}function Aa(e){var t,n;e instanceof wa?(t=e._id,e=e._name):(t=Ta(),(n=Oa).time=ri(),e=e==null?null:e+``);for(var r=this._groups,i=r.length,a=0;a<i;++a)for(var o=r[a],s=o.length,c,l=0;l<s;++l)(c=o[l])&&hi(c,e,t,l,o,n||ka(c,t));return new wa(r,this._parents,e,t)}pn.prototype.interrupt=xi,pn.prototype.transition=Aa;var ja=e=>()=>e;function Ma(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 Na(e,t,n){this.k=e,this.x=t,this.y=n}Na.prototype={constructor:Na,scale:function(e){return e===1?this:new Na(this.k*e,this.x,this.y)},translate:function(e,t){return e===0&t===0?this:new Na(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 Pa=new Na(1,0,0);Fa.prototype=Na.prototype;function Fa(e){for(;!e.__zoom;)if(!(e=e.parentNode))return Pa;return e.__zoom}function Ia(e){e.stopImmediatePropagation()}function La(e){e.preventDefault(),e.stopImmediatePropagation()}function Ra(e){return(!e.ctrlKey||e.type===`wheel`)&&!e.button}function za(){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 Ba(){return this.__zoom||Pa}function Va(e){return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*(e.ctrlKey?10:1)}function Ha(){return navigator.maxTouchPoints||`ontouchstart`in this}function Ua(e,t,n){var r=e.invertX(t[0][0])-n[0][0],i=e.invertX(t[1][0])-n[1][0],a=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>a?(a+o)/2:Math.min(0,a)||Math.max(0,o))}function Wa(){var e=Ra,t=za,n=Ua,r=Va,i=Ha,a=[0,1/0],o=[[-1/0,-1/0],[1/0,1/0]],s=250,c=Gr,l=fe(`start`,`zoom`,`end`),u,d,f,p=500,m=150,h=0,g=10;function _(e){e.property(`__zoom`,Ba).on(`wheel.zoom`,w,{passive:!1}).on(`mousedown.zoom`,T).on(`dblclick.zoom`,E).filter(i).on(`touchstart.zoom`,D).on(`touchmove.zoom`,O).on(`touchend.zoom touchcancel.zoom`,k).style(`-webkit-tap-highlight-color`,`rgba(0,0,0,0)`)}_.transform=function(e,t,n,r){var i=e.selection?e.selection():e;i.property(`__zoom`,Ba),e===i?i.interrupt().each(function(){S(this,arguments).event(r).start().zoom(null,typeof t==`function`?t.apply(this,arguments):t).end()}):x(e,t,n,r)},_.scaleBy=function(e,t,n,r){_.scaleTo(e,function(){return this.__zoom.k*(typeof t==`function`?t.apply(this,arguments):t)},n,r)},_.scaleTo=function(e,r,i,a){_.transform(e,function(){var e=t.apply(this,arguments),a=this.__zoom,s=i==null?b(e):typeof i==`function`?i.apply(this,arguments):i,c=a.invert(s),l=typeof r==`function`?r.apply(this,arguments):r;return n(y(v(a,l),s,c),e,o)},i,a)},_.translateBy=function(e,r,i,a){_.transform(e,function(){return n(this.__zoom.translate(typeof r==`function`?r.apply(this,arguments):r,typeof i==`function`?i.apply(this,arguments):i),t.apply(this,arguments),o)},null,a)},_.translateTo=function(e,r,i,a,s){_.transform(e,function(){var e=t.apply(this,arguments),s=this.__zoom,c=a==null?b(e):typeof a==`function`?a.apply(this,arguments):a;return n(Pa.translate(c[0],c[1]).scale(s.k).translate(typeof r==`function`?-r.apply(this,arguments):-r,typeof i==`function`?-i.apply(this,arguments):-i),e,o)},a,s)};function v(e,t){return t=Math.max(a[0],Math.min(a[1],t)),t===e.k?e:new Na(t,e.x,e.y)}function y(e,t,n){var r=t[0]-n[0]*e.k,i=t[1]-n[1]*e.k;return r===e.x&&i===e.y?e:new Na(e.k,r,i)}function b(e){return[(+e[0][0]+ +e[1][0])/2,(+e[0][1]+ +e[1][1])/2]}function x(e,n,r,i){e.on(`start.zoom`,function(){S(this,arguments).event(i).start()}).on(`interrupt.zoom end.zoom`,function(){S(this,arguments).event(i).end()}).tween(`zoom`,function(){var e=this,a=arguments,o=S(e,a).event(i),s=t.apply(e,a),l=r==null?b(s):typeof r==`function`?r.apply(e,a):r,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),d=e.__zoom,f=typeof n==`function`?n.apply(e,a):n,p=c(d.invert(l).concat(u/d.k),f.invert(l).concat(u/f.k));return function(e){if(e===1)e=f;else{var t=p(e),n=u/t[2];e=new Na(n,l[0]-t[0]*n,l[1]-t[1]*n)}o.zoom(null,e)}})}function S(e,t,n){return!n&&e.__zooming||new C(e,t)}function C(e,n){this.that=e,this.args=n,this.active=0,this.sourceEvent=null,this.extent=t.apply(e,n),this.taps=0}C.prototype={event:function(e){return e&&(this.sourceEvent=e),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit(`start`)),this},zoom:function(e,t){return this.mouse&&e!==`mouse`&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&e!==`touch`&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&e!==`touch`&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(`zoom`),this},end:function(){return--this.active===0&&(delete this.that.__zooming,this.emit(`end`)),this},emit:function(e){var t=J(this.that).datum();l.call(e,this.that,new Ma(e,{sourceEvent:this.sourceEvent,target:_,type:e,transform:this.that.__zoom,dispatch:l}),t)}};function w(t,...i){if(!e.apply(this,arguments))return;var s=S(this,i).event(t),c=this.__zoom,l=Math.max(a[0],Math.min(a[1],c.k*2**r.apply(this,arguments))),u=gn(t);if(s.wheel)(s.mouse[0][0]!==u[0]||s.mouse[0][1]!==u[1])&&(s.mouse[1]=c.invert(s.mouse[0]=u)),clearTimeout(s.wheel);else if(c.k===l)return;else s.mouse=[u,c.invert(u)],bi(this),s.start();La(t),s.wheel=setTimeout(d,m),s.zoom(`mouse`,n(y(v(c,l),s.mouse[0],s.mouse[1]),s.extent,o));function d(){s.wheel=null,s.end()}}function T(t,...r){if(f||!e.apply(this,arguments))return;var i=t.currentTarget,a=S(this,r,!0).event(t),s=J(t.view).on(`mousemove.zoom`,d,!0).on(`mouseup.zoom`,p,!0),c=gn(t,i),l=t.clientX,u=t.clientY;xn(t.view),Ia(t),a.mouse=[c,this.__zoom.invert(c)],bi(this),a.start();function d(e){if(La(e),!a.moved){var t=e.clientX-l,r=e.clientY-u;a.moved=t*t+r*r>h}a.event(e).zoom(`mouse`,n(y(a.that.__zoom,a.mouse[0]=gn(e,i),a.mouse[1]),a.extent,o))}function p(e){s.on(`mousemove.zoom mouseup.zoom`,null),Sn(e.view,a.moved),La(e),a.event(e).end()}}function E(r,...i){if(e.apply(this,arguments)){var a=this.__zoom,c=gn(r.changedTouches?r.changedTouches[0]:r,this),l=a.invert(c),u=a.k*(r.shiftKey?.5:2),d=n(y(v(a,u),c,l),t.apply(this,i),o);La(r),s>0?J(this).transition().duration(s).call(x,d,c,r):J(this).call(_.transform,d,c,r)}}function D(t,...n){if(e.apply(this,arguments)){var r=t.touches,i=r.length,a=S(this,n,t.changedTouches.length===i).event(t),o,s,c,l;for(Ia(t),s=0;s<i;++s)c=r[s],l=gn(c,this),l=[l,this.__zoom.invert(l),c.identifier],a.touch0?!a.touch1&&a.touch0[2]!==l[2]&&(a.touch1=l,a.taps=0):(a.touch0=l,o=!0,a.taps=1+!!u);u&&=clearTimeout(u),o&&(a.taps<2&&(d=l[0],u=setTimeout(function(){u=null},p)),bi(this),a.start())}}function O(e,...t){if(this.__zooming){var r=S(this,t).event(e),i=e.changedTouches,a=i.length,s,c,l,u;for(La(e),s=0;s<a;++s)c=i[s],l=gn(c,this),r.touch0&&r.touch0[2]===c.identifier?r.touch0[0]=l:r.touch1&&r.touch1[2]===c.identifier&&(r.touch1[0]=l);if(c=r.that.__zoom,r.touch1){var d=r.touch0[0],f=r.touch0[1],p=r.touch1[0],m=r.touch1[1],h=(h=p[0]-d[0])*h+(h=p[1]-d[1])*h,g=(g=m[0]-f[0])*g+(g=m[1]-f[1])*g;c=v(c,Math.sqrt(h/g)),l=[(d[0]+p[0])/2,(d[1]+p[1])/2],u=[(f[0]+m[0])/2,(f[1]+m[1])/2]}else if(r.touch0)l=r.touch0[0],u=r.touch0[1];else return;r.zoom(`touch`,n(y(c,l,u),r.extent,o))}}function k(e,...t){if(this.__zooming){var n=S(this,t).event(e),r=e.changedTouches,i=r.length,a,o;for(Ia(e),f&&clearTimeout(f),f=setTimeout(function(){f=null},p),a=0;a<i;++a)o=r[a],n.touch0&&n.touch0[2]===o.identifier?delete n.touch0:n.touch1&&n.touch1[2]===o.identifier&&delete n.touch1;if(n.touch1&&!n.touch0&&(n.touch0=n.touch1,delete n.touch1),n.touch0)n.touch0[1]=this.__zoom.invert(n.touch0[0]);else if(n.end(),n.taps===2&&(o=gn(o,this),Math.hypot(d[0]-o[0],d[1]-o[1])<g)){var s=J(this).on(`dblclick.zoom`);s&&s.apply(this,arguments)}}}return _.wheelDelta=function(e){return arguments.length?(r=typeof e==`function`?e:ja(+e),_):r},_.filter=function(t){return arguments.length?(e=typeof t==`function`?t:ja(!!t),_):e},_.touchable=function(e){return arguments.length?(i=typeof e==`function`?e:ja(!!e),_):i},_.extent=function(e){return arguments.length?(t=typeof e==`function`?e:ja([[+e[0][0],+e[0][1]],[+e[1][0],+e[1][1]]]),_):t},_.scaleExtent=function(e){return arguments.length?(a[0]=+e[0],a[1]=+e[1],_):[a[0],a[1]]},_.translateExtent=function(e){return arguments.length?(o[0][0]=+e[0][0],o[1][0]=+e[1][0],o[0][1]=+e[0][1],o[1][1]=+e[1][1],_):[[o[0][0],o[0][1]],[o[1][0],o[1][1]]]},_.constrain=function(e){return arguments.length?(n=e,_):n},_.duration=function(e){return arguments.length?(s=+e,_):s},_.interpolate=function(e){return arguments.length?(c=e,_):c},_.on=function(){var e=l.on.apply(l,arguments);return e===l?_:e},_.clickDistance=function(e){return arguments.length?(h=(e=+e)*e,_):Math.sqrt(h)},_.tapDistance=function(e){return arguments.length?(g=+e,_):g},_}var Ga={error001:(e=`react`)=>`Seems like you have not used ${e===`svelte`?`SvelteFlowProvider`:`ReactFlowProvider`} as an ancestor. Help: https://${e}flow.dev/error#001`,error002:()=>`It looks like you've created a new nodeTypes or edgeTypes object. If this wasn't on purpose please define the nodeTypes/edgeTypes outside of the component or memoize them.`,error003:e=>`Node type "${e}" not found. Using fallback type "default".`,error004:()=>`The parent container needs a width and a height to render the graph.`,error005:()=>`Only child nodes can use a parent extent.`,error006:()=>`Can't create edge. An edge needs a source and a target.`,error007:e=>`The old edge with id=${e} does not exist.`,error009:e=>`Marker type "${e}" doesn't exist.`,error008:(e,{id:t,sourceHandle:n,targetHandle:r})=>`Couldn't create edge for ${e} handle id: "${e===`source`?n:r}", edge id: ${t}.`,error010:()=>`Handle: No node id found. Make sure to only use a Handle inside a custom Node.`,error011:e=>`Edge type "${e}" not found. Using fallback type "default".`,error012:e=>`Node with id "${e}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(e=`react`)=>`It seems that you haven't loaded the styles. Please import '@xyflow/${e}/dist/style.css' or base.css to make sure everything is working properly.`,error014:()=>`useNodeConnections: No node ID found. Call useNodeConnections inside a custom Node or provide a node ID.`,error015:()=>`It seems that you are trying to drag a node that is not initialized. Please use onNodesChange as explained in the docs.`,error016:e=>`Edge with id "${e}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},Ka=[[-1/0,-1/0],[1/0,1/0]],qa=[`Enter`,` `,`Escape`],Ja={"node.a11yDescription.default":`Press enter or space to select a node. Press delete to remove it and escape to cancel.`,"node.a11yDescription.keyboardDisabled":`Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.`,"node.a11yDescription.ariaLiveMessage":({direction:e,x:t,y:n})=>`Moved selected node ${e}. New position, x: ${t}, y: ${n}`,"edge.a11yDescription.default":`Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.`,"controls.ariaLabel":`Control Panel`,"controls.zoomIn.ariaLabel":`Zoom In`,"controls.zoomOut.ariaLabel":`Zoom Out`,"controls.fitView.ariaLabel":`Fit View`,"controls.interactive.ariaLabel":`Toggle Interactivity`,"minimap.ariaLabel":`Mini Map`,"handle.ariaLabel":`Handle`},Ya;(function(e){e.Strict=`strict`,e.Loose=`loose`})(Ya||={});var Xa;(function(e){e.Free=`free`,e.Vertical=`vertical`,e.Horizontal=`horizontal`})(Xa||={});var Za;(function(e){e.Partial=`partial`,e.Full=`full`})(Za||={});var Qa={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},$a;(function(e){e.Bezier=`default`,e.Straight=`straight`,e.Step=`step`,e.SmoothStep=`smoothstep`,e.SimpleBezier=`simplebezier`})($a||={});var eo;(function(e){e.Arrow=`arrow`,e.ArrowClosed=`arrowclosed`})(eo||={});var X;(function(e){e.Left=`left`,e.Top=`top`,e.Right=`right`,e.Bottom=`bottom`})(X||={});var to={[X.Left]:X.Right,[X.Right]:X.Left,[X.Top]:X.Bottom,[X.Bottom]:X.Top},no=e=>!!e&&typeof e==`object`&&`id`in e&&`source`in e&&`target`in e,ro=e=>!!e&&typeof e==`object`&&`id`in e&&`position`in e&&!(`source`in e)&&!(`target`in e),io=e=>!!e&&typeof e==`object`&&`id`in e&&`internals`in e&&!(`source`in e)&&!(`target`in e),ao=(e,t=[0,0])=>{let{width:n,height:r}=Bo(e),i=e.origin??t,a=n*i[0],o=r*i[1];return{x:e.position.x-a,y:e.position.y-o}},oo=(e,t={nodeOrigin:[0,0]})=>{if(e.length===0)return{x:0,y:0,width:0,height:0};let n=!1,r=e.reduce((e,r)=>{let i=typeof r==`string`,a=!t.nodeLookup&&!i?r:void 0;return t.nodeLookup&&(a=i?t.nodeLookup.get(r):io(r)?r:t.nodeLookup.get(r.id)),a?(n=!0,bo(e,wo(a,t.nodeOrigin))):e},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return n?So(r):{x:0,y:0,width:0,height:0}},so=(e,t={})=>{let n={x:1/0,y:1/0,x2:-1/0,y2:-1/0},r=!1;return e.forEach(e=>{(t.filter===void 0||t.filter(e))&&(n=bo(n,wo(e)),r=!0)}),r?So(n):{x:0,y:0,width:0,height:0}},co=(e,t,[n,r,i]=[0,0,1],a=!1,o=!1)=>{let s=(t.x-n)/i,c=(t.y-r)/i,l=t.width/i,u=t.height/i,d=[];for(let t of e.values()){let{measured:e,selectable:n=!0,hidden:r=!1}=t;if(o&&!n||r)continue;let i=e.width??t.width??t.initialWidth??0,f=e.height??t.height??t.initialHeight??0,{x:p,y:m}=t.internals.positionAbsolute,h=Eo(s,c,l,u,p,m,i,f),g=i*f,_=a&&h>0;(!t.internals.handleBounds||_||h>=g||t.dragging)&&d.push(t)}return d},lo=(e,t)=>{let n=new Set;return e.forEach(e=>{n.add(e.id)}),t.filter(e=>n.has(e.source)||n.has(e.target))};function uo(e,t){let n=new Map,r=t?.nodes?new Set(t.nodes.map(e=>e.id)):null;return e.forEach(e=>{let i;if(t?.includeHiddenNodes){let{width:t,height:n}=Bo(e);i=t>0&&n>0}else i=!!(e.measured.width&&e.measured.height&&!e.hidden);i&&(!r||r.has(e.id))&&n.set(e.id,e)}),n}async function fo({nodes:e,width:t,height:n,panZoom:r,minZoom:i,maxZoom:a},o){if(e.size===0)return!0;let s=Lo(so(uo(e,o)),t,n,o?.minZoom??i,o?.maxZoom??a,o?.padding??.1);return await r.setViewport(s,{duration:o?.duration,ease:o?.ease,interpolate:o?.interpolate}),!0}function po({nodeId:e,nextPosition:t,nodeLookup:n,nodeOrigin:r=[0,0],nodeExtent:i,onError:a}){let o=n.get(e),s=o.parentId?n.get(o.parentId):void 0,{x:c,y:l}=s?s.internals.positionAbsolute:{x:0,y:0},u=o.origin??r,d=o.extent||i;if(o.extent===`parent`&&!o.expandParent){if(!s)a?.(`005`,Ga.error005());else{let{width:e,height:t}=Bo(s);e&&t&&(d=[[c,l],[c+e,l+t]])}}else s&&zo(o.extent)&&(d=[[o.extent[0][0]+c,o.extent[0][1]+l],[o.extent[1][0]+c,o.extent[1][1]+l]]);let f=zo(d)?go(t,d,o.measured):t;return(o.measured.width===void 0||o.measured.height===void 0)&&a?.(`015`,Ga.error015()),{position:{x:f.x-c+(o.measured.width??0)*u[0],y:f.y-l+(o.measured.height??0)*u[1]},positionAbsolute:f}}async function mo({nodesToRemove:e=[],edgesToRemove:t=[],nodes:n,edges:r,onBeforeDelete:i}){let a=new Set(e.map(e=>e.id)),o=[];for(let e of n){if(e.deletable===!1)continue;let t=a.has(e.id),n=!t&&e.parentId&&o.find(t=>t.id===e.parentId);(t||n)&&o.push(e)}let s=new Set(t.map(e=>e.id)),c=r.filter(e=>e.deletable!==!1),l=lo(o,c);for(let e of c)s.has(e.id)&&!l.find(t=>t.id===e.id)&&l.push(e);if(!i)return{edges:l,nodes:o};let u=await i({nodes:o,edges:l});return typeof u==`boolean`?u?{edges:l,nodes:o}:{edges:[],nodes:[]}:u}var ho=(e,t=0,n=1)=>Math.min(Math.max(e,t),n),go=(e={x:0,y:0},t,n)=>({x:ho(e.x,t[0][0],t[1][0]-(n?.width??0)),y:ho(e.y,t[0][1],t[1][1]-(n?.height??0))});function _o(e,t,n){let{width:r,height:i}=Bo(n),{x:a,y:o}=n.internals.positionAbsolute;return go(e,[[a,o],[a+r,o+i]],t)}var vo=(e,t,n)=>e<t?ho(Math.abs(e-t),1,t)/t:e>n?-ho(Math.abs(e-n),1,t)/t:0,yo=(e,t,n=15,r=40)=>[vo(e.x,r,t.width-r)*n,vo(e.y,r,t.height-r)*n],bo=(e,t)=>({x:Math.min(e.x,t.x),y:Math.min(e.y,t.y),x2:Math.max(e.x2,t.x2),y2:Math.max(e.y2,t.y2)}),xo=({x:e,y:t,width:n,height:r})=>({x:e,y:t,x2:e+n,y2:t+r}),So=({x:e,y:t,x2:n,y2:r})=>({x:e,y:t,width:n-e,height:r-t}),Co=(e,t=[0,0])=>{let{x:n,y:r}=io(e)?e.internals.positionAbsolute:ao(e,t);return{x:n,y:r,width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}},wo=(e,t=[0,0])=>{let{x:n,y:r}=io(e)?e.internals.positionAbsolute:ao(e,t);return{x:n,y:r,x2:n+(e.measured?.width??e.width??e.initialWidth??0),y2:r+(e.measured?.height??e.height??e.initialHeight??0)}},To=(e,t)=>So(bo(xo(e),xo(t))),Eo=(e,t,n,r,i,a,o,s)=>{let c=Math.max(0,Math.min(e+n,i+o)-Math.max(e,i)),l=Math.max(0,Math.min(t+r,a+s)-Math.max(t,a));return Math.ceil(c*l)},Do=(e,t)=>Eo(e.x,e.y,e.width,e.height,t.x,t.y,t.width,t.height),Oo=e=>ko(e.width)&&ko(e.height)&&ko(e.x)&&ko(e.y),ko=e=>!isNaN(e)&&isFinite(e),Ao=(e,t)=>(e,t)=>{},jo=(e,t=[1,1])=>({x:t[0]*Math.round(e.x/t[0]),y:t[1]*Math.round(e.y/t[1])}),Mo=({x:e,y:t},[n,r,i],a=!1,o=[1,1])=>{let s={x:(e-n)/i,y:(t-r)/i};return a?jo(s,o):s},No=({x:e,y:t},[n,r,i])=>({x:e*i+n,y:t*i+r});function Po(e,t){if(typeof e==`number`)return Math.floor((t-t/(1+e))*.5);if(typeof e==`string`&&e.endsWith(`px`)){let t=parseFloat(e);if(!Number.isNaN(t))return Math.floor(t)}if(typeof e==`string`&&e.endsWith(`%`)){let n=parseFloat(e);if(!Number.isNaN(n))return Math.floor(t*n*.01)}return console.error(`The padding value "${e}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function Fo(e,t,n){if(typeof e==`string`||typeof e==`number`){let r=Po(e,n),i=Po(e,t);return{top:r,right:i,bottom:r,left:i,x:i*2,y:r*2}}if(typeof e==`object`){let r=Po(e.top??e.y??0,n),i=Po(e.bottom??e.y??0,n),a=Po(e.left??e.x??0,t),o=Po(e.right??e.x??0,t);return{top:r,right:o,bottom:i,left:a,x:a+o,y:r+i}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function Io(e,t,n,r,i,a){let{x:o,y:s}=No(e,[t,n,r]),{x:c,y:l}=No({x:e.x+e.width,y:e.y+e.height},[t,n,r]),u=i-c,d=a-l;return{left:Math.floor(o),top:Math.floor(s),right:Math.floor(u),bottom:Math.floor(d)}}var Lo=(e,t,n,r,i,a)=>{let o=Fo(a,t,n),s=(t-o.x)/e.width,c=(n-o.y)/e.height,l=ho(Math.min(s,c),r,i),u=e.x+e.width/2,d=e.y+e.height/2,f=t/2-u*l,p=n/2-d*l,m=Io(e,f,p,l,t,n),h={left:Math.min(m.left-o.left,0),top:Math.min(m.top-o.top,0),right:Math.min(m.right-o.right,0),bottom:Math.min(m.bottom-o.bottom,0)};return{x:f-h.left+h.right,y:p-h.top+h.bottom,zoom:l}},Ro=()=>typeof navigator<`u`&&navigator?.userAgent?.indexOf(`Mac`)>=0;function zo(e){return e!=null&&e!==`parent`}function Bo(e){return{width:e.measured?.width??e.width??e.initialWidth??0,height:e.measured?.height??e.height??e.initialHeight??0}}function Vo(e){return(e.measured?.width??e.width??e.initialWidth)!==void 0&&(e.measured?.height??e.height??e.initialHeight)!==void 0}function Ho(e,t={width:0,height:0},n,r,i){let a={...e},o=r.get(n);if(o){let e=o.origin||i;a.x+=o.internals.positionAbsolute.x-(t.width??0)*e[0],a.y+=o.internals.positionAbsolute.y-(t.height??0)*e[1]}return a}function Uo(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Wo(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}function Go(e){return{...Ja,...e||{}}}function Ko(e){return e===null?null:e?`valid`:`invalid`}function qo(e,{snapGrid:t=[0,0],snapToGrid:n=!1,transform:r,containerBounds:i}){let{x:a,y:o}=$o(e),s=Mo({x:a-(i?.left??0),y:o-(i?.top??0)},r),{x:c,y:l}=n?jo(s,t):s;return{xSnapped:c,ySnapped:l,...s}}var Jo=e=>({width:e.offsetWidth,height:e.offsetHeight}),Yo=e=>e?.getRootNode?.()||window?.document,Xo=[`INPUT`,`SELECT`,`TEXTAREA`];function Zo(e){let t=e.composedPath?.()?.[0]||e.target;return t?.nodeType===1?Xo.includes(t.nodeName)||t.hasAttribute(`contenteditable`)||!!t.closest(`.nokey`):!1}var Qo=e=>`clientX`in e,$o=(e,t)=>{let n=Qo(e),r=n?e.clientX:e.touches?.[0].clientX,i=n?e.clientY:e.touches?.[0].clientY;return{x:r-(t?.left??0),y:i-(t?.top??0)}},es=(e,t,n,r,i)=>{let a=t.querySelectorAll(`.${e}`);return!a||!a.length?null:Array.from(a).map(t=>{let a=t.getBoundingClientRect();return{id:t.getAttribute(`data-handleid`),type:e,nodeId:i,position:t.getAttribute(`data-handlepos`),x:(a.left-n.left)/r,y:(a.top-n.top)/r,...Jo(t)}})};function ts({sourceX:e,sourceY:t,targetX:n,targetY:r,sourceControlX:i,sourceControlY:a,targetControlX:o,targetControlY:s}){let c=e*.125+i*.375+o*.375+n*.125,l=t*.125+a*.375+s*.375+r*.125;return[c,l,Math.abs(c-e),Math.abs(l-t)]}function ns(e,t){return e>=0?.5*e:t*25*Math.sqrt(-e)}function rs({pos:e,x1:t,y1:n,x2:r,y2:i,c:a}){switch(e){case X.Left:return[t-ns(t-r,a),n];case X.Right:return[t+ns(r-t,a),n];case X.Top:return[t,n-ns(n-i,a)];case X.Bottom:return[t,n+ns(i-n,a)]}}function is({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,curvature:o=.25}){let[s,c]=rs({pos:n,x1:e,y1:t,x2:r,y2:i,c:o}),[l,u]=rs({pos:a,x1:r,y1:i,x2:e,y2:t,c:o}),[d,f,p,m]=ts({sourceX:e,sourceY:t,targetX:r,targetY:i,sourceControlX:s,sourceControlY:c,targetControlX:l,targetControlY:u});return[`M${e},${t} C${s},${c} ${l},${u} ${r},${i}`,d,f,p,m]}function as({sourceX:e,sourceY:t,targetX:n,targetY:r}){let i=Math.abs(n-e)/2,a=n<e?n+i:n-i,o=Math.abs(r-t)/2;return[a,r<t?r+o:r-o,i,o]}function os({sourceNode:e,targetNode:t,selected:n=!1,zIndex:r=0,elevateOnSelect:i=!1,zIndexMode:a=`basic`}){return a===`manual`?r:(i&&n?r+1e3:r)+Math.max(e.parentId||i&&e.selected?e.internals.z:0,t.parentId||i&&t.selected?t.internals.z:0)}function ss({sourceNode:e,targetNode:t,width:n,height:r,transform:i}){let a=bo(wo(e),wo(t));return a.x===a.x2&&(a.x2+=1),a.y===a.y2&&(a.y2+=1),Do({x:-i[0]/i[2],y:-i[1]/i[2],width:n/i[2],height:r/i[2]},So(a))>0}var cs=({source:e,sourceHandle:t,target:n,targetHandle:r})=>`xy-edge__${e}${t||``}-${n}${r||``}`,ls=(e,t)=>t.some(t=>t.source===e.source&&t.target===e.target&&(t.sourceHandle===e.sourceHandle||!t.sourceHandle&&!e.sourceHandle)&&(t.targetHandle===e.targetHandle||!t.targetHandle&&!e.targetHandle)),us=(e,t,n={})=>{if(!e.source||!e.target)return n.onError?.(`006`,Ga.error006()),t;let r=n.getEdgeId||cs,i;return i=no(e)?{...e}:{...e,id:r(e)},ls(i,t)?t:(i.sourceHandle===null&&delete i.sourceHandle,i.targetHandle===null&&delete i.targetHandle,t.concat(i))};function ds({sourceX:e,sourceY:t,targetX:n,targetY:r}){let[i,a,o,s]=as({sourceX:e,sourceY:t,targetX:n,targetY:r});return[`M ${e},${t}L ${n},${r}`,i,a,o,s]}var fs={[X.Left]:{x:-1,y:0},[X.Right]:{x:1,y:0},[X.Top]:{x:0,y:-1},[X.Bottom]:{x:0,y:1}},ps=({source:e,sourcePosition:t=X.Bottom,target:n})=>t===X.Left||t===X.Right?e.x<n.x?{x:1,y:0}:{x:-1,y:0}:e.y<n.y?{x:0,y:1}:{x:0,y:-1},ms=(e,t)=>Math.sqrt((t.x-e.x)**2+(t.y-e.y)**2);function hs({source:e,sourcePosition:t=X.Bottom,target:n,targetPosition:r=X.Top,center:i,offset:a,stepPosition:o}){let s=fs[t],c=fs[r],l={x:e.x+s.x*a,y:e.y+s.y*a},u={x:n.x+c.x*a,y:n.y+c.y*a},d=ps({source:l,sourcePosition:t,target:u}),f=d.x===0?`y`:`x`,p=d[f],m=[],h,g,_={x:0,y:0},v={x:0,y:0},[,,y,b]=as({sourceX:e.x,sourceY:e.y,targetX:n.x,targetY:n.y});if(s[f]*c[f]===-1){f===`x`?(h=i.x??l.x+(u.x-l.x)*o,g=i.y??(l.y+u.y)/2):(h=i.x??(l.x+u.x)/2,g=i.y??l.y+(u.y-l.y)*o);let e=[{x:h,y:l.y},{x:h,y:u.y}],t=[{x:l.x,y:g},{x:u.x,y:g}];m=s[f]===p?f===`x`?e:t:f===`x`?t:e}else{let i=[{x:l.x,y:u.y}],o=[{x:u.x,y:l.y}];if(m=f===`x`?s.x===p?o:i:s.y===p?i:o,t===r){let t=Math.abs(e[f]-n[f]);if(t<=a){let r=Math.min(a-1,a-t);s[f]===p?_[f]=(l[f]>e[f]?-1:1)*r:v[f]=(u[f]>n[f]?-1:1)*r}}if(t!==r){let e=f===`x`?`y`:`x`,t=s[f]===c[e],n=l[e]>u[e],r=l[e]<u[e];(s[f]===1&&(!t&&n||t&&r)||s[f]!==1&&(!t&&r||t&&n))&&(m=f===`x`?i:o)}let d={x:l.x+_.x,y:l.y+_.y},y={x:u.x+v.x,y:u.y+v.y};Math.max(Math.abs(d.x-m[0].x),Math.abs(y.x-m[0].x))>=Math.max(Math.abs(d.y-m[0].y),Math.abs(y.y-m[0].y))?(h=(d.x+y.x)/2,g=m[0].y):(h=m[0].x,g=(d.y+y.y)/2)}let x={x:l.x+_.x,y:l.y+_.y},S={x:u.x+v.x,y:u.y+v.y};return[[e,...x.x!==m[0].x||x.y!==m[0].y?[x]:[],...m,...S.x!==m[m.length-1].x||S.y!==m[m.length-1].y?[S]:[],n],h,g,y,b]}function gs(e,t,n,r){let i=Math.min(ms(e,t)/2,ms(t,n)/2,r),{x:a,y:o}=t;if(e.x===a&&a===n.x||e.y===o&&o===n.y)return`L${a} ${o}`;if(e.y===o){let t=e.x<n.x?-1:1,r=e.y<n.y?1:-1;return`L ${a+i*t},${o}Q ${a},${o} ${a},${o+i*r}`}let s=e.x<n.x?1:-1;return`L ${a},${o+i*(e.y<n.y?-1:1)}Q ${a},${o} ${a+i*s},${o}`}function _s({sourceX:e,sourceY:t,sourcePosition:n=X.Bottom,targetX:r,targetY:i,targetPosition:a=X.Top,borderRadius:o=5,centerX:s,centerY:c,offset:l=20,stepPosition:u=.5}){let[d,f,p,m,h]=hs({source:{x:e,y:t},sourcePosition:n,target:{x:r,y:i},targetPosition:a,center:{x:s,y:c},offset:l,stepPosition:u}),g=`M${d[0].x} ${d[0].y}`;for(let e=1;e<d.length-1;e++)g+=gs(d[e-1],d[e],d[e+1],o);return g+=`L${d[d.length-1].x} ${d[d.length-1].y}`,[g,f,p,m,h]}function vs(e){return e&&!!(e.internals.handleBounds||e.handles?.length)&&!!(e.measured.width||e.width||e.initialWidth)}function ys(e){let{sourceNode:t,targetNode:n}=e;if(!vs(t)||!vs(n))return null;let r=t.internals.handleBounds||bs(t.handles),i=n.internals.handleBounds||bs(n.handles),a=Ss(r?.source??[],e.sourceHandle),o=Ss(e.connectionMode===Ya.Strict?i?.target??[]:(i?.target??[]).concat(i?.source??[]),e.targetHandle);if(!a||!o)return e.onError?.(`008`,Ga.error008(a?`target`:`source`,{id:e.id,sourceHandle:e.sourceHandle,targetHandle:e.targetHandle})),null;let s=a?.position||X.Bottom,c=o?.position||X.Top,l=xs(t,a,s),u=xs(n,o,c);return{sourceX:l.x,sourceY:l.y,targetX:u.x,targetY:u.y,sourcePosition:s,targetPosition:c}}function bs(e){if(!e)return null;let t=[],n=[];for(let r of e)r.width=r.width??1,r.height=r.height??1,r.type===`source`?t.push(r):r.type===`target`&&n.push(r);return{source:t,target:n}}function xs(e,t,n=X.Left,r=!1){let i=(t?.x??0)+e.internals.positionAbsolute.x,a=(t?.y??0)+e.internals.positionAbsolute.y,{width:o,height:s}=t??Bo(e);if(r)return{x:i+o/2,y:a+s/2};switch(t?.position??n){case X.Top:return{x:i+o/2,y:a};case X.Right:return{x:i+o,y:a+s/2};case X.Bottom:return{x:i+o/2,y:a+s};case X.Left:return{x:i,y:a+s/2}}}function Ss(e,t){return e&&(t?e.find(e=>e.id===t):e[0])||null}function Cs(e,t){return e?typeof e==`string`?e:`${t?`${t}__`:``}${Object.keys(e).sort().map(t=>`${t}=${e[t]}`).join(`&`)}`:``}function ws(e,{id:t,defaultColor:n,defaultMarkerStart:r,defaultMarkerEnd:i}){let a=new Set;return e.reduce((e,o)=>([o.markerStart||r,o.markerEnd||i].forEach(r=>{if(r&&typeof r==`object`){let i=Cs(r,t);a.has(i)||(e.push({id:i,color:r.color||n,...r}),a.add(i))}}),e),[]).sort((e,t)=>e.id.localeCompare(t.id))}var Ts=1e3,Es=10,Ds={nodeOrigin:[0,0],nodeExtent:Ka,elevateNodesOnSelect:!0,zIndexMode:`basic`,defaults:{}},Os={...Ds,checkEquality:!0};function ks(e,t){let n={...e};for(let e in t)t[e]!==void 0&&(n[e]=t[e]);return n}function As(e,t,n){let r=ks(Ds,n);for(let n of e.values())if(n.parentId)Fs(n,e,t,r);else{let e=go(ao(n,r.nodeOrigin),zo(n.extent)?n.extent:r.nodeExtent,Bo(n));n.internals.positionAbsolute=e}}function js(e,t){if(!e.handles)return e.measured?t?.internals.handleBounds:void 0;let n=[],r=[];for(let t of e.handles){let i={id:t.id,width:t.width??1,height:t.height??1,nodeId:e.id,x:t.x,y:t.y,position:t.position,type:t.type};t.type===`source`?n.push(i):t.type===`target`&&r.push(i)}return{source:n,target:r}}function Ms(e){return e===`manual`}function Ns(e,t,n,r={}){let i=ks(Os,r),a={i:0},o=new Map(t),s=i?.elevateNodesOnSelect&&!Ms(i.zIndexMode)?Ts:0,c=e.length>0,l=!1;t.clear(),n.clear();for(let u of e){let e=o.get(u.id);if(i.checkEquality&&u===e?.internals.userNode)t.set(u.id,e);else{let n=go(ao(u,i.nodeOrigin),zo(u.extent)?u.extent:i.nodeExtent,Bo(u));e={...i.defaults,...u,measured:{width:u.measured?.width,height:u.measured?.height},internals:{positionAbsolute:n,handleBounds:js(u,e),z:Is(u,s,i.zIndexMode),userNode:u}},t.set(u.id,e)}(e.measured===void 0||e.measured.width===void 0||e.measured.height===void 0)&&!e.hidden&&(c=!1),u.parentId&&Fs(e,t,n,r,a),l||=u.selected??!1}return{nodesInitialized:c,hasSelectedNodes:l}}function Ps(e,t){if(!e.parentId)return;let n=t.get(e.parentId);n?n.set(e.id,e):t.set(e.parentId,new Map([[e.id,e]]))}function Fs(e,t,n,r,i){let{elevateNodesOnSelect:a,nodeOrigin:o,nodeExtent:s,zIndexMode:c}=ks(Ds,r),l=e.parentId,u=t.get(l);if(!u){console.warn(`Parent node ${l} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}Ps(e,n),i&&!u.parentId&&u.internals.rootParentIndex===void 0&&c===`auto`&&(u.internals.rootParentIndex=++i.i,u.internals.z=u.internals.z+i.i*Es),i&&u.internals.rootParentIndex!==void 0&&(i.i=u.internals.rootParentIndex);let{x:d,y:f,z:p}=Ls(e,u,o,s,a&&!Ms(c)?Ts:0,c),{positionAbsolute:m}=e.internals,h=d!==m.x||f!==m.y;(h||p!==e.internals.z)&&t.set(e.id,{...e,internals:{...e.internals,positionAbsolute:h?{x:d,y:f}:m,z:p}})}function Is(e,t,n){let r=ko(e.zIndex)?e.zIndex:0;return Ms(n)?r:r+(e.selected?t:0)}function Ls(e,t,n,r,i,a){let{x:o,y:s}=t.internals.positionAbsolute,c=Bo(e),l=ao(e,n),u=zo(e.extent)?go(l,e.extent,c):l,d=go({x:o+u.x,y:s+u.y},r,c);e.extent===`parent`&&(d=_o(d,c,t));let f=Is(e,i,a),p=t.internals.z??0;return{x:d.x,y:d.y,z:p>=f?p+1:f}}function Rs(e,t,n,r=[0,0]){let i=[],a=new Map;for(let n of e){let e=t.get(n.parentId);if(!e)continue;let r=To(a.get(n.parentId)?.expandedRect??Co(e),n.rect);a.set(n.parentId,{expandedRect:r,parent:e})}return a.size>0&&a.forEach(({expandedRect:t,parent:a},o)=>{let s=a.internals.positionAbsolute,c=Bo(a),l=a.origin??r,u=t.x<s.x?Math.round(Math.abs(s.x-t.x)):0,d=t.y<s.y?Math.round(Math.abs(s.y-t.y)):0,f=Math.max(c.width,Math.round(t.width)),p=Math.max(c.height,Math.round(t.height)),m=(f-c.width)*l[0],h=(p-c.height)*l[1];(u>0||d>0||m||h)&&(i.push({id:o,type:`position`,position:{x:a.position.x-u+m,y:a.position.y-d+h}}),n.get(o)?.forEach(t=>{e.some(e=>e.id===t.id)||i.push({id:t.id,type:`position`,position:{x:t.position.x+u,y:t.position.y+d}})})),(c.width<t.width||c.height<t.height||u||d)&&i.push({id:o,type:`dimensions`,setAttributes:!0,dimensions:{width:f+(u?l[0]*u-m:0),height:p+(d?l[1]*d-h:0)}})}),i}function zs(e,t,n,r,i,a,o){let s=r?.querySelector(`.xyflow__viewport`),c=!1;if(!s)return{changes:[],updatedInternals:c};let l=[],u=window.getComputedStyle(s),{m22:d}=new window.DOMMatrixReadOnly(u.transform),f=[];for(let r of e.values()){let e=t.get(r.id);if(!e)continue;if(e.hidden){t.set(e.id,{...e,internals:{...e.internals,handleBounds:void 0}}),c=!0;continue}let s=Jo(r.nodeElement),u=e.measured.width!==s.width||e.measured.height!==s.height;if(s.width&&s.height&&(u||!e.internals.handleBounds||r.force)){let p=r.nodeElement.getBoundingClientRect(),m=zo(e.extent)?e.extent:a,{positionAbsolute:h}=e.internals;if(e.parentId&&e.extent===`parent`){let n=t.get(e.parentId);n&&(h=_o(h,s,n))}else m&&(h=go(h,m,s));let g={...e,measured:s,internals:{...e.internals,positionAbsolute:h,handleBounds:{source:es(`source`,r.nodeElement,p,d,e.id),target:es(`target`,r.nodeElement,p,d,e.id)}}};t.set(e.id,g),e.parentId&&Fs(g,t,n,{nodeOrigin:i,zIndexMode:o}),c=!0,u&&(l.push({id:e.id,type:`dimensions`,dimensions:s}),e.expandParent&&e.parentId&&f.push({id:e.id,parentId:e.parentId,rect:Co(g,i)}))}}if(f.length>0){let e=Rs(f,t,n,i);l.push(...e)}return{changes:l,updatedInternals:c}}async function Bs({delta:e,panZoom:t,transform:n,translateExtent:r,width:i,height:a}){if(!t||!e.x&&!e.y)return!1;let o=await t.setViewportConstrained({x:n[0]+e.x,y:n[1]+e.y,zoom:n[2]},[[0,0],[i,a]],r);return!!o&&(o.x!==n[0]||o.y!==n[1]||o.k!==n[2])}function Vs(e,t,n,r,i,a){let o=i,s=r.get(o)||new Map;r.set(o,s.set(n,t)),o=`${i}-${e}`;let c=r.get(o)||new Map;if(r.set(o,c.set(n,t)),a){o=`${i}-${e}-${a}`;let s=r.get(o)||new Map;r.set(o,s.set(n,t))}}function Hs(e,t,n){e.clear(),t.clear();for(let r of n){let{source:n,target:i,sourceHandle:a=null,targetHandle:o=null}=r,s={edgeId:r.id,source:n,target:i,sourceHandle:a,targetHandle:o},c=`${n}-${a}--${i}-${o}`;Vs(`source`,s,`${i}-${o}--${n}-${a}`,e,n,a),Vs(`target`,s,c,e,i,o),t.set(r.id,r)}}function Us(e,t){if(!e.parentId)return!1;let n=t.get(e.parentId);return n?n.selected?!0:Us(n,t):!1}function Ws(e,t,n){let r=e;do{if(r?.matches?.(t))return!0;if(r===n)return!1;r=r?.parentElement}while(r);return!1}function Gs(e,t,n,r){let i=new Map;for(let[a,o]of e)if((o.selected||o.id===r)&&(!o.parentId||!Us(o,e))&&(o.draggable||t&&o.draggable===void 0)){let t=e.get(a);t&&i.set(a,{id:a,position:t.position||{x:0,y:0},distance:{x:n.x-t.internals.positionAbsolute.x,y:n.y-t.internals.positionAbsolute.y},extent:t.extent,parentId:t.parentId,origin:t.origin,expandParent:t.expandParent,internals:{positionAbsolute:t.internals.positionAbsolute||{x:0,y:0}},measured:{width:t.measured.width??0,height:t.measured.height??0}})}return i}function Ks({nodeId:e,dragItems:t,nodeLookup:n,dragging:r=!0}){let i=[];for(let[e,a]of t){let t=n.get(e)?.internals.userNode;t&&i.push({...t,position:a.position,dragging:r})}if(!e)return[i[0],i];let a=n.get(e)?.internals.userNode;return[a?{...a,position:t.get(e)?.position||a.position,dragging:r}:i[0],i]}function qs({dragItems:e,snapGrid:t,x:n,y:r}){let i=e.values().next().value;if(!i)return null;let a={x:n-i.distance.x,y:r-i.distance.y},o=jo(a,t);return{x:o.x-a.x,y:o.y-a.y}}function Js({onNodeMouseDown:e,getStoreItems:t,onDragStart:n,onDrag:r,onDragStop:i}){let a={x:null,y:null},o=0,s=new Map,c=!1,l={x:0,y:0},u=null,d=!1,f=null,p=!1,m=!1,h=null;function g({noDragClassName:g,handleSelector:_,domNode:v,isSelectable:y,nodeId:b,nodeClickDistance:x=0}){f=J(v);function S({x:e,y:n}){let{nodeLookup:i,nodeExtent:o,snapGrid:c,snapToGrid:l,nodeOrigin:u,onNodeDrag:d,onSelectionDrag:f,onError:p,updateNodePositions:g}=t();a={x:e,y:n};let _=!1,v=s.size>1,y=v&&o?xo(so(s)):null,x=v&&l?qs({dragItems:s,snapGrid:c,x:e,y:n}):null;for(let[t,r]of s){if(!i.has(t))continue;let a={x:e-r.distance.x,y:n-r.distance.y};l&&(a=x?{x:Math.round(a.x+x.x),y:Math.round(a.y+x.y)}:jo(a,c));let s=null;if(v&&o&&!r.extent&&y){let{positionAbsolute:e}=r.internals,t=e.x-y.x+o[0][0],n=e.x+r.measured.width-y.x2+o[1][0],i=e.y-y.y+o[0][1],a=e.y+r.measured.height-y.y2+o[1][1];s=[[t,i],[n,a]]}let{position:d,positionAbsolute:f}=po({nodeId:t,nextPosition:a,nodeLookup:i,nodeExtent:s||o,nodeOrigin:u,onError:p});_=_||r.position.x!==d.x||r.position.y!==d.y,r.position=d,r.internals.positionAbsolute=f}if(m||=_,_&&(g(s,!0),h&&(r||d||!b&&f))){let[e,t]=Ks({nodeId:b,dragItems:s,nodeLookup:i});r?.(h,s,e,t),d?.(h,e,t),b||f?.(h,t)}}async function C(){if(!u)return;let{transform:e,panBy:n,autoPanSpeed:r,autoPanOnNodeDrag:i}=t();if(!i){c=!1,cancelAnimationFrame(o);return}let[s,d]=yo(l,u,r);(s!==0||d!==0)&&(a.x=(a.x??0)-s/e[2],a.y=(a.y??0)-d/e[2],await n({x:s,y:d})&&S(a)),o=requestAnimationFrame(C)}function w(r){let{nodeLookup:i,multiSelectionActive:o,nodesDraggable:c,transform:l,snapGrid:f,snapToGrid:p,selectNodesOnDrag:m,onNodeDragStart:h,onSelectionDragStart:g,unselectNodesAndEdges:_}=t();d=!0,(!m||!y)&&!o&&b&&(i.get(b)?.selected||_()),y&&m&&b&&e?.(b);let v=qo(r.sourceEvent,{transform:l,snapGrid:f,snapToGrid:p,containerBounds:u});if(a=v,s=Gs(i,c,v,b),s.size>0&&(n||h||!b&&g)){let[e,t]=Ks({nodeId:b,dragItems:s,nodeLookup:i});n?.(r.sourceEvent,s,e,t),h?.(r.sourceEvent,e,t),b||g?.(r.sourceEvent,t)}}let T=kn().clickDistance(x).on(`start`,e=>{let{domNode:n,nodeDragThreshold:r,transform:i,snapGrid:o,snapToGrid:s}=t();u=n?.getBoundingClientRect()||null,p=!1,m=!1,h=e.sourceEvent,r===0&&w(e),a=qo(e.sourceEvent,{transform:i,snapGrid:o,snapToGrid:s,containerBounds:u}),l=$o(e.sourceEvent,u)}).on(`drag`,e=>{let{autoPanOnNodeDrag:n,transform:r,snapGrid:i,snapToGrid:o,nodeDragThreshold:f,nodeLookup:m}=t(),g=qo(e.sourceEvent,{transform:r,snapGrid:i,snapToGrid:o,containerBounds:u});if(h=e.sourceEvent,(e.sourceEvent.type===`touchmove`&&e.sourceEvent.touches.length>1||b&&!m.has(b))&&(p=!0),!p){if(!c&&n&&d&&(c=!0,C()),!d){let t=$o(e.sourceEvent,u),n=t.x-l.x,r=t.y-l.y;Math.sqrt(n*n+r*r)>f&&w(e)}(a.x!==g.xSnapped||a.y!==g.ySnapped)&&s&&d&&(l=$o(e.sourceEvent,u),S(g))}}).on(`end`,e=>{if(!d||p)p&&s.size>0&&t().updateNodePositions(s,!1);else if(c=!1,d=!1,cancelAnimationFrame(o),s.size>0){let{nodeLookup:n,updateNodePositions:r,onNodeDragStop:a,onSelectionDragStop:o}=t();if(m&&=(r(s,!1),!1),i||a||!b&&o){let[t,r]=Ks({nodeId:b,dragItems:s,nodeLookup:n,dragging:!1});i?.(e.sourceEvent,s,t,r),a?.(e.sourceEvent,t,r),b||o?.(e.sourceEvent,r)}}}).filter(e=>{let t=e.target;return!e.button&&(!g||!Ws(t,`.${g}`,v))&&(!_||Ws(t,_,v))});f.call(T)}function _(){f?.on(`.drag`,null)}return{update:g,destroy:_}}function Ys(e,t,n){let r=[],i={x:e.x-n,y:e.y-n,width:n*2,height:n*2};for(let e of t.values())Do(i,Co(e))>0&&r.push(e);return r}var Xs=250;function Zs(e,t,n,r){let i=[],a=1/0,o=Ys(e,n,t+Xs);for(let n of o){let o=[...n.internals.handleBounds?.source??[],...n.internals.handleBounds?.target??[]];for(let s of o){if(r.nodeId===s.nodeId&&r.type===s.type&&r.id===s.id)continue;let{x:o,y:c}=xs(n,s,s.position,!0),l=Math.sqrt((o-e.x)**2+(c-e.y)**2);l>t||(l<a?(i=[{...s,x:o,y:c}],a=l):l===a&&i.push({...s,x:o,y:c}))}}if(!i.length)return null;if(i.length>1){let e=r.type===`source`?`target`:`source`;return i.find(t=>t.type===e)??i[0]}return i[0]}function Qs(e,t,n,r,i,a=!1){let o=r.get(e);if(!o)return null;let s=i===`strict`?o.internals.handleBounds?.[t]:[...o.internals.handleBounds?.source??[],...o.internals.handleBounds?.target??[]],c=(n?s?.find(e=>e.id===n):s?.[0])??null;return c&&a?{...c,...xs(o,c,c.position,!0)}:c}function $s(e,t){return e||(t?.classList.contains(`target`)?`target`:t?.classList.contains(`source`)?`source`:null)}function ec(e,t){let n=null;return t?n=!0:e&&!t&&(n=!1),n}var tc=()=>!0;function nc(e,{connectionMode:t,connectionRadius:n,handleId:r,nodeId:i,edgeUpdaterType:a,isTarget:o,domNode:s,nodeLookup:c,lib:l,autoPanOnConnect:u,flowId:d,panBy:f,cancelConnection:p,onConnectStart:m,onConnect:h,onConnectEnd:g,isValidConnection:_=tc,onReconnectEnd:v,updateConnection:y,getTransform:b,getFromHandle:x,autoPanSpeed:S,dragThreshold:C=1,handleDomNode:w}){let T=Yo(e.target),E=0,D,{x:O,y:k}=$o(e),A=$s(a,w),j=s?.getBoundingClientRect(),M=!1;if(!j||!A)return;let N=Qs(i,A,r,c,t);if(!N)return;let P=$o(e,j),F=!1,I=null,L=!1,R=null;function z(){if(!u||!j)return;let[e,t]=yo(P,j,S);f({x:e,y:t}),E=requestAnimationFrame(z)}let B={...N,nodeId:i,type:A,position:N.position},V=c.get(i),H={inProgress:!0,isValid:null,from:xs(V,B,X.Left,!0),fromHandle:B,fromPosition:B.position,fromNode:V,to:P,toHandle:null,toPosition:to[B.position],toNode:null,pointer:P};function ee(){M=!0,y(H),m?.(e,{nodeId:i,handleId:r,handleType:A})}C===0&&ee();function te(e){if(!M){let{x:t,y:n}=$o(e),r=t-O,i=n-k;if(!(r*r+i*i>C*C))return;ee()}if(!x()||!B){U(e);return}let a=b();P=$o(e,j),D=Zs(Mo(P,a,!1,[1,1]),n,c,B),F||=(z(),!0);let s=rc(e,{handle:D,connectionMode:t,fromNodeId:i,fromHandleId:r,fromType:o?`target`:`source`,isValidConnection:_,doc:T,lib:l,flowId:d,nodeLookup:c});R=s.handleDomNode,I=s.connection,L=ec(!!D,s.isValid);let u=c.get(i),f=u?xs(u,B,X.Left,!0):H.from,p={...H,from:f,isValid:L,to:s.toHandle&&L?No({x:s.toHandle.x,y:s.toHandle.y},a):P,toHandle:s.toHandle,toPosition:L&&s.toHandle?s.toHandle.position:to[B.position],toNode:s.toHandle?c.get(s.toHandle.nodeId):null,pointer:P};y(p),H=p}function U(e){if(!(`touches`in e&&e.touches.length>0)){if(M){(D||R)&&I&&L&&h?.(I);let{inProgress:t,...n}=H,r={...n,toPosition:H.toHandle?H.toPosition:null};g?.(e,r),a&&v?.(e,r)}p(),cancelAnimationFrame(E),F=!1,L=!1,I=null,R=null,T.removeEventListener(`mousemove`,te),T.removeEventListener(`mouseup`,U),T.removeEventListener(`touchmove`,te),T.removeEventListener(`touchend`,U)}}T.addEventListener(`mousemove`,te),T.addEventListener(`mouseup`,U),T.addEventListener(`touchmove`,te),T.addEventListener(`touchend`,U)}function rc(e,{handle:t,connectionMode:n,fromNodeId:r,fromHandleId:i,fromType:a,doc:o,lib:s,flowId:c,isValidConnection:l=tc,nodeLookup:u}){let d=a===`target`,f=t?o.querySelector(`.${s}-flow__handle[data-id="${c}-${t?.nodeId}-${t?.id}-${t?.type}"]`):null,{x:p,y:m}=$o(e),h=o.elementFromPoint(p,m),g=h?.classList.contains(`${s}-flow__handle`)?h:f,_={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let e=$s(void 0,g),t=g.getAttribute(`data-nodeid`),a=g.getAttribute(`data-handleid`),o=g.classList.contains(`connectable`),s=g.classList.contains(`connectableend`);if(!t||!e)return _;let c={source:d?t:r,sourceHandle:d?a:i,target:d?r:t,targetHandle:d?i:a};_.connection=c,_.isValid=o&&s&&(n===Ya.Strict?d&&e===`source`||!d&&e===`target`:t!==r||a!==i)&&l(c),_.toHandle=Qs(t,e,a,u,n,!0)}return _}var ic={onPointerDown:nc,isValid:rc};function ac({domNode:e,panZoom:t,getTransform:n,getViewScale:r}){let i=J(e);function a({translateExtent:e,width:a,height:o,zoomStep:s=1,pannable:c=!0,zoomable:l=!0,inversePan:u=!1}){let d=e=>{if(e.sourceEvent.type!==`wheel`||!t)return;let r=n(),i=e.sourceEvent.ctrlKey&&Ro()?10:1,a=-e.sourceEvent.deltaY*(e.sourceEvent.deltaMode===1?.05:e.sourceEvent.deltaMode?1:.002)*s,o=r[2]*2**(a*i);t.scaleTo(o)},f=[0,0],p=Wa().on(`start`,e=>{(e.sourceEvent.type===`mousedown`||e.sourceEvent.type===`touchstart`)&&(f=[e.sourceEvent.clientX??e.sourceEvent.touches[0].clientX,e.sourceEvent.clientY??e.sourceEvent.touches[0].clientY])}).on(`zoom`,c?i=>{let s=n();if(i.sourceEvent.type!==`mousemove`&&i.sourceEvent.type!==`touchmove`||!t)return;let c=[i.sourceEvent.clientX??i.sourceEvent.touches[0].clientX,i.sourceEvent.clientY??i.sourceEvent.touches[0].clientY],l=[c[0]-f[0],c[1]-f[1]];f=c;let d=r()*Math.max(s[2],Math.log(s[2]))*(u?-1:1),p={x:s[0]-l[0]*d,y:s[1]-l[1]*d},m=[[0,0],[a,o]];t.setViewportConstrained({x:p.x,y:p.y,zoom:s[2]},m,e)}:null).on(`zoom.wheel`,l?d:null);i.call(p,{})}function o(){i.on(`zoom`,null)}return{update:a,destroy:o,pointer:gn}}var oc=e=>({x:e.x,y:e.y,zoom:e.k}),sc=({x:e,y:t,zoom:n})=>Pa.translate(e,t).scale(n),cc=(e,t)=>e.target.closest(`.${t}`),lc=(e,t)=>t===2&&Array.isArray(e)&&e.includes(2),uc=e=>((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2,dc=(e,t=0,n=uc,r=()=>{})=>{let i=typeof t==`number`&&t>0;return i||r(),i?e.transition().duration(t).ease(n).on(`end`,r):e},fc=e=>{let t=e.ctrlKey&&Ro()?10:1;return-e.deltaY*(e.deltaMode===1?.05:e.deltaMode?1:.002)*t};function pc({zoomPanValues:e,noWheelClassName:t,d3Selection:n,d3Zoom:r,panOnScrollMode:i,panOnScrollSpeed:a,zoomOnPinch:o,onPanZoomStart:s,onPanZoom:c,onPanZoomEnd:l}){return u=>{if(cc(u,t))return u.ctrlKey&&u.preventDefault(),!1;u.preventDefault(),u.stopImmediatePropagation();let d=n.property(`__zoom`).k||1;if(u.ctrlKey&&o){let e=gn(u),t=d*2**fc(u);r.scaleTo(n,t,e,u);return}let f=u.deltaMode===1?20:1,p=i===Xa.Vertical?0:u.deltaX*f,m=i===Xa.Horizontal?0:u.deltaY*f;!Ro()&&u.shiftKey&&i!==Xa.Vertical&&(p=u.deltaY*f,m=0),r.translateBy(n,-(p/d)*a,-(m/d)*a,{internal:!0});let h=oc(n.property(`__zoom`));clearTimeout(e.panScrollTimeout),e.isPanScrolling?c?.(u,h):(e.isPanScrolling=!0,s?.(u,h)),e.panScrollTimeout=setTimeout(()=>{l?.(u,h),e.isPanScrolling=!1},150)}}function mc({noWheelClassName:e,preventScrolling:t,d3ZoomHandler:n}){return function(r,i){let a=r.type===`wheel`,o=!t&&a&&!r.ctrlKey,s=cc(r,e);if(r.ctrlKey&&a&&s&&r.preventDefault(),o||s)return null;r.preventDefault(),n.call(this,r,i)}}function hc({zoomPanValues:e,onDraggingChange:t,onPanZoomStart:n}){return r=>{if(r.sourceEvent?.internal)return;let i=oc(r.transform);e.mouseButton=r.sourceEvent?.button||0,e.isZoomingOrPanning=!0,e.prevViewport=i,r.sourceEvent?.type===`mousedown`&&t(!0),n&&n?.(r.sourceEvent,i)}}function gc({zoomPanValues:e,panOnDrag:t,onPaneContextMenu:n,onTransformChange:r,onPanZoom:i}){return a=>{e.usedRightMouseButton=!!(n&&lc(t,e.mouseButton??0)),a.sourceEvent?.sync||r([a.transform.x,a.transform.y,a.transform.k]),i&&!a.sourceEvent?.internal&&i?.(a.sourceEvent,oc(a.transform))}}function _c({zoomPanValues:e,panOnDrag:t,panOnScroll:n,onDraggingChange:r,onPanZoomEnd:i,onPaneContextMenu:a}){return o=>{if(!o.sourceEvent?.internal&&(e.isZoomingOrPanning=!1,a&&lc(t,e.mouseButton??0)&&!e.usedRightMouseButton&&o.sourceEvent&&a(o.sourceEvent),e.usedRightMouseButton=!1,r(!1),i)){let t=oc(o.transform);e.prevViewport=t,clearTimeout(e.timerId),e.timerId=setTimeout(()=>{i?.(o.sourceEvent,t)},n?150:0)}}}function vc({panActivationKeyPressed:e,zoomActivationKeyPressed:t,zoomOnScroll:n,zoomOnPinch:r,panOnDrag:i,panOnScroll:a,zoomOnDoubleClick:o,userSelectionActive:s,noWheelClassName:c,noPanClassName:l,lib:u,connectionInProgress:d}){return f=>{let p=t||n,m=r&&f.ctrlKey,h=f.type===`wheel`;if(f.button===1&&f.type===`mousedown`&&(cc(f,`${u}-flow__node`)||cc(f,`${u}-flow__edge`)||cc(f,`${u}-flow__selection`)||cc(f,`${u}-flow__nodesselection`)))return!0;if(!i&&!p&&!a&&!o&&!r||s||d&&!h||cc(f,c)&&h||cc(f,l)&&(!h||a&&h&&!t)||!r&&f.ctrlKey&&h)return!1;if(!r&&f.type===`touchstart`&&f.touches?.length>1)return f.preventDefault(),!1;if(!p&&!a&&!m&&h||!i&&(f.type===`mousedown`||f.type===`touchstart`)||Array.isArray(i)&&!i.includes(f.button)&&f.type===`mousedown`)return!1;let g=Array.isArray(i)&&i.includes(f.button)||!f.button||f.button<=1;return(!f.ctrlKey||h||e)&&g}}function yc({domNode:e,minZoom:t,maxZoom:n,translateExtent:r,viewport:i,onPanZoom:a,onPanZoomStart:o,onPanZoomEnd:s,onDraggingChange:c}){let l={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},u=e.getBoundingClientRect(),d=[[0,0],[u.width,u.height]];(typeof ResizeObserver<`u`?new ResizeObserver(e=>{let t=e[0];t&&(d=[[0,0],[t.contentRect.width,t.contentRect.height]])}):null)?.observe(e);let f=Wa().extent(()=>d).scaleExtent([t,n]).translateExtent(r),p=J(e).call(f);y({x:i.x,y:i.y,zoom:ho(i.zoom,t,n)},[[0,0],[u.width,u.height]],r);let m=p.on(`wheel.zoom`),h=p.on(`dblclick.zoom`);f.wheelDelta(fc);async function g(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?jr:Gr).transform(dc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function _({noWheelClassName:e,noPanClassName:t,onPaneContextMenu:n,userSelectionActive:r,panOnScroll:i,panOnDrag:u,panOnScrollMode:d,panOnScrollSpeed:g,preventScrolling:_,zoomOnPinch:y,zoomOnScroll:b,zoomOnDoubleClick:x,panActivationKeyPressed:S=!1,zoomActivationKeyPressed:C,lib:w,onTransformChange:T,connectionInProgress:E,paneClickDistance:D,selectionOnDrag:O}){r&&!l.isZoomingOrPanning&&v();let k=i&&!C&&!r;f.clickDistance(O?1/0:!ko(D)||D<0?0:D);let A=k?pc({zoomPanValues:l,noWheelClassName:e,d3Selection:p,d3Zoom:f,panOnScrollMode:d,panOnScrollSpeed:g,zoomOnPinch:y,onPanZoomStart:o,onPanZoom:a,onPanZoomEnd:s}):mc({noWheelClassName:e,preventScrolling:_,d3ZoomHandler:m});p.on(`wheel.zoom`,A,{passive:!1});let j=hc({zoomPanValues:l,onDraggingChange:c,onPanZoomStart:o});f.on(`start`,j);let M=gc({zoomPanValues:l,panOnDrag:u,onPaneContextMenu:!!n,onPanZoom:a,onTransformChange:T});f.on(`zoom`,M);let N=_c({zoomPanValues:l,panOnDrag:u,panOnScroll:i,onPaneContextMenu:n,onPanZoomEnd:s,onDraggingChange:c});f.on(`end`,N);let P=vc({panActivationKeyPressed:S,zoomActivationKeyPressed:C,panOnDrag:u,zoomOnScroll:b,panOnScroll:i,zoomOnDoubleClick:x,zoomOnPinch:y,userSelectionActive:r,noPanClassName:t,noWheelClassName:e,lib:w,connectionInProgress:E});f.filter(P),x?p.on(`dblclick.zoom`,h):p.on(`dblclick.zoom`,null)}function v(){f.on(`zoom`,null)}async function y(e,t,n){let r=sc(e),i=f?.constrain()(r,t,n);return i&&await g(i),i}async function b(e,t){let n=sc(e);return await g(n,t),n}function x(e){if(p){let t=sc(e),n=p.property(`__zoom`);(n.k!==e.zoom||n.x!==e.x||n.y!==e.y)&&f?.transform(p,t,null,{sync:!0})}}function S(){let e=p?Fa(p.node()):{x:0,y:0,k:1};return{x:e.x,y:e.y,zoom:e.k}}async function C(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?jr:Gr).scaleTo(dc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}async function w(e,t){return p?new Promise(n=>{f?.interpolate(t?.interpolate===`linear`?jr:Gr).scaleBy(dc(p,t?.duration,t?.ease,()=>n(!0)),e)}):!1}function T(e){f?.scaleExtent(e)}function E(e){f?.translateExtent(e)}function D(e){let t=!ko(e)||e<0?0:e;f?.clickDistance(t)}return{update:_,destroy:v,setViewport:b,setViewportConstrained:y,getViewport:S,scaleTo:C,scaleBy:w,setScaleExtent:T,setTranslateExtent:E,syncViewport:x,setClickDistance:D}}var bc;(function(e){e.Line=`line`,e.Handle=`handle`})(bc||={});function xc({width:e,prevWidth:t,height:n,prevHeight:r,affectsX:i,affectsY:a}){let o=e-t,s=n-r,c=[o>0?1:o<0?-1:0,s>0?1:s<0?-1:0];return o&&i&&(c[0]*=-1),s&&a&&(c[1]*=-1),c}function Sc(e){return{isHorizontal:e.includes(`right`)||e.includes(`left`),isVertical:e.includes(`bottom`)||e.includes(`top`),affectsX:e.includes(`left`),affectsY:e.includes(`top`)}}function Cc(e,t){return Math.max(0,t-e)}function wc(e,t){return Math.max(0,e-t)}function Tc(e,t,n){return Math.max(0,t-e,e-n)}function Ec(e,t){return e?!t:t}function Dc(e,t,n,r,i,a,o,s){let{affectsX:c,affectsY:l}=t,{isHorizontal:u,isVertical:d}=t,f=u&&d,{xSnapped:p,ySnapped:m}=n,{minWidth:h,maxWidth:g,minHeight:_,maxHeight:v}=r,{x:y,y:b,width:x,height:S,aspectRatio:C}=e,w=Math.floor(u?p-e.pointerX:0),T=Math.floor(d?m-e.pointerY:0),E=x+(c?-w:w),D=S+(l?-T:T),O=-a[0]*x,k=-a[1]*S,A=Tc(E,h,g),j=Tc(D,_,v);if(o){let e=0,t=0;c&&w<0?e=Cc(y+w+O,o[0][0]):!c&&w>0&&(e=wc(y+E+O,o[1][0])),l&&T<0?t=Cc(b+T+k,o[0][1]):!l&&T>0&&(t=wc(b+D+k,o[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(s){let e=0,t=0;c&&w>0?e=wc(y+w,s[0][0]):!c&&w<0&&(e=Cc(y+E,s[1][0])),l&&T>0?t=wc(b+T,s[0][1]):!l&&T<0&&(t=Cc(b+D,s[1][1])),A=Math.max(A,e),j=Math.max(j,t)}if(i){if(u){let e=Tc(E/C,_,v)*C;if(A=Math.max(A,e),o){let e=0;e=!c&&!l||c&&!l&&f?wc(b+k+E/C,o[1][1])*C:Cc(b+k+(c?w:-w)/C,o[0][1])*C,A=Math.max(A,e)}if(s){let e=0;e=!c&&!l||c&&!l&&f?Cc(b+E/C,s[1][1])*C:wc(b+(c?w:-w)/C,s[0][1])*C,A=Math.max(A,e)}}if(d){let e=Tc(D*C,h,g)/C;if(j=Math.max(j,e),o){let e=0;e=!c&&!l||l&&!c&&f?wc(y+D*C+O,o[1][0])/C:Cc(y+(l?T:-T)*C+O,o[0][0])/C,j=Math.max(j,e)}if(s){let e=0;e=!c&&!l||l&&!c&&f?Cc(y+D*C,s[1][0])/C:wc(y+(l?T:-T)*C,s[0][0])/C,j=Math.max(j,e)}}}T+=T<0?j:-j,w+=w<0?A:-A,i&&(f?E>D*C?T=(Ec(c,l)?-w:w)/C:w=(Ec(c,l)?-T:T)*C:u?(T=w/C,l=c):(w=T*C,c=l));let M=c?y+w:y,N=l?b+T:b;return{width:x+(c?-w:w),height:S+(l?-T:T),x:a[0]*w*(c?-1:1)+M,y:a[1]*T*(l?-1:1)+N}}var Oc={width:0,height:0,x:0,y:0},kc={...Oc,pointerX:0,pointerY:0,aspectRatio:1};function Ac(e,t,n){let r=t.position.x+e.position.x,i=t.position.y+e.position.y,a=e.measured.width??0,o=e.measured.height??0,s=n[0]*a,c=n[1]*o;return[[r-s,i-c],[r+a-s,i+o-c]]}function jc({domNode:e,nodeId:t,getStoreItems:n,onChange:r,onEnd:i}){let a=J(e),o={controlDirection:Sc(`bottom-right`),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function s({controlPosition:e,boundaries:s,keepAspectRatio:c,resizeDirection:l,onResizeStart:u,onResize:d,onResizeEnd:f,shouldResize:p}){let m={...Oc},h={...kc};o={boundaries:s,resizeDirection:l,keepAspectRatio:c,controlDirection:Sc(e)};let g,_=null,v=[],y,b,x,S=kn().on(`start`,e=>{let{nodeLookup:r,transform:i,snapGrid:a,snapToGrid:o,nodeOrigin:s,paneDomNode:c}=n();if(g=r.get(t),!g)return;_=c?.getBoundingClientRect()??null;let{xSnapped:l,ySnapped:d}=qo(e.sourceEvent,{transform:i,snapGrid:a,snapToGrid:o,containerBounds:_});m={width:g.measured.width??0,height:g.measured.height??0,x:g.position.x??0,y:g.position.y??0},h={...m,pointerX:l,pointerY:d,aspectRatio:m.width/m.height},y=void 0,b=zo(g.extent)?g.extent:void 0,g.parentId&&(g.extent===`parent`||g.expandParent)&&(y=r.get(g.parentId)),y&&g.extent===`parent`&&(b=[[0,0],[y.measured.width,y.measured.height]]),v=[],x=void 0;for(let[e,n]of r)if(n.parentId===t&&(v.push({id:e,position:{...n.position},extent:n.extent}),n.extent===`parent`||n.expandParent)){let e=Ac(n,g,n.origin??s);x=x?[[Math.min(e[0][0],x[0][0]),Math.min(e[0][1],x[0][1])],[Math.max(e[1][0],x[1][0]),Math.max(e[1][1],x[1][1])]]:e}u?.(e,{...m})}).on(`drag`,e=>{let{transform:t,snapGrid:i,snapToGrid:a,nodeOrigin:s}=n(),c=qo(e.sourceEvent,{transform:t,snapGrid:i,snapToGrid:a,containerBounds:_}),l=[];if(!g)return;let{x:u,y:f,width:S,height:C}=m,w={},T=g.origin??s,{width:E,height:D,x:O,y:k}=Dc(h,o.controlDirection,c,o.boundaries,o.keepAspectRatio,T,b,x),A=E!==S,j=D!==C,M=O!==u&&A,N=k!==f&&j;if(!M&&!N&&!A&&!j)return;let P={prevValues:{...m},startX:h.x,startY:h.y,childNodes:v.map(e=>({...e,position:{...e.position}}))};if((M||N||T[0]===1||T[1]===1)&&(w.x=M?O:m.x,w.y=N?k:m.y,m.x=w.x,m.y=w.y,v.length>0)){let e=O-u,t=k-f;for(let n of v)n.position={x:n.position.x-e+T[0]*(E-S),y:n.position.y-t+T[1]*(D-C)},l.push(n)}if((A||j)&&(w.width=A&&(!o.resizeDirection||o.resizeDirection===`horizontal`)?E:m.width,w.height=j&&(!o.resizeDirection||o.resizeDirection===`vertical`)?D:m.height,m.width=w.width,m.height=w.height),y&&g.expandParent){let e=T[0]*(w.width??0);w.x&&w.x<e&&(m.x=e,h.x-=w.x-e);let t=T[1]*(w.height??0);w.y&&w.y<t&&(m.y=t,h.y-=w.y-t)}let F=xc({width:m.width,prevWidth:S,height:m.height,prevHeight:C,affectsX:o.controlDirection.affectsX,affectsY:o.controlDirection.affectsY}),I={...m,direction:F};p?.(e,I)===!1?(m=P.prevValues,h.x=P.startX,h.y=P.startY,v.forEach((e,t)=>{e.position=P.childNodes[t].position})):(d?.(e,I),r(w,l))}).on(`end`,e=>{f?.(e,{...m}),i?.({...m})});a.call(S)}function c(){a.on(`.drag`,null)}return{update:s,destroy:c}}var Mc=e(D(),1),Nc=e=>{let t,n=new Set,r=(e,r)=>{let i=typeof e==`function`?e(t):e;if(!Object.is(i,t)){let e=t;t=r??(typeof i!=`object`||!i)?i:Object.assign({},t,i),n.forEach(n=>n(t,e))}},i=()=>t,a={setState:r,getState:i,getInitialState:()=>o,subscribe:e=>(n.add(e),()=>n.delete(e)),destroy:()=>{n.clear()}},o=t=e(r,i,a);return a},Pc=e=>e?Nc(e):Nc,{useDebugValue:Fc}=W.default,{useSyncExternalStoreWithSelector:Ic}=Mc.default,Lc=e=>e;function Rc(e,t=Lc,n){let r=Ic(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return Fc(r),r}var zc=(e,t)=>{let n=Pc(e),r=(e,r=t)=>Rc(n,e,r);return Object.assign(r,n),r},Bc=(e,t)=>e?zc(e,t):zc;function Z(e,t){if(Object.is(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!Object.is(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||!Object.is(e[r],t[r]))return!1;return!0}o();var Vc=(0,W.createContext)(null),Hc=Vc.Provider,Uc=Ga.error001(`react`);function Q(e,t){let n=(0,W.useContext)(Vc);if(n===null)throw Error(Uc);return Rc(n,e,t)}function $(){let e=(0,W.useContext)(Vc);if(e===null)throw Error(Uc);return(0,W.useMemo)(()=>({getState:e.getState,setState:e.setState,subscribe:e.subscribe}),[e])}var Wc={display:`none`},Gc={position:`absolute`,width:1,height:1,margin:-1,border:0,padding:0,overflow:`hidden`,clip:`rect(0px, 0px, 0px, 0px)`,clipPath:`inset(100%)`},Kc=`react-flow__node-desc`,qc=`react-flow__edge-desc`,Jc=`react-flow__aria-live`,Yc=e=>e.ariaLiveMessage,Xc=e=>e.ariaLabelConfig;function Zc({rfId:e}){let t=Q(Yc);return(0,G.jsx)(`div`,{id:`${Jc}-${e}`,"aria-live":`assertive`,"aria-atomic":`true`,style:Gc,children:t})}function Qc({rfId:e,disableKeyboardA11y:t}){let n=Q(Xc);return(0,G.jsxs)(G.Fragment,{children:[(0,G.jsx)(`div`,{id:`${Kc}-${e}`,style:Wc,children:t?n[`node.a11yDescription.default`]:n[`node.a11yDescription.keyboardDisabled`]}),(0,G.jsx)(`div`,{id:`${qc}-${e}`,style:Wc,children:n[`edge.a11yDescription.default`]}),!t&&(0,G.jsx)(Zc,{rfId:e})]})}var $c=(0,W.forwardRef)(({position:e=`top-left`,children:t,className:n,style:r,...i},a)=>{let o=`${e}`.split(`-`);return(0,G.jsx)(`div`,{className:K([`react-flow__panel`,n,...o]),style:r,ref:a,...i,children:t})});$c.displayName=`Panel`;var el=`https://reactflow.dev?utm_source=attribution`;function tl({proOptions:e,position:t=`bottom-right`}){return(0,W.useEffect)(()=>{},[]),e?.hideAttribution?null:(0,G.jsx)($c,{position:t,className:`react-flow__attribution`,"data-message":`Please only hide this attribution when you are subscribed to React Flow Pro: ${el}`,children:(0,G.jsx)(`a`,{href:el,target:`_blank`,rel:`noopener noreferrer`,"aria-label":`React Flow attribution`,children:`React Flow`})})}var nl=e=>{let t=[],n=[];for(let[,n]of e.nodeLookup)n.selected&&t.push(n.internals.userNode);for(let[,t]of e.edgeLookup)t.selected&&n.push(t);return{selectedNodes:t,selectedEdges:n}},rl=e=>e.id;function il(e,t){return Z(e.selectedNodes.map(rl),t.selectedNodes.map(rl))&&Z(e.selectedEdges.map(rl),t.selectedEdges.map(rl))}function al({onSelectionChange:e}){let t=$(),{selectedNodes:n,selectedEdges:r}=Q(nl,il);return(0,W.useEffect)(()=>{let i={nodes:n,edges:r};e?.(i),t.getState().onSelectionChangeHandlers.forEach(e=>e(i))},[n,r,e]),null}var ol=e=>!!e.onSelectionChangeHandlers;function sl({onSelectionChange:e}){let t=Q(ol);return e||t?(0,G.jsx)(al,{onSelectionChange:e}):null}var cl=[0,0],ll={x:0,y:0,zoom:1},ul=[...`nodes.edges.defaultNodes.defaultEdges.onConnect.onConnectStart.onConnectEnd.onClickConnectStart.onClickConnectEnd.nodesDraggable.autoPanOnNodeFocus.nodesConnectable.nodesFocusable.edgesFocusable.edgesReconnectable.elevateNodesOnSelect.elevateEdgesOnSelect.minZoom.maxZoom.nodeExtent.onNodesChange.onEdgesChange.elementsSelectable.connectionMode.snapGrid.snapToGrid.translateExtent.connectOnClick.defaultEdgeOptions.fitView.fitViewOptions.onNodesDelete.onEdgesDelete.onDelete.onNodeDrag.onNodeDragStart.onNodeDragStop.onSelectionDrag.onSelectionDragStart.onSelectionDragStop.onMoveStart.onMove.onMoveEnd.noPanClassName.nodeOrigin.autoPanOnConnect.autoPanOnNodeDrag.onError.connectionRadius.isValidConnection.selectNodesOnDrag.nodeDragThreshold.connectionDragThreshold.onBeforeDelete.debug.autoPanSpeed.ariaLabelConfig.zIndexMode`.split(`.`),`rfId`],dl=e=>({setNodes:e.setNodes,setEdges:e.setEdges,setMinZoom:e.setMinZoom,setMaxZoom:e.setMaxZoom,setTranslateExtent:e.setTranslateExtent,setNodeExtent:e.setNodeExtent,reset:e.reset,setDefaultNodesAndEdges:e.setDefaultNodesAndEdges}),fl={translateExtent:Ka,nodeOrigin:cl,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:`nopan`,rfId:`1`};function pl(e){let{setNodes:t,setEdges:n,setMinZoom:r,setMaxZoom:i,setTranslateExtent:a,setNodeExtent:o,reset:s,setDefaultNodesAndEdges:c}=Q(dl,Z),l=$();(0,W.useEffect)(()=>(c(e.defaultNodes,e.defaultEdges),()=>{u.current=fl,s()}),[]);let u=(0,W.useRef)(fl);return(0,W.useEffect)(()=>{for(let s of ul){let c=e[s];c!==u.current[s]&&e[s]!==void 0&&(s===`nodes`?t(c):s===`edges`?n(c):s===`minZoom`?r(c):s===`maxZoom`?i(c):s===`translateExtent`?a(c):s===`nodeExtent`?o(c):s===`ariaLabelConfig`?l.setState({ariaLabelConfig:Go(c)}):s===`fitView`?l.setState({fitViewQueued:c}):s===`fitViewOptions`?l.setState({fitViewOptions:c}):l.setState({[s]:c}))}u.current=e},ul.map(t=>e[t])),null}function ml(){return typeof window>`u`||!window.matchMedia?null:window.matchMedia(`(prefers-color-scheme: dark)`)}function hl(e){let[t,n]=(0,W.useState)(e===`system`?null:e);return(0,W.useEffect)(()=>{if(e!==`system`){n(e);return}let t=ml(),r=()=>n(t?.matches?`dark`:`light`);return r(),t?.addEventListener(`change`,r),()=>{t?.removeEventListener(`change`,r)}},[e]),t===null?ml()?.matches?`dark`:`light`:t}var gl=typeof document<`u`?document:null;function _l(e=null,t={target:gl,actInsideInputWithModifier:!0}){let[n,r]=(0,W.useState)(!1),i=(0,W.useRef)(!1),a=(0,W.useRef)(new Set([])),[o,s]=(0,W.useMemo)(()=>{if(e!==null){let t=(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`).map(e=>e.replace(/\+/g,`
2
2
  `).replace(`
3
3
 
4
4
  `,`