@nbt-dev/devtools 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -6,30 +6,30 @@ const require = (m) => {
6
6
  if (m === "react-dom") return __DEVTOOLS_REACT_DOM.default || __DEVTOOLS_REACT_DOM;
7
7
  throw new Error("Dynamic require of \"" + m + "\" is not supported");
8
8
  };
9
- var vP=Object.create;var cf=Object.defineProperty;var SP=Object.getOwnPropertyDescriptor;var IP=Object.getOwnPropertyNames;var kP=Object.getPrototypeOf,AP=Object.prototype.hasOwnProperty;var Tx=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var wl=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ex=(t,e)=>{for(var a in e)cf(t,a,{get:e[a],enumerable:!0})},MP=(t,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of IP(e))!AP.call(t,r)&&r!==a&&cf(t,r,{get:()=>e[r],enumerable:!(o=SP(e,r))||o.enumerable});return t};var PP=(t,e,a)=>(a=t!=null?vP(kP(t)):{},MP(e||!t||!t.__esModule?cf(a,"default",{value:t,enumerable:!0}):a,t));var oS=wl(aS=>{"use strict";var is=Tx("react");function sN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var iN=typeof Object.is=="function"?Object.is:sN,lN=is.useState,uN=is.useEffect,dN=is.useLayoutEffect,cN=is.useDebugValue;function fN(t,e){var a=e(),o=lN({inst:{value:a,getSnapshot:e}}),r=o[0].inst,n=o[1];return dN(function(){r.value=a,r.getSnapshot=e,rg(r)&&n({inst:r})},[t,a,e]),uN(function(){return rg(r)&&n({inst:r}),t(function(){rg(r)&&n({inst:r})})},[t]),cN(a),a}function rg(t){var e=t.getSnapshot;t=t.value;try{var a=e();return!iN(t,a)}catch{return!0}}function hN(t,e){return e()}var pN=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?hN:fN;aS.useSyncExternalStore=is.useSyncExternalStore!==void 0?is.useSyncExternalStore:pN});var nS=wl((rj,rS)=>{"use strict";rS.exports=oS()});var iS=wl(sS=>{"use strict";var pc=Tx("react"),mN=nS();function gN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var xN=typeof Object.is=="function"?Object.is:gN,bN=mN.useSyncExternalStore,wN=pc.useRef,yN=pc.useEffect,LN=pc.useMemo,CN=pc.useDebugValue;sS.useSyncExternalStoreWithSelector=function(t,e,a,o,r){var n=wN(null);if(n.current===null){var s={hasValue:!1,value:null};n.current=s}else s=n.current;n=LN(function(){function l(h){if(!u){if(u=!0,d=h,h=o(h),r!==void 0&&s.hasValue){var p=s.value;if(r(p,h))return c=p}return c=h}if(p=c,xN(d,h))return p;var m=o(h);return r!==void 0&&r(p,m)?(d=h,p):(d=h,c=m)}var u=!1,d,c,f=a===void 0?null:a;return[function(){return l(e())},f===null?void 0:function(){return l(f())}]},[e,a,o,r]);var i=bN(t,n[0],n[1]);return yN(function(){s.hasValue=!0,s.value=i},[i]),CN(i),i}});var uS=wl((sj,lS)=>{"use strict";lS.exports=iS()});import bl from"react";import{createRoot as L4}from"react-dom/client";import Aa from"react";var hf=[],Nx=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,a=0;e<t.length;e++)(e%2?Nx:hf).push(a=a+t[e])})();function DP(t){if(t<768)return!1;for(let e=0,a=hf.length;;){let o=e+a>>1;if(t<hf[o])a=o;else if(t>=Nx[o])e=o+1;else return!0;if(e==a)return!1}}function Bx(t){return t>=127462&&t<=127487}var Fx=8205;function _x(t,e,a=!0,o=!0){return(a?Hx:RP)(t,e,o)}function Hx(t,e,a){if(e==t.length)return e;e&&zx(t.charCodeAt(e))&&qx(t.charCodeAt(e-1))&&e--;let o=ff(t,e);for(e+=Ox(o);e<t.length;){let r=ff(t,e);if(o==Fx||r==Fx||a&&DP(r))e+=Ox(r),o=r;else if(Bx(r)){let n=0,s=e-2;for(;s>=0&&Bx(ff(t,s));)n++,s-=2;if(n%2==0)break;e+=2}else break}return e}function RP(t,e,a){for(;e>0;){let o=Hx(t,e-2,a);if(o<e)return o;e--}return 0}function ff(t,e){let a=t.charCodeAt(e);if(!qx(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return zx(o)?(a-55296<<10)+(o-56320)+65536:a}function zx(t){return t>=56320&&t<57344}function qx(t){return t>=55296&&t<56320}function Ox(t){return t<65536?1:2}var we=class t{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,a,o){[e,a]=Ln(this,e,a);let r=[];return this.decompose(0,e,r,2),o.length&&o.decompose(0,o.length,r,3),this.decompose(a,this.length,r,1),bn.from(r,this.length-(a-e)+o.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,a=this.length){[e,a]=Ln(this,e,a);let o=[];return this.decompose(e,a,o,0),bn.from(o,a-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let a=this.scanIdentical(e,1),o=this.length-this.scanIdentical(e,-1),r=new xr(this),n=new xr(e);for(let s=a,i=a;;){if(r.next(s),n.next(s),s=0,r.lineBreak!=n.lineBreak||r.done!=n.done||r.value!=n.value)return!1;if(i+=r.value.length,r.done||i>=o)return!0}}iter(e=1){return new xr(this,e)}iterRange(e,a=this.length){return new Sl(this,e,a)}iterLines(e,a){let o;if(e==null)o=this.iter();else{a==null&&(a=this.lines+1);let r=this.line(e).from;o=this.iterRange(r,Math.max(r,a==this.lines+1?this.length:a<=1?0:this.line(a-1).to))}return new Il(o)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?t.empty:e.length<=32?new $t(e):bn.from($t.split(e,[]))}},$t=class t extends we{constructor(e,a=TP(e)){super(),this.text=e,this.length=a}get lines(){return this.text.length}get children(){return null}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.text[n],i=r+s.length;if((a?o:i)>=e)return new mf(r,i,o,s);r=i+1,o++}}decompose(e,a,o,r){let n=e<=0&&a>=this.length?this:new t(Ux(this.text,e,a),Math.min(a,this.length)-Math.max(0,e));if(r&1){let s=o.pop(),i=vl(n.text,s.text.slice(),0,n.length);if(i.length<=32)o.push(new t(i,s.length+n.length));else{let l=i.length>>1;o.push(new t(i.slice(0,l)),new t(i.slice(l)))}}else o.push(n)}replace(e,a,o){if(!(o instanceof t))return super.replace(e,a,o);[e,a]=Ln(this,e,a);let r=vl(this.text,vl(o.text,Ux(this.text,0,e)),a),n=this.length+o.length-(a-e);return r.length<=32?new t(r,n):bn.from(t.split(r,[]),n)}sliceString(e,a=this.length,o=`
10
- `){[e,a]=Ln(this,e,a);let r="";for(let n=0,s=0;n<=a&&s<this.text.length;s++){let i=this.text[s],l=n+i.length;n>e&&s&&(r+=o),e<l&&a>n&&(r+=i.slice(Math.max(0,e-n),a-n)),n=l+1}return r}flatten(e){for(let a of this.text)e.push(a)}scanIdentical(){return 0}static split(e,a){let o=[],r=-1;for(let n of e)o.push(n),r+=n.length+1,o.length==32&&(a.push(new t(o,r)),o=[],r=-1);return r>-1&&a.push(new t(o,r)),a}},bn=class t extends we{constructor(e,a){super(),this.children=e,this.length=a,this.lines=0;for(let o of e)this.lines+=o.lines}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.children[n],i=r+s.length,l=o+s.lines-1;if((a?l:i)>=e)return s.lineInner(e,a,o,r);r=i+1,o=l+1}}decompose(e,a,o,r){for(let n=0,s=0;s<=a&&n<this.children.length;n++){let i=this.children[n],l=s+i.length;if(e<=l&&a>=s){let u=r&((s<=e?1:0)|(l>=a?2:0));s>=e&&l<=a&&!u?o.push(i):i.decompose(e-s,a-s,o,u)}s=l+1}}replace(e,a,o){if([e,a]=Ln(this,e,a),o.lines<this.lines)for(let r=0,n=0;r<this.children.length;r++){let s=this.children[r],i=n+s.length;if(e>=n&&a<=i){let l=s.replace(e-n,a-n,o),u=this.lines-s.lines+l.lines;if(l.lines<u>>4&&l.lines>u>>6){let d=this.children.slice();return d[r]=l,new t(d,this.length-(a-e)+o.length)}return super.replace(n,i,l)}n=i+1}return super.replace(e,a,o)}sliceString(e,a=this.length,o=`
11
- `){[e,a]=Ln(this,e,a);let r="";for(let n=0,s=0;n<this.children.length&&s<=a;n++){let i=this.children[n],l=s+i.length;s>e&&n&&(r+=o),e<l&&a>s&&(r+=i.sliceString(e-s,a-s,o)),s=l+1}return r}flatten(e){for(let a of this.children)a.flatten(e)}scanIdentical(e,a){if(!(e instanceof t))return 0;let o=0,[r,n,s,i]=a>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=a,n+=a){if(r==s||n==i)return o;let l=this.children[r],u=e.children[n];if(l!=u)return o+l.scanIdentical(u,a);o+=l.length+1}}static from(e,a=e.reduce((o,r)=>o+r.length+1,-1)){let o=0;for(let h of e)o+=h.lines;if(o<32){let h=[];for(let p of e)p.flatten(h);return new $t(h,a)}let r=Math.max(32,o>>5),n=r<<1,s=r>>1,i=[],l=0,u=-1,d=[];function c(h){let p;if(h.lines>n&&h instanceof t)for(let m of h.children)c(m);else h.lines>s&&(l>s||!l)?(f(),i.push(h)):h instanceof $t&&l&&(p=d[d.length-1])instanceof $t&&h.lines+p.lines<=32?(l+=h.lines,u+=h.length+1,d[d.length-1]=new $t(p.text.concat(h.text),p.length+1+h.length)):(l+h.lines>r&&f(),l+=h.lines,u+=h.length+1,d.push(h))}function f(){l!=0&&(i.push(d.length==1?d[0]:t.from(d,u)),u=-1,l=d.length=0)}for(let h of e)c(h);return f(),i.length==1?i[0]:new t(i,a)}};we.empty=new $t([""],0);function TP(t){let e=-1;for(let a of t)e+=a.length+1;return e}function vl(t,e,a=0,o=1e9){for(let r=0,n=0,s=!0;n<t.length&&r<=o;n++){let i=t[n],l=r+i.length;l>=a&&(l>o&&(i=i.slice(0,o-r)),r<a&&(i=i.slice(a-r)),s?(e[e.length-1]+=i,s=!1):e.push(i)),r=l+1}return e}function Ux(t,e,a){return vl(t,[""],e,a)}var xr=class{constructor(e,a=1){this.dir=a,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[a>0?1:(e instanceof $t?e.text.length:e.children.length)<<1]}nextInner(e,a){for(this.done=this.lineBreak=!1;;){let o=this.nodes.length-1,r=this.nodes[o],n=this.offsets[o],s=n>>1,i=r instanceof $t?r.text.length:r.children.length;if(s==(a>0?i:0)){if(o==0)return this.done=!0,this.value="",this;a>0&&this.offsets[o-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(a>0?0:1)){if(this.offsets[o]+=a,e==0)return this.lineBreak=!0,this.value=`
12
- `,this;e--}else if(r instanceof $t){let l=r.text[s+(a<0?-1:0)];if(this.offsets[o]+=a,l.length>Math.max(0,e))return this.value=e==0?l:a>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[s+(a<0?-1:0)];e>l.length?(e-=l.length,this.offsets[o]+=a):(a<0&&this.offsets[o]--,this.nodes.push(l),this.offsets.push(a>0?1:(l instanceof $t?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Sl=class{constructor(e,a,o){this.value="",this.done=!1,this.cursor=new xr(e,a>o?-1:1),this.pos=a>o?e.length:0,this.from=Math.min(a,o),this.to=Math.max(a,o)}nextInner(e,a){if(a<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,a<0?this.pos-this.to:this.from-this.pos);let o=a<0?this.pos-this.from:this.to-this.pos;e>o&&(e=o),o-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*a,this.value=r.length<=o?r:a<0?r.slice(r.length-o):r.slice(0,o),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Il=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:a,lineBreak:o,value:r}=this.inner.next(e);return a&&this.afterBreak?(this.value="",this.afterBreak=!1):a?(this.done=!0,this.value=""):o?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(we.prototype[Symbol.iterator]=function(){return this.iter()},xr.prototype[Symbol.iterator]=Sl.prototype[Symbol.iterator]=Il.prototype[Symbol.iterator]=function(){return this});var mf=class{constructor(e,a,o,r){this.from=e,this.to=a,this.number=o,this.text=r}get length(){return this.to-this.from}};function Ln(t,e,a){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,a))]}function je(t,e,a=!0,o=!0){return _x(t,e,a,o)}function EP(t){return t>=56320&&t<57344}function BP(t){return t>=55296&&t<56320}function Bt(t,e){let a=t.charCodeAt(e);if(!BP(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return EP(o)?(a-55296<<10)+(o-56320)+65536:a}function As(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function aa(t){return t<65536?1:2}var gf=/\r\n?|\n/,ft=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(ft||(ft={})),uo=class t{constructor(e){this.sections=e}get length(){let e=0;for(let a=0;a<this.sections.length;a+=2)e+=this.sections[a];return e}get newLength(){let e=0;for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a+1];e+=o<0?this.sections[a]:o}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let a=0,o=0,r=0;a<this.sections.length;){let n=this.sections[a++],s=this.sections[a++];s<0?(e(o,r,n),r+=n):r+=s,o+=n}}iterChangedRanges(e,a=!1){xf(this,e,a)}get invertedDesc(){let e=[];for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];r<0?e.push(o,r):e.push(r,o)}return new t(e)}composeDesc(e){return this.empty?e:e.empty?this:Xx(this,e)}mapDesc(e,a=!1){return e.empty?this:bf(this,e,a)}mapPos(e,a=-1,o=ft.Simple){let r=0,n=0;for(let s=0;s<this.sections.length;){let i=this.sections[s++],l=this.sections[s++],u=r+i;if(l<0){if(u>e)return n+(e-r);n+=i}else{if(o!=ft.Simple&&u>=e&&(o==ft.TrackDel&&r<e&&u>e||o==ft.TrackBefore&&r<e||o==ft.TrackAfter&&u>e))return null;if(u>e||u==e&&a<0&&!i)return e==r||a<0?n:n+l;n+=l}r=u}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return n}touchesRange(e,a=e){for(let o=0,r=0;o<this.sections.length&&r<=a;){let n=this.sections[o++],s=this.sections[o++],i=r+n;if(s>=0&&r<=a&&i>=e)return r<e&&i>a?"cover":!0;r=i}return!1}toString(){let e="";for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];e+=(e?" ":"")+o+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(a=>typeof a!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new t(e)}static create(e){return new t(e)}},It=class t extends uo{constructor(e,a){super(e),this.inserted=a}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return xf(this,(a,o,r,n,s)=>e=e.replace(r,r+(o-a),s),!1),e}mapDesc(e,a=!1){return bf(this,e,a,!0)}invert(e){let a=this.sections.slice(),o=[];for(let r=0,n=0;r<a.length;r+=2){let s=a[r],i=a[r+1];if(i>=0){a[r]=i,a[r+1]=s;let l=r>>1;for(;o.length<l;)o.push(we.empty);o.push(s?e.slice(n,n+s):we.empty)}n+=s}return new t(a,o)}compose(e){return this.empty?e:e.empty?this:Xx(this,e,!0)}map(e,a=!1){return e.empty?this:bf(this,e,a,!0)}iterChanges(e,a=!1){xf(this,e,a)}get desc(){return uo.create(this.sections)}filter(e){let a=[],o=[],r=[],n=new br(this);e:for(let s=0,i=0;;){let l=s==e.length?1e9:e[s++];for(;i<l||i==l&&n.len==0;){if(n.done)break e;let d=Math.min(n.len,l-i);yt(r,d,-1);let c=n.ins==-1?-1:n.off==0?n.ins:0;yt(a,d,c),c>0&&Ro(o,a,n.text),n.forward(d),i+=d}let u=e[s++];for(;i<u;){if(n.done)break e;let d=Math.min(n.len,u-i);yt(a,d,-1),yt(r,d,n.ins==-1?-1:n.off==0?n.ins:0),n.forward(d),i+=d}}return{changes:new t(a,o),filtered:uo.create(r)}}toJSON(){let e=[];for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a],r=this.sections[a+1];r<0?e.push(o):r==0?e.push([o]):e.push([o].concat(this.inserted[a>>1].toJSON()))}return e}static of(e,a,o){let r=[],n=[],s=0,i=null;function l(d=!1){if(!d&&!r.length)return;s<a&&yt(r,a-s,-1);let c=new t(r,n);i=i?i.compose(c.map(i)):c,r=[],n=[],s=0}function u(d){if(Array.isArray(d))for(let c of d)u(c);else if(d instanceof t){if(d.length!=a)throw new RangeError(`Mismatched change set length (got ${d.length}, expected ${a})`);l(),i=i?i.compose(d.map(i)):d}else{let{from:c,to:f=c,insert:h}=d;if(c>f||c<0||f>a)throw new RangeError(`Invalid change range ${c} to ${f} (in doc of length ${a})`);let p=h?typeof h=="string"?we.of(h.split(o||gf)):h:we.empty,m=p.length;if(c==f&&m==0)return;c<s&&l(),c>s&&yt(r,c-s,-1),yt(r,f-c,m),Ro(n,r,p),s=f}}return u(e),l(!i),i}static empty(e){return new t(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let a=[],o=[];for(let r=0;r<e.length;r++){let n=e[r];if(typeof n=="number")a.push(n,-1);else{if(!Array.isArray(n)||typeof n[0]!="number"||n.some((s,i)=>i&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)a.push(n[0],0);else{for(;o.length<r;)o.push(we.empty);o[r]=we.of(n.slice(1)),a.push(n[0],o[r].length)}}}return new t(a,o)}static createSet(e,a){return new t(e,a)}};function yt(t,e,a,o=!1){if(e==0&&a<=0)return;let r=t.length-2;r>=0&&a<=0&&a==t[r+1]?t[r]+=e:r>=0&&e==0&&t[r]==0?t[r+1]+=a:o?(t[r]+=e,t[r+1]+=a):t.push(e,a)}function Ro(t,e,a){if(a.length==0)return;let o=e.length-2>>1;if(o<t.length)t[t.length-1]=t[t.length-1].append(a);else{for(;t.length<o;)t.push(we.empty);t.push(a)}}function xf(t,e,a){let o=t.inserted;for(let r=0,n=0,s=0;s<t.sections.length;){let i=t.sections[s++],l=t.sections[s++];if(l<0)r+=i,n+=i;else{let u=r,d=n,c=we.empty;for(;u+=i,d+=l,l&&o&&(c=c.append(o[s-2>>1])),!(a||s==t.sections.length||t.sections[s+1]<0);)i=t.sections[s++],l=t.sections[s++];e(r,u,n,d,c),r=u,n=d}}}function bf(t,e,a,o=!1){let r=[],n=o?[]:null,s=new br(t),i=new br(e);for(let l=-1;;){if(s.done&&i.len||i.done&&s.len)throw new Error("Mismatched change set lengths");if(s.ins==-1&&i.ins==-1){let u=Math.min(s.len,i.len);yt(r,u,-1),s.forward(u),i.forward(u)}else if(i.ins>=0&&(s.ins<0||l==s.i||s.off==0&&(i.len<s.len||i.len==s.len&&!a))){let u=i.len;for(yt(r,i.ins,-1);u;){let d=Math.min(s.len,u);s.ins>=0&&l<s.i&&s.len<=d&&(yt(r,0,s.ins),n&&Ro(n,r,s.text),l=s.i),s.forward(d),u-=d}i.next()}else if(s.ins>=0){let u=0,d=s.len;for(;d;)if(i.ins==-1){let c=Math.min(d,i.len);u+=c,d-=c,i.forward(c)}else if(i.ins==0&&i.len<d)d-=i.len,i.next();else break;yt(r,u,l<s.i?s.ins:0),n&&l<s.i&&Ro(n,r,s.text),l=s.i,s.forward(s.len-d)}else{if(s.done&&i.done)return n?It.createSet(r,n):uo.create(r);throw new Error("Mismatched change set lengths")}}}function Xx(t,e,a=!1){let o=[],r=a?[]:null,n=new br(t),s=new br(e);for(let i=!1;;){if(n.done&&s.done)return r?It.createSet(o,r):uo.create(o);if(n.ins==0)yt(o,n.len,0,i),n.next();else if(s.len==0&&!s.done)yt(o,0,s.ins,i),r&&Ro(r,o,s.text),s.next();else{if(n.done||s.done)throw new Error("Mismatched change set lengths");{let l=Math.min(n.len2,s.len),u=o.length;if(n.ins==-1){let d=s.ins==-1?-1:s.off?0:s.ins;yt(o,l,d,i),r&&d&&Ro(r,o,s.text)}else s.ins==-1?(yt(o,n.off?0:n.len,l,i),r&&Ro(r,o,n.textBit(l))):(yt(o,n.off?0:n.len,s.off?0:s.ins,i),r&&!s.off&&Ro(r,o,s.text));i=(n.ins>l||s.ins>=0&&s.len>l)&&(i||o.length>u),n.forward2(l),s.forward(l)}}}}var br=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,a=this.i-2>>1;return a>=e.length?we.empty:e[a]}textBit(e){let{inserted:a}=this.set,o=this.i-2>>1;return o>=a.length&&!e?we.empty:a[o].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},xn=class t{constructor(e,a,o){this.from=e,this.to=a,this.flags=o}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,a=-1){let o,r;return this.empty?o=r=e.mapPos(this.from,a):(o=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),o==this.from&&r==this.to?this:new t(o,r,this.flags)}extend(e,a=e,o=0){if(e<=this.anchor&&a>=this.anchor)return X.range(e,a,void 0,void 0,o);let r=Math.abs(e-this.anchor)>Math.abs(a-this.anchor)?e:a;return X.range(this.anchor,r,void 0,void 0,o)}eq(e,a=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!a||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return X.range(e.anchor,e.head)}static create(e,a,o){return new t(e,a,o)}},X=class t{constructor(e,a){this.ranges=e,this.mainIndex=a}map(e,a=-1){return e.empty?this:t.create(this.ranges.map(o=>o.map(e,a)),this.mainIndex)}eq(e,a=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let o=0;o<this.ranges.length;o++)if(!this.ranges[o].eq(e.ranges[o],a))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new t([this.main],0)}addRange(e,a=!0){return t.create([e].concat(this.ranges),a?0:this.mainIndex+1)}replaceRange(e,a=this.mainIndex){let o=this.ranges.slice();return o[a]=e,t.create(o,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new t(e.ranges.map(a=>xn.fromJSON(a)),e.main)}static single(e,a=e){return new t([t.range(e,a)],0)}static create(e,a=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let o=0,r=0;r<e.length;r++){let n=e[r];if(n.empty?n.from<=o:n.from<o)return t.normalized(e.slice(),a);o=n.to}return new t(e,a)}static cursor(e,a=0,o,r){return xn.create(e,e,(a==0?0:a<0?8:16)|(o==null?7:Math.min(6,o))|(r??16777215)<<6)}static range(e,a,o,r,n){let s=(o??16777215)<<6|(r==null?7:Math.min(6,r));return!n&&e!=a&&(n=a<e?1:-1),a<e?xn.create(a,e,48|s):xn.create(e,a,(n?n<0?8:16:0)|s)}static normalized(e,a=0){let o=e[a];e.sort((r,n)=>r.from-n.from),a=e.indexOf(o);for(let r=1;r<e.length;r++){let n=e[r],s=e[r-1];if(n.empty?n.from<=s.to:n.from<s.to){let i=s.from,l=Math.max(n.to,s.to);r<=a&&a--,e.splice(--r,2,n.anchor>n.head?t.range(l,i):t.range(i,l))}}return new t(e,a)}};function Kx(t,e){for(let a of t.ranges)if(a.to>e)throw new RangeError("Selection points outside of document")}var Mf=0,Y=class t{constructor(e,a,o,r,n){this.combine=e,this.compareInput=a,this.compare=o,this.isStatic=r,this.id=Mf++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new t(e.combine||(a=>a),e.compareInput||((a,o)=>a===o),e.compare||(e.combine?(a,o)=>a===o:Pf),!!e.static,e.enables)}of(e){return new wn([],this,0,e)}compute(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new wn(e,this,1,a)}computeN(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new wn(e,this,2,a)}from(e,a){return a||(a=o=>o),this.compute([e],o=>a(o.field(e)))}};function Pf(t,e){return t==e||t.length==e.length&&t.every((a,o)=>a===e[o])}var wn=class{constructor(e,a,o,r){this.dependencies=e,this.facet=a,this.type=o,this.value=r,this.id=Mf++}dynamicSlot(e){var a;let o=this.value,r=this.facet.compareInput,n=this.id,s=e[n]>>1,i=this.type==2,l=!1,u=!1,d=[];for(let c of this.dependencies)c=="doc"?l=!0:c=="selection"?u=!0:(((a=e[c.id])!==null&&a!==void 0?a:1)&1)==0&&d.push(e[c.id]);return{create(c){return c.values[s]=o(c),1},update(c,f){if(l&&f.docChanged||u&&(f.docChanged||f.selection)||wf(c,d)){let h=o(c);if(i?!Wx(h,c.values[s],r):!r(h,c.values[s]))return c.values[s]=h,1}return 0},reconfigure:(c,f)=>{let h,p=f.config.address[n];if(p!=null){let m=Ml(f,p);if(this.dependencies.every(g=>g instanceof Y?f.facet(g)===c.facet(g):g instanceof Ve?f.field(g,!1)==c.field(g,!1):!0)||(i?Wx(h=o(c),m,r):r(h=o(c),m)))return c.values[s]=m,0}else h=o(c);return c.values[s]=h,1}}}};function Wx(t,e,a){if(t.length!=e.length)return!1;for(let o=0;o<t.length;o++)if(!a(t[o],e[o]))return!1;return!0}function wf(t,e){let a=!1;for(let o of e)vs(t,o)&1&&(a=!0);return a}function FP(t,e,a){let o=a.map(l=>t[l.id]),r=a.map(l=>l.type),n=o.filter(l=>!(l&1)),s=t[e.id]>>1;function i(l){let u=[];for(let d=0;d<o.length;d++){let c=Ml(l,o[d]);if(r[d]==2)for(let f of c)u.push(f);else u.push(c)}return e.combine(u)}return{create(l){for(let u of o)vs(l,u);return l.values[s]=i(l),1},update(l,u){if(!wf(l,n))return 0;let d=i(l);return e.compare(d,l.values[s])?0:(l.values[s]=d,1)},reconfigure(l,u){let d=wf(l,o),c=u.config.facets[e.id],f=u.facet(e);if(c&&!d&&Pf(a,c))return l.values[s]=f,0;let h=i(l);return e.compare(h,f)?(l.values[s]=f,0):(l.values[s]=h,1)}}}var yl=Y.define({static:!0}),Ve=class t{constructor(e,a,o,r,n){this.id=e,this.createF=a,this.updateF=o,this.compareF=r,this.spec=n,this.provides=void 0}static define(e){let a=new t(Mf++,e.create,e.update,e.compare||((o,r)=>o===r),e);return e.provide&&(a.provides=e.provide(a)),a}create(e){let a=e.facet(yl).find(o=>o.field==this);return(a?.create||this.createF)(e)}slot(e){let a=e[this.id]>>1;return{create:o=>(o.values[a]=this.create(o),1),update:(o,r)=>{let n=o.values[a],s=this.updateF(n,r);return this.compareF(n,s)?0:(o.values[a]=s,1)},reconfigure:(o,r)=>{let n=o.facet(yl),s=r.facet(yl),i;return(i=n.find(l=>l.field==this))&&i!=s.find(l=>l.field==this)?(o.values[a]=i.create(o),1):r.config.address[this.id]!=null?(o.values[a]=r.field(this),0):(o.values[a]=this.create(o),1)}}}init(e){return[this,yl.of({field:this,create:e})]}get extension(){return this}},mr={lowest:4,low:3,default:2,high:1,highest:0};function Cs(t){return e=>new kl(e,t)}var Xt={highest:Cs(mr.highest),high:Cs(mr.high),default:Cs(mr.default),low:Cs(mr.low),lowest:Cs(mr.lowest)},kl=class{constructor(e,a){this.inner=e,this.prec=a}},To=class t{of(e){return new Ss(this,e)}reconfigure(e){return t.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Ss=class{constructor(e,a){this.compartment=e,this.inner=a}},Al=class t{constructor(e,a,o,r,n,s){for(this.base=e,this.compartments=a,this.dynamicSlots=o,this.address=r,this.staticValues=n,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<o.length;)this.statusTemplate.push(0)}staticFacet(e){let a=this.address[e.id];return a==null?e.default:this.staticValues[a>>1]}static resolve(e,a,o){let r=[],n=Object.create(null),s=new Map;for(let f of OP(e,a,s))f instanceof Ve?r.push(f):(n[f.facet.id]||(n[f.facet.id]=[])).push(f);let i=Object.create(null),l=[],u=[];for(let f of r)i[f.id]=u.length<<1,u.push(h=>f.slot(h));let d=o?.config.facets;for(let f in n){let h=n[f],p=h[0].facet,m=d&&d[f]||[];if(h.every(g=>g.type==0))if(i[p.id]=l.length<<1|1,Pf(m,h))l.push(o.facet(p));else{let g=p.combine(h.map(x=>x.value));l.push(o&&p.compare(g,o.facet(p))?o.facet(p):g)}else{for(let g of h)g.type==0?(i[g.id]=l.length<<1|1,l.push(g.value)):(i[g.id]=u.length<<1,u.push(x=>g.dynamicSlot(x)));i[p.id]=u.length<<1,u.push(g=>FP(g,p,h))}}let c=u.map(f=>f(i));return new t(e,s,c,i,l,n)}};function OP(t,e,a){let o=[[],[],[],[],[]],r=new Map;function n(s,i){let l=r.get(s);if(l!=null){if(l<=i)return;let u=o[l].indexOf(s);u>-1&&o[l].splice(u,1),s instanceof Ss&&a.delete(s.compartment)}if(r.set(s,i),Array.isArray(s))for(let u of s)n(u,i);else if(s instanceof Ss){if(a.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(s.compartment)||s.inner;a.set(s.compartment,u),n(u,i)}else if(s instanceof kl)n(s.inner,s.prec);else if(s instanceof Ve)o[i].push(s),s.provides&&n(s.provides,i);else if(s instanceof wn)o[i].push(s),s.facet.extensions&&n(s.facet.extensions,mr.default);else{let u=s.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(u,i)}}return n(t,mr.default),o.reduce((s,i)=>s.concat(i))}function vs(t,e){if(e&1)return 2;let a=e>>1,o=t.status[a];if(o==4)throw new Error("Cyclic dependency between fields and/or facets");if(o&2)return o;t.status[a]=4;let r=t.computeSlot(t,t.config.dynamicSlots[a]);return t.status[a]=2|r}function Ml(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var jx=Y.define(),yf=Y.define({combine:t=>t.some(e=>e),static:!0}),Zx=Y.define({combine:t=>t.length?t[0]:void 0,static:!0}),Yx=Y.define(),Jx=Y.define(),Qx=Y.define(),e0=Y.define({combine:t=>t.length?t[0]:!1}),Et=class{constructor(e,a){this.type=e,this.value=a}static define(){return new Lf}},Lf=class{of(e){return new Et(this,e)}},Cf=class{constructor(e){this.map=e}of(e){return new de(this,e)}},de=class t{constructor(e,a){this.type=e,this.value=a}map(e){let a=this.type.map(this.value,e);return a===void 0?void 0:a==this.value?this:new t(this.type,a)}is(e){return this.type==e}static define(e={}){return new Cf(e.map||(a=>a))}static mapEffects(e,a){if(!e.length)return e;let o=[];for(let r of e){let n=r.map(a);n&&o.push(n)}return o}};de.reconfigure=de.define();de.appendConfig=de.define();var ot=class t{constructor(e,a,o,r,n,s){this.startState=e,this.changes=a,this.selection=o,this.effects=r,this.annotations=n,this.scrollIntoView=s,this._doc=null,this._state=null,o&&Kx(o,a.newLength),n.some(i=>i.type==t.time)||(this.annotations=n.concat(t.time.of(Date.now())))}static create(e,a,o,r,n,s){return new t(e,a,o,r,n,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let a of this.annotations)if(a.type==e)return a.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let a=this.annotation(t.userEvent);return!!(a&&(a==e||a.length>e.length&&a.slice(0,e.length)==e&&a[e.length]=="."))}};ot.time=Et.define();ot.userEvent=Et.define();ot.addToHistory=Et.define();ot.remote=Et.define();function NP(t,e){let a=[];for(let o=0,r=0;;){let n,s;if(o<t.length&&(r==e.length||e[r]>=t[o]))n=t[o++],s=t[o++];else if(r<e.length)n=e[r++],s=e[r++];else return a;!a.length||a[a.length-1]<n?a.push(n,s):a[a.length-1]<s&&(a[a.length-1]=s)}}function t0(t,e,a){var o;let r,n,s;return a?(r=e.changes,n=It.empty(e.changes.length),s=t.changes.compose(e.changes)):(r=e.changes.map(t.changes),n=t.changes.mapDesc(e.changes,!0),s=t.changes.compose(r)),{changes:s,selection:e.selection?e.selection.map(n):(o=t.selection)===null||o===void 0?void 0:o.map(r),effects:de.mapEffects(t.effects,r).concat(de.mapEffects(e.effects,n)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function vf(t,e,a){let o=e.selection,r=yn(e.annotations);return e.userEvent&&(r=r.concat(ot.userEvent.of(e.userEvent))),{changes:e.changes instanceof It?e.changes:It.of(e.changes||[],a,t.facet(Zx)),selection:o&&(o instanceof X?o:X.single(o.anchor,o.head)),effects:yn(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function a0(t,e,a){let o=vf(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(a=!1);for(let n=1;n<e.length;n++){e[n].filter===!1&&(a=!1);let s=!!e[n].sequential;o=t0(o,vf(t,e[n],s?o.changes.newLength:t.doc.length),s)}let r=ot.create(t,o.changes,o.selection,o.effects,o.annotations,o.scrollIntoView);return HP(a?_P(r):r)}function _P(t){let e=t.startState,a=!0;for(let r of e.facet(Yx)){let n=r(t);if(n===!1){a=!1;break}Array.isArray(n)&&(a=a===!0?n:NP(a,n))}if(a!==!0){let r,n;if(a===!1)n=t.changes.invertedDesc,r=It.empty(e.doc.length);else{let s=t.changes.filter(a);r=s.changes,n=s.filtered.mapDesc(s.changes).invertedDesc}t=ot.create(e,r,t.selection&&t.selection.map(n),de.mapEffects(t.effects,n),t.annotations,t.scrollIntoView)}let o=e.facet(Jx);for(let r=o.length-1;r>=0;r--){let n=o[r](t);n instanceof ot?t=n:Array.isArray(n)&&n.length==1&&n[0]instanceof ot?t=n[0]:t=a0(e,yn(n),!1)}return t}function HP(t){let e=t.startState,a=e.facet(Qx),o=t;for(let r=a.length-1;r>=0;r--){let n=a[r](t);n&&Object.keys(n).length&&(o=t0(o,vf(e,n,t.changes.newLength),!0))}return o==t?t:ot.create(e,t.changes,t.selection,o.effects,o.annotations,o.scrollIntoView)}var zP=[];function yn(t){return t==null?zP:Array.isArray(t)?t:[t]}var _e=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(_e||(_e={})),qP=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Sf;try{Sf=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function UP(t){if(Sf)return Sf.test(t);for(let e=0;e<t.length;e++){let a=t[e];if(/\w/.test(a)||a>"\x80"&&(a.toUpperCase()!=a.toLowerCase()||qP.test(a)))return!0}return!1}function WP(t){return e=>{if(!/\S/.test(e))return _e.Space;if(UP(e))return _e.Word;for(let a=0;a<t.length;a++)if(e.indexOf(t[a])>-1)return _e.Word;return _e.Other}}var Me=class t{constructor(e,a,o,r,n,s){this.config=e,this.doc=a,this.selection=o,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=n,s&&(s._state=this);for(let i=0;i<this.config.dynamicSlots.length;i++)vs(this,i<<1);this.computeSlot=null}field(e,a=!0){let o=this.config.address[e.id];if(o==null){if(a)throw new RangeError("Field is not present in this state");return}return vs(this,o),Ml(this,o)}update(...e){return a0(this,e,!0)}applyTransaction(e){let a=this.config,{base:o,compartments:r}=a;for(let i of e.effects)i.is(To.reconfigure)?(a&&(r=new Map,a.compartments.forEach((l,u)=>r.set(u,l)),a=null),r.set(i.value.compartment,i.value.extension)):i.is(de.reconfigure)?(a=null,o=i.value):i.is(de.appendConfig)&&(a=null,o=yn(o).concat(i.value));let n;a?n=e.startState.values.slice():(a=Al.resolve(o,r,this),n=new t(a,this.doc,this.selection,a.dynamicSlots.map(()=>null),(l,u)=>u.reconfigure(l,this),null).values);let s=e.startState.facet(yf)?e.newSelection:e.newSelection.asSingle();new t(a,e.newDoc,s,n,(i,l)=>l.update(i,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:e},range:X.cursor(a.from+e.length)}))}changeByRange(e){let a=this.selection,o=e(a.ranges[0]),r=this.changes(o.changes),n=[o.range],s=yn(o.effects);for(let i=1;i<a.ranges.length;i++){let l=e(a.ranges[i]),u=this.changes(l.changes),d=u.map(r);for(let f=0;f<i;f++)n[f]=n[f].map(d);let c=r.mapDesc(u,!0);n.push(l.range.map(c)),r=r.compose(d),s=de.mapEffects(s,d).concat(de.mapEffects(yn(l.effects),c))}return{changes:r,selection:X.create(n,a.mainIndex),effects:s}}changes(e=[]){return e instanceof It?e:It.of(e,this.doc.length,this.facet(t.lineSeparator))}toText(e){return we.of(e.split(this.facet(t.lineSeparator)||gf))}sliceDoc(e=0,a=this.doc.length){return this.doc.sliceString(e,a,this.lineBreak)}facet(e){let a=this.config.address[e.id];return a==null?e.default:(vs(this,a),Ml(this,a))}toJSON(e){let a={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let o in e){let r=e[o];r instanceof Ve&&this.config.address[r.id]!=null&&(a[o]=r.spec.toJSON(this.field(e[o]),this))}return a}static fromJSON(e,a={},o){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(o){for(let n in o)if(Object.prototype.hasOwnProperty.call(e,n)){let s=o[n],i=e[n];r.push(s.init(l=>s.spec.fromJSON(i,l)))}}return t.create({doc:e.doc,selection:X.fromJSON(e.selection),extensions:a.extensions?r.concat([a.extensions]):r})}static create(e={}){let a=Al.resolve(e.extensions||[],new Map),o=e.doc instanceof we?e.doc:we.of((e.doc||"").split(a.staticFacet(t.lineSeparator)||gf)),r=e.selection?e.selection instanceof X?e.selection:X.single(e.selection.anchor,e.selection.head):X.single(0);return Kx(r,o.length),a.staticFacet(yf)||(r=r.asSingle()),new t(a,o,r,a.dynamicSlots.map(()=>null),(n,s)=>s.create(n),null)}get tabSize(){return this.facet(t.tabSize)}get lineBreak(){return this.facet(t.lineSeparator)||`
13
- `}get readOnly(){return this.facet(e0)}phrase(e,...a){for(let o of this.facet(t.phrases))if(Object.prototype.hasOwnProperty.call(o,e)){e=o[e];break}return a.length&&(e=e.replace(/\$(\$|\d*)/g,(o,r)=>{if(r=="$")return"$";let n=+(r||1);return!n||n>a.length?o:a[n-1]})),e}languageDataAt(e,a,o=-1){let r=[];for(let n of this.facet(jx))for(let s of n(this,a,o))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){let a=this.languageDataAt("wordChars",e);return WP(a.length?a[0]:"")}wordAt(e){let{text:a,from:o,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e),s=e-o,i=e-o;for(;s>0;){let l=je(a,s,!1);if(n(a.slice(l,s))!=_e.Word)break;s=l}for(;i<r;){let l=je(a,i);if(n(a.slice(i,l))!=_e.Word)break;i=l}return s==i?null:X.range(s+o,i+o)}};Me.allowMultipleSelections=yf;Me.tabSize=Y.define({combine:t=>t.length?t[0]:4});Me.lineSeparator=Zx;Me.readOnly=e0;Me.phrases=Y.define({compare(t,e){let a=Object.keys(t),o=Object.keys(e);return a.length==o.length&&a.every(r=>t[r]==e[r])}});Me.languageData=jx;Me.changeFilter=Yx;Me.transactionFilter=Jx;Me.transactionExtender=Qx;To.reconfigure=de.define();function Ft(t,e,a={}){let o={};for(let r of t)for(let n of Object.keys(r)){let s=r[n],i=o[n];if(i===void 0)o[n]=s;else if(!(i===s||s===void 0))if(Object.hasOwnProperty.call(a,n))o[n]=a[n](i,s);else throw new Error("Config merge conflict for field "+n)}for(let r in e)o[r]===void 0&&(o[r]=e[r]);return o}var ta=class{eq(e){return this==e}range(e,a=e){return Is.create(e,a,this)}};ta.prototype.startSide=ta.prototype.endSide=0;ta.prototype.point=!1;ta.prototype.mapMode=ft.TrackDel;function Df(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}var Is=class t{constructor(e,a,o){this.from=e,this.to=a,this.value=o}static create(e,a,o){return new t(e,a,o)}};function If(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}var kf=class t{constructor(e,a,o,r){this.from=e,this.to=a,this.value=o,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,a,o,r=0){let n=o?this.to:this.from;for(let s=r,i=n.length;;){if(s==i)return s;let l=s+i>>1,u=n[l]-e||(o?this.value[l].endSide:this.value[l].startSide)-a;if(l==s)return u>=0?s:i;u>=0?i=l:s=l+1}}between(e,a,o,r){for(let n=this.findIndex(a,-1e9,!0),s=this.findIndex(o,1e9,!1,n);n<s;n++)if(r(this.from[n]+e,this.to[n]+e,this.value[n])===!1)return!1}map(e,a){let o=[],r=[],n=[],s=-1,i=-1;for(let l=0;l<this.value.length;l++){let u=this.value[l],d=this.from[l]+e,c=this.to[l]+e,f,h;if(d==c){let p=a.mapPos(d,u.startSide,u.mapMode);if(p==null||(f=h=p,u.startSide!=u.endSide&&(h=a.mapPos(d,u.endSide),h<f)))continue}else if(f=a.mapPos(d,u.startSide),h=a.mapPos(c,u.endSide),f>h||f==h&&u.startSide>0&&u.endSide<=0)continue;(h-f||u.endSide-u.startSide)<0||(s<0&&(s=f),u.point&&(i=Math.max(i,h-f)),o.push(u),r.push(f-s),n.push(h-s))}return{mapped:o.length?new t(r,n,o,i):null,pos:s}}},ye=class t{constructor(e,a,o,r){this.chunkPos=e,this.chunk=a,this.nextLayer=o,this.maxPoint=r}static create(e,a,o,r){return new t(e,a,o,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let a of this.chunk)e+=a.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:a=[],sort:o=!1,filterFrom:r=0,filterTo:n=this.length}=e,s=e.filter;if(a.length==0&&!s)return this;if(o&&(a=a.slice().sort(If)),this.isEmpty)return a.length?t.of(a):this;let i=new Pl(this,null,-1).goto(0),l=0,u=[],d=new xa;for(;i.value||l<a.length;)if(l<a.length&&(i.from-a[l].from||i.startSide-a[l].value.startSide)>=0){let c=a[l++];d.addInner(c.from,c.to,c.value)||u.push(c)}else i.rangeIndex==1&&i.chunkIndex<this.chunk.length&&(l==a.length||this.chunkEnd(i.chunkIndex)<a[l].from)&&(!s||r>this.chunkEnd(i.chunkIndex)||n<this.chunkPos[i.chunkIndex])&&d.addChunk(this.chunkPos[i.chunkIndex],this.chunk[i.chunkIndex])?i.nextChunk():((!s||r>i.to||n<i.from||s(i.from,i.to,i.value))&&(d.addInner(i.from,i.to,i.value)||u.push(Is.create(i.from,i.to,i.value))),i.next());return d.finishInner(this.nextLayer.isEmpty&&!u.length?t.empty:this.nextLayer.update({add:u,filter:s,filterFrom:r,filterTo:n}))}map(e){if(e.empty||this.isEmpty)return this;let a=[],o=[],r=-1;for(let s=0;s<this.chunk.length;s++){let i=this.chunkPos[s],l=this.chunk[s],u=e.touchesRange(i,i+l.length);if(u===!1)r=Math.max(r,l.maxPoint),a.push(l),o.push(e.mapPos(i));else if(u===!0){let{mapped:d,pos:c}=l.map(i,e);d&&(r=Math.max(r,d.maxPoint),a.push(d),o.push(c))}}let n=this.nextLayer.map(e);return a.length==0?n:new t(o,a,n||t.empty,r)}between(e,a,o){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let n=this.chunkPos[r],s=this.chunk[r];if(a>=n&&e<=n+s.length&&s.between(n,e-n,a-n,o)===!1)return}this.nextLayer.between(e,a,o)}}iter(e=0){return ks.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,a=0){return ks.from(e).goto(a)}static compare(e,a,o,r,n=-1){let s=e.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=n),i=a.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=n),l=Vx(s,i,o),u=new gr(s,l,n),d=new gr(i,l,n);o.iterGaps((c,f,h)=>Gx(u,c,d,f,h,r)),o.empty&&o.length==0&&Gx(u,0,d,0,0,r)}static eq(e,a,o=0,r){r==null&&(r=999999999);let n=e.filter(d=>!d.isEmpty&&a.indexOf(d)<0),s=a.filter(d=>!d.isEmpty&&e.indexOf(d)<0);if(n.length!=s.length)return!1;if(!n.length)return!0;let i=Vx(n,s),l=new gr(n,i,0).goto(o),u=new gr(s,i,0).goto(o);for(;;){if(l.to!=u.to||!Af(l.active,u.active)||l.point&&(!u.point||!Df(l.point,u.point)))return!1;if(l.to>r)return!0;l.next(),u.next()}}static spans(e,a,o,r,n=-1){let s=new gr(e,null,n).goto(a),i=a,l=s.openStart;for(;;){let u=Math.min(s.to,o);if(s.point){let d=s.activeForPoint(s.to),c=s.pointFrom<a?d.length+1:s.point.startSide<0?d.length:Math.min(d.length,l);r.point(i,u,s.point,d,c,s.pointRank),l=Math.min(s.openEnd(u),d.length)}else u>i&&(r.span(i,u,s.active,l),l=s.openEnd(u));if(s.to>o)return l+(s.point&&s.to>o?1:0);i=s.to,s.next()}}static of(e,a=!1){let o=new xa;for(let r of e instanceof Is?[e]:a?VP(e):e)o.add(r.from,r.to,r.value);return o.finish()}static join(e){if(!e.length)return t.empty;let a=e[e.length-1];for(let o=e.length-2;o>=0;o--)for(let r=e[o];r!=t.empty;r=r.nextLayer)a=new t(r.chunkPos,r.chunk,a,Math.max(r.maxPoint,a.maxPoint));return a}};ye.empty=new ye([],[],null,-1);function VP(t){if(t.length>1)for(let e=t[0],a=1;a<t.length;a++){let o=t[a];if(If(e,o)>0)return t.slice().sort(If);e=o}return t}ye.empty.nextLayer=ye.empty;var xa=class t{finishChunk(e){this.chunks.push(new kf(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,a,o){this.addInner(e,a,o)||(this.nextLayer||(this.nextLayer=new t)).add(e,a,o)}addInner(e,a,o){let r=e-this.lastTo||o.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||o.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(a-this.chunkStart),this.last=o,this.lastFrom=e,this.lastTo=a,this.value.push(o),o.point&&(this.maxPoint=Math.max(this.maxPoint,a-e)),!0)}addChunk(e,a){if((e-this.lastTo||a.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,a.maxPoint),this.chunks.push(a),this.chunkPos.push(e);let o=a.value.length-1;return this.last=a.value[o],this.lastFrom=a.from[o]+e,this.lastTo=a.to[o]+e,!0}finish(){return this.finishInner(ye.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let a=ye.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,a}};function Vx(t,e,a){let o=new Map;for(let n of t)for(let s=0;s<n.chunk.length;s++)n.chunk[s].maxPoint<=0&&o.set(n.chunk[s],n.chunkPos[s]);let r=new Set;for(let n of e)for(let s=0;s<n.chunk.length;s++){let i=o.get(n.chunk[s]);i!=null&&(a?a.mapPos(i):i)==n.chunkPos[s]&&!a?.touchesRange(i,i+n.chunk[s].length)&&r.add(n.chunk[s])}return r}var Pl=class{constructor(e,a,o,r=0){this.layer=e,this.skip=a,this.minPoint=o,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,a=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,a,!1),this}gotoInner(e,a,o){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,o=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],a,!0);(!o||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,a){(this.to-e||this.endSide-a)<0&&this.gotoInner(e,a,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],a=this.layer.chunk[this.chunkIndex],o=e+a.from[this.rangeIndex];if(this.from=o,this.to=e+a.to[this.rangeIndex],this.value=a.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},ks=class t{constructor(e){this.heap=e}static from(e,a=null,o=-1){let r=[];for(let n=0;n<e.length;n++)for(let s=e[n];!s.isEmpty;s=s.nextLayer)s.maxPoint>=o&&r.push(new Pl(s,a,o,n));return r.length==1?r[0]:new t(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,a=-1e9){for(let o of this.heap)o.goto(e,a);for(let o=this.heap.length>>1;o>=0;o--)pf(this.heap,o);return this.next(),this}forward(e,a){for(let o of this.heap)o.forward(e,a);for(let o=this.heap.length>>1;o>=0;o--)pf(this.heap,o);(this.to-e||this.value.endSide-a)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),pf(this.heap,0)}}};function pf(t,e){for(let a=t[e];;){let o=(e<<1)+1;if(o>=t.length)break;let r=t[o];if(o+1<t.length&&r.compare(t[o+1])>=0&&(r=t[o+1],o++),a.compare(r)<0)break;t[o]=a,t[e]=r,e=o}}var gr=class{constructor(e,a,o){this.minPoint=o,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=ks.from(e,a,o)}goto(e,a=-1e9){return this.cursor.goto(e,a),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=a,this.openStart=-1,this.next(),this}forward(e,a){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-a)<0;)this.removeActive(this.minActive);this.cursor.forward(e,a)}removeActive(e){Ll(this.active,e),Ll(this.activeTo,e),Ll(this.activeRank,e),this.minActive=$x(this.active,this.activeTo)}addActive(e){let a=0,{value:o,to:r,rank:n}=this.cursor;for(;a<this.activeRank.length&&(n-this.activeRank[a]||r-this.activeTo[a])>0;)a++;Cl(this.active,a,o),Cl(this.activeTo,a,r),Cl(this.activeRank,a,n),e&&Cl(e,a,this.cursor.from),this.minActive=$x(this.active,this.activeTo)}next(){let e=this.to,a=this.point;this.point=null;let o=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),o&&Ll(o,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(o),this.cursor.next();else if(a&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=n,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=n.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(o){this.openStart=0;for(let r=o.length-1;r>=0&&o[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let a=[];for(let o=this.active.length-1;o>=0&&!(this.activeRank[o]<this.pointRank);o--)(this.activeTo[o]>e||this.activeTo[o]==e&&this.active[o].endSide>=this.point.endSide)&&a.push(this.active[o]);return a.reverse()}openEnd(e){let a=0;for(let o=this.activeTo.length-1;o>=0&&this.activeTo[o]>e;o--)a++;return a}};function Gx(t,e,a,o,r,n){t.goto(e),a.goto(o);let s=o+r,i=o,l=o-e,u=!!n.boundChange;for(let d=!1;;){let c=t.to+l-a.to,f=c||t.endSide-a.endSide,h=f<0?t.to+l:a.to,p=Math.min(h,s);if(t.point||a.point?(t.point&&a.point&&Df(t.point,a.point)&&Af(t.activeForPoint(t.to),a.activeForPoint(a.to))||n.comparePoint(i,p,t.point,a.point),d=!1):(d&&n.boundChange(i),p>i&&!Af(t.active,a.active)&&n.compareRange(i,p,t.active,a.active),u&&p<s&&(c||t.openEnd(h)!=a.openEnd(h))&&(d=!0)),h>s)break;i=h,f<=0&&t.next(),f>=0&&a.next()}}function Af(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!=e[a]&&!Df(t[a],e[a]))return!1;return!0}function Ll(t,e){for(let a=e,o=t.length-1;a<o;a++)t[a]=t[a+1];t.pop()}function Cl(t,e,a){for(let o=t.length-1;o>=e;o--)t[o+1]=t[o];t[e]=a}function $x(t,e){let a=-1,o=1e9;for(let r=0;r<e.length;r++)(e[r]-o||t[r].endSide-t[a].endSide)<0&&(a=r,o=e[r]);return a}function wr(t,e,a=t.length){let o=0;for(let r=0;r<a&&r<t.length;)t.charCodeAt(r)==9?(o+=e-o%e,r++):(o++,r=je(t,r));return o}function o0(t,e,a,o){for(let r=0,n=0;;){if(n>=e)return r;if(r==t.length)break;n+=t.charCodeAt(r)==9?a-n%a:1,r=je(t,r)}return o===!0?-1:t.length}var r0=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Rf=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),n0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},oa=class{constructor(e,a){this.rules=[];let{finish:o}=a||{};function r(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function n(s,i,l,u){let d=[],c=/^@(\w+)\b/.exec(s[0]),f=c&&c[1]=="keyframes";if(c&&i==null)return l.push(s[0]+";");for(let h in i){let p=i[h];if(/&/.test(h))n(h.split(/,\s*/).map(m=>s.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,l);else if(p&&typeof p=="object"){if(!c)throw new RangeError("The value of a property ("+h+") should be a primitive value.");n(r(h),p,d,f)}else p!=null&&d.push(h.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(d.length||f)&&l.push((o&&!c&&!u?s.map(o):s).join(", ")+" {"+d.join(" ")+"}")}for(let s in e)n(r(s),e[s],this.rules)}getRules(){return this.rules.join(`
14
- `)}static newName(){let e=n0[r0]||1;return n0[r0]=e+1,"\u037C"+e.toString(36)}static mount(e,a,o){let r=e[Rf],n=o&&o.nonce;r?n&&r.setNonce(n):r=new Tf(e,n),r.mount(Array.isArray(a)?a:[a],e)}},s0=new Map,Tf=class{constructor(e,a){let o=e.ownerDocument||e,r=o.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let n=s0.get(o);if(n)return e[Rf]=n;this.sheet=new r.CSSStyleSheet,s0.set(o,this)}else this.styleTag=o.createElement("style"),a&&this.styleTag.setAttribute("nonce",a);this.modules=[],e[Rf]=this}mount(e,a){let o=this.sheet,r=0,n=0;for(let s=0;s<e.length;s++){let i=e[s],l=this.modules.indexOf(i);if(l<n&&l>-1&&(this.modules.splice(l,1),n--,l=-1),l==-1){if(this.modules.splice(n++,0,i),o)for(let u=0;u<i.rules.length;u++)o.insertRule(i.rules[u],r++)}else{for(;n<l;)r+=this.modules[n++].rules.length;r+=i.rules.length,n++}}if(o)a.adoptedStyleSheets.indexOf(this.sheet)<0&&(a.adoptedStyleSheets=[this.sheet,...a.adoptedStyleSheets]);else{let s="";for(let l=0;l<this.modules.length;l++)s+=this.modules[l].getRules()+`
15
- `;this.styleTag.textContent=s;let i=a.head||a;this.styleTag.parentNode!=i&&i.insertBefore(this.styleTag,i.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var co={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Cn={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},GP=typeof navigator<"u"&&/Mac/.test(navigator.platform),$P=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(et=0;et<10;et++)co[48+et]=co[96+et]=String(et);var et;for(et=1;et<=24;et++)co[et+111]="F"+et;var et;for(et=65;et<=90;et++)co[et]=String.fromCharCode(et+32),Cn[et]=String.fromCharCode(et);var et;for(Dl in co)Cn.hasOwnProperty(Dl)||(Cn[Dl]=co[Dl]);var Dl;function i0(t){var e=GP&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||$P&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",a=!e&&t.key||(t.shiftKey?Cn:co)[t.keyCode]||t.key||"Unidentified";return a=="Esc"&&(a="Escape"),a=="Del"&&(a="Delete"),a=="Left"&&(a="ArrowLeft"),a=="Up"&&(a="ArrowUp"),a=="Right"&&(a="ArrowRight"),a=="Down"&&(a="ArrowDown"),a}function Ce(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,a=arguments[1];if(a&&typeof a=="object"&&a.nodeType==null&&!Array.isArray(a)){for(var o in a)if(Object.prototype.hasOwnProperty.call(a,o)){var r=a[o];typeof r=="string"?t.setAttribute(o,r):r!=null&&(t[o]=r)}e++}for(;e<arguments.length;e++)l0(t,arguments[e]);return t}function l0(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var a=0;a<e.length;a++)l0(t,e[a]);else throw new RangeError("Unsupported child node: "+e)}var kt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Uf=typeof document<"u"?document:{documentElement:{style:{}}},Wf=/Edge\/(\d+)/.exec(kt.userAgent),V0=/MSIE \d/.test(kt.userAgent),Vf=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(kt.userAgent),iu=!!(V0||Vf||Wf),u0=!iu&&/gecko\/(\d+)/i.test(kt.userAgent),Ef=!iu&&/Chrome\/(\d+)/.exec(kt.userAgent),d0="webkitFontSmoothing"in Uf.documentElement.style,Gf=!iu&&/Apple Computer/.test(kt.vendor),c0=Gf&&(/Mobile\/\w+/.test(kt.userAgent)||kt.maxTouchPoints>2),Q={mac:c0||/Mac/.test(kt.platform),windows:/Win/.test(kt.platform),linux:/Linux|X11/.test(kt.platform),ie:iu,ie_version:V0?Uf.documentMode||6:Vf?+Vf[1]:Wf?+Wf[1]:0,gecko:u0,gecko_version:u0?+(/Firefox\/(\d+)/.exec(kt.userAgent)||[0,0])[1]:0,chrome:!!Ef,chrome_version:Ef?+Ef[1]:0,ios:c0,android:/Android\b/.test(kt.userAgent),webkit:d0,webkit_version:d0?+(/\bAppleWebKit\/(\d+)/.exec(kt.userAgent)||[0,0])[1]:0,safari:Gf,safari_version:Gf?+(/\bVersion\/(\d+(\.\d+)?)/.exec(kt.userAgent)||[0,0])[1]:0,tabSize:Uf.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Th(t,e){for(let a in t)a=="class"&&e.class?e.class+=" "+t.class:a=="style"&&e.style?e.style+=";"+t.style:e[a]=t[a];return e}var Wl=Object.create(null);function Eh(t,e,a){if(t==e)return!0;t||(t=Wl),e||(e=Wl);let o=Object.keys(t),r=Object.keys(e);if(o.length-(a&&o.indexOf(a)>-1?1:0)!=r.length-(a&&r.indexOf(a)>-1?1:0))return!1;for(let n of o)if(n!=a&&(r.indexOf(n)==-1||t[n]!==e[n]))return!1;return!0}function XP(t,e){for(let a=t.attributes.length-1;a>=0;a--){let o=t.attributes[a].name;e[o]==null&&t.removeAttribute(o)}for(let a in e){let o=e[a];a=="style"?t.style.cssText=o:t.getAttribute(a)!=o&&t.setAttribute(a,o)}}function f0(t,e,a){let o=!1;if(e)for(let r in e)a&&r in a||(o=!0,r=="style"?t.style.cssText="":t.removeAttribute(r));if(a)for(let r in a)e&&e[r]==a[r]||(o=!0,r=="style"?t.style.cssText=a[r]:t.setAttribute(r,a[r]));return o}function KP(t){let e=Object.create(null);for(let a=0;a<t.attributes.length;a++){let o=t.attributes[a];e[o.name]=o.value}return e}var qa=class{eq(e){return!1}updateDOM(e,a,o){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,a,o){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},pt=(function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t})(pt||(pt={})),pe=class extends ta{constructor(e,a,o,r){super(),this.startSide=e,this.endSide=a,this.widget=o,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Hs(e)}static widget(e){let a=Math.max(-1e4,Math.min(1e4,e.side||0)),o=!!e.block;return a+=o&&!e.inlineOrder?a>0?3e8:-4e8:a>0?1e8:-1e8,new vr(e,a,a,o,e.widget||null,!1)}static replace(e){let a=!!e.block,o,r;if(e.isBlockGap)o=-5e8,r=4e8;else{let{start:n,end:s}=G0(e,a);o=(n?a?-3e8:-1:5e8)-1,r=(s?a?2e8:1:-6e8)+1}return new vr(e,o,r,a,e.widget||null,!0)}static line(e){return new zs(e)}static set(e,a=!1){return ye.of(e,a)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};pe.none=ye.empty;var Hs=class t extends pe{constructor(e){let{start:a,end:o}=G0(e);super(a?-1:5e8,o?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Th(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Wl}eq(e){return this==e||e instanceof t&&this.tagName==e.tagName&&Eh(this.attrs,e.attrs)}range(e,a=e){if(e>=a)throw new RangeError("Mark decorations may not be empty");return super.range(e,a)}};Hs.prototype.point=!1;var zs=class t extends pe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof t&&this.spec.class==e.spec.class&&Eh(this.spec.attributes,e.spec.attributes)}range(e,a=e){if(a!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,a)}};zs.prototype.mapMode=ft.TrackBefore;zs.prototype.point=!0;var vr=class t extends pe{constructor(e,a,o,r,n,s){super(a,o,n,e),this.block=r,this.isReplace=s,this.mapMode=r?a<=0?ft.TrackBefore:ft.TrackAfter:ft.TrackDel}get type(){return this.startSide!=this.endSide?pt.WidgetRange:this.startSide<=0?pt.WidgetBefore:pt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof t&&jP(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,a=e){if(this.isReplace&&(e>a||e==a&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&a!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,a)}};vr.prototype.point=!0;function G0(t,e=!1){let{inclusiveStart:a,inclusiveEnd:o}=t;return a==null&&(a=t.inclusive),o==null&&(o=t.inclusive),{start:a??e,end:o??e}}function jP(t,e){return t==e||!!(t&&e&&t.compare(e))}function Mn(t,e,a,o=0){let r=a.length-1;r>=0&&a[r]+o>=t?a[r]=Math.max(a[r],e):a.push(t,e)}var Vl=class t extends ta{constructor(e,a,o){super(),this.tagName=e,this.attributes=a,this.rank=o}eq(e){return e==this||e instanceof t&&this.tagName==e.tagName&&Eh(this.attributes,e.attributes)}static create(e){return new t(e.tagName,e.attributes||Wl,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,a=!1){return ye.of(e,a)}};Vl.prototype.startSide=Vl.prototype.endSide=-1;function qs(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function $f(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Ds(t,e){if(!e.anchorNode)return!1;try{return $f(t,e.anchorNode)}catch{return!1}}function zl(t){return t.nodeType==3?Us(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function Rs(t,e,a,o){return a?h0(t,e,a,o,-1)||h0(t,e,a,o,1):!1}function Fo(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Gl(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function h0(t,e,a,o,r){for(;;){if(t==a&&e==o)return!0;if(e==(r<0?0:po(t))){if(t.nodeName=="DIV")return!1;let n=t.parentNode;if(!n||n.nodeType!=1)return!1;e=Fo(t)+(r<0?0:1),t=n}else if(t.nodeType==1){if(t=t.childNodes[e+(r<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=r<0?po(t):0}else return!1}}function po(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function $l(t,e){let a=e?t.left:t.right;return{left:a,right:a,top:t.top,bottom:t.bottom}}function ZP(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function $0(t,e){let a=e.width/t.offsetWidth,o=e.height/t.offsetHeight;return(a>.995&&a<1.005||!isFinite(a)||Math.abs(e.width-t.offsetWidth)<1)&&(a=1),(o>.995&&o<1.005||!isFinite(o)||Math.abs(e.height-t.offsetHeight)<1)&&(o=1),{scaleX:a,scaleY:o}}function YP(t,e,a,o,r,n,s,i){let l=t.ownerDocument,u=l.defaultView||window;for(let d=t,c=!1;d&&!c;)if(d.nodeType==1){let f,h=d==l.body,p=1,m=1;if(h)f=ZP(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(c=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let y=d.getBoundingClientRect();({scaleX:p,scaleY:m}=$0(d,y)),f={left:y.left,right:y.left+d.clientWidth*p,top:y.top,bottom:y.top+d.clientHeight*m}}let g=0,x=0;if(r=="nearest")e.top<f.top+s?(x=e.top-(f.top+s),a>0&&e.bottom>f.bottom+x&&(x=e.bottom-f.bottom+s)):e.bottom>f.bottom-s&&(x=e.bottom-f.bottom+s,a<0&&e.top-x<f.top&&(x=e.top-(f.top+s)));else{let y=e.bottom-e.top,w=f.bottom-f.top;x=(r=="center"&&y<=w?e.top+y/2-w/2:r=="start"||r=="center"&&a<0?e.top-s:e.bottom-w+s)-f.top}if(o=="nearest"?e.left<f.left+n?(g=e.left-(f.left+n),a>0&&e.right>f.right+g&&(g=e.right-f.right+n)):e.right>f.right-n&&(g=e.right-f.right+n,a<0&&e.left<f.left+g&&(g=e.left-(f.left+n))):g=(o=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:o=="start"==i?e.left-n:e.right-(f.right-f.left)+n)-f.left,g||x)if(h)u.scrollBy(g,x);else{let y=0,w=0;if(x){let C=d.scrollTop;d.scrollTop+=x/m,w=(d.scrollTop-C)*m}if(g){let C=d.scrollLeft;d.scrollLeft+=g/p,y=(d.scrollLeft-C)*p}e={left:e.left-y,top:e.top-w,right:e.right-y,bottom:e.bottom-w},y&&Math.abs(y-g)<1&&(o="nearest"),w&&Math.abs(w-x)<1&&(r="nearest")}if(h)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function X0(t,e=!0){let a=t.ownerDocument,o=null,r=null;for(let n=t.parentNode;n&&!(n==a.body||(!e||o)&&r);)if(n.nodeType==1)!r&&n.scrollHeight>n.clientHeight&&(r=n),e&&!o&&n.scrollWidth>n.clientWidth&&(o=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:o,y:r}}var Xf=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:a,focusNode:o}=e;this.set(a,Math.min(e.anchorOffset,a?po(a):0),o,Math.min(e.focusOffset,o?po(o):0))}set(e,a,o,r){this.anchorNode=e,this.anchorOffset=a,this.focusNode=o,this.focusOffset=r}},yr=null;Q.safari&&Q.safari_version>=26&&(yr=!1);function K0(t){if(t.setActive)return t.setActive();if(yr)return t.focus(yr);let e=[];for(let a=t;a&&(e.push(a,a.scrollTop,a.scrollLeft),a!=a.ownerDocument);a=a.parentNode);if(t.focus(yr==null?{get preventScroll(){return yr={preventScroll:!0},!0}}:void 0),!yr){yr=!1;for(let a=0;a<e.length;){let o=e[a++],r=e[a++],n=e[a++];o.scrollTop!=r&&(o.scrollTop=r),o.scrollLeft!=n&&(o.scrollLeft=n)}}}var p0;function Us(t,e,a=e){let o=p0||(p0=document.createRange());return o.setEnd(t,a),o.setStart(t,e),o}function Pn(t,e,a,o){let r={key:e,code:e,keyCode:a,which:a,cancelable:!0};o&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=o);let n=new KeyboardEvent("keydown",r);n.synthetic=!0,t.dispatchEvent(n);let s=new KeyboardEvent("keyup",r);return s.synthetic=!0,t.dispatchEvent(s),n.defaultPrevented||s.defaultPrevented}function JP(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function QP(t,e){let a=e.focusNode,o=e.focusOffset;if(!a||e.anchorNode!=a||e.anchorOffset!=o)return!1;for(o=Math.min(o,po(a));;)if(o){if(a.nodeType!=1)return!1;let r=a.childNodes[o-1];r.contentEditable=="false"?o--:(a=r,o=po(a))}else{if(a==t)return!0;o=Fo(a),a=a.parentNode}}function j0(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function Z0(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o>0)return{node:a,offset:o};if(a.nodeType==1&&o>0){if(a.contentEditable=="false")return null;a=a.childNodes[o-1],o=po(a)}else if(a.parentNode&&!Gl(a))o=Fo(a),a=a.parentNode;else return null}}function Y0(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o<a.nodeValue.length)return{node:a,offset:o};if(a.nodeType==1&&o<a.childNodes.length){if(a.contentEditable=="false")return null;a=a.childNodes[o],o=0}else if(a.parentNode&&!Gl(a))o=Fo(a)+1,a=a.parentNode;else return null}}var za=class t{constructor(e,a,o=!0){this.node=e,this.offset=a,this.precise=o}static before(e,a){return new t(e.parentNode,Fo(e),a)}static after(e,a){return new t(e.parentNode,Fo(e)+1,a)}},Ie=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(Ie||(Ie={})),Sr=Ie.LTR,Bh=Ie.RTL;function J0(t){let e=[];for(let a=0;a<t.length;a++)e.push(1<<+t[a]);return e}var eD=J0("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),tD=J0("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Kf=Object.create(null),Ha=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),a=t.charCodeAt(1);Kf[e]=a,Kf[a]=-e}function Q0(t){return t<=247?eD[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?tD[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}var aD=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,sa=class{get dir(){return this.level%2?Bh:Sr}constructor(e,a,o){this.from=e,this.to=a,this.level=o}side(e,a){return this.dir==a==e?this.to:this.from}forward(e,a){return e==(this.dir==a)}static find(e,a,o,r){let n=-1;for(let s=0;s<e.length;s++){let i=e[s];if(i.from<=a&&i.to>=a){if(i.level==o)return s;(n<0||(r!=0?r<0?i.from<a:i.to>a:e[n].level>i.level))&&(n=s)}}if(n<0)throw new RangeError("Index out of range");return n}};function eb(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++){let o=t[a],r=e[a];if(o.from!=r.from||o.to!=r.to||o.direction!=r.direction||!eb(o.inner,r.inner))return!1}return!0}var Pe=[];function oD(t,e,a,o,r){for(let n=0;n<=o.length;n++){let s=n?o[n-1].to:e,i=n<o.length?o[n].from:a,l=n?256:r;for(let u=s,d=l,c=l;u<i;u++){let f=Q0(t.charCodeAt(u));f==512?f=d:f==8&&c==4&&(f=16),Pe[u]=f==4?2:f,f&7&&(c=f),d=f}for(let u=s,d=l,c=l;u<i;u++){let f=Pe[u];if(f==128)u<i-1&&d==Pe[u+1]&&d&24?f=Pe[u]=d:Pe[u]=256;else if(f==64){let h=u+1;for(;h<i&&Pe[h]==64;)h++;let p=u&&d==8||h<a&&Pe[h]==8?c==1?1:8:256;for(let m=u;m<h;m++)Pe[m]=p;u=h-1}else f==8&&c==1&&(Pe[u]=1);d=f,f&7&&(c=f)}}}function rD(t,e,a,o,r){let n=r==1?2:1;for(let s=0,i=0,l=0;s<=o.length;s++){let u=s?o[s-1].to:e,d=s<o.length?o[s].from:a;for(let c=u,f,h,p;c<d;c++)if(h=Kf[f=t.charCodeAt(c)])if(h<0){for(let m=i-3;m>=0;m-=3)if(Ha[m+1]==-h){let g=Ha[m+2],x=g&2?r:g&4?g&1?n:r:0;x&&(Pe[c]=Pe[Ha[m]]=x),i=m;break}}else{if(Ha.length==189)break;Ha[i++]=c,Ha[i++]=f,Ha[i++]=l}else if((p=Pe[c])==2||p==1){let m=p==r;l=m?0:1;for(let g=i-3;g>=0;g-=3){let x=Ha[g+2];if(x&2)break;if(m)Ha[g+2]|=2;else{if(x&4)break;Ha[g+2]|=4}}}}}function nD(t,e,a,o){for(let r=0,n=o;r<=a.length;r++){let s=r?a[r-1].to:t,i=r<a.length?a[r].from:e;for(let l=s;l<i;){let u=Pe[l];if(u==256){let d=l+1;for(;;)if(d==i){if(r==a.length)break;d=a[r++].to,i=r<a.length?a[r].from:e}else if(Pe[d]==256)d++;else break;let c=n==1,f=(d<e?Pe[d]:o)==1,h=c==f?c?1:2:o;for(let p=d,m=r,g=m?a[m-1].to:t;p>l;)p==g&&(p=a[--m].from,g=m?a[m-1].to:t),Pe[--p]=h;l=d}else n=u,l++}}}function jf(t,e,a,o,r,n,s){let i=o%2?2:1;if(o%2==r%2)for(let l=e,u=0;l<a;){let d=!0,c=!1;if(u==n.length||l<n[u].from){let m=Pe[l];m!=i&&(d=!1,c=m==16)}let f=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u<n.length&&p==n[u].from){if(c)break e;let m=n[u];if(!d)for(let g=m.to,x=u+1;;){if(g==a)break e;if(x<n.length&&n[x].from==g)g=n[x++].to;else{if(Pe[g]==i)break e;break}}if(u++,f)f.push(m);else{m.from>l&&s.push(new sa(l,m.from,h));let g=m.direction==Sr!=!(h%2);Zf(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.to}p=m.to}else{if(p==a||(d?Pe[p]!=i:Pe[p]==i))break;p++}f?jf(t,l,p,o+1,r,f,s):l<p&&s.push(new sa(l,p,h)),l=p}else for(let l=a,u=n.length;l>e;){let d=!0,c=!1;if(!u||l>n[u-1].to){let m=Pe[l-1];m!=i&&(d=!1,c=m==16)}let f=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u&&p==n[u-1].to){if(c)break e;let m=n[--u];if(!d)for(let g=m.from,x=u;;){if(g==e)break e;if(x&&n[x-1].to==g)g=n[--x].from;else{if(Pe[g-1]==i)break e;break}}if(f)f.push(m);else{m.to<l&&s.push(new sa(m.to,l,h));let g=m.direction==Sr!=!(h%2);Zf(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.from}p=m.from}else{if(p==e||(d?Pe[p-1]!=i:Pe[p-1]==i))break;p--}f?jf(t,p,l,o+1,r,f,s):p<l&&s.push(new sa(p,l,h)),l=p}}function Zf(t,e,a,o,r,n,s){let i=e%2?2:1;oD(t,r,n,o,i),rD(t,r,n,o,i),nD(r,n,o,i),jf(t,r,n,e,a,o,s)}function sD(t,e,a){if(!t)return[new sa(0,0,e==Bh?1:0)];if(e==Sr&&!a.length&&!aD.test(t))return tb(t.length);if(a.length)for(;t.length>Pe.length;)Pe[Pe.length]=256;let o=[],r=e==Sr?0:1;return Zf(t,r,r,a,0,t.length,o),o}function tb(t){return[new sa(0,t,0)]}var ab="";function iD(t,e,a,o,r){var n;let s=o.head-t.from,i=sa.find(e,s,(n=o.bidiLevel)!==null&&n!==void 0?n:-1,o.assoc),l=e[i],u=l.side(r,a);if(s==u){let f=i+=r?1:-1;if(f<0||f>=e.length)return null;l=e[i=f],s=l.side(!r,a),u=l.side(r,a)}let d=je(t.text,s,l.forward(r,a));(d<l.from||d>l.to)&&(d=u),ab=t.text.slice(Math.min(s,d),Math.max(s,d));let c=i==(r?e.length-1:0)?null:e[i+(r?1:-1)];return c&&d==u&&c.level+(r?0:1)<l.level?X.cursor(c.side(!r,a)+t.from,c.forward(r,a)?1:-1,c.level):X.cursor(d+t.from,l.forward(r,a)?-1:1,l.level)}function lD(t,e,a){for(let o=e;o<a;o++){let r=Q0(t.charCodeAt(o));if(r==1)return Sr;if(r==2||r==4)return Bh}return Sr}var ob=Y.define(),rb=Y.define(),nb=Y.define(),sb=Y.define(),Yf=Y.define(),ib=Y.define(),lb=Y.define(),Fh=Y.define(),Oh=Y.define(),ub=Y.define({combine:t=>t.some(e=>e)}),db=Y.define({combine:t=>t.some(e=>e)}),cb=Y.define(),Ts=class t{constructor(e,a,o,r,n,s=!1){this.range=e,this.y=a,this.x=o,this.yMargin=r,this.xMargin=n,this.isSnapshot=s}map(e){return e.empty?this:new t(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new t(X.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Rl=de.define({map:(t,e)=>t.map(e)}),fb=de.define();function ht(t,e,a){let o=t.facet(sb);o.length?o[0](e):window.onerror&&window.onerror(String(e),a,void 0,void 0,e)||(a?console.error(a+":",e):console.error(e))}var fo=Y.define({combine:t=>t.length?t[0]:!0}),uD=0,Sn=Y.define({combine(t){return t.filter((e,a)=>{for(let o=0;o<a;o++)if(t[o].plugin==e.plugin)return!1;return!0})}}),Ze=class t{constructor(e,a,o,r,n){this.id=e,this.create=a,this.domEventHandlers=o,this.domEventObservers=r,this.baseExtensions=n(this),this.extension=this.baseExtensions.concat(Sn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(Sn.of({plugin:this,arg:e}))}static define(e,a){let{eventHandlers:o,eventObservers:r,provide:n,decorations:s}=a||{};return new t(uD++,e,o,r,i=>{let l=[];return s&&l.push(lu.of(u=>{let d=u.plugin(i);return d?s(d):pe.none})),n&&l.push(n(i)),l})}static fromClass(e,a){return t.define((o,r)=>new e(o,r),a)}},Es=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let a=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(a)}catch(o){if(ht(a.state,o,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(a){ht(e.state,a,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var a;if(!((a=this.value)===null||a===void 0)&&a.destroy)try{this.value.destroy()}catch(o){ht(e.state,o,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},hb=Y.define(),Nh=Y.define(),lu=Y.define(),pb=Y.define(),_h=Y.define(),Ws=Y.define(),mb=Y.define();function m0(t,e){let a=t.state.facet(mb);if(!a.length)return a;let o=a.map(n=>n instanceof Function?n(t):n),r=[];return ye.spans(o,e.from,e.to,{point(){},span(n,s,i,l){let u=n-e.from,d=s-e.from,c=r;for(let f=i.length-1;f>=0;f--,l--){let h=i[f].spec.bidiIsolate,p;if(h==null&&(h=lD(e.text,u,d)),l>0&&c.length&&(p=c[c.length-1]).to==u&&p.direction==h)p.to=d,c=p.inner;else{let m={from:u,to:d,direction:h,inner:[]};c.push(m),c=m.inner}}}}),r}var gb=Y.define();function Hh(t){let e=0,a=0,o=0,r=0;for(let n of t.state.facet(gb)){let s=n(t);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(a=Math.max(a,s.right)),s.top!=null&&(o=Math.max(o,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:a,top:o,bottom:r}}var Ms=Y.define(),wa=class t{constructor(e,a,o,r){this.fromA=e,this.toA=a,this.fromB=o,this.toB=r}join(e){return new t(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let a=e.length,o=this;for(;a>0;a--){let r=e[a-1];if(!(r.fromA>o.toA)){if(r.toA<o.fromA)break;o=o.join(r),e.splice(a-1,1)}}return e.splice(a,0,o),e}static extendWithRanges(e,a){if(a.length==0)return e;let o=[];for(let r=0,n=0,s=0;;){let i=r<e.length?e[r].fromB:1e9,l=n<a.length?a[n]:1e9,u=Math.min(i,l);if(u==1e9)break;let d=u+s,c=u,f=d;for(;;)if(n<a.length&&a[n]<=c){let h=a[n+1];n+=2,c=Math.max(c,h);for(let p=r;p<e.length&&e[p].fromB<=c;p++)s=e[p].toA-e[p].toB;f=Math.max(f,h+s)}else if(r<e.length&&e[r].fromB<=c){let h=e[r++];c=Math.max(c,h.toB),f=Math.max(f,h.toA),s=h.toA-h.toB}else break;o.push(new t(d,f,u,c))}return o}},Xl=class t{constructor(e,a,o){this.view=e,this.state=a,this.transactions=o,this.flags=0,this.startState=e.state,this.changes=It.empty(this.startState.doc.length);for(let n of o)this.changes=this.changes.compose(n.changes);let r=[];this.changes.iterChangedRanges((n,s,i,l)=>r.push(new wa(n,s,i,l))),this.changedRanges=r}static create(e,a,o){return new t(e,a,o)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},dD=[],He=class{constructor(e,a,o=0){this.dom=e,this.length=a,this.flags=o,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return dD}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let a=this.domAttrs;a&&XP(this.dom,a)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,a=this.posAtStart){let o=a;for(let r of this.children){if(r==e)return o;o+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,a){return null}domPosFor(e,a){let o=Fo(this.dom),r=this.length?e>0:a>0;return new za(this.parent.dom,o+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Rn)return e;return null}static get(e){return e.cmTile}},Dn=class extends He{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let a=this.dom,o=null,r,n=e?.node==a?e:null,s=0;for(let i of this.children){if(i.sync(e),s+=i.length+i.breakAfter,r=o?o.nextSibling:a.firstChild,n&&r!=i.dom&&(n.written=!0),i.dom.parentNode==a)for(;r&&r!=i.dom;)r=g0(r);else a.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:a.firstChild,n&&r&&(n.written=!0);r;)r=g0(r);this.length=s}};function g0(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}var Rn=class extends Dn{constructor(e,a){super(a),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let a=He.get(e);if(a&&this.owns(a))return a;e=e.parentNode}}blockTiles(e){for(let a=[],o=this,r=0,n=0;;)if(r==o.children.length){if(!a.length)return;o=o.parent,o.breakAfter&&n++,r=a.pop()}else{let s=o.children[r++];if(s instanceof ho)a.push(r),o=s,r=0;else{let i=n+s.length,l=e(s,n);if(l!==void 0)return l;n=i+s.breakAfter}}}resolveBlock(e,a){let o,r=-1,n,s=-1;if(this.blockTiles((i,l)=>{let u=l+i.length;if(e>=l&&e<=u){if(i.isWidget()&&a>=-1&&a<=1){if(i.flags&32)return!0;i.flags&16&&(o=void 0)}(l<e||e==u&&(a<-1?i.length:i.covers(1)))&&(!o||!i.isWidget()&&o.isWidget())&&(o=i,r=e-l),(u>e||e==l&&(a>1?i.length:i.covers(-1)))&&(!n||!i.isWidget()&&n.isWidget())&&(n=i,s=e-l)}}),!o&&!n)throw new Error("No tile at position "+e);return o&&a<0||!n?{tile:o,offset:r}:{tile:n,offset:s}}},ho=class t extends Dn{constructor(e,a){super(e),this.wrapper=a}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},Tn=class t extends Dn{constructor(e,a){super(e),this.attrs=a}isLine(){return!0}static start(e,a,o){let r=new t(a||document.createElement("div"),e);return(!a||!o)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,a,o){let r=null,n=-1,s=null,i=-1;function l(d,c){for(let f=0,h=0;f<d.children.length&&h<=c;f++){let p=d.children[f],m=h+p.length;m>=c&&(p.isComposite()?l(p,c-h):(!s||s.isHidden&&(a>0||o&&fD(s,p)))&&(m>c||p.flags&32)?(s=p,i=c-h):(h<c||p.flags&16&&!p.isHidden)&&(r=p,n=c-h)),h=m}}l(this,e);let u=(a<0?r:s)||r||s;return u?{tile:u,offset:u==r?n:i}:null}coordsIn(e,a){let o=this.resolveInline(e,a,!0);return o?o.tile.coordsIn(Math.max(0,o.offset),a):cD(this)}domIn(e,a){let o=this.resolveInline(e,a);if(o){let{tile:r,offset:n}=o;if(this.dom.contains(r.dom))return r.isText()?new za(r.dom,Math.min(r.dom.nodeValue.length,n)):r.domPosFor(n,r.flags&16?1:r.flags&32?-1:a);let s=o.tile.parent,i=!1;for(let l of s.children){if(i)return new za(l.dom,0);l==o.tile&&(i=!0)}}return new za(this.dom,0)}};function cD(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let a=zl(e);return a[a.length-1]||null}function fD(t,e){let a=t.coordsIn(0,1),o=e.coordsIn(0,1);return a&&o&&o.top<a.bottom}var Ot=class t extends Dn{constructor(e,a){super(e),this.mark=a}get domAttrs(){return this.mark.attrs}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},Lr=class t extends He{constructor(e,a){super(e,a.length),this.text=a}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,a){let o=this.dom.nodeValue.length;e>o&&(e=o);let r=e,n=e,s=0;e==0&&a<0||e==o&&a>=0?Q.chrome||Q.gecko||(e?(r--,s=1):n<o&&(n++,s=-1)):a<0?r--:n<o&&n++;let i=Us(this.dom,r,n).getClientRects();if(!i.length)return null;let l=i[(s?s<0:a>=0)?0:i.length-1];return Q.safari&&!s&&l.width==0&&(l=Array.prototype.find.call(i,u=>u.width)||l),s?$l(l,s<0):l||null}static of(e,a){let o=new t(a||document.createTextNode(e),e);return a||(o.flags|=2),o}},Ir=class t extends He{constructor(e,a,o,r){super(e,a,r),this.widget=o}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,a){return this.coordsInWidget(e,a,!1)}coordsInWidget(e,a,o){let r=this.widget.coordsAt(this.dom,e,a);if(r)return r;if(o)return $l(this.dom.getBoundingClientRect(),this.length?e==0:a<=0);{let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let i=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=i?n.length-1:0;s=n[l],!(e>0?l==0:l==n.length-1||s.top<s.bottom);l+=i?-1:1);return $l(s,!i)}}get overrideDOMText(){if(!this.length)return we.empty;let{root:e}=this;if(!e)return we.empty;let a=this.posAtStart;return e.view.state.doc.slice(a,a+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,a,o,r,n){return n||(n=e.toDOM(a),e.editable||(n.contentEditable="false")),new t(n,o,e,r)}},En=class extends He{constructor(e){let a=document.createElement("img");a.className="cm-widgetBuffer",a.setAttribute("aria-hidden","true"),super(a,0,e)}get isHidden(){return!0}get overrideDOMText(){return we.empty}coordsIn(e){return this.dom.getBoundingClientRect()}},Jf=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,a,o){let{tile:r,index:n,beforeBreak:s,parents:i}=this;for(;e||a>0;)if(r.isComposite())if(s){if(!e)break;o&&o.break(),e--,s=!1}else if(n==r.children.length){if(!e&&!i.length)break;o&&o.leave(r),s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++}else{let l=r.children[n],u=l.breakAfter;(a>0?l.length<=e:l.length<e)&&(!o||o.skip(l,0,l.length)!==!1||!l.isComposite)?(s=!!u,n++,e-=l.length):(i.push({tile:r,index:n}),r=l,n=0,o&&l.isComposite()&&o.enter(l))}else if(n==r.length)s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++;else if(e){let l=Math.min(e,r.length-n);o&&o.skip(r,n,n+l),e-=l,n+=l}else break;return this.tile=r,this.index=n,this.beforeBreak=s,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}},Qf=class{constructor(e,a,o,r){this.from=e,this.to=a,this.wrapper=o,this.rank=r}},eh=class{constructor(e,a,o){this.cache=e,this.root=a,this.blockWrappers=o,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,a,o,r){var n;this.flushBuffer();let s=this.ensureMarks(a,o),i=s.lastChild;if(i&&i.isText()&&!(i.flags&8)&&i.length+e.length<512){this.cache.reused.set(i,2);let l=s.children[s.children.length-1]=new Lr(i.dom,i.text+e);l.parent=s}else s.append(r||Lr.of(e,(n=this.cache.find(Lr))===null||n===void 0?void 0:n.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,a){let o=this.curLine;o.dom!=a.line.dom&&(o.setDOM(this.cache.reused.has(a.line)?Bf(a.line.dom):a.line.dom),this.cache.reused.set(a.line,2));let r=o;for(let i=a.marks.length-1;i>=0;i--){let l=a.marks[i],u=r.lastChild;if(u instanceof Ot&&u.mark.eq(l.mark))u.dom!=l.dom&&u.setDOM(Bf(l.dom)),r=u;else{if(this.cache.reused.get(l)){let c=He.get(l.dom);c&&c.setDOM(Bf(l.dom))}let d=Ot.of(l.mark,l.dom);r.append(d),r=d}this.cache.reused.set(l,2)}let n=He.get(e.text);n&&this.cache.reused.set(n,2);let s=new Lr(e.text,e.text.nodeValue);s.flags|=8,this.pos=e.range.toB,r.append(s)}addInlineWidget(e,a,o){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let n=this.ensureMarks(a,o);!r&&!(e.flags&16)&&n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,a,o){this.flushBuffer(),this.ensureMarks(a,o).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let a=this.afterWidget||this.lastBlock;a.length+=e,this.pos+=e}addLineStart(e,a){var o;e||(e=xb);let r=Tn.start(e,a||((o=this.cache.find(Tn))===null||o===void 0?void 0:o.dom),!!a);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,a){var o;let r=this.curLine;for(let n=e.length-1;n>=0;n--){let s=e[n],i;if(a>0&&(i=r.lastChild)&&i instanceof Ot&&i.mark.eq(s))r=i,a--;else{let l=Ot.of(s,(o=this.cache.find(Ot,u=>u.mark.eq(s)))===null||o===void 0?void 0:o.dom);r.append(l),r=l,a=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!x0(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Q.ios&&x0(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Ff,0,32)||new Ir(Ff.toDOM(),0,Ff,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let a=e.rank*102+e.value.rank,o=new Qf(e.from,e.to,e.value,a),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-o.rank||this.wrappers[r-1].to-o.to)<0;)r--;this.wrappers.splice(r,0,o)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let a=this.root;for(let o of this.wrappers){let r=a.lastChild;if(o.from<this.pos&&r instanceof ho&&r.wrapper.eq(o.wrapper))a=r;else{let n=ho.of(o.wrapper,(e=this.cache.find(ho,s=>s.wrapper.eq(o.wrapper)))===null||e===void 0?void 0:e.dom);a.append(n),a=n}}return a}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let a=2|(e<0?16:32),o=this.cache.find(En,void 0,1);return o&&(o.flags=a),o||new En(a)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},th=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:n,done:s}=this.cursor.next(this.skipCount);if(this.skipCount=0,s)throw new Error("Ran out of text content when drawing inline views");this.text=r;let i=this.textOff=Math.min(e,r.length);return n?null:r.slice(0,i)}let a=Math.min(this.text.length,this.textOff+e),o=this.text.slice(this.textOff,a);return this.textOff=a,o}},Kl=[Ir,Tn,Lr,Ot,En,ho,Rn];for(let t=0;t<Kl.length;t++)Kl[t].bucket=t;var ah=class{constructor(e){this.view=e,this.buckets=Kl.map(()=>[]),this.index=Kl.map(()=>0),this.reused=new Map}add(e){let a=e.constructor.bucket,o=this.buckets[a];o.length<6?o.push(e):o[this.index[a]=(this.index[a]+1)%6]=e}find(e,a,o=2){let r=e.bucket,n=this.buckets[r],s=this.index[r];for(let i=n.length-1;i>=0;i--){let l=(i+s)%n.length,u=n[l];if((!a||a(u))&&!this.reused.has(u))return n.splice(l,1),l<s&&this.index[r]--,this.reused.set(u,o),u}return null}findWidget(e,a,o){let r=this.buckets[0];if(r.length)for(let n=0,s=0;;n++){if(n==r.length){if(s)return null;s=1,n=0}let i=r[n];if(!this.reused.has(i)&&(s==0?i.widget.compare(e):i.widget.constructor==e.constructor&&e.updateDOM(i.dom,this.view,i.widget)))return r.splice(n,1),n<this.index[0]&&this.index[0]--,i.widget==e&&i.length==a&&(i.flags&497)==o?(this.reused.set(i,1),i):(this.reused.set(i,2),new Ir(i.dom,a,e,i.flags&-498|o))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,a=2){if(!this.reused.has(e))return this.reused.set(e,a),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}},oh=class{constructor(e,a,o,r,n){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=n,this.openWidget=!1,this.openMarks=0,this.cache=new ah(e),this.text=new th(e.state.doc),this.builder=new eh(this.cache,new Rn(e,e.contentDOM),ye.iter(o)),this.cache.reused.set(a,2),this.old=new Jf(a),this.reuseWalker={skip:(s,i,l)=>{if(this.cache.add(s),s.isComposite())return!1},enter:s=>this.cache.add(s),leave:()=>{},break:()=>{}}}run(e,a){let o=a&&this.getCompositionContext(a.text);for(let r=0,n=0,s=0;;){let i=s<e.length?e[s++]:null,l=i?i.fromA:this.old.root.length;if(l>r){let u=l-r;this.preserve(u,!s,!i),r=l,n+=u}if(!i)break;a&&i.fromA<=a.range.fromA&&i.toA>=a.range.toA?(this.forward(i.fromA,a.range.fromA,a.range.fromA<a.range.toA?1:-1),this.emit(n,a.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(a,o),this.text.skip(a.range.toB-a.range.fromB),this.forward(a.range.fromA,i.toA),this.emit(a.range.toB,i.toB)):(this.forward(i.fromA,i.toA),this.emit(n,i.toB)),n=i.toB,r=i.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,a,o){let r=mD(this.old),n=this.openMarks;this.old.advance(e,o?1:-1,{skip:(s,i,l)=>{if(s.isWidget())if(this.openWidget)this.builder.continueWidget(l-i);else{let u=l>0||i<s.length?Ir.of(s.widget,this.view,l-i,s.flags&496,this.cache.maybeReuse(s)):this.cache.reuse(s);u.flags&256?(u.flags&=-2,this.builder.addBlockWidget(u)):(this.builder.ensureLine(null),this.builder.addInlineWidget(u,r,n),n=r.length)}else if(s.isText())this.builder.ensureLine(null),!i&&l==s.length&&!this.cache.reused.has(s)?this.builder.addText(s.text,r,n,this.cache.reuse(s)):(this.cache.add(s),this.builder.addText(s.text.slice(i,l),r,n)),n=r.length;else if(s.isLine())s.flags&=-2,this.cache.reused.set(s,1),this.builder.addLine(s);else if(s instanceof En)this.cache.add(s);else if(s instanceof Ot)this.builder.ensureLine(null),this.builder.addMark(s,r,n),this.cache.reused.set(s,1),n=r.length;else return!1;this.openWidget=!1},enter:s=>{s.isLine()?this.builder.addLineStart(s.attrs,this.cache.maybeReuse(s)):(this.cache.add(s),s instanceof Ot&&r.unshift(s.mark)),this.openWidget=!1},leave:s=>{s.isLine()?r.length&&(r.length=n=0):s instanceof Ot&&(r.shift(),n=Math.min(n,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,a){let o=null,r=this.builder,n=0,s=ye.spans(this.decorations,e,a,{point:(i,l,u,d,c,f)=>{if(u instanceof vr){if(this.disallowBlockEffectsFor[f]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(i).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=d.length,c>d.length)r.continueWidget(l-i);else{let h=u.widget||(u.block?Oo.block:Oo.inline),p=hD(u),m=this.cache.findWidget(h,l-i,p)||Ir.of(h,this.view,l-i,p);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(o),r.addBlockWidget(m)):(r.ensureLine(o),r.addInlineWidget(m,d,c))}o=null}else o=pD(o,u);l>i&&this.text.skip(l-i)},span:(i,l,u,d)=>{for(let c=i;c<l;){let f=this.text.next(Math.min(512,l-c));f==null?(r.addLineStartIfNotCovered(o),r.addBreak(),c++):(r.ensureLine(o),r.addText(f,u,c==i?d:u.length),c+=f.length),o=null}}});r.addLineStartIfNotCovered(o),this.openWidget=s>n,this.openMarks=s}forward(e,a,o=1){a-e<=10?this.old.advance(a-e,o,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(a-e-10,-1),this.old.advance(5,o,this.reuseWalker))}getCompositionContext(e){let a=[],o=null;for(let r=e.parentNode;;r=r.parentNode){let n=He.get(r);if(r==this.view.contentDOM)break;n instanceof Ot?a.push(n):n?.isLine()?o=n:n instanceof ho||(r.nodeName=="DIV"&&!o&&r!=this.view.contentDOM?o=new Tn(r,xb):o||a.push(Ot.of(new Hs({tagName:r.nodeName.toLowerCase(),attributes:KP(r)}),r)))}return{line:o,marks:a}}};function x0(t,e){let a=o=>{for(let r of o.children)if((e?r.isText():r.length)||a(r))return!0;return!1};return a(t)}function hD(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}var xb={class:"cm-line"};function pD(t,e){let a=e.spec.attributes,o=e.spec.class;return!a&&!o||(t||(t={class:"cm-line"}),a&&Th(a,t),o&&(t.class+=" "+o)),t}function mD(t){let e=[];for(let a=t.parents.length;a>1;a--){let o=a==t.parents.length?t.tile:t.parents[a].tile;o instanceof Ot&&e.push(o.mark)}return e}function Bf(t){let e=He.get(t);return e&&e.setDOM(t.cloneNode()),t}var Oo=class extends qa{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Oo.inline=new Oo("span");Oo.block=new Oo("div");var Ff=new class extends qa{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},jl=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=pe.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Rn(e,e.contentDOM),this.updateInner([new wa(0,0,0,e.state.doc.length)],null)}update(e){var a;let o=e.changedRanges;this.minWidth>0&&o.length&&(o.every(({fromA:d,toA:c})=>c<this.minWidthFrom||d>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((a=this.domChanged)===null||a===void 0)&&a.newSel?r=this.domChanged.newSel.head:!vD(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let n=r>-1?xD(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:c}=this.hasComposition;o=new wa(d,c,e.changes.mapPos(d,-1),e.changes.mapPos(c,1)).addToSet(o.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(Q.ie||Q.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,i=this.blockWrappers;this.updateDeco();let l=yD(s,this.decorations,e.changes);l.length&&(o=wa.extendWithRanges(o,l));let u=LD(i,this.blockWrappers,e.changes);return u.length&&(o=wa.extendWithRanges(o,u)),n&&!o.some(d=>d.fromA<=n.range.fromA&&d.toA>=n.range.toA)&&(o=n.range.addToSet(o.slice())),this.tile.flags&2&&o.length==0?!1:(this.updateInner(o,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,a){this.view.viewState.mustMeasureContent=!0;let{observer:o}=this.view;o.ignore(()=>{if(a||e.length){let s=this.tile,i=new oh(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);a&&He.get(a.text)&&i.cache.reused.set(He.get(a.text),2),this.tile=i.run(e,a),rh(s,i.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let n=Q.chrome||Q.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(n),n&&(n.written||o.selectionRange.focusNode!=n.node||!this.tile.dom.contains(n.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let n of this.tile.children)n.isWidget()&&n.widget instanceof Bs&&r.push(n.dom);o.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let a of e.transactions)for(let o of a.effects)o.is(fb)&&(this.editContextFormatting=o.value)}updateSelection(e=!1,a=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:o}=this.tile,r=this.view.root.activeElement,n=r==o,s=!n&&!(this.view.state.facet(fo)||o.tabIndex>-1)&&Ds(o,this.view.observer.selectionRange)&&!(r&&o.contains(r));if(!(n||a||s))return;let i=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,u,d;if(l.empty?d=u=this.inlineDOMNearPos(l.anchor,l.assoc||1):(d=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),u=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),Q.gecko&&l.empty&&!this.hasComposition&&gD(u)){let f=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(f,u.node.childNodes[u.offset]||null)),u=d=new za(f,0),i=!0}let c=this.view.observer.selectionRange;(i||!c.focusNode||(!Rs(u.node,u.offset,c.anchorNode,c.anchorOffset)||!Rs(d.node,d.offset,c.focusNode,c.focusOffset))&&!this.suppressWidgetCursorChange(c,l))&&(this.view.observer.ignore(()=>{Q.android&&Q.chrome&&o.contains(c.focusNode)&&CD(c.focusNode,o)&&(o.blur(),o.focus({preventScroll:!0}));let f=qs(this.view.root);if(f)if(l.empty){if(Q.gecko){let h=bD(u.node,u.offset);if(h&&h!=3){let p=(h==1?Z0:Y0)(u.node,u.offset);p&&(u=new za(p.node,p.offset))}}f.collapse(u.node,u.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(u.node,u.offset);try{f.extend(d.node,d.offset)}catch{}}else{let h=document.createRange();l.anchor>l.head&&([u,d]=[d,u]),h.setEnd(d.node,d.offset),h.setStart(u.node,u.offset),f.removeAllRanges(),f.addRange(h)}s&&this.view.root.activeElement==o&&(o.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new za(c.anchorNode,c.anchorOffset),this.impreciseHead=d.precise?null:new za(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,a){return this.hasComposition&&a.empty&&Rs(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==a.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,a=e.state.selection.main,o=qs(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!o||!a.empty||!a.assoc||!o.modify)return;let s=this.lineAt(a.head,a.assoc);if(!s)return;let i=s.posAtStart;if(a.head==i||a.head==i+s.length)return;let l=this.coordsAt(a.head,-1),u=this.coordsAt(a.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(a.head+a.assoc,a.assoc);o.collapse(d.node,d.offset),o.modify("move",a.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=a.from&&o.collapse(r,n)}posFromDOM(e,a){let o=this.tile.nearest(e);if(!o)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=o.posAtStart;if(o.isComposite()){let n;if(e==o.dom)n=o.dom.childNodes[a];else{let s=po(e)==0?0:a==0?-1:1;for(;;){let i=e.parentNode;if(i==o.dom)break;s==0&&i.firstChild!=i.lastChild&&(e==i.firstChild?s=-1:s=1),e=i}s<0?n=e:n=e.nextSibling}if(n==o.dom.firstChild)return r;for(;n&&!He.get(n);)n=n.nextSibling;if(!n)return r+o.length;for(let s=0,i=r;;s++){let l=o.children[s];if(l.dom==n)return i;i+=l.length+l.breakAfter}}else return o.isText()?e==o.dom?r+a:r+(a?o.length:0):r}domAtPos(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.domPosFor(e,a):o.domIn(r,a)}inlineDOMNearPos(e,a){let o,r=-1,n=!1,s,i=-1,l=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=e)return!0;u.flags&16&&(n=!0)}else{let c=d+u.length;if(d<=e&&(o=u,r=e-d,n=c<e),c>=e&&!s&&(s=u,i=e-d,l=d>e),d>e&&s)return!0}}),!o&&!s?this.domAtPos(e,a):(n&&s?o=null:l&&o&&(s=null),o&&a<0||!s?o.domIn(r,a):s.domIn(i,a))}coordsAt(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.widget instanceof Bs?null:o.coordsInWidget(r,a,!0):o.coordsIn(r,a)}lineAt(e,a){let{tile:o}=this.tile.resolveBlock(e,a);return o.isLine()?o:null}coordsForChar(e){let{tile:a,offset:o}=this.tile.resolveBlock(e,1);if(!a.isLine())return null;function r(n,s){if(n.isComposite())for(let i of n.children){if(i.length>=s){let l=r(i,s);if(l)return l}if(s-=i.length,s<0)break}else if(n.isText()&&s<n.length){let i=je(n.text,s);if(i==s)return null;let l=Us(n.dom,s,i).getClientRects();for(let u=0;u<l.length;u++){let d=l[u];if(u==l.length-1||d.top<d.bottom&&d.left<d.right)return d}}return null}return r(a,o)}measureVisibleLineHeights(e){let a=[],{from:o,to:r}=e,n=this.view.contentDOM.clientWidth,s=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,i=-1,l=this.view.textDirection==Ie.LTR,u=0,d=(c,f,h)=>{for(let p=0;p<c.children.length&&!(f>r);p++){let m=c.children[p],g=f+m.length,x=m.dom.getBoundingClientRect(),{height:y}=x;if(h&&!p&&(u+=x.top-h.top),m instanceof ho)g>o&&d(m,f,x);else if(f>=o&&(u>0&&a.push(-u),a.push(y+u),u=0,s)){let w=m.dom.lastChild,C=w?zl(w):[];if(C.length){let I=C[C.length-1],v=l?I.right-x.left:x.right-I.left;v>i&&(i=v,this.minWidth=n,this.minWidthFrom=f,this.minWidthTo=g)}}h&&p==c.children.length-1&&(u+=h.bottom-x.bottom),f=g+m.breakAfter}};return d(this.tile,0,null),a}textDirectionAt(e){let{tile:a}=this.tile.resolveBlock(e,1);return getComputedStyle(a.dom).direction=="rtl"?Ie.RTL:Ie.LTR}measureTextSize(){let e=this.tile.blockTiles(s=>{if(s.isLine()&&s.children.length&&s.length<=20){let i=0,l;for(let u of s.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=zl(u.dom);if(d.length!=1)return;i+=d[0].width,l=d[0].height}if(i)return{lineHeight:s.dom.getBoundingClientRect().height,charWidth:i/s.length,textHeight:l}}});if(e)return e;let a=document.createElement("div"),o,r,n;return a.className="cm-line",a.style.width="99999px",a.style.position="absolute",a.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(a);let s=zl(a.firstChild)[0];o=a.getBoundingClientRect().height,r=s&&s.width?s.width/27:7,n=s&&s.height?s.height:o,a.remove()}),{lineHeight:o,charWidth:r,textHeight:n}}computeBlockGapDeco(){let e=[],a=this.view.viewState;for(let o=0,r=0;;r++){let n=r==a.viewports.length?null:a.viewports[r],s=n?n.from-1:this.view.state.doc.length;if(s>o){let i=(a.lineBlockAt(s).bottom-a.lineBlockAt(o).top)/this.view.scaleY;e.push(pe.replace({widget:new Bs(i),block:!0,inclusive:!0,isBlockGap:!0}).range(o,s))}if(!n)break;o=n.to+1}return pe.set(e)}updateDeco(){let e=1,a=this.view.state.facet(lu).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),o=!1,r=this.view.state.facet(_h).map((n,s)=>{let i=typeof n=="function";return i&&(o=!0),i?n(this.view):n});for(r.length&&(this.dynamicDecorationMap[e++]=o,a.push(ye.join(r))),this.decorations=[this.editContextFormatting,...a,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(pb).map(n=>typeof n=="function"?n(this.view):n)}scrollIntoView(e){var a;if(e.isSnapshot){let d=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=d.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let d of this.view.state.facet(cb))try{if(d(this.view,e.range,e))return!0}catch(c){ht(this.view.state,c,"scroll handler")}let{range:o}=e,r=this.coordsAt(o.head,(a=o.assoc)!==null&&a!==void 0?a:o.empty?0:o.head>o.anchor?-1:1),n;if(!r)return;!o.empty&&(n=this.coordsAt(o.anchor,o.anchor>o.head?-1:1))&&(r={left:Math.min(r.left,n.left),top:Math.min(r.top,n.top),right:Math.max(r.right,n.right),bottom:Math.max(r.bottom,n.bottom)});let s=Hh(this.view),i={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:l,offsetHeight:u}=this.view.scrollDOM;if(YP(this.view.scrollDOM,i,o.head<o.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,u),-u),this.view.textDirection==Ie.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(r.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||r.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let d=this.view.docView.lineAt(o.head,1);d&&d.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let a=o=>o.isWidget()||o.children.some(a);return a(this.tile.resolveBlock(e,1).tile)}destroy(){rh(this.tile)}};function rh(t,e){let a=e?.get(t);if(a!=1){a==null&&t.destroy();for(let o of t.children)rh(o,e)}}function gD(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function bb(t,e){let a=t.observer.selectionRange;if(!a.focusNode)return null;let o=Z0(a.focusNode,a.focusOffset),r=Y0(a.focusNode,a.focusOffset),n=o||r;if(r&&o&&r.node!=o.node){let i=He.get(r.node);if(!i||i.isText()&&i.text!=r.node.nodeValue)n=r;else if(t.docView.lastCompositionAfterCursor){let l=He.get(o.node);!l||l.isText()&&l.text!=o.node.nodeValue||(n=r)}}if(t.docView.lastCompositionAfterCursor=n!=o,!n)return null;let s=e-n.offset;return{from:s,to:s+n.node.nodeValue.length,node:n.node}}function xD(t,e,a){let o=bb(t,a);if(!o)return null;let{node:r,from:n,to:s}=o,i=r.nodeValue;if(/[\n\r]/.test(i)||t.state.doc.sliceString(o.from,o.to)!=i)return null;let l=e.invertedDesc;return{range:new wa(l.mapPos(n),l.mapPos(s),n,s),text:r}}function bD(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}var wD=class{constructor(){this.changes=[]}compareRange(e,a){Mn(e,a,this.changes)}comparePoint(e,a){Mn(e,a,this.changes)}boundChange(e){Mn(e,e,this.changes)}};function yD(t,e,a){let o=new wD;return ye.compare(t,e,a,o),o.changes}var nh=class{constructor(){this.changes=[]}compareRange(e,a){Mn(e,a,this.changes)}comparePoint(){}boundChange(e){Mn(e,e,this.changes)}};function LD(t,e,a){let o=new nh;return ye.compare(t,e,a,o),o.changes}function CD(t,e){for(let a=t;a&&a!=e;a=a.assignedSlot||a.parentNode)if(a.nodeType==1&&a.contentEditable=="false")return!0;return!1}function vD(t,e){let a=!1;return e&&t.iterChangedRanges((o,r)=>{o<e.to&&r>e.from&&(a=!0)}),a}var Bs=class extends qa{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function SD(t,e,a=1){let o=t.charCategorizer(e),r=t.doc.lineAt(e),n=e-r.from;if(r.length==0)return X.cursor(e);n==0?a=1:n==r.length&&(a=-1);let s=n,i=n;a<0?s=je(r.text,n,!1):i=je(r.text,n);let l=o(r.text.slice(s,i));for(;s>0;){let u=je(r.text,s,!1);if(o(r.text.slice(u,s))!=l)break;s=u}for(;i<r.length;){let u=je(r.text,i);if(o(r.text.slice(i,u))!=l)break;i=u}return X.range(s+r.from,i+r.from)}function ID(t,e,a,o,r){let n=Math.round((o-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&a.height>t.defaultLineHeight*1.5){let i=t.viewState.heightOracle.textHeight,l=Math.floor((r-a.top-(t.defaultLineHeight-i)*.5)/i);n+=l*t.viewState.heightOracle.lineLength}let s=t.state.sliceDoc(a.from,a.to);return a.from+o0(s,n,t.state.tabSize)}function sh(t,e,a){let o=t.lineBlockAt(e);if(Array.isArray(o.type)){let r;for(let n of o.type){if(n.from>e)break;if(!(n.to<e)){if(n.from<e&&n.to>e)return n;(!r||n.type==pt.Text&&(r.type!=n.type||(a<0?n.from<e:n.to>e)))&&(r=n)}}return r||o}return o}function kD(t,e,a,o){let r=sh(t,e.head,e.assoc||-1),n=!o||r.type!=pt.Text||!(t.lineWrapping||r.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(n){let s=t.dom.getBoundingClientRect(),i=t.textDirectionAt(r.from),l=t.posAtCoords({x:a==(i==Ie.LTR)?s.right-1:s.left+1,y:(n.top+n.bottom)/2});if(l!=null)return X.cursor(l,a?-1:1)}return X.cursor(a?r.to:r.from,a?-1:1)}function b0(t,e,a,o){let r=t.state.doc.lineAt(e.head),n=t.bidiSpans(r),s=t.textDirectionAt(r.from);for(let i=e,l=null;;){let u=iD(r,n,s,i,a),d=ab;if(!u){if(r.number==(a?t.state.doc.lines:1))return i;d=`
16
- `,r=t.state.doc.line(r.number+(a?1:-1)),n=t.bidiSpans(r),u=t.visualLineSide(r,!a)}if(l){if(!l(d))return i}else{if(!o)return u;l=o(d)}i=u}}function AD(t,e,a){let o=t.state.charCategorizer(e),r=o(a);return n=>{let s=o(n);return r==_e.Space&&(r=s),r==s}}function MD(t,e,a,o){let r=e.head,n=a?1:-1;if(r==(a?t.state.doc.length:0))return X.cursor(r,e.assoc);let s=e.goalColumn,i,l=t.contentDOM.getBoundingClientRect(),u=t.coordsAtPos(r,e.assoc||((e.empty?a:e.head==e.from)?1:-1)),d=t.documentTop;if(u)s==null&&(s=u.left-l.left),i=n<0?u.top:u.bottom;else{let p=t.viewState.lineBlockAt(r);s==null&&(s=Math.min(l.right-l.left,t.defaultCharacterWidth*(r-p.from))),i=(n<0?p.top:p.bottom)+d}let c=l.left+s,f=t.viewState.heightOracle.textHeight>>1,h=o??f;for(let p=0;;p+=f){let m=i+(h+p)*n,g=ih(t,{x:c,y:m},!1,n);if(a?m>l.bottom:m<l.top)return X.cursor(g.pos,g.assoc);let x=t.coordsAtPos(g.pos,g.assoc),y=x?(x.top+x.bottom)/2:0;if(!x||(a?y>i:y<i))return X.cursor(g.pos,g.assoc,void 0,s)}}function Fs(t,e,a){for(;;){let o=0;for(let r of t)r.between(e-1,e+1,(n,s,i)=>{if(e>n&&e<s){let l=o||a||(e-n<s-e?-1:1);e=l<0?n:s,o=l}});if(!o)return e}}function wb(t,e){let a=null;for(let o=0;o<e.ranges.length;o++){let r=e.ranges[o],n=null;if(r.empty){let s=Fs(t,r.from,0);s!=r.from&&(n=X.cursor(s,-1))}else{let s=Fs(t,r.from,-1),i=Fs(t,r.to,1);(s!=r.from||i!=r.to)&&(n=X.range(r.from==r.anchor?s:i,r.from==r.head?s:i))}n&&(a||(a=e.ranges.slice()),a[o]=n)}return a?X.create(a,e.mainIndex):e}function Of(t,e,a){let o=Fs(t.state.facet(Ws).map(r=>r(t)),a.from,e.head>a.from?-1:1);return o==a.from?a:X.cursor(o,o<a.from?1:-1)}var na=class{constructor(e,a){this.pos=e,this.assoc=a}};function ih(t,e,a,o){let r=t.contentDOM.getBoundingClientRect(),n=r.top+t.viewState.paddingTop,{x:s,y:i}=e,l=i-n,u;for(;;){if(l<0)return new na(0,1);if(l>t.viewState.docHeight)return new na(t.state.doc.length,-1);if(u=t.elementAtHeight(l),o==null)break;if(u.type==pt.Text){if(o<0?u.to<t.viewport.from:u.from>t.viewport.to)break;let f=t.docView.coordsAt(o<0?u.from:u.to,o>0?-1:1);if(f&&(o<0?f.top<=l+n:f.bottom>=l+n))break}let c=t.viewState.heightOracle.textHeight/2;l=o>0?u.bottom+c:u.top-c}if(t.viewport.from>=u.to||t.viewport.to<=u.from){if(a)return null;if(u.type==pt.Text){let c=ID(t,r,u,s,i);return new na(c,c==u.from?1:-1)}}if(u.type!=pt.Text)return l<(u.top+u.bottom)/2?new na(u.from,1):new na(u.to,-1);let d=t.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=t.docView.lineAt(u.from,-2)),new lh(t,s,i,t.textDirectionAt(u.from)).scanTile(d,u.from)}var lh=class{constructor(e,a,o,r){this.view=e,this.x=a,this.y=o,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[sa.find(r,e-o.from,-1,a)].level==this.baseDir}dirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[sa.find(r,e-o.from,-1,a)].dir}bidiIn(e,a){let{spans:o,line:r}=this.bidiSpansAt(e);return o.length>1||o.length&&(o[0].level!=this.baseDir||o[0].to+r.from<a)}scan(e,a,o=!1){let r=0,n=e.length-1,s=new Set,i=this.bidiIn(e[0],e[n]),l,u,d=-1,c=1e9,f;e:for(;r<n;){let p=n-r,m=r+n>>1;t:if(s.has(m)){let x=r+Math.floor(Math.random()*p);for(let y=0;y<p;y++){if(!s.has(x)){m=x;break t}x++,x==n&&(x=r)}break e}s.add(m);let g=a(m);if(g)for(let x=0;x<g.length;x++){let y=g[x],w=0;if(!(y.width==0&&g.length>1)){if(y.bottom<this.y)(!l||l.bottom<y.bottom)&&(l=y),w=1;else if(y.top>this.y)(!u||u.top>y.top)&&(u=y),w=-1;else{let C=y.left>this.x?this.x-y.left:y.right<this.x?this.x-y.right:0,I=Math.abs(C);I<c&&(d=m,c=I,f=y),C&&(w=C<0==(this.baseDir==Ie.LTR)?-1:1)}w==-1&&(!i||this.baseDirAt(e[m],1))?n=m:w==1&&(!i||this.baseDirAt(e[m+1],-1))&&(r=m+1)}}}if(!f){if(!u&&!l)return{i:e[0],after:!1};let p=l&&(!u||this.y-l.bottom<u.top-this.y)?l:u;return this.y=(p.top+p.bottom)/2,this.scan(e,a,!0)}if(c&&!o){let{top:p,bottom:m}=f;if(l&&l.bottom>(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,a,!0);if(u&&u.top<(p+m+m)/3)return this.y=u.top+1,this.scan(e,a,!0)}let h=(i?this.dirAt(e[d],1):this.baseDir)==Ie.LTR;return{i:d,after:this.x>(f.left+f.right)/2==h}}scanText(e,a){let o=[];for(let n=0;n<e.length;n=je(e.text,n))o.push(a+n);o.push(a+e.length);let r=this.scan(o,n=>{let s=o[n]-a,i=o[n+1]-a;return Us(e.dom,s,i).getClientRects()});return r.after?new na(o[r.i+1],-1):new na(o[r.i],1)}scanTile(e,a){if(!e.length)return new na(a,1);if(e.children.length==1){let i=e.children[0];if(i.isText())return this.scanText(i,a);if(i.isComposite())return this.scanTile(i,a)}let o=[a];for(let i=0,l=a;i<e.children.length;i++)o.push(l+=e.children[i].length);let r=this.scan(o,i=>{let l=e.children[i];return l.flags&48?null:(l.dom.nodeType==1?l.dom:Us(l.dom,0,l.length)).getClientRects()}),n=e.children[r.i],s=o[r.i];return n.isText()?this.scanText(n,s):n.isComposite()?this.scanTile(n,s):r.after?new na(o[r.i+1],-1):new na(s,1)}},vn="\uFFFF",uh=class{constructor(e,a){this.points=e,this.view=a,this.text="",this.lineSeparator=a.state.facet(Me.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=vn}readRange(e,a){if(!e)return this;let o=e.parentNode;for(let r=e;;){this.findPointBefore(o,r);let n=this.text.length;this.readNode(r);let s=He.get(r),i=r.nextSibling;if(i==a){s?.breakAfter&&!i&&o!=this.view.contentDOM&&this.lineBreak();break}let l=He.get(i);(s&&l?s.breakAfter:(s?s.breakAfter:Gl(r))||Gl(i)&&(r.nodeName!="BR"||s?.isWidget())&&this.text.length>n)&&!DD(i,a)&&this.lineBreak(),r=i}return this.findPointBefore(o,a),this}readTextNode(e){let a=e.nodeValue;for(let o of this.points)o.node==e&&(o.pos=this.text.length+Math.min(o.offset,a.length));for(let o=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,i;if(this.lineSeparator?(n=a.indexOf(this.lineSeparator,o),s=this.lineSeparator.length):(i=r.exec(a))&&(n=i.index,s=i[0].length),this.append(a.slice(o,n<0?a.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);o=n+s}}readNode(e){let a=He.get(e),o=a&&a.overrideDOMText;if(o!=null){this.findPointInside(e,o.length);for(let r=o.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,a){for(let o of this.points)o.node==e&&e.childNodes[o.offset]==a&&(o.pos=this.text.length)}findPointInside(e,a){for(let o of this.points)(e.nodeType==3?o.node==e:e.contains(o.node))&&(o.pos=this.text.length+(PD(e,o.node,o.offset)?a:0))}};function PD(t,e,a){for(;;){if(!e||a<po(e))return!1;if(e==t)return!0;a=Fo(e)+1,e=e.parentNode}}function DD(t,e){let a;for(;!(t==e||!t);t=t.nextSibling){let o=He.get(t);if(!o?.isWidget())return!1;o&&(a||(a=[])).push(o)}if(a)for(let o of a){let r=o.overrideDOMText;if(r?.length)return!1}return!0}var Zl=class{constructor(e,a){this.node=e,this.offset=a,this.pos=-1}},dh=class{constructor(e,a,o,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=a>-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView,i=e.state.selection;if(e.state.readOnly&&a>-1)this.newSel=null;else if(a>-1&&(this.bounds=yb(e.docView.tile,a,o,0))){let l=n||s?[]:TD(e),u=new uh(l,e);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=ED(l,this.bounds.from)}else{let l=e.observer.selectionRange,u=n&&n.node==l.focusNode&&n.offset==l.focusOffset||!$f(e.contentDOM,l.focusNode)?i.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),d=s&&s.node==l.anchorNode&&s.offset==l.anchorOffset||!$f(e.contentDOM,l.anchorNode)?i.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),c=e.viewport;if((Q.ios||Q.chrome)&&i.main.empty&&u!=d&&(c.from>0||c.to<e.state.doc.length)){let f=Math.min(u,d),h=Math.max(u,d),p=c.from-f,m=c.to-h;(p==0||p==1||f==0)&&(m==0||m==-1||h==e.state.doc.length)&&(u=0,d=e.state.doc.length)}if(e.inputState.composing>-1&&i.ranges.length>1)this.newSel=i.replaceRange(X.range(d,u));else if(e.lineWrapping&&d==u&&!(i.main.empty&&i.main.head==u)&&e.inputState.lastTouchTime>Date.now()-100){let f=e.coordsAtPos(u,-1),h=0;f&&(h=e.inputState.lastTouchY<=f.bottom?-1:1),this.newSel=X.create([X.cursor(u,h)])}else this.newSel=X.single(d,u)}}};function yb(t,e,a,o){if(t.isComposite()){let r=-1,n=-1,s=-1,i=-1;for(let l=0,u=o,d=o;l<t.children.length;l++){let c=t.children[l],f=u+c.length;if(u<e&&f>a)return yb(c,e,a,u);if(f>=e&&r==-1&&(r=l,n=u),u>a&&c.dom.parentNode==t.dom){s=l,i=d;break}d=f,u=f+c.breakAfter}return{from:n,to:i<0?o+t.length:i,startDOM:(r?t.children[r-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:s<t.children.length&&s>=0?t.children[s].dom:null}}else return t.isText()?{from:o,to:o+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function Lb(t,e){let a,{newSel:o}=e,{state:r}=t,n=r.selection.main,s=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:l}=e.bounds,u=n.from,d=null;(s===8||Q.android&&e.text.length<l-i)&&(u=n.to,d="end");let c=r.doc.sliceString(i,l,vn),f,h;!n.empty&&n.from>=i&&n.to<=l&&(e.typeOver||c!=e.text)&&c.slice(0,n.from-i)==e.text.slice(0,n.from-i)&&c.slice(n.to-i)==e.text.slice(f=e.text.length-(c.length-(n.to-i)))?a={from:n.from,to:n.to,insert:we.of(e.text.slice(n.from-i,f).split(vn))}:(h=Cb(c,e.text,u-i,d))&&(Q.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==vn+vn&&h.toB--,a={from:i+h.from,to:i+h.toA,insert:we.of(e.text.slice(h.from,h.toB).split(vn))})}else o&&(!t.hasFocus&&r.facet(fo)||Yl(o,n))&&(o=null);if(!a&&!o)return!1;if((Q.mac||Q.android)&&a&&a.from==a.to&&a.from==n.head-1&&/^\. ?$/.test(a.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(o&&a.insert.length==2&&(o=X.single(o.main.anchor-1,o.main.head-1)),a={from:a.from,to:a.to,insert:we.of([a.insert.toString().replace("."," ")])}):r.doc.lineAt(n.from).to<n.to&&t.docView.lineHasWidget(n.to)&&t.inputState.insertingTextAt>Date.now()-50?a={from:n.from,to:n.to,insert:r.toText(t.inputState.insertingText)}:Q.chrome&&a&&a.from==a.to&&a.from==n.head&&a.insert.toString()==`
17
- `&&t.lineWrapping&&(o&&(o=X.single(o.main.anchor-1,o.main.head-1)),a={from:n.from,to:n.to,insert:we.of([" "])}),a)return zh(t,a,o,s);if(o&&!Yl(o,n)){let i=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(i=!0),l=t.inputState.lastSelectionOrigin,l=="select.pointer"&&(o=wb(r.facet(Ws).map(u=>u(t)),o))),t.dispatch({selection:o,scrollIntoView:i,userEvent:l}),!0}else return!1}function zh(t,e,a,o=-1){if(Q.ios&&t.inputState.flushIOSKey(e))return!0;let r=t.state.selection.main;if(Q.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&t.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Pn(t.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||o==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Pn(t.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Pn(t.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let s,i=()=>s||(s=RD(t,e,a));return t.state.facet(ib).some(l=>l(t,e.from,e.to,n,i))||t.dispatch(i()),!0}function RD(t,e,a){let o,r=t.state,n=r.selection.main,s=-1;if(e.from==e.to&&e.from<n.from||e.from>n.to){let l=e.from<n.from?-1:1,u=l<0?n.from:n.to,d=Fs(r.facet(Ws).map(c=>c(t)),u,l);e.from==d&&(s=d)}if(s>-1)o={changes:e,selection:X.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!a||a.main.empty&&a.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=n.from<e.from?r.sliceDoc(n.from,e.from):"",u=n.to>e.to?r.sliceDoc(e.to,n.to):"";o=r.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+u))}else{let l=r.changes(e),u=a&&a.main.to<=l.newLength?a.main:void 0;if(r.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let d=t.state.sliceDoc(e.from,e.to),c,f=a&&bb(t,a.main.head);if(f){let p=e.insert.length-(e.to-e.from);c={from:f.from,to:f.to-p}}else c=t.state.doc.lineAt(n.head);let h=n.to-e.to;o=r.changeByRange(p=>{if(p.from==n.from&&p.to==n.to)return{changes:l,range:u||p.map(l)};let m=p.to-h,g=m-d.length;if(t.state.sliceDoc(g,m)!=d||m>=c.from&&g<=c.to)return{range:p};let x=r.changes({from:g,to:m,insert:e.insert}),y=p.to-n.to;return{changes:x,range:u?X.range(Math.max(0,u.anchor+y),Math.max(0,u.head+y)):p.map(x)}})}else o={changes:l,selection:u&&r.selection.replaceRange(u)}}let i="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,i+=".compose",t.inputState.compositionFirstChange&&(i+=".start",t.inputState.compositionFirstChange=!1)),r.update(o,{userEvent:i,scrollIntoView:!0})}function Cb(t,e,a,o){let r=Math.min(t.length,e.length),n=0;for(;n<r&&t.charCodeAt(n)==e.charCodeAt(n);)n++;if(n==r&&t.length==e.length)return null;let s=t.length,i=e.length;for(;s>0&&i>0&&t.charCodeAt(s-1)==e.charCodeAt(i-1);)s--,i--;if(o=="end"){let l=Math.max(0,n-Math.min(s,i));a-=s+l-n}if(s<n&&t.length<e.length){let l=a<=n&&a>=s?n-a:0;n-=l,i=n+(i-s),s=n}else if(i<n){let l=a<=n&&a>=i?n-a:0;n-=l,s=n+(s-i),i=n}return{from:n,toA:s,toB:i}}function TD(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}=t.observer.selectionRange;return a&&(e.push(new Zl(a,o)),(r!=a||n!=o)&&e.push(new Zl(r,n))),e}function ED(t,e){if(t.length==0)return null;let a=t[0].pos,o=t.length==2?t[1].pos:a;return a>-1&&o>-1?X.single(a+e,o+e):null}function Yl(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}var ch=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Q.safari&&e.contentDOM.addEventListener("input",()=>null),Q.gecko&&XD(e.contentDOM.ownerDocument)}handleEvent(e){!zD(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,a){let o=this.handlers[e];if(o){for(let r of o.observers)r(this.view,a);for(let r of o.handlers){if(a.defaultPrevented)break;if(r(this.view,a)){a.preventDefault();break}}}}ensureHandlers(e){let a=BD(e),o=this.handlers,r=this.view.contentDOM;for(let n in a)if(n!="scroll"){let s=!a[n].handlers.length,i=o[n];i&&s!=!i.handlers.length&&(r.removeEventListener(n,this.handleEvent),i=null),i||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in o)n!="scroll"&&!a[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=a}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Sb.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Q.android&&Q.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let a;return Q.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((a=vb.find(o=>o.keyCode==e.keyCode))&&!e.ctrlKey||FD.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=a||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let a=this.pendingIOSKey;return!a||a.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Pn(this.view.contentDOM,a.key,a.keyCode,a instanceof KeyboardEvent?a:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Q.safari&&!Q.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function w0(t,e){return(a,o)=>{try{return e.call(t,o,a)}catch(r){ht(a.state,r)}}}function BD(t){let e=Object.create(null);function a(o){return e[o]||(e[o]={observers:[],handlers:[]})}for(let o of t){let r=o.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let i in n){let l=n[i];l&&a(i).handlers.push(w0(o.value,l))}if(s)for(let i in s){let l=s[i];l&&a(i).observers.push(w0(o.value,l))}}for(let o in ya)a(o).handlers.push(ya[o]);for(let o in Nt)a(o).observers.push(Nt[o]);return e}var vb=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],FD="dthko",Sb=[16,17,18,20,91,92,224,225],Tl=6;function El(t){return Math.max(0,t)*.7+8}function OD(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var fh=class{constructor(e,a,o,r){this.view=e,this.startEvent=a,this.style=o,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=a,this.scrollParents=X0(e.contentDOM),this.atoms=e.state.facet(Ws).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=a.shiftKey,this.multiple=e.state.facet(Me.allowMultipleSelections)&&ND(e,a),this.dragging=HD(e,a)&&Ab(a)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&OD(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let a=0,o=0,r=0,n=0,s=this.view.win.innerWidth,i=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:i}=this.scrollParents.y.getBoundingClientRect());let l=Hh(this.view);e.clientX-l.left<=r+Tl?a=-El(r-e.clientX):e.clientX+l.right>=s-Tl&&(a=El(e.clientX-s)),e.clientY-l.top<=n+Tl?o=-El(n-e.clientY):e.clientY+l.bottom>=i-Tl&&(o=El(e.clientY-i)),this.setScrollSpeed(a,o)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,a){this.scrollSpeed={x:e,y:a},e||a?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:a}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),a&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=a,a=0),(e||a)&&this.view.win.scrollBy(e,a),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:a}=this,o=wb(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!o.eq(a.state.selection,this.dragging===!1))&&this.view.dispatch({selection:o,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(a=>a.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function ND(t,e){let a=t.state.facet(ob);return a.length?a[0](e):Q.mac?e.metaKey:e.ctrlKey}function _D(t,e){let a=t.state.facet(rb);return a.length?a[0](e):Q.mac?!e.altKey:!e.ctrlKey}function HD(t,e){let{main:a}=t.state.selection;if(a.empty)return!1;let o=qs(t.root);if(!o||o.rangeCount==0)return!0;let r=o.getRangeAt(0).getClientRects();for(let n=0;n<r.length;n++){let s=r[n];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function zD(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let a=e.target,o;a!=t.contentDOM;a=a.parentNode)if(!a||a.nodeType==11||(o=He.get(a))&&o.isWidget()&&!o.isHidden&&o.widget.ignoreEvent(e))return!1;return!0}var ya=Object.create(null),Nt=Object.create(null),Ib=Q.ie&&Q.ie_version<15||Q.ios&&Q.webkit_version<604;function qD(t){let e=t.dom.parentNode;if(!e)return;let a=e.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.focus(),setTimeout(()=>{t.focus(),a.remove(),kb(t,a.value)},50)}function uu(t,e,a){for(let o of t.facet(e))a=o(a,t);return a}function kb(t,e){e=uu(t.state,Fh,e);let{state:a}=t,o,r=1,n=a.toText(e),s=n.lines==a.selection.ranges.length;if(hh!=null&&a.selection.ranges.every(l=>l.empty)&&hh==n.toString()){let l=-1;o=a.changeByRange(u=>{let d=a.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let c=a.toText((s?n.line(r++).text:e)+a.lineBreak);return{changes:{from:d.from,insert:c},range:X.cursor(u.from+c.length)}})}else s?o=a.changeByRange(l=>{let u=n.line(r++);return{changes:{from:l.from,to:l.to,insert:u.text},range:X.cursor(l.from+u.length)}}):o=a.replaceSelection(n);t.dispatch(o,{userEvent:"input.paste",scrollIntoView:!0})}Nt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Nt.wheel=Nt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};ya.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Nt.touchstart=(t,e)=>{let a=t.inputState,o=e.targetTouches[0];a.lastTouchTime=Date.now(),o&&(a.lastTouchX=o.clientX,a.lastTouchY=o.clientY),a.setSelectionOrigin("select.pointer")};Nt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};ya.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let a=null;for(let o of t.state.facet(nb))if(a=o(t,e),a)break;if(!a&&e.button==0&&(a=WD(t,e)),a){let o=!t.hasFocus;t.inputState.startMouseSelection(new fh(t,e,a,o)),o&&t.observer.ignore(()=>{K0(t.contentDOM);let n=t.root.activeElement;n&&!n.contains(t.contentDOM)&&n.blur()});let r=t.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function y0(t,e,a,o){if(o==1)return X.cursor(e,a);if(o==2)return SD(t.state,e,a);{let r=t.docView.lineAt(e,a),n=t.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<t.state.doc.length&&i==n.to&&i++,X.range(s,i)}}var UD=Q.ie&&Q.ie_version<=11,L0=null,C0=0,v0=0;function Ab(t){if(!UD)return t.detail;let e=L0,a=v0;return L0=t,v0=Date.now(),C0=!e||a>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(C0+1)%3:1}function WD(t,e){let a=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),o=Ab(e),r=t.state.selection;return{update(n){n.docChanged&&(a.pos=n.changes.mapPos(a.pos),r=r.map(n.changes))},get(n,s,i){let l=t.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),u,d=y0(t,l.pos,l.assoc,o);if(a.pos!=l.pos&&!s){let c=y0(t,a.pos,a.assoc,o),f=Math.min(c.from,d.from),h=Math.max(c.to,d.to);d=f<d.from?X.range(f,h,d.assoc):X.range(h,f,d.assoc)}return s?r.replaceRange(r.main.extend(d.from,d.to,d.assoc)):i&&o==1&&r.ranges.length>1&&(u=VD(r,l.pos))?u:i?r.addRange(d):X.create([d])}}}function VD(t,e){for(let a=0;a<t.ranges.length;a++){let{from:o,to:r}=t.ranges[a];if(o<=e&&r>=e)return X.create(t.ranges.slice(0,a).concat(t.ranges.slice(a+1)),t.mainIndex==a?0:t.mainIndex-(t.mainIndex>a?1:0))}return null}ya.dragstart=(t,e)=>{let{selection:{main:a}}=t.state;if(e.target.draggable){let r=t.docView.tile.nearest(e.target);if(r&&r.isWidget()){let n=r.posAtStart,s=n+r.length;(n>=a.to||s<=a.from)&&(a=X.range(n,s))}}let{inputState:o}=t;return o.mouseSelection&&(o.mouseSelection.dragging=!0),o.draggedContent=a,e.dataTransfer&&(e.dataTransfer.setData("Text",uu(t.state,Oh,t.state.sliceDoc(a.from,a.to))),e.dataTransfer.effectAllowed="copyMove"),!1};ya.dragend=t=>(t.inputState.draggedContent=null,!1);function S0(t,e,a,o){if(a=uu(t.state,Fh,a),!a)return;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=t.inputState,s=o&&n&&_D(t,e)?{from:n.from,to:n.to}:null,i={from:r,insert:a},l=t.state.changes(s?[s,i]:i);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),t.inputState.draggedContent=null}ya.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let a=e.dataTransfer.files;if(a&&a.length){let o=Array(a.length),r=0,n=()=>{++r==a.length&&S0(t,e,o.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<a.length;s++){let i=new FileReader;i.onerror=n,i.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(i.result)||(o[s]=i.result),n()},i.readAsText(a[s])}return!0}else{let o=e.dataTransfer.getData("Text");if(o)return S0(t,e,o,!0),!0}return!1};ya.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let a=Ib?null:e.clipboardData;return a?(kb(t,a.getData("text/plain")||a.getData("text/uri-list")),!0):(qD(t),!1)};function GD(t,e){let a=t.dom.parentNode;if(!a)return;let o=a.appendChild(document.createElement("textarea"));o.style.cssText="position: fixed; left: -10000px; top: 10px",o.value=e,o.focus(),o.selectionEnd=e.length,o.selectionStart=0,setTimeout(()=>{o.remove(),t.focus()},50)}function $D(t){let e=[],a=[],o=!1;for(let r of t.selection.ranges)r.empty||(e.push(t.sliceDoc(r.from,r.to)),a.push(r));if(!e.length){let r=-1;for(let{from:n}of t.selection.ranges){let s=t.doc.lineAt(n);s.number>r&&(e.push(s.text),a.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),r=s.number}o=!0}return{text:uu(t,Oh,e.join(t.lineBreak)),ranges:a,linewise:o}}var hh=null;ya.copy=ya.cut=(t,e)=>{if(!Ds(t.contentDOM,t.observer.selectionRange))return!1;let{text:a,ranges:o,linewise:r}=$D(t.state);if(!a&&!r)return!1;hh=r?a:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"});let n=Ib?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",a),!0):(GD(t,a),!1)};var Mb=Et.define();function Pb(t,e){let a=[];for(let o of t.facet(lb)){let r=o(t,e);r&&a.push(r)}return a.length?t.update({effects:a,annotations:Mb.of(!0)}):null}function Db(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let a=Pb(t.state,e);a?t.dispatch(a):t.update([])}},10)}Nt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),Db(t)};Nt.blur=t=>{t.observer.clearSelectionRange(),Db(t)};Nt.compositionstart=Nt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Nt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,Q.chrome&&Q.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Nt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};ya.beforeinput=(t,e)=>{var a,o;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let n=(a=e.dataTransfer)===null||a===void 0?void 0:a.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let i=s[0],l=t.posAtDOM(i.startContainer,i.startOffset),u=t.posAtDOM(i.endContainer,i.endOffset);return zh(t,{from:l,to:u,insert:t.state.toText(n)},null),!0}}let r;if(Q.chrome&&Q.android&&(r=vb.find(n=>n.inputType==e.inputType))&&(t.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return Q.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),Q.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Nt.compositionend(t,e),20),!1};var I0=new Set;function XD(t){I0.has(t)||(I0.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}var k0=["pre-wrap","normal","pre-line","break-spaces"],Bn=!1;function A0(){Bn=!1}var ph=class{constructor(e){this.lineWrapping=e,this.doc=we.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,a){let o=this.doc.lineAt(a).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(o+=Math.max(0,Math.ceil((a-e-o*this.lineLength*.5)/this.lineLength))),this.lineHeight*o}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return k0.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let a=!1;for(let o=0;o<e.length;o++){let r=e[o];r<0?o++:this.heightSamples[Math.floor(r*10)]||(a=!0,this.heightSamples[Math.floor(r*10)]=!0)}return a}refresh(e,a,o,r,n,s){let i=k0.indexOf(e)>-1,l=Math.abs(a-this.lineHeight)>.3||this.lineWrapping!=i;if(this.lineWrapping=i,this.lineHeight=a,this.charWidth=o,this.textHeight=r,this.lineLength=n,l){this.heightSamples={};for(let u=0;u<s.length;u++){let d=s[u];d<0?u++:this.heightSamples[Math.floor(d*10)]=!0}}return l}},mh=class{constructor(e,a){this.from=e,this.heights=a,this.index=0}get more(){return this.index<this.heights.length}},ba=class t{constructor(e,a,o,r,n){this.from=e,this.length=a,this.top=o,this.height=r,this._content=n}get type(){return typeof this._content=="number"?pt.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof vr?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let a=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new t(this.from,this.length+e.length,this.top,this.height+e.height,a)}},Te=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(Te||(Te={})),ql=.001,Kt=class t{constructor(e,a,o=2){this.length=e,this.height=a,this.flags=o}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>ql&&(Bn=!0),this.height=e)}replace(e,a,o){return t.of(o)}decomposeLeft(e,a){a.push(this)}decomposeRight(e,a){a.push(this)}applyChanges(e,a,o,r){let n=this,s=o.doc;for(let i=r.length-1;i>=0;i--){let{fromA:l,toA:u,fromB:d,toB:c}=r[i],f=n.lineAt(l,Te.ByPosNoHeight,o.setDoc(a),0,0),h=f.to>=u?f:n.lineAt(u,Te.ByPosNoHeight,o,0,0);for(c+=h.to-u,u=h.to;i>0&&f.from<=r[i-1].toA;)l=r[i-1].fromA,d=r[i-1].fromB,i--,l<f.from&&(f=n.lineAt(l,Te.ByPosNoHeight,o,0,0));d+=f.from-l,l=f.from;let p=xh.build(o.setDoc(s),e,d,c);n=Jl(n,n.replace(l,u,p))}return n.updateHeight(o,0)}static empty(){return new ra(0,0,0)}static of(e){if(e.length==1)return e[0];let a=0,o=e.length,r=0,n=0;for(;;)if(a==o)if(r>n*2){let i=e[a-1];i.break?e.splice(--a,1,i.left,null,i.right):e.splice(--a,1,i.left,i.right),o+=1+i.break,r-=i.size}else if(n>r*2){let i=e[o];i.break?e.splice(o,1,i.left,null,i.right):e.splice(o,1,i.left,i.right),o+=2+i.break,n-=i.size}else break;else if(r<n){let i=e[a++];i&&(r+=i.size)}else{let i=e[--o];i&&(n+=i.size)}let s=0;return e[a-1]==null?(s=1,a--):e[a]==null&&(s=1,o++),new gh(t.of(e.slice(0,a)),s,t.of(e.slice(o)))}};function Jl(t,e){return t==e?t:(t.constructor!=e.constructor&&(Bn=!0),e)}Kt.prototype.size=1;var KD=pe.replace({}),Ql=class extends Kt{constructor(e,a,o){super(e,a),this.deco=o,this.spaceAbove=0}mainBlock(e,a){return new ba(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,a,o,r){return this.spaceAbove&&e<o+this.spaceAbove?new ba(r,0,o,this.spaceAbove,KD):this.mainBlock(o,r)}lineAt(e,a,o,r,n){let s=this.mainBlock(r,n);return this.spaceAbove?this.blockAt(0,o,r,n).join(s):s}forEachLine(e,a,o,r,n,s){e<=n+this.length&&a>=n&&s(this.lineAt(0,Te.ByPos,o,r,n))}setMeasuredHeight(e){let a=e.heights[e.index++];a<0?(this.spaceAbove=-a,a=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(a)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},ra=class t extends Ql{constructor(e,a,o){super(e,a,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=o}mainBlock(e,a){return new ba(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,a,o){let r=o[0];return o.length==1&&(r instanceof t||r instanceof Bo&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Bo?r=new t(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Kt.of(o)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more?this.setMeasuredHeight(r):(o||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Bo=class t extends Kt{constructor(e){super(e,0)}heightMetrics(e,a){let o=e.doc.lineAt(a).number,r=e.doc.lineAt(a+this.length).number,n=r-o+1,s,i=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*n);s=l/n,this.length>n+1&&(i=(this.height-l)/(this.length-n-1))}else s=this.height/n;return{firstLine:o,lastLine:r,perLine:s,perChar:i}}blockAt(e,a,o,r){let{firstLine:n,lastLine:s,perLine:i,perChar:l}=this.heightMetrics(a,r);if(a.lineWrapping){let u=r+(e<a.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-o)/this.height))*this.length)),d=a.doc.lineAt(u),c=i+d.length*l,f=Math.max(o,e-c/2);return new ba(d.from,d.length,f,c,0)}else{let u=Math.max(0,Math.min(s-n,Math.floor((e-o)/i))),{from:d,length:c}=a.doc.line(n+u);return new ba(d,c,o+i*u,i,0)}}lineAt(e,a,o,r,n){if(a==Te.ByHeight)return this.blockAt(e,o,r,n);if(a==Te.ByPosNoHeight){let{from:h,to:p}=o.doc.lineAt(e);return new ba(h,p-h,0,0,0)}let{firstLine:s,perLine:i,perChar:l}=this.heightMetrics(o,n),u=o.doc.lineAt(e),d=i+u.length*l,c=u.number-s,f=r+i*c+l*(u.from-n-c);return new ba(u.from,u.length,Math.max(r,Math.min(f,r+this.height-d)),d,0)}forEachLine(e,a,o,r,n,s){e=Math.max(e,n),a=Math.min(a,n+this.length);let{firstLine:i,perLine:l,perChar:u}=this.heightMetrics(o,n);for(let d=e,c=r;d<=a;){let f=o.doc.lineAt(d);if(d==e){let p=f.number-i;c+=l*p+u*(e-n-p)}let h=l+u*f.length;s(new ba(f.from,f.length,c,h,0)),c+=h,d=f.to+1}}replace(e,a,o){let r=this.length-a;if(r>0){let n=o[o.length-1];n instanceof t?o[o.length-1]=new t(n.length+r):o.push(null,new t(r-1))}if(e>0){let n=o[0];n instanceof t?o[0]=new t(e+n.length):o.unshift(new t(e-1),null)}return Kt.of(o)}decomposeLeft(e,a){a.push(new t(e-1),null)}decomposeRight(e,a){a.push(null,new t(this.length-e-1))}updateHeight(e,a=0,o=!1,r){let n=a+this.length;if(r&&r.from<=a+this.length&&r.more){let s=[],i=Math.max(a,r.from),l=-1;for(r.from>a&&s.push(new t(r.from-a-1).updateHeight(e,a));i<=n&&r.more;){let d=e.doc.lineAt(i).length;s.length&&s.push(null);let c=r.heights[r.index++],f=0;c<0&&(f=-c,c=r.heights[r.index++]),l==-1?l=c:Math.abs(c-l)>=ql&&(l=-2);let h=new ra(d,c,f);h.outdated=!1,s.push(h),i+=d+1}i<=n&&s.push(null,new t(n-i).updateHeight(e,i));let u=Kt.of(s);return(l<0||Math.abs(u.height-this.height)>=ql||Math.abs(l-this.heightMetrics(e,a).perLine)>=ql)&&(Bn=!0),Jl(this,u)}else(o||this.outdated)&&(this.setHeight(e.heightForGap(a,a+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},gh=class extends Kt{constructor(e,a,o){super(e.length+a+o.length,e.height+o.height,a|(e.outdated||o.outdated?2:0)),this.left=e,this.right=o,this.size=e.size+o.size}get break(){return this.flags&1}blockAt(e,a,o,r){let n=o+this.left.height;return e<n?this.left.blockAt(e,a,o,r):this.right.blockAt(e,a,n,r+this.left.length+this.break)}lineAt(e,a,o,r,n){let s=r+this.left.height,i=n+this.left.length+this.break,l=a==Te.ByHeight?e<s:e<i,u=l?this.left.lineAt(e,a,o,r,n):this.right.lineAt(e,a,o,s,i);if(this.break||(l?u.to<i:u.from>i))return u;let d=a==Te.ByPosNoHeight?Te.ByPosNoHeight:Te.ByPos;return l?u.join(this.right.lineAt(i,d,o,s,i)):this.left.lineAt(i,d,o,r,n).join(u)}forEachLine(e,a,o,r,n,s){let i=r+this.left.height,l=n+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,a,o,r,n,s),a>=l&&this.right.forEachLine(e,a,o,i,l,s);else{let u=this.lineAt(l,Te.ByPos,o,r,n);e<u.from&&this.left.forEachLine(e,u.from-1,o,r,n,s),u.to>=e&&u.from<=a&&s(u),a>u.to&&this.right.forEachLine(u.to+1,a,o,i,l,s)}}replace(e,a,o){let r=this.left.length+this.break;if(a<r)return this.balanced(this.left.replace(e,a,o),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,a-r,o));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let i of o)n.push(i);if(e>0&&M0(n,s-1),a<this.length){let i=n.length;this.decomposeRight(a,n),M0(n,i)}return Kt.of(n)}decomposeLeft(e,a){let o=this.left.length;if(e<=o)return this.left.decomposeLeft(e,a);a.push(this.left),this.break&&(o++,e>=o&&a.push(null)),e>o&&this.right.decomposeLeft(e-o,a)}decomposeRight(e,a){let o=this.left.length,r=o+this.break;if(e>=r)return this.right.decomposeRight(e-r,a);e<o&&this.left.decomposeRight(e,a),this.break&&e<r&&a.push(null),a.push(this.right)}balanced(e,a){return e.size>2*a.size||a.size>2*e.size?Kt.of(this.break?[e,null,a]:[e,a]):(this.left=Jl(this.left,e),this.right=Jl(this.right,a),this.setHeight(e.height+a.height),this.outdated=e.outdated||a.outdated,this.size=e.size+a.size,this.length=e.length+this.break+a.length,this)}updateHeight(e,a=0,o=!1,r){let{left:n,right:s}=this,i=a+n.length+this.break,l=null;return r&&r.from<=a+n.length&&r.more?l=n=n.updateHeight(e,a,o,r):n.updateHeight(e,a,o),r&&r.from<=i+s.length&&r.more?l=s=s.updateHeight(e,i,o,r):s.updateHeight(e,i,o),l?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function M0(t,e){let a,o;t[e]==null&&(a=t[e-1])instanceof Bo&&(o=t[e+1])instanceof Bo&&t.splice(e-1,3,new Bo(a.length+1+o.length))}var jD=5,xh=class t{constructor(e,a){this.pos=e,this.oracle=a,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,a){if(this.lineStart>-1){let o=Math.min(a,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof ra?r.length+=o-this.pos:(o>this.pos||!this.isCovered)&&this.nodes.push(new ra(o-this.pos,-1,0)),this.writtenTo=o,a>o&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=a}point(e,a,o){if(e<a||o.heightRelevant){let r=o.widget?o.widget.estimatedHeight:0,n=o.widget?o.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let s=a-e;o.block?this.addBlock(new Ql(s,r,o)):(s||n||r>=jD)&&this.addLineDeco(r,n,s)}else a>e&&this.span(e,a);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:a}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=a,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new ra(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,a){let o=new Bo(a-e);return this.oracle.doc.lineAt(e).to==a&&(o.flags|=4),o}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof ra)return e;let a=new ra(0,-1,0);return this.nodes.push(a),a}addBlock(e){this.enterLine();let a=e.deco;a&&a.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,a&&a.endSide>0&&(this.covering=e)}addLineDeco(e,a,o){let r=this.ensureLine();r.length+=o,r.collapsed+=o,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=a,this.writtenTo=this.pos=this.pos+o}finish(e){let a=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(a instanceof ra)&&!this.isCovered?this.nodes.push(new ra(0,-1,0)):(this.writtenTo<this.pos||a==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let o=e;for(let r of this.nodes)r instanceof ra&&r.updateHeight(this.oracle,o),o+=r?r.length:1;return this.nodes}static build(e,a,o,r){let n=new t(o,e);return ye.spans(a,o,r,n,0),n.finish(o)}};function ZD(t,e,a){let o=new bh;return ye.compare(t,e,a,o,0),o.changes}var bh=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,a,o,r){(e<a||o&&o.heightRelevant||r&&r.heightRelevant)&&Mn(e,a,this.changes,5)}};function YD(t,e){let a=t.getBoundingClientRect(),o=t.ownerDocument,r=o.defaultView||window,n=Math.max(0,a.left),s=Math.min(r.innerWidth,a.right),i=Math.max(0,a.top),l=Math.min(r.innerHeight,a.bottom);for(let u=t.parentNode;u&&u!=o.body;)if(u.nodeType==1){let d=u,c=window.getComputedStyle(d);if((d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)&&c.overflow!="visible"){let f=d.getBoundingClientRect();n=Math.max(n,f.left),s=Math.min(s,f.right),i=Math.max(i,f.top),l=Math.min(u==t.parentNode?r.innerHeight:l,f.bottom)}u=c.position=="absolute"||c.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:n-a.left,right:Math.max(n,s)-a.left,top:i-(a.top+e),bottom:Math.max(i,l)-(a.top+e)}}function JD(t){let e=t.getBoundingClientRect(),a=t.ownerDocument.defaultView||window;return e.left<a.innerWidth&&e.right>0&&e.top<a.innerHeight&&e.bottom>0}function QD(t,e){let a=t.getBoundingClientRect();return{left:0,right:a.right-a.left,top:e,bottom:a.bottom-(a.top+e)}}var Os=class{constructor(e,a,o,r){this.from=e,this.to=a,this.size=o,this.displaySize=r}static same(e,a){if(e.length!=a.length)return!1;for(let o=0;o<e.length;o++){let r=e[o],n=a[o];if(r.from!=n.from||r.to!=n.to||r.size!=n.size)return!1}return!0}draw(e,a){return pe.replace({widget:new wh(this.displaySize*(a?e.scaleY:e.scaleX),a)}).range(this.from,this.to)}},wh=class extends qa{constructor(e,a){super(),this.size=e,this.vertical=a}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},eu=class{constructor(e,a){this.view=e,this.state=a,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=P0,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Ie.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let o=a.facet(Nh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new ph(o),this.stateDeco=D0(a),this.heightMap=Kt.empty().applyChanges(this.stateDeco,we.empty,this.heightOracle.setDoc(a.doc),[new wa(0,0,0,a.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=pe.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:a}=this.state.selection;for(let o=0;o<=1;o++){let r=o?a.head:a.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new In(n,s))}}return this.viewports=e.sort((o,r)=>o.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?P0:new yh(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ps(e,this.scaler))})}update(e,a=null){this.state=e.state;let o=this.stateDeco;this.stateDeco=D0(this.state);let r=e.changedRanges,n=wa.extendWithRanges(r,ZD(o,this.stateDeco,e?e.changes:It.empty(this.state.doc.length))),s=this.heightMap.height,i=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);A0(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||Bn)&&(e.flags|=2),i?(this.scrollAnchorPos=e.changes.mapPos(i.from,-1),this.scrollAnchorHeight=i.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let l=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(a&&(a.range.head<l.from||a.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,a));let u=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(u||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),a&&(this.scrollTarget=a),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(db)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,a=e.contentDOM,o=window.getComputedStyle(a),r=this.heightOracle,n=o.whiteSpace;this.defaultTextDirection=o.direction=="rtl"?Ie.RTL:Ie.LTR;let s=this.heightOracle.mustRefreshForWrapping(n)||this.mustMeasureContent==="refresh",i=a.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=i.height;this.contentDOMHeight=i.height,this.mustMeasureContent=!1;let u=0,d=0;if(i.width&&i.height){let{scaleX:I,scaleY:v}=$0(a,i);(I>.005&&Math.abs(this.scaleX-I)>.005||v>.005&&Math.abs(this.scaleY-v)>.005)&&(this.scaleX=I,this.scaleY=v,u|=16,s=l=!0)}let c=(parseInt(o.paddingTop)||0)*this.scaleY,f=(parseInt(o.paddingBottom)||0)*this.scaleY;(this.paddingTop!=c||this.paddingBottom!=f)&&(this.paddingTop=c,this.paddingBottom=f,u|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=16);let h=X0(this.view.contentDOM,!1).y;h!=this.scrollParent&&(this.scrollParent=h,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=j0(this.scrollParent||e.win);let m=(this.printing?QD:YD)(a,this.paddingTop),g=m.top-this.pixelViewport.top,x=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(l=!0)),!this.inView&&!this.scrollTarget&&!JD(e.dom))return 0;let w=i.width;if((this.contentDOMWidth!=w||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=i.width,this.editorHeight=e.scrollDOM.clientHeight,u|=16),l){let I=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(I)&&(s=!0),s||r.lineWrapping&&Math.abs(w-this.contentDOMWidth)>r.charWidth){let{lineHeight:v,charWidth:L,textHeight:S}=e.docView.measureTextSize();s=v>0&&r.refresh(n,v,L,S,Math.max(5,w/L),I),s&&(e.docView.minWidth=0,u|=16)}g>0&&x>0?d=Math.max(g,x):g<0&&x<0&&(d=Math.min(g,x)),A0();for(let v of this.viewports){let L=v.from==this.viewport.from?I:e.docView.measureVisibleLineHeights(v);this.heightMap=(s?Kt.empty().applyChanges(this.stateDeco,we.empty,this.heightOracle,[new wa(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new mh(v.from,L))}Bn&&(u|=2)}let C=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return C&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||C)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,a){let o=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:i}=this,l=new In(r.lineAt(s-o*1e3,Te.ByHeight,n,0,0).from,r.lineAt(i+(1-o)*1e3,Te.ByHeight,n,0,0).to);if(a){let{head:u}=a.range;if(u<l.from||u>l.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),c=r.lineAt(u,Te.ByPos,n,0,0),f;a.y=="center"?f=(c.top+c.bottom)/2-d/2:a.y=="start"||a.y=="nearest"&&u<l.from?f=c.top:f=c.bottom-d,l=new In(r.lineAt(f-1e3/2,Te.ByHeight,n,0,0).from,r.lineAt(f+d+1e3/2,Te.ByHeight,n,0,0).to)}}return l}mapViewport(e,a){let o=a.mapPos(e.from,-1),r=a.mapPos(e.to,1);return new In(this.heightMap.lineAt(o,Te.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,Te.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:a},o=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,Te.ByPos,this.heightOracle,0,0),{bottom:n}=this.heightMap.lineAt(a,Te.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:i}=this;return(e==0||r<=s-Math.max(10,Math.min(-o,250)))&&(a==this.state.doc.length||n>=i+Math.max(10,Math.min(o,250)))&&r>s-2*1e3&&n<i+2*1e3}mapLineGaps(e,a){if(!e.length||a.empty)return e;let o=[];for(let r of e)a.touchesRange(r.from,r.to)||o.push(new Os(a.mapPos(r.from),a.mapPos(r.to),r.size,r.displaySize));return o}ensureLineGaps(e,a){let o=this.heightOracle.lineWrapping,r=o?1e4:2e3,n=r>>1,s=r<<1;if(this.defaultTextDirection!=Ie.LTR&&!o)return[];let i=[],l=(d,c,f,h)=>{if(c-d<n)return;let p=this.state.selection.main,m=[p.from];p.empty||m.push(p.to);for(let x of m)if(x>d&&x<c){l(d,x-10,f,h),l(x+10,c,f,h);return}let g=tR(e,x=>x.from>=f.from&&x.to<=f.to&&Math.abs(x.from-d)<n&&Math.abs(x.to-c)<n&&!m.some(y=>x.from<y&&x.to>y));if(!g){if(c<f.to&&a&&o&&a.visibleRanges.some(w=>w.from<=c&&w.to>=c)){let w=a.moveToLineBoundary(X.cursor(c),!1,!0).head;w>d&&(c=w)}let x=this.gapSize(f,d,c,h),y=o||x<2e6?x:2e6;g=new Os(d,c,x,y)}i.push(g)},u=d=>{if(d.length<s||d.type!=pt.Text)return;let c=eR(d.from,d.to,this.stateDeco);if(c.total<s)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,h,p;if(o){let m=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,x;if(f!=null){let y=Fl(c,f),w=((this.visibleBottom-this.visibleTop)/2+m)/d.height;g=y-w,x=y+w}else g=(this.visibleTop-d.top-m)/d.height,x=(this.visibleBottom-d.top+m)/d.height;h=Bl(c,g),p=Bl(c,x)}else{let m=c.total*this.heightOracle.charWidth,g=r*this.heightOracle.charWidth,x=0;if(m>2e6)for(let v of e)v.from>=d.from&&v.from<d.to&&v.size!=v.displaySize&&v.from*this.heightOracle.charWidth+x<this.pixelViewport.left&&(x=v.size-v.displaySize);let y=this.pixelViewport.left+x,w=this.pixelViewport.right+x,C,I;if(f!=null){let v=Fl(c,f),L=((w-y)/2+g)/m;C=v-L,I=v+L}else C=(y-g)/m,I=(w+g)/m;h=Bl(c,C),p=Bl(c,I)}h>d.from&&l(d.from,h,d,c),p<d.to&&l(p,d.to,d,c)};for(let d of this.viewportLines)Array.isArray(d.type)?d.type.forEach(u):u(d);return i}gapSize(e,a,o,r){let n=Fl(r,o)-Fl(r,a);return this.heightOracle.lineWrapping?e.height*n:r.total*this.heightOracle.charWidth*n}updateLineGaps(e){Os.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=pe.set(e.map(a=>a.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let a=this.stateDeco;this.lineGaps.length&&(a=a.concat(this.lineGapDeco));let o=[];ye.spans(a,this.viewport.from,this.viewport.to,{span(n,s){o.push({from:n,to:s})},point(){}},20);let r=0;if(o.length!=this.visibleRanges.length)r=12;else for(let n=0;n<o.length&&!(r&8);n++){let s=this.visibleRanges[n],i=o[n];(s.from!=i.from||s.to!=i.to)&&(r|=4,e&&e.mapPos(s.from,-1)==i.from&&e.mapPos(s.to,1)==i.to||(r|=8))}return this.visibleRanges=o,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(a=>a.from<=e&&a.to>=e)||Ps(this.heightMap.lineAt(e,Te.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(a=>a.top<=e&&a.bottom>=e)||Ps(this.heightMap.lineAt(this.scaler.fromDOM(e),Te.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let a=this.lineBlockAtHeight(e+8);return a.from>=this.viewport.from||this.viewportLines[0].top-e>200?a:this.viewportLines[0]}elementAtHeight(e){return Ps(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},In=class{constructor(e,a){this.from=e,this.to=a}};function eR(t,e,a){let o=[],r=t,n=0;return ye.spans(a,t,e,{span(){},point(s,i){s>r&&(o.push({from:r,to:s}),n+=s-r),r=i}},20),r<e&&(o.push({from:r,to:e}),n+=e-r),{total:n,ranges:o}}function Bl({total:t,ranges:e},a){if(a<=0)return e[0].from;if(a>=1)return e[e.length-1].to;let o=Math.floor(t*a);for(let r=0;;r++){let{from:n,to:s}=e[r],i=s-n;if(o<=i)return n+o;o-=i}}function Fl(t,e){let a=0;for(let{from:o,to:r}of t.ranges){if(e<=r){a+=e-o;break}a+=r-o}return a/t.total}function tR(t,e){for(let a of t)if(e(a))return a}var P0={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function D0(t){let e=t.facet(lu).filter(o=>typeof o!="function"),a=t.facet(_h).filter(o=>typeof o!="function");return a.length&&e.push(ye.join(a)),e}var yh=class t{constructor(e,a,o){let r=0,n=0,s=0;this.viewports=o.map(({from:i,to:l})=>{let u=a.lineAt(i,Te.ByPos,e,0,0).top,d=a.lineAt(l,Te.ByPos,e,0,0).bottom;return r+=d-u,{from:i,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(a.height-r);for(let i of this.viewports)i.domTop=s+(i.top-n)*this.scale,s=i.domBottom=i.domTop+(i.bottom-i.top),n=i.bottom}toDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.top)return r+(e-o)*this.scale;if(e<=n.bottom)return n.domTop+(e-n.top);o=n.bottom,r=n.domBottom}}fromDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.domTop)return o+(e-r)/this.scale;if(e<=n.domBottom)return n.top+(e-n.domTop);o=n.bottom,r=n.domBottom}}eq(e){return e instanceof t?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((a,o)=>a.from==e.viewports[o].from&&a.to==e.viewports[o].to):!1}};function Ps(t,e){if(e.scale==1)return t;let a=e.toDOM(t.top),o=e.toDOM(t.bottom);return new ba(t.from,t.length,a,o-a,Array.isArray(t._content)?t._content.map(r=>Ps(r,e)):t._content)}var Ol=Y.define({combine:t=>t.join(" ")}),Lh=Y.define({combine:t=>t.indexOf(!0)>-1}),Ch=oa.newName(),Rb=oa.newName(),Tb=oa.newName(),Eb={"&light":"."+Rb,"&dark":"."+Tb};function vh(t,e,a){return new oa(e,{finish(o){return/&/.test(o)?o.replace(/&\w*/,r=>{if(r=="&")return t;if(!a||!a[r])throw new RangeError(`Unsupported selector: ${r}`);return a[r]}):t+" "+o}})}var aR=vh("."+Ch,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Eb),oR={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Nf=Q.ie&&Q.ie_version<=11,Sh=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new Xf,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(a=>{for(let o of a)this.queue.push(o);(Q.ie&&Q.ie_version<=11||Q.ios&&e.composing)&&a.some(o=>o.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Q.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Q.chrome&&Q.chrome_version<126)&&(this.editContext=new Ih(e),e.state.facet(fo)&&(e.contentDOM.editContext=this.editContext.editContext)),Nf&&(this.onCharData=a=>{this.queue.push({target:a.target,type:"characterData",oldValue:a.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var a;((a=this.view.docView)===null||a===void 0?void 0:a.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(a=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),a.length>0&&a[a.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(a=>{a.length>0&&a[a.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((a,o)=>a!=e[o]))){this.gapIntersection.disconnect();for(let a of e)this.gapIntersection.observe(a);this.gaps=e}}onSelectionChange(e){let a=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:o}=this,r=this.selectionRange;if(o.state.facet(fo)?o.root.activeElement!=this.dom:!Ds(this.dom,r))return;let n=r.anchorNode&&o.docView.tile.nearest(r.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){a||(this.selectionChanged=!1);return}(Q.ie&&Q.ie_version<=11||Q.android&&Q.chrome)&&!o.state.selection.main.empty&&r.focusNode&&Rs(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,a=qs(e.root);if(!a)return!1;let o=Q.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&rR(this.view,a)||a;if(!o||this.selectionRange.eq(o))return!1;let r=Ds(this.dom,o);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&QP(this.dom,o)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(o),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,a){this.selectionRange.set(e.node,e.offset,a.node,a.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,a=null;for(let o=this.dom;o;)if(o.nodeType==1)!a&&e<this.scrollTargets.length&&this.scrollTargets[e]==o?e++:a||(a=this.scrollTargets.slice(0,e)),a&&a.push(o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;if(e<this.scrollTargets.length&&!a&&(a=this.scrollTargets.slice(0,e)),a){for(let o of this.scrollTargets)o.removeEventListener("scroll",this.onScroll);for(let o of this.scrollTargets=a)o.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,oR),Nf&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Nf&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,a){var o;if(!this.delayedAndroidKey){let r=()=>{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&Pn(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:a,force:this.lastChange<Date.now()-50||!!(!((o=this.delayedAndroidKey)===null||o===void 0)&&o.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let a=-1,o=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),a==-1?{from:a,to:o}=s:(a=Math.min(s.from,a),o=Math.max(s.to,o)))}return{from:a,to:o,typeOver:r}}readChange(){let{from:e,to:a,typeOver:o}=this.processRecords(),r=this.selectionChanged&&Ds(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new dh(this.view,e,a,o);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let a=this.readChange();if(!a)return this.view.requestMeasure(),!1;let o=this.view.state,r=Lb(this.view,a);return this.view.state==o&&(a.domChanged||a.newSel&&!Yl(this.view.state.selection,a.newSel.main))&&this.view.update([]),r}readMutation(e){let a=this.view.docView.tile.nearest(e.target);if(!a||a.isWidget())return null;if(a.markDirty(e.type=="attributes"),e.type=="childList"){let o=R0(a,e.previousSibling||e.target.previousSibling,-1),r=R0(a,e.nextSibling||e.target.nextSibling,1);return{from:o?a.posAfter(o):a.posAtStart,to:r?a.posBefore(r):a.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:a.posAtStart,to:a.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(fo)!=e.state.facet(fo)&&(e.view.contentDOM.editContext=e.state.facet(fo)?this.editContext.editContext:null))}destroy(){var e,a,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(a=this.gapIntersection)===null||a===void 0||a.disconnect(),(o=this.resizeScroll)===null||o===void 0||o.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function R0(t,e,a){for(;e;){let o=He.get(e);if(o&&o.parent==t)return o;let r=e.parentNode;e=r!=t.dom?r:a>0?e.nextSibling:e.previousSibling}return null}function T0(t,e){let a=e.startContainer,o=e.startOffset,r=e.endContainer,n=e.endOffset,s=t.docView.domAtPos(t.state.selection.main.anchor,1);return Rs(s.node,s.offset,r,n)&&([a,o,r,n]=[r,n,a,o]),{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}}function rR(t,e){if(e.getComposedRanges){let r=e.getComposedRanges(t.root)[0];if(r)return T0(t,r)}let a=null;function o(r){r.preventDefault(),r.stopImmediatePropagation(),a=r.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",o,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",o,!0),a?T0(t,a):null}var Ih=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let a=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=o=>{let r=e.state.selection.main,{anchor:n,head:s}=r,i=this.toEditorPos(o.updateRangeStart),l=this.toEditorPos(o.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:o.updateRangeStart,editorBase:i,drifted:!1});let u=l-i>o.text.length;i==this.from&&n<this.from?i=n:l==this.to&&n>this.to&&(l=n);let d=Cb(e.state.sliceDoc(i,l),o.text,(u?r.from:r.to)-i,u?"end":null);if(!d){let f=X.single(this.toEditorPos(o.selectionStart),this.toEditorPos(o.selectionEnd));Yl(f,r)||e.dispatch({selection:f,userEvent:"select"});return}let c={from:d.from+i,to:d.toA+i,insert:we.of(o.text.slice(d.from,d.toB).split(`
18
- `))};if((Q.mac||Q.android)&&c.from==s-1&&/^\. ?$/.test(o.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(c={from:i,to:l,insert:we.of([o.text.replace("."," ")])}),this.pendingContextChange=c,!e.state.readOnly){let f=this.to-this.from+(c.to-c.from+c.insert.length);zh(e,c,X.single(this.toEditorPos(o.selectionStart,f),this.toEditorPos(o.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),c.from<c.to&&!c.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(a.text.slice(Math.max(0,o.updateRangeStart-1),Math.min(a.text.length,o.updateRangeStart+1)))&&this.handlers.compositionend(o)},this.handlers.characterboundsupdate=o=>{let r=[],n=null;for(let s=this.toEditorPos(o.rangeStart),i=this.toEditorPos(o.rangeEnd);s<i;s++){let l=e.coordsForChar(s);n=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||n||new DOMRect,r.push(n)}a.updateCharacterBounds(o.rangeStart,r)},this.handlers.textformatupdate=o=>{let r=[];for(let n of o.getTextFormats()){let s=n.underlineStyle,i=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(i)){let l=this.toEditorPos(n.rangeStart),u=this.toEditorPos(n.rangeEnd);if(l<u){let d=`text-decoration: underline ${/^[a-z]/.test(s)?s+" ":s=="Dashed"?"dashed ":s=="Squiggle"?"wavy ":""}${/thin/i.test(i)?1:2}px`;r.push(pe.mark({attributes:{style:d}}).range(l,u))}}}e.dispatch({effects:fb.of(pe.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:o}=this.composing;this.composing=null,o&&this.reset(e.state)}};for(let o in this.handlers)a.addEventListener(o,this.handlers[o]);this.measureReq={read:o=>{this.editContext.updateControlBounds(o.contentDOM.getBoundingClientRect());let r=qs(o.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let a=0,o=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,i,l,u)=>{if(o)return;let d=u.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(u)){r=this.pendingContextChange=null,a+=d,this.to+=d;return}else r=null,this.revertPending(e.state);if(n+=a,s+=a,s<=this.from)this.from+=d,this.to+=d;else if(n<this.to){if(n<this.from||s>this.to||this.to-this.from+u.length>3e4){o=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),u.toString()),this.to+=d}a+=d}),r&&!o&&this.revertPending(e.state),!o}update(e){let a=this.pendingContextChange,o=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(o.from,o.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||a)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:a}=e.selection.main;this.from=Math.max(0,a-1e4),this.to=Math.min(e.doc.length,a+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let a=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(a.from),this.toContextPos(a.from+a.insert.length),e.doc.sliceString(a.from,a.to))}setSelection(e){let{main:a}=e.selection,o=this.toContextPos(Math.max(this.from,Math.min(this.to,a.anchor))),r=this.toContextPos(a.head);(this.editContext.selectionStart!=o||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(o,r)}rangeIsValid(e){let{head:a}=e.selection.main;return!(this.from>0&&a-this.from<500||this.to<e.doc.length&&this.to-a<500||this.to-this.from>1e4*3)}toEditorPos(e,a=this.to-this.from){e=Math.min(e,a);let o=this.composing;return o&&o.drifted?o.editorBase+(e-o.contextBase):e+this.from}toContextPos(e){let a=this.composing;return a&&a.drifted?a.contextBase+(e-a.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},Z=class t{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var a;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:o}=e;this.dispatchTransactions=e.dispatchTransactions||o&&(r=>r.forEach(n=>o(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||JP(e.parent)||document,this.viewState=new eu(this,e.state||Me.create(e)),e.scrollTo&&e.scrollTo.is(Rl)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Sn).map(r=>new Es(r));for(let r of this.plugins)r.update(this);this.observer=new Sh(this),this.inputState=new ch(this),this.inputState.ensureHandlers(this.plugins),this.docView=new jl(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((a=document.fonts)===null||a===void 0)&&a.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let a=e.length==1&&e[0]instanceof ot?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(a,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let a=!1,o=!1,r,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,i=0,l=null;e.some(f=>f.annotation(Mb))?(this.inputState.notifiedFocused=s,i=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=Pb(n,s),l||(i=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(d=null)):this.observer.clear(),n.facet(Me.phrases)!=this.state.facet(Me.phrases))return this.setState(n);r=Xl.create(this,n,e),r.flags|=i;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(c&&(c=c.map(f.changes)),f.scrollIntoView){let{main:h}=f.state.selection,{x:p,y:m}=this.state.facet(t.cursorScrollMargin);c=new Ts(h.empty?h:X.cursor(h.head,h.head>h.anchor?-1:1),"nearest","nearest",m,p)}for(let h of f.effects)h.is(Rl)&&(c=h.value.clip(this.state))}this.viewState.update(r,c),this.bidiCache=tu.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),a=this.docView.update(r),this.state.facet(Ms)!=this.styleModules&&this.mountStyles(),o=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(a,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(Ol)!=r.state.facet(Ol)&&(this.viewState.mustMeasureContent=!0),(a||o||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),a&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(Yf))try{f(r)}catch(h){ht(this.state,h,"update listener")}(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!Lb(this,d)&&u.force&&Pn(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let a=this.hasFocus;try{for(let o of this.plugins)o.destroy(this);this.viewState=new eu(this,e),this.plugins=e.facet(Sn).map(o=>new Es(o)),this.pluginMap.clear();for(let o of this.plugins)o.update(this);this.docView.destroy(),this.docView=new jl(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}a&&this.focus(),this.requestMeasure()}updatePlugins(e){let a=e.startState.facet(Sn),o=e.state.facet(Sn);if(a!=o){let r=[];for(let n of o){let s=a.indexOf(n);if(s<0)r.push(new Es(n));else{let i=this.plugins[s];i.mustUpdate=e,r.push(i)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);a!=o&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let a=e.value;if(a&&a.docViewUpdate)try{a.docViewUpdate(this)}catch(o){ht(this.state,o,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let a=null,o=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let i=0;;i++){if(s<0)if(j0(o||this.win))n=-1,s=this.viewState.heightMap.height;else{let h=this.viewState.scrollAnchorAt(r);n=h.from,s=h.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(i>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(h=>{try{return h.read(this)}catch(p){return ht(this.state,p),E0}}),c=Xl.create(this,this.state,[]),f=!1;c.flags|=l,a?a.flags|=l:a=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),f=this.docView.update(c),f&&this.docViewUpdate());for(let h=0;h<u.length;h++)if(d[h]!=E0)try{let p=u[h];p.write&&p.write(d[h],this)}catch(p){ht(this.state,p)}if(f&&this.docView.updateSelection(!0),!c.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let p=((n<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(n).top)-s)/this.scaleY;if((p>1||p<-1)&&(o==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,o?o.scrollTop+=p:this.win.scrollBy(0,p),s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(a&&!a.empty)for(let i of this.state.facet(Yf))i(a)}get themeClasses(){return Ch+" "+(this.state.facet(Lh)?Tb:Rb)+" "+this.state.facet(Ol)}updateAttrs(){let e=B0(this,hb,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),a={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(fo)?"true":"false",class:"cm-content",style:`${Q.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(a["aria-readonly"]="true"),B0(this,Nh,a);let o=this.observer.ignore(()=>{let r=f0(this.contentDOM,this.contentAttrs,a),n=f0(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=a,o}showAnnouncements(e){let a=!0;for(let o of e)for(let r of o.effects)if(r.is(t.announce)){a&&(this.announceDOM.textContent=""),a=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Ms);let e=this.state.facet(t.cspNonce);oa.mount(this.root,this.styleModules.concat(aR).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let a=0;a<this.measureRequests.length;a++)if(this.measureRequests[a].key===e.key){this.measureRequests[a]=e;return}}this.measureRequests.push(e)}}plugin(e){let a=this.pluginMap.get(e);return(a===void 0||a&&a.plugin!=e)&&this.pluginMap.set(e,a=this.plugins.find(o=>o.plugin==e)||null),a&&a.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,a,o){return Of(this,e,b0(this,e,a,o))}moveByGroup(e,a){return Of(this,e,b0(this,e,a,o=>AD(this,e.head,o)))}visualLineSide(e,a){let o=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=o[a?o.length-1:0];return X.cursor(n.side(a,r)+e.from,n.forward(!a,r)?1:-1)}moveToLineBoundary(e,a,o=!0){return kD(this,e,a,o)}moveVertically(e,a,o){return Of(this,e,MD(this,e,a,o))}domAtPos(e,a=1){return this.docView.domAtPos(e,a)}posAtDOM(e,a=0){return this.docView.posFromDOM(e,a)}posAtCoords(e,a=!0){this.readMeasured();let o=ih(this,e,a);return o&&o.pos}posAndSideAtCoords(e,a=!0){return this.readMeasured(),ih(this,e,a)}coordsAtPos(e,a=1){this.readMeasured();let o=this.docView.coordsAt(e,a);if(!o||o.left==o.right)return o;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[sa.find(n,e-r.from,-1,a)];return $l(o,s.dir==Ie.LTR==a>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(ub)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>nR)return tb(e.length);let a=this.textDirectionAt(e.from),o;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==a&&(n.fresh||eb(n.isolates,o=m0(this,e))))return n.order;o||(o=m0(this,e));let r=sD(e.text,a,o);return this.bidiCache.push(new tu(e.from,e.to,a,o,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Q.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{K0(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,a={}){var o,r,n,s;return Rl.of(new Ts(typeof e=="number"?X.cursor(e):e,(o=a.y)!==null&&o!==void 0?o:"nearest",(r=a.x)!==null&&r!==void 0?r:"nearest",(n=a.yMargin)!==null&&n!==void 0?n:5,(s=a.xMargin)!==null&&s!==void 0?s:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:a}=this.scrollDOM,o=this.viewState.scrollAnchorAt(e);return Rl.of(new Ts(X.cursor(o.from),"start","start",o.top-e,a,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ze.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ze.define(()=>({}),{eventObservers:e})}static theme(e,a){let o=oa.newName(),r=[Ol.of(o),Ms.of(vh(`.${o}`,e))];return a&&a.dark&&r.push(Lh.of(!0)),r}static baseTheme(e){return Xt.lowest(Ms.of(vh("."+Ch,e,Eb)))}static findFromDOM(e){var a;let o=e.querySelector(".cm-content"),r=o&&He.get(o)||He.get(e);return((a=r?.root)===null||a===void 0?void 0:a.view)||null}};Z.styleModule=Ms;Z.inputHandler=ib;Z.clipboardInputFilter=Fh;Z.clipboardOutputFilter=Oh;Z.scrollHandler=cb;Z.focusChangeEffect=lb;Z.perLineTextDirection=ub;Z.exceptionSink=sb;Z.updateListener=Yf;Z.editable=fo;Z.mouseSelectionStyle=nb;Z.dragMovesSelection=rb;Z.clickAddsSelectionRange=ob;Z.decorations=lu;Z.blockWrappers=pb;Z.outerDecorations=_h;Z.atomicRanges=Ws;Z.bidiIsolatedRanges=mb;Z.cursorScrollMargin=Y.define({combine:t=>{let e=5,a=5;for(let o of t)typeof o=="number"?e=a=o:{x:e,y:a}=o;return{x:e,y:a}}});Z.scrollMargins=gb;Z.darkTheme=Lh;Z.cspNonce=Y.define({combine:t=>t.length?t[0]:""});Z.contentAttributes=Nh;Z.editorAttributes=hb;Z.lineWrapping=Z.contentAttributes.of({class:"cm-lineWrapping"});Z.announce=de.define();var nR=4096,E0={},tu=class t{constructor(e,a,o,r,n,s){this.from=e,this.to=a,this.dir=o,this.isolates=r,this.fresh=n,this.order=s}static update(e,a){if(a.empty&&!e.some(n=>n.fresh))return e;let o=[],r=e.length?e[e.length-1].dir:Ie.LTR;for(let n=Math.max(0,e.length-10);n<e.length;n++){let s=e[n];s.dir==r&&!a.touchesRange(s.from,s.to)&&o.push(new t(a.mapPos(s.from,1),a.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return o}};function B0(t,e,a){for(let o=t.state.facet(e),r=o.length-1;r>=0;r--){let n=o[r],s=typeof n=="function"?n(t):n;s&&Th(s,a)}return a}var sR=Q.mac?"mac":Q.windows?"win":Q.linux?"linux":"key";function iR(t,e){let a=t.split(/-(?!$)/),o=a[a.length-1];o=="Space"&&(o=" ");let r,n,s,i;for(let l=0;l<a.length-1;++l){let u=a[l];if(/^(cmd|meta|m)$/i.test(u))i=!0;else if(/^a(lt)?$/i.test(u))r=!0;else if(/^(c|ctrl|control)$/i.test(u))n=!0;else if(/^s(hift)?$/i.test(u))s=!0;else if(/^mod$/i.test(u))e=="mac"?i=!0:n=!0;else throw new Error("Unrecognized modifier name: "+u)}return r&&(o="Alt-"+o),n&&(o="Ctrl-"+o),i&&(o="Meta-"+o),s&&(o="Shift-"+o),o}function Nl(t,e,a){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),a!==!1&&e.shiftKey&&(t="Shift-"+t),t}var lR=Xt.default(Z.domEventHandlers({keydown(t,e){return Ob(Bb(e.state),t,e,"editor")}})),Ar=Y.define({enables:lR}),F0=new WeakMap;function Bb(t){let e=t.facet(Ar),a=F0.get(e);return a||F0.set(e,a=dR(e.reduce((o,r)=>o.concat(r),[]))),a}function Fb(t,e,a){return Ob(Bb(t.state),e,t,a)}var Eo=null,uR=4e3;function dR(t,e=sR){let a=Object.create(null),o=Object.create(null),r=(s,i)=>{let l=o[s];if(l==null)o[s]=i;else if(l!=i)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,i,l,u,d)=>{var c,f;let h=a[s]||(a[s]=Object.create(null)),p=i.split(/ (?!$)/).map(x=>iR(x,e));for(let x=1;x<p.length;x++){let y=p.slice(0,x).join(" ");r(y,!0),h[y]||(h[y]={preventDefault:!0,stopPropagation:!1,run:[w=>{let C=Eo={view:w,prefix:y,scope:s};return setTimeout(()=>{Eo==C&&(Eo=null)},uR),!0}]})}let m=p.join(" ");r(m,!1);let g=h[m]||(h[m]={preventDefault:!1,stopPropagation:!1,run:((f=(c=h._any)===null||c===void 0?void 0:c.run)===null||f===void 0?void 0:f.slice())||[]});l&&g.run.push(l),u&&(g.preventDefault=!0),d&&(g.stopPropagation=!0)};for(let s of t){let i=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let u of i){let d=a[u]||(a[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:c}=s;for(let f in d)d[f].run.push(h=>c(h,kh))}let l=s[e]||s.key;if(l)for(let u of i)n(u,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(u,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return a}var kh=null;function Ob(t,e,a,o){kh=e;let r=i0(e),n=Bt(r,0),s=aa(n)==r.length&&r!=" ",i="",l=!1,u=!1,d=!1;Eo&&Eo.view==a&&Eo.scope==o&&(i=Eo.prefix+" ",Sb.indexOf(e.keyCode)<0&&(u=!0,Eo=null));let c=new Set,f=g=>{if(g){for(let x of g.run)if(!c.has(x)&&(c.add(x),x(a)))return g.stopPropagation&&(d=!0),!0;g.preventDefault&&(g.stopPropagation&&(d=!0),u=!0)}return!1},h=t[o],p,m;return h&&(f(h[i+Nl(r,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Q.windows&&e.ctrlKey&&e.altKey)&&!(Q.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=co[e.keyCode])&&p!=r?(f(h[i+Nl(p,e,!0)])||e.shiftKey&&(m=Cn[e.keyCode])!=r&&m!=p&&f(h[i+Nl(m,e,!1)]))&&(l=!0):s&&e.shiftKey&&f(h[i+Nl(r,e,!0)])&&(l=!0),!l&&f(h._any)&&(l=!0)),u&&(l=!0),l&&d&&e.stopPropagation(),kh=null,l}var Cr=class t{constructor(e,a,o,r,n){this.className=e,this.left=a,this.top=o,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,a){return a.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,a,o){if(o.empty){let r=e.coordsAtPos(o.head,o.assoc||1);if(!r)return[];let n=Nb(e);return[new t(a,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return cR(e,a,o)}};function Nb(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==Ie.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function O0(t,e,a,o){let r=t.coordsAtPos(e,a*2);if(!r)return o;let n=t.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,i=t.posAtCoords({x:n.left+1,y:s}),l=t.posAtCoords({x:n.right-1,y:s});return i==null||l==null?o:{from:Math.max(o.from,Math.min(i,l)),to:Math.min(o.to,Math.max(i,l))}}function cR(t,e,a){if(a.to<=t.viewport.from||a.from>=t.viewport.to)return[];let o=Math.max(a.from,t.viewport.from),r=Math.min(a.to,t.viewport.to),n=t.textDirection==Ie.LTR,s=t.contentDOM,i=s.getBoundingClientRect(),l=Nb(t),u=s.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),c=i.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),f=i.right-(d?parseInt(d.paddingRight):0),h=sh(t,o,1),p=sh(t,r,-1),m=h.type==pt.Text?h:null,g=p.type==pt.Text?p:null;if(m&&(t.lineWrapping||h.widgetLineBreaks)&&(m=O0(t,o,1,m)),g&&(t.lineWrapping||p.widgetLineBreaks)&&(g=O0(t,r,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return y(w(a.from,a.to,m));{let I=m?w(a.from,null,m):C(h,!1),v=g?w(null,a.to,g):C(p,!0),L=[];return(m||h).to<(g||p).from-(m&&g?1:0)||h.widgetLineBreaks>1&&I.bottom+t.defaultLineHeight/2<v.top?L.push(x(c,I.bottom,f,v.top)):I.bottom<v.top&&t.elementAtHeight((I.bottom+v.top)/2).type==pt.Text&&(I.bottom=v.top=(I.bottom+v.top)/2),y(I).concat(L).concat(y(v))}function x(I,v,L,S){return new Cr(e,I-l.left,v-l.top,Math.max(0,L-I),S-v)}function y({top:I,bottom:v,horizontal:L}){let S=[];for(let A=0;A<L.length;A+=2)S.push(x(L[A],I,L[A+1],v));return S}function w(I,v,L){let S=1e9,A=-1e9,H=[];function M(k,T,D,E,q){let B=t.coordsAtPos(k,k==L.to?-2:2),P=t.coordsAtPos(D,D==L.from?2:-2);!B||!P||(S=Math.min(B.top,P.top,S),A=Math.max(B.bottom,P.bottom,A),q==Ie.LTR?H.push(n&&T?c:B.left,n&&E?f:P.right):H.push(!n&&E?c:P.left,!n&&T?f:B.right))}let R=I??L.from,z=v??L.to;for(let k of t.visibleRanges)if(k.to>R&&k.from<z)for(let T=Math.max(k.from,R),D=Math.min(k.to,z);;){let E=t.state.doc.lineAt(T);for(let q of t.bidiSpans(E)){let B=q.from+E.from,P=q.to+E.from;if(B>=D)break;P>T&&M(Math.max(B,T),I==null&&B<=R,Math.min(P,D),v==null&&P>=z,q.dir)}if(T=E.to+1,T>=D)break}return H.length==0&&M(R,I==null,z,v==null,t.textDirection),{top:S,bottom:A,horizontal:H}}function C(I,v){let L=i.top+(v?I.top:I.bottom);return{top:L,bottom:L,horizontal:[]}}}function fR(t,e){return t.constructor==e.constructor&&t.eq(e)}var Ah=class{constructor(e,a){this.view=e,this.layer=a,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),a.above&&this.dom.classList.add("cm-layer-above"),a.class&&this.dom.classList.add(a.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),a.mount&&a.mount(this.dom,e)}update(e){e.startState.facet(Ul)!=e.state.facet(Ul)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let a=0,o=e.facet(Ul);for(;a<o.length&&o[a]!=this.layer;)a++;this.dom.style.zIndex=String((this.layer.above?150:-1)-a)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:a}=this.view;(e!=this.scaleX||a!=this.scaleY)&&(this.scaleX=e,this.scaleY=a,this.dom.style.transform=`scale(${1/e}, ${1/a})`)}draw(e){if(e.length!=this.drawn.length||e.some((a,o)=>!fR(a,this.drawn[o]))){let a=this.dom.firstChild,o=0;for(let r of e)r.update&&a&&r.constructor&&this.drawn[o].constructor&&r.update(a,this.drawn[o])?(a=a.nextSibling,o++):this.dom.insertBefore(r.draw(),a);for(;a;){let r=a.nextSibling;a.remove(),a=r}this.drawn=e,Q.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},Ul=Y.define();function _b(t){return[Ze.define(e=>new Ah(e,t)),Ul.of(t)]}var Fn=Y.define({combine(t){return Ft(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,a)=>Math.min(e,a),drawRangeCursor:(e,a)=>e||a})}});function Hb(t={}){return[Fn.of(t),hR,pR,mR,db.of(!0)]}function zb(t){return t.startState.facet(Fn)!=t.state.facet(Fn)}var hR=_b({above:!0,markers(t){let{state:e}=t,a=e.facet(Fn),o=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||a.drawRangeCursor&&!(n&&Q.ios&&a.iosSelectionHandles)){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=r.empty?r:X.cursor(r.head,r.assoc);for(let l of Cr.forRange(t,s,i))o.push(l)}}return o},update(t,e){t.transactions.some(o=>o.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let a=zb(t);return a&&N0(t.state,e),t.docChanged||t.selectionSet||a},mount(t,e){N0(e.state,t)},class:"cm-cursorLayer"});function N0(t,e){e.style.animationDuration=t.facet(Fn).cursorBlinkRate+"ms"}var pR=_b({above:!1,markers(t){let e=[],{main:a,ranges:o}=t.state.selection;for(let r of o)if(!r.empty)for(let n of Cr.forRange(t,"cm-selectionBackground",r))e.push(n);if(Q.ios&&!a.empty&&t.state.facet(Fn).iosSelectionHandles){for(let r of Cr.forRange(t,"cm-selectionHandle cm-selectionHandle-start",X.cursor(a.from,1)))e.push(r);for(let r of Cr.forRange(t,"cm-selectionHandle cm-selectionHandle-end",X.cursor(a.to,1)))e.push(r)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||zb(t)},class:"cm-selectionLayer"}),mR=Xt.highest(Z.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));var F4=/x/.unicode!=null?"gu":"g";function qb(){return xR}var gR=pe.line({class:"cm-activeLine"}),xR=Ze.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,a=[];for(let o of t.state.selection.ranges){let r=t.lineBlockAt(o.head);r.from>e&&(a.push(gR.range(r.from)),e=r.from)}return pe.set(a)}},{decorations:t=>t.decorations});var _l="-10000px",au=class{constructor(e,a,o,r){this.facet=a,this.createTooltipView=o,this.removeTooltipView=r,this.input=e.state.facet(a),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=o(s,n))}update(e,a){var o;let r=e.state.facet(this.facet),n=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let s=[],i=a?[]:null;for(let l=0;l<n.length;l++){let u=n[l],d=-1;if(u){for(let c=0;c<this.tooltips.length;c++){let f=this.tooltips[c];f&&f.create==u.create&&(d=c)}if(d<0)s[l]=this.createTooltipView(u,l?s[l-1]:null),i&&(i[l]=!!u.above);else{let c=s[l]=this.tooltipViews[d];i&&(i[l]=a[d]),c.update&&c.update(e)}}}for(let l of this.tooltipViews)s.indexOf(l)<0&&(this.removeTooltipView(l),(o=l.destroy)===null||o===void 0||o.call(l));return a&&(i.forEach((l,u)=>a[u]=l),a.length=i.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function bR(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var _f=Y.define({combine:t=>{var e,a,o;return{position:Q.ios?"absolute":((e=t.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((a=t.find(r=>r.parent))===null||a===void 0?void 0:a.parent)||null,tooltipSpace:((o=t.find(r=>r.tooltipSpace))===null||o===void 0?void 0:o.tooltipSpace)||bR}}}),_0=new WeakMap,qh=Ze.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(_f);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new au(t,On,(a,o)=>this.createTooltip(a,o),a=>{this.resizeObserver&&this.resizeObserver.unobserve(a.dom),a.dom.remove()}),this.above=this.manager.tooltips.map(a=>!!a.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let a=e||t.geometryChanged,o=t.state.facet(_f);if(o.position!=this.position&&!this.madeAbsolute){this.position=o.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;a=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);a=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);a&&this.maybeMeasure()}createTooltip(t,e){let a=t.create(this.view),o=e?e.dom:null;if(a.dom.classList.add("cm-tooltip"),t.arrow&&!a.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",a.dom.appendChild(r)}return a.dom.style.position=this.position,a.dom.style.top=_l,a.dom.style.left="0px",this.container.insertBefore(a.dom,o),a.mount&&a.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(a.dom),a}destroy(){var t,e,a;this.view.win.removeEventListener("resize",this.measureSoon);for(let o of this.manager.tooltipViews)o.dom.remove(),(t=o.destroy)===null||t===void 0||t.call(o);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(a=this.intersectionObserver)===null||a===void 0||a.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,a=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(Q.safari){let s=n.getBoundingClientRect();a=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else a=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(a||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(t=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let o=this.view.scrollDOM.getBoundingClientRect(),r=Hh(this.view);return{visible:{left:o.left+r.left,top:o.top+r.top,right:o.right-r.right,bottom:o.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let i=this.manager.tooltipViews[s];return i.getCoords?i.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(_f).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:a}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let i of this.manager.tooltipViews)i.dom.style.position="absolute"}let{visible:a,space:o,scaleX:r,scaleY:n}=t,s=[];for(let i=0;i<this.manager.tooltips.length;i++){let l=this.manager.tooltips[i],u=this.manager.tooltipViews[i],{dom:d}=u,c=t.pos[i],f=t.size[i];if(!c||l.clip!==!1&&(c.bottom<=Math.max(a.top,o.top)||c.top>=Math.min(a.bottom,o.bottom)||c.right<Math.max(a.left,o.left)-.1||c.left>Math.min(a.right,o.right)+.1)){d.style.top=_l;continue}let h=l.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,p=h?7:0,m=f.right-f.left,g=(e=_0.get(u))!==null&&e!==void 0?e:f.bottom-f.top,x=u.offset||yR,y=this.view.textDirection==Ie.LTR,w=f.width>o.right-o.left?y?o.left:o.right-f.width:y?Math.max(o.left,Math.min(c.left-(h?14:0)+x.x,o.right-m)):Math.min(Math.max(o.left,c.left-m+(h?14:0)-x.x),o.right-m),C=this.above[i];!l.strictSide&&(C?c.top-g-p-x.y<o.top:c.bottom+g+p+x.y>o.bottom)&&C==o.bottom-c.bottom>c.top-o.top&&(C=this.above[i]=!C);let I=(C?c.top-o.top:o.bottom-c.bottom)-p;if(I<g&&u.resize!==!1){if(I<this.view.defaultLineHeight){d.style.top=_l;continue}_0.set(u,g),d.style.height=(g=I)/n+"px"}else d.style.height&&(d.style.height="");let v=C?c.top-g-p-x.y:c.bottom+p+x.y,L=w+m;if(u.overlap!==!0)for(let S of s)S.left<L&&S.right>w&&S.top<v+g&&S.bottom>v&&(v=C?S.top-g-2-p:S.bottom+p+2);if(this.position=="absolute"?(d.style.top=(v-t.parent.top)/n+"px",H0(d,(w-t.parent.left)/r)):(d.style.top=v/n+"px",H0(d,w/r)),h){let S=c.left+(y?x.x:-x.x)-(w+14-7);h.style.left=S/r+"px"}u.overlap!==!0&&s.push({left:w,top:v,right:L,bottom:v+g}),d.classList.toggle("cm-tooltip-above",C),d.classList.toggle("cm-tooltip-below",!C),u.positioned&&u.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=_l}},{eventObservers:{scroll(){this.maybeMeasure()}}});function H0(t,e){let a=parseInt(t.style.left,10);(isNaN(a)||Math.abs(e-a)>1)&&(t.style.left=e+"px")}var wR=Z.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),yR={x:0,y:0},On=Y.define({enables:[qh,wR]}),ou=Y.define({combine:t=>t.reduce((e,a)=>e.concat(a),[])}),ru=class t{static create(e){return new t(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new au(e,ou,(a,o)=>this.createHostedView(a,o),a=>a.dom.remove())}createHostedView(e,a){let o=e.create(this.view);return o.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(o.dom,a?a.dom.nextSibling:this.dom.firstChild),this.mounted&&o.mount&&o.mount(this.view),o}mount(e){for(let a of this.manager.tooltipViews)a.mount&&a.mount(e);this.mounted=!0}positioned(e){for(let a of this.manager.tooltipViews)a.positioned&&a.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let a of this.manager.tooltipViews)(e=a.destroy)===null||e===void 0||e.call(a)}passProp(e){let a;for(let o of this.manager.tooltipViews){let r=o[e];if(r!==void 0){if(a===void 0)a=r;else if(a!==r)return}}return a}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},LR=On.compute([ou],t=>{let e=t.facet(ou);return e.length===0?null:{pos:Math.min(...e.map(a=>a.pos)),end:Math.max(...e.map(a=>{var o;return(o=a.end)!==null&&o!==void 0?o:a.pos})),create:ru.create,above:e[0].above,arrow:e.some(a=>a.arrow)}}),CR=Y.define(),Mh=class{constructor(e,a,o,r,n,s){this.view=e,this.source=a,this.field=o,this.locked=r,this.setHover=n,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:a}=this,o=e.docView.tile.nearest(a.target);if(!o)return;let r,n=1;if(o.isWidget())r=o.posAtStart;else{if(r=e.posAtCoords(a),r==null)return;let s=e.coordsAtPos(r);if(!s||a.y<s.top||a.y>s.bottom||a.x<s.left-e.defaultCharacterWidth||a.x>s.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),l=i&&i.dir==Ie.RTL?-1:1;n=a.x<s.left?-l:l}this.activateHover(e,r,n)}activateHover(e,a,o,r){let n=this.source(e,a,o),s=i=>{if(i&&!(Array.isArray(i)&&!i.length)){let l=Array.isArray(i)?i:[i];r&&this.locked.set(l,r),e.dispatch({effects:this.setHover.of(l)})}};if(n&&"then"in n){let i=this.pending={pos:a};n.then(l=>{this.pending==i&&(this.pending=null,s(l))},l=>ht(e.state,l,"hover tooltip"))}else s(n)}get tooltip(){let e=this.view.plugin(qh),a=e?e.manager.tooltips.findIndex(o=>o.create==ru.create):-1;return a>-1?e.manager.tooltipViews[a]:null}mousemove(e){var a,o;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&!this.locked.has(r)&&n&&!vR(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,i=(o=(a=r[0])===null||a===void 0?void 0:a.end)!==null&&o!==void 0?o:s;(s==i?this.view.posAtCoords(this.lastMove)!=s:!SR(this.view,s,i,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:a}=this;if(a.length&&!this.locked.has(a)){let{tooltip:o}=this;o&&o.dom.contains(e.relatedTarget)?this.watchTooltipLeave(o.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let a=o=>{e.removeEventListener("mouseleave",a);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(o.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",a)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},Hl=4;function vR(t,e){let{left:a,right:o,top:r,bottom:n}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let i=s.getBoundingClientRect();r=Math.min(i.top,r),n=Math.max(i.bottom,n)}return e.clientX>=a-Hl&&e.clientX<=o+Hl&&e.clientY>=r-Hl&&e.clientY<=n+Hl}function SR(t,e,a,o,r,n){let s=t.scrollDOM.getBoundingClientRect(),i=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>o||s.right<o||s.top>r||Math.min(s.bottom,i)<r)return!1;let l=t.posAtCoords({x:o,y:r},!1);return l>=e&&l<=a}function du(t,e={}){let a=de.define(),o=new WeakMap,r=Ve.define({create(){return[]},update(s,i){let l=o.get(s);if(s.length&&(e.hideOnChange&&(i.docChanged||i.selection)?s=[]:l&&l(i)?s=[]:e.hideOn&&(s=s.filter(u=>!e.hideOn(i,u)))),i.docChanged&&s.length){let u=[];for(let d of s){let c=i.changes.mapPos(d.pos,-1,ft.TrackDel);if(c!=null){let f=Object.assign(Object.create(null),d);f.pos=c,f.end!=null&&(f.end=i.changes.mapPos(f.end)),u.push(f)}}s=u}for(let u of i.effects)u.is(a)&&(s=u.value,l=void 0),(u.is(IR)&&!u.value||u.value==r)&&(s=[]);return s.length&&l&&o.set(s,l),s},provide:s=>ou.from(s)}),n=Ze.define(s=>new Mh(s,t,r,o,a,e.hoverTime||300));return{active:r,extension:[r,n,CR.of(n),LR]}}function Uh(t,e){let a=t.plugin(qh);if(!a)return null;let o=a.manager.tooltips.indexOf(e);return o<0?null:a.manager.tooltipViews[o]}var IR=de.define();var z0=Y.define({combine(t){let e,a;for(let o of t)e=e||o.topContainer,a=a||o.bottomContainer;return{topContainer:e,bottomContainer:a}}});function cu(t,e){let a=t.plugin(Ub),o=a?a.specs.indexOf(e):-1;return o>-1?a.panels[o]:null}var Ub=Ze.fromClass(class{constructor(t){this.input=t.state.facet(kr),this.specs=this.input.filter(a=>a),this.panels=this.specs.map(a=>a(t));let e=t.state.facet(z0);this.top=new kn(t,!0,e.topContainer),this.bottom=new kn(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(a=>a.top)),this.bottom.sync(this.panels.filter(a=>!a.top));for(let a of this.panels)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}update(t){let e=t.state.facet(z0);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new kn(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new kn(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let a=t.state.facet(kr);if(a!=this.input){let o=a.filter(l=>l),r=[],n=[],s=[],i=[];for(let l of o){let u=this.specs.indexOf(l),d;u<0?(d=l(t.view),i.push(d)):(d=this.panels[u],d.update&&d.update(t)),r.push(d),(d.top?n:s).push(d)}this.specs=o,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let l of i)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let o of this.panels)o.update&&o.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>Z.scrollMargins.of(e=>{let a=e.plugin(t);return a&&{top:a.top.scrollMargin(),bottom:a.bottom.scrollMargin()}})}),kn=class{constructor(e,a,o){this.view=e,this.top=a,this.container=o,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let a of this.panels)a.destroy&&e.indexOf(a)<0&&a.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let a=this.container||this.view.dom;a.insertBefore(this.dom,this.top?a.firstChild:null)}let e=this.dom.firstChild;for(let a of this.panels)if(a.dom.parentNode==this.dom){for(;e!=a.dom;)e=q0(e);e=e.nextSibling}else this.dom.insertBefore(a.dom,e);for(;e;)e=q0(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function q0(t){let e=t.nextSibling;return t.remove(),e}var kr=Y.define({enables:Ub});function Wb(t,e){let a,o=new Promise(s=>a=s),r=s=>kR(s,e,a);t.state.field(Hf,!1)?t.dispatch({effects:Vb.of(r)}):t.dispatch({effects:de.appendConfig.of(Hf.init(()=>[r]))});let n=Gb.of(r);return{close:n,result:o.then(s=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(Hf).indexOf(r)>-1&&t.dispatch({effects:n})}),s))}}var Hf=Ve.define({create(){return[]},update(t,e){for(let a of e.effects)a.is(Vb)?t=[a.value].concat(t):a.is(Gb)&&(t=t.filter(o=>o!=a.value));return t},provide:t=>kr.computeN([t],e=>e.field(t))}),Vb=de.define(),Gb=de.define();function kR(t,e,a){let o=e.content?e.content(t,()=>s(null)):null;if(!o){if(o=Ce("form"),e.input){let i=Ce("input",e.input);/^(text|password|number|email|tel|url)$/.test(i.type)&&i.classList.add("cm-textfield"),i.name||(i.name="input"),o.appendChild(Ce("label",(e.label||"")+": ",i))}else o.appendChild(document.createTextNode(e.label||""));o.appendChild(document.createTextNode(" ")),o.appendChild(Ce("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let r=o.nodeName=="FORM"?[o]:o.querySelectorAll("form");for(let i=0;i<r.length;i++){let l=r[i];l.addEventListener("keydown",u=>{u.keyCode==27?(u.preventDefault(),s(null)):u.keyCode==13&&(u.preventDefault(),s(l))}),l.addEventListener("submit",u=>{u.preventDefault(),s(l)})}let n=Ce("div",o,Ce("button",{onclick:()=>s(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xD7"]));e.class&&(n.className=e.class),n.classList.add("cm-dialog");function s(i){n.contains(n.ownerDocument.activeElement)&&t.focus(),a(i)}return{dom:n,top:e.top,mount:()=>{if(e.focus){let i;typeof e.focus=="string"?i=o.querySelector(e.focus):i=o.querySelector("input")||o.querySelector("button"),i&&"select"in i?i.select():i&&"focus"in i&&i.focus()}}}}var ia=class extends ta{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};ia.prototype.elementClass="";ia.prototype.toDOM=void 0;ia.prototype.mapMode=ft.TrackBefore;ia.prototype.startSide=ia.prototype.endSide=-1;ia.prototype.point=!0;var zf=Y.define(),AR=Y.define(),MR={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>ye.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Ns=Y.define();function Wh(t){return[$b(),Ns.of({...MR,...t})]}var Ph=Y.define({combine:t=>t.some(e=>e)});function $b(t){let e=[PR];return t&&t.fixed===!1&&e.push(Ph.of(!0)),e}var PR=Ze.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Ns).map(e=>new nu(t,e)),this.fixed=!t.state.facet(Ph);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,a=t.view.viewport,o=Math.min(e.to,a.to)-Math.max(e.from,a.from);this.syncGutters(o<(a.to-a.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Ph)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let a=ye.iter(this.view.state.facet(zf),this.view.viewport.from),o=[],r=this.gutters.map(n=>new Rh(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(o.length&&(o=[]),Array.isArray(n.type)){let s=!0;for(let i of n.type)if(i.type==pt.Text&&s){Dh(a,o,i.from);for(let l of r)l.line(this.view,i,o);s=!1}else if(i.widget)for(let l of r)l.widget(this.view,i)}else if(n.type==pt.Text){Dh(a,o,n.from);for(let s of r)s.line(this.view,n,o)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Ns),a=t.state.facet(Ns),o=t.docChanged||t.heightChanged||t.viewportChanged||!ye.eq(t.startState.facet(zf),t.state.facet(zf),t.view.viewport.from,t.view.viewport.to);if(e==a)for(let r of this.gutters)r.update(t)&&(o=!0);else{o=!0;let r=[];for(let n of a){let s=e.indexOf(n);s<0?r.push(new nu(this.view,n)):(this.gutters[s].update(t),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return o}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>Z.scrollMargins.of(e=>{let a=e.plugin(t);if(!a||a.gutters.length==0||!a.fixed)return null;let o=a.dom.offsetWidth*e.scaleX,r=a.domAfter?a.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==Ie.LTR?{left:o,right:r}:{right:o,left:r}})});function U0(t){return Array.isArray(t)?t:[t]}function Dh(t,e,a){for(;t.value&&t.from<=a;)t.from==a&&e.push(t.value),t.next()}var Rh=class{constructor(e,a,o){this.gutter=e,this.height=o,this.i=0,this.cursor=ye.iter(e.markers,a.from)}addElement(e,a,o){let{gutter:r}=this,n=(a.top-this.height)/e.scaleY,s=a.height/e.scaleY;if(this.i==r.elements.length){let i=new su(e,s,n,o);r.elements.push(i),r.dom.appendChild(i.dom)}else r.elements[this.i].update(e,s,n,o);this.height=a.bottom,this.i++}line(e,a,o){let r=[];Dh(this.cursor,r,a.from),o.length&&(r=r.concat(o));let n=this.gutter.config.lineMarker(e,a,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,a,r)}widget(e,a){let o=this.gutter.config.widgetMarker(e,a.widget,a),r=o?[o]:null;for(let n of e.state.facet(AR)){let s=n(e,a.widget,a);s&&(r||(r=[])).push(s)}r&&this.addElement(e,a,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let a=e.elements.pop();e.dom.removeChild(a.dom),a.destroy()}}},nu=class{constructor(e,a){this.view=e,this.config=a,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let o in a.domEventHandlers)this.dom.addEventListener(o,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let l=n.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=r.clientY;let i=e.lineBlockAtHeight(s-e.documentTop);a.domEventHandlers[o](e,i,r)&&r.preventDefault()});this.markers=U0(a.markers(e)),a.initialSpacer&&(this.spacer=new su(e,0,0,[a.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let a=this.markers;if(this.markers=U0(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let o=e.view.viewport;return!ye.eq(this.markers,a,o.from,o.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},su=class{constructor(e,a,o,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,a,o,r)}update(e,a,o,r){this.height!=a&&(this.height=a,this.dom.style.height=a+"px"),this.above!=o&&(this.dom.style.marginTop=(this.above=o)?o+"px":""),DR(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,a){let o="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let i=s,l=n<a.length?a[n++]:null,u=!1;if(l){let d=l.elementClass;d&&(o+=" "+d);for(let c=s;c<this.markers.length;c++)if(this.markers[c].compare(l)){i=c,u=!0;break}}else i=this.markers.length;for(;s<i;){let d=this.markers[s++];if(d.toDOM){d.destroy(r);let c=r.nextSibling;r.remove(),r=c}}if(!l)break;l.toDOM&&(u?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),u&&s++}this.dom.className=o,this.markers=a}destroy(){this.setMarkers(null,[])}};function DR(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(!t[a].compare(e[a]))return!1;return!0}var RR=Y.define(),TR=Y.define(),An=Y.define({combine(t){return Ft(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,a){let o=Object.assign({},e);for(let r in a){let n=o[r],s=a[r];o[r]=n?(i,l,u)=>n(i,l,u)||s(i,l,u):s}return o}})}}),_s=class extends ia{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function qf(t,e){return t.state.facet(An).formatNumber(e,t.state)}var ER=Ns.compute([An],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(RR)},lineMarker(e,a,o){return o.some(r=>r.toDOM)?null:new _s(qf(e,e.state.doc.lineAt(a.from).number))},widgetMarker:(e,a,o)=>{for(let r of e.state.facet(TR)){let n=r(e,a,o);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(An)!=e.state.facet(An),initialSpacer(e){return new _s(qf(e,W0(e.state.doc.lines)))},updateSpacer(e,a){let o=qf(a.view,W0(a.view.state.doc.lines));return o==e.number?e:new _s(o)},domEventHandlers:t.facet(An).domEventHandlers,side:"before"}));function Xb(t={}){return[An.of(t),$b(),ER]}function W0(t){let e=9;for(;e<t;)e=e*10+9;return e}var BR=0,Vs=class{constructor(e,a){this.from=e,this.to=a}},he=class{constructor(e={}){this.id=BR++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=At.match(e)),a=>{let o=e(a);return o===void 0?null:[this,o]}}};he.closedBy=new he({deserialize:t=>t.split(" ")});he.openedBy=new he({deserialize:t=>t.split(" ")});he.group=new he({deserialize:t=>t.split(" ")});he.isolate=new he({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});he.contextHash=new he({perNode:!0});he.lookAhead=new he({perNode:!0});he.mounted=new he({perNode:!0});var Mr=class{constructor(e,a,o,r=!1){this.tree=e,this.overlay=a,this.parser=o,this.bracketed=r}static get(e){return e&&e.props&&e.props[he.mounted.id]}},FR=Object.create(null),At=class t{constructor(e,a,o,r=0){this.name=e,this.props=a,this.id=o,this.flags=r}static define(e){let a=e.props&&e.props.length?Object.create(null):FR,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new t(e.name||"",a,e.id,o);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");a[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let a=this.prop(he.group);return a?a.indexOf(e)>-1:!1}return this.id==e}static match(e){let a=Object.create(null);for(let o in e)for(let r of o.split(" "))a[r]=e[o];return o=>{for(let r=o.prop(he.group),n=-1;n<(r?r.length:0);n++){let s=a[n<0?o.name:r[n]];if(s)return s}}}};At.none=new At("",Object.create(null),0,8);var pu=class t{constructor(e){this.types=e;for(let a=0;a<e.length;a++)if(e[a].id!=a)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let a=[];for(let o of this.types){let r=null;for(let n of e){let s=n(o);if(s){r||(r=Object.assign({},o.props));let i=s[1],l=s[0];l.combine&&l.id in r&&(i=l.combine(r[l.id],i)),r[l.id]=i}}a.push(r?new At(o.name,r,o.id,o.flags):o)}return new t(a)}},fu=new WeakMap,Kb=new WeakMap,Ge;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(Ge||(Ge={}));var ze=class t{constructor(e,a,o,r,n){if(this.type=e,this.children=a,this.positions=o,this.length=r,this.props=null,n&&n.length){this.props=Object.create(null);for(let[s,i]of n)this.props[typeof s=="number"?s:s.id]=i}}toString(){let e=Mr.get(this);if(e&&!e.overlay)return e.tree.toString();let a="";for(let o of this.children){let r=o.toString();r&&(a&&(a+=","),a+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(a.length?"("+a+")":""):a}cursor(e=0){return new Xs(this.topNode,e)}cursorAt(e,a=0,o=0){let r=fu.get(this)||this.topNode,n=new Xs(r);return n.moveTo(e,a),fu.set(this,n._tree),n}get topNode(){return new Ua(this,0,0,null)}resolve(e,a=0){let o=Gs(fu.get(this)||this.topNode,e,a,!1);return fu.set(this,o),o}resolveInner(e,a=0){let o=Gs(Kb.get(this)||this.topNode,e,a,!0);return Kb.set(this,o),o}resolveStack(e,a=0){return OR(this,e,a)}iterate(e){let{enter:a,leave:o,from:r=0,to:n=this.length}=e,s=e.mode||0,i=(s&Ge.IncludeAnonymous)>0;for(let l=this.cursor(s|Ge.IncludeAnonymous);;){let u=!1;if(l.from<=n&&l.to>=r&&(!i&&l.type.isAnonymous||a(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&o&&(i||!l.type.isAnonymous)&&o(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let a in this.props)e.push([+a,this.props[a]]);return e}balance(e={}){return this.children.length<=8?this:Zh(At.none,this.children,this.positions,0,this.children.length,0,this.length,(a,o,r)=>new t(this.type,a,o,r,this.propValues),e.makeTree||((a,o,r)=>new t(At.none,a,o,r)))}static build(e){return NR(e)}};ze.empty=new ze(At.none,[],[],0);var Vh=class t{constructor(e,a){this.buffer=e,this.index=a}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new t(this.buffer,this.index)}},No=class t{constructor(e,a,o){this.buffer=e,this.length=a,this.set=o}get type(){return At.none}toString(){let e=[];for(let a=0;a<this.buffer.length;)e.push(this.childString(a)),a=this.buffer[a+3];return e.join(",")}childString(e){let a=this.buffer[e],o=this.buffer[e+3],r=this.set.types[a],n=r.name;if(/\W/.test(n)&&!r.isError&&(n=JSON.stringify(n)),e+=4,o==e)return n;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return n+"("+s.join(",")+")"}findChild(e,a,o,r,n){let{buffer:s}=this,i=-1;for(let l=e;l!=a&&!(Yb(n,r,s[l+1],s[l+2])&&(i=l,o>0));l=s[l+3]);return i}slice(e,a,o){let r=this.buffer,n=new Uint16Array(a-e),s=0;for(let i=e,l=0;i<a;){n[l++]=r[i++],n[l++]=r[i++]-o;let u=n[l++]=r[i++]-o;n[l++]=r[i++]-e,s=Math.max(s,u)}return new t(n,s,this.set)}};function Yb(t,e,a,o){switch(t){case-2:return a<e;case-1:return o>=e&&a<e;case 0:return a<e&&o>e;case 1:return a<=e&&o>e;case 2:return o>e;case 4:return!0}}function Gs(t,e,a,o){for(var r;t.from==t.to||(a<1?t.from>=e:t.from>e)||(a>-1?t.to<=e:t.to<e);){let s=!o&&t instanceof Ua&&t.index<0?null:t.parent;if(!s)return t;t=s}let n=o?0:Ge.IgnoreOverlays;if(o)for(let s=t,i=s.parent;i;s=i,i=s.parent)s instanceof Ua&&s.index<0&&((r=i.enter(e,a,n))===null||r===void 0?void 0:r.from)!=s.from&&(t=i);for(;;){let s=t.enter(e,a,n);if(!s)return t;t=s}}var mu=class{cursor(e=0){return new Xs(this,e)}getChild(e,a=null,o=null){let r=jb(this,e,a,o);return r.length?r[0]:null}getChildren(e,a=null,o=null){return jb(this,e,a,o)}resolve(e,a=0){return Gs(this,e,a,!1)}resolveInner(e,a=0){return Gs(this,e,a,!0)}matchContext(e){return Gh(this.parent,e)}enterUnfinishedNodesBefore(e){let a=this.childBefore(e),o=this;for(;a;){let r=a.lastChild;if(!r||r.to!=a.to)break;r.type.isError&&r.from==r.to?(o=a,a=r.prevSibling):a=r}return o}get node(){return this}get next(){return this.parent}},Ua=class t extends mu{constructor(e,a,o,r){super(),this._tree=e,this.from=a,this.index=o,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,a,o,r,n=0){for(let s=this;;){for(let{children:i,positions:l}=s._tree,u=a>0?i.length:-1;e!=u;e+=a){let d=i[e],c=l[e]+s.from,f;if(!(!(n&Ge.EnterBracketed&&d instanceof ze&&(f=Mr.get(d))&&!f.overlay&&f.bracketed&&o>=c&&o<=c+d.length)&&!Yb(r,o,c,c+d.length))){if(d instanceof No){if(n&Ge.ExcludeBuffers)continue;let h=d.findChild(0,d.buffer.length,a,o-c,r);if(h>-1)return new $s(new $h(s,d,e,c),null,h)}else if(n&Ge.IncludeAnonymous||!d.type.isAnonymous||jh(d)){let h;if(!(n&Ge.IgnoreMounts)&&(h=Mr.get(d))&&!h.overlay)return new t(h.tree,c,e,s);let p=new t(d,c,e,s);return n&Ge.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(a<0?d.children.length-1:0,a,o,r,n)}}}if(n&Ge.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+a:e=a<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,a,o=0){let r;if(!(o&Ge.IgnoreOverlays)&&(r=Mr.get(this._tree))&&r.overlay){let n=e-this.from,s=o&Ge.EnterBracketed&&r.bracketed;for(let{from:i,to:l}of r.overlay)if((a>0||s?i<=n:i<n)&&(a<0||s?l>=n:l>n))return new t(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,a,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function jb(t,e,a,o){let r=t.cursor(),n=[];if(!r.firstChild())return n;if(a!=null){for(let s=!1;!s;)if(s=r.type.is(a),!r.nextSibling())return n}for(;;){if(o!=null&&r.type.is(o))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return o==null?n:[]}}function Gh(t,e,a=e.length-1){for(let o=t;a>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[a]&&e[a]!=o.name)return!1;a--}}return!0}var $h=class{constructor(e,a,o,r){this.parent=e,this.buffer=a,this.index=o,this.start=r}},$s=class t extends mu{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,a,o){super(),this.context=e,this._parent=a,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,a,o){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.context.start,o);return n<0?null:new t(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,a,o=0){if(o&Ge.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],a>0?1:-1,e-this.context.start,a);return n<0?null:new t(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,a=e.buffer[this.index+3];return a<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,a):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,a=this._parent?this._parent.index+4:0;return this.index==a?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(a,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],a=[],{buffer:o}=this.context,r=this.index+4,n=o.buffer[this.index+3];if(n>r){let s=o.buffer[this.index+1];e.push(o.slice(r,n,s)),a.push(0)}return new ze(this.type,e,a,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function Jb(t){if(!t.length)return null;let e=0,a=t[0];for(let n=1;n<t.length;n++){let s=t[n];(s.from>a.from||s.to<a.to)&&(a=s,e=n)}let o=a instanceof Ua&&a.index<0?null:a.parent,r=t.slice();return o?r[e]=o:r.splice(e,1),new Xh(r,a)}var Xh=class{constructor(e,a){this.heads=e,this.node=a}get next(){return Jb(this.heads)}};function OR(t,e,a){let o=t.resolveInner(e,a),r=null;for(let n=o instanceof Ua?o:o.context.parent;n;n=n.parent)if(n.index<0){let s=n.parent;(r||(r=[o])).push(s.resolve(e,a)),n=s}else{let s=Mr.get(n.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let i=new Ua(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[o])).push(Gs(i,e,a,!1))}}return r?Jb(r):o}var Xs=class{get name(){return this.type.name}constructor(e,a=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=a&~Ge.EnterBracketed,e instanceof Ua)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,a){this.index=e;let{start:o,buffer:r}=this.buffer;return this.type=a||r.set.types[r.buffer[e]],this.from=o+r.buffer[e+1],this.to=o+r.buffer[e+2],!0}yield(e){return e?e instanceof Ua?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,a,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,a,o,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.buffer.start,o);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,a,o=this.mode){return this.buffer?o&Ge.ExcludeBuffers?!1:this.enterChild(1,e,a):this.yield(this._tree.enter(e,a,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ge.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ge.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:a}=this.buffer,o=this.stack.length-1;if(e<0){let r=o<0?0:this.stack[o]+4;if(this.index!=r)return this.yieldBuf(a.findChild(r,this.index,-1,0,4))}else{let r=a.buffer[this.index+3];if(r<(o<0?a.buffer.length:a.buffer[this.stack[o]+3]))return this.yieldBuf(r)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let a,o,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let n=0;n<this.index;n++)if(r.buffer.buffer[n+3]<this.index)return!1;({index:a,parent:o}=r)}else({index:a,_parent:o}=this._tree);for(;o;{index:a,_parent:o}=o)if(a>-1)for(let n=a+e,s=e<0?-1:o._tree.children.length;n!=s;n+=e){let i=o._tree.children[n];if(this.mode&Ge.IncludeAnonymous||i instanceof No||!i.type.isAnonymous||jh(i))return!1}return!0}move(e,a){if(a&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,a=0){for(;(this.from==this.to||(a<1?this.from>=e:this.from>e)||(a>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,a););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,a=null,o=0;if(e&&e.context==this.buffer)e:for(let r=this.index,n=this.stack.length;n>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;a=s,o=n+1;break e}r=this.stack[--n]}for(let r=o;r<this.stack.length;r++)a=new $s(this.buffer,a,this.stack[r]);return this.bufferNode=new $s(this.buffer,a,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,a){for(let o=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&a&&a(this),r=this.type.isAnonymous,!o)return;if(this.nextSibling())break;this.parent(),o--,r=!0}}}matchContext(e){if(!this.buffer)return Gh(this.node.parent,e);let{buffer:a}=this.buffer,{types:o}=a.set;for(let r=e.length-1,n=this.stack.length-1;r>=0;n--){if(n<0)return Gh(this._tree,e,r);let s=o[a.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function jh(t){return t.children.some(e=>e instanceof No||!e.type.isAnonymous||jh(e))}function NR(t){var e;let{buffer:a,nodeSet:o,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=o.types.length}=t,i=Array.isArray(a)?new Vh(a,a.length):a,l=o.types,u=0,d=0;function c(I,v,L,S,A,H){let{id:M,start:R,end:z,size:k}=i,T=d,D=u;if(k<0)if(i.next(),k==-1){let N=n[M];L.push(N),S.push(R-I);return}else if(k==-3){u=M;return}else if(k==-4){d=M;return}else throw new RangeError(`Unrecognized record size: ${k}`);let E=l[M],q,B,P=R-I;if(z-R<=r&&(B=g(i.pos-v,A))){let N=new Uint16Array(B.size-B.skip),U=i.pos-B.size,$=N.length;for(;i.pos>U;)$=x(B.start,N,$);q=new No(N,z-B.start,o),P=B.start-I}else{let N=i.pos-k;i.next();let U=[],$=[],_=M>=s?M:-1,W=0,G=z;for(;i.pos>N;)_>=0&&i.id==_&&i.size>=0?(i.end<=G-r&&(p(U,$,R,W,i.end,G,_,T,D),W=U.length,G=i.end),i.next()):H>2500?f(R,N,U,$):c(R,N,U,$,_,H+1);if(_>=0&&W>0&&W<U.length&&p(U,$,R,W,R,G,_,T,D),U.reverse(),$.reverse(),_>-1&&W>0){let O=h(E,D);q=Zh(E,U,$,0,U.length,0,z-R,O,O)}else q=m(E,U,$,z-R,T-z,D)}L.push(q),S.push(P)}function f(I,v,L,S){let A=[],H=0,M=-1;for(;i.pos>v;){let{id:R,start:z,end:k,size:T}=i;if(T>4)i.next();else{if(M>-1&&z<M)break;M<0&&(M=k-r),A.push(R,z,k),H++,i.next()}}if(H){let R=new Uint16Array(H*4),z=A[A.length-2];for(let k=A.length-3,T=0;k>=0;k-=3)R[T++]=A[k],R[T++]=A[k+1]-z,R[T++]=A[k+2]-z,R[T++]=T;L.push(new No(R,A[2]-z,o)),S.push(z-I)}}function h(I,v){return(L,S,A)=>{let H=0,M=L.length-1,R,z;if(M>=0&&(R=L[M])instanceof ze){if(!M&&R.type==I&&R.length==A)return R;(z=R.prop(he.lookAhead))&&(H=S[M]+R.length+z)}return m(I,L,S,A,H,v)}}function p(I,v,L,S,A,H,M,R,z){let k=[],T=[];for(;I.length>S;)k.push(I.pop()),T.push(v.pop()+L-A);I.push(m(o.types[M],k,T,H-A,R-H,z)),v.push(A-L)}function m(I,v,L,S,A,H,M){if(H){let R=[he.contextHash,H];M=M?[R].concat(M):[R]}if(A>25){let R=[he.lookAhead,A];M=M?[R].concat(M):[R]}return new ze(I,v,L,S,M)}function g(I,v){let L=i.fork(),S=0,A=0,H=0,M=L.end-r,R={size:0,start:0,skip:0};e:for(let z=L.pos-I;L.pos>z;){let k=L.size;if(L.id==v&&k>=0){R.size=S,R.start=A,R.skip=H,H+=4,S+=4,L.next();continue}let T=L.pos-k;if(k<0||T<z||L.start<M)break;let D=L.id>=s?4:0,E=L.start;for(L.next();L.pos>T;){if(L.size<0)if(L.size==-3||L.size==-4)D+=4;else break e;else L.id>=s&&(D+=4);L.next()}A=E,S+=k,H+=D}return(v<0||S==I)&&(R.size=S,R.start=A,R.skip=H),R.size>4?R:void 0}function x(I,v,L){let{id:S,start:A,end:H,size:M}=i;if(i.next(),M>=0&&S<s){let R=L;if(M>4){let z=i.pos-(M-4);for(;i.pos>z;)L=x(I,v,L)}v[--L]=R,v[--L]=H-I,v[--L]=A-I,v[--L]=S}else M==-3?u=S:M==-4&&(d=S);return L}let y=[],w=[];for(;i.pos>0;)c(t.start||0,t.bufferStart||0,y,w,-1,0);let C=(e=t.length)!==null&&e!==void 0?e:y.length?w[0]+y[0].length:0;return new ze(l[t.topID],y.reverse(),w.reverse(),C)}var Zb=new WeakMap;function hu(t,e){if(!t.isAnonymous||e instanceof No||e.type!=t)return 1;let a=Zb.get(e);if(a==null){a=1;for(let o of e.children){if(o.type!=t||!(o instanceof ze)){a=1;break}a+=hu(t,o)}Zb.set(e,a)}return a}function Zh(t,e,a,o,r,n,s,i,l){let u=0;for(let p=o;p<r;p++)u+=hu(t,e[p]);let d=Math.ceil(u*1.5/8),c=[],f=[];function h(p,m,g,x,y){for(let w=g;w<x;){let C=w,I=m[w],v=hu(t,p[w]);for(w++;w<x;w++){let L=hu(t,p[w]);if(v+L>=d)break;v+=L}if(w==C+1){if(v>d){let L=p[C];h(L.children,L.positions,0,L.children.length,m[C]+y);continue}c.push(p[C])}else{let L=m[w-1]+p[w-1].length-I;c.push(Zh(t,p,m,C,w,I,L,null,l))}f.push(I+y-n)}}return h(e,a,o,r,0),(i||l)(c,f,s)}var Pr=class t{constructor(e,a,o,r,n=!1,s=!1){this.from=e,this.to=a,this.tree=o,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,a=[],o=!1){let r=[new t(0,e.length,e,0,!1,o)];for(let n of a)n.to>e.length&&r.push(n);return r}static applyChanges(e,a,o=128){if(!a.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let i=0,l=0,u=0;;i++){let d=i<a.length?a[i]:null,c=d?d.fromA:1e9;if(c-l>=o)for(;s&&s.from<c;){let f=s;if(l>=f.from||c<=f.to||u){let h=Math.max(f.from,l)-u,p=Math.min(f.to,c)-u;f=h>=p?null:new t(h,p,f.tree,f.offset+u,i>0,!!d)}if(f&&r.push(f),s.to>c)break;s=n<e.length?e[n++]:null}if(!d)break;l=d.toA,u=d.toA-d.toB}return r}},Ks=class{startParse(e,a,o){return typeof e=="string"&&(e=new Kh(e)),o=o?o.length?o.map(r=>new Vs(r.from,r.to)):[new Vs(0,0)]:[new Vs(0,e.length)],this.createParse(e,a||[],o)}parse(e,a,o){let r=this.startParse(e,a,o);for(;;){let n=r.advance();if(n)return n}}},Kh=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,a){return this.string.slice(e,a)}};var U4=new he({perNode:!0});var _R=0,La=class t{constructor(e,a,o,r){this.name=e,this.set=a,this.base=o,this.modified=r,this.id=_R++}toString(){let{name:e}=this;for(let a of this.modified)a.name&&(e=`${a.name}(${e})`);return e}static define(e,a){let o=typeof e=="string"?e:"?";if(e instanceof t&&(a=e),a?.base)throw new Error("Can not derive from a modified tag");let r=new t(o,[],null,[]);if(r.set.push(r),a)for(let n of a.set)r.set.push(n);return r}static defineModifier(e){let a=new wu(e);return o=>o.modified.indexOf(a)>-1?o:wu.get(o.base||o,o.modified.concat(a).sort((r,n)=>r.id-n.id))}},HR=0,wu=class t{constructor(e){this.name=e,this.instances=[],this.id=HR++}static get(e,a){if(!a.length)return e;let o=a[0].instances.find(i=>i.base==e&&zR(a,i.modified));if(o)return o;let r=[],n=new La(e.name,r,e,a);for(let i of a)i.instances.push(n);let s=qR(a);for(let i of e.set)if(!i.modified.length)for(let l of s)r.push(t.get(i,l));return n}};function zR(t,e){return t.length==e.length&&t.every((a,o)=>a==e[o])}function qR(t){let e=[[]];for(let a=0;a<t.length;a++)for(let o=0,r=e.length;o<r;o++)e.push(e[o].concat(t[a]));return e.sort((a,o)=>o.length-a.length)}function tw(t){let e=Object.create(null);for(let a in t){let o=t[a];Array.isArray(o)||(o=[o]);for(let r of a.split(" "))if(r){let n=[],s=2,i=r;for(let c=0;;){if(i=="..."&&c>0&&c+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!f)throw new RangeError("Invalid path: "+r);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),c+=f[0].length,c==r.length)break;let h=r[c++];if(c==r.length&&h=="!"){s=0;break}if(h!="/")throw new RangeError("Invalid path: "+r);i=r.slice(c)}let l=n.length-1,u=n[l];if(!u)throw new RangeError("Invalid path: "+r);let d=new Rr(o,s,l>0?n.slice(0,l):null);e[u]=d.sort(e[u])}}return aw.add(e)}var aw=new he({combine(t,e){let a,o,r;for(;t||e;){if(!t||e&&t.depth>=e.depth?(r=e,e=e.next):(r=t,t=t.next),a&&a.mode==r.mode&&!r.context&&!a.context)continue;let n=new Rr(r.tags,r.mode,r.context);a?a.next=n:o=n,a=n}return o}}),Rr=class{constructor(e,a,o,r){this.tags=e,this.mode=a,this.context=o,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Rr.empty=new Rr([],2,null);function ep(t,e){let a=Object.create(null);for(let n of t)if(!Array.isArray(n.tag))a[n.tag.id]=n.class;else for(let s of n.tag)a[s.id]=n.class;let{scope:o,all:r=null}=e||{};return{style:n=>{let s=r;for(let i of n)for(let l of i.set){let u=a[l.id];if(u){s=s?s+" "+u:u;break}}return s},scope:o}}function UR(t,e){let a=null;for(let o of t){let r=o.style(e);r&&(a=a?a+" "+r:r)}return a}function ow(t,e,a,o=0,r=t.length){let n=new Jh(o,Array.isArray(e)?e:[e],a);n.highlightRange(t.cursor(),o,r,"",n.highlighters),n.flush(r)}var Jh=class{constructor(e,a,o){this.at=e,this.highlighters=a,this.span=o,this.class=""}startSpan(e,a){a!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=a)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,a,o,r,n){let{type:s,from:i,to:l}=e;if(i>=o||l<=a)return;s.isTop&&(n=this.highlighters.filter(h=>!h.scope||h.scope(s)));let u=r,d=WR(e)||Rr.empty,c=UR(n,d.tags);if(c&&(u&&(u+=" "),u+=c,d.mode==1&&(r+=(r?" ":"")+c)),this.startSpan(Math.max(a,i),u),d.opaque)return;let f=e.tree&&e.tree.prop(he.mounted);if(f&&f.overlay){let h=e.node.enter(f.overlay[0].from+i,1),p=this.highlighters.filter(g=>!g.scope||g.scope(f.tree.type)),m=e.firstChild();for(let g=0,x=i;;g++){let y=g<f.overlay.length?f.overlay[g]:null,w=y?y.from+i:l,C=Math.max(a,x),I=Math.min(o,w);if(C<I&&m)for(;e.from<I&&(this.highlightRange(e,C,I,r,n),this.startSpan(Math.min(I,e.to),u),!(e.to>=w||!e.nextSibling())););if(!y||w>o)break;x=y.to+i,x>a&&(this.highlightRange(h.cursor(),Math.max(a,y.from+i),Math.min(o,x),"",p),this.startSpan(Math.min(o,x),u))}m&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=a)){if(e.from>=o)break;this.highlightRange(e,a,o,r,n),this.startSpan(Math.min(o,e.to),u)}while(e.nextSibling());e.parent()}}};function WR(t){let e=t.type.prop(aw);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var j=La.define,gu=j(),_o=j(),Qb=j(_o),ew=j(_o),Ho=j(),xu=j(Ho),Yh=j(Ho),Ga=j(),Dr=j(Ga),Wa=j(),Va=j(),Qh=j(),js=j(Qh),bu=j(),b={comment:gu,lineComment:j(gu),blockComment:j(gu),docComment:j(gu),name:_o,variableName:j(_o),typeName:Qb,tagName:j(Qb),propertyName:ew,attributeName:j(ew),className:j(_o),labelName:j(_o),namespace:j(_o),macroName:j(_o),literal:Ho,string:xu,docString:j(xu),character:j(xu),attributeValue:j(xu),number:Yh,integer:j(Yh),float:j(Yh),bool:j(Ho),regexp:j(Ho),escape:j(Ho),color:j(Ho),url:j(Ho),keyword:Wa,self:j(Wa),null:j(Wa),atom:j(Wa),unit:j(Wa),modifier:j(Wa),operatorKeyword:j(Wa),controlKeyword:j(Wa),definitionKeyword:j(Wa),moduleKeyword:j(Wa),operator:Va,derefOperator:j(Va),arithmeticOperator:j(Va),logicOperator:j(Va),bitwiseOperator:j(Va),compareOperator:j(Va),updateOperator:j(Va),definitionOperator:j(Va),typeOperator:j(Va),controlOperator:j(Va),punctuation:Qh,separator:j(Qh),bracket:js,angleBracket:j(js),squareBracket:j(js),paren:j(js),brace:j(js),content:Ga,heading:Dr,heading1:j(Dr),heading2:j(Dr),heading3:j(Dr),heading4:j(Dr),heading5:j(Dr),heading6:j(Dr),contentSeparator:j(Ga),list:j(Ga),quote:j(Ga),emphasis:j(Ga),strong:j(Ga),link:j(Ga),monospace:j(Ga),strikethrough:j(Ga),inserted:j(),deleted:j(),changed:j(),invalid:j(),meta:bu,documentMeta:j(bu),annotation:j(bu),processingInstruction:j(bu),definition:La.defineModifier("definition"),constant:La.defineModifier("constant"),function:La.defineModifier("function"),standard:La.defineModifier("standard"),local:La.defineModifier("local"),special:La.defineModifier("special")};for(let t in b){let e=b[t];e instanceof La&&(e.name=t)}var G4=ep([{tag:b.link,class:"tok-link"},{tag:b.heading,class:"tok-heading"},{tag:b.emphasis,class:"tok-emphasis"},{tag:b.strong,class:"tok-strong"},{tag:b.keyword,class:"tok-keyword"},{tag:b.atom,class:"tok-atom"},{tag:b.bool,class:"tok-bool"},{tag:b.url,class:"tok-url"},{tag:b.labelName,class:"tok-labelName"},{tag:b.inserted,class:"tok-inserted"},{tag:b.deleted,class:"tok-deleted"},{tag:b.literal,class:"tok-literal"},{tag:b.string,class:"tok-string"},{tag:b.number,class:"tok-number"},{tag:[b.regexp,b.escape,b.special(b.string)],class:"tok-string2"},{tag:b.variableName,class:"tok-variableName"},{tag:b.local(b.variableName),class:"tok-variableName tok-local"},{tag:b.definition(b.variableName),class:"tok-variableName tok-definition"},{tag:b.special(b.variableName),class:"tok-variableName2"},{tag:b.definition(b.propertyName),class:"tok-propertyName tok-definition"},{tag:b.typeName,class:"tok-typeName"},{tag:b.namespace,class:"tok-namespace"},{tag:b.className,class:"tok-className"},{tag:b.macroName,class:"tok-macroName"},{tag:b.propertyName,class:"tok-propertyName"},{tag:b.operator,class:"tok-operator"},{tag:b.comment,class:"tok-comment"},{tag:b.meta,class:"tok-meta"},{tag:b.invalid,class:"tok-invalid"},{tag:b.punctuation,class:"tok-punctuation"}]);var tp,Nn=new he;function VR(t){return Y.define({combine:t?e=>e.concat(t):void 0})}var GR=new he,jt=class{constructor(e,a,o=[],r=""){this.data=e,this.name=r,Me.prototype.hasOwnProperty("tree")||Object.defineProperty(Me.prototype,"tree",{get(){return Mt(this)}}),this.parser=a,this.extension=[_n.of(this),Me.languageData.of((n,s,i)=>{let l=rw(n,s,i),u=l.type.prop(Nn);if(!u)return[];let d=n.facet(u),c=l.type.prop(GR);if(c){let f=l.resolve(s-l.from,i);for(let h of c)if(h.test(f,n)){let p=n.facet(h.facet);return h.type=="replace"?p:p.concat(d)}}return d})].concat(o)}isActiveAt(e,a,o=-1){return rw(e,a,o).type.prop(Nn)==this.data}findRegions(e){let a=e.facet(_n);if(a?.data==this.data)return[{from:0,to:e.doc.length}];if(!a||!a.allowsNesting)return[];let o=[],r=(n,s)=>{if(n.prop(Nn)==this.data){o.push({from:s,to:s+n.length});return}let i=n.prop(he.mounted);if(i){if(i.tree.prop(Nn)==this.data){if(i.overlay)for(let l of i.overlay)o.push({from:l.from+s,to:l.to+s});else o.push({from:s,to:s+n.length});return}else if(i.overlay){let l=o.length;if(r(i.tree,i.overlay[0].from+s),o.length>l)return}}for(let l=0;l<n.children.length;l++){let u=n.children[l];u instanceof ze&&r(u,n.positions[l]+s)}};return r(Mt(e),0),o}get allowsNesting(){return!0}};jt.setState=de.define();function rw(t,e,a){let o=t.facet(_n),r=Mt(t).topNode;if(!o||o.allowsNesting)for(let n=r;n;n=n.enter(e,a,Ge.ExcludeBuffers|Ge.EnterBracketed))n.type.isTop&&(r=n);return r}function Mt(t){let e=t.field(jt.state,!1);return e?e.tree:ze.empty}var np=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,a){let o=this.cursorPos-this.string.length;return e<o||a>=this.cursorPos?this.doc.sliceString(e,a):this.string.slice(e-o,a-o)}},Zs=null,Ys=class t{constructor(e,a,o=[],r,n,s,i,l){this.parser=e,this.state=a,this.fragments=o,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=i,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,a,o){return new t(e,a,[],ze.empty,0,o,[],null)}startParse(){return this.parser.startParse(new np(this.state.doc),this.fragments)}work(e,a){return a!=null&&a>=this.state.doc.length&&(a=void 0),this.tree!=ze.empty&&this.isDone(a??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var o;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),a!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>a)&&a<this.state.doc.length&&this.parse.stopAt(a);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(Pr.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(o=this.parse.stoppedAt)!==null&&o!==void 0?o:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(a??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,a;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(a=this.parse.advance()););}),this.treeLen=e,this.tree=a,this.fragments=this.withoutTempSkipped(Pr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let a=Zs;Zs=this;try{return e()}finally{Zs=a}}withoutTempSkipped(e){for(let a;a=this.tempSkipped.pop();)e=nw(e,a.from,a.to);return e}changes(e,a){let{fragments:o,tree:r,treeLen:n,viewport:s,skipped:i}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((u,d,c,f)=>l.push({fromA:u,toA:d,fromB:c,toB:f})),o=Pr.applyChanges(o,l),r=ze.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){i=[];for(let u of this.skipped){let d=e.mapPos(u.from,1),c=e.mapPos(u.to,-1);d<c&&i.push({from:d,to:c})}}}return new t(this.parser,a,o,r,n,s,i,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let a=this.skipped.length;for(let o=0;o<this.skipped.length;o++){let{from:r,to:n}=this.skipped[o];r<e.to&&n>e.from&&(this.fragments=nw(this.fragments,r,n),this.skipped.splice(o--,1))}return this.skipped.length>=a?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,a){this.skipped.push({from:e,to:a})}static getSkippingParser(e){return new class extends Ks{createParse(a,o,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let l=Zs;if(l){for(let u of r)l.tempSkipped.push(u);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new ze(At.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let a=this.fragments;return this.treeLen>=e&&a.length&&a[0].from==0&&a[0].to>=e}static get(){return Zs}};function nw(t,e,a){return Pr.applyChanges(t,[{fromA:e,toA:a,fromB:e,toB:a}])}var Js=class t{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let a=this.context.changes(e.changes,e.state),o=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),a.viewport.to);return a.work(20,o)||a.takeTree(),new t(a)}static init(e){let a=Math.min(3e3,e.doc.length),o=Ys.create(e.facet(_n).parser,e,{from:0,to:a});return o.work(20,a)||o.takeTree(),new t(o)}};jt.state=Ve.define({create:Js.init,update(t,e){for(let a of e.effects)if(a.is(jt.setState))return a.value;return e.startState.facet(_n)!=e.state.facet(_n)?Js.init(e.state):t.apply(e)}});var cw=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(cw=t=>{let e=-1,a=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(a):cancelIdleCallback(e)});var ap=typeof navigator<"u"&&(!((tp=navigator.scheduling)===null||tp===void 0)&&tp.isInputPending)?()=>navigator.scheduling.isInputPending():null,$R=Ze.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let a=this.view.state.field(jt.state).context;(a.updateViewport(e.view.viewport)||this.view.viewport.to>a.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(a)}scheduleWork(){if(this.working)return;let{state:e}=this.view,a=e.field(jt.state);(a.tree!=a.context.tree||!a.context.isDone(e.doc.length))&&(this.working=cw(this.work))}work(e){this.working=null;let a=Date.now();if(this.chunkEnd<a&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=a+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:o,viewport:{to:r}}=this.view,n=o.field(jt.state);if(n.tree==n.context.tree&&n.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!ap?Math.max(25,e.timeRemaining()-5):1e9),i=n.context.treeLen<r&&o.doc.length>r+1e3,l=n.context.work(()=>ap&&ap()||Date.now()>s,r+(i?0:1e5));this.chunkBudget-=Date.now()-a,(l||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:jt.setState.of(new Js(n.context))})),this.chunkBudget>0&&!(l&&!i)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(a=>ht(this.view.state,a)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),_n=Y.define({combine(t){return t.length?t[0]:null},enables:t=>[jt.state,$R,Z.contentAttributes.compute([t],e=>{let a=e.facet(t);return a&&a.name?{"data-language":a.name}:{}})]}),yu=class{constructor(e,a=[]){this.language=e,this.support=a,this.extension=[e,a]}};var XR=Y.define(),mo=Y.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(a=>a!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function zo(t){let e=t.facet(mo);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function ei(t,e){let a="",o=t.tabSize,r=t.facet(mo)[0];if(r==" "){for(;e>=o;)a+=" ",e-=o;r=" "}for(let n=0;n<e;n++)a+=r;return a}function fp(t,e){t instanceof Me&&(t=new Tr(t));for(let o of t.state.facet(XR)){let r=o(t,e);if(r!==void 0)return r}let a=Mt(t.state);return a.length>=e?KR(t,a,e):null}var Tr=class{constructor(e,a={}){this.state=e,this.options=a,this.unit=zo(e)}lineAt(e,a=1){let o=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=o.from&&r<=o.to?n&&r==e?{text:"",from:e}:(a<0?r<e:r<=e)?{text:o.text.slice(r-o.from),from:r}:{text:o.text.slice(0,r-o.from),from:o.from}:o}textAfterPos(e,a=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:o,from:r}=this.lineAt(e,a);return o.slice(e-r,Math.min(o.length,e+100-r))}column(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.countColumn(o,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(n+=s-this.countColumn(o,o.search(/\S|$/))),n}countColumn(e,a=e.length){return wr(e,this.state.tabSize,a)}lineIndent(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(o,o.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},fw=new he;function KR(t,e,a){let o=e.resolveStack(a),r=e.resolveInner(a,-1).resolve(a,0).enterUnfinishedNodesBefore(a);if(r!=o.node){let n=[];for(let s=r;s&&!(s.from<o.node.from||s.to>o.node.to||s.from==o.node.from&&s.type==o.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)o={node:n[s],next:o}}return hw(o,t,a)}function hw(t,e,a){for(let o=t;o;o=o.next){let r=ZR(o.node);if(r)return r(sp.create(e,a,o))}return 0}function jR(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function ZR(t){let e=t.type.prop(fw);if(e)return e;let a=t.firstChild,o;if(a&&(o=a.type.prop(he.closedBy))){let r=t.lastChild,n=r&&o.indexOf(r.name)>-1;return s=>eT(s,!0,1,void 0,n&&!jR(s)?r.from:void 0)}return t.parent==null?YR:null}function YR(){return 0}var sp=class t extends Tr{constructor(e,a,o){super(e.state,e.options),this.base=e,this.pos=a,this.context=o}get node(){return this.context.node}static create(e,a,o){return new t(e,a,o)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let a=this.state.doc.lineAt(e.from);for(;;){let o=e.resolve(a.from);for(;o.parent&&o.parent.from==o.from;)o=o.parent;if(JR(o,e))break;a=this.state.doc.lineAt(o.from)}return this.lineIndent(a.from)}continue(){return hw(this.context.next,this.base,this.pos)}};function JR(t,e){for(let a=e;a;a=a.parent)if(t==a)return!0;return!1}function QR(t){let e=t.node,a=e.childAfter(e.from),o=e.lastChild;if(!a)return null;let r=t.options.simulateBreak,n=t.state.doc.lineAt(a.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let i=a.to;;){let l=e.childAfter(i);if(!l||l==o)return null;if(!l.type.isSkipped){if(l.from>=s)return null;let u=/^ */.exec(n.text.slice(a.to-n.from))[0].length;return{from:a.from,to:a.to+u}}i=l.to}}function eT(t,e,a,o,r){let n=t.textAfter,s=n.match(/^\s*/)[0].length,i=o&&n.slice(s,s+o.length)==o||r==t.pos+s,l=e?QR(t):null;return l?i?t.column(l.from):t.column(l.to):t.baseIndent+(i?0:t.unit*a)}var qo=class t{constructor(e,a){this.specs=e;let o;function r(i){let l=oa.newName();return(o||(o=Object.create(null)))["."+l]=i,l}let n=typeof a.all=="string"?a.all:a.all?r(a.all):void 0,s=a.scope;this.scope=s instanceof jt?i=>i.prop(Nn)==s.data:s?i=>i==s:void 0,this.style=ep(e.map(i=>({tag:i.tag,class:i.class||r(Object.assign({},i,{tag:null}))})),{all:n}).style,this.module=o?new oa(o):null,this.themeType=a.themeType}static define(e,a){return new t(e,a||{})}},ip=Y.define(),pw=Y.define({combine(t){return t.length?[t[0]]:null}});function op(t){let e=t.facet(ip);return e.length?e:t.facet(pw)}function Hn(t,e){let a=[tT],o;return t instanceof qo&&(t.module&&a.push(Z.styleModule.of(t.module)),o=t.themeType),e?.fallback?a.push(pw.of(t)):o?a.push(ip.computeN([Z.darkTheme],r=>r.facet(Z.darkTheme)==(o=="dark")?[t]:[])):a.push(ip.of(t)),a}var lp=class{constructor(e){this.markCache=Object.create(null),this.tree=Mt(e.state),this.decorations=this.buildDeco(e,op(e.state)),this.decoratedTo=e.viewport.to}update(e){let a=Mt(e.state),o=op(e.state),r=o!=op(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);a.length<n.to&&!r&&a.type==this.tree.type&&s>=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(a!=this.tree||e.viewportChanged||r)&&(this.tree=a,this.decorations=this.buildDeco(e.view,o),this.decoratedTo=n.to)}buildDeco(e,a){if(!a||!this.tree.length)return pe.none;let o=new xa;for(let{from:r,to:n}of e.visibleRanges)ow(this.tree,a,(s,i,l)=>{o.add(s,i,this.markCache[l]||(this.markCache[l]=pe.mark({class:l})))},r,n);return o.finish()}},tT=Xt.high(Ze.fromClass(lp,{decorations:t=>t.decorations})),mw=qo.define([{tag:b.meta,color:"#404740"},{tag:b.link,textDecoration:"underline"},{tag:b.heading,textDecoration:"underline",fontWeight:"bold"},{tag:b.emphasis,fontStyle:"italic"},{tag:b.strong,fontWeight:"bold"},{tag:b.strikethrough,textDecoration:"line-through"},{tag:b.keyword,color:"#708"},{tag:[b.atom,b.bool,b.url,b.contentSeparator,b.labelName],color:"#219"},{tag:[b.literal,b.inserted],color:"#164"},{tag:[b.string,b.deleted],color:"#a11"},{tag:[b.regexp,b.escape,b.special(b.string)],color:"#e40"},{tag:b.definition(b.variableName),color:"#00f"},{tag:b.local(b.variableName),color:"#30a"},{tag:[b.typeName,b.namespace],color:"#085"},{tag:b.className,color:"#167"},{tag:[b.special(b.variableName),b.macroName],color:"#256"},{tag:b.definition(b.propertyName),color:"#00c"},{tag:b.comment,color:"#940"},{tag:b.invalid,color:"#f00"}]),aT=Z.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),gw=1e4,xw="()[]{}",bw=Y.define({combine(t){return Ft(t,{afterCursor:!0,brackets:xw,maxScanDistance:gw,renderMatch:nT})}}),oT=pe.mark({class:"cm-matchingBracket"}),rT=pe.mark({class:"cm-nonmatchingBracket"});function nT(t){let e=[],a=t.matched?oT:rT;return e.push(a.range(t.start.from,t.start.to)),t.end&&e.push(a.range(t.end.from,t.end.to)),e}function sw(t){let e=[],a=t.facet(bw);for(let o of t.selection.ranges){if(!o.empty)continue;let r=Ca(t,o.head,-1,a)||o.head>0&&Ca(t,o.head-1,1,a)||a.afterCursor&&(Ca(t,o.head,1,a)||o.head<t.doc.length&&Ca(t,o.head+1,-1,a));r&&(e=e.concat(a.renderMatch(r,t)))}return pe.set(e,!0)}var sT=Ze.fromClass(class{constructor(t){this.paused=!1,this.decorations=sw(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=sw(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),iT=[sT,aT];function ww(t={}){return[bw.of(t),iT]}var lT=new he;function up(t,e,a){let o=t.prop(e<0?he.openedBy:he.closedBy);if(o)return o;if(t.name.length==1){let r=a.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[a[r+e]]}return null}function dp(t){let e=t.type.prop(lT);return e?e(t.node):t}function Ca(t,e,a,o={}){let r=o.maxScanDistance||gw,n=o.brackets||xw,s=Mt(t),i=s.resolveInner(e,a);for(let l=i;l;l=l.parent){let u=up(l.type,a,n);if(u&&l.from<l.to){let d=dp(l);if(d&&(a>0?e>=d.from&&e<d.to:e>d.from&&e<=d.to))return uT(t,e,a,l,d,u,n)}}return dT(t,e,a,s,i.type,r,n)}function uT(t,e,a,o,r,n,s){let i=o.parent,l={from:r.from,to:r.to},u=0,d=i?.cursor();if(d&&(a<0?d.childBefore(o.from):d.childAfter(o.to)))do if(a<0?d.to<=o.from:d.from>=o.to){if(u==0&&n.indexOf(d.type.name)>-1&&d.from<d.to){let c=dp(d);return{start:l,end:c?{from:c.from,to:c.to}:void 0,matched:!0}}else if(up(d.type,a,s))u++;else if(up(d.type,-a,s)){if(u==0){let c=dp(d);return{start:l,end:c&&c.from<c.to?{from:c.from,to:c.to}:void 0,matched:!1}}u--}}while(a<0?d.prevSibling():d.nextSibling());return{start:l,matched:!1}}function dT(t,e,a,o,r,n,s){if(a<0?!e:e==t.doc.length)return null;let i=a<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=s.indexOf(i);if(l<0||l%2==0!=a>0)return null;let u={from:a<0?e-1:e,to:a>0?e+1:e},d=t.doc.iterRange(e,a>0?t.doc.length:0),c=0;for(let f=0;!d.next().done&&f<=n;){let h=d.value;a<0&&(f+=h.length);let p=e+f*a;for(let m=a>0?0:h.length-1,g=a>0?h.length:-1;m!=g;m+=a){let x=s.indexOf(h[m]);if(!(x<0||o.resolveInner(p+m,1).type!=r))if(x%2==0==a>0)c++;else{if(c==1)return{start:u,end:{from:p+m,to:p+m+1},matched:x>>1==l>>1};c--}}a>0&&(f+=h.length)}return d.done?{start:u,matched:!1}:null}function iw(t,e,a,o=0,r=0){e==null&&(e=t.search(/[^\s\u00a0]/),e==-1&&(e=t.length));let n=r;for(let s=o;s<e;s++)t.charCodeAt(s)==9?n+=a-n%a:n++;return n}var Lu=class{constructor(e,a,o,r){this.string=e,this.tabSize=a,this.indentUnit=o,this.overrideIndent=r,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(e){let a=this.string.charAt(this.pos),o;if(typeof e=="string"?o=a==e:o=a&&(e instanceof RegExp?e.test(a):e(a)),o)return++this.pos,a}eatWhile(e){let a=this.pos;for(;this.eat(e););return this.pos>a}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let a=this.string.indexOf(e,this.pos);if(a>-1)return this.pos=a,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=iw(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:iw(this.string,null,this.tabSize)}match(e,a,o){if(typeof e=="string"){let r=s=>o?s.toLowerCase():s,n=this.string.substr(this.pos,e.length);return r(n)==r(e)?(a!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&a!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function cT(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||fT,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||pp,mergeTokens:t.mergeTokens!==!1}}function fT(t){if(typeof t!="object")return t;let e={};for(let a in t){let o=t[a];e[a]=o instanceof Array?o.slice():o}return e}var lw=new WeakMap,Cu=class t extends jt{constructor(e){let a=VR(e.languageData),o=cT(e),r,n=new class extends Ks{createParse(s,i,l){return new cp(r,s,i,l)}};super(a,n,[],e.name),this.topNode=gT(a,this),r=this,this.streamParser=o,this.stateAfter=new he({perNode:!0}),this.tokenTable=e.tokenTable?new vu(o.tokenTable):mT}static define(e){return new t(e)}getIndent(e){let a,{overrideIndentation:o}=e.options;o&&(a=lw.get(e.state),a!=null&&a<e.pos-1e4&&(a=void 0));let r=hp(this,e.node.tree,e.node.from,e.node.from,a??e.pos),n,s;if(r?(s=r.state,n=r.pos+1):(s=this.streamParser.startState(e.unit),n=e.node.from),e.pos-n>1e4)return null;for(;n<e.pos;){let l=e.state.doc.lineAt(n),u=Math.min(e.pos,l.to);if(l.length){let d=o?o(l.from):-1,c=new Lu(l.text,e.state.tabSize,e.unit,d<0?void 0:d);for(;c.pos<u-l.from;)Lw(this.streamParser.token,c,s)}else this.streamParser.blankLine(s,e.unit);if(u==e.pos)break;n=l.to+1}let i=e.lineAt(e.pos);return o&&a==null&&lw.set(e.state,i.from),this.streamParser.indent(s,/^\s*(.*)/.exec(i.text)[1],e)}get allowsNesting(){return!1}};function hp(t,e,a,o,r){let n=a>=o&&a+e.length<=r&&e.prop(t.stateAfter);if(n)return{state:t.streamParser.copyState(n),pos:a+e.length};for(let s=e.children.length-1;s>=0;s--){let i=e.children[s],l=a+e.positions[s],u=i instanceof ze&&l<r&&hp(t,i,l,o,r);if(u)return u}return null}function yw(t,e,a,o,r){if(r&&a<=0&&o>=e.length)return e;!r&&a==0&&e.type==t.topNode&&(r=!0);for(let n=e.children.length-1;n>=0;n--){let s=e.positions[n],i=e.children[n],l;if(s<o&&i instanceof ze){if(!(l=yw(t,i,a-s,o-s,r)))break;return r?new ze(e.type,e.children.slice(0,n).concat(l),e.positions.slice(0,n+1),s+l.length):l}}return null}function hT(t,e,a,o,r){for(let n of e){let s=n.from+(n.openStart?25:0),i=n.to-(n.openEnd?25:0),l=s<=a&&i>a&&hp(t,n.tree,0-n.offset,a,i),u;if(l&&l.pos<=o&&(u=yw(t,n.tree,a+n.offset,l.pos+n.offset,!1)))return{state:l.state,tree:u}}return{state:t.streamParser.startState(r?zo(r):4),tree:ze.empty}}var cp=class{constructor(e,a,o,r){this.lang=e,this.input=a,this.fragments=o,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let n=Ys.get(),s=r[0].from,{state:i,tree:l}=hT(e,o,s,this.to,n?.state);this.state=i,this.parsedPos=this.chunkStart=s+l.length;for(let u=0;u<l.children.length;u++)this.chunks.push(l.children[u]),this.chunkPos.push(l.positions[u]);n&&this.parsedPos<n.viewport.from-1e5&&r.some(u=>u.from<=n.viewport.from&&u.to>=n.viewport.from)&&(this.state=this.lang.streamParser.startState(zo(n.state)),n.skipUntilInView(this.parsedPos,n.viewport.from),this.parsedPos=n.viewport.from),this.moveRangeIndex()}advance(){let e=Ys.get(),a=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),o=Math.min(a,this.chunkStart+512);for(e&&(o=Math.min(o,e.viewport.to));this.parsedPos<o;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=a?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,a),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let a=this.input.chunk(e);if(this.input.lineChunks)a==`
9
+ var zP=Object.create;var Cf=Object.defineProperty;var qP=Object.getOwnPropertyDescriptor;var UP=Object.getOwnPropertyNames;var WP=Object.getPrototypeOf,VP=Object.prototype.hasOwnProperty;var Vx=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,a)=>(typeof require<"u"?require:e)[a]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Dl=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Gx=(t,e)=>{for(var a in e)Cf(t,a,{get:e[a],enumerable:!0})},GP=(t,e,a,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of UP(e))!VP.call(t,r)&&r!==a&&Cf(t,r,{get:()=>e[r],enumerable:!(o=qP(e,r))||o.enumerable});return t};var $P=(t,e,a)=>(a=t!=null?zP(WP(t)):{},GP(e||!t||!t.__esModule?Cf(a,"default",{value:t,enumerable:!0}):a,t));var mS=Dl(pS=>{"use strict";var fs=Vx("react");function vN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var SN=typeof Object.is=="function"?Object.is:vN,IN=fs.useState,kN=fs.useEffect,AN=fs.useLayoutEffect,MN=fs.useDebugValue;function PN(t,e){var a=e(),o=IN({inst:{value:a,getSnapshot:e}}),r=o[0].inst,n=o[1];return AN(function(){r.value=a,r.getSnapshot=e,mg(r)&&n({inst:r})},[t,a,e]),kN(function(){return mg(r)&&n({inst:r}),t(function(){mg(r)&&n({inst:r})})},[t]),MN(a),a}function mg(t){var e=t.getSnapshot;t=t.value;try{var a=e();return!SN(t,a)}catch{return!0}}function DN(t,e){return e()}var RN=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?DN:PN;pS.useSyncExternalStore=fs.useSyncExternalStore!==void 0?fs.useSyncExternalStore:RN});var xS=Dl((Tj,gS)=>{"use strict";gS.exports=mS()});var wS=Dl(bS=>{"use strict";var Ic=Vx("react"),TN=xS();function EN(t,e){return t===e&&(t!==0||1/t===1/e)||t!==t&&e!==e}var BN=typeof Object.is=="function"?Object.is:EN,FN=TN.useSyncExternalStore,ON=Ic.useRef,NN=Ic.useEffect,_N=Ic.useMemo,HN=Ic.useDebugValue;bS.useSyncExternalStoreWithSelector=function(t,e,a,o,r){var n=ON(null);if(n.current===null){var s={hasValue:!1,value:null};n.current=s}else s=n.current;n=_N(function(){function l(h){if(!u){if(u=!0,d=h,h=o(h),r!==void 0&&s.hasValue){var p=s.value;if(r(p,h))return c=p}return c=h}if(p=c,BN(d,h))return p;var m=o(h);return r!==void 0&&r(p,m)?(d=h,p):(d=h,c=m)}var u=!1,d,c,f=a===void 0?null:a;return[function(){return l(e())},f===null?void 0:function(){return l(f())}]},[e,a,o,r]);var i=FN(t,n[0],n[1]);return NN(function(){s.hasValue=!0,s.value=i},[i]),HN(i),i}});var LS=Dl((Bj,yS)=>{"use strict";yS.exports=wS()});import Pl from"react";import{createRoot as j4}from"react-dom/client";import Ra from"react";var Sf=[],jx=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,a=0;e<t.length;e++)(e%2?jx:Sf).push(a=a+t[e])})();function XP(t){if(t<768)return!1;for(let e=0,a=Sf.length;;){let o=e+a>>1;if(t<Sf[o])a=o;else if(t>=jx[o])e=o+1;else return!0;if(e==a)return!1}}function $x(t){return t>=127462&&t<=127487}var Xx=8205;function Zx(t,e,a=!0,o=!0){return(a?Yx:KP)(t,e,o)}function Yx(t,e,a){if(e==t.length)return e;e&&Jx(t.charCodeAt(e))&&Qx(t.charCodeAt(e-1))&&e--;let o=vf(t,e);for(e+=Kx(o);e<t.length;){let r=vf(t,e);if(o==Xx||r==Xx||a&&XP(r))e+=Kx(r),o=r;else if($x(r)){let n=0,s=e-2;for(;s>=0&&$x(vf(t,s));)n++,s-=2;if(n%2==0)break;e+=2}else break}return e}function KP(t,e,a){for(;e>0;){let o=Yx(t,e-2,a);if(o<e)return o;e--}return 0}function vf(t,e){let a=t.charCodeAt(e);if(!Qx(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return Jx(o)?(a-55296<<10)+(o-56320)+65536:a}function Jx(t){return t>=56320&&t<57344}function Qx(t){return t>=55296&&t<56320}function Kx(t){return t<65536?1:2}var ye=class t{lineAt(e){if(e<0||e>this.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,a,o){[e,a]=kn(this,e,a);let r=[];return this.decompose(0,e,r,2),o.length&&o.decompose(0,o.length,r,3),this.decompose(a,this.length,r,1),vn.from(r,this.length-(a-e)+o.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,a=this.length){[e,a]=kn(this,e,a);let o=[];return this.decompose(e,a,o,0),vn.from(o,a-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let a=this.scanIdentical(e,1),o=this.length-this.scanIdentical(e,-1),r=new Lr(this),n=new Lr(e);for(let s=a,i=a;;){if(r.next(s),n.next(s),s=0,r.lineBreak!=n.lineBreak||r.done!=n.done||r.value!=n.value)return!1;if(i+=r.value.length,r.done||i>=o)return!0}}iter(e=1){return new Lr(this,e)}iterRange(e,a=this.length){return new Fl(this,e,a)}iterLines(e,a){let o;if(e==null)o=this.iter();else{a==null&&(a=this.lines+1);let r=this.line(e).from;o=this.iterRange(r,Math.max(r,a==this.lines+1?this.length:a<=1?0:this.line(a-1).to))}return new Ol(o)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?t.empty:e.length<=32?new Yt(e):vn.from(Yt.split(e,[]))}},Yt=class t extends ye{constructor(e,a=jP(e)){super(),this.text=e,this.length=a}get lines(){return this.text.length}get children(){return null}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.text[n],i=r+s.length;if((a?o:i)>=e)return new kf(r,i,o,s);r=i+1,o++}}decompose(e,a,o,r){let n=e<=0&&a>=this.length?this:new t(e0(this.text,e,a),Math.min(a,this.length)-Math.max(0,e));if(r&1){let s=o.pop(),i=Bl(n.text,s.text.slice(),0,n.length);if(i.length<=32)o.push(new t(i,s.length+n.length));else{let l=i.length>>1;o.push(new t(i.slice(0,l)),new t(i.slice(l)))}}else o.push(n)}replace(e,a,o){if(!(o instanceof t))return super.replace(e,a,o);[e,a]=kn(this,e,a);let r=Bl(this.text,Bl(o.text,e0(this.text,0,e)),a),n=this.length+o.length-(a-e);return r.length<=32?new t(r,n):vn.from(t.split(r,[]),n)}sliceString(e,a=this.length,o=`
10
+ `){[e,a]=kn(this,e,a);let r="";for(let n=0,s=0;n<=a&&s<this.text.length;s++){let i=this.text[s],l=n+i.length;n>e&&s&&(r+=o),e<l&&a>n&&(r+=i.slice(Math.max(0,e-n),a-n)),n=l+1}return r}flatten(e){for(let a of this.text)e.push(a)}scanIdentical(){return 0}static split(e,a){let o=[],r=-1;for(let n of e)o.push(n),r+=n.length+1,o.length==32&&(a.push(new t(o,r)),o=[],r=-1);return r>-1&&a.push(new t(o,r)),a}},vn=class t extends ye{constructor(e,a){super(),this.children=e,this.length=a,this.lines=0;for(let o of e)this.lines+=o.lines}lineInner(e,a,o,r){for(let n=0;;n++){let s=this.children[n],i=r+s.length,l=o+s.lines-1;if((a?l:i)>=e)return s.lineInner(e,a,o,r);r=i+1,o=l+1}}decompose(e,a,o,r){for(let n=0,s=0;s<=a&&n<this.children.length;n++){let i=this.children[n],l=s+i.length;if(e<=l&&a>=s){let u=r&((s<=e?1:0)|(l>=a?2:0));s>=e&&l<=a&&!u?o.push(i):i.decompose(e-s,a-s,o,u)}s=l+1}}replace(e,a,o){if([e,a]=kn(this,e,a),o.lines<this.lines)for(let r=0,n=0;r<this.children.length;r++){let s=this.children[r],i=n+s.length;if(e>=n&&a<=i){let l=s.replace(e-n,a-n,o),u=this.lines-s.lines+l.lines;if(l.lines<u>>4&&l.lines>u>>6){let d=this.children.slice();return d[r]=l,new t(d,this.length-(a-e)+o.length)}return super.replace(n,i,l)}n=i+1}return super.replace(e,a,o)}sliceString(e,a=this.length,o=`
11
+ `){[e,a]=kn(this,e,a);let r="";for(let n=0,s=0;n<this.children.length&&s<=a;n++){let i=this.children[n],l=s+i.length;s>e&&n&&(r+=o),e<l&&a>s&&(r+=i.sliceString(e-s,a-s,o)),s=l+1}return r}flatten(e){for(let a of this.children)a.flatten(e)}scanIdentical(e,a){if(!(e instanceof t))return 0;let o=0,[r,n,s,i]=a>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=a,n+=a){if(r==s||n==i)return o;let l=this.children[r],u=e.children[n];if(l!=u)return o+l.scanIdentical(u,a);o+=l.length+1}}static from(e,a=e.reduce((o,r)=>o+r.length+1,-1)){let o=0;for(let h of e)o+=h.lines;if(o<32){let h=[];for(let p of e)p.flatten(h);return new Yt(h,a)}let r=Math.max(32,o>>5),n=r<<1,s=r>>1,i=[],l=0,u=-1,d=[];function c(h){let p;if(h.lines>n&&h instanceof t)for(let m of h.children)c(m);else h.lines>s&&(l>s||!l)?(f(),i.push(h)):h instanceof Yt&&l&&(p=d[d.length-1])instanceof Yt&&h.lines+p.lines<=32?(l+=h.lines,u+=h.length+1,d[d.length-1]=new Yt(p.text.concat(h.text),p.length+1+h.length)):(l+h.lines>r&&f(),l+=h.lines,u+=h.length+1,d.push(h))}function f(){l!=0&&(i.push(d.length==1?d[0]:t.from(d,u)),u=-1,l=d.length=0)}for(let h of e)c(h);return f(),i.length==1?i[0]:new t(i,a)}};ye.empty=new Yt([""],0);function jP(t){let e=-1;for(let a of t)e+=a.length+1;return e}function Bl(t,e,a=0,o=1e9){for(let r=0,n=0,s=!0;n<t.length&&r<=o;n++){let i=t[n],l=r+i.length;l>=a&&(l>o&&(i=i.slice(0,o-r)),r<a&&(i=i.slice(a-r)),s?(e[e.length-1]+=i,s=!1):e.push(i)),r=l+1}return e}function e0(t,e,a){return Bl(t,[""],e,a)}var Lr=class{constructor(e,a=1){this.dir=a,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[a>0?1:(e instanceof Yt?e.text.length:e.children.length)<<1]}nextInner(e,a){for(this.done=this.lineBreak=!1;;){let o=this.nodes.length-1,r=this.nodes[o],n=this.offsets[o],s=n>>1,i=r instanceof Yt?r.text.length:r.children.length;if(s==(a>0?i:0)){if(o==0)return this.done=!0,this.value="",this;a>0&&this.offsets[o-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(a>0?0:1)){if(this.offsets[o]+=a,e==0)return this.lineBreak=!0,this.value=`
12
+ `,this;e--}else if(r instanceof Yt){let l=r.text[s+(a<0?-1:0)];if(this.offsets[o]+=a,l.length>Math.max(0,e))return this.value=e==0?l:a>0?l.slice(e):l.slice(0,l.length-e),this;e-=l.length}else{let l=r.children[s+(a<0?-1:0)];e>l.length?(e-=l.length,this.offsets[o]+=a):(a<0&&this.offsets[o]--,this.nodes.push(l),this.offsets.push(a>0?1:(l instanceof Yt?l.text.length:l.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Fl=class{constructor(e,a,o){this.value="",this.done=!1,this.cursor=new Lr(e,a>o?-1:1),this.pos=a>o?e.length:0,this.from=Math.min(a,o),this.to=Math.max(a,o)}nextInner(e,a){if(a<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,a<0?this.pos-this.to:this.from-this.pos);let o=a<0?this.pos-this.from:this.to-this.pos;e>o&&(e=o),o-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*a,this.value=r.length<=o?r:a<0?r.slice(r.length-o):r.slice(0,o),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}},Ol=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:a,lineBreak:o,value:r}=this.inner.next(e);return a&&this.afterBreak?(this.value="",this.afterBreak=!1):a?(this.done=!0,this.value=""):o?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(ye.prototype[Symbol.iterator]=function(){return this.iter()},Lr.prototype[Symbol.iterator]=Fl.prototype[Symbol.iterator]=Ol.prototype[Symbol.iterator]=function(){return this});var kf=class{constructor(e,a,o,r){this.from=e,this.to=a,this.number=o,this.text=r}get length(){return this.to-this.from}};function kn(t,e,a){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,a))]}function Je(t,e,a=!0,o=!0){return Zx(t,e,a,o)}function ZP(t){return t>=56320&&t<57344}function YP(t){return t>=55296&&t<56320}function _t(t,e){let a=t.charCodeAt(e);if(!YP(a)||e+1==t.length)return a;let o=t.charCodeAt(e+1);return ZP(o)?(a-55296<<10)+(o-56320)+65536:a}function Fs(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode((t>>10)+55296,(t&1023)+56320))}function sa(t){return t<65536?1:2}var Af=/\r\n?|\n/,pt=(function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t})(pt||(pt={})),ho=class t{constructor(e){this.sections=e}get length(){let e=0;for(let a=0;a<this.sections.length;a+=2)e+=this.sections[a];return e}get newLength(){let e=0;for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a+1];e+=o<0?this.sections[a]:o}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let a=0,o=0,r=0;a<this.sections.length;){let n=this.sections[a++],s=this.sections[a++];s<0?(e(o,r,n),r+=n):r+=s,o+=n}}iterChangedRanges(e,a=!1){Mf(this,e,a)}get invertedDesc(){let e=[];for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];r<0?e.push(o,r):e.push(r,o)}return new t(e)}composeDesc(e){return this.empty?e:e.empty?this:n0(this,e)}mapDesc(e,a=!1){return e.empty?this:Pf(this,e,a)}mapPos(e,a=-1,o=pt.Simple){let r=0,n=0;for(let s=0;s<this.sections.length;){let i=this.sections[s++],l=this.sections[s++],u=r+i;if(l<0){if(u>e)return n+(e-r);n+=i}else{if(o!=pt.Simple&&u>=e&&(o==pt.TrackDel&&r<e&&u>e||o==pt.TrackBefore&&r<e||o==pt.TrackAfter&&u>e))return null;if(u>e||u==e&&a<0&&!i)return e==r||a<0?n:n+l;n+=l}r=u}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return n}touchesRange(e,a=e){for(let o=0,r=0;o<this.sections.length&&r<=a;){let n=this.sections[o++],s=this.sections[o++],i=r+n;if(s>=0&&r<=a&&i>=e)return r<e&&i>a?"cover":!0;r=i}return!1}toString(){let e="";for(let a=0;a<this.sections.length;){let o=this.sections[a++],r=this.sections[a++];e+=(e?" ":"")+o+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(a=>typeof a!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new t(e)}static create(e){return new t(e)}},Mt=class t extends ho{constructor(e,a){super(e),this.inserted=a}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Mf(this,(a,o,r,n,s)=>e=e.replace(r,r+(o-a),s),!1),e}mapDesc(e,a=!1){return Pf(this,e,a,!0)}invert(e){let a=this.sections.slice(),o=[];for(let r=0,n=0;r<a.length;r+=2){let s=a[r],i=a[r+1];if(i>=0){a[r]=i,a[r+1]=s;let l=r>>1;for(;o.length<l;)o.push(ye.empty);o.push(s?e.slice(n,n+s):ye.empty)}n+=s}return new t(a,o)}compose(e){return this.empty?e:e.empty?this:n0(this,e,!0)}map(e,a=!1){return e.empty?this:Pf(this,e,a,!0)}iterChanges(e,a=!1){Mf(this,e,a)}get desc(){return ho.create(this.sections)}filter(e){let a=[],o=[],r=[],n=new Cr(this);e:for(let s=0,i=0;;){let l=s==e.length?1e9:e[s++];for(;i<l||i==l&&n.len==0;){if(n.done)break e;let d=Math.min(n.len,l-i);vt(r,d,-1);let c=n.ins==-1?-1:n.off==0?n.ins:0;vt(a,d,c),c>0&&Bo(o,a,n.text),n.forward(d),i+=d}let u=e[s++];for(;i<u;){if(n.done)break e;let d=Math.min(n.len,u-i);vt(a,d,-1),vt(r,d,n.ins==-1?-1:n.off==0?n.ins:0),n.forward(d),i+=d}}return{changes:new t(a,o),filtered:ho.create(r)}}toJSON(){let e=[];for(let a=0;a<this.sections.length;a+=2){let o=this.sections[a],r=this.sections[a+1];r<0?e.push(o):r==0?e.push([o]):e.push([o].concat(this.inserted[a>>1].toJSON()))}return e}static of(e,a,o){let r=[],n=[],s=0,i=null;function l(d=!1){if(!d&&!r.length)return;s<a&&vt(r,a-s,-1);let c=new t(r,n);i=i?i.compose(c.map(i)):c,r=[],n=[],s=0}function u(d){if(Array.isArray(d))for(let c of d)u(c);else if(d instanceof t){if(d.length!=a)throw new RangeError(`Mismatched change set length (got ${d.length}, expected ${a})`);l(),i=i?i.compose(d.map(i)):d}else{let{from:c,to:f=c,insert:h}=d;if(c>f||c<0||f>a)throw new RangeError(`Invalid change range ${c} to ${f} (in doc of length ${a})`);let p=h?typeof h=="string"?ye.of(h.split(o||Af)):h:ye.empty,m=p.length;if(c==f&&m==0)return;c<s&&l(),c>s&&vt(r,c-s,-1),vt(r,f-c,m),Bo(n,r,p),s=f}}return u(e),l(!i),i}static empty(e){return new t(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let a=[],o=[];for(let r=0;r<e.length;r++){let n=e[r];if(typeof n=="number")a.push(n,-1);else{if(!Array.isArray(n)||typeof n[0]!="number"||n.some((s,i)=>i&&typeof s!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)a.push(n[0],0);else{for(;o.length<r;)o.push(ye.empty);o[r]=ye.of(n.slice(1)),a.push(n[0],o[r].length)}}}return new t(a,o)}static createSet(e,a){return new t(e,a)}};function vt(t,e,a,o=!1){if(e==0&&a<=0)return;let r=t.length-2;r>=0&&a<=0&&a==t[r+1]?t[r]+=e:r>=0&&e==0&&t[r]==0?t[r+1]+=a:o?(t[r]+=e,t[r+1]+=a):t.push(e,a)}function Bo(t,e,a){if(a.length==0)return;let o=e.length-2>>1;if(o<t.length)t[t.length-1]=t[t.length-1].append(a);else{for(;t.length<o;)t.push(ye.empty);t.push(a)}}function Mf(t,e,a){let o=t.inserted;for(let r=0,n=0,s=0;s<t.sections.length;){let i=t.sections[s++],l=t.sections[s++];if(l<0)r+=i,n+=i;else{let u=r,d=n,c=ye.empty;for(;u+=i,d+=l,l&&o&&(c=c.append(o[s-2>>1])),!(a||s==t.sections.length||t.sections[s+1]<0);)i=t.sections[s++],l=t.sections[s++];e(r,u,n,d,c),r=u,n=d}}}function Pf(t,e,a,o=!1){let r=[],n=o?[]:null,s=new Cr(t),i=new Cr(e);for(let l=-1;;){if(s.done&&i.len||i.done&&s.len)throw new Error("Mismatched change set lengths");if(s.ins==-1&&i.ins==-1){let u=Math.min(s.len,i.len);vt(r,u,-1),s.forward(u),i.forward(u)}else if(i.ins>=0&&(s.ins<0||l==s.i||s.off==0&&(i.len<s.len||i.len==s.len&&!a))){let u=i.len;for(vt(r,i.ins,-1);u;){let d=Math.min(s.len,u);s.ins>=0&&l<s.i&&s.len<=d&&(vt(r,0,s.ins),n&&Bo(n,r,s.text),l=s.i),s.forward(d),u-=d}i.next()}else if(s.ins>=0){let u=0,d=s.len;for(;d;)if(i.ins==-1){let c=Math.min(d,i.len);u+=c,d-=c,i.forward(c)}else if(i.ins==0&&i.len<d)d-=i.len,i.next();else break;vt(r,u,l<s.i?s.ins:0),n&&l<s.i&&Bo(n,r,s.text),l=s.i,s.forward(s.len-d)}else{if(s.done&&i.done)return n?Mt.createSet(r,n):ho.create(r);throw new Error("Mismatched change set lengths")}}}function n0(t,e,a=!1){let o=[],r=a?[]:null,n=new Cr(t),s=new Cr(e);for(let i=!1;;){if(n.done&&s.done)return r?Mt.createSet(o,r):ho.create(o);if(n.ins==0)vt(o,n.len,0,i),n.next();else if(s.len==0&&!s.done)vt(o,0,s.ins,i),r&&Bo(r,o,s.text),s.next();else{if(n.done||s.done)throw new Error("Mismatched change set lengths");{let l=Math.min(n.len2,s.len),u=o.length;if(n.ins==-1){let d=s.ins==-1?-1:s.off?0:s.ins;vt(o,l,d,i),r&&d&&Bo(r,o,s.text)}else s.ins==-1?(vt(o,n.off?0:n.len,l,i),r&&Bo(r,o,n.textBit(l))):(vt(o,n.off?0:n.len,s.off?0:s.ins,i),r&&!s.off&&Bo(r,o,s.text));i=(n.ins>l||s.ins>=0&&s.len>l)&&(i||o.length>u),n.forward2(l),s.forward(l)}}}}var Cr=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,a=this.i-2>>1;return a>=e.length?ye.empty:e[a]}textBit(e){let{inserted:a}=this.set,o=this.i-2>>1;return o>=a.length&&!e?ye.empty:a[o].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},Cn=class t{constructor(e,a,o){this.from=e,this.to=a,this.flags=o}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,a=-1){let o,r;return this.empty?o=r=e.mapPos(this.from,a):(o=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),o==this.from&&r==this.to?this:new t(o,r,this.flags)}extend(e,a=e,o=0){if(e<=this.anchor&&a>=this.anchor)return X.range(e,a,void 0,void 0,o);let r=Math.abs(e-this.anchor)>Math.abs(a-this.anchor)?e:a;return X.range(this.anchor,r,void 0,void 0,o)}eq(e,a=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!a||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return X.range(e.anchor,e.head)}static create(e,a,o){return new t(e,a,o)}},X=class t{constructor(e,a){this.ranges=e,this.mainIndex=a}map(e,a=-1){return e.empty?this:t.create(this.ranges.map(o=>o.map(e,a)),this.mainIndex)}eq(e,a=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let o=0;o<this.ranges.length;o++)if(!this.ranges[o].eq(e.ranges[o],a))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new t([this.main],0)}addRange(e,a=!0){return t.create([e].concat(this.ranges),a?0:this.mainIndex+1)}replaceRange(e,a=this.mainIndex){let o=this.ranges.slice();return o[a]=e,t.create(o,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new t(e.ranges.map(a=>Cn.fromJSON(a)),e.main)}static single(e,a=e){return new t([t.range(e,a)],0)}static create(e,a=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let o=0,r=0;r<e.length;r++){let n=e[r];if(n.empty?n.from<=o:n.from<o)return t.normalized(e.slice(),a);o=n.to}return new t(e,a)}static cursor(e,a=0,o,r){return Cn.create(e,e,(a==0?0:a<0?8:16)|(o==null?7:Math.min(6,o))|(r??16777215)<<6)}static range(e,a,o,r,n){let s=(o??16777215)<<6|(r==null?7:Math.min(6,r));return!n&&e!=a&&(n=a<e?1:-1),a<e?Cn.create(a,e,48|s):Cn.create(e,a,(n?n<0?8:16:0)|s)}static normalized(e,a=0){let o=e[a];e.sort((r,n)=>r.from-n.from),a=e.indexOf(o);for(let r=1;r<e.length;r++){let n=e[r],s=e[r-1];if(n.empty?n.from<=s.to:n.from<s.to){let i=s.from,l=Math.max(n.to,s.to);r<=a&&a--,e.splice(--r,2,n.anchor>n.head?t.range(l,i):t.range(i,l))}}return new t(e,a)}};function s0(t,e){for(let a of t.ranges)if(a.to>e)throw new RangeError("Selection points outside of document")}var Hf=0,Y=class t{constructor(e,a,o,r,n){this.combine=e,this.compareInput=a,this.compare=o,this.isStatic=r,this.id=Hf++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new t(e.combine||(a=>a),e.compareInput||((a,o)=>a===o),e.compare||(e.combine?(a,o)=>a===o:zf),!!e.static,e.enables)}of(e){return new Sn([],this,0,e)}compute(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new Sn(e,this,1,a)}computeN(e,a){if(this.isStatic)throw new Error("Can't compute a static facet");return new Sn(e,this,2,a)}from(e,a){return a||(a=o=>o),this.compute([e],o=>a(o.field(e)))}};function zf(t,e){return t==e||t.length==e.length&&t.every((a,o)=>a===e[o])}var Sn=class{constructor(e,a,o,r){this.dependencies=e,this.facet=a,this.type=o,this.value=r,this.id=Hf++}dynamicSlot(e){var a;let o=this.value,r=this.facet.compareInput,n=this.id,s=e[n]>>1,i=this.type==2,l=!1,u=!1,d=[];for(let c of this.dependencies)c=="doc"?l=!0:c=="selection"?u=!0:(((a=e[c.id])!==null&&a!==void 0?a:1)&1)==0&&d.push(e[c.id]);return{create(c){return c.values[s]=o(c),1},update(c,f){if(l&&f.docChanged||u&&(f.docChanged||f.selection)||Df(c,d)){let h=o(c);if(i?!t0(h,c.values[s],r):!r(h,c.values[s]))return c.values[s]=h,1}return 0},reconfigure:(c,f)=>{let h,p=f.config.address[n];if(p!=null){let m=Hl(f,p);if(this.dependencies.every(g=>g instanceof Y?f.facet(g)===c.facet(g):g instanceof $e?f.field(g,!1)==c.field(g,!1):!0)||(i?t0(h=o(c),m,r):r(h=o(c),m)))return c.values[s]=m,0}else h=o(c);return c.values[s]=h,1}}}};function t0(t,e,a){if(t.length!=e.length)return!1;for(let o=0;o<t.length;o++)if(!a(t[o],e[o]))return!1;return!0}function Df(t,e){let a=!1;for(let o of e)Rs(t,o)&1&&(a=!0);return a}function JP(t,e,a){let o=a.map(l=>t[l.id]),r=a.map(l=>l.type),n=o.filter(l=>!(l&1)),s=t[e.id]>>1;function i(l){let u=[];for(let d=0;d<o.length;d++){let c=Hl(l,o[d]);if(r[d]==2)for(let f of c)u.push(f);else u.push(c)}return e.combine(u)}return{create(l){for(let u of o)Rs(l,u);return l.values[s]=i(l),1},update(l,u){if(!Df(l,n))return 0;let d=i(l);return e.compare(d,l.values[s])?0:(l.values[s]=d,1)},reconfigure(l,u){let d=Df(l,o),c=u.config.facets[e.id],f=u.facet(e);if(c&&!d&&zf(a,c))return l.values[s]=f,0;let h=i(l);return e.compare(h,f)?(l.values[s]=f,0):(l.values[s]=h,1)}}}var Rl=Y.define({static:!0}),$e=class t{constructor(e,a,o,r,n){this.id=e,this.createF=a,this.updateF=o,this.compareF=r,this.spec=n,this.provides=void 0}static define(e){let a=new t(Hf++,e.create,e.update,e.compare||((o,r)=>o===r),e);return e.provide&&(a.provides=e.provide(a)),a}create(e){let a=e.facet(Rl).find(o=>o.field==this);return(a?.create||this.createF)(e)}slot(e){let a=e[this.id]>>1;return{create:o=>(o.values[a]=this.create(o),1),update:(o,r)=>{let n=o.values[a],s=this.updateF(n,r);return this.compareF(n,s)?0:(o.values[a]=s,1)},reconfigure:(o,r)=>{let n=o.facet(Rl),s=r.facet(Rl),i;return(i=n.find(l=>l.field==this))&&i!=s.find(l=>l.field==this)?(o.values[a]=i.create(o),1):r.config.address[this.id]!=null?(o.values[a]=r.field(this),0):(o.values[a]=this.create(o),1)}}}init(e){return[this,Rl.of({field:this,create:e})]}get extension(){return this}},wr={lowest:4,low:3,default:2,high:1,highest:0};function Ds(t){return e=>new Nl(e,t)}var Jt={highest:Ds(wr.highest),high:Ds(wr.high),default:Ds(wr.default),low:Ds(wr.low),lowest:Ds(wr.lowest)},Nl=class{constructor(e,a){this.inner=e,this.prec=a}},Fo=class t{of(e){return new Ts(this,e)}reconfigure(e){return t.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},Ts=class{constructor(e,a){this.compartment=e,this.inner=a}},_l=class t{constructor(e,a,o,r,n,s){for(this.base=e,this.compartments=a,this.dynamicSlots=o,this.address=r,this.staticValues=n,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<o.length;)this.statusTemplate.push(0)}staticFacet(e){let a=this.address[e.id];return a==null?e.default:this.staticValues[a>>1]}static resolve(e,a,o){let r=[],n=Object.create(null),s=new Map;for(let f of QP(e,a,s))f instanceof $e?r.push(f):(n[f.facet.id]||(n[f.facet.id]=[])).push(f);let i=Object.create(null),l=[],u=[];for(let f of r)i[f.id]=u.length<<1,u.push(h=>f.slot(h));let d=o?.config.facets;for(let f in n){let h=n[f],p=h[0].facet,m=d&&d[f]||[];if(h.every(g=>g.type==0))if(i[p.id]=l.length<<1|1,zf(m,h))l.push(o.facet(p));else{let g=p.combine(h.map(x=>x.value));l.push(o&&p.compare(g,o.facet(p))?o.facet(p):g)}else{for(let g of h)g.type==0?(i[g.id]=l.length<<1|1,l.push(g.value)):(i[g.id]=u.length<<1,u.push(x=>g.dynamicSlot(x)));i[p.id]=u.length<<1,u.push(g=>JP(g,p,h))}}let c=u.map(f=>f(i));return new t(e,s,c,i,l,n)}};function QP(t,e,a){let o=[[],[],[],[],[]],r=new Map;function n(s,i){let l=r.get(s);if(l!=null){if(l<=i)return;let u=o[l].indexOf(s);u>-1&&o[l].splice(u,1),s instanceof Ts&&a.delete(s.compartment)}if(r.set(s,i),Array.isArray(s))for(let u of s)n(u,i);else if(s instanceof Ts){if(a.has(s.compartment))throw new RangeError("Duplicate use of compartment in extensions");let u=e.get(s.compartment)||s.inner;a.set(s.compartment,u),n(u,i)}else if(s instanceof Nl)n(s.inner,s.prec);else if(s instanceof $e)o[i].push(s),s.provides&&n(s.provides,i);else if(s instanceof Sn)o[i].push(s),s.facet.extensions&&n(s.facet.extensions,wr.default);else{let u=s.extension;if(!u)throw new Error(`Unrecognized extension value in extension set (${s}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(u,i)}}return n(t,wr.default),o.reduce((s,i)=>s.concat(i))}function Rs(t,e){if(e&1)return 2;let a=e>>1,o=t.status[a];if(o==4)throw new Error("Cyclic dependency between fields and/or facets");if(o&2)return o;t.status[a]=4;let r=t.computeSlot(t,t.config.dynamicSlots[a]);return t.status[a]=2|r}function Hl(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}var i0=Y.define(),Rf=Y.define({combine:t=>t.some(e=>e),static:!0}),l0=Y.define({combine:t=>t.length?t[0]:void 0,static:!0}),u0=Y.define(),d0=Y.define(),c0=Y.define(),f0=Y.define({combine:t=>t.length?t[0]:!1}),Nt=class{constructor(e,a){this.type=e,this.value=a}static define(){return new Tf}},Tf=class{of(e){return new Nt(this,e)}},Ef=class{constructor(e){this.map=e}of(e){return new fe(this,e)}},fe=class t{constructor(e,a){this.type=e,this.value=a}map(e){let a=this.type.map(this.value,e);return a===void 0?void 0:a==this.value?this:new t(this.type,a)}is(e){return this.type==e}static define(e={}){return new Ef(e.map||(a=>a))}static mapEffects(e,a){if(!e.length)return e;let o=[];for(let r of e){let n=r.map(a);n&&o.push(n)}return o}};fe.reconfigure=fe.define();fe.appendConfig=fe.define();var nt=class t{constructor(e,a,o,r,n,s){this.startState=e,this.changes=a,this.selection=o,this.effects=r,this.annotations=n,this.scrollIntoView=s,this._doc=null,this._state=null,o&&s0(o,a.newLength),n.some(i=>i.type==t.time)||(this.annotations=n.concat(t.time.of(Date.now())))}static create(e,a,o,r,n,s){return new t(e,a,o,r,n,s)}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let a of this.annotations)if(a.type==e)return a.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let a=this.annotation(t.userEvent);return!!(a&&(a==e||a.length>e.length&&a.slice(0,e.length)==e&&a[e.length]=="."))}};nt.time=Nt.define();nt.userEvent=Nt.define();nt.addToHistory=Nt.define();nt.remote=Nt.define();function eD(t,e){let a=[];for(let o=0,r=0;;){let n,s;if(o<t.length&&(r==e.length||e[r]>=t[o]))n=t[o++],s=t[o++];else if(r<e.length)n=e[r++],s=e[r++];else return a;!a.length||a[a.length-1]<n?a.push(n,s):a[a.length-1]<s&&(a[a.length-1]=s)}}function h0(t,e,a){var o;let r,n,s;return a?(r=e.changes,n=Mt.empty(e.changes.length),s=t.changes.compose(e.changes)):(r=e.changes.map(t.changes),n=t.changes.mapDesc(e.changes,!0),s=t.changes.compose(r)),{changes:s,selection:e.selection?e.selection.map(n):(o=t.selection)===null||o===void 0?void 0:o.map(r),effects:fe.mapEffects(t.effects,r).concat(fe.mapEffects(e.effects,n)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function Bf(t,e,a){let o=e.selection,r=In(e.annotations);return e.userEvent&&(r=r.concat(nt.userEvent.of(e.userEvent))),{changes:e.changes instanceof Mt?e.changes:Mt.of(e.changes||[],a,t.facet(l0)),selection:o&&(o instanceof X?o:X.single(o.anchor,o.head)),effects:In(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function p0(t,e,a){let o=Bf(t,e.length?e[0]:{},t.doc.length);e.length&&e[0].filter===!1&&(a=!1);for(let n=1;n<e.length;n++){e[n].filter===!1&&(a=!1);let s=!!e[n].sequential;o=h0(o,Bf(t,e[n],s?o.changes.newLength:t.doc.length),s)}let r=nt.create(t,o.changes,o.selection,o.effects,o.annotations,o.scrollIntoView);return aD(a?tD(r):r)}function tD(t){let e=t.startState,a=!0;for(let r of e.facet(u0)){let n=r(t);if(n===!1){a=!1;break}Array.isArray(n)&&(a=a===!0?n:eD(a,n))}if(a!==!0){let r,n;if(a===!1)n=t.changes.invertedDesc,r=Mt.empty(e.doc.length);else{let s=t.changes.filter(a);r=s.changes,n=s.filtered.mapDesc(s.changes).invertedDesc}t=nt.create(e,r,t.selection&&t.selection.map(n),fe.mapEffects(t.effects,n),t.annotations,t.scrollIntoView)}let o=e.facet(d0);for(let r=o.length-1;r>=0;r--){let n=o[r](t);n instanceof nt?t=n:Array.isArray(n)&&n.length==1&&n[0]instanceof nt?t=n[0]:t=p0(e,In(n),!1)}return t}function aD(t){let e=t.startState,a=e.facet(c0),o=t;for(let r=a.length-1;r>=0;r--){let n=a[r](t);n&&Object.keys(n).length&&(o=h0(o,Bf(e,n,t.changes.newLength),!0))}return o==t?t:nt.create(e,t.changes,t.selection,o.effects,o.annotations,o.scrollIntoView)}var oD=[];function In(t){return t==null?oD:Array.isArray(t)?t:[t]}var He=(function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t})(He||(He={})),rD=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Ff;try{Ff=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function nD(t){if(Ff)return Ff.test(t);for(let e=0;e<t.length;e++){let a=t[e];if(/\w/.test(a)||a>"\x80"&&(a.toUpperCase()!=a.toLowerCase()||rD.test(a)))return!0}return!1}function sD(t){return e=>{if(!/\S/.test(e))return He.Space;if(nD(e))return He.Word;for(let a=0;a<t.length;a++)if(e.indexOf(t[a])>-1)return He.Word;return He.Other}}var Pe=class t{constructor(e,a,o,r,n,s){this.config=e,this.doc=a,this.selection=o,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=n,s&&(s._state=this);for(let i=0;i<this.config.dynamicSlots.length;i++)Rs(this,i<<1);this.computeSlot=null}field(e,a=!0){let o=this.config.address[e.id];if(o==null){if(a)throw new RangeError("Field is not present in this state");return}return Rs(this,o),Hl(this,o)}update(...e){return p0(this,e,!0)}applyTransaction(e){let a=this.config,{base:o,compartments:r}=a;for(let i of e.effects)i.is(Fo.reconfigure)?(a&&(r=new Map,a.compartments.forEach((l,u)=>r.set(u,l)),a=null),r.set(i.value.compartment,i.value.extension)):i.is(fe.reconfigure)?(a=null,o=i.value):i.is(fe.appendConfig)&&(a=null,o=In(o).concat(i.value));let n;a?n=e.startState.values.slice():(a=_l.resolve(o,r,this),n=new t(a,this.doc,this.selection,a.dynamicSlots.map(()=>null),(l,u)=>u.reconfigure(l,this),null).values);let s=e.startState.facet(Rf)?e.newSelection:e.newSelection.asSingle();new t(a,e.newDoc,s,n,(i,l)=>l.update(i,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(a=>({changes:{from:a.from,to:a.to,insert:e},range:X.cursor(a.from+e.length)}))}changeByRange(e){let a=this.selection,o=e(a.ranges[0]),r=this.changes(o.changes),n=[o.range],s=In(o.effects);for(let i=1;i<a.ranges.length;i++){let l=e(a.ranges[i]),u=this.changes(l.changes),d=u.map(r);for(let f=0;f<i;f++)n[f]=n[f].map(d);let c=r.mapDesc(u,!0);n.push(l.range.map(c)),r=r.compose(d),s=fe.mapEffects(s,d).concat(fe.mapEffects(In(l.effects),c))}return{changes:r,selection:X.create(n,a.mainIndex),effects:s}}changes(e=[]){return e instanceof Mt?e:Mt.of(e,this.doc.length,this.facet(t.lineSeparator))}toText(e){return ye.of(e.split(this.facet(t.lineSeparator)||Af))}sliceDoc(e=0,a=this.doc.length){return this.doc.sliceString(e,a,this.lineBreak)}facet(e){let a=this.config.address[e.id];return a==null?e.default:(Rs(this,a),Hl(this,a))}toJSON(e){let a={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let o in e){let r=e[o];r instanceof $e&&this.config.address[r.id]!=null&&(a[o]=r.spec.toJSON(this.field(e[o]),this))}return a}static fromJSON(e,a={},o){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(o){for(let n in o)if(Object.prototype.hasOwnProperty.call(e,n)){let s=o[n],i=e[n];r.push(s.init(l=>s.spec.fromJSON(i,l)))}}return t.create({doc:e.doc,selection:X.fromJSON(e.selection),extensions:a.extensions?r.concat([a.extensions]):r})}static create(e={}){let a=_l.resolve(e.extensions||[],new Map),o=e.doc instanceof ye?e.doc:ye.of((e.doc||"").split(a.staticFacet(t.lineSeparator)||Af)),r=e.selection?e.selection instanceof X?e.selection:X.single(e.selection.anchor,e.selection.head):X.single(0);return s0(r,o.length),a.staticFacet(Rf)||(r=r.asSingle()),new t(a,o,r,a.dynamicSlots.map(()=>null),(n,s)=>s.create(n),null)}get tabSize(){return this.facet(t.tabSize)}get lineBreak(){return this.facet(t.lineSeparator)||`
13
+ `}get readOnly(){return this.facet(f0)}phrase(e,...a){for(let o of this.facet(t.phrases))if(Object.prototype.hasOwnProperty.call(o,e)){e=o[e];break}return a.length&&(e=e.replace(/\$(\$|\d*)/g,(o,r)=>{if(r=="$")return"$";let n=+(r||1);return!n||n>a.length?o:a[n-1]})),e}languageDataAt(e,a,o=-1){let r=[];for(let n of this.facet(i0))for(let s of n(this,a,o))Object.prototype.hasOwnProperty.call(s,e)&&r.push(s[e]);return r}charCategorizer(e){let a=this.languageDataAt("wordChars",e);return sD(a.length?a[0]:"")}wordAt(e){let{text:a,from:o,length:r}=this.doc.lineAt(e),n=this.charCategorizer(e),s=e-o,i=e-o;for(;s>0;){let l=Je(a,s,!1);if(n(a.slice(l,s))!=He.Word)break;s=l}for(;i<r;){let l=Je(a,i);if(n(a.slice(i,l))!=He.Word)break;i=l}return s==i?null:X.range(s+o,i+o)}};Pe.allowMultipleSelections=Rf;Pe.tabSize=Y.define({combine:t=>t.length?t[0]:4});Pe.lineSeparator=l0;Pe.readOnly=f0;Pe.phrases=Y.define({compare(t,e){let a=Object.keys(t),o=Object.keys(e);return a.length==o.length&&a.every(r=>t[r]==e[r])}});Pe.languageData=i0;Pe.changeFilter=u0;Pe.transactionFilter=d0;Pe.transactionExtender=c0;Fo.reconfigure=fe.define();function Ht(t,e,a={}){let o={};for(let r of t)for(let n of Object.keys(r)){let s=r[n],i=o[n];if(i===void 0)o[n]=s;else if(!(i===s||s===void 0))if(Object.hasOwnProperty.call(a,n))o[n]=a[n](i,s);else throw new Error("Config merge conflict for field "+n)}for(let r in e)o[r]===void 0&&(o[r]=e[r]);return o}var na=class{eq(e){return this==e}range(e,a=e){return Es.create(e,a,this)}};na.prototype.startSide=na.prototype.endSide=0;na.prototype.point=!1;na.prototype.mapMode=pt.TrackDel;function qf(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}var Es=class t{constructor(e,a,o){this.from=e,this.to=a,this.value=o}static create(e,a,o){return new t(e,a,o)}};function Of(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}var Nf=class t{constructor(e,a,o,r){this.from=e,this.to=a,this.value=o,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,a,o,r=0){let n=o?this.to:this.from;for(let s=r,i=n.length;;){if(s==i)return s;let l=s+i>>1,u=n[l]-e||(o?this.value[l].endSide:this.value[l].startSide)-a;if(l==s)return u>=0?s:i;u>=0?i=l:s=l+1}}between(e,a,o,r){for(let n=this.findIndex(a,-1e9,!0),s=this.findIndex(o,1e9,!1,n);n<s;n++)if(r(this.from[n]+e,this.to[n]+e,this.value[n])===!1)return!1}map(e,a){let o=[],r=[],n=[],s=-1,i=-1;for(let l=0;l<this.value.length;l++){let u=this.value[l],d=this.from[l]+e,c=this.to[l]+e,f,h;if(d==c){let p=a.mapPos(d,u.startSide,u.mapMode);if(p==null||(f=h=p,u.startSide!=u.endSide&&(h=a.mapPos(d,u.endSide),h<f)))continue}else if(f=a.mapPos(d,u.startSide),h=a.mapPos(c,u.endSide),f>h||f==h&&u.startSide>0&&u.endSide<=0)continue;(h-f||u.endSide-u.startSide)<0||(s<0&&(s=f),u.point&&(i=Math.max(i,h-f)),o.push(u),r.push(f-s),n.push(h-s))}return{mapped:o.length?new t(r,n,o,i):null,pos:s}}},Le=class t{constructor(e,a,o,r){this.chunkPos=e,this.chunk=a,this.nextLayer=o,this.maxPoint=r}static create(e,a,o,r){return new t(e,a,o,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let a of this.chunk)e+=a.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:a=[],sort:o=!1,filterFrom:r=0,filterTo:n=this.length}=e,s=e.filter;if(a.length==0&&!s)return this;if(o&&(a=a.slice().sort(Of)),this.isEmpty)return a.length?t.of(a):this;let i=new zl(this,null,-1).goto(0),l=0,u=[],d=new La;for(;i.value||l<a.length;)if(l<a.length&&(i.from-a[l].from||i.startSide-a[l].value.startSide)>=0){let c=a[l++];d.addInner(c.from,c.to,c.value)||u.push(c)}else i.rangeIndex==1&&i.chunkIndex<this.chunk.length&&(l==a.length||this.chunkEnd(i.chunkIndex)<a[l].from)&&(!s||r>this.chunkEnd(i.chunkIndex)||n<this.chunkPos[i.chunkIndex])&&d.addChunk(this.chunkPos[i.chunkIndex],this.chunk[i.chunkIndex])?i.nextChunk():((!s||r>i.to||n<i.from||s(i.from,i.to,i.value))&&(d.addInner(i.from,i.to,i.value)||u.push(Es.create(i.from,i.to,i.value))),i.next());return d.finishInner(this.nextLayer.isEmpty&&!u.length?t.empty:this.nextLayer.update({add:u,filter:s,filterFrom:r,filterTo:n}))}map(e){if(e.empty||this.isEmpty)return this;let a=[],o=[],r=-1;for(let s=0;s<this.chunk.length;s++){let i=this.chunkPos[s],l=this.chunk[s],u=e.touchesRange(i,i+l.length);if(u===!1)r=Math.max(r,l.maxPoint),a.push(l),o.push(e.mapPos(i));else if(u===!0){let{mapped:d,pos:c}=l.map(i,e);d&&(r=Math.max(r,d.maxPoint),a.push(d),o.push(c))}}let n=this.nextLayer.map(e);return a.length==0?n:new t(o,a,n||t.empty,r)}between(e,a,o){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let n=this.chunkPos[r],s=this.chunk[r];if(a>=n&&e<=n+s.length&&s.between(n,e-n,a-n,o)===!1)return}this.nextLayer.between(e,a,o)}}iter(e=0){return Bs.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,a=0){return Bs.from(e).goto(a)}static compare(e,a,o,r,n=-1){let s=e.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=n),i=a.filter(c=>c.maxPoint>0||!c.isEmpty&&c.maxPoint>=n),l=a0(s,i,o),u=new yr(s,l,n),d=new yr(i,l,n);o.iterGaps((c,f,h)=>o0(u,c,d,f,h,r)),o.empty&&o.length==0&&o0(u,0,d,0,0,r)}static eq(e,a,o=0,r){r==null&&(r=999999999);let n=e.filter(d=>!d.isEmpty&&a.indexOf(d)<0),s=a.filter(d=>!d.isEmpty&&e.indexOf(d)<0);if(n.length!=s.length)return!1;if(!n.length)return!0;let i=a0(n,s),l=new yr(n,i,0).goto(o),u=new yr(s,i,0).goto(o);for(;;){if(l.to!=u.to||!_f(l.active,u.active)||l.point&&(!u.point||!qf(l.point,u.point)))return!1;if(l.to>r)return!0;l.next(),u.next()}}static spans(e,a,o,r,n=-1){let s=new yr(e,null,n).goto(a),i=a,l=s.openStart;for(;;){let u=Math.min(s.to,o);if(s.point){let d=s.activeForPoint(s.to),c=s.pointFrom<a?d.length+1:s.point.startSide<0?d.length:Math.min(d.length,l);r.point(i,u,s.point,d,c,s.pointRank),l=Math.min(s.openEnd(u),d.length)}else u>i&&(r.span(i,u,s.active,l),l=s.openEnd(u));if(s.to>o)return l+(s.point&&s.to>o?1:0);i=s.to,s.next()}}static of(e,a=!1){let o=new La;for(let r of e instanceof Es?[e]:a?iD(e):e)o.add(r.from,r.to,r.value);return o.finish()}static join(e){if(!e.length)return t.empty;let a=e[e.length-1];for(let o=e.length-2;o>=0;o--)for(let r=e[o];r!=t.empty;r=r.nextLayer)a=new t(r.chunkPos,r.chunk,a,Math.max(r.maxPoint,a.maxPoint));return a}};Le.empty=new Le([],[],null,-1);function iD(t){if(t.length>1)for(let e=t[0],a=1;a<t.length;a++){let o=t[a];if(Of(e,o)>0)return t.slice().sort(Of);e=o}return t}Le.empty.nextLayer=Le.empty;var La=class t{finishChunk(e){this.chunks.push(new Nf(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,a,o){this.addInner(e,a,o)||(this.nextLayer||(this.nextLayer=new t)).add(e,a,o)}addInner(e,a,o){let r=e-this.lastTo||o.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||o.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(a-this.chunkStart),this.last=o,this.lastFrom=e,this.lastTo=a,this.value.push(o),o.point&&(this.maxPoint=Math.max(this.maxPoint,a-e)),!0)}addChunk(e,a){if((e-this.lastTo||a.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,a.maxPoint),this.chunks.push(a),this.chunkPos.push(e);let o=a.value.length-1;return this.last=a.value[o],this.lastFrom=a.from[o]+e,this.lastTo=a.to[o]+e,!0}finish(){return this.finishInner(Le.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let a=Le.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,a}};function a0(t,e,a){let o=new Map;for(let n of t)for(let s=0;s<n.chunk.length;s++)n.chunk[s].maxPoint<=0&&o.set(n.chunk[s],n.chunkPos[s]);let r=new Set;for(let n of e)for(let s=0;s<n.chunk.length;s++){let i=o.get(n.chunk[s]);i!=null&&(a?a.mapPos(i):i)==n.chunkPos[s]&&!a?.touchesRange(i,i+n.chunk[s].length)&&r.add(n.chunk[s])}return r}var zl=class{constructor(e,a,o,r=0){this.layer=e,this.skip=a,this.minPoint=o,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,a=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,a,!1),this}gotoInner(e,a,o){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,o=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],a,!0);(!o||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,a){(this.to-e||this.endSide-a)<0&&this.gotoInner(e,a,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],a=this.layer.chunk[this.chunkIndex],o=e+a.from[this.rangeIndex];if(this.from=o,this.to=e+a.to[this.rangeIndex],this.value=a.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},Bs=class t{constructor(e){this.heap=e}static from(e,a=null,o=-1){let r=[];for(let n=0;n<e.length;n++)for(let s=e[n];!s.isEmpty;s=s.nextLayer)s.maxPoint>=o&&r.push(new zl(s,a,o,n));return r.length==1?r[0]:new t(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,a=-1e9){for(let o of this.heap)o.goto(e,a);for(let o=this.heap.length>>1;o>=0;o--)If(this.heap,o);return this.next(),this}forward(e,a){for(let o of this.heap)o.forward(e,a);for(let o=this.heap.length>>1;o>=0;o--)If(this.heap,o);(this.to-e||this.value.endSide-a)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),If(this.heap,0)}}};function If(t,e){for(let a=t[e];;){let o=(e<<1)+1;if(o>=t.length)break;let r=t[o];if(o+1<t.length&&r.compare(t[o+1])>=0&&(r=t[o+1],o++),a.compare(r)<0)break;t[o]=a,t[e]=r,e=o}}var yr=class{constructor(e,a,o){this.minPoint=o,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=Bs.from(e,a,o)}goto(e,a=-1e9){return this.cursor.goto(e,a),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=a,this.openStart=-1,this.next(),this}forward(e,a){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-a)<0;)this.removeActive(this.minActive);this.cursor.forward(e,a)}removeActive(e){Tl(this.active,e),Tl(this.activeTo,e),Tl(this.activeRank,e),this.minActive=r0(this.active,this.activeTo)}addActive(e){let a=0,{value:o,to:r,rank:n}=this.cursor;for(;a<this.activeRank.length&&(n-this.activeRank[a]||r-this.activeTo[a])>0;)a++;El(this.active,a,o),El(this.activeTo,a,r),El(this.activeRank,a,n),e&&El(e,a,this.cursor.from),this.minActive=r0(this.active,this.activeTo)}next(){let e=this.to,a=this.point;this.point=null;let o=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),o&&Tl(o,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(o),this.cursor.next();else if(a&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=n,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=n.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(o){this.openStart=0;for(let r=o.length-1;r>=0&&o[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let a=[];for(let o=this.active.length-1;o>=0&&!(this.activeRank[o]<this.pointRank);o--)(this.activeTo[o]>e||this.activeTo[o]==e&&this.active[o].endSide>=this.point.endSide)&&a.push(this.active[o]);return a.reverse()}openEnd(e){let a=0;for(let o=this.activeTo.length-1;o>=0&&this.activeTo[o]>e;o--)a++;return a}};function o0(t,e,a,o,r,n){t.goto(e),a.goto(o);let s=o+r,i=o,l=o-e,u=!!n.boundChange;for(let d=!1;;){let c=t.to+l-a.to,f=c||t.endSide-a.endSide,h=f<0?t.to+l:a.to,p=Math.min(h,s);if(t.point||a.point?(t.point&&a.point&&qf(t.point,a.point)&&_f(t.activeForPoint(t.to),a.activeForPoint(a.to))||n.comparePoint(i,p,t.point,a.point),d=!1):(d&&n.boundChange(i),p>i&&!_f(t.active,a.active)&&n.compareRange(i,p,t.active,a.active),u&&p<s&&(c||t.openEnd(h)!=a.openEnd(h))&&(d=!0)),h>s)break;i=h,f<=0&&t.next(),f>=0&&a.next()}}function _f(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(t[a]!=e[a]&&!qf(t[a],e[a]))return!1;return!0}function Tl(t,e){for(let a=e,o=t.length-1;a<o;a++)t[a]=t[a+1];t.pop()}function El(t,e,a){for(let o=t.length-1;o>=e;o--)t[o+1]=t[o];t[e]=a}function r0(t,e){let a=-1,o=1e9;for(let r=0;r<e.length;r++)(e[r]-o||t[r].endSide-t[a].endSide)<0&&(a=r,o=e[r]);return a}function vr(t,e,a=t.length){let o=0;for(let r=0;r<a&&r<t.length;)t.charCodeAt(r)==9?(o+=e-o%e,r++):(o++,r=Je(t,r));return o}function m0(t,e,a,o){for(let r=0,n=0;;){if(n>=e)return r;if(r==t.length)break;n+=t.charCodeAt(r)==9?a-n%a:1,r=Je(t,r)}return o===!0?-1:t.length}var g0=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Uf=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),x0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},ia=class{constructor(e,a){this.rules=[];let{finish:o}=a||{};function r(s){return/^@/.test(s)?[s]:s.split(/,\s*/)}function n(s,i,l,u){let d=[],c=/^@(\w+)\b/.exec(s[0]),f=c&&c[1]=="keyframes";if(c&&i==null)return l.push(s[0]+";");for(let h in i){let p=i[h];if(/&/.test(h))n(h.split(/,\s*/).map(m=>s.map(g=>m.replace(/&/,g))).reduce((m,g)=>m.concat(g)),p,l);else if(p&&typeof p=="object"){if(!c)throw new RangeError("The value of a property ("+h+") should be a primitive value.");n(r(h),p,d,f)}else p!=null&&d.push(h.replace(/_.*/,"").replace(/[A-Z]/g,m=>"-"+m.toLowerCase())+": "+p+";")}(d.length||f)&&l.push((o&&!c&&!u?s.map(o):s).join(", ")+" {"+d.join(" ")+"}")}for(let s in e)n(r(s),e[s],this.rules)}getRules(){return this.rules.join(`
14
+ `)}static newName(){let e=x0[g0]||1;return x0[g0]=e+1,"\u037C"+e.toString(36)}static mount(e,a,o){let r=e[Uf],n=o&&o.nonce;r?n&&r.setNonce(n):r=new Wf(e,n),r.mount(Array.isArray(a)?a:[a],e)}},b0=new Map,Wf=class{constructor(e,a){let o=e.ownerDocument||e,r=o.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let n=b0.get(o);if(n)return e[Uf]=n;this.sheet=new r.CSSStyleSheet,b0.set(o,this)}else this.styleTag=o.createElement("style"),a&&this.styleTag.setAttribute("nonce",a);this.modules=[],e[Uf]=this}mount(e,a){let o=this.sheet,r=0,n=0;for(let s=0;s<e.length;s++){let i=e[s],l=this.modules.indexOf(i);if(l<n&&l>-1&&(this.modules.splice(l,1),n--,l=-1),l==-1){if(this.modules.splice(n++,0,i),o)for(let u=0;u<i.rules.length;u++)o.insertRule(i.rules[u],r++)}else{for(;n<l;)r+=this.modules[n++].rules.length;r+=i.rules.length,n++}}if(o)a.adoptedStyleSheets.indexOf(this.sheet)<0&&(a.adoptedStyleSheets=[this.sheet,...a.adoptedStyleSheets]);else{let s="";for(let l=0;l<this.modules.length;l++)s+=this.modules[l].getRules()+`
15
+ `;this.styleTag.textContent=s;let i=a.head||a;this.styleTag.parentNode!=i&&i.insertBefore(this.styleTag,i.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var po={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},An={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},lD=typeof navigator<"u"&&/Mac/.test(navigator.platform),uD=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(rt=0;rt<10;rt++)po[48+rt]=po[96+rt]=String(rt);var rt;for(rt=1;rt<=24;rt++)po[rt+111]="F"+rt;var rt;for(rt=65;rt<=90;rt++)po[rt]=String.fromCharCode(rt+32),An[rt]=String.fromCharCode(rt);var rt;for(ql in po)An.hasOwnProperty(ql)||(An[ql]=po[ql]);var ql;function w0(t){var e=lD&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||uD&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",a=!e&&t.key||(t.shiftKey?An:po)[t.keyCode]||t.key||"Unidentified";return a=="Esc"&&(a="Escape"),a=="Del"&&(a="Delete"),a=="Left"&&(a="ArrowLeft"),a=="Up"&&(a="ArrowUp"),a=="Right"&&(a="ArrowRight"),a=="Down"&&(a="ArrowDown"),a}function ve(){var t=arguments[0];typeof t=="string"&&(t=document.createElement(t));var e=1,a=arguments[1];if(a&&typeof a=="object"&&a.nodeType==null&&!Array.isArray(a)){for(var o in a)if(Object.prototype.hasOwnProperty.call(a,o)){var r=a[o];typeof r=="string"?t.setAttribute(o,r):r!=null&&(t[o]=r)}e++}for(;e<arguments.length;e++)y0(t,arguments[e]);return t}function y0(t,e){if(typeof e=="string")t.appendChild(document.createTextNode(e));else if(e!=null)if(e.nodeType!=null)t.appendChild(e);else if(Array.isArray(e))for(var a=0;a<e.length;a++)y0(t,e[a]);else throw new RangeError("Unsupported child node: "+e)}var Pt=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Qf=typeof document<"u"?document:{documentElement:{style:{}}},eh=/Edge\/(\d+)/.exec(Pt.userAgent),ab=/MSIE \d/.test(Pt.userAgent),th=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Pt.userAgent),bu=!!(ab||th||eh),L0=!bu&&/gecko\/(\d+)/i.test(Pt.userAgent),Vf=!bu&&/Chrome\/(\d+)/.exec(Pt.userAgent),C0="webkitFontSmoothing"in Qf.documentElement.style,ah=!bu&&/Apple Computer/.test(Pt.vendor),v0=ah&&(/Mobile\/\w+/.test(Pt.userAgent)||Pt.maxTouchPoints>2),Q={mac:v0||/Mac/.test(Pt.platform),windows:/Win/.test(Pt.platform),linux:/Linux|X11/.test(Pt.platform),ie:bu,ie_version:ab?Qf.documentMode||6:th?+th[1]:eh?+eh[1]:0,gecko:L0,gecko_version:L0?+(/Firefox\/(\d+)/.exec(Pt.userAgent)||[0,0])[1]:0,chrome:!!Vf,chrome_version:Vf?+Vf[1]:0,ios:v0,android:/Android\b/.test(Pt.userAgent),webkit:C0,webkit_version:C0?+(/\bAppleWebKit\/(\d+)/.exec(Pt.userAgent)||[0,0])[1]:0,safari:ah,safari_version:ah?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Pt.userAgent)||[0,0])[1]:0,tabSize:Qf.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Wh(t,e){for(let a in t)a=="class"&&e.class?e.class+=" "+t.class:a=="style"&&e.style?e.style+=";"+t.style:e[a]=t[a];return e}var eu=Object.create(null);function Vh(t,e,a){if(t==e)return!0;t||(t=eu),e||(e=eu);let o=Object.keys(t),r=Object.keys(e);if(o.length-(a&&o.indexOf(a)>-1?1:0)!=r.length-(a&&r.indexOf(a)>-1?1:0))return!1;for(let n of o)if(n!=a&&(r.indexOf(n)==-1||t[n]!==e[n]))return!1;return!0}function dD(t,e){for(let a=t.attributes.length-1;a>=0;a--){let o=t.attributes[a].name;e[o]==null&&t.removeAttribute(o)}for(let a in e){let o=e[a];a=="style"?t.style.cssText=o:t.getAttribute(a)!=o&&t.setAttribute(a,o)}}function S0(t,e,a){let o=!1;if(e)for(let r in e)a&&r in a||(o=!0,r=="style"?t.style.cssText="":t.removeAttribute(r));if(a)for(let r in a)e&&e[r]==a[r]||(o=!0,r=="style"?t.style.cssText=a[r]:t.setAttribute(r,a[r]));return o}function cD(t){let e=Object.create(null);for(let a=0;a<t.attributes.length;a++){let o=t.attributes[a];e[o.name]=o.value}return e}var Va=class{eq(e){return!1}updateDOM(e,a,o){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,a,o){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},gt=(function(t){return t[t.Text=0]="Text",t[t.WidgetBefore=1]="WidgetBefore",t[t.WidgetAfter=2]="WidgetAfter",t[t.WidgetRange=3]="WidgetRange",t})(gt||(gt={})),me=class extends na{constructor(e,a,o,r){super(),this.startSide=e,this.endSide=a,this.widget=o,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Xs(e)}static widget(e){let a=Math.max(-1e4,Math.min(1e4,e.side||0)),o=!!e.block;return a+=o&&!e.inlineOrder?a>0?3e8:-4e8:a>0?1e8:-1e8,new Ar(e,a,a,o,e.widget||null,!1)}static replace(e){let a=!!e.block,o,r;if(e.isBlockGap)o=-5e8,r=4e8;else{let{start:n,end:s}=ob(e,a);o=(n?a?-3e8:-1:5e8)-1,r=(s?a?2e8:1:-6e8)+1}return new Ar(e,o,r,a,e.widget||null,!0)}static line(e){return new Ks(e)}static set(e,a=!1){return Le.of(e,a)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};me.none=Le.empty;var Xs=class t extends me{constructor(e){let{start:a,end:o}=ob(e);super(a?-1:5e8,o?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Wh(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||eu}eq(e){return this==e||e instanceof t&&this.tagName==e.tagName&&Vh(this.attrs,e.attrs)}range(e,a=e){if(e>=a)throw new RangeError("Mark decorations may not be empty");return super.range(e,a)}};Xs.prototype.point=!1;var Ks=class t extends me{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof t&&this.spec.class==e.spec.class&&Vh(this.spec.attributes,e.spec.attributes)}range(e,a=e){if(a!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,a)}};Ks.prototype.mapMode=pt.TrackBefore;Ks.prototype.point=!0;var Ar=class t extends me{constructor(e,a,o,r,n,s){super(a,o,n,e),this.block=r,this.isReplace=s,this.mapMode=r?a<=0?pt.TrackBefore:pt.TrackAfter:pt.TrackDel}get type(){return this.startSide!=this.endSide?gt.WidgetRange:this.startSide<=0?gt.WidgetBefore:gt.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof t&&fD(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,a=e){if(this.isReplace&&(e>a||e==a&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&a!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,a)}};Ar.prototype.point=!0;function ob(t,e=!1){let{inclusiveStart:a,inclusiveEnd:o}=t;return a==null&&(a=t.inclusive),o==null&&(o=t.inclusive),{start:a??e,end:o??e}}function fD(t,e){return t==e||!!(t&&e&&t.compare(e))}function En(t,e,a,o=0){let r=a.length-1;r>=0&&a[r]+o>=t?a[r]=Math.max(a[r],e):a.push(t,e)}var tu=class t extends na{constructor(e,a,o){super(),this.tagName=e,this.attributes=a,this.rank=o}eq(e){return e==this||e instanceof t&&this.tagName==e.tagName&&Vh(this.attributes,e.attributes)}static create(e){return new t(e.tagName,e.attributes||eu,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,a=!1){return Le.of(e,a)}};tu.prototype.startSide=tu.prototype.endSide=-1;function js(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function oh(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function _s(t,e){if(!e.anchorNode)return!1;try{return oh(t,e.anchorNode)}catch{return!1}}function Yl(t){return t.nodeType==3?Zs(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function Hs(t,e,a,o){return a?I0(t,e,a,o,-1)||I0(t,e,a,o,1):!1}function _o(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function au(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function I0(t,e,a,o,r){for(;;){if(t==a&&e==o)return!0;if(e==(r<0?0:xo(t))){if(t.nodeName=="DIV")return!1;let n=t.parentNode;if(!n||n.nodeType!=1)return!1;e=_o(t)+(r<0?0:1),t=n}else if(t.nodeType==1){if(t=t.childNodes[e+(r<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=r<0?xo(t):0}else return!1}}function xo(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function ou(t,e){let a=e?t.left:t.right;return{left:a,right:a,top:t.top,bottom:t.bottom}}function hD(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function rb(t,e){let a=e.width/t.offsetWidth,o=e.height/t.offsetHeight;return(a>.995&&a<1.005||!isFinite(a)||Math.abs(e.width-t.offsetWidth)<1)&&(a=1),(o>.995&&o<1.005||!isFinite(o)||Math.abs(e.height-t.offsetHeight)<1)&&(o=1),{scaleX:a,scaleY:o}}function pD(t,e,a,o,r,n,s,i){let l=t.ownerDocument,u=l.defaultView||window;for(let d=t,c=!1;d&&!c;)if(d.nodeType==1){let f,h=d==l.body,p=1,m=1;if(h)f=hD(u);else{if(/^(fixed|sticky)$/.test(getComputedStyle(d).position)&&(c=!0),d.scrollHeight<=d.clientHeight&&d.scrollWidth<=d.clientWidth){d=d.assignedSlot||d.parentNode;continue}let y=d.getBoundingClientRect();({scaleX:p,scaleY:m}=rb(d,y)),f={left:y.left,right:y.left+d.clientWidth*p,top:y.top,bottom:y.top+d.clientHeight*m}}let g=0,x=0;if(r=="nearest")e.top<f.top+s?(x=e.top-(f.top+s),a>0&&e.bottom>f.bottom+x&&(x=e.bottom-f.bottom+s)):e.bottom>f.bottom-s&&(x=e.bottom-f.bottom+s,a<0&&e.top-x<f.top&&(x=e.top-(f.top+s)));else{let y=e.bottom-e.top,b=f.bottom-f.top;x=(r=="center"&&y<=b?e.top+y/2-b/2:r=="start"||r=="center"&&a<0?e.top-s:e.bottom-b+s)-f.top}if(o=="nearest"?e.left<f.left+n?(g=e.left-(f.left+n),a>0&&e.right>f.right+g&&(g=e.right-f.right+n)):e.right>f.right-n&&(g=e.right-f.right+n,a<0&&e.left<f.left+g&&(g=e.left-(f.left+n))):g=(o=="center"?e.left+(e.right-e.left)/2-(f.right-f.left)/2:o=="start"==i?e.left-n:e.right-(f.right-f.left)+n)-f.left,g||x)if(h)u.scrollBy(g,x);else{let y=0,b=0;if(x){let C=d.scrollTop;d.scrollTop+=x/m,b=(d.scrollTop-C)*m}if(g){let C=d.scrollLeft;d.scrollLeft+=g/p,y=(d.scrollLeft-C)*p}e={left:e.left-y,top:e.top-b,right:e.right-y,bottom:e.bottom-b},y&&Math.abs(y-g)<1&&(o="nearest"),b&&Math.abs(b-x)<1&&(r="nearest")}if(h)break;(e.top<f.top||e.bottom>f.bottom||e.left<f.left||e.right>f.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),d=d.assignedSlot||d.parentNode}else if(d.nodeType==11)d=d.host;else break}function nb(t,e=!0){let a=t.ownerDocument,o=null,r=null;for(let n=t.parentNode;n&&!(n==a.body||(!e||o)&&r);)if(n.nodeType==1)!r&&n.scrollHeight>n.clientHeight&&(r=n),e&&!o&&n.scrollWidth>n.clientWidth&&(o=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:o,y:r}}var rh=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:a,focusNode:o}=e;this.set(a,Math.min(e.anchorOffset,a?xo(a):0),o,Math.min(e.focusOffset,o?xo(o):0))}set(e,a,o,r){this.anchorNode=e,this.anchorOffset=a,this.focusNode=o,this.focusOffset=r}},Sr=null;Q.safari&&Q.safari_version>=26&&(Sr=!1);function sb(t){if(t.setActive)return t.setActive();if(Sr)return t.focus(Sr);let e=[];for(let a=t;a&&(e.push(a,a.scrollTop,a.scrollLeft),a!=a.ownerDocument);a=a.parentNode);if(t.focus(Sr==null?{get preventScroll(){return Sr={preventScroll:!0},!0}}:void 0),!Sr){Sr=!1;for(let a=0;a<e.length;){let o=e[a++],r=e[a++],n=e[a++];o.scrollTop!=r&&(o.scrollTop=r),o.scrollLeft!=n&&(o.scrollLeft=n)}}}var k0;function Zs(t,e,a=e){let o=k0||(k0=document.createRange());return o.setEnd(t,a),o.setStart(t,e),o}function Bn(t,e,a,o){let r={key:e,code:e,keyCode:a,which:a,cancelable:!0};o&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=o);let n=new KeyboardEvent("keydown",r);n.synthetic=!0,t.dispatchEvent(n);let s=new KeyboardEvent("keyup",r);return s.synthetic=!0,t.dispatchEvent(s),n.defaultPrevented||s.defaultPrevented}function mD(t){for(;t;){if(t&&(t.nodeType==9||t.nodeType==11&&t.host))return t;t=t.assignedSlot||t.parentNode}return null}function gD(t,e){let a=e.focusNode,o=e.focusOffset;if(!a||e.anchorNode!=a||e.anchorOffset!=o)return!1;for(o=Math.min(o,xo(a));;)if(o){if(a.nodeType!=1)return!1;let r=a.childNodes[o-1];r.contentEditable=="false"?o--:(a=r,o=xo(a))}else{if(a==t)return!0;o=_o(a),a=a.parentNode}}function ib(t){return t instanceof Window?t.pageYOffset>Math.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function lb(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o>0)return{node:a,offset:o};if(a.nodeType==1&&o>0){if(a.contentEditable=="false")return null;a=a.childNodes[o-1],o=xo(a)}else if(a.parentNode&&!au(a))o=_o(a),a=a.parentNode;else return null}}function ub(t,e){for(let a=t,o=e;;){if(a.nodeType==3&&o<a.nodeValue.length)return{node:a,offset:o};if(a.nodeType==1&&o<a.childNodes.length){if(a.contentEditable=="false")return null;a=a.childNodes[o],o=0}else if(a.parentNode&&!au(a))o=_o(a)+1,a=a.parentNode;else return null}}var Wa=class t{constructor(e,a,o=!0){this.node=e,this.offset=a,this.precise=o}static before(e,a){return new t(e.parentNode,_o(e),a)}static after(e,a){return new t(e.parentNode,_o(e)+1,a)}},ke=(function(t){return t[t.LTR=0]="LTR",t[t.RTL=1]="RTL",t})(ke||(ke={})),Mr=ke.LTR,Gh=ke.RTL;function db(t){let e=[];for(let a=0;a<t.length;a++)e.push(1<<+t[a]);return e}var xD=db("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),bD=db("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),nh=Object.create(null),Ua=[];for(let t of["()","[]","{}"]){let e=t.charCodeAt(0),a=t.charCodeAt(1);nh[e]=a,nh[a]=-e}function cb(t){return t<=247?xD[t]:1424<=t&&t<=1524?2:1536<=t&&t<=1785?bD[t-1536]:1774<=t&&t<=2220?4:8192<=t&&t<=8204?256:64336<=t&&t<=65023?4:1}var wD=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,da=class{get dir(){return this.level%2?Gh:Mr}constructor(e,a,o){this.from=e,this.to=a,this.level=o}side(e,a){return this.dir==a==e?this.to:this.from}forward(e,a){return e==(this.dir==a)}static find(e,a,o,r){let n=-1;for(let s=0;s<e.length;s++){let i=e[s];if(i.from<=a&&i.to>=a){if(i.level==o)return s;(n<0||(r!=0?r<0?i.from<a:i.to>a:e[n].level>i.level))&&(n=s)}}if(n<0)throw new RangeError("Index out of range");return n}};function fb(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++){let o=t[a],r=e[a];if(o.from!=r.from||o.to!=r.to||o.direction!=r.direction||!fb(o.inner,r.inner))return!1}return!0}var De=[];function yD(t,e,a,o,r){for(let n=0;n<=o.length;n++){let s=n?o[n-1].to:e,i=n<o.length?o[n].from:a,l=n?256:r;for(let u=s,d=l,c=l;u<i;u++){let f=cb(t.charCodeAt(u));f==512?f=d:f==8&&c==4&&(f=16),De[u]=f==4?2:f,f&7&&(c=f),d=f}for(let u=s,d=l,c=l;u<i;u++){let f=De[u];if(f==128)u<i-1&&d==De[u+1]&&d&24?f=De[u]=d:De[u]=256;else if(f==64){let h=u+1;for(;h<i&&De[h]==64;)h++;let p=u&&d==8||h<a&&De[h]==8?c==1?1:8:256;for(let m=u;m<h;m++)De[m]=p;u=h-1}else f==8&&c==1&&(De[u]=1);d=f,f&7&&(c=f)}}}function LD(t,e,a,o,r){let n=r==1?2:1;for(let s=0,i=0,l=0;s<=o.length;s++){let u=s?o[s-1].to:e,d=s<o.length?o[s].from:a;for(let c=u,f,h,p;c<d;c++)if(h=nh[f=t.charCodeAt(c)])if(h<0){for(let m=i-3;m>=0;m-=3)if(Ua[m+1]==-h){let g=Ua[m+2],x=g&2?r:g&4?g&1?n:r:0;x&&(De[c]=De[Ua[m]]=x),i=m;break}}else{if(Ua.length==189)break;Ua[i++]=c,Ua[i++]=f,Ua[i++]=l}else if((p=De[c])==2||p==1){let m=p==r;l=m?0:1;for(let g=i-3;g>=0;g-=3){let x=Ua[g+2];if(x&2)break;if(m)Ua[g+2]|=2;else{if(x&4)break;Ua[g+2]|=4}}}}}function CD(t,e,a,o){for(let r=0,n=o;r<=a.length;r++){let s=r?a[r-1].to:t,i=r<a.length?a[r].from:e;for(let l=s;l<i;){let u=De[l];if(u==256){let d=l+1;for(;;)if(d==i){if(r==a.length)break;d=a[r++].to,i=r<a.length?a[r].from:e}else if(De[d]==256)d++;else break;let c=n==1,f=(d<e?De[d]:o)==1,h=c==f?c?1:2:o;for(let p=d,m=r,g=m?a[m-1].to:t;p>l;)p==g&&(p=a[--m].from,g=m?a[m-1].to:t),De[--p]=h;l=d}else n=u,l++}}}function sh(t,e,a,o,r,n,s){let i=o%2?2:1;if(o%2==r%2)for(let l=e,u=0;l<a;){let d=!0,c=!1;if(u==n.length||l<n[u].from){let m=De[l];m!=i&&(d=!1,c=m==16)}let f=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u<n.length&&p==n[u].from){if(c)break e;let m=n[u];if(!d)for(let g=m.to,x=u+1;;){if(g==a)break e;if(x<n.length&&n[x].from==g)g=n[x++].to;else{if(De[g]==i)break e;break}}if(u++,f)f.push(m);else{m.from>l&&s.push(new da(l,m.from,h));let g=m.direction==Mr!=!(h%2);ih(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.to}p=m.to}else{if(p==a||(d?De[p]!=i:De[p]==i))break;p++}f?sh(t,l,p,o+1,r,f,s):l<p&&s.push(new da(l,p,h)),l=p}else for(let l=a,u=n.length;l>e;){let d=!0,c=!1;if(!u||l>n[u-1].to){let m=De[l-1];m!=i&&(d=!1,c=m==16)}let f=!d&&i==1?[]:null,h=d?o:o+1,p=l;e:for(;;)if(u&&p==n[u-1].to){if(c)break e;let m=n[--u];if(!d)for(let g=m.from,x=u;;){if(g==e)break e;if(x&&n[x-1].to==g)g=n[--x].from;else{if(De[g-1]==i)break e;break}}if(f)f.push(m);else{m.to<l&&s.push(new da(m.to,l,h));let g=m.direction==Mr!=!(h%2);ih(t,g?o+1:o,r,m.inner,m.from,m.to,s),l=m.from}p=m.from}else{if(p==e||(d?De[p-1]!=i:De[p-1]==i))break;p--}f?sh(t,p,l,o+1,r,f,s):p<l&&s.push(new da(p,l,h)),l=p}}function ih(t,e,a,o,r,n,s){let i=e%2?2:1;yD(t,r,n,o,i),LD(t,r,n,o,i),CD(r,n,o,i),sh(t,r,n,e,a,o,s)}function vD(t,e,a){if(!t)return[new da(0,0,e==Gh?1:0)];if(e==Mr&&!a.length&&!wD.test(t))return hb(t.length);if(a.length)for(;t.length>De.length;)De[De.length]=256;let o=[],r=e==Mr?0:1;return ih(t,r,r,a,0,t.length,o),o}function hb(t){return[new da(0,t,0)]}var pb="";function SD(t,e,a,o,r){var n;let s=o.head-t.from,i=da.find(e,s,(n=o.bidiLevel)!==null&&n!==void 0?n:-1,o.assoc),l=e[i],u=l.side(r,a);if(s==u){let f=i+=r?1:-1;if(f<0||f>=e.length)return null;l=e[i=f],s=l.side(!r,a),u=l.side(r,a)}let d=Je(t.text,s,l.forward(r,a));(d<l.from||d>l.to)&&(d=u),pb=t.text.slice(Math.min(s,d),Math.max(s,d));let c=i==(r?e.length-1:0)?null:e[i+(r?1:-1)];return c&&d==u&&c.level+(r?0:1)<l.level?X.cursor(c.side(!r,a)+t.from,c.forward(r,a)?1:-1,c.level):X.cursor(d+t.from,l.forward(r,a)?-1:1,l.level)}function ID(t,e,a){for(let o=e;o<a;o++){let r=cb(t.charCodeAt(o));if(r==1)return Mr;if(r==2||r==4)return Gh}return Mr}var mb=Y.define(),gb=Y.define(),xb=Y.define(),bb=Y.define(),lh=Y.define(),wb=Y.define(),yb=Y.define(),$h=Y.define(),Xh=Y.define(),Lb=Y.define({combine:t=>t.some(e=>e)}),Cb=Y.define({combine:t=>t.some(e=>e)}),vb=Y.define(),zs=class t{constructor(e,a,o,r,n,s=!1){this.range=e,this.y=a,this.x=o,this.yMargin=r,this.xMargin=n,this.isSnapshot=s}map(e){return e.empty?this:new t(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new t(X.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Ul=fe.define({map:(t,e)=>t.map(e)}),Sb=fe.define();function mt(t,e,a){let o=t.facet(bb);o.length?o[0](e):window.onerror&&window.onerror(String(e),a,void 0,void 0,e)||(a?console.error(a+":",e):console.error(e))}var mo=Y.define({combine:t=>t.length?t[0]:!0}),kD=0,Pn=Y.define({combine(t){return t.filter((e,a)=>{for(let o=0;o<a;o++)if(t[o].plugin==e.plugin)return!1;return!0})}}),Qe=class t{constructor(e,a,o,r,n){this.id=e,this.create=a,this.domEventHandlers=o,this.domEventObservers=r,this.baseExtensions=n(this),this.extension=this.baseExtensions.concat(Pn.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(Pn.of({plugin:this,arg:e}))}static define(e,a){let{eventHandlers:o,eventObservers:r,provide:n,decorations:s}=a||{};return new t(kD++,e,o,r,i=>{let l=[];return s&&l.push(wu.of(u=>{let d=u.plugin(i);return d?s(d):me.none})),n&&l.push(n(i)),l})}static fromClass(e,a){return t.define((o,r)=>new e(o,r),a)}},qs=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let a=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(a)}catch(o){if(mt(a.state,o,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(a){mt(e.state,a,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var a;if(!((a=this.value)===null||a===void 0)&&a.destroy)try{this.value.destroy()}catch(o){mt(e.state,o,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Ib=Y.define(),Kh=Y.define(),wu=Y.define(),kb=Y.define(),jh=Y.define(),Ys=Y.define(),Ab=Y.define();function A0(t,e){let a=t.state.facet(Ab);if(!a.length)return a;let o=a.map(n=>n instanceof Function?n(t):n),r=[];return Le.spans(o,e.from,e.to,{point(){},span(n,s,i,l){let u=n-e.from,d=s-e.from,c=r;for(let f=i.length-1;f>=0;f--,l--){let h=i[f].spec.bidiIsolate,p;if(h==null&&(h=ID(e.text,u,d)),l>0&&c.length&&(p=c[c.length-1]).to==u&&p.direction==h)p.to=d,c=p.inner;else{let m={from:u,to:d,direction:h,inner:[]};c.push(m),c=m.inner}}}}),r}var Mb=Y.define();function Zh(t){let e=0,a=0,o=0,r=0;for(let n of t.state.facet(Mb)){let s=n(t);s&&(s.left!=null&&(e=Math.max(e,s.left)),s.right!=null&&(a=Math.max(a,s.right)),s.top!=null&&(o=Math.max(o,s.top)),s.bottom!=null&&(r=Math.max(r,s.bottom)))}return{left:e,right:a,top:o,bottom:r}}var Os=Y.define(),va=class t{constructor(e,a,o,r){this.fromA=e,this.toA=a,this.fromB=o,this.toB=r}join(e){return new t(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let a=e.length,o=this;for(;a>0;a--){let r=e[a-1];if(!(r.fromA>o.toA)){if(r.toA<o.fromA)break;o=o.join(r),e.splice(a-1,1)}}return e.splice(a,0,o),e}static extendWithRanges(e,a){if(a.length==0)return e;let o=[];for(let r=0,n=0,s=0;;){let i=r<e.length?e[r].fromB:1e9,l=n<a.length?a[n]:1e9,u=Math.min(i,l);if(u==1e9)break;let d=u+s,c=u,f=d;for(;;)if(n<a.length&&a[n]<=c){let h=a[n+1];n+=2,c=Math.max(c,h);for(let p=r;p<e.length&&e[p].fromB<=c;p++)s=e[p].toA-e[p].toB;f=Math.max(f,h+s)}else if(r<e.length&&e[r].fromB<=c){let h=e[r++];c=Math.max(c,h.toB),f=Math.max(f,h.toA),s=h.toA-h.toB}else break;o.push(new t(d,f,u,c))}return o}},ru=class t{constructor(e,a,o){this.view=e,this.state=a,this.transactions=o,this.flags=0,this.startState=e.state,this.changes=Mt.empty(this.startState.doc.length);for(let n of o)this.changes=this.changes.compose(n.changes);let r=[];this.changes.iterChangedRanges((n,s,i,l)=>r.push(new va(n,s,i,l))),this.changedRanges=r}static create(e,a,o){return new t(e,a,o)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},AD=[],ze=class{constructor(e,a,o=0){this.dom=e,this.length=a,this.flags=o,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return AD}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let a=this.domAttrs;a&&dD(this.dom,a)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,a=this.posAtStart){let o=a;for(let r of this.children){if(r==e)return o;o+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,a){return null}domPosFor(e,a){let o=_o(this.dom),r=this.length?e>0:a>0;return new Wa(this.parent.dom,o+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof On)return e;return null}static get(e){return e.cmTile}},Fn=class extends ze{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let a=this.dom,o=null,r,n=e?.node==a?e:null,s=0;for(let i of this.children){if(i.sync(e),s+=i.length+i.breakAfter,r=o?o.nextSibling:a.firstChild,n&&r!=i.dom&&(n.written=!0),i.dom.parentNode==a)for(;r&&r!=i.dom;)r=M0(r);else a.insertBefore(i.dom,r);o=i.dom}for(r=o?o.nextSibling:a.firstChild,n&&r&&(n.written=!0);r;)r=M0(r);this.length=s}};function M0(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}var On=class extends Fn{constructor(e,a){super(a),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let a=ze.get(e);if(a&&this.owns(a))return a;e=e.parentNode}}blockTiles(e){for(let a=[],o=this,r=0,n=0;;)if(r==o.children.length){if(!a.length)return;o=o.parent,o.breakAfter&&n++,r=a.pop()}else{let s=o.children[r++];if(s instanceof go)a.push(r),o=s,r=0;else{let i=n+s.length,l=e(s,n);if(l!==void 0)return l;n=i+s.breakAfter}}}resolveBlock(e,a){let o,r=-1,n,s=-1;if(this.blockTiles((i,l)=>{let u=l+i.length;if(e>=l&&e<=u){if(i.isWidget()&&a>=-1&&a<=1){if(i.flags&32)return!0;i.flags&16&&(o=void 0)}(l<e||e==u&&(a<-1?i.length:i.covers(1)))&&(!o||!i.isWidget()&&o.isWidget())&&(o=i,r=e-l),(u>e||e==l&&(a>1?i.length:i.covers(-1)))&&(!n||!i.isWidget()&&n.isWidget())&&(n=i,s=e-l)}}),!o&&!n)throw new Error("No tile at position "+e);return o&&a<0||!n?{tile:o,offset:r}:{tile:n,offset:s}}},go=class t extends Fn{constructor(e,a){super(e),this.wrapper=a}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},Nn=class t extends Fn{constructor(e,a){super(e),this.attrs=a}isLine(){return!0}static start(e,a,o){let r=new t(a||document.createElement("div"),e);return(!a||!o)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,a,o){let r=null,n=-1,s=null,i=-1;function l(d,c){for(let f=0,h=0;f<d.children.length&&h<=c;f++){let p=d.children[f],m=h+p.length;m>=c&&(p.isComposite()?l(p,c-h):(!s||s.isHidden&&(a>0||o&&PD(s,p)))&&(m>c||p.flags&32)?(s=p,i=c-h):(h<c||p.flags&16&&!p.isHidden)&&(r=p,n=c-h)),h=m}}l(this,e);let u=(a<0?r:s)||r||s;return u?{tile:u,offset:u==r?n:i}:null}coordsIn(e,a){let o=this.resolveInline(e,a,!0);return o?o.tile.coordsIn(Math.max(0,o.offset),a):MD(this)}domIn(e,a){let o=this.resolveInline(e,a);if(o){let{tile:r,offset:n}=o;if(this.dom.contains(r.dom))return r.isText()?new Wa(r.dom,Math.min(r.dom.nodeValue.length,n)):r.domPosFor(n,r.flags&16?1:r.flags&32?-1:a);let s=o.tile.parent,i=!1;for(let l of s.children){if(i)return new Wa(l.dom,0);l==o.tile&&(i=!0)}}return new Wa(this.dom,0)}};function MD(t){let e=t.dom.lastChild;if(!e)return t.dom.getBoundingClientRect();let a=Yl(e);return a[a.length-1]||null}function PD(t,e){let a=t.coordsIn(0,1),o=e.coordsIn(0,1);return a&&o&&o.top<a.bottom}var zt=class t extends Fn{constructor(e,a){super(e),this.mark=a}get domAttrs(){return this.mark.attrs}static of(e,a){let o=new t(a||document.createElement(e.tagName),e);return a||(o.flags|=4),o}},Ir=class t extends ze{constructor(e,a){super(e,a.length),this.text=a}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,a){let o=this.dom.nodeValue.length;e>o&&(e=o);let r=e,n=e,s=0;e==0&&a<0||e==o&&a>=0?Q.chrome||Q.gecko||(e?(r--,s=1):n<o&&(n++,s=-1)):a<0?r--:n<o&&n++;let i=Zs(this.dom,r,n).getClientRects();if(!i.length)return null;let l=i[(s?s<0:a>=0)?0:i.length-1];return Q.safari&&!s&&l.width==0&&(l=Array.prototype.find.call(i,u=>u.width)||l),s?ou(l,s<0):l||null}static of(e,a){let o=new t(a||document.createTextNode(e),e);return a||(o.flags|=2),o}},Pr=class t extends ze{constructor(e,a,o,r){super(e,a,r),this.widget=o}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,a){return this.coordsInWidget(e,a,!1)}coordsInWidget(e,a,o){let r=this.widget.coordsAt(this.dom,e,a);if(r)return r;if(o)return ou(this.dom.getBoundingClientRect(),this.length?e==0:a<=0);{let n=this.dom.getClientRects(),s=null;if(!n.length)return null;let i=this.flags&16?!0:this.flags&32?!1:e>0;for(let l=i?n.length-1:0;s=n[l],!(e>0?l==0:l==n.length-1||s.top<s.bottom);l+=i?-1:1);return ou(s,!i)}}get overrideDOMText(){if(!this.length)return ye.empty;let{root:e}=this;if(!e)return ye.empty;let a=this.posAtStart;return e.view.state.doc.slice(a,a+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,a,o,r,n){return n||(n=e.toDOM(a),e.editable||(n.contentEditable="false")),new t(n,o,e,r)}},_n=class extends ze{constructor(e){let a=document.createElement("img");a.className="cm-widgetBuffer",a.setAttribute("aria-hidden","true"),super(a,0,e)}get isHidden(){return!0}get overrideDOMText(){return ye.empty}coordsIn(e){return this.dom.getBoundingClientRect()}},uh=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,a,o){let{tile:r,index:n,beforeBreak:s,parents:i}=this;for(;e||a>0;)if(r.isComposite())if(s){if(!e)break;o&&o.break(),e--,s=!1}else if(n==r.children.length){if(!e&&!i.length)break;o&&o.leave(r),s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++}else{let l=r.children[n],u=l.breakAfter;(a>0?l.length<=e:l.length<e)&&(!o||o.skip(l,0,l.length)!==!1||!l.isComposite)?(s=!!u,n++,e-=l.length):(i.push({tile:r,index:n}),r=l,n=0,o&&l.isComposite()&&o.enter(l))}else if(n==r.length)s=!!r.breakAfter,{tile:r,index:n}=i.pop(),n++;else if(e){let l=Math.min(e,r.length-n);o&&o.skip(r,n,n+l),e-=l,n+=l}else break;return this.tile=r,this.index=n,this.beforeBreak=s,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}},dh=class{constructor(e,a,o,r){this.from=e,this.to=a,this.wrapper=o,this.rank=r}},ch=class{constructor(e,a,o){this.cache=e,this.root=a,this.blockWrappers=o,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,a,o,r){var n;this.flushBuffer();let s=this.ensureMarks(a,o),i=s.lastChild;if(i&&i.isText()&&!(i.flags&8)&&i.length+e.length<512){this.cache.reused.set(i,2);let l=s.children[s.children.length-1]=new Ir(i.dom,i.text+e);l.parent=s}else s.append(r||Ir.of(e,(n=this.cache.find(Ir))===null||n===void 0?void 0:n.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,a){let o=this.curLine;o.dom!=a.line.dom&&(o.setDOM(this.cache.reused.has(a.line)?Gf(a.line.dom):a.line.dom),this.cache.reused.set(a.line,2));let r=o;for(let i=a.marks.length-1;i>=0;i--){let l=a.marks[i],u=r.lastChild;if(u instanceof zt&&u.mark.eq(l.mark))u.dom!=l.dom&&u.setDOM(Gf(l.dom)),r=u;else{if(this.cache.reused.get(l)){let c=ze.get(l.dom);c&&c.setDOM(Gf(l.dom))}let d=zt.of(l.mark,l.dom);r.append(d),r=d}this.cache.reused.set(l,2)}let n=ze.get(e.text);n&&this.cache.reused.set(n,2);let s=new Ir(e.text,e.text.nodeValue);s.flags|=8,this.pos=e.range.toB,r.append(s)}addInlineWidget(e,a,o){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let n=this.ensureMarks(a,o);!r&&!(e.flags&16)&&n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,a,o){this.flushBuffer(),this.ensureMarks(a,o).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let a=this.afterWidget||this.lastBlock;a.length+=e,this.pos+=e}addLineStart(e,a){var o;e||(e=Pb);let r=Nn.start(e,a||((o=this.cache.find(Nn))===null||o===void 0?void 0:o.dom),!!a);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,a){var o;let r=this.curLine;for(let n=e.length-1;n>=0;n--){let s=e[n],i;if(a>0&&(i=r.lastChild)&&i instanceof zt&&i.mark.eq(s))r=i,a--;else{let l=zt.of(s,(o=this.cache.find(zt,u=>u.mark.eq(s)))===null||o===void 0?void 0:o.dom);r.append(l),r=l,a=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!P0(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(Q.ios&&P0(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget($f,0,32)||new Pr($f.toDOM(),0,$f,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let a=e.rank*102+e.value.rank,o=new dh(e.from,e.to,e.value,a),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-o.rank||this.wrappers[r-1].to-o.to)<0;)r--;this.wrappers.splice(r,0,o)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let a=this.root;for(let o of this.wrappers){let r=a.lastChild;if(o.from<this.pos&&r instanceof go&&r.wrapper.eq(o.wrapper))a=r;else{let n=go.of(o.wrapper,(e=this.cache.find(go,s=>s.wrapper.eq(o.wrapper)))===null||e===void 0?void 0:e.dom);a.append(n),a=n}}return a}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let a=2|(e<0?16:32),o=this.cache.find(_n,void 0,1);return o&&(o.flags=a),o||new _n(a)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},fh=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:n,done:s}=this.cursor.next(this.skipCount);if(this.skipCount=0,s)throw new Error("Ran out of text content when drawing inline views");this.text=r;let i=this.textOff=Math.min(e,r.length);return n?null:r.slice(0,i)}let a=Math.min(this.text.length,this.textOff+e),o=this.text.slice(this.textOff,a);return this.textOff=a,o}},nu=[Pr,Nn,Ir,zt,_n,go,On];for(let t=0;t<nu.length;t++)nu[t].bucket=t;var hh=class{constructor(e){this.view=e,this.buckets=nu.map(()=>[]),this.index=nu.map(()=>0),this.reused=new Map}add(e){let a=e.constructor.bucket,o=this.buckets[a];o.length<6?o.push(e):o[this.index[a]=(this.index[a]+1)%6]=e}find(e,a,o=2){let r=e.bucket,n=this.buckets[r],s=this.index[r];for(let i=n.length-1;i>=0;i--){let l=(i+s)%n.length,u=n[l];if((!a||a(u))&&!this.reused.has(u))return n.splice(l,1),l<s&&this.index[r]--,this.reused.set(u,o),u}return null}findWidget(e,a,o){let r=this.buckets[0];if(r.length)for(let n=0,s=0;;n++){if(n==r.length){if(s)return null;s=1,n=0}let i=r[n];if(!this.reused.has(i)&&(s==0?i.widget.compare(e):i.widget.constructor==e.constructor&&e.updateDOM(i.dom,this.view,i.widget)))return r.splice(n,1),n<this.index[0]&&this.index[0]--,i.widget==e&&i.length==a&&(i.flags&497)==o?(this.reused.set(i,1),i):(this.reused.set(i,2),new Pr(i.dom,a,e,i.flags&-498|o))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,a=2){if(!this.reused.has(e))return this.reused.set(e,a),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}},ph=class{constructor(e,a,o,r,n){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=n,this.openWidget=!1,this.openMarks=0,this.cache=new hh(e),this.text=new fh(e.state.doc),this.builder=new ch(this.cache,new On(e,e.contentDOM),Le.iter(o)),this.cache.reused.set(a,2),this.old=new uh(a),this.reuseWalker={skip:(s,i,l)=>{if(this.cache.add(s),s.isComposite())return!1},enter:s=>this.cache.add(s),leave:()=>{},break:()=>{}}}run(e,a){let o=a&&this.getCompositionContext(a.text);for(let r=0,n=0,s=0;;){let i=s<e.length?e[s++]:null,l=i?i.fromA:this.old.root.length;if(l>r){let u=l-r;this.preserve(u,!s,!i),r=l,n+=u}if(!i)break;a&&i.fromA<=a.range.fromA&&i.toA>=a.range.toA?(this.forward(i.fromA,a.range.fromA,a.range.fromA<a.range.toA?1:-1),this.emit(n,a.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(a,o),this.text.skip(a.range.toB-a.range.fromB),this.forward(a.range.fromA,i.toA),this.emit(a.range.toB,i.toB)):(this.forward(i.fromA,i.toA),this.emit(n,i.toB)),n=i.toB,r=i.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,a,o){let r=TD(this.old),n=this.openMarks;this.old.advance(e,o?1:-1,{skip:(s,i,l)=>{if(s.isWidget())if(this.openWidget)this.builder.continueWidget(l-i);else{let u=l>0||i<s.length?Pr.of(s.widget,this.view,l-i,s.flags&496,this.cache.maybeReuse(s)):this.cache.reuse(s);u.flags&256?(u.flags&=-2,this.builder.addBlockWidget(u)):(this.builder.ensureLine(null),this.builder.addInlineWidget(u,r,n),n=r.length)}else if(s.isText())this.builder.ensureLine(null),!i&&l==s.length&&!this.cache.reused.has(s)?this.builder.addText(s.text,r,n,this.cache.reuse(s)):(this.cache.add(s),this.builder.addText(s.text.slice(i,l),r,n)),n=r.length;else if(s.isLine())s.flags&=-2,this.cache.reused.set(s,1),this.builder.addLine(s);else if(s instanceof _n)this.cache.add(s);else if(s instanceof zt)this.builder.ensureLine(null),this.builder.addMark(s,r,n),this.cache.reused.set(s,1),n=r.length;else return!1;this.openWidget=!1},enter:s=>{s.isLine()?this.builder.addLineStart(s.attrs,this.cache.maybeReuse(s)):(this.cache.add(s),s instanceof zt&&r.unshift(s.mark)),this.openWidget=!1},leave:s=>{s.isLine()?r.length&&(r.length=n=0):s instanceof zt&&(r.shift(),n=Math.min(n,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,a){let o=null,r=this.builder,n=0,s=Le.spans(this.decorations,e,a,{point:(i,l,u,d,c,f)=>{if(u instanceof Ar){if(this.disallowBlockEffectsFor[f]){if(u.block)throw new RangeError("Block decorations may not be specified via plugins");if(l>this.view.state.doc.lineAt(i).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(n=d.length,c>d.length)r.continueWidget(l-i);else{let h=u.widget||(u.block?Ho.block:Ho.inline),p=DD(u),m=this.cache.findWidget(h,l-i,p)||Pr.of(h,this.view,l-i,p);u.block?(u.startSide>0&&r.addLineStartIfNotCovered(o),r.addBlockWidget(m)):(r.ensureLine(o),r.addInlineWidget(m,d,c))}o=null}else o=RD(o,u);l>i&&this.text.skip(l-i)},span:(i,l,u,d)=>{for(let c=i;c<l;){let f=this.text.next(Math.min(512,l-c));f==null?(r.addLineStartIfNotCovered(o),r.addBreak(),c++):(r.ensureLine(o),r.addText(f,u,c==i?d:u.length),c+=f.length),o=null}}});r.addLineStartIfNotCovered(o),this.openWidget=s>n,this.openMarks=s}forward(e,a,o=1){a-e<=10?this.old.advance(a-e,o,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(a-e-10,-1),this.old.advance(5,o,this.reuseWalker))}getCompositionContext(e){let a=[],o=null;for(let r=e.parentNode;;r=r.parentNode){let n=ze.get(r);if(r==this.view.contentDOM)break;n instanceof zt?a.push(n):n?.isLine()?o=n:n instanceof go||(r.nodeName=="DIV"&&!o&&r!=this.view.contentDOM?o=new Nn(r,Pb):o||a.push(zt.of(new Xs({tagName:r.nodeName.toLowerCase(),attributes:cD(r)}),r)))}return{line:o,marks:a}}};function P0(t,e){let a=o=>{for(let r of o.children)if((e?r.isText():r.length)||a(r))return!0;return!1};return a(t)}function DD(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}var Pb={class:"cm-line"};function RD(t,e){let a=e.spec.attributes,o=e.spec.class;return!a&&!o||(t||(t={class:"cm-line"}),a&&Wh(a,t),o&&(t.class+=" "+o)),t}function TD(t){let e=[];for(let a=t.parents.length;a>1;a--){let o=a==t.parents.length?t.tile:t.parents[a].tile;o instanceof zt&&e.push(o.mark)}return e}function Gf(t){let e=ze.get(t);return e&&e.setDOM(t.cloneNode()),t}var Ho=class extends Va{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Ho.inline=new Ho("span");Ho.block=new Ho("div");var $f=new class extends Va{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},su=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=me.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new On(e,e.contentDOM),this.updateInner([new va(0,0,0,e.state.doc.length)],null)}update(e){var a;let o=e.changedRanges;this.minWidth>0&&o.length&&(o.every(({fromA:d,toA:c})=>c<this.minWidthFrom||d>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((a=this.domChanged)===null||a===void 0)&&a.newSel?r=this.domChanged.newSel.head:!zD(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let n=r>-1?BD(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:d,to:c}=this.hasComposition;o=new va(d,c,e.changes.mapPos(d,-1),e.changes.mapPos(c,1)).addToSet(o.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(Q.ie||Q.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let s=this.decorations,i=this.blockWrappers;this.updateDeco();let l=ND(s,this.decorations,e.changes);l.length&&(o=va.extendWithRanges(o,l));let u=_D(i,this.blockWrappers,e.changes);return u.length&&(o=va.extendWithRanges(o,u)),n&&!o.some(d=>d.fromA<=n.range.fromA&&d.toA>=n.range.toA)&&(o=n.range.addToSet(o.slice())),this.tile.flags&2&&o.length==0?!1:(this.updateInner(o,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,a){this.view.viewState.mustMeasureContent=!0;let{observer:o}=this.view;o.ignore(()=>{if(a||e.length){let s=this.tile,i=new ph(this.view,s,this.blockWrappers,this.decorations,this.dynamicDecorationMap);a&&ze.get(a.text)&&i.cache.reused.set(ze.get(a.text),2),this.tile=i.run(e,a),mh(s,i.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let n=Q.chrome||Q.ios?{node:o.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(n),n&&(n.written||o.selectionRange.focusNode!=n.node||!this.tile.dom.contains(n.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let n of this.tile.children)n.isWidget()&&n.widget instanceof Us&&r.push(n.dom);o.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let a of e.transactions)for(let o of a.effects)o.is(Sb)&&(this.editContextFormatting=o.value)}updateSelection(e=!1,a=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:o}=this.tile,r=this.view.root.activeElement,n=r==o,s=!n&&!(this.view.state.facet(mo)||o.tabIndex>-1)&&_s(o,this.view.observer.selectionRange)&&!(r&&o.contains(r));if(!(n||a||s))return;let i=this.forceSelection;this.forceSelection=!1;let l=this.view.state.selection.main,u,d;if(l.empty?d=u=this.inlineDOMNearPos(l.anchor,l.assoc||1):(d=this.inlineDOMNearPos(l.head,l.head==l.from?1:-1),u=this.inlineDOMNearPos(l.anchor,l.anchor==l.from?1:-1)),Q.gecko&&l.empty&&!this.hasComposition&&ED(u)){let f=document.createTextNode("");this.view.observer.ignore(()=>u.node.insertBefore(f,u.node.childNodes[u.offset]||null)),u=d=new Wa(f,0),i=!0}let c=this.view.observer.selectionRange;(i||!c.focusNode||(!Hs(u.node,u.offset,c.anchorNode,c.anchorOffset)||!Hs(d.node,d.offset,c.focusNode,c.focusOffset))&&!this.suppressWidgetCursorChange(c,l))&&(this.view.observer.ignore(()=>{Q.android&&Q.chrome&&o.contains(c.focusNode)&&HD(c.focusNode,o)&&(o.blur(),o.focus({preventScroll:!0}));let f=js(this.view.root);if(f)if(l.empty){if(Q.gecko){let h=FD(u.node,u.offset);if(h&&h!=3){let p=(h==1?lb:ub)(u.node,u.offset);p&&(u=new Wa(p.node,p.offset))}}f.collapse(u.node,u.offset),l.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=l.bidiLevel)}else if(f.extend){f.collapse(u.node,u.offset);try{f.extend(d.node,d.offset)}catch{}}else{let h=document.createRange();l.anchor>l.head&&([u,d]=[d,u]),h.setEnd(d.node,d.offset),h.setStart(u.node,u.offset),f.removeAllRanges(),f.addRange(h)}s&&this.view.root.activeElement==o&&(o.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(u,d)),this.impreciseAnchor=u.precise?null:new Wa(c.anchorNode,c.anchorOffset),this.impreciseHead=d.precise?null:new Wa(c.focusNode,c.focusOffset)}suppressWidgetCursorChange(e,a){return this.hasComposition&&a.empty&&Hs(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==a.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,a=e.state.selection.main,o=js(e.root),{anchorNode:r,anchorOffset:n}=e.observer.selectionRange;if(!o||!a.empty||!a.assoc||!o.modify)return;let s=this.lineAt(a.head,a.assoc);if(!s)return;let i=s.posAtStart;if(a.head==i||a.head==i+s.length)return;let l=this.coordsAt(a.head,-1),u=this.coordsAt(a.head,1);if(!l||!u||l.bottom>u.top)return;let d=this.domAtPos(a.head+a.assoc,a.assoc);o.collapse(d.node,d.offset),o.modify("move",a.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=a.from&&o.collapse(r,n)}posFromDOM(e,a){let o=this.tile.nearest(e);if(!o)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=o.posAtStart;if(o.isComposite()){let n;if(e==o.dom)n=o.dom.childNodes[a];else{let s=xo(e)==0?0:a==0?-1:1;for(;;){let i=e.parentNode;if(i==o.dom)break;s==0&&i.firstChild!=i.lastChild&&(e==i.firstChild?s=-1:s=1),e=i}s<0?n=e:n=e.nextSibling}if(n==o.dom.firstChild)return r;for(;n&&!ze.get(n);)n=n.nextSibling;if(!n)return r+o.length;for(let s=0,i=r;;s++){let l=o.children[s];if(l.dom==n)return i;i+=l.length+l.breakAfter}}else return o.isText()?e==o.dom?r+a:r+(a?o.length:0):r}domAtPos(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.domPosFor(e,a):o.domIn(r,a)}inlineDOMNearPos(e,a){let o,r=-1,n=!1,s,i=-1,l=!1;return this.tile.blockTiles((u,d)=>{if(u.isWidget()){if(u.flags&32&&d>=e)return!0;u.flags&16&&(n=!0)}else{let c=d+u.length;if(d<=e&&(o=u,r=e-d,n=c<e),c>=e&&!s&&(s=u,i=e-d,l=d>e),d>e&&s)return!0}}),!o&&!s?this.domAtPos(e,a):(n&&s?o=null:l&&o&&(s=null),o&&a<0||!s?o.domIn(r,a):s.domIn(i,a))}coordsAt(e,a){let{tile:o,offset:r}=this.tile.resolveBlock(e,a);return o.isWidget()?o.widget instanceof Us?null:o.coordsInWidget(r,a,!0):o.coordsIn(r,a)}lineAt(e,a){let{tile:o}=this.tile.resolveBlock(e,a);return o.isLine()?o:null}coordsForChar(e){let{tile:a,offset:o}=this.tile.resolveBlock(e,1);if(!a.isLine())return null;function r(n,s){if(n.isComposite())for(let i of n.children){if(i.length>=s){let l=r(i,s);if(l)return l}if(s-=i.length,s<0)break}else if(n.isText()&&s<n.length){let i=Je(n.text,s);if(i==s)return null;let l=Zs(n.dom,s,i).getClientRects();for(let u=0;u<l.length;u++){let d=l[u];if(u==l.length-1||d.top<d.bottom&&d.left<d.right)return d}}return null}return r(a,o)}measureVisibleLineHeights(e){let a=[],{from:o,to:r}=e,n=this.view.contentDOM.clientWidth,s=n>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,i=-1,l=this.view.textDirection==ke.LTR,u=0,d=(c,f,h)=>{for(let p=0;p<c.children.length&&!(f>r);p++){let m=c.children[p],g=f+m.length,x=m.dom.getBoundingClientRect(),{height:y}=x;if(h&&!p&&(u+=x.top-h.top),m instanceof go)g>o&&d(m,f,x);else if(f>=o&&(u>0&&a.push(-u),a.push(y+u),u=0,s)){let b=m.dom.lastChild,C=b?Yl(b):[];if(C.length){let I=C[C.length-1],v=l?I.right-x.left:x.right-I.left;v>i&&(i=v,this.minWidth=n,this.minWidthFrom=f,this.minWidthTo=g)}}h&&p==c.children.length-1&&(u+=h.bottom-x.bottom),f=g+m.breakAfter}};return d(this.tile,0,null),a}textDirectionAt(e){let{tile:a}=this.tile.resolveBlock(e,1);return getComputedStyle(a.dom).direction=="rtl"?ke.RTL:ke.LTR}measureTextSize(){let e=this.tile.blockTiles(s=>{if(s.isLine()&&s.children.length&&s.length<=20){let i=0,l;for(let u of s.children){if(!u.isText()||/[^ -~]/.test(u.text))return;let d=Yl(u.dom);if(d.length!=1)return;i+=d[0].width,l=d[0].height}if(i)return{lineHeight:s.dom.getBoundingClientRect().height,charWidth:i/s.length,textHeight:l}}});if(e)return e;let a=document.createElement("div"),o,r,n;return a.className="cm-line",a.style.width="99999px",a.style.position="absolute",a.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(a);let s=Yl(a.firstChild)[0];o=a.getBoundingClientRect().height,r=s&&s.width?s.width/27:7,n=s&&s.height?s.height:o,a.remove()}),{lineHeight:o,charWidth:r,textHeight:n}}computeBlockGapDeco(){let e=[],a=this.view.viewState;for(let o=0,r=0;;r++){let n=r==a.viewports.length?null:a.viewports[r],s=n?n.from-1:this.view.state.doc.length;if(s>o){let i=(a.lineBlockAt(s).bottom-a.lineBlockAt(o).top)/this.view.scaleY;e.push(me.replace({widget:new Us(i),block:!0,inclusive:!0,isBlockGap:!0}).range(o,s))}if(!n)break;o=n.to+1}return me.set(e)}updateDeco(){let e=1,a=this.view.state.facet(wu).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),o=!1,r=this.view.state.facet(jh).map((n,s)=>{let i=typeof n=="function";return i&&(o=!0),i?n(this.view):n});for(r.length&&(this.dynamicDecorationMap[e++]=o,a.push(Le.join(r))),this.decorations=[this.editContextFormatting,...a,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(kb).map(n=>typeof n=="function"?n(this.view):n)}scrollIntoView(e){var a;if(e.isSnapshot){let d=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=d.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let d of this.view.state.facet(vb))try{if(d(this.view,e.range,e))return!0}catch(c){mt(this.view.state,c,"scroll handler")}let{range:o}=e,r=this.coordsAt(o.head,(a=o.assoc)!==null&&a!==void 0?a:o.empty?0:o.head>o.anchor?-1:1),n;if(!r)return;!o.empty&&(n=this.coordsAt(o.anchor,o.anchor>o.head?-1:1))&&(r={left:Math.min(r.left,n.left),top:Math.min(r.top,n.top),right:Math.max(r.right,n.right),bottom:Math.max(r.bottom,n.bottom)});let s=Zh(this.view),i={left:r.left-s.left,top:r.top-s.top,right:r.right+s.right,bottom:r.bottom+s.bottom},{offsetWidth:l,offsetHeight:u}=this.view.scrollDOM;if(pD(this.view.scrollDOM,i,o.head<o.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,u),-u),this.view.textDirection==ke.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(r.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||r.bottom<window.pageYOffset+window.visualViewport.offsetTop)){let d=this.view.docView.lineAt(o.head,1);d&&d.dom.scrollIntoView({block:"nearest"})}}lineHasWidget(e){let a=o=>o.isWidget()||o.children.some(a);return a(this.tile.resolveBlock(e,1).tile)}destroy(){mh(this.tile)}};function mh(t,e){let a=e?.get(t);if(a!=1){a==null&&t.destroy();for(let o of t.children)mh(o,e)}}function ED(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function Db(t,e){let a=t.observer.selectionRange;if(!a.focusNode)return null;let o=lb(a.focusNode,a.focusOffset),r=ub(a.focusNode,a.focusOffset),n=o||r;if(r&&o&&r.node!=o.node){let i=ze.get(r.node);if(!i||i.isText()&&i.text!=r.node.nodeValue)n=r;else if(t.docView.lastCompositionAfterCursor){let l=ze.get(o.node);!l||l.isText()&&l.text!=o.node.nodeValue||(n=r)}}if(t.docView.lastCompositionAfterCursor=n!=o,!n)return null;let s=e-n.offset;return{from:s,to:s+n.node.nodeValue.length,node:n.node}}function BD(t,e,a){let o=Db(t,a);if(!o)return null;let{node:r,from:n,to:s}=o,i=r.nodeValue;if(/[\n\r]/.test(i)||t.state.doc.sliceString(o.from,o.to)!=i)return null;let l=e.invertedDesc;return{range:new va(l.mapPos(n),l.mapPos(s),n,s),text:r}}function FD(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e<t.childNodes.length&&t.childNodes[e].contentEditable=="false"?2:0)}var OD=class{constructor(){this.changes=[]}compareRange(e,a){En(e,a,this.changes)}comparePoint(e,a){En(e,a,this.changes)}boundChange(e){En(e,e,this.changes)}};function ND(t,e,a){let o=new OD;return Le.compare(t,e,a,o),o.changes}var gh=class{constructor(){this.changes=[]}compareRange(e,a){En(e,a,this.changes)}comparePoint(){}boundChange(e){En(e,e,this.changes)}};function _D(t,e,a){let o=new gh;return Le.compare(t,e,a,o),o.changes}function HD(t,e){for(let a=t;a&&a!=e;a=a.assignedSlot||a.parentNode)if(a.nodeType==1&&a.contentEditable=="false")return!0;return!1}function zD(t,e){let a=!1;return e&&t.iterChangedRanges((o,r)=>{o<e.to&&r>e.from&&(a=!0)}),a}var Us=class extends Va{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function qD(t,e,a=1){let o=t.charCategorizer(e),r=t.doc.lineAt(e),n=e-r.from;if(r.length==0)return X.cursor(e);n==0?a=1:n==r.length&&(a=-1);let s=n,i=n;a<0?s=Je(r.text,n,!1):i=Je(r.text,n);let l=o(r.text.slice(s,i));for(;s>0;){let u=Je(r.text,s,!1);if(o(r.text.slice(u,s))!=l)break;s=u}for(;i<r.length;){let u=Je(r.text,i);if(o(r.text.slice(i,u))!=l)break;i=u}return X.range(s+r.from,i+r.from)}function UD(t,e,a,o,r){let n=Math.round((o-e.left)*t.defaultCharacterWidth);if(t.lineWrapping&&a.height>t.defaultLineHeight*1.5){let i=t.viewState.heightOracle.textHeight,l=Math.floor((r-a.top-(t.defaultLineHeight-i)*.5)/i);n+=l*t.viewState.heightOracle.lineLength}let s=t.state.sliceDoc(a.from,a.to);return a.from+m0(s,n,t.state.tabSize)}function xh(t,e,a){let o=t.lineBlockAt(e);if(Array.isArray(o.type)){let r;for(let n of o.type){if(n.from>e)break;if(!(n.to<e)){if(n.from<e&&n.to>e)return n;(!r||n.type==gt.Text&&(r.type!=n.type||(a<0?n.from<e:n.to>e)))&&(r=n)}}return r||o}return o}function WD(t,e,a,o){let r=xh(t,e.head,e.assoc||-1),n=!o||r.type!=gt.Text||!(t.lineWrapping||r.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(n){let s=t.dom.getBoundingClientRect(),i=t.textDirectionAt(r.from),l=t.posAtCoords({x:a==(i==ke.LTR)?s.right-1:s.left+1,y:(n.top+n.bottom)/2});if(l!=null)return X.cursor(l,a?-1:1)}return X.cursor(a?r.to:r.from,a?-1:1)}function D0(t,e,a,o){let r=t.state.doc.lineAt(e.head),n=t.bidiSpans(r),s=t.textDirectionAt(r.from);for(let i=e,l=null;;){let u=SD(r,n,s,i,a),d=pb;if(!u){if(r.number==(a?t.state.doc.lines:1))return i;d=`
16
+ `,r=t.state.doc.line(r.number+(a?1:-1)),n=t.bidiSpans(r),u=t.visualLineSide(r,!a)}if(l){if(!l(d))return i}else{if(!o)return u;l=o(d)}i=u}}function VD(t,e,a){let o=t.state.charCategorizer(e),r=o(a);return n=>{let s=o(n);return r==He.Space&&(r=s),r==s}}function GD(t,e,a,o){let r=e.head,n=a?1:-1;if(r==(a?t.state.doc.length:0))return X.cursor(r,e.assoc);let s=e.goalColumn,i,l=t.contentDOM.getBoundingClientRect(),u=t.coordsAtPos(r,e.assoc||((e.empty?a:e.head==e.from)?1:-1)),d=t.documentTop;if(u)s==null&&(s=u.left-l.left),i=n<0?u.top:u.bottom;else{let p=t.viewState.lineBlockAt(r);s==null&&(s=Math.min(l.right-l.left,t.defaultCharacterWidth*(r-p.from))),i=(n<0?p.top:p.bottom)+d}let c=l.left+s,f=t.viewState.heightOracle.textHeight>>1,h=o??f;for(let p=0;;p+=f){let m=i+(h+p)*n,g=bh(t,{x:c,y:m},!1,n);if(a?m>l.bottom:m<l.top)return X.cursor(g.pos,g.assoc);let x=t.coordsAtPos(g.pos,g.assoc),y=x?(x.top+x.bottom)/2:0;if(!x||(a?y>i:y<i))return X.cursor(g.pos,g.assoc,void 0,s)}}function Ws(t,e,a){for(;;){let o=0;for(let r of t)r.between(e-1,e+1,(n,s,i)=>{if(e>n&&e<s){let l=o||a||(e-n<s-e?-1:1);e=l<0?n:s,o=l}});if(!o)return e}}function Rb(t,e){let a=null;for(let o=0;o<e.ranges.length;o++){let r=e.ranges[o],n=null;if(r.empty){let s=Ws(t,r.from,0);s!=r.from&&(n=X.cursor(s,-1))}else{let s=Ws(t,r.from,-1),i=Ws(t,r.to,1);(s!=r.from||i!=r.to)&&(n=X.range(r.from==r.anchor?s:i,r.from==r.head?s:i))}n&&(a||(a=e.ranges.slice()),a[o]=n)}return a?X.create(a,e.mainIndex):e}function Xf(t,e,a){let o=Ws(t.state.facet(Ys).map(r=>r(t)),a.from,e.head>a.from?-1:1);return o==a.from?a:X.cursor(o,o<a.from?1:-1)}var ua=class{constructor(e,a){this.pos=e,this.assoc=a}};function bh(t,e,a,o){let r=t.contentDOM.getBoundingClientRect(),n=r.top+t.viewState.paddingTop,{x:s,y:i}=e,l=i-n,u;for(;;){if(l<0)return new ua(0,1);if(l>t.viewState.docHeight)return new ua(t.state.doc.length,-1);if(u=t.elementAtHeight(l),o==null)break;if(u.type==gt.Text){if(o<0?u.to<t.viewport.from:u.from>t.viewport.to)break;let f=t.docView.coordsAt(o<0?u.from:u.to,o>0?-1:1);if(f&&(o<0?f.top<=l+n:f.bottom>=l+n))break}let c=t.viewState.heightOracle.textHeight/2;l=o>0?u.bottom+c:u.top-c}if(t.viewport.from>=u.to||t.viewport.to<=u.from){if(a)return null;if(u.type==gt.Text){let c=UD(t,r,u,s,i);return new ua(c,c==u.from?1:-1)}}if(u.type!=gt.Text)return l<(u.top+u.bottom)/2?new ua(u.from,1):new ua(u.to,-1);let d=t.docView.lineAt(u.from,2);return(!d||d.length!=u.length)&&(d=t.docView.lineAt(u.from,-2)),new wh(t,s,i,t.textDirectionAt(u.from)).scanTile(d,u.from)}var wh=class{constructor(e,a,o,r){this.view=e,this.x=a,this.y=o,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[da.find(r,e-o.from,-1,a)].level==this.baseDir}dirAt(e,a){let{line:o,spans:r}=this.bidiSpansAt(e);return r[da.find(r,e-o.from,-1,a)].dir}bidiIn(e,a){let{spans:o,line:r}=this.bidiSpansAt(e);return o.length>1||o.length&&(o[0].level!=this.baseDir||o[0].to+r.from<a)}scan(e,a,o=!1){let r=0,n=e.length-1,s=new Set,i=this.bidiIn(e[0],e[n]),l,u,d=-1,c=1e9,f;e:for(;r<n;){let p=n-r,m=r+n>>1;t:if(s.has(m)){let x=r+Math.floor(Math.random()*p);for(let y=0;y<p;y++){if(!s.has(x)){m=x;break t}x++,x==n&&(x=r)}break e}s.add(m);let g=a(m);if(g)for(let x=0;x<g.length;x++){let y=g[x],b=0;if(!(y.width==0&&g.length>1)){if(y.bottom<this.y)(!l||l.bottom<y.bottom)&&(l=y),b=1;else if(y.top>this.y)(!u||u.top>y.top)&&(u=y),b=-1;else{let C=y.left>this.x?this.x-y.left:y.right<this.x?this.x-y.right:0,I=Math.abs(C);I<c&&(d=m,c=I,f=y),C&&(b=C<0==(this.baseDir==ke.LTR)?-1:1)}b==-1&&(!i||this.baseDirAt(e[m],1))?n=m:b==1&&(!i||this.baseDirAt(e[m+1],-1))&&(r=m+1)}}}if(!f){if(!u&&!l)return{i:e[0],after:!1};let p=l&&(!u||this.y-l.bottom<u.top-this.y)?l:u;return this.y=(p.top+p.bottom)/2,this.scan(e,a,!0)}if(c&&!o){let{top:p,bottom:m}=f;if(l&&l.bottom>(p+p+m)/3)return this.y=l.bottom-1,this.scan(e,a,!0);if(u&&u.top<(p+m+m)/3)return this.y=u.top+1,this.scan(e,a,!0)}let h=(i?this.dirAt(e[d],1):this.baseDir)==ke.LTR;return{i:d,after:this.x>(f.left+f.right)/2==h}}scanText(e,a){let o=[];for(let n=0;n<e.length;n=Je(e.text,n))o.push(a+n);o.push(a+e.length);let r=this.scan(o,n=>{let s=o[n]-a,i=o[n+1]-a;return Zs(e.dom,s,i).getClientRects()});return r.after?new ua(o[r.i+1],-1):new ua(o[r.i],1)}scanTile(e,a){if(!e.length)return new ua(a,1);if(e.children.length==1){let i=e.children[0];if(i.isText())return this.scanText(i,a);if(i.isComposite())return this.scanTile(i,a)}let o=[a];for(let i=0,l=a;i<e.children.length;i++)o.push(l+=e.children[i].length);let r=this.scan(o,i=>{let l=e.children[i];return l.flags&48?null:(l.dom.nodeType==1?l.dom:Zs(l.dom,0,l.length)).getClientRects()}),n=e.children[r.i],s=o[r.i];return n.isText()?this.scanText(n,s):n.isComposite()?this.scanTile(n,s):r.after?new ua(o[r.i+1],-1):new ua(s,1)}},Mn="\uFFFF",yh=class{constructor(e,a){this.points=e,this.view=a,this.text="",this.lineSeparator=a.state.facet(Pe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Mn}readRange(e,a){if(!e)return this;let o=e.parentNode;for(let r=e;;){this.findPointBefore(o,r);let n=this.text.length;this.readNode(r);let s=ze.get(r),i=r.nextSibling;if(i==a){s?.breakAfter&&!i&&o!=this.view.contentDOM&&this.lineBreak();break}let l=ze.get(i);(s&&l?s.breakAfter:(s?s.breakAfter:au(r))||au(i)&&(r.nodeName!="BR"||s?.isWidget())&&this.text.length>n)&&!XD(i,a)&&this.lineBreak(),r=i}return this.findPointBefore(o,a),this}readTextNode(e){let a=e.nodeValue;for(let o of this.points)o.node==e&&(o.pos=this.text.length+Math.min(o.offset,a.length));for(let o=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,s=1,i;if(this.lineSeparator?(n=a.indexOf(this.lineSeparator,o),s=this.lineSeparator.length):(i=r.exec(a))&&(n=i.index,s=i[0].length),this.append(a.slice(o,n<0?a.length:n)),n<0)break;if(this.lineBreak(),s>1)for(let l of this.points)l.node==e&&l.pos>this.text.length&&(l.pos-=s-1);o=n+s}}readNode(e){let a=ze.get(e),o=a&&a.overrideDOMText;if(o!=null){this.findPointInside(e,o.length);for(let r=o.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,a){for(let o of this.points)o.node==e&&e.childNodes[o.offset]==a&&(o.pos=this.text.length)}findPointInside(e,a){for(let o of this.points)(e.nodeType==3?o.node==e:e.contains(o.node))&&(o.pos=this.text.length+($D(e,o.node,o.offset)?a:0))}};function $D(t,e,a){for(;;){if(!e||a<xo(e))return!1;if(e==t)return!0;a=_o(e)+1,e=e.parentNode}}function XD(t,e){let a;for(;!(t==e||!t);t=t.nextSibling){let o=ze.get(t);if(!o?.isWidget())return!1;o&&(a||(a=[])).push(o)}if(a)for(let o of a){let r=o.overrideDOMText;if(r?.length)return!1}return!0}var iu=class{constructor(e,a){this.node=e,this.offset=a,this.pos=-1}},Lh=class{constructor(e,a,o,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=a>-1;let{impreciseHead:n,impreciseAnchor:s}=e.docView,i=e.state.selection;if(e.state.readOnly&&a>-1)this.newSel=null;else if(a>-1&&(this.bounds=Tb(e.docView.tile,a,o,0))){let l=n||s?[]:jD(e),u=new yh(l,e);u.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=u.text,this.newSel=ZD(l,this.bounds.from)}else{let l=e.observer.selectionRange,u=n&&n.node==l.focusNode&&n.offset==l.focusOffset||!oh(e.contentDOM,l.focusNode)?i.main.head:e.docView.posFromDOM(l.focusNode,l.focusOffset),d=s&&s.node==l.anchorNode&&s.offset==l.anchorOffset||!oh(e.contentDOM,l.anchorNode)?i.main.anchor:e.docView.posFromDOM(l.anchorNode,l.anchorOffset),c=e.viewport;if((Q.ios||Q.chrome)&&i.main.empty&&u!=d&&(c.from>0||c.to<e.state.doc.length)){let f=Math.min(u,d),h=Math.max(u,d),p=c.from-f,m=c.to-h;(p==0||p==1||f==0)&&(m==0||m==-1||h==e.state.doc.length)&&(u=0,d=e.state.doc.length)}if(e.inputState.composing>-1&&i.ranges.length>1)this.newSel=i.replaceRange(X.range(d,u));else if(e.lineWrapping&&d==u&&!(i.main.empty&&i.main.head==u)&&e.inputState.lastTouchTime>Date.now()-100){let f=e.coordsAtPos(u,-1),h=0;f&&(h=e.inputState.lastTouchY<=f.bottom?-1:1),this.newSel=X.create([X.cursor(u,h)])}else this.newSel=X.single(d,u)}}};function Tb(t,e,a,o){if(t.isComposite()){let r=-1,n=-1,s=-1,i=-1;for(let l=0,u=o,d=o;l<t.children.length;l++){let c=t.children[l],f=u+c.length;if(u<e&&f>a)return Tb(c,e,a,u);if(f>=e&&r==-1&&(r=l,n=u),u>a&&c.dom.parentNode==t.dom){s=l,i=d;break}d=f,u=f+c.breakAfter}return{from:n,to:i<0?o+t.length:i,startDOM:(r?t.children[r-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:s<t.children.length&&s>=0?t.children[s].dom:null}}else return t.isText()?{from:o,to:o+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function Eb(t,e){let a,{newSel:o}=e,{state:r}=t,n=r.selection.main,s=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:i,to:l}=e.bounds,u=n.from,d=null;(s===8||Q.android&&e.text.length<l-i)&&(u=n.to,d="end");let c=r.doc.sliceString(i,l,Mn),f,h;!n.empty&&n.from>=i&&n.to<=l&&(e.typeOver||c!=e.text)&&c.slice(0,n.from-i)==e.text.slice(0,n.from-i)&&c.slice(n.to-i)==e.text.slice(f=e.text.length-(c.length-(n.to-i)))?a={from:n.from,to:n.to,insert:ye.of(e.text.slice(n.from-i,f).split(Mn))}:(h=Bb(c,e.text,u-i,d))&&(Q.chrome&&s==13&&h.toB==h.from+2&&e.text.slice(h.from,h.toB)==Mn+Mn&&h.toB--,a={from:i+h.from,to:i+h.toA,insert:ye.of(e.text.slice(h.from,h.toB).split(Mn))})}else o&&(!t.hasFocus&&r.facet(mo)||lu(o,n))&&(o=null);if(!a&&!o)return!1;if((Q.mac||Q.android)&&a&&a.from==a.to&&a.from==n.head-1&&/^\. ?$/.test(a.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(o&&a.insert.length==2&&(o=X.single(o.main.anchor-1,o.main.head-1)),a={from:a.from,to:a.to,insert:ye.of([a.insert.toString().replace("."," ")])}):r.doc.lineAt(n.from).to<n.to&&t.docView.lineHasWidget(n.to)&&t.inputState.insertingTextAt>Date.now()-50?a={from:n.from,to:n.to,insert:r.toText(t.inputState.insertingText)}:Q.chrome&&a&&a.from==a.to&&a.from==n.head&&a.insert.toString()==`
17
+ `&&t.lineWrapping&&(o&&(o=X.single(o.main.anchor-1,o.main.head-1)),a={from:n.from,to:n.to,insert:ye.of([" "])}),a)return Yh(t,a,o,s);if(o&&!lu(o,n)){let i=!1,l="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(i=!0),l=t.inputState.lastSelectionOrigin,l=="select.pointer"&&(o=Rb(r.facet(Ys).map(u=>u(t)),o))),t.dispatch({selection:o,scrollIntoView:i,userEvent:l}),!0}else return!1}function Yh(t,e,a,o=-1){if(Q.ios&&t.inputState.flushIOSKey(e))return!0;let r=t.state.selection.main;if(Q.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&t.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Bn(t.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||o==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Bn(t.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Bn(t.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let s,i=()=>s||(s=KD(t,e,a));return t.state.facet(wb).some(l=>l(t,e.from,e.to,n,i))||t.dispatch(i()),!0}function KD(t,e,a){let o,r=t.state,n=r.selection.main,s=-1;if(e.from==e.to&&e.from<n.from||e.from>n.to){let l=e.from<n.from?-1:1,u=l<0?n.from:n.to,d=Ws(r.facet(Ys).map(c=>c(t)),u,l);e.from==d&&(s=d)}if(s>-1)o={changes:e,selection:X.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!a||a.main.empty&&a.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let l=n.from<e.from?r.sliceDoc(n.from,e.from):"",u=n.to>e.to?r.sliceDoc(e.to,n.to):"";o=r.replaceSelection(t.state.toText(l+e.insert.sliceString(0,void 0,t.state.lineBreak)+u))}else{let l=r.changes(e),u=a&&a.main.to<=l.newLength?a.main:void 0;if(r.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let d=t.state.sliceDoc(e.from,e.to),c,f=a&&Db(t,a.main.head);if(f){let p=e.insert.length-(e.to-e.from);c={from:f.from,to:f.to-p}}else c=t.state.doc.lineAt(n.head);let h=n.to-e.to;o=r.changeByRange(p=>{if(p.from==n.from&&p.to==n.to)return{changes:l,range:u||p.map(l)};let m=p.to-h,g=m-d.length;if(t.state.sliceDoc(g,m)!=d||m>=c.from&&g<=c.to)return{range:p};let x=r.changes({from:g,to:m,insert:e.insert}),y=p.to-n.to;return{changes:x,range:u?X.range(Math.max(0,u.anchor+y),Math.max(0,u.head+y)):p.map(x)}})}else o={changes:l,selection:u&&r.selection.replaceRange(u)}}let i="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,i+=".compose",t.inputState.compositionFirstChange&&(i+=".start",t.inputState.compositionFirstChange=!1)),r.update(o,{userEvent:i,scrollIntoView:!0})}function Bb(t,e,a,o){let r=Math.min(t.length,e.length),n=0;for(;n<r&&t.charCodeAt(n)==e.charCodeAt(n);)n++;if(n==r&&t.length==e.length)return null;let s=t.length,i=e.length;for(;s>0&&i>0&&t.charCodeAt(s-1)==e.charCodeAt(i-1);)s--,i--;if(o=="end"){let l=Math.max(0,n-Math.min(s,i));a-=s+l-n}if(s<n&&t.length<e.length){let l=a<=n&&a>=s?n-a:0;n-=l,i=n+(i-s),s=n}else if(i<n){let l=a<=n&&a>=i?n-a:0;n-=l,s=n+(s-i),i=n}return{from:n,toA:s,toB:i}}function jD(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}=t.observer.selectionRange;return a&&(e.push(new iu(a,o)),(r!=a||n!=o)&&e.push(new iu(r,n))),e}function ZD(t,e){if(t.length==0)return null;let a=t[0].pos,o=t.length==2?t[1].pos:a;return a>-1&&o>-1?X.single(a+e,o+e):null}function lu(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}var Ch=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,Q.safari&&e.contentDOM.addEventListener("input",()=>null),Q.gecko&&dR(e.contentDOM.ownerDocument)}handleEvent(e){!oR(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,a){let o=this.handlers[e];if(o){for(let r of o.observers)r(this.view,a);for(let r of o.handlers){if(a.defaultPrevented)break;if(r(this.view,a)){a.preventDefault();break}}}}ensureHandlers(e){let a=YD(e),o=this.handlers,r=this.view.contentDOM;for(let n in a)if(n!="scroll"){let s=!a[n].handlers.length,i=o[n];i&&s!=!i.handlers.length&&(r.removeEventListener(n,this.handleEvent),i=null),i||r.addEventListener(n,this.handleEvent,{passive:s})}for(let n in o)n!="scroll"&&!a[n]&&r.removeEventListener(n,this.handleEvent);this.handlers=a}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Ob.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),Q.android&&Q.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let a;return Q.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((a=Fb.find(o=>o.keyCode==e.keyCode))&&!e.ctrlKey||JD.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=a||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let a=this.pendingIOSKey;return!a||a.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Bn(this.view.contentDOM,a.key,a.keyCode,a instanceof KeyboardEvent?a:void 0))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:Q.safari&&!Q.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function R0(t,e){return(a,o)=>{try{return e.call(t,o,a)}catch(r){mt(a.state,r)}}}function YD(t){let e=Object.create(null);function a(o){return e[o]||(e[o]={observers:[],handlers:[]})}for(let o of t){let r=o.spec,n=r&&r.plugin.domEventHandlers,s=r&&r.plugin.domEventObservers;if(n)for(let i in n){let l=n[i];l&&a(i).handlers.push(R0(o.value,l))}if(s)for(let i in s){let l=s[i];l&&a(i).observers.push(R0(o.value,l))}}for(let o in Sa)a(o).handlers.push(Sa[o]);for(let o in qt)a(o).observers.push(qt[o]);return e}var Fb=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],JD="dthko",Ob=[16,17,18,20,91,92,224,225],Wl=6;function Vl(t){return Math.max(0,t)*.7+8}function QD(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}var vh=class{constructor(e,a,o,r){this.view=e,this.startEvent=a,this.style=o,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=a,this.scrollParents=nb(e.contentDOM),this.atoms=e.state.facet(Ys).map(s=>s(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=a.shiftKey,this.multiple=e.state.facet(Pe.allowMultipleSelections)&&eR(e,a),this.dragging=aR(e,a)&&Hb(a)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&QD(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let a=0,o=0,r=0,n=0,s=this.view.win.innerWidth,i=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:s}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:i}=this.scrollParents.y.getBoundingClientRect());let l=Zh(this.view);e.clientX-l.left<=r+Wl?a=-Vl(r-e.clientX):e.clientX+l.right>=s-Wl&&(a=Vl(e.clientX-s)),e.clientY-l.top<=n+Wl?o=-Vl(n-e.clientY):e.clientY+l.bottom>=i-Wl&&(o=Vl(e.clientY-i)),this.setScrollSpeed(a,o)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,a){this.scrollSpeed={x:e,y:a},e||a?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:a}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),a&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=a,a=0),(e||a)&&this.view.win.scrollBy(e,a),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:a}=this,o=Rb(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!o.eq(a.state.selection,this.dragging===!1))&&this.view.dispatch({selection:o,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(a=>a.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function eR(t,e){let a=t.state.facet(mb);return a.length?a[0](e):Q.mac?e.metaKey:e.ctrlKey}function tR(t,e){let a=t.state.facet(gb);return a.length?a[0](e):Q.mac?!e.altKey:!e.ctrlKey}function aR(t,e){let{main:a}=t.state.selection;if(a.empty)return!1;let o=js(t.root);if(!o||o.rangeCount==0)return!0;let r=o.getRangeAt(0).getClientRects();for(let n=0;n<r.length;n++){let s=r[n];if(s.left<=e.clientX&&s.right>=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}function oR(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let a=e.target,o;a!=t.contentDOM;a=a.parentNode)if(!a||a.nodeType==11||(o=ze.get(a))&&o.isWidget()&&!o.isHidden&&o.widget.ignoreEvent(e))return!1;return!0}var Sa=Object.create(null),qt=Object.create(null),Nb=Q.ie&&Q.ie_version<15||Q.ios&&Q.webkit_version<604;function rR(t){let e=t.dom.parentNode;if(!e)return;let a=e.appendChild(document.createElement("textarea"));a.style.cssText="position: fixed; left: -10000px; top: 10px",a.focus(),setTimeout(()=>{t.focus(),a.remove(),_b(t,a.value)},50)}function yu(t,e,a){for(let o of t.facet(e))a=o(a,t);return a}function _b(t,e){e=yu(t.state,$h,e);let{state:a}=t,o,r=1,n=a.toText(e),s=n.lines==a.selection.ranges.length;if(Sh!=null&&a.selection.ranges.every(l=>l.empty)&&Sh==n.toString()){let l=-1;o=a.changeByRange(u=>{let d=a.doc.lineAt(u.from);if(d.from==l)return{range:u};l=d.from;let c=a.toText((s?n.line(r++).text:e)+a.lineBreak);return{changes:{from:d.from,insert:c},range:X.cursor(u.from+c.length)}})}else s?o=a.changeByRange(l=>{let u=n.line(r++);return{changes:{from:l.from,to:l.to,insert:u.text},range:X.cursor(l.from+u.length)}}):o=a.replaceSelection(n);t.dispatch(o,{userEvent:"input.paste",scrollIntoView:!0})}qt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};qt.wheel=qt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};Sa.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);qt.touchstart=(t,e)=>{let a=t.inputState,o=e.targetTouches[0];a.lastTouchTime=Date.now(),o&&(a.lastTouchX=o.clientX,a.lastTouchY=o.clientY),a.setSelectionOrigin("select.pointer")};qt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};Sa.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let a=null;for(let o of t.state.facet(xb))if(a=o(t,e),a)break;if(!a&&e.button==0&&(a=sR(t,e)),a){let o=!t.hasFocus;t.inputState.startMouseSelection(new vh(t,e,a,o)),o&&t.observer.ignore(()=>{sb(t.contentDOM);let n=t.root.activeElement;n&&!n.contains(t.contentDOM)&&n.blur()});let r=t.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function T0(t,e,a,o){if(o==1)return X.cursor(e,a);if(o==2)return qD(t.state,e,a);{let r=t.docView.lineAt(e,a),n=t.state.doc.lineAt(r?r.posAtEnd:e),s=r?r.posAtStart:n.from,i=r?r.posAtEnd:n.to;return i<t.state.doc.length&&i==n.to&&i++,X.range(s,i)}}var nR=Q.ie&&Q.ie_version<=11,E0=null,B0=0,F0=0;function Hb(t){if(!nR)return t.detail;let e=E0,a=F0;return E0=t,F0=Date.now(),B0=!e||a>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(B0+1)%3:1}function sR(t,e){let a=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),o=Hb(e),r=t.state.selection;return{update(n){n.docChanged&&(a.pos=n.changes.mapPos(a.pos),r=r.map(n.changes))},get(n,s,i){let l=t.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),u,d=T0(t,l.pos,l.assoc,o);if(a.pos!=l.pos&&!s){let c=T0(t,a.pos,a.assoc,o),f=Math.min(c.from,d.from),h=Math.max(c.to,d.to);d=f<d.from?X.range(f,h,d.assoc):X.range(h,f,d.assoc)}return s?r.replaceRange(r.main.extend(d.from,d.to,d.assoc)):i&&o==1&&r.ranges.length>1&&(u=iR(r,l.pos))?u:i?r.addRange(d):X.create([d])}}}function iR(t,e){for(let a=0;a<t.ranges.length;a++){let{from:o,to:r}=t.ranges[a];if(o<=e&&r>=e)return X.create(t.ranges.slice(0,a).concat(t.ranges.slice(a+1)),t.mainIndex==a?0:t.mainIndex-(t.mainIndex>a?1:0))}return null}Sa.dragstart=(t,e)=>{let{selection:{main:a}}=t.state;if(e.target.draggable){let r=t.docView.tile.nearest(e.target);if(r&&r.isWidget()){let n=r.posAtStart,s=n+r.length;(n>=a.to||s<=a.from)&&(a=X.range(n,s))}}let{inputState:o}=t;return o.mouseSelection&&(o.mouseSelection.dragging=!0),o.draggedContent=a,e.dataTransfer&&(e.dataTransfer.setData("Text",yu(t.state,Xh,t.state.sliceDoc(a.from,a.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Sa.dragend=t=>(t.inputState.draggedContent=null,!1);function O0(t,e,a,o){if(a=yu(t.state,$h,a),!a)return;let r=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=t.inputState,s=o&&n&&tR(t,e)?{from:n.from,to:n.to}:null,i={from:r,insert:a},l=t.state.changes(s?[s,i]:i);t.focus(),t.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:s?"move.drop":"input.drop"}),t.inputState.draggedContent=null}Sa.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let a=e.dataTransfer.files;if(a&&a.length){let o=Array(a.length),r=0,n=()=>{++r==a.length&&O0(t,e,o.filter(s=>s!=null).join(t.state.lineBreak),!1)};for(let s=0;s<a.length;s++){let i=new FileReader;i.onerror=n,i.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(i.result)||(o[s]=i.result),n()},i.readAsText(a[s])}return!0}else{let o=e.dataTransfer.getData("Text");if(o)return O0(t,e,o,!0),!0}return!1};Sa.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let a=Nb?null:e.clipboardData;return a?(_b(t,a.getData("text/plain")||a.getData("text/uri-list")),!0):(rR(t),!1)};function lR(t,e){let a=t.dom.parentNode;if(!a)return;let o=a.appendChild(document.createElement("textarea"));o.style.cssText="position: fixed; left: -10000px; top: 10px",o.value=e,o.focus(),o.selectionEnd=e.length,o.selectionStart=0,setTimeout(()=>{o.remove(),t.focus()},50)}function uR(t){let e=[],a=[],o=!1;for(let r of t.selection.ranges)r.empty||(e.push(t.sliceDoc(r.from,r.to)),a.push(r));if(!e.length){let r=-1;for(let{from:n}of t.selection.ranges){let s=t.doc.lineAt(n);s.number>r&&(e.push(s.text),a.push({from:s.from,to:Math.min(t.doc.length,s.to+1)})),r=s.number}o=!0}return{text:yu(t,Xh,e.join(t.lineBreak)),ranges:a,linewise:o}}var Sh=null;Sa.copy=Sa.cut=(t,e)=>{if(!_s(t.contentDOM,t.observer.selectionRange))return!1;let{text:a,ranges:o,linewise:r}=uR(t.state);if(!a&&!r)return!1;Sh=r?a:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:o,scrollIntoView:!0,userEvent:"delete.cut"});let n=Nb?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",a),!0):(lR(t,a),!1)};var zb=Nt.define();function qb(t,e){let a=[];for(let o of t.facet(yb)){let r=o(t,e);r&&a.push(r)}return a.length?t.update({effects:a,annotations:zb.of(!0)}):null}function Ub(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let a=qb(t.state,e);a?t.dispatch(a):t.update([])}},10)}qt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),Ub(t)};qt.blur=t=>{t.observer.clearSelectionRange(),Ub(t)};qt.compositionstart=qt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};qt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,Q.chrome&&Q.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};qt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};Sa.beforeinput=(t,e)=>{var a,o;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let n=(a=e.dataTransfer)===null||a===void 0?void 0:a.getData("text/plain"),s=e.getTargetRanges();if(n&&s.length){let i=s[0],l=t.posAtDOM(i.startContainer,i.startOffset),u=t.posAtDOM(i.endContainer,i.endOffset);return Yh(t,{from:l,to:u,insert:t.state.toText(n)},null),!0}}let r;if(Q.chrome&&Q.android&&(r=Fb.find(n=>n.inputType==e.inputType))&&(t.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let n=((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0;setTimeout(()=>{var s;(((s=window.visualViewport)===null||s===void 0?void 0:s.height)||0)>n+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return Q.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),Q.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>qt.compositionend(t,e),20),!1};var N0=new Set;function dR(t){N0.has(t)||(N0.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}var _0=["pre-wrap","normal","pre-line","break-spaces"],Hn=!1;function H0(){Hn=!1}var Ih=class{constructor(e){this.lineWrapping=e,this.doc=ye.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,a){let o=this.doc.lineAt(a).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(o+=Math.max(0,Math.ceil((a-e-o*this.lineLength*.5)/this.lineLength))),this.lineHeight*o}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return _0.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let a=!1;for(let o=0;o<e.length;o++){let r=e[o];r<0?o++:this.heightSamples[Math.floor(r*10)]||(a=!0,this.heightSamples[Math.floor(r*10)]=!0)}return a}refresh(e,a,o,r,n,s){let i=_0.indexOf(e)>-1,l=Math.abs(a-this.lineHeight)>.3||this.lineWrapping!=i;if(this.lineWrapping=i,this.lineHeight=a,this.charWidth=o,this.textHeight=r,this.lineLength=n,l){this.heightSamples={};for(let u=0;u<s.length;u++){let d=s[u];d<0?u++:this.heightSamples[Math.floor(d*10)]=!0}}return l}},kh=class{constructor(e,a){this.from=e,this.heights=a,this.index=0}get more(){return this.index<this.heights.length}},Ca=class t{constructor(e,a,o,r,n){this.from=e,this.length=a,this.top=o,this.height=r,this._content=n}get type(){return typeof this._content=="number"?gt.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof Ar?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let a=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new t(this.from,this.length+e.length,this.top,this.height+e.height,a)}},Ee=(function(t){return t[t.ByPos=0]="ByPos",t[t.ByHeight=1]="ByHeight",t[t.ByPosNoHeight=2]="ByPosNoHeight",t})(Ee||(Ee={})),Jl=.001,Qt=class t{constructor(e,a,o=2){this.length=e,this.height=a,this.flags=o}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Jl&&(Hn=!0),this.height=e)}replace(e,a,o){return t.of(o)}decomposeLeft(e,a){a.push(this)}decomposeRight(e,a){a.push(this)}applyChanges(e,a,o,r){let n=this,s=o.doc;for(let i=r.length-1;i>=0;i--){let{fromA:l,toA:u,fromB:d,toB:c}=r[i],f=n.lineAt(l,Ee.ByPosNoHeight,o.setDoc(a),0,0),h=f.to>=u?f:n.lineAt(u,Ee.ByPosNoHeight,o,0,0);for(c+=h.to-u,u=h.to;i>0&&f.from<=r[i-1].toA;)l=r[i-1].fromA,d=r[i-1].fromB,i--,l<f.from&&(f=n.lineAt(l,Ee.ByPosNoHeight,o,0,0));d+=f.from-l,l=f.from;let p=Mh.build(o.setDoc(s),e,d,c);n=uu(n,n.replace(l,u,p))}return n.updateHeight(o,0)}static empty(){return new la(0,0,0)}static of(e){if(e.length==1)return e[0];let a=0,o=e.length,r=0,n=0;for(;;)if(a==o)if(r>n*2){let i=e[a-1];i.break?e.splice(--a,1,i.left,null,i.right):e.splice(--a,1,i.left,i.right),o+=1+i.break,r-=i.size}else if(n>r*2){let i=e[o];i.break?e.splice(o,1,i.left,null,i.right):e.splice(o,1,i.left,i.right),o+=2+i.break,n-=i.size}else break;else if(r<n){let i=e[a++];i&&(r+=i.size)}else{let i=e[--o];i&&(n+=i.size)}let s=0;return e[a-1]==null?(s=1,a--):e[a]==null&&(s=1,o++),new Ah(t.of(e.slice(0,a)),s,t.of(e.slice(o)))}};function uu(t,e){return t==e?t:(t.constructor!=e.constructor&&(Hn=!0),e)}Qt.prototype.size=1;var cR=me.replace({}),du=class extends Qt{constructor(e,a,o){super(e,a),this.deco=o,this.spaceAbove=0}mainBlock(e,a){return new Ca(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,a,o,r){return this.spaceAbove&&e<o+this.spaceAbove?new Ca(r,0,o,this.spaceAbove,cR):this.mainBlock(o,r)}lineAt(e,a,o,r,n){let s=this.mainBlock(r,n);return this.spaceAbove?this.blockAt(0,o,r,n).join(s):s}forEachLine(e,a,o,r,n,s){e<=n+this.length&&a>=n&&s(this.lineAt(0,Ee.ByPos,o,r,n))}setMeasuredHeight(e){let a=e.heights[e.index++];a<0?(this.spaceAbove=-a,a=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(a)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},la=class t extends du{constructor(e,a,o){super(e,a,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=o}mainBlock(e,a){return new Ca(a,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,a,o){let r=o[0];return o.length==1&&(r instanceof t||r instanceof No&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof No?r=new t(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):Qt.of(o)}updateHeight(e,a=0,o=!1,r){return r&&r.from<=a&&r.more?this.setMeasuredHeight(r):(o||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},No=class t extends Qt{constructor(e){super(e,0)}heightMetrics(e,a){let o=e.doc.lineAt(a).number,r=e.doc.lineAt(a+this.length).number,n=r-o+1,s,i=0;if(e.lineWrapping){let l=Math.min(this.height,e.lineHeight*n);s=l/n,this.length>n+1&&(i=(this.height-l)/(this.length-n-1))}else s=this.height/n;return{firstLine:o,lastLine:r,perLine:s,perChar:i}}blockAt(e,a,o,r){let{firstLine:n,lastLine:s,perLine:i,perChar:l}=this.heightMetrics(a,r);if(a.lineWrapping){let u=r+(e<a.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-o)/this.height))*this.length)),d=a.doc.lineAt(u),c=i+d.length*l,f=Math.max(o,e-c/2);return new Ca(d.from,d.length,f,c,0)}else{let u=Math.max(0,Math.min(s-n,Math.floor((e-o)/i))),{from:d,length:c}=a.doc.line(n+u);return new Ca(d,c,o+i*u,i,0)}}lineAt(e,a,o,r,n){if(a==Ee.ByHeight)return this.blockAt(e,o,r,n);if(a==Ee.ByPosNoHeight){let{from:h,to:p}=o.doc.lineAt(e);return new Ca(h,p-h,0,0,0)}let{firstLine:s,perLine:i,perChar:l}=this.heightMetrics(o,n),u=o.doc.lineAt(e),d=i+u.length*l,c=u.number-s,f=r+i*c+l*(u.from-n-c);return new Ca(u.from,u.length,Math.max(r,Math.min(f,r+this.height-d)),d,0)}forEachLine(e,a,o,r,n,s){e=Math.max(e,n),a=Math.min(a,n+this.length);let{firstLine:i,perLine:l,perChar:u}=this.heightMetrics(o,n);for(let d=e,c=r;d<=a;){let f=o.doc.lineAt(d);if(d==e){let p=f.number-i;c+=l*p+u*(e-n-p)}let h=l+u*f.length;s(new Ca(f.from,f.length,c,h,0)),c+=h,d=f.to+1}}replace(e,a,o){let r=this.length-a;if(r>0){let n=o[o.length-1];n instanceof t?o[o.length-1]=new t(n.length+r):o.push(null,new t(r-1))}if(e>0){let n=o[0];n instanceof t?o[0]=new t(e+n.length):o.unshift(new t(e-1),null)}return Qt.of(o)}decomposeLeft(e,a){a.push(new t(e-1),null)}decomposeRight(e,a){a.push(null,new t(this.length-e-1))}updateHeight(e,a=0,o=!1,r){let n=a+this.length;if(r&&r.from<=a+this.length&&r.more){let s=[],i=Math.max(a,r.from),l=-1;for(r.from>a&&s.push(new t(r.from-a-1).updateHeight(e,a));i<=n&&r.more;){let d=e.doc.lineAt(i).length;s.length&&s.push(null);let c=r.heights[r.index++],f=0;c<0&&(f=-c,c=r.heights[r.index++]),l==-1?l=c:Math.abs(c-l)>=Jl&&(l=-2);let h=new la(d,c,f);h.outdated=!1,s.push(h),i+=d+1}i<=n&&s.push(null,new t(n-i).updateHeight(e,i));let u=Qt.of(s);return(l<0||Math.abs(u.height-this.height)>=Jl||Math.abs(l-this.heightMetrics(e,a).perLine)>=Jl)&&(Hn=!0),uu(this,u)}else(o||this.outdated)&&(this.setHeight(e.heightForGap(a,a+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Ah=class extends Qt{constructor(e,a,o){super(e.length+a+o.length,e.height+o.height,a|(e.outdated||o.outdated?2:0)),this.left=e,this.right=o,this.size=e.size+o.size}get break(){return this.flags&1}blockAt(e,a,o,r){let n=o+this.left.height;return e<n?this.left.blockAt(e,a,o,r):this.right.blockAt(e,a,n,r+this.left.length+this.break)}lineAt(e,a,o,r,n){let s=r+this.left.height,i=n+this.left.length+this.break,l=a==Ee.ByHeight?e<s:e<i,u=l?this.left.lineAt(e,a,o,r,n):this.right.lineAt(e,a,o,s,i);if(this.break||(l?u.to<i:u.from>i))return u;let d=a==Ee.ByPosNoHeight?Ee.ByPosNoHeight:Ee.ByPos;return l?u.join(this.right.lineAt(i,d,o,s,i)):this.left.lineAt(i,d,o,r,n).join(u)}forEachLine(e,a,o,r,n,s){let i=r+this.left.height,l=n+this.left.length+this.break;if(this.break)e<l&&this.left.forEachLine(e,a,o,r,n,s),a>=l&&this.right.forEachLine(e,a,o,i,l,s);else{let u=this.lineAt(l,Ee.ByPos,o,r,n);e<u.from&&this.left.forEachLine(e,u.from-1,o,r,n,s),u.to>=e&&u.from<=a&&s(u),a>u.to&&this.right.forEachLine(u.to+1,a,o,i,l,s)}}replace(e,a,o){let r=this.left.length+this.break;if(a<r)return this.balanced(this.left.replace(e,a,o),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,a-r,o));let n=[];e>0&&this.decomposeLeft(e,n);let s=n.length;for(let i of o)n.push(i);if(e>0&&z0(n,s-1),a<this.length){let i=n.length;this.decomposeRight(a,n),z0(n,i)}return Qt.of(n)}decomposeLeft(e,a){let o=this.left.length;if(e<=o)return this.left.decomposeLeft(e,a);a.push(this.left),this.break&&(o++,e>=o&&a.push(null)),e>o&&this.right.decomposeLeft(e-o,a)}decomposeRight(e,a){let o=this.left.length,r=o+this.break;if(e>=r)return this.right.decomposeRight(e-r,a);e<o&&this.left.decomposeRight(e,a),this.break&&e<r&&a.push(null),a.push(this.right)}balanced(e,a){return e.size>2*a.size||a.size>2*e.size?Qt.of(this.break?[e,null,a]:[e,a]):(this.left=uu(this.left,e),this.right=uu(this.right,a),this.setHeight(e.height+a.height),this.outdated=e.outdated||a.outdated,this.size=e.size+a.size,this.length=e.length+this.break+a.length,this)}updateHeight(e,a=0,o=!1,r){let{left:n,right:s}=this,i=a+n.length+this.break,l=null;return r&&r.from<=a+n.length&&r.more?l=n=n.updateHeight(e,a,o,r):n.updateHeight(e,a,o),r&&r.from<=i+s.length&&r.more?l=s=s.updateHeight(e,i,o,r):s.updateHeight(e,i,o),l?this.balanced(n,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function z0(t,e){let a,o;t[e]==null&&(a=t[e-1])instanceof No&&(o=t[e+1])instanceof No&&t.splice(e-1,3,new No(a.length+1+o.length))}var fR=5,Mh=class t{constructor(e,a){this.pos=e,this.oracle=a,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,a){if(this.lineStart>-1){let o=Math.min(a,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof la?r.length+=o-this.pos:(o>this.pos||!this.isCovered)&&this.nodes.push(new la(o-this.pos,-1,0)),this.writtenTo=o,a>o&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=a}point(e,a,o){if(e<a||o.heightRelevant){let r=o.widget?o.widget.estimatedHeight:0,n=o.widget?o.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let s=a-e;o.block?this.addBlock(new du(s,r,o)):(s||n||r>=fR)&&this.addLineDeco(r,n,s)}else a>e&&this.span(e,a);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:a}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=a,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new la(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,a){let o=new No(a-e);return this.oracle.doc.lineAt(e).to==a&&(o.flags|=4),o}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof la)return e;let a=new la(0,-1,0);return this.nodes.push(a),a}addBlock(e){this.enterLine();let a=e.deco;a&&a.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,a&&a.endSide>0&&(this.covering=e)}addLineDeco(e,a,o){let r=this.ensureLine();r.length+=o,r.collapsed+=o,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=a,this.writtenTo=this.pos=this.pos+o}finish(e){let a=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(a instanceof la)&&!this.isCovered?this.nodes.push(new la(0,-1,0)):(this.writtenTo<this.pos||a==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let o=e;for(let r of this.nodes)r instanceof la&&r.updateHeight(this.oracle,o),o+=r?r.length:1;return this.nodes}static build(e,a,o,r){let n=new t(o,e);return Le.spans(a,o,r,n,0),n.finish(o)}};function hR(t,e,a){let o=new Ph;return Le.compare(t,e,a,o,0),o.changes}var Ph=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,a,o,r){(e<a||o&&o.heightRelevant||r&&r.heightRelevant)&&En(e,a,this.changes,5)}};function pR(t,e){let a=t.getBoundingClientRect(),o=t.ownerDocument,r=o.defaultView||window,n=Math.max(0,a.left),s=Math.min(r.innerWidth,a.right),i=Math.max(0,a.top),l=Math.min(r.innerHeight,a.bottom);for(let u=t.parentNode;u&&u!=o.body;)if(u.nodeType==1){let d=u,c=window.getComputedStyle(d);if((d.scrollHeight>d.clientHeight||d.scrollWidth>d.clientWidth)&&c.overflow!="visible"){let f=d.getBoundingClientRect();n=Math.max(n,f.left),s=Math.min(s,f.right),i=Math.max(i,f.top),l=Math.min(u==t.parentNode?r.innerHeight:l,f.bottom)}u=c.position=="absolute"||c.position=="fixed"?d.offsetParent:d.parentNode}else if(u.nodeType==11)u=u.host;else break;return{left:n-a.left,right:Math.max(n,s)-a.left,top:i-(a.top+e),bottom:Math.max(i,l)-(a.top+e)}}function mR(t){let e=t.getBoundingClientRect(),a=t.ownerDocument.defaultView||window;return e.left<a.innerWidth&&e.right>0&&e.top<a.innerHeight&&e.bottom>0}function gR(t,e){let a=t.getBoundingClientRect();return{left:0,right:a.right-a.left,top:e,bottom:a.bottom-(a.top+e)}}var Vs=class{constructor(e,a,o,r){this.from=e,this.to=a,this.size=o,this.displaySize=r}static same(e,a){if(e.length!=a.length)return!1;for(let o=0;o<e.length;o++){let r=e[o],n=a[o];if(r.from!=n.from||r.to!=n.to||r.size!=n.size)return!1}return!0}draw(e,a){return me.replace({widget:new Dh(this.displaySize*(a?e.scaleY:e.scaleX),a)}).range(this.from,this.to)}},Dh=class extends Va{constructor(e,a){super(),this.size=e,this.vertical=a}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},cu=class{constructor(e,a){this.view=e,this.state=a,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=q0,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ke.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let o=a.facet(Kh).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Ih(o),this.stateDeco=U0(a),this.heightMap=Qt.empty().applyChanges(this.stateDeco,ye.empty,this.heightOracle.setDoc(a.doc),[new va(0,0,0,a.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=me.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:a}=this.state.selection;for(let o=0;o<=1;o++){let r=o?a.head:a.anchor;if(!e.some(({from:n,to:s})=>r>=n&&r<=s)){let{from:n,to:s}=this.lineBlockAt(r);e.push(new Dn(n,s))}}return this.viewports=e.sort((o,r)=>o.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?q0:new Rh(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(Ns(e,this.scaler))})}update(e,a=null){this.state=e.state;let o=this.stateDeco;this.stateDeco=U0(this.state);let r=e.changedRanges,n=va.extendWithRanges(r,hR(o,this.stateDeco,e?e.changes:Mt.empty(this.state.doc.length))),s=this.heightMap.height,i=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);H0(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=s||Hn)&&(e.flags|=2),i?(this.scrollAnchorPos=e.changes.mapPos(i.from,-1),this.scrollAnchorHeight=i.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=s);let l=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(a&&(a.range.head<l.from||a.range.head>l.to)||!this.viewportIsAppropriate(l))&&(l=this.getViewport(0,a));let u=l.from!=this.viewport.from||l.to!=this.viewport.to;this.viewport=l,e.flags|=this.updateForViewport(),(u||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),a&&(this.scrollTarget=a),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Cb)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,a=e.contentDOM,o=window.getComputedStyle(a),r=this.heightOracle,n=o.whiteSpace;this.defaultTextDirection=o.direction=="rtl"?ke.RTL:ke.LTR;let s=this.heightOracle.mustRefreshForWrapping(n)||this.mustMeasureContent==="refresh",i=a.getBoundingClientRect(),l=s||this.mustMeasureContent||this.contentDOMHeight!=i.height;this.contentDOMHeight=i.height,this.mustMeasureContent=!1;let u=0,d=0;if(i.width&&i.height){let{scaleX:I,scaleY:v}=rb(a,i);(I>.005&&Math.abs(this.scaleX-I)>.005||v>.005&&Math.abs(this.scaleY-v)>.005)&&(this.scaleX=I,this.scaleY=v,u|=16,s=l=!0)}let c=(parseInt(o.paddingTop)||0)*this.scaleY,f=(parseInt(o.paddingBottom)||0)*this.scaleY;(this.paddingTop!=c||this.paddingBottom!=f)&&(this.paddingTop=c,this.paddingBottom=f,u|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=e.scrollDOM.clientWidth,u|=16);let h=nb(this.view.contentDOM,!1).y;h!=this.scrollParent&&(this.scrollParent=h,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=ib(this.scrollParent||e.win);let m=(this.printing?gR:pR)(a,this.paddingTop),g=m.top-this.pixelViewport.top,x=m.bottom-this.pixelViewport.bottom;this.pixelViewport=m;let y=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(y!=this.inView&&(this.inView=y,y&&(l=!0)),!this.inView&&!this.scrollTarget&&!mR(e.dom))return 0;let b=i.width;if((this.contentDOMWidth!=b||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=i.width,this.editorHeight=e.scrollDOM.clientHeight,u|=16),l){let I=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(I)&&(s=!0),s||r.lineWrapping&&Math.abs(b-this.contentDOMWidth)>r.charWidth){let{lineHeight:v,charWidth:L,textHeight:S}=e.docView.measureTextSize();s=v>0&&r.refresh(n,v,L,S,Math.max(5,b/L),I),s&&(e.docView.minWidth=0,u|=16)}g>0&&x>0?d=Math.max(g,x):g<0&&x<0&&(d=Math.min(g,x)),H0();for(let v of this.viewports){let L=v.from==this.viewport.from?I:e.docView.measureVisibleLineHeights(v);this.heightMap=(s?Qt.empty().applyChanges(this.stateDeco,ye.empty,this.heightOracle,[new va(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,s,new kh(v.from,L))}Hn&&(u|=2)}let C=!this.viewportIsAppropriate(this.viewport,d)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return C&&(u&2&&(u|=this.updateScaler()),this.viewport=this.getViewport(d,this.scrollTarget),u|=this.updateForViewport()),(u&2||C)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(s?[]:this.lineGaps,e)),u|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,a){let o=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,n=this.heightOracle,{visibleTop:s,visibleBottom:i}=this,l=new Dn(r.lineAt(s-o*1e3,Ee.ByHeight,n,0,0).from,r.lineAt(i+(1-o)*1e3,Ee.ByHeight,n,0,0).to);if(a){let{head:u}=a.range;if(u<l.from||u>l.to){let d=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),c=r.lineAt(u,Ee.ByPos,n,0,0),f;a.y=="center"?f=(c.top+c.bottom)/2-d/2:a.y=="start"||a.y=="nearest"&&u<l.from?f=c.top:f=c.bottom-d,l=new Dn(r.lineAt(f-1e3/2,Ee.ByHeight,n,0,0).from,r.lineAt(f+d+1e3/2,Ee.ByHeight,n,0,0).to)}}return l}mapViewport(e,a){let o=a.mapPos(e.from,-1),r=a.mapPos(e.to,1);return new Dn(this.heightMap.lineAt(o,Ee.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,Ee.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:a},o=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,Ee.ByPos,this.heightOracle,0,0),{bottom:n}=this.heightMap.lineAt(a,Ee.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:i}=this;return(e==0||r<=s-Math.max(10,Math.min(-o,250)))&&(a==this.state.doc.length||n>=i+Math.max(10,Math.min(o,250)))&&r>s-2*1e3&&n<i+2*1e3}mapLineGaps(e,a){if(!e.length||a.empty)return e;let o=[];for(let r of e)a.touchesRange(r.from,r.to)||o.push(new Vs(a.mapPos(r.from),a.mapPos(r.to),r.size,r.displaySize));return o}ensureLineGaps(e,a){let o=this.heightOracle.lineWrapping,r=o?1e4:2e3,n=r>>1,s=r<<1;if(this.defaultTextDirection!=ke.LTR&&!o)return[];let i=[],l=(d,c,f,h)=>{if(c-d<n)return;let p=this.state.selection.main,m=[p.from];p.empty||m.push(p.to);for(let x of m)if(x>d&&x<c){l(d,x-10,f,h),l(x+10,c,f,h);return}let g=bR(e,x=>x.from>=f.from&&x.to<=f.to&&Math.abs(x.from-d)<n&&Math.abs(x.to-c)<n&&!m.some(y=>x.from<y&&x.to>y));if(!g){if(c<f.to&&a&&o&&a.visibleRanges.some(b=>b.from<=c&&b.to>=c)){let b=a.moveToLineBoundary(X.cursor(c),!1,!0).head;b>d&&(c=b)}let x=this.gapSize(f,d,c,h),y=o||x<2e6?x:2e6;g=new Vs(d,c,x,y)}i.push(g)},u=d=>{if(d.length<s||d.type!=gt.Text)return;let c=xR(d.from,d.to,this.stateDeco);if(c.total<s)return;let f=this.scrollTarget?this.scrollTarget.range.head:null,h,p;if(o){let m=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,g,x;if(f!=null){let y=$l(c,f),b=((this.visibleBottom-this.visibleTop)/2+m)/d.height;g=y-b,x=y+b}else g=(this.visibleTop-d.top-m)/d.height,x=(this.visibleBottom-d.top+m)/d.height;h=Gl(c,g),p=Gl(c,x)}else{let m=c.total*this.heightOracle.charWidth,g=r*this.heightOracle.charWidth,x=0;if(m>2e6)for(let v of e)v.from>=d.from&&v.from<d.to&&v.size!=v.displaySize&&v.from*this.heightOracle.charWidth+x<this.pixelViewport.left&&(x=v.size-v.displaySize);let y=this.pixelViewport.left+x,b=this.pixelViewport.right+x,C,I;if(f!=null){let v=$l(c,f),L=((b-y)/2+g)/m;C=v-L,I=v+L}else C=(y-g)/m,I=(b+g)/m;h=Gl(c,C),p=Gl(c,I)}h>d.from&&l(d.from,h,d,c),p<d.to&&l(p,d.to,d,c)};for(let d of this.viewportLines)Array.isArray(d.type)?d.type.forEach(u):u(d);return i}gapSize(e,a,o,r){let n=$l(r,o)-$l(r,a);return this.heightOracle.lineWrapping?e.height*n:r.total*this.heightOracle.charWidth*n}updateLineGaps(e){Vs.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=me.set(e.map(a=>a.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let a=this.stateDeco;this.lineGaps.length&&(a=a.concat(this.lineGapDeco));let o=[];Le.spans(a,this.viewport.from,this.viewport.to,{span(n,s){o.push({from:n,to:s})},point(){}},20);let r=0;if(o.length!=this.visibleRanges.length)r=12;else for(let n=0;n<o.length&&!(r&8);n++){let s=this.visibleRanges[n],i=o[n];(s.from!=i.from||s.to!=i.to)&&(r|=4,e&&e.mapPos(s.from,-1)==i.from&&e.mapPos(s.to,1)==i.to||(r|=8))}return this.visibleRanges=o,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(a=>a.from<=e&&a.to>=e)||Ns(this.heightMap.lineAt(e,Ee.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(a=>a.top<=e&&a.bottom>=e)||Ns(this.heightMap.lineAt(this.scaler.fromDOM(e),Ee.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let a=this.lineBlockAtHeight(e+8);return a.from>=this.viewport.from||this.viewportLines[0].top-e>200?a:this.viewportLines[0]}elementAtHeight(e){return Ns(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},Dn=class{constructor(e,a){this.from=e,this.to=a}};function xR(t,e,a){let o=[],r=t,n=0;return Le.spans(a,t,e,{span(){},point(s,i){s>r&&(o.push({from:r,to:s}),n+=s-r),r=i}},20),r<e&&(o.push({from:r,to:e}),n+=e-r),{total:n,ranges:o}}function Gl({total:t,ranges:e},a){if(a<=0)return e[0].from;if(a>=1)return e[e.length-1].to;let o=Math.floor(t*a);for(let r=0;;r++){let{from:n,to:s}=e[r],i=s-n;if(o<=i)return n+o;o-=i}}function $l(t,e){let a=0;for(let{from:o,to:r}of t.ranges){if(e<=r){a+=e-o;break}a+=r-o}return a/t.total}function bR(t,e){for(let a of t)if(e(a))return a}var q0={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function U0(t){let e=t.facet(wu).filter(o=>typeof o!="function"),a=t.facet(jh).filter(o=>typeof o!="function");return a.length&&e.push(Le.join(a)),e}var Rh=class t{constructor(e,a,o){let r=0,n=0,s=0;this.viewports=o.map(({from:i,to:l})=>{let u=a.lineAt(i,Ee.ByPos,e,0,0).top,d=a.lineAt(l,Ee.ByPos,e,0,0).bottom;return r+=d-u,{from:i,to:l,top:u,bottom:d,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(a.height-r);for(let i of this.viewports)i.domTop=s+(i.top-n)*this.scale,s=i.domBottom=i.domTop+(i.bottom-i.top),n=i.bottom}toDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.top)return r+(e-o)*this.scale;if(e<=n.bottom)return n.domTop+(e-n.top);o=n.bottom,r=n.domBottom}}fromDOM(e){for(let a=0,o=0,r=0;;a++){let n=a<this.viewports.length?this.viewports[a]:null;if(!n||e<n.domTop)return o+(e-r)/this.scale;if(e<=n.domBottom)return n.top+(e-n.domTop);o=n.bottom,r=n.domBottom}}eq(e){return e instanceof t?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((a,o)=>a.from==e.viewports[o].from&&a.to==e.viewports[o].to):!1}};function Ns(t,e){if(e.scale==1)return t;let a=e.toDOM(t.top),o=e.toDOM(t.bottom);return new Ca(t.from,t.length,a,o-a,Array.isArray(t._content)?t._content.map(r=>Ns(r,e)):t._content)}var Xl=Y.define({combine:t=>t.join(" ")}),Th=Y.define({combine:t=>t.indexOf(!0)>-1}),Eh=ia.newName(),Wb=ia.newName(),Vb=ia.newName(),Gb={"&light":"."+Wb,"&dark":"."+Vb};function Bh(t,e,a){return new ia(e,{finish(o){return/&/.test(o)?o.replace(/&\w*/,r=>{if(r=="&")return t;if(!a||!a[r])throw new RangeError(`Unsupported selector: ${r}`);return a[r]}):t+" "+o}})}var wR=Bh("."+Eh,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Gb),yR={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Kf=Q.ie&&Q.ie_version<=11,Fh=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new rh,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(a=>{for(let o of a)this.queue.push(o);(Q.ie&&Q.ie_version<=11||Q.ios&&e.composing)&&a.some(o=>o.type=="childList"&&o.removedNodes.length||o.type=="characterData"&&o.oldValue.length>o.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&Q.android&&e.constructor.EDIT_CONTEXT!==!1&&!(Q.chrome&&Q.chrome_version<126)&&(this.editContext=new Oh(e),e.state.facet(mo)&&(e.contentDOM.editContext=this.editContext.editContext)),Kf&&(this.onCharData=a=>{this.queue.push({target:a.target,type:"characterData",oldValue:a.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var a;((a=this.view.docView)===null||a===void 0?void 0:a.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(a=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),a.length>0&&a[a.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(a=>{a.length>0&&a[a.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((a,o)=>a!=e[o]))){this.gapIntersection.disconnect();for(let a of e)this.gapIntersection.observe(a);this.gaps=e}}onSelectionChange(e){let a=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:o}=this,r=this.selectionRange;if(o.state.facet(mo)?o.root.activeElement!=this.dom:!_s(this.dom,r))return;let n=r.anchorNode&&o.docView.tile.nearest(r.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){a||(this.selectionChanged=!1);return}(Q.ie&&Q.ie_version<=11||Q.android&&Q.chrome)&&!o.state.selection.main.empty&&r.focusNode&&Hs(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,a=js(e.root);if(!a)return!1;let o=Q.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&LR(this.view,a)||a;if(!o||this.selectionRange.eq(o))return!1;let r=_s(this.dom,o);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&gD(this.dom,o)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(o),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,a){this.selectionRange.set(e.node,e.offset,a.node,a.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,a=null;for(let o=this.dom;o;)if(o.nodeType==1)!a&&e<this.scrollTargets.length&&this.scrollTargets[e]==o?e++:a||(a=this.scrollTargets.slice(0,e)),a&&a.push(o),o=o.assignedSlot||o.parentNode;else if(o.nodeType==11)o=o.host;else break;if(e<this.scrollTargets.length&&!a&&(a=this.scrollTargets.slice(0,e)),a){for(let o of this.scrollTargets)o.removeEventListener("scroll",this.onScroll);for(let o of this.scrollTargets=a)o.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,yR),Kf&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),Kf&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,a){var o;if(!this.delayedAndroidKey){let r=()=>{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&Bn(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:a,force:this.lastChange<Date.now()-50||!!(!((o=this.delayedAndroidKey)===null||o===void 0)&&o.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let a=-1,o=-1,r=!1;for(let n of e){let s=this.readMutation(n);s&&(s.typeOver&&(r=!0),a==-1?{from:a,to:o}=s:(a=Math.min(s.from,a),o=Math.max(s.to,o)))}return{from:a,to:o,typeOver:r}}readChange(){let{from:e,to:a,typeOver:o}=this.processRecords(),r=this.selectionChanged&&_s(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new Lh(this.view,e,a,o);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let a=this.readChange();if(!a)return this.view.requestMeasure(),!1;let o=this.view.state,r=Eb(this.view,a);return this.view.state==o&&(a.domChanged||a.newSel&&!lu(this.view.state.selection,a.newSel.main))&&this.view.update([]),r}readMutation(e){let a=this.view.docView.tile.nearest(e.target);if(!a||a.isWidget())return null;if(a.markDirty(e.type=="attributes"),e.type=="childList"){let o=W0(a,e.previousSibling||e.target.previousSibling,-1),r=W0(a,e.nextSibling||e.target.nextSibling,1);return{from:o?a.posAfter(o):a.posAtStart,to:r?a.posBefore(r):a.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:a.posAtStart,to:a.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(mo)!=e.state.facet(mo)&&(e.view.contentDOM.editContext=e.state.facet(mo)?this.editContext.editContext:null))}destroy(){var e,a,o;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(a=this.gapIntersection)===null||a===void 0||a.disconnect(),(o=this.resizeScroll)===null||o===void 0||o.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function W0(t,e,a){for(;e;){let o=ze.get(e);if(o&&o.parent==t)return o;let r=e.parentNode;e=r!=t.dom?r:a>0?e.nextSibling:e.previousSibling}return null}function V0(t,e){let a=e.startContainer,o=e.startOffset,r=e.endContainer,n=e.endOffset,s=t.docView.domAtPos(t.state.selection.main.anchor,1);return Hs(s.node,s.offset,r,n)&&([a,o,r,n]=[r,n,a,o]),{anchorNode:a,anchorOffset:o,focusNode:r,focusOffset:n}}function LR(t,e){if(e.getComposedRanges){let r=e.getComposedRanges(t.root)[0];if(r)return V0(t,r)}let a=null;function o(r){r.preventDefault(),r.stopImmediatePropagation(),a=r.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",o,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",o,!0),a?V0(t,a):null}var Oh=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let a=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=o=>{let r=e.state.selection.main,{anchor:n,head:s}=r,i=this.toEditorPos(o.updateRangeStart),l=this.toEditorPos(o.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:o.updateRangeStart,editorBase:i,drifted:!1});let u=l-i>o.text.length;i==this.from&&n<this.from?i=n:l==this.to&&n>this.to&&(l=n);let d=Bb(e.state.sliceDoc(i,l),o.text,(u?r.from:r.to)-i,u?"end":null);if(!d){let f=X.single(this.toEditorPos(o.selectionStart),this.toEditorPos(o.selectionEnd));lu(f,r)||e.dispatch({selection:f,userEvent:"select"});return}let c={from:d.from+i,to:d.toA+i,insert:ye.of(o.text.slice(d.from,d.toB).split(`
18
+ `))};if((Q.mac||Q.android)&&c.from==s-1&&/^\. ?$/.test(o.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(c={from:i,to:l,insert:ye.of([o.text.replace("."," ")])}),this.pendingContextChange=c,!e.state.readOnly){let f=this.to-this.from+(c.to-c.from+c.insert.length);Yh(e,c,X.single(this.toEditorPos(o.selectionStart,f),this.toEditorPos(o.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),c.from<c.to&&!c.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(a.text.slice(Math.max(0,o.updateRangeStart-1),Math.min(a.text.length,o.updateRangeStart+1)))&&this.handlers.compositionend(o)},this.handlers.characterboundsupdate=o=>{let r=[],n=null;for(let s=this.toEditorPos(o.rangeStart),i=this.toEditorPos(o.rangeEnd);s<i;s++){let l=e.coordsForChar(s);n=l&&new DOMRect(l.left,l.top,l.right-l.left,l.bottom-l.top)||n||new DOMRect,r.push(n)}a.updateCharacterBounds(o.rangeStart,r)},this.handlers.textformatupdate=o=>{let r=[];for(let n of o.getTextFormats()){let s=n.underlineStyle,i=n.underlineThickness;if(!/none/i.test(s)&&!/none/i.test(i)){let l=this.toEditorPos(n.rangeStart),u=this.toEditorPos(n.rangeEnd);if(l<u){let d=`text-decoration: underline ${/^[a-z]/.test(s)?s+" ":s=="Dashed"?"dashed ":s=="Squiggle"?"wavy ":""}${/thin/i.test(i)?1:2}px`;r.push(me.mark({attributes:{style:d}}).range(l,u))}}}e.dispatch({effects:Sb.of(me.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:o}=this.composing;this.composing=null,o&&this.reset(e.state)}};for(let o in this.handlers)a.addEventListener(o,this.handlers[o]);this.measureReq={read:o=>{this.editContext.updateControlBounds(o.contentDOM.getBoundingClientRect());let r=js(o.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let a=0,o=!1,r=this.pendingContextChange;return e.changes.iterChanges((n,s,i,l,u)=>{if(o)return;let d=u.length-(s-n);if(r&&s>=r.to)if(r.from==n&&r.to==s&&r.insert.eq(u)){r=this.pendingContextChange=null,a+=d,this.to+=d;return}else r=null,this.revertPending(e.state);if(n+=a,s+=a,s<=this.from)this.from+=d,this.to+=d;else if(n<this.to){if(n<this.from||s>this.to||this.to-this.from+u.length>3e4){o=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(s),u.toString()),this.to+=d}a+=d}),r&&!o&&this.revertPending(e.state),!o}update(e){let a=this.pendingContextChange,o=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(o.from,o.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||a)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:a}=e.selection.main;this.from=Math.max(0,a-1e4),this.to=Math.min(e.doc.length,a+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let a=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(a.from),this.toContextPos(a.from+a.insert.length),e.doc.sliceString(a.from,a.to))}setSelection(e){let{main:a}=e.selection,o=this.toContextPos(Math.max(this.from,Math.min(this.to,a.anchor))),r=this.toContextPos(a.head);(this.editContext.selectionStart!=o||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(o,r)}rangeIsValid(e){let{head:a}=e.selection.main;return!(this.from>0&&a-this.from<500||this.to<e.doc.length&&this.to-a<500||this.to-this.from>1e4*3)}toEditorPos(e,a=this.to-this.from){e=Math.min(e,a);let o=this.composing;return o&&o.drifted?o.editorBase+(e-o.contextBase):e+this.from}toContextPos(e){let a=this.composing;return a&&a.drifted?a.contextBase+(e-a.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},Z=class t{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var a;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:o}=e;this.dispatchTransactions=e.dispatchTransactions||o&&(r=>r.forEach(n=>o(n,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||mD(e.parent)||document,this.viewState=new cu(this,e.state||Pe.create(e)),e.scrollTo&&e.scrollTo.is(Ul)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Pn).map(r=>new qs(r));for(let r of this.plugins)r.update(this);this.observer=new Fh(this),this.inputState=new Ch(this),this.inputState.ensureHandlers(this.plugins),this.docView=new su(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((a=document.fonts)===null||a===void 0)&&a.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let a=e.length==1&&e[0]instanceof nt?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(a,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let a=!1,o=!1,r,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let s=this.hasFocus,i=0,l=null;e.some(f=>f.annotation(zb))?(this.inputState.notifiedFocused=s,i=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,l=qb(n,s),l||(i=1));let u=this.observer.delayedAndroidKey,d=null;if(u?(this.observer.clearDelayedAndroidKey(),d=this.observer.readChange(),(d&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(d=null)):this.observer.clear(),n.facet(Pe.phrases)!=this.state.facet(Pe.phrases))return this.setState(n);r=ru.create(this,n,e),r.flags|=i;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(c&&(c=c.map(f.changes)),f.scrollIntoView){let{main:h}=f.state.selection,{x:p,y:m}=this.state.facet(t.cursorScrollMargin);c=new zs(h.empty?h:X.cursor(h.head,h.head>h.anchor?-1:1),"nearest","nearest",m,p)}for(let h of f.effects)h.is(Ul)&&(c=h.value.clip(this.state))}this.viewState.update(r,c),this.bidiCache=fu.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),a=this.docView.update(r),this.state.facet(Os)!=this.styleModules&&this.mountStyles(),o=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(a,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(Xl)!=r.state.facet(Xl)&&(this.viewState.mustMeasureContent=!0),(a||o||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),a&&this.docViewUpdate(),!r.empty)for(let f of this.state.facet(lh))try{f(r)}catch(h){mt(this.state,h,"update listener")}(l||d)&&Promise.resolve().then(()=>{l&&this.state==l.startState&&this.dispatch(l),d&&!Eb(this,d)&&u.force&&Bn(this.contentDOM,u.key,u.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let a=this.hasFocus;try{for(let o of this.plugins)o.destroy(this);this.viewState=new cu(this,e),this.plugins=e.facet(Pn).map(o=>new qs(o)),this.pluginMap.clear();for(let o of this.plugins)o.update(this);this.docView.destroy(),this.docView=new su(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}a&&this.focus(),this.requestMeasure()}updatePlugins(e){let a=e.startState.facet(Pn),o=e.state.facet(Pn);if(a!=o){let r=[];for(let n of o){let s=a.indexOf(n);if(s<0)r.push(new qs(n));else{let i=this.plugins[s];i.mustUpdate=e,r.push(i)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);a!=o&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let a=e.value;if(a&&a.docViewUpdate)try{a.docViewUpdate(this)}catch(o){mt(this.state,o,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let a=null,o=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:s}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(s=-1),this.viewState.scrollAnchorHeight=-1;try{for(let i=0;;i++){if(s<0)if(ib(o||this.win))n=-1,s=this.viewState.heightMap.height;else{let h=this.viewState.scrollAnchorAt(r);n=h.from,s=h.top}this.updateState=1;let l=this.viewState.measure();if(!l&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(i>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let u=[];l&4||([this.measureRequests,u]=[u,this.measureRequests]);let d=u.map(h=>{try{return h.read(this)}catch(p){return mt(this.state,p),G0}}),c=ru.create(this,this.state,[]),f=!1;c.flags|=l,a?a.flags|=l:a=c,this.updateState=2,c.empty||(this.updatePlugins(c),this.inputState.update(c),this.updateAttrs(),f=this.docView.update(c),f&&this.docViewUpdate());for(let h=0;h<u.length;h++)if(d[h]!=G0)try{let p=u[h];p.write&&p.write(d[h],this)}catch(p){mt(this.state,p)}if(f&&this.docView.updateSelection(!0),!c.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,s=-1;continue}else{let p=((n<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(n).top)-s)/this.scaleY;if((p>1||p<-1)&&(o==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+p,o?o.scrollTop+=p:this.win.scrollBy(0,p),s=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(a&&!a.empty)for(let i of this.state.facet(lh))i(a)}get themeClasses(){return Eh+" "+(this.state.facet(Th)?Vb:Wb)+" "+this.state.facet(Xl)}updateAttrs(){let e=$0(this,Ib,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),a={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(mo)?"true":"false",class:"cm-content",style:`${Q.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(a["aria-readonly"]="true"),$0(this,Kh,a);let o=this.observer.ignore(()=>{let r=S0(this.contentDOM,this.contentAttrs,a),n=S0(this.dom,this.editorAttrs,e);return r||n});return this.editorAttrs=e,this.contentAttrs=a,o}showAnnouncements(e){let a=!0;for(let o of e)for(let r of o.effects)if(r.is(t.announce)){a&&(this.announceDOM.textContent=""),a=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(Os);let e=this.state.facet(t.cspNonce);ia.mount(this.root,this.styleModules.concat(wR).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let a=0;a<this.measureRequests.length;a++)if(this.measureRequests[a].key===e.key){this.measureRequests[a]=e;return}}this.measureRequests.push(e)}}plugin(e){let a=this.pluginMap.get(e);return(a===void 0||a&&a.plugin!=e)&&this.pluginMap.set(e,a=this.plugins.find(o=>o.plugin==e)||null),a&&a.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,a,o){return Xf(this,e,D0(this,e,a,o))}moveByGroup(e,a){return Xf(this,e,D0(this,e,a,o=>VD(this,e.head,o)))}visualLineSide(e,a){let o=this.bidiSpans(e),r=this.textDirectionAt(e.from),n=o[a?o.length-1:0];return X.cursor(n.side(a,r)+e.from,n.forward(!a,r)?1:-1)}moveToLineBoundary(e,a,o=!0){return WD(this,e,a,o)}moveVertically(e,a,o){return Xf(this,e,GD(this,e,a,o))}domAtPos(e,a=1){return this.docView.domAtPos(e,a)}posAtDOM(e,a=0){return this.docView.posFromDOM(e,a)}posAtCoords(e,a=!0){this.readMeasured();let o=bh(this,e,a);return o&&o.pos}posAndSideAtCoords(e,a=!0){return this.readMeasured(),bh(this,e,a)}coordsAtPos(e,a=1){this.readMeasured();let o=this.docView.coordsAt(e,a);if(!o||o.left==o.right)return o;let r=this.state.doc.lineAt(e),n=this.bidiSpans(r),s=n[da.find(n,e-r.from,-1,a)];return ou(o,s.dir==ke.LTR==a>0)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Lb)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>CR)return hb(e.length);let a=this.textDirectionAt(e.from),o;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==a&&(n.fresh||fb(n.isolates,o=A0(this,e))))return n.order;o||(o=A0(this,e));let r=vD(e.text,a,o);return this.bidiCache.push(new fu(e.from,e.to,a,o,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Q.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{sb(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,a={}){var o,r,n,s;return Ul.of(new zs(typeof e=="number"?X.cursor(e):e,(o=a.y)!==null&&o!==void 0?o:"nearest",(r=a.x)!==null&&r!==void 0?r:"nearest",(n=a.yMargin)!==null&&n!==void 0?n:5,(s=a.xMargin)!==null&&s!==void 0?s:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:a}=this.scrollDOM,o=this.viewState.scrollAnchorAt(e);return Ul.of(new zs(X.cursor(o.from),"start","start",o.top-e,a,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Qe.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Qe.define(()=>({}),{eventObservers:e})}static theme(e,a){let o=ia.newName(),r=[Xl.of(o),Os.of(Bh(`.${o}`,e))];return a&&a.dark&&r.push(Th.of(!0)),r}static baseTheme(e){return Jt.lowest(Os.of(Bh("."+Eh,e,Gb)))}static findFromDOM(e){var a;let o=e.querySelector(".cm-content"),r=o&&ze.get(o)||ze.get(e);return((a=r?.root)===null||a===void 0?void 0:a.view)||null}};Z.styleModule=Os;Z.inputHandler=wb;Z.clipboardInputFilter=$h;Z.clipboardOutputFilter=Xh;Z.scrollHandler=vb;Z.focusChangeEffect=yb;Z.perLineTextDirection=Lb;Z.exceptionSink=bb;Z.updateListener=lh;Z.editable=mo;Z.mouseSelectionStyle=xb;Z.dragMovesSelection=gb;Z.clickAddsSelectionRange=mb;Z.decorations=wu;Z.blockWrappers=kb;Z.outerDecorations=jh;Z.atomicRanges=Ys;Z.bidiIsolatedRanges=Ab;Z.cursorScrollMargin=Y.define({combine:t=>{let e=5,a=5;for(let o of t)typeof o=="number"?e=a=o:{x:e,y:a}=o;return{x:e,y:a}}});Z.scrollMargins=Mb;Z.darkTheme=Th;Z.cspNonce=Y.define({combine:t=>t.length?t[0]:""});Z.contentAttributes=Kh;Z.editorAttributes=Ib;Z.lineWrapping=Z.contentAttributes.of({class:"cm-lineWrapping"});Z.announce=fe.define();var CR=4096,G0={},fu=class t{constructor(e,a,o,r,n,s){this.from=e,this.to=a,this.dir=o,this.isolates=r,this.fresh=n,this.order=s}static update(e,a){if(a.empty&&!e.some(n=>n.fresh))return e;let o=[],r=e.length?e[e.length-1].dir:ke.LTR;for(let n=Math.max(0,e.length-10);n<e.length;n++){let s=e[n];s.dir==r&&!a.touchesRange(s.from,s.to)&&o.push(new t(a.mapPos(s.from,1),a.mapPos(s.to,-1),s.dir,s.isolates,!1,s.order))}return o}};function $0(t,e,a){for(let o=t.state.facet(e),r=o.length-1;r>=0;r--){let n=o[r],s=typeof n=="function"?n(t):n;s&&Wh(s,a)}return a}var vR=Q.mac?"mac":Q.windows?"win":Q.linux?"linux":"key";function SR(t,e){let a=t.split(/-(?!$)/),o=a[a.length-1];o=="Space"&&(o=" ");let r,n,s,i;for(let l=0;l<a.length-1;++l){let u=a[l];if(/^(cmd|meta|m)$/i.test(u))i=!0;else if(/^a(lt)?$/i.test(u))r=!0;else if(/^(c|ctrl|control)$/i.test(u))n=!0;else if(/^s(hift)?$/i.test(u))s=!0;else if(/^mod$/i.test(u))e=="mac"?i=!0:n=!0;else throw new Error("Unrecognized modifier name: "+u)}return r&&(o="Alt-"+o),n&&(o="Ctrl-"+o),i&&(o="Meta-"+o),s&&(o="Shift-"+o),o}function Kl(t,e,a){return e.altKey&&(t="Alt-"+t),e.ctrlKey&&(t="Ctrl-"+t),e.metaKey&&(t="Meta-"+t),a!==!1&&e.shiftKey&&(t="Shift-"+t),t}var IR=Jt.default(Z.domEventHandlers({keydown(t,e){return Kb($b(e.state),t,e,"editor")}})),Rr=Y.define({enables:IR}),X0=new WeakMap;function $b(t){let e=t.facet(Rr),a=X0.get(e);return a||X0.set(e,a=AR(e.reduce((o,r)=>o.concat(r),[]))),a}function Xb(t,e,a){return Kb($b(t.state),e,t,a)}var Oo=null,kR=4e3;function AR(t,e=vR){let a=Object.create(null),o=Object.create(null),r=(s,i)=>{let l=o[s];if(l==null)o[s]=i;else if(l!=i)throw new Error("Key binding "+s+" is used both as a regular binding and as a multi-stroke prefix")},n=(s,i,l,u,d)=>{var c,f;let h=a[s]||(a[s]=Object.create(null)),p=i.split(/ (?!$)/).map(x=>SR(x,e));for(let x=1;x<p.length;x++){let y=p.slice(0,x).join(" ");r(y,!0),h[y]||(h[y]={preventDefault:!0,stopPropagation:!1,run:[b=>{let C=Oo={view:b,prefix:y,scope:s};return setTimeout(()=>{Oo==C&&(Oo=null)},kR),!0}]})}let m=p.join(" ");r(m,!1);let g=h[m]||(h[m]={preventDefault:!1,stopPropagation:!1,run:((f=(c=h._any)===null||c===void 0?void 0:c.run)===null||f===void 0?void 0:f.slice())||[]});l&&g.run.push(l),u&&(g.preventDefault=!0),d&&(g.stopPropagation=!0)};for(let s of t){let i=s.scope?s.scope.split(" "):["editor"];if(s.any)for(let u of i){let d=a[u]||(a[u]=Object.create(null));d._any||(d._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:c}=s;for(let f in d)d[f].run.push(h=>c(h,Nh))}let l=s[e]||s.key;if(l)for(let u of i)n(u,l,s.run,s.preventDefault,s.stopPropagation),s.shift&&n(u,"Shift-"+l,s.shift,s.preventDefault,s.stopPropagation)}return a}var Nh=null;function Kb(t,e,a,o){Nh=e;let r=w0(e),n=_t(r,0),s=sa(n)==r.length&&r!=" ",i="",l=!1,u=!1,d=!1;Oo&&Oo.view==a&&Oo.scope==o&&(i=Oo.prefix+" ",Ob.indexOf(e.keyCode)<0&&(u=!0,Oo=null));let c=new Set,f=g=>{if(g){for(let x of g.run)if(!c.has(x)&&(c.add(x),x(a)))return g.stopPropagation&&(d=!0),!0;g.preventDefault&&(g.stopPropagation&&(d=!0),u=!0)}return!1},h=t[o],p,m;return h&&(f(h[i+Kl(r,e,!s)])?l=!0:s&&(e.altKey||e.metaKey||e.ctrlKey)&&!(Q.windows&&e.ctrlKey&&e.altKey)&&!(Q.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=po[e.keyCode])&&p!=r?(f(h[i+Kl(p,e,!0)])||e.shiftKey&&(m=An[e.keyCode])!=r&&m!=p&&f(h[i+Kl(m,e,!1)]))&&(l=!0):s&&e.shiftKey&&f(h[i+Kl(r,e,!0)])&&(l=!0),!l&&f(h._any)&&(l=!0)),u&&(l=!0),l&&d&&e.stopPropagation(),Nh=null,l}var kr=class t{constructor(e,a,o,r,n){this.className=e,this.left=a,this.top=o,this.width=r,this.height=n}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,a){return a.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,a,o){if(o.empty){let r=e.coordsAtPos(o.head,o.assoc||1);if(!r)return[];let n=jb(e);return[new t(a,r.left-n.left,r.top-n.top,null,r.bottom-r.top)]}else return MR(e,a,o)}};function jb(t){let e=t.scrollDOM.getBoundingClientRect();return{left:(t.textDirection==ke.LTR?e.left:e.right-t.scrollDOM.clientWidth*t.scaleX)-t.scrollDOM.scrollLeft*t.scaleX,top:e.top-t.scrollDOM.scrollTop*t.scaleY}}function K0(t,e,a,o){let r=t.coordsAtPos(e,a*2);if(!r)return o;let n=t.dom.getBoundingClientRect(),s=(r.top+r.bottom)/2,i=t.posAtCoords({x:n.left+1,y:s}),l=t.posAtCoords({x:n.right-1,y:s});return i==null||l==null?o:{from:Math.max(o.from,Math.min(i,l)),to:Math.min(o.to,Math.max(i,l))}}function MR(t,e,a){if(a.to<=t.viewport.from||a.from>=t.viewport.to)return[];let o=Math.max(a.from,t.viewport.from),r=Math.min(a.to,t.viewport.to),n=t.textDirection==ke.LTR,s=t.contentDOM,i=s.getBoundingClientRect(),l=jb(t),u=s.querySelector(".cm-line"),d=u&&window.getComputedStyle(u),c=i.left+(d?parseInt(d.paddingLeft)+Math.min(0,parseInt(d.textIndent)):0),f=i.right-(d?parseInt(d.paddingRight):0),h=xh(t,o,1),p=xh(t,r,-1),m=h.type==gt.Text?h:null,g=p.type==gt.Text?p:null;if(m&&(t.lineWrapping||h.widgetLineBreaks)&&(m=K0(t,o,1,m)),g&&(t.lineWrapping||p.widgetLineBreaks)&&(g=K0(t,r,-1,g)),m&&g&&m.from==g.from&&m.to==g.to)return y(b(a.from,a.to,m));{let I=m?b(a.from,null,m):C(h,!1),v=g?b(null,a.to,g):C(p,!0),L=[];return(m||h).to<(g||p).from-(m&&g?1:0)||h.widgetLineBreaks>1&&I.bottom+t.defaultLineHeight/2<v.top?L.push(x(c,I.bottom,f,v.top)):I.bottom<v.top&&t.elementAtHeight((I.bottom+v.top)/2).type==gt.Text&&(I.bottom=v.top=(I.bottom+v.top)/2),y(I).concat(L).concat(y(v))}function x(I,v,L,S){return new kr(e,I-l.left,v-l.top,Math.max(0,L-I),S-v)}function y({top:I,bottom:v,horizontal:L}){let S=[];for(let k=0;k<L.length;k+=2)S.push(x(L[k],I,L[k+1],v));return S}function b(I,v,L){let S=1e9,k=-1e9,z=[];function A(M,T,R,E,q){let B=t.coordsAtPos(M,M==L.to?-2:2),D=t.coordsAtPos(R,R==L.from?2:-2);!B||!D||(S=Math.min(B.top,D.top,S),k=Math.max(B.bottom,D.bottom,k),q==ke.LTR?z.push(n&&T?c:B.left,n&&E?f:D.right):z.push(!n&&E?c:D.left,!n&&T?f:B.right))}let P=I??L.from,H=v??L.to;for(let M of t.visibleRanges)if(M.to>P&&M.from<H)for(let T=Math.max(M.from,P),R=Math.min(M.to,H);;){let E=t.state.doc.lineAt(T);for(let q of t.bidiSpans(E)){let B=q.from+E.from,D=q.to+E.from;if(B>=R)break;D>T&&A(Math.max(B,T),I==null&&B<=P,Math.min(D,R),v==null&&D>=H,q.dir)}if(T=E.to+1,T>=R)break}return z.length==0&&A(P,I==null,H,v==null,t.textDirection),{top:S,bottom:k,horizontal:z}}function C(I,v){let L=i.top+(v?I.top:I.bottom);return{top:L,bottom:L,horizontal:[]}}}function PR(t,e){return t.constructor==e.constructor&&t.eq(e)}var _h=class{constructor(e,a){this.view=e,this.layer=a,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),a.above&&this.dom.classList.add("cm-layer-above"),a.class&&this.dom.classList.add(a.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),a.mount&&a.mount(this.dom,e)}update(e){e.startState.facet(Ql)!=e.state.facet(Ql)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let a=0,o=e.facet(Ql);for(;a<o.length&&o[a]!=this.layer;)a++;this.dom.style.zIndex=String((this.layer.above?150:-1)-a)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:a}=this.view;(e!=this.scaleX||a!=this.scaleY)&&(this.scaleX=e,this.scaleY=a,this.dom.style.transform=`scale(${1/e}, ${1/a})`)}draw(e){if(e.length!=this.drawn.length||e.some((a,o)=>!PR(a,this.drawn[o]))){let a=this.dom.firstChild,o=0;for(let r of e)r.update&&a&&r.constructor&&this.drawn[o].constructor&&r.update(a,this.drawn[o])?(a=a.nextSibling,o++):this.dom.insertBefore(r.draw(),a);for(;a;){let r=a.nextSibling;a.remove(),a=r}this.drawn=e,Q.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},Ql=Y.define();function Zb(t){return[Qe.define(e=>new _h(e,t)),Ql.of(t)]}var zn=Y.define({combine(t){return Ht(t,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,a)=>Math.min(e,a),drawRangeCursor:(e,a)=>e||a})}});function Yb(t={}){return[zn.of(t),DR,RR,TR,Cb.of(!0)]}function Jb(t){return t.startState.facet(zn)!=t.state.facet(zn)}var DR=Zb({above:!0,markers(t){let{state:e}=t,a=e.facet(zn),o=[];for(let r of e.selection.ranges){let n=r==e.selection.main;if(r.empty||a.drawRangeCursor&&!(n&&Q.ios&&a.iosSelectionHandles)){let s=n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=r.empty?r:X.cursor(r.head,r.assoc);for(let l of kr.forRange(t,s,i))o.push(l)}}return o},update(t,e){t.transactions.some(o=>o.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let a=Jb(t);return a&&j0(t.state,e),t.docChanged||t.selectionSet||a},mount(t,e){j0(e.state,t)},class:"cm-cursorLayer"});function j0(t,e){e.style.animationDuration=t.facet(zn).cursorBlinkRate+"ms"}var RR=Zb({above:!1,markers(t){let e=[],{main:a,ranges:o}=t.state.selection;for(let r of o)if(!r.empty)for(let n of kr.forRange(t,"cm-selectionBackground",r))e.push(n);if(Q.ios&&!a.empty&&t.state.facet(zn).iosSelectionHandles){for(let r of kr.forRange(t,"cm-selectionHandle cm-selectionHandle-start",X.cursor(a.from,1)))e.push(r);for(let r of kr.forRange(t,"cm-selectionHandle cm-selectionHandle-end",X.cursor(a.to,1)))e.push(r)}return e},update(t,e){return t.docChanged||t.selectionSet||t.viewportChanged||Jb(t)},class:"cm-selectionLayer"}),TR=Jt.highest(Z.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:"transparent !important"},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}}));var uG=/x/.unicode!=null?"gu":"g";function Qb(){return BR}var ER=me.line({class:"cm-activeLine"}),BR=Qe.fromClass(class{constructor(t){this.decorations=this.getDeco(t)}update(t){(t.docChanged||t.selectionSet)&&(this.decorations=this.getDeco(t.view))}getDeco(t){let e=-1,a=[];for(let o of t.state.selection.ranges){let r=t.lineBlockAt(o.head);r.from>e&&(a.push(ER.range(r.from)),e=r.from)}return me.set(a)}},{decorations:t=>t.decorations});var jl="-10000px",hu=class{constructor(e,a,o,r){this.facet=a,this.createTooltipView=o,this.removeTooltipView=r,this.input=e.state.facet(a),this.tooltips=this.input.filter(s=>s);let n=null;this.tooltipViews=this.tooltips.map(s=>n=o(s,n))}update(e,a){var o;let r=e.state.facet(this.facet),n=r.filter(l=>l);if(r===this.input){for(let l of this.tooltipViews)l.update&&l.update(e);return!1}let s=[],i=a?[]:null;for(let l=0;l<n.length;l++){let u=n[l],d=-1;if(u){for(let c=0;c<this.tooltips.length;c++){let f=this.tooltips[c];f&&f.create==u.create&&(d=c)}if(d<0)s[l]=this.createTooltipView(u,l?s[l-1]:null),i&&(i[l]=!!u.above);else{let c=s[l]=this.tooltipViews[d];i&&(i[l]=a[d]),c.update&&c.update(e)}}}for(let l of this.tooltipViews)s.indexOf(l)<0&&(this.removeTooltipView(l),(o=l.destroy)===null||o===void 0||o.call(l));return a&&(i.forEach((l,u)=>a[u]=l),a.length=i.length),this.input=r,this.tooltips=n,this.tooltipViews=s,!0}};function FR(t){let e=t.dom.ownerDocument.documentElement;return{top:0,left:0,bottom:e.clientHeight,right:e.clientWidth}}var jf=Y.define({combine:t=>{var e,a,o;return{position:Q.ios?"absolute":((e=t.find(r=>r.position))===null||e===void 0?void 0:e.position)||"fixed",parent:((a=t.find(r=>r.parent))===null||a===void 0?void 0:a.parent)||null,tooltipSpace:((o=t.find(r=>r.tooltipSpace))===null||o===void 0?void 0:o.tooltipSpace)||FR}}}),Z0=new WeakMap,Jh=Qe.fromClass(class{constructor(t){this.view=t,this.above=[],this.inView=!0,this.madeAbsolute=!1,this.lastTransaction=0,this.measureTimeout=-1;let e=t.state.facet(jf);this.position=e.position,this.parent=e.parent,this.classes=t.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(()=>this.measureSoon()):null,this.manager=new hu(t,qn,(a,o)=>this.createTooltip(a,o),a=>{this.resizeObserver&&this.resizeObserver.unobserve(a.dom),a.dom.remove()}),this.above=this.manager.tooltips.map(a=>!!a.above),this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(a=>{Date.now()>this.lastTransaction-50&&a.length>0&&a[a.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),t.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this)),this.maybeMeasure()}createContainer(){this.parent?(this.container=document.createElement("div"),this.container.style.position="relative",this.container.className=this.view.themeClasses,this.parent.appendChild(this.container)):this.container=this.view.dom}observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();for(let t of this.manager.tooltipViews)this.intersectionObserver.observe(t.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(t){t.transactions.length&&(this.lastTransaction=Date.now());let e=this.manager.update(t,this.above);e&&this.observeIntersection();let a=e||t.geometryChanged,o=t.state.facet(jf);if(o.position!=this.position&&!this.madeAbsolute){this.position=o.position;for(let r of this.manager.tooltipViews)r.dom.style.position=this.position;a=!0}if(o.parent!=this.parent){this.parent&&this.container.remove(),this.parent=o.parent,this.createContainer();for(let r of this.manager.tooltipViews)this.container.appendChild(r.dom);a=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);a&&this.maybeMeasure()}createTooltip(t,e){let a=t.create(this.view),o=e?e.dom:null;if(a.dom.classList.add("cm-tooltip"),t.arrow&&!a.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let r=document.createElement("div");r.className="cm-tooltip-arrow",a.dom.appendChild(r)}return a.dom.style.position=this.position,a.dom.style.top=jl,a.dom.style.left="0px",this.container.insertBefore(a.dom,o),a.mount&&a.mount(this.view),this.resizeObserver&&this.resizeObserver.observe(a.dom),a}destroy(){var t,e,a;this.view.win.removeEventListener("resize",this.measureSoon);for(let o of this.manager.tooltipViews)o.dom.remove(),(t=o.destroy)===null||t===void 0||t.call(o);this.parent&&this.container.remove(),(e=this.resizeObserver)===null||e===void 0||e.disconnect(),(a=this.intersectionObserver)===null||a===void 0||a.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let t=1,e=1,a=!1;if(this.position=="fixed"&&this.manager.tooltipViews.length){let{dom:n}=this.manager.tooltipViews[0];if(Q.safari){let s=n.getBoundingClientRect();a=Math.abs(s.top+1e4)>1||Math.abs(s.left)>1}else a=!!n.offsetParent&&n.offsetParent!=this.container.ownerDocument.body}if(a||this.position=="absolute")if(this.parent){let n=this.parent.getBoundingClientRect();n.width&&n.height&&(t=n.width/this.parent.offsetWidth,e=n.height/this.parent.offsetHeight)}else({scaleX:t,scaleY:e}=this.view.viewState);let o=this.view.scrollDOM.getBoundingClientRect(),r=Zh(this.view);return{visible:{left:o.left+r.left,top:o.top+r.top,right:o.right-r.right,bottom:o.bottom-r.bottom},parent:this.parent?this.container.getBoundingClientRect():this.view.dom.getBoundingClientRect(),pos:this.manager.tooltips.map((n,s)=>{let i=this.manager.tooltipViews[s];return i.getCoords?i.getCoords(n.pos):this.view.coordsAtPos(n.pos)}),size:this.manager.tooltipViews.map(({dom:n})=>n.getBoundingClientRect()),space:this.view.state.facet(jf).tooltipSpace(this.view),scaleX:t,scaleY:e,makeAbsolute:a}}writeMeasure(t){var e;if(t.makeAbsolute){this.madeAbsolute=!0,this.position="absolute";for(let i of this.manager.tooltipViews)i.dom.style.position="absolute"}let{visible:a,space:o,scaleX:r,scaleY:n}=t,s=[];for(let i=0;i<this.manager.tooltips.length;i++){let l=this.manager.tooltips[i],u=this.manager.tooltipViews[i],{dom:d}=u,c=t.pos[i],f=t.size[i];if(!c||l.clip!==!1&&(c.bottom<=Math.max(a.top,o.top)||c.top>=Math.min(a.bottom,o.bottom)||c.right<Math.max(a.left,o.left)-.1||c.left>Math.min(a.right,o.right)+.1)){d.style.top=jl;continue}let h=l.arrow?u.dom.querySelector(".cm-tooltip-arrow"):null,p=h?7:0,m=f.right-f.left,g=(e=Z0.get(u))!==null&&e!==void 0?e:f.bottom-f.top,x=u.offset||NR,y=this.view.textDirection==ke.LTR,b=f.width>o.right-o.left?y?o.left:o.right-f.width:y?Math.max(o.left,Math.min(c.left-(h?14:0)+x.x,o.right-m)):Math.min(Math.max(o.left,c.left-m+(h?14:0)-x.x),o.right-m),C=this.above[i];!l.strictSide&&(C?c.top-g-p-x.y<o.top:c.bottom+g+p+x.y>o.bottom)&&C==o.bottom-c.bottom>c.top-o.top&&(C=this.above[i]=!C);let I=(C?c.top-o.top:o.bottom-c.bottom)-p;if(I<g&&u.resize!==!1){if(I<this.view.defaultLineHeight){d.style.top=jl;continue}Z0.set(u,g),d.style.height=(g=I)/n+"px"}else d.style.height&&(d.style.height="");let v=C?c.top-g-p-x.y:c.bottom+p+x.y,L=b+m;if(u.overlap!==!0)for(let S of s)S.left<L&&S.right>b&&S.top<v+g&&S.bottom>v&&(v=C?S.top-g-2-p:S.bottom+p+2);if(this.position=="absolute"?(d.style.top=(v-t.parent.top)/n+"px",Y0(d,(b-t.parent.left)/r)):(d.style.top=v/n+"px",Y0(d,b/r)),h){let S=c.left+(y?x.x:-x.x)-(b+14-7);h.style.left=S/r+"px"}u.overlap!==!0&&s.push({left:b,top:v,right:L,bottom:v+g}),d.classList.toggle("cm-tooltip-above",C),d.classList.toggle("cm-tooltip-below",!C),u.positioned&&u.positioned(t.space)}}maybeMeasure(){if(this.manager.tooltips.length&&(this.view.inView&&this.view.requestMeasure(this.measureReq),this.inView!=this.view.inView&&(this.inView=this.view.inView,!this.inView)))for(let t of this.manager.tooltipViews)t.dom.style.top=jl}},{eventObservers:{scroll(){this.maybeMeasure()}}});function Y0(t,e){let a=parseInt(t.style.left,10);(isNaN(a)||Math.abs(e-a)>1)&&(t.style.left=e+"px")}var OR=Z.baseTheme({".cm-tooltip":{zIndex:500,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"7px",width:"14px",position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"7px solid transparent",borderRight:"7px solid transparent"},".cm-tooltip-above &":{bottom:"-7px","&:before":{borderTop:"7px solid #bbb"},"&:after":{borderTop:"7px solid #f5f5f5",bottom:"1px"}},".cm-tooltip-below &":{top:"-7px","&:before":{borderBottom:"7px solid #bbb"},"&:after":{borderBottom:"7px solid #f5f5f5",top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}}),NR={x:0,y:0},qn=Y.define({enables:[Jh,OR]}),pu=Y.define({combine:t=>t.reduce((e,a)=>e.concat(a),[])}),mu=class t{static create(e){return new t(e)}constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new hu(e,pu,(a,o)=>this.createHostedView(a,o),a=>a.dom.remove())}createHostedView(e,a){let o=e.create(this.view);return o.dom.classList.add("cm-tooltip-section"),this.dom.insertBefore(o.dom,a?a.dom.nextSibling:this.dom.firstChild),this.mounted&&o.mount&&o.mount(this.view),o}mount(e){for(let a of this.manager.tooltipViews)a.mount&&a.mount(e);this.mounted=!0}positioned(e){for(let a of this.manager.tooltipViews)a.positioned&&a.positioned(e)}update(e){this.manager.update(e)}destroy(){var e;for(let a of this.manager.tooltipViews)(e=a.destroy)===null||e===void 0||e.call(a)}passProp(e){let a;for(let o of this.manager.tooltipViews){let r=o[e];if(r!==void 0){if(a===void 0)a=r;else if(a!==r)return}}return a}get offset(){return this.passProp("offset")}get getCoords(){return this.passProp("getCoords")}get overlap(){return this.passProp("overlap")}get resize(){return this.passProp("resize")}},_R=qn.compute([pu],t=>{let e=t.facet(pu);return e.length===0?null:{pos:Math.min(...e.map(a=>a.pos)),end:Math.max(...e.map(a=>{var o;return(o=a.end)!==null&&o!==void 0?o:a.pos})),create:mu.create,above:e[0].above,arrow:e.some(a=>a.arrow)}}),HR=Y.define(),Hh=class{constructor(e,a,o,r,n,s){this.view=e,this.source=a,this.field=o,this.locked=r,this.setHover=n,this.hoverTime=s,this.hoverTimeout=-1,this.restartTimeout=-1,this.pending=null,this.lastMove={x:0,y:0,target:e.dom,time:0},this.checkHover=this.checkHover.bind(this),e.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this)),e.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this))}update(e){this.pending&&(this.pending=null,clearTimeout(this.restartTimeout),this.restartTimeout=setTimeout(()=>this.startHover(),20))}get active(){return this.view.state.field(this.field)}checkHover(){if(this.hoverTimeout=-1,this.active.length)return;let e=Date.now()-this.lastMove.time;e<this.hoverTime?this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-e):this.startHover()}startHover(){clearTimeout(this.restartTimeout);let{view:e,lastMove:a}=this,o=e.docView.tile.nearest(a.target);if(!o)return;let r,n=1;if(o.isWidget())r=o.posAtStart;else{if(r=e.posAtCoords(a),r==null)return;let s=e.coordsAtPos(r);if(!s||a.y<s.top||a.y>s.bottom||a.x<s.left-e.defaultCharacterWidth||a.x>s.right+e.defaultCharacterWidth)return;let i=e.bidiSpans(e.state.doc.lineAt(r)).find(u=>u.from<=r&&u.to>=r),l=i&&i.dir==ke.RTL?-1:1;n=a.x<s.left?-l:l}this.activateHover(e,r,n)}activateHover(e,a,o,r){let n=this.source(e,a,o),s=i=>{if(i&&!(Array.isArray(i)&&!i.length)){let l=Array.isArray(i)?i:[i];r&&this.locked.set(l,r),e.dispatch({effects:this.setHover.of(l)})}};if(n&&"then"in n){let i=this.pending={pos:a};n.then(l=>{this.pending==i&&(this.pending=null,s(l))},l=>mt(e.state,l,"hover tooltip"))}else s(n)}get tooltip(){let e=this.view.plugin(Jh),a=e?e.manager.tooltips.findIndex(o=>o.create==mu.create):-1;return a>-1?e.manager.tooltipViews[a]:null}mousemove(e){var a,o;this.lastMove={x:e.clientX,y:e.clientY,target:e.target,time:Date.now()},this.hoverTimeout<0&&(this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime));let{active:r,tooltip:n}=this;if(r.length&&!this.locked.has(r)&&n&&!zR(n.dom,e)||this.pending){let{pos:s}=r[0]||this.pending,i=(o=(a=r[0])===null||a===void 0?void 0:a.end)!==null&&o!==void 0?o:s;(s==i?this.view.posAtCoords(this.lastMove)!=s:!qR(this.view,s,i,e.clientX,e.clientY))&&(this.view.dispatch({effects:this.setHover.of([])}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1;let{active:a}=this;if(a.length&&!this.locked.has(a)){let{tooltip:o}=this;o&&o.dom.contains(e.relatedTarget)?this.watchTooltipLeave(o.dom):this.view.dispatch({effects:this.setHover.of([])})}}watchTooltipLeave(e){let a=o=>{e.removeEventListener("mouseleave",a);let{active:r}=this;r.length&&!this.locked.has(r)&&!this.view.dom.contains(o.relatedTarget)&&this.view.dispatch({effects:this.setHover.of([])})};e.addEventListener("mouseleave",a)}destroy(){clearTimeout(this.hoverTimeout),clearTimeout(this.restartTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}},Zl=4;function zR(t,e){let{left:a,right:o,top:r,bottom:n}=t.getBoundingClientRect(),s;if(s=t.querySelector(".cm-tooltip-arrow")){let i=s.getBoundingClientRect();r=Math.min(i.top,r),n=Math.max(i.bottom,n)}return e.clientX>=a-Zl&&e.clientX<=o+Zl&&e.clientY>=r-Zl&&e.clientY<=n+Zl}function qR(t,e,a,o,r,n){let s=t.scrollDOM.getBoundingClientRect(),i=t.documentTop+t.documentPadding.top+t.contentHeight;if(s.left>o||s.right<o||s.top>r||Math.min(s.bottom,i)<r)return!1;let l=t.posAtCoords({x:o,y:r},!1);return l>=e&&l<=a}function Lu(t,e={}){let a=fe.define(),o=new WeakMap,r=$e.define({create(){return[]},update(s,i){let l=o.get(s);if(s.length&&(e.hideOnChange&&(i.docChanged||i.selection)?s=[]:l&&l(i)?s=[]:e.hideOn&&(s=s.filter(u=>!e.hideOn(i,u)))),i.docChanged&&s.length){let u=[];for(let d of s){let c=i.changes.mapPos(d.pos,-1,pt.TrackDel);if(c!=null){let f=Object.assign(Object.create(null),d);f.pos=c,f.end!=null&&(f.end=i.changes.mapPos(f.end)),u.push(f)}}s=u}for(let u of i.effects)u.is(a)&&(s=u.value,l=void 0),(u.is(UR)&&!u.value||u.value==r)&&(s=[]);return s.length&&l&&o.set(s,l),s},provide:s=>pu.from(s)}),n=Qe.define(s=>new Hh(s,t,r,o,a,e.hoverTime||300));return{active:r,extension:[r,n,HR.of(n),_R]}}function Qh(t,e){let a=t.plugin(Jh);if(!a)return null;let o=a.manager.tooltips.indexOf(e);return o<0?null:a.manager.tooltipViews[o]}var UR=fe.define();var J0=Y.define({combine(t){let e,a;for(let o of t)e=e||o.topContainer,a=a||o.bottomContainer;return{topContainer:e,bottomContainer:a}}});function Cu(t,e){let a=t.plugin(ew),o=a?a.specs.indexOf(e):-1;return o>-1?a.panels[o]:null}var ew=Qe.fromClass(class{constructor(t){this.input=t.state.facet(Dr),this.specs=this.input.filter(a=>a),this.panels=this.specs.map(a=>a(t));let e=t.state.facet(J0);this.top=new Rn(t,!0,e.topContainer),this.bottom=new Rn(t,!1,e.bottomContainer),this.top.sync(this.panels.filter(a=>a.top)),this.bottom.sync(this.panels.filter(a=>!a.top));for(let a of this.panels)a.dom.classList.add("cm-panel"),a.mount&&a.mount()}update(t){let e=t.state.facet(J0);this.top.container!=e.topContainer&&(this.top.sync([]),this.top=new Rn(t.view,!0,e.topContainer)),this.bottom.container!=e.bottomContainer&&(this.bottom.sync([]),this.bottom=new Rn(t.view,!1,e.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let a=t.state.facet(Dr);if(a!=this.input){let o=a.filter(l=>l),r=[],n=[],s=[],i=[];for(let l of o){let u=this.specs.indexOf(l),d;u<0?(d=l(t.view),i.push(d)):(d=this.panels[u],d.update&&d.update(t)),r.push(d),(d.top?n:s).push(d)}this.specs=o,this.panels=r,this.top.sync(n),this.bottom.sync(s);for(let l of i)l.dom.classList.add("cm-panel"),l.mount&&l.mount()}else for(let o of this.panels)o.update&&o.update(t)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:t=>Z.scrollMargins.of(e=>{let a=e.plugin(t);return a&&{top:a.top.scrollMargin(),bottom:a.bottom.scrollMargin()}})}),Rn=class{constructor(e,a,o){this.view=e,this.top=a,this.container=o,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let a of this.panels)a.destroy&&e.indexOf(a)<0&&a.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(this.panels.length==0){this.dom&&(this.dom.remove(),this.dom=void 0);return}if(!this.dom){this.dom=document.createElement("div"),this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom",this.dom.style[this.top?"top":"bottom"]="0";let a=this.container||this.view.dom;a.insertBefore(this.dom,this.top?a.firstChild:null)}let e=this.dom.firstChild;for(let a of this.panels)if(a.dom.parentNode==this.dom){for(;e!=a.dom;)e=Q0(e);e=e.nextSibling}else this.dom.insertBefore(a.dom,e);for(;e;)e=Q0(e)}scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top)}syncClasses(){if(!(!this.container||this.classes==this.view.themeClasses)){for(let e of this.classes.split(" "))e&&this.container.classList.remove(e);for(let e of(this.classes=this.view.themeClasses).split(" "))e&&this.container.classList.add(e)}}};function Q0(t){let e=t.nextSibling;return t.remove(),e}var Dr=Y.define({enables:ew});function tw(t,e){let a,o=new Promise(s=>a=s),r=s=>WR(s,e,a);t.state.field(Zf,!1)?t.dispatch({effects:aw.of(r)}):t.dispatch({effects:fe.appendConfig.of(Zf.init(()=>[r]))});let n=ow.of(r);return{close:n,result:o.then(s=>((t.win.queueMicrotask||(l=>t.win.setTimeout(l,10)))(()=>{t.state.field(Zf).indexOf(r)>-1&&t.dispatch({effects:n})}),s))}}var Zf=$e.define({create(){return[]},update(t,e){for(let a of e.effects)a.is(aw)?t=[a.value].concat(t):a.is(ow)&&(t=t.filter(o=>o!=a.value));return t},provide:t=>Dr.computeN([t],e=>e.field(t))}),aw=fe.define(),ow=fe.define();function WR(t,e,a){let o=e.content?e.content(t,()=>s(null)):null;if(!o){if(o=ve("form"),e.input){let i=ve("input",e.input);/^(text|password|number|email|tel|url)$/.test(i.type)&&i.classList.add("cm-textfield"),i.name||(i.name="input"),o.appendChild(ve("label",(e.label||"")+": ",i))}else o.appendChild(document.createTextNode(e.label||""));o.appendChild(document.createTextNode(" ")),o.appendChild(ve("button",{class:"cm-button",type:"submit"},e.submitLabel||"OK"))}let r=o.nodeName=="FORM"?[o]:o.querySelectorAll("form");for(let i=0;i<r.length;i++){let l=r[i];l.addEventListener("keydown",u=>{u.keyCode==27?(u.preventDefault(),s(null)):u.keyCode==13&&(u.preventDefault(),s(l))}),l.addEventListener("submit",u=>{u.preventDefault(),s(l)})}let n=ve("div",o,ve("button",{onclick:()=>s(null),"aria-label":t.state.phrase("close"),class:"cm-dialog-close",type:"button"},["\xD7"]));e.class&&(n.className=e.class),n.classList.add("cm-dialog");function s(i){n.contains(n.ownerDocument.activeElement)&&t.focus(),a(i)}return{dom:n,top:e.top,mount:()=>{if(e.focus){let i;typeof e.focus=="string"?i=o.querySelector(e.focus):i=o.querySelector("input")||o.querySelector("button"),i&&"select"in i?i.select():i&&"focus"in i&&i.focus()}}}}var ca=class extends na{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};ca.prototype.elementClass="";ca.prototype.toDOM=void 0;ca.prototype.mapMode=pt.TrackBefore;ca.prototype.startSide=ca.prototype.endSide=-1;ca.prototype.point=!0;var Yf=Y.define(),VR=Y.define(),GR={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Le.empty,lineMarker:()=>null,widgetMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{},side:"before"},Gs=Y.define();function ep(t){return[rw(),Gs.of({...GR,...t})]}var zh=Y.define({combine:t=>t.some(e=>e)});function rw(t){let e=[$R];return t&&t.fixed===!1&&e.push(zh.of(!0)),e}var $R=Qe.fromClass(class{constructor(t){this.view=t,this.domAfter=null,this.prevViewport=t.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=t.state.facet(Gs).map(e=>new gu(t,e)),this.fixed=!t.state.facet(zh);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),t.scrollDOM.insertBefore(this.dom,t.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(t){if(this.updateGutters(t)){let e=this.prevViewport,a=t.view.viewport,o=Math.min(e.to,a.to)-Math.max(e.from,a.from);this.syncGutters(o<(a.to-a.from)*.8)}if(t.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(zh)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=t.view.viewport}syncGutters(t){let e=this.dom.nextSibling;t&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let a=Le.iter(this.view.state.facet(Yf),this.view.viewport.from),o=[],r=this.gutters.map(n=>new Uh(n,this.view.viewport,-this.view.documentPadding.top));for(let n of this.view.viewportLineBlocks)if(o.length&&(o=[]),Array.isArray(n.type)){let s=!0;for(let i of n.type)if(i.type==gt.Text&&s){qh(a,o,i.from);for(let l of r)l.line(this.view,i,o);s=!1}else if(i.widget)for(let l of r)l.widget(this.view,i)}else if(n.type==gt.Text){qh(a,o,n.from);for(let s of r)s.line(this.view,n,o)}else if(n.widget)for(let s of r)s.widget(this.view,n);for(let n of r)n.finish();t&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(t){let e=t.startState.facet(Gs),a=t.state.facet(Gs),o=t.docChanged||t.heightChanged||t.viewportChanged||!Le.eq(t.startState.facet(Yf),t.state.facet(Yf),t.view.viewport.from,t.view.viewport.to);if(e==a)for(let r of this.gutters)r.update(t)&&(o=!0);else{o=!0;let r=[];for(let n of a){let s=e.indexOf(n);s<0?r.push(new gu(this.view,n)):(this.gutters[s].update(t),r.push(this.gutters[s]))}for(let n of this.gutters)n.dom.remove(),r.indexOf(n)<0&&n.destroy();for(let n of r)n.config.side=="after"?this.getDOMAfter().appendChild(n.dom):this.dom.appendChild(n.dom);this.gutters=r}return o}destroy(){for(let t of this.gutters)t.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:t=>Z.scrollMargins.of(e=>{let a=e.plugin(t);if(!a||a.gutters.length==0||!a.fixed)return null;let o=a.dom.offsetWidth*e.scaleX,r=a.domAfter?a.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ke.LTR?{left:o,right:r}:{right:o,left:r}})});function eb(t){return Array.isArray(t)?t:[t]}function qh(t,e,a){for(;t.value&&t.from<=a;)t.from==a&&e.push(t.value),t.next()}var Uh=class{constructor(e,a,o){this.gutter=e,this.height=o,this.i=0,this.cursor=Le.iter(e.markers,a.from)}addElement(e,a,o){let{gutter:r}=this,n=(a.top-this.height)/e.scaleY,s=a.height/e.scaleY;if(this.i==r.elements.length){let i=new xu(e,s,n,o);r.elements.push(i),r.dom.appendChild(i.dom)}else r.elements[this.i].update(e,s,n,o);this.height=a.bottom,this.i++}line(e,a,o){let r=[];qh(this.cursor,r,a.from),o.length&&(r=r.concat(o));let n=this.gutter.config.lineMarker(e,a,r);n&&r.unshift(n);let s=this.gutter;r.length==0&&!s.config.renderEmptyElements||this.addElement(e,a,r)}widget(e,a){let o=this.gutter.config.widgetMarker(e,a.widget,a),r=o?[o]:null;for(let n of e.state.facet(VR)){let s=n(e,a.widget,a);s&&(r||(r=[])).push(s)}r&&this.addElement(e,a,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let a=e.elements.pop();e.dom.removeChild(a.dom),a.destroy()}}},gu=class{constructor(e,a){this.view=e,this.config=a,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let o in a.domEventHandlers)this.dom.addEventListener(o,r=>{let n=r.target,s;if(n!=this.dom&&this.dom.contains(n)){for(;n.parentNode!=this.dom;)n=n.parentNode;let l=n.getBoundingClientRect();s=(l.top+l.bottom)/2}else s=r.clientY;let i=e.lineBlockAtHeight(s-e.documentTop);a.domEventHandlers[o](e,i,r)&&r.preventDefault()});this.markers=eb(a.markers(e)),a.initialSpacer&&(this.spacer=new xu(e,0,0,[a.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let a=this.markers;if(this.markers=eb(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let o=e.view.viewport;return!Le.eq(this.markers,a,o.from,o.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},xu=class{constructor(e,a,o,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,a,o,r)}update(e,a,o,r){this.height!=a&&(this.height=a,this.dom.style.height=a+"px"),this.above!=o&&(this.dom.style.marginTop=(this.above=o)?o+"px":""),XR(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,a){let o="cm-gutterElement",r=this.dom.firstChild;for(let n=0,s=0;;){let i=s,l=n<a.length?a[n++]:null,u=!1;if(l){let d=l.elementClass;d&&(o+=" "+d);for(let c=s;c<this.markers.length;c++)if(this.markers[c].compare(l)){i=c,u=!0;break}}else i=this.markers.length;for(;s<i;){let d=this.markers[s++];if(d.toDOM){d.destroy(r);let c=r.nextSibling;r.remove(),r=c}}if(!l)break;l.toDOM&&(u?r=r.nextSibling:this.dom.insertBefore(l.toDOM(e),r)),u&&s++}this.dom.className=o,this.markers=a}destroy(){this.setMarkers(null,[])}};function XR(t,e){if(t.length!=e.length)return!1;for(let a=0;a<t.length;a++)if(!t[a].compare(e[a]))return!1;return!0}var KR=Y.define(),jR=Y.define(),Tn=Y.define({combine(t){return Ht(t,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,a){let o=Object.assign({},e);for(let r in a){let n=o[r],s=a[r];o[r]=n?(i,l,u)=>n(i,l,u)||s(i,l,u):s}return o}})}}),$s=class extends ca{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function Jf(t,e){return t.state.facet(Tn).formatNumber(e,t.state)}var ZR=Gs.compute([Tn],t=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(KR)},lineMarker(e,a,o){return o.some(r=>r.toDOM)?null:new $s(Jf(e,e.state.doc.lineAt(a.from).number))},widgetMarker:(e,a,o)=>{for(let r of e.state.facet(jR)){let n=r(e,a,o);if(n)return n}return null},lineMarkerChange:e=>e.startState.facet(Tn)!=e.state.facet(Tn),initialSpacer(e){return new $s(Jf(e,tb(e.state.doc.lines)))},updateSpacer(e,a){let o=Jf(a.view,tb(a.view.state.doc.lines));return o==e.number?e:new $s(o)},domEventHandlers:t.facet(Tn).domEventHandlers,side:"before"}));function nw(t={}){return[Tn.of(t),rw(),ZR]}function tb(t){let e=9;for(;e<t;)e=e*10+9;return e}var YR=0,Js=class{constructor(e,a){this.from=e,this.to=a}},pe=class{constructor(e={}){this.id=YR++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=Dt.match(e)),a=>{let o=e(a);return o===void 0?null:[this,o]}}};pe.closedBy=new pe({deserialize:t=>t.split(" ")});pe.openedBy=new pe({deserialize:t=>t.split(" ")});pe.group=new pe({deserialize:t=>t.split(" ")});pe.isolate=new pe({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});pe.contextHash=new pe({perNode:!0});pe.lookAhead=new pe({perNode:!0});pe.mounted=new pe({perNode:!0});var Tr=class{constructor(e,a,o,r=!1){this.tree=e,this.overlay=a,this.parser=o,this.bracketed=r}static get(e){return e&&e.props&&e.props[pe.mounted.id]}},JR=Object.create(null),Dt=class t{constructor(e,a,o,r=0){this.name=e,this.props=a,this.id=o,this.flags=r}static define(e){let a=e.props&&e.props.length?Object.create(null):JR,o=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new t(e.name||"",a,e.id,o);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");a[n[0].id]=n[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let a=this.prop(pe.group);return a?a.indexOf(e)>-1:!1}return this.id==e}static match(e){let a=Object.create(null);for(let o in e)for(let r of o.split(" "))a[r]=e[o];return o=>{for(let r=o.prop(pe.group),n=-1;n<(r?r.length:0);n++){let s=a[n<0?o.name:r[n]];if(s)return s}}}};Dt.none=new Dt("",Object.create(null),0,8);var Iu=class t{constructor(e){this.types=e;for(let a=0;a<e.length;a++)if(e[a].id!=a)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let a=[];for(let o of this.types){let r=null;for(let n of e){let s=n(o);if(s){r||(r=Object.assign({},o.props));let i=s[1],l=s[0];l.combine&&l.id in r&&(i=l.combine(r[l.id],i)),r[l.id]=i}}a.push(r?new Dt(o.name,r,o.id,o.flags):o)}return new t(a)}},vu=new WeakMap,sw=new WeakMap,Xe;(function(t){t[t.ExcludeBuffers=1]="ExcludeBuffers",t[t.IncludeAnonymous=2]="IncludeAnonymous",t[t.IgnoreMounts=4]="IgnoreMounts",t[t.IgnoreOverlays=8]="IgnoreOverlays",t[t.EnterBracketed=16]="EnterBracketed"})(Xe||(Xe={}));var qe=class t{constructor(e,a,o,r,n){if(this.type=e,this.children=a,this.positions=o,this.length=r,this.props=null,n&&n.length){this.props=Object.create(null);for(let[s,i]of n)this.props[typeof s=="number"?s:s.id]=i}}toString(){let e=Tr.get(this);if(e&&!e.overlay)return e.tree.toString();let a="";for(let o of this.children){let r=o.toString();r&&(a&&(a+=","),a+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(a.length?"("+a+")":""):a}cursor(e=0){return new ti(this.topNode,e)}cursorAt(e,a=0,o=0){let r=vu.get(this)||this.topNode,n=new ti(r);return n.moveTo(e,a),vu.set(this,n._tree),n}get topNode(){return new Ga(this,0,0,null)}resolve(e,a=0){let o=Qs(vu.get(this)||this.topNode,e,a,!1);return vu.set(this,o),o}resolveInner(e,a=0){let o=Qs(sw.get(this)||this.topNode,e,a,!0);return sw.set(this,o),o}resolveStack(e,a=0){return QR(this,e,a)}iterate(e){let{enter:a,leave:o,from:r=0,to:n=this.length}=e,s=e.mode||0,i=(s&Xe.IncludeAnonymous)>0;for(let l=this.cursor(s|Xe.IncludeAnonymous);;){let u=!1;if(l.from<=n&&l.to>=r&&(!i&&l.type.isAnonymous||a(l)!==!1)){if(l.firstChild())continue;u=!0}for(;u&&o&&(i||!l.type.isAnonymous)&&o(l),!l.nextSibling();){if(!l.parent())return;u=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let a in this.props)e.push([+a,this.props[a]]);return e}balance(e={}){return this.children.length<=8?this:ip(Dt.none,this.children,this.positions,0,this.children.length,0,this.length,(a,o,r)=>new t(this.type,a,o,r,this.propValues),e.makeTree||((a,o,r)=>new t(Dt.none,a,o,r)))}static build(e){return eT(e)}};qe.empty=new qe(Dt.none,[],[],0);var tp=class t{constructor(e,a){this.buffer=e,this.index=a}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new t(this.buffer,this.index)}},zo=class t{constructor(e,a,o){this.buffer=e,this.length=a,this.set=o}get type(){return Dt.none}toString(){let e=[];for(let a=0;a<this.buffer.length;)e.push(this.childString(a)),a=this.buffer[a+3];return e.join(",")}childString(e){let a=this.buffer[e],o=this.buffer[e+3],r=this.set.types[a],n=r.name;if(/\W/.test(n)&&!r.isError&&(n=JSON.stringify(n)),e+=4,o==e)return n;let s=[];for(;e<o;)s.push(this.childString(e)),e=this.buffer[e+3];return n+"("+s.join(",")+")"}findChild(e,a,o,r,n){let{buffer:s}=this,i=-1;for(let l=e;l!=a&&!(uw(n,r,s[l+1],s[l+2])&&(i=l,o>0));l=s[l+3]);return i}slice(e,a,o){let r=this.buffer,n=new Uint16Array(a-e),s=0;for(let i=e,l=0;i<a;){n[l++]=r[i++],n[l++]=r[i++]-o;let u=n[l++]=r[i++]-o;n[l++]=r[i++]-e,s=Math.max(s,u)}return new t(n,s,this.set)}};function uw(t,e,a,o){switch(t){case-2:return a<e;case-1:return o>=e&&a<e;case 0:return a<e&&o>e;case 1:return a<=e&&o>e;case 2:return o>e;case 4:return!0}}function Qs(t,e,a,o){for(var r;t.from==t.to||(a<1?t.from>=e:t.from>e)||(a>-1?t.to<=e:t.to<e);){let s=!o&&t instanceof Ga&&t.index<0?null:t.parent;if(!s)return t;t=s}let n=o?0:Xe.IgnoreOverlays;if(o)for(let s=t,i=s.parent;i;s=i,i=s.parent)s instanceof Ga&&s.index<0&&((r=i.enter(e,a,n))===null||r===void 0?void 0:r.from)!=s.from&&(t=i);for(;;){let s=t.enter(e,a,n);if(!s)return t;t=s}}var ku=class{cursor(e=0){return new ti(this,e)}getChild(e,a=null,o=null){let r=iw(this,e,a,o);return r.length?r[0]:null}getChildren(e,a=null,o=null){return iw(this,e,a,o)}resolve(e,a=0){return Qs(this,e,a,!1)}resolveInner(e,a=0){return Qs(this,e,a,!0)}matchContext(e){return ap(this.parent,e)}enterUnfinishedNodesBefore(e){let a=this.childBefore(e),o=this;for(;a;){let r=a.lastChild;if(!r||r.to!=a.to)break;r.type.isError&&r.from==r.to?(o=a,a=r.prevSibling):a=r}return o}get node(){return this}get next(){return this.parent}},Ga=class t extends ku{constructor(e,a,o,r){super(),this._tree=e,this.from=a,this.index=o,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,a,o,r,n=0){for(let s=this;;){for(let{children:i,positions:l}=s._tree,u=a>0?i.length:-1;e!=u;e+=a){let d=i[e],c=l[e]+s.from,f;if(!(!(n&Xe.EnterBracketed&&d instanceof qe&&(f=Tr.get(d))&&!f.overlay&&f.bracketed&&o>=c&&o<=c+d.length)&&!uw(r,o,c,c+d.length))){if(d instanceof zo){if(n&Xe.ExcludeBuffers)continue;let h=d.findChild(0,d.buffer.length,a,o-c,r);if(h>-1)return new ei(new op(s,d,e,c),null,h)}else if(n&Xe.IncludeAnonymous||!d.type.isAnonymous||sp(d)){let h;if(!(n&Xe.IgnoreMounts)&&(h=Tr.get(d))&&!h.overlay)return new t(h.tree,c,e,s);let p=new t(d,c,e,s);return n&Xe.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(a<0?d.children.length-1:0,a,o,r,n)}}}if(n&Xe.IncludeAnonymous||!s.type.isAnonymous||(s.index>=0?e=s.index+a:e=a<0?-1:s._parent._tree.children.length,s=s._parent,!s))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,a,o=0){let r;if(!(o&Xe.IgnoreOverlays)&&(r=Tr.get(this._tree))&&r.overlay){let n=e-this.from,s=o&Xe.EnterBracketed&&r.bracketed;for(let{from:i,to:l}of r.overlay)if((a>0||s?i<=n:i<n)&&(a<0||s?l>=n:l>n))return new t(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,a,o)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function iw(t,e,a,o){let r=t.cursor(),n=[];if(!r.firstChild())return n;if(a!=null){for(let s=!1;!s;)if(s=r.type.is(a),!r.nextSibling())return n}for(;;){if(o!=null&&r.type.is(o))return n;if(r.type.is(e)&&n.push(r.node),!r.nextSibling())return o==null?n:[]}}function ap(t,e,a=e.length-1){for(let o=t;a>=0;o=o.parent){if(!o)return!1;if(!o.type.isAnonymous){if(e[a]&&e[a]!=o.name)return!1;a--}}return!0}var op=class{constructor(e,a,o,r){this.parent=e,this.buffer=a,this.index=o,this.start=r}},ei=class t extends ku{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,a,o){super(),this.context=e,this._parent=a,this.index=o,this.type=e.buffer.set.types[e.buffer.buffer[o]]}child(e,a,o){let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.context.start,o);return n<0?null:new t(this.context,this,n)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,a,o=0){if(o&Xe.ExcludeBuffers)return null;let{buffer:r}=this.context,n=r.findChild(this.index+4,r.buffer[this.index+3],a>0?1:-1,e-this.context.start,a);return n<0?null:new t(this.context,this,n)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,a=e.buffer[this.index+3];return a<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new t(this.context,this._parent,a):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,a=this._parent?this._parent.index+4:0;return this.index==a?this.externalSibling(-1):new t(this.context,this._parent,e.findChild(a,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],a=[],{buffer:o}=this.context,r=this.index+4,n=o.buffer[this.index+3];if(n>r){let s=o.buffer[this.index+1];e.push(o.slice(r,n,s)),a.push(0)}return new qe(this.type,e,a,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function dw(t){if(!t.length)return null;let e=0,a=t[0];for(let n=1;n<t.length;n++){let s=t[n];(s.from>a.from||s.to<a.to)&&(a=s,e=n)}let o=a instanceof Ga&&a.index<0?null:a.parent,r=t.slice();return o?r[e]=o:r.splice(e,1),new rp(r,a)}var rp=class{constructor(e,a){this.heads=e,this.node=a}get next(){return dw(this.heads)}};function QR(t,e,a){let o=t.resolveInner(e,a),r=null;for(let n=o instanceof Ga?o:o.context.parent;n;n=n.parent)if(n.index<0){let s=n.parent;(r||(r=[o])).push(s.resolve(e,a)),n=s}else{let s=Tr.get(n.tree);if(s&&s.overlay&&s.overlay[0].from<=e&&s.overlay[s.overlay.length-1].to>=e){let i=new Ga(s.tree,s.overlay[0].from+n.from,-1,n);(r||(r=[o])).push(Qs(i,e,a,!1))}}return r?dw(r):o}var ti=class{get name(){return this.type.name}constructor(e,a=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=a&~Xe.EnterBracketed,e instanceof Ga)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let o=e._parent;o;o=o._parent)this.stack.unshift(o.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,a){this.index=e;let{start:o,buffer:r}=this.buffer;return this.type=a||r.set.types[r.buffer[e]],this.from=o+r.buffer[e+1],this.to=o+r.buffer[e+2],!0}yield(e){return e?e instanceof Ga?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,a,o){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,a,o,this.mode));let{buffer:r}=this.buffer,n=r.findChild(this.index+4,r.buffer[this.index+3],e,a-this.buffer.start,o);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,a,o=this.mode){return this.buffer?o&Xe.ExcludeBuffers?!1:this.enterChild(1,e,a):this.yield(this._tree.enter(e,a,o))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Xe.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Xe.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:a}=this.buffer,o=this.stack.length-1;if(e<0){let r=o<0?0:this.stack[o]+4;if(this.index!=r)return this.yieldBuf(a.findChild(r,this.index,-1,0,4))}else{let r=a.buffer[this.index+3];if(r<(o<0?a.buffer.length:a.buffer[this.stack[o]+3]))return this.yieldBuf(r)}return o<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let a,o,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let n=0;n<this.index;n++)if(r.buffer.buffer[n+3]<this.index)return!1;({index:a,parent:o}=r)}else({index:a,_parent:o}=this._tree);for(;o;{index:a,_parent:o}=o)if(a>-1)for(let n=a+e,s=e<0?-1:o._tree.children.length;n!=s;n+=e){let i=o._tree.children[n];if(this.mode&Xe.IncludeAnonymous||i instanceof zo||!i.type.isAnonymous||sp(i))return!1}return!0}move(e,a){if(a&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,a=0){for(;(this.from==this.to||(a<1?this.from>=e:this.from>e)||(a>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,a););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,a=null,o=0;if(e&&e.context==this.buffer)e:for(let r=this.index,n=this.stack.length;n>=0;){for(let s=e;s;s=s._parent)if(s.index==r){if(r==this.index)return s;a=s,o=n+1;break e}r=this.stack[--n]}for(let r=o;r<this.stack.length;r++)a=new ei(this.buffer,a,this.stack[r]);return this.bufferNode=new ei(this.buffer,a,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,a){for(let o=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){o++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&a&&a(this),r=this.type.isAnonymous,!o)return;if(this.nextSibling())break;this.parent(),o--,r=!0}}}matchContext(e){if(!this.buffer)return ap(this.node.parent,e);let{buffer:a}=this.buffer,{types:o}=a.set;for(let r=e.length-1,n=this.stack.length-1;r>=0;n--){if(n<0)return ap(this._tree,e,r);let s=o[a.buffer[this.stack[n]]];if(!s.isAnonymous){if(e[r]&&e[r]!=s.name)return!1;r--}}return!0}};function sp(t){return t.children.some(e=>e instanceof zo||!e.type.isAnonymous||sp(e))}function eT(t){var e;let{buffer:a,nodeSet:o,maxBufferLength:r=1024,reused:n=[],minRepeatType:s=o.types.length}=t,i=Array.isArray(a)?new tp(a,a.length):a,l=o.types,u=0,d=0;function c(I,v,L,S,k,z){let{id:A,start:P,end:H,size:M}=i,T=d,R=u;if(M<0)if(i.next(),M==-1){let N=n[A];L.push(N),S.push(P-I);return}else if(M==-3){u=A;return}else if(M==-4){d=A;return}else throw new RangeError(`Unrecognized record size: ${M}`);let E=l[A],q,B,D=P-I;if(H-P<=r&&(B=g(i.pos-v,k))){let N=new Uint16Array(B.size-B.skip),U=i.pos-B.size,$=N.length;for(;i.pos>U;)$=x(B.start,N,$);q=new zo(N,H-B.start,o),D=B.start-I}else{let N=i.pos-M;i.next();let U=[],$=[],_=A>=s?A:-1,W=0,G=H;for(;i.pos>N;)_>=0&&i.id==_&&i.size>=0?(i.end<=G-r&&(p(U,$,P,W,i.end,G,_,T,R),W=U.length,G=i.end),i.next()):z>2500?f(P,N,U,$):c(P,N,U,$,_,z+1);if(_>=0&&W>0&&W<U.length&&p(U,$,P,W,P,G,_,T,R),U.reverse(),$.reverse(),_>-1&&W>0){let O=h(E,R);q=ip(E,U,$,0,U.length,0,H-P,O,O)}else q=m(E,U,$,H-P,T-H,R)}L.push(q),S.push(D)}function f(I,v,L,S){let k=[],z=0,A=-1;for(;i.pos>v;){let{id:P,start:H,end:M,size:T}=i;if(T>4)i.next();else{if(A>-1&&H<A)break;A<0&&(A=M-r),k.push(P,H,M),z++,i.next()}}if(z){let P=new Uint16Array(z*4),H=k[k.length-2];for(let M=k.length-3,T=0;M>=0;M-=3)P[T++]=k[M],P[T++]=k[M+1]-H,P[T++]=k[M+2]-H,P[T++]=T;L.push(new zo(P,k[2]-H,o)),S.push(H-I)}}function h(I,v){return(L,S,k)=>{let z=0,A=L.length-1,P,H;if(A>=0&&(P=L[A])instanceof qe){if(!A&&P.type==I&&P.length==k)return P;(H=P.prop(pe.lookAhead))&&(z=S[A]+P.length+H)}return m(I,L,S,k,z,v)}}function p(I,v,L,S,k,z,A,P,H){let M=[],T=[];for(;I.length>S;)M.push(I.pop()),T.push(v.pop()+L-k);I.push(m(o.types[A],M,T,z-k,P-z,H)),v.push(k-L)}function m(I,v,L,S,k,z,A){if(z){let P=[pe.contextHash,z];A=A?[P].concat(A):[P]}if(k>25){let P=[pe.lookAhead,k];A=A?[P].concat(A):[P]}return new qe(I,v,L,S,A)}function g(I,v){let L=i.fork(),S=0,k=0,z=0,A=L.end-r,P={size:0,start:0,skip:0};e:for(let H=L.pos-I;L.pos>H;){let M=L.size;if(L.id==v&&M>=0){P.size=S,P.start=k,P.skip=z,z+=4,S+=4,L.next();continue}let T=L.pos-M;if(M<0||T<H||L.start<A)break;let R=L.id>=s?4:0,E=L.start;for(L.next();L.pos>T;){if(L.size<0)if(L.size==-3||L.size==-4)R+=4;else break e;else L.id>=s&&(R+=4);L.next()}k=E,S+=M,z+=R}return(v<0||S==I)&&(P.size=S,P.start=k,P.skip=z),P.size>4?P:void 0}function x(I,v,L){let{id:S,start:k,end:z,size:A}=i;if(i.next(),A>=0&&S<s){let P=L;if(A>4){let H=i.pos-(A-4);for(;i.pos>H;)L=x(I,v,L)}v[--L]=P,v[--L]=z-I,v[--L]=k-I,v[--L]=S}else A==-3?u=S:A==-4&&(d=S);return L}let y=[],b=[];for(;i.pos>0;)c(t.start||0,t.bufferStart||0,y,b,-1,0);let C=(e=t.length)!==null&&e!==void 0?e:y.length?b[0]+y[0].length:0;return new qe(l[t.topID],y.reverse(),b.reverse(),C)}var lw=new WeakMap;function Su(t,e){if(!t.isAnonymous||e instanceof zo||e.type!=t)return 1;let a=lw.get(e);if(a==null){a=1;for(let o of e.children){if(o.type!=t||!(o instanceof qe)){a=1;break}a+=Su(t,o)}lw.set(e,a)}return a}function ip(t,e,a,o,r,n,s,i,l){let u=0;for(let p=o;p<r;p++)u+=Su(t,e[p]);let d=Math.ceil(u*1.5/8),c=[],f=[];function h(p,m,g,x,y){for(let b=g;b<x;){let C=b,I=m[b],v=Su(t,p[b]);for(b++;b<x;b++){let L=Su(t,p[b]);if(v+L>=d)break;v+=L}if(b==C+1){if(v>d){let L=p[C];h(L.children,L.positions,0,L.children.length,m[C]+y);continue}c.push(p[C])}else{let L=m[b-1]+p[b-1].length-I;c.push(ip(t,p,m,C,b,I,L,null,l))}f.push(I+y-n)}}return h(e,a,o,r,0),(i||l)(c,f,s)}var Er=class t{constructor(e,a,o,r,n=!1,s=!1){this.from=e,this.to=a,this.tree=o,this.offset=r,this.open=(n?1:0)|(s?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,a=[],o=!1){let r=[new t(0,e.length,e,0,!1,o)];for(let n of a)n.to>e.length&&r.push(n);return r}static applyChanges(e,a,o=128){if(!a.length)return e;let r=[],n=1,s=e.length?e[0]:null;for(let i=0,l=0,u=0;;i++){let d=i<a.length?a[i]:null,c=d?d.fromA:1e9;if(c-l>=o)for(;s&&s.from<c;){let f=s;if(l>=f.from||c<=f.to||u){let h=Math.max(f.from,l)-u,p=Math.min(f.to,c)-u;f=h>=p?null:new t(h,p,f.tree,f.offset+u,i>0,!!d)}if(f&&r.push(f),s.to>c)break;s=n<e.length?e[n++]:null}if(!d)break;l=d.toA,u=d.toA-d.toB}return r}},ai=class{startParse(e,a,o){return typeof e=="string"&&(e=new np(e)),o=o?o.length?o.map(r=>new Js(r.from,r.to)):[new Js(0,0)]:[new Js(0,e.length)],this.createParse(e,a||[],o)}parse(e,a,o){let r=this.startParse(e,a,o);for(;;){let n=r.advance();if(n)return n}}},np=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,a){return this.string.slice(e,a)}};var gG=new pe({perNode:!0});var tT=0,Ia=class t{constructor(e,a,o,r){this.name=e,this.set=a,this.base=o,this.modified=r,this.id=tT++}toString(){let{name:e}=this;for(let a of this.modified)a.name&&(e=`${a.name}(${e})`);return e}static define(e,a){let o=typeof e=="string"?e:"?";if(e instanceof t&&(a=e),a?.base)throw new Error("Can not derive from a modified tag");let r=new t(o,[],null,[]);if(r.set.push(r),a)for(let n of a.set)r.set.push(n);return r}static defineModifier(e){let a=new Du(e);return o=>o.modified.indexOf(a)>-1?o:Du.get(o.base||o,o.modified.concat(a).sort((r,n)=>r.id-n.id))}},aT=0,Du=class t{constructor(e){this.name=e,this.instances=[],this.id=aT++}static get(e,a){if(!a.length)return e;let o=a[0].instances.find(i=>i.base==e&&oT(a,i.modified));if(o)return o;let r=[],n=new Ia(e.name,r,e,a);for(let i of a)i.instances.push(n);let s=rT(a);for(let i of e.set)if(!i.modified.length)for(let l of s)r.push(t.get(i,l));return n}};function oT(t,e){return t.length==e.length&&t.every((a,o)=>a==e[o])}function rT(t){let e=[[]];for(let a=0;a<t.length;a++)for(let o=0,r=e.length;o<r;o++)e.push(e[o].concat(t[a]));return e.sort((a,o)=>o.length-a.length)}function hw(t){let e=Object.create(null);for(let a in t){let o=t[a];Array.isArray(o)||(o=[o]);for(let r of a.split(" "))if(r){let n=[],s=2,i=r;for(let c=0;;){if(i=="..."&&c>0&&c+3==r.length){s=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(i);if(!f)throw new RangeError("Invalid path: "+r);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),c+=f[0].length,c==r.length)break;let h=r[c++];if(c==r.length&&h=="!"){s=0;break}if(h!="/")throw new RangeError("Invalid path: "+r);i=r.slice(c)}let l=n.length-1,u=n[l];if(!u)throw new RangeError("Invalid path: "+r);let d=new Fr(o,s,l>0?n.slice(0,l):null);e[u]=d.sort(e[u])}}return pw.add(e)}var pw=new pe({combine(t,e){let a,o,r;for(;t||e;){if(!t||e&&t.depth>=e.depth?(r=e,e=e.next):(r=t,t=t.next),a&&a.mode==r.mode&&!r.context&&!a.context)continue;let n=new Fr(r.tags,r.mode,r.context);a?a.next=n:o=n,a=n}return o}}),Fr=class{constructor(e,a,o,r){this.tags=e,this.mode=a,this.context=o,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Fr.empty=new Fr([],2,null);function cp(t,e){let a=Object.create(null);for(let n of t)if(!Array.isArray(n.tag))a[n.tag.id]=n.class;else for(let s of n.tag)a[s.id]=n.class;let{scope:o,all:r=null}=e||{};return{style:n=>{let s=r;for(let i of n)for(let l of i.set){let u=a[l.id];if(u){s=s?s+" "+u:u;break}}return s},scope:o}}function nT(t,e){let a=null;for(let o of t){let r=o.style(e);r&&(a=a?a+" "+r:r)}return a}function mw(t,e,a,o=0,r=t.length){let n=new up(o,Array.isArray(e)?e:[e],a);n.highlightRange(t.cursor(),o,r,"",n.highlighters),n.flush(r)}var up=class{constructor(e,a,o){this.at=e,this.highlighters=a,this.span=o,this.class=""}startSpan(e,a){a!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=a)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,a,o,r,n){let{type:s,from:i,to:l}=e;if(i>=o||l<=a)return;s.isTop&&(n=this.highlighters.filter(h=>!h.scope||h.scope(s)));let u=r,d=sT(e)||Fr.empty,c=nT(n,d.tags);if(c&&(u&&(u+=" "),u+=c,d.mode==1&&(r+=(r?" ":"")+c)),this.startSpan(Math.max(a,i),u),d.opaque)return;let f=e.tree&&e.tree.prop(pe.mounted);if(f&&f.overlay){let h=e.node.enter(f.overlay[0].from+i,1),p=this.highlighters.filter(g=>!g.scope||g.scope(f.tree.type)),m=e.firstChild();for(let g=0,x=i;;g++){let y=g<f.overlay.length?f.overlay[g]:null,b=y?y.from+i:l,C=Math.max(a,x),I=Math.min(o,b);if(C<I&&m)for(;e.from<I&&(this.highlightRange(e,C,I,r,n),this.startSpan(Math.min(I,e.to),u),!(e.to>=b||!e.nextSibling())););if(!y||b>o)break;x=y.to+i,x>a&&(this.highlightRange(h.cursor(),Math.max(a,y.from+i),Math.min(o,x),"",p),this.startSpan(Math.min(o,x),u))}m&&e.parent()}else if(e.firstChild()){f&&(r="");do if(!(e.to<=a)){if(e.from>=o)break;this.highlightRange(e,a,o,r,n),this.startSpan(Math.min(o,e.to),u)}while(e.nextSibling());e.parent()}}};function sT(t){let e=t.type.prop(pw);for(;e&&e.context&&!t.matchContext(e.context);)e=e.next;return e||null}var j=Ia.define,Au=j(),qo=j(),cw=j(qo),fw=j(qo),Uo=j(),Mu=j(Uo),lp=j(Uo),Ka=j(),Br=j(Ka),$a=j(),Xa=j(),dp=j(),oi=j(dp),Pu=j(),w={comment:Au,lineComment:j(Au),blockComment:j(Au),docComment:j(Au),name:qo,variableName:j(qo),typeName:cw,tagName:j(cw),propertyName:fw,attributeName:j(fw),className:j(qo),labelName:j(qo),namespace:j(qo),macroName:j(qo),literal:Uo,string:Mu,docString:j(Mu),character:j(Mu),attributeValue:j(Mu),number:lp,integer:j(lp),float:j(lp),bool:j(Uo),regexp:j(Uo),escape:j(Uo),color:j(Uo),url:j(Uo),keyword:$a,self:j($a),null:j($a),atom:j($a),unit:j($a),modifier:j($a),operatorKeyword:j($a),controlKeyword:j($a),definitionKeyword:j($a),moduleKeyword:j($a),operator:Xa,derefOperator:j(Xa),arithmeticOperator:j(Xa),logicOperator:j(Xa),bitwiseOperator:j(Xa),compareOperator:j(Xa),updateOperator:j(Xa),definitionOperator:j(Xa),typeOperator:j(Xa),controlOperator:j(Xa),punctuation:dp,separator:j(dp),bracket:oi,angleBracket:j(oi),squareBracket:j(oi),paren:j(oi),brace:j(oi),content:Ka,heading:Br,heading1:j(Br),heading2:j(Br),heading3:j(Br),heading4:j(Br),heading5:j(Br),heading6:j(Br),contentSeparator:j(Ka),list:j(Ka),quote:j(Ka),emphasis:j(Ka),strong:j(Ka),link:j(Ka),monospace:j(Ka),strikethrough:j(Ka),inserted:j(),deleted:j(),changed:j(),invalid:j(),meta:Pu,documentMeta:j(Pu),annotation:j(Pu),processingInstruction:j(Pu),definition:Ia.defineModifier("definition"),constant:Ia.defineModifier("constant"),function:Ia.defineModifier("function"),standard:Ia.defineModifier("standard"),local:Ia.defineModifier("local"),special:Ia.defineModifier("special")};for(let t in w){let e=w[t];e instanceof Ia&&(e.name=t)}var wG=cp([{tag:w.link,class:"tok-link"},{tag:w.heading,class:"tok-heading"},{tag:w.emphasis,class:"tok-emphasis"},{tag:w.strong,class:"tok-strong"},{tag:w.keyword,class:"tok-keyword"},{tag:w.atom,class:"tok-atom"},{tag:w.bool,class:"tok-bool"},{tag:w.url,class:"tok-url"},{tag:w.labelName,class:"tok-labelName"},{tag:w.inserted,class:"tok-inserted"},{tag:w.deleted,class:"tok-deleted"},{tag:w.literal,class:"tok-literal"},{tag:w.string,class:"tok-string"},{tag:w.number,class:"tok-number"},{tag:[w.regexp,w.escape,w.special(w.string)],class:"tok-string2"},{tag:w.variableName,class:"tok-variableName"},{tag:w.local(w.variableName),class:"tok-variableName tok-local"},{tag:w.definition(w.variableName),class:"tok-variableName tok-definition"},{tag:w.special(w.variableName),class:"tok-variableName2"},{tag:w.definition(w.propertyName),class:"tok-propertyName tok-definition"},{tag:w.typeName,class:"tok-typeName"},{tag:w.namespace,class:"tok-namespace"},{tag:w.className,class:"tok-className"},{tag:w.macroName,class:"tok-macroName"},{tag:w.propertyName,class:"tok-propertyName"},{tag:w.operator,class:"tok-operator"},{tag:w.comment,class:"tok-comment"},{tag:w.meta,class:"tok-meta"},{tag:w.invalid,class:"tok-invalid"},{tag:w.punctuation,class:"tok-punctuation"}]);var fp,Un=new pe;function iT(t){return Y.define({combine:t?e=>e.concat(t):void 0})}var lT=new pe,ea=class{constructor(e,a,o=[],r=""){this.data=e,this.name=r,Pe.prototype.hasOwnProperty("tree")||Object.defineProperty(Pe.prototype,"tree",{get(){return Rt(this)}}),this.parser=a,this.extension=[Wn.of(this),Pe.languageData.of((n,s,i)=>{let l=gw(n,s,i),u=l.type.prop(Un);if(!u)return[];let d=n.facet(u),c=l.type.prop(lT);if(c){let f=l.resolve(s-l.from,i);for(let h of c)if(h.test(f,n)){let p=n.facet(h.facet);return h.type=="replace"?p:p.concat(d)}}return d})].concat(o)}isActiveAt(e,a,o=-1){return gw(e,a,o).type.prop(Un)==this.data}findRegions(e){let a=e.facet(Wn);if(a?.data==this.data)return[{from:0,to:e.doc.length}];if(!a||!a.allowsNesting)return[];let o=[],r=(n,s)=>{if(n.prop(Un)==this.data){o.push({from:s,to:s+n.length});return}let i=n.prop(pe.mounted);if(i){if(i.tree.prop(Un)==this.data){if(i.overlay)for(let l of i.overlay)o.push({from:l.from+s,to:l.to+s});else o.push({from:s,to:s+n.length});return}else if(i.overlay){let l=o.length;if(r(i.tree,i.overlay[0].from+s),o.length>l)return}}for(let l=0;l<n.children.length;l++){let u=n.children[l];u instanceof qe&&r(u,n.positions[l]+s)}};return r(Rt(e),0),o}get allowsNesting(){return!0}};ea.setState=fe.define();function gw(t,e,a){let o=t.facet(Wn),r=Rt(t).topNode;if(!o||o.allowsNesting)for(let n=r;n;n=n.enter(e,a,Xe.ExcludeBuffers|Xe.EnterBracketed))n.type.isTop&&(r=n);return r}function Rt(t){let e=t.field(ea.state,!1);return e?e.tree:qe.empty}var gp=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,a){let o=this.cursorPos-this.string.length;return e<o||a>=this.cursorPos?this.doc.sliceString(e,a):this.string.slice(e-o,a-o)}},ri=null,ni=class t{constructor(e,a,o=[],r,n,s,i,l){this.parser=e,this.state=a,this.fragments=o,this.tree=r,this.treeLen=n,this.viewport=s,this.skipped=i,this.scheduleOn=l,this.parse=null,this.tempSkipped=[]}static create(e,a,o){return new t(e,a,[],qe.empty,0,o,[],null)}startParse(){return this.parser.startParse(new gp(this.state.doc),this.fragments)}work(e,a){return a!=null&&a>=this.state.doc.length&&(a=void 0),this.tree!=qe.empty&&this.isDone(a??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var o;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),a!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>a)&&a<this.state.doc.length&&this.parse.stopAt(a);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(Er.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(o=this.parse.stoppedAt)!==null&&o!==void 0?o:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(a??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,a;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(a=this.parse.advance()););}),this.treeLen=e,this.tree=a,this.fragments=this.withoutTempSkipped(Er.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let a=ri;ri=this;try{return e()}finally{ri=a}}withoutTempSkipped(e){for(let a;a=this.tempSkipped.pop();)e=xw(e,a.from,a.to);return e}changes(e,a){let{fragments:o,tree:r,treeLen:n,viewport:s,skipped:i}=this;if(this.takeTree(),!e.empty){let l=[];if(e.iterChangedRanges((u,d,c,f)=>l.push({fromA:u,toA:d,fromB:c,toB:f})),o=Er.applyChanges(o,l),r=qe.empty,n=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){i=[];for(let u of this.skipped){let d=e.mapPos(u.from,1),c=e.mapPos(u.to,-1);d<c&&i.push({from:d,to:c})}}}return new t(this.parser,a,o,r,n,s,i,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let a=this.skipped.length;for(let o=0;o<this.skipped.length;o++){let{from:r,to:n}=this.skipped[o];r<e.to&&n>e.from&&(this.fragments=xw(this.fragments,r,n),this.skipped.splice(o--,1))}return this.skipped.length>=a?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,a){this.skipped.push({from:e,to:a})}static getSkippingParser(e){return new class extends ai{createParse(a,o,r){let n=r[0].from,s=r[r.length-1].to;return{parsedPos:n,advance(){let l=ri;if(l){for(let u of r)l.tempSkipped.push(u);e&&(l.scheduleOn=l.scheduleOn?Promise.all([l.scheduleOn,e]):e)}return this.parsedPos=s,new qe(Dt.none,[],[],s-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let a=this.fragments;return this.treeLen>=e&&a.length&&a[0].from==0&&a[0].to>=e}static get(){return ri}};function xw(t,e,a){return Er.applyChanges(t,[{fromA:e,toA:a,fromB:e,toB:a}])}var si=class t{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let a=this.context.changes(e.changes,e.state),o=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),a.viewport.to);return a.work(20,o)||a.takeTree(),new t(a)}static init(e){let a=Math.min(3e3,e.doc.length),o=ni.create(e.facet(Wn).parser,e,{from:0,to:a});return o.work(20,a)||o.takeTree(),new t(o)}};ea.state=$e.define({create:si.init,update(t,e){for(let a of e.effects)if(a.is(ea.setState))return a.value;return e.startState.facet(Wn)!=e.state.facet(Wn)?si.init(e.state):t.apply(e)}});var vw=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(vw=t=>{let e=-1,a=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(a):cancelIdleCallback(e)});var hp=typeof navigator<"u"&&(!((fp=navigator.scheduling)===null||fp===void 0)&&fp.isInputPending)?()=>navigator.scheduling.isInputPending():null,uT=Qe.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let a=this.view.state.field(ea.state).context;(a.updateViewport(e.view.viewport)||this.view.viewport.to>a.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(a)}scheduleWork(){if(this.working)return;let{state:e}=this.view,a=e.field(ea.state);(a.tree!=a.context.tree||!a.context.isDone(e.doc.length))&&(this.working=vw(this.work))}work(e){this.working=null;let a=Date.now();if(this.chunkEnd<a&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=a+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:o,viewport:{to:r}}=this.view,n=o.field(ea.state);if(n.tree==n.context.tree&&n.context.isDone(r+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!hp?Math.max(25,e.timeRemaining()-5):1e9),i=n.context.treeLen<r&&o.doc.length>r+1e3,l=n.context.work(()=>hp&&hp()||Date.now()>s,r+(i?0:1e5));this.chunkBudget-=Date.now()-a,(l||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:ea.setState.of(new si(n.context))})),this.chunkBudget>0&&!(l&&!i)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(a=>mt(this.view.state,a)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Wn=Y.define({combine(t){return t.length?t[0]:null},enables:t=>[ea.state,uT,Z.contentAttributes.compute([t],e=>{let a=e.facet(t);return a&&a.name?{"data-language":a.name}:{}})]}),Ru=class{constructor(e,a=[]){this.language=e,this.support=a,this.extension=[e,a]}};var dT=Y.define(),bo=Y.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(a=>a!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Wo(t){let e=t.facet(bo);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function li(t,e){let a="",o=t.tabSize,r=t.facet(bo)[0];if(r==" "){for(;e>=o;)a+=" ",e-=o;r=" "}for(let n=0;n<e;n++)a+=r;return a}function vp(t,e){t instanceof Pe&&(t=new Or(t));for(let o of t.state.facet(dT)){let r=o(t,e);if(r!==void 0)return r}let a=Rt(t.state);return a.length>=e?cT(t,a,e):null}var Or=class{constructor(e,a={}){this.state=e,this.options=a,this.unit=Wo(e)}lineAt(e,a=1){let o=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:n}=this.options;return r!=null&&r>=o.from&&r<=o.to?n&&r==e?{text:"",from:e}:(a<0?r<e:r<=e)?{text:o.text.slice(r-o.from),from:r}:{text:o.text.slice(0,r-o.from),from:o.from}:o}textAfterPos(e,a=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:o,from:r}=this.lineAt(e,a);return o.slice(e-r,Math.min(o.length,e+100-r))}column(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.countColumn(o,e-r),s=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return s>-1&&(n+=s-this.countColumn(o,o.search(/\S|$/))),n}countColumn(e,a=e.length){return vr(e,this.state.tabSize,a)}lineIndent(e,a=1){let{text:o,from:r}=this.lineAt(e,a),n=this.options.overrideIndentation;if(n){let s=n(r);if(s>-1)return s}return this.countColumn(o,o.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Sw=new pe;function cT(t,e,a){let o=e.resolveStack(a),r=e.resolveInner(a,-1).resolve(a,0).enterUnfinishedNodesBefore(a);if(r!=o.node){let n=[];for(let s=r;s&&!(s.from<o.node.from||s.to>o.node.to||s.from==o.node.from&&s.type==o.node.type);s=s.parent)n.push(s);for(let s=n.length-1;s>=0;s--)o={node:n[s],next:o}}return Iw(o,t,a)}function Iw(t,e,a){for(let o=t;o;o=o.next){let r=hT(o.node);if(r)return r(xp.create(e,a,o))}return 0}function fT(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function hT(t){let e=t.type.prop(Sw);if(e)return e;let a=t.firstChild,o;if(a&&(o=a.type.prop(pe.closedBy))){let r=t.lastChild,n=r&&o.indexOf(r.name)>-1;return s=>xT(s,!0,1,void 0,n&&!fT(s)?r.from:void 0)}return t.parent==null?pT:null}function pT(){return 0}var xp=class t extends Or{constructor(e,a,o){super(e.state,e.options),this.base=e,this.pos=a,this.context=o}get node(){return this.context.node}static create(e,a,o){return new t(e,a,o)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let a=this.state.doc.lineAt(e.from);for(;;){let o=e.resolve(a.from);for(;o.parent&&o.parent.from==o.from;)o=o.parent;if(mT(o,e))break;a=this.state.doc.lineAt(o.from)}return this.lineIndent(a.from)}continue(){return Iw(this.context.next,this.base,this.pos)}};function mT(t,e){for(let a=e;a;a=a.parent)if(t==a)return!0;return!1}function gT(t){let e=t.node,a=e.childAfter(e.from),o=e.lastChild;if(!a)return null;let r=t.options.simulateBreak,n=t.state.doc.lineAt(a.from),s=r==null||r<=n.from?n.to:Math.min(n.to,r);for(let i=a.to;;){let l=e.childAfter(i);if(!l||l==o)return null;if(!l.type.isSkipped){if(l.from>=s)return null;let u=/^ */.exec(n.text.slice(a.to-n.from))[0].length;return{from:a.from,to:a.to+u}}i=l.to}}function xT(t,e,a,o,r){let n=t.textAfter,s=n.match(/^\s*/)[0].length,i=o&&n.slice(s,s+o.length)==o||r==t.pos+s,l=e?gT(t):null;return l?i?t.column(l.from):t.column(l.to):t.baseIndent+(i?0:t.unit*a)}var Vo=class t{constructor(e,a){this.specs=e;let o;function r(i){let l=ia.newName();return(o||(o=Object.create(null)))["."+l]=i,l}let n=typeof a.all=="string"?a.all:a.all?r(a.all):void 0,s=a.scope;this.scope=s instanceof ea?i=>i.prop(Un)==s.data:s?i=>i==s:void 0,this.style=cp(e.map(i=>({tag:i.tag,class:i.class||r(Object.assign({},i,{tag:null}))})),{all:n}).style,this.module=o?new ia(o):null,this.themeType=a.themeType}static define(e,a){return new t(e,a||{})}},bp=Y.define(),kw=Y.define({combine(t){return t.length?[t[0]]:null}});function pp(t){let e=t.facet(bp);return e.length?e:t.facet(kw)}function Vn(t,e){let a=[bT],o;return t instanceof Vo&&(t.module&&a.push(Z.styleModule.of(t.module)),o=t.themeType),e?.fallback?a.push(kw.of(t)):o?a.push(bp.computeN([Z.darkTheme],r=>r.facet(Z.darkTheme)==(o=="dark")?[t]:[])):a.push(bp.of(t)),a}var wp=class{constructor(e){this.markCache=Object.create(null),this.tree=Rt(e.state),this.decorations=this.buildDeco(e,pp(e.state)),this.decoratedTo=e.viewport.to}update(e){let a=Rt(e.state),o=pp(e.state),r=o!=pp(e.startState),{viewport:n}=e.view,s=e.changes.mapPos(this.decoratedTo,1);a.length<n.to&&!r&&a.type==this.tree.type&&s>=n.to?(this.decorations=this.decorations.map(e.changes),this.decoratedTo=s):(a!=this.tree||e.viewportChanged||r)&&(this.tree=a,this.decorations=this.buildDeco(e.view,o),this.decoratedTo=n.to)}buildDeco(e,a){if(!a||!this.tree.length)return me.none;let o=new La;for(let{from:r,to:n}of e.visibleRanges)mw(this.tree,a,(s,i,l)=>{o.add(s,i,this.markCache[l]||(this.markCache[l]=me.mark({class:l})))},r,n);return o.finish()}},bT=Jt.high(Qe.fromClass(wp,{decorations:t=>t.decorations})),Aw=Vo.define([{tag:w.meta,color:"#404740"},{tag:w.link,textDecoration:"underline"},{tag:w.heading,textDecoration:"underline",fontWeight:"bold"},{tag:w.emphasis,fontStyle:"italic"},{tag:w.strong,fontWeight:"bold"},{tag:w.strikethrough,textDecoration:"line-through"},{tag:w.keyword,color:"#708"},{tag:[w.atom,w.bool,w.url,w.contentSeparator,w.labelName],color:"#219"},{tag:[w.literal,w.inserted],color:"#164"},{tag:[w.string,w.deleted],color:"#a11"},{tag:[w.regexp,w.escape,w.special(w.string)],color:"#e40"},{tag:w.definition(w.variableName),color:"#00f"},{tag:w.local(w.variableName),color:"#30a"},{tag:[w.typeName,w.namespace],color:"#085"},{tag:w.className,color:"#167"},{tag:[w.special(w.variableName),w.macroName],color:"#256"},{tag:w.definition(w.propertyName),color:"#00c"},{tag:w.comment,color:"#940"},{tag:w.invalid,color:"#f00"}]),wT=Z.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Mw=1e4,Pw="()[]{}",Dw=Y.define({combine(t){return Ht(t,{afterCursor:!0,brackets:Pw,maxScanDistance:Mw,renderMatch:CT})}}),yT=me.mark({class:"cm-matchingBracket"}),LT=me.mark({class:"cm-nonmatchingBracket"});function CT(t){let e=[],a=t.matched?yT:LT;return e.push(a.range(t.start.from,t.start.to)),t.end&&e.push(a.range(t.end.from,t.end.to)),e}function bw(t){let e=[],a=t.facet(Dw);for(let o of t.selection.ranges){if(!o.empty)continue;let r=ka(t,o.head,-1,a)||o.head>0&&ka(t,o.head-1,1,a)||a.afterCursor&&(ka(t,o.head,1,a)||o.head<t.doc.length&&ka(t,o.head+1,-1,a));r&&(e=e.concat(a.renderMatch(r,t)))}return me.set(e,!0)}var vT=Qe.fromClass(class{constructor(t){this.paused=!1,this.decorations=bw(t.state)}update(t){(t.docChanged||t.selectionSet||this.paused)&&(t.view.composing?(this.decorations=this.decorations.map(t.changes),this.paused=!0):(this.decorations=bw(t.state),this.paused=!1))}},{decorations:t=>t.decorations}),ST=[vT,wT];function Rw(t={}){return[Dw.of(t),ST]}var IT=new pe;function yp(t,e,a){let o=t.prop(e<0?pe.openedBy:pe.closedBy);if(o)return o;if(t.name.length==1){let r=a.indexOf(t.name);if(r>-1&&r%2==(e<0?1:0))return[a[r+e]]}return null}function Lp(t){let e=t.type.prop(IT);return e?e(t.node):t}function ka(t,e,a,o={}){let r=o.maxScanDistance||Mw,n=o.brackets||Pw,s=Rt(t),i=s.resolveInner(e,a);for(let l=i;l;l=l.parent){let u=yp(l.type,a,n);if(u&&l.from<l.to){let d=Lp(l);if(d&&(a>0?e>=d.from&&e<d.to:e>d.from&&e<=d.to))return kT(t,e,a,l,d,u,n)}}return AT(t,e,a,s,i.type,r,n)}function kT(t,e,a,o,r,n,s){let i=o.parent,l={from:r.from,to:r.to},u=0,d=i?.cursor();if(d&&(a<0?d.childBefore(o.from):d.childAfter(o.to)))do if(a<0?d.to<=o.from:d.from>=o.to){if(u==0&&n.indexOf(d.type.name)>-1&&d.from<d.to){let c=Lp(d);return{start:l,end:c?{from:c.from,to:c.to}:void 0,matched:!0}}else if(yp(d.type,a,s))u++;else if(yp(d.type,-a,s)){if(u==0){let c=Lp(d);return{start:l,end:c&&c.from<c.to?{from:c.from,to:c.to}:void 0,matched:!1}}u--}}while(a<0?d.prevSibling():d.nextSibling());return{start:l,matched:!1}}function AT(t,e,a,o,r,n,s){if(a<0?!e:e==t.doc.length)return null;let i=a<0?t.sliceDoc(e-1,e):t.sliceDoc(e,e+1),l=s.indexOf(i);if(l<0||l%2==0!=a>0)return null;let u={from:a<0?e-1:e,to:a>0?e+1:e},d=t.doc.iterRange(e,a>0?t.doc.length:0),c=0;for(let f=0;!d.next().done&&f<=n;){let h=d.value;a<0&&(f+=h.length);let p=e+f*a;for(let m=a>0?0:h.length-1,g=a>0?h.length:-1;m!=g;m+=a){let x=s.indexOf(h[m]);if(!(x<0||o.resolveInner(p+m,1).type!=r))if(x%2==0==a>0)c++;else{if(c==1)return{start:u,end:{from:p+m,to:p+m+1},matched:x>>1==l>>1};c--}}a>0&&(f+=h.length)}return d.done?{start:u,matched:!1}:null}function ww(t,e,a,o=0,r=0){e==null&&(e=t.search(/[^\s\u00a0]/),e==-1&&(e=t.length));let n=r;for(let s=o;s<e;s++)t.charCodeAt(s)==9?n+=a-n%a:n++;return n}var Tu=class{constructor(e,a,o,r){this.string=e,this.tabSize=a,this.indentUnit=o,this.overrideIndent=r,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return this.pos==0}peek(){return this.string.charAt(this.pos)||void 0}next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++)}eat(e){let a=this.string.charAt(this.pos),o;if(typeof e=="string"?o=a==e:o=a&&(e instanceof RegExp?e.test(a):e(a)),o)return++this.pos,a}eatWhile(e){let a=this.pos;for(;this.eat(e););return this.pos>a}eatSpace(){let e=this.pos;for(;/[\s\u00a0]/.test(this.string.charAt(this.pos));)++this.pos;return this.pos>e}skipToEnd(){this.pos=this.string.length}skipTo(e){let a=this.string.indexOf(e,this.pos);if(a>-1)return this.pos=a,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=ww(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return(e=this.overrideIndent)!==null&&e!==void 0?e:ww(this.string,null,this.tabSize)}match(e,a,o){if(typeof e=="string"){let r=s=>o?s.toLowerCase():s,n=this.string.substr(this.pos,e.length);return r(n)==r(e)?(a!==!1&&(this.pos+=e.length),!0):null}else{let r=this.string.slice(this.pos).match(e);return r&&r.index>0?null:(r&&a!==!1&&(this.pos+=r[0].length),r)}}current(){return this.string.slice(this.start,this.pos)}};function MT(t){return{name:t.name||"",token:t.token,blankLine:t.blankLine||(()=>{}),startState:t.startState||(()=>!0),copyState:t.copyState||PT,indent:t.indent||(()=>null),languageData:t.languageData||{},tokenTable:t.tokenTable||Ip,mergeTokens:t.mergeTokens!==!1}}function PT(t){if(typeof t!="object")return t;let e={};for(let a in t){let o=t[a];e[a]=o instanceof Array?o.slice():o}return e}var yw=new WeakMap,Eu=class t extends ea{constructor(e){let a=iT(e.languageData),o=MT(e),r,n=new class extends ai{createParse(s,i,l){return new Cp(r,s,i,l)}};super(a,n,[],e.name),this.topNode=ET(a,this),r=this,this.streamParser=o,this.stateAfter=new pe({perNode:!0}),this.tokenTable=e.tokenTable?new Bu(o.tokenTable):TT}static define(e){return new t(e)}getIndent(e){let a,{overrideIndentation:o}=e.options;o&&(a=yw.get(e.state),a!=null&&a<e.pos-1e4&&(a=void 0));let r=Sp(this,e.node.tree,e.node.from,e.node.from,a??e.pos),n,s;if(r?(s=r.state,n=r.pos+1):(s=this.streamParser.startState(e.unit),n=e.node.from),e.pos-n>1e4)return null;for(;n<e.pos;){let l=e.state.doc.lineAt(n),u=Math.min(e.pos,l.to);if(l.length){let d=o?o(l.from):-1,c=new Tu(l.text,e.state.tabSize,e.unit,d<0?void 0:d);for(;c.pos<u-l.from;)Ew(this.streamParser.token,c,s)}else this.streamParser.blankLine(s,e.unit);if(u==e.pos)break;n=l.to+1}let i=e.lineAt(e.pos);return o&&a==null&&yw.set(e.state,i.from),this.streamParser.indent(s,/^\s*(.*)/.exec(i.text)[1],e)}get allowsNesting(){return!1}};function Sp(t,e,a,o,r){let n=a>=o&&a+e.length<=r&&e.prop(t.stateAfter);if(n)return{state:t.streamParser.copyState(n),pos:a+e.length};for(let s=e.children.length-1;s>=0;s--){let i=e.children[s],l=a+e.positions[s],u=i instanceof qe&&l<r&&Sp(t,i,l,o,r);if(u)return u}return null}function Tw(t,e,a,o,r){if(r&&a<=0&&o>=e.length)return e;!r&&a==0&&e.type==t.topNode&&(r=!0);for(let n=e.children.length-1;n>=0;n--){let s=e.positions[n],i=e.children[n],l;if(s<o&&i instanceof qe){if(!(l=Tw(t,i,a-s,o-s,r)))break;return r?new qe(e.type,e.children.slice(0,n).concat(l),e.positions.slice(0,n+1),s+l.length):l}}return null}function DT(t,e,a,o,r){for(let n of e){let s=n.from+(n.openStart?25:0),i=n.to-(n.openEnd?25:0),l=s<=a&&i>a&&Sp(t,n.tree,0-n.offset,a,i),u;if(l&&l.pos<=o&&(u=Tw(t,n.tree,a+n.offset,l.pos+n.offset,!1)))return{state:l.state,tree:u}}return{state:t.streamParser.startState(r?Wo(r):4),tree:qe.empty}}var Cp=class{constructor(e,a,o,r){this.lang=e,this.input=a,this.fragments=o,this.ranges=r,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=r[r.length-1].to;let n=ni.get(),s=r[0].from,{state:i,tree:l}=DT(e,o,s,this.to,n?.state);this.state=i,this.parsedPos=this.chunkStart=s+l.length;for(let u=0;u<l.children.length;u++)this.chunks.push(l.children[u]),this.chunkPos.push(l.positions[u]);n&&this.parsedPos<n.viewport.from-1e5&&r.some(u=>u.from<=n.viewport.from&&u.to>=n.viewport.from)&&(this.state=this.lang.streamParser.startState(Wo(n.state)),n.skipUntilInView(this.parsedPos,n.viewport.from),this.parsedPos=n.viewport.from),this.moveRangeIndex()}advance(){let e=ni.get(),a=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt),o=Math.min(a,this.chunkStart+512);for(e&&(o=Math.min(o,e.viewport.to));this.parsedPos<o;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=a?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,a),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let a=this.input.chunk(e);if(this.input.lineChunks)a==`
19
19
  `&&(a="");else{let o=a.indexOf(`
20
- `);o>-1&&(a=a.slice(0,o))}return e+a.length<=this.to?a:a.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,a=this.lineAfter(e),o=e+a.length;for(let r=this.rangeIndex;;){let n=this.ranges[r].to;if(n>=o||(a=a.slice(0,n-(o-a.length)),r++,r==this.ranges.length))break;let s=this.ranges[r].from,i=this.lineAfter(s);a+=i,o=s+i.length}return{line:a,end:o}}skipGapsTo(e,a,o){for(;;){let r=this.ranges[this.rangeIndex].to,n=e+a;if(o>0?r>n:r>=n)break;let s=this.ranges[++this.rangeIndex].from;a+=s-r}return a}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,a,o,r){let n=4;if(this.ranges.length>1){r=this.skipGapsTo(a,r,1),a+=r;let i=this.chunk.length;r=this.skipGapsTo(o,r,-1),o+=r,n+=this.chunk.length-i}let s=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&n==4&&s>=0&&this.chunk[s]==e&&this.chunk[s+2]==a?this.chunk[s+2]=o:this.chunk.push(e,a,o,n),r}parseLine(e){let{line:a,end:o}=this.nextLine(),r=0,{streamParser:n}=this.lang,s=new Lu(a,e?e.state.tabSize:4,e?zo(e.state):2);if(s.eol())n.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let i=Lw(n.token,s,this.state);if(i&&(r=this.emitToken(this.lang.tokenTable.resolve(i),this.parsedPos+s.start,this.parsedPos+s.pos,r)),s.start>1e4)break}this.parsedPos=o,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=ze.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:pT,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new ze(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new ze(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function Lw(t,e,a){e.start=e.pos;for(let o=0;o<10;o++){let r=t(e,a);if(e.pos>e.start)return r}throw new Error("Stream parser failed to advance stream.")}var pp=Object.create(null),Qs=[At.none],pT=new pu(Qs),uw=[],dw=Object.create(null),Cw=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Cw[t]=vw(pp,e);var vu=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Cw)}resolve(e){return e?this.table[e]||(this.table[e]=vw(this.extra,e)):0}},mT=new vu(pp);function rp(t,e){uw.indexOf(t)>-1||(uw.push(t),console.warn(e))}function vw(t,e){let a=[];for(let i of e.split(" ")){let l=[];for(let u of i.split(".")){let d=t[u]||b[u];d?typeof d=="function"?l.length?l=l.map(d):rp(u,`Modifier ${u} used at start of tag`):l.length?rp(u,`Tag ${u} used as modifier`):l=Array.isArray(d)?d:[d]:rp(u,`Unknown highlighting tag ${u}`)}for(let u of l)a.push(u)}if(!a.length)return 0;let o=e.replace(/ /g,"_"),r=o+" "+a.map(i=>i.id),n=dw[r];if(n)return n.id;let s=dw[r]=At.define({id:Qs.length,name:o,props:[tw({[o]:a})]});return Qs.push(s),s.id}function gT(t,e){let a=At.define({id:Qs.length,name:"Document",props:[Nn.add(()=>t),fw.add(()=>o=>e.getIndent(o))],top:!0});return Qs.push(a),a}var Q4={rtl:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:Ie.RTL}),ltr:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:Ie.LTR}),auto:pe.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var xT=t=>{let{state:e}=t,a=e.doc.lineAt(e.selection.main.from),o=Lp(t.state,a.from);return o.line?bT(t):o.block?yT(t):!1};function yp(t,e){return({state:a,dispatch:o})=>{if(a.readOnly)return!1;let r=t(e,a);return r?(o(a.update(r)),!0):!1}}var bT=yp(vT,0);var wT=yp(Tw,0);var yT=yp((t,e)=>Tw(t,e,CT(e)),0);function Lp(t,e){let a=t.languageDataAt("commentTokens",e,1);return a.length?a[0]:{}}var ti=50;function LT(t,{open:e,close:a},o,r){let n=t.sliceDoc(o-ti,o),s=t.sliceDoc(r,r+ti),i=/\s*$/.exec(n)[0].length,l=/^\s*/.exec(s)[0].length,u=n.length-i;if(n.slice(u-e.length,u)==e&&s.slice(l,l+a.length)==a)return{open:{pos:o-i,margin:i&&1},close:{pos:r+l,margin:l&&1}};let d,c;r-o<=2*ti?d=c=t.sliceDoc(o,r):(d=t.sliceDoc(o,o+ti),c=t.sliceDoc(r-ti,r));let f=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(c)[0].length,p=c.length-h-a.length;return d.slice(f,f+e.length)==e&&c.slice(p,p+a.length)==a?{open:{pos:o+f+e.length,margin:/\s/.test(d.charAt(f+e.length))?1:0},close:{pos:r-h-a.length,margin:/\s/.test(c.charAt(p-1))?1:0}}:null}function CT(t){let e=[];for(let a of t.selection.ranges){let o=t.doc.lineAt(a.from),r=a.to<=o.to?o:t.doc.lineAt(a.to);r.from>o.from&&r.from==a.to&&(r=a.to==o.to+1?o:t.doc.lineAt(a.to-1));let n=e.length-1;n>=0&&e[n].to>o.from?e[n].to=r.to:e.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:r.to})}return e}function Tw(t,e,a=e.selection.ranges){let o=a.map(n=>Lp(e,n.from).block);if(!o.every(n=>n))return null;let r=a.map((n,s)=>LT(e,o[s],n.from,n.to));if(t!=2&&!r.every(n=>n))return{changes:e.changes(a.map((n,s)=>r[s]?[]:[{from:n.from,insert:o[s].open+" "},{from:n.to,insert:" "+o[s].close}]))};if(t!=1&&r.some(n=>n)){let n=[];for(let s=0,i;s<r.length;s++)if(i=r[s]){let l=o[s],{open:u,close:d}=i;n.push({from:u.pos-l.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+l.close.length})}return{changes:n}}return null}function vT(t,e,a=e.selection.ranges){let o=[],r=-1;e:for(let{from:n,to:s}of a){let i=o.length,l=1e9,u;for(let d=n;d<=s;){let c=e.doc.lineAt(d);if(u==null&&(u=Lp(e,c.from).line,!u))continue e;if(c.from>r&&(n==s||s>c.from)){r=c.from;let f=/^\s*/.exec(c.text)[0].length,h=f==c.length,p=c.text.slice(f,f+u.length)==u?f:-1;f<c.text.length&&f<l&&(l=f),o.push({line:c,comment:p,token:u,indent:f,empty:h,single:!1})}d=c.to+1}if(l<1e9)for(let d=i;d<o.length;d++)o[d].indent<o[d].line.text.length&&(o[d].indent=l);o.length==i+1&&(o[i].single=!0)}if(t!=2&&o.some(n=>n.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:i,token:l,indent:u,empty:d,single:c}of o)(c||!d)&&n.push({from:i.from+u,insert:l+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&o.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:i,token:l}of o)if(i>=0){let u=s.from+i,d=u+l.length;s.text[d-s.from]==" "&&d++,n.push({from:u,to:d})}return{changes:n}}return null}var gp=Et.define(),ST=Et.define(),IT=Y.define(),Ew=Y.define({combine(t){return Ft(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,a)=>a},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,a)=>(o,r)=>e(o,r)||a(o,r)})}}),Bw=Ve.define({create(){return Er.empty},update(t,e){let a=e.state.facet(Ew),o=e.annotation(gp);if(o){let l=va.fromTransaction(e,o.selection),u=o.side,d=u==0?t.undone:t.done;return l?d=Iu(d,d.length,a.minDepth,l):d=_w(d,e.startState.selection),new Er(u==0?o.rest:d,u==0?d:o.rest)}let r=e.annotation(ST);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(ot.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let n=va.fromTransaction(e),s=e.annotation(ot.time),i=e.annotation(ot.userEvent);return n?t=t.addChanges(n,s,i,a,e):e.selection&&(t=t.addSelection(e.startState.selection,s,i,a.newGroupDelay)),(r=="full"||r=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Er(t.done.map(va.fromJSON),t.undone.map(va.fromJSON))}});function Fw(t={}){return[Bw,Ew.of(t),Z.domEventHandlers({beforeinput(e,a){let o=e.inputType=="historyUndo"?Ow:e.inputType=="historyRedo"?xp:null;return o?(e.preventDefault(),o(a)):!1}})]}function ku(t,e){return function({state:a,dispatch:o}){if(!e&&a.readOnly)return!1;let r=a.field(Bw,!1);if(!r)return!1;let n=r.pop(t,a,e);return n?(o(n),!0):!1}}var Ow=ku(0,!1),xp=ku(1,!1),kT=ku(0,!0),AT=ku(1,!0);var va=class t{constructor(e,a,o,r,n){this.changes=e,this.effects=a,this.mapped=o,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new t(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,a,o;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(a=this.mapped)===null||a===void 0?void 0:a.toJSON(),startSelection:(o=this.startSelection)===null||o===void 0?void 0:o.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new t(e.changes&&It.fromJSON(e.changes),[],e.mapped&&uo.fromJSON(e.mapped),e.startSelection&&X.fromJSON(e.startSelection),e.selectionsAfter.map(X.fromJSON))}static fromTransaction(e,a){let o=la;for(let r of e.startState.facet(IT)){let n=r(e);n.length&&(o=o.concat(n))}return!o.length&&e.changes.empty?null:new t(e.changes.invert(e.startState.doc),o,void 0,a||e.startState.selection,la)}static selection(e){return new t(void 0,la,void 0,void 0,e)}};function Iu(t,e,a,o){let r=e+1>a+20?e-a-1:0,n=t.slice(r,e);return n.push(o),n}function MT(t,e){let a=[],o=!1;return t.iterChangedRanges((r,n)=>a.push(r,n)),e.iterChangedRanges((r,n,s,i)=>{for(let l=0;l<a.length;){let u=a[l++],d=a[l++];i>=u&&s<=d&&(o=!0)}}),o}function PT(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((a,o)=>a.empty!=e.ranges[o].empty).length===0}function Nw(t,e){return t.length?e.length?t.concat(e):t:e}var la=[],DT=200;function _w(t,e){if(t.length){let a=t[t.length-1],o=a.selectionsAfter.slice(Math.max(0,a.selectionsAfter.length-DT));return o.length&&o[o.length-1].eq(e)?t:(o.push(e),Iu(t,t.length-1,1e9,a.setSelAfter(o)))}else return[va.selection([e])]}function RT(t){let e=t[t.length-1],a=t.slice();return a[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),a}function mp(t,e){if(!t.length)return t;let a=t.length,o=la;for(;a;){let r=TT(t[a-1],e,o);if(r.changes&&!r.changes.empty||r.effects.length){let n=t.slice(0,a);return n[a-1]=r,n}else e=r.mapped,a--,o=r.selectionsAfter}return o.length?[va.selection(o)]:la}function TT(t,e,a){let o=Nw(t.selectionsAfter.length?t.selectionsAfter.map(i=>i.map(e)):la,a);if(!t.changes)return va.selection(o);let r=t.changes.map(e),n=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(n):n;return new va(r,de.mapEffects(t.effects,e),s,t.startSelection.map(n),o)}var ET=/^(input\.type|delete)($|\.)/,Er=class t{constructor(e,a,o=0,r=void 0){this.done=e,this.undone=a,this.prevTime=o,this.prevUserEvent=r}isolate(){return this.prevTime?new t(this.done,this.undone):this}addChanges(e,a,o,r,n){let s=this.done,i=s[s.length-1];return i&&i.changes&&!i.changes.empty&&e.changes&&(!o||ET.test(o))&&(!i.selectionsAfter.length&&a-this.prevTime<r.newGroupDelay&&r.joinToEvent(n,MT(i.changes,e.changes))||o=="input.type.compose")?s=Iu(s,s.length-1,r.minDepth,new va(e.changes.compose(i.changes),Nw(de.mapEffects(e.effects,i.changes),i.effects),i.mapped,i.startSelection,la)):s=Iu(s,s.length,r.minDepth,e),new t(s,la,a,o)}addSelection(e,a,o,r){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:la;return n.length>0&&a-this.prevTime<r&&o==this.prevUserEvent&&o&&/^select($|\.)/.test(o)&&PT(n[n.length-1],e)?this:new t(_w(this.done,e),this.undone,a,o)}addMapping(e){return new t(mp(this.done,e),mp(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,a,o){let r=e==0?this.done:this.undone;if(r.length==0)return null;let n=r[r.length-1],s=n.selectionsAfter[0]||(n.startSelection?n.startSelection.map(n.changes.invertedDesc,1):a.selection);if(o&&n.selectionsAfter.length)return a.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:gp.of({side:e,rest:RT(r),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let i=r.length==1?la:r.slice(0,r.length-1);return n.mapped&&(i=mp(i,n.mapped)),a.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:gp.of({side:e,rest:i,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};Er.empty=new Er(la,la);var Hw=[{key:"Mod-z",run:Ow,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:xp,preventDefault:!0},{linux:"Ctrl-Shift-z",run:xp,preventDefault:!0},{key:"Mod-u",run:kT,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:AT,preventDefault:!0}];function zn(t,e){return X.create(t.ranges.map(e),t.mainIndex)}function Sa(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Ia({state:t,dispatch:e},a){let o=zn(t.selection,a);return o.eq(t.selection,!0)?!1:(e(Sa(t,o)),!0)}function Au(t,e){return X.cursor(e?t.to:t.from)}function zw(t,e){return Ia(t,a=>a.empty?t.moveByChar(a,e):Au(a,e))}function Lt(t){return t.textDirectionAt(t.state.selection.main.head)==Ie.LTR}var qw=t=>zw(t,!Lt(t)),Uw=t=>zw(t,Lt(t));function Ww(t,e){return Ia(t,a=>a.empty?t.moveByGroup(a,e):Au(a,e))}var BT=t=>Ww(t,!Lt(t)),FT=t=>Ww(t,Lt(t));var lG=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function OT(t,e,a){if(e.type.prop(a))return!0;let o=e.to-e.from;return o&&(o>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Mu(t,e,a){let o=Mt(t).resolveInner(e.head),r=a?he.closedBy:he.openedBy;for(let l=e.head;;){let u=a?o.childAfter(l):o.childBefore(l);if(!u)break;OT(t,u,r)?o=u:l=a?u.to:u.from}let n=o.type.prop(r),s,i;return n&&(s=a?Ca(t,o.from,1):Ca(t,o.to,-1))&&s.matched?i=a?s.end.to:s.end.from:i=a?o.to:o.from,X.cursor(i,a?-1:1)}var NT=t=>Ia(t,e=>Mu(t.state,e,!Lt(t))),_T=t=>Ia(t,e=>Mu(t.state,e,Lt(t)));function Vw(t,e){return Ia(t,a=>{if(!a.empty)return Au(a,e);let o=t.moveVertically(a,e);return o.head!=a.head?o:t.moveToLineBoundary(a,e)})}var Gw=t=>Vw(t,!1),$w=t=>Vw(t,!0);function Xw(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,a=0,o=0,r;if(e){for(let n of t.state.facet(Z.scrollMargins)){let s=n(t);s?.top&&(a=Math.max(s?.top,a)),s?.bottom&&(o=Math.max(s?.bottom,o))}r=t.scrollDOM.clientHeight-a-o}else r=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:a,marginBottom:o,selfScroll:e,height:Math.max(t.defaultLineHeight,r-5)}}function Kw(t,e){let a=Xw(t),{state:o}=t,r=zn(o.selection,s=>s.empty?t.moveVertically(s,e,a.height):Au(s,e));if(r.eq(o.selection))return!1;let n;if(a.selfScroll){let s=t.coordsAtPos(o.selection.main.head),i=t.scrollDOM.getBoundingClientRect(),l=i.top+a.marginTop,u=i.bottom-a.marginBottom;s&&s.top>l&&s.bottom<u&&(n=Z.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-l}))}return t.dispatch(Sa(o,r),{effects:n}),!0}var Sw=t=>Kw(t,!1),bp=t=>Kw(t,!0);function Uo(t,e,a){let o=t.lineBlockAt(e.head),r=t.moveToLineBoundary(e,a);if(r.head==e.head&&r.head!=(a?o.to:o.from)&&(r=t.moveToLineBoundary(e,a,!1)),!a&&r.head==o.from&&o.length){let n=/^\s*/.exec(t.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;n&&e.head!=o.from+n&&(r=X.cursor(o.from+n))}return r}var HT=t=>Ia(t,e=>Uo(t,e,!0)),zT=t=>Ia(t,e=>Uo(t,e,!1)),qT=t=>Ia(t,e=>Uo(t,e,!Lt(t))),UT=t=>Ia(t,e=>Uo(t,e,Lt(t))),WT=t=>Ia(t,e=>X.cursor(t.lineBlockAt(e.head).from,1)),VT=t=>Ia(t,e=>X.cursor(t.lineBlockAt(e.head).to,-1));function GT(t,e,a){let o=!1,r=zn(t.selection,n=>{let s=Ca(t,n.head,-1)||Ca(t,n.head,1)||n.head>0&&Ca(t,n.head-1,1)||n.head<t.doc.length&&Ca(t,n.head+1,-1);if(!s||!s.end)return n;o=!0;let i=s.start.from==n.head?s.end.to:s.end.from;return a?X.range(n.anchor,i):X.cursor(i)});return o?(e(Sa(t,r)),!0):!1}var $T=({state:t,dispatch:e})=>GT(t,e,!1);function ua(t,e){let a=zn(t.state.selection,o=>{let r=e(o);return X.range(o.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return a.eq(t.state.selection)?!1:(t.dispatch(Sa(t.state,a)),!0)}function jw(t,e){return ua(t,a=>t.moveByChar(a,e))}var Zw=t=>jw(t,!Lt(t)),Yw=t=>jw(t,Lt(t));function Jw(t,e){return ua(t,a=>t.moveByGroup(a,e))}var XT=t=>Jw(t,!Lt(t)),KT=t=>Jw(t,Lt(t));var jT=t=>ua(t,e=>Mu(t.state,e,!Lt(t))),ZT=t=>ua(t,e=>Mu(t.state,e,Lt(t)));function Qw(t,e){return ua(t,a=>t.moveVertically(a,e))}var ey=t=>Qw(t,!1),ty=t=>Qw(t,!0);function ay(t,e){return ua(t,a=>t.moveVertically(a,e,Xw(t).height))}var Iw=t=>ay(t,!1),kw=t=>ay(t,!0),YT=t=>ua(t,e=>Uo(t,e,!0)),JT=t=>ua(t,e=>Uo(t,e,!1)),QT=t=>ua(t,e=>Uo(t,e,!Lt(t))),eE=t=>ua(t,e=>Uo(t,e,Lt(t))),tE=t=>ua(t,e=>X.cursor(t.lineBlockAt(e.head).from)),aE=t=>ua(t,e=>X.cursor(t.lineBlockAt(e.head).to)),Aw=({state:t,dispatch:e})=>(e(Sa(t,{anchor:0})),!0),Mw=({state:t,dispatch:e})=>(e(Sa(t,{anchor:t.doc.length})),!0),Pw=({state:t,dispatch:e})=>(e(Sa(t,{anchor:t.selection.main.anchor,head:0})),!0),Dw=({state:t,dispatch:e})=>(e(Sa(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),oE=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),rE=({state:t,dispatch:e})=>{let a=Pu(t).map(({from:o,to:r})=>X.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:X.create(a),userEvent:"select"})),!0},nE=({state:t,dispatch:e})=>{let a=zn(t.selection,o=>{let r=Mt(t),n=r.resolveStack(o.from,1);if(o.empty){let s=r.resolveStack(o.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:i}=s;if((i.from<o.from&&i.to>=o.to||i.to>o.to&&i.from<=o.from)&&s.next)return X.range(i.to,i.from)}return o});return a.eq(t.selection)?!1:(e(Sa(t,a)),!0)};function oy(t,e){let{state:a}=t,o=a.selection,r=a.selection.ranges.slice();for(let n of a.selection.ranges){let s=a.doc.lineAt(n.head);if(e?s.to<t.state.doc.length:s.from>0)for(let i=n;;){let l=t.moveVertically(i,e);if(l.head<s.from||l.head>s.to){r.some(u=>u.head==l.head)||r.push(l);break}else{if(l.head==i.head)break;i=l}}}return r.length==o.ranges.length?!1:(t.dispatch(Sa(a,X.create(r,r.length-1))),!0)}var sE=t=>oy(t,!1),iE=t=>oy(t,!0),lE=({state:t,dispatch:e})=>{let a=t.selection,o=null;return a.ranges.length>1?o=X.create([a.main]):a.main.empty||(o=X.create([X.cursor(a.main.head)])),o?(e(Sa(t,o)),!0):!1};function ai(t,e){if(t.state.readOnly)return!1;let a="delete.selection",{state:o}=t,r=o.changeByRange(n=>{let{from:s,to:i}=n;if(s==i){let l=e(n);l<s?(a="delete.backward",l=Su(t,l,!1)):l>s&&(a="delete.forward",l=Su(t,l,!0)),s=Math.min(s,l),i=Math.max(i,l)}else s=Su(t,s,!1),i=Su(t,i,!0);return s==i?{range:n}:{changes:{from:s,to:i},range:X.cursor(s,s<n.head?-1:1)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:a,effects:a=="delete.selection"?Z.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function Su(t,e,a){if(t instanceof Z)for(let o of t.state.facet(Z.atomicRanges).map(r=>r(t)))o.between(e,e,(r,n)=>{r<e&&n>e&&(e=a?n:r)});return e}var ry=(t,e,a)=>ai(t,o=>{let r=o.from,{state:n}=t,s=n.doc.lineAt(r),i,l;if(a&&!e&&r>s.from&&r<s.from+200&&!/[^ \t]/.test(i=s.text.slice(0,r-s.from))){if(i[i.length-1]==" ")return r-1;let u=wr(i,n.tabSize),d=u%zo(n)||zo(n);for(let c=0;c<d&&i[i.length-1-c]==" ";c++)r--;l=r}else l=je(s.text,r-s.from,e,e)+s.from,l==r&&s.number!=(e?n.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,r-s.from))&&(l=je(s.text,l-s.from,!1,!1)+s.from);return l}),wp=t=>ry(t,!1,!0);var ny=t=>ry(t,!0,!1),sy=(t,e)=>ai(t,a=>{let o=a.head,{state:r}=t,n=r.doc.lineAt(o),s=r.charCategorizer(o);for(let i=null;;){if(o==(e?n.to:n.from)){o==a.head&&n.number!=(e?r.doc.lines:1)&&(o+=e?1:-1);break}let l=je(n.text,o-n.from,e)+n.from,u=n.text.slice(Math.min(o,l)-n.from,Math.max(o,l)-n.from),d=s(u);if(i!=null&&d!=i)break;(u!=" "||o!=a.head)&&(i=d),o=l}return o}),iy=t=>sy(t,!1),uE=t=>sy(t,!0);var dE=t=>ai(t,e=>{let a=t.lineBlockAt(e.head).to;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var cE=t=>ai(t,e=>{let a=t.moveToLineBoundary(e,!1).head;return e.head>a?a:Math.max(0,e.head-1)}),fE=t=>ai(t,e=>{let a=t.moveToLineBoundary(e,!0).head;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var hE=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:we.of(["",""])},range:X.cursor(o.from)}));return e(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0},pE=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>{if(!o.empty||o.from==0||o.from==t.doc.length)return{range:o};let r=o.from,n=t.doc.lineAt(r),s=r==n.from?r-1:je(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:je(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:i,insert:t.doc.slice(r,i).append(t.doc.slice(s,r))},range:X.cursor(i)}});return a.changes.empty?!1:(e(t.update(a,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Pu(t){let e=[],a=-1;for(let o of t.selection.ranges){let r=t.doc.lineAt(o.from),n=t.doc.lineAt(o.to);if(!o.empty&&o.to==n.from&&(n=t.doc.lineAt(o.to-1)),a>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(o)}else e.push({from:r.from,to:n.to,ranges:[o]});a=n.number+1}return e}function ly(t,e,a){if(t.readOnly)return!1;let o=[],r=[];for(let n of Pu(t)){if(a?n.to==t.doc.length:n.from==0)continue;let s=t.doc.lineAt(a?n.to+1:n.from-1),i=s.length+1;if(a){o.push({from:n.to,to:s.to},{from:n.from,insert:s.text+t.lineBreak});for(let l of n.ranges)r.push(X.range(Math.min(t.doc.length,l.anchor+i),Math.min(t.doc.length,l.head+i)))}else{o.push({from:s.from,to:n.from},{from:n.to,insert:t.lineBreak+s.text});for(let l of n.ranges)r.push(X.range(l.anchor-i,l.head-i))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:X.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var mE=({state:t,dispatch:e})=>ly(t,e,!1),gE=({state:t,dispatch:e})=>ly(t,e,!0);function uy(t,e,a){if(t.readOnly)return!1;let o=[];for(let n of Pu(t))a?o.push({from:n.from,insert:t.doc.slice(n.from,n.to)+t.lineBreak}):o.push({from:n.to,insert:t.lineBreak+t.doc.slice(n.from,n.to)});let r=t.changes(o);return e(t.update({changes:r,selection:t.selection.map(r,a?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var xE=({state:t,dispatch:e})=>uy(t,e,!1),bE=({state:t,dispatch:e})=>uy(t,e,!0),wE=t=>{if(t.state.readOnly)return!1;let{state:e}=t,a=e.changes(Pu(e).map(({from:r,to:n})=>(r>0?r--:n<e.doc.length&&n++,{from:r,to:n}))),o=zn(e.selection,r=>{let n;if(t.lineWrapping){let s=t.lineBlockAt(r.head),i=t.coordsAtPos(r.head,r.assoc||1);i&&(n=s.bottom+t.documentTop-i.bottom+t.defaultLineHeight/2)}return t.moveVertically(r,!0,n)}).map(a);return t.dispatch({changes:a,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function yE(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let a=Mt(t).resolveInner(e),o=a.childBefore(e),r=a.childAfter(e),n;return o&&r&&o.to<=e&&r.from>=e&&(n=o.type.prop(he.closedBy))&&n.indexOf(r.name)>-1&&t.doc.lineAt(o.to).from==t.doc.lineAt(r.from).from&&!/\S/.test(t.sliceDoc(o.to,r.from))?{from:o.to,to:r.from}:null}var Rw=dy(!1),LE=dy(!0);function dy(t){return({state:e,dispatch:a})=>{if(e.readOnly)return!1;let o=e.changeByRange(r=>{let{from:n,to:s}=r,i=e.doc.lineAt(n),l=!t&&n==s&&yE(e,n);t&&(n=s=(s<=i.to?i:e.doc.lineAt(s)).to);let u=new Tr(e,{simulateBreak:n,simulateDoubleBreak:!!l}),d=fp(u,n);for(d==null&&(d=wr(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));s<i.to&&/\s/.test(i.text[s-i.from]);)s++;l?{from:n,to:s}=l:n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let c=["",ei(e,d)];return l&&c.push(ei(e,u.lineIndent(i.from,-1))),{changes:{from:n,to:s,insert:we.of(c)},range:X.cursor(n+1+c[1].length)}});return a(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function Cp(t,e){let a=-1;return t.changeByRange(o=>{let r=[];for(let s=o.from;s<=o.to;){let i=t.doc.lineAt(s);i.number>a&&(o.empty||o.to>i.from)&&(e(i,r,o),a=i.number),s=i.to+1}let n=t.changes(r);return{changes:r,range:X.range(n.mapPos(o.anchor,1),n.mapPos(o.head,1))}})}var CE=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=Object.create(null),o=new Tr(t,{overrideIndentation:n=>{let s=a[n];return s??-1}}),r=Cp(t,(n,s,i)=>{let l=fp(o,n.from);if(l==null)return;/\S/.test(n.text)||(l=0);let u=/^\s*/.exec(n.text)[0],d=ei(t,l);(u!=d||i.from<n.from+u.length)&&(a[n.from]=l,s.push({from:n.from,to:n.from+u.length,insert:d}))});return r.changes.empty||e(t.update(r,{userEvent:"indent"})),!0},cy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Cp(t,(a,o)=>{o.push({from:a.from,insert:t.facet(mo)})}),{userEvent:"input.indent"})),!0),fy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Cp(t,(a,o)=>{let r=/^\s*/.exec(a.text)[0];if(!r)return;let n=wr(r,t.tabSize),s=0,i=ei(t,Math.max(0,n-zo(t)));for(;s<r.length&&s<i.length&&r.charCodeAt(s)==i.charCodeAt(s);)s++;o.push({from:a.from+s,to:a.from+r.length,insert:i.slice(s)})}),{userEvent:"delete.dedent"})),!0),vE=t=>(t.setTabFocusMode(),!0);var SE=[{key:"Ctrl-b",run:qw,shift:Zw,preventDefault:!0},{key:"Ctrl-f",run:Uw,shift:Yw},{key:"Ctrl-p",run:Gw,shift:ey},{key:"Ctrl-n",run:$w,shift:ty},{key:"Ctrl-a",run:WT,shift:tE},{key:"Ctrl-e",run:VT,shift:aE},{key:"Ctrl-d",run:ny},{key:"Ctrl-h",run:wp},{key:"Ctrl-k",run:dE},{key:"Ctrl-Alt-h",run:iy},{key:"Ctrl-o",run:hE},{key:"Ctrl-t",run:pE},{key:"Ctrl-v",run:bp}],IE=[{key:"ArrowLeft",run:qw,shift:Zw,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:BT,shift:XT,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:qT,shift:QT,preventDefault:!0},{key:"ArrowRight",run:Uw,shift:Yw,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:FT,shift:KT,preventDefault:!0},{mac:"Cmd-ArrowRight",run:UT,shift:eE,preventDefault:!0},{key:"ArrowUp",run:Gw,shift:ey,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Aw,shift:Pw},{mac:"Ctrl-ArrowUp",run:Sw,shift:Iw},{key:"ArrowDown",run:$w,shift:ty,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Mw,shift:Dw},{mac:"Ctrl-ArrowDown",run:bp,shift:kw},{key:"PageUp",run:Sw,shift:Iw},{key:"PageDown",run:bp,shift:kw},{key:"Home",run:zT,shift:JT,preventDefault:!0},{key:"Mod-Home",run:Aw,shift:Pw},{key:"End",run:HT,shift:YT,preventDefault:!0},{key:"Mod-End",run:Mw,shift:Dw},{key:"Enter",run:Rw,shift:Rw},{key:"Mod-a",run:oE},{key:"Backspace",run:wp,shift:wp,preventDefault:!0},{key:"Delete",run:ny,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:iy,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:uE,preventDefault:!0},{mac:"Mod-Backspace",run:cE,preventDefault:!0},{mac:"Mod-Delete",run:fE,preventDefault:!0}].concat(SE.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),hy=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:NT,shift:jT},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:_T,shift:ZT},{key:"Alt-ArrowUp",run:mE},{key:"Shift-Alt-ArrowUp",run:xE},{key:"Alt-ArrowDown",run:gE},{key:"Shift-Alt-ArrowDown",run:bE},{key:"Mod-Alt-ArrowUp",run:sE},{key:"Mod-Alt-ArrowDown",run:iE},{key:"Escape",run:lE},{key:"Mod-Enter",run:LE},{key:"Alt-l",mac:"Ctrl-l",run:rE},{key:"Mod-i",run:nE,preventDefault:!0},{key:"Mod-[",run:fy},{key:"Mod-]",run:cy},{key:"Mod-Alt-\\",run:CE},{key:"Shift-Mod-k",run:wE},{key:"Shift-Mod-\\",run:$T},{key:"Mod-/",run:xT},{key:"Alt-A",run:wT},{key:"Ctrl-m",mac:"Shift-Alt-m",run:vE}].concat(IE),py={key:"Tab",run:cy,shift:fy};var Tu=class{constructor(e,a,o){this.from=e,this.to=a,this.diagnostic=o}},Br=class t{constructor(e,a,o){this.diagnostics=e,this.panel=a,this.selected=o}static init(e,a,o){let r=o.facet(oi).markerFilter;r&&(e=r(e,o));let n=e.slice().sort((h,p)=>h.from-p.from||h.to-p.to),s=new xa,i=[],l=0,u=o.doc.iter(),d=0,c=o.doc.length;for(let h=0;;){let p=h==n.length?null:n[h];if(!p&&!i.length)break;let m,g;if(i.length)m=l,g=i.reduce((w,C)=>Math.min(w,C.to),p&&p.from>m?p.from:1e8);else{if(m=p.from,m>c)break;g=p.to,i.push(p),h++}for(;h<n.length;){let w=n[h];if(w.from==m&&(w.to>w.from||w.to==m))i.push(w),h++,g=Math.min(w.to,g);else{g=Math.min(w.from,g);break}}g=Math.min(g,c);let x=!1;if(i.some(w=>w.from==m&&(w.to==g||g==c))&&(x=m==g,!x&&g-m<10)){let w=m-(d+u.value.length);w>0&&(u.next(w),d=m);for(let C=m;;){if(C>=g){x=!0;break}if(!u.lineBreak&&d+u.value.length>C)break;C=d+u.value.length,d+=u.value.length,u.next()}}let y=Sy(i);if(x)s.add(m,m,pe.widget({widget:new vp(y),diagnostics:i.slice()}));else{let w=i.reduce((C,I)=>I.markClass?C+" "+I.markClass:C,"");s.add(m,g,pe.mark({class:"cm-lintRange cm-lintRange-"+y+w,diagnostics:i.slice(),inclusiveEnd:i.some(C=>C.to>g)}))}if(l=g,l==c)break;for(let w=0;w<i.length;w++)i[w].to<=l&&i.splice(w--,1)}let f=s.finish();return new t(f,a,qn(f))}};function qn(t,e=null,a=0){let o=null;return t.between(a,1e9,(r,n,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!o)o=new Tu(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(o.diagnostic)<0)return!1;o=new Tu(o.from,n,o.diagnostic)}}),o}function xy(t,e){let a=e.pos,o=e.end||a,r=t.state.facet(oi).hideOn(t,a,o);if(r!=null)return r;let n=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(Ou))||t.changes.touchesRange(n.from,Math.max(n.to,o)))}function kE(t,e){return t.field(ka,!1)?e:e.concat(de.appendConfig.of(NE))}function by(t,e){return{effects:kE(t,[Ou.of(e)])}}var Ou=de.define(),wy=de.define(),yy=de.define(),ka=Ve.define({create(){return new Br(pe.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let a=t.diagnostics.map(e.changes),o=null,r=t.panel;if(t.selected){let n=e.changes.mapPos(t.selected.from,1);o=qn(a,t.selected.diagnostic,n)||qn(a,null,n)}!a.size&&r&&e.state.facet(oi).autoPanel&&(r=null),t=new Br(a,r,o)}for(let a of e.effects)if(a.is(Ou)){let o=e.state.facet(oi).autoPanel?a.value.length?Bu.open:null:t.panel;t=Br.init(a.value,o,e.state)}else a.is(wy)?t=new Br(t.diagnostics,a.value?Bu.open:null,t.selected):a.is(yy)&&(t=new Br(t.diagnostics,t.panel,a.value));return t},provide:t=>[kr.from(t,e=>e.panel),Z.decorations.from(t,e=>e.diagnostics)]});var AE=pe.mark({class:"cm-lintRange cm-lintRange-active"});function ME(t,e,a){let{diagnostics:o}=t.state.field(ka),r,n=-1,s=-1;o.between(e-(a<0?1:0),e+(a>0?1:0),(l,u,{spec:d})=>{if(e>=l&&e<=u&&(l==u||(e>l||a>0)&&(e<u||a<0)))return r=d.diagnostics,n=l,s=u,!1});let i=t.state.facet(oi).tooltipFilter;return r&&i&&(r=i(r,t.state)),r?{pos:n,end:s,above:!0,create(){return{dom:Ly(t,r)}}}:null}function Ly(t,e){return Ce("ul",{class:"cm-tooltip-lint"},e.map(a=>vy(t,a,!1)))}var my=t=>{let e=t.state.field(ka,!1);return!e||!e.panel?!1:(t.dispatch({effects:wy.of(!1)}),!0)};var oi=Y.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Ft(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:gy,tooltipFilter:gy,needsRefresh:(e,a)=>e?a?o=>e(o)||a(o):e:a,hideOn:(e,a)=>e?a?(o,r,n)=>e(o,r,n)||a(o,r,n):e:a,autoPanel:(e,a)=>e||a})}}});function gy(t,e){return t?e?(a,o)=>e(t(a,o),o):t:e}function Cy(t){let e=[];if(t)e:for(let{name:a}of t){for(let o=0;o<a.length;o++){let r=a[o];if(/[a-zA-Z]/.test(r)&&!e.some(n=>n.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function vy(t,e,a){var o;let r=a?Cy(e.actions):[];return Ce("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},Ce("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(o=e.actions)===null||o===void 0?void 0:o.map((n,s)=>{let i=!1,l=h=>{if(h.preventDefault(),i)return;i=!0;let p=qn(t.state.field(ka).diagnostics,e);p&&n.apply(t,p.from,p.to)},{name:u}=n,d=r[s]?u.indexOf(r[s]):-1,c=d<0?u:[u.slice(0,d),Ce("u",u.slice(d,d+1)),u.slice(d+1)],f=n.markClass?" "+n.markClass:"";return Ce("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[s]})"`}.`},c)}),e.source&&Ce("div",{class:"cm-diagnosticSource"},e.source))}var vp=class extends qa{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return Ce("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Eu=class{constructor(e,a){this.diagnostic=a,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=vy(e,a,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Bu=class t{constructor(e){this.view=e,this.items=[];let a=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)my(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=Cy(n.actions);for(let i=0;i<s.length;i++)if(s[i].toUpperCase().charCodeAt(0)==r.keyCode){let l=qn(this.view.state.field(ka).diagnostics,n);l&&n.actions[i].apply(e,l.from,l.to)}}else return;r.preventDefault()}},o=r=>{for(let n=0;n<this.items.length;n++)this.items[n].dom.contains(r.target)&&this.moveSelection(n)};this.list=Ce("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:a,onclick:o}),this.dom=Ce("div",{class:"cm-panel-lint"},this.list,Ce("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>my(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(ka).selected;if(!e)return-1;for(let a=0;a<this.items.length;a++)if(this.items[a].diagnostic==e.diagnostic)return a;return-1}update(){let{diagnostics:e,selected:a}=this.view.state.field(ka),o=0,r=!1,n=null,s=new Set;for(e.between(0,this.view.state.doc.length,(i,l,{spec:u})=>{for(let d of u.diagnostics){if(s.has(d))continue;s.add(d);let c=-1,f;for(let h=o;h<this.items.length;h++)if(this.items[h].diagnostic==d){c=h;break}c<0?(f=new Eu(this.view,d),this.items.splice(o,0,f),r=!0):(f=this.items[c],c>o&&(this.items.splice(o,c-o),r=!0)),a&&f.diagnostic==a.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),n=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),o++}});o<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Eu(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),n?(this.list.setAttribute("aria-activedescendant",n.id),this.view.requestMeasure({key:this,read:()=>({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:i,panel:l})=>{let u=l.height/this.list.offsetHeight;i.top<l.top?this.list.scrollTop-=(l.top-i.top)/u:i.bottom>l.bottom&&(this.list.scrollTop+=(i.bottom-l.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function a(){let o=e;e=o.nextSibling,o.remove()}for(let o of this.items)if(o.dom.parentNode==this.list){for(;e!=o.dom;)a();e=o.dom.nextSibling}else this.list.insertBefore(o.dom,e);for(;e;)a()}moveSelection(e){if(this.selectedIndex<0)return;let a=this.view.state.field(ka),o=qn(a.diagnostics,this.items[e].diagnostic);o&&this.view.dispatch({selection:{anchor:o.from,head:o.to},scrollIntoView:!0,effects:yy.of(o)})}static open(e){return new t(e)}};function Ru(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function Du(t){return Ru(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}var PE=Z.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Du("#f11")},".cm-lintRange-warning":{backgroundImage:Du("orange")},".cm-lintRange-info":{backgroundImage:Du("#999")},".cm-lintRange-hint":{backgroundImage:Du("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function DE(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function Sy(t){let e="hint",a=1;for(let o of t){let r=DE(o.severity);r>a&&(a=r,e=o.severity)}return e}var Fu=class extends ia{constructor(e){super(),this.diagnostics=e,this.severity=Sy(e)}toDOM(e){let a=document.createElement("div");a.className="cm-lint-marker cm-lint-marker-"+this.severity;let o=this.diagnostics,r=e.state.facet(Nu).tooltipFilter;return r&&(o=r(o,e.state)),o.length&&(a.onmouseover=()=>TE(e,a,o)),a}};function RE(t,e){let a=o=>{let r=e.getBoundingClientRect();if(!(o.clientX>r.left-10&&o.clientX<r.right+10&&o.clientY>r.top-10&&o.clientY<r.bottom+10)){for(let n=o.target;n;n=n.parentNode)if(n.nodeType==1&&n.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",a),t.state.field(Iy)&&t.dispatch({effects:Ip.of(null)})}};window.addEventListener("mousemove",a)}function TE(t,e,a){function o(){let s=t.elementAtHeight(e.getBoundingClientRect().top+5-t.documentTop);t.coordsAtPos(s.from)&&t.dispatch({effects:Ip.of({pos:s.from,above:!1,clip:!1,create(){return{dom:Ly(t,a),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,RE(t,e)}let{hoverTime:r}=t.state.facet(Nu),n=setTimeout(o,r);e.onmouseout=()=>{clearTimeout(n),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(n),n=setTimeout(o,r)}}function EE(t,e){let a=Object.create(null);for(let r of e){let n=t.lineAt(r.from);(a[n.from]||(a[n.from]=[])).push(r)}let o=[];for(let r in a)o.push(new Fu(a[r]).range(+r));return ye.of(o,!0)}var BE=Wh({class:"cm-gutter-lint",markers:t=>t.state.field(Sp),widgetMarker:(t,e,a)=>{let o=[];return t.state.field(Sp).between(a.from,a.to,(r,n,s)=>{r>a.from&&r<a.to&&o.push(...s.diagnostics)}),o.length?new Fu(o):null}}),Sp=Ve.define({create(){return ye.empty},update(t,e){t=t.map(e.changes);let a=e.state.facet(Nu).markerFilter;for(let o of e.effects)if(o.is(Ou)){let r=o.value;a&&(r=a(r||[],e.state)),t=EE(e.state.doc,r.slice(0))}return t}}),Ip=de.define(),Iy=Ve.define({create(){return null},update(t,e){return t&&e.docChanged&&(t=xy(e,t)?null:{...t,pos:e.changes.mapPos(t.pos)}),e.effects.reduce((a,o)=>o.is(Ip)?o.value:a,t)},provide:t=>On.from(t)}),FE=Z.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Ru('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:Ru('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:Ru('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),OE=du(ME,{hideOn:xy}),NE=[ka,Z.decorations.compute([ka],t=>{let{selected:e,panel:a}=t.field(ka);return!e||!a||e.from==e.to?pe.none:pe.set([AE.range(e.from,e.to)])}),OE,PE],Nu=Y.define({combine(t){return Ft(t,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function ky(t={}){return[Nu.of(t),Sp,BE,FE,Iy]}var Ay=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t,Fr=class{constructor(e,a,o=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(o,r),this.bufferStart=o,this.normalize=n?i=>n(Ay(i)):Ay,this.query=this.normalize(a)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return Bt(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let a=As(e),o=this.bufferStart+this.bufferPos;this.bufferPos+=aa(e);let r=this.normalize(a);if(r.length)for(let n=0,s=o,i=!0;;n++){let l=r.charCodeAt(n),u=this.match(l,s,i,this.bufferPos+this.bufferStart,n==r.length-1);if(u)return this.value=u,this;if(n==r.length-1)break;i&&n<a.length&&a.charCodeAt(n)==l?s++:i=!1}}}match(e,a,o,r,n){let s=null;for(let i=0;i<this.matches.length;){let l=this.matches[i],u=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?s={from:l.from,to:r,precise:n&&l.precise}:(l.index++,u=!0)),u?i++:this.matches.splice(i,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?s={from:a,to:r,precise:o&&n}:this.matches.push({from:a,index:1,precise:o})),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}};typeof Symbol<"u"&&(Fr.prototype[Symbol.iterator]=function(){return this});var Py={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Rp="gm"+(/x/.unicode==null?"":"u"),zu=class{constructor(e,a,o,r=0,n=e.length){if(this.text=e,this.to=n,this.curLine="",this.done=!1,this.value=Py,/\\[sWDnr]|\n|\r|\[\^/.test(a))return new Uu(e,a,o,r,n);this.re=new RegExp(a,Rp+(o?.ignoreCase?"i":"")),this.test=o?.test,this.iter=e.iter();let s=e.lineAt(r);this.curLineStart=s.from,this.matchPos=Wu(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let a=this.matchPos<=this.to&&this.re.exec(this.curLine);if(a){let o=this.curLineStart+a.index,r=o+a[0].length;if(this.matchPos=Wu(this.text,r+(o==r?1:0)),o==this.curLineStart+this.curLine.length&&this.nextLine(),(o<r||o>this.value.to)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},kp=new WeakMap,qu=class t{constructor(e,a){this.from=e,this.text=a}get to(){return this.from+this.text.length}static get(e,a,o){let r=kp.get(e);if(!r||r.from>=o||r.to<=a){let i=new t(a,e.sliceString(a,o));return kp.set(e,i),i}if(r.from==a&&r.to==o)return r;let{text:n,from:s}=r;return s>a&&(n=e.sliceString(a,s)+n,s=a),r.to<o&&(n+=e.sliceString(r.to,o)),kp.set(e,new t(s,n)),new t(a,n.slice(a-s,o-s))}},Uu=class{constructor(e,a,o,r,n){this.text=e,this.to=n,this.done=!1,this.value=Py,this.matchPos=Wu(e,r),this.re=new RegExp(a,Rp+(o?.ignoreCase?"i":"")),this.test=o?.test,this.flat=qu.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,a=this.re.exec(this.flat.text);if(a&&!a[0]&&a.index==e&&(this.re.lastIndex=e+1,a=this.re.exec(this.flat.text)),a){let o=this.flat.from+a.index,r=o+a[0].length;if((this.flat.to>=this.to||a.index+a[0].length<=this.flat.text.length-10)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this.matchPos=Wu(this.text,r+(o==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=qu.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(zu.prototype[Symbol.iterator]=Uu.prototype[Symbol.iterator]=function(){return this});function _E(t){try{return new RegExp(t,Rp),!0}catch{return!1}}function Wu(t,e){if(e>=t.length)return e;let a=t.lineAt(e),o;for(;e<a.to&&(o=a.text.charCodeAt(e-a.from))>=56320&&o<57344;)e++;return e}var HE=t=>{let{state:e}=t,a=String(e.doc.lineAt(t.state.selection.main.head).number),{close:o,result:r}=Wb(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:a},focus:!0,submitLabel:e.phrase("go")});return r.then(n=>{let s=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!s){t.dispatch({effects:o});return}let i=e.doc.lineAt(e.selection.main.head),[,l,u,d,c]=s,f=d?+d.slice(1):0,h=u?+u:i.number;if(u&&c){let g=h/100;l&&(g=g*(l=="-"?-1:1)+i.number/e.doc.lines),h=Math.round(e.doc.lines*g)}else u&&l&&(h=h*(l=="-"?-1:1)+i.number);let p=e.doc.line(Math.max(1,Math.min(e.doc.lines,h))),m=X.cursor(p.from+Math.max(0,Math.min(f,p.length)));t.dispatch({effects:[o,Z.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0};var zE=({state:t,dispatch:e})=>{let{selection:a}=t,o=X.create(a.ranges.map(r=>t.wordAt(r.head)||X.cursor(r.head)),a.mainIndex);return o.eq(a)?!1:(e(t.update({selection:o})),!0)};function qE(t,e){let{main:a,ranges:o}=t.selection,r=t.wordAt(a.head),n=r&&r.from==a.from&&r.to==a.to;for(let s=!1,i=new Fr(t.doc,e,o[o.length-1].to);;)if(i.next(),i.done){if(s)return null;i=new Fr(t.doc,e,0,Math.max(0,o[o.length-1].from-1)),s=!0}else{if(s&&o.some(l=>l.from==i.value.from))continue;if(n){let l=t.wordAt(i.value.from);if(!l||l.from!=i.value.from||l.to!=i.value.to)continue}return i.value}}var UE=({state:t,dispatch:e})=>{let{ranges:a}=t.selection;if(a.some(n=>n.from===n.to))return zE({state:t,dispatch:e});let o=t.sliceDoc(a[0].from,a[0].to);if(t.selection.ranges.some(n=>t.sliceDoc(n.from,n.to)!=o))return!1;let r=qE(t,o);return r?(e(t.update({selection:t.selection.addRange(X.range(r.from,r.to),!1),effects:Z.scrollIntoView(r.to)})),!0):!1},Vn=Y.define({combine(t){return Ft(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new Dp(e),scrollToMatch:e=>Z.scrollIntoView(e)})}});var Vu=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||_E(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(a,o)=>o=="n"?`
21
- `:o=="r"?"\r":o=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Mp(this):new Ap(this)}getCursor(e,a=0,o){let r=e.doc?e:Me.create({doc:e});return o==null&&(o=r.doc.length),this.regexp?Wn(this,r,a,o):Un(this,r,a,o)}},Gu=class{constructor(e){this.spec=e}};function WE(t,e,a){return(o,r,n,s)=>{if(a&&!a(o,r,n,s))return!1;let i=o>=s&&r<=s+n.length?n.slice(o-s,r-s):e.doc.sliceString(o,r);return t(i,e,o,r)}}function Un(t,e,a,o){let r;return t.wholeWord&&(r=VE(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(r=WE(t.test,e,r)),new Fr(e.doc,t.unquoted,a,o,t.caseSensitive?void 0:n=>n.toLowerCase(),r)}function VE(t,e){return(a,o,r,n)=>((n>a||n+r.length<o)&&(n=Math.max(0,a-2),r=t.sliceString(n,Math.min(t.length,o+2))),(e($u(r,a-n))!=_e.Word||e(Xu(r,a-n))!=_e.Word)&&(e(Xu(r,o-n))!=_e.Word||e($u(r,o-n))!=_e.Word))}var Ap=class extends Gu{constructor(e){super(e)}nextMatch(e,a,o){let r=Un(this.spec,e,o,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,a+this.spec.unquoted.length);r=Un(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==a&&r.value.to==o?null:r.value}prevMatchInRange(e,a,o){for(let r=o;;){let n=Math.max(a,r-1e4-this.spec.unquoted.length),s=Un(this.spec,e,n,r),i=null;for(;!s.nextOverlapping().done;)i=s.value;if(i)return i;if(n==a)return null;r-=1e4}}prevMatch(e,a,o){let r=this.prevMatchInRange(e,0,a);return r||(r=this.prevMatchInRange(e,Math.max(0,o-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=a||r.to!=o)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,a){let o=Un(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=Un(this.spec,e,Math.max(0,a-this.spec.unquoted.length),Math.min(o+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function GE(t,e,a){return(o,r,n)=>(!a||a(o,r,n))&&t(n[0],e,o,r)}function Wn(t,e,a,o){let r;return t.wholeWord&&(r=$E(e.charCategorizer(e.selection.main.head))),t.test&&(r=GE(t.test,e,r)),new zu(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:r},a,o)}function $u(t,e){return t.slice(je(t,e,!1),e)}function Xu(t,e){return t.slice(e,je(t,e))}function $E(t){return(e,a,o)=>!o[0].length||(t($u(o.input,o.index))!=_e.Word||t(Xu(o.input,o.index))!=_e.Word)&&(t(Xu(o.input,o.index+o[0].length))!=_e.Word||t($u(o.input,o.index+o[0].length))!=_e.Word)}var Mp=class extends Gu{nextMatch(e,a,o){let r=Wn(this.spec,e,o,e.doc.length).next();return r.done&&(r=Wn(this.spec,e,0,a).next()),r.done?null:r.value}prevMatchInRange(e,a,o){for(let r=1;;r++){let n=Math.max(a,o-r*1e4),s=Wn(this.spec,e,n,o),i=null;for(;!s.next().done;)i=s.value;if(i&&(n==a||i.from>n+10))return i;if(n==a)return null}}prevMatch(e,a,o){return this.prevMatchInRange(e,0,a)||this.prevMatchInRange(e,o,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(a,o)=>{if(o=="&")return e.match[0];if(o=="$")return"$";for(let r=o.length;r>0;r--){let n=+o.slice(0,r);if(n>0&&n<e.match.length)return e.match[n]+o.slice(r)}return a})}matchAll(e,a){let o=Wn(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=Wn(this.spec,e,Math.max(0,a-250),Math.min(o+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},ni=de.define(),Tp=de.define(),Wo=Ve.define({create(t){return new ri(Pp(t).create(),null)},update(t,e){for(let a of e.effects)a.is(ni)?t=new ri(a.value.create(),t.panel):a.is(Tp)&&(t=new ri(t.query,a.value?Ep:null));return t},provide:t=>kr.from(t,e=>e.panel)});var ri=class{constructor(e,a){this.query=e,this.panel=a}},XE=pe.mark({class:"cm-searchMatch"}),KE=pe.mark({class:"cm-searchMatch cm-searchMatch-selected"}),jE=Ze.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field(Wo))}update(t){let e=t.state.field(Wo);(e!=t.startState.field(Wo)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return pe.none;let{view:a}=this,o=new xa;for(let r=0,n=a.visibleRanges,s=n.length;r<s;r++){let{from:i,to:l}=n[r];for(;r<s-1&&l>n[r+1].from-500;)l=n[++r].to;t.highlight(a.state,i,l,(u,d)=>{let c=a.state.selection.ranges.some(f=>f.from==u&&f.to==d);o.add(u,d,c?KE:XE)})}return o.finish()}},{decorations:t=>t.decorations});function si(t){return e=>{let a=e.state.field(Wo,!1);return a&&a.query.spec.valid?t(e,a):Ty(e)}}var Ku=si((t,{query:e})=>{let{to:a}=t.state.selection.main,o=e.nextMatch(t.state,a,a);if(!o)return!1;let r=X.single(o.from,o.to),n=t.state.facet(Vn);return t.dispatch({selection:r,effects:[Bp(t,o),n.scrollToMatch(r.main,t)],userEvent:"select.search"}),Ry(t),!0}),ju=si((t,{query:e})=>{let{state:a}=t,{from:o}=a.selection.main,r=e.prevMatch(a,o,o);if(!r)return!1;let n=X.single(r.from,r.to),s=t.state.facet(Vn);return t.dispatch({selection:n,effects:[Bp(t,r),s.scrollToMatch(n.main,t)],userEvent:"select.search"}),Ry(t),!0}),ZE=si((t,{query:e})=>{let a=e.matchAll(t.state,1e3);return!a||!a.length?!1:(t.dispatch({selection:X.create(a.map(o=>X.range(o.from,o.to))),userEvent:"select.search.matches"}),!0)}),YE=({state:t,dispatch:e})=>{let a=t.selection;if(a.ranges.length>1||a.main.empty)return!1;let{from:o,to:r}=a.main,n=[],s=0;for(let i=new Fr(t.doc,t.sliceDoc(o,r));!i.next().done;){if(n.length>1e3)return!1;i.value.from==o&&(s=n.length),n.push(X.range(i.value.from,i.value.to))}return e(t.update({selection:X.create(n,s),userEvent:"select.search.matches"})),!0},My=si((t,{query:e})=>{let{state:a}=t,{from:o,to:r}=a.selection.main;if(a.readOnly)return!1;let n=e.nextMatch(a,o,o);if(!n)return!1;let s=n,i=[],l,u,d=[];s.precise?s.from==o&&s.to==r&&(u=a.toText(e.getReplacement(s)),i.push({from:s.from,to:s.to,insert:u}),d.push(Z.announce.of(a.phrase("replaced match on line $",a.doc.lineAt(o).number)+"."))):s=e.nextMatch(a,s.from,s.to);let c=t.state.changes(i);return s&&(l=X.single(s.from,s.to).map(c),d.push(Bp(t,s)),d.push(a.facet(Vn).scrollToMatch(l.main,t))),t.dispatch({changes:c,selection:l,effects:d,userEvent:"input.replace"}),!0}),JE=si((t,{query:e})=>{if(t.state.readOnly)return!1;let a=[];for(let r of e.matchAll(t.state,1e9)){let{from:n,to:s,precise:i}=r;i&&a.push({from:n,to:s,insert:e.getReplacement(r)})}if(!a.length)return!1;let o=t.state.phrase("replaced $ matches",a.length)+".";return t.dispatch({changes:a,effects:Z.announce.of(o),userEvent:"input.replace.all"}),!0});function Ep(t){return t.state.facet(Vn).createPanel(t)}function Pp(t,e){var a,o,r,n,s;let i=t.selection.main,l=i.empty||i.to>i.from+100?"":t.sliceDoc(i.from,i.to);if(e&&!l)return e;let u=t.facet(Vn);return new Vu({search:((a=e?.literal)!==null&&a!==void 0?a:u.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(o=e?.caseSensitive)!==null&&o!==void 0?o:u.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:u.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:u.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:u.wholeWord})}function Dy(t){let e=cu(t,Ep);return e&&e.dom.querySelector("[main-field]")}function Ry(t){let e=Dy(t);e&&e==t.root.activeElement&&e.select()}var Ty=t=>{let e=t.state.field(Wo,!1);if(e&&e.panel){let a=Dy(t);if(a&&a!=t.root.activeElement){let o=Pp(t.state,e.query.spec);o.valid&&t.dispatch({effects:ni.of(o)}),a.focus(),a.select()}}else t.dispatch({effects:[Tp.of(!0),e?ni.of(Pp(t.state,e.query.spec)):de.appendConfig.of(e2)]});return!0},Ey=t=>{let e=t.state.field(Wo,!1);if(!e||!e.panel)return!1;let a=cu(t,Ep);return a&&a.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:Tp.of(!1)}),!0},By=[{key:"Mod-f",run:Ty,scope:"editor search-panel"},{key:"F3",run:Ku,shift:ju,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:Ku,shift:ju,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Ey,scope:"editor search-panel"},{key:"Mod-Shift-l",run:YE},{key:"Mod-Alt-g",run:HE},{key:"Mod-d",run:UE,preventDefault:!0}],Dp=class{constructor(e){this.view=e;let a=this.query=e.state.field(Wo).query.spec;this.commit=this.commit.bind(this),this.searchField=Ce("input",{value:a.search,placeholder:Zt(e,"Find"),"aria-label":Zt(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Ce("input",{value:a.replace,placeholder:Zt(e,"Replace"),"aria-label":Zt(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Ce("input",{type:"checkbox",name:"case",form:"",checked:a.caseSensitive,onchange:this.commit}),this.reField=Ce("input",{type:"checkbox",name:"re",form:"",checked:a.regexp,onchange:this.commit}),this.wordField=Ce("input",{type:"checkbox",name:"word",form:"",checked:a.wholeWord,onchange:this.commit});function o(r,n,s){return Ce("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=Ce("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,o("next",()=>Ku(e),[Zt(e,"next")]),o("prev",()=>ju(e),[Zt(e,"previous")]),o("select",()=>ZE(e),[Zt(e,"all")]),Ce("label",null,[this.caseField,Zt(e,"match case")]),Ce("label",null,[this.reField,Zt(e,"regexp")]),Ce("label",null,[this.wordField,Zt(e,"by word")]),...e.state.readOnly?[]:[Ce("br"),this.replaceField,o("replace",()=>My(e),[Zt(e,"replace")]),o("replaceAll",()=>JE(e),[Zt(e,"replace all")])],Ce("button",{name:"close",onclick:()=>Ey(e),"aria-label":Zt(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new Vu({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:ni.of(e)}))}keydown(e){Fb(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?ju:Ku)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),My(this.view))}update(e){for(let a of e.transactions)for(let o of a.effects)o.is(ni)&&!o.value.eq(this.query)&&this.setQuery(o.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(Vn).top}};function Zt(t,e){return t.state.phrase(e)}var _u=30,Hu=/[\s\.,:;?!]/;function Bp(t,{from:e,to:a}){let o=t.state.doc.lineAt(e),r=t.state.doc.lineAt(a).to,n=Math.max(o.from,e-_u),s=Math.min(r,a+_u),i=t.state.sliceDoc(n,s);if(n!=o.from){for(let l=0;l<_u;l++)if(!Hu.test(i[l+1])&&Hu.test(i[l])){i=i.slice(l);break}}if(s!=r){for(let l=i.length-1;l>i.length-_u;l--)if(!Hu.test(i[l-1])&&Hu.test(i[l])){i=i.slice(0,l);break}}return Z.announce.of(`${t.state.phrase("current match")}. ${i} ${t.state.phrase("on line")} ${o.number}.`)}var QE=Z.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),e2=[Wo,Xt.low(jE),QE];var Yu=class{constructor(e,a,o,r){this.state=e,this.pos=a,this.explicit=o,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let a=Mt(this.state).resolveInner(this.pos,-1);for(;a&&e.indexOf(a.name)<0;)a=a.parent;return a?{from:a.from,to:this.pos,text:this.state.sliceDoc(a.from,this.pos),type:a.type}:null}matchBefore(e){let a=this.state.doc.lineAt(this.pos),o=Math.max(a.from,this.pos-250),r=a.text.slice(o-a.from,this.pos-a.from),n=r.search(Uy(e,!1));return n<0?null:{from:o+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,a,o){e=="abort"&&this.abortListeners&&(this.abortListeners.push(a),o&&o.onDocChange&&(this.abortOnDocChange=!0))}};function Fy(t){let e=Object.keys(t).join(""),a=/\w/.test(e);return a&&(e=e.replace(/\w/g,"")),`[${a?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function t2(t){let e=Object.create(null),a=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let n=1;n<r.length;n++)a[r[n]]=!0}let o=Fy(e)+Fy(a)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function a2(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[a,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:t2(e);return r=>{let n=r.matchBefore(o);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:a}:null}}var Ju=class{constructor(e,a,o,r){this.completion=e,this.source=a,this.match=o,this.score=r}};function Nr(t){return t.selection.main.from}function Uy(t,e){var a;let{source:o}=t,r=e&&o[0]!="^",n=o[o.length-1]!="$";return!r&&!n?t:new RegExp(`${r?"^":""}(?:${o})${n?"$":""}`,(a=t.flags)!==null&&a!==void 0?a:t.ignoreCase?"i":"")}var Wy=Et.define();function o2(t,e,a,o){let{main:r}=t.selection,n=a-r.from,s=o-r.from;return{...t.changeByRange(i=>{if(i!=r&&a!=o&&t.sliceDoc(i.from+n,i.from+s)!=t.sliceDoc(a,o))return{range:i};let l=t.toText(e);return{changes:{from:i.from+n,to:o==r.from?i.to:i.from+s,insert:l},range:X.cursor(i.from+n+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var Oy=new WeakMap;function r2(t){if(!Array.isArray(t))return t;let e=Oy.get(t);return e||Oy.set(t,e=a2(t)),e}var Qu=de.define(),ii=de.define(),_p=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let a=0;a<e.length;){let o=Bt(e,a),r=aa(o);this.chars.push(o);let n=e.slice(a,a+r),s=n.toUpperCase();this.folded.push(Bt(s==n?n.toLowerCase():s,0)),a+=r}this.astral=e.length!=this.chars.length}ret(e,a){return this.score=e,this.matched=a,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:a,folded:o,any:r,precise:n,byWord:s}=this;if(a.length==1){let y=Bt(e,0),w=aa(y),C=w==e.length?0:-100;if(y!=a[0])if(y==o[0])C+=-200;else return null;return this.ret(C,[0,w])}let i=e.indexOf(this.pattern);if(i==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=a.length,u=0;if(i<0){for(let y=0,w=Math.min(e.length,200);y<w&&u<l;){let C=Bt(e,y);(C==a[u]||C==o[u])&&(r[u++]=y),y+=aa(C)}if(u<l)return null}let d=0,c=0,f=!1,h=0,p=-1,m=-1,g=/[a-z]/.test(e),x=!0;for(let y=0,w=Math.min(e.length,200),C=0;y<w&&c<l;){let I=Bt(e,y);i<0&&(d<l&&I==a[d]&&(n[d++]=y),h<l&&(I==a[h]||I==o[h]?(h==0&&(p=y),m=y+1,h++):h=0));let v,L=I<255?I>=48&&I<=57||I>=97&&I<=122?2:I>=65&&I<=90?1:0:(v=As(I))!=v.toLowerCase()?1:v!=v.toUpperCase()?2:0;(!y||L==1&&g||C==0&&L!=0)&&(a[c]==I||o[c]==I&&(f=!0)?s[c++]=y:s.length&&(x=!1)),C=L,y+=aa(I)}return c==l&&s[0]==0&&x?this.result(-100+(f?-200:0),s,e):h==l&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):i>-1?this.ret(-700-e.length,[i,i+this.pattern.length]):h==l?this.ret(-900-e.length,[p,m]):c==l?this.result(-100+(f?-200:0)+-700+(x?0:-1100),s,e):a.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,a,o){let r=[],n=0;for(let s of a){let i=s+(this.astral?aa(Bt(o,s)):1);n&&r[n-1]==s?r[n-1]=i:(r[n++]=s,r[n++]=i)}return this.ret(e-o.length,r)}},Hp=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let a=e.slice(0,this.pattern.length),o=a==this.pattern?0:a.toLowerCase()==this.folded?-200:null;return o==null?null:(this.matched=[0,a.length],this.score=o+(e.length==this.pattern.length?0:-100),this)}},lt=Y.define({combine(t){return Ft(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:n2,filterStrict:!1,compareCompletions:(e,a)=>(e.sortText||e.label).localeCompare(a.sortText||a.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,a)=>e&&a,closeOnBlur:(e,a)=>e&&a,icons:(e,a)=>e&&a,tooltipClass:(e,a)=>o=>Ny(e(o),a(o)),optionClass:(e,a)=>o=>Ny(e(o),a(o)),addToOptions:(e,a)=>e.concat(a),filterStrict:(e,a)=>e||a})}});function Ny(t,e){return t?e?t+" "+e:t:e}function n2(t,e,a,o,r,n){let s=t.textDirection==Ie.RTL,i=s,l=!1,u="top",d,c,f=e.left-r.left,h=r.right-e.right,p=o.right-o.left,m=o.bottom-o.top;if(i&&f<Math.min(p,h)?i=!1:!i&&h<Math.min(p,f)&&(i=!0),p<=(i?f:h))d=Math.max(r.top,Math.min(a.top,r.bottom-m))-e.top,c=Math.min(400,i?f:h);else{l=!0,c=Math.min(400,(s?e.right:r.right-e.left)-30);let y=r.bottom-e.bottom;y>=m||y>e.top?d=a.bottom-e.top:(u="bottom",d=e.bottom-a.top)}let g=(e.bottom-e.top)/n.offsetHeight,x=(e.right-e.left)/n.offsetWidth;return{style:`${u}: ${d/g}px; max-width: ${c/x}px`,class:"cm-completionInfo-"+(l?s?"left-narrow":"right-narrow":i?"left":"right")}}var Vp=de.define();function s2(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(a){let o=document.createElement("div");return o.classList.add("cm-completionIcon"),a.type&&o.classList.add(...a.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),o.setAttribute("aria-hidden","true"),o},position:20}),e.push({render(a,o,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let i=a.displayLabel||a.label,l=0;for(let u=0;u<n.length;){let d=n[u++],c=n[u++];d>l&&s.appendChild(document.createTextNode(i.slice(l,d)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(i.slice(d,c))),f.className="cm-completionMatchedText",l=c}return l<i.length&&s.appendChild(document.createTextNode(i.slice(l))),s},position:50},{render(a){if(!a.detail)return null;let o=document.createElement("span");return o.className="cm-completionDetail",o.textContent=a.detail,o},position:80}),e.sort((a,o)=>a.position-o.position).map(a=>a.render)}function Fp(t,e,a){if(t<=a)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/a);return{from:r*a,to:(r+1)*a}}let o=Math.ceil((t-e)/a);return{from:t-o*a,to:t-(o-1)*a}}var zp=class{constructor(e,a,o){this.view=e,this.stateField=a,this.applyCompletion=o,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=e.state.field(a),{options:n,selected:s}=r.open,i=e.state.facet(lt);this.optionContent=s2(i),this.optionClass=i.optionClass,this.tooltipClass=i.tooltipClass,this.range=Fp(n.length,s,i.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:u}=e.state.field(a).open;for(let d=l.target,c;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(c=/-(\d+)$/.exec(d.id))&&+c[1]<u.length){this.applyCompletion(e,u[+c[1]]),l.preventDefault();return}if(l.target==this.list){let d=this.list.classList.contains("cm-completionListIncompleteTop")&&l.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&l.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(e.dispatch({effects:Vp.of(d)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(lt).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:ii.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,a){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,a,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var a;let o=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),o!=r){let{options:n,selected:s,disabled:i}=o.open;(!r.open||r.open.options!=n)&&(this.range=Fp(n.length,s,e.state.facet(lt).maxRenderedOptions),this.showOptions(n,o.id)),this.updateSel(),i!=((a=r.open)===null||a===void 0?void 0:a.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!i)}}updateTooltipClass(e){let a=this.tooltipClass(e);if(a!=this.currentClass){for(let o of this.currentClass.split(" "))o&&this.dom.classList.remove(o);for(let o of a.split(" "))o&&this.dom.classList.add(o);this.currentClass=a}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),a=e.open;(a.selected>-1&&a.selected<this.range.from||a.selected>=this.range.to)&&(this.range=Fp(a.options.length,a.selected,this.view.state.facet(lt).maxRenderedOptions),this.showOptions(a.options,e.id));let o=this.updateSelectedOption(a.selected);if(o){this.destroyInfo();let{completion:r}=a.options[a.selected],{info:n}=r;if(!n)return;let s=typeof n=="string"?document.createTextNode(n):n(r);if(!s)return;"then"in s?s.then(i=>{i&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(i,r)}).catch(i=>ht(this.view.state,i,"completion info")):(this.addInfoPane(s,r),o.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,a){this.destroyInfo();let o=this.info=document.createElement("div");if(o.className="cm-tooltip cm-completionInfo",o.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)o.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;o.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(o),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let a=null;for(let o=this.list.firstChild,r=this.range.from;o;o=o.nextSibling,r++)o.nodeName!="LI"||!o.id?r--:r==e?o.hasAttribute("aria-selected")||(o.setAttribute("aria-selected","true"),a=o):o.hasAttribute("aria-selected")&&(o.removeAttribute("aria-selected"),o.removeAttribute("aria-describedby"));return a&&l2(this.list,a),a}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let a=this.dom.getBoundingClientRect(),o=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,a.bottom)-10||r.bottom<Math.max(n.top,a.top)+10?null:this.view.state.facet(lt).positionInfo(this.view,a,r,o,n,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,a,o){let r=document.createElement("ul");r.id=a,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",s=>{s.target==r&&s.preventDefault()});let n=null;for(let s=o.from;s<o.to;s++){let{completion:i,match:l}=e[s],{section:u}=i;if(u){let f=typeof u=="string"?u:u.name;if(f!=n&&(s>o.from||o.from==0))if(n=f,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let h=r.appendChild(document.createElement("completion-section"));h.textContent=f}}let d=r.appendChild(document.createElement("li"));d.id=a+"-"+s,d.setAttribute("role","option");let c=this.optionClass(i);c&&(d.className=c);for(let f of this.optionContent){let h=f(i,this.view.state,this.view,l);h&&d.appendChild(h)}}return o.from&&r.classList.add("cm-completionListIncompleteTop"),o.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function i2(t,e){return a=>new zp(a,t,e)}function l2(t,e){let a=t.getBoundingClientRect(),o=e.getBoundingClientRect(),r=a.height/t.offsetHeight;o.top<a.top?t.scrollTop-=(a.top-o.top)/r:o.bottom>a.bottom&&(t.scrollTop+=(o.bottom-a.bottom)/r)}function _y(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function u2(t,e){let a=[],o=null,r=null,n=d=>{a.push(d);let{section:c}=d.completion;if(c){o||(o=[]);let f=typeof c=="string"?c:c.name;o.some(h=>h.name==f)||o.push(typeof c=="string"?{name:f}:c)}},s=e.facet(lt);for(let d of t)if(d.hasResult()){let c=d.result.getMatch;if(d.result.filter===!1)for(let f of d.result.options)n(new Ju(f,d.source,c?c(f):[],1e9-a.length));else{let f=e.sliceDoc(d.from,d.to),h,p=s.filterStrict?new Hp(f):new _p(f);for(let m of d.result.options)if(h=p.match(m.label)){let g=m.displayLabel?c?c(m,h.matched):[]:h.matched,x=h.score+(m.boost||0);if(n(new Ju(m,d.source,g,x)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:y}=m.section;r||(r=Object.create(null)),r[y]=Math.max(x,r[y]||-1e9)}}}}if(o){let d=Object.create(null),c=0,f=(h,p)=>(h.rank==="dynamic"&&p.rank==="dynamic"?r[p.name]-r[h.name]:0)||(typeof h.rank=="number"?h.rank:1e9)-(typeof p.rank=="number"?p.rank:1e9)||(h.name<p.name?-1:1);for(let h of o.sort(f))c-=1e5,d[h.name]=c;for(let h of a){let{section:p}=h.completion;p&&(h.score+=d[typeof p=="string"?p:p.name])}}let i=[],l=null,u=s.compareCompletions;for(let d of a.sort((c,f)=>f.score-c.score||u(c.completion,f.completion))){let c=d.completion;!l||l.label!=c.label||l.detail!=c.detail||l.type!=null&&c.type!=null&&l.type!=c.type||l.apply!=c.apply||l.boost!=c.boost?i.push(d):_y(d.completion)>_y(l)&&(i[i.length-1]=d),l=d.completion}return i}var qp=class t{constructor(e,a,o,r,n,s){this.options=e,this.attrs=a,this.tooltip=o,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,a){return e==this.selected||e>=this.options.length?this:new t(this.options,Hy(a,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,a,o,r,n,s){if(r&&!s&&e.some(u=>u.isPending))return r.setDisabled();let i=u2(e,a);if(!i.length)return r&&e.some(u=>u.isPending)?r.setDisabled():null;let l=a.facet(lt).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;d<i.length;d++)if(i[d].completion==u){l=d;break}}return new t(i,Hy(o,l),{pos:e.reduce((u,d)=>d.hasResult()?Math.min(u,d.from):u,1e8),create:m2,above:n.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new t(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new t(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},Up=class t{constructor(e,a,o){this.active=e,this.id=a,this.open=o}static start(){return new t(h2,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:a}=e,o=a.facet(lt),n=(o.override||a.languageDataAt("autocomplete",Nr(a)).map(r2)).map(l=>(this.active.find(d=>d.source==l)||new go(l,this.active.some(d=>d.state!=0)?1:0)).update(e,o));n.length==this.active.length&&n.every((l,u)=>l==this.active[u])&&(n=this.active);let s=this.open,i=e.effects.some(l=>l.is(Gp));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!d2(n,this.active)||i?s=qp.build(n,a,this.id,s,o,i):s&&s.disabled&&!n.some(l=>l.isPending)&&(s=null),!s&&n.every(l=>!l.isPending)&&n.some(l=>l.hasResult())&&(n=n.map(l=>l.hasResult()?new go(l.source,0):l));for(let l of e.effects)l.is(Vp)&&(s=s&&s.setSelected(l.value,this.id));return n==this.active&&s==this.open?this:new t(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?c2:f2}};function d2(t,e){if(t==e)return!0;for(let a=0,o=0;;){for(;a<t.length&&!t[a].hasResult();)a++;for(;o<e.length&&!e[o].hasResult();)o++;let r=a==t.length,n=o==e.length;if(r||n)return r==n;if(t[a++].result!=e[o++].result)return!1}}var c2={"aria-autocomplete":"list"},f2={};function Hy(t,e){let a={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(a["aria-activedescendant"]=t+"-"+e),a}var h2=[];function Vy(t,e){if(t.isUserEvent("input.complete")){let o=t.annotation(Wy);if(o&&e.activateOnCompletion(o))return 12}let a=t.isUserEvent("input.type");return a&&e.activateOnTyping?5:a?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}var go=class t{constructor(e,a,o=!1){this.source=e,this.state=a,this.explicit=o}hasResult(){return!1}get isPending(){return this.state==1}update(e,a){let o=Vy(e,a),r=this;(o&8||o&16&&this.touches(e))&&(r=new t(r.source,0)),o&4&&r.state==0&&(r=new t(this.source,1)),r=r.updateFor(e,o);for(let n of e.effects)if(n.is(Qu))r=new t(r.source,1,n.value);else if(n.is(ii))r=new t(r.source,0);else if(n.is(Gp))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,a){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(Nr(e.state))}},ed=class t extends go{constructor(e,a,o,r,n,s){super(e,3,a),this.limit=o,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,a){var o;if(!(a&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),i=Nr(e.state);if(i>s||!r||a&2&&(Nr(e.startState)==this.from||i<this.limit))return new go(this.source,a&4?1:0);let l=e.changes.mapPos(this.limit);return p2(r.validFor,e.state,n,s)?new t(this.source,this.explicit,l,r,n,s):r.update&&(r=r.update(r,n,s,new Yu(e.state,i,!1)))?new t(this.source,this.explicit,l,r,r.from,(o=r.to)!==null&&o!==void 0?o:Nr(e.state)):new go(this.source,1,this.explicit)}map(e){if(e.empty)return this;let a=this.result.map?this.result.map(this.result,e):this.result;return a?new t(this.source,this.explicit,e.mapPos(this.limit),a,e.mapPos(this.from),e.mapPos(this.to,1)):new go(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function p2(t,e,a,o){if(!t)return!1;let r=e.sliceDoc(a,o);return typeof t=="function"?t(r,a,o,e):Uy(t,!0).test(r)}var Gp=de.define({map(t,e){return t.map(a=>a.map(e))}}),_t=Ve.define({create(){return Up.start()},update(t,e){return t.update(e)},provide:t=>[On.from(t,e=>e.tooltip),Z.contentAttributes.from(t,e=>e.attrs)]});function $p(t,e){let a=e.completion.apply||e.completion.label,o=t.state.field(_t).active.find(r=>r.source==e.source);return o instanceof ed?(typeof a=="string"?t.dispatch({...o2(t.state,a,o.from,o.to),annotations:Wy.of(e.completion)}):a(t,e.completion,o.from,o.to),!0):!1}var m2=i2(_t,$p);function Zu(t,e="option"){return a=>{let o=a.state.field(_t,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp<a.state.facet(lt).interactionDelay)return!1;let r=1,n;e=="page"&&(n=Uh(a,o.open.tooltip))&&(r=Math.max(2,Math.floor(n.dom.offsetHeight/n.dom.querySelector("li").offsetHeight)-1));let{length:s}=o.open.options,i=o.open.selected>-1?o.open.selected+r*(t?1:-1):t?0:s-1;return i<0?i=e=="page"?0:s-1:i>=s&&(i=e=="page"?s-1:0),a.dispatch({effects:Vp.of(i)}),!0}}var g2=t=>{let e=t.state.field(_t,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(lt).interactionDelay?!1:$p(t,e.open.options[e.open.selected])},Op=t=>t.state.field(_t,!1)?(t.dispatch({effects:Qu.of(!0)}),!0):!1,x2=t=>{let e=t.state.field(_t,!1);return!e||!e.active.some(a=>a.state!=0)?!1:(t.dispatch({effects:ii.of(null)}),!0)},Wp=class{constructor(e,a){this.active=e,this.context=a,this.time=Date.now(),this.updates=[],this.done=void 0}},b2=50,w2=1e3,y2=Ze.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(_t).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(_t),a=t.state.facet(lt);if(!t.selectionSet&&!t.docChanged&&t.startState.field(_t)==e)return;let o=t.transactions.some(n=>{let s=Vy(n,a);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;n<this.running.length;n++){let s=this.running[n];if(o||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>b2&&Date.now()-s.time>w2){for(let i of s.context.abortListeners)try{i()}catch(l){ht(this.view.state,l)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(n=>n.effects.some(s=>s.is(Qu)))&&(this.pendingStart=!0);let r=this.pendingStart?50:a.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of t.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(_t);for(let a of e.active)a.isPending&&!this.running.some(o=>o.active.source==a.source)&&this.startQuery(a);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(lt).updateSyncTime))}startQuery(t){let{state:e}=this.view,a=Nr(e),o=new Yu(e,a,t.explicit,this.view),r=new Wp(t,o);this.running.push(r),Promise.resolve(t.source(o)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:ii.of(null)}),ht(this.view.state,n)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(lt).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],a=this.view.state.facet(lt),o=this.view.state.field(_t);for(let r=0;r<this.running.length;r++){let n=this.running[r];if(n.done===void 0)continue;if(this.running.splice(r--,1),n.done){let i=Nr(n.updates.length?n.updates[0].startState:this.view.state),l=Math.min(i,n.done.from+(n.active.explicit?0:1)),u=new ed(n.active.source,n.active.explicit,l,n.done,n.done.from,(t=n.done.to)!==null&&t!==void 0?t:i);for(let d of n.updates)u=u.update(d,a);if(u.hasResult()){e.push(u);continue}}let s=o.active.find(i=>i.source==n.active.source);if(s&&s.isPending)if(n.done==null){let i=new go(n.active.source,0);for(let l of n.updates)i=i.update(l,a);i.isPending||e.push(i)}else this.startQuery(s)}(e.length||o.open&&o.open.disabled)&&this.view.dispatch({effects:Gp.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(_t,!1);if(e&&e.tooltip&&this.view.state.facet(lt).closeOnBlur){let a=e.open&&Uh(this.view,e.open.tooltip);(!a||!a.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:ii.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:Qu.of(!1)}),20),this.composing=0}}}),L2=typeof navigator=="object"&&/Win/.test(navigator.platform),C2=Xt.highest(Z.domEventHandlers({keydown(t,e){let a=e.state.field(_t,!1);if(!a||!a.open||a.open.disabled||a.open.selected<0||t.key.length>1||t.ctrlKey&&!(L2&&t.altKey)||t.metaKey)return!1;let o=a.open.options[a.open.selected],r=a.active.find(s=>s.source==o.source),n=o.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(t.key)>-1&&$p(e,o),!1}})),v2=Z.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var td={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},Or=de.define({map(t,e){let a=e.mapPos(t,-1,ft.TrackAfter);return a??void 0}}),Xp=new class extends ta{};Xp.startSide=1;Xp.endSide=-1;var Gy=Ve.define({create(){return ye.empty},update(t,e){if(t=t.map(e.changes),e.selection){let a=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:o=>o>=a.from&&o<=a.to})}for(let a of e.effects)a.is(Or)&&(t=t.update({add:[Xp.range(a.value,a.value+1)]}));return t}});function $y(){return[A2,Gy]}var Np="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function S2(t){for(let e=0;e<Np.length;e+=2)if(Np.charCodeAt(e)==t)return Np.charAt(e+1);return As(t<128?t:t+1)}function I2(t,e){return t.languageDataAt("closeBrackets",e)[0]||td}var k2=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),A2=Z.inputHandler.of((t,e,a,o)=>{if((k2?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(o.length>2||o.length==2&&aa(Bt(o,0))==1||e!=r.from||a!=r.to)return!1;let n=M2(t.state,o);return n?(t.dispatch(n),!0):!1});function M2(t,e){let a=I2(t,t.selection.main.head),o=a.brackets||td.brackets;for(let r of o){let n=S2(Bt(r,0));if(e==r)return n==r?R2(t,r,o.indexOf(r+r+r)>-1,a):P2(t,r,n,a.before||td.before);if(e==n&&Xy(t,t.selection.main.from))return D2(t,r,n)}return null}function Xy(t,e){let a=!1;return t.field(Gy).between(0,t.doc.length,o=>{o==e&&(a=!0)}),a}function Kp(t,e){let a=t.sliceString(e,e+2);return a.slice(0,aa(Bt(a,0)))}function P2(t,e,a,o){let r=null,n=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:a,from:s.to}],effects:Or.of(s.to+e.length),range:X.range(s.anchor+e.length,s.head+e.length)};let i=Kp(t.doc,s.head);return!i||/\s/.test(i)||o.indexOf(i)>-1?{changes:{insert:e+a,from:s.head},effects:Or.of(s.head+e.length),range:X.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function D2(t,e,a){let o=null,r=t.changeByRange(n=>n.empty&&Kp(t.doc,n.head)==a?{changes:{from:n.head,to:n.head+a.length,insert:a},range:X.cursor(n.head+a.length)}:o={range:n});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function R2(t,e,a,o){let r=o.stringPrefixes||td.stringPrefixes,n=null,s=t.changeByRange(i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:e,from:i.to}],effects:Or.of(i.to+e.length),range:X.range(i.anchor+e.length,i.head+e.length)};let l=i.head,u=Kp(t.doc,l),d;if(u==e){if(zy(t,l))return{changes:{insert:e+e,from:l},effects:Or.of(l+e.length),range:X.cursor(l+e.length)};if(Xy(t,l)){let f=a&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:X.cursor(l+f.length)}}}else{if(a&&t.sliceDoc(l-2*e.length,l)==e+e&&(d=qy(t,l-2*e.length,r))>-1&&zy(t,d))return{changes:{insert:e+e+e+e,from:l},effects:Or.of(l+e.length),range:X.cursor(l+e.length)};if(t.charCategorizer(l)(u)!=_e.Word&&qy(t,l,r)>-1&&!T2(t,l,e,r))return{changes:{insert:e+e,from:l},effects:Or.of(l+e.length),range:X.cursor(l+e.length)}}return{range:n=i}});return n?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function zy(t,e){let a=Mt(t).resolveInner(e+1);return a.parent&&a.from==e}function T2(t,e,a,o){let r=Mt(t).resolveInner(e,-1),n=o.reduce((s,i)=>Math.max(s,i.length),0);for(let s=0;s<5;s++){let i=t.sliceDoc(r.from,Math.min(r.to,r.from+a.length+n)),l=i.indexOf(a);if(!l||l>-1&&o.indexOf(i.slice(0,l))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>a.length+l;){if(t.sliceDoc(d.to-a.length,d.to)==a)return!1;d=d.firstChild}return!0}let u=r.to==e&&r.parent;if(!u)break;r=u}return!1}function qy(t,e,a){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=_e.Word)return e;for(let r of a){let n=e-r.length;if(t.sliceDoc(n,e)==r&&o(t.sliceDoc(n-1,n))!=_e.Word)return n}return-1}function Ky(t={}){return[C2,_t,lt.of(t),y2,E2,v2]}var jp=[{key:"Ctrl-Space",run:Op},{mac:"Alt-`",run:Op},{mac:"Alt-i",run:Op},{key:"Escape",run:x2},{key:"ArrowDown",run:Zu(!0)},{key:"ArrowUp",run:Zu(!1)},{key:"PageDown",run:Zu(!0,"page")},{key:"PageUp",run:Zu(!1,"page")},{key:"Enter",run:g2}],E2=Xt.highest(Ar.computeN([lt],t=>t.facet(lt).defaultKeymap?[jp]:[]));var B2=({variant:t,settings:e,styles:a})=>{let o=Z.theme({"&":{backgroundColor:e.background,color:e.foreground},".cm-content":{caretColor:e.caret},".cm-cursor, .cm-dropCursor":{borderLeftColor:e.caret},"&.cm-focused .cm-selectionBackgroundm .cm-selectionBackground, .cm-content ::selection":{backgroundColor:e.selection},".cm-activeLine":{backgroundColor:e.lineHighlight},".cm-gutters":{backgroundColor:e.gutterBackground,color:e.gutterForeground},".cm-activeLineGutter":{backgroundColor:e.lineHighlight}},{dark:t==="dark"}),r=qo.define(a);return[o,Hn(r)]},Le=B2;var jy=Le({variant:"dark",settings:{background:"#200020",foreground:"#D0D0FF",caret:"#7070FF",selection:"#80000080",gutterBackground:"#200020",gutterForeground:"#C080C0",lineHighlight:"#80000040"},styles:[{tag:b.comment,color:"#404080"},{tag:[b.string,b.regexp],color:"#999999"},{tag:b.number,color:"#7090B0"},{tag:[b.bool,b.null],color:"#8080A0"},{tag:[b.punctuation,b.derefOperator],color:"#805080"},{tag:b.keyword,color:"#60B0FF"},{tag:b.definitionKeyword,color:"#B0FFF0"},{tag:b.moduleKeyword,color:"#60B0FF"},{tag:b.operator,color:"#A0A0FF"},{tag:[b.variableName,b.self],color:"#008080"},{tag:b.operatorKeyword,color:"#A0A0FF"},{tag:b.controlKeyword,color:"#80A0FF"},{tag:b.className,color:"#70E080"},{tag:[b.function(b.propertyName),b.propertyName],color:"#50A0A0"},{tag:b.tagName,color:"#009090"},{tag:b.modifier,color:"#B0FFF0"},{tag:[b.squareBracket,b.attributeName],color:"#D0D0FF"}]});var Zy=Le({variant:"light",settings:{background:"#fcfcfc",foreground:"#5c6166",caret:"#ffaa33",selection:"#036dd626",gutterBackground:"#fcfcfc",gutterForeground:"#8a919966",lineHighlight:"#8a91991a"},styles:[{tag:b.comment,color:"#787b8099"},{tag:b.string,color:"#86b300"},{tag:b.regexp,color:"#4cbf99"},{tag:[b.number,b.bool,b.null],color:"#ffaa33"},{tag:b.variableName,color:"#5c6166"},{tag:[b.definitionKeyword,b.modifier],color:"#fa8d3e"},{tag:[b.keyword,b.special(b.brace)],color:"#fa8d3e"},{tag:b.operator,color:"#ed9366"},{tag:b.separator,color:"#5c6166b3"},{tag:b.punctuation,color:"#5c6166"},{tag:[b.definition(b.propertyName),b.function(b.variableName)],color:"#f2ae49"},{tag:[b.className,b.definition(b.typeName)],color:"#22a4e6"},{tag:[b.tagName,b.typeName,b.self,b.labelName],color:"#55b4d4"},{tag:b.angleBracket,color:"#55b4d480"},{tag:b.attributeName,color:"#f2ae49"}]});var Yy=Le({variant:"dark",settings:{background:"#15191EFA",foreground:"#EEF2F7",caret:"#C4C4C4",selection:"#90B2D557",gutterBackground:"#15191EFA",gutterForeground:"#aaaaaa95",lineHighlight:"#57575712"},styles:[{tag:b.comment,color:"#6E6E6E"},{tag:[b.string,b.regexp,b.special(b.brace)],color:"#5C81B3"},{tag:b.number,color:"#C1E1B8"},{tag:b.bool,color:"#53667D"},{tag:[b.definitionKeyword,b.modifier,b.function(b.propertyName)],color:"#A3D295",fontWeight:"bold"},{tag:[b.keyword,b.moduleKeyword,b.operatorKeyword,b.operator],color:"#697A8E",fontWeight:"bold"},{tag:[b.variableName,b.attributeName],color:"#708E67"},{tag:[b.function(b.variableName),b.definition(b.propertyName),b.derefOperator],color:"#fff"},{tag:b.tagName,color:"#A3D295"}]});var Jy=Le({variant:"dark",settings:{background:"#2e241d",foreground:"#BAAE9E",caret:"#A7A7A7",selection:"#DDF0FF33",gutterBackground:"#28211C",gutterForeground:"#BAAE9E90",lineHighlight:"#FFFFFF08"},styles:[{tag:b.comment,color:"#666666"},{tag:[b.string,b.special(b.brace)],color:"#54BE0D"},{tag:b.regexp,color:"#E9C062"},{tag:b.number,color:"#CF6A4C"},{tag:[b.keyword,b.operator],color:"#5EA6EA"},{tag:b.variableName,color:"#7587A6"},{tag:[b.definitionKeyword,b.modifier],color:"#F9EE98"},{tag:[b.propertyName,b.function(b.variableName)],color:"#937121"},{tag:[b.typeName,b.angleBracket,b.tagName],color:"#9B859D"}]});var Qy=Le({variant:"dark",settings:{background:"#3b2627",foreground:"#E6E1C4",caret:"#E6E1C4",selection:"#16120E",gutterBackground:"#3b2627",gutterForeground:"#E6E1C490",lineHighlight:"#1F1611"},styles:[{tag:b.comment,color:"#6B4E32"},{tag:[b.keyword,b.operator,b.derefOperator],color:"#EF5D32"},{tag:b.className,color:"#EFAC32",fontWeight:"bold"},{tag:[b.typeName,b.propertyName,b.function(b.variableName),b.definition(b.variableName)],color:"#EFAC32"},{tag:b.definition(b.typeName),color:"#EFAC32",fontWeight:"bold"},{tag:b.labelName,color:"#EFAC32",fontWeight:"bold"},{tag:[b.number,b.bool],color:"#6C99BB"},{tag:[b.variableName,b.self],color:"#7DAF9C"},{tag:[b.string,b.special(b.brace),b.regexp],color:"#D9D762"},{tag:[b.angleBracket,b.tagName,b.attributeName],color:"#EFCB43"}]});var eL=Le({variant:"dark",settings:{background:"#000205",foreground:"#FFFFFF",caret:"#E60065",selection:"#E60C6559",gutterBackground:"#000205",gutterForeground:"#ffffff90",lineHighlight:"#4DD7FC1A"},styles:[{tag:b.comment,color:"#404040"},{tag:[b.string,b.special(b.brace),b.regexp],color:"#00D8FF"},{tag:b.number,color:"#E62286"},{tag:[b.variableName,b.attributeName,b.self],color:"#E62286",fontWeight:"bold"},{tag:b.function(b.variableName),color:"#fff",fontWeight:"bold"}]});var tL=Le({variant:"light",settings:{background:"#fff",foreground:"#000",caret:"#000",selection:"#BDD5FC",gutterBackground:"#fff",gutterForeground:"#00000070",lineHighlight:"#FFFBD1"},styles:[{tag:b.comment,color:"#BCC8BA"},{tag:[b.string,b.special(b.brace),b.regexp],color:"#5D90CD"},{tag:[b.number,b.bool,b.null],color:"#46A609"},{tag:b.keyword,color:"#AF956F"},{tag:[b.definitionKeyword,b.modifier],color:"#C52727"},{tag:[b.angleBracket,b.tagName,b.attributeName],color:"#606060"},{tag:b.self,color:"#000"}]});var aL=Le({variant:"dark",settings:{background:"#00254b",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#B36539BF",gutterBackground:"#00254b",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},styles:[{tag:b.comment,color:"#0088FF"},{tag:b.string,color:"#3AD900"},{tag:b.regexp,color:"#80FFC2"},{tag:[b.number,b.bool,b.null],color:"#FF628C"},{tag:[b.definitionKeyword,b.modifier],color:"#FFEE80"},{tag:b.variableName,color:"#CCCCCC"},{tag:b.self,color:"#FF80E1"},{tag:[b.className,b.definition(b.propertyName),b.function(b.variableName),b.definition(b.typeName),b.labelName],color:"#FFDD00"},{tag:[b.keyword,b.operator],color:"#FF9D00"},{tag:[b.propertyName,b.typeName],color:"#80FFBB"},{tag:b.special(b.brace),color:"#EDEF7D"},{tag:b.attributeName,color:"#9EFFFF"},{tag:b.derefOperator,color:"#fff"}]});var oL=Le({variant:"dark",settings:{background:"#060521",foreground:"#E0E0E0",caret:"#FFFFFFA6",selection:"#122BBB",gutterBackground:"#060521",gutterForeground:"#E0E0E090",lineHighlight:"#FFFFFF0F"},styles:[{tag:b.comment,color:"#AEAEAE"},{tag:[b.string,b.special(b.brace),b.regexp],color:"#8DFF8E"},{tag:[b.className,b.definition(b.propertyName),b.function(b.variableName),b.function(b.definition(b.variableName)),b.definition(b.typeName)],color:"#A3EBFF"},{tag:[b.number,b.bool,b.null],color:"#62E9BD"},{tag:[b.keyword,b.operator],color:"#2BF1DC"},{tag:[b.definitionKeyword,b.modifier],color:"#F8FBB1"},{tag:[b.variableName,b.self],color:"#B683CA"},{tag:[b.angleBracket,b.tagName,b.typeName,b.propertyName],color:"#60A4F1"},{tag:b.derefOperator,color:"#E0E0E0"},{tag:b.attributeName,color:"#7BACCA"}]});var rL=Le({variant:"dark",settings:{background:"#2d2f3f",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"#44475a",gutterBackground:"#282a36",gutterForeground:"rgb(144, 145, 148)",lineHighlight:"#44475a"},styles:[{tag:b.comment,color:"#6272a4"},{tag:[b.string,b.special(b.brace)],color:"#f1fa8c"},{tag:[b.number,b.self,b.bool,b.null],color:"#bd93f9"},{tag:[b.keyword,b.operator],color:"#ff79c6"},{tag:[b.definitionKeyword,b.typeName],color:"#8be9fd"},{tag:b.definition(b.typeName),color:"#f8f8f2"},{tag:[b.className,b.definition(b.propertyName),b.function(b.variableName),b.attributeName],color:"#50fa7b"}]});var nL=Le({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#80C7FF",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#C1E2F8"},styles:[{tag:b.comment,color:"#AAAAAA"},{tag:[b.keyword,b.operator,b.typeName,b.tagName,b.propertyName],color:"#2F6F9F",fontWeight:"bold"},{tag:[b.attributeName,b.definition(b.propertyName)],color:"#4F9FD0"},{tag:[b.className,b.string,b.special(b.brace)],color:"#CF4F5F"},{tag:b.number,color:"#CF4F5F",fontWeight:"bold"},{tag:b.variableName,fontWeight:"bold"}]});var sL=Le({variant:"light",settings:{background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},styles:[{tag:b.comment,color:"#9995b7"},{tag:b.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[b.definitionKeyword,b.modifier],color:"#ff5792"},{tag:[b.className,b.tagName,b.definition(b.typeName)],color:"#0094f0"},{tag:[b.number,b.bool,b.null,b.special(b.brace)],color:"#5842ff"},{tag:[b.definition(b.propertyName),b.function(b.variableName)],color:"#0095a8"},{tag:b.typeName,color:"#b3694d"},{tag:[b.propertyName,b.variableName],color:"#fa8900"},{tag:b.operator,color:"#ff5792"},{tag:b.self,color:"#e64100"},{tag:[b.string,b.regexp],color:"#00b368"},{tag:[b.paren,b.bracket],color:"#0431fa"},{tag:b.labelName,color:"#00bdd6"},{tag:b.attributeName,color:"#e64100"},{tag:b.angleBracket,color:"#9995b7"}]});var iL=Le({variant:"light",settings:{background:"#faf4ed",foreground:"#575279",caret:"#575279",selection:"#6e6a8614",gutterBackground:"#faf4ed",gutterForeground:"#57527970",lineHighlight:"#6e6a860d"},styles:[{tag:b.comment,color:"#9893a5"},{tag:[b.bool,b.null],color:"#286983"},{tag:b.number,color:"#d7827e"},{tag:b.className,color:"#d7827e"},{tag:[b.angleBracket,b.tagName,b.typeName],color:"#56949f"},{tag:b.attributeName,color:"#907aa9"},{tag:b.punctuation,color:"#797593"},{tag:[b.keyword,b.modifier],color:"#286983"},{tag:[b.string,b.regexp],color:"#ea9d34"},{tag:b.variableName,color:"#d7827e"}]});var lL=Le({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#FFFD0054",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#00000008"},styles:[{tag:b.comment,color:"#CFCFCF"},{tag:[b.number,b.bool,b.null],color:"#E66C29"},{tag:[b.className,b.definition(b.propertyName),b.function(b.variableName),b.labelName,b.definition(b.typeName)],color:"#2EB43B"},{tag:b.keyword,color:"#D8B229"},{tag:b.operator,color:"#4EA44E",fontWeight:"bold"},{tag:[b.definitionKeyword,b.modifier],color:"#925A47"},{tag:b.string,color:"#704D3D"},{tag:b.typeName,color:"#2F8996"},{tag:[b.variableName,b.propertyName],color:"#77ACB0"},{tag:b.self,color:"#77ACB0",fontWeight:"bold"},{tag:b.regexp,color:"#E3965E"},{tag:[b.tagName,b.angleBracket],color:"#BAA827"},{tag:b.attributeName,color:"#B06520"},{tag:b.derefOperator,color:"#000"}]});var uL=Le({variant:"light",settings:{background:"#fef7e5",foreground:"#586E75",caret:"#000000",selection:"#073642",gutterBackground:"#fef7e5",gutterForeground:"#586E7580",lineHighlight:"#EEE8D5"},styles:[{tag:b.comment,color:"#93A1A1"},{tag:b.string,color:"#2AA198"},{tag:b.regexp,color:"#D30102"},{tag:b.number,color:"#D33682"},{tag:b.variableName,color:"#268BD2"},{tag:[b.keyword,b.operator,b.punctuation],color:"#859900"},{tag:[b.definitionKeyword,b.modifier],color:"#073642",fontWeight:"bold"},{tag:[b.className,b.self,b.definition(b.propertyName)],color:"#268BD2"},{tag:b.function(b.variableName),color:"#268BD2"},{tag:[b.bool,b.null],color:"#B58900"},{tag:b.tagName,color:"#268BD2",fontWeight:"bold"},{tag:b.angleBracket,color:"#93A1A1"},{tag:b.attributeName,color:"#93A1A1"},{tag:b.typeName,color:"#859900"}]});var dL=Le({variant:"light",settings:{background:"#FFFFFF",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C80",lineHighlight:"#EFEFEF"},styles:[{tag:b.comment,color:"#8E908C"},{tag:[b.variableName,b.self,b.propertyName,b.attributeName,b.regexp],color:"#C82829"},{tag:[b.number,b.bool,b.null],color:"#F5871F"},{tag:[b.className,b.typeName,b.definition(b.typeName)],color:"#C99E00"},{tag:[b.string,b.special(b.brace)],color:"#718C00"},{tag:b.operator,color:"#3E999F"},{tag:[b.definition(b.propertyName),b.function(b.variableName)],color:"#4271AE"},{tag:b.keyword,color:"#8959A8"},{tag:b.derefOperator,color:"#4D4D4C"}]});import{jsx as G2}from"react/jsx-runtime";var F2=new Set(["entity","enum","struct","const","export","extends","fn","on","action","activity","task","variant","workflow","command","middleware","schedule","every","jai","migration","test","mock","assert","cartridge","service","component","app","route","layout","import","from","if","elif","else","while","for","in","return","break","continue","delete","defer","print","sleep","fail"]),O2=new Set(["string","bool","ulid","document","dict","blob","DateTime","u8","u16","u32","u64","s8","s16","s32","s64","int","integer","float","float64","f32","f64","double","time","bytes","any","name","ref"]);function Zp(t,e){for(;!t.eol()&&t.next()!==e;);return"string"}var N2={name:"nbt",startState:()=>({tripleString:!1}),token(t,e){if(e.tripleString){for(;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(t.eatSpace())return null;let a=t.peek();if(a==null)return null;if(a==="#")return t.skipToEnd(),"comment";if(t.match('"""')){for(e.tripleString=!0;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(a==='"')return t.next(),Zp(t,'"');if(a==="'"){let o=t.string.charAt(t.pos-1);return/[A-Za-z0-9_]/.test(o)?(t.next(),null):(t.next(),Zp(t,"'"))}if(a==="f"&&t.string.charAt(t.pos+1)==='"')return t.next(),t.next(),Zp(t,'"');if(a==="@")return t.next(),t.eat("@"),t.eatWhile(/[A-Za-z0-9_]/),"meta";if(/\d/.test(a))return t.match(/^\d+(\.\d+)?/),"number";if(/[A-Za-z_]/.test(a)){t.eatWhile(/[A-Za-z0-9_]/);let o=t.current();return o==="true"||o==="false"?"atom":F2.has(o)?"keyword":O2.has(o)||/^[A-Z]/.test(o)?"typeName":"variableName"}return/[+\-*/=<>!&|?.,:;]/.test(a)?(t.next(),t.eatWhile(/[+\-*/=<>!&|.]/),"operator"):(t.next(),null)},languageData:{commentTokens:{line:"#"}}},Qp=Cu.define(N2);function em(){return new yu(Qp,[mo.of(" ")])}var _2=Z.theme({"&":{backgroundColor:"var(--background)",color:"var(--foreground)"},".cm-gutters":{backgroundColor:"var(--background)",color:"var(--muted-foreground)",borderRight:"1px solid var(--border)"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--accent) 35%, transparent)"},".cm-tooltip":{backgroundColor:"var(--popover)",color:"var(--popover-foreground)",border:"1px solid var(--border)"}},{dark:!0}),H2=Z.theme({"&":{backgroundColor:"#0b0b0e",color:"#e4e4e7"},".cm-content":{caretColor:"#facc15"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"#facc15"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"rgba(250, 204, 21, 0.18)"},".cm-gutters":{backgroundColor:"#0b0b0e",color:"#52525b",borderRight:"1px solid rgba(255, 255, 255, 0.06)"},".cm-activeLine":{backgroundColor:"rgba(250, 204, 21, 0.06)"},".cm-activeLineGutter":{backgroundColor:"rgba(250, 204, 21, 0.06)",color:"#a1a1aa"},".cm-tooltip":{backgroundColor:"#18181b",color:"#e4e4e7",border:"1px solid rgba(255, 255, 255, 0.1)"},".cm-tooltip-autocomplete ul li[aria-selected]":{backgroundColor:"rgba(250, 204, 21, 0.15)",color:"#fafafa"}},{dark:!0}),z2=qo.define([{tag:b.keyword,color:"#facc15",fontWeight:"500"},{tag:[b.typeName,b.className,b.tagName],color:"#e5e7eb",fontWeight:"500"},{tag:[b.propertyName,b.variableName,b.attributeName],color:"#cbd5e1"},{tag:[b.string,b.special(b.string)],color:"#fde047"},{tag:[b.number,b.bool,b.atom,b.null],color:"#fbbf24"},{tag:[b.meta,b.annotation],color:"#f472b6",fontWeight:"500"},{tag:b.comment,color:"#71717a",fontStyle:"italic"},{tag:[b.operator,b.punctuation,b.separator],color:"#a1a1aa"},{tag:b.invalid,color:"#f87171"}]),q2=[H2,Hn(z2)],Gn=[{id:"default",label:"Default (panel)",extension:_2},{id:"nimbitDark",label:"Nimbit Dark",extension:q2},{id:"dracula",label:"Dracula",extension:rL},{id:"tomorrow",label:"Tomorrow",extension:dL},{id:"cobalt",label:"Cobalt",extension:aL},{id:"espresso",label:"Espresso",extension:nL},{id:"barf",label:"Barf",extension:Yy},{id:"bespin",label:"Bespin",extension:Jy},{id:"birdsOfParadise",label:"Birds of Paradise",extension:Qy},{id:"boysAndGirls",label:"Boys and Girls",extension:eL},{id:"coolGlow",label:"Cool Glow",extension:oL},{id:"amy",label:"Amy",extension:jy},{id:"ayuLight",label:"Ayu Light",extension:Zy},{id:"clouds",label:"Clouds",extension:tL},{id:"noctisLilac",label:"Noctis Lilac",extension:sL},{id:"rosePineDawn",label:"Ros\xE9 Pine Dawn",extension:iL},{id:"smoothy",label:"Smoothy",extension:lL},{id:"solarizedLight",label:"Solarized Light",extension:uL}],U2=new Map(Gn.map(t=>[t.id,t.extension]));function ad(t){return U2.get(t)??Gn[0].extension}function Yp(t,e){let a=t.lineAt(e);return{line:a.number-1,character:e-a.from}}function Jp(t,e){let a=Math.min(Math.max(e.line+1,1),t.lines),o=t.line(a);return Math.min(o.from+Math.max(e.character,0),o.to)}function W2(t,e){return e.map(a=>{let o=Jp(t,a.range.start),r=Jp(t,a.range.end);r<=o&&(r=Math.min(o+1,t.length));let n=a.severity===2?"warning":a.severity===3||a.severity===4?"info":"error";return{from:o,to:r,severity:n,message:a.message,source:a.source??"nbt"}})}function V2(t){switch(t){case 3:return"function";case 5:return"property";case 13:return"enum";case 14:return"keyword";case 22:return"class";default:return"variable"}}function tm(t,e,a){let o=Ze.fromClass(class{constructor(i){this.view=i,this.timer=null,t.didOpen(e,i.state.doc.toString()),this.unsubscribe=t.onDiagnostics(e,l=>{let u=W2(this.view.state.doc,l);this.view.dispatch(by(this.view.state,u))})}update(i){i.docChanged&&(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,t.didChange(e,this.view.state.doc.toString())},200))}destroy(){this.timer&&(clearTimeout(this.timer),t.didChange(e,this.view.state.doc.toString())),this.unsubscribe()}}),r=async i=>{let l=i.matchBefore(/\w*/);if(!l)return null;if(l.from===l.to&&!i.explicit){let c=i.state.doc.sliceString(Math.max(0,i.pos-1),i.pos);if(c!=="."&&c!==":"&&c!=='"')return null}t.didChange(e,i.state.doc.toString());let u;try{u=await t.completion(e,Yp(i.state.doc,i.pos))}catch{return null}let d=Array.isArray(u)?u:u?.items??[];return d.length===0?null:{from:l.from,options:d.map(c=>({label:c.label,type:V2(c.kind),detail:c.detail}))}},n=du(async(i,l)=>{let u;try{u=await t.hover(e,Yp(i.state.doc,l))}catch{return null}let d=u?.contents?.value;return d?{pos:l,create:()=>{let c=document.createElement("pre");return c.className="nbt-hover-tooltip",c.style.cssText="margin:0;padding:6px 8px;max-width:480px;white-space:pre-wrap;font-size:11px;",c.textContent=d.replace(/```\w*\n?/g,""),{dom:c}}}:null}),s=Ar.of([{key:"F12",run:i=>{let l=Yp(i.state.doc,i.state.selection.main.head);return t.definition(e,l).then(u=>{let d=Array.isArray(u)?u[0]??null:u;if(d?.uri)if(d.uri===e){let c=Jp(i.state.doc,d.range.start);i.dispatch({selection:{anchor:c},scrollIntoView:!0})}else a?.(d.uri,d.range.start.line)}).catch(()=>{}),!0}}]);return[o,Ky({override:[r]}),n,s]}function cL(t){return Z.theme({"&":{height:"100%",fontSize:`${t}px`},".cm-content":{fontFamily:"ui-monospace, monospace"},"&.cm-focused":{outline:"none"}})}function fL(t){return Xt.high([mo.of(" ".repeat(t)),Me.tabSize.of(t)])}var od=({uri:t,value:e,readOnly:a=!1,lsp:o,onChange:r,onSave:n,onGotoDefinition:s,theme:i="default",fontSize:l=12,lineWrap:u=!1,tabSize:d=2})=>{let c=Aa.useRef(null),f=Aa.useRef(null),h=Aa.useRef(r);h.current=r;let p=Aa.useRef(n);p.current=n;let m=Aa.useRef(s);m.current=s;let g=Aa.useRef(new To),x=Aa.useRef(new To),y=Aa.useRef(new To),w=Aa.useRef({theme:i,fontSize:l,lineWrap:u,tabSize:d});return w.current={theme:i,fontSize:l,lineWrap:u,tabSize:d},Aa.useEffect(()=>{let C=c.current;if(!C)return;let I=w.current,v=[Xb(),Fw(),Hb(),qb(),ww(),$y(),ky(),Hn(mw,{fallback:!0}),em(),y.current.of(fL(I.tabSize)),g.current.of([cL(I.fontSize),ad(I.theme)]),x.current.of(I.lineWrap?Z.lineWrapping:[]),Ar.of([{key:"Mod-s",run:S=>(p.current?.(S.state.doc.toString()),!0)},...hy,...Hw,...By,...jp,py]),Z.updateListener.of(S=>{S.docChanged&&h.current?.(S.state.doc.toString())}),Me.readOnly.of(a)];o&&!a&&v.push(tm(o,t,(S,A)=>m.current?.(S,A)));let L=new Z({state:Me.create({doc:e,extensions:v}),parent:C});return f.current=L,()=>{L.destroy(),f.current=null}},[t,a,o]),Aa.useEffect(()=>{let C=f.current;C&&C.dispatch({effects:[g.current.reconfigure([cL(l),ad(i)]),x.current.reconfigure(u?Z.lineWrapping:[]),y.current.reconfigure(fL(d))]})},[i,l,u,d]),G2("div",{ref:c,className:"h-full min-h-0 overflow-hidden"})},rd=class{constructor(t){this.rootUri=null,this.ws=null,this.nextId=1,this.pending=new Map,this.diagHandlers=new Map,this.docs=new Map,this.ready=!1,this.queue=[],this.closed=!1,this.retryMs=500,this.url=t,this.connect()}dispose(){this.closed=!0,this.ws?.close(),this.pending.forEach(t=>t.reject(new Error("lsp client disposed"))),this.pending.clear()}connect(){if(this.closed)return;let t=new WebSocket(this.url);this.ws=t,t.onopen=()=>{this.retryMs=500,this.rootUri&&this.sendInitialize(this.rootUri)},t.onmessage=e=>{typeof e.data=="string"&&this.onMessage(e.data)},t.onclose=()=>{this.ready=!1,this.ws=null;for(let e of this.pending.values())e.reject(new Error("lsp connection closed"));this.pending.clear(),this.closed||(setTimeout(()=>this.connect(),this.retryMs),this.retryMs=Math.min(this.retryMs*2,1e4))}}initialize(t){this.rootUri=t,this.ws?.readyState===WebSocket.OPEN&&this.sendInitialize(t)}sendInitialize(t){let e=this.nextId++;this.pending.set(e,{resolve:()=>{this.sendRaw({jsonrpc:"2.0",method:"initialized",params:{}}),this.ready=!0;for(let[o,r]of this.docs)this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:o,languageId:"nbt",version:r.version,text:r.text}}});let a=this.queue;this.queue=[];for(let o of a)this.ws?.send(o)},reject:()=>{}}),this.ws?.send(JSON.stringify({jsonrpc:"2.0",id:e,method:"initialize",params:{rootUri:t}}))}sendRaw(t){let e=JSON.stringify(t);this.ready&&this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.queue.push(e)}onMessage(t){let e;try{e=JSON.parse(t)}catch{return}if(e.id!=null&&(e.result!==void 0||e.error)){let a=this.pending.get(e.id);if(!a)return;this.pending.delete(e.id),e.error?a.reject(new Error(e.error.message??"lsp error")):a.resolve(e.result);return}if(e.method==="textDocument/publishDiagnostics"){let a=e.params?.uri,o=this.diagHandlers.get(a);o&&o(e.params?.diagnostics??[])}}request(t,e){let a=this.nextId++,o=new Promise((r,n)=>{this.pending.set(a,{resolve:r,reject:n})});return this.sendRaw({jsonrpc:"2.0",id:a,method:t,params:e}),o}onDiagnostics(t,e){return this.diagHandlers.set(t,e),()=>{this.diagHandlers.get(t)===e&&this.diagHandlers.delete(t)}}didOpen(t,e){if(this.docs.get(t)){this.didChange(t,e);return}this.docs.set(t,{text:e,version:1}),this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:t,languageId:"nbt",version:1,text:e}}})}didChange(t,e){let a=this.docs.get(t);if(!a)return this.didOpen(t,e);a.text!==e&&(a.text=e,a.version+=1,this.sendRaw({jsonrpc:"2.0",method:"textDocument/didChange",params:{textDocument:{uri:t,version:a.version},contentChanges:[{text:e}]}}))}didClose(t){this.docs.delete(t)&&this.sendRaw({jsonrpc:"2.0",method:"textDocument/didClose",params:{textDocument:{uri:t}}})}completion(t,e){return this.request("textDocument/completion",{textDocument:{uri:t},position:e})}hover(t,e){return this.request("textDocument/hover",{textDocument:{uri:t},position:e})}definition(t,e){return this.request("textDocument/definition",{textDocument:{uri:t},position:e})}};import am from"react";import{jsx as $2}from"react/jsx-runtime";import K2,{createContext as j2,useContext as gL,useEffect as nd,useRef as $n,useState as sd}from"react";var pL=am.createContext({apiBaseUrl:""}),om=({apiBaseUrl:t="",children:e})=>{let a=am.useMemo(()=>({apiBaseUrl:t}),[t]);return $2(pL.Provider,{value:a,children:e})};function tt(){return am.useContext(pL)}function _r(t){if(!t){let e=window.location;return`${e.protocol==="https:"?"wss:":"ws:"}//${e.host}`}return t.replace(/^http(s?):/,"ws$1:")}var mL="nbt_devtools_token";function id(){try{return localStorage.getItem(mL)}catch{return null}}function rm(t){try{localStorage.setItem(mL,t)}catch{}}function Ma(t){let e={...t??{}},a=id();return a&&(e.Authorization=`Bearer ${a}`),e}async function nm(t,e){let a=await fetch(`${t}/_console/whoami`,{signal:e,credentials:"include",headers:Ma()});if(!a.ok)throw new Error(`HTTP ${a.status}`);return await a.json()}async function sm(t,e){try{let a=await fetch(`${t}/_console/settings`,{signal:e,credentials:"include",headers:Ma()});if(!a.ok)return{};let o=await a.json();return o&&typeof o=="object"?o:{}}catch{return{}}}async function im(t,e){try{await fetch(`${t}/_console/settings`,{method:"PUT",credentials:"include",headers:Ma({"content-type":"application/json"}),body:JSON.stringify(e)})}catch{}}async function lm(t,e,a){let o=await fetch(`${t}/api/auth/user/signin`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({email:e,password:a})});if(!o.ok)throw new Error(o.status===401?"Invalid email or password":`Sign-in failed (HTTP ${o.status})`);let r=await o.json();if(!r.token)throw new Error("Sign-in returned no token");rm(r.token)}async function um(t,e,a,o){let r=await fetch(`${t}/api/auth/user/signup`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:e,email:a,password:o})});if(!r.ok){let s=`HTTP ${r.status}`;if(r.status===409)s="That email is already registered";else try{let i=await r.json();i?.error&&(s=i.error)}catch{}throw new Error(`Sign-up failed: ${s}`)}let n=await r.json();if(!n.token)throw new Error("Sign-up returned no token");rm(n.token)}function X2(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for WS auth")}function dm(t){let e=id();return e?[t,`auth-${X2(e)}`]:[t]}var xL=1,bL=2,Z2=3,cm=4,fm=5,hm=6,Y2=255,ld=1,ud=2,dd=3,cd=4,fd=5,hd=6,pd=7,md=8,ui=9,gd=10,xd=11,wL=12,bd=13,wd=14;function J2(t){switch(t){case ld:return 1;case ud:return 2;case dd:return 4;case cd:return 8;case fd:return 1;case hd:return 2;case pd:return 4;case md:return 8;case ui:return 1;case gd:return 4;case xd:return 8;case wL:return 0;case bd:return 8;case wd:return 0;default:return 0}}var Q2=class{constructor(){this.columns=[],this.rows=[],this.totalRows=0,this.searchActive=!1,this._fullRows=[],this._fullTotalRows=0,this._idColIndex=-1,this._query=""}applySchema(t){this.columns=t.columns,this.totalRows=t.totalRows,this.rows=[],this._fullRows=[],this._fullTotalRows=t.totalRows,this.searchActive=!1,this._query="",this._idColIndex=t.columns.findIndex(e=>e.name==="id")}appendChunk(t){for(let e=0;e<t.length;e++){let a=t[e];this._fullRows.push(a),this.searchActive||this.rows.push(a)}}applyDelta(t){let e=this._fullRows;if(t.op===cm&&t.rowData){e.push(t.rowData),this._fullTotalRows++,this.totalRows++,this.searchActive?this._applySearch():this.rows=this._fullRows;return}if(t.op===fm&&t.rowData){let a=this._findRowById(e,t.rowData);a>=0&&(e[a]=t.rowData),this.searchActive?this._applySearch():this.rows=this._fullRows;return}if(t.op===hm&&t.id!==void 0){let a=String(t.id),o=this._findRowByIdStr(e,a);o>=0&&(e.splice(o,1),this._fullTotalRows--,this.totalRows--,this.searchActive?this._applySearch():this.rows=this._fullRows);return}}search(t){let e=t.trim().toLowerCase();if(!e){this.exitSearch();return}this.searchActive=!0,this._query=e,this._applySearch()}exitSearch(){this.searchActive&&(this.rows=this._fullRows,this.totalRows=this._fullTotalRows,this.searchActive=!1,this._query="")}getRowCount(){return this.rows.length}_findRowById(t,e){if(this._idColIndex<0)return-1;let a=e[this._idColIndex];for(let o=0;o<t.length;o++)if(t[o][this._idColIndex]===a)return o;return-1}_findRowByIdStr(t,e){if(this._idColIndex<0)return-1;for(let a=0;a<t.length;a++)if(t[a][this._idColIndex]===e)return a;return-1}_applySearch(){this.rows=this._fullRows.filter(t=>t.some(e=>e.toLowerCase().includes(this._query))),this.totalRows=this.rows.length}},yd=new TextDecoder,Ld=2,hL=1+Ld;function eB(t){let e=Math.abs(t);return e<1e10?new Date(t*1e3):e<1e13?new Date(t):e<1e16?new Date(t/1e3):new Date(t/1e6)}function yL(t,e,a){switch(a.type){case ld:return[String(t.getUint8(e)),1];case fd:return[String(t.getInt8(e)),1];case ui:return[t.getUint8(e)?"true":"false",1];case ud:return[String(t.getUint16(e,!0)),2];case hd:return[String(t.getInt16(e,!0)),2];case dd:return[String(t.getUint32(e,!0)),4];case pd:return[String(t.getInt32(e,!0)),4];case gd:return[String(t.getFloat32(e,!0)),4];case cd:return[String(t.getBigUint64(e,!0)),8];case md:return[String(t.getBigInt64(e,!0)),8];case xd:return[String(t.getFloat64(e,!0)),8];case bd:{let o=Number(t.getBigInt64(e,!0));return o===0?["",8]:[eB(o).toISOString(),8]}case wL:case wd:{let o=t.getUint32(e,!0),r=new Uint8Array(t.buffer,t.byteOffset+e+4,o);return[yd.decode(r),4+o]}default:return["",0]}}function tB(t){return new DataView(t).getUint8(0)}function aB(t){return new DataView(t).getUint16(1,!0)}function oB(t){let e=new DataView(t),a=0,o=e.getUint8(a);if(a+=1,o!==xL)throw new Error(`Expected SCHEMA frame (0x01), got 0x${o.toString(16)}`);a+=Ld;let r=e.getUint32(a,!0);a+=4;let n=e.getUint16(a,!0);a+=2;let s=[];for(let i=0;i<n;i++){let l=e.getUint8(a);a+=1;let u=e.getUint16(a,!0);a+=2;let d=new Uint8Array(t,a,u),c=yd.decode(d);a+=u,s.push({name:c,type:l,fixedSize:J2(l)})}return{totalRows:r,columns:s}}function rB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,r!==bL)throw new Error(`Expected DATA frame, got 0x${r.toString(16)}`);o+=Ld;let n=a.getUint16(o,!0);o+=2;let s=[];for(let i=0;i<n;i++){let l=[];for(let u=0;u<e.length;u++){let[d,c]=yL(a,o,e[u]);l.push(d),o+=c}s.push(l)}return s}function nB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,o+=Ld,r===hm){let n=a.getUint16(o,!0);o+=2;let s=new Uint8Array(t,o,n);return{op:r,id:yd.decode(s)}}if(r===cm||r===fm){let n=[];for(let s=0;s<e.length;s++){let[i,l]=yL(a,o,e[s]);n.push(i),o+=l}return{op:r,rowData:n}}throw new Error(`Unknown delta op 0x${r.toString(16)}`)}function sB(t){let a=new DataView(t).getUint16(hL,!0),o=new Uint8Array(t,hL+2,a);return yd.decode(o)}function iB(t,e,a,o){return JSON.stringify({cmd:"sub",sid:t,cart:e,entity:a,...o})}var pm=j2(null);function lB(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for bulk WS auth")}function uB(t){return["nimbit-bulk",`auth-${lB(t)}`]}var li=null,dB=6e4;async function cB(t,e){let a=id();if(a)return a;let o=Date.now();if(li?.apiBaseUrl===e&&o-li.at<dB)return li.token;let r=await fetch(`${e}/api/auth/session/current`,{method:"POST",signal:t,credentials:"include",headers:{"content-type":"application/json"}});if(!r.ok)return null;let s=(await r.json()).session?.token;return s?(li={apiBaseUrl:e,token:s,at:o},s):null}function fB(){li=null}function Xn(t){t.listeners.forEach(e=>e())}function mm({registry:t,children:e}){let{apiBaseUrl:a}=tt(),o=$n(null),r=$n([]),n=$n(1),s=$n(new Map),i=$n(new Map),l=$n(!1),[u,d]=sd(!1),[c,f]=sd(null),h=v=>{let L=o.current;L&&L.readyState===WebSocket.OPEN?L.send(v):r.current.push(v)},p=()=>{let v=o.current;if(!v||v.readyState!==WebSocket.OPEN)return;let L=r.current;r.current=[];for(let S of L)v.send(S)},m=(v,L)=>{let S=L.toLowerCase(),A=`${v}/${S}`,H=i.current.get(A);if(H)return H;let M=n.current++,R={sid:M,cart:v,entity:S,store:new Q2,columns:[],totalRows:0,loadedRows:0,streaming:!1,error:null,streamRequested:!1,onRender:null,listeners:new Set};return i.current.set(A,R),s.current.set(M,R),R},g=v=>{v.streamRequested||(v.streamRequested=!0,h(iB(v.sid,v.cart,v.entity)))},x=v=>{let L=v.data,S=aB(L),A=s.current.get(S);if(!A)return;let H=tB(L),M=A.store;switch(H){case xL:{let R=oB(L);M.applySchema(R),A.columns=R.columns,A.totalRows=R.totalRows,A.loadedRows=0,A.streaming=!0,Xn(A);break}case bL:{let R=rB(L,M.columns);M.appendChunk(R),A.loadedRows=M.getRowCount(),A.onRender?.();break}case Z2:A.streaming=!1,Xn(A);break;case cm:case fm:case hm:{let R=nB(L,M.columns);M.applyDelta(R),A.totalRows=M.totalRows,A.loadedRows=M.getRowCount(),A.onRender?.(),Xn(A);break}case Y2:A.error=sB(L),A.streaming=!1,Xn(A);break}};nd(()=>{let v=new AbortController,L=!1,S=!1,A=null;return r.current=[],n.current=1,s.current.clear(),i.current.clear(),l.current=!1,d(!1),f(null),(async()=>{let H=null;try{H=await cB(v.signal,a)}catch{}L||(A=H?new WebSocket(`${_r(a)}/_ws/bulk`,uB(H)):new WebSocket(`${_r(a)}/_ws/bulk`,["nimbit-bulk"]),A.binaryType="arraybuffer",o.current=A,A.onopen=()=>{L||o.current!==A||(S=!0,d(!0),f(null),p())},A.onmessage=x,A.onerror=()=>{},A.onclose=()=>{L||o.current!==A||(d(!1),o.current=null,S||(fB(),f("WebSocket connection closed")))})})(),()=>{if(L=!0,v.abort(),A){A.onopen=A.onmessage=A.onerror=A.onclose=null;try{A.close()}catch{}o.current===A&&(o.current=null)}}},[a]),nd(()=>{if(!u||l.current)return;let v=Object.keys(t);if(v.length!==0){l.current=!0;for(let L of v)for(let S of t[L]??[]){let A=m(L,S.name);g(A)}}},[u,t]);let I={getView:m,ensureStreamed:g,search:(v,L)=>{v.store.search(L),v.totalRows=v.store.totalRows,v.loadedRows=v.store.getRowCount(),Xn(v),v.onRender?.()},clearSearch:v=>{v.store.exitSearch(),v.totalRows=v.store.totalRows,v.loadedRows=v.store.getRowCount(),Xn(v),v.onRender?.()},subscribe:(v,L)=>(v.listeners.add(L),()=>{v.listeners.delete(L)}),connected:u,error:c};return K2.createElement(pm.Provider,{value:I},e)}function gm(t){let e=gL(pm);if(!e)throw new Error("useBulkRowCounts must be used within BulkStreamProvider");let[,a]=sd(0),o=[];for(let s of Object.keys(t))for(let i of t[s]??[])o.push({id:`${s}:${i.name}`,view:e.getView(s,i.name)});let r=o.map(s=>s.id).join("|");nd(()=>{let s=o.map(i=>e.subscribe(i.view,()=>a(l=>l+1)));return()=>s.forEach(i=>i())},[r]);let n={};for(let s of o)n[s.id]=s.view.totalRows;return n}function xm(t,e){let a=gL(pm);if(!a)throw new Error("useBulkSubscription must be used within BulkStreamProvider");let o=a.getView(t,e),[,r]=sd(0);return nd(()=>{let n=a.subscribe(o,()=>r(s=>s+1));return a.ensureStreamed(o),n},[o]),{store:o.store,connected:a.connected,streaming:o.streaming,error:o.error??a.error,columns:o.columns,totalRows:o.totalRows,loadedRows:o.loadedRows,search:n=>a.search(o,n),clearSearch:()=>a.clearSearch(o),setOnRender:n=>{o.onRender=n}}}import xt from"react";import{jsxs as gt,Fragment as vo,jsx as K}from"react/jsx-runtime";import{createContext as ug,useContext as Ni,useMemo as Ta,forwardRef as _S,useEffect as De,useRef as Se,useState as Za,useLayoutEffect as AN,useCallback as Ya,memo as Ye}from"react";function $e(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let a=0,o;a<t.length;a++)(o=$e(t[a]))!==""&&(e+=(e&&" ")+o);else for(let a in t)t[a]&&(e+=(e&&" ")+a);return e}var hB={value:()=>{}};function CL(){for(var t=0,e=arguments.length,a={},o;t<e;++t){if(!(o=arguments[t]+"")||o in a||/[\s.]/.test(o))throw new Error("illegal type: "+o);a[o]=[]}return new Cd(a)}function Cd(t){this._=t}function pB(t,e){return t.trim().split(/^|\s+/).map(function(a){var o="",r=a.indexOf(".");if(r>=0&&(o=a.slice(r+1),a=a.slice(0,r)),a&&!e.hasOwnProperty(a))throw new Error("unknown type: "+a);return{type:a,name:o}})}Cd.prototype=CL.prototype={constructor:Cd,on:function(t,e){var a=this._,o=pB(t+"",a),r,n=-1,s=o.length;if(arguments.length<2){for(;++n<s;)if((r=(t=o[n]).type)&&(r=mB(a[r],t.name)))return r;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++n<s;)if(r=(t=o[n]).type)a[r]=LL(a[r],t.name,e);else if(e==null)for(r in a)a[r]=LL(a[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var a in e)t[a]=e[a].slice();return new Cd(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var a=new Array(r),o=0,r,n;o<r;++o)a[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(n=this._[t],o=0,r=n.length;o<r;++o)n[o].value.apply(e,a)},apply:function(t,e,a){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],r=0,n=o.length;r<n;++r)o[r].value.apply(e,a)}};function mB(t,e){for(var a=0,o=t.length,r;a<o;++a)if((r=t[a]).name===e)return r.value}function LL(t,e,a){for(var o=0,r=t.length;o<r;++o)if(t[o].name===e){t[o]=hB,t=t.slice(0,o).concat(t.slice(o+1));break}return a!=null&&t.push({name:e,value:a}),t}var Hr=CL;var vd="http://www.w3.org/1999/xhtml",bm={svg:"http://www.w3.org/2000/svg",xhtml:vd,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function xo(t){var e=t+="",a=e.indexOf(":");return a>=0&&(e=t.slice(0,a))!=="xmlns"&&(t=t.slice(a+1)),bm.hasOwnProperty(e)?{space:bm[e],local:t}:t}function gB(t){return function(){var e=this.ownerDocument,a=this.namespaceURI;return a===vd&&e.documentElement.namespaceURI===vd?e.createElement(t):e.createElementNS(a,t)}}function xB(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Sd(t){var e=xo(t);return(e.local?xB:gB)(e)}function bB(){}function zr(t){return t==null?bB:function(){return this.querySelector(t)}}function vL(t){typeof t!="function"&&(t=zr(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=new Array(s),l,u,d=0;d<s;++d)(l=n[d])&&(u=t.call(l,l.__data__,d,n))&&("__data__"in l&&(u.__data__=l.__data__),i[d]=u);return new Xe(o,this._parents)}function wm(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function wB(){return[]}function di(t){return t==null?wB:function(){return this.querySelectorAll(t)}}function yB(t){return function(){return wm(t.apply(this,arguments))}}function SL(t){typeof t=="function"?t=yB(t):t=di(t);for(var e=this._groups,a=e.length,o=[],r=[],n=0;n<a;++n)for(var s=e[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&(o.push(t.call(l,l.__data__,u,s)),r.push(l));return new Xe(o,r)}function ci(t){return function(){return this.matches(t)}}function Id(t){return function(e){return e.matches(t)}}var LB=Array.prototype.find;function CB(t){return function(){return LB.call(this.children,t)}}function vB(){return this.firstElementChild}function IL(t){return this.select(t==null?vB:CB(typeof t=="function"?t:Id(t)))}var SB=Array.prototype.filter;function IB(){return Array.from(this.children)}function kB(t){return function(){return SB.call(this.children,t)}}function kL(t){return this.selectAll(t==null?IB:kB(typeof t=="function"?t:Id(t)))}function AL(t){typeof t!="function"&&(t=ci(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new Xe(o,this._parents)}function kd(t){return new Array(t.length)}function ML(){return new Xe(this._enter||this._groups.map(kd),this._parents)}function fi(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}fi.prototype={constructor:fi,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function PL(t){return function(){return t}}function AB(t,e,a,o,r,n){for(var s=0,i,l=e.length,u=n.length;s<u;++s)(i=e[s])?(i.__data__=n[s],o[s]=i):a[s]=new fi(t,n[s]);for(;s<l;++s)(i=e[s])&&(r[s]=i)}function MB(t,e,a,o,r,n,s){var i,l,u=new Map,d=e.length,c=n.length,f=new Array(d),h;for(i=0;i<d;++i)(l=e[i])&&(f[i]=h=s.call(l,l.__data__,i,e)+"",u.has(h)?r[i]=l:u.set(h,l));for(i=0;i<c;++i)h=s.call(t,n[i],i,n)+"",(l=u.get(h))?(o[i]=l,l.__data__=n[i],u.delete(h)):a[i]=new fi(t,n[i]);for(i=0;i<d;++i)(l=e[i])&&u.get(f[i])===l&&(r[i]=l)}function PB(t){return t.__data__}function DL(t,e){if(!arguments.length)return Array.from(this,PB);var a=e?MB:AB,o=this._parents,r=this._groups;typeof t!="function"&&(t=PL(t));for(var n=r.length,s=new Array(n),i=new Array(n),l=new Array(n),u=0;u<n;++u){var d=o[u],c=r[u],f=c.length,h=DB(t.call(d,d&&d.__data__,u,o)),p=h.length,m=i[u]=new Array(p),g=s[u]=new Array(p),x=l[u]=new Array(f);a(d,c,m,g,x,h,e);for(var y=0,w=0,C,I;y<p;++y)if(C=m[y]){for(y>=w&&(w=y+1);!(I=g[w])&&++w<p;);C._next=I||null}}return s=new Xe(s,o),s._enter=i,s._exit=l,s}function DB(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function RL(){return new Xe(this._exit||this._groups.map(kd),this._parents)}function TL(t,e,a){var o=this.enter(),r=this,n=this.exit();return typeof t=="function"?(o=t(o),o&&(o=o.selection())):o=o.append(t+""),e!=null&&(r=e(r),r&&(r=r.selection())),a==null?n.remove():a(n),o&&r?o.merge(r).order():r}function EL(t){for(var e=t.selection?t.selection():t,a=this._groups,o=e._groups,r=a.length,n=o.length,s=Math.min(r,n),i=new Array(r),l=0;l<s;++l)for(var u=a[l],d=o[l],c=u.length,f=i[l]=new Array(c),h,p=0;p<c;++p)(h=u[p]||d[p])&&(f[p]=h);for(;l<r;++l)i[l]=a[l];return new Xe(i,this._parents)}function BL(){for(var t=this._groups,e=-1,a=t.length;++e<a;)for(var o=t[e],r=o.length-1,n=o[r],s;--r>=0;)(s=o[r])&&(n&&s.compareDocumentPosition(n)^4&&n.parentNode.insertBefore(s,n),n=s);return this}function FL(t){t||(t=RB);function e(c,f){return c&&f?t(c.__data__,f.__data__):!c-!f}for(var a=this._groups,o=a.length,r=new Array(o),n=0;n<o;++n){for(var s=a[n],i=s.length,l=r[n]=new Array(i),u,d=0;d<i;++d)(u=s[d])&&(l[d]=u);l.sort(e)}return new Xe(r,this._parents).order()}function RB(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function OL(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function NL(){return Array.from(this)}function _L(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length;r<n;++r){var s=o[r];if(s)return s}return null}function HL(){let t=0;for(let e of this)++t;return t}function zL(){return!this.node()}function qL(t){for(var e=this._groups,a=0,o=e.length;a<o;++a)for(var r=e[a],n=0,s=r.length,i;n<s;++n)(i=r[n])&&t.call(i,i.__data__,n,r);return this}function TB(t){return function(){this.removeAttribute(t)}}function EB(t){return function(){this.removeAttributeNS(t.space,t.local)}}function BB(t,e){return function(){this.setAttribute(t,e)}}function FB(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function OB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttribute(t):this.setAttribute(t,a)}}function NB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,a)}}function UL(t,e){var a=xo(t);if(arguments.length<2){var o=this.node();return a.local?o.getAttributeNS(a.space,a.local):o.getAttribute(a)}return this.each((e==null?a.local?EB:TB:typeof e=="function"?a.local?NB:OB:a.local?FB:BB)(a,e))}function Ad(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function _B(t){return function(){this.style.removeProperty(t)}}function HB(t,e,a){return function(){this.style.setProperty(t,e,a)}}function zB(t,e,a){return function(){var o=e.apply(this,arguments);o==null?this.style.removeProperty(t):this.style.setProperty(t,o,a)}}function WL(t,e,a){return arguments.length>1?this.each((e==null?_B:typeof e=="function"?zB:HB)(t,e,a??"")):Vo(this.node(),t)}function Vo(t,e){return t.style.getPropertyValue(e)||Ad(t).getComputedStyle(t,null).getPropertyValue(e)}function qB(t){return function(){delete this[t]}}function UB(t,e){return function(){this[t]=e}}function WB(t,e){return function(){var a=e.apply(this,arguments);a==null?delete this[t]:this[t]=a}}function VL(t,e){return arguments.length>1?this.each((e==null?qB:typeof e=="function"?WB:UB)(t,e)):this.node()[t]}function GL(t){return t.trim().split(/^|\s+/)}function ym(t){return t.classList||new $L(t)}function $L(t){this._node=t,this._names=GL(t.getAttribute("class")||"")}$L.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function XL(t,e){for(var a=ym(t),o=-1,r=e.length;++o<r;)a.add(e[o])}function KL(t,e){for(var a=ym(t),o=-1,r=e.length;++o<r;)a.remove(e[o])}function VB(t){return function(){XL(this,t)}}function GB(t){return function(){KL(this,t)}}function $B(t,e){return function(){(e.apply(this,arguments)?XL:KL)(this,t)}}function jL(t,e){var a=GL(t+"");if(arguments.length<2){for(var o=ym(this.node()),r=-1,n=a.length;++r<n;)if(!o.contains(a[r]))return!1;return!0}return this.each((typeof e=="function"?$B:e?VB:GB)(a,e))}function XB(){this.textContent=""}function KB(t){return function(){this.textContent=t}}function jB(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function ZL(t){return arguments.length?this.each(t==null?XB:(typeof t=="function"?jB:KB)(t)):this.node().textContent}function ZB(){this.innerHTML=""}function YB(t){return function(){this.innerHTML=t}}function JB(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function YL(t){return arguments.length?this.each(t==null?ZB:(typeof t=="function"?JB:YB)(t)):this.node().innerHTML}function QB(){this.nextSibling&&this.parentNode.appendChild(this)}function JL(){return this.each(QB)}function eF(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function QL(){return this.each(eF)}function eC(t){var e=typeof t=="function"?t:Sd(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function tF(){return null}function tC(t,e){var a=typeof t=="function"?t:Sd(t),o=e==null?tF:typeof e=="function"?e:zr(e);return this.select(function(){return this.insertBefore(a.apply(this,arguments),o.apply(this,arguments)||null)})}function aF(){var t=this.parentNode;t&&t.removeChild(this)}function aC(){return this.each(aF)}function oF(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function rF(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function oC(t){return this.select(t?rF:oF)}function rC(t){return arguments.length?this.property("__data__",t):this.node().__data__}function nF(t){return function(e){t.call(this,e,this.__data__)}}function sF(t){return t.trim().split(/^|\s+/).map(function(e){var a="",o=e.indexOf(".");return o>=0&&(a=e.slice(o+1),e=e.slice(0,o)),{type:e,name:a}})}function iF(t){return function(){var e=this.__on;if(e){for(var a=0,o=-1,r=e.length,n;a<r;++a)n=e[a],(!t.type||n.type===t.type)&&n.name===t.name?this.removeEventListener(n.type,n.listener,n.options):e[++o]=n;++o?e.length=o:delete this.__on}}}function lF(t,e,a){return function(){var o=this.__on,r,n=nF(e);if(o){for(var s=0,i=o.length;s<i;++s)if((r=o[s]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=n,r.options=a),r.value=e;return}}this.addEventListener(t.type,n,a),r={type:t.type,name:t.name,value:e,listener:n,options:a},o?o.push(r):this.__on=[r]}}function nC(t,e,a){var o=sF(t+""),r,n=o.length,s;if(arguments.length<2){var i=this.node().__on;if(i){for(var l=0,u=i.length,d;l<u;++l)for(r=0,d=i[l];r<n;++r)if((s=o[r]).type===d.type&&s.name===d.name)return d.value}return}for(i=e?lF:iF,r=0;r<n;++r)this.each(i(o[r],e,a));return this}function sC(t,e,a){var o=Ad(t),r=o.CustomEvent;typeof r=="function"?r=new r(e,a):(r=o.document.createEvent("Event"),a?(r.initEvent(e,a.bubbles,a.cancelable),r.detail=a.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function uF(t,e){return function(){return sC(this,t,e)}}function dF(t,e){return function(){return sC(this,t,e.apply(this,arguments))}}function iC(t,e){return this.each((typeof e=="function"?dF:uF)(t,e))}function*lC(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length,s;r<n;++r)(s=o[r])&&(yield s)}var Lm=[null];function Xe(t,e){this._groups=t,this._parents=e}function uC(){return new Xe([[document.documentElement]],Lm)}function cF(){return this}Xe.prototype=uC.prototype={constructor:Xe,select:vL,selectAll:SL,selectChild:IL,selectChildren:kL,filter:AL,data:DL,enter:ML,exit:RL,join:TL,merge:EL,selection:cF,order:BL,sort:FL,call:OL,nodes:NL,node:_L,size:HL,empty:zL,each:qL,attr:UL,style:WL,property:VL,classed:jL,text:ZL,html:YL,raise:JL,lower:QL,append:eC,insert:tC,remove:aC,clone:oC,datum:rC,on:nC,dispatch:iC,[Symbol.iterator]:lC};var bo=uC;function ut(t){return typeof t=="string"?new Xe([[document.querySelector(t)]],[document.documentElement]):new Xe([[t]],Lm)}function dC(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Pt(t,e){if(t=dC(t),e===void 0&&(e=t.currentTarget),e){var a=e.ownerSVGElement||e;if(a.createSVGPoint){var o=a.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,o=o.matrixTransform(e.getScreenCTM().inverse()),[o.x,o.y]}if(e.getBoundingClientRect){var r=e.getBoundingClientRect();return[t.clientX-r.left-e.clientLeft,t.clientY-r.top-e.clientTop]}}return[t.pageX,t.pageY]}var cC={passive:!1},qr={capture:!0,passive:!1};function Md(t){t.stopImmediatePropagation()}function Go(t){t.preventDefault(),t.stopImmediatePropagation()}function hi(t){var e=t.document.documentElement,a=ut(t).on("dragstart.drag",Go,qr);"onselectstart"in e?a.on("selectstart.drag",Go,qr):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function pi(t,e){var a=t.document.documentElement,o=ut(t).on("dragstart.drag",null);e&&(o.on("click.drag",Go,qr),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in a?o.on("selectstart.drag",null):(a.style.MozUserSelect=a.__noselect,delete a.__noselect)}var mi=t=>()=>t;function gi(t,{sourceEvent:e,subject:a,target:o,identifier:r,active:n,x:s,y:i,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:a,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:n,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:i,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}gi.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function fF(t){return!t.ctrlKey&&!t.button}function hF(){return this.parentNode}function pF(t,e){return e??{x:t.x,y:t.y}}function mF(){return navigator.maxTouchPoints||"ontouchstart"in this}function Pd(){var t=fF,e=hF,a=pF,o=mF,r={},n=Hr("start","drag","end"),s=0,i,l,u,d,c=0;function f(C){C.on("mousedown.drag",h).filter(o).on("touchstart.drag",g).on("touchmove.drag",x,cC).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(C,I){if(!(d||!t.call(this,C,I))){var v=w(this,e.call(this,C,I),C,I,"mouse");v&&(ut(C.view).on("mousemove.drag",p,qr).on("mouseup.drag",m,qr),hi(C.view),Md(C),u=!1,i=C.clientX,l=C.clientY,v("start",C))}}function p(C){if(Go(C),!u){var I=C.clientX-i,v=C.clientY-l;u=I*I+v*v>c}r.mouse("drag",C)}function m(C){ut(C.view).on("mousemove.drag mouseup.drag",null),pi(C.view,u),Go(C),r.mouse("end",C)}function g(C,I){if(t.call(this,C,I)){var v=C.changedTouches,L=e.call(this,C,I),S=v.length,A,H;for(A=0;A<S;++A)(H=w(this,L,C,I,v[A].identifier,v[A]))&&(Md(C),H("start",C,v[A]))}}function x(C){var I=C.changedTouches,v=I.length,L,S;for(L=0;L<v;++L)(S=r[I[L].identifier])&&(Go(C),S("drag",C,I[L]))}function y(C){var I=C.changedTouches,v=I.length,L,S;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),L=0;L<v;++L)(S=r[I[L].identifier])&&(Md(C),S("end",C,I[L]))}function w(C,I,v,L,S,A){var H=n.copy(),M=Pt(A||v,I),R,z,k;if((k=a.call(C,new gi("beforestart",{sourceEvent:v,target:f,identifier:S,active:s,x:M[0],y:M[1],dx:0,dy:0,dispatch:H}),L))!=null)return R=k.x-M[0]||0,z=k.y-M[1]||0,function T(D,E,q){var B=M,P;switch(D){case"start":r[S]=T,P=s++;break;case"end":delete r[S],--s;case"drag":M=Pt(q||E,I),P=s;break}H.call(D,C,new gi(D,{sourceEvent:E,subject:k,target:f,identifier:S,active:P,x:M[0]+R,y:M[1]+z,dx:M[0]-B[0],dy:M[1]-B[1],dispatch:H}),L)}}return f.filter=function(C){return arguments.length?(t=typeof C=="function"?C:mi(!!C),f):t},f.container=function(C){return arguments.length?(e=typeof C=="function"?C:mi(C),f):e},f.subject=function(C){return arguments.length?(a=typeof C=="function"?C:mi(C),f):a},f.touchable=function(C){return arguments.length?(o=typeof C=="function"?C:mi(!!C),f):o},f.on=function(){var C=n.on.apply(n,arguments);return C===n?f:C},f.clickDistance=function(C){return arguments.length?(c=(C=+C)*C,f):Math.sqrt(c)},f}function Dd(t,e,a){t.prototype=e.prototype=a,a.constructor=t}function Cm(t,e){var a=Object.create(t.prototype);for(var o in e)a[o]=e[o];return a}function wi(){}var xi=.7,Ed=1/xi,Kn="\\s*([+-]?\\d+)\\s*",bi="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",$a="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",gF=/^#([0-9a-f]{3,8})$/,xF=new RegExp(`^rgb\\(${Kn},${Kn},${Kn}\\)$`),bF=new RegExp(`^rgb\\(${$a},${$a},${$a}\\)$`),wF=new RegExp(`^rgba\\(${Kn},${Kn},${Kn},${bi}\\)$`),yF=new RegExp(`^rgba\\(${$a},${$a},${$a},${bi}\\)$`),LF=new RegExp(`^hsl\\(${bi},${$a},${$a}\\)$`),CF=new RegExp(`^hsla\\(${bi},${$a},${$a},${bi}\\)$`),fC={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};Dd(wi,Da,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:hC,formatHex:hC,formatHex8:vF,formatHsl:SF,formatRgb:pC,toString:pC});function hC(){return this.rgb().formatHex()}function vF(){return this.rgb().formatHex8()}function SF(){return yC(this).formatHsl()}function pC(){return this.rgb().formatRgb()}function Da(t){var e,a;return t=(t+"").trim().toLowerCase(),(e=gF.exec(t))?(a=e[1].length,e=parseInt(e[1],16),a===6?mC(e):a===3?new Ht(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):a===8?Rd(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):a===4?Rd(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=xF.exec(t))?new Ht(e[1],e[2],e[3],1):(e=bF.exec(t))?new Ht(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=wF.exec(t))?Rd(e[1],e[2],e[3],e[4]):(e=yF.exec(t))?Rd(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=LF.exec(t))?bC(e[1],e[2]/100,e[3]/100,1):(e=CF.exec(t))?bC(e[1],e[2]/100,e[3]/100,e[4]):fC.hasOwnProperty(t)?mC(fC[t]):t==="transparent"?new Ht(NaN,NaN,NaN,0):null}function mC(t){return new Ht(t>>16&255,t>>8&255,t&255,1)}function Rd(t,e,a,o){return o<=0&&(t=e=a=NaN),new Ht(t,e,a,o)}function IF(t){return t instanceof wi||(t=Da(t)),t?(t=t.rgb(),new Ht(t.r,t.g,t.b,t.opacity)):new Ht}function jn(t,e,a,o){return arguments.length===1?IF(t):new Ht(t,e,a,o??1)}function Ht(t,e,a,o){this.r=+t,this.g=+e,this.b=+a,this.opacity=+o}Dd(Ht,jn,Cm(wi,{brighter(t){return t=t==null?Ed:Math.pow(Ed,t),new Ht(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?xi:Math.pow(xi,t),new Ht(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Ht(Wr(this.r),Wr(this.g),Wr(this.b),Bd(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:gC,formatHex:gC,formatHex8:kF,formatRgb:xC,toString:xC}));function gC(){return`#${Ur(this.r)}${Ur(this.g)}${Ur(this.b)}`}function kF(){return`#${Ur(this.r)}${Ur(this.g)}${Ur(this.b)}${Ur((isNaN(this.opacity)?1:this.opacity)*255)}`}function xC(){let t=Bd(this.opacity);return`${t===1?"rgb(":"rgba("}${Wr(this.r)}, ${Wr(this.g)}, ${Wr(this.b)}${t===1?")":`, ${t})`}`}function Bd(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Wr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function Ur(t){return t=Wr(t),(t<16?"0":"")+t.toString(16)}function bC(t,e,a,o){return o<=0?t=e=a=NaN:a<=0||a>=1?t=e=NaN:e<=0&&(t=NaN),new Pa(t,e,a,o)}function yC(t){if(t instanceof Pa)return new Pa(t.h,t.s,t.l,t.opacity);if(t instanceof wi||(t=Da(t)),!t)return new Pa;if(t instanceof Pa)return t;t=t.rgb();var e=t.r/255,a=t.g/255,o=t.b/255,r=Math.min(e,a,o),n=Math.max(e,a,o),s=NaN,i=n-r,l=(n+r)/2;return i?(e===n?s=(a-o)/i+(a<o)*6:a===n?s=(o-e)/i+2:s=(e-a)/i+4,i/=l<.5?n+r:2-n-r,s*=60):i=l>0&&l<1?0:s,new Pa(s,i,l,t.opacity)}function LC(t,e,a,o){return arguments.length===1?yC(t):new Pa(t,e,a,o??1)}function Pa(t,e,a,o){this.h=+t,this.s=+e,this.l=+a,this.opacity=+o}Dd(Pa,LC,Cm(wi,{brighter(t){return t=t==null?Ed:Math.pow(Ed,t),new Pa(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?xi:Math.pow(xi,t),new Pa(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,a=this.l,o=a+(a<.5?a:1-a)*e,r=2*a-o;return new Ht(vm(t>=240?t-240:t+120,r,o),vm(t,r,o),vm(t<120?t+240:t-120,r,o),this.opacity)},clamp(){return new Pa(wC(this.h),Td(this.s),Td(this.l),Bd(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 t=Bd(this.opacity);return`${t===1?"hsl(":"hsla("}${wC(this.h)}, ${Td(this.s)*100}%, ${Td(this.l)*100}%${t===1?")":`, ${t})`}`}}));function wC(t){return t=(t||0)%360,t<0?t+360:t}function Td(t){return Math.max(0,Math.min(1,t||0))}function vm(t,e,a){return(t<60?e+(a-e)*t/60:t<180?a:t<240?e+(a-e)*(240-t)/60:e)*255}function Sm(t,e,a,o,r){var n=t*t,s=n*t;return((1-3*t+3*n-s)*e+(4-6*n+3*s)*a+(1+3*t+3*n-3*s)*o+s*r)/6}function CC(t){var e=t.length-1;return function(a){var o=a<=0?a=0:a>=1?(a=1,e-1):Math.floor(a*e),r=t[o],n=t[o+1],s=o>0?t[o-1]:2*r-n,i=o<e-1?t[o+2]:2*n-r;return Sm((a-o/e)*e,s,r,n,i)}}function vC(t){var e=t.length;return function(a){var o=Math.floor(((a%=1)<0?++a:a)*e),r=t[(o+e-1)%e],n=t[o%e],s=t[(o+1)%e],i=t[(o+2)%e];return Sm((a-o/e)*e,r,n,s,i)}}var yi=t=>()=>t;function AF(t,e){return function(a){return t+a*e}}function MF(t,e,a){return t=Math.pow(t,a),e=Math.pow(e,a)-t,a=1/a,function(o){return Math.pow(t+o*e,a)}}function SC(t){return(t=+t)==1?Fd:function(e,a){return a-e?MF(e,a,t):yi(isNaN(e)?a:e)}}function Fd(t,e){var a=e-t;return a?AF(t,a):yi(isNaN(t)?e:t)}var Vr=(function t(e){var a=SC(e);function o(r,n){var s=a((r=jn(r)).r,(n=jn(n)).r),i=a(r.g,n.g),l=a(r.b,n.b),u=Fd(r.opacity,n.opacity);return function(d){return r.r=s(d),r.g=i(d),r.b=l(d),r.opacity=u(d),r+""}}return o.gamma=t,o})(1);function IC(t){return function(e){var a=e.length,o=new Array(a),r=new Array(a),n=new Array(a),s,i;for(s=0;s<a;++s)i=jn(e[s]),o[s]=i.r||0,r[s]=i.g||0,n[s]=i.b||0;return o=t(o),r=t(r),n=t(n),i.opacity=1,function(l){return i.r=o(l),i.g=r(l),i.b=n(l),i+""}}}var PF=IC(CC),DF=IC(vC);function kC(t,e){e||(e=[]);var a=t?Math.min(e.length,t.length):0,o=e.slice(),r;return function(n){for(r=0;r<a;++r)o[r]=t[r]*(1-n)+e[r]*n;return o}}function AC(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function MC(t,e){var a=e?e.length:0,o=t?Math.min(a,t.length):0,r=new Array(o),n=new Array(a),s;for(s=0;s<o;++s)r[s]=wo(t[s],e[s]);for(;s<a;++s)n[s]=e[s];return function(i){for(s=0;s<o;++s)n[s]=r[s](i);return n}}function PC(t,e){var a=new Date;return t=+t,e=+e,function(o){return a.setTime(t*(1-o)+e*o),a}}function Dt(t,e){return t=+t,e=+e,function(a){return t*(1-a)+e*a}}function DC(t,e){var a={},o={},r;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(r in e)r in t?a[r]=wo(t[r],e[r]):o[r]=e[r];return function(n){for(r in a)o[r]=a[r](n);return o}}var km=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Im=new RegExp(km.source,"g");function RF(t){return function(){return t}}function TF(t){return function(e){return t(e)+""}}function Li(t,e){var a=km.lastIndex=Im.lastIndex=0,o,r,n,s=-1,i=[],l=[];for(t=t+"",e=e+"";(o=km.exec(t))&&(r=Im.exec(e));)(n=r.index)>a&&(n=e.slice(a,n),i[s]?i[s]+=n:i[++s]=n),(o=o[0])===(r=r[0])?i[s]?i[s]+=r:i[++s]=r:(i[++s]=null,l.push({i:s,x:Dt(o,r)})),a=Im.lastIndex;return a<e.length&&(n=e.slice(a),i[s]?i[s]+=n:i[++s]=n),i.length<2?l[0]?TF(l[0].x):RF(e):(e=l.length,function(u){for(var d=0,c;d<e;++d)i[(c=l[d]).i]=c.x(u);return i.join("")})}function wo(t,e){var a=typeof e,o;return e==null||a==="boolean"?yi(e):(a==="number"?Dt:a==="string"?(o=Da(e))?(e=o,Vr):Li:e instanceof Da?Vr:e instanceof Date?PC:AC(e)?kC:Array.isArray(e)?MC:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?DC:Dt)(t,e)}var RC=180/Math.PI,Od={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function Am(t,e,a,o,r,n){var s,i,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*a+e*o)&&(a-=t*l,o-=e*l),(i=Math.sqrt(a*a+o*o))&&(a/=i,o/=i,l/=i),t*o<e*a&&(t=-t,e=-e,l=-l,s=-s),{translateX:r,translateY:n,rotate:Math.atan2(e,t)*RC,skewX:Math.atan(l)*RC,scaleX:s,scaleY:i}}var Nd;function TC(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Od:Am(e.a,e.b,e.c,e.d,e.e,e.f)}function EC(t){return t==null?Od:(Nd||(Nd=document.createElementNS("http://www.w3.org/2000/svg","g")),Nd.setAttribute("transform",t),(t=Nd.transform.baseVal.consolidate())?(t=t.matrix,Am(t.a,t.b,t.c,t.d,t.e,t.f)):Od)}function BC(t,e,a,o){function r(u){return u.length?u.pop()+" ":""}function n(u,d,c,f,h,p){if(u!==c||d!==f){var m=h.push("translate(",null,e,null,a);p.push({i:m-4,x:Dt(u,c)},{i:m-2,x:Dt(d,f)})}else(c||f)&&h.push("translate("+c+e+f+a)}function s(u,d,c,f){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),f.push({i:c.push(r(c)+"rotate(",null,o)-2,x:Dt(u,d)})):d&&c.push(r(c)+"rotate("+d+o)}function i(u,d,c,f){u!==d?f.push({i:c.push(r(c)+"skewX(",null,o)-2,x:Dt(u,d)}):d&&c.push(r(c)+"skewX("+d+o)}function l(u,d,c,f,h,p){if(u!==c||d!==f){var m=h.push(r(h)+"scale(",null,",",null,")");p.push({i:m-4,x:Dt(u,c)},{i:m-2,x:Dt(d,f)})}else(c!==1||f!==1)&&h.push(r(h)+"scale("+c+","+f+")")}return function(u,d){var c=[],f=[];return u=t(u),d=t(d),n(u.translateX,u.translateY,d.translateX,d.translateY,c,f),s(u.rotate,d.rotate,c,f),i(u.skewX,d.skewX,c,f),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,c,f),u=d=null,function(h){for(var p=-1,m=f.length,g;++p<m;)c[(g=f[p]).i]=g.x(h);return c.join("")}}}var Mm=BC(TC,"px, ","px)","deg)"),Pm=BC(EC,", ",")",")");var EF=1e-12;function FC(t){return((t=Math.exp(t))+1/t)/2}function BF(t){return((t=Math.exp(t))-1/t)/2}function FF(t){return((t=Math.exp(2*t))-1)/(t+1)}var Gr=(function t(e,a,o){function r(n,s){var i=n[0],l=n[1],u=n[2],d=s[0],c=s[1],f=s[2],h=d-i,p=c-l,m=h*h+p*p,g,x;if(m<EF)x=Math.log(f/u)/e,g=function(L){return[i+L*h,l+L*p,u*Math.exp(e*L*x)]};else{var y=Math.sqrt(m),w=(f*f-u*u+o*m)/(2*u*a*y),C=(f*f-u*u-o*m)/(2*f*a*y),I=Math.log(Math.sqrt(w*w+1)-w),v=Math.log(Math.sqrt(C*C+1)-C);x=(v-I)/e,g=function(L){var S=L*x,A=FC(I),H=u/(a*y)*(A*FF(e*S+I)-BF(I));return[i+H*h,l+H*p,u*A/FC(e*S+I)]}}return g.duration=x*1e3*e/Math.SQRT2,g}return r.rho=function(n){var s=Math.max(.001,+n),i=s*s,l=i*i;return t(s,i,l)},r})(Math.SQRT2,2,4);var Zn=0,vi=0,Ci=0,NC=1e3,_d,Si,Hd=0,$r=0,zd=0,Ii=typeof performance=="object"&&performance.now?performance:Date,_C=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Ai(){return $r||(_C(OF),$r=Ii.now()+zd)}function OF(){$r=0}function ki(){this._call=this._time=this._next=null}ki.prototype=qd.prototype={constructor:ki,restart:function(t,e,a){if(typeof t!="function")throw new TypeError("callback is not a function");a=(a==null?Ai():+a)+(e==null?0:+e),!this._next&&Si!==this&&(Si?Si._next=this:_d=this,Si=this),this._call=t,this._time=a,Dm()},stop:function(){this._call&&(this._call=null,this._time=1/0,Dm())}};function qd(t,e,a){var o=new ki;return o.restart(t,e,a),o}function HC(){Ai(),++Zn;for(var t=_d,e;t;)(e=$r-t._time)>=0&&t._call.call(void 0,e),t=t._next;--Zn}function OC(){$r=(Hd=Ii.now())+zd,Zn=vi=0;try{HC()}finally{Zn=0,_F(),$r=0}}function NF(){var t=Ii.now(),e=t-Hd;e>NC&&(zd-=e,Hd=t)}function _F(){for(var t,e=_d,a,o=1/0;e;)e._call?(o>e._time&&(o=e._time),t=e,e=e._next):(a=e._next,e._next=null,e=t?t._next=a:_d=a);Si=t,Dm(o)}function Dm(t){if(!Zn){vi&&(vi=clearTimeout(vi));var e=t-$r;e>24?(t<1/0&&(vi=setTimeout(OC,t-Ii.now()-zd)),Ci&&(Ci=clearInterval(Ci))):(Ci||(Hd=Ii.now(),Ci=setInterval(NF,NC)),Zn=1,_C(OC))}}function Ud(t,e,a){var o=new ki;return e=e==null?0:+e,o.restart(r=>{o.stop(),t(r+e)},e,a),o}var HF=Hr("start","end","cancel","interrupt"),zF=[],UC=0,zC=1,Vd=2,Wd=3,qC=4,Gd=5,Mi=6;function $o(t,e,a,o,r,n){var s=t.__transition;if(!s)t.__transition={};else if(a in s)return;qF(t,a,{name:e,index:o,group:r,on:HF,tween:zF,time:n.time,delay:n.delay,duration:n.duration,ease:n.ease,timer:null,state:UC})}function Pi(t,e){var a=rt(t,e);if(a.state>UC)throw new Error("too late; already scheduled");return a}function mt(t,e){var a=rt(t,e);if(a.state>Wd)throw new Error("too late; already running");return a}function rt(t,e){var a=t.__transition;if(!a||!(a=a[e]))throw new Error("transition not found");return a}function qF(t,e,a){var o=t.__transition,r;o[e]=a,a.timer=qd(n,0,a.time);function n(u){a.state=zC,a.timer.restart(s,a.delay,a.time),a.delay<=u&&s(u-a.delay)}function s(u){var d,c,f,h;if(a.state!==zC)return l();for(d in o)if(h=o[d],h.name===a.name){if(h.state===Wd)return Ud(s);h.state===qC?(h.state=Mi,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete o[d]):+d<e&&(h.state=Mi,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete o[d])}if(Ud(function(){a.state===Wd&&(a.state=qC,a.timer.restart(i,a.delay,a.time),i(u))}),a.state=Vd,a.on.call("start",t,t.__data__,a.index,a.group),a.state===Vd){for(a.state=Wd,r=new Array(f=a.tween.length),d=0,c=-1;d<f;++d)(h=a.tween[d].value.call(t,t.__data__,a.index,a.group))&&(r[++c]=h);r.length=c+1}}function i(u){for(var d=u<a.duration?a.ease.call(null,u/a.duration):(a.timer.restart(l),a.state=Gd,1),c=-1,f=r.length;++c<f;)r[c].call(t,d);a.state===Gd&&(a.on.call("end",t,t.__data__,a.index,a.group),l())}function l(){a.state=Mi,a.timer.stop(),delete o[e];for(var u in o)return;delete t.__transition}}function Xr(t,e){var a=t.__transition,o,r,n=!0,s;if(a){e=e==null?null:e+"";for(s in a){if((o=a[s]).name!==e){n=!1;continue}r=o.state>Vd&&o.state<Gd,o.state=Mi,o.timer.stop(),o.on.call(r?"interrupt":"cancel",t,t.__data__,o.index,o.group),delete a[s]}n&&delete t.__transition}}function WC(t){return this.each(function(){Xr(this,t)})}function UF(t,e){var a,o;return function(){var r=mt(this,t),n=r.tween;if(n!==a){o=a=n;for(var s=0,i=o.length;s<i;++s)if(o[s].name===e){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function WF(t,e,a){var o,r;if(typeof a!="function")throw new Error;return function(){var n=mt(this,t),s=n.tween;if(s!==o){r=(o=s).slice();for(var i={name:e,value:a},l=0,u=r.length;l<u;++l)if(r[l].name===e){r[l]=i;break}l===u&&r.push(i)}n.tween=r}}function VC(t,e){var a=this._id;if(t+="",arguments.length<2){for(var o=rt(this.node(),a).tween,r=0,n=o.length,s;r<n;++r)if((s=o[r]).name===t)return s.value;return null}return this.each((e==null?UF:WF)(a,t,e))}function Yn(t,e,a){var o=t._id;return t.each(function(){var r=mt(this,o);(r.value||(r.value={}))[e]=a.apply(this,arguments)}),function(r){return rt(r,o).value[e]}}function $d(t,e){var a;return(typeof e=="number"?Dt:e instanceof Da?Vr:(a=Da(e))?(e=a,Vr):Li)(t,e)}function VF(t){return function(){this.removeAttribute(t)}}function GF(t){return function(){this.removeAttributeNS(t.space,t.local)}}function $F(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttribute(t);return s===r?null:s===o?n:n=e(o=s,a)}}function XF(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttributeNS(t.space,t.local);return s===r?null:s===o?n:n=e(o=s,a)}}function KF(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function jF(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function GC(t,e){var a=xo(t),o=a==="transform"?Pm:$d;return this.attrTween(t,typeof e=="function"?(a.local?jF:KF)(a,o,Yn(this,"attr."+t,e)):e==null?(a.local?GF:VF)(a):(a.local?XF:$F)(a,o,e))}function ZF(t,e){return function(a){this.setAttribute(t,e.call(this,a))}}function YF(t,e){return function(a){this.setAttributeNS(t.space,t.local,e.call(this,a))}}function JF(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&YF(t,n)),a}return r._value=e,r}function QF(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&ZF(t,n)),a}return r._value=e,r}function $C(t,e){var a="attr."+t;if(arguments.length<2)return(a=this.tween(a))&&a._value;if(e==null)return this.tween(a,null);if(typeof e!="function")throw new Error;var o=xo(t);return this.tween(a,(o.local?JF:QF)(o,e))}function eO(t,e){return function(){Pi(this,t).delay=+e.apply(this,arguments)}}function tO(t,e){return e=+e,function(){Pi(this,t).delay=e}}function XC(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?eO:tO)(e,t)):rt(this.node(),e).delay}function aO(t,e){return function(){mt(this,t).duration=+e.apply(this,arguments)}}function oO(t,e){return e=+e,function(){mt(this,t).duration=e}}function KC(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?aO:oO)(e,t)):rt(this.node(),e).duration}function rO(t,e){if(typeof e!="function")throw new Error;return function(){mt(this,t).ease=e}}function jC(t){var e=this._id;return arguments.length?this.each(rO(e,t)):rt(this.node(),e).ease}function nO(t,e){return function(){var a=e.apply(this,arguments);if(typeof a!="function")throw new Error;mt(this,t).ease=a}}function ZC(t){if(typeof t!="function")throw new Error;return this.each(nO(this._id,t))}function YC(t){typeof t!="function"&&(t=ci(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new Rt(o,this._parents,this._name,this._id)}function JC(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,a=t._groups,o=e.length,r=a.length,n=Math.min(o,r),s=new Array(o),i=0;i<n;++i)for(var l=e[i],u=a[i],d=l.length,c=s[i]=new Array(d),f,h=0;h<d;++h)(f=l[h]||u[h])&&(c[h]=f);for(;i<o;++i)s[i]=e[i];return new Rt(s,this._parents,this._name,this._id)}function sO(t){return(t+"").trim().split(/^|\s+/).every(function(e){var a=e.indexOf(".");return a>=0&&(e=e.slice(0,a)),!e||e==="start"})}function iO(t,e,a){var o,r,n=sO(e)?Pi:mt;return function(){var s=n(this,t),i=s.on;i!==o&&(r=(o=i).copy()).on(e,a),s.on=r}}function QC(t,e){var a=this._id;return arguments.length<2?rt(this.node(),a).on.on(t):this.each(iO(a,t,e))}function lO(t){return function(){var e=this.parentNode;for(var a in this.__transition)if(+a!==t)return;e&&e.removeChild(this)}}function ev(){return this.on("end.remove",lO(this._id))}function tv(t){var e=this._name,a=this._id;typeof t!="function"&&(t=zr(t));for(var o=this._groups,r=o.length,n=new Array(r),s=0;s<r;++s)for(var i=o[s],l=i.length,u=n[s]=new Array(l),d,c,f=0;f<l;++f)(d=i[f])&&(c=t.call(d,d.__data__,f,i))&&("__data__"in d&&(c.__data__=d.__data__),u[f]=c,$o(u[f],e,a,f,u,rt(d,a)));return new Rt(n,this._parents,e,a)}function av(t){var e=this._name,a=this._id;typeof t!="function"&&(t=di(t));for(var o=this._groups,r=o.length,n=[],s=[],i=0;i<r;++i)for(var l=o[i],u=l.length,d,c=0;c<u;++c)if(d=l[c]){for(var f=t.call(d,d.__data__,c,l),h,p=rt(d,a),m=0,g=f.length;m<g;++m)(h=f[m])&&$o(h,e,a,m,f,p);n.push(f),s.push(d)}return new Rt(n,s,e,a)}var uO=bo.prototype.constructor;function ov(){return new uO(this._groups,this._parents)}function dO(t,e){var a,o,r;return function(){var n=Vo(this,t),s=(this.style.removeProperty(t),Vo(this,t));return n===s?null:n===a&&s===o?r:r=e(a=n,o=s)}}function rv(t){return function(){this.style.removeProperty(t)}}function cO(t,e,a){var o,r=a+"",n;return function(){var s=Vo(this,t);return s===r?null:s===o?n:n=e(o=s,a)}}function fO(t,e,a){var o,r,n;return function(){var s=Vo(this,t),i=a(this),l=i+"";return i==null&&(l=i=(this.style.removeProperty(t),Vo(this,t))),s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i))}}function hO(t,e){var a,o,r,n="style."+e,s="end."+n,i;return function(){var l=mt(this,t),u=l.on,d=l.value[n]==null?i||(i=rv(e)):void 0;(u!==a||r!==d)&&(o=(a=u).copy()).on(s,r=d),l.on=o}}function nv(t,e,a){var o=(t+="")=="transform"?Mm:$d;return e==null?this.styleTween(t,dO(t,o)).on("end.style."+t,rv(t)):typeof e=="function"?this.styleTween(t,fO(t,o,Yn(this,"style."+t,e))).each(hO(this._id,t)):this.styleTween(t,cO(t,o,e),a).on("end.style."+t,null)}function pO(t,e,a){return function(o){this.style.setProperty(t,e.call(this,o),a)}}function mO(t,e,a){var o,r;function n(){var s=e.apply(this,arguments);return s!==r&&(o=(r=s)&&pO(t,s,a)),o}return n._value=e,n}function sv(t,e,a){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(e==null)return this.tween(o,null);if(typeof e!="function")throw new Error;return this.tween(o,mO(t,e,a??""))}function gO(t){return function(){this.textContent=t}}function xO(t){return function(){var e=t(this);this.textContent=e??""}}function iv(t){return this.tween("text",typeof t=="function"?xO(Yn(this,"text",t)):gO(t==null?"":t+""))}function bO(t){return function(e){this.textContent=t.call(this,e)}}function wO(t){var e,a;function o(){var r=t.apply(this,arguments);return r!==a&&(e=(a=r)&&bO(r)),e}return o._value=t,o}function lv(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,wO(t))}function uv(){for(var t=this._name,e=this._id,a=Xd(),o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)if(l=s[u]){var d=rt(l,e);$o(l,t,a,u,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Rt(o,this._parents,t,a)}function dv(){var t,e,a=this,o=a._id,r=a.size();return new Promise(function(n,s){var i={value:s},l={value:function(){--r===0&&n()}};a.each(function(){var u=mt(this,o),d=u.on;d!==t&&(e=(t=d).copy(),e._.cancel.push(i),e._.interrupt.push(i),e._.end.push(l)),u.on=e}),r===0&&n()})}var yO=0;function Rt(t,e,a,o){this._groups=t,this._parents=e,this._name=a,this._id=o}function cv(t){return bo().transition(t)}function Xd(){return++yO}var yo=bo.prototype;Rt.prototype=cv.prototype={constructor:Rt,select:tv,selectAll:av,selectChild:yo.selectChild,selectChildren:yo.selectChildren,filter:YC,merge:JC,selection:ov,transition:uv,call:yo.call,nodes:yo.nodes,node:yo.node,size:yo.size,empty:yo.empty,each:yo.each,on:QC,attr:GC,attrTween:$C,style:nv,styleTween:sv,text:iv,textTween:lv,remove:ev,tween:VC,delay:XC,duration:KC,ease:jC,easeVarying:ZC,end:dv,[Symbol.iterator]:yo[Symbol.iterator]};function Kd(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var LO={time:null,delay:0,duration:250,ease:Kd};function CO(t,e){for(var a;!(a=t.__transition)||!(a=a[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return a}function fv(t){var e,a;t instanceof Rt?(e=t._id,t=t._name):(e=Xd(),(a=LO).time=Ai(),t=t==null?null:t+"");for(var o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&$o(l,t,e,u,s,a||CO(l,e));return new Rt(o,this._parents,t,e)}bo.prototype.interrupt=WC;bo.prototype.transition=fv;var Di=t=>()=>t;function Rm(t,{sourceEvent:e,target:a,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function Ra(t,e,a){this.k=t,this.x=e,this.y=a}Ra.prototype={constructor:Ra,scale:function(t){return t===1?this:new Ra(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Ra(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Kr=new Ra(1,0,0);Ri.prototype=Ra.prototype;function Ri(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Kr;return t.__zoom}function jd(t){t.stopImmediatePropagation()}function Jn(t){t.preventDefault(),t.stopImmediatePropagation()}function vO(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function SO(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function hv(){return this.__zoom||Kr}function IO(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function kO(){return navigator.maxTouchPoints||"ontouchstart"in this}function AO(t,e,a){var o=t.invertX(e[0][0])-a[0][0],r=t.invertX(e[1][0])-a[1][0],n=t.invertY(e[0][1])-a[0][1],s=t.invertY(e[1][1])-a[1][1];return t.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>n?(n+s)/2:Math.min(0,n)||Math.max(0,s))}function Zd(){var t=vO,e=SO,a=AO,o=IO,r=kO,n=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],i=250,l=Gr,u=Hr("start","zoom","end"),d,c,f,h=500,p=150,m=0,g=10;function x(k){k.property("__zoom",hv).on("wheel.zoom",S,{passive:!1}).on("mousedown.zoom",A).on("dblclick.zoom",H).filter(r).on("touchstart.zoom",M).on("touchmove.zoom",R).on("touchend.zoom touchcancel.zoom",z).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}x.transform=function(k,T,D,E){var q=k.selection?k.selection():k;q.property("__zoom",hv),k!==q?I(k,T,D,E):q.interrupt().each(function(){v(this,arguments).event(E).start().zoom(null,typeof T=="function"?T.apply(this,arguments):T).end()})},x.scaleBy=function(k,T,D,E){x.scaleTo(k,function(){var q=this.__zoom.k,B=typeof T=="function"?T.apply(this,arguments):T;return q*B},D,E)},x.scaleTo=function(k,T,D,E){x.transform(k,function(){var q=e.apply(this,arguments),B=this.__zoom,P=D==null?C(q):typeof D=="function"?D.apply(this,arguments):D,N=B.invert(P),U=typeof T=="function"?T.apply(this,arguments):T;return a(w(y(B,U),P,N),q,s)},D,E)},x.translateBy=function(k,T,D,E){x.transform(k,function(){return a(this.__zoom.translate(typeof T=="function"?T.apply(this,arguments):T,typeof D=="function"?D.apply(this,arguments):D),e.apply(this,arguments),s)},null,E)},x.translateTo=function(k,T,D,E,q){x.transform(k,function(){var B=e.apply(this,arguments),P=this.__zoom,N=E==null?C(B):typeof E=="function"?E.apply(this,arguments):E;return a(Kr.translate(N[0],N[1]).scale(P.k).translate(typeof T=="function"?-T.apply(this,arguments):-T,typeof D=="function"?-D.apply(this,arguments):-D),B,s)},E,q)};function y(k,T){return T=Math.max(n[0],Math.min(n[1],T)),T===k.k?k:new Ra(T,k.x,k.y)}function w(k,T,D){var E=T[0]-D[0]*k.k,q=T[1]-D[1]*k.k;return E===k.x&&q===k.y?k:new Ra(k.k,E,q)}function C(k){return[(+k[0][0]+ +k[1][0])/2,(+k[0][1]+ +k[1][1])/2]}function I(k,T,D,E){k.on("start.zoom",function(){v(this,arguments).event(E).start()}).on("interrupt.zoom end.zoom",function(){v(this,arguments).event(E).end()}).tween("zoom",function(){var q=this,B=arguments,P=v(q,B).event(E),N=e.apply(q,B),U=D==null?C(N):typeof D=="function"?D.apply(q,B):D,$=Math.max(N[1][0]-N[0][0],N[1][1]-N[0][1]),_=q.__zoom,W=typeof T=="function"?T.apply(q,B):T,G=l(_.invert(U).concat($/_.k),W.invert(U).concat($/W.k));return function(O){if(O===1)O=W;else{var F=G(O),V=$/F[2];O=new Ra(V,U[0]-F[0]*V,U[1]-F[1]*V)}P.zoom(null,O)}})}function v(k,T,D){return!D&&k.__zooming||new L(k,T)}function L(k,T){this.that=k,this.args=T,this.active=0,this.sourceEvent=null,this.extent=e.apply(k,T),this.taps=0}L.prototype={event:function(k){return k&&(this.sourceEvent=k),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(k,T){return this.mouse&&k!=="mouse"&&(this.mouse[1]=T.invert(this.mouse[0])),this.touch0&&k!=="touch"&&(this.touch0[1]=T.invert(this.touch0[0])),this.touch1&&k!=="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(k){var T=ut(this.that).datum();u.call(k,this.that,new Rm(k,{sourceEvent:this.sourceEvent,target:x,type:k,transform:this.that.__zoom,dispatch:u}),T)}};function S(k,...T){if(!t.apply(this,arguments))return;var D=v(this,T).event(k),E=this.__zoom,q=Math.max(n[0],Math.min(n[1],E.k*Math.pow(2,o.apply(this,arguments)))),B=Pt(k);if(D.wheel)(D.mouse[0][0]!==B[0]||D.mouse[0][1]!==B[1])&&(D.mouse[1]=E.invert(D.mouse[0]=B)),clearTimeout(D.wheel);else{if(E.k===q)return;D.mouse=[B,E.invert(B)],Xr(this),D.start()}Jn(k),D.wheel=setTimeout(P,p),D.zoom("mouse",a(w(y(E,q),D.mouse[0],D.mouse[1]),D.extent,s));function P(){D.wheel=null,D.end()}}function A(k,...T){if(f||!t.apply(this,arguments))return;var D=k.currentTarget,E=v(this,T,!0).event(k),q=ut(k.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",$,!0),B=Pt(k,D),P=k.clientX,N=k.clientY;hi(k.view),jd(k),E.mouse=[B,this.__zoom.invert(B)],Xr(this),E.start();function U(_){if(Jn(_),!E.moved){var W=_.clientX-P,G=_.clientY-N;E.moved=W*W+G*G>m}E.event(_).zoom("mouse",a(w(E.that.__zoom,E.mouse[0]=Pt(_,D),E.mouse[1]),E.extent,s))}function $(_){q.on("mousemove.zoom mouseup.zoom",null),pi(_.view,E.moved),Jn(_),E.event(_).end()}}function H(k,...T){if(t.apply(this,arguments)){var D=this.__zoom,E=Pt(k.changedTouches?k.changedTouches[0]:k,this),q=D.invert(E),B=D.k*(k.shiftKey?.5:2),P=a(w(y(D,B),E,q),e.apply(this,T),s);Jn(k),i>0?ut(this).transition().duration(i).call(I,P,E,k):ut(this).call(x.transform,P,E,k)}}function M(k,...T){if(t.apply(this,arguments)){var D=k.touches,E=D.length,q=v(this,T,k.changedTouches.length===E).event(k),B,P,N,U;for(jd(k),P=0;P<E;++P)N=D[P],U=Pt(N,this),U=[U,this.__zoom.invert(U),N.identifier],q.touch0?!q.touch1&&q.touch0[2]!==U[2]&&(q.touch1=U,q.taps=0):(q.touch0=U,B=!0,q.taps=1+!!d);d&&(d=clearTimeout(d)),B&&(q.taps<2&&(c=U[0],d=setTimeout(function(){d=null},h)),Xr(this),q.start())}}function R(k,...T){if(this.__zooming){var D=v(this,T).event(k),E=k.changedTouches,q=E.length,B,P,N,U;for(Jn(k),B=0;B<q;++B)P=E[B],N=Pt(P,this),D.touch0&&D.touch0[2]===P.identifier?D.touch0[0]=N:D.touch1&&D.touch1[2]===P.identifier&&(D.touch1[0]=N);if(P=D.that.__zoom,D.touch1){var $=D.touch0[0],_=D.touch0[1],W=D.touch1[0],G=D.touch1[1],O=(O=W[0]-$[0])*O+(O=W[1]-$[1])*O,F=(F=G[0]-_[0])*F+(F=G[1]-_[1])*F;P=y(P,Math.sqrt(O/F)),N=[($[0]+W[0])/2,($[1]+W[1])/2],U=[(_[0]+G[0])/2,(_[1]+G[1])/2]}else if(D.touch0)N=D.touch0[0],U=D.touch0[1];else return;D.zoom("touch",a(w(P,N,U),D.extent,s))}}function z(k,...T){if(this.__zooming){var D=v(this,T).event(k),E=k.changedTouches,q=E.length,B,P;for(jd(k),f&&clearTimeout(f),f=setTimeout(function(){f=null},h),B=0;B<q;++B)P=E[B],D.touch0&&D.touch0[2]===P.identifier?delete D.touch0:D.touch1&&D.touch1[2]===P.identifier&&delete D.touch1;if(D.touch1&&!D.touch0&&(D.touch0=D.touch1,delete D.touch1),D.touch0)D.touch0[1]=this.__zoom.invert(D.touch0[0]);else if(D.end(),D.taps===2&&(P=Pt(P,this),Math.hypot(c[0]-P[0],c[1]-P[1])<g)){var N=ut(this).on("dblclick.zoom");N&&N.apply(this,arguments)}}}return x.wheelDelta=function(k){return arguments.length?(o=typeof k=="function"?k:Di(+k),x):o},x.filter=function(k){return arguments.length?(t=typeof k=="function"?k:Di(!!k),x):t},x.touchable=function(k){return arguments.length?(r=typeof k=="function"?k:Di(!!k),x):r},x.extent=function(k){return arguments.length?(e=typeof k=="function"?k:Di([[+k[0][0],+k[0][1]],[+k[1][0],+k[1][1]]]),x):e},x.scaleExtent=function(k){return arguments.length?(n[0]=+k[0],n[1]=+k[1],x):[n[0],n[1]]},x.translateExtent=function(k){return arguments.length?(s[0][0]=+k[0][0],s[1][0]=+k[1][0],s[0][1]=+k[0][1],s[1][1]=+k[1][1],x):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},x.constrain=function(k){return arguments.length?(a=k,x):a},x.duration=function(k){return arguments.length?(i=+k,x):i},x.interpolate=function(k){return arguments.length?(l=k,x):l},x.on=function(){var k=u.on.apply(u,arguments);return k===u?x:k},x.clickDistance=function(k){return arguments.length?(m=(k=+k)*k,x):Math.sqrt(m)},x.tapDistance=function(k){return arguments.length?(g=+k,x):g},x}var Yt={error001:(t="react")=>`Seems like you have not used zustand provider as an ancestor. Help: https://${t}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:t=>`Node type "${t}" 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:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:a,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${t==="source"?a:o}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/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:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},as=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Om=["Enter"," ","Escape"],Nm={"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:t,x:e,y:a})=>`Moved selected node ${t}. New position, x: ${e}, y: ${a}`,"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"},jo;(function(t){t.Strict="strict",t.Loose="loose"})(jo||(jo={}));var Lo;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(Lo||(Lo={}));var jr;(function(t){t.Partial="partial",t.Full="full"})(jr||(jr={}));var _m={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},Xa;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Xa||(Xa={}));var Zo;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(Zo||(Zo={}));var se;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(se||(se={}));var pv={[se.Left]:se.Right,[se.Right]:se.Left,[se.Top]:se.Bottom,[se.Bottom]:se.Top};function Hm(t){return t===null?null:t?"valid":"invalid"}var zm=t=>"id"in t&&"source"in t&&"target"in t,Av=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),qm=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t);var Ei=(t,e=[0,0])=>{let{width:a,height:o}=Ka(t),r=t.origin??e,n=a*r[0],s=o*r[1];return{x:t.position.x-n,y:t.position.y-s}},Um=(t,e={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let a=t.reduce((o,r)=>{let n=typeof r=="string",s=!e.nodeLookup&&!n?r:void 0;e.nodeLookup&&(s=n?e.nodeLookup.get(r):qm(r)?r:e.nodeLookup.get(r.id));let i=s?Qd(s,e.nodeOrigin):{x:0,y:0,x2:0,y2:0};return ac(o,i)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return oc(a)},os=(t,e={})=>{let a={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return t.forEach(r=>{(e.filter===void 0||e.filter(r))&&(a=ac(a,Qd(r)),o=!0)}),o?oc(a):{x:0,y:0,width:0,height:0}},ec=(t,e,[a,o,r]=[0,0,1],n=!1,s=!1)=>{let i={...en(e,[a,o,r]),width:e.width/r,height:e.height/r},l=[];for(let u of t.values()){let{measured:d,selectable:c=!0,hidden:f=!1}=u;if(s&&!c||f)continue;let h=d.width??u.width??u.initialWidth??null,p=d.height??u.height??u.initialHeight??null,m=rs(i,Qr(u)),g=(h??0)*(p??0),x=n&&m>0;(!u.internals.handleBounds||x||m>=g||u.dragging)&&l.push(u)}return l},Mv=(t,e)=>{let a=new Set;return t.forEach(o=>{a.add(o.id)}),e.filter(o=>a.has(o.source)||a.has(o.target))};function MO(t,e){let a=new Map,o=e?.nodes?new Set(e.nodes.map(r=>r.id)):null;return t.forEach(r=>{r.measured.width&&r.measured.height&&(e?.includeHiddenNodes||!r.hidden)&&(!o||o.has(r.id))&&a.set(r.id,r)}),a}async function Pv({nodes:t,width:e,height:a,panZoom:o,minZoom:r,maxZoom:n},s){if(t.size===0)return!0;let i=MO(t,s),l=os(i),u=Bi(l,e,a,s?.minZoom??r,s?.maxZoom??n,s?.padding??.1);return await o.setViewport(u,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),!0}function Wm({nodeId:t,nextPosition:e,nodeLookup:a,nodeOrigin:o=[0,0],nodeExtent:r,onError:n}){let s=a.get(t),i=s.parentId?a.get(s.parentId):void 0,{x:l,y:u}=i?i.internals.positionAbsolute:{x:0,y:0},d=s.origin??o,c=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!i)n?.("005",Yt.error005());else{let h=i.measured.width,p=i.measured.height;h&&p&&(c=[[l,u],[l+h,u+p]])}else i&&Jr(s.extent)&&(c=[[s.extent[0][0]+l,s.extent[0][1]+u],[s.extent[1][0]+l,s.extent[1][1]+u]]);let f=Jr(c)?Zr(e,c,s.measured):e;return(s.measured.width===void 0||s.measured.height===void 0)&&n?.("015",Yt.error015()),{position:{x:f.x-l+(s.measured.width??0)*d[0],y:f.y-u+(s.measured.height??0)*d[1]},positionAbsolute:f}}async function Dv({nodesToRemove:t=[],edgesToRemove:e=[],nodes:a,edges:o,onBeforeDelete:r}){let n=new Set(t.map(f=>f.id)),s=[];for(let f of a){if(f.deletable===!1)continue;let h=n.has(f.id),p=!h&&f.parentId&&s.find(m=>m.id===f.parentId);(h||p)&&s.push(f)}let i=new Set(e.map(f=>f.id)),l=o.filter(f=>f.deletable!==!1),d=Mv(s,l);for(let f of l)i.has(f.id)&&!d.find(p=>p.id===f.id)&&d.push(f);if(!r)return{edges:d,nodes:s};let c=await r({nodes:s,edges:d});return typeof c=="boolean"?c?{edges:d,nodes:s}:{edges:[],nodes:[]}:c}var ts=(t,e=0,a=1)=>Math.min(Math.max(t,e),a),Zr=(t={x:0,y:0},e,a)=>({x:ts(t.x,e[0][0],e[1][0]-(a?.width??0)),y:ts(t.y,e[0][1],e[1][1]-(a?.height??0))});function Rv(t,e,a){let{width:o,height:r}=Ka(a),{x:n,y:s}=a.internals.positionAbsolute;return Zr(t,[[n,s],[n+o,s+r]],e)}var mv=(t,e,a)=>t<e?ts(Math.abs(t-e),1,e)/e:t>a?-ts(Math.abs(t-a),1,e)/e:0,tc=(t,e,a=15,o=40)=>{let r=mv(t.x,o,e.width-o)*a,n=mv(t.y,o,e.height-o)*a;return[r,n]},ac=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),Fm=({x:t,y:e,width:a,height:o})=>({x:t,y:e,x2:t+a,y2:e+o}),oc=({x:t,y:e,x2:a,y2:o})=>({x:t,y:e,width:a-t,height:o-e}),Qr=(t,e=[0,0])=>{let{x:a,y:o}=qm(t)?t.internals.positionAbsolute:Ei(t,e);return{x:a,y:o,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},Qd=(t,e=[0,0])=>{let{x:a,y:o}=qm(t)?t.internals.positionAbsolute:Ei(t,e);return{x:a,y:o,x2:a+(t.measured?.width??t.width??t.initialWidth??0),y2:o+(t.measured?.height??t.height??t.initialHeight??0)}},Vm=(t,e)=>oc(ac(Fm(t),Fm(e))),rs=(t,e)=>{let a=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(a*o)},Gm=t=>da(t.width)&&da(t.height)&&da(t.x)&&da(t.y),da=t=>!isNaN(t)&&isFinite(t),$m=(t,e)=>(a,o)=>{},ns=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),en=({x:t,y:e},[a,o,r],n=!1,s=[1,1])=>{let i={x:(t-a)/r,y:(e-o)/r};return n?ns(i,s):i},Yr=({x:t,y:e},[a,o,r])=>({x:t*r+a,y:e*r+o});function Qn(t,e){if(typeof t=="number")return Math.floor((e-e/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(a)}if(typeof t=="string"&&t.endsWith("%")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(e*a*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function PO(t,e,a){if(typeof t=="string"||typeof t=="number"){let o=Qn(t,a),r=Qn(t,e);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof t=="object"){let o=Qn(t.top??t.y??0,a),r=Qn(t.bottom??t.y??0,a),n=Qn(t.left??t.x??0,e),s=Qn(t.right??t.x??0,e);return{top:o,right:s,bottom:r,left:n,x:n+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function DO(t,e,a,o,r,n){let{x:s,y:i}=Yr(t,[e,a,o]),{x:l,y:u}=Yr({x:t.x+t.width,y:t.y+t.height},[e,a,o]),d=r-l,c=n-u;return{left:Math.floor(s),top:Math.floor(i),right:Math.floor(d),bottom:Math.floor(c)}}var Bi=(t,e,a,o,r,n)=>{let s=PO(n,e,a),i=(e-s.x)/t.width,l=(a-s.y)/t.height,u=Math.min(i,l),d=ts(u,o,r),c=t.x+t.width/2,f=t.y+t.height/2,h=e/2-c*d,p=a/2-f*d,m=DO(t,h,p,d,e,a),g={left:Math.min(m.left-s.left,0),top:Math.min(m.top-s.top,0),right:Math.min(m.right-s.right,0),bottom:Math.min(m.bottom-s.bottom,0)};return{x:h-g.left+g.right,y:p-g.top+g.bottom,zoom:d}},ss=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function Jr(t){return t!=null&&t!=="parent"}function Ka(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function rc(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function Xm(t,e={width:0,height:0},a,o,r){let n={...t},s=o.get(a);if(s){let i=s.origin||r;n.x+=s.internals.positionAbsolute.x-(e.width??0)*i[0],n.y+=s.internals.positionAbsolute.y-(e.height??0)*i[1]}return n}function Km(t,e){if(t.size!==e.size)return!1;for(let a of t)if(!e.has(a))return!1;return!0}function Tv(){let t,e;return{promise:new Promise((o,r)=>{t=o,e=r}),resolve:t,reject:e}}function Ev(t){return{...Nm,...t||{}}}function Ti(t,{snapGrid:e=[0,0],snapToGrid:a=!1,transform:o,containerBounds:r}){let{x:n,y:s}=ca(t),i=en({x:n-(r?.left??0),y:s-(r?.top??0)},o),{x:l,y:u}=a?ns(i,e):i;return{xSnapped:l,ySnapped:u,...i}}var nc=t=>({width:t.offsetWidth,height:t.offsetHeight}),jm=t=>t?.getRootNode?.()||window?.document,RO=["INPUT","SELECT","TEXTAREA"];function Zm(t){let e=t.composedPath?.()?.[0]||t.target;return e?.nodeType!==1?!1:RO.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey")}var Ym=t=>"clientX"in t,ca=(t,e)=>{let a=Ym(t),o=a?t.clientX:t.touches?.[0].clientX,r=a?t.clientY:t.touches?.[0].clientY;return{x:o-(e?.left??0),y:r-(e?.top??0)}},gv=(t,e,a,o,r)=>{let n=e.querySelectorAll(`.${t}`);return!n||!n.length?null:Array.from(n).map(s=>{let i=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:t,nodeId:r,position:s.getAttribute("data-handlepos"),x:(i.left-a.left)/o,y:(i.top-a.top)/o,...nc(s)}})};function sc({sourceX:t,sourceY:e,targetX:a,targetY:o,sourceControlX:r,sourceControlY:n,targetControlX:s,targetControlY:i}){let l=t*.125+r*.375+s*.375+a*.125,u=e*.125+n*.375+i*.375+o*.125,d=Math.abs(l-t),c=Math.abs(u-e);return[l,u,d,c]}function Yd(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function xv({pos:t,x1:e,y1:a,x2:o,y2:r,c:n}){switch(t){case se.Left:return[e-Yd(e-o,n),a];case se.Right:return[e+Yd(o-e,n),a];case se.Top:return[e,a-Yd(a-r,n)];case se.Bottom:return[e,a+Yd(r-a,n)]}}function ic({sourceX:t,sourceY:e,sourcePosition:a=se.Bottom,targetX:o,targetY:r,targetPosition:n=se.Top,curvature:s=.25}){let[i,l]=xv({pos:a,x1:t,y1:e,x2:o,y2:r,c:s}),[u,d]=xv({pos:n,x1:o,y1:r,x2:t,y2:e,c:s}),[c,f,h,p]=sc({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:i,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${t},${e} C${i},${l} ${u},${d} ${o},${r}`,c,f,h,p]}function Jm({sourceX:t,sourceY:e,targetX:a,targetY:o}){let r=Math.abs(a-t)/2,n=a<t?a+r:a-r,s=Math.abs(o-e)/2,i=o<e?o+s:o-s;return[n,i,r,s]}function Bv({sourceNode:t,targetNode:e,selected:a=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:n="basic"}){if(n==="manual")return o;let s=r&&a?o+1e3:o,i=Math.max(t.parentId||r&&t.selected?t.internals.z:0,e.parentId||r&&e.selected?e.internals.z:0);return s+i}function Fv({sourceNode:t,targetNode:e,width:a,height:o,transform:r}){let n=ac(Qd(t),Qd(e));n.x===n.x2&&(n.x2+=1),n.y===n.y2&&(n.y2+=1);let s={x:-r[0]/r[2],y:-r[1]/r[2],width:a/r[2],height:o/r[2]};return rs(s,oc(n))>0}var TO=({source:t,sourceHandle:e,target:a,targetHandle:o})=>`xy-edge__${t}${e||""}-${a}${o||""}`,EO=(t,e)=>e.some(a=>a.source===t.source&&a.target===t.target&&(a.sourceHandle===t.sourceHandle||!a.sourceHandle&&!t.sourceHandle)&&(a.targetHandle===t.targetHandle||!a.targetHandle&&!t.targetHandle)),Ov=(t,e,a={})=>{if(!t.source||!t.target)return a.onError?.("006",Yt.error006()),e;let o=a.getEdgeId||TO,r;return zm(t)?r={...t}:r={...t,id:o(t)},EO(r,e)?e:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,e.concat(r))};function lc({sourceX:t,sourceY:e,targetX:a,targetY:o}){let[r,n,s,i]=Jm({sourceX:t,sourceY:e,targetX:a,targetY:o});return[`M ${t},${e}L ${a},${o}`,r,n,s,i]}var bv={[se.Left]:{x:-1,y:0},[se.Right]:{x:1,y:0},[se.Top]:{x:0,y:-1},[se.Bottom]:{x:0,y:1}},BO=({source:t,sourcePosition:e=se.Bottom,target:a})=>e===se.Left||e===se.Right?t.x<a.x?{x:1,y:0}:{x:-1,y:0}:t.y<a.y?{x:0,y:1}:{x:0,y:-1},wv=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function FO({source:t,sourcePosition:e=se.Bottom,target:a,targetPosition:o=se.Top,center:r,offset:n,stepPosition:s}){let i=bv[e],l=bv[o],u={x:t.x+i.x*n,y:t.y+i.y*n},d={x:a.x+l.x*n,y:a.y+l.y*n},c=BO({source:u,sourcePosition:e,target:d}),f=c.x!==0?"x":"y",h=c[f],p=[],m,g,x={x:0,y:0},y={x:0,y:0},[,,w,C]=Jm({sourceX:t.x,sourceY:t.y,targetX:a.x,targetY:a.y});if(i[f]*l[f]===-1){f==="x"?(m=r.x??u.x+(d.x-u.x)*s,g=r.y??(u.y+d.y)/2):(m=r.x??(u.x+d.x)/2,g=r.y??u.y+(d.y-u.y)*s);let S=[{x:m,y:u.y},{x:m,y:d.y}],A=[{x:u.x,y:g},{x:d.x,y:g}];i[f]===h?p=f==="x"?S:A:p=f==="x"?A:S}else{let S=[{x:u.x,y:d.y}],A=[{x:d.x,y:u.y}];if(f==="x"?p=i.x===h?A:S:p=i.y===h?S:A,e===o){let k=Math.abs(t[f]-a[f]);if(k<=n){let T=Math.min(n-1,n-k);i[f]===h?x[f]=(u[f]>t[f]?-1:1)*T:y[f]=(d[f]>a[f]?-1:1)*T}}if(e!==o){let k=f==="x"?"y":"x",T=i[f]===l[k],D=u[k]>d[k],E=u[k]<d[k];(i[f]===1&&(!T&&D||T&&E)||i[f]!==1&&(!T&&E||T&&D))&&(p=f==="x"?S:A)}let H={x:u.x+x.x,y:u.y+x.y},M={x:d.x+y.x,y:d.y+y.y},R=Math.max(Math.abs(H.x-p[0].x),Math.abs(M.x-p[0].x)),z=Math.max(Math.abs(H.y-p[0].y),Math.abs(M.y-p[0].y));R>=z?(m=(H.x+M.x)/2,g=p[0].y):(m=p[0].x,g=(H.y+M.y)/2)}let I={x:u.x+x.x,y:u.y+x.y},v={x:d.x+y.x,y:d.y+y.y};return[[t,...I.x!==p[0].x||I.y!==p[0].y?[I]:[],...p,...v.x!==p[p.length-1].x||v.y!==p[p.length-1].y?[v]:[],a],m,g,w,C]}function OO(t,e,a,o){let r=Math.min(wv(t,e)/2,wv(e,a)/2,o),{x:n,y:s}=e;if(t.x===n&&n===a.x||t.y===s&&s===a.y)return`L${n} ${s}`;if(t.y===s){let u=t.x<a.x?-1:1,d=t.y<a.y?1:-1;return`L ${n+r*u},${s}Q ${n},${s} ${n},${s+r*d}`}let i=t.x<a.x?1:-1,l=t.y<a.y?-1:1;return`L ${n},${s+r*l}Q ${n},${s} ${n+r*i},${s}`}function Fi({sourceX:t,sourceY:e,sourcePosition:a=se.Bottom,targetX:o,targetY:r,targetPosition:n=se.Top,borderRadius:s=5,centerX:i,centerY:l,offset:u=20,stepPosition:d=.5}){let[c,f,h,p,m]=FO({source:{x:t,y:e},sourcePosition:a,target:{x:o,y:r},targetPosition:n,center:{x:i,y:l},offset:u,stepPosition:d}),g=`M${c[0].x} ${c[0].y}`;for(let x=1;x<c.length-1;x++)g+=OO(c[x-1],c[x],c[x+1],s);return g+=`L${c[c.length-1].x} ${c[c.length-1].y}`,[g,f,h,p,m]}function yv(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function Nv(t){let{sourceNode:e,targetNode:a}=t;if(!yv(e)||!yv(a))return null;let o=e.internals.handleBounds||Lv(e.handles),r=a.internals.handleBounds||Lv(a.handles),n=Cv(o?.source??[],t.sourceHandle),s=Cv(t.connectionMode===jo.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),t.targetHandle);if(!n||!s)return t.onError?.("008",Yt.error008(n?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;let i=n?.position||se.Bottom,l=s?.position||se.Top,u=Yo(e,n,i),d=Yo(a,s,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:i,targetPosition:l}}function Lv(t){if(!t)return null;let e=[],a=[];for(let o of t)o.width=o.width??1,o.height=o.height??1,o.type==="source"?e.push(o):o.type==="target"&&a.push(o);return{source:e,target:a}}function Yo(t,e,a=se.Left,o=!1){let r=(e?.x??0)+t.internals.positionAbsolute.x,n=(e?.y??0)+t.internals.positionAbsolute.y,{width:s,height:i}=e??Ka(t);if(o)return{x:r+s/2,y:n+i/2};switch(e?.position??a){case se.Top:return{x:r+s/2,y:n};case se.Right:return{x:r+s,y:n+i/2};case se.Bottom:return{x:r+s/2,y:n+i};case se.Left:return{x:r,y:n+i/2}}}function Cv(t,e){return t&&(e?t.find(a=>a.id===e):t[0])||null}function uc(t,e){return t?typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(o=>`${o}=${t[o]}`).join("&")}`:""}function _v(t,{id:e,defaultColor:a,defaultMarkerStart:o,defaultMarkerEnd:r}){let n=new Set;return t.reduce((s,i)=>([i.markerStart||o,i.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){let u=uc(l,e);n.has(u)||(s.push({id:u,color:l.color||a,...l}),n.add(u))}}),s),[]).sort((s,i)=>s.id.localeCompare(i.id))}var Hv=1e3,NO=10,Qm={nodeOrigin:[0,0],nodeExtent:as,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},_O={...Qm,checkEquality:!0};function eg(t,e){let a={...t};for(let o in e)e[o]!==void 0&&(a[o]=e[o]);return a}function zv(t,e,a){let o=eg(Qm,a);for(let r of t.values())if(r.parentId)ag(r,t,e,o);else{let n=Ei(r,o.nodeOrigin),s=Jr(r.extent)?r.extent:o.nodeExtent,i=Zr(n,s,Ka(r));r.internals.positionAbsolute=i}}function HO(t,e){if(!t.handles)return t.measured?e?.internals.handleBounds:void 0;let a=[],o=[];for(let r of t.handles){let n={id:r.id,width:r.width??1,height:r.height??1,nodeId:t.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?a.push(n):r.type==="target"&&o.push(n)}return{source:a,target:o}}function tg(t){return t==="manual"}function dc(t,e,a,o={}){let r=eg(_O,o),n={i:0},s=new Map(e),i=r?.elevateNodesOnSelect&&!tg(r.zIndexMode)?Hv:0,l=t.length>0,u=!1;e.clear(),a.clear();for(let d of t){let c=s.get(d.id);if(r.checkEquality&&d===c?.internals.userNode)e.set(d.id,c);else{let f=Ei(d,r.nodeOrigin),h=Jr(d.extent)?d.extent:r.nodeExtent,p=Zr(f,h,Ka(d));c={...r.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:p,handleBounds:HO(d,c),z:qv(d,i,r.zIndexMode),userNode:d}},e.set(d.id,c)}(c.measured===void 0||c.measured.width===void 0||c.measured.height===void 0)&&!c.hidden&&(l=!1),d.parentId&&ag(c,e,a,o,n),u||(u=d.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function zO(t,e){if(!t.parentId)return;let a=e.get(t.parentId);a?a.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}function ag(t,e,a,o,r){let{elevateNodesOnSelect:n,nodeOrigin:s,nodeExtent:i,zIndexMode:l}=eg(Qm,o),u=t.parentId,d=e.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}zO(t,a),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*NO),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);let c=n&&!tg(l)?Hv:0,{x:f,y:h,z:p}=qO(t,d,s,i,c,l),{positionAbsolute:m}=t.internals,g=f!==m.x||h!==m.y;(g||p!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:g?{x:f,y:h}:m,z:p}})}function qv(t,e,a){let o=da(t.zIndex)?t.zIndex:0;return tg(a)?o:o+(t.selected?e:0)}function qO(t,e,a,o,r,n){let{x:s,y:i}=e.internals.positionAbsolute,l=Ka(t),u=Ei(t,a),d=Jr(t.extent)?Zr(u,t.extent,l):u,c=Zr({x:s+d.x,y:i+d.y},o,l);t.extent==="parent"&&(c=Rv(c,l,e));let f=qv(t,r,n),h=e.internals.z??0;return{x:c.x,y:c.y,z:h>=f?h+1:f}}function cc(t,e,a,o=[0,0]){let r=[],n=new Map;for(let s of t){let i=e.get(s.parentId);if(!i)continue;let l=n.get(s.parentId)?.expandedRect??Qr(i),u=Vm(l,s.rect);n.set(s.parentId,{expandedRect:u,parent:i})}return n.size>0&&n.forEach(({expandedRect:s,parent:i},l)=>{let u=i.internals.positionAbsolute,d=Ka(i),c=i.origin??o,f=s.x<u.x?Math.round(Math.abs(u.x-s.x)):0,h=s.y<u.y?Math.round(Math.abs(u.y-s.y)):0,p=Math.max(d.width,Math.round(s.width)),m=Math.max(d.height,Math.round(s.height)),g=(p-d.width)*c[0],x=(m-d.height)*c[1];(f>0||h>0||g||x)&&(r.push({id:l,type:"position",position:{x:i.position.x-f+g,y:i.position.y-h+x}}),a.get(l)?.forEach(y=>{t.some(w=>w.id===y.id)||r.push({id:y.id,type:"position",position:{x:y.position.x+f,y:y.position.y+h}})})),(d.width<s.width||d.height<s.height||f||h)&&r.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:p+(f?c[0]*f-g:0),height:m+(h?c[1]*h-x:0)}})}),r}function Uv(t,e,a,o,r,n,s){let i=o?.querySelector(".xyflow__viewport"),l=!1;if(!i)return{changes:[],updatedInternals:l};let u=[],d=window.getComputedStyle(i),{m22:c}=new window.DOMMatrixReadOnly(d.transform),f=[];for(let h of t.values()){let p=e.get(h.id);if(!p)continue;if(p.hidden){e.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),l=!0;continue}let m=nc(h.nodeElement),g=p.measured.width!==m.width||p.measured.height!==m.height;if(!!(m.width&&m.height&&(g||!p.internals.handleBounds||h.force))){let y=h.nodeElement.getBoundingClientRect(),w=Jr(p.extent)?p.extent:n,{positionAbsolute:C}=p.internals;p.parentId&&p.extent==="parent"?C=Rv(C,m,e.get(p.parentId)):w&&(C=Zr(C,w,m));let I={...p,measured:m,internals:{...p.internals,positionAbsolute:C,handleBounds:{source:gv("source",h.nodeElement,y,c,p.id),target:gv("target",h.nodeElement,y,c,p.id)}}};e.set(p.id,I),p.parentId&&ag(I,e,a,{nodeOrigin:r,zIndexMode:s}),l=!0,g&&(u.push({id:p.id,type:"dimensions",dimensions:m}),p.expandParent&&p.parentId&&f.push({id:p.id,parentId:p.parentId,rect:Qr(I,r)}))}}if(f.length>0){let h=cc(f,e,a,r);u.push(...h)}return{changes:u,updatedInternals:l}}async function Wv({delta:t,panZoom:e,transform:a,translateExtent:o,width:r,height:n}){if(!e||!t.x&&!t.y)return!1;let s=await e.setViewportConstrained({x:a[0]+t.x,y:a[1]+t.y,zoom:a[2]},[[0,0],[r,n]],o);return!!s&&(s.x!==a[0]||s.y!==a[1]||s.k!==a[2])}function vv(t,e,a,o,r,n){let s=r,i=o.get(s)||new Map;o.set(s,i.set(a,e)),s=`${r}-${t}`;let l=o.get(s)||new Map;if(o.set(s,l.set(a,e)),n){s=`${r}-${t}-${n}`;let u=o.get(s)||new Map;o.set(s,u.set(a,e))}}function og(t,e,a){t.clear(),e.clear();for(let o of a){let{source:r,target:n,sourceHandle:s=null,targetHandle:i=null}=o,l={edgeId:o.id,source:r,target:n,sourceHandle:s,targetHandle:i},u=`${r}-${s}--${n}-${i}`,d=`${n}-${i}--${r}-${s}`;vv("source",l,d,t,r,s),vv("target",l,u,t,n,i),e.set(o.id,o)}}function Vv(t,e){if(!t.parentId)return!1;let a=e.get(t.parentId);return a?a.selected?!0:Vv(a,e):!1}function Sv(t,e,a){let o=t;do{if(o?.matches?.(e))return!0;if(o===a)return!1;o=o?.parentElement}while(o);return!1}function UO(t,e,a,o){let r=new Map;for(let[n,s]of t)if((s.selected||s.id===o)&&(!s.parentId||!Vv(s,t))&&(s.draggable||e&&typeof s.draggable>"u")){let i=t.get(n);i&&r.set(n,{id:n,position:i.position||{x:0,y:0},distance:{x:a.x-i.internals.positionAbsolute.x,y:a.y-i.internals.positionAbsolute.y},extent:i.extent,parentId:i.parentId,origin:i.origin,expandParent:i.expandParent,internals:{positionAbsolute:i.internals.positionAbsolute||{x:0,y:0}},measured:{width:i.measured.width??0,height:i.measured.height??0}})}return r}function Tm({nodeId:t,dragItems:e,nodeLookup:a,dragging:o=!0}){let r=[];for(let[s,i]of e){let l=a.get(s)?.internals.userNode;l&&r.push({...l,position:i.position,dragging:o})}if(!t)return[r[0],r];let n=a.get(t)?.internals.userNode;return[n?{...n,position:e.get(t)?.position||n.position,dragging:o}:r[0],r]}function WO({dragItems:t,snapGrid:e,x:a,y:o}){let r=t.values().next().value;if(!r)return null;let n={x:a-r.distance.x,y:o-r.distance.y},s=ns(n,e);return{x:s.x-n.x,y:s.y-n.y}}function Gv({onNodeMouseDown:t,getStoreItems:e,onDragStart:a,onDrag:o,onDragStop:r}){let n={x:null,y:null},s=0,i=new Map,l=!1,u={x:0,y:0},d=null,c=!1,f=null,h=!1,p=!1,m=null;function g({noDragClassName:y,handleSelector:w,domNode:C,isSelectable:I,nodeId:v,nodeClickDistance:L=0}){f=ut(C);function S({x:R,y:z}){let{nodeLookup:k,nodeExtent:T,snapGrid:D,snapToGrid:E,nodeOrigin:q,onNodeDrag:B,onSelectionDrag:P,onError:N,updateNodePositions:U}=e();n={x:R,y:z};let $=!1,_=i.size>1,W=_&&T?Fm(os(i)):null,G=_&&E?WO({dragItems:i,snapGrid:D,x:R,y:z}):null;for(let[O,F]of i){if(!k.has(O))continue;let V={x:R-F.distance.x,y:z-F.distance.y};E&&(V=G?{x:Math.round(V.x+G.x),y:Math.round(V.y+G.y)}:ns(V,D));let ie=null;if(_&&T&&!F.extent&&W){let{positionAbsolute:ne}=F.internals,ue=ne.x-W.x+T[0][0],ve=ne.x+F.measured.width-W.x2+T[1][0],Re=ne.y-W.y+T[0][1],ct=ne.y+F.measured.height-W.y2+T[1][1];ie=[[ue,Re],[ve,ct]]}let{position:le,positionAbsolute:J}=Wm({nodeId:O,nextPosition:V,nodeLookup:k,nodeExtent:ie||T,nodeOrigin:q,onError:N});$=$||F.position.x!==le.x||F.position.y!==le.y,F.position=le,F.internals.positionAbsolute=J}if(p=p||$,!!$&&(U(i,!0),m&&(o||B||!v&&P))){let[O,F]=Tm({nodeId:v,dragItems:i,nodeLookup:k});o?.(m,i,O,F),B?.(m,O,F),v||P?.(m,F)}}async function A(){if(!d)return;let{transform:R,panBy:z,autoPanSpeed:k,autoPanOnNodeDrag:T}=e();if(!T){l=!1,cancelAnimationFrame(s);return}let[D,E]=tc(u,d,k);(D!==0||E!==0)&&(n.x=(n.x??0)-D/R[2],n.y=(n.y??0)-E/R[2],await z({x:D,y:E})&&S(n)),s=requestAnimationFrame(A)}function H(R){let{nodeLookup:z,multiSelectionActive:k,nodesDraggable:T,transform:D,snapGrid:E,snapToGrid:q,selectNodesOnDrag:B,onNodeDragStart:P,onSelectionDragStart:N,unselectNodesAndEdges:U}=e();c=!0,(!B||!I)&&!k&&v&&(z.get(v)?.selected||U()),I&&B&&v&&t?.(v);let $=Ti(R.sourceEvent,{transform:D,snapGrid:E,snapToGrid:q,containerBounds:d});if(n=$,i=UO(z,T,$,v),i.size>0&&(a||P||!v&&N)){let[_,W]=Tm({nodeId:v,dragItems:i,nodeLookup:z});a?.(R.sourceEvent,i,_,W),P?.(R.sourceEvent,_,W),v||N?.(R.sourceEvent,W)}}let M=Pd().clickDistance(L).on("start",R=>{let{domNode:z,nodeDragThreshold:k,transform:T,snapGrid:D,snapToGrid:E}=e();d=z?.getBoundingClientRect()||null,h=!1,p=!1,m=R.sourceEvent,k===0&&H(R),n=Ti(R.sourceEvent,{transform:T,snapGrid:D,snapToGrid:E,containerBounds:d}),u=ca(R.sourceEvent,d)}).on("drag",R=>{let{autoPanOnNodeDrag:z,transform:k,snapGrid:T,snapToGrid:D,nodeDragThreshold:E,nodeLookup:q}=e(),B=Ti(R.sourceEvent,{transform:k,snapGrid:T,snapToGrid:D,containerBounds:d});if(m=R.sourceEvent,(R.sourceEvent.type==="touchmove"&&R.sourceEvent.touches.length>1||v&&!q.has(v))&&(h=!0),!h){if(!l&&z&&c&&(l=!0,A()),!c){let P=ca(R.sourceEvent,d),N=P.x-u.x,U=P.y-u.y;Math.sqrt(N*N+U*U)>E&&H(R)}(n.x!==B.xSnapped||n.y!==B.ySnapped)&&i&&c&&(u=ca(R.sourceEvent,d),S(B))}}).on("end",R=>{if(!c||h){h&&i.size>0&&e().updateNodePositions(i,!1);return}if(l=!1,c=!1,cancelAnimationFrame(s),i.size>0){let{nodeLookup:z,updateNodePositions:k,onNodeDragStop:T,onSelectionDragStop:D}=e();if(p&&(k(i,!1),p=!1),r||T||!v&&D){let[E,q]=Tm({nodeId:v,dragItems:i,nodeLookup:z,dragging:!1});r?.(R.sourceEvent,i,E,q),T?.(R.sourceEvent,E,q),v||D?.(R.sourceEvent,q)}}}).filter(R=>{let z=R.target;return!R.button&&(!y||!Sv(z,`.${y}`,C))&&(!w||Sv(z,w,C))});f.call(M)}function x(){f?.on(".drag",null)}return{update:g,destroy:x}}function VO(t,e,a){let o=[],r={x:t.x-a,y:t.y-a,width:a*2,height:a*2};for(let n of e.values())rs(r,Qr(n))>0&&o.push(n);return o}var GO=250;function $O(t,e,a,o){let r=[],n=1/0,s=VO(t,a,e+GO);for(let i of s){let l=[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]];for(let u of l){if(o.nodeId===u.nodeId&&o.type===u.type&&o.id===u.id)continue;let{x:d,y:c}=Yo(i,u,u.position,!0),f=Math.sqrt(Math.pow(d-t.x,2)+Math.pow(c-t.y,2));f>e||(f<n?(r=[{...u,x:d,y:c}],n=f):f===n&&r.push({...u,x:d,y:c}))}}if(!r.length)return null;if(r.length>1){let i=o.type==="source"?"target":"source";return r.find(l=>l.type===i)??r[0]}return r[0]}function $v(t,e,a,o,r,n=!1){let s=o.get(t);if(!s)return null;let i=r==="strict"?s.internals.handleBounds?.[e]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],l=(a?i?.find(u=>u.id===a):i?.[0])??null;return l&&n?{...l,...Yo(s,l,l.position,!0)}:l}function Xv(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function XO(t,e){let a=null;return e?a=!0:t&&!e&&(a=!1),a}var Kv=()=>!0;function KO(t,{connectionMode:e,connectionRadius:a,handleId:o,nodeId:r,edgeUpdaterType:n,isTarget:s,domNode:i,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:c,panBy:f,cancelConnection:h,onConnectStart:p,onConnect:m,onConnectEnd:g,isValidConnection:x=Kv,onReconnectEnd:y,updateConnection:w,getTransform:C,getFromHandle:I,autoPanSpeed:v,dragThreshold:L=1,handleDomNode:S}){let A=jm(t.target),H=0,M,{x:R,y:z}=ca(t),k=Xv(n,S),T=i?.getBoundingClientRect(),D=!1;if(!T||!k)return;let E=$v(r,k,o,l,e);if(!E)return;let q=ca(t,T),B=!1,P=null,N=!1,U=null;function $(){if(!d||!T)return;let[le,J]=tc(q,T,v);f({x:le,y:J}),H=requestAnimationFrame($)}let _={...E,nodeId:r,type:k,position:E.position},W=l.get(r),O={inProgress:!0,isValid:null,from:Yo(W,_,se.Left,!0),fromHandle:_,fromPosition:_.position,fromNode:W,to:q,toHandle:null,toPosition:pv[_.position],toNode:null,pointer:q};function F(){D=!0,w(O),p?.(t,{nodeId:r,handleId:o,handleType:k})}L===0&&F();function V(le){if(!D){let{x:ct,y:ga}=ca(le),wt=ct-R,ea=ga-z;if(!(wt*wt+ea*ea>L*L))return;F()}if(!I()||!_){ie(le);return}let J=C();q=ca(le,T),M=$O(en(q,J,!1,[1,1]),a,l,_),B||($(),B=!0);let ne=jv(le,{handle:M,connectionMode:e,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:x,doc:A,lib:u,flowId:c,nodeLookup:l});U=ne.handleDomNode,P=ne.connection,N=XO(!!M,ne.isValid);let ue=l.get(r),ve=ue?Yo(ue,_,se.Left,!0):O.from,Re={...O,from:ve,isValid:N,to:ne.toHandle&&N?Yr({x:ne.toHandle.x,y:ne.toHandle.y},J):q,toHandle:ne.toHandle,toPosition:N&&ne.toHandle?ne.toHandle.position:pv[_.position],toNode:ne.toHandle?l.get(ne.toHandle.nodeId):null,pointer:q};w(Re),O=Re}function ie(le){if(!("touches"in le&&le.touches.length>0)){if(D){(M||U)&&P&&N&&m?.(P);let{inProgress:J,...ne}=O,ue={...ne,toPosition:O.toHandle?O.toPosition:null};g?.(le,ue),n&&y?.(le,ue)}h(),cancelAnimationFrame(H),B=!1,N=!1,P=null,U=null,A.removeEventListener("mousemove",V),A.removeEventListener("mouseup",ie),A.removeEventListener("touchmove",V),A.removeEventListener("touchend",ie)}}A.addEventListener("mousemove",V),A.addEventListener("mouseup",ie),A.addEventListener("touchmove",V),A.addEventListener("touchend",ie)}function jv(t,{handle:e,connectionMode:a,fromNodeId:o,fromHandleId:r,fromType:n,doc:s,lib:i,flowId:l,isValidConnection:u=Kv,nodeLookup:d}){let c=n==="target",f=e?s.querySelector(`.${i}-flow__handle[data-id="${l}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:h,y:p}=ca(t),m=s.elementFromPoint(h,p),g=m?.classList.contains(`${i}-flow__handle`)?m:f,x={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let y=Xv(void 0,g),w=g.getAttribute("data-nodeid"),C=g.getAttribute("data-handleid"),I=g.classList.contains("connectable"),v=g.classList.contains("connectableend");if(!w||!y)return x;let L={source:c?w:o,sourceHandle:c?C:r,target:c?o:w,targetHandle:c?r:C};x.connection=L;let A=I&&v&&(a===jo.Strict?c&&y==="source"||!c&&y==="target":w!==o||C!==r);x.isValid=A&&u(L),x.toHandle=$v(w,y,C,d,a,!0)}return x}var fc={onPointerDown:KO,isValid:jv};function Zv({domNode:t,panZoom:e,getTransform:a,getViewScale:o}){let r=ut(t);function n({translateExtent:i,width:l,height:u,zoomStep:d=1,pannable:c=!0,zoomable:f=!0,inversePan:h=!1}){let p=w=>{if(w.sourceEvent.type!=="wheel"||!e)return;let C=a(),I=w.sourceEvent.ctrlKey&&ss()?10:1,v=-w.sourceEvent.deltaY*(w.sourceEvent.deltaMode===1?.05:w.sourceEvent.deltaMode?1:.002)*d,L=C[2]*Math.pow(2,v*I);e.scaleTo(L)},m=[0,0],g=w=>{(w.sourceEvent.type==="mousedown"||w.sourceEvent.type==="touchstart")&&(m=[w.sourceEvent.clientX??w.sourceEvent.touches[0].clientX,w.sourceEvent.clientY??w.sourceEvent.touches[0].clientY])},x=w=>{let C=a();if(w.sourceEvent.type!=="mousemove"&&w.sourceEvent.type!=="touchmove"||!e)return;let I=[w.sourceEvent.clientX??w.sourceEvent.touches[0].clientX,w.sourceEvent.clientY??w.sourceEvent.touches[0].clientY],v=[I[0]-m[0],I[1]-m[1]];m=I;let L=o()*Math.max(C[2],Math.log(C[2]))*(h?-1:1),S={x:C[0]-v[0]*L,y:C[1]-v[1]*L},A=[[0,0],[l,u]];e.setViewportConstrained({x:S.x,y:S.y,zoom:C[2]},A,i)},y=Zd().on("start",g).on("zoom",c?x:null).on("zoom.wheel",f?p:null);r.call(y,{})}function s(){r.on("zoom",null)}return{update:n,destroy:s,pointer:Pt}}var hc=t=>({x:t.x,y:t.y,zoom:t.k}),Em=({x:t,y:e,zoom:a})=>Kr.translate(t,e).scale(a),es=(t,e)=>t.target.closest(`.${e}`),Yv=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),jO=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,Bm=(t,e=0,a=jO,o=()=>{})=>{let r=typeof e=="number"&&e>0;return r||o(),r?t.transition().duration(e).ease(a).on("end",o):t},Jv=t=>{let e=t.ctrlKey&&ss()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e};function ZO({zoomPanValues:t,noWheelClassName:e,d3Selection:a,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:n,zoomOnPinch:s,onPanZoomStart:i,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(es(d,e))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let c=a.property("__zoom").k||1;if(d.ctrlKey&&s){let g=Pt(d),x=Jv(d),y=c*Math.pow(2,x);o.scaleTo(a,y,g,d);return}let f=d.deltaMode===1?20:1,h=r===Lo.Vertical?0:d.deltaX*f,p=r===Lo.Horizontal?0:d.deltaY*f;!ss()&&d.shiftKey&&r!==Lo.Vertical&&(h=d.deltaY*f,p=0),o.translateBy(a,-(h/c)*n,-(p/c)*n,{internal:!0});let m=hc(a.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?(l?.(d,m),t.panScrollTimeout=setTimeout(()=>{u?.(d,m),t.isPanScrolling=!1},150)):(t.isPanScrolling=!0,i?.(d,m))}}function YO({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:a}){return function(o,r){let n=o.type==="wheel",s=!e&&n&&!o.ctrlKey,i=es(o,t);if(o.ctrlKey&&n&&i&&o.preventDefault(),s||i)return null;o.preventDefault(),a.call(this,o,r)}}function JO({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:a}){return o=>{if(o.sourceEvent?.internal)return;let r=hc(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=r,o.sourceEvent?.type==="mousedown"&&e(!0),a&&a?.(o.sourceEvent,r)}}function QO({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:a,onTransformChange:o,onPanZoom:r}){return n=>{t.usedRightMouseButton=!!(a&&Yv(e,t.mouseButton??0)),n.sourceEvent?.sync||o([n.transform.x,n.transform.y,n.transform.k]),r&&!n.sourceEvent?.internal&&r?.(n.sourceEvent,hc(n.transform))}}function eN({zoomPanValues:t,panOnDrag:e,panOnScroll:a,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:n}){return s=>{if(!s.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,n&&Yv(e,t.mouseButton??0)&&!t.usedRightMouseButton&&s.sourceEvent&&n(s.sourceEvent),t.usedRightMouseButton=!1,o(!1),r)){let i=hc(s.transform);t.prevViewport=i,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{r?.(s.sourceEvent,i)},a?150:0)}}}function tN({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:a,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:n,userSelectionActive:s,noWheelClassName:i,noPanClassName:l,lib:u,connectionInProgress:d}){return c=>{let f=t||e,h=a&&c.ctrlKey,p=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(es(c,`${u}-flow__node`)||es(c,`${u}-flow__edge`)))return!0;if(!o&&!f&&!r&&!n&&!a||s||d&&!p||es(c,i)&&p||es(c,l)&&(!p||r&&p&&!t)||!a&&c.ctrlKey&&p)return!1;if(!a&&c.type==="touchstart"&&c.touches?.length>1)return c.preventDefault(),!1;if(!f&&!r&&!h&&p||!o&&(c.type==="mousedown"||c.type==="touchstart")||Array.isArray(o)&&!o.includes(c.button)&&c.type==="mousedown")return!1;let m=Array.isArray(o)&&o.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||p)&&m}}function Qv({domNode:t,minZoom:e,maxZoom:a,translateExtent:o,viewport:r,onPanZoom:n,onPanZoomStart:s,onPanZoomEnd:i,onDraggingChange:l}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=t.getBoundingClientRect(),c=Zd().scaleExtent([e,a]).translateExtent(o),f=ut(t).call(c);y({x:r.x,y:r.y,zoom:ts(r.zoom,e,a)},[[0,0],[d.width,d.height]],o);let h=f.on("wheel.zoom"),p=f.on("dblclick.zoom");c.wheelDelta(Jv);async function m(M,R){return f?new Promise(z=>{c?.interpolate(R?.interpolate==="linear"?wo:Gr).transform(Bm(f,R?.duration,R?.ease,()=>z(!0)),M)}):!1}function g({noWheelClassName:M,noPanClassName:R,onPaneContextMenu:z,userSelectionActive:k,panOnScroll:T,panOnDrag:D,panOnScrollMode:E,panOnScrollSpeed:q,preventScrolling:B,zoomOnPinch:P,zoomOnScroll:N,zoomOnDoubleClick:U,zoomActivationKeyPressed:$,lib:_,onTransformChange:W,connectionInProgress:G,paneClickDistance:O,selectionOnDrag:F}){k&&!u.isZoomingOrPanning&&x();let V=T&&!$&&!k;c.clickDistance(F?1/0:!da(O)||O<0?0:O);let ie=V?ZO({zoomPanValues:u,noWheelClassName:M,d3Selection:f,d3Zoom:c,panOnScrollMode:E,panOnScrollSpeed:q,zoomOnPinch:P,onPanZoomStart:s,onPanZoom:n,onPanZoomEnd:i}):YO({noWheelClassName:M,preventScrolling:B,d3ZoomHandler:h});f.on("wheel.zoom",ie,{passive:!1});let le=JO({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:s});c.on("start",le);let J=QO({zoomPanValues:u,panOnDrag:D,onPaneContextMenu:!!z,onPanZoom:n,onTransformChange:W});c.on("zoom",J);let ne=eN({zoomPanValues:u,panOnDrag:D,panOnScroll:T,onPaneContextMenu:z,onPanZoomEnd:i,onDraggingChange:l});c.on("end",ne);let ue=tN({zoomActivationKeyPressed:$,panOnDrag:D,zoomOnScroll:N,panOnScroll:T,zoomOnDoubleClick:U,zoomOnPinch:P,userSelectionActive:k,noPanClassName:R,noWheelClassName:M,lib:_,connectionInProgress:G});c.filter(ue),U?f.on("dblclick.zoom",p):f.on("dblclick.zoom",null)}function x(){c.on("zoom",null)}async function y(M,R,z){let k=Em(M),T=c?.constrain()(k,R,z);return T&&await m(T),T}async function w(M,R){let z=Em(M);return await m(z,R),z}function C(M){if(f){let R=Em(M),z=f.property("__zoom");(z.k!==M.zoom||z.x!==M.x||z.y!==M.y)&&c?.transform(f,R,null,{sync:!0})}}function I(){let M=f?Ri(f.node()):{x:0,y:0,k:1};return{x:M.x,y:M.y,zoom:M.k}}async function v(M,R){return f?new Promise(z=>{c?.interpolate(R?.interpolate==="linear"?wo:Gr).scaleTo(Bm(f,R?.duration,R?.ease,()=>z(!0)),M)}):!1}async function L(M,R){return f?new Promise(z=>{c?.interpolate(R?.interpolate==="linear"?wo:Gr).scaleBy(Bm(f,R?.duration,R?.ease,()=>z(!0)),M)}):!1}function S(M){c?.scaleExtent(M)}function A(M){c?.translateExtent(M)}function H(M){let R=!da(M)||M<0?0:M;c?.clickDistance(R)}return{update:g,destroy:x,setViewport:w,setViewportConstrained:y,getViewport:I,scaleTo:v,scaleBy:L,setScaleExtent:S,setTranslateExtent:A,syncViewport:C,setClickDistance:H}}var Jo;(function(t){t.Line="line",t.Handle="handle"})(Jo||(Jo={}));function aN({width:t,prevWidth:e,height:a,prevHeight:o,affectsX:r,affectsY:n}){let s=t-e,i=a-o,l=[s>0?1:s<0?-1:0,i>0?1:i<0?-1:0];return s&&r&&(l[0]=l[0]*-1),i&&n&&(l[1]=l[1]*-1),l}function Iv(t){let e=t.includes("right")||t.includes("left"),a=t.includes("bottom")||t.includes("top"),o=t.includes("left"),r=t.includes("top");return{isHorizontal:e,isVertical:a,affectsX:o,affectsY:r}}function Xo(t,e){return Math.max(0,e-t)}function Ko(t,e){return Math.max(0,t-e)}function Jd(t,e,a){return Math.max(0,e-t,t-a)}function kv(t,e){return t?!e:e}function oN(t,e,a,o,r,n,s,i){let{affectsX:l,affectsY:u}=e,{isHorizontal:d,isVertical:c}=e,f=d&&c,{xSnapped:h,ySnapped:p}=a,{minWidth:m,maxWidth:g,minHeight:x,maxHeight:y}=o,{x:w,y:C,width:I,height:v,aspectRatio:L}=t,S=Math.floor(d?h-t.pointerX:0),A=Math.floor(c?p-t.pointerY:0),H=I+(l?-S:S),M=v+(u?-A:A),R=-n[0]*I,z=-n[1]*v,k=Jd(H,m,g),T=Jd(M,x,y);if(s){let q=0,B=0;l&&S<0?q=Xo(w+S+R,s[0][0]):!l&&S>0&&(q=Ko(w+H+R,s[1][0])),u&&A<0?B=Xo(C+A+z,s[0][1]):!u&&A>0&&(B=Ko(C+M+z,s[1][1])),k=Math.max(k,q),T=Math.max(T,B)}if(i){let q=0,B=0;l&&S>0?q=Ko(w+S,i[0][0]):!l&&S<0&&(q=Xo(w+H,i[1][0])),u&&A>0?B=Ko(C+A,i[0][1]):!u&&A<0&&(B=Xo(C+M,i[1][1])),k=Math.max(k,q),T=Math.max(T,B)}if(r){if(d){let q=Jd(H/L,x,y)*L;if(k=Math.max(k,q),s){let B=0;!l&&!u||l&&!u&&f?B=Ko(C+z+H/L,s[1][1])*L:B=Xo(C+z+(l?S:-S)/L,s[0][1])*L,k=Math.max(k,B)}if(i){let B=0;!l&&!u||l&&!u&&f?B=Xo(C+H/L,i[1][1])*L:B=Ko(C+(l?S:-S)/L,i[0][1])*L,k=Math.max(k,B)}}if(c){let q=Jd(M*L,m,g)/L;if(T=Math.max(T,q),s){let B=0;!l&&!u||u&&!l&&f?B=Ko(w+M*L+R,s[1][0])/L:B=Xo(w+(u?A:-A)*L+R,s[0][0])/L,T=Math.max(T,B)}if(i){let B=0;!l&&!u||u&&!l&&f?B=Xo(w+M*L,i[1][0])/L:B=Ko(w+(u?A:-A)*L,i[0][0])/L,T=Math.max(T,B)}}}A=A+(A<0?T:-T),S=S+(S<0?k:-k),r&&(f?H>M*L?A=(kv(l,u)?-S:S)/L:S=(kv(l,u)?-A:A)*L:d?(A=S/L,u=l):(S=A*L,l=u));let D=l?w+S:w,E=u?C+A:C;return{width:I+(l?-S:S),height:v+(u?-A:A),x:n[0]*S*(l?-1:1)+D,y:n[1]*A*(u?-1:1)+E}}var eS={width:0,height:0,x:0,y:0},rN={...eS,pointerX:0,pointerY:0,aspectRatio:1};function nN(t,e,a){let o=e.position.x+t.position.x,r=e.position.y+t.position.y,n=t.measured.width??0,s=t.measured.height??0,i=a[0]*n,l=a[1]*s;return[[o-i,r-l],[o+n-i,r+s-l]]}function tS({domNode:t,nodeId:e,getStoreItems:a,onChange:o,onEnd:r}){let n=ut(t),s={controlDirection:Iv("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function i({controlPosition:u,boundaries:d,keepAspectRatio:c,resizeDirection:f,onResizeStart:h,onResize:p,onResizeEnd:m,shouldResize:g}){let x={...eS},y={...rN};s={boundaries:d,resizeDirection:f,keepAspectRatio:c,controlDirection:Iv(u)};let w,C=null,I=[],v,L,S,A=!1,H=Pd().on("start",M=>{let{nodeLookup:R,transform:z,snapGrid:k,snapToGrid:T,nodeOrigin:D,paneDomNode:E}=a();if(w=R.get(e),!w)return;C=E?.getBoundingClientRect()??null;let{xSnapped:q,ySnapped:B}=Ti(M.sourceEvent,{transform:z,snapGrid:k,snapToGrid:T,containerBounds:C});x={width:w.measured.width??0,height:w.measured.height??0,x:w.position.x??0,y:w.position.y??0},y={...x,pointerX:q,pointerY:B,aspectRatio:x.width/x.height},v=void 0,L=Jr(w.extent)?w.extent:void 0,w.parentId&&(w.extent==="parent"||w.expandParent)&&(v=R.get(w.parentId)),v&&w.extent==="parent"&&(L=[[0,0],[v.measured.width,v.measured.height]]),I=[],S=void 0;for(let[P,N]of R)if(N.parentId===e&&(I.push({id:P,position:{...N.position},extent:N.extent}),N.extent==="parent"||N.expandParent)){let U=nN(N,w,N.origin??D);S?S=[[Math.min(U[0][0],S[0][0]),Math.min(U[0][1],S[0][1])],[Math.max(U[1][0],S[1][0]),Math.max(U[1][1],S[1][1])]]:S=U}h?.(M,{...x})}).on("drag",M=>{let{transform:R,snapGrid:z,snapToGrid:k,nodeOrigin:T}=a(),D=Ti(M.sourceEvent,{transform:R,snapGrid:z,snapToGrid:k,containerBounds:C}),E=[];if(!w)return;let{x:q,y:B,width:P,height:N}=x,U={},$=w.origin??T,{width:_,height:W,x:G,y:O}=oN(y,s.controlDirection,D,s.boundaries,s.keepAspectRatio,$,L,S),F=_!==P,V=W!==N,ie=G!==q&&F,le=O!==B&&V;if(!ie&&!le&&!F&&!V)return;if((ie||le||$[0]===1||$[1]===1)&&(U.x=ie?G:x.x,U.y=le?O:x.y,x.x=U.x,x.y=U.y,I.length>0)){let ve=G-q,Re=O-B;for(let ct of I)ct.position={x:ct.position.x-ve+$[0]*(_-P),y:ct.position.y-Re+$[1]*(W-N)},E.push(ct)}if((F||V)&&(U.width=F&&(!s.resizeDirection||s.resizeDirection==="horizontal")?_:x.width,U.height=V&&(!s.resizeDirection||s.resizeDirection==="vertical")?W:x.height,x.width=U.width,x.height=U.height),v&&w.expandParent){let ve=$[0]*(U.width??0);U.x&&U.x<ve&&(x.x=ve,y.x=y.x-(U.x-ve));let Re=$[1]*(U.height??0);U.y&&U.y<Re&&(x.y=Re,y.y=y.y-(U.y-Re))}let J=aN({width:x.width,prevWidth:P,height:x.height,prevHeight:N,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),ne={...x,direction:J};g?.(M,ne)!==!1&&(A=!0,p?.(M,ne),o(U,E))}).on("end",M=>{A&&(m?.(M,{...x}),r?.({...x}),A=!1)});n.call(H)}function l(){n.on(".drag",null)}return{update:i,destroy:l}}var hS=PP(uS(),1);import vN from"react";var dS=t=>{let e,a=new Set,o=(d,c)=>{let f=typeof d=="function"?d(e):d;if(!Object.is(f,e)){let h=e;e=c??(typeof f!="object"||f===null)?f:Object.assign({},e,f),a.forEach(p=>p(e,h))}},r=()=>e,l={setState:o,getState:r,getInitialState:()=>u,subscribe:d=>(a.add(d),()=>a.delete(d)),destroy:()=>{(import.meta.env?import.meta.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),a.clear()}},u=e=t(o,r,l);return l},cS=t=>t?dS(t):dS;var{useDebugValue:SN}=vN,{useSyncExternalStoreWithSelector:IN}=hS.default,kN=t=>t;function ng(t,e=kN,a){let o=IN(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,a);return SN(o),o}var fS=(t,e)=>{let a=cS(t),o=(r,n=e)=>ng(a,r,n);return Object.assign(o,a),o},pS=(t,e)=>t?fS(t,e):fS;function Oe(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,r]of t)if(!Object.is(r,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let a=Object.keys(t);if(a.length!==Object.keys(e).length)return!1;for(let o of a)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}import{createPortal as Pj}from"react-dom";var bc=ug(null),MN=bc.Provider,HS=Yt.error001("react");function be(t,e){let a=Ni(bc);if(a===null)throw new Error(HS);return ng(a,t,e)}function qe(){let t=Ni(bc);if(t===null)throw new Error(HS);return Ta(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}var mS={display:"none"},PN={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},zS="react-flow__node-desc",qS="react-flow__edge-desc",DN="react-flow__aria-live",RN=t=>t.ariaLiveMessage,TN=t=>t.ariaLabelConfig;function EN({rfId:t}){let e=be(RN);return K("div",{id:`${DN}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:PN,children:e})}function BN({rfId:t,disableKeyboardA11y:e}){let a=be(TN);return gt(vo,{children:[K("div",{id:`${zS}-${t}`,style:mS,children:e?a["node.a11yDescription.default"]:a["node.a11yDescription.keyboardDisabled"]}),K("div",{id:`${qS}-${t}`,style:mS,children:a["edge.a11yDescription.default"]}),!e&&K(EN,{rfId:t})]})}var wc=_S(({position:t="top-left",children:e,className:a,style:o,...r},n)=>{let s=`${t}`.split("-");return K("div",{className:$e(["react-flow__panel",a,...s]),style:o,ref:n,...r,children:e})});wc.displayName="Panel";function FN({proOptions:t,position:e="bottom-right"}){return t?.hideAttribution?null:K(wc,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:K("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}var ON=t=>{let e=[],a=[];for(let[,o]of t.nodeLookup)o.selected&&e.push(o.internals.userNode);for(let[,o]of t.edgeLookup)o.selected&&a.push(o);return{selectedNodes:e,selectedEdges:a}},mc=t=>t.id;function NN(t,e){return Oe(t.selectedNodes.map(mc),e.selectedNodes.map(mc))&&Oe(t.selectedEdges.map(mc),e.selectedEdges.map(mc))}function _N({onSelectionChange:t}){let e=qe(),{selectedNodes:a,selectedEdges:o}=be(ON,NN);return De(()=>{let r={nodes:a,edges:o};t?.(r),e.getState().onSelectionChangeHandlers.forEach(n=>n(r))},[a,o,t]),null}var HN=t=>!!t.onSelectionChangeHandlers;function zN({onSelectionChange:t}){let e=be(HN);return t||e?K(_N,{onSelectionChange:t}):null}var US=[0,0],qN={x:0,y:0,zoom:1},UN=["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"],gS=[...UN,"rfId"],WN=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),xS={translateExtent:as,nodeOrigin:US,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function VN(t){let{setNodes:e,setEdges:a,setMinZoom:o,setMaxZoom:r,setTranslateExtent:n,setNodeExtent:s,reset:i,setDefaultNodesAndEdges:l}=be(WN,Oe),u=qe();De(()=>(l(t.defaultNodes,t.defaultEdges),()=>{d.current=xS,i()}),[]);let d=Se(xS);return De(()=>{for(let c of gS){let f=t[c],h=d.current[c];f!==h&&(typeof t[c]>"u"||(c==="nodes"?e(f):c==="edges"?a(f):c==="minZoom"?o(f):c==="maxZoom"?r(f):c==="translateExtent"?n(f):c==="nodeExtent"?s(f):c==="ariaLabelConfig"?u.setState({ariaLabelConfig:Ev(f)}):c==="fitView"?u.setState({fitViewQueued:f}):c==="fitViewOptions"?u.setState({fitViewOptions:f}):u.setState({[c]:f})))}d.current=t},gS.map(c=>t[c])),null}function bS(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function GN(t){let[e,a]=Za(t==="system"?null:t);return De(()=>{if(t!=="system"){a(t);return}let o=bS(),r=()=>a(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[t]),e!==null?e:bS()?.matches?"dark":"light"}var wS=typeof document<"u"?document:null;function Oi(t=null,e={target:wS,actInsideInputWithModifier:!0}){let[a,o]=Za(!1),r=Se(!1),n=Se(new Set([])),[s,i]=Ta(()=>{if(t!==null){let u=(Array.isArray(t)?t:[t]).filter(c=>typeof c=="string").map(c=>c.replace("+",`
20
+ `);o>-1&&(a=a.slice(0,o))}return e+a.length<=this.to?a:a.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,a=this.lineAfter(e),o=e+a.length;for(let r=this.rangeIndex;;){let n=this.ranges[r].to;if(n>=o||(a=a.slice(0,n-(o-a.length)),r++,r==this.ranges.length))break;let s=this.ranges[r].from,i=this.lineAfter(s);a+=i,o=s+i.length}return{line:a,end:o}}skipGapsTo(e,a,o){for(;;){let r=this.ranges[this.rangeIndex].to,n=e+a;if(o>0?r>n:r>=n)break;let s=this.ranges[++this.rangeIndex].from;a+=s-r}return a}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,a,o,r){let n=4;if(this.ranges.length>1){r=this.skipGapsTo(a,r,1),a+=r;let i=this.chunk.length;r=this.skipGapsTo(o,r,-1),o+=r,n+=this.chunk.length-i}let s=this.chunk.length-4;return this.lang.streamParser.mergeTokens&&n==4&&s>=0&&this.chunk[s]==e&&this.chunk[s+2]==a?this.chunk[s+2]=o:this.chunk.push(e,a,o,n),r}parseLine(e){let{line:a,end:o}=this.nextLine(),r=0,{streamParser:n}=this.lang,s=new Tu(a,e?e.state.tabSize:4,e?Wo(e.state):2);if(s.eol())n.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let i=Ew(n.token,s,this.state);if(i&&(r=this.emitToken(this.lang.tokenTable.resolve(i),this.parsedPos+s.start,this.parsedPos+s.pos,r)),s.start>1e4)break}this.parsedPos=o,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=qe.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:RT,topID:0,maxBufferLength:512,reused:this.chunkReused});e=new qe(e.type,e.children,e.positions,e.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]),this.chunks.push(e),this.chunkPos.push(this.chunkStart-this.ranges[0].from),this.chunk=[],this.chunkReused=void 0,this.chunkStart=this.parsedPos}finish(){return new qe(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}};function Ew(t,e,a){e.start=e.pos;for(let o=0;o<10;o++){let r=t(e,a);if(e.pos>e.start)return r}throw new Error("Stream parser failed to advance stream.")}var Ip=Object.create(null),ii=[Dt.none],RT=new Iu(ii),Lw=[],Cw=Object.create(null),Bw=Object.create(null);for(let[t,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Bw[t]=Fw(Ip,e);var Bu=class{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Bw)}resolve(e){return e?this.table[e]||(this.table[e]=Fw(this.extra,e)):0}},TT=new Bu(Ip);function mp(t,e){Lw.indexOf(t)>-1||(Lw.push(t),console.warn(e))}function Fw(t,e){let a=[];for(let i of e.split(" ")){let l=[];for(let u of i.split(".")){let d=t[u]||w[u];d?typeof d=="function"?l.length?l=l.map(d):mp(u,`Modifier ${u} used at start of tag`):l.length?mp(u,`Tag ${u} used as modifier`):l=Array.isArray(d)?d:[d]:mp(u,`Unknown highlighting tag ${u}`)}for(let u of l)a.push(u)}if(!a.length)return 0;let o=e.replace(/ /g,"_"),r=o+" "+a.map(i=>i.id),n=Cw[r];if(n)return n.id;let s=Cw[r]=Dt.define({id:ii.length,name:o,props:[hw({[o]:a})]});return ii.push(s),s.id}function ET(t,e){let a=Dt.define({id:ii.length,name:"Document",props:[Un.add(()=>t),Sw.add(()=>o=>e.getIndent(o))],top:!0});return ii.push(a),a}var AG={rtl:me.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ke.RTL}),ltr:me.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ke.LTR}),auto:me.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var BT=t=>{let{state:e}=t,a=e.doc.lineAt(e.selection.main.from),o=Tp(t.state,a.from);return o.line?FT(t):o.block?NT(t):!1};function Rp(t,e){return({state:a,dispatch:o})=>{if(a.readOnly)return!1;let r=t(e,a);return r?(o(a.update(r)),!0):!1}}var FT=Rp(zT,0);var OT=Rp(Vw,0);var NT=Rp((t,e)=>Vw(t,e,HT(e)),0);function Tp(t,e){let a=t.languageDataAt("commentTokens",e,1);return a.length?a[0]:{}}var ui=50;function _T(t,{open:e,close:a},o,r){let n=t.sliceDoc(o-ui,o),s=t.sliceDoc(r,r+ui),i=/\s*$/.exec(n)[0].length,l=/^\s*/.exec(s)[0].length,u=n.length-i;if(n.slice(u-e.length,u)==e&&s.slice(l,l+a.length)==a)return{open:{pos:o-i,margin:i&&1},close:{pos:r+l,margin:l&&1}};let d,c;r-o<=2*ui?d=c=t.sliceDoc(o,r):(d=t.sliceDoc(o,o+ui),c=t.sliceDoc(r-ui,r));let f=/^\s*/.exec(d)[0].length,h=/\s*$/.exec(c)[0].length,p=c.length-h-a.length;return d.slice(f,f+e.length)==e&&c.slice(p,p+a.length)==a?{open:{pos:o+f+e.length,margin:/\s/.test(d.charAt(f+e.length))?1:0},close:{pos:r-h-a.length,margin:/\s/.test(c.charAt(p-1))?1:0}}:null}function HT(t){let e=[];for(let a of t.selection.ranges){let o=t.doc.lineAt(a.from),r=a.to<=o.to?o:t.doc.lineAt(a.to);r.from>o.from&&r.from==a.to&&(r=a.to==o.to+1?o:t.doc.lineAt(a.to-1));let n=e.length-1;n>=0&&e[n].to>o.from?e[n].to=r.to:e.push({from:o.from+/^\s*/.exec(o.text)[0].length,to:r.to})}return e}function Vw(t,e,a=e.selection.ranges){let o=a.map(n=>Tp(e,n.from).block);if(!o.every(n=>n))return null;let r=a.map((n,s)=>_T(e,o[s],n.from,n.to));if(t!=2&&!r.every(n=>n))return{changes:e.changes(a.map((n,s)=>r[s]?[]:[{from:n.from,insert:o[s].open+" "},{from:n.to,insert:" "+o[s].close}]))};if(t!=1&&r.some(n=>n)){let n=[];for(let s=0,i;s<r.length;s++)if(i=r[s]){let l=o[s],{open:u,close:d}=i;n.push({from:u.pos-l.open.length,to:u.pos+u.margin},{from:d.pos-d.margin,to:d.pos+l.close.length})}return{changes:n}}return null}function zT(t,e,a=e.selection.ranges){let o=[],r=-1;e:for(let{from:n,to:s}of a){let i=o.length,l=1e9,u;for(let d=n;d<=s;){let c=e.doc.lineAt(d);if(u==null&&(u=Tp(e,c.from).line,!u))continue e;if(c.from>r&&(n==s||s>c.from)){r=c.from;let f=/^\s*/.exec(c.text)[0].length,h=f==c.length,p=c.text.slice(f,f+u.length)==u?f:-1;f<c.text.length&&f<l&&(l=f),o.push({line:c,comment:p,token:u,indent:f,empty:h,single:!1})}d=c.to+1}if(l<1e9)for(let d=i;d<o.length;d++)o[d].indent<o[d].line.text.length&&(o[d].indent=l);o.length==i+1&&(o[i].single=!0)}if(t!=2&&o.some(n=>n.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:i,token:l,indent:u,empty:d,single:c}of o)(c||!d)&&n.push({from:i.from+u,insert:l+" "});let s=e.changes(n);return{changes:s,selection:e.selection.map(s,1)}}else if(t!=1&&o.some(n=>n.comment>=0)){let n=[];for(let{line:s,comment:i,token:l}of o)if(i>=0){let u=s.from+i,d=u+l.length;s.text[d-s.from]==" "&&d++,n.push({from:u,to:d})}return{changes:n}}return null}var Ap=Nt.define(),qT=Nt.define(),UT=Y.define(),Gw=Y.define({combine(t){return Ht(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,a)=>a},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,a)=>(o,r)=>e(o,r)||a(o,r)})}}),$w=$e.define({create(){return Nr.empty},update(t,e){let a=e.state.facet(Gw),o=e.annotation(Ap);if(o){let l=Aa.fromTransaction(e,o.selection),u=o.side,d=u==0?t.undone:t.done;return l?d=Ou(d,d.length,a.minDepth,l):d=Zw(d,e.startState.selection),new Nr(u==0?o.rest:d,u==0?d:o.rest)}let r=e.annotation(qT);if((r=="full"||r=="before")&&(t=t.isolate()),e.annotation(nt.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let n=Aa.fromTransaction(e),s=e.annotation(nt.time),i=e.annotation(nt.userEvent);return n?t=t.addChanges(n,s,i,a,e):e.selection&&(t=t.addSelection(e.startState.selection,s,i,a.newGroupDelay)),(r=="full"||r=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Nr(t.done.map(Aa.fromJSON),t.undone.map(Aa.fromJSON))}});function Xw(t={}){return[$w,Gw.of(t),Z.domEventHandlers({beforeinput(e,a){let o=e.inputType=="historyUndo"?Kw:e.inputType=="historyRedo"?Mp:null;return o?(e.preventDefault(),o(a)):!1}})]}function Nu(t,e){return function({state:a,dispatch:o}){if(!e&&a.readOnly)return!1;let r=a.field($w,!1);if(!r)return!1;let n=r.pop(t,a,e);return n?(o(n),!0):!1}}var Kw=Nu(0,!1),Mp=Nu(1,!1),WT=Nu(0,!0),VT=Nu(1,!0);var Aa=class t{constructor(e,a,o,r,n){this.changes=e,this.effects=a,this.mapped=o,this.startSelection=r,this.selectionsAfter=n}setSelAfter(e){return new t(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,a,o;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(a=this.mapped)===null||a===void 0?void 0:a.toJSON(),startSelection:(o=this.startSelection)===null||o===void 0?void 0:o.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new t(e.changes&&Mt.fromJSON(e.changes),[],e.mapped&&ho.fromJSON(e.mapped),e.startSelection&&X.fromJSON(e.startSelection),e.selectionsAfter.map(X.fromJSON))}static fromTransaction(e,a){let o=fa;for(let r of e.startState.facet(UT)){let n=r(e);n.length&&(o=o.concat(n))}return!o.length&&e.changes.empty?null:new t(e.changes.invert(e.startState.doc),o,void 0,a||e.startState.selection,fa)}static selection(e){return new t(void 0,fa,void 0,void 0,e)}};function Ou(t,e,a,o){let r=e+1>a+20?e-a-1:0,n=t.slice(r,e);return n.push(o),n}function GT(t,e){let a=[],o=!1;return t.iterChangedRanges((r,n)=>a.push(r,n)),e.iterChangedRanges((r,n,s,i)=>{for(let l=0;l<a.length;){let u=a[l++],d=a[l++];i>=u&&s<=d&&(o=!0)}}),o}function $T(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((a,o)=>a.empty!=e.ranges[o].empty).length===0}function jw(t,e){return t.length?e.length?t.concat(e):t:e}var fa=[],XT=200;function Zw(t,e){if(t.length){let a=t[t.length-1],o=a.selectionsAfter.slice(Math.max(0,a.selectionsAfter.length-XT));return o.length&&o[o.length-1].eq(e)?t:(o.push(e),Ou(t,t.length-1,1e9,a.setSelAfter(o)))}else return[Aa.selection([e])]}function KT(t){let e=t[t.length-1],a=t.slice();return a[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),a}function kp(t,e){if(!t.length)return t;let a=t.length,o=fa;for(;a;){let r=jT(t[a-1],e,o);if(r.changes&&!r.changes.empty||r.effects.length){let n=t.slice(0,a);return n[a-1]=r,n}else e=r.mapped,a--,o=r.selectionsAfter}return o.length?[Aa.selection(o)]:fa}function jT(t,e,a){let o=jw(t.selectionsAfter.length?t.selectionsAfter.map(i=>i.map(e)):fa,a);if(!t.changes)return Aa.selection(o);let r=t.changes.map(e),n=e.mapDesc(t.changes,!0),s=t.mapped?t.mapped.composeDesc(n):n;return new Aa(r,fe.mapEffects(t.effects,e),s,t.startSelection.map(n),o)}var ZT=/^(input\.type|delete)($|\.)/,Nr=class t{constructor(e,a,o=0,r=void 0){this.done=e,this.undone=a,this.prevTime=o,this.prevUserEvent=r}isolate(){return this.prevTime?new t(this.done,this.undone):this}addChanges(e,a,o,r,n){let s=this.done,i=s[s.length-1];return i&&i.changes&&!i.changes.empty&&e.changes&&(!o||ZT.test(o))&&(!i.selectionsAfter.length&&a-this.prevTime<r.newGroupDelay&&r.joinToEvent(n,GT(i.changes,e.changes))||o=="input.type.compose")?s=Ou(s,s.length-1,r.minDepth,new Aa(e.changes.compose(i.changes),jw(fe.mapEffects(e.effects,i.changes),i.effects),i.mapped,i.startSelection,fa)):s=Ou(s,s.length,r.minDepth,e),new t(s,fa,a,o)}addSelection(e,a,o,r){let n=this.done.length?this.done[this.done.length-1].selectionsAfter:fa;return n.length>0&&a-this.prevTime<r&&o==this.prevUserEvent&&o&&/^select($|\.)/.test(o)&&$T(n[n.length-1],e)?this:new t(Zw(this.done,e),this.undone,a,o)}addMapping(e){return new t(kp(this.done,e),kp(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,a,o){let r=e==0?this.done:this.undone;if(r.length==0)return null;let n=r[r.length-1],s=n.selectionsAfter[0]||(n.startSelection?n.startSelection.map(n.changes.invertedDesc,1):a.selection);if(o&&n.selectionsAfter.length)return a.update({selection:n.selectionsAfter[n.selectionsAfter.length-1],annotations:Ap.of({side:e,rest:KT(r),selection:s}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(n.changes){let i=r.length==1?fa:r.slice(0,r.length-1);return n.mapped&&(i=kp(i,n.mapped)),a.update({changes:n.changes,selection:n.startSelection,effects:n.effects,annotations:Ap.of({side:e,rest:i,selection:s}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};Nr.empty=new Nr(fa,fa);var Yw=[{key:"Mod-z",run:Kw,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Mp,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Mp,preventDefault:!0},{key:"Mod-u",run:WT,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:VT,preventDefault:!0}];function Gn(t,e){return X.create(t.ranges.map(e),t.mainIndex)}function Ma(t,e){return t.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Pa({state:t,dispatch:e},a){let o=Gn(t.selection,a);return o.eq(t.selection,!0)?!1:(e(Ma(t,o)),!0)}function _u(t,e){return X.cursor(e?t.to:t.from)}function Jw(t,e){return Pa(t,a=>a.empty?t.moveByChar(a,e):_u(a,e))}function St(t){return t.textDirectionAt(t.state.selection.main.head)==ke.LTR}var Qw=t=>Jw(t,!St(t)),ey=t=>Jw(t,St(t));function ty(t,e){return Pa(t,a=>a.empty?t.moveByGroup(a,e):_u(a,e))}var YT=t=>ty(t,!St(t)),JT=t=>ty(t,St(t));var OG=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function QT(t,e,a){if(e.type.prop(a))return!0;let o=e.to-e.from;return o&&(o>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Hu(t,e,a){let o=Rt(t).resolveInner(e.head),r=a?pe.closedBy:pe.openedBy;for(let l=e.head;;){let u=a?o.childAfter(l):o.childBefore(l);if(!u)break;QT(t,u,r)?o=u:l=a?u.to:u.from}let n=o.type.prop(r),s,i;return n&&(s=a?ka(t,o.from,1):ka(t,o.to,-1))&&s.matched?i=a?s.end.to:s.end.from:i=a?o.to:o.from,X.cursor(i,a?-1:1)}var eE=t=>Pa(t,e=>Hu(t.state,e,!St(t))),tE=t=>Pa(t,e=>Hu(t.state,e,St(t)));function ay(t,e){return Pa(t,a=>{if(!a.empty)return _u(a,e);let o=t.moveVertically(a,e);return o.head!=a.head?o:t.moveToLineBoundary(a,e)})}var oy=t=>ay(t,!1),ry=t=>ay(t,!0);function ny(t){let e=t.scrollDOM.clientHeight<t.scrollDOM.scrollHeight-2,a=0,o=0,r;if(e){for(let n of t.state.facet(Z.scrollMargins)){let s=n(t);s?.top&&(a=Math.max(s?.top,a)),s?.bottom&&(o=Math.max(s?.bottom,o))}r=t.scrollDOM.clientHeight-a-o}else r=(t.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:a,marginBottom:o,selfScroll:e,height:Math.max(t.defaultLineHeight,r-5)}}function sy(t,e){let a=ny(t),{state:o}=t,r=Gn(o.selection,s=>s.empty?t.moveVertically(s,e,a.height):_u(s,e));if(r.eq(o.selection))return!1;let n;if(a.selfScroll){let s=t.coordsAtPos(o.selection.main.head),i=t.scrollDOM.getBoundingClientRect(),l=i.top+a.marginTop,u=i.bottom-a.marginBottom;s&&s.top>l&&s.bottom<u&&(n=Z.scrollIntoView(r.main.head,{y:"start",yMargin:s.top-l}))}return t.dispatch(Ma(o,r),{effects:n}),!0}var Ow=t=>sy(t,!1),Pp=t=>sy(t,!0);function Go(t,e,a){let o=t.lineBlockAt(e.head),r=t.moveToLineBoundary(e,a);if(r.head==e.head&&r.head!=(a?o.to:o.from)&&(r=t.moveToLineBoundary(e,a,!1)),!a&&r.head==o.from&&o.length){let n=/^\s*/.exec(t.state.sliceDoc(o.from,Math.min(o.from+100,o.to)))[0].length;n&&e.head!=o.from+n&&(r=X.cursor(o.from+n))}return r}var aE=t=>Pa(t,e=>Go(t,e,!0)),oE=t=>Pa(t,e=>Go(t,e,!1)),rE=t=>Pa(t,e=>Go(t,e,!St(t))),nE=t=>Pa(t,e=>Go(t,e,St(t))),sE=t=>Pa(t,e=>X.cursor(t.lineBlockAt(e.head).from,1)),iE=t=>Pa(t,e=>X.cursor(t.lineBlockAt(e.head).to,-1));function lE(t,e,a){let o=!1,r=Gn(t.selection,n=>{let s=ka(t,n.head,-1)||ka(t,n.head,1)||n.head>0&&ka(t,n.head-1,1)||n.head<t.doc.length&&ka(t,n.head+1,-1);if(!s||!s.end)return n;o=!0;let i=s.start.from==n.head?s.end.to:s.end.from;return a?X.range(n.anchor,i):X.cursor(i)});return o?(e(Ma(t,r)),!0):!1}var uE=({state:t,dispatch:e})=>lE(t,e,!1);function ha(t,e){let a=Gn(t.state.selection,o=>{let r=e(o);return X.range(o.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return a.eq(t.state.selection)?!1:(t.dispatch(Ma(t.state,a)),!0)}function iy(t,e){return ha(t,a=>t.moveByChar(a,e))}var ly=t=>iy(t,!St(t)),uy=t=>iy(t,St(t));function dy(t,e){return ha(t,a=>t.moveByGroup(a,e))}var dE=t=>dy(t,!St(t)),cE=t=>dy(t,St(t));var fE=t=>ha(t,e=>Hu(t.state,e,!St(t))),hE=t=>ha(t,e=>Hu(t.state,e,St(t)));function cy(t,e){return ha(t,a=>t.moveVertically(a,e))}var fy=t=>cy(t,!1),hy=t=>cy(t,!0);function py(t,e){return ha(t,a=>t.moveVertically(a,e,ny(t).height))}var Nw=t=>py(t,!1),_w=t=>py(t,!0),pE=t=>ha(t,e=>Go(t,e,!0)),mE=t=>ha(t,e=>Go(t,e,!1)),gE=t=>ha(t,e=>Go(t,e,!St(t))),xE=t=>ha(t,e=>Go(t,e,St(t))),bE=t=>ha(t,e=>X.cursor(t.lineBlockAt(e.head).from)),wE=t=>ha(t,e=>X.cursor(t.lineBlockAt(e.head).to)),Hw=({state:t,dispatch:e})=>(e(Ma(t,{anchor:0})),!0),zw=({state:t,dispatch:e})=>(e(Ma(t,{anchor:t.doc.length})),!0),qw=({state:t,dispatch:e})=>(e(Ma(t,{anchor:t.selection.main.anchor,head:0})),!0),Uw=({state:t,dispatch:e})=>(e(Ma(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),yE=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),LE=({state:t,dispatch:e})=>{let a=zu(t).map(({from:o,to:r})=>X.range(o,Math.min(r+1,t.doc.length)));return e(t.update({selection:X.create(a),userEvent:"select"})),!0},CE=({state:t,dispatch:e})=>{let a=Gn(t.selection,o=>{let r=Rt(t),n=r.resolveStack(o.from,1);if(o.empty){let s=r.resolveStack(o.from,-1);s.node.from>=n.node.from&&s.node.to<=n.node.to&&(n=s)}for(let s=n;s;s=s.next){let{node:i}=s;if((i.from<o.from&&i.to>=o.to||i.to>o.to&&i.from<=o.from)&&s.next)return X.range(i.to,i.from)}return o});return a.eq(t.selection)?!1:(e(Ma(t,a)),!0)};function my(t,e){let{state:a}=t,o=a.selection,r=a.selection.ranges.slice();for(let n of a.selection.ranges){let s=a.doc.lineAt(n.head);if(e?s.to<t.state.doc.length:s.from>0)for(let i=n;;){let l=t.moveVertically(i,e);if(l.head<s.from||l.head>s.to){r.some(u=>u.head==l.head)||r.push(l);break}else{if(l.head==i.head)break;i=l}}}return r.length==o.ranges.length?!1:(t.dispatch(Ma(a,X.create(r,r.length-1))),!0)}var vE=t=>my(t,!1),SE=t=>my(t,!0),IE=({state:t,dispatch:e})=>{let a=t.selection,o=null;return a.ranges.length>1?o=X.create([a.main]):a.main.empty||(o=X.create([X.cursor(a.main.head)])),o?(e(Ma(t,o)),!0):!1};function di(t,e){if(t.state.readOnly)return!1;let a="delete.selection",{state:o}=t,r=o.changeByRange(n=>{let{from:s,to:i}=n;if(s==i){let l=e(n);l<s?(a="delete.backward",l=Fu(t,l,!1)):l>s&&(a="delete.forward",l=Fu(t,l,!0)),s=Math.min(s,l),i=Math.max(i,l)}else s=Fu(t,s,!1),i=Fu(t,i,!0);return s==i?{range:n}:{changes:{from:s,to:i},range:X.cursor(s,s<n.head?-1:1)}});return r.changes.empty?!1:(t.dispatch(o.update(r,{scrollIntoView:!0,userEvent:a,effects:a=="delete.selection"?Z.announce.of(o.phrase("Selection deleted")):void 0})),!0)}function Fu(t,e,a){if(t instanceof Z)for(let o of t.state.facet(Z.atomicRanges).map(r=>r(t)))o.between(e,e,(r,n)=>{r<e&&n>e&&(e=a?n:r)});return e}var gy=(t,e,a)=>di(t,o=>{let r=o.from,{state:n}=t,s=n.doc.lineAt(r),i,l;if(a&&!e&&r>s.from&&r<s.from+200&&!/[^ \t]/.test(i=s.text.slice(0,r-s.from))){if(i[i.length-1]==" ")return r-1;let u=vr(i,n.tabSize),d=u%Wo(n)||Wo(n);for(let c=0;c<d&&i[i.length-1-c]==" ";c++)r--;l=r}else l=Je(s.text,r-s.from,e,e)+s.from,l==r&&s.number!=(e?n.doc.lines:1)?l+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(s.text.slice(l-s.from,r-s.from))&&(l=Je(s.text,l-s.from,!1,!1)+s.from);return l}),Dp=t=>gy(t,!1,!0);var xy=t=>gy(t,!0,!1),by=(t,e)=>di(t,a=>{let o=a.head,{state:r}=t,n=r.doc.lineAt(o),s=r.charCategorizer(o);for(let i=null;;){if(o==(e?n.to:n.from)){o==a.head&&n.number!=(e?r.doc.lines:1)&&(o+=e?1:-1);break}let l=Je(n.text,o-n.from,e)+n.from,u=n.text.slice(Math.min(o,l)-n.from,Math.max(o,l)-n.from),d=s(u);if(i!=null&&d!=i)break;(u!=" "||o!=a.head)&&(i=d),o=l}return o}),wy=t=>by(t,!1),kE=t=>by(t,!0);var AE=t=>di(t,e=>{let a=t.lineBlockAt(e.head).to;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var ME=t=>di(t,e=>{let a=t.moveToLineBoundary(e,!1).head;return e.head>a?a:Math.max(0,e.head-1)}),PE=t=>di(t,e=>{let a=t.moveToLineBoundary(e,!0).head;return e.head<a?a:Math.min(t.state.doc.length,e.head+1)});var DE=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>({changes:{from:o.from,to:o.to,insert:ye.of(["",""])},range:X.cursor(o.from)}));return e(t.update(a,{scrollIntoView:!0,userEvent:"input"})),!0},RE=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=t.changeByRange(o=>{if(!o.empty||o.from==0||o.from==t.doc.length)return{range:o};let r=o.from,n=t.doc.lineAt(r),s=r==n.from?r-1:Je(n.text,r-n.from,!1)+n.from,i=r==n.to?r+1:Je(n.text,r-n.from,!0)+n.from;return{changes:{from:s,to:i,insert:t.doc.slice(r,i).append(t.doc.slice(s,r))},range:X.cursor(i)}});return a.changes.empty?!1:(e(t.update(a,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function zu(t){let e=[],a=-1;for(let o of t.selection.ranges){let r=t.doc.lineAt(o.from),n=t.doc.lineAt(o.to);if(!o.empty&&o.to==n.from&&(n=t.doc.lineAt(o.to-1)),a>=r.number){let s=e[e.length-1];s.to=n.to,s.ranges.push(o)}else e.push({from:r.from,to:n.to,ranges:[o]});a=n.number+1}return e}function yy(t,e,a){if(t.readOnly)return!1;let o=[],r=[];for(let n of zu(t)){if(a?n.to==t.doc.length:n.from==0)continue;let s=t.doc.lineAt(a?n.to+1:n.from-1),i=s.length+1;if(a){o.push({from:n.to,to:s.to},{from:n.from,insert:s.text+t.lineBreak});for(let l of n.ranges)r.push(X.range(Math.min(t.doc.length,l.anchor+i),Math.min(t.doc.length,l.head+i)))}else{o.push({from:s.from,to:n.from},{from:n.to,insert:t.lineBreak+s.text});for(let l of n.ranges)r.push(X.range(l.anchor-i,l.head-i))}}return o.length?(e(t.update({changes:o,scrollIntoView:!0,selection:X.create(r,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}var TE=({state:t,dispatch:e})=>yy(t,e,!1),EE=({state:t,dispatch:e})=>yy(t,e,!0);function Ly(t,e,a){if(t.readOnly)return!1;let o=[];for(let n of zu(t))a?o.push({from:n.from,insert:t.doc.slice(n.from,n.to)+t.lineBreak}):o.push({from:n.to,insert:t.lineBreak+t.doc.slice(n.from,n.to)});let r=t.changes(o);return e(t.update({changes:r,selection:t.selection.map(r,a?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var BE=({state:t,dispatch:e})=>Ly(t,e,!1),FE=({state:t,dispatch:e})=>Ly(t,e,!0),OE=t=>{if(t.state.readOnly)return!1;let{state:e}=t,a=e.changes(zu(e).map(({from:r,to:n})=>(r>0?r--:n<e.doc.length&&n++,{from:r,to:n}))),o=Gn(e.selection,r=>{let n;if(t.lineWrapping){let s=t.lineBlockAt(r.head),i=t.coordsAtPos(r.head,r.assoc||1);i&&(n=s.bottom+t.documentTop-i.bottom+t.defaultLineHeight/2)}return t.moveVertically(r,!0,n)}).map(a);return t.dispatch({changes:a,selection:o,scrollIntoView:!0,userEvent:"delete.line"}),!0};function NE(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let a=Rt(t).resolveInner(e),o=a.childBefore(e),r=a.childAfter(e),n;return o&&r&&o.to<=e&&r.from>=e&&(n=o.type.prop(pe.closedBy))&&n.indexOf(r.name)>-1&&t.doc.lineAt(o.to).from==t.doc.lineAt(r.from).from&&!/\S/.test(t.sliceDoc(o.to,r.from))?{from:o.to,to:r.from}:null}var Ww=Cy(!1),_E=Cy(!0);function Cy(t){return({state:e,dispatch:a})=>{if(e.readOnly)return!1;let o=e.changeByRange(r=>{let{from:n,to:s}=r,i=e.doc.lineAt(n),l=!t&&n==s&&NE(e,n);t&&(n=s=(s<=i.to?i:e.doc.lineAt(s)).to);let u=new Or(e,{simulateBreak:n,simulateDoubleBreak:!!l}),d=vp(u,n);for(d==null&&(d=vr(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));s<i.to&&/\s/.test(i.text[s-i.from]);)s++;l?{from:n,to:s}=l:n>i.from&&n<i.from+100&&!/\S/.test(i.text.slice(0,n))&&(n=i.from);let c=["",li(e,d)];return l&&c.push(li(e,u.lineIndent(i.from,-1))),{changes:{from:n,to:s,insert:ye.of(c)},range:X.cursor(n+1+c[1].length)}});return a(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0}}function Ep(t,e){let a=-1;return t.changeByRange(o=>{let r=[];for(let s=o.from;s<=o.to;){let i=t.doc.lineAt(s);i.number>a&&(o.empty||o.to>i.from)&&(e(i,r,o),a=i.number),s=i.to+1}let n=t.changes(r);return{changes:r,range:X.range(n.mapPos(o.anchor,1),n.mapPos(o.head,1))}})}var HE=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let a=Object.create(null),o=new Or(t,{overrideIndentation:n=>{let s=a[n];return s??-1}}),r=Ep(t,(n,s,i)=>{let l=vp(o,n.from);if(l==null)return;/\S/.test(n.text)||(l=0);let u=/^\s*/.exec(n.text)[0],d=li(t,l);(u!=d||i.from<n.from+u.length)&&(a[n.from]=l,s.push({from:n.from,to:n.from+u.length,insert:d}))});return r.changes.empty||e(t.update(r,{userEvent:"indent"})),!0},vy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Ep(t,(a,o)=>{o.push({from:a.from,insert:t.facet(bo)})}),{userEvent:"input.indent"})),!0),Sy=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(Ep(t,(a,o)=>{let r=/^\s*/.exec(a.text)[0];if(!r)return;let n=vr(r,t.tabSize),s=0,i=li(t,Math.max(0,n-Wo(t)));for(;s<r.length&&s<i.length&&r.charCodeAt(s)==i.charCodeAt(s);)s++;o.push({from:a.from+s,to:a.from+r.length,insert:i.slice(s)})}),{userEvent:"delete.dedent"})),!0),zE=t=>(t.setTabFocusMode(),!0);var qE=[{key:"Ctrl-b",run:Qw,shift:ly,preventDefault:!0},{key:"Ctrl-f",run:ey,shift:uy},{key:"Ctrl-p",run:oy,shift:fy},{key:"Ctrl-n",run:ry,shift:hy},{key:"Ctrl-a",run:sE,shift:bE},{key:"Ctrl-e",run:iE,shift:wE},{key:"Ctrl-d",run:xy},{key:"Ctrl-h",run:Dp},{key:"Ctrl-k",run:AE},{key:"Ctrl-Alt-h",run:wy},{key:"Ctrl-o",run:DE},{key:"Ctrl-t",run:RE},{key:"Ctrl-v",run:Pp}],UE=[{key:"ArrowLeft",run:Qw,shift:ly,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:YT,shift:dE,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:rE,shift:gE,preventDefault:!0},{key:"ArrowRight",run:ey,shift:uy,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:JT,shift:cE,preventDefault:!0},{mac:"Cmd-ArrowRight",run:nE,shift:xE,preventDefault:!0},{key:"ArrowUp",run:oy,shift:fy,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Hw,shift:qw},{mac:"Ctrl-ArrowUp",run:Ow,shift:Nw},{key:"ArrowDown",run:ry,shift:hy,preventDefault:!0},{mac:"Cmd-ArrowDown",run:zw,shift:Uw},{mac:"Ctrl-ArrowDown",run:Pp,shift:_w},{key:"PageUp",run:Ow,shift:Nw},{key:"PageDown",run:Pp,shift:_w},{key:"Home",run:oE,shift:mE,preventDefault:!0},{key:"Mod-Home",run:Hw,shift:qw},{key:"End",run:aE,shift:pE,preventDefault:!0},{key:"Mod-End",run:zw,shift:Uw},{key:"Enter",run:Ww,shift:Ww},{key:"Mod-a",run:yE},{key:"Backspace",run:Dp,shift:Dp,preventDefault:!0},{key:"Delete",run:xy,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:wy,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:kE,preventDefault:!0},{mac:"Mod-Backspace",run:ME,preventDefault:!0},{mac:"Mod-Delete",run:PE,preventDefault:!0}].concat(qE.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),Iy=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:eE,shift:fE},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:tE,shift:hE},{key:"Alt-ArrowUp",run:TE},{key:"Shift-Alt-ArrowUp",run:BE},{key:"Alt-ArrowDown",run:EE},{key:"Shift-Alt-ArrowDown",run:FE},{key:"Mod-Alt-ArrowUp",run:vE},{key:"Mod-Alt-ArrowDown",run:SE},{key:"Escape",run:IE},{key:"Mod-Enter",run:_E},{key:"Alt-l",mac:"Ctrl-l",run:LE},{key:"Mod-i",run:CE,preventDefault:!0},{key:"Mod-[",run:Sy},{key:"Mod-]",run:vy},{key:"Mod-Alt-\\",run:HE},{key:"Shift-Mod-k",run:OE},{key:"Shift-Mod-\\",run:uE},{key:"Mod-/",run:BT},{key:"Alt-A",run:OT},{key:"Ctrl-m",mac:"Shift-Alt-m",run:zE}].concat(UE),ky={key:"Tab",run:vy,shift:Sy};var Wu=class{constructor(e,a,o){this.from=e,this.to=a,this.diagnostic=o}},_r=class t{constructor(e,a,o){this.diagnostics=e,this.panel=a,this.selected=o}static init(e,a,o){let r=o.facet(ci).markerFilter;r&&(e=r(e,o));let n=e.slice().sort((h,p)=>h.from-p.from||h.to-p.to),s=new La,i=[],l=0,u=o.doc.iter(),d=0,c=o.doc.length;for(let h=0;;){let p=h==n.length?null:n[h];if(!p&&!i.length)break;let m,g;if(i.length)m=l,g=i.reduce((b,C)=>Math.min(b,C.to),p&&p.from>m?p.from:1e8);else{if(m=p.from,m>c)break;g=p.to,i.push(p),h++}for(;h<n.length;){let b=n[h];if(b.from==m&&(b.to>b.from||b.to==m))i.push(b),h++,g=Math.min(b.to,g);else{g=Math.min(b.from,g);break}}g=Math.min(g,c);let x=!1;if(i.some(b=>b.from==m&&(b.to==g||g==c))&&(x=m==g,!x&&g-m<10)){let b=m-(d+u.value.length);b>0&&(u.next(b),d=m);for(let C=m;;){if(C>=g){x=!0;break}if(!u.lineBreak&&d+u.value.length>C)break;C=d+u.value.length,d+=u.value.length,u.next()}}let y=Oy(i);if(x)s.add(m,m,me.widget({widget:new Bp(y),diagnostics:i.slice()}));else{let b=i.reduce((C,I)=>I.markClass?C+" "+I.markClass:C,"");s.add(m,g,me.mark({class:"cm-lintRange cm-lintRange-"+y+b,diagnostics:i.slice(),inclusiveEnd:i.some(C=>C.to>g)}))}if(l=g,l==c)break;for(let b=0;b<i.length;b++)i[b].to<=l&&i.splice(b--,1)}let f=s.finish();return new t(f,a,$n(f))}};function $n(t,e=null,a=0){let o=null;return t.between(a,1e9,(r,n,{spec:s})=>{if(!(e&&s.diagnostics.indexOf(e)<0))if(!o)o=new Wu(r,n,e||s.diagnostics[0]);else{if(s.diagnostics.indexOf(o.diagnostic)<0)return!1;o=new Wu(o.from,n,o.diagnostic)}}),o}function Py(t,e){let a=e.pos,o=e.end||a,r=t.state.facet(ci).hideOn(t,a,o);if(r!=null)return r;let n=t.startState.doc.lineAt(e.pos);return!!(t.effects.some(s=>s.is(Xu))||t.changes.touchesRange(n.from,Math.max(n.to,o)))}function WE(t,e){return t.field(Da,!1)?e:e.concat(fe.appendConfig.of(e2))}function Dy(t,e){return{effects:WE(t,[Xu.of(e)])}}var Xu=fe.define(),Ry=fe.define(),Ty=fe.define(),Da=$e.define({create(){return new _r(me.none,null,null)},update(t,e){if(e.docChanged&&t.diagnostics.size){let a=t.diagnostics.map(e.changes),o=null,r=t.panel;if(t.selected){let n=e.changes.mapPos(t.selected.from,1);o=$n(a,t.selected.diagnostic,n)||$n(a,null,n)}!a.size&&r&&e.state.facet(ci).autoPanel&&(r=null),t=new _r(a,r,o)}for(let a of e.effects)if(a.is(Xu)){let o=e.state.facet(ci).autoPanel?a.value.length?Gu.open:null:t.panel;t=_r.init(a.value,o,e.state)}else a.is(Ry)?t=new _r(t.diagnostics,a.value?Gu.open:null,t.selected):a.is(Ty)&&(t=new _r(t.diagnostics,t.panel,a.value));return t},provide:t=>[Dr.from(t,e=>e.panel),Z.decorations.from(t,e=>e.diagnostics)]});var VE=me.mark({class:"cm-lintRange cm-lintRange-active"});function GE(t,e,a){let{diagnostics:o}=t.state.field(Da),r,n=-1,s=-1;o.between(e-(a<0?1:0),e+(a>0?1:0),(l,u,{spec:d})=>{if(e>=l&&e<=u&&(l==u||(e>l||a>0)&&(e<u||a<0)))return r=d.diagnostics,n=l,s=u,!1});let i=t.state.facet(ci).tooltipFilter;return r&&i&&(r=i(r,t.state)),r?{pos:n,end:s,above:!0,create(){return{dom:Ey(t,r)}}}:null}function Ey(t,e){return ve("ul",{class:"cm-tooltip-lint"},e.map(a=>Fy(t,a,!1)))}var Ay=t=>{let e=t.state.field(Da,!1);return!e||!e.panel?!1:(t.dispatch({effects:Ry.of(!1)}),!0)};var ci=Y.define({combine(t){return{sources:t.map(e=>e.source).filter(e=>e!=null),...Ht(t.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:My,tooltipFilter:My,needsRefresh:(e,a)=>e?a?o=>e(o)||a(o):e:a,hideOn:(e,a)=>e?a?(o,r,n)=>e(o,r,n)||a(o,r,n):e:a,autoPanel:(e,a)=>e||a})}}});function My(t,e){return t?e?(a,o)=>e(t(a,o),o):t:e}function By(t){let e=[];if(t)e:for(let{name:a}of t){for(let o=0;o<a.length;o++){let r=a[o];if(/[a-zA-Z]/.test(r)&&!e.some(n=>n.toLowerCase()==r.toLowerCase())){e.push(r);continue e}}e.push("")}return e}function Fy(t,e,a){var o;let r=a?By(e.actions):[];return ve("li",{class:"cm-diagnostic cm-diagnostic-"+e.severity},ve("span",{class:"cm-diagnosticText"},e.renderMessage?e.renderMessage(t):e.message),(o=e.actions)===null||o===void 0?void 0:o.map((n,s)=>{let i=!1,l=h=>{if(h.preventDefault(),i)return;i=!0;let p=$n(t.state.field(Da).diagnostics,e);p&&n.apply(t,p.from,p.to)},{name:u}=n,d=r[s]?u.indexOf(r[s]):-1,c=d<0?u:[u.slice(0,d),ve("u",u.slice(d,d+1)),u.slice(d+1)],f=n.markClass?" "+n.markClass:"";return ve("button",{type:"button",class:"cm-diagnosticAction"+f,onclick:l,onmousedown:l,"aria-label":` Action: ${u}${d<0?"":` (access key "${r[s]})"`}.`},c)}),e.source&&ve("div",{class:"cm-diagnosticSource"},e.source))}var Bp=class extends Va{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return ve("span",{class:"cm-lintPoint cm-lintPoint-"+this.sev})}},Vu=class{constructor(e,a){this.diagnostic=a,this.id="item_"+Math.floor(Math.random()*4294967295).toString(16),this.dom=Fy(e,a,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}},Gu=class t{constructor(e){this.view=e,this.items=[];let a=r=>{if(!(r.ctrlKey||r.altKey||r.metaKey)){if(r.keyCode==27)Ay(this.view),this.view.focus();else if(r.keyCode==38||r.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(r.keyCode==40||r.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(r.keyCode==36)this.moveSelection(0);else if(r.keyCode==35)this.moveSelection(this.items.length-1);else if(r.keyCode==13)this.view.focus();else if(r.keyCode>=65&&r.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],s=By(n.actions);for(let i=0;i<s.length;i++)if(s[i].toUpperCase().charCodeAt(0)==r.keyCode){let l=$n(this.view.state.field(Da).diagnostics,n);l&&n.actions[i].apply(e,l.from,l.to)}}else return;r.preventDefault()}},o=r=>{for(let n=0;n<this.items.length;n++)this.items[n].dom.contains(r.target)&&this.moveSelection(n)};this.list=ve("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:a,onclick:o}),this.dom=ve("div",{class:"cm-panel-lint"},this.list,ve("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Ay(this.view)},"\xD7")),this.update()}get selectedIndex(){let e=this.view.state.field(Da).selected;if(!e)return-1;for(let a=0;a<this.items.length;a++)if(this.items[a].diagnostic==e.diagnostic)return a;return-1}update(){let{diagnostics:e,selected:a}=this.view.state.field(Da),o=0,r=!1,n=null,s=new Set;for(e.between(0,this.view.state.doc.length,(i,l,{spec:u})=>{for(let d of u.diagnostics){if(s.has(d))continue;s.add(d);let c=-1,f;for(let h=o;h<this.items.length;h++)if(this.items[h].diagnostic==d){c=h;break}c<0?(f=new Vu(this.view,d),this.items.splice(o,0,f),r=!0):(f=this.items[c],c>o&&(this.items.splice(o,c-o),r=!0)),a&&f.diagnostic==a.diagnostic?f.dom.hasAttribute("aria-selected")||(f.dom.setAttribute("aria-selected","true"),n=f):f.dom.hasAttribute("aria-selected")&&f.dom.removeAttribute("aria-selected"),o++}});o<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Vu(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),r=!0),n?(this.list.setAttribute("aria-activedescendant",n.id),this.view.requestMeasure({key:this,read:()=>({sel:n.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:i,panel:l})=>{let u=l.height/this.list.offsetHeight;i.top<l.top?this.list.scrollTop-=(l.top-i.top)/u:i.bottom>l.bottom&&(this.list.scrollTop+=(i.bottom-l.bottom)/u)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),r&&this.sync()}sync(){let e=this.list.firstChild;function a(){let o=e;e=o.nextSibling,o.remove()}for(let o of this.items)if(o.dom.parentNode==this.list){for(;e!=o.dom;)a();e=o.dom.nextSibling}else this.list.insertBefore(o.dom,e);for(;e;)a()}moveSelection(e){if(this.selectedIndex<0)return;let a=this.view.state.field(Da),o=$n(a.diagnostics,this.items[e].diagnostic);o&&this.view.dispatch({selection:{anchor:o.from,head:o.to},scrollIntoView:!0,effects:Ty.of(o)})}static open(e){return new t(e)}};function Uu(t,e='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${e}>${encodeURIComponent(t)}</svg>')`}function qu(t){return Uu(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${t}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}var $E=Z.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnostic-hint":{borderLeft:"5px solid #66d"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:qu("#f11")},".cm-lintRange-warning":{backgroundImage:qu("orange")},".cm-lintRange-info":{backgroundImage:qu("#999")},".cm-lintRange-hint":{backgroundImage:qu("#66d")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:"#66d"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:"#86714a80"},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:"#2e343e"}}});function XE(t){return t=="error"?4:t=="warning"?3:t=="info"?2:1}function Oy(t){let e="hint",a=1;for(let o of t){let r=XE(o.severity);r>a&&(a=r,e=o.severity)}return e}var $u=class extends ca{constructor(e){super(),this.diagnostics=e,this.severity=Oy(e)}toDOM(e){let a=document.createElement("div");a.className="cm-lint-marker cm-lint-marker-"+this.severity;let o=this.diagnostics,r=e.state.facet(Ku).tooltipFilter;return r&&(o=r(o,e.state)),o.length&&(a.onmouseover=()=>jE(e,a,o)),a}};function KE(t,e){let a=o=>{let r=e.getBoundingClientRect();if(!(o.clientX>r.left-10&&o.clientX<r.right+10&&o.clientY>r.top-10&&o.clientY<r.bottom+10)){for(let n=o.target;n;n=n.parentNode)if(n.nodeType==1&&n.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",a),t.state.field(Ny)&&t.dispatch({effects:Op.of(null)})}};window.addEventListener("mousemove",a)}function jE(t,e,a){function o(){let s=t.elementAtHeight(e.getBoundingClientRect().top+5-t.documentTop);t.coordsAtPos(s.from)&&t.dispatch({effects:Op.of({pos:s.from,above:!1,clip:!1,create(){return{dom:Ey(t,a),getCoords:()=>e.getBoundingClientRect()}}})}),e.onmouseout=e.onmousemove=null,KE(t,e)}let{hoverTime:r}=t.state.facet(Ku),n=setTimeout(o,r);e.onmouseout=()=>{clearTimeout(n),e.onmouseout=e.onmousemove=null},e.onmousemove=()=>{clearTimeout(n),n=setTimeout(o,r)}}function ZE(t,e){let a=Object.create(null);for(let r of e){let n=t.lineAt(r.from);(a[n.from]||(a[n.from]=[])).push(r)}let o=[];for(let r in a)o.push(new $u(a[r]).range(+r));return Le.of(o,!0)}var YE=ep({class:"cm-gutter-lint",markers:t=>t.state.field(Fp),widgetMarker:(t,e,a)=>{let o=[];return t.state.field(Fp).between(a.from,a.to,(r,n,s)=>{r>a.from&&r<a.to&&o.push(...s.diagnostics)}),o.length?new $u(o):null}}),Fp=$e.define({create(){return Le.empty},update(t,e){t=t.map(e.changes);let a=e.state.facet(Ku).markerFilter;for(let o of e.effects)if(o.is(Xu)){let r=o.value;a&&(r=a(r||[],e.state)),t=ZE(e.state.doc,r.slice(0))}return t}}),Op=fe.define(),Ny=$e.define({create(){return null},update(t,e){return t&&e.docChanged&&(t=Py(e,t)?null:{...t,pos:e.changes.mapPos(t.pos)}),e.effects.reduce((a,o)=>o.is(Op)?o.value:a,t)},provide:t=>qn.from(t)}),JE=Z.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Uu('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:Uu('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:Uu('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),QE=Lu(GE,{hideOn:Py}),e2=[Da,Z.decorations.compute([Da],t=>{let{selected:e,panel:a}=t.field(Da);return!e||!a||e.from==e.to?me.none:me.set([VE.range(e.from,e.to)])}),QE,$E],Ku=Y.define({combine(t){return Ht(t,{hoverTime:300,markerFilter:null,tooltipFilter:null})}});function _y(t={}){return[Ku.of(t),Fp,YE,JE,Ny]}var Hy=typeof String.prototype.normalize=="function"?t=>t.normalize("NFKD"):t=>t,Hr=class{constructor(e,a,o=0,r=e.length,n,s){this.test=s,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(o,r),this.bufferStart=o,this.normalize=n?i=>n(Hy(i)):Hy,this.query=this.normalize(a)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return _t(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let a=Fs(e),o=this.bufferStart+this.bufferPos;this.bufferPos+=sa(e);let r=this.normalize(a);if(r.length)for(let n=0,s=o,i=!0;;n++){let l=r.charCodeAt(n),u=this.match(l,s,i,this.bufferPos+this.bufferStart,n==r.length-1);if(u)return this.value=u,this;if(n==r.length-1)break;i&&n<a.length&&a.charCodeAt(n)==l?s++:i=!1}}}match(e,a,o,r,n){let s=null;for(let i=0;i<this.matches.length;){let l=this.matches[i],u=!1;this.query.charCodeAt(l.index)==e&&(l.index==this.query.length-1?s={from:l.from,to:r,precise:n&&l.precise}:(l.index++,u=!0)),u?i++:this.matches.splice(i,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?s={from:a,to:r,precise:o&&n}:this.matches.push({from:a,index:1,precise:o})),s&&this.test&&!this.test(s.from,s.to,this.buffer,this.bufferStart)&&(s=null),s}};typeof Symbol<"u"&&(Hr.prototype[Symbol.iterator]=function(){return this});var qy={from:-1,to:-1,match:/.*/.exec(""),precise:!0},Up="gm"+(/x/.unicode==null?"":"u"),Yu=class{constructor(e,a,o,r=0,n=e.length){if(this.text=e,this.to=n,this.curLine="",this.done=!1,this.value=qy,/\\[sWDnr]|\n|\r|\[\^/.test(a))return new Qu(e,a,o,r,n);this.re=new RegExp(a,Up+(o?.ignoreCase?"i":"")),this.test=o?.test,this.iter=e.iter();let s=e.lineAt(r);this.curLineStart=s.from,this.matchPos=ed(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine="":(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine="":this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let a=this.matchPos<=this.to&&this.re.exec(this.curLine);if(a){let o=this.curLineStart+a.index,r=o+a[0].length;if(this.matchPos=ed(this.text,r+(o==r?1:0)),o==this.curLineStart+this.curLine.length&&this.nextLine(),(o<r||o>this.value.to)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},Np=new WeakMap,Ju=class t{constructor(e,a){this.from=e,this.text=a}get to(){return this.from+this.text.length}static get(e,a,o){let r=Np.get(e);if(!r||r.from>=o||r.to<=a){let i=new t(a,e.sliceString(a,o));return Np.set(e,i),i}if(r.from==a&&r.to==o)return r;let{text:n,from:s}=r;return s>a&&(n=e.sliceString(a,s)+n,s=a),r.to<o&&(n+=e.sliceString(r.to,o)),Np.set(e,new t(s,n)),new t(a,n.slice(a-s,o-s))}},Qu=class{constructor(e,a,o,r,n){this.text=e,this.to=n,this.done=!1,this.value=qy,this.matchPos=ed(e,r),this.re=new RegExp(a,Up+(o?.ignoreCase?"i":"")),this.test=o?.test,this.flat=Ju.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,a=this.re.exec(this.flat.text);if(a&&!a[0]&&a.index==e&&(this.re.lastIndex=e+1,a=this.re.exec(this.flat.text)),a){let o=this.flat.from+a.index,r=o+a[0].length;if((this.flat.to>=this.to||a.index+a[0].length<=this.flat.text.length-10)&&(!this.test||this.test(o,r,a)))return this.value={from:o,to:r,precise:!0,match:a},this.matchPos=ed(this.text,r+(o==r?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Ju.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}};typeof Symbol<"u"&&(Yu.prototype[Symbol.iterator]=Qu.prototype[Symbol.iterator]=function(){return this});function t2(t){try{return new RegExp(t,Up),!0}catch{return!1}}function ed(t,e){if(e>=t.length)return e;let a=t.lineAt(e),o;for(;e<a.to&&(o=a.text.charCodeAt(e-a.from))>=56320&&o<57344;)e++;return e}var a2=t=>{let{state:e}=t,a=String(e.doc.lineAt(t.state.selection.main.head).number),{close:o,result:r}=tw(t,{label:e.phrase("Go to line"),input:{type:"text",name:"line",value:a},focus:!0,submitLabel:e.phrase("go")});return r.then(n=>{let s=n&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(n.elements.line.value);if(!s){t.dispatch({effects:o});return}let i=e.doc.lineAt(e.selection.main.head),[,l,u,d,c]=s,f=d?+d.slice(1):0,h=u?+u:i.number;if(u&&c){let g=h/100;l&&(g=g*(l=="-"?-1:1)+i.number/e.doc.lines),h=Math.round(e.doc.lines*g)}else u&&l&&(h=h*(l=="-"?-1:1)+i.number);let p=e.doc.line(Math.max(1,Math.min(e.doc.lines,h))),m=X.cursor(p.from+Math.max(0,Math.min(f,p.length)));t.dispatch({effects:[o,Z.scrollIntoView(m.from,{y:"center"})],selection:m})}),!0};var o2=({state:t,dispatch:e})=>{let{selection:a}=t,o=X.create(a.ranges.map(r=>t.wordAt(r.head)||X.cursor(r.head)),a.mainIndex);return o.eq(a)?!1:(e(t.update({selection:o})),!0)};function r2(t,e){let{main:a,ranges:o}=t.selection,r=t.wordAt(a.head),n=r&&r.from==a.from&&r.to==a.to;for(let s=!1,i=new Hr(t.doc,e,o[o.length-1].to);;)if(i.next(),i.done){if(s)return null;i=new Hr(t.doc,e,0,Math.max(0,o[o.length-1].from-1)),s=!0}else{if(s&&o.some(l=>l.from==i.value.from))continue;if(n){let l=t.wordAt(i.value.from);if(!l||l.from!=i.value.from||l.to!=i.value.to)continue}return i.value}}var n2=({state:t,dispatch:e})=>{let{ranges:a}=t.selection;if(a.some(n=>n.from===n.to))return o2({state:t,dispatch:e});let o=t.sliceDoc(a[0].from,a[0].to);if(t.selection.ranges.some(n=>t.sliceDoc(n.from,n.to)!=o))return!1;let r=r2(t,o);return r?(e(t.update({selection:t.selection.addRange(X.range(r.from,r.to),!1),effects:Z.scrollIntoView(r.to)})),!0):!1},jn=Y.define({combine(t){return Ht(t,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new qp(e),scrollToMatch:e=>Z.scrollIntoView(e)})}});var td=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||"",this.valid=!!this.search&&(!this.regexp||t2(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(a,o)=>o=="n"?`
21
+ `:o=="r"?"\r":o=="t"?" ":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new Hp(this):new _p(this)}getCursor(e,a=0,o){let r=e.doc?e:Pe.create({doc:e});return o==null&&(o=r.doc.length),this.regexp?Kn(this,r,a,o):Xn(this,r,a,o)}},ad=class{constructor(e){this.spec=e}};function s2(t,e,a){return(o,r,n,s)=>{if(a&&!a(o,r,n,s))return!1;let i=o>=s&&r<=s+n.length?n.slice(o-s,r-s):e.doc.sliceString(o,r);return t(i,e,o,r)}}function Xn(t,e,a,o){let r;return t.wholeWord&&(r=i2(e.doc,e.charCategorizer(e.selection.main.head))),t.test&&(r=s2(t.test,e,r)),new Hr(e.doc,t.unquoted,a,o,t.caseSensitive?void 0:n=>n.toLowerCase(),r)}function i2(t,e){return(a,o,r,n)=>((n>a||n+r.length<o)&&(n=Math.max(0,a-2),r=t.sliceString(n,Math.min(t.length,o+2))),(e(od(r,a-n))!=He.Word||e(rd(r,a-n))!=He.Word)&&(e(rd(r,o-n))!=He.Word||e(od(r,o-n))!=He.Word))}var _p=class extends ad{constructor(e){super(e)}nextMatch(e,a,o){let r=Xn(this.spec,e,o,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,a+this.spec.unquoted.length);r=Xn(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==a&&r.value.to==o?null:r.value}prevMatchInRange(e,a,o){for(let r=o;;){let n=Math.max(a,r-1e4-this.spec.unquoted.length),s=Xn(this.spec,e,n,r),i=null;for(;!s.nextOverlapping().done;)i=s.value;if(i)return i;if(n==a)return null;r-=1e4}}prevMatch(e,a,o){let r=this.prevMatchInRange(e,0,a);return r||(r=this.prevMatchInRange(e,Math.max(0,o-this.spec.unquoted.length),e.doc.length)),r&&(r.from!=a||r.to!=o)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,a){let o=Xn(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=Xn(this.spec,e,Math.max(0,a-this.spec.unquoted.length),Math.min(o+this.spec.unquoted.length,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}};function l2(t,e,a){return(o,r,n)=>(!a||a(o,r,n))&&t(n[0],e,o,r)}function Kn(t,e,a,o){let r;return t.wholeWord&&(r=u2(e.charCategorizer(e.selection.main.head))),t.test&&(r=l2(t.test,e,r)),new Yu(e.doc,t.search,{ignoreCase:!t.caseSensitive,test:r},a,o)}function od(t,e){return t.slice(Je(t,e,!1),e)}function rd(t,e){return t.slice(e,Je(t,e))}function u2(t){return(e,a,o)=>!o[0].length||(t(od(o.input,o.index))!=He.Word||t(rd(o.input,o.index))!=He.Word)&&(t(rd(o.input,o.index+o[0].length))!=He.Word||t(od(o.input,o.index+o[0].length))!=He.Word)}var Hp=class extends ad{nextMatch(e,a,o){let r=Kn(this.spec,e,o,e.doc.length).next();return r.done&&(r=Kn(this.spec,e,0,a).next()),r.done?null:r.value}prevMatchInRange(e,a,o){for(let r=1;;r++){let n=Math.max(a,o-r*1e4),s=Kn(this.spec,e,n,o),i=null;for(;!s.next().done;)i=s.value;if(i&&(n==a||i.from>n+10))return i;if(n==a)return null}}prevMatch(e,a,o){return this.prevMatchInRange(e,0,a)||this.prevMatchInRange(e,o,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(a,o)=>{if(o=="&")return e.match[0];if(o=="$")return"$";for(let r=o.length;r>0;r--){let n=+o.slice(0,r);if(n>0&&n<e.match.length)return e.match[n]+o.slice(r)}return a})}matchAll(e,a){let o=Kn(this.spec,e,0,e.doc.length),r=[];for(;!o.next().done;){if(r.length>=a)return null;r.push(o.value)}return r}highlight(e,a,o,r){let n=Kn(this.spec,e,Math.max(0,a-250),Math.min(o+250,e.doc.length));for(;!n.next().done;)r(n.value.from,n.value.to)}},hi=fe.define(),Wp=fe.define(),$o=$e.define({create(t){return new fi(zp(t).create(),null)},update(t,e){for(let a of e.effects)a.is(hi)?t=new fi(a.value.create(),t.panel):a.is(Wp)&&(t=new fi(t.query,a.value?Vp:null));return t},provide:t=>Dr.from(t,e=>e.panel)});var fi=class{constructor(e,a){this.query=e,this.panel=a}},d2=me.mark({class:"cm-searchMatch"}),c2=me.mark({class:"cm-searchMatch cm-searchMatch-selected"}),f2=Qe.fromClass(class{constructor(t){this.view=t,this.decorations=this.highlight(t.state.field($o))}update(t){let e=t.state.field($o);(e!=t.startState.field($o)||t.docChanged||t.selectionSet||t.viewportChanged)&&(this.decorations=this.highlight(e))}highlight({query:t,panel:e}){if(!e||!t.spec.valid)return me.none;let{view:a}=this,o=new La;for(let r=0,n=a.visibleRanges,s=n.length;r<s;r++){let{from:i,to:l}=n[r];for(;r<s-1&&l>n[r+1].from-500;)l=n[++r].to;t.highlight(a.state,i,l,(u,d)=>{let c=a.state.selection.ranges.some(f=>f.from==u&&f.to==d);o.add(u,d,c?c2:d2)})}return o.finish()}},{decorations:t=>t.decorations});function pi(t){return e=>{let a=e.state.field($o,!1);return a&&a.query.spec.valid?t(e,a):Vy(e)}}var nd=pi((t,{query:e})=>{let{to:a}=t.state.selection.main,o=e.nextMatch(t.state,a,a);if(!o)return!1;let r=X.single(o.from,o.to),n=t.state.facet(jn);return t.dispatch({selection:r,effects:[Gp(t,o),n.scrollToMatch(r.main,t)],userEvent:"select.search"}),Wy(t),!0}),sd=pi((t,{query:e})=>{let{state:a}=t,{from:o}=a.selection.main,r=e.prevMatch(a,o,o);if(!r)return!1;let n=X.single(r.from,r.to),s=t.state.facet(jn);return t.dispatch({selection:n,effects:[Gp(t,r),s.scrollToMatch(n.main,t)],userEvent:"select.search"}),Wy(t),!0}),h2=pi((t,{query:e})=>{let a=e.matchAll(t.state,1e3);return!a||!a.length?!1:(t.dispatch({selection:X.create(a.map(o=>X.range(o.from,o.to))),userEvent:"select.search.matches"}),!0)}),p2=({state:t,dispatch:e})=>{let a=t.selection;if(a.ranges.length>1||a.main.empty)return!1;let{from:o,to:r}=a.main,n=[],s=0;for(let i=new Hr(t.doc,t.sliceDoc(o,r));!i.next().done;){if(n.length>1e3)return!1;i.value.from==o&&(s=n.length),n.push(X.range(i.value.from,i.value.to))}return e(t.update({selection:X.create(n,s),userEvent:"select.search.matches"})),!0},zy=pi((t,{query:e})=>{let{state:a}=t,{from:o,to:r}=a.selection.main;if(a.readOnly)return!1;let n=e.nextMatch(a,o,o);if(!n)return!1;let s=n,i=[],l,u,d=[];s.precise?s.from==o&&s.to==r&&(u=a.toText(e.getReplacement(s)),i.push({from:s.from,to:s.to,insert:u}),d.push(Z.announce.of(a.phrase("replaced match on line $",a.doc.lineAt(o).number)+"."))):s=e.nextMatch(a,s.from,s.to);let c=t.state.changes(i);return s&&(l=X.single(s.from,s.to).map(c),d.push(Gp(t,s)),d.push(a.facet(jn).scrollToMatch(l.main,t))),t.dispatch({changes:c,selection:l,effects:d,userEvent:"input.replace"}),!0}),m2=pi((t,{query:e})=>{if(t.state.readOnly)return!1;let a=[];for(let r of e.matchAll(t.state,1e9)){let{from:n,to:s,precise:i}=r;i&&a.push({from:n,to:s,insert:e.getReplacement(r)})}if(!a.length)return!1;let o=t.state.phrase("replaced $ matches",a.length)+".";return t.dispatch({changes:a,effects:Z.announce.of(o),userEvent:"input.replace.all"}),!0});function Vp(t){return t.state.facet(jn).createPanel(t)}function zp(t,e){var a,o,r,n,s;let i=t.selection.main,l=i.empty||i.to>i.from+100?"":t.sliceDoc(i.from,i.to);if(e&&!l)return e;let u=t.facet(jn);return new td({search:((a=e?.literal)!==null&&a!==void 0?a:u.literal)?l:l.replace(/\n/g,"\\n"),caseSensitive:(o=e?.caseSensitive)!==null&&o!==void 0?o:u.caseSensitive,literal:(r=e?.literal)!==null&&r!==void 0?r:u.literal,regexp:(n=e?.regexp)!==null&&n!==void 0?n:u.regexp,wholeWord:(s=e?.wholeWord)!==null&&s!==void 0?s:u.wholeWord})}function Uy(t){let e=Cu(t,Vp);return e&&e.dom.querySelector("[main-field]")}function Wy(t){let e=Uy(t);e&&e==t.root.activeElement&&e.select()}var Vy=t=>{let e=t.state.field($o,!1);if(e&&e.panel){let a=Uy(t);if(a&&a!=t.root.activeElement){let o=zp(t.state,e.query.spec);o.valid&&t.dispatch({effects:hi.of(o)}),a.focus(),a.select()}}else t.dispatch({effects:[Wp.of(!0),e?hi.of(zp(t.state,e.query.spec)):fe.appendConfig.of(x2)]});return!0},Gy=t=>{let e=t.state.field($o,!1);if(!e||!e.panel)return!1;let a=Cu(t,Vp);return a&&a.dom.contains(t.root.activeElement)&&t.focus(),t.dispatch({effects:Wp.of(!1)}),!0},$y=[{key:"Mod-f",run:Vy,scope:"editor search-panel"},{key:"F3",run:nd,shift:sd,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:nd,shift:sd,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:Gy,scope:"editor search-panel"},{key:"Mod-Shift-l",run:p2},{key:"Mod-Alt-g",run:a2},{key:"Mod-d",run:n2,preventDefault:!0}],qp=class{constructor(e){this.view=e;let a=this.query=e.state.field($o).query.spec;this.commit=this.commit.bind(this),this.searchField=ve("input",{value:a.search,placeholder:ta(e,"Find"),"aria-label":ta(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=ve("input",{value:a.replace,placeholder:ta(e,"Replace"),"aria-label":ta(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=ve("input",{type:"checkbox",name:"case",form:"",checked:a.caseSensitive,onchange:this.commit}),this.reField=ve("input",{type:"checkbox",name:"re",form:"",checked:a.regexp,onchange:this.commit}),this.wordField=ve("input",{type:"checkbox",name:"word",form:"",checked:a.wholeWord,onchange:this.commit});function o(r,n,s){return ve("button",{class:"cm-button",name:r,onclick:n,type:"button"},s)}this.dom=ve("div",{onkeydown:r=>this.keydown(r),class:"cm-search"},[this.searchField,o("next",()=>nd(e),[ta(e,"next")]),o("prev",()=>sd(e),[ta(e,"previous")]),o("select",()=>h2(e),[ta(e,"all")]),ve("label",null,[this.caseField,ta(e,"match case")]),ve("label",null,[this.reField,ta(e,"regexp")]),ve("label",null,[this.wordField,ta(e,"by word")]),...e.state.readOnly?[]:[ve("br"),this.replaceField,o("replace",()=>zy(e),[ta(e,"replace")]),o("replaceAll",()=>m2(e),[ta(e,"replace all")])],ve("button",{name:"close",onclick:()=>Gy(e),"aria-label":ta(e,"close"),type:"button"},["\xD7"])])}commit(){let e=new td({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:hi.of(e)}))}keydown(e){Xb(this.view,e,"search-panel")?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?sd:nd)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),zy(this.view))}update(e){for(let a of e.transactions)for(let o of a.effects)o.is(hi)&&!o.value.eq(this.query)&&this.setQuery(o.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(jn).top}};function ta(t,e){return t.state.phrase(e)}var ju=30,Zu=/[\s\.,:;?!]/;function Gp(t,{from:e,to:a}){let o=t.state.doc.lineAt(e),r=t.state.doc.lineAt(a).to,n=Math.max(o.from,e-ju),s=Math.min(r,a+ju),i=t.state.sliceDoc(n,s);if(n!=o.from){for(let l=0;l<ju;l++)if(!Zu.test(i[l+1])&&Zu.test(i[l])){i=i.slice(l);break}}if(s!=r){for(let l=i.length-1;l>i.length-ju;l--)if(!Zu.test(i[l-1])&&Zu.test(i[l])){i=i.slice(0,l);break}}return Z.announce.of(`${t.state.phrase("current match")}. ${i} ${t.state.phrase("on line")} ${o.number}.`)}var g2=Z.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}}),x2=[$o,Jt.low(f2),g2];var ld=class{constructor(e,a,o,r){this.state=e,this.pos=a,this.explicit=o,this.view=r,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let a=Rt(this.state).resolveInner(this.pos,-1);for(;a&&e.indexOf(a.name)<0;)a=a.parent;return a?{from:a.from,to:this.pos,text:this.state.sliceDoc(a.from,this.pos),type:a.type}:null}matchBefore(e){let a=this.state.doc.lineAt(this.pos),o=Math.max(a.from,this.pos-250),r=a.text.slice(o-a.from,this.pos-a.from),n=r.search(eL(e,!1));return n<0?null:{from:o+n,to:this.pos,text:r.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,a,o){e=="abort"&&this.abortListeners&&(this.abortListeners.push(a),o&&o.onDocChange&&(this.abortOnDocChange=!0))}};function Xy(t){let e=Object.keys(t).join(""),a=/\w/.test(e);return a&&(e=e.replace(/\w/g,"")),`[${a?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function b2(t){let e=Object.create(null),a=Object.create(null);for(let{label:r}of t){e[r[0]]=!0;for(let n=1;n<r.length;n++)a[r[n]]=!0}let o=Xy(e)+Xy(a)+"*$";return[new RegExp("^"+o),new RegExp(o)]}function w2(t){let e=t.map(r=>typeof r=="string"?{label:r}:r),[a,o]=e.every(r=>/^\w+$/.test(r.label))?[/\w*$/,/\w+$/]:b2(e);return r=>{let n=r.matchBefore(o);return n||r.explicit?{from:n?n.from:r.pos,options:e,validFor:a}:null}}var ud=class{constructor(e,a,o,r){this.completion=e,this.source=a,this.match=o,this.score=r}};function qr(t){return t.selection.main.from}function eL(t,e){var a;let{source:o}=t,r=e&&o[0]!="^",n=o[o.length-1]!="$";return!r&&!n?t:new RegExp(`${r?"^":""}(?:${o})${n?"$":""}`,(a=t.flags)!==null&&a!==void 0?a:t.ignoreCase?"i":"")}var tL=Nt.define();function y2(t,e,a,o){let{main:r}=t.selection,n=a-r.from,s=o-r.from;return{...t.changeByRange(i=>{if(i!=r&&a!=o&&t.sliceDoc(i.from+n,i.from+s)!=t.sliceDoc(a,o))return{range:i};let l=t.toText(e);return{changes:{from:i.from+n,to:o==r.from?i.to:i.from+s,insert:l},range:X.cursor(i.from+n+l.length)}}),scrollIntoView:!0,userEvent:"input.complete"}}var Ky=new WeakMap;function L2(t){if(!Array.isArray(t))return t;let e=Ky.get(t);return e||Ky.set(t,e=w2(t)),e}var dd=fe.define(),mi=fe.define(),jp=class{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[],this.score=0,this.matched=[];for(let a=0;a<e.length;){let o=_t(e,a),r=sa(o);this.chars.push(o);let n=e.slice(a,a+r),s=n.toUpperCase();this.folded.push(_t(s==n?n.toLowerCase():s,0)),a+=r}this.astral=e.length!=this.chars.length}ret(e,a){return this.score=e,this.matched=a,this}match(e){if(this.pattern.length==0)return this.ret(-100,[]);if(e.length<this.pattern.length)return null;let{chars:a,folded:o,any:r,precise:n,byWord:s}=this;if(a.length==1){let y=_t(e,0),b=sa(y),C=b==e.length?0:-100;if(y!=a[0])if(y==o[0])C+=-200;else return null;return this.ret(C,[0,b])}let i=e.indexOf(this.pattern);if(i==0)return this.ret(e.length==this.pattern.length?0:-100,[0,this.pattern.length]);let l=a.length,u=0;if(i<0){for(let y=0,b=Math.min(e.length,200);y<b&&u<l;){let C=_t(e,y);(C==a[u]||C==o[u])&&(r[u++]=y),y+=sa(C)}if(u<l)return null}let d=0,c=0,f=!1,h=0,p=-1,m=-1,g=/[a-z]/.test(e),x=!0;for(let y=0,b=Math.min(e.length,200),C=0;y<b&&c<l;){let I=_t(e,y);i<0&&(d<l&&I==a[d]&&(n[d++]=y),h<l&&(I==a[h]||I==o[h]?(h==0&&(p=y),m=y+1,h++):h=0));let v,L=I<255?I>=48&&I<=57||I>=97&&I<=122?2:I>=65&&I<=90?1:0:(v=Fs(I))!=v.toLowerCase()?1:v!=v.toUpperCase()?2:0;(!y||L==1&&g||C==0&&L!=0)&&(a[c]==I||o[c]==I&&(f=!0)?s[c++]=y:s.length&&(x=!1)),C=L,y+=sa(I)}return c==l&&s[0]==0&&x?this.result(-100+(f?-200:0),s,e):h==l&&p==0?this.ret(-200-e.length+(m==e.length?0:-100),[0,m]):i>-1?this.ret(-700-e.length,[i,i+this.pattern.length]):h==l?this.ret(-900-e.length,[p,m]):c==l?this.result(-100+(f?-200:0)+-700+(x?0:-1100),s,e):a.length==2?null:this.result((r[0]?-700:0)+-200+-1100,r,e)}result(e,a,o){let r=[],n=0;for(let s of a){let i=s+(this.astral?sa(_t(o,s)):1);n&&r[n-1]==s?r[n-1]=i:(r[n++]=s,r[n++]=i)}return this.ret(e-o.length,r)}},Zp=class{constructor(e){this.pattern=e,this.matched=[],this.score=0,this.folded=e.toLowerCase()}match(e){if(e.length<this.pattern.length)return null;let a=e.slice(0,this.pattern.length),o=a==this.pattern?0:a.toLowerCase()==this.folded?-200:null;return o==null?null:(this.matched=[0,a.length],this.score=o+(e.length==this.pattern.length?0:-100),this)}},dt=Y.define({combine(t){return Ht(t,{activateOnTyping:!0,activateOnCompletion:()=>!1,activateOnTypingDelay:100,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:C2,filterStrict:!1,compareCompletions:(e,a)=>(e.sortText||e.label).localeCompare(a.sortText||a.label),interactionDelay:75,updateSyncTime:100},{defaultKeymap:(e,a)=>e&&a,closeOnBlur:(e,a)=>e&&a,icons:(e,a)=>e&&a,tooltipClass:(e,a)=>o=>jy(e(o),a(o)),optionClass:(e,a)=>o=>jy(e(o),a(o)),addToOptions:(e,a)=>e.concat(a),filterStrict:(e,a)=>e||a})}});function jy(t,e){return t?e?t+" "+e:t:e}function C2(t,e,a,o,r,n){let s=t.textDirection==ke.RTL,i=s,l=!1,u="top",d,c,f=e.left-r.left,h=r.right-e.right,p=o.right-o.left,m=o.bottom-o.top;if(i&&f<Math.min(p,h)?i=!1:!i&&h<Math.min(p,f)&&(i=!0),p<=(i?f:h))d=Math.max(r.top,Math.min(a.top,r.bottom-m))-e.top,c=Math.min(400,i?f:h);else{l=!0,c=Math.min(400,(s?e.right:r.right-e.left)-30);let y=r.bottom-e.bottom;y>=m||y>e.top?d=a.bottom-e.top:(u="bottom",d=e.bottom-a.top)}let g=(e.bottom-e.top)/n.offsetHeight,x=(e.right-e.left)/n.offsetWidth;return{style:`${u}: ${d/g}px; max-width: ${c/x}px`,class:"cm-completionInfo-"+(l?s?"left-narrow":"right-narrow":i?"left":"right")}}var tm=fe.define();function v2(t){let e=t.addToOptions.slice();return t.icons&&e.push({render(a){let o=document.createElement("div");return o.classList.add("cm-completionIcon"),a.type&&o.classList.add(...a.type.split(/\s+/g).map(r=>"cm-completionIcon-"+r)),o.setAttribute("aria-hidden","true"),o},position:20}),e.push({render(a,o,r,n){let s=document.createElement("span");s.className="cm-completionLabel";let i=a.displayLabel||a.label,l=0;for(let u=0;u<n.length;){let d=n[u++],c=n[u++];d>l&&s.appendChild(document.createTextNode(i.slice(l,d)));let f=s.appendChild(document.createElement("span"));f.appendChild(document.createTextNode(i.slice(d,c))),f.className="cm-completionMatchedText",l=c}return l<i.length&&s.appendChild(document.createTextNode(i.slice(l))),s},position:50},{render(a){if(!a.detail)return null;let o=document.createElement("span");return o.className="cm-completionDetail",o.textContent=a.detail,o},position:80}),e.sort((a,o)=>a.position-o.position).map(a=>a.render)}function $p(t,e,a){if(t<=a)return{from:0,to:t};if(e<0&&(e=0),e<=t>>1){let r=Math.floor(e/a);return{from:r*a,to:(r+1)*a}}let o=Math.ceil((t-e)/a);return{from:t-o*a,to:t-(o-1)*a}}var Yp=class{constructor(e,a,o){this.view=e,this.stateField=a,this.applyCompletion=o,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:l=>this.placeInfo(l),key:this},this.space=null,this.currentClass="";let r=e.state.field(a),{options:n,selected:s}=r.open,i=e.state.facet(dt);this.optionContent=v2(i),this.optionClass=i.optionClass,this.tooltipClass=i.tooltipClass,this.range=$p(n.length,s,i.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",l=>{let{options:u}=e.state.field(a).open;for(let d=l.target,c;d&&d!=this.dom;d=d.parentNode)if(d.nodeName=="LI"&&(c=/-(\d+)$/.exec(d.id))&&+c[1]<u.length){this.applyCompletion(e,u[+c[1]]),l.preventDefault();return}if(l.target==this.list){let d=this.list.classList.contains("cm-completionListIncompleteTop")&&l.clientY<this.list.firstChild.getBoundingClientRect().top?this.range.from-1:this.list.classList.contains("cm-completionListIncompleteBottom")&&l.clientY>this.list.lastChild.getBoundingClientRect().bottom?this.range.to:null;d!=null&&(e.dispatch({effects:tm.of(d)}),l.preventDefault())}}),this.dom.addEventListener("focusout",l=>{let u=e.state.field(this.stateField,!1);u&&u.tooltip&&e.state.facet(dt).closeOnBlur&&l.relatedTarget!=e.contentDOM&&e.dispatch({effects:mi.of(null)})}),this.showOptions(n,r.id)}mount(){this.updateSel()}showOptions(e,a){this.list&&this.list.remove(),this.list=this.dom.appendChild(this.createListBox(e,a,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}update(e){var a;let o=e.state.field(this.stateField),r=e.startState.field(this.stateField);if(this.updateTooltipClass(e.state),o!=r){let{options:n,selected:s,disabled:i}=o.open;(!r.open||r.open.options!=n)&&(this.range=$p(n.length,s,e.state.facet(dt).maxRenderedOptions),this.showOptions(n,o.id)),this.updateSel(),i!=((a=r.open)===null||a===void 0?void 0:a.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!i)}}updateTooltipClass(e){let a=this.tooltipClass(e);if(a!=this.currentClass){for(let o of this.currentClass.split(" "))o&&this.dom.classList.remove(o);for(let o of a.split(" "))o&&this.dom.classList.add(o);this.currentClass=a}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfoReq)}updateSel(){let e=this.view.state.field(this.stateField),a=e.open;(a.selected>-1&&a.selected<this.range.from||a.selected>=this.range.to)&&(this.range=$p(a.options.length,a.selected,this.view.state.facet(dt).maxRenderedOptions),this.showOptions(a.options,e.id));let o=this.updateSelectedOption(a.selected);if(o){this.destroyInfo();let{completion:r}=a.options[a.selected],{info:n}=r;if(!n)return;let s=typeof n=="string"?document.createTextNode(n):n(r);if(!s)return;"then"in s?s.then(i=>{i&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(i,r)}).catch(i=>mt(this.view.state,i,"completion info")):(this.addInfoPane(s,r),o.setAttribute("aria-describedby",this.info.id))}}addInfoPane(e,a){this.destroyInfo();let o=this.info=document.createElement("div");if(o.className="cm-tooltip cm-completionInfo",o.id="cm-completionInfo-"+Math.floor(Math.random()*65535).toString(16),e.nodeType!=null)o.appendChild(e),this.infoDestroy=null;else{let{dom:r,destroy:n}=e;o.appendChild(r),this.infoDestroy=n||null}this.dom.appendChild(o),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let a=null;for(let o=this.list.firstChild,r=this.range.from;o;o=o.nextSibling,r++)o.nodeName!="LI"||!o.id?r--:r==e?o.hasAttribute("aria-selected")||(o.setAttribute("aria-selected","true"),a=o):o.hasAttribute("aria-selected")&&(o.removeAttribute("aria-selected"),o.removeAttribute("aria-describedby"));return a&&I2(this.list,a),a}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let a=this.dom.getBoundingClientRect(),o=this.info.getBoundingClientRect(),r=e.getBoundingClientRect(),n=this.space;if(!n){let s=this.dom.ownerDocument.documentElement;n={left:0,top:0,right:s.clientWidth,bottom:s.clientHeight}}return r.top>Math.min(n.bottom,a.bottom)-10||r.bottom<Math.max(n.top,a.top)+10?null:this.view.state.facet(dt).positionInfo(this.view,a,r,o,n,this.dom)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,a,o){let r=document.createElement("ul");r.id=a,r.setAttribute("role","listbox"),r.setAttribute("aria-expanded","true"),r.setAttribute("aria-label",this.view.state.phrase("Completions")),r.addEventListener("mousedown",s=>{s.target==r&&s.preventDefault()});let n=null;for(let s=o.from;s<o.to;s++){let{completion:i,match:l}=e[s],{section:u}=i;if(u){let f=typeof u=="string"?u:u.name;if(f!=n&&(s>o.from||o.from==0))if(n=f,typeof u!="string"&&u.header)r.appendChild(u.header(u));else{let h=r.appendChild(document.createElement("completion-section"));h.textContent=f}}let d=r.appendChild(document.createElement("li"));d.id=a+"-"+s,d.setAttribute("role","option");let c=this.optionClass(i);c&&(d.className=c);for(let f of this.optionContent){let h=f(i,this.view.state,this.view,l);h&&d.appendChild(h)}}return o.from&&r.classList.add("cm-completionListIncompleteTop"),o.to<e.length&&r.classList.add("cm-completionListIncompleteBottom"),r}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}};function S2(t,e){return a=>new Yp(a,t,e)}function I2(t,e){let a=t.getBoundingClientRect(),o=e.getBoundingClientRect(),r=a.height/t.offsetHeight;o.top<a.top?t.scrollTop-=(a.top-o.top)/r:o.bottom>a.bottom&&(t.scrollTop+=(o.bottom-a.bottom)/r)}function Zy(t){return(t.boost||0)*100+(t.apply?10:0)+(t.info?5:0)+(t.type?1:0)}function k2(t,e){let a=[],o=null,r=null,n=d=>{a.push(d);let{section:c}=d.completion;if(c){o||(o=[]);let f=typeof c=="string"?c:c.name;o.some(h=>h.name==f)||o.push(typeof c=="string"?{name:f}:c)}},s=e.facet(dt);for(let d of t)if(d.hasResult()){let c=d.result.getMatch;if(d.result.filter===!1)for(let f of d.result.options)n(new ud(f,d.source,c?c(f):[],1e9-a.length));else{let f=e.sliceDoc(d.from,d.to),h,p=s.filterStrict?new Zp(f):new jp(f);for(let m of d.result.options)if(h=p.match(m.label)){let g=m.displayLabel?c?c(m,h.matched):[]:h.matched,x=h.score+(m.boost||0);if(n(new ud(m,d.source,g,x)),typeof m.section=="object"&&m.section.rank==="dynamic"){let{name:y}=m.section;r||(r=Object.create(null)),r[y]=Math.max(x,r[y]||-1e9)}}}}if(o){let d=Object.create(null),c=0,f=(h,p)=>(h.rank==="dynamic"&&p.rank==="dynamic"?r[p.name]-r[h.name]:0)||(typeof h.rank=="number"?h.rank:1e9)-(typeof p.rank=="number"?p.rank:1e9)||(h.name<p.name?-1:1);for(let h of o.sort(f))c-=1e5,d[h.name]=c;for(let h of a){let{section:p}=h.completion;p&&(h.score+=d[typeof p=="string"?p:p.name])}}let i=[],l=null,u=s.compareCompletions;for(let d of a.sort((c,f)=>f.score-c.score||u(c.completion,f.completion))){let c=d.completion;!l||l.label!=c.label||l.detail!=c.detail||l.type!=null&&c.type!=null&&l.type!=c.type||l.apply!=c.apply||l.boost!=c.boost?i.push(d):Zy(d.completion)>Zy(l)&&(i[i.length-1]=d),l=d.completion}return i}var Jp=class t{constructor(e,a,o,r,n,s){this.options=e,this.attrs=a,this.tooltip=o,this.timestamp=r,this.selected=n,this.disabled=s}setSelected(e,a){return e==this.selected||e>=this.options.length?this:new t(this.options,Yy(a,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,a,o,r,n,s){if(r&&!s&&e.some(u=>u.isPending))return r.setDisabled();let i=k2(e,a);if(!i.length)return r&&e.some(u=>u.isPending)?r.setDisabled():null;let l=a.facet(dt).selectOnOpen?0:-1;if(r&&r.selected!=l&&r.selected!=-1){let u=r.options[r.selected].completion;for(let d=0;d<i.length;d++)if(i[d].completion==u){l=d;break}}return new t(i,Yy(o,l),{pos:e.reduce((u,d)=>d.hasResult()?Math.min(u,d.from):u,1e8),create:T2,above:n.aboveCursor},r?r.timestamp:Date.now(),l,!1)}map(e){return new t(this.options,this.attrs,{...this.tooltip,pos:e.mapPos(this.tooltip.pos)},this.timestamp,this.selected,this.disabled)}setDisabled(){return new t(this.options,this.attrs,this.tooltip,this.timestamp,this.selected,!0)}},Qp=class t{constructor(e,a,o){this.active=e,this.id=a,this.open=o}static start(){return new t(D2,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null)}update(e){let{state:a}=e,o=a.facet(dt),n=(o.override||a.languageDataAt("autocomplete",qr(a)).map(L2)).map(l=>(this.active.find(d=>d.source==l)||new wo(l,this.active.some(d=>d.state!=0)?1:0)).update(e,o));n.length==this.active.length&&n.every((l,u)=>l==this.active[u])&&(n=this.active);let s=this.open,i=e.effects.some(l=>l.is(am));s&&e.docChanged&&(s=s.map(e.changes)),e.selection||n.some(l=>l.hasResult()&&e.changes.touchesRange(l.from,l.to))||!A2(n,this.active)||i?s=Jp.build(n,a,this.id,s,o,i):s&&s.disabled&&!n.some(l=>l.isPending)&&(s=null),!s&&n.every(l=>!l.isPending)&&n.some(l=>l.hasResult())&&(n=n.map(l=>l.hasResult()?new wo(l.source,0):l));for(let l of e.effects)l.is(tm)&&(s=s&&s.setSelected(l.value,this.id));return n==this.active&&s==this.open?this:new t(n,this.id,s)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:this.active.length?M2:P2}};function A2(t,e){if(t==e)return!0;for(let a=0,o=0;;){for(;a<t.length&&!t[a].hasResult();)a++;for(;o<e.length&&!e[o].hasResult();)o++;let r=a==t.length,n=o==e.length;if(r||n)return r==n;if(t[a++].result!=e[o++].result)return!1}}var M2={"aria-autocomplete":"list"},P2={};function Yy(t,e){let a={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":t};return e>-1&&(a["aria-activedescendant"]=t+"-"+e),a}var D2=[];function aL(t,e){if(t.isUserEvent("input.complete")){let o=t.annotation(tL);if(o&&e.activateOnCompletion(o))return 12}let a=t.isUserEvent("input.type");return a&&e.activateOnTyping?5:a?1:t.isUserEvent("delete.backward")?2:t.selection?8:t.docChanged?16:0}var wo=class t{constructor(e,a,o=!1){this.source=e,this.state=a,this.explicit=o}hasResult(){return!1}get isPending(){return this.state==1}update(e,a){let o=aL(e,a),r=this;(o&8||o&16&&this.touches(e))&&(r=new t(r.source,0)),o&4&&r.state==0&&(r=new t(this.source,1)),r=r.updateFor(e,o);for(let n of e.effects)if(n.is(dd))r=new t(r.source,1,n.value);else if(n.is(mi))r=new t(r.source,0);else if(n.is(am))for(let s of n.value)s.source==r.source&&(r=s);return r}updateFor(e,a){return this.map(e.changes)}map(e){return this}touches(e){return e.changes.touchesRange(qr(e.state))}},cd=class t extends wo{constructor(e,a,o,r,n,s){super(e,3,a),this.limit=o,this.result=r,this.from=n,this.to=s}hasResult(){return!0}updateFor(e,a){var o;if(!(a&3))return this.map(e.changes);let r=this.result;r.map&&!e.changes.empty&&(r=r.map(r,e.changes));let n=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),i=qr(e.state);if(i>s||!r||a&2&&(qr(e.startState)==this.from||i<this.limit))return new wo(this.source,a&4?1:0);let l=e.changes.mapPos(this.limit);return R2(r.validFor,e.state,n,s)?new t(this.source,this.explicit,l,r,n,s):r.update&&(r=r.update(r,n,s,new ld(e.state,i,!1)))?new t(this.source,this.explicit,l,r,r.from,(o=r.to)!==null&&o!==void 0?o:qr(e.state)):new wo(this.source,1,this.explicit)}map(e){if(e.empty)return this;let a=this.result.map?this.result.map(this.result,e):this.result;return a?new t(this.source,this.explicit,e.mapPos(this.limit),a,e.mapPos(this.from),e.mapPos(this.to,1)):new wo(this.source,0)}touches(e){return e.changes.touchesRange(this.from,this.to)}};function R2(t,e,a,o){if(!t)return!1;let r=e.sliceDoc(a,o);return typeof t=="function"?t(r,a,o,e):eL(t,!0).test(r)}var am=fe.define({map(t,e){return t.map(a=>a.map(e))}}),Ut=$e.define({create(){return Qp.start()},update(t,e){return t.update(e)},provide:t=>[qn.from(t,e=>e.tooltip),Z.contentAttributes.from(t,e=>e.attrs)]});function om(t,e){let a=e.completion.apply||e.completion.label,o=t.state.field(Ut).active.find(r=>r.source==e.source);return o instanceof cd?(typeof a=="string"?t.dispatch({...y2(t.state,a,o.from,o.to),annotations:tL.of(e.completion)}):a(t,e.completion,o.from,o.to),!0):!1}var T2=S2(Ut,om);function id(t,e="option"){return a=>{let o=a.state.field(Ut,!1);if(!o||!o.open||o.open.disabled||Date.now()-o.open.timestamp<a.state.facet(dt).interactionDelay)return!1;let r=1,n;e=="page"&&(n=Qh(a,o.open.tooltip))&&(r=Math.max(2,Math.floor(n.dom.offsetHeight/n.dom.querySelector("li").offsetHeight)-1));let{length:s}=o.open.options,i=o.open.selected>-1?o.open.selected+r*(t?1:-1):t?0:s-1;return i<0?i=e=="page"?0:s-1:i>=s&&(i=e=="page"?s-1:0),a.dispatch({effects:tm.of(i)}),!0}}var E2=t=>{let e=t.state.field(Ut,!1);return t.state.readOnly||!e||!e.open||e.open.selected<0||e.open.disabled||Date.now()-e.open.timestamp<t.state.facet(dt).interactionDelay?!1:om(t,e.open.options[e.open.selected])},Xp=t=>t.state.field(Ut,!1)?(t.dispatch({effects:dd.of(!0)}),!0):!1,B2=t=>{let e=t.state.field(Ut,!1);return!e||!e.active.some(a=>a.state!=0)?!1:(t.dispatch({effects:mi.of(null)}),!0)},em=class{constructor(e,a){this.active=e,this.context=a,this.time=Date.now(),this.updates=[],this.done=void 0}},F2=50,O2=1e3,N2=Qe.fromClass(class{constructor(t){this.view=t,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.pendingStart=!1,this.composing=0;for(let e of t.state.field(Ut).active)e.isPending&&this.startQuery(e)}update(t){let e=t.state.field(Ut),a=t.state.facet(dt);if(!t.selectionSet&&!t.docChanged&&t.startState.field(Ut)==e)return;let o=t.transactions.some(n=>{let s=aL(n,a);return s&8||(n.selection||n.docChanged)&&!(s&3)});for(let n=0;n<this.running.length;n++){let s=this.running[n];if(o||s.context.abortOnDocChange&&t.docChanged||s.updates.length+t.transactions.length>F2&&Date.now()-s.time>O2){for(let i of s.context.abortListeners)try{i()}catch(l){mt(this.view.state,l)}s.context.abortListeners=null,this.running.splice(n--,1)}else s.updates.push(...t.transactions)}this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),t.transactions.some(n=>n.effects.some(s=>s.is(dd)))&&(this.pendingStart=!0);let r=this.pendingStart?50:a.activateOnTypingDelay;if(this.debounceUpdate=e.active.some(n=>n.isPending&&!this.running.some(s=>s.active.source==n.source))?setTimeout(()=>this.startUpdate(),r):-1,this.composing!=0)for(let n of t.transactions)n.isUserEvent("input.type")?this.composing=2:this.composing==2&&n.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1,this.pendingStart=!1;let{state:t}=this.view,e=t.field(Ut);for(let a of e.active)a.isPending&&!this.running.some(o=>o.active.source==a.source)&&this.startQuery(a);this.running.length&&e.open&&e.open.disabled&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(dt).updateSyncTime))}startQuery(t){let{state:e}=this.view,a=qr(e),o=new ld(e,a,t.explicit,this.view),r=new em(t,o);this.running.push(r),Promise.resolve(t.source(o)).then(n=>{r.context.aborted||(r.done=n||null,this.scheduleAccept())},n=>{this.view.dispatch({effects:mi.of(null)}),mt(this.view.state,n)})}scheduleAccept(){this.running.every(t=>t.done!==void 0)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),this.view.state.facet(dt).updateSyncTime))}accept(){var t;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let e=[],a=this.view.state.facet(dt),o=this.view.state.field(Ut);for(let r=0;r<this.running.length;r++){let n=this.running[r];if(n.done===void 0)continue;if(this.running.splice(r--,1),n.done){let i=qr(n.updates.length?n.updates[0].startState:this.view.state),l=Math.min(i,n.done.from+(n.active.explicit?0:1)),u=new cd(n.active.source,n.active.explicit,l,n.done,n.done.from,(t=n.done.to)!==null&&t!==void 0?t:i);for(let d of n.updates)u=u.update(d,a);if(u.hasResult()){e.push(u);continue}}let s=o.active.find(i=>i.source==n.active.source);if(s&&s.isPending)if(n.done==null){let i=new wo(n.active.source,0);for(let l of n.updates)i=i.update(l,a);i.isPending||e.push(i)}else this.startQuery(s)}(e.length||o.open&&o.open.disabled)&&this.view.dispatch({effects:am.of(e)})}},{eventHandlers:{blur(t){let e=this.view.state.field(Ut,!1);if(e&&e.tooltip&&this.view.state.facet(dt).closeOnBlur){let a=e.open&&Qh(this.view,e.open.tooltip);(!a||!a.dom.contains(t.relatedTarget))&&setTimeout(()=>this.view.dispatch({effects:mi.of(null)}),10)}},compositionstart(){this.composing=1},compositionend(){this.composing==3&&setTimeout(()=>this.view.dispatch({effects:dd.of(!1)}),20),this.composing=0}}}),_2=typeof navigator=="object"&&/Win/.test(navigator.platform),H2=Jt.highest(Z.domEventHandlers({keydown(t,e){let a=e.state.field(Ut,!1);if(!a||!a.open||a.open.disabled||a.open.selected<0||t.key.length>1||t.ctrlKey&&!(_2&&t.altKey)||t.metaKey)return!1;let o=a.open.options[a.open.selected],r=a.active.find(s=>s.source==o.source),n=o.completion.commitCharacters||r.result.commitCharacters;return n&&n.indexOf(t.key)>-1&&om(e,o),!1}})),z2=Z.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\u{1D465}'"}},".cm-completionIcon-constant":{"&:after":{content:"'\u{1D436}'"}},".cm-completionIcon-type":{"&:after":{content:"'\u{1D461}'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\u{1F511}\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var fd={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},zr=fe.define({map(t,e){let a=e.mapPos(t,-1,pt.TrackAfter);return a??void 0}}),rm=new class extends na{};rm.startSide=1;rm.endSide=-1;var oL=$e.define({create(){return Le.empty},update(t,e){if(t=t.map(e.changes),e.selection){let a=e.state.doc.lineAt(e.selection.main.head);t=t.update({filter:o=>o>=a.from&&o<=a.to})}for(let a of e.effects)a.is(zr)&&(t=t.update({add:[rm.range(a.value,a.value+1)]}));return t}});function rL(){return[V2,oL]}var Kp="()[]{}<>\xAB\xBB\xBB\xAB\uFF3B\uFF3D\uFF5B\uFF5D";function q2(t){for(let e=0;e<Kp.length;e+=2)if(Kp.charCodeAt(e)==t)return Kp.charAt(e+1);return Fs(t<128?t:t+1)}function U2(t,e){return t.languageDataAt("closeBrackets",e)[0]||fd}var W2=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),V2=Z.inputHandler.of((t,e,a,o)=>{if((W2?t.composing:t.compositionStarted)||t.state.readOnly)return!1;let r=t.state.selection.main;if(o.length>2||o.length==2&&sa(_t(o,0))==1||e!=r.from||a!=r.to)return!1;let n=G2(t.state,o);return n?(t.dispatch(n),!0):!1});function G2(t,e){let a=U2(t,t.selection.main.head),o=a.brackets||fd.brackets;for(let r of o){let n=q2(_t(r,0));if(e==r)return n==r?K2(t,r,o.indexOf(r+r+r)>-1,a):$2(t,r,n,a.before||fd.before);if(e==n&&nL(t,t.selection.main.from))return X2(t,r,n)}return null}function nL(t,e){let a=!1;return t.field(oL).between(0,t.doc.length,o=>{o==e&&(a=!0)}),a}function nm(t,e){let a=t.sliceString(e,e+2);return a.slice(0,sa(_t(a,0)))}function $2(t,e,a,o){let r=null,n=t.changeByRange(s=>{if(!s.empty)return{changes:[{insert:e,from:s.from},{insert:a,from:s.to}],effects:zr.of(s.to+e.length),range:X.range(s.anchor+e.length,s.head+e.length)};let i=nm(t.doc,s.head);return!i||/\s/.test(i)||o.indexOf(i)>-1?{changes:{insert:e+a,from:s.head},effects:zr.of(s.head+e.length),range:X.cursor(s.head+e.length)}:{range:r=s}});return r?null:t.update(n,{scrollIntoView:!0,userEvent:"input.type"})}function X2(t,e,a){let o=null,r=t.changeByRange(n=>n.empty&&nm(t.doc,n.head)==a?{changes:{from:n.head,to:n.head+a.length,insert:a},range:X.cursor(n.head+a.length)}:o={range:n});return o?null:t.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function K2(t,e,a,o){let r=o.stringPrefixes||fd.stringPrefixes,n=null,s=t.changeByRange(i=>{if(!i.empty)return{changes:[{insert:e,from:i.from},{insert:e,from:i.to}],effects:zr.of(i.to+e.length),range:X.range(i.anchor+e.length,i.head+e.length)};let l=i.head,u=nm(t.doc,l),d;if(u==e){if(Jy(t,l))return{changes:{insert:e+e,from:l},effects:zr.of(l+e.length),range:X.cursor(l+e.length)};if(nL(t,l)){let f=a&&t.sliceDoc(l,l+e.length*3)==e+e+e?e+e+e:e;return{changes:{from:l,to:l+f.length,insert:f},range:X.cursor(l+f.length)}}}else{if(a&&t.sliceDoc(l-2*e.length,l)==e+e&&(d=Qy(t,l-2*e.length,r))>-1&&Jy(t,d))return{changes:{insert:e+e+e+e,from:l},effects:zr.of(l+e.length),range:X.cursor(l+e.length)};if(t.charCategorizer(l)(u)!=He.Word&&Qy(t,l,r)>-1&&!j2(t,l,e,r))return{changes:{insert:e+e,from:l},effects:zr.of(l+e.length),range:X.cursor(l+e.length)}}return{range:n=i}});return n?null:t.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function Jy(t,e){let a=Rt(t).resolveInner(e+1);return a.parent&&a.from==e}function j2(t,e,a,o){let r=Rt(t).resolveInner(e,-1),n=o.reduce((s,i)=>Math.max(s,i.length),0);for(let s=0;s<5;s++){let i=t.sliceDoc(r.from,Math.min(r.to,r.from+a.length+n)),l=i.indexOf(a);if(!l||l>-1&&o.indexOf(i.slice(0,l))>-1){let d=r.firstChild;for(;d&&d.from==r.from&&d.to-d.from>a.length+l;){if(t.sliceDoc(d.to-a.length,d.to)==a)return!1;d=d.firstChild}return!0}let u=r.to==e&&r.parent;if(!u)break;r=u}return!1}function Qy(t,e,a){let o=t.charCategorizer(e);if(o(t.sliceDoc(e-1,e))!=He.Word)return e;for(let r of a){let n=e-r.length;if(t.sliceDoc(n,e)==r&&o(t.sliceDoc(n-1,n))!=He.Word)return n}return-1}function sL(t={}){return[H2,Ut,dt.of(t),N2,Z2,z2]}var sm=[{key:"Ctrl-Space",run:Xp},{mac:"Alt-`",run:Xp},{mac:"Alt-i",run:Xp},{key:"Escape",run:B2},{key:"ArrowDown",run:id(!0)},{key:"ArrowUp",run:id(!1)},{key:"PageDown",run:id(!0,"page")},{key:"PageUp",run:id(!1,"page")},{key:"Enter",run:E2}],Z2=Jt.highest(Rr.computeN([dt],t=>t.facet(dt).defaultKeymap?[sm]:[]));var Y2=({variant:t,settings:e,styles:a})=>{let o=Z.theme({"&":{backgroundColor:e.background,color:e.foreground},".cm-content":{caretColor:e.caret},".cm-cursor, .cm-dropCursor":{borderLeftColor:e.caret},"&.cm-focused .cm-selectionBackgroundm .cm-selectionBackground, .cm-content ::selection":{backgroundColor:e.selection},".cm-activeLine":{backgroundColor:e.lineHighlight},".cm-gutters":{backgroundColor:e.gutterBackground,color:e.gutterForeground},".cm-activeLineGutter":{backgroundColor:e.lineHighlight}},{dark:t==="dark"}),r=Vo.define(a);return[o,Vn(r)]},Ce=Y2;var iL=Ce({variant:"dark",settings:{background:"#200020",foreground:"#D0D0FF",caret:"#7070FF",selection:"#80000080",gutterBackground:"#200020",gutterForeground:"#C080C0",lineHighlight:"#80000040"},styles:[{tag:w.comment,color:"#404080"},{tag:[w.string,w.regexp],color:"#999999"},{tag:w.number,color:"#7090B0"},{tag:[w.bool,w.null],color:"#8080A0"},{tag:[w.punctuation,w.derefOperator],color:"#805080"},{tag:w.keyword,color:"#60B0FF"},{tag:w.definitionKeyword,color:"#B0FFF0"},{tag:w.moduleKeyword,color:"#60B0FF"},{tag:w.operator,color:"#A0A0FF"},{tag:[w.variableName,w.self],color:"#008080"},{tag:w.operatorKeyword,color:"#A0A0FF"},{tag:w.controlKeyword,color:"#80A0FF"},{tag:w.className,color:"#70E080"},{tag:[w.function(w.propertyName),w.propertyName],color:"#50A0A0"},{tag:w.tagName,color:"#009090"},{tag:w.modifier,color:"#B0FFF0"},{tag:[w.squareBracket,w.attributeName],color:"#D0D0FF"}]});var lL=Ce({variant:"light",settings:{background:"#fcfcfc",foreground:"#5c6166",caret:"#ffaa33",selection:"#036dd626",gutterBackground:"#fcfcfc",gutterForeground:"#8a919966",lineHighlight:"#8a91991a"},styles:[{tag:w.comment,color:"#787b8099"},{tag:w.string,color:"#86b300"},{tag:w.regexp,color:"#4cbf99"},{tag:[w.number,w.bool,w.null],color:"#ffaa33"},{tag:w.variableName,color:"#5c6166"},{tag:[w.definitionKeyword,w.modifier],color:"#fa8d3e"},{tag:[w.keyword,w.special(w.brace)],color:"#fa8d3e"},{tag:w.operator,color:"#ed9366"},{tag:w.separator,color:"#5c6166b3"},{tag:w.punctuation,color:"#5c6166"},{tag:[w.definition(w.propertyName),w.function(w.variableName)],color:"#f2ae49"},{tag:[w.className,w.definition(w.typeName)],color:"#22a4e6"},{tag:[w.tagName,w.typeName,w.self,w.labelName],color:"#55b4d4"},{tag:w.angleBracket,color:"#55b4d480"},{tag:w.attributeName,color:"#f2ae49"}]});var uL=Ce({variant:"dark",settings:{background:"#15191EFA",foreground:"#EEF2F7",caret:"#C4C4C4",selection:"#90B2D557",gutterBackground:"#15191EFA",gutterForeground:"#aaaaaa95",lineHighlight:"#57575712"},styles:[{tag:w.comment,color:"#6E6E6E"},{tag:[w.string,w.regexp,w.special(w.brace)],color:"#5C81B3"},{tag:w.number,color:"#C1E1B8"},{tag:w.bool,color:"#53667D"},{tag:[w.definitionKeyword,w.modifier,w.function(w.propertyName)],color:"#A3D295",fontWeight:"bold"},{tag:[w.keyword,w.moduleKeyword,w.operatorKeyword,w.operator],color:"#697A8E",fontWeight:"bold"},{tag:[w.variableName,w.attributeName],color:"#708E67"},{tag:[w.function(w.variableName),w.definition(w.propertyName),w.derefOperator],color:"#fff"},{tag:w.tagName,color:"#A3D295"}]});var dL=Ce({variant:"dark",settings:{background:"#2e241d",foreground:"#BAAE9E",caret:"#A7A7A7",selection:"#DDF0FF33",gutterBackground:"#28211C",gutterForeground:"#BAAE9E90",lineHighlight:"#FFFFFF08"},styles:[{tag:w.comment,color:"#666666"},{tag:[w.string,w.special(w.brace)],color:"#54BE0D"},{tag:w.regexp,color:"#E9C062"},{tag:w.number,color:"#CF6A4C"},{tag:[w.keyword,w.operator],color:"#5EA6EA"},{tag:w.variableName,color:"#7587A6"},{tag:[w.definitionKeyword,w.modifier],color:"#F9EE98"},{tag:[w.propertyName,w.function(w.variableName)],color:"#937121"},{tag:[w.typeName,w.angleBracket,w.tagName],color:"#9B859D"}]});var cL=Ce({variant:"dark",settings:{background:"#3b2627",foreground:"#E6E1C4",caret:"#E6E1C4",selection:"#16120E",gutterBackground:"#3b2627",gutterForeground:"#E6E1C490",lineHighlight:"#1F1611"},styles:[{tag:w.comment,color:"#6B4E32"},{tag:[w.keyword,w.operator,w.derefOperator],color:"#EF5D32"},{tag:w.className,color:"#EFAC32",fontWeight:"bold"},{tag:[w.typeName,w.propertyName,w.function(w.variableName),w.definition(w.variableName)],color:"#EFAC32"},{tag:w.definition(w.typeName),color:"#EFAC32",fontWeight:"bold"},{tag:w.labelName,color:"#EFAC32",fontWeight:"bold"},{tag:[w.number,w.bool],color:"#6C99BB"},{tag:[w.variableName,w.self],color:"#7DAF9C"},{tag:[w.string,w.special(w.brace),w.regexp],color:"#D9D762"},{tag:[w.angleBracket,w.tagName,w.attributeName],color:"#EFCB43"}]});var fL=Ce({variant:"dark",settings:{background:"#000205",foreground:"#FFFFFF",caret:"#E60065",selection:"#E60C6559",gutterBackground:"#000205",gutterForeground:"#ffffff90",lineHighlight:"#4DD7FC1A"},styles:[{tag:w.comment,color:"#404040"},{tag:[w.string,w.special(w.brace),w.regexp],color:"#00D8FF"},{tag:w.number,color:"#E62286"},{tag:[w.variableName,w.attributeName,w.self],color:"#E62286",fontWeight:"bold"},{tag:w.function(w.variableName),color:"#fff",fontWeight:"bold"}]});var hL=Ce({variant:"light",settings:{background:"#fff",foreground:"#000",caret:"#000",selection:"#BDD5FC",gutterBackground:"#fff",gutterForeground:"#00000070",lineHighlight:"#FFFBD1"},styles:[{tag:w.comment,color:"#BCC8BA"},{tag:[w.string,w.special(w.brace),w.regexp],color:"#5D90CD"},{tag:[w.number,w.bool,w.null],color:"#46A609"},{tag:w.keyword,color:"#AF956F"},{tag:[w.definitionKeyword,w.modifier],color:"#C52727"},{tag:[w.angleBracket,w.tagName,w.attributeName],color:"#606060"},{tag:w.self,color:"#000"}]});var pL=Ce({variant:"dark",settings:{background:"#00254b",foreground:"#FFFFFF",caret:"#FFFFFF",selection:"#B36539BF",gutterBackground:"#00254b",gutterForeground:"#FFFFFF70",lineHighlight:"#00000059"},styles:[{tag:w.comment,color:"#0088FF"},{tag:w.string,color:"#3AD900"},{tag:w.regexp,color:"#80FFC2"},{tag:[w.number,w.bool,w.null],color:"#FF628C"},{tag:[w.definitionKeyword,w.modifier],color:"#FFEE80"},{tag:w.variableName,color:"#CCCCCC"},{tag:w.self,color:"#FF80E1"},{tag:[w.className,w.definition(w.propertyName),w.function(w.variableName),w.definition(w.typeName),w.labelName],color:"#FFDD00"},{tag:[w.keyword,w.operator],color:"#FF9D00"},{tag:[w.propertyName,w.typeName],color:"#80FFBB"},{tag:w.special(w.brace),color:"#EDEF7D"},{tag:w.attributeName,color:"#9EFFFF"},{tag:w.derefOperator,color:"#fff"}]});var mL=Ce({variant:"dark",settings:{background:"#060521",foreground:"#E0E0E0",caret:"#FFFFFFA6",selection:"#122BBB",gutterBackground:"#060521",gutterForeground:"#E0E0E090",lineHighlight:"#FFFFFF0F"},styles:[{tag:w.comment,color:"#AEAEAE"},{tag:[w.string,w.special(w.brace),w.regexp],color:"#8DFF8E"},{tag:[w.className,w.definition(w.propertyName),w.function(w.variableName),w.function(w.definition(w.variableName)),w.definition(w.typeName)],color:"#A3EBFF"},{tag:[w.number,w.bool,w.null],color:"#62E9BD"},{tag:[w.keyword,w.operator],color:"#2BF1DC"},{tag:[w.definitionKeyword,w.modifier],color:"#F8FBB1"},{tag:[w.variableName,w.self],color:"#B683CA"},{tag:[w.angleBracket,w.tagName,w.typeName,w.propertyName],color:"#60A4F1"},{tag:w.derefOperator,color:"#E0E0E0"},{tag:w.attributeName,color:"#7BACCA"}]});var gL=Ce({variant:"dark",settings:{background:"#2d2f3f",foreground:"#f8f8f2",caret:"#f8f8f0",selection:"#44475a",gutterBackground:"#282a36",gutterForeground:"rgb(144, 145, 148)",lineHighlight:"#44475a"},styles:[{tag:w.comment,color:"#6272a4"},{tag:[w.string,w.special(w.brace)],color:"#f1fa8c"},{tag:[w.number,w.self,w.bool,w.null],color:"#bd93f9"},{tag:[w.keyword,w.operator],color:"#ff79c6"},{tag:[w.definitionKeyword,w.typeName],color:"#8be9fd"},{tag:w.definition(w.typeName),color:"#f8f8f2"},{tag:[w.className,w.definition(w.propertyName),w.function(w.variableName),w.attributeName],color:"#50fa7b"}]});var xL=Ce({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#80C7FF",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#C1E2F8"},styles:[{tag:w.comment,color:"#AAAAAA"},{tag:[w.keyword,w.operator,w.typeName,w.tagName,w.propertyName],color:"#2F6F9F",fontWeight:"bold"},{tag:[w.attributeName,w.definition(w.propertyName)],color:"#4F9FD0"},{tag:[w.className,w.string,w.special(w.brace)],color:"#CF4F5F"},{tag:w.number,color:"#CF4F5F",fontWeight:"bold"},{tag:w.variableName,fontWeight:"bold"}]});var bL=Ce({variant:"light",settings:{background:"#f2f1f8",foreground:"#0c006b",caret:"#5c49e9",selection:"#d5d1f2",gutterBackground:"#f2f1f8",gutterForeground:"#0c006b70",lineHighlight:"#e1def3"},styles:[{tag:w.comment,color:"#9995b7"},{tag:w.keyword,color:"#ff5792",fontWeight:"bold"},{tag:[w.definitionKeyword,w.modifier],color:"#ff5792"},{tag:[w.className,w.tagName,w.definition(w.typeName)],color:"#0094f0"},{tag:[w.number,w.bool,w.null,w.special(w.brace)],color:"#5842ff"},{tag:[w.definition(w.propertyName),w.function(w.variableName)],color:"#0095a8"},{tag:w.typeName,color:"#b3694d"},{tag:[w.propertyName,w.variableName],color:"#fa8900"},{tag:w.operator,color:"#ff5792"},{tag:w.self,color:"#e64100"},{tag:[w.string,w.regexp],color:"#00b368"},{tag:[w.paren,w.bracket],color:"#0431fa"},{tag:w.labelName,color:"#00bdd6"},{tag:w.attributeName,color:"#e64100"},{tag:w.angleBracket,color:"#9995b7"}]});var wL=Ce({variant:"light",settings:{background:"#faf4ed",foreground:"#575279",caret:"#575279",selection:"#6e6a8614",gutterBackground:"#faf4ed",gutterForeground:"#57527970",lineHighlight:"#6e6a860d"},styles:[{tag:w.comment,color:"#9893a5"},{tag:[w.bool,w.null],color:"#286983"},{tag:w.number,color:"#d7827e"},{tag:w.className,color:"#d7827e"},{tag:[w.angleBracket,w.tagName,w.typeName],color:"#56949f"},{tag:w.attributeName,color:"#907aa9"},{tag:w.punctuation,color:"#797593"},{tag:[w.keyword,w.modifier],color:"#286983"},{tag:[w.string,w.regexp],color:"#ea9d34"},{tag:w.variableName,color:"#d7827e"}]});var yL=Ce({variant:"light",settings:{background:"#FFFFFF",foreground:"#000000",caret:"#000000",selection:"#FFFD0054",gutterBackground:"#FFFFFF",gutterForeground:"#00000070",lineHighlight:"#00000008"},styles:[{tag:w.comment,color:"#CFCFCF"},{tag:[w.number,w.bool,w.null],color:"#E66C29"},{tag:[w.className,w.definition(w.propertyName),w.function(w.variableName),w.labelName,w.definition(w.typeName)],color:"#2EB43B"},{tag:w.keyword,color:"#D8B229"},{tag:w.operator,color:"#4EA44E",fontWeight:"bold"},{tag:[w.definitionKeyword,w.modifier],color:"#925A47"},{tag:w.string,color:"#704D3D"},{tag:w.typeName,color:"#2F8996"},{tag:[w.variableName,w.propertyName],color:"#77ACB0"},{tag:w.self,color:"#77ACB0",fontWeight:"bold"},{tag:w.regexp,color:"#E3965E"},{tag:[w.tagName,w.angleBracket],color:"#BAA827"},{tag:w.attributeName,color:"#B06520"},{tag:w.derefOperator,color:"#000"}]});var LL=Ce({variant:"light",settings:{background:"#fef7e5",foreground:"#586E75",caret:"#000000",selection:"#073642",gutterBackground:"#fef7e5",gutterForeground:"#586E7580",lineHighlight:"#EEE8D5"},styles:[{tag:w.comment,color:"#93A1A1"},{tag:w.string,color:"#2AA198"},{tag:w.regexp,color:"#D30102"},{tag:w.number,color:"#D33682"},{tag:w.variableName,color:"#268BD2"},{tag:[w.keyword,w.operator,w.punctuation],color:"#859900"},{tag:[w.definitionKeyword,w.modifier],color:"#073642",fontWeight:"bold"},{tag:[w.className,w.self,w.definition(w.propertyName)],color:"#268BD2"},{tag:w.function(w.variableName),color:"#268BD2"},{tag:[w.bool,w.null],color:"#B58900"},{tag:w.tagName,color:"#268BD2",fontWeight:"bold"},{tag:w.angleBracket,color:"#93A1A1"},{tag:w.attributeName,color:"#93A1A1"},{tag:w.typeName,color:"#859900"}]});var CL=Ce({variant:"light",settings:{background:"#FFFFFF",foreground:"#4D4D4C",caret:"#AEAFAD",selection:"#D6D6D6",gutterBackground:"#FFFFFF",gutterForeground:"#4D4D4C80",lineHighlight:"#EFEFEF"},styles:[{tag:w.comment,color:"#8E908C"},{tag:[w.variableName,w.self,w.propertyName,w.attributeName,w.regexp],color:"#C82829"},{tag:[w.number,w.bool,w.null],color:"#F5871F"},{tag:[w.className,w.typeName,w.definition(w.typeName)],color:"#C99E00"},{tag:[w.string,w.special(w.brace)],color:"#718C00"},{tag:w.operator,color:"#3E999F"},{tag:[w.definition(w.propertyName),w.function(w.variableName)],color:"#4271AE"},{tag:w.keyword,color:"#8959A8"},{tag:w.derefOperator,color:"#4D4D4C"}]});import{jsx as lB}from"react/jsx-runtime";var J2=new Set(["entity","enum","struct","const","export","extends","fn","on","action","activity","task","variant","workflow","command","middleware","schedule","every","jai","migration","test","mock","assert","cartridge","service","component","app","route","layout","import","from","if","elif","else","while","for","in","return","break","continue","delete","defer","print","sleep","fail"]),Q2=new Set(["string","bool","ulid","document","dict","blob","DateTime","u8","u16","u32","u64","s8","s16","s32","s64","int","integer","float","float64","f32","f64","double","time","bytes","any","name","ref"]);function im(t,e){for(;!t.eol()&&t.next()!==e;);return"string"}var eB={name:"nbt",startState:()=>({tripleString:!1}),token(t,e){if(e.tripleString){for(;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(t.eatSpace())return null;let a=t.peek();if(a==null)return null;if(a==="#")return t.skipToEnd(),"comment";if(t.match('"""')){for(e.tripleString=!0;!t.eol();){if(t.match('"""'))return e.tripleString=!1,"string";t.next()}return"string"}if(a==='"')return t.next(),im(t,'"');if(a==="'"){let o=t.string.charAt(t.pos-1);return/[A-Za-z0-9_]/.test(o)?(t.next(),null):(t.next(),im(t,"'"))}if(a==="f"&&t.string.charAt(t.pos+1)==='"')return t.next(),t.next(),im(t,'"');if(a==="@")return t.next(),t.eat("@"),t.eatWhile(/[A-Za-z0-9_]/),"meta";if(/\d/.test(a))return t.match(/^\d+(\.\d+)?/),"number";if(/[A-Za-z_]/.test(a)){t.eatWhile(/[A-Za-z0-9_]/);let o=t.current();return o==="true"||o==="false"?"atom":J2.has(o)?"keyword":Q2.has(o)||/^[A-Z]/.test(o)?"typeName":"variableName"}return/[+\-*/=<>!&|?.,:;]/.test(a)?(t.next(),t.eatWhile(/[+\-*/=<>!&|.]/),"operator"):(t.next(),null)},languageData:{commentTokens:{line:"#"}}},dm=Eu.define(eB);function cm(){return new Ru(dm,[bo.of(" ")])}var tB=Z.theme({"&":{backgroundColor:"var(--background)",color:"var(--foreground)"},".cm-gutters":{backgroundColor:"var(--background)",color:"var(--muted-foreground)",borderRight:"1px solid var(--border)"},".cm-activeLine":{backgroundColor:"color-mix(in srgb, var(--accent) 35%, transparent)"},".cm-tooltip":{backgroundColor:"var(--popover)",color:"var(--popover-foreground)",border:"1px solid var(--border)"}},{dark:!0}),aB=Z.theme({"&":{backgroundColor:"#0b0b0e",color:"#e4e4e7"},".cm-content":{caretColor:"#facc15"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"#facc15"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:"rgba(250, 204, 21, 0.18)"},".cm-gutters":{backgroundColor:"#0b0b0e",color:"#52525b",borderRight:"1px solid rgba(255, 255, 255, 0.06)"},".cm-activeLine":{backgroundColor:"rgba(250, 204, 21, 0.06)"},".cm-activeLineGutter":{backgroundColor:"rgba(250, 204, 21, 0.06)",color:"#a1a1aa"},".cm-tooltip":{backgroundColor:"#18181b",color:"#e4e4e7",border:"1px solid rgba(255, 255, 255, 0.1)"},".cm-tooltip-autocomplete ul li[aria-selected]":{backgroundColor:"rgba(250, 204, 21, 0.15)",color:"#fafafa"}},{dark:!0}),oB=Vo.define([{tag:w.keyword,color:"#facc15",fontWeight:"500"},{tag:[w.typeName,w.className,w.tagName],color:"#e5e7eb",fontWeight:"500"},{tag:[w.propertyName,w.variableName,w.attributeName],color:"#cbd5e1"},{tag:[w.string,w.special(w.string)],color:"#fde047"},{tag:[w.number,w.bool,w.atom,w.null],color:"#fbbf24"},{tag:[w.meta,w.annotation],color:"#f472b6",fontWeight:"500"},{tag:w.comment,color:"#71717a",fontStyle:"italic"},{tag:[w.operator,w.punctuation,w.separator],color:"#a1a1aa"},{tag:w.invalid,color:"#f87171"}]),rB=[aB,Vn(oB)],Zn=[{id:"default",label:"Default (panel)",extension:tB},{id:"nimbitDark",label:"Nimbit Dark",extension:rB},{id:"dracula",label:"Dracula",extension:gL},{id:"tomorrow",label:"Tomorrow",extension:CL},{id:"cobalt",label:"Cobalt",extension:pL},{id:"espresso",label:"Espresso",extension:xL},{id:"barf",label:"Barf",extension:uL},{id:"bespin",label:"Bespin",extension:dL},{id:"birdsOfParadise",label:"Birds of Paradise",extension:cL},{id:"boysAndGirls",label:"Boys and Girls",extension:fL},{id:"coolGlow",label:"Cool Glow",extension:mL},{id:"amy",label:"Amy",extension:iL},{id:"ayuLight",label:"Ayu Light",extension:lL},{id:"clouds",label:"Clouds",extension:hL},{id:"noctisLilac",label:"Noctis Lilac",extension:bL},{id:"rosePineDawn",label:"Ros\xE9 Pine Dawn",extension:wL},{id:"smoothy",label:"Smoothy",extension:yL},{id:"solarizedLight",label:"Solarized Light",extension:LL}],nB=new Map(Zn.map(t=>[t.id,t.extension]));function hd(t){return nB.get(t)??Zn[0].extension}function lm(t,e){let a=t.lineAt(e);return{line:a.number-1,character:e-a.from}}function um(t,e){let a=Math.min(Math.max(e.line+1,1),t.lines),o=t.line(a);return Math.min(o.from+Math.max(e.character,0),o.to)}function sB(t,e){return e.map(a=>{let o=um(t,a.range.start),r=um(t,a.range.end);r<=o&&(r=Math.min(o+1,t.length));let n=a.severity===2?"warning":a.severity===3||a.severity===4?"info":"error";return{from:o,to:r,severity:n,message:a.message,source:a.source??"nbt"}})}function iB(t){switch(t){case 3:return"function";case 5:return"property";case 13:return"enum";case 14:return"keyword";case 22:return"class";default:return"variable"}}function fm(t,e,a){let o=Qe.fromClass(class{constructor(i){this.view=i,this.timer=null,t.didOpen(e,i.state.doc.toString()),this.unsubscribe=t.onDiagnostics(e,l=>{let u=sB(this.view.state.doc,l);this.view.dispatch(Dy(this.view.state,u))})}update(i){i.docChanged&&(this.timer&&clearTimeout(this.timer),this.timer=setTimeout(()=>{this.timer=null,t.didChange(e,this.view.state.doc.toString())},200))}destroy(){this.timer&&(clearTimeout(this.timer),t.didChange(e,this.view.state.doc.toString())),this.unsubscribe()}}),r=async i=>{let l=i.matchBefore(/\w*/);if(!l)return null;if(l.from===l.to&&!i.explicit){let c=i.state.doc.sliceString(Math.max(0,i.pos-1),i.pos);if(c!=="."&&c!==":"&&c!=='"')return null}t.didChange(e,i.state.doc.toString());let u;try{u=await t.completion(e,lm(i.state.doc,i.pos))}catch{return null}let d=Array.isArray(u)?u:u?.items??[];return d.length===0?null:{from:l.from,options:d.map(c=>({label:c.label,type:iB(c.kind),detail:c.detail}))}},n=Lu(async(i,l)=>{let u;try{u=await t.hover(e,lm(i.state.doc,l))}catch{return null}let d=u?.contents?.value;return d?{pos:l,create:()=>{let c=document.createElement("pre");return c.className="nbt-hover-tooltip",c.style.cssText="margin:0;padding:6px 8px;max-width:480px;white-space:pre-wrap;font-size:11px;",c.textContent=d.replace(/```\w*\n?/g,""),{dom:c}}}:null}),s=Rr.of([{key:"F12",run:i=>{let l=lm(i.state.doc,i.state.selection.main.head);return t.definition(e,l).then(u=>{let d=Array.isArray(u)?u[0]??null:u;if(d?.uri)if(d.uri===e){let c=um(i.state.doc,d.range.start);i.dispatch({selection:{anchor:c},scrollIntoView:!0})}else a?.(d.uri,d.range.start.line)}).catch(()=>{}),!0}}]);return[o,sL({override:[r]}),n,s]}function vL(t){return Z.theme({"&":{height:"100%",fontSize:`${t}px`},".cm-content":{fontFamily:"ui-monospace, monospace"},"&.cm-focused":{outline:"none"}})}function SL(t){return Jt.high([bo.of(" ".repeat(t)),Pe.tabSize.of(t)])}var pd=({uri:t,value:e,readOnly:a=!1,lsp:o,onChange:r,onSave:n,onGotoDefinition:s,theme:i="default",fontSize:l=12,lineWrap:u=!1,tabSize:d=2})=>{let c=Ra.useRef(null),f=Ra.useRef(null),h=Ra.useRef(r);h.current=r;let p=Ra.useRef(n);p.current=n;let m=Ra.useRef(s);m.current=s;let g=Ra.useRef(new Fo),x=Ra.useRef(new Fo),y=Ra.useRef(new Fo),b=Ra.useRef({theme:i,fontSize:l,lineWrap:u,tabSize:d});return b.current={theme:i,fontSize:l,lineWrap:u,tabSize:d},Ra.useEffect(()=>{let C=c.current;if(!C)return;let I=b.current,v=[nw(),Xw(),Yb(),Qb(),Rw(),rL(),_y(),Vn(Aw,{fallback:!0}),cm(),y.current.of(SL(I.tabSize)),g.current.of([vL(I.fontSize),hd(I.theme)]),x.current.of(I.lineWrap?Z.lineWrapping:[]),Rr.of([{key:"Mod-s",run:S=>(p.current?.(S.state.doc.toString()),!0)},...Iy,...Yw,...$y,...sm,ky]),Z.updateListener.of(S=>{S.docChanged&&h.current?.(S.state.doc.toString())}),Pe.readOnly.of(a)];o&&!a&&v.push(fm(o,t,(S,k)=>m.current?.(S,k)));let L=new Z({state:Pe.create({doc:e,extensions:v}),parent:C});return f.current=L,()=>{L.destroy(),f.current=null}},[t,a,o]),Ra.useEffect(()=>{let C=f.current;C&&C.dispatch({effects:[g.current.reconfigure([vL(l),hd(i)]),x.current.reconfigure(u?Z.lineWrapping:[]),y.current.reconfigure(SL(d))]})},[i,l,u,d]),lB("div",{ref:c,className:"h-full min-h-0 overflow-hidden"})},md=class{constructor(t){this.rootUri=null,this.ws=null,this.nextId=1,this.pending=new Map,this.diagHandlers=new Map,this.docs=new Map,this.ready=!1,this.queue=[],this.closed=!1,this.retryMs=500,this.url=t,this.connect()}dispose(){this.closed=!0,this.ws?.close(),this.pending.forEach(t=>t.reject(new Error("lsp client disposed"))),this.pending.clear()}connect(){if(this.closed)return;let t=new WebSocket(this.url);this.ws=t,t.onopen=()=>{this.retryMs=500,this.rootUri&&this.sendInitialize(this.rootUri)},t.onmessage=e=>{typeof e.data=="string"&&this.onMessage(e.data)},t.onclose=()=>{this.ready=!1,this.ws=null;for(let e of this.pending.values())e.reject(new Error("lsp connection closed"));this.pending.clear(),this.closed||(setTimeout(()=>this.connect(),this.retryMs),this.retryMs=Math.min(this.retryMs*2,1e4))}}initialize(t){this.rootUri=t,this.ws?.readyState===WebSocket.OPEN&&this.sendInitialize(t)}sendInitialize(t){let e=this.nextId++;this.pending.set(e,{resolve:()=>{this.sendRaw({jsonrpc:"2.0",method:"initialized",params:{}}),this.ready=!0;for(let[o,r]of this.docs)this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:o,languageId:"nbt",version:r.version,text:r.text}}});let a=this.queue;this.queue=[];for(let o of a)this.ws?.send(o)},reject:()=>{}}),this.ws?.send(JSON.stringify({jsonrpc:"2.0",id:e,method:"initialize",params:{rootUri:t}}))}sendRaw(t){let e=JSON.stringify(t);this.ready&&this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.queue.push(e)}onMessage(t){let e;try{e=JSON.parse(t)}catch{return}if(e.id!=null&&(e.result!==void 0||e.error)){let a=this.pending.get(e.id);if(!a)return;this.pending.delete(e.id),e.error?a.reject(new Error(e.error.message??"lsp error")):a.resolve(e.result);return}if(e.method==="textDocument/publishDiagnostics"){let a=e.params?.uri,o=this.diagHandlers.get(a);o&&o(e.params?.diagnostics??[])}}request(t,e){let a=this.nextId++,o=new Promise((r,n)=>{this.pending.set(a,{resolve:r,reject:n})});return this.sendRaw({jsonrpc:"2.0",id:a,method:t,params:e}),o}onDiagnostics(t,e){return this.diagHandlers.set(t,e),()=>{this.diagHandlers.get(t)===e&&this.diagHandlers.delete(t)}}didOpen(t,e){if(this.docs.get(t)){this.didChange(t,e);return}this.docs.set(t,{text:e,version:1}),this.sendRaw({jsonrpc:"2.0",method:"textDocument/didOpen",params:{textDocument:{uri:t,languageId:"nbt",version:1,text:e}}})}didChange(t,e){let a=this.docs.get(t);if(!a)return this.didOpen(t,e);a.text!==e&&(a.text=e,a.version+=1,this.sendRaw({jsonrpc:"2.0",method:"textDocument/didChange",params:{textDocument:{uri:t,version:a.version},contentChanges:[{text:e}]}}))}didClose(t){this.docs.delete(t)&&this.sendRaw({jsonrpc:"2.0",method:"textDocument/didClose",params:{textDocument:{uri:t}}})}completion(t,e){return this.request("textDocument/completion",{textDocument:{uri:t},position:e})}hover(t,e){return this.request("textDocument/hover",{textDocument:{uri:t},position:e})}definition(t,e){return this.request("textDocument/definition",{textDocument:{uri:t},position:e})}};import hm from"react";import{jsx as uB}from"react/jsx-runtime";import cB,{createContext as fB,useContext as ML,useEffect as gd,useRef as Yn,useState as xd}from"react";var kL=hm.createContext({apiBaseUrl:""}),pm=({apiBaseUrl:t="",children:e})=>{let a=hm.useMemo(()=>({apiBaseUrl:t}),[t]);return uB(kL.Provider,{value:a,children:e})};function et(){return hm.useContext(kL)}function Ur(t){if(!t){let e=window.location;return`${e.protocol==="https:"?"wss:":"ws:"}//${e.host}`}return t.replace(/^http(s?):/,"ws$1:")}var AL="nbt_devtools_token";function bd(){try{return localStorage.getItem(AL)}catch{return null}}function mm(t){try{localStorage.setItem(AL,t)}catch{}}function xt(t){let e={...t??{}},a=bd();return a&&(e.Authorization=`Bearer ${a}`),e}async function gm(t,e){let a=await fetch(`${t}/_console/whoami`,{signal:e,credentials:"include",headers:xt()});if(!a.ok)throw new Error(`HTTP ${a.status}`);return await a.json()}async function xm(t,e){try{let a=await fetch(`${t}/_console/settings`,{signal:e,credentials:"include",headers:xt()});if(!a.ok)return{};let o=await a.json();return o&&typeof o=="object"?o:{}}catch{return{}}}async function bm(t,e){try{await fetch(`${t}/_console/settings`,{method:"PUT",credentials:"include",headers:xt({"content-type":"application/json"}),body:JSON.stringify(e)})}catch{}}async function wm(t,e,a){let o=await fetch(`${t}/api/auth/user/signin`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({email:e,password:a})});if(!o.ok)throw new Error(o.status===401?"Invalid email or password":`Sign-in failed (HTTP ${o.status})`);let r=await o.json();if(!r.token)throw new Error("Sign-in returned no token");mm(r.token)}async function ym(t,e,a,o){let r=await fetch(`${t}/api/auth/user/signup`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:e,email:a,password:o})});if(!r.ok){let s=`HTTP ${r.status}`;if(r.status===409)s="That email is already registered";else try{let i=await r.json();i?.error&&(s=i.error)}catch{}throw new Error(`Sign-up failed: ${s}`)}let n=await r.json();if(!n.token)throw new Error("Sign-up returned no token");mm(n.token)}function dB(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for WS auth")}function Lm(t){let e=bd();return e?[t,`auth-${dB(e)}`]:[t]}var PL=1,DL=2,hB=3,Cm=4,vm=5,Sm=6,pB=255,wd=1,yd=2,Ld=3,Cd=4,vd=5,Sd=6,Id=7,kd=8,xi=9,Ad=10,Md=11,RL=12,Pd=13,Dd=14;function mB(t){switch(t){case wd:return 1;case yd:return 2;case Ld:return 4;case Cd:return 8;case vd:return 1;case Sd:return 2;case Id:return 4;case kd:return 8;case xi:return 1;case Ad:return 4;case Md:return 8;case RL:return 0;case Pd:return 8;case Dd:return 0;default:return 0}}var gB=class{constructor(){this.columns=[],this.rows=[],this.totalRows=0,this.searchActive=!1,this._fullRows=[],this._fullTotalRows=0,this._idColIndex=-1,this._query=""}applySchema(t){this.columns=t.columns,this.totalRows=t.totalRows,this.rows=[],this._fullRows=[],this._fullTotalRows=t.totalRows,this.searchActive=!1,this._query="",this._idColIndex=t.columns.findIndex(e=>e.name==="id")}appendChunk(t){for(let e=0;e<t.length;e++){let a=t[e];this._fullRows.push(a),this.searchActive||this.rows.push(a)}}applyDelta(t){let e=this._fullRows;if(t.op===Cm&&t.rowData){e.push(t.rowData),this._fullTotalRows++,this.totalRows++,this.searchActive?this._applySearch():this.rows=this._fullRows;return}if(t.op===vm&&t.rowData){let a=this._findRowById(e,t.rowData);a>=0&&(e[a]=t.rowData),this.searchActive?this._applySearch():this.rows=this._fullRows;return}if(t.op===Sm&&t.id!==void 0){let a=String(t.id),o=this._findRowByIdStr(e,a);o>=0&&(e.splice(o,1),this._fullTotalRows--,this.totalRows--,this.searchActive?this._applySearch():this.rows=this._fullRows);return}}search(t){let e=t.trim().toLowerCase();if(!e){this.exitSearch();return}this.searchActive=!0,this._query=e,this._applySearch()}exitSearch(){this.searchActive&&(this.rows=this._fullRows,this.totalRows=this._fullTotalRows,this.searchActive=!1,this._query="")}getRowCount(){return this.rows.length}_findRowById(t,e){if(this._idColIndex<0)return-1;let a=e[this._idColIndex];for(let o=0;o<t.length;o++)if(t[o][this._idColIndex]===a)return o;return-1}_findRowByIdStr(t,e){if(this._idColIndex<0)return-1;for(let a=0;a<t.length;a++)if(t[a][this._idColIndex]===e)return a;return-1}_applySearch(){this.rows=this._fullRows.filter(t=>t.some(e=>e.toLowerCase().includes(this._query))),this.totalRows=this.rows.length}},Rd=new TextDecoder,Td=2,IL=1+Td;function xB(t){let e=Math.abs(t);return e<1e10?new Date(t*1e3):e<1e13?new Date(t):e<1e16?new Date(t/1e3):new Date(t/1e6)}function TL(t,e,a){switch(a.type){case wd:return[String(t.getUint8(e)),1];case vd:return[String(t.getInt8(e)),1];case xi:return[t.getUint8(e)?"true":"false",1];case yd:return[String(t.getUint16(e,!0)),2];case Sd:return[String(t.getInt16(e,!0)),2];case Ld:return[String(t.getUint32(e,!0)),4];case Id:return[String(t.getInt32(e,!0)),4];case Ad:return[String(t.getFloat32(e,!0)),4];case Cd:return[String(t.getBigUint64(e,!0)),8];case kd:return[String(t.getBigInt64(e,!0)),8];case Md:return[String(t.getFloat64(e,!0)),8];case Pd:{let o=Number(t.getBigInt64(e,!0));return o===0?["",8]:[xB(o).toISOString(),8]}case RL:case Dd:{let o=t.getUint32(e,!0),r=new Uint8Array(t.buffer,t.byteOffset+e+4,o);return[Rd.decode(r),4+o]}default:return["",0]}}function bB(t){return new DataView(t).getUint8(0)}function wB(t){return new DataView(t).getUint16(1,!0)}function yB(t){let e=new DataView(t),a=0,o=e.getUint8(a);if(a+=1,o!==PL)throw new Error(`Expected SCHEMA frame (0x01), got 0x${o.toString(16)}`);a+=Td;let r=e.getUint32(a,!0);a+=4;let n=e.getUint16(a,!0);a+=2;let s=[];for(let i=0;i<n;i++){let l=e.getUint8(a);a+=1;let u=e.getUint16(a,!0);a+=2;let d=new Uint8Array(t,a,u),c=Rd.decode(d);a+=u,s.push({name:c,type:l,fixedSize:mB(l)})}return{totalRows:r,columns:s}}function LB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,r!==DL)throw new Error(`Expected DATA frame, got 0x${r.toString(16)}`);o+=Td;let n=a.getUint16(o,!0);o+=2;let s=[];for(let i=0;i<n;i++){let l=[];for(let u=0;u<e.length;u++){let[d,c]=TL(a,o,e[u]);l.push(d),o+=c}s.push(l)}return s}function CB(t,e){let a=new DataView(t),o=0,r=a.getUint8(o);if(o+=1,o+=Td,r===Sm){let n=a.getUint16(o,!0);o+=2;let s=new Uint8Array(t,o,n);return{op:r,id:Rd.decode(s)}}if(r===Cm||r===vm){let n=[];for(let s=0;s<e.length;s++){let[i,l]=TL(a,o,e[s]);n.push(i),o+=l}return{op:r,rowData:n}}throw new Error(`Unknown delta op 0x${r.toString(16)}`)}function vB(t){let a=new DataView(t).getUint16(IL,!0),o=new Uint8Array(t,IL+2,a);return Rd.decode(o)}function SB(t,e,a,o){return JSON.stringify({cmd:"sub",sid:t,cart:e,entity:a,...o})}var Im=fB(null);function IB(t){if(typeof btoa=="function")return btoa(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/g,"");throw new Error("No base64 encoder available for bulk WS auth")}function kB(t){return["nimbit-bulk",`auth-${IB(t)}`]}var gi=null,AB=6e4;async function MB(t,e){let a=bd();if(a)return a;let o=Date.now();if(gi?.apiBaseUrl===e&&o-gi.at<AB)return gi.token;let r=await fetch(`${e}/api/auth/session/current`,{method:"POST",signal:t,credentials:"include",headers:{"content-type":"application/json"}});if(!r.ok)return null;let s=(await r.json()).session?.token;return s?(gi={apiBaseUrl:e,token:s,at:o},s):null}function PB(){gi=null}function Jn(t){t.listeners.forEach(e=>e())}function km({registry:t,children:e}){let{apiBaseUrl:a}=et(),o=Yn(null),r=Yn([]),n=Yn(1),s=Yn(new Map),i=Yn(new Map),l=Yn(!1),[u,d]=xd(!1),[c,f]=xd(null),h=v=>{let L=o.current;L&&L.readyState===WebSocket.OPEN?L.send(v):r.current.push(v)},p=()=>{let v=o.current;if(!v||v.readyState!==WebSocket.OPEN)return;let L=r.current;r.current=[];for(let S of L)v.send(S)},m=(v,L)=>{let S=L.toLowerCase(),k=`${v}/${S}`,z=i.current.get(k);if(z)return z;let A=n.current++,P={sid:A,cart:v,entity:S,store:new gB,columns:[],totalRows:0,loadedRows:0,streaming:!1,error:null,streamRequested:!1,onRender:null,listeners:new Set};return i.current.set(k,P),s.current.set(A,P),P},g=v=>{v.streamRequested||(v.streamRequested=!0,h(SB(v.sid,v.cart,v.entity)))},x=v=>{let L=v.data,S=wB(L),k=s.current.get(S);if(!k)return;let z=bB(L),A=k.store;switch(z){case PL:{let P=yB(L);A.applySchema(P),k.columns=P.columns,k.totalRows=P.totalRows,k.loadedRows=0,k.streaming=!0,Jn(k);break}case DL:{let P=LB(L,A.columns);A.appendChunk(P),k.loadedRows=A.getRowCount(),k.onRender?.();break}case hB:k.streaming=!1,Jn(k);break;case Cm:case vm:case Sm:{let P=CB(L,A.columns);A.applyDelta(P),k.totalRows=A.totalRows,k.loadedRows=A.getRowCount(),k.onRender?.(),Jn(k);break}case pB:k.error=vB(L),k.streaming=!1,Jn(k);break}};gd(()=>{let v=new AbortController,L=!1,S=!1,k=null;return r.current=[],n.current=1,s.current.clear(),i.current.clear(),l.current=!1,d(!1),f(null),(async()=>{let z=null;try{z=await MB(v.signal,a)}catch{}L||(k=z?new WebSocket(`${Ur(a)}/_ws/bulk`,kB(z)):new WebSocket(`${Ur(a)}/_ws/bulk`,["nimbit-bulk"]),k.binaryType="arraybuffer",o.current=k,k.onopen=()=>{L||o.current!==k||(S=!0,d(!0),f(null),p())},k.onmessage=x,k.onerror=()=>{},k.onclose=()=>{L||o.current!==k||(d(!1),o.current=null,S||(PB(),f("WebSocket connection closed")))})})(),()=>{if(L=!0,v.abort(),k){k.onopen=k.onmessage=k.onerror=k.onclose=null;try{k.close()}catch{}o.current===k&&(o.current=null)}}},[a]),gd(()=>{if(!u||l.current)return;let v=Object.keys(t);if(v.length!==0){l.current=!0;for(let L of v)for(let S of t[L]??[]){let k=m(L,S.name);g(k)}}},[u,t]);let I={getView:m,ensureStreamed:g,search:(v,L)=>{v.store.search(L),v.totalRows=v.store.totalRows,v.loadedRows=v.store.getRowCount(),Jn(v),v.onRender?.()},clearSearch:v=>{v.store.exitSearch(),v.totalRows=v.store.totalRows,v.loadedRows=v.store.getRowCount(),Jn(v),v.onRender?.()},subscribe:(v,L)=>(v.listeners.add(L),()=>{v.listeners.delete(L)}),connected:u,error:c};return cB.createElement(Im.Provider,{value:I},e)}function Am(t){let e=ML(Im);if(!e)throw new Error("useBulkRowCounts must be used within BulkStreamProvider");let[,a]=xd(0),o=[];for(let s of Object.keys(t))for(let i of t[s]??[])o.push({id:`${s}:${i.name}`,view:e.getView(s,i.name)});let r=o.map(s=>s.id).join("|");gd(()=>{let s=o.map(i=>e.subscribe(i.view,()=>a(l=>l+1)));return()=>s.forEach(i=>i())},[r]);let n={};for(let s of o)n[s.id]=s.view.totalRows;return n}function Mm(t,e){let a=ML(Im);if(!a)throw new Error("useBulkSubscription must be used within BulkStreamProvider");let o=a.getView(t,e),[,r]=xd(0);return gd(()=>{let n=a.subscribe(o,()=>r(s=>s+1));return a.ensureStreamed(o),n},[o]),{store:o.store,connected:a.connected,streaming:o.streaming,error:o.error??a.error,columns:o.columns,totalRows:o.totalRows,loadedRows:o.loadedRows,search:n=>a.search(o,n),clearSearch:()=>a.clearSearch(o),setOnRender:n=>{o.onRender=n}}}import yt from"react";import{jsxs as wt,Fragment as ko,jsx as K}from"react/jsx-runtime";import{createContext as yg,useContext as Gi,useMemo as Fa,forwardRef as ZS,useEffect as Re,useRef as Ie,useState as Qa,useLayoutEffect as VN,useCallback as eo,memo as tt}from"react";function Ke(t){if(typeof t=="string"||typeof t=="number")return""+t;let e="";if(Array.isArray(t))for(let a=0,o;a<t.length;a++)(o=Ke(t[a]))!==""&&(e+=(e&&" ")+o);else for(let a in t)t[a]&&(e+=(e&&" ")+a);return e}var DB={value:()=>{}};function BL(){for(var t=0,e=arguments.length,a={},o;t<e;++t){if(!(o=arguments[t]+"")||o in a||/[\s.]/.test(o))throw new Error("illegal type: "+o);a[o]=[]}return new Ed(a)}function Ed(t){this._=t}function RB(t,e){return t.trim().split(/^|\s+/).map(function(a){var o="",r=a.indexOf(".");if(r>=0&&(o=a.slice(r+1),a=a.slice(0,r)),a&&!e.hasOwnProperty(a))throw new Error("unknown type: "+a);return{type:a,name:o}})}Ed.prototype=BL.prototype={constructor:Ed,on:function(t,e){var a=this._,o=RB(t+"",a),r,n=-1,s=o.length;if(arguments.length<2){for(;++n<s;)if((r=(t=o[n]).type)&&(r=TB(a[r],t.name)))return r;return}if(e!=null&&typeof e!="function")throw new Error("invalid callback: "+e);for(;++n<s;)if(r=(t=o[n]).type)a[r]=EL(a[r],t.name,e);else if(e==null)for(r in a)a[r]=EL(a[r],t.name,null);return this},copy:function(){var t={},e=this._;for(var a in e)t[a]=e[a].slice();return new Ed(t)},call:function(t,e){if((r=arguments.length-2)>0)for(var a=new Array(r),o=0,r,n;o<r;++o)a[o]=arguments[o+2];if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(n=this._[t],o=0,r=n.length;o<r;++o)n[o].value.apply(e,a)},apply:function(t,e,a){if(!this._.hasOwnProperty(t))throw new Error("unknown type: "+t);for(var o=this._[t],r=0,n=o.length;r<n;++r)o[r].value.apply(e,a)}};function TB(t,e){for(var a=0,o=t.length,r;a<o;++a)if((r=t[a]).name===e)return r.value}function EL(t,e,a){for(var o=0,r=t.length;o<r;++o)if(t[o].name===e){t[o]=DB,t=t.slice(0,o).concat(t.slice(o+1));break}return a!=null&&t.push({name:e,value:a}),t}var Wr=BL;var Bd="http://www.w3.org/1999/xhtml",Pm={svg:"http://www.w3.org/2000/svg",xhtml:Bd,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};function yo(t){var e=t+="",a=e.indexOf(":");return a>=0&&(e=t.slice(0,a))!=="xmlns"&&(t=t.slice(a+1)),Pm.hasOwnProperty(e)?{space:Pm[e],local:t}:t}function EB(t){return function(){var e=this.ownerDocument,a=this.namespaceURI;return a===Bd&&e.documentElement.namespaceURI===Bd?e.createElement(t):e.createElementNS(a,t)}}function BB(t){return function(){return this.ownerDocument.createElementNS(t.space,t.local)}}function Fd(t){var e=yo(t);return(e.local?BB:EB)(e)}function FB(){}function Vr(t){return t==null?FB:function(){return this.querySelector(t)}}function FL(t){typeof t!="function"&&(t=Vr(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=new Array(s),l,u,d=0;d<s;++d)(l=n[d])&&(u=t.call(l,l.__data__,d,n))&&("__data__"in l&&(u.__data__=l.__data__),i[d]=u);return new je(o,this._parents)}function Dm(t){return t==null?[]:Array.isArray(t)?t:Array.from(t)}function OB(){return[]}function bi(t){return t==null?OB:function(){return this.querySelectorAll(t)}}function NB(t){return function(){return Dm(t.apply(this,arguments))}}function OL(t){typeof t=="function"?t=NB(t):t=bi(t);for(var e=this._groups,a=e.length,o=[],r=[],n=0;n<a;++n)for(var s=e[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&(o.push(t.call(l,l.__data__,u,s)),r.push(l));return new je(o,r)}function wi(t){return function(){return this.matches(t)}}function Od(t){return function(e){return e.matches(t)}}var _B=Array.prototype.find;function HB(t){return function(){return _B.call(this.children,t)}}function zB(){return this.firstElementChild}function NL(t){return this.select(t==null?zB:HB(typeof t=="function"?t:Od(t)))}var qB=Array.prototype.filter;function UB(){return Array.from(this.children)}function WB(t){return function(){return qB.call(this.children,t)}}function _L(t){return this.selectAll(t==null?UB:WB(typeof t=="function"?t:Od(t)))}function HL(t){typeof t!="function"&&(t=wi(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new je(o,this._parents)}function Nd(t){return new Array(t.length)}function zL(){return new je(this._enter||this._groups.map(Nd),this._parents)}function yi(t,e){this.ownerDocument=t.ownerDocument,this.namespaceURI=t.namespaceURI,this._next=null,this._parent=t,this.__data__=e}yi.prototype={constructor:yi,appendChild:function(t){return this._parent.insertBefore(t,this._next)},insertBefore:function(t,e){return this._parent.insertBefore(t,e)},querySelector:function(t){return this._parent.querySelector(t)},querySelectorAll:function(t){return this._parent.querySelectorAll(t)}};function qL(t){return function(){return t}}function VB(t,e,a,o,r,n){for(var s=0,i,l=e.length,u=n.length;s<u;++s)(i=e[s])?(i.__data__=n[s],o[s]=i):a[s]=new yi(t,n[s]);for(;s<l;++s)(i=e[s])&&(r[s]=i)}function GB(t,e,a,o,r,n,s){var i,l,u=new Map,d=e.length,c=n.length,f=new Array(d),h;for(i=0;i<d;++i)(l=e[i])&&(f[i]=h=s.call(l,l.__data__,i,e)+"",u.has(h)?r[i]=l:u.set(h,l));for(i=0;i<c;++i)h=s.call(t,n[i],i,n)+"",(l=u.get(h))?(o[i]=l,l.__data__=n[i],u.delete(h)):a[i]=new yi(t,n[i]);for(i=0;i<d;++i)(l=e[i])&&u.get(f[i])===l&&(r[i]=l)}function $B(t){return t.__data__}function UL(t,e){if(!arguments.length)return Array.from(this,$B);var a=e?GB:VB,o=this._parents,r=this._groups;typeof t!="function"&&(t=qL(t));for(var n=r.length,s=new Array(n),i=new Array(n),l=new Array(n),u=0;u<n;++u){var d=o[u],c=r[u],f=c.length,h=XB(t.call(d,d&&d.__data__,u,o)),p=h.length,m=i[u]=new Array(p),g=s[u]=new Array(p),x=l[u]=new Array(f);a(d,c,m,g,x,h,e);for(var y=0,b=0,C,I;y<p;++y)if(C=m[y]){for(y>=b&&(b=y+1);!(I=g[b])&&++b<p;);C._next=I||null}}return s=new je(s,o),s._enter=i,s._exit=l,s}function XB(t){return typeof t=="object"&&"length"in t?t:Array.from(t)}function WL(){return new je(this._exit||this._groups.map(Nd),this._parents)}function VL(t,e,a){var o=this.enter(),r=this,n=this.exit();return typeof t=="function"?(o=t(o),o&&(o=o.selection())):o=o.append(t+""),e!=null&&(r=e(r),r&&(r=r.selection())),a==null?n.remove():a(n),o&&r?o.merge(r).order():r}function GL(t){for(var e=t.selection?t.selection():t,a=this._groups,o=e._groups,r=a.length,n=o.length,s=Math.min(r,n),i=new Array(r),l=0;l<s;++l)for(var u=a[l],d=o[l],c=u.length,f=i[l]=new Array(c),h,p=0;p<c;++p)(h=u[p]||d[p])&&(f[p]=h);for(;l<r;++l)i[l]=a[l];return new je(i,this._parents)}function $L(){for(var t=this._groups,e=-1,a=t.length;++e<a;)for(var o=t[e],r=o.length-1,n=o[r],s;--r>=0;)(s=o[r])&&(n&&s.compareDocumentPosition(n)^4&&n.parentNode.insertBefore(s,n),n=s);return this}function XL(t){t||(t=KB);function e(c,f){return c&&f?t(c.__data__,f.__data__):!c-!f}for(var a=this._groups,o=a.length,r=new Array(o),n=0;n<o;++n){for(var s=a[n],i=s.length,l=r[n]=new Array(i),u,d=0;d<i;++d)(u=s[d])&&(l[d]=u);l.sort(e)}return new je(r,this._parents).order()}function KB(t,e){return t<e?-1:t>e?1:t>=e?0:NaN}function KL(){var t=arguments[0];return arguments[0]=this,t.apply(null,arguments),this}function jL(){return Array.from(this)}function ZL(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length;r<n;++r){var s=o[r];if(s)return s}return null}function YL(){let t=0;for(let e of this)++t;return t}function JL(){return!this.node()}function QL(t){for(var e=this._groups,a=0,o=e.length;a<o;++a)for(var r=e[a],n=0,s=r.length,i;n<s;++n)(i=r[n])&&t.call(i,i.__data__,n,r);return this}function jB(t){return function(){this.removeAttribute(t)}}function ZB(t){return function(){this.removeAttributeNS(t.space,t.local)}}function YB(t,e){return function(){this.setAttribute(t,e)}}function JB(t,e){return function(){this.setAttributeNS(t.space,t.local,e)}}function QB(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttribute(t):this.setAttribute(t,a)}}function eF(t,e){return function(){var a=e.apply(this,arguments);a==null?this.removeAttributeNS(t.space,t.local):this.setAttributeNS(t.space,t.local,a)}}function eC(t,e){var a=yo(t);if(arguments.length<2){var o=this.node();return a.local?o.getAttributeNS(a.space,a.local):o.getAttribute(a)}return this.each((e==null?a.local?ZB:jB:typeof e=="function"?a.local?eF:QB:a.local?JB:YB)(a,e))}function _d(t){return t.ownerDocument&&t.ownerDocument.defaultView||t.document&&t||t.defaultView}function tF(t){return function(){this.style.removeProperty(t)}}function aF(t,e,a){return function(){this.style.setProperty(t,e,a)}}function oF(t,e,a){return function(){var o=e.apply(this,arguments);o==null?this.style.removeProperty(t):this.style.setProperty(t,o,a)}}function tC(t,e,a){return arguments.length>1?this.each((e==null?tF:typeof e=="function"?oF:aF)(t,e,a??"")):Xo(this.node(),t)}function Xo(t,e){return t.style.getPropertyValue(e)||_d(t).getComputedStyle(t,null).getPropertyValue(e)}function rF(t){return function(){delete this[t]}}function nF(t,e){return function(){this[t]=e}}function sF(t,e){return function(){var a=e.apply(this,arguments);a==null?delete this[t]:this[t]=a}}function aC(t,e){return arguments.length>1?this.each((e==null?rF:typeof e=="function"?sF:nF)(t,e)):this.node()[t]}function oC(t){return t.trim().split(/^|\s+/)}function Rm(t){return t.classList||new rC(t)}function rC(t){this._node=t,this._names=oC(t.getAttribute("class")||"")}rC.prototype={add:function(t){var e=this._names.indexOf(t);e<0&&(this._names.push(t),this._node.setAttribute("class",this._names.join(" ")))},remove:function(t){var e=this._names.indexOf(t);e>=0&&(this._names.splice(e,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(t){return this._names.indexOf(t)>=0}};function nC(t,e){for(var a=Rm(t),o=-1,r=e.length;++o<r;)a.add(e[o])}function sC(t,e){for(var a=Rm(t),o=-1,r=e.length;++o<r;)a.remove(e[o])}function iF(t){return function(){nC(this,t)}}function lF(t){return function(){sC(this,t)}}function uF(t,e){return function(){(e.apply(this,arguments)?nC:sC)(this,t)}}function iC(t,e){var a=oC(t+"");if(arguments.length<2){for(var o=Rm(this.node()),r=-1,n=a.length;++r<n;)if(!o.contains(a[r]))return!1;return!0}return this.each((typeof e=="function"?uF:e?iF:lF)(a,e))}function dF(){this.textContent=""}function cF(t){return function(){this.textContent=t}}function fF(t){return function(){var e=t.apply(this,arguments);this.textContent=e??""}}function lC(t){return arguments.length?this.each(t==null?dF:(typeof t=="function"?fF:cF)(t)):this.node().textContent}function hF(){this.innerHTML=""}function pF(t){return function(){this.innerHTML=t}}function mF(t){return function(){var e=t.apply(this,arguments);this.innerHTML=e??""}}function uC(t){return arguments.length?this.each(t==null?hF:(typeof t=="function"?mF:pF)(t)):this.node().innerHTML}function gF(){this.nextSibling&&this.parentNode.appendChild(this)}function dC(){return this.each(gF)}function xF(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function cC(){return this.each(xF)}function fC(t){var e=typeof t=="function"?t:Fd(t);return this.select(function(){return this.appendChild(e.apply(this,arguments))})}function bF(){return null}function hC(t,e){var a=typeof t=="function"?t:Fd(t),o=e==null?bF:typeof e=="function"?e:Vr(e);return this.select(function(){return this.insertBefore(a.apply(this,arguments),o.apply(this,arguments)||null)})}function wF(){var t=this.parentNode;t&&t.removeChild(this)}function pC(){return this.each(wF)}function yF(){var t=this.cloneNode(!1),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function LF(){var t=this.cloneNode(!0),e=this.parentNode;return e?e.insertBefore(t,this.nextSibling):t}function mC(t){return this.select(t?LF:yF)}function gC(t){return arguments.length?this.property("__data__",t):this.node().__data__}function CF(t){return function(e){t.call(this,e,this.__data__)}}function vF(t){return t.trim().split(/^|\s+/).map(function(e){var a="",o=e.indexOf(".");return o>=0&&(a=e.slice(o+1),e=e.slice(0,o)),{type:e,name:a}})}function SF(t){return function(){var e=this.__on;if(e){for(var a=0,o=-1,r=e.length,n;a<r;++a)n=e[a],(!t.type||n.type===t.type)&&n.name===t.name?this.removeEventListener(n.type,n.listener,n.options):e[++o]=n;++o?e.length=o:delete this.__on}}}function IF(t,e,a){return function(){var o=this.__on,r,n=CF(e);if(o){for(var s=0,i=o.length;s<i;++s)if((r=o[s]).type===t.type&&r.name===t.name){this.removeEventListener(r.type,r.listener,r.options),this.addEventListener(r.type,r.listener=n,r.options=a),r.value=e;return}}this.addEventListener(t.type,n,a),r={type:t.type,name:t.name,value:e,listener:n,options:a},o?o.push(r):this.__on=[r]}}function xC(t,e,a){var o=vF(t+""),r,n=o.length,s;if(arguments.length<2){var i=this.node().__on;if(i){for(var l=0,u=i.length,d;l<u;++l)for(r=0,d=i[l];r<n;++r)if((s=o[r]).type===d.type&&s.name===d.name)return d.value}return}for(i=e?IF:SF,r=0;r<n;++r)this.each(i(o[r],e,a));return this}function bC(t,e,a){var o=_d(t),r=o.CustomEvent;typeof r=="function"?r=new r(e,a):(r=o.document.createEvent("Event"),a?(r.initEvent(e,a.bubbles,a.cancelable),r.detail=a.detail):r.initEvent(e,!1,!1)),t.dispatchEvent(r)}function kF(t,e){return function(){return bC(this,t,e)}}function AF(t,e){return function(){return bC(this,t,e.apply(this,arguments))}}function wC(t,e){return this.each((typeof e=="function"?AF:kF)(t,e))}function*yC(){for(var t=this._groups,e=0,a=t.length;e<a;++e)for(var o=t[e],r=0,n=o.length,s;r<n;++r)(s=o[r])&&(yield s)}var Tm=[null];function je(t,e){this._groups=t,this._parents=e}function LC(){return new je([[document.documentElement]],Tm)}function MF(){return this}je.prototype=LC.prototype={constructor:je,select:FL,selectAll:OL,selectChild:NL,selectChildren:_L,filter:HL,data:UL,enter:zL,exit:WL,join:VL,merge:GL,selection:MF,order:$L,sort:XL,call:KL,nodes:jL,node:ZL,size:YL,empty:JL,each:QL,attr:eC,style:tC,property:aC,classed:iC,text:lC,html:uC,raise:dC,lower:cC,append:fC,insert:hC,remove:pC,clone:mC,datum:gC,on:xC,dispatch:wC,[Symbol.iterator]:yC};var Lo=LC;function ct(t){return typeof t=="string"?new je([[document.querySelector(t)]],[document.documentElement]):new je([[t]],Tm)}function CC(t){let e;for(;e=t.sourceEvent;)t=e;return t}function Tt(t,e){if(t=CC(t),e===void 0&&(e=t.currentTarget),e){var a=e.ownerSVGElement||e;if(a.createSVGPoint){var o=a.createSVGPoint();return o.x=t.clientX,o.y=t.clientY,o=o.matrixTransform(e.getScreenCTM().inverse()),[o.x,o.y]}if(e.getBoundingClientRect){var r=e.getBoundingClientRect();return[t.clientX-r.left-e.clientLeft,t.clientY-r.top-e.clientTop]}}return[t.pageX,t.pageY]}var vC={passive:!1},Gr={capture:!0,passive:!1};function Hd(t){t.stopImmediatePropagation()}function Ko(t){t.preventDefault(),t.stopImmediatePropagation()}function Li(t){var e=t.document.documentElement,a=ct(t).on("dragstart.drag",Ko,Gr);"onselectstart"in e?a.on("selectstart.drag",Ko,Gr):(e.__noselect=e.style.MozUserSelect,e.style.MozUserSelect="none")}function Ci(t,e){var a=t.document.documentElement,o=ct(t).on("dragstart.drag",null);e&&(o.on("click.drag",Ko,Gr),setTimeout(function(){o.on("click.drag",null)},0)),"onselectstart"in a?o.on("selectstart.drag",null):(a.style.MozUserSelect=a.__noselect,delete a.__noselect)}var vi=t=>()=>t;function Si(t,{sourceEvent:e,subject:a,target:o,identifier:r,active:n,x:s,y:i,dx:l,dy:u,dispatch:d}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},subject:{value:a,enumerable:!0,configurable:!0},target:{value:o,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:n,enumerable:!0,configurable:!0},x:{value:s,enumerable:!0,configurable:!0},y:{value:i,enumerable:!0,configurable:!0},dx:{value:l,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:d}})}Si.prototype.on=function(){var t=this._.on.apply(this._,arguments);return t===this._?this:t};function PF(t){return!t.ctrlKey&&!t.button}function DF(){return this.parentNode}function RF(t,e){return e??{x:t.x,y:t.y}}function TF(){return navigator.maxTouchPoints||"ontouchstart"in this}function zd(){var t=PF,e=DF,a=RF,o=TF,r={},n=Wr("start","drag","end"),s=0,i,l,u,d,c=0;function f(C){C.on("mousedown.drag",h).filter(o).on("touchstart.drag",g).on("touchmove.drag",x,vC).on("touchend.drag touchcancel.drag",y).style("touch-action","none").style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}function h(C,I){if(!(d||!t.call(this,C,I))){var v=b(this,e.call(this,C,I),C,I,"mouse");v&&(ct(C.view).on("mousemove.drag",p,Gr).on("mouseup.drag",m,Gr),Li(C.view),Hd(C),u=!1,i=C.clientX,l=C.clientY,v("start",C))}}function p(C){if(Ko(C),!u){var I=C.clientX-i,v=C.clientY-l;u=I*I+v*v>c}r.mouse("drag",C)}function m(C){ct(C.view).on("mousemove.drag mouseup.drag",null),Ci(C.view,u),Ko(C),r.mouse("end",C)}function g(C,I){if(t.call(this,C,I)){var v=C.changedTouches,L=e.call(this,C,I),S=v.length,k,z;for(k=0;k<S;++k)(z=b(this,L,C,I,v[k].identifier,v[k]))&&(Hd(C),z("start",C,v[k]))}}function x(C){var I=C.changedTouches,v=I.length,L,S;for(L=0;L<v;++L)(S=r[I[L].identifier])&&(Ko(C),S("drag",C,I[L]))}function y(C){var I=C.changedTouches,v=I.length,L,S;for(d&&clearTimeout(d),d=setTimeout(function(){d=null},500),L=0;L<v;++L)(S=r[I[L].identifier])&&(Hd(C),S("end",C,I[L]))}function b(C,I,v,L,S,k){var z=n.copy(),A=Tt(k||v,I),P,H,M;if((M=a.call(C,new Si("beforestart",{sourceEvent:v,target:f,identifier:S,active:s,x:A[0],y:A[1],dx:0,dy:0,dispatch:z}),L))!=null)return P=M.x-A[0]||0,H=M.y-A[1]||0,function T(R,E,q){var B=A,D;switch(R){case"start":r[S]=T,D=s++;break;case"end":delete r[S],--s;case"drag":A=Tt(q||E,I),D=s;break}z.call(R,C,new Si(R,{sourceEvent:E,subject:M,target:f,identifier:S,active:D,x:A[0]+P,y:A[1]+H,dx:A[0]-B[0],dy:A[1]-B[1],dispatch:z}),L)}}return f.filter=function(C){return arguments.length?(t=typeof C=="function"?C:vi(!!C),f):t},f.container=function(C){return arguments.length?(e=typeof C=="function"?C:vi(C),f):e},f.subject=function(C){return arguments.length?(a=typeof C=="function"?C:vi(C),f):a},f.touchable=function(C){return arguments.length?(o=typeof C=="function"?C:vi(!!C),f):o},f.on=function(){var C=n.on.apply(n,arguments);return C===n?f:C},f.clickDistance=function(C){return arguments.length?(c=(C=+C)*C,f):Math.sqrt(c)},f}function qd(t,e,a){t.prototype=e.prototype=a,a.constructor=t}function Em(t,e){var a=Object.create(t.prototype);for(var o in e)a[o]=e[o];return a}function Ai(){}var Ii=.7,Vd=1/Ii,Qn="\\s*([+-]?\\d+)\\s*",ki="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",ja="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",EF=/^#([0-9a-f]{3,8})$/,BF=new RegExp(`^rgb\\(${Qn},${Qn},${Qn}\\)$`),FF=new RegExp(`^rgb\\(${ja},${ja},${ja}\\)$`),OF=new RegExp(`^rgba\\(${Qn},${Qn},${Qn},${ki}\\)$`),NF=new RegExp(`^rgba\\(${ja},${ja},${ja},${ki}\\)$`),_F=new RegExp(`^hsl\\(${ki},${ja},${ja}\\)$`),HF=new RegExp(`^hsla\\(${ki},${ja},${ja},${ki}\\)$`),SC={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};qd(Ai,Ea,{copy(t){return Object.assign(new this.constructor,this,t)},displayable(){return this.rgb().displayable()},hex:IC,formatHex:IC,formatHex8:zF,formatHsl:qF,formatRgb:kC,toString:kC});function IC(){return this.rgb().formatHex()}function zF(){return this.rgb().formatHex8()}function qF(){return TC(this).formatHsl()}function kC(){return this.rgb().formatRgb()}function Ea(t){var e,a;return t=(t+"").trim().toLowerCase(),(e=EF.exec(t))?(a=e[1].length,e=parseInt(e[1],16),a===6?AC(e):a===3?new Wt(e>>8&15|e>>4&240,e>>4&15|e&240,(e&15)<<4|e&15,1):a===8?Ud(e>>24&255,e>>16&255,e>>8&255,(e&255)/255):a===4?Ud(e>>12&15|e>>8&240,e>>8&15|e>>4&240,e>>4&15|e&240,((e&15)<<4|e&15)/255):null):(e=BF.exec(t))?new Wt(e[1],e[2],e[3],1):(e=FF.exec(t))?new Wt(e[1]*255/100,e[2]*255/100,e[3]*255/100,1):(e=OF.exec(t))?Ud(e[1],e[2],e[3],e[4]):(e=NF.exec(t))?Ud(e[1]*255/100,e[2]*255/100,e[3]*255/100,e[4]):(e=_F.exec(t))?DC(e[1],e[2]/100,e[3]/100,1):(e=HF.exec(t))?DC(e[1],e[2]/100,e[3]/100,e[4]):SC.hasOwnProperty(t)?AC(SC[t]):t==="transparent"?new Wt(NaN,NaN,NaN,0):null}function AC(t){return new Wt(t>>16&255,t>>8&255,t&255,1)}function Ud(t,e,a,o){return o<=0&&(t=e=a=NaN),new Wt(t,e,a,o)}function UF(t){return t instanceof Ai||(t=Ea(t)),t?(t=t.rgb(),new Wt(t.r,t.g,t.b,t.opacity)):new Wt}function es(t,e,a,o){return arguments.length===1?UF(t):new Wt(t,e,a,o??1)}function Wt(t,e,a,o){this.r=+t,this.g=+e,this.b=+a,this.opacity=+o}qd(Wt,es,Em(Ai,{brighter(t){return t=t==null?Vd:Math.pow(Vd,t),new Wt(this.r*t,this.g*t,this.b*t,this.opacity)},darker(t){return t=t==null?Ii:Math.pow(Ii,t),new Wt(this.r*t,this.g*t,this.b*t,this.opacity)},rgb(){return this},clamp(){return new Wt(Xr(this.r),Xr(this.g),Xr(this.b),Gd(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:MC,formatHex:MC,formatHex8:WF,formatRgb:PC,toString:PC}));function MC(){return`#${$r(this.r)}${$r(this.g)}${$r(this.b)}`}function WF(){return`#${$r(this.r)}${$r(this.g)}${$r(this.b)}${$r((isNaN(this.opacity)?1:this.opacity)*255)}`}function PC(){let t=Gd(this.opacity);return`${t===1?"rgb(":"rgba("}${Xr(this.r)}, ${Xr(this.g)}, ${Xr(this.b)}${t===1?")":`, ${t})`}`}function Gd(t){return isNaN(t)?1:Math.max(0,Math.min(1,t))}function Xr(t){return Math.max(0,Math.min(255,Math.round(t)||0))}function $r(t){return t=Xr(t),(t<16?"0":"")+t.toString(16)}function DC(t,e,a,o){return o<=0?t=e=a=NaN:a<=0||a>=1?t=e=NaN:e<=0&&(t=NaN),new Ta(t,e,a,o)}function TC(t){if(t instanceof Ta)return new Ta(t.h,t.s,t.l,t.opacity);if(t instanceof Ai||(t=Ea(t)),!t)return new Ta;if(t instanceof Ta)return t;t=t.rgb();var e=t.r/255,a=t.g/255,o=t.b/255,r=Math.min(e,a,o),n=Math.max(e,a,o),s=NaN,i=n-r,l=(n+r)/2;return i?(e===n?s=(a-o)/i+(a<o)*6:a===n?s=(o-e)/i+2:s=(e-a)/i+4,i/=l<.5?n+r:2-n-r,s*=60):i=l>0&&l<1?0:s,new Ta(s,i,l,t.opacity)}function EC(t,e,a,o){return arguments.length===1?TC(t):new Ta(t,e,a,o??1)}function Ta(t,e,a,o){this.h=+t,this.s=+e,this.l=+a,this.opacity=+o}qd(Ta,EC,Em(Ai,{brighter(t){return t=t==null?Vd:Math.pow(Vd,t),new Ta(this.h,this.s,this.l*t,this.opacity)},darker(t){return t=t==null?Ii:Math.pow(Ii,t),new Ta(this.h,this.s,this.l*t,this.opacity)},rgb(){var t=this.h%360+(this.h<0)*360,e=isNaN(t)||isNaN(this.s)?0:this.s,a=this.l,o=a+(a<.5?a:1-a)*e,r=2*a-o;return new Wt(Bm(t>=240?t-240:t+120,r,o),Bm(t,r,o),Bm(t<120?t+240:t-120,r,o),this.opacity)},clamp(){return new Ta(RC(this.h),Wd(this.s),Wd(this.l),Gd(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 t=Gd(this.opacity);return`${t===1?"hsl(":"hsla("}${RC(this.h)}, ${Wd(this.s)*100}%, ${Wd(this.l)*100}%${t===1?")":`, ${t})`}`}}));function RC(t){return t=(t||0)%360,t<0?t+360:t}function Wd(t){return Math.max(0,Math.min(1,t||0))}function Bm(t,e,a){return(t<60?e+(a-e)*t/60:t<180?a:t<240?e+(a-e)*(240-t)/60:e)*255}function Fm(t,e,a,o,r){var n=t*t,s=n*t;return((1-3*t+3*n-s)*e+(4-6*n+3*s)*a+(1+3*t+3*n-3*s)*o+s*r)/6}function BC(t){var e=t.length-1;return function(a){var o=a<=0?a=0:a>=1?(a=1,e-1):Math.floor(a*e),r=t[o],n=t[o+1],s=o>0?t[o-1]:2*r-n,i=o<e-1?t[o+2]:2*n-r;return Fm((a-o/e)*e,s,r,n,i)}}function FC(t){var e=t.length;return function(a){var o=Math.floor(((a%=1)<0?++a:a)*e),r=t[(o+e-1)%e],n=t[o%e],s=t[(o+1)%e],i=t[(o+2)%e];return Fm((a-o/e)*e,r,n,s,i)}}var Mi=t=>()=>t;function VF(t,e){return function(a){return t+a*e}}function GF(t,e,a){return t=Math.pow(t,a),e=Math.pow(e,a)-t,a=1/a,function(o){return Math.pow(t+o*e,a)}}function OC(t){return(t=+t)==1?$d:function(e,a){return a-e?GF(e,a,t):Mi(isNaN(e)?a:e)}}function $d(t,e){var a=e-t;return a?VF(t,a):Mi(isNaN(t)?e:t)}var Kr=(function t(e){var a=OC(e);function o(r,n){var s=a((r=es(r)).r,(n=es(n)).r),i=a(r.g,n.g),l=a(r.b,n.b),u=$d(r.opacity,n.opacity);return function(d){return r.r=s(d),r.g=i(d),r.b=l(d),r.opacity=u(d),r+""}}return o.gamma=t,o})(1);function NC(t){return function(e){var a=e.length,o=new Array(a),r=new Array(a),n=new Array(a),s,i;for(s=0;s<a;++s)i=es(e[s]),o[s]=i.r||0,r[s]=i.g||0,n[s]=i.b||0;return o=t(o),r=t(r),n=t(n),i.opacity=1,function(l){return i.r=o(l),i.g=r(l),i.b=n(l),i+""}}}var $F=NC(BC),XF=NC(FC);function _C(t,e){e||(e=[]);var a=t?Math.min(e.length,t.length):0,o=e.slice(),r;return function(n){for(r=0;r<a;++r)o[r]=t[r]*(1-n)+e[r]*n;return o}}function HC(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}function zC(t,e){var a=e?e.length:0,o=t?Math.min(a,t.length):0,r=new Array(o),n=new Array(a),s;for(s=0;s<o;++s)r[s]=Co(t[s],e[s]);for(;s<a;++s)n[s]=e[s];return function(i){for(s=0;s<o;++s)n[s]=r[s](i);return n}}function qC(t,e){var a=new Date;return t=+t,e=+e,function(o){return a.setTime(t*(1-o)+e*o),a}}function Et(t,e){return t=+t,e=+e,function(a){return t*(1-a)+e*a}}function UC(t,e){var a={},o={},r;(t===null||typeof t!="object")&&(t={}),(e===null||typeof e!="object")&&(e={});for(r in e)r in t?a[r]=Co(t[r],e[r]):o[r]=e[r];return function(n){for(r in a)o[r]=a[r](n);return o}}var Nm=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,Om=new RegExp(Nm.source,"g");function KF(t){return function(){return t}}function jF(t){return function(e){return t(e)+""}}function Pi(t,e){var a=Nm.lastIndex=Om.lastIndex=0,o,r,n,s=-1,i=[],l=[];for(t=t+"",e=e+"";(o=Nm.exec(t))&&(r=Om.exec(e));)(n=r.index)>a&&(n=e.slice(a,n),i[s]?i[s]+=n:i[++s]=n),(o=o[0])===(r=r[0])?i[s]?i[s]+=r:i[++s]=r:(i[++s]=null,l.push({i:s,x:Et(o,r)})),a=Om.lastIndex;return a<e.length&&(n=e.slice(a),i[s]?i[s]+=n:i[++s]=n),i.length<2?l[0]?jF(l[0].x):KF(e):(e=l.length,function(u){for(var d=0,c;d<e;++d)i[(c=l[d]).i]=c.x(u);return i.join("")})}function Co(t,e){var a=typeof e,o;return e==null||a==="boolean"?Mi(e):(a==="number"?Et:a==="string"?(o=Ea(e))?(e=o,Kr):Pi:e instanceof Ea?Kr:e instanceof Date?qC:HC(e)?_C:Array.isArray(e)?zC:typeof e.valueOf!="function"&&typeof e.toString!="function"||isNaN(e)?UC:Et)(t,e)}var WC=180/Math.PI,Xd={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function _m(t,e,a,o,r,n){var s,i,l;return(s=Math.sqrt(t*t+e*e))&&(t/=s,e/=s),(l=t*a+e*o)&&(a-=t*l,o-=e*l),(i=Math.sqrt(a*a+o*o))&&(a/=i,o/=i,l/=i),t*o<e*a&&(t=-t,e=-e,l=-l,s=-s),{translateX:r,translateY:n,rotate:Math.atan2(e,t)*WC,skewX:Math.atan(l)*WC,scaleX:s,scaleY:i}}var Kd;function VC(t){let e=new(typeof DOMMatrix=="function"?DOMMatrix:WebKitCSSMatrix)(t+"");return e.isIdentity?Xd:_m(e.a,e.b,e.c,e.d,e.e,e.f)}function GC(t){return t==null?Xd:(Kd||(Kd=document.createElementNS("http://www.w3.org/2000/svg","g")),Kd.setAttribute("transform",t),(t=Kd.transform.baseVal.consolidate())?(t=t.matrix,_m(t.a,t.b,t.c,t.d,t.e,t.f)):Xd)}function $C(t,e,a,o){function r(u){return u.length?u.pop()+" ":""}function n(u,d,c,f,h,p){if(u!==c||d!==f){var m=h.push("translate(",null,e,null,a);p.push({i:m-4,x:Et(u,c)},{i:m-2,x:Et(d,f)})}else(c||f)&&h.push("translate("+c+e+f+a)}function s(u,d,c,f){u!==d?(u-d>180?d+=360:d-u>180&&(u+=360),f.push({i:c.push(r(c)+"rotate(",null,o)-2,x:Et(u,d)})):d&&c.push(r(c)+"rotate("+d+o)}function i(u,d,c,f){u!==d?f.push({i:c.push(r(c)+"skewX(",null,o)-2,x:Et(u,d)}):d&&c.push(r(c)+"skewX("+d+o)}function l(u,d,c,f,h,p){if(u!==c||d!==f){var m=h.push(r(h)+"scale(",null,",",null,")");p.push({i:m-4,x:Et(u,c)},{i:m-2,x:Et(d,f)})}else(c!==1||f!==1)&&h.push(r(h)+"scale("+c+","+f+")")}return function(u,d){var c=[],f=[];return u=t(u),d=t(d),n(u.translateX,u.translateY,d.translateX,d.translateY,c,f),s(u.rotate,d.rotate,c,f),i(u.skewX,d.skewX,c,f),l(u.scaleX,u.scaleY,d.scaleX,d.scaleY,c,f),u=d=null,function(h){for(var p=-1,m=f.length,g;++p<m;)c[(g=f[p]).i]=g.x(h);return c.join("")}}}var Hm=$C(VC,"px, ","px)","deg)"),zm=$C(GC,", ",")",")");var ZF=1e-12;function XC(t){return((t=Math.exp(t))+1/t)/2}function YF(t){return((t=Math.exp(t))-1/t)/2}function JF(t){return((t=Math.exp(2*t))-1)/(t+1)}var jr=(function t(e,a,o){function r(n,s){var i=n[0],l=n[1],u=n[2],d=s[0],c=s[1],f=s[2],h=d-i,p=c-l,m=h*h+p*p,g,x;if(m<ZF)x=Math.log(f/u)/e,g=function(L){return[i+L*h,l+L*p,u*Math.exp(e*L*x)]};else{var y=Math.sqrt(m),b=(f*f-u*u+o*m)/(2*u*a*y),C=(f*f-u*u-o*m)/(2*f*a*y),I=Math.log(Math.sqrt(b*b+1)-b),v=Math.log(Math.sqrt(C*C+1)-C);x=(v-I)/e,g=function(L){var S=L*x,k=XC(I),z=u/(a*y)*(k*JF(e*S+I)-YF(I));return[i+z*h,l+z*p,u*k/XC(e*S+I)]}}return g.duration=x*1e3*e/Math.SQRT2,g}return r.rho=function(n){var s=Math.max(.001,+n),i=s*s,l=i*i;return t(s,i,l)},r})(Math.SQRT2,2,4);var ts=0,Ri=0,Di=0,jC=1e3,jd,Ti,Zd=0,Zr=0,Yd=0,Ei=typeof performance=="object"&&performance.now?performance:Date,ZC=typeof window=="object"&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(t){setTimeout(t,17)};function Fi(){return Zr||(ZC(QF),Zr=Ei.now()+Yd)}function QF(){Zr=0}function Bi(){this._call=this._time=this._next=null}Bi.prototype=Jd.prototype={constructor:Bi,restart:function(t,e,a){if(typeof t!="function")throw new TypeError("callback is not a function");a=(a==null?Fi():+a)+(e==null?0:+e),!this._next&&Ti!==this&&(Ti?Ti._next=this:jd=this,Ti=this),this._call=t,this._time=a,qm()},stop:function(){this._call&&(this._call=null,this._time=1/0,qm())}};function Jd(t,e,a){var o=new Bi;return o.restart(t,e,a),o}function YC(){Fi(),++ts;for(var t=jd,e;t;)(e=Zr-t._time)>=0&&t._call.call(void 0,e),t=t._next;--ts}function KC(){Zr=(Zd=Ei.now())+Yd,ts=Ri=0;try{YC()}finally{ts=0,tO(),Zr=0}}function eO(){var t=Ei.now(),e=t-Zd;e>jC&&(Yd-=e,Zd=t)}function tO(){for(var t,e=jd,a,o=1/0;e;)e._call?(o>e._time&&(o=e._time),t=e,e=e._next):(a=e._next,e._next=null,e=t?t._next=a:jd=a);Ti=t,qm(o)}function qm(t){if(!ts){Ri&&(Ri=clearTimeout(Ri));var e=t-Zr;e>24?(t<1/0&&(Ri=setTimeout(KC,t-Ei.now()-Yd)),Di&&(Di=clearInterval(Di))):(Di||(Zd=Ei.now(),Di=setInterval(eO,jC)),ts=1,ZC(KC))}}function Qd(t,e,a){var o=new Bi;return e=e==null?0:+e,o.restart(r=>{o.stop(),t(r+e)},e,a),o}var aO=Wr("start","end","cancel","interrupt"),oO=[],ev=0,JC=1,tc=2,ec=3,QC=4,ac=5,Oi=6;function jo(t,e,a,o,r,n){var s=t.__transition;if(!s)t.__transition={};else if(a in s)return;rO(t,a,{name:e,index:o,group:r,on:aO,tween:oO,time:n.time,delay:n.delay,duration:n.duration,ease:n.ease,timer:null,state:ev})}function Ni(t,e){var a=st(t,e);if(a.state>ev)throw new Error("too late; already scheduled");return a}function bt(t,e){var a=st(t,e);if(a.state>ec)throw new Error("too late; already running");return a}function st(t,e){var a=t.__transition;if(!a||!(a=a[e]))throw new Error("transition not found");return a}function rO(t,e,a){var o=t.__transition,r;o[e]=a,a.timer=Jd(n,0,a.time);function n(u){a.state=JC,a.timer.restart(s,a.delay,a.time),a.delay<=u&&s(u-a.delay)}function s(u){var d,c,f,h;if(a.state!==JC)return l();for(d in o)if(h=o[d],h.name===a.name){if(h.state===ec)return Qd(s);h.state===QC?(h.state=Oi,h.timer.stop(),h.on.call("interrupt",t,t.__data__,h.index,h.group),delete o[d]):+d<e&&(h.state=Oi,h.timer.stop(),h.on.call("cancel",t,t.__data__,h.index,h.group),delete o[d])}if(Qd(function(){a.state===ec&&(a.state=QC,a.timer.restart(i,a.delay,a.time),i(u))}),a.state=tc,a.on.call("start",t,t.__data__,a.index,a.group),a.state===tc){for(a.state=ec,r=new Array(f=a.tween.length),d=0,c=-1;d<f;++d)(h=a.tween[d].value.call(t,t.__data__,a.index,a.group))&&(r[++c]=h);r.length=c+1}}function i(u){for(var d=u<a.duration?a.ease.call(null,u/a.duration):(a.timer.restart(l),a.state=ac,1),c=-1,f=r.length;++c<f;)r[c].call(t,d);a.state===ac&&(a.on.call("end",t,t.__data__,a.index,a.group),l())}function l(){a.state=Oi,a.timer.stop(),delete o[e];for(var u in o)return;delete t.__transition}}function Yr(t,e){var a=t.__transition,o,r,n=!0,s;if(a){e=e==null?null:e+"";for(s in a){if((o=a[s]).name!==e){n=!1;continue}r=o.state>tc&&o.state<ac,o.state=Oi,o.timer.stop(),o.on.call(r?"interrupt":"cancel",t,t.__data__,o.index,o.group),delete a[s]}n&&delete t.__transition}}function tv(t){return this.each(function(){Yr(this,t)})}function nO(t,e){var a,o;return function(){var r=bt(this,t),n=r.tween;if(n!==a){o=a=n;for(var s=0,i=o.length;s<i;++s)if(o[s].name===e){o=o.slice(),o.splice(s,1);break}}r.tween=o}}function sO(t,e,a){var o,r;if(typeof a!="function")throw new Error;return function(){var n=bt(this,t),s=n.tween;if(s!==o){r=(o=s).slice();for(var i={name:e,value:a},l=0,u=r.length;l<u;++l)if(r[l].name===e){r[l]=i;break}l===u&&r.push(i)}n.tween=r}}function av(t,e){var a=this._id;if(t+="",arguments.length<2){for(var o=st(this.node(),a).tween,r=0,n=o.length,s;r<n;++r)if((s=o[r]).name===t)return s.value;return null}return this.each((e==null?nO:sO)(a,t,e))}function as(t,e,a){var o=t._id;return t.each(function(){var r=bt(this,o);(r.value||(r.value={}))[e]=a.apply(this,arguments)}),function(r){return st(r,o).value[e]}}function oc(t,e){var a;return(typeof e=="number"?Et:e instanceof Ea?Kr:(a=Ea(e))?(e=a,Kr):Pi)(t,e)}function iO(t){return function(){this.removeAttribute(t)}}function lO(t){return function(){this.removeAttributeNS(t.space,t.local)}}function uO(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttribute(t);return s===r?null:s===o?n:n=e(o=s,a)}}function dO(t,e,a){var o,r=a+"",n;return function(){var s=this.getAttributeNS(t.space,t.local);return s===r?null:s===o?n:n=e(o=s,a)}}function cO(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttribute(t):(s=this.getAttribute(t),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function fO(t,e,a){var o,r,n;return function(){var s,i=a(this),l;return i==null?void this.removeAttributeNS(t.space,t.local):(s=this.getAttributeNS(t.space,t.local),l=i+"",s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i)))}}function ov(t,e){var a=yo(t),o=a==="transform"?zm:oc;return this.attrTween(t,typeof e=="function"?(a.local?fO:cO)(a,o,as(this,"attr."+t,e)):e==null?(a.local?lO:iO)(a):(a.local?dO:uO)(a,o,e))}function hO(t,e){return function(a){this.setAttribute(t,e.call(this,a))}}function pO(t,e){return function(a){this.setAttributeNS(t.space,t.local,e.call(this,a))}}function mO(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&pO(t,n)),a}return r._value=e,r}function gO(t,e){var a,o;function r(){var n=e.apply(this,arguments);return n!==o&&(a=(o=n)&&hO(t,n)),a}return r._value=e,r}function rv(t,e){var a="attr."+t;if(arguments.length<2)return(a=this.tween(a))&&a._value;if(e==null)return this.tween(a,null);if(typeof e!="function")throw new Error;var o=yo(t);return this.tween(a,(o.local?mO:gO)(o,e))}function xO(t,e){return function(){Ni(this,t).delay=+e.apply(this,arguments)}}function bO(t,e){return e=+e,function(){Ni(this,t).delay=e}}function nv(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?xO:bO)(e,t)):st(this.node(),e).delay}function wO(t,e){return function(){bt(this,t).duration=+e.apply(this,arguments)}}function yO(t,e){return e=+e,function(){bt(this,t).duration=e}}function sv(t){var e=this._id;return arguments.length?this.each((typeof t=="function"?wO:yO)(e,t)):st(this.node(),e).duration}function LO(t,e){if(typeof e!="function")throw new Error;return function(){bt(this,t).ease=e}}function iv(t){var e=this._id;return arguments.length?this.each(LO(e,t)):st(this.node(),e).ease}function CO(t,e){return function(){var a=e.apply(this,arguments);if(typeof a!="function")throw new Error;bt(this,t).ease=a}}function lv(t){if(typeof t!="function")throw new Error;return this.each(CO(this._id,t))}function uv(t){typeof t!="function"&&(t=wi(t));for(var e=this._groups,a=e.length,o=new Array(a),r=0;r<a;++r)for(var n=e[r],s=n.length,i=o[r]=[],l,u=0;u<s;++u)(l=n[u])&&t.call(l,l.__data__,u,n)&&i.push(l);return new Bt(o,this._parents,this._name,this._id)}function dv(t){if(t._id!==this._id)throw new Error;for(var e=this._groups,a=t._groups,o=e.length,r=a.length,n=Math.min(o,r),s=new Array(o),i=0;i<n;++i)for(var l=e[i],u=a[i],d=l.length,c=s[i]=new Array(d),f,h=0;h<d;++h)(f=l[h]||u[h])&&(c[h]=f);for(;i<o;++i)s[i]=e[i];return new Bt(s,this._parents,this._name,this._id)}function vO(t){return(t+"").trim().split(/^|\s+/).every(function(e){var a=e.indexOf(".");return a>=0&&(e=e.slice(0,a)),!e||e==="start"})}function SO(t,e,a){var o,r,n=vO(e)?Ni:bt;return function(){var s=n(this,t),i=s.on;i!==o&&(r=(o=i).copy()).on(e,a),s.on=r}}function cv(t,e){var a=this._id;return arguments.length<2?st(this.node(),a).on.on(t):this.each(SO(a,t,e))}function IO(t){return function(){var e=this.parentNode;for(var a in this.__transition)if(+a!==t)return;e&&e.removeChild(this)}}function fv(){return this.on("end.remove",IO(this._id))}function hv(t){var e=this._name,a=this._id;typeof t!="function"&&(t=Vr(t));for(var o=this._groups,r=o.length,n=new Array(r),s=0;s<r;++s)for(var i=o[s],l=i.length,u=n[s]=new Array(l),d,c,f=0;f<l;++f)(d=i[f])&&(c=t.call(d,d.__data__,f,i))&&("__data__"in d&&(c.__data__=d.__data__),u[f]=c,jo(u[f],e,a,f,u,st(d,a)));return new Bt(n,this._parents,e,a)}function pv(t){var e=this._name,a=this._id;typeof t!="function"&&(t=bi(t));for(var o=this._groups,r=o.length,n=[],s=[],i=0;i<r;++i)for(var l=o[i],u=l.length,d,c=0;c<u;++c)if(d=l[c]){for(var f=t.call(d,d.__data__,c,l),h,p=st(d,a),m=0,g=f.length;m<g;++m)(h=f[m])&&jo(h,e,a,m,f,p);n.push(f),s.push(d)}return new Bt(n,s,e,a)}var kO=Lo.prototype.constructor;function mv(){return new kO(this._groups,this._parents)}function AO(t,e){var a,o,r;return function(){var n=Xo(this,t),s=(this.style.removeProperty(t),Xo(this,t));return n===s?null:n===a&&s===o?r:r=e(a=n,o=s)}}function gv(t){return function(){this.style.removeProperty(t)}}function MO(t,e,a){var o,r=a+"",n;return function(){var s=Xo(this,t);return s===r?null:s===o?n:n=e(o=s,a)}}function PO(t,e,a){var o,r,n;return function(){var s=Xo(this,t),i=a(this),l=i+"";return i==null&&(l=i=(this.style.removeProperty(t),Xo(this,t))),s===l?null:s===o&&l===r?n:(r=l,n=e(o=s,i))}}function DO(t,e){var a,o,r,n="style."+e,s="end."+n,i;return function(){var l=bt(this,t),u=l.on,d=l.value[n]==null?i||(i=gv(e)):void 0;(u!==a||r!==d)&&(o=(a=u).copy()).on(s,r=d),l.on=o}}function xv(t,e,a){var o=(t+="")=="transform"?Hm:oc;return e==null?this.styleTween(t,AO(t,o)).on("end.style."+t,gv(t)):typeof e=="function"?this.styleTween(t,PO(t,o,as(this,"style."+t,e))).each(DO(this._id,t)):this.styleTween(t,MO(t,o,e),a).on("end.style."+t,null)}function RO(t,e,a){return function(o){this.style.setProperty(t,e.call(this,o),a)}}function TO(t,e,a){var o,r;function n(){var s=e.apply(this,arguments);return s!==r&&(o=(r=s)&&RO(t,s,a)),o}return n._value=e,n}function bv(t,e,a){var o="style."+(t+="");if(arguments.length<2)return(o=this.tween(o))&&o._value;if(e==null)return this.tween(o,null);if(typeof e!="function")throw new Error;return this.tween(o,TO(t,e,a??""))}function EO(t){return function(){this.textContent=t}}function BO(t){return function(){var e=t(this);this.textContent=e??""}}function wv(t){return this.tween("text",typeof t=="function"?BO(as(this,"text",t)):EO(t==null?"":t+""))}function FO(t){return function(e){this.textContent=t.call(this,e)}}function OO(t){var e,a;function o(){var r=t.apply(this,arguments);return r!==a&&(e=(a=r)&&FO(r)),e}return o._value=t,o}function yv(t){var e="text";if(arguments.length<1)return(e=this.tween(e))&&e._value;if(t==null)return this.tween(e,null);if(typeof t!="function")throw new Error;return this.tween(e,OO(t))}function Lv(){for(var t=this._name,e=this._id,a=rc(),o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)if(l=s[u]){var d=st(l,e);jo(l,t,a,u,s,{time:d.time+d.delay+d.duration,delay:0,duration:d.duration,ease:d.ease})}return new Bt(o,this._parents,t,a)}function Cv(){var t,e,a=this,o=a._id,r=a.size();return new Promise(function(n,s){var i={value:s},l={value:function(){--r===0&&n()}};a.each(function(){var u=bt(this,o),d=u.on;d!==t&&(e=(t=d).copy(),e._.cancel.push(i),e._.interrupt.push(i),e._.end.push(l)),u.on=e}),r===0&&n()})}var NO=0;function Bt(t,e,a,o){this._groups=t,this._parents=e,this._name=a,this._id=o}function vv(t){return Lo().transition(t)}function rc(){return++NO}var vo=Lo.prototype;Bt.prototype=vv.prototype={constructor:Bt,select:hv,selectAll:pv,selectChild:vo.selectChild,selectChildren:vo.selectChildren,filter:uv,merge:dv,selection:mv,transition:Lv,call:vo.call,nodes:vo.nodes,node:vo.node,size:vo.size,empty:vo.empty,each:vo.each,on:cv,attr:ov,attrTween:rv,style:xv,styleTween:bv,text:wv,textTween:yv,remove:fv,tween:av,delay:nv,duration:sv,ease:iv,easeVarying:lv,end:Cv,[Symbol.iterator]:vo[Symbol.iterator]};function nc(t){return((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2}var _O={time:null,delay:0,duration:250,ease:nc};function HO(t,e){for(var a;!(a=t.__transition)||!(a=a[e]);)if(!(t=t.parentNode))throw new Error(`transition ${e} not found`);return a}function Sv(t){var e,a;t instanceof Bt?(e=t._id,t=t._name):(e=rc(),(a=_O).time=Fi(),t=t==null?null:t+"");for(var o=this._groups,r=o.length,n=0;n<r;++n)for(var s=o[n],i=s.length,l,u=0;u<i;++u)(l=s[u])&&jo(l,t,e,u,s,a||HO(l,e));return new Bt(o,this._parents,t,e)}Lo.prototype.interrupt=tv;Lo.prototype.transition=Sv;var _i=t=>()=>t;function Um(t,{sourceEvent:e,target:a,transform:o,dispatch:r}){Object.defineProperties(this,{type:{value:t,enumerable:!0,configurable:!0},sourceEvent:{value:e,enumerable:!0,configurable:!0},target:{value:a,enumerable:!0,configurable:!0},transform:{value:o,enumerable:!0,configurable:!0},_:{value:r}})}function Ba(t,e,a){this.k=t,this.x=e,this.y=a}Ba.prototype={constructor:Ba,scale:function(t){return t===1?this:new Ba(this.k*t,this.x,this.y)},translate:function(t,e){return t===0&e===0?this:new Ba(this.k,this.x+this.k*t,this.y+this.k*e)},apply:function(t){return[t[0]*this.k+this.x,t[1]*this.k+this.y]},applyX:function(t){return t*this.k+this.x},applyY:function(t){return t*this.k+this.y},invert:function(t){return[(t[0]-this.x)/this.k,(t[1]-this.y)/this.k]},invertX:function(t){return(t-this.x)/this.k},invertY:function(t){return(t-this.y)/this.k},rescaleX:function(t){return t.copy().domain(t.range().map(this.invertX,this).map(t.invert,t))},rescaleY:function(t){return t.copy().domain(t.range().map(this.invertY,this).map(t.invert,t))},toString:function(){return"translate("+this.x+","+this.y+") scale("+this.k+")"}};var Jr=new Ba(1,0,0);Hi.prototype=Ba.prototype;function Hi(t){for(;!t.__zoom;)if(!(t=t.parentNode))return Jr;return t.__zoom}function sc(t){t.stopImmediatePropagation()}function os(t){t.preventDefault(),t.stopImmediatePropagation()}function zO(t){return(!t.ctrlKey||t.type==="wheel")&&!t.button}function qO(){var t=this;return t instanceof SVGElement?(t=t.ownerSVGElement||t,t.hasAttribute("viewBox")?(t=t.viewBox.baseVal,[[t.x,t.y],[t.x+t.width,t.y+t.height]]):[[0,0],[t.width.baseVal.value,t.height.baseVal.value]]):[[0,0],[t.clientWidth,t.clientHeight]]}function Iv(){return this.__zoom||Jr}function UO(t){return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*(t.ctrlKey?10:1)}function WO(){return navigator.maxTouchPoints||"ontouchstart"in this}function VO(t,e,a){var o=t.invertX(e[0][0])-a[0][0],r=t.invertX(e[1][0])-a[1][0],n=t.invertY(e[0][1])-a[0][1],s=t.invertY(e[1][1])-a[1][1];return t.translate(r>o?(o+r)/2:Math.min(0,o)||Math.max(0,r),s>n?(n+s)/2:Math.min(0,n)||Math.max(0,s))}function ic(){var t=zO,e=qO,a=VO,o=UO,r=WO,n=[0,1/0],s=[[-1/0,-1/0],[1/0,1/0]],i=250,l=jr,u=Wr("start","zoom","end"),d,c,f,h=500,p=150,m=0,g=10;function x(M){M.property("__zoom",Iv).on("wheel.zoom",S,{passive:!1}).on("mousedown.zoom",k).on("dblclick.zoom",z).filter(r).on("touchstart.zoom",A).on("touchmove.zoom",P).on("touchend.zoom touchcancel.zoom",H).style("-webkit-tap-highlight-color","rgba(0,0,0,0)")}x.transform=function(M,T,R,E){var q=M.selection?M.selection():M;q.property("__zoom",Iv),M!==q?I(M,T,R,E):q.interrupt().each(function(){v(this,arguments).event(E).start().zoom(null,typeof T=="function"?T.apply(this,arguments):T).end()})},x.scaleBy=function(M,T,R,E){x.scaleTo(M,function(){var q=this.__zoom.k,B=typeof T=="function"?T.apply(this,arguments):T;return q*B},R,E)},x.scaleTo=function(M,T,R,E){x.transform(M,function(){var q=e.apply(this,arguments),B=this.__zoom,D=R==null?C(q):typeof R=="function"?R.apply(this,arguments):R,N=B.invert(D),U=typeof T=="function"?T.apply(this,arguments):T;return a(b(y(B,U),D,N),q,s)},R,E)},x.translateBy=function(M,T,R,E){x.transform(M,function(){return a(this.__zoom.translate(typeof T=="function"?T.apply(this,arguments):T,typeof R=="function"?R.apply(this,arguments):R),e.apply(this,arguments),s)},null,E)},x.translateTo=function(M,T,R,E,q){x.transform(M,function(){var B=e.apply(this,arguments),D=this.__zoom,N=E==null?C(B):typeof E=="function"?E.apply(this,arguments):E;return a(Jr.translate(N[0],N[1]).scale(D.k).translate(typeof T=="function"?-T.apply(this,arguments):-T,typeof R=="function"?-R.apply(this,arguments):-R),B,s)},E,q)};function y(M,T){return T=Math.max(n[0],Math.min(n[1],T)),T===M.k?M:new Ba(T,M.x,M.y)}function b(M,T,R){var E=T[0]-R[0]*M.k,q=T[1]-R[1]*M.k;return E===M.x&&q===M.y?M:new Ba(M.k,E,q)}function C(M){return[(+M[0][0]+ +M[1][0])/2,(+M[0][1]+ +M[1][1])/2]}function I(M,T,R,E){M.on("start.zoom",function(){v(this,arguments).event(E).start()}).on("interrupt.zoom end.zoom",function(){v(this,arguments).event(E).end()}).tween("zoom",function(){var q=this,B=arguments,D=v(q,B).event(E),N=e.apply(q,B),U=R==null?C(N):typeof R=="function"?R.apply(q,B):R,$=Math.max(N[1][0]-N[0][0],N[1][1]-N[0][1]),_=q.__zoom,W=typeof T=="function"?T.apply(q,B):T,G=l(_.invert(U).concat($/_.k),W.invert(U).concat($/W.k));return function(O){if(O===1)O=W;else{var F=G(O),V=$/F[2];O=new Ba(V,U[0]-F[0]*V,U[1]-F[1]*V)}D.zoom(null,O)}})}function v(M,T,R){return!R&&M.__zooming||new L(M,T)}function L(M,T){this.that=M,this.args=T,this.active=0,this.sourceEvent=null,this.extent=e.apply(M,T),this.taps=0}L.prototype={event:function(M){return M&&(this.sourceEvent=M),this},start:function(){return++this.active===1&&(this.that.__zooming=this,this.emit("start")),this},zoom:function(M,T){return this.mouse&&M!=="mouse"&&(this.mouse[1]=T.invert(this.mouse[0])),this.touch0&&M!=="touch"&&(this.touch0[1]=T.invert(this.touch0[0])),this.touch1&&M!=="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(M){var T=ct(this.that).datum();u.call(M,this.that,new Um(M,{sourceEvent:this.sourceEvent,target:x,type:M,transform:this.that.__zoom,dispatch:u}),T)}};function S(M,...T){if(!t.apply(this,arguments))return;var R=v(this,T).event(M),E=this.__zoom,q=Math.max(n[0],Math.min(n[1],E.k*Math.pow(2,o.apply(this,arguments)))),B=Tt(M);if(R.wheel)(R.mouse[0][0]!==B[0]||R.mouse[0][1]!==B[1])&&(R.mouse[1]=E.invert(R.mouse[0]=B)),clearTimeout(R.wheel);else{if(E.k===q)return;R.mouse=[B,E.invert(B)],Yr(this),R.start()}os(M),R.wheel=setTimeout(D,p),R.zoom("mouse",a(b(y(E,q),R.mouse[0],R.mouse[1]),R.extent,s));function D(){R.wheel=null,R.end()}}function k(M,...T){if(f||!t.apply(this,arguments))return;var R=M.currentTarget,E=v(this,T,!0).event(M),q=ct(M.view).on("mousemove.zoom",U,!0).on("mouseup.zoom",$,!0),B=Tt(M,R),D=M.clientX,N=M.clientY;Li(M.view),sc(M),E.mouse=[B,this.__zoom.invert(B)],Yr(this),E.start();function U(_){if(os(_),!E.moved){var W=_.clientX-D,G=_.clientY-N;E.moved=W*W+G*G>m}E.event(_).zoom("mouse",a(b(E.that.__zoom,E.mouse[0]=Tt(_,R),E.mouse[1]),E.extent,s))}function $(_){q.on("mousemove.zoom mouseup.zoom",null),Ci(_.view,E.moved),os(_),E.event(_).end()}}function z(M,...T){if(t.apply(this,arguments)){var R=this.__zoom,E=Tt(M.changedTouches?M.changedTouches[0]:M,this),q=R.invert(E),B=R.k*(M.shiftKey?.5:2),D=a(b(y(R,B),E,q),e.apply(this,T),s);os(M),i>0?ct(this).transition().duration(i).call(I,D,E,M):ct(this).call(x.transform,D,E,M)}}function A(M,...T){if(t.apply(this,arguments)){var R=M.touches,E=R.length,q=v(this,T,M.changedTouches.length===E).event(M),B,D,N,U;for(sc(M),D=0;D<E;++D)N=R[D],U=Tt(N,this),U=[U,this.__zoom.invert(U),N.identifier],q.touch0?!q.touch1&&q.touch0[2]!==U[2]&&(q.touch1=U,q.taps=0):(q.touch0=U,B=!0,q.taps=1+!!d);d&&(d=clearTimeout(d)),B&&(q.taps<2&&(c=U[0],d=setTimeout(function(){d=null},h)),Yr(this),q.start())}}function P(M,...T){if(this.__zooming){var R=v(this,T).event(M),E=M.changedTouches,q=E.length,B,D,N,U;for(os(M),B=0;B<q;++B)D=E[B],N=Tt(D,this),R.touch0&&R.touch0[2]===D.identifier?R.touch0[0]=N:R.touch1&&R.touch1[2]===D.identifier&&(R.touch1[0]=N);if(D=R.that.__zoom,R.touch1){var $=R.touch0[0],_=R.touch0[1],W=R.touch1[0],G=R.touch1[1],O=(O=W[0]-$[0])*O+(O=W[1]-$[1])*O,F=(F=G[0]-_[0])*F+(F=G[1]-_[1])*F;D=y(D,Math.sqrt(O/F)),N=[($[0]+W[0])/2,($[1]+W[1])/2],U=[(_[0]+G[0])/2,(_[1]+G[1])/2]}else if(R.touch0)N=R.touch0[0],U=R.touch0[1];else return;R.zoom("touch",a(b(D,N,U),R.extent,s))}}function H(M,...T){if(this.__zooming){var R=v(this,T).event(M),E=M.changedTouches,q=E.length,B,D;for(sc(M),f&&clearTimeout(f),f=setTimeout(function(){f=null},h),B=0;B<q;++B)D=E[B],R.touch0&&R.touch0[2]===D.identifier?delete R.touch0:R.touch1&&R.touch1[2]===D.identifier&&delete R.touch1;if(R.touch1&&!R.touch0&&(R.touch0=R.touch1,delete R.touch1),R.touch0)R.touch0[1]=this.__zoom.invert(R.touch0[0]);else if(R.end(),R.taps===2&&(D=Tt(D,this),Math.hypot(c[0]-D[0],c[1]-D[1])<g)){var N=ct(this).on("dblclick.zoom");N&&N.apply(this,arguments)}}}return x.wheelDelta=function(M){return arguments.length?(o=typeof M=="function"?M:_i(+M),x):o},x.filter=function(M){return arguments.length?(t=typeof M=="function"?M:_i(!!M),x):t},x.touchable=function(M){return arguments.length?(r=typeof M=="function"?M:_i(!!M),x):r},x.extent=function(M){return arguments.length?(e=typeof M=="function"?M:_i([[+M[0][0],+M[0][1]],[+M[1][0],+M[1][1]]]),x):e},x.scaleExtent=function(M){return arguments.length?(n[0]=+M[0],n[1]=+M[1],x):[n[0],n[1]]},x.translateExtent=function(M){return arguments.length?(s[0][0]=+M[0][0],s[1][0]=+M[1][0],s[0][1]=+M[0][1],s[1][1]=+M[1][1],x):[[s[0][0],s[0][1]],[s[1][0],s[1][1]]]},x.constrain=function(M){return arguments.length?(a=M,x):a},x.duration=function(M){return arguments.length?(i=+M,x):i},x.interpolate=function(M){return arguments.length?(l=M,x):l},x.on=function(){var M=u.on.apply(u,arguments);return M===u?x:M},x.clickDistance=function(M){return arguments.length?(m=(M=+M)*M,x):Math.sqrt(m)},x.tapDistance=function(M){return arguments.length?(g=+M,x):g},x}var aa={error001:(t="react")=>`Seems like you have not used zustand provider as an ancestor. Help: https://${t}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:t=>`Node type "${t}" 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:t=>`The old edge with id=${t} does not exist.`,error009:t=>`Marker type "${t}" doesn't exist.`,error008:(t,{id:e,sourceHandle:a,targetHandle:o})=>`Couldn't create edge for ${t} handle id: "${t==="source"?a:o}", edge id: ${e}.`,error010:()=>"Handle: No node id found. Make sure to only use a Handle inside a custom Node.",error011:t=>`Edge type "${t}" not found. Using fallback type "default".`,error012:t=>`Node with id "${t}" does not exist, it may have been removed. This can happen when a node is deleted before the "onNodeClick" handler is called.`,error013:(t="react")=>`It seems that you haven't loaded the styles. Please import '@xyflow/${t}/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:t=>`Edge with id "${t}" does not exist, it may have been removed. This can happen when an edge is deleted before the "onEdgeClick" handler is called.`},is=[[Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY],[Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY]],Xm=["Enter"," ","Escape"],Km={"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:t,x:e,y:a})=>`Moved selected node ${t}. New position, x: ${e}, y: ${a}`,"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"},Jo;(function(t){t.Strict="strict",t.Loose="loose"})(Jo||(Jo={}));var So;(function(t){t.Free="free",t.Vertical="vertical",t.Horizontal="horizontal"})(So||(So={}));var Qr;(function(t){t.Partial="partial",t.Full="full"})(Qr||(Qr={}));var jm={inProgress:!1,isValid:null,from:null,fromHandle:null,fromPosition:null,fromNode:null,to:null,toHandle:null,toPosition:null,toNode:null,pointer:null},Za;(function(t){t.Bezier="default",t.Straight="straight",t.Step="step",t.SmoothStep="smoothstep",t.SimpleBezier="simplebezier"})(Za||(Za={}));var Qo;(function(t){t.Arrow="arrow",t.ArrowClosed="arrowclosed"})(Qo||(Qo={}));var se;(function(t){t.Left="left",t.Top="top",t.Right="right",t.Bottom="bottom"})(se||(se={}));var kv={[se.Left]:se.Right,[se.Right]:se.Left,[se.Top]:se.Bottom,[se.Bottom]:se.Top};function Zm(t){return t===null?null:t?"valid":"invalid"}var Ym=t=>"id"in t&&"source"in t&&"target"in t,Hv=t=>"id"in t&&"position"in t&&!("source"in t)&&!("target"in t),Jm=t=>"id"in t&&"internals"in t&&!("source"in t)&&!("target"in t);var qi=(t,e=[0,0])=>{let{width:a,height:o}=Ya(t),r=t.origin??e,n=a*r[0],s=o*r[1];return{x:t.position.x-n,y:t.position.y-s}},Qm=(t,e={nodeOrigin:[0,0]})=>{if(t.length===0)return{x:0,y:0,width:0,height:0};let a=t.reduce((o,r)=>{let n=typeof r=="string",s=!e.nodeLookup&&!n?r:void 0;e.nodeLookup&&(s=n?e.nodeLookup.get(r):Jm(r)?r:e.nodeLookup.get(r.id));let i=s?dc(s,e.nodeOrigin):{x:0,y:0,x2:0,y2:0};return hc(o,i)},{x:1/0,y:1/0,x2:-1/0,y2:-1/0});return pc(a)},ls=(t,e={})=>{let a={x:1/0,y:1/0,x2:-1/0,y2:-1/0},o=!1;return t.forEach(r=>{(e.filter===void 0||e.filter(r))&&(a=hc(a,dc(r)),o=!0)}),o?pc(a):{x:0,y:0,width:0,height:0}},cc=(t,e,[a,o,r]=[0,0,1],n=!1,s=!1)=>{let i={...rn(e,[a,o,r]),width:e.width/r,height:e.height/r},l=[];for(let u of t.values()){let{measured:d,selectable:c=!0,hidden:f=!1}=u;if(s&&!c||f)continue;let h=d.width??u.width??u.initialWidth??null,p=d.height??u.height??u.initialHeight??null,m=us(i,on(u)),g=(h??0)*(p??0),x=n&&m>0;(!u.internals.handleBounds||x||m>=g||u.dragging)&&l.push(u)}return l},zv=(t,e)=>{let a=new Set;return t.forEach(o=>{a.add(o.id)}),e.filter(o=>a.has(o.source)||a.has(o.target))};function GO(t,e){let a=new Map,o=e?.nodes?new Set(e.nodes.map(r=>r.id)):null;return t.forEach(r=>{r.measured.width&&r.measured.height&&(e?.includeHiddenNodes||!r.hidden)&&(!o||o.has(r.id))&&a.set(r.id,r)}),a}async function qv({nodes:t,width:e,height:a,panZoom:o,minZoom:r,maxZoom:n},s){if(t.size===0)return!0;let i=GO(t,s),l=ls(i),u=Ui(l,e,a,s?.minZoom??r,s?.maxZoom??n,s?.padding??.1);return await o.setViewport(u,{duration:s?.duration,ease:s?.ease,interpolate:s?.interpolate}),!0}function eg({nodeId:t,nextPosition:e,nodeLookup:a,nodeOrigin:o=[0,0],nodeExtent:r,onError:n}){let s=a.get(t),i=s.parentId?a.get(s.parentId):void 0,{x:l,y:u}=i?i.internals.positionAbsolute:{x:0,y:0},d=s.origin??o,c=s.extent||r;if(s.extent==="parent"&&!s.expandParent)if(!i)n?.("005",aa.error005());else{let h=i.measured.width,p=i.measured.height;h&&p&&(c=[[l,u],[l+h,u+p]])}else i&&an(s.extent)&&(c=[[s.extent[0][0]+l,s.extent[0][1]+u],[s.extent[1][0]+l,s.extent[1][1]+u]]);let f=an(c)?en(e,c,s.measured):e;return(s.measured.width===void 0||s.measured.height===void 0)&&n?.("015",aa.error015()),{position:{x:f.x-l+(s.measured.width??0)*d[0],y:f.y-u+(s.measured.height??0)*d[1]},positionAbsolute:f}}async function Uv({nodesToRemove:t=[],edgesToRemove:e=[],nodes:a,edges:o,onBeforeDelete:r}){let n=new Set(t.map(f=>f.id)),s=[];for(let f of a){if(f.deletable===!1)continue;let h=n.has(f.id),p=!h&&f.parentId&&s.find(m=>m.id===f.parentId);(h||p)&&s.push(f)}let i=new Set(e.map(f=>f.id)),l=o.filter(f=>f.deletable!==!1),d=zv(s,l);for(let f of l)i.has(f.id)&&!d.find(p=>p.id===f.id)&&d.push(f);if(!r)return{edges:d,nodes:s};let c=await r({nodes:s,edges:d});return typeof c=="boolean"?c?{edges:d,nodes:s}:{edges:[],nodes:[]}:c}var ss=(t,e=0,a=1)=>Math.min(Math.max(t,e),a),en=(t={x:0,y:0},e,a)=>({x:ss(t.x,e[0][0],e[1][0]-(a?.width??0)),y:ss(t.y,e[0][1],e[1][1]-(a?.height??0))});function Wv(t,e,a){let{width:o,height:r}=Ya(a),{x:n,y:s}=a.internals.positionAbsolute;return en(t,[[n,s],[n+o,s+r]],e)}var Av=(t,e,a)=>t<e?ss(Math.abs(t-e),1,e)/e:t>a?-ss(Math.abs(t-a),1,e)/e:0,fc=(t,e,a=15,o=40)=>{let r=Av(t.x,o,e.width-o)*a,n=Av(t.y,o,e.height-o)*a;return[r,n]},hc=(t,e)=>({x:Math.min(t.x,e.x),y:Math.min(t.y,e.y),x2:Math.max(t.x2,e.x2),y2:Math.max(t.y2,e.y2)}),$m=({x:t,y:e,width:a,height:o})=>({x:t,y:e,x2:t+a,y2:e+o}),pc=({x:t,y:e,x2:a,y2:o})=>({x:t,y:e,width:a-t,height:o-e}),on=(t,e=[0,0])=>{let{x:a,y:o}=Jm(t)?t.internals.positionAbsolute:qi(t,e);return{x:a,y:o,width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}},dc=(t,e=[0,0])=>{let{x:a,y:o}=Jm(t)?t.internals.positionAbsolute:qi(t,e);return{x:a,y:o,x2:a+(t.measured?.width??t.width??t.initialWidth??0),y2:o+(t.measured?.height??t.height??t.initialHeight??0)}},tg=(t,e)=>pc(hc($m(t),$m(e))),us=(t,e)=>{let a=Math.max(0,Math.min(t.x+t.width,e.x+e.width)-Math.max(t.x,e.x)),o=Math.max(0,Math.min(t.y+t.height,e.y+e.height)-Math.max(t.y,e.y));return Math.ceil(a*o)},ag=t=>pa(t.width)&&pa(t.height)&&pa(t.x)&&pa(t.y),pa=t=>!isNaN(t)&&isFinite(t),og=(t,e)=>(a,o)=>{},ds=(t,e=[1,1])=>({x:e[0]*Math.round(t.x/e[0]),y:e[1]*Math.round(t.y/e[1])}),rn=({x:t,y:e},[a,o,r],n=!1,s=[1,1])=>{let i={x:(t-a)/r,y:(e-o)/r};return n?ds(i,s):i},tn=({x:t,y:e},[a,o,r])=>({x:t*r+a,y:e*r+o});function rs(t,e){if(typeof t=="number")return Math.floor((e-e/(1+t))*.5);if(typeof t=="string"&&t.endsWith("px")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(a)}if(typeof t=="string"&&t.endsWith("%")){let a=parseFloat(t);if(!Number.isNaN(a))return Math.floor(e*a*.01)}return console.error(`The padding value "${t}" is invalid. Please provide a number or a string with a valid unit (px or %).`),0}function $O(t,e,a){if(typeof t=="string"||typeof t=="number"){let o=rs(t,a),r=rs(t,e);return{top:o,right:r,bottom:o,left:r,x:r*2,y:o*2}}if(typeof t=="object"){let o=rs(t.top??t.y??0,a),r=rs(t.bottom??t.y??0,a),n=rs(t.left??t.x??0,e),s=rs(t.right??t.x??0,e);return{top:o,right:s,bottom:r,left:n,x:n+s,y:o+r}}return{top:0,right:0,bottom:0,left:0,x:0,y:0}}function XO(t,e,a,o,r,n){let{x:s,y:i}=tn(t,[e,a,o]),{x:l,y:u}=tn({x:t.x+t.width,y:t.y+t.height},[e,a,o]),d=r-l,c=n-u;return{left:Math.floor(s),top:Math.floor(i),right:Math.floor(d),bottom:Math.floor(c)}}var Ui=(t,e,a,o,r,n)=>{let s=$O(n,e,a),i=(e-s.x)/t.width,l=(a-s.y)/t.height,u=Math.min(i,l),d=ss(u,o,r),c=t.x+t.width/2,f=t.y+t.height/2,h=e/2-c*d,p=a/2-f*d,m=XO(t,h,p,d,e,a),g={left:Math.min(m.left-s.left,0),top:Math.min(m.top-s.top,0),right:Math.min(m.right-s.right,0),bottom:Math.min(m.bottom-s.bottom,0)};return{x:h-g.left+g.right,y:p-g.top+g.bottom,zoom:d}},cs=()=>typeof navigator<"u"&&navigator?.userAgent?.indexOf("Mac")>=0;function an(t){return t!=null&&t!=="parent"}function Ya(t){return{width:t.measured?.width??t.width??t.initialWidth??0,height:t.measured?.height??t.height??t.initialHeight??0}}function mc(t){return(t.measured?.width??t.width??t.initialWidth)!==void 0&&(t.measured?.height??t.height??t.initialHeight)!==void 0}function rg(t,e={width:0,height:0},a,o,r){let n={...t},s=o.get(a);if(s){let i=s.origin||r;n.x+=s.internals.positionAbsolute.x-(e.width??0)*i[0],n.y+=s.internals.positionAbsolute.y-(e.height??0)*i[1]}return n}function ng(t,e){if(t.size!==e.size)return!1;for(let a of t)if(!e.has(a))return!1;return!0}function Vv(){let t,e;return{promise:new Promise((o,r)=>{t=o,e=r}),resolve:t,reject:e}}function Gv(t){return{...Km,...t||{}}}function zi(t,{snapGrid:e=[0,0],snapToGrid:a=!1,transform:o,containerBounds:r}){let{x:n,y:s}=ma(t),i=rn({x:n-(r?.left??0),y:s-(r?.top??0)},o),{x:l,y:u}=a?ds(i,e):i;return{xSnapped:l,ySnapped:u,...i}}var gc=t=>({width:t.offsetWidth,height:t.offsetHeight}),sg=t=>t?.getRootNode?.()||window?.document,KO=["INPUT","SELECT","TEXTAREA"];function ig(t){let e=t.composedPath?.()?.[0]||t.target;return e?.nodeType!==1?!1:KO.includes(e.nodeName)||e.hasAttribute("contenteditable")||!!e.closest(".nokey")}var lg=t=>"clientX"in t,ma=(t,e)=>{let a=lg(t),o=a?t.clientX:t.touches?.[0].clientX,r=a?t.clientY:t.touches?.[0].clientY;return{x:o-(e?.left??0),y:r-(e?.top??0)}},Mv=(t,e,a,o,r)=>{let n=e.querySelectorAll(`.${t}`);return!n||!n.length?null:Array.from(n).map(s=>{let i=s.getBoundingClientRect();return{id:s.getAttribute("data-handleid"),type:t,nodeId:r,position:s.getAttribute("data-handlepos"),x:(i.left-a.left)/o,y:(i.top-a.top)/o,...gc(s)}})};function xc({sourceX:t,sourceY:e,targetX:a,targetY:o,sourceControlX:r,sourceControlY:n,targetControlX:s,targetControlY:i}){let l=t*.125+r*.375+s*.375+a*.125,u=e*.125+n*.375+i*.375+o*.125,d=Math.abs(l-t),c=Math.abs(u-e);return[l,u,d,c]}function lc(t,e){return t>=0?.5*t:e*25*Math.sqrt(-t)}function Pv({pos:t,x1:e,y1:a,x2:o,y2:r,c:n}){switch(t){case se.Left:return[e-lc(e-o,n),a];case se.Right:return[e+lc(o-e,n),a];case se.Top:return[e,a-lc(a-r,n)];case se.Bottom:return[e,a+lc(r-a,n)]}}function bc({sourceX:t,sourceY:e,sourcePosition:a=se.Bottom,targetX:o,targetY:r,targetPosition:n=se.Top,curvature:s=.25}){let[i,l]=Pv({pos:a,x1:t,y1:e,x2:o,y2:r,c:s}),[u,d]=Pv({pos:n,x1:o,y1:r,x2:t,y2:e,c:s}),[c,f,h,p]=xc({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:i,sourceControlY:l,targetControlX:u,targetControlY:d});return[`M${t},${e} C${i},${l} ${u},${d} ${o},${r}`,c,f,h,p]}function ug({sourceX:t,sourceY:e,targetX:a,targetY:o}){let r=Math.abs(a-t)/2,n=a<t?a+r:a-r,s=Math.abs(o-e)/2,i=o<e?o+s:o-s;return[n,i,r,s]}function $v({sourceNode:t,targetNode:e,selected:a=!1,zIndex:o=0,elevateOnSelect:r=!1,zIndexMode:n="basic"}){if(n==="manual")return o;let s=r&&a?o+1e3:o,i=Math.max(t.parentId||r&&t.selected?t.internals.z:0,e.parentId||r&&e.selected?e.internals.z:0);return s+i}function Xv({sourceNode:t,targetNode:e,width:a,height:o,transform:r}){let n=hc(dc(t),dc(e));n.x===n.x2&&(n.x2+=1),n.y===n.y2&&(n.y2+=1);let s={x:-r[0]/r[2],y:-r[1]/r[2],width:a/r[2],height:o/r[2]};return us(s,pc(n))>0}var jO=({source:t,sourceHandle:e,target:a,targetHandle:o})=>`xy-edge__${t}${e||""}-${a}${o||""}`,ZO=(t,e)=>e.some(a=>a.source===t.source&&a.target===t.target&&(a.sourceHandle===t.sourceHandle||!a.sourceHandle&&!t.sourceHandle)&&(a.targetHandle===t.targetHandle||!a.targetHandle&&!t.targetHandle)),Kv=(t,e,a={})=>{if(!t.source||!t.target)return a.onError?.("006",aa.error006()),e;let o=a.getEdgeId||jO,r;return Ym(t)?r={...t}:r={...t,id:o(t)},ZO(r,e)?e:(r.sourceHandle===null&&delete r.sourceHandle,r.targetHandle===null&&delete r.targetHandle,e.concat(r))};function wc({sourceX:t,sourceY:e,targetX:a,targetY:o}){let[r,n,s,i]=ug({sourceX:t,sourceY:e,targetX:a,targetY:o});return[`M ${t},${e}L ${a},${o}`,r,n,s,i]}var Dv={[se.Left]:{x:-1,y:0},[se.Right]:{x:1,y:0},[se.Top]:{x:0,y:-1},[se.Bottom]:{x:0,y:1}},YO=({source:t,sourcePosition:e=se.Bottom,target:a})=>e===se.Left||e===se.Right?t.x<a.x?{x:1,y:0}:{x:-1,y:0}:t.y<a.y?{x:0,y:1}:{x:0,y:-1},Rv=(t,e)=>Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2));function JO({source:t,sourcePosition:e=se.Bottom,target:a,targetPosition:o=se.Top,center:r,offset:n,stepPosition:s}){let i=Dv[e],l=Dv[o],u={x:t.x+i.x*n,y:t.y+i.y*n},d={x:a.x+l.x*n,y:a.y+l.y*n},c=YO({source:u,sourcePosition:e,target:d}),f=c.x!==0?"x":"y",h=c[f],p=[],m,g,x={x:0,y:0},y={x:0,y:0},[,,b,C]=ug({sourceX:t.x,sourceY:t.y,targetX:a.x,targetY:a.y});if(i[f]*l[f]===-1){f==="x"?(m=r.x??u.x+(d.x-u.x)*s,g=r.y??(u.y+d.y)/2):(m=r.x??(u.x+d.x)/2,g=r.y??u.y+(d.y-u.y)*s);let S=[{x:m,y:u.y},{x:m,y:d.y}],k=[{x:u.x,y:g},{x:d.x,y:g}];i[f]===h?p=f==="x"?S:k:p=f==="x"?k:S}else{let S=[{x:u.x,y:d.y}],k=[{x:d.x,y:u.y}];if(f==="x"?p=i.x===h?k:S:p=i.y===h?S:k,e===o){let M=Math.abs(t[f]-a[f]);if(M<=n){let T=Math.min(n-1,n-M);i[f]===h?x[f]=(u[f]>t[f]?-1:1)*T:y[f]=(d[f]>a[f]?-1:1)*T}}if(e!==o){let M=f==="x"?"y":"x",T=i[f]===l[M],R=u[M]>d[M],E=u[M]<d[M];(i[f]===1&&(!T&&R||T&&E)||i[f]!==1&&(!T&&E||T&&R))&&(p=f==="x"?S:k)}let z={x:u.x+x.x,y:u.y+x.y},A={x:d.x+y.x,y:d.y+y.y},P=Math.max(Math.abs(z.x-p[0].x),Math.abs(A.x-p[0].x)),H=Math.max(Math.abs(z.y-p[0].y),Math.abs(A.y-p[0].y));P>=H?(m=(z.x+A.x)/2,g=p[0].y):(m=p[0].x,g=(z.y+A.y)/2)}let I={x:u.x+x.x,y:u.y+x.y},v={x:d.x+y.x,y:d.y+y.y};return[[t,...I.x!==p[0].x||I.y!==p[0].y?[I]:[],...p,...v.x!==p[p.length-1].x||v.y!==p[p.length-1].y?[v]:[],a],m,g,b,C]}function QO(t,e,a,o){let r=Math.min(Rv(t,e)/2,Rv(e,a)/2,o),{x:n,y:s}=e;if(t.x===n&&n===a.x||t.y===s&&s===a.y)return`L${n} ${s}`;if(t.y===s){let u=t.x<a.x?-1:1,d=t.y<a.y?1:-1;return`L ${n+r*u},${s}Q ${n},${s} ${n},${s+r*d}`}let i=t.x<a.x?1:-1,l=t.y<a.y?-1:1;return`L ${n},${s+r*l}Q ${n},${s} ${n+r*i},${s}`}function Wi({sourceX:t,sourceY:e,sourcePosition:a=se.Bottom,targetX:o,targetY:r,targetPosition:n=se.Top,borderRadius:s=5,centerX:i,centerY:l,offset:u=20,stepPosition:d=.5}){let[c,f,h,p,m]=JO({source:{x:t,y:e},sourcePosition:a,target:{x:o,y:r},targetPosition:n,center:{x:i,y:l},offset:u,stepPosition:d}),g=`M${c[0].x} ${c[0].y}`;for(let x=1;x<c.length-1;x++)g+=QO(c[x-1],c[x],c[x+1],s);return g+=`L${c[c.length-1].x} ${c[c.length-1].y}`,[g,f,h,p,m]}function Tv(t){return t&&!!(t.internals.handleBounds||t.handles?.length)&&!!(t.measured.width||t.width||t.initialWidth)}function jv(t){let{sourceNode:e,targetNode:a}=t;if(!Tv(e)||!Tv(a))return null;let o=e.internals.handleBounds||Ev(e.handles),r=a.internals.handleBounds||Ev(a.handles),n=Bv(o?.source??[],t.sourceHandle),s=Bv(t.connectionMode===Jo.Strict?r?.target??[]:(r?.target??[]).concat(r?.source??[]),t.targetHandle);if(!n||!s)return t.onError?.("008",aa.error008(n?"target":"source",{id:t.id,sourceHandle:t.sourceHandle,targetHandle:t.targetHandle})),null;let i=n?.position||se.Bottom,l=s?.position||se.Top,u=er(e,n,i),d=er(a,s,l);return{sourceX:u.x,sourceY:u.y,targetX:d.x,targetY:d.y,sourcePosition:i,targetPosition:l}}function Ev(t){if(!t)return null;let e=[],a=[];for(let o of t)o.width=o.width??1,o.height=o.height??1,o.type==="source"?e.push(o):o.type==="target"&&a.push(o);return{source:e,target:a}}function er(t,e,a=se.Left,o=!1){let r=(e?.x??0)+t.internals.positionAbsolute.x,n=(e?.y??0)+t.internals.positionAbsolute.y,{width:s,height:i}=e??Ya(t);if(o)return{x:r+s/2,y:n+i/2};switch(e?.position??a){case se.Top:return{x:r+s/2,y:n};case se.Right:return{x:r+s,y:n+i/2};case se.Bottom:return{x:r+s/2,y:n+i};case se.Left:return{x:r,y:n+i/2}}}function Bv(t,e){return t&&(e?t.find(a=>a.id===e):t[0])||null}function yc(t,e){return t?typeof t=="string"?t:`${e?`${e}__`:""}${Object.keys(t).sort().map(o=>`${o}=${t[o]}`).join("&")}`:""}function Zv(t,{id:e,defaultColor:a,defaultMarkerStart:o,defaultMarkerEnd:r}){let n=new Set;return t.reduce((s,i)=>([i.markerStart||o,i.markerEnd||r].forEach(l=>{if(l&&typeof l=="object"){let u=yc(l,e);n.has(u)||(s.push({id:u,color:l.color||a,...l}),n.add(u))}}),s),[]).sort((s,i)=>s.id.localeCompare(i.id))}var Yv=1e3,eN=10,dg={nodeOrigin:[0,0],nodeExtent:is,elevateNodesOnSelect:!0,zIndexMode:"basic",defaults:{}},tN={...dg,checkEquality:!0};function cg(t,e){let a={...t};for(let o in e)e[o]!==void 0&&(a[o]=e[o]);return a}function Jv(t,e,a){let o=cg(dg,a);for(let r of t.values())if(r.parentId)hg(r,t,e,o);else{let n=qi(r,o.nodeOrigin),s=an(r.extent)?r.extent:o.nodeExtent,i=en(n,s,Ya(r));r.internals.positionAbsolute=i}}function aN(t,e){if(!t.handles)return t.measured?e?.internals.handleBounds:void 0;let a=[],o=[];for(let r of t.handles){let n={id:r.id,width:r.width??1,height:r.height??1,nodeId:t.id,x:r.x,y:r.y,position:r.position,type:r.type};r.type==="source"?a.push(n):r.type==="target"&&o.push(n)}return{source:a,target:o}}function fg(t){return t==="manual"}function Lc(t,e,a,o={}){let r=cg(tN,o),n={i:0},s=new Map(e),i=r?.elevateNodesOnSelect&&!fg(r.zIndexMode)?Yv:0,l=t.length>0,u=!1;e.clear(),a.clear();for(let d of t){let c=s.get(d.id);if(r.checkEquality&&d===c?.internals.userNode)e.set(d.id,c);else{let f=qi(d,r.nodeOrigin),h=an(d.extent)?d.extent:r.nodeExtent,p=en(f,h,Ya(d));c={...r.defaults,...d,measured:{width:d.measured?.width,height:d.measured?.height},internals:{positionAbsolute:p,handleBounds:aN(d,c),z:Qv(d,i,r.zIndexMode),userNode:d}},e.set(d.id,c)}(c.measured===void 0||c.measured.width===void 0||c.measured.height===void 0)&&!c.hidden&&(l=!1),d.parentId&&hg(c,e,a,o,n),u||(u=d.selected??!1)}return{nodesInitialized:l,hasSelectedNodes:u}}function oN(t,e){if(!t.parentId)return;let a=e.get(t.parentId);a?a.set(t.id,t):e.set(t.parentId,new Map([[t.id,t]]))}function hg(t,e,a,o,r){let{elevateNodesOnSelect:n,nodeOrigin:s,nodeExtent:i,zIndexMode:l}=cg(dg,o),u=t.parentId,d=e.get(u);if(!d){console.warn(`Parent node ${u} not found. Please make sure that parent nodes are in front of their child nodes in the nodes array.`);return}oN(t,a),r&&!d.parentId&&d.internals.rootParentIndex===void 0&&l==="auto"&&(d.internals.rootParentIndex=++r.i,d.internals.z=d.internals.z+r.i*eN),r&&d.internals.rootParentIndex!==void 0&&(r.i=d.internals.rootParentIndex);let c=n&&!fg(l)?Yv:0,{x:f,y:h,z:p}=rN(t,d,s,i,c,l),{positionAbsolute:m}=t.internals,g=f!==m.x||h!==m.y;(g||p!==t.internals.z)&&e.set(t.id,{...t,internals:{...t.internals,positionAbsolute:g?{x:f,y:h}:m,z:p}})}function Qv(t,e,a){let o=pa(t.zIndex)?t.zIndex:0;return fg(a)?o:o+(t.selected?e:0)}function rN(t,e,a,o,r,n){let{x:s,y:i}=e.internals.positionAbsolute,l=Ya(t),u=qi(t,a),d=an(t.extent)?en(u,t.extent,l):u,c=en({x:s+d.x,y:i+d.y},o,l);t.extent==="parent"&&(c=Wv(c,l,e));let f=Qv(t,r,n),h=e.internals.z??0;return{x:c.x,y:c.y,z:h>=f?h+1:f}}function Cc(t,e,a,o=[0,0]){let r=[],n=new Map;for(let s of t){let i=e.get(s.parentId);if(!i)continue;let l=n.get(s.parentId)?.expandedRect??on(i),u=tg(l,s.rect);n.set(s.parentId,{expandedRect:u,parent:i})}return n.size>0&&n.forEach(({expandedRect:s,parent:i},l)=>{let u=i.internals.positionAbsolute,d=Ya(i),c=i.origin??o,f=s.x<u.x?Math.round(Math.abs(u.x-s.x)):0,h=s.y<u.y?Math.round(Math.abs(u.y-s.y)):0,p=Math.max(d.width,Math.round(s.width)),m=Math.max(d.height,Math.round(s.height)),g=(p-d.width)*c[0],x=(m-d.height)*c[1];(f>0||h>0||g||x)&&(r.push({id:l,type:"position",position:{x:i.position.x-f+g,y:i.position.y-h+x}}),a.get(l)?.forEach(y=>{t.some(b=>b.id===y.id)||r.push({id:y.id,type:"position",position:{x:y.position.x+f,y:y.position.y+h}})})),(d.width<s.width||d.height<s.height||f||h)&&r.push({id:l,type:"dimensions",setAttributes:!0,dimensions:{width:p+(f?c[0]*f-g:0),height:m+(h?c[1]*h-x:0)}})}),r}function eS(t,e,a,o,r,n,s){let i=o?.querySelector(".xyflow__viewport"),l=!1;if(!i)return{changes:[],updatedInternals:l};let u=[],d=window.getComputedStyle(i),{m22:c}=new window.DOMMatrixReadOnly(d.transform),f=[];for(let h of t.values()){let p=e.get(h.id);if(!p)continue;if(p.hidden){e.set(p.id,{...p,internals:{...p.internals,handleBounds:void 0}}),l=!0;continue}let m=gc(h.nodeElement),g=p.measured.width!==m.width||p.measured.height!==m.height;if(!!(m.width&&m.height&&(g||!p.internals.handleBounds||h.force))){let y=h.nodeElement.getBoundingClientRect(),b=an(p.extent)?p.extent:n,{positionAbsolute:C}=p.internals;p.parentId&&p.extent==="parent"?C=Wv(C,m,e.get(p.parentId)):b&&(C=en(C,b,m));let I={...p,measured:m,internals:{...p.internals,positionAbsolute:C,handleBounds:{source:Mv("source",h.nodeElement,y,c,p.id),target:Mv("target",h.nodeElement,y,c,p.id)}}};e.set(p.id,I),p.parentId&&hg(I,e,a,{nodeOrigin:r,zIndexMode:s}),l=!0,g&&(u.push({id:p.id,type:"dimensions",dimensions:m}),p.expandParent&&p.parentId&&f.push({id:p.id,parentId:p.parentId,rect:on(I,r)}))}}if(f.length>0){let h=Cc(f,e,a,r);u.push(...h)}return{changes:u,updatedInternals:l}}async function tS({delta:t,panZoom:e,transform:a,translateExtent:o,width:r,height:n}){if(!e||!t.x&&!t.y)return!1;let s=await e.setViewportConstrained({x:a[0]+t.x,y:a[1]+t.y,zoom:a[2]},[[0,0],[r,n]],o);return!!s&&(s.x!==a[0]||s.y!==a[1]||s.k!==a[2])}function Fv(t,e,a,o,r,n){let s=r,i=o.get(s)||new Map;o.set(s,i.set(a,e)),s=`${r}-${t}`;let l=o.get(s)||new Map;if(o.set(s,l.set(a,e)),n){s=`${r}-${t}-${n}`;let u=o.get(s)||new Map;o.set(s,u.set(a,e))}}function pg(t,e,a){t.clear(),e.clear();for(let o of a){let{source:r,target:n,sourceHandle:s=null,targetHandle:i=null}=o,l={edgeId:o.id,source:r,target:n,sourceHandle:s,targetHandle:i},u=`${r}-${s}--${n}-${i}`,d=`${n}-${i}--${r}-${s}`;Fv("source",l,d,t,r,s),Fv("target",l,u,t,n,i),e.set(o.id,o)}}function aS(t,e){if(!t.parentId)return!1;let a=e.get(t.parentId);return a?a.selected?!0:aS(a,e):!1}function Ov(t,e,a){let o=t;do{if(o?.matches?.(e))return!0;if(o===a)return!1;o=o?.parentElement}while(o);return!1}function nN(t,e,a,o){let r=new Map;for(let[n,s]of t)if((s.selected||s.id===o)&&(!s.parentId||!aS(s,t))&&(s.draggable||e&&typeof s.draggable>"u")){let i=t.get(n);i&&r.set(n,{id:n,position:i.position||{x:0,y:0},distance:{x:a.x-i.internals.positionAbsolute.x,y:a.y-i.internals.positionAbsolute.y},extent:i.extent,parentId:i.parentId,origin:i.origin,expandParent:i.expandParent,internals:{positionAbsolute:i.internals.positionAbsolute||{x:0,y:0}},measured:{width:i.measured.width??0,height:i.measured.height??0}})}return r}function Wm({nodeId:t,dragItems:e,nodeLookup:a,dragging:o=!0}){let r=[];for(let[s,i]of e){let l=a.get(s)?.internals.userNode;l&&r.push({...l,position:i.position,dragging:o})}if(!t)return[r[0],r];let n=a.get(t)?.internals.userNode;return[n?{...n,position:e.get(t)?.position||n.position,dragging:o}:r[0],r]}function sN({dragItems:t,snapGrid:e,x:a,y:o}){let r=t.values().next().value;if(!r)return null;let n={x:a-r.distance.x,y:o-r.distance.y},s=ds(n,e);return{x:s.x-n.x,y:s.y-n.y}}function oS({onNodeMouseDown:t,getStoreItems:e,onDragStart:a,onDrag:o,onDragStop:r}){let n={x:null,y:null},s=0,i=new Map,l=!1,u={x:0,y:0},d=null,c=!1,f=null,h=!1,p=!1,m=null;function g({noDragClassName:y,handleSelector:b,domNode:C,isSelectable:I,nodeId:v,nodeClickDistance:L=0}){f=ct(C);function S({x:P,y:H}){let{nodeLookup:M,nodeExtent:T,snapGrid:R,snapToGrid:E,nodeOrigin:q,onNodeDrag:B,onSelectionDrag:D,onError:N,updateNodePositions:U}=e();n={x:P,y:H};let $=!1,_=i.size>1,W=_&&T?$m(ls(i)):null,G=_&&E?sN({dragItems:i,snapGrid:R,x:P,y:H}):null;for(let[O,F]of i){if(!M.has(O))continue;let V={x:P-F.distance.x,y:H-F.distance.y};E&&(V=G?{x:Math.round(V.x+G.x),y:Math.round(V.y+G.y)}:ds(V,R));let ie=null;if(_&&T&&!F.extent&&W){let{positionAbsolute:ne}=F.internals,de=ne.x-W.x+T[0][0],Se=ne.x+F.measured.width-W.x2+T[1][0],Te=ne.y-W.y+T[0][1],ht=ne.y+F.measured.height-W.y2+T[1][1];ie=[[de,Te],[Se,ht]]}let{position:le,positionAbsolute:J}=eg({nodeId:O,nextPosition:V,nodeLookup:M,nodeExtent:ie||T,nodeOrigin:q,onError:N});$=$||F.position.x!==le.x||F.position.y!==le.y,F.position=le,F.internals.positionAbsolute=J}if(p=p||$,!!$&&(U(i,!0),m&&(o||B||!v&&D))){let[O,F]=Wm({nodeId:v,dragItems:i,nodeLookup:M});o?.(m,i,O,F),B?.(m,O,F),v||D?.(m,F)}}async function k(){if(!d)return;let{transform:P,panBy:H,autoPanSpeed:M,autoPanOnNodeDrag:T}=e();if(!T){l=!1,cancelAnimationFrame(s);return}let[R,E]=fc(u,d,M);(R!==0||E!==0)&&(n.x=(n.x??0)-R/P[2],n.y=(n.y??0)-E/P[2],await H({x:R,y:E})&&S(n)),s=requestAnimationFrame(k)}function z(P){let{nodeLookup:H,multiSelectionActive:M,nodesDraggable:T,transform:R,snapGrid:E,snapToGrid:q,selectNodesOnDrag:B,onNodeDragStart:D,onSelectionDragStart:N,unselectNodesAndEdges:U}=e();c=!0,(!B||!I)&&!M&&v&&(H.get(v)?.selected||U()),I&&B&&v&&t?.(v);let $=zi(P.sourceEvent,{transform:R,snapGrid:E,snapToGrid:q,containerBounds:d});if(n=$,i=nN(H,T,$,v),i.size>0&&(a||D||!v&&N)){let[_,W]=Wm({nodeId:v,dragItems:i,nodeLookup:H});a?.(P.sourceEvent,i,_,W),D?.(P.sourceEvent,_,W),v||N?.(P.sourceEvent,W)}}let A=zd().clickDistance(L).on("start",P=>{let{domNode:H,nodeDragThreshold:M,transform:T,snapGrid:R,snapToGrid:E}=e();d=H?.getBoundingClientRect()||null,h=!1,p=!1,m=P.sourceEvent,M===0&&z(P),n=zi(P.sourceEvent,{transform:T,snapGrid:R,snapToGrid:E,containerBounds:d}),u=ma(P.sourceEvent,d)}).on("drag",P=>{let{autoPanOnNodeDrag:H,transform:M,snapGrid:T,snapToGrid:R,nodeDragThreshold:E,nodeLookup:q}=e(),B=zi(P.sourceEvent,{transform:M,snapGrid:T,snapToGrid:R,containerBounds:d});if(m=P.sourceEvent,(P.sourceEvent.type==="touchmove"&&P.sourceEvent.touches.length>1||v&&!q.has(v))&&(h=!0),!h){if(!l&&H&&c&&(l=!0,k()),!c){let D=ma(P.sourceEvent,d),N=D.x-u.x,U=D.y-u.y;Math.sqrt(N*N+U*U)>E&&z(P)}(n.x!==B.xSnapped||n.y!==B.ySnapped)&&i&&c&&(u=ma(P.sourceEvent,d),S(B))}}).on("end",P=>{if(!c||h){h&&i.size>0&&e().updateNodePositions(i,!1);return}if(l=!1,c=!1,cancelAnimationFrame(s),i.size>0){let{nodeLookup:H,updateNodePositions:M,onNodeDragStop:T,onSelectionDragStop:R}=e();if(p&&(M(i,!1),p=!1),r||T||!v&&R){let[E,q]=Wm({nodeId:v,dragItems:i,nodeLookup:H,dragging:!1});r?.(P.sourceEvent,i,E,q),T?.(P.sourceEvent,E,q),v||R?.(P.sourceEvent,q)}}}).filter(P=>{let H=P.target;return!P.button&&(!y||!Ov(H,`.${y}`,C))&&(!b||Ov(H,b,C))});f.call(A)}function x(){f?.on(".drag",null)}return{update:g,destroy:x}}function iN(t,e,a){let o=[],r={x:t.x-a,y:t.y-a,width:a*2,height:a*2};for(let n of e.values())us(r,on(n))>0&&o.push(n);return o}var lN=250;function uN(t,e,a,o){let r=[],n=1/0,s=iN(t,a,e+lN);for(let i of s){let l=[...i.internals.handleBounds?.source??[],...i.internals.handleBounds?.target??[]];for(let u of l){if(o.nodeId===u.nodeId&&o.type===u.type&&o.id===u.id)continue;let{x:d,y:c}=er(i,u,u.position,!0),f=Math.sqrt(Math.pow(d-t.x,2)+Math.pow(c-t.y,2));f>e||(f<n?(r=[{...u,x:d,y:c}],n=f):f===n&&r.push({...u,x:d,y:c}))}}if(!r.length)return null;if(r.length>1){let i=o.type==="source"?"target":"source";return r.find(l=>l.type===i)??r[0]}return r[0]}function rS(t,e,a,o,r,n=!1){let s=o.get(t);if(!s)return null;let i=r==="strict"?s.internals.handleBounds?.[e]:[...s.internals.handleBounds?.source??[],...s.internals.handleBounds?.target??[]],l=(a?i?.find(u=>u.id===a):i?.[0])??null;return l&&n?{...l,...er(s,l,l.position,!0)}:l}function nS(t,e){return t||(e?.classList.contains("target")?"target":e?.classList.contains("source")?"source":null)}function dN(t,e){let a=null;return e?a=!0:t&&!e&&(a=!1),a}var sS=()=>!0;function cN(t,{connectionMode:e,connectionRadius:a,handleId:o,nodeId:r,edgeUpdaterType:n,isTarget:s,domNode:i,nodeLookup:l,lib:u,autoPanOnConnect:d,flowId:c,panBy:f,cancelConnection:h,onConnectStart:p,onConnect:m,onConnectEnd:g,isValidConnection:x=sS,onReconnectEnd:y,updateConnection:b,getTransform:C,getFromHandle:I,autoPanSpeed:v,dragThreshold:L=1,handleDomNode:S}){let k=sg(t.target),z=0,A,{x:P,y:H}=ma(t),M=nS(n,S),T=i?.getBoundingClientRect(),R=!1;if(!T||!M)return;let E=rS(r,M,o,l,e);if(!E)return;let q=ma(t,T),B=!1,D=null,N=!1,U=null;function $(){if(!d||!T)return;let[le,J]=fc(q,T,v);f({x:le,y:J}),z=requestAnimationFrame($)}let _={...E,nodeId:r,type:M,position:E.position},W=l.get(r),O={inProgress:!0,isValid:null,from:er(W,_,se.Left,!0),fromHandle:_,fromPosition:_.position,fromNode:W,to:q,toHandle:null,toPosition:kv[_.position],toNode:null,pointer:q};function F(){R=!0,b(O),p?.(t,{nodeId:r,handleId:o,handleType:M})}L===0&&F();function V(le){if(!R){let{x:ht,y:ya}=ma(le),Ct=ht-P,ra=ya-H;if(!(Ct*Ct+ra*ra>L*L))return;F()}if(!I()||!_){ie(le);return}let J=C();q=ma(le,T),A=uN(rn(q,J,!1,[1,1]),a,l,_),B||($(),B=!0);let ne=iS(le,{handle:A,connectionMode:e,fromNodeId:r,fromHandleId:o,fromType:s?"target":"source",isValidConnection:x,doc:k,lib:u,flowId:c,nodeLookup:l});U=ne.handleDomNode,D=ne.connection,N=dN(!!A,ne.isValid);let de=l.get(r),Se=de?er(de,_,se.Left,!0):O.from,Te={...O,from:Se,isValid:N,to:ne.toHandle&&N?tn({x:ne.toHandle.x,y:ne.toHandle.y},J):q,toHandle:ne.toHandle,toPosition:N&&ne.toHandle?ne.toHandle.position:kv[_.position],toNode:ne.toHandle?l.get(ne.toHandle.nodeId):null,pointer:q};b(Te),O=Te}function ie(le){if(!("touches"in le&&le.touches.length>0)){if(R){(A||U)&&D&&N&&m?.(D);let{inProgress:J,...ne}=O,de={...ne,toPosition:O.toHandle?O.toPosition:null};g?.(le,de),n&&y?.(le,de)}h(),cancelAnimationFrame(z),B=!1,N=!1,D=null,U=null,k.removeEventListener("mousemove",V),k.removeEventListener("mouseup",ie),k.removeEventListener("touchmove",V),k.removeEventListener("touchend",ie)}}k.addEventListener("mousemove",V),k.addEventListener("mouseup",ie),k.addEventListener("touchmove",V),k.addEventListener("touchend",ie)}function iS(t,{handle:e,connectionMode:a,fromNodeId:o,fromHandleId:r,fromType:n,doc:s,lib:i,flowId:l,isValidConnection:u=sS,nodeLookup:d}){let c=n==="target",f=e?s.querySelector(`.${i}-flow__handle[data-id="${l}-${e?.nodeId}-${e?.id}-${e?.type}"]`):null,{x:h,y:p}=ma(t),m=s.elementFromPoint(h,p),g=m?.classList.contains(`${i}-flow__handle`)?m:f,x={handleDomNode:g,isValid:!1,connection:null,toHandle:null};if(g){let y=nS(void 0,g),b=g.getAttribute("data-nodeid"),C=g.getAttribute("data-handleid"),I=g.classList.contains("connectable"),v=g.classList.contains("connectableend");if(!b||!y)return x;let L={source:c?b:o,sourceHandle:c?C:r,target:c?o:b,targetHandle:c?r:C};x.connection=L;let k=I&&v&&(a===Jo.Strict?c&&y==="source"||!c&&y==="target":b!==o||C!==r);x.isValid=k&&u(L),x.toHandle=rS(b,y,C,d,a,!0)}return x}var vc={onPointerDown:cN,isValid:iS};function lS({domNode:t,panZoom:e,getTransform:a,getViewScale:o}){let r=ct(t);function n({translateExtent:i,width:l,height:u,zoomStep:d=1,pannable:c=!0,zoomable:f=!0,inversePan:h=!1}){let p=b=>{if(b.sourceEvent.type!=="wheel"||!e)return;let C=a(),I=b.sourceEvent.ctrlKey&&cs()?10:1,v=-b.sourceEvent.deltaY*(b.sourceEvent.deltaMode===1?.05:b.sourceEvent.deltaMode?1:.002)*d,L=C[2]*Math.pow(2,v*I);e.scaleTo(L)},m=[0,0],g=b=>{(b.sourceEvent.type==="mousedown"||b.sourceEvent.type==="touchstart")&&(m=[b.sourceEvent.clientX??b.sourceEvent.touches[0].clientX,b.sourceEvent.clientY??b.sourceEvent.touches[0].clientY])},x=b=>{let C=a();if(b.sourceEvent.type!=="mousemove"&&b.sourceEvent.type!=="touchmove"||!e)return;let I=[b.sourceEvent.clientX??b.sourceEvent.touches[0].clientX,b.sourceEvent.clientY??b.sourceEvent.touches[0].clientY],v=[I[0]-m[0],I[1]-m[1]];m=I;let L=o()*Math.max(C[2],Math.log(C[2]))*(h?-1:1),S={x:C[0]-v[0]*L,y:C[1]-v[1]*L},k=[[0,0],[l,u]];e.setViewportConstrained({x:S.x,y:S.y,zoom:C[2]},k,i)},y=ic().on("start",g).on("zoom",c?x:null).on("zoom.wheel",f?p:null);r.call(y,{})}function s(){r.on("zoom",null)}return{update:n,destroy:s,pointer:Tt}}var Sc=t=>({x:t.x,y:t.y,zoom:t.k}),Vm=({x:t,y:e,zoom:a})=>Jr.translate(t,e).scale(a),ns=(t,e)=>t.target.closest(`.${e}`),uS=(t,e)=>e===2&&Array.isArray(t)&&t.includes(2),fN=t=>((t*=2)<=1?t*t*t:(t-=2)*t*t+2)/2,Gm=(t,e=0,a=fN,o=()=>{})=>{let r=typeof e=="number"&&e>0;return r||o(),r?t.transition().duration(e).ease(a).on("end",o):t},dS=t=>{let e=t.ctrlKey&&cs()?10:1;return-t.deltaY*(t.deltaMode===1?.05:t.deltaMode?1:.002)*e};function hN({zoomPanValues:t,noWheelClassName:e,d3Selection:a,d3Zoom:o,panOnScrollMode:r,panOnScrollSpeed:n,zoomOnPinch:s,onPanZoomStart:i,onPanZoom:l,onPanZoomEnd:u}){return d=>{if(ns(d,e))return d.ctrlKey&&d.preventDefault(),!1;d.preventDefault(),d.stopImmediatePropagation();let c=a.property("__zoom").k||1;if(d.ctrlKey&&s){let g=Tt(d),x=dS(d),y=c*Math.pow(2,x);o.scaleTo(a,y,g,d);return}let f=d.deltaMode===1?20:1,h=r===So.Vertical?0:d.deltaX*f,p=r===So.Horizontal?0:d.deltaY*f;!cs()&&d.shiftKey&&r!==So.Vertical&&(h=d.deltaY*f,p=0),o.translateBy(a,-(h/c)*n,-(p/c)*n,{internal:!0});let m=Sc(a.property("__zoom"));clearTimeout(t.panScrollTimeout),t.isPanScrolling?(l?.(d,m),t.panScrollTimeout=setTimeout(()=>{u?.(d,m),t.isPanScrolling=!1},150)):(t.isPanScrolling=!0,i?.(d,m))}}function pN({noWheelClassName:t,preventScrolling:e,d3ZoomHandler:a}){return function(o,r){let n=o.type==="wheel",s=!e&&n&&!o.ctrlKey,i=ns(o,t);if(o.ctrlKey&&n&&i&&o.preventDefault(),s||i)return null;o.preventDefault(),a.call(this,o,r)}}function mN({zoomPanValues:t,onDraggingChange:e,onPanZoomStart:a}){return o=>{if(o.sourceEvent?.internal)return;let r=Sc(o.transform);t.mouseButton=o.sourceEvent?.button||0,t.isZoomingOrPanning=!0,t.prevViewport=r,o.sourceEvent?.type==="mousedown"&&e(!0),a&&a?.(o.sourceEvent,r)}}function gN({zoomPanValues:t,panOnDrag:e,onPaneContextMenu:a,onTransformChange:o,onPanZoom:r}){return n=>{t.usedRightMouseButton=!!(a&&uS(e,t.mouseButton??0)),n.sourceEvent?.sync||o([n.transform.x,n.transform.y,n.transform.k]),r&&!n.sourceEvent?.internal&&r?.(n.sourceEvent,Sc(n.transform))}}function xN({zoomPanValues:t,panOnDrag:e,panOnScroll:a,onDraggingChange:o,onPanZoomEnd:r,onPaneContextMenu:n}){return s=>{if(!s.sourceEvent?.internal&&(t.isZoomingOrPanning=!1,n&&uS(e,t.mouseButton??0)&&!t.usedRightMouseButton&&s.sourceEvent&&n(s.sourceEvent),t.usedRightMouseButton=!1,o(!1),r)){let i=Sc(s.transform);t.prevViewport=i,clearTimeout(t.timerId),t.timerId=setTimeout(()=>{r?.(s.sourceEvent,i)},a?150:0)}}}function bN({zoomActivationKeyPressed:t,zoomOnScroll:e,zoomOnPinch:a,panOnDrag:o,panOnScroll:r,zoomOnDoubleClick:n,userSelectionActive:s,noWheelClassName:i,noPanClassName:l,lib:u,connectionInProgress:d}){return c=>{let f=t||e,h=a&&c.ctrlKey,p=c.type==="wheel";if(c.button===1&&c.type==="mousedown"&&(ns(c,`${u}-flow__node`)||ns(c,`${u}-flow__edge`)))return!0;if(!o&&!f&&!r&&!n&&!a||s||d&&!p||ns(c,i)&&p||ns(c,l)&&(!p||r&&p&&!t)||!a&&c.ctrlKey&&p)return!1;if(!a&&c.type==="touchstart"&&c.touches?.length>1)return c.preventDefault(),!1;if(!f&&!r&&!h&&p||!o&&(c.type==="mousedown"||c.type==="touchstart")||Array.isArray(o)&&!o.includes(c.button)&&c.type==="mousedown")return!1;let m=Array.isArray(o)&&o.includes(c.button)||!c.button||c.button<=1;return(!c.ctrlKey||p)&&m}}function cS({domNode:t,minZoom:e,maxZoom:a,translateExtent:o,viewport:r,onPanZoom:n,onPanZoomStart:s,onPanZoomEnd:i,onDraggingChange:l}){let u={isZoomingOrPanning:!1,usedRightMouseButton:!1,prevViewport:{},mouseButton:0,timerId:void 0,panScrollTimeout:void 0,isPanScrolling:!1},d=t.getBoundingClientRect(),c=ic().scaleExtent([e,a]).translateExtent(o),f=ct(t).call(c);y({x:r.x,y:r.y,zoom:ss(r.zoom,e,a)},[[0,0],[d.width,d.height]],o);let h=f.on("wheel.zoom"),p=f.on("dblclick.zoom");c.wheelDelta(dS);async function m(A,P){return f?new Promise(H=>{c?.interpolate(P?.interpolate==="linear"?Co:jr).transform(Gm(f,P?.duration,P?.ease,()=>H(!0)),A)}):!1}function g({noWheelClassName:A,noPanClassName:P,onPaneContextMenu:H,userSelectionActive:M,panOnScroll:T,panOnDrag:R,panOnScrollMode:E,panOnScrollSpeed:q,preventScrolling:B,zoomOnPinch:D,zoomOnScroll:N,zoomOnDoubleClick:U,zoomActivationKeyPressed:$,lib:_,onTransformChange:W,connectionInProgress:G,paneClickDistance:O,selectionOnDrag:F}){M&&!u.isZoomingOrPanning&&x();let V=T&&!$&&!M;c.clickDistance(F?1/0:!pa(O)||O<0?0:O);let ie=V?hN({zoomPanValues:u,noWheelClassName:A,d3Selection:f,d3Zoom:c,panOnScrollMode:E,panOnScrollSpeed:q,zoomOnPinch:D,onPanZoomStart:s,onPanZoom:n,onPanZoomEnd:i}):pN({noWheelClassName:A,preventScrolling:B,d3ZoomHandler:h});f.on("wheel.zoom",ie,{passive:!1});let le=mN({zoomPanValues:u,onDraggingChange:l,onPanZoomStart:s});c.on("start",le);let J=gN({zoomPanValues:u,panOnDrag:R,onPaneContextMenu:!!H,onPanZoom:n,onTransformChange:W});c.on("zoom",J);let ne=xN({zoomPanValues:u,panOnDrag:R,panOnScroll:T,onPaneContextMenu:H,onPanZoomEnd:i,onDraggingChange:l});c.on("end",ne);let de=bN({zoomActivationKeyPressed:$,panOnDrag:R,zoomOnScroll:N,panOnScroll:T,zoomOnDoubleClick:U,zoomOnPinch:D,userSelectionActive:M,noPanClassName:P,noWheelClassName:A,lib:_,connectionInProgress:G});c.filter(de),U?f.on("dblclick.zoom",p):f.on("dblclick.zoom",null)}function x(){c.on("zoom",null)}async function y(A,P,H){let M=Vm(A),T=c?.constrain()(M,P,H);return T&&await m(T),T}async function b(A,P){let H=Vm(A);return await m(H,P),H}function C(A){if(f){let P=Vm(A),H=f.property("__zoom");(H.k!==A.zoom||H.x!==A.x||H.y!==A.y)&&c?.transform(f,P,null,{sync:!0})}}function I(){let A=f?Hi(f.node()):{x:0,y:0,k:1};return{x:A.x,y:A.y,zoom:A.k}}async function v(A,P){return f?new Promise(H=>{c?.interpolate(P?.interpolate==="linear"?Co:jr).scaleTo(Gm(f,P?.duration,P?.ease,()=>H(!0)),A)}):!1}async function L(A,P){return f?new Promise(H=>{c?.interpolate(P?.interpolate==="linear"?Co:jr).scaleBy(Gm(f,P?.duration,P?.ease,()=>H(!0)),A)}):!1}function S(A){c?.scaleExtent(A)}function k(A){c?.translateExtent(A)}function z(A){let P=!pa(A)||A<0?0:A;c?.clickDistance(P)}return{update:g,destroy:x,setViewport:b,setViewportConstrained:y,getViewport:I,scaleTo:v,scaleBy:L,setScaleExtent:S,setTranslateExtent:k,syncViewport:C,setClickDistance:z}}var tr;(function(t){t.Line="line",t.Handle="handle"})(tr||(tr={}));function wN({width:t,prevWidth:e,height:a,prevHeight:o,affectsX:r,affectsY:n}){let s=t-e,i=a-o,l=[s>0?1:s<0?-1:0,i>0?1:i<0?-1:0];return s&&r&&(l[0]=l[0]*-1),i&&n&&(l[1]=l[1]*-1),l}function Nv(t){let e=t.includes("right")||t.includes("left"),a=t.includes("bottom")||t.includes("top"),o=t.includes("left"),r=t.includes("top");return{isHorizontal:e,isVertical:a,affectsX:o,affectsY:r}}function Zo(t,e){return Math.max(0,e-t)}function Yo(t,e){return Math.max(0,t-e)}function uc(t,e,a){return Math.max(0,e-t,t-a)}function _v(t,e){return t?!e:e}function yN(t,e,a,o,r,n,s,i){let{affectsX:l,affectsY:u}=e,{isHorizontal:d,isVertical:c}=e,f=d&&c,{xSnapped:h,ySnapped:p}=a,{minWidth:m,maxWidth:g,minHeight:x,maxHeight:y}=o,{x:b,y:C,width:I,height:v,aspectRatio:L}=t,S=Math.floor(d?h-t.pointerX:0),k=Math.floor(c?p-t.pointerY:0),z=I+(l?-S:S),A=v+(u?-k:k),P=-n[0]*I,H=-n[1]*v,M=uc(z,m,g),T=uc(A,x,y);if(s){let q=0,B=0;l&&S<0?q=Zo(b+S+P,s[0][0]):!l&&S>0&&(q=Yo(b+z+P,s[1][0])),u&&k<0?B=Zo(C+k+H,s[0][1]):!u&&k>0&&(B=Yo(C+A+H,s[1][1])),M=Math.max(M,q),T=Math.max(T,B)}if(i){let q=0,B=0;l&&S>0?q=Yo(b+S,i[0][0]):!l&&S<0&&(q=Zo(b+z,i[1][0])),u&&k>0?B=Yo(C+k,i[0][1]):!u&&k<0&&(B=Zo(C+A,i[1][1])),M=Math.max(M,q),T=Math.max(T,B)}if(r){if(d){let q=uc(z/L,x,y)*L;if(M=Math.max(M,q),s){let B=0;!l&&!u||l&&!u&&f?B=Yo(C+H+z/L,s[1][1])*L:B=Zo(C+H+(l?S:-S)/L,s[0][1])*L,M=Math.max(M,B)}if(i){let B=0;!l&&!u||l&&!u&&f?B=Zo(C+z/L,i[1][1])*L:B=Yo(C+(l?S:-S)/L,i[0][1])*L,M=Math.max(M,B)}}if(c){let q=uc(A*L,m,g)/L;if(T=Math.max(T,q),s){let B=0;!l&&!u||u&&!l&&f?B=Yo(b+A*L+P,s[1][0])/L:B=Zo(b+(u?k:-k)*L+P,s[0][0])/L,T=Math.max(T,B)}if(i){let B=0;!l&&!u||u&&!l&&f?B=Zo(b+A*L,i[1][0])/L:B=Yo(b+(u?k:-k)*L,i[0][0])/L,T=Math.max(T,B)}}}k=k+(k<0?T:-T),S=S+(S<0?M:-M),r&&(f?z>A*L?k=(_v(l,u)?-S:S)/L:S=(_v(l,u)?-k:k)*L:d?(k=S/L,u=l):(S=k*L,l=u));let R=l?b+S:b,E=u?C+k:C;return{width:I+(l?-S:S),height:v+(u?-k:k),x:n[0]*S*(l?-1:1)+R,y:n[1]*k*(u?-1:1)+E}}var fS={width:0,height:0,x:0,y:0},LN={...fS,pointerX:0,pointerY:0,aspectRatio:1};function CN(t,e,a){let o=e.position.x+t.position.x,r=e.position.y+t.position.y,n=t.measured.width??0,s=t.measured.height??0,i=a[0]*n,l=a[1]*s;return[[o-i,r-l],[o+n-i,r+s-l]]}function hS({domNode:t,nodeId:e,getStoreItems:a,onChange:o,onEnd:r}){let n=ct(t),s={controlDirection:Nv("bottom-right"),boundaries:{minWidth:0,minHeight:0,maxWidth:Number.MAX_VALUE,maxHeight:Number.MAX_VALUE},resizeDirection:void 0,keepAspectRatio:!1};function i({controlPosition:u,boundaries:d,keepAspectRatio:c,resizeDirection:f,onResizeStart:h,onResize:p,onResizeEnd:m,shouldResize:g}){let x={...fS},y={...LN};s={boundaries:d,resizeDirection:f,keepAspectRatio:c,controlDirection:Nv(u)};let b,C=null,I=[],v,L,S,k=!1,z=zd().on("start",A=>{let{nodeLookup:P,transform:H,snapGrid:M,snapToGrid:T,nodeOrigin:R,paneDomNode:E}=a();if(b=P.get(e),!b)return;C=E?.getBoundingClientRect()??null;let{xSnapped:q,ySnapped:B}=zi(A.sourceEvent,{transform:H,snapGrid:M,snapToGrid:T,containerBounds:C});x={width:b.measured.width??0,height:b.measured.height??0,x:b.position.x??0,y:b.position.y??0},y={...x,pointerX:q,pointerY:B,aspectRatio:x.width/x.height},v=void 0,L=an(b.extent)?b.extent:void 0,b.parentId&&(b.extent==="parent"||b.expandParent)&&(v=P.get(b.parentId)),v&&b.extent==="parent"&&(L=[[0,0],[v.measured.width,v.measured.height]]),I=[],S=void 0;for(let[D,N]of P)if(N.parentId===e&&(I.push({id:D,position:{...N.position},extent:N.extent}),N.extent==="parent"||N.expandParent)){let U=CN(N,b,N.origin??R);S?S=[[Math.min(U[0][0],S[0][0]),Math.min(U[0][1],S[0][1])],[Math.max(U[1][0],S[1][0]),Math.max(U[1][1],S[1][1])]]:S=U}h?.(A,{...x})}).on("drag",A=>{let{transform:P,snapGrid:H,snapToGrid:M,nodeOrigin:T}=a(),R=zi(A.sourceEvent,{transform:P,snapGrid:H,snapToGrid:M,containerBounds:C}),E=[];if(!b)return;let{x:q,y:B,width:D,height:N}=x,U={},$=b.origin??T,{width:_,height:W,x:G,y:O}=yN(y,s.controlDirection,R,s.boundaries,s.keepAspectRatio,$,L,S),F=_!==D,V=W!==N,ie=G!==q&&F,le=O!==B&&V;if(!ie&&!le&&!F&&!V)return;if((ie||le||$[0]===1||$[1]===1)&&(U.x=ie?G:x.x,U.y=le?O:x.y,x.x=U.x,x.y=U.y,I.length>0)){let Se=G-q,Te=O-B;for(let ht of I)ht.position={x:ht.position.x-Se+$[0]*(_-D),y:ht.position.y-Te+$[1]*(W-N)},E.push(ht)}if((F||V)&&(U.width=F&&(!s.resizeDirection||s.resizeDirection==="horizontal")?_:x.width,U.height=V&&(!s.resizeDirection||s.resizeDirection==="vertical")?W:x.height,x.width=U.width,x.height=U.height),v&&b.expandParent){let Se=$[0]*(U.width??0);U.x&&U.x<Se&&(x.x=Se,y.x=y.x-(U.x-Se));let Te=$[1]*(U.height??0);U.y&&U.y<Te&&(x.y=Te,y.y=y.y-(U.y-Te))}let J=wN({width:x.width,prevWidth:D,height:x.height,prevHeight:N,affectsX:s.controlDirection.affectsX,affectsY:s.controlDirection.affectsY}),ne={...x,direction:J};g?.(A,ne)!==!1&&(k=!0,p?.(A,ne),o(U,E))}).on("end",A=>{k&&(m?.(A,{...x}),r?.({...x}),k=!1)});n.call(z)}function l(){n.on(".drag",null)}return{update:i,destroy:l}}var IS=$P(LS(),1);import zN from"react";var CS=t=>{let e,a=new Set,o=(d,c)=>{let f=typeof d=="function"?d(e):d;if(!Object.is(f,e)){let h=e;e=c??(typeof f!="object"||f===null)?f:Object.assign({},e,f),a.forEach(p=>p(e,h))}},r=()=>e,l={setState:o,getState:r,getInitialState:()=>u,subscribe:d=>(a.add(d),()=>a.delete(d)),destroy:()=>{(import.meta.env?import.meta.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),a.clear()}},u=e=t(o,r,l);return l},vS=t=>t?CS(t):CS;var{useDebugValue:qN}=zN,{useSyncExternalStoreWithSelector:UN}=IS.default,WN=t=>t;function gg(t,e=WN,a){let o=UN(t.subscribe,t.getState,t.getServerState||t.getInitialState,e,a);return qN(o),o}var SS=(t,e)=>{let a=vS(t),o=(r,n=e)=>gg(a,r,n);return Object.assign(o,a),o},kS=(t,e)=>t?SS(t,e):SS;function Ne(t,e){if(Object.is(t,e))return!0;if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;if(t instanceof Map&&e instanceof Map){if(t.size!==e.size)return!1;for(let[o,r]of t)if(!Object.is(r,e.get(o)))return!1;return!0}if(t instanceof Set&&e instanceof Set){if(t.size!==e.size)return!1;for(let o of t)if(!e.has(o))return!1;return!0}let a=Object.keys(t);if(a.length!==Object.keys(e).length)return!1;for(let o of a)if(!Object.prototype.hasOwnProperty.call(e,o)||!Object.is(t[o],e[o]))return!1;return!0}import{createPortal as oZ}from"react-dom";var Pc=yg(null),GN=Pc.Provider,YS=aa.error001("react");function we(t,e){let a=Gi(Pc);if(a===null)throw new Error(YS);return gg(a,t,e)}function Ue(){let t=Gi(Pc);if(t===null)throw new Error(YS);return Fa(()=>({getState:t.getState,setState:t.setState,subscribe:t.subscribe}),[t])}var AS={display:"none"},$N={position:"absolute",width:1,height:1,margin:-1,border:0,padding:0,overflow:"hidden",clip:"rect(0px, 0px, 0px, 0px)",clipPath:"inset(100%)"},JS="react-flow__node-desc",QS="react-flow__edge-desc",XN="react-flow__aria-live",KN=t=>t.ariaLiveMessage,jN=t=>t.ariaLabelConfig;function ZN({rfId:t}){let e=we(KN);return K("div",{id:`${XN}-${t}`,"aria-live":"assertive","aria-atomic":"true",style:$N,children:e})}function YN({rfId:t,disableKeyboardA11y:e}){let a=we(jN);return wt(ko,{children:[K("div",{id:`${JS}-${t}`,style:AS,children:e?a["node.a11yDescription.default"]:a["node.a11yDescription.keyboardDisabled"]}),K("div",{id:`${QS}-${t}`,style:AS,children:a["edge.a11yDescription.default"]}),!e&&K(ZN,{rfId:t})]})}var Dc=ZS(({position:t="top-left",children:e,className:a,style:o,...r},n)=>{let s=`${t}`.split("-");return K("div",{className:Ke(["react-flow__panel",a,...s]),style:o,ref:n,...r,children:e})});Dc.displayName="Panel";function JN({proOptions:t,position:e="bottom-right"}){return t?.hideAttribution?null:K(Dc,{position:e,className:"react-flow__attribution","data-message":"Please only hide this attribution when you are subscribed to React Flow Pro: https://pro.reactflow.dev",children:K("a",{href:"https://reactflow.dev",target:"_blank",rel:"noopener noreferrer","aria-label":"React Flow attribution",children:"React Flow"})})}var QN=t=>{let e=[],a=[];for(let[,o]of t.nodeLookup)o.selected&&e.push(o.internals.userNode);for(let[,o]of t.edgeLookup)o.selected&&a.push(o);return{selectedNodes:e,selectedEdges:a}},kc=t=>t.id;function e_(t,e){return Ne(t.selectedNodes.map(kc),e.selectedNodes.map(kc))&&Ne(t.selectedEdges.map(kc),e.selectedEdges.map(kc))}function t_({onSelectionChange:t}){let e=Ue(),{selectedNodes:a,selectedEdges:o}=we(QN,e_);return Re(()=>{let r={nodes:a,edges:o};t?.(r),e.getState().onSelectionChangeHandlers.forEach(n=>n(r))},[a,o,t]),null}var a_=t=>!!t.onSelectionChangeHandlers;function o_({onSelectionChange:t}){let e=we(a_);return t||e?K(t_,{onSelectionChange:t}):null}var eI=[0,0],r_={x:0,y:0,zoom:1},n_=["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"],MS=[...n_,"rfId"],s_=t=>({setNodes:t.setNodes,setEdges:t.setEdges,setMinZoom:t.setMinZoom,setMaxZoom:t.setMaxZoom,setTranslateExtent:t.setTranslateExtent,setNodeExtent:t.setNodeExtent,reset:t.reset,setDefaultNodesAndEdges:t.setDefaultNodesAndEdges}),PS={translateExtent:is,nodeOrigin:eI,minZoom:.5,maxZoom:2,elementsSelectable:!0,noPanClassName:"nopan",rfId:"1"};function i_(t){let{setNodes:e,setEdges:a,setMinZoom:o,setMaxZoom:r,setTranslateExtent:n,setNodeExtent:s,reset:i,setDefaultNodesAndEdges:l}=we(s_,Ne),u=Ue();Re(()=>(l(t.defaultNodes,t.defaultEdges),()=>{d.current=PS,i()}),[]);let d=Ie(PS);return Re(()=>{for(let c of MS){let f=t[c],h=d.current[c];f!==h&&(typeof t[c]>"u"||(c==="nodes"?e(f):c==="edges"?a(f):c==="minZoom"?o(f):c==="maxZoom"?r(f):c==="translateExtent"?n(f):c==="nodeExtent"?s(f):c==="ariaLabelConfig"?u.setState({ariaLabelConfig:Gv(f)}):c==="fitView"?u.setState({fitViewQueued:f}):c==="fitViewOptions"?u.setState({fitViewOptions:f}):u.setState({[c]:f})))}d.current=t},MS.map(c=>t[c])),null}function DS(){return typeof window>"u"||!window.matchMedia?null:window.matchMedia("(prefers-color-scheme: dark)")}function l_(t){let[e,a]=Qa(t==="system"?null:t);return Re(()=>{if(t!=="system"){a(t);return}let o=DS(),r=()=>a(o?.matches?"dark":"light");return r(),o?.addEventListener("change",r),()=>{o?.removeEventListener("change",r)}},[t]),e!==null?e:DS()?.matches?"dark":"light"}var RS=typeof document<"u"?document:null;function Vi(t=null,e={target:RS,actInsideInputWithModifier:!0}){let[a,o]=Qa(!1),r=Ie(!1),n=Ie(new Set([])),[s,i]=Fa(()=>{if(t!==null){let u=(Array.isArray(t)?t:[t]).filter(c=>typeof c=="string").map(c=>c.replace("+",`
22
22
  `).replace(`
23
23
 
24
24
  `,`
25
25
  +`).split(`
26
- `)),d=u.reduce((c,f)=>c.concat(...f),[]);return[u,d]}return[[],[]]},[t]);return De(()=>{let l=e?.target??wS,u=e?.actInsideInputWithModifier??!0;if(t!==null){let d=h=>{if(r.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!r.current||r.current&&!u)&&Zm(h))return!1;let m=LS(h.code,i);if(n.current.add(h[m]),yS(s,n.current,!1)){let g=h.composedPath?.()?.[0]||h.target,x=g?.nodeName==="BUTTON"||g?.nodeName==="A";e.preventDefault!==!1&&(r.current||!x)&&h.preventDefault(),o(!0)}},c=h=>{let p=LS(h.code,i);yS(s,n.current,!0)?(o(!1),n.current.clear()):n.current.delete(h[p]),h.key==="Meta"&&n.current.clear(),r.current=!1},f=()=>{n.current.clear(),o(!1)};return l?.addEventListener("keydown",d),l?.addEventListener("keyup",c),window.addEventListener("blur",f),window.addEventListener("contextmenu",f),()=>{l?.removeEventListener("keydown",d),l?.removeEventListener("keyup",c),window.removeEventListener("blur",f),window.removeEventListener("contextmenu",f)}}},[t,o]),a}function yS(t,e,a){return t.filter(o=>a||o.length===e.size).some(o=>o.every(r=>e.has(r)))}function LS(t,e){return e.includes(t)?"code":"key"}var $N=()=>{let t=qe();return Ta(()=>({zoomIn:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1.2,e):!1},zoomOut:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1/1.2,e):!1},zoomTo:async(e,a)=>{let{panZoom:o}=t.getState();return o?o.scaleTo(e,a):!1},getZoom:()=>t.getState().transform[2],setViewport:async(e,a)=>{let{transform:[o,r,n],panZoom:s}=t.getState();return s?(await s.setViewport({x:e.x??o,y:e.y??r,zoom:e.zoom??n},a),!0):!1},getViewport:()=>{let[e,a,o]=t.getState().transform;return{x:e,y:a,zoom:o}},setCenter:async(e,a,o)=>t.getState().setCenter(e,a,o),fitBounds:async(e,a)=>{let{width:o,height:r,minZoom:n,maxZoom:s,panZoom:i}=t.getState(),l=Bi(e,o,r,n,s,a?.padding??.1);return i?(await i.setViewport(l,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),!0):!1},screenToFlowPosition:(e,a={})=>{let{transform:o,snapGrid:r,snapToGrid:n,domNode:s}=t.getState();if(!s)return e;let{x:i,y:l}=s.getBoundingClientRect(),u={x:e.x-i,y:e.y-l},d=a.snapGrid??r,c=a.snapToGrid??n;return en(u,o,c,d)},flowToScreenPosition:e=>{let{transform:a,domNode:o}=t.getState();if(!o)return e;let{x:r,y:n}=o.getBoundingClientRect(),s=Yr(e,a);return{x:s.x+r,y:s.y+n}}}),[])};function WS(t,e){let a=[],o=new Map,r=[];for(let n of t)if(n.type==="add"){r.push(n);continue}else if(n.type==="remove"||n.type==="replace")o.set(n.id,[n]);else{let s=o.get(n.id);s?s.push(n):o.set(n.id,[n])}for(let n of e){let s=o.get(n.id);if(!s){a.push(n);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){a.push({...s[0].item});continue}let i={...n};for(let l of s)XN(l,i);a.push(i)}return r.length&&r.forEach(n=>{n.index!==void 0?a.splice(n.index,0,{...n.item}):a.push({...n.item})}),a}function XN(t,e){switch(t.type){case"select":{e.selected=t.selected;break}case"position":{typeof t.position<"u"&&(e.position=t.position),typeof t.dragging<"u"&&(e.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(e.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(e.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(e.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(e.resizing=t.resizing);break}}}function KN(t,e){return WS(t,e)}function jN(t,e){return WS(t,e)}function tn(t,e){return{id:t,type:"select",selected:e}}function ls(t,e=new Set,a=!1){let o=[];for(let[r,n]of t){let s=e.has(r);!(n.selected===void 0&&!s)&&n.selected!==s&&(a&&(n.selected=s),o.push(tn(n.id,s)))}return o}function CS({items:t=[],lookup:e}){let a=[],o=new Map(t.map(r=>[r.id,r]));for(let[r,n]of t.entries()){let s=e.get(n.id),i=s?.internals?.userNode??s;i!==void 0&&i!==n&&a.push({id:n.id,item:n,type:"replace"}),i===void 0&&a.push({item:n,type:"add",index:r})}for(let[r]of e)o.get(r)===void 0&&a.push({id:r,type:"remove"});return a}function vS(t){return{id:t.id,type:"remove"}}var ZN=$m("React Flow","https://reactflow.dev/");function YN(t,e,a={}){return Ov(t,e,{...a,onError:a.onError??ZN})}var SS=t=>Av(t),JN=t=>zm(t);function VS(t){return _S(t)}var QN=typeof window<"u"?AN:De;function IS(t){let[e,a]=Za(BigInt(0)),[o]=Za(()=>e_(()=>a(r=>r+BigInt(1))));return QN(()=>{let r=o.get();r.length&&(t(r),o.reset())},[e]),o}function e_(t){let e=[];return{get:()=>e,reset:()=>{e=[]},push:a=>{e.push(a),t()}}}var GS=ug(null);function t_({children:t}){let e=qe(),a=Ya(i=>{let{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:c,nodeLookup:f,fitViewQueued:h,onNodesChangeMiddlewareMap:p}=e.getState(),m=l;for(let x of i)m=typeof x=="function"?x(m):x;let g=CS({items:m,lookup:f});for(let x of p.values())g=x(g);d&&u(m),g.length>0?c?.(g):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:x,nodes:y,setNodes:w}=e.getState();x&&w(y)})},[]),o=IS(a),r=Ya(i=>{let{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:c,edgeLookup:f}=e.getState(),h=l;for(let p of i)h=typeof p=="function"?p(h):p;d?u(h):c&&c(CS({items:h,lookup:f}))},[]),n=IS(r),s=Ta(()=>({nodeQueue:o,edgeQueue:n}),[]);return K(GS.Provider,{value:s,children:t})}function a_(){let t=Ni(GS);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}var o_=t=>!!t.panZoom;function _i(){let t=$N(),e=qe(),a=a_(),o=be(o_),r=Ta(()=>{let n=c=>e.getState().nodeLookup.get(c),s=c=>{a.nodeQueue.push(c)},i=c=>{a.edgeQueue.push(c)},l=c=>{let{nodeLookup:f,nodeOrigin:h}=e.getState(),p=SS(c)?c:f.get(c.id),m=p.parentId?Xm(p.position,p.measured,p.parentId,f,h):p.position,g={...p,position:m,width:p.measured?.width??p.width,height:p.measured?.height??p.height};return Qr(g)},u=(c,f,h={replace:!1})=>{s(p=>p.map(m=>{if(m.id===c){let g=typeof f=="function"?f(m):f;return h.replace&&SS(g)?g:{...m,...g}}return m}))},d=(c,f,h={replace:!1})=>{i(p=>p.map(m=>{if(m.id===c){let g=typeof f=="function"?f(m):f;return h.replace&&JN(g)?g:{...m,...g}}return m}))};return{getNodes:()=>e.getState().nodes.map(c=>({...c})),getNode:c=>n(c)?.internals.userNode,getInternalNode:n,getEdges:()=>{let{edges:c=[]}=e.getState();return c.map(f=>({...f}))},getEdge:c=>e.getState().edgeLookup.get(c),setNodes:s,setEdges:i,addNodes:c=>{let f=Array.isArray(c)?c:[c];a.nodeQueue.push(h=>[...h,...f])},addEdges:c=>{let f=Array.isArray(c)?c:[c];a.edgeQueue.push(h=>[...h,...f])},toObject:()=>{let{nodes:c=[],edges:f=[],transform:h}=e.getState(),[p,m,g]=h;return{nodes:c.map(x=>({...x})),edges:f.map(x=>({...x})),viewport:{x:p,y:m,zoom:g}}},deleteElements:async({nodes:c=[],edges:f=[]})=>{let{nodes:h,edges:p,onNodesDelete:m,onEdgesDelete:g,triggerNodeChanges:x,triggerEdgeChanges:y,onDelete:w,onBeforeDelete:C}=e.getState(),{nodes:I,edges:v}=await Dv({nodesToRemove:c,edgesToRemove:f,nodes:h,edges:p,onBeforeDelete:C}),L=v.length>0,S=I.length>0;if(L){let A=v.map(vS);g?.(v),y(A)}if(S){let A=I.map(vS);m?.(I),x(A)}return(S||L)&&w?.({nodes:I,edges:v}),{deletedNodes:I,deletedEdges:v}},getIntersectingNodes:(c,f=!0,h)=>{let p=Gm(c),m=p?c:l(c),g=h!==void 0;return m?(h||e.getState().nodes).filter(x=>{let y=e.getState().nodeLookup.get(x.id);if(y&&!p&&(x.id===c.id||!y.internals.positionAbsolute))return!1;let w=Qr(g?x:y),C=rs(w,m);return f&&C>0||C>=w.width*w.height||C>=m.width*m.height}):[]},isNodeIntersecting:(c,f,h=!0)=>{let m=Gm(c)?c:l(c);if(!m)return!1;let g=rs(m,f);return h&&g>0||g>=f.width*f.height||g>=m.width*m.height},updateNode:u,updateNodeData:(c,f,h={replace:!1})=>{u(c,p=>{let m=typeof f=="function"?f(p):f;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},updateEdge:d,updateEdgeData:(c,f,h={replace:!1})=>{d(c,p=>{let m=typeof f=="function"?f(p):f;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},getNodesBounds:c=>{let{nodeLookup:f,nodeOrigin:h}=e.getState();return Um(c,{nodeLookup:f,nodeOrigin:h})},getHandleConnections:({type:c,id:f,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}-${c}${f?`-${f}`:""}`)?.values()??[]),getNodeConnections:({type:c,handleId:f,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}${c?f?`-${c}-${f}`:`-${c}`:""}`)?.values()??[]),fitView:async c=>{let f=e.getState().fitViewResolver??Tv();return e.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:f}),a.nodeQueue.push(h=>[...h]),f.promise}}},[]);return Ta(()=>({...r,...t,viewportInitialized:o}),[o])}var kS=t=>t.selected,r_=typeof window<"u"?window:void 0;function n_({deleteKeyCode:t,multiSelectionKeyCode:e}){let a=qe(),{deleteElements:o}=_i(),r=Oi(t,{actInsideInputWithModifier:!1}),n=Oi(e,{target:r_});De(()=>{if(r){let{edges:s,nodes:i}=a.getState();o({nodes:i.filter(kS),edges:s.filter(kS)}),a.setState({nodesSelectionActive:!1})}},[r]),De(()=>{a.setState({multiSelectionActive:n})},[n])}function s_(t){let e=qe();De(()=>{let a=()=>{if(!t.current||!(t.current.checkVisibility?.()??!0))return!1;let o=nc(t.current);(o.height===0||o.width===0)&&e.getState().onError?.("004",Yt.error004()),e.setState({width:o.width||500,height:o.height||500})};if(t.current){a(),window.addEventListener("resize",a);let o=new ResizeObserver(()=>a());return o.observe(t.current),()=>{window.removeEventListener("resize",a),o&&t.current&&o.unobserve(t.current)}}},[])}var yc={position:"absolute",width:"100%",height:"100%",top:0,left:0},i_=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function l_({onPaneContextMenu:t,zoomOnScroll:e=!0,zoomOnPinch:a=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:n=Lo.Free,zoomOnDoubleClick:s=!0,panOnDrag:i=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:c,zoomActivationKeyCode:f,preventScrolling:h=!0,children:p,noWheelClassName:m,noPanClassName:g,onViewportChange:x,isControlledViewport:y,paneClickDistance:w,selectionOnDrag:C}){let I=qe(),v=Se(null),{userSelectionActive:L,lib:S,connectionInProgress:A}=be(i_,Oe),H=Oi(f),M=Se();s_(v);let R=Ya(z=>{x?.({x:z[0],y:z[1],zoom:z[2]}),y||I.setState({transform:z})},[x,y]);return De(()=>{if(v.current){M.current=Qv({domNode:v.current,minZoom:d,maxZoom:c,translateExtent:u,viewport:l,onDraggingChange:D=>I.setState(E=>E.paneDragging===D?E:{paneDragging:D}),onPanZoomStart:(D,E)=>{let{onViewportChangeStart:q,onMoveStart:B}=I.getState();B?.(D,E),q?.(E)},onPanZoom:(D,E)=>{let{onViewportChange:q,onMove:B}=I.getState();B?.(D,E),q?.(E)},onPanZoomEnd:(D,E)=>{let{onViewportChangeEnd:q,onMoveEnd:B}=I.getState();B?.(D,E),q?.(E)}});let{x:z,y:k,zoom:T}=M.current.getViewport();return I.setState({panZoom:M.current,transform:[z,k,T],domNode:v.current.closest(".react-flow")}),()=>{M.current?.destroy()}}},[]),De(()=>{M.current?.update({onPaneContextMenu:t,zoomOnScroll:e,zoomOnPinch:a,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:n,zoomOnDoubleClick:s,panOnDrag:i,zoomActivationKeyPressed:H,preventScrolling:h,noPanClassName:g,userSelectionActive:L,noWheelClassName:m,lib:S,onTransformChange:R,connectionInProgress:A,selectionOnDrag:C,paneClickDistance:w})},[t,e,a,o,r,n,s,i,H,h,g,L,m,S,R,A,C,w]),K("div",{className:"react-flow__renderer",ref:v,style:yc,children:p})}var u_=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function d_(){let{userSelectionActive:t,userSelectionRect:e}=be(u_,Oe);return t&&e?K("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}var sg=(t,e)=>a=>{a.target===e.current&&t?.(a)},c_=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,connectionInProgress:t.connection.inProgress,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function f_({isSelecting:t,selectionKeyPressed:e,selectionMode:a=jr.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:n,selectionOnDrag:s,onSelectionStart:i,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:c,onPaneMouseEnter:f,onPaneMouseMove:h,onPaneMouseLeave:p,children:m}){let g=Se(0),x=qe(),{userSelectionActive:y,elementsSelectable:w,dragging:C,connectionInProgress:I,panBy:v,autoPanSpeed:L}=be(c_,Oe),S=w&&(t||y),A=Se(null),H=Se(),M=Se(new Set),R=Se(new Set),z=Se(!1),k=Se({x:0,y:0}),T=Se(!1),D=F=>{if(z.current||I){z.current=!1;return}u?.(F),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},E=F=>{if(Array.isArray(o)&&o?.includes(2)){F.preventDefault();return}d?.(F)},q=c?F=>c(F):void 0,B=F=>{z.current&&(F.stopPropagation(),z.current=!1)},P=F=>{let{domNode:V,transform:ie}=x.getState();if(H.current=V?.getBoundingClientRect(),!H.current)return;let le=F.target===A.current;if(!le&&!!F.target.closest(".nokey")||!t||!(s&&le||e)||F.button!==0||!F.isPrimary)return;F.target?.setPointerCapture?.(F.pointerId),z.current=!1;let{x:ue,y:ve}=ca(F.nativeEvent,H.current),Re=en({x:ue,y:ve},ie);x.setState({userSelectionRect:{width:0,height:0,startX:Re.x,startY:Re.y,x:ue,y:ve}}),le||(F.stopPropagation(),F.preventDefault())};function N(F,V){let{userSelectionRect:ie}=x.getState();if(!ie)return;let{transform:le,nodeLookup:J,edgeLookup:ne,connectionLookup:ue,triggerNodeChanges:ve,triggerEdgeChanges:Re,defaultEdgeOptions:ct}=x.getState(),ga={x:ie.startX,y:ie.startY},{x:wt,y:ea}=Yr(ga,le),ee={startX:ga.x,startY:ga.y,x:F<wt?F:wt,y:V<ea?V:ea,width:Math.abs(F-wt),height:Math.abs(V-ea)},Ue=M.current,it=R.current;M.current=new Set(ec(J,ee,le,a===jr.Partial,!0).map(Gt=>Gt.id)),R.current=new Set;let so=ct?.selectable??!0;for(let Gt of M.current){let io=ue.get(Gt);if(io)for(let{edgeId:lo}of io.values()){let pr=ne.get(lo);pr&&(pr.selectable??so)&&R.current.add(lo)}}if(!Km(Ue,M.current)){let Gt=ls(J,M.current,!0);ve(Gt)}if(!Km(it,R.current)){let Gt=ls(ne,R.current);Re(Gt)}x.setState({userSelectionRect:ee,userSelectionActive:!0,nodesSelectionActive:!1})}function U(){if(!r||!H.current)return;let[F,V]=tc(k.current,H.current,L);v({x:F,y:V}).then(ie=>{if(!z.current||!ie){g.current=requestAnimationFrame(U);return}let{x:le,y:J}=k.current;N(le,J),g.current=requestAnimationFrame(U)})}let $=()=>{cancelAnimationFrame(g.current),g.current=0,T.current=!1};De(()=>()=>$(),[]);let _=F=>{let{userSelectionRect:V,transform:ie,resetSelectedElements:le}=x.getState();if(!H.current||!V)return;let{x:J,y:ne}=ca(F.nativeEvent,H.current);k.current={x:J,y:ne};let ue=Yr({x:V.startX,y:V.startY},ie);if(!z.current){let ve=e?0:n;if(Math.hypot(J-ue.x,ne-ue.y)<=ve)return;le(),i?.(F)}z.current=!0,T.current||(U(),T.current=!0),N(J,ne)},W=F=>{F.button===0&&(F.target?.releasePointerCapture?.(F.pointerId),!y&&F.target===A.current&&x.getState().userSelectionRect&&D?.(F),x.setState({userSelectionActive:!1,userSelectionRect:null}),z.current&&(l?.(F),x.setState({nodesSelectionActive:M.current.size>0})),$())},G=F=>{F.target?.releasePointerCapture?.(F.pointerId),$()},O=o===!0||Array.isArray(o)&&o.includes(0);return gt("div",{className:$e(["react-flow__pane",{draggable:O,dragging:C,selection:t}]),onClick:S?void 0:sg(D,A),onContextMenu:sg(E,A),onWheel:sg(q,A),onPointerEnter:S?void 0:f,onPointerMove:S?_:h,onPointerUp:S?W:void 0,onPointerCancel:S?G:void 0,onPointerDownCapture:S?P:void 0,onClickCapture:S?B:void 0,onPointerLeave:p,ref:A,style:yc,children:[m,K(d_,{})]})}function lg({id:t,store:e,unselect:a=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:n,multiSelectionActive:s,nodeLookup:i,onError:l}=e.getState(),u=i.get(t);if(!u){l?.("012",Yt.error012(t));return}e.setState({nodesSelectionActive:!1}),u.selected?(a||u.selected&&s)&&(n({nodes:[u],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([t])}function $S({nodeRef:t,disabled:e=!1,noDragClassName:a,handleSelector:o,nodeId:r,isSelectable:n,nodeClickDistance:s}){let i=qe(),[l,u]=Za(!1),d=Se();return De(()=>{d.current=Gv({getStoreItems:()=>i.getState(),onNodeMouseDown:c=>{lg({id:c,store:i,nodeRef:t})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),De(()=>{if(!(e||!t.current||!d.current))return d.current.update({noDragClassName:a,handleSelector:o,domNode:t.current,isSelectable:n,nodeId:r,nodeClickDistance:s}),()=>{d.current?.destroy()}},[a,o,e,n,t,r,s]),l}var h_=t=>e=>e.selected&&(e.draggable||t&&typeof e.draggable>"u");function XS(){let t=qe();return Ya(a=>{let{nodeExtent:o,snapToGrid:r,snapGrid:n,nodesDraggable:s,onError:i,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=t.getState(),c=new Map,f=h_(s),h=r?n[0]:5,p=r?n[1]:5,m=a.direction.x*h*a.factor,g=a.direction.y*p*a.factor;for(let[,x]of u){if(!f(x))continue;let y={x:x.internals.positionAbsolute.x+m,y:x.internals.positionAbsolute.y+g};r&&(y=ns(y,n));let{position:w,positionAbsolute:C}=Wm({nodeId:x.id,nextPosition:y,nodeLookup:u,nodeExtent:o,nodeOrigin:d,onError:i});x.position=w,x.internals.positionAbsolute=C,c.set(x.id,x)}l(c)},[])}var dg=ug(null),p_=dg.Provider;dg.Consumer;var KS=()=>Ni(dg),m_=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),g_=(t,e,a)=>o=>{let{connectionClickStartHandle:r,connectionMode:n,connection:s}=o,{fromHandle:i,toHandle:l,isValid:u}=s,d=l?.nodeId===t&&l?.id===e&&l?.type===a;return{connectingFrom:i?.nodeId===t&&i?.id===e&&i?.type===a,connectingTo:d,clickConnecting:r?.nodeId===t&&r?.id===e&&r?.type===a,isPossibleEndHandle:n===jo.Strict?i?.type!==a:t!==i?.nodeId||e!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!r,valid:d&&u}};function x_({type:t="source",position:e=se.Top,isValidConnection:a,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:n=!0,id:s,onConnect:i,children:l,className:u,onMouseDown:d,onTouchStart:c,...f},h){let p=s||null,m=t==="target",g=qe(),x=KS(),{connectOnClick:y,noPanClassName:w,rfId:C}=be(m_,Oe),{connectingFrom:I,connectingTo:v,clickConnecting:L,isPossibleEndHandle:S,connectionInProcess:A,clickConnectionInProcess:H,valid:M}=be(g_(x,p,t),Oe);x||g.getState().onError?.("010",Yt.error010());let R=T=>{let{defaultEdgeOptions:D,onConnect:E,hasDefaultEdges:q}=g.getState(),B={...D,...T};if(q){let{edges:P,setEdges:N,onError:U}=g.getState();N(YN(B,P,{onError:U}))}E?.(B),i?.(B)},z=T=>{if(!x)return;let D=Ym(T.nativeEvent);if(r&&(D&&T.button===0||!D)){let E=g.getState();fc.onPointerDown(T.nativeEvent,{handleDomNode:T.currentTarget,autoPanOnConnect:E.autoPanOnConnect,connectionMode:E.connectionMode,connectionRadius:E.connectionRadius,domNode:E.domNode,nodeLookup:E.nodeLookup,lib:E.lib,isTarget:m,handleId:p,nodeId:x,flowId:E.rfId,panBy:E.panBy,cancelConnection:E.cancelConnection,onConnectStart:E.onConnectStart,onConnectEnd:(...q)=>g.getState().onConnectEnd?.(...q),updateConnection:E.updateConnection,onConnect:R,isValidConnection:a||((...q)=>g.getState().isValidConnection?.(...q)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:E.autoPanSpeed,dragThreshold:E.connectionDragThreshold})}D?d?.(T):c?.(T)},k=T=>{let{onClickConnectStart:D,onClickConnectEnd:E,connectionClickStartHandle:q,connectionMode:B,isValidConnection:P,lib:N,rfId:U,nodeLookup:$,connection:_}=g.getState();if(!x||!q&&!r)return;if(!q){D?.(T.nativeEvent,{nodeId:x,handleId:p,handleType:t}),g.setState({connectionClickStartHandle:{nodeId:x,type:t,id:p}});return}let W=jm(T.target),G=a||P,{connection:O,isValid:F}=fc.isValid(T.nativeEvent,{handle:{nodeId:x,id:p,type:t},connectionMode:B,fromNodeId:q.nodeId,fromHandleId:q.id||null,fromType:q.type,isValidConnection:G,flowId:U,doc:W,lib:N,nodeLookup:$});F&&O&&R(O);let V=structuredClone(_);delete V.inProgress,V.toPosition=V.toHandle?V.toHandle.position:null,E?.(T,V),g.setState({connectionClickStartHandle:null})};return K("div",{"data-handleid":p,"data-nodeid":x,"data-handlepos":e,"data-id":`${C}-${x}-${p}-${t}`,className:$e(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",w,u,{source:!m,target:m,connectable:o,connectablestart:r,connectableend:n,clickconnecting:L,connectingfrom:I,connectingto:v,valid:M,connectionindicator:o&&(!A||S)&&(A||H?n:r)}]),onMouseDown:z,onTouchStart:z,onClick:y?k:void 0,ref:h,...f,children:l})}var Co=Ye(VS(x_));function b_({data:t,isConnectable:e,sourcePosition:a=se.Bottom}){return gt(vo,{children:[t?.label,K(Co,{type:"source",position:a,isConnectable:e})]})}function w_({data:t,isConnectable:e,targetPosition:a=se.Top,sourcePosition:o=se.Bottom}){return gt(vo,{children:[K(Co,{type:"target",position:a,isConnectable:e}),t?.label,K(Co,{type:"source",position:o,isConnectable:e})]})}function y_(){return null}function L_({data:t,isConnectable:e,targetPosition:a=se.Top}){return gt(vo,{children:[K(Co,{type:"target",position:a,isConnectable:e}),t?.label]})}var xc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},AS={input:b_,default:w_,output:L_,group:y_};function C_(t){return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??t.style?.width,height:t.height??t.initialHeight??t.style?.height}:{width:t.width??t.style?.width,height:t.height??t.style?.height}}var v_=t=>{let{width:e,height:a,x:o,y:r}=os(t.nodeLookup,{filter:n=>!!n.selected});return{width:da(e)?e:null,height:da(a)?a:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${o}px,${r}px)`}};function S_({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:a}){let o=qe(),{width:r,height:n,transformString:s,userSelectionActive:i}=be(v_,Oe),l=XS(),u=Se(null);De(()=>{a||u.current?.focus({preventScroll:!0})},[a]);let d=!i&&r!==null&&n!==null;if($S({nodeRef:u,disabled:!d}),!d)return null;let c=t?h=>{let p=o.getState().nodes.filter(m=>m.selected);t(h,p)}:void 0,f=h=>{Object.prototype.hasOwnProperty.call(xc,h.key)&&(h.preventDefault(),l({direction:xc[h.key],factor:h.shiftKey?4:1}))};return K("div",{className:$e(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s},children:K("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:a?void 0:-1,onKeyDown:a?void 0:f,style:{width:r,height:n}})})}var MS=typeof window<"u"?window:void 0,I_=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function jS({children:t,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,paneClickDistance:i,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:c,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:p,panActivationKeyCode:m,zoomActivationKeyCode:g,elementsSelectable:x,zoomOnScroll:y,zoomOnPinch:w,panOnScroll:C,panOnScrollSpeed:I,panOnScrollMode:v,zoomOnDoubleClick:L,panOnDrag:S,autoPanOnSelection:A,defaultViewport:H,translateExtent:M,minZoom:R,maxZoom:z,preventScrolling:k,onSelectionContextMenu:T,noWheelClassName:D,noPanClassName:E,disableKeyboardA11y:q,onViewportChange:B,isControlledViewport:P}){let{nodesSelectionActive:N,userSelectionActive:U}=be(I_,Oe),$=Oi(u,{target:MS}),_=Oi(m,{target:MS}),W=_||S,G=_||C,O=d&&W!==!0,F=$||U||O;return n_({deleteKeyCode:l,multiSelectionKeyCode:p}),K(l_,{onPaneContextMenu:n,elementsSelectable:x,zoomOnScroll:y,zoomOnPinch:w,panOnScroll:G,panOnScrollSpeed:I,panOnScrollMode:v,zoomOnDoubleClick:L,panOnDrag:!$&&W,defaultViewport:H,translateExtent:M,minZoom:R,maxZoom:z,zoomActivationKeyCode:g,preventScrolling:k,noWheelClassName:D,noPanClassName:E,onViewportChange:B,isControlledViewport:P,paneClickDistance:i,selectionOnDrag:O,children:gt(f_,{onSelectionStart:f,onSelectionEnd:h,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,panOnDrag:W,autoPanOnSelection:A,isSelecting:!!F,selectionMode:c,selectionKeyPressed:$,paneClickDistance:i,selectionOnDrag:O,children:[t,N&&K(S_,{onSelectionContextMenu:T,noPanClassName:E,disableKeyboardA11y:q})]})})}jS.displayName="FlowRenderer";var k_=Ye(jS),A_=t=>e=>t?ec(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(a=>a.id):Array.from(e.nodeLookup.keys());function M_(t){return be(Ya(A_(t),[t]),Oe)}var P_=t=>t.updateNodeInternals;function D_(){let t=be(P_),[e]=Za(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(a=>{let o=new Map;a.forEach(r=>{let n=r.target.getAttribute("data-id");o.set(n,{id:n,nodeElement:r.target,force:!0})}),t(o)}));return De(()=>()=>{e?.disconnect()},[e]),e}function R_({node:t,nodeType:e,hasDimensions:a,resizeObserver:o}){let r=qe(),n=Se(null),s=Se(null),i=Se(t.sourcePosition),l=Se(t.targetPosition),u=Se(e),d=a&&!!t.internals.handleBounds;return De(()=>{n.current&&!t.hidden&&(!d||s.current!==n.current)&&(s.current&&o?.unobserve(s.current),o?.observe(n.current),s.current=n.current)},[d,t.hidden]),De(()=>()=>{s.current&&(o?.unobserve(s.current),s.current=null)},[]),De(()=>{if(n.current){let c=u.current!==e,f=i.current!==t.sourcePosition,h=l.current!==t.targetPosition;(c||f||h)&&(u.current=e,i.current=t.sourcePosition,l.current=t.targetPosition,r.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:n.current,force:!0}]])))}},[t.id,e,t.sourcePosition,t.targetPosition]),n}function T_({id:t,onClick:e,onMouseEnter:a,onMouseMove:o,onMouseLeave:r,onContextMenu:n,onDoubleClick:s,nodesDraggable:i,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:c,noDragClassName:f,noPanClassName:h,disableKeyboardA11y:p,rfId:m,nodeTypes:g,nodeClickDistance:x,onError:y}){let{node:w,internals:C,isParent:I}=be(F=>{let V=F.nodeLookup.get(t),ie=F.parentLookup.has(t);return{node:V,internals:V.internals,isParent:ie}},Oe),v=w.type||"default",L=g?.[v]||AS[v];L===void 0&&(y?.("003",Yt.error003(v)),v="default",L=g?.default||AS.default);let S=!!(w.draggable||i&&typeof w.draggable>"u"),A=!!(w.selectable||l&&typeof w.selectable>"u"),H=!!(w.connectable||u&&typeof w.connectable>"u"),M=!!(w.focusable||d&&typeof w.focusable>"u"),R=qe(),z=rc(w),k=R_({node:w,nodeType:v,hasDimensions:z,resizeObserver:c}),T=$S({nodeRef:k,disabled:w.hidden||!S,noDragClassName:f,handleSelector:w.dragHandle,nodeId:t,isSelectable:A,nodeClickDistance:x}),D=XS();if(w.hidden)return null;let E=Ka(w),q=C_(w),B=A||S||e||a||o||r,P=a?F=>a(F,{...C.userNode}):void 0,N=o?F=>o(F,{...C.userNode}):void 0,U=r?F=>r(F,{...C.userNode}):void 0,$=n?F=>n(F,{...C.userNode}):void 0,_=s?F=>s(F,{...C.userNode}):void 0,W=F=>{let{selectNodesOnDrag:V,nodeDragThreshold:ie}=R.getState();A&&(!V||!S||ie>0)&&lg({id:t,store:R,nodeRef:k}),e&&e(F,{...C.userNode})},G=F=>{if(!(Zm(F.nativeEvent)||p)){if(Om.includes(F.key)&&A){let V=F.key==="Escape";lg({id:t,store:R,unselect:V,nodeRef:k})}else if(S&&w.selected&&Object.prototype.hasOwnProperty.call(xc,F.key)){F.preventDefault();let{ariaLabelConfig:V}=R.getState();R.setState({ariaLiveMessage:V["node.a11yDescription.ariaLiveMessage"]({direction:F.key.replace("Arrow","").toLowerCase(),x:~~C.positionAbsolute.x,y:~~C.positionAbsolute.y})}),D({direction:xc[F.key],factor:F.shiftKey?4:1})}}},O=()=>{if(p||!k.current?.matches(":focus-visible"))return;let{transform:F,width:V,height:ie,autoPanOnNodeFocus:le,setCenter:J}=R.getState();if(!le)return;ec(new Map([[t,w]]),{x:0,y:0,width:V,height:ie},F,!0).length>0||J(w.position.x+E.width/2,w.position.y+E.height/2,{zoom:F[2]})};return K("div",{className:$e(["react-flow__node",`react-flow__node-${v}`,{[h]:S},w.className,{selected:w.selected,selectable:A,parent:I,draggable:S,dragging:T}]),ref:k,style:{zIndex:C.z,transform:`translate(${C.positionAbsolute.x}px,${C.positionAbsolute.y}px)`,pointerEvents:B?"all":"none",visibility:z?"visible":"hidden",...w.style,...q},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:P,onMouseMove:N,onMouseLeave:U,onContextMenu:$,onClick:W,onDoubleClick:_,onKeyDown:M?G:void 0,tabIndex:M?0:void 0,onFocus:M?O:void 0,role:w.ariaRole??(M?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${zS}-${m}`,"aria-label":w.ariaLabel,...w.domAttributes,children:K(p_,{value:t,children:K(L,{id:t,data:w.data,type:v,positionAbsoluteX:C.positionAbsolute.x,positionAbsoluteY:C.positionAbsolute.y,selected:w.selected??!1,selectable:A,draggable:S,deletable:w.deletable??!0,isConnectable:H,sourcePosition:w.sourcePosition,targetPosition:w.targetPosition,dragging:T,dragHandle:w.dragHandle,zIndex:C.z,parentId:w.parentId,...E})})})}var E_=Ye(T_),B_=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function ZS(t){let{nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,onError:n}=be(B_,Oe),s=M_(t.onlyRenderVisibleElements),i=D_();return K("div",{className:"react-flow__nodes",style:yc,children:s.map(l=>K(E_,{id:l,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:i,nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:t.nodeClickDistance,onError:n},l))})}ZS.displayName="NodeRenderer";var F_=Ye(ZS);function O_(t){return be(Ya(a=>{if(!t)return a.edges.map(r=>r.id);let o=[];if(a.width&&a.height)for(let r of a.edges){let n=a.nodeLookup.get(r.source),s=a.nodeLookup.get(r.target);n&&s&&Fv({sourceNode:n,targetNode:s,width:a.width,height:a.height,transform:a.transform})&&o.push(r.id)}return o},[t]),Oe)}var N_=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t}};return K("polyline",{className:"arrow",style:a,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},__=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t,fill:t}};return K("polyline",{className:"arrowclosed",style:a,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},PS={[Zo.Arrow]:N_,[Zo.ArrowClosed]:__};function H_(t){let e=qe();return Ta(()=>Object.prototype.hasOwnProperty.call(PS,t)?PS[t]:(e.getState().onError?.("009",Yt.error009(t)),null),[t])}var z_=({id:t,type:e,color:a,width:o=12.5,height:r=12.5,markerUnits:n="strokeWidth",strokeWidth:s,orient:i="auto-start-reverse"})=>{let l=H_(e);return l?K("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:n,orient:i,refX:"0",refY:"0",children:K(l,{color:a,strokeWidth:s})}):null},YS=({defaultColor:t,rfId:e})=>{let a=be(n=>n.edges),o=be(n=>n.defaultEdgeOptions),r=Ta(()=>_v(a,{id:e,defaultColor:t,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[a,o,e,t]);return r.length?K("svg",{className:"react-flow__marker","aria-hidden":"true",children:K("defs",{children:r.map(n=>K(z_,{id:n.id,type:n.type,color:n.color,width:n.width,height:n.height,markerUnits:n.markerUnits,strokeWidth:n.strokeWidth,orient:n.orient},n.id))})}):null};YS.displayName="MarkerDefinitions";var q_=Ye(YS);function JS({x:t,y:e,label:a,labelStyle:o,labelShowBg:r=!0,labelBgStyle:n,labelBgPadding:s=[2,4],labelBgBorderRadius:i=2,children:l,className:u,...d}){let[c,f]=Za({x:1,y:0,width:0,height:0}),h=$e(["react-flow__edge-textwrapper",u]),p=Se(null);return De(()=>{if(p.current){let m=p.current.getBBox();f({x:m.x,y:m.y,width:m.width,height:m.height})}},[a]),a?gt("g",{transform:`translate(${t-c.width/2} ${e-c.height/2})`,className:h,visibility:c.width?"visible":"hidden",...d,children:[r&&K("rect",{width:c.width+2*s[0],x:-s[0],y:-s[1],height:c.height+2*s[1],className:"react-flow__edge-textbg",style:n,rx:i,ry:i}),K("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:p,style:o,children:a}),l]}):null}JS.displayName="EdgeText";var U_=Ye(JS);function Lc({path:t,labelX:e,labelY:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return gt(vo,{children:[K("path",{...d,d:t,fill:"none",className:$e(["react-flow__edge-path",d.className])}),u?K("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&da(e)&&da(a)?K(U_,{x:e,y:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l}):null]})}function DS({pos:t,x1:e,y1:a,x2:o,y2:r}){return t===se.Left||t===se.Right?[.5*(e+o),a]:[e,.5*(a+r)]}function QS({sourceX:t,sourceY:e,sourcePosition:a=se.Bottom,targetX:o,targetY:r,targetPosition:n=se.Top}){let[s,i]=DS({pos:a,x1:t,y1:e,x2:o,y2:r}),[l,u]=DS({pos:n,x1:o,y1:r,x2:t,y2:e}),[d,c,f,h]=sc({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:s,sourceControlY:i,targetControlX:l,targetControlY:u});return[`M${t},${e} C${s},${i} ${l},${u} ${o},${r}`,d,c,f,h]}function eI(t){return Ye(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s,targetPosition:i,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})=>{let[y,w,C]=QS({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i}),I=t.isInternal?void 0:e;return K(Lc,{id:I,path:y,labelX:w,labelY:C,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})})}var W_=eI({isInternal:!1}),tI=eI({isInternal:!0});W_.displayName="SimpleBezierEdge";tI.displayName="SimpleBezierEdgeInternal";function aI(t){return Ye(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,sourcePosition:h=se.Bottom,targetPosition:p=se.Top,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:y})=>{let[w,C,I]=Fi({sourceX:a,sourceY:o,sourcePosition:h,targetX:r,targetY:n,targetPosition:p,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),v=t.isInternal?void 0:e;return K(Lc,{id:v,path:w,labelX:C,labelY:I,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,markerEnd:m,markerStart:g,interactionWidth:y})})}var oI=aI({isInternal:!1}),rI=aI({isInternal:!0});oI.displayName="SmoothStepEdge";rI.displayName="SmoothStepEdgeInternal";function nI(t){return Ye(({id:e,...a})=>{let o=t.isInternal?void 0:e;return K(oI,{...a,id:o,pathOptions:Ta(()=>({borderRadius:0,offset:a.pathOptions?.offset}),[a.pathOptions?.offset])})})}var V_=nI({isInternal:!1}),sI=nI({isInternal:!0});V_.displayName="StepEdge";sI.displayName="StepEdgeInternal";function iI(t){return Ye(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:m})=>{let[g,x,y]=lc({sourceX:a,sourceY:o,targetX:r,targetY:n}),w=t.isInternal?void 0:e;return K(Lc,{id:w,path:g,labelX:x,labelY:y,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:m})})}var G_=iI({isInternal:!1}),lI=iI({isInternal:!0});G_.displayName="StraightEdge";lI.displayName="StraightEdgeInternal";function uI(t){return Ye(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s=se.Bottom,targetPosition:i=se.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:y})=>{let[w,C,I]=ic({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i,curvature:x?.curvature}),v=t.isInternal?void 0:e;return K(Lc,{id:v,path:w,labelX:C,labelY:I,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:y})})}var $_=uI({isInternal:!1}),dI=uI({isInternal:!0});$_.displayName="BezierEdge";dI.displayName="BezierEdgeInternal";var RS={default:dI,straight:lI,step:sI,smoothstep:rI,simplebezier:tI},TS={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},X_=(t,e,a)=>a===se.Left?t-e:a===se.Right?t+e:t,K_=(t,e,a)=>a===se.Top?t-e:a===se.Bottom?t+e:t,ES="react-flow__edgeupdater";function BS({position:t,centerX:e,centerY:a,radius:o=10,onMouseDown:r,onMouseEnter:n,onMouseOut:s,type:i}){return K("circle",{onMouseDown:r,onMouseEnter:n,onMouseOut:s,className:$e([ES,`${ES}-${i}`]),cx:X_(e,o,t),cy:K_(a,o,t),r:o,stroke:"transparent",fill:"transparent"})}function j_({isReconnectable:t,reconnectRadius:e,edge:a,sourceX:o,sourceY:r,targetX:n,targetY:s,sourcePosition:i,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:c,setReconnecting:f,setUpdateHover:h}){let p=qe(),m=(C,I)=>{if(C.button!==0)return;let{autoPanOnConnect:v,domNode:L,connectionMode:S,connectionRadius:A,lib:H,onConnectStart:M,cancelConnection:R,nodeLookup:z,rfId:k,panBy:T,updateConnection:D}=p.getState(),E=I.type==="target",q=(N,U)=>{f(!1),c?.(N,a,I.type,U)},B=N=>u?.(a,N),P=(N,U)=>{f(!0),d?.(C,a,I.type),M?.(N,U)};fc.onPointerDown(C.nativeEvent,{autoPanOnConnect:v,connectionMode:S,connectionRadius:A,domNode:L,handleId:I.id,nodeId:I.nodeId,nodeLookup:z,isTarget:E,edgeUpdaterType:I.type,lib:H,flowId:k,cancelConnection:R,panBy:T,isValidConnection:(...N)=>p.getState().isValidConnection?.(...N)??!0,onConnect:B,onConnectStart:P,onConnectEnd:(...N)=>p.getState().onConnectEnd?.(...N),onReconnectEnd:q,updateConnection:D,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:C.currentTarget})},g=C=>m(C,{nodeId:a.target,id:a.targetHandle??null,type:"target"}),x=C=>m(C,{nodeId:a.source,id:a.sourceHandle??null,type:"source"}),y=()=>h(!0),w=()=>h(!1);return gt(vo,{children:[(t===!0||t==="source")&&K(BS,{position:i,centerX:o,centerY:r,radius:e,onMouseDown:g,onMouseEnter:y,onMouseOut:w,type:"source"}),(t===!0||t==="target")&&K(BS,{position:l,centerX:n,centerY:s,radius:e,onMouseDown:x,onMouseEnter:y,onMouseOut:w,type:"target"})]})}function Z_({id:t,edgesFocusable:e,edgesReconnectable:a,elementsSelectable:o,onClick:r,onDoubleClick:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:c,onReconnectStart:f,onReconnectEnd:h,rfId:p,edgeTypes:m,noPanClassName:g,onError:x,disableKeyboardA11y:y}){let w=be(J=>J.edgeLookup.get(t)),C=be(J=>J.defaultEdgeOptions);w=C?{...C,...w}:w;let I=w.type||"default",v=m?.[I]||RS[I];v===void 0&&(x?.("011",Yt.error011(I)),I="default",v=m?.default||RS.default);let L=!!(w.focusable||e&&typeof w.focusable>"u"),S=typeof c<"u"&&(w.reconnectable||a&&typeof w.reconnectable>"u"),A=!!(w.selectable||o&&typeof w.selectable>"u"),H=Se(null),[M,R]=Za(!1),[z,k]=Za(!1),T=qe(),{zIndex:D,sourceX:E,sourceY:q,targetX:B,targetY:P,sourcePosition:N,targetPosition:U}=be(Ya(J=>{let ne=J.nodeLookup.get(w.source),ue=J.nodeLookup.get(w.target);if(!ne||!ue)return{zIndex:w.zIndex,...TS};let ve=Nv({id:t,sourceNode:ne,targetNode:ue,sourceHandle:w.sourceHandle||null,targetHandle:w.targetHandle||null,connectionMode:J.connectionMode,onError:x});return{zIndex:Bv({selected:w.selected,zIndex:w.zIndex,sourceNode:ne,targetNode:ue,elevateOnSelect:J.elevateEdgesOnSelect,zIndexMode:J.zIndexMode}),...ve||TS}},[w.source,w.target,w.sourceHandle,w.targetHandle,w.selected,w.zIndex]),Oe),$=Ta(()=>w.markerStart?`url('#${uc(w.markerStart,p)}')`:void 0,[w.markerStart,p]),_=Ta(()=>w.markerEnd?`url('#${uc(w.markerEnd,p)}')`:void 0,[w.markerEnd,p]);if(w.hidden||E===null||q===null||B===null||P===null)return null;let W=J=>{let{addSelectedEdges:ne,unselectNodesAndEdges:ue,multiSelectionActive:ve}=T.getState();A&&(T.setState({nodesSelectionActive:!1}),w.selected&&ve?(ue({nodes:[],edges:[w]}),H.current?.blur()):ne([t])),r&&r(J,w)},G=n?J=>{n(J,{...w})}:void 0,O=s?J=>{s(J,{...w})}:void 0,F=i?J=>{i(J,{...w})}:void 0,V=l?J=>{l(J,{...w})}:void 0,ie=u?J=>{u(J,{...w})}:void 0,le=J=>{if(!y&&Om.includes(J.key)&&A){let{unselectNodesAndEdges:ne,addSelectedEdges:ue}=T.getState();J.key==="Escape"?(H.current?.blur(),ne({edges:[w]})):ue([t])}};return K("svg",{style:{zIndex:D},children:gt("g",{className:$e(["react-flow__edge",`react-flow__edge-${I}`,w.className,g,{selected:w.selected,animated:w.animated,inactive:!A&&!r,updating:M,selectable:A}]),onClick:W,onDoubleClick:G,onContextMenu:O,onMouseEnter:F,onMouseMove:V,onMouseLeave:ie,onKeyDown:L?le:void 0,tabIndex:L?0:void 0,role:w.ariaRole??(L?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":w.ariaLabel===null?void 0:w.ariaLabel||`Edge from ${w.source} to ${w.target}`,"aria-describedby":L?`${qS}-${p}`:void 0,ref:H,...w.domAttributes,children:[!z&&K(v,{id:t,source:w.source,target:w.target,type:w.type,selected:w.selected,animated:w.animated,selectable:A,deletable:w.deletable??!0,label:w.label,labelStyle:w.labelStyle,labelShowBg:w.labelShowBg,labelBgStyle:w.labelBgStyle,labelBgPadding:w.labelBgPadding,labelBgBorderRadius:w.labelBgBorderRadius,sourceX:E,sourceY:q,targetX:B,targetY:P,sourcePosition:N,targetPosition:U,data:w.data,style:w.style,sourceHandleId:w.sourceHandle,targetHandleId:w.targetHandle,markerStart:$,markerEnd:_,pathOptions:"pathOptions"in w?w.pathOptions:void 0,interactionWidth:w.interactionWidth}),S&&K(j_,{edge:w,isReconnectable:S,reconnectRadius:d,onReconnect:c,onReconnectStart:f,onReconnectEnd:h,sourceX:E,sourceY:q,targetX:B,targetY:P,sourcePosition:N,targetPosition:U,setUpdateHover:R,setReconnecting:k})]})})}var Y_=Ye(Z_),J_=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function cI({defaultMarkerColor:t,onlyRenderVisibleElements:e,rfId:a,edgeTypes:o,noPanClassName:r,onReconnect:n,onEdgeContextMenu:s,onEdgeMouseEnter:i,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:c,onEdgeDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,disableKeyboardA11y:m}){let{edgesFocusable:g,edgesReconnectable:x,elementsSelectable:y,onError:w}=be(J_,Oe),C=O_(e);return gt("div",{className:"react-flow__edges",children:[K(q_,{defaultColor:t,rfId:a}),C.map(I=>K(Y_,{id:I,edgesFocusable:g,edgesReconnectable:x,elementsSelectable:y,noPanClassName:r,onReconnect:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:c,onDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,rfId:a,onError:w,edgeTypes:o,disableKeyboardA11y:m},I))]})}cI.displayName="EdgeRenderer";var Q_=Ye(cI),eH=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function tH({children:t}){let e=be(eH);return K("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:e},children:t})}function aH(t){let e=_i(),a=Se(!1);De(()=>{!a.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),a.current=!0)},[t,e.viewportInitialized])}var oH=t=>t.panZoom?.syncViewport;function rH(t){let e=be(oH),a=qe();return De(()=>{t&&(e?.(t),a.setState({transform:[t.x,t.y,t.zoom]}))},[t,e]),null}function FS(t){return t.connection.inProgress?{...t.connection,to:en(t.connection.to,t.transform)}:{...t.connection}}function nH(t){return t?a=>{let o=FS(a);return t(o)}:FS}function sH(t){let e=nH(t);return be(e,Oe)}var iH=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function lH({containerStyle:t,style:e,type:a,component:o}){let{nodesConnectable:r,width:n,height:s,isValid:i,inProgress:l}=be(iH,Oe);return!(n&&r&&l)?null:K("svg",{style:t,width:n,height:s,className:"react-flow__connectionline react-flow__container",children:K("g",{className:$e(["react-flow__connection",Hm(i)]),children:K(fI,{style:e,type:a,CustomComponent:o,isValid:i})})})}var fI=({style:t,type:e=Xa.Bezier,CustomComponent:a,isValid:o})=>{let{inProgress:r,from:n,fromNode:s,fromHandle:i,fromPosition:l,to:u,toNode:d,toHandle:c,toPosition:f,pointer:h}=sH();if(!r)return;if(a)return K(a,{connectionLineType:e,connectionLineStyle:t,fromNode:s,fromHandle:i,fromX:n.x,fromY:n.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:f,connectionStatus:Hm(o),toNode:d,toHandle:c,pointer:h});let p="",m={sourceX:n.x,sourceY:n.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:f};switch(e){case Xa.Bezier:[p]=ic(m);break;case Xa.SimpleBezier:[p]=QS(m);break;case Xa.Step:[p]=Fi({...m,borderRadius:0});break;case Xa.SmoothStep:[p]=Fi(m);break;default:[p]=lc(m)}return K("path",{d:p,fill:"none",className:"react-flow__connection-path",style:t})};fI.displayName="ConnectionLine";var uH={};function OS(t=uH){let e=Se(t),a=qe();De(()=>{},[t])}function dH(){let t=qe(),e=Se(!1);De(()=>{},[])}function hI({nodeTypes:t,edgeTypes:e,onInit:a,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:n,onEdgeDoubleClick:s,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:c,onSelectionStart:f,onSelectionEnd:h,connectionLineType:p,connectionLineStyle:m,connectionLineComponent:g,connectionLineContainerStyle:x,selectionKeyCode:y,selectionOnDrag:w,selectionMode:C,multiSelectionKeyCode:I,panActivationKeyCode:v,zoomActivationKeyCode:L,deleteKeyCode:S,onlyRenderVisibleElements:A,elementsSelectable:H,defaultViewport:M,translateExtent:R,minZoom:z,maxZoom:k,preventScrolling:T,defaultMarkerColor:D,zoomOnScroll:E,zoomOnPinch:q,panOnScroll:B,panOnScrollSpeed:P,panOnScrollMode:N,zoomOnDoubleClick:U,panOnDrag:$,autoPanOnSelection:_,onPaneClick:W,onPaneMouseEnter:G,onPaneMouseMove:O,onPaneMouseLeave:F,onPaneScroll:V,onPaneContextMenu:ie,paneClickDistance:le,nodeClickDistance:J,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:ve,onEdgeMouseLeave:Re,reconnectRadius:ct,onReconnect:ga,onReconnectStart:wt,onReconnectEnd:ea,noDragClassName:ee,noWheelClassName:Ue,noPanClassName:it,disableKeyboardA11y:so,nodeExtent:Gt,rfId:io,viewport:lo,onViewportChange:pr}){return OS(t),OS(e),dH(),aH(a),rH(lo),K(k_,{onPaneClick:W,onPaneMouseEnter:G,onPaneMouseMove:O,onPaneMouseLeave:F,onPaneContextMenu:ie,onPaneScroll:V,paneClickDistance:le,deleteKeyCode:S,selectionKeyCode:y,selectionOnDrag:w,selectionMode:C,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:I,panActivationKeyCode:v,zoomActivationKeyCode:L,elementsSelectable:H,zoomOnScroll:E,zoomOnPinch:q,zoomOnDoubleClick:U,panOnScroll:B,panOnScrollSpeed:P,panOnScrollMode:N,panOnDrag:$,autoPanOnSelection:_,defaultViewport:M,translateExtent:R,minZoom:z,maxZoom:k,onSelectionContextMenu:c,preventScrolling:T,noDragClassName:ee,noWheelClassName:Ue,noPanClassName:it,disableKeyboardA11y:so,onViewportChange:pr,isControlledViewport:!!lo,children:gt(tH,{children:[K(Q_,{edgeTypes:e,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:ga,onReconnectStart:wt,onReconnectEnd:ea,onlyRenderVisibleElements:A,onEdgeContextMenu:ne,onEdgeMouseEnter:ue,onEdgeMouseMove:ve,onEdgeMouseLeave:Re,reconnectRadius:ct,defaultMarkerColor:D,noPanClassName:it,disableKeyboardA11y:so,rfId:io}),K(lH,{style:m,type:p,component:g,containerStyle:x}),K("div",{className:"react-flow__edgelabel-renderer"}),K(F_,{nodeTypes:t,onNodeClick:o,onNodeDoubleClick:n,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:J,onlyRenderVisibleElements:A,noPanClassName:it,noDragClassName:ee,disableKeyboardA11y:so,nodeExtent:Gt,rfId:io}),K("div",{className:"react-flow__viewport-portal"})]})})}hI.displayName="GraphView";var cH=Ye(hI),fH=$m("React Flow","https://reactflow.dev/"),NS=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:c,zIndexMode:f="basic"}={})=>{let h=new Map,p=new Map,m=new Map,g=new Map,x=o??e??[],y=a??t??[],w=d??[0,0],C=c??as;og(m,g,x);let{nodesInitialized:I}=dc(y,h,p,{nodeOrigin:w,nodeExtent:C,zIndexMode:f}),v=[0,0,1];if(s&&r&&n){let L=os(h,{filter:M=>!!((M.width||M.initialWidth)&&(M.height||M.initialHeight))}),{x:S,y:A,zoom:H}=Bi(L,r,n,l,u,i?.padding??.1);v=[S,A,H]}return{rfId:"1",width:r??0,height:n??0,transform:v,nodes:y,nodesInitialized:I,nodeLookup:h,parentLookup:p,edges:x,edgeLookup:g,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:a!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:as,nodeExtent:C,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:jo.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:w,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:i,fitViewResolver:null,connection:{..._m},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:fH,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Nm,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},hH=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:c,zIndexMode:f})=>pS((h,p)=>{async function m(){let{nodeLookup:g,panZoom:x,fitViewOptions:y,fitViewResolver:w,width:C,height:I,minZoom:v,maxZoom:L}=p();x&&(await Pv({nodes:g,width:C,height:I,panZoom:x,minZoom:v,maxZoom:L},y),w?.resolve(!0),h({fitViewResolver:null}))}return{...NS({nodes:t,edges:e,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:c,defaultNodes:a,defaultEdges:o,zIndexMode:f}),setNodes:g=>{let{nodeLookup:x,parentLookup:y,nodeOrigin:w,elevateNodesOnSelect:C,fitViewQueued:I,zIndexMode:v,nodesSelectionActive:L}=p(),{nodesInitialized:S,hasSelectedNodes:A}=dc(g,x,y,{nodeOrigin:w,nodeExtent:c,elevateNodesOnSelect:C,checkEquality:!0,zIndexMode:v}),H=L&&A;I&&S?(m(),h({nodes:g,nodesInitialized:S,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:H})):h({nodes:g,nodesInitialized:S,nodesSelectionActive:H})},setEdges:g=>{let{connectionLookup:x,edgeLookup:y}=p();og(x,y,g),h({edges:g})},setDefaultNodesAndEdges:(g,x)=>{if(g){let{setNodes:y}=p();y(g),h({hasDefaultNodes:!0})}if(x){let{setEdges:y}=p();y(x),h({hasDefaultEdges:!0})}},updateNodeInternals:g=>{let{triggerNodeChanges:x,nodeLookup:y,parentLookup:w,domNode:C,nodeOrigin:I,nodeExtent:v,debug:L,fitViewQueued:S,zIndexMode:A}=p(),{changes:H,updatedInternals:M}=Uv(g,y,w,C,I,v,A);M&&(zv(y,w,{nodeOrigin:I,nodeExtent:v,zIndexMode:A}),S?(m(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),H?.length>0&&(L&&console.log("React Flow: trigger node changes",H),x?.(H)))},updateNodePositions:(g,x=!1)=>{let y=[],w=[],{nodeLookup:C,triggerNodeChanges:I,connection:v,updateConnection:L,onNodesChangeMiddlewareMap:S}=p();for(let[A,H]of g){let M=C.get(A),R=!!(M?.expandParent&&M?.parentId&&H?.position),z={id:A,type:"position",position:R?{x:Math.max(0,H.position.x),y:Math.max(0,H.position.y)}:H.position,dragging:x};if(M&&v.inProgress&&v.fromNode.id===M.id){let k=Yo(M,v.fromHandle,se.Left,!0);L({...v,from:k})}R&&M.parentId&&y.push({id:A,parentId:M.parentId,rect:{...H.internals.positionAbsolute,width:H.measured.width??0,height:H.measured.height??0}}),w.push(z)}if(y.length>0){let{parentLookup:A,nodeOrigin:H}=p(),M=cc(y,C,A,H);w.push(...M)}for(let A of S.values())w=A(w);I(w)},triggerNodeChanges:g=>{let{onNodesChange:x,setNodes:y,nodes:w,hasDefaultNodes:C,debug:I}=p();if(g?.length){if(C){let v=KN(g,w);y(v)}I&&console.log("React Flow: trigger node changes",g),x?.(g)}},triggerEdgeChanges:g=>{let{onEdgesChange:x,setEdges:y,edges:w,hasDefaultEdges:C,debug:I}=p();if(g?.length){if(C){let v=jN(g,w);y(v)}I&&console.log("React Flow: trigger edge changes",g),x?.(g)}},addSelectedNodes:g=>{let{multiSelectionActive:x,edgeLookup:y,nodeLookup:w,triggerNodeChanges:C,triggerEdgeChanges:I}=p();if(x){let v=g.map(L=>tn(L,!0));C(v);return}C(ls(w,new Set([...g]),!0)),I(ls(y))},addSelectedEdges:g=>{let{multiSelectionActive:x,edgeLookup:y,nodeLookup:w,triggerNodeChanges:C,triggerEdgeChanges:I}=p();if(x){let v=g.map(L=>tn(L,!0));I(v);return}I(ls(y,new Set([...g]))),C(ls(w,new Set,!0))},unselectNodesAndEdges:({nodes:g,edges:x}={})=>{let{edges:y,nodes:w,nodeLookup:C,triggerNodeChanges:I,triggerEdgeChanges:v}=p(),L=g||w,S=x||y,A=[];for(let M of L){if(!M.selected)continue;let R=C.get(M.id);R&&(R.selected=!1),A.push(tn(M.id,!1))}let H=[];for(let M of S)M.selected&&H.push(tn(M.id,!1));I(A),v(H)},setMinZoom:g=>{let{panZoom:x,maxZoom:y}=p();x?.setScaleExtent([g,y]),h({minZoom:g})},setMaxZoom:g=>{let{panZoom:x,minZoom:y}=p();x?.setScaleExtent([y,g]),h({maxZoom:g})},setTranslateExtent:g=>{p().panZoom?.setTranslateExtent(g),h({translateExtent:g})},resetSelectedElements:()=>{let{edges:g,nodes:x,triggerNodeChanges:y,triggerEdgeChanges:w,elementsSelectable:C}=p();if(!C)return;let I=x.reduce((L,S)=>S.selected?[...L,tn(S.id,!1)]:L,[]),v=g.reduce((L,S)=>S.selected?[...L,tn(S.id,!1)]:L,[]);y(I),w(v)},setNodeExtent:g=>{let{nodes:x,nodeLookup:y,parentLookup:w,nodeOrigin:C,elevateNodesOnSelect:I,nodeExtent:v,zIndexMode:L}=p();g[0][0]===v[0][0]&&g[0][1]===v[0][1]&&g[1][0]===v[1][0]&&g[1][1]===v[1][1]||(dc(x,y,w,{nodeOrigin:C,nodeExtent:g,elevateNodesOnSelect:I,checkEquality:!1,zIndexMode:L}),h({nodeExtent:g}))},panBy:g=>{let{transform:x,width:y,height:w,panZoom:C,translateExtent:I}=p();return Wv({delta:g,panZoom:C,transform:x,translateExtent:I,width:y,height:w})},setCenter:async(g,x,y)=>{let{width:w,height:C,maxZoom:I,panZoom:v}=p();if(!v)return!1;let L=typeof y?.zoom<"u"?y.zoom:I;return await v.setViewport({x:w/2-g*L,y:C/2-x*L,zoom:L},{duration:y?.duration,ease:y?.ease,interpolate:y?.interpolate}),!0},cancelConnection:()=>{h({connection:{..._m}})},updateConnection:g=>{h({connection:g})},reset:()=>h({...NS()})}},Object.is);function cg({initialNodes:t,initialEdges:e,defaultNodes:a,defaultEdges:o,initialWidth:r,initialHeight:n,initialMinZoom:s,initialMaxZoom:i,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:c,zIndexMode:f,children:h}){let[p]=Za(()=>hH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:u,minZoom:s,maxZoom:i,fitViewOptions:l,nodeOrigin:d,nodeExtent:c,zIndexMode:f}));return K(MN,{value:p,children:K(t_,{children:h})})}function pH({children:t,nodes:e,edges:a,defaultNodes:o,defaultEdges:r,width:n,height:s,fitView:i,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:c,nodeExtent:f,zIndexMode:h}){return Ni(bc)?K(vo,{children:t}):K(cg,{initialNodes:e,initialEdges:a,defaultNodes:o,defaultEdges:r,initialWidth:n,initialHeight:s,fitView:i,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:c,nodeExtent:f,zIndexMode:h,children:t})}var mH={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function gH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,className:r,nodeTypes:n,edgeTypes:s,onNodeClick:i,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:c,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,onNodeMouseEnter:y,onNodeMouseMove:w,onNodeMouseLeave:C,onNodeContextMenu:I,onNodeDoubleClick:v,onNodeDragStart:L,onNodeDrag:S,onNodeDragStop:A,onNodesDelete:H,onEdgesDelete:M,onDelete:R,onSelectionChange:z,onSelectionDragStart:k,onSelectionDrag:T,onSelectionDragStop:D,onSelectionContextMenu:E,onSelectionStart:q,onSelectionEnd:B,onBeforeDelete:P,connectionMode:N,connectionLineType:U=Xa.Bezier,connectionLineStyle:$,connectionLineComponent:_,connectionLineContainerStyle:W,deleteKeyCode:G="Backspace",selectionKeyCode:O="Shift",selectionOnDrag:F=!1,selectionMode:V=jr.Full,panActivationKeyCode:ie="Space",multiSelectionKeyCode:le=ss()?"Meta":"Control",zoomActivationKeyCode:J=ss()?"Meta":"Control",snapToGrid:ne,snapGrid:ue,onlyRenderVisibleElements:ve=!1,selectNodesOnDrag:Re,nodesDraggable:ct,autoPanOnNodeFocus:ga,nodesConnectable:wt,nodesFocusable:ea,nodeOrigin:ee=US,edgesFocusable:Ue,edgesReconnectable:it,elementsSelectable:so=!0,defaultViewport:Gt=qN,minZoom:io=.5,maxZoom:lo=2,translateExtent:pr=as,preventScrolling:wM=!0,nodeExtent:uf,defaultMarkerColor:yM="#b1b1b7",zoomOnScroll:LM=!0,zoomOnPinch:CM=!0,panOnScroll:vM=!1,panOnScrollSpeed:SM=.5,panOnScrollMode:IM=Lo.Free,zoomOnDoubleClick:kM=!0,panOnDrag:AM=!0,onPaneClick:MM,onPaneMouseEnter:PM,onPaneMouseMove:DM,onPaneMouseLeave:RM,onPaneScroll:TM,onPaneContextMenu:EM,paneClickDistance:BM=1,nodeClickDistance:FM=0,children:OM,onReconnect:NM,onReconnectStart:_M,onReconnectEnd:HM,onEdgeContextMenu:zM,onEdgeDoubleClick:qM,onEdgeMouseEnter:UM,onEdgeMouseMove:WM,onEdgeMouseLeave:VM,reconnectRadius:GM=10,onNodesChange:$M,onEdgesChange:XM,noDragClassName:KM="nodrag",noWheelClassName:jM="nowheel",noPanClassName:Sx="nopan",fitView:Ix,fitViewOptions:kx,connectOnClick:ZM,attributionPosition:YM,proOptions:JM,defaultEdgeOptions:QM,elevateNodesOnSelect:eP=!0,elevateEdgesOnSelect:tP=!1,disableKeyboardA11y:Ax=!1,autoPanOnConnect:aP,autoPanOnNodeDrag:oP,autoPanOnSelection:rP=!0,autoPanSpeed:nP,connectionRadius:sP,isValidConnection:iP,onError:lP,style:uP,id:Mx,nodeDragThreshold:dP,connectionDragThreshold:cP,viewport:fP,onViewportChange:hP,width:pP,height:mP,colorMode:gP="light",debug:xP,onScroll:Px,ariaLabelConfig:bP,zIndexMode:Dx="basic",...wP},yP){let df=Mx||"1",LP=GN(gP),CP=Ya(Rx=>{Rx.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),Px?.(Rx)},[Px]);return K("div",{"data-testid":"rf__wrapper",...wP,onScroll:CP,style:{...uP,...mH},ref:yP,className:$e(["react-flow",r,LP]),id:Mx,role:"application",children:gt(pH,{nodes:t,edges:e,width:pP,height:mP,fitView:Ix,fitViewOptions:kx,minZoom:io,maxZoom:lo,nodeOrigin:ee,nodeExtent:uf,zIndexMode:Dx,children:[K(VN,{nodes:t,edges:e,defaultNodes:a,defaultEdges:o,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,nodesDraggable:ct,autoPanOnNodeFocus:ga,nodesConnectable:wt,nodesFocusable:ea,edgesFocusable:Ue,edgesReconnectable:it,elementsSelectable:so,elevateNodesOnSelect:eP,elevateEdgesOnSelect:tP,minZoom:io,maxZoom:lo,nodeExtent:uf,onNodesChange:$M,onEdgesChange:XM,snapToGrid:ne,snapGrid:ue,connectionMode:N,translateExtent:pr,connectOnClick:ZM,defaultEdgeOptions:QM,fitView:Ix,fitViewOptions:kx,onNodesDelete:H,onEdgesDelete:M,onDelete:R,onNodeDragStart:L,onNodeDrag:S,onNodeDragStop:A,onSelectionDrag:T,onSelectionDragStart:k,onSelectionDragStop:D,onMove:d,onMoveStart:c,onMoveEnd:f,noPanClassName:Sx,nodeOrigin:ee,rfId:df,autoPanOnConnect:aP,autoPanOnNodeDrag:oP,autoPanSpeed:nP,onError:lP,connectionRadius:sP,isValidConnection:iP,selectNodesOnDrag:Re,nodeDragThreshold:dP,connectionDragThreshold:cP,onBeforeDelete:P,debug:xP,ariaLabelConfig:bP,zIndexMode:Dx}),K(cH,{onInit:u,onNodeClick:i,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:w,onNodeMouseLeave:C,onNodeContextMenu:I,onNodeDoubleClick:v,nodeTypes:n,edgeTypes:s,connectionLineType:U,connectionLineStyle:$,connectionLineComponent:_,connectionLineContainerStyle:W,selectionKeyCode:O,selectionOnDrag:F,selectionMode:V,deleteKeyCode:G,multiSelectionKeyCode:le,panActivationKeyCode:ie,zoomActivationKeyCode:J,onlyRenderVisibleElements:ve,defaultViewport:Gt,translateExtent:pr,minZoom:io,maxZoom:lo,preventScrolling:wM,zoomOnScroll:LM,zoomOnPinch:CM,zoomOnDoubleClick:kM,panOnScroll:vM,panOnScrollSpeed:SM,panOnScrollMode:IM,panOnDrag:AM,autoPanOnSelection:rP,onPaneClick:MM,onPaneMouseEnter:PM,onPaneMouseMove:DM,onPaneMouseLeave:RM,onPaneScroll:TM,onPaneContextMenu:EM,paneClickDistance:BM,nodeClickDistance:FM,onSelectionContextMenu:E,onSelectionStart:q,onSelectionEnd:B,onReconnect:NM,onReconnectStart:_M,onReconnectEnd:HM,onEdgeContextMenu:zM,onEdgeDoubleClick:qM,onEdgeMouseEnter:UM,onEdgeMouseMove:WM,onEdgeMouseLeave:VM,reconnectRadius:GM,defaultMarkerColor:yM,noDragClassName:KM,noWheelClassName:jM,noPanClassName:Sx,rfId:df,disableKeyboardA11y:Ax,nodeExtent:uf,viewport:fP,onViewportChange:hP}),K(zN,{onSelectionChange:z}),OM,K(FN,{proOptions:JM,position:YM}),K(BN,{rfId:df,disableKeyboardA11y:Ax})]})})}var pI=VS(gH);var xH=t=>e=>{if(!t.includeHiddenNodes)return e.nodesInitialized;if(e.nodeLookup.size===0)return!1;for(let[,{internals:a}]of e.nodeLookup)if(a.handleBounds===void 0||!rc(a.userNode))return!1;return!0};function mI(t={includeHiddenNodes:!1}){return be(xH(t))}var Dj=Yt.error014();function bH({dimensions:t,lineWidth:e,variant:a,className:o}){return K("path",{strokeWidth:e,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:$e(["react-flow__background-pattern",a,o])})}function wH({radius:t,className:e}){return K("circle",{cx:t,cy:t,r:t,className:$e(["react-flow__background-pattern","dots",e])})}var ja;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(ja||(ja={}));var yH={[ja.Dots]:1,[ja.Lines]:1,[ja.Cross]:6},LH=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function gI({id:t,variant:e=ja.Dots,gap:a=20,size:o,lineWidth:r=1,offset:n=0,color:s,bgColor:i,style:l,className:u,patternClassName:d}){let c=Se(null),{transform:f,patternId:h}=be(LH,Oe),p=o||yH[e],m=e===ja.Dots,g=e===ja.Cross,x=Array.isArray(a)?a:[a,a],y=[x[0]*f[2]||1,x[1]*f[2]||1],w=p*f[2],C=Array.isArray(n)?n:[n,n],I=g?[w,w]:y,v=[C[0]*f[2]||1+I[0]/2,C[1]*f[2]||1+I[1]/2],L=`${h}${t||""}`;return gt("svg",{className:$e(["react-flow__background",u]),style:{...l,...yc,"--xy-background-color-props":i,"--xy-background-pattern-color-props":s},ref:c,"data-testid":"rf__background",children:[K("pattern",{id:L,x:f[0]%y[0],y:f[1]%y[1],width:y[0],height:y[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${v[0]},-${v[1]})`,children:m?K(wH,{radius:w/2,className:d}):K(bH,{dimensions:I,lineWidth:r,variant:e,className:d})}),K("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${L})`})]})}gI.displayName="Background";var xI=Ye(gI);function CH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:K("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function vH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:K("path",{d:"M0 0h32v4.2H0z"})})}function SH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:K("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function IH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:K("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function kH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:K("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function gc({children:t,className:e,...a}){return K("button",{type:"button",className:$e(["react-flow__controls-button",e]),...a,children:t})}var AH=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function bI({style:t,showZoom:e=!0,showFitView:a=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:n,onZoomOut:s,onFitView:i,onInteractiveChange:l,className:u,children:d,position:c="bottom-left",orientation:f="vertical","aria-label":h}){let p=qe(),{isInteractive:m,minZoomReached:g,maxZoomReached:x,ariaLabelConfig:y}=be(AH,Oe),{zoomIn:w,zoomOut:C,fitView:I}=_i(),v=()=>{w(),n?.()},L=()=>{C(),s?.()},S=()=>{I(r),i?.()},A=()=>{p.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),l?.(!m)};return gt(wc,{className:$e(["react-flow__controls",f==="horizontal"?"horizontal":"vertical",u]),position:c,style:t,"data-testid":"rf__controls","aria-label":h??y["controls.ariaLabel"],children:[e&&gt(vo,{children:[K(gc,{onClick:v,className:"react-flow__controls-zoomin",title:y["controls.zoomIn.ariaLabel"],"aria-label":y["controls.zoomIn.ariaLabel"],disabled:x,children:K(CH,{})}),K(gc,{onClick:L,className:"react-flow__controls-zoomout",title:y["controls.zoomOut.ariaLabel"],"aria-label":y["controls.zoomOut.ariaLabel"],disabled:g,children:K(vH,{})})]}),a&&K(gc,{className:"react-flow__controls-fitview",onClick:S,title:y["controls.fitView.ariaLabel"],"aria-label":y["controls.fitView.ariaLabel"],children:K(SH,{})}),o&&K(gc,{className:"react-flow__controls-interactive",onClick:A,title:y["controls.interactive.ariaLabel"],"aria-label":y["controls.interactive.ariaLabel"],children:m?K(kH,{}):K(IH,{})}),d]})}bI.displayName="Controls";var wI=Ye(bI);function MH({id:t,x:e,y:a,width:o,height:r,style:n,color:s,strokeColor:i,strokeWidth:l,className:u,borderRadius:d,shapeRendering:c,selected:f,onClick:h}){let{background:p,backgroundColor:m}=n||{},g=s||p||m;return K("rect",{className:$e(["react-flow__minimap-node",{selected:f},u]),x:e,y:a,rx:d,ry:d,width:o,height:r,style:{fill:g,stroke:i,strokeWidth:l},shapeRendering:c,onClick:h?x=>h(x,t):void 0})}var PH=Ye(MH),DH=t=>t.nodes.map(e=>e.id),ig=t=>t instanceof Function?t:()=>t;function RH({nodeStrokeColor:t,nodeColor:e,nodeClassName:a="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:n=PH,onClick:s}){let i=be(DH,Oe),l=ig(e),u=ig(t),d=ig(a),c=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return K(vo,{children:i.map(f=>K(EH,{id:f,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:n,onClick:s,shapeRendering:c},f))})}function TH({id:t,nodeColorFunc:e,nodeStrokeColorFunc:a,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:n,shapeRendering:s,NodeComponent:i,onClick:l}){let{node:u,x:d,y:c,width:f,height:h}=be(p=>{let m=p.nodeLookup.get(t);if(!m)return{node:void 0,x:0,y:0,width:0,height:0};let g=m.internals.userNode,{x,y}=m.internals.positionAbsolute,{width:w,height:C}=Ka(g);return{node:g,x,y,width:w,height:C}},Oe);return!u||u.hidden||!rc(u)?null:K(i,{x:d,y:c,width:f,height:h,style:u.style,selected:!!u.selected,className:o(u),color:e(u),borderRadius:r,strokeColor:a(u),strokeWidth:n,shapeRendering:s,onClick:l,id:u.id})}var EH=Ye(TH),BH=Ye(RH),FH=200,OH=150,NH=t=>!t.hidden,_H=t=>{let e={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:e,boundingRect:t.nodeLookup.size>0?Vm(os(t.nodeLookup,{filter:NH}),e):e,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},HH="react-flow__minimap-desc";function yI({style:t,className:e,nodeStrokeColor:a,nodeColor:o,nodeClassName:r="",nodeBorderRadius:n=5,nodeStrokeWidth:s,nodeComponent:i,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:c,position:f="bottom-right",onClick:h,onNodeClick:p,pannable:m=!1,zoomable:g=!1,ariaLabel:x,inversePan:y,zoomStep:w=1,offsetScale:C=5}){let I=qe(),v=Se(null),{boundingRect:L,viewBB:S,rfId:A,panZoom:H,translateExtent:M,flowWidth:R,flowHeight:z,ariaLabelConfig:k}=be(_H,Oe),T=t?.width??FH,D=t?.height??OH,E=L.width/T,q=L.height/D,B=Math.max(E,q),P=B*T,N=B*D,U=C*B,$=L.x-(P-L.width)/2-U,_=L.y-(N-L.height)/2-U,W=P+U*2,G=N+U*2,O=`${HH}-${A}`,F=Se(0),V=Se();F.current=B,De(()=>{if(v.current&&H)return V.current=Zv({domNode:v.current,panZoom:H,getTransform:()=>I.getState().transform,getViewScale:()=>F.current}),()=>{V.current?.destroy()}},[H]),De(()=>{V.current?.update({translateExtent:M,width:R,height:z,inversePan:y,pannable:m,zoomStep:w,zoomable:g})},[m,g,y,w,M,R,z]);let ie=h?ne=>{let[ue,ve]=V.current?.pointer(ne)||[0,0];h(ne,{x:ue,y:ve})}:void 0,le=p?Ya((ne,ue)=>{let ve=I.getState().nodeLookup.get(ue).internals.userNode;p(ne,ve)},[]):void 0,J=x??k["minimap.ariaLabel"];return K(wc,{position:f,style:{...t,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*B:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof a=="string"?a:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:$e(["react-flow__minimap",e]),"data-testid":"rf__minimap",children:gt("svg",{width:T,height:D,viewBox:`${$} ${_} ${W} ${G}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":O,ref:v,onClick:ie,children:[J&&K("title",{id:O,children:J}),K(BH,{onClick:le,nodeColor:o,nodeStrokeColor:a,nodeBorderRadius:n,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:i}),K("path",{className:"react-flow__minimap-mask",d:`M${$-U},${_-U}h${W+U*2}v${G+U*2}h${-W-U*2}z
27
- M${S.x},${S.y}h${S.width}v${S.height}h${-S.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}yI.displayName="MiniMap";var Rj=Ye(yI),zH=t=>e=>t?`${Math.max(1/e.transform[2],1)}`:void 0,qH={[Jo.Line]:"right",[Jo.Handle]:"bottom-right"};function UH({nodeId:t,position:e,variant:a=Jo.Handle,className:o,style:r=void 0,children:n,color:s,minWidth:i=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:c=!1,resizeDirection:f,autoScale:h=!0,shouldResize:p,onResizeStart:m,onResize:g,onResizeEnd:x}){let y=KS(),w=typeof t=="string"?t:y,C=qe(),I=Se(null),v=a===Jo.Handle,L=be(Ya(zH(v&&h),[v,h]),Oe),S=Se(null),A=e??qH[a];De(()=>{if(!(!I.current||!w))return S.current||(S.current=tS({domNode:I.current,nodeId:w,getStoreItems:()=>{let{nodeLookup:M,transform:R,snapGrid:z,snapToGrid:k,nodeOrigin:T,domNode:D}=C.getState();return{nodeLookup:M,transform:R,snapGrid:z,snapToGrid:k,nodeOrigin:T,paneDomNode:D}},onChange:(M,R)=>{let{triggerNodeChanges:z,nodeLookup:k,parentLookup:T,nodeOrigin:D}=C.getState(),E=[],q={x:M.x,y:M.y},B=k.get(w);if(B&&B.expandParent&&B.parentId){let P=B.origin??D,N=M.width??B.measured.width??0,U=M.height??B.measured.height??0,$={id:B.id,parentId:B.parentId,rect:{width:N,height:U,...Xm({x:M.x??B.position.x,y:M.y??B.position.y},{width:N,height:U},B.parentId,k,P)}},_=cc([$],k,T,D);E.push(..._),q.x=M.x?Math.max(P[0]*N,M.x):void 0,q.y=M.y?Math.max(P[1]*U,M.y):void 0}if(q.x!==void 0&&q.y!==void 0){let P={id:w,type:"position",position:{...q}};E.push(P)}if(M.width!==void 0&&M.height!==void 0){let N={id:w,type:"dimensions",resizing:!0,setAttributes:f?f==="horizontal"?"width":"height":!0,dimensions:{width:M.width,height:M.height}};E.push(N)}for(let P of R){let N={...P,type:"position"};E.push(N)}z(E)},onEnd:({width:M,height:R})=>{let z={id:w,type:"dimensions",resizing:!1,dimensions:{width:M,height:R}};C.getState().triggerNodeChanges([z])}})),S.current.update({controlPosition:A,boundaries:{minWidth:i,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:c,resizeDirection:f,onResizeStart:m,onResize:g,onResizeEnd:x,shouldResize:p}),()=>{S.current?.destroy()}},[A,i,l,u,d,c,m,g,x,p]);let H=A.split("-");return K("div",{className:$e(["react-flow__resize-control","nodrag",...H,a,o]),ref:I,style:{...r,scale:L,...s&&{[v?"backgroundColor":"borderColor"]:s}},children:n})}var Tj=Ye(UH);import{forwardRef as XH,createElement as KH}from"react";var Cc=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var LI=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var CI=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var fg=t=>{let e=CI(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as $H,createElement as II}from"react";var vc={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var vI=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as WH,useContext as VH,useMemo as Wj,createElement as Vj}from"react";var GH=WH({});var SI=()=>VH(GH);var kI=$H(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:c=!1,color:f="currentColor",className:h=""}=SI()??{},p=o??c?Number(a??d)*24/Number(e??u):a??d;return II("svg",{ref:l,...vc,width:e??u??vc.width,height:e??u??vc.height,stroke:t??f,strokeWidth:p,className:Cc("lucide",h,r),...!n&&!vI(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>II(m,g)),...Array.isArray(n)?n:[n]])});var Qo=(t,e)=>{let a=XH(({className:o,...r},n)=>KH(kI,{ref:n,iconNode:e,className:Cc(`lucide-${LI(fg(t))}`,`lucide-${t}`,o),...r}));return a.displayName=fg(t),a};var jH=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Hi=Qo("database",jH);var ZH=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],zi=Qo("file-text",ZH);var YH=[["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"}]],qi=Qo("key-round",YH);var JH=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Ui=Qo("link-2",JH);import{Fragment as fk,jsx as zt,jsxs as Qa}from"react/jsx-runtime";var zI=Object.defineProperty,QH=(t,e,a)=>e in t?zI(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,ez=(t,e)=>{for(var a in e)zI(t,a,{get:e[a],enumerable:!0})},tz=(t,e,a)=>QH(t,typeof e!="symbol"?e+"":e,a),qI={};ez(qI,{Graph:()=>fa,alg:()=>yg,json:()=>WI,version:()=>rz});var az=Object.defineProperty,UI=(t,e)=>{for(var a in e)az(t,a,{get:e[a],enumerable:!0})},fa=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,e){return t.forEach(a=>{e!==void 0?this.setNode(a,e):this.setNode(a)}),this}setNode(t,e){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let e=a=>this.removeEdge(this._edgeObjs[a]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(a=>{this.setParent(a)}),delete this._children[t]),Object.keys(this._in[t]).forEach(e),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e===void 0)e="\0";else{e+="";for(let a=e;a!==void 0;a=this.parent(a))if(a===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}parent(t){if(this._isCompound){let e=this._parent[t];if(e!=="\0")return e}}children(t="\0"){if(this._isCompound){let e=this._children[t];if(e)return Object.keys(e)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let e=this._preds[t];if(e)return Object.keys(e)}successors(t){let e=this._sucs[t];if(e)return Object.keys(e)}neighbors(t){let e=this.predecessors(t);if(e){let a=new Set(e);for(let o of this.successors(t))a.add(o);return Array.from(a.values())}}isLeaf(t){let e;return this.isDirected()?e=this.successors(t):e=this.neighbors(t),e.length===0}filterNodes(t){let e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),Object.entries(this._nodes).forEach(([r,n])=>{t(r)&&e.setNode(r,n)}),Object.values(this._edgeObjs).forEach(r=>{e.hasNode(r.v)&&e.hasNode(r.w)&&e.setEdge(r,this.edge(r))});let a={},o=r=>{let n=this.parent(r);return!n||e.hasNode(n)?(a[r]=n??void 0,n??void 0):n in a?a[n]:o(n)};return this._isCompound&&e.nodes().forEach(r=>e.setParent(r,o(r))),e}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,e){return t.reduce((a,o)=>(e!==void 0?this.setEdge(a,o,e):this.setEdge(a,o),o)),this}setEdge(t,e,a,o){let r,n,s,i,l=!1;typeof t=="object"&&t!==null&&"v"in t?(r=t.v,n=t.w,s=t.name,arguments.length===2&&(i=e,l=!0)):(r=t,n=e,s=o,arguments.length>2&&(i=a,l=!0)),r=""+r,n=""+n,s!==void 0&&(s=""+s);let u=Wi(this._isDirected,r,n,s);if(u in this._edgeLabels)return l&&(this._edgeLabels[u]=i),this;if(s!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(n),this._edgeLabels[u]=l?i:this._defaultEdgeLabelFn(r,n,s);let d=oz(this._isDirected,r,n,s);return r=d.v,n=d.w,Object.freeze(d),this._edgeObjs[u]=d,AI(this._preds[n],r),AI(this._sucs[r],n),this._in[n][u]=d,this._out[r][u]=d,this._edgeCount++,this}edge(t,e,a){let o=arguments.length===1?hg(this._isDirected,t):Wi(this._isDirected,t,e,a);return this._edgeLabels[o]}edgeAsObj(t,e,a){let o=arguments.length===1?this.edge(t):this.edge(t,e,a);return typeof o!="object"?{label:o}:o}hasEdge(t,e,a){return(arguments.length===1?hg(this._isDirected,t):Wi(this._isDirected,t,e,a))in this._edgeLabels}removeEdge(t,e,a){let o=arguments.length===1?hg(this._isDirected,t):Wi(this._isDirected,t,e,a),r=this._edgeObjs[o];if(r){let n=r.v,s=r.w;delete this._edgeLabels[o],delete this._edgeObjs[o],MI(this._preds[s],n),MI(this._sucs[n],s),delete this._in[s][o],delete this._out[n][o],this._edgeCount--}return this}inEdges(t,e){return this.isDirected()?this.filterEdges(this._in[t],t,e):this.nodeEdges(t,e)}outEdges(t,e){return this.isDirected()?this.filterEdges(this._out[t],t,e):this.nodeEdges(t,e)}nodeEdges(t,e){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,e)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,e,a){if(!t)return;let o=Object.values(t);return a?o.filter(r=>r.v===e&&r.w===a||r.v===a&&r.w===e):o}};function AI(t,e){t[e]?t[e]++:t[e]=1}function MI(t,e){t[e]!==void 0&&!--t[e]&&delete t[e]}function Wi(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let s=r;r=n,n=s}return r+""+n+""+(o===void 0?"\0":o)}function oz(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let i=r;r=n,n=i}let s={v:r,w:n};return o&&(s.name=o),s}function hg(t,e){return Wi(t,e.v,e.w,e.name)}var rz="4.0.1",WI={};UI(WI,{read:()=>lz,write:()=>nz});function nz(t){let e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:sz(t),edges:iz(t)},a=t.graph();return a!==void 0&&(e.value=structuredClone(a)),e}function sz(t){return t.nodes().map(e=>{let a=t.node(e),o=t.parent(e),r={v:e};return a!==void 0&&(r.value=a),o!==void 0&&(r.parent=o),r})}function iz(t){return t.edges().map(e=>{let a=t.edge(e),o={v:e.v,w:e.w};return e.name!==void 0&&(o.name=e.name),a!==void 0&&(o.value=a),o})}function lz(t){let e=new fa(t.options);return t.value!==void 0&&e.setGraph(t.value),t.nodes.forEach(a=>{e.setNode(a.v,a.value),a.parent&&e.setParent(a.v,a.parent)}),t.edges.forEach(a=>{e.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),e}var yg={};UI(yg,{CycleException:()=>Ic,bellmanFord:()=>VI,components:()=>cz,dijkstra:()=>Sc,dijkstraAll:()=>pz,findCycles:()=>mz,floydWarshall:()=>xz,isAcyclic:()=>wz,postorder:()=>Lz,preorder:()=>Cz,prim:()=>vz,shortestPaths:()=>Sz,tarjan:()=>$I,topsort:()=>XI});var uz=()=>1;function VI(t,e,a,o){return dz(t,String(e),a||uz,o||function(r){return t.outEdges(r)})}function dz(t,e,a,o){let r={},n,s=0,i=t.nodes(),l=function(c){let f=a(c);r[c.v].distance+f<r[c.w].distance&&(r[c.w]={distance:r[c.v].distance+f,predecessor:c.v},n=!0)},u=function(){i.forEach(function(c){o(c).forEach(function(f){let h=f.v===c?f.v:f.w,p=h===f.v?f.w:f.v;l({v:h,w:p})})})};i.forEach(function(c){let f=c===e?0:Number.POSITIVE_INFINITY;r[c]={distance:f,predecessor:""}});let d=i.length;for(let c=1;c<d&&(n=!1,s++,u(),!!n);c++);if(s===d-1&&(n=!1,u(),n))throw new Error("The graph contains a negative weight cycle");return r}function cz(t){let e={},a=[],o;function r(n){n in e||(e[n]=!0,o.push(n),t.successors(n).forEach(r),t.predecessors(n).forEach(r))}return t.nodes().forEach(function(n){o=[],r(n),o.length&&a.push(o)}),a}var GI=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(t=>t.key)}has(t){return t in this._keyIndices}priority(t){let e=this._keyIndices[t];if(e!==void 0)return this._arr[e].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(t,e){let a=this._keyIndices,o=String(t);if(!(o in a)){let r=this._arr,n=r.length;return a[o]=n,r.push({key:o,priority:e}),this._decrease(n),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key}decrease(t,e){let a=this._keyIndices[t];if(a===void 0)throw new Error(`Key not found: ${t}`);let o=this._arr[a].priority;if(e>o)throw new Error(`New priority is greater than current priority. Key: ${t} Old: ${o} New: ${e}`);this._arr[a].priority=e,this._decrease(a)}_heapify(t){let e=this._arr,a=2*t,o=a+1,r=t;a<e.length&&(r=e[a].priority<e[r].priority?a:r,o<e.length&&(r=e[o].priority<e[r].priority?o:r),r!==t&&(this._swap(t,r),this._heapify(r)))}_decrease(t){let e=this._arr,a=e[t].priority,o;for(;t!==0&&(o=t>>1,!(e[o].priority<a));)this._swap(t,o),t=o}_swap(t,e){let a=this._arr,o=this._keyIndices,r=a[t],n=a[e];a[t]=n,a[e]=r,o[n.key]=t,o[r.key]=e}},fz=()=>1;function Sc(t,e,a,o){let r=function(n){return t.outEdges(n)};return hz(t,String(e),a||fz,o||r)}function hz(t,e,a,o){let r={},n=new GI,s,i,l=function(u){let d=u.v!==s?u.v:u.w,c=r[d],f=a(u),h=i.distance+f;if(f<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+f);h<c.distance&&(c.distance=h,c.predecessor=s,n.decrease(d,h))};for(t.nodes().forEach(function(u){let d=u===e?0:Number.POSITIVE_INFINITY;r[u]={distance:d,predecessor:""},n.add(u,d)});n.size()>0&&(s=n.removeMin(),i=r[s],i.distance!==Number.POSITIVE_INFINITY);)o(s).forEach(l);return r}function pz(t,e,a){return t.nodes().reduce(function(o,r){return o[r]=Sc(t,r,e,a),o},{})}function $I(t){let e=0,a=[],o={},r=[];function n(s){let i=o[s]={onStack:!0,lowlink:e,index:e++};if(a.push(s),t.successors(s).forEach(function(l){l in o?o[l].onStack&&(i.lowlink=Math.min(i.lowlink,o[l].index)):(n(l),i.lowlink=Math.min(i.lowlink,o[l].lowlink))}),i.lowlink===i.index){let l=[],u;do u=a.pop(),o[u].onStack=!1,l.push(u);while(s!==u);r.push(l)}}return t.nodes().forEach(function(s){s in o||n(s)}),r}function mz(t){return $I(t).filter(function(e){return e.length>1||e.length===1&&t.hasEdge(e[0],e[0])})}var gz=()=>1;function xz(t,e,a){return bz(t,e||gz,a||function(o){return t.outEdges(o)})}function bz(t,e,a){let o={},r=t.nodes();return r.forEach(function(n){o[n]={},o[n][n]={distance:0,predecessor:""},r.forEach(function(s){n!==s&&(o[n][s]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),a(n).forEach(function(s){let i=s.v===n?s.w:s.v,l=e(s);o[n][i]={distance:l,predecessor:n}})}),r.forEach(function(n){let s=o[n];r.forEach(function(i){let l=o[i];r.forEach(function(u){let d=l[n],c=s[u],f=l[u],h=d.distance+c.distance;h<f.distance&&(f.distance=h,f.predecessor=c.predecessor)})})}),o}var Ic=class extends Error{constructor(...t){super(...t)}};function XI(t){let e={},a={},o=[];function r(n){if(n in a)throw new Ic;n in e||(a[n]=!0,e[n]=!0,t.predecessors(n).forEach(r),delete a[n],o.push(n))}if(t.sinks().forEach(r),Object.keys(e).length!==t.nodeCount())throw new Ic;return o}function wz(t){try{XI(t)}catch(e){if(e instanceof Ic)return!1;throw e}return!0}function yz(t,e,a,o,r){Array.isArray(e)||(e=[e]);let n=(i=>{var l;return(l=t.isDirected()?t.successors(i):t.neighbors(i))!=null?l:[]}),s={};return e.forEach(function(i){if(!t.hasNode(i))throw new Error("Graph does not have node: "+i);r=KI(t,i,a==="post",s,n,o,r)}),r}function KI(t,e,a,o,r,n,s){return e in o||(o[e]=!0,a||(s=n(s,e)),r(e).forEach(function(i){s=KI(t,i,a,o,r,n,s)}),a&&(s=n(s,e))),s}function jI(t,e,a){return yz(t,e,a,function(o,r){return o.push(r),o},[])}function Lz(t,e){return jI(t,e,"post")}function Cz(t,e){return jI(t,e,"pre")}function vz(t,e){let a=new fa,o={},r=new GI,n;function s(l){let u=l.v===n?l.w:l.v,d=r.priority(u);if(d!==void 0){let c=e(l);c<d&&(o[u]=n,r.decrease(u,c))}}if(t.nodeCount()===0)return a;t.nodes().forEach(function(l){r.add(l,Number.POSITIVE_INFINITY),a.setNode(l)}),r.decrease(t.nodes()[0],0);let i=!1;for(;r.size()>0;){if(n=r.removeMin(),n in o)a.setEdge(n,o[n]);else{if(i)throw new Error("Input graph is not connected: "+t);i=!0}t.nodeEdges(n).forEach(s)}return a}function Sz(t,e,a,o){return Iz(t,e,a,o??(r=>{let n=t.outEdges(r);return n??[]}))}function Iz(t,e,a,o){if(a===void 0)return Sc(t,e,a,o);let r=!1,n=t.nodes();for(let s=0;s<n.length;s++){let i=o(n[s]);for(let l=0;l<i.length;l++){let u=i[l],d=u.v===n[s]?u.v:u.w,c=d===u.v?u.w:u.v;a({v:d,w:c})<0&&(r=!0)}if(r)return VI(t,e,a,o)}return Sc(t,e,a,o)}function ds(t,e,a,o){let r=o;for(;t.hasNode(r);)r=Lg(o);return a.dummy=e,t.setNode(r,a),r}function kz(t){let e=new fa().setGraph(t.graph());return t.nodes().forEach(a=>e.setNode(a,t.node(a))),t.edges().forEach(a=>{let o=e.edge(a.v,a.w)||{weight:0,minlen:1},r=t.edge(a);e.setEdge(a.v,a.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),e}function ZI(t){let e=new fa({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(a=>{t.children(a).length||e.setNode(a,t.node(a))}),t.edges().forEach(a=>{e.setEdge(a,t.edge(a))}),e}function PI(t,e){let a=t.x,o=t.y,r=e.x-a,n=e.y-o,s=t.width/2,i=t.height/2;if(!r&&!n)throw new Error("Not possible to find intersection inside of the rectangle");let l,u;return Math.abs(n)*s>Math.abs(r)*i?(n<0&&(i=-i),l=i*r/n,u=i):(r<0&&(s=-s),l=s,u=s*n/r),{x:a+l,y:o+u}}function Gi(t){let e=Vi(JI(t)+1).map(()=>[]);return t.nodes().forEach(a=>{let o=t.node(a),r=o.rank;r!==void 0&&(e[r]||(e[r]=[]),e[r][o.order]=a)}),e}function Az(t){let e=t.nodes().map(o=>{let r=t.node(o).rank;return r===void 0?Number.MAX_VALUE:r}),a=Ja(Math.min,e);t.nodes().forEach(o=>{let r=t.node(o);Object.hasOwn(r,"rank")&&(r.rank-=a)})}function Mz(t){let e=t.nodes().map(s=>t.node(s).rank).filter(s=>s!==void 0),a=Ja(Math.min,e),o=[];t.nodes().forEach(s=>{let i=t.node(s).rank-a;o[i]||(o[i]=[]),o[i].push(s)});let r=0,n=t.graph().nodeRankFactor;Array.from(o).forEach((s,i)=>{s===void 0&&i%n!==0?--r:s!==void 0&&r&&s.forEach(l=>t.node(l).rank+=r)})}function DI(t,e,a,o){let r={width:0,height:0};return arguments.length>=4&&(r.rank=a,r.order=o),ds(t,"border",r,e)}function Pz(t,e=YI){let a=[];for(let o=0;o<t.length;o+=e){let r=t.slice(o,o+e);a.push(r)}return a}var YI=65535;function Ja(t,e){if(e.length>YI){let a=Pz(e);return t(...a.map(o=>t(...o)))}else return t(...e)}function JI(t){let e=t.nodes().map(a=>{let o=t.node(a).rank;return o===void 0?Number.MIN_VALUE:o});return Ja(Math.max,e)}function Dz(t,e){let a={lhs:[],rhs:[]};return t.forEach(o=>{e(o)?a.lhs.push(o):a.rhs.push(o)}),a}function QI(t,e){let a=Date.now();try{return e()}finally{console.log(t+" time: "+(Date.now()-a)+"ms")}}function ek(t,e){return e()}var Rz=0;function Lg(t){let e=++Rz;return t+(""+e)}function Vi(t,e,a=1){e==null&&(e=t,t=0);let o=n=>n<e;a<0&&(o=n=>e<n);let r=[];for(let n=t;o(n);n+=a)r.push(n);return r}function kc(t,e){let a={};for(let o of e)t[o]!==void 0&&(a[o]=t[o]);return a}function Ac(t,e){let a;return typeof e=="string"?a=o=>o[e]:a=e,Object.entries(t).reduce((o,[r,n])=>(o[r]=a(n,r),o),{})}function Tz(t,e){return t.reduce((a,o,r)=>(a[o]=e[r],a),{})}var Mc="\0",Ez="3.0.0",Bz=class{constructor(){tz(this,"_sentinel");let t={};t._next=t._prev=t,this._sentinel=t}dequeue(){let t=this._sentinel,e=t._prev;if(e!==t)return RI(e),e}enqueue(t){let e=this._sentinel;t._prev&&t._next&&RI(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e}toString(){let t=[],e=this._sentinel,a=e._prev;for(;a!==e;)t.push(JSON.stringify(a,Fz)),a=a._prev;return"["+t.join(", ")+"]"}};function RI(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function Fz(t,e){if(t!=="_next"&&t!=="_prev")return e}var Oz=Bz,Nz=()=>1;function _z(t,e){if(t.nodeCount()<=1)return[];let a=zz(t,e||Nz);return Hz(a.graph,a.buckets,a.zeroIdx).flatMap(o=>t.outEdges(o.v,o.w)||[])}function Hz(t,e,a){var o;let r=[],n=e[e.length-1],s=e[0],i;for(;t.nodeCount();){for(;i=s.dequeue();)pg(t,e,a,i);for(;i=n.dequeue();)pg(t,e,a,i);if(t.nodeCount()){for(let l=e.length-2;l>0;--l)if(i=(o=e[l])==null?void 0:o.dequeue(),i){r=r.concat(pg(t,e,a,i,!0)||[]);break}}}return r}function pg(t,e,a,o,r){let n=[],s=r?n:void 0;return(t.inEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=t.node(i.v);r&&n.push({v:i.v,w:i.w}),u.out-=l,wg(e,a,u)}),(t.outEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=i.w,d=t.node(u);d.in-=l,wg(e,a,d)}),t.removeNode(o.v),s}function zz(t,e){let a=new fa,o=0,r=0;t.nodes().forEach(i=>{a.setNode(i,{v:i,in:0,out:0})}),t.edges().forEach(i=>{let l=a.edge(i.v,i.w)||0,u=e(i),d=l+u;a.setEdge(i.v,i.w,d);let c=a.node(i.v),f=a.node(i.w);r=Math.max(r,c.out+=u),o=Math.max(o,f.in+=u)});let n=qz(r+o+3).map(()=>new Oz),s=o+1;return a.nodes().forEach(i=>{wg(n,s,a.node(i))}),{graph:a,buckets:n,zeroIdx:s}}function wg(t,e,a){var o,r,n;a.out?a.in?(n=t[a.out-a.in+e])==null||n.enqueue(a):(r=t[t.length-1])==null||r.enqueue(a):(o=t[0])==null||o.enqueue(a)}function qz(t){let e=[];for(let a=0;a<t;a++)e.push(a);return e}function Uz(t){(t.graph().acyclicer==="greedy"?_z(t,e(t)):Wz(t)).forEach(a=>{let o=t.edge(a);t.removeEdge(a),o.forwardName=a.name,o.reversed=!0,t.setEdge(a.w,a.v,o,Lg("rev"))});function e(a){return o=>a.edge(o).weight}}function Wz(t){let e=[],a={},o={};function r(n){Object.hasOwn(o,n)||(o[n]=!0,a[n]=!0,t.outEdges(n).forEach(s=>{Object.hasOwn(a,s.w)?e.push(s):r(s.w)}),delete a[n])}return t.nodes().forEach(r),e}function Vz(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.reversed){t.removeEdge(e);let o=a.forwardName;delete a.reversed,delete a.forwardName,t.setEdge(e.w,e.v,a,o)}})}function Gz(t){t.graph().dummyChains=[],t.edges().forEach(e=>$z(t,e))}function $z(t,e){let a=e.v,o=t.node(a).rank,r=e.w,n=t.node(r).rank,s=e.name,i=t.edge(e),l=i.labelRank;if(n===o+1)return;t.removeEdge(e);let u,d,c;for(c=0,++o;o<n;++c,++o)i.points=[],d={width:0,height:0,edgeLabel:i,edgeObj:e,rank:o},u=ds(t,"edge",d,"_d"),o===l&&(d.width=i.width,d.height=i.height,d.dummy="edge-label",d.labelpos=i.labelpos),t.setEdge(a,u,{weight:i.weight},s),c===0&&t.graph().dummyChains.push(u),a=u;t.setEdge(a,r,{weight:i.weight},s)}function Xz(t){t.graph().dummyChains.forEach(e=>{let a=t.node(e),o=a.edgeLabel,r;for(t.setEdge(a.edgeObj,o);a.dummy;)r=t.successors(e)[0],t.removeNode(e),o.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(o.x=a.x,o.y=a.y,o.width=a.width,o.height=a.height),e=r,a=t.node(e)})}function Cg(t){let e={};function a(o){let r=t.node(o);if(Object.hasOwn(e,o))return r.rank;e[o]=!0;let n=t.outEdges(o),s=n?n.map(l=>l==null?Number.POSITIVE_INFINITY:a(l.w)-t.edge(l).minlen):[],i=Ja(Math.min,s);return i===Number.POSITIVE_INFINITY&&(i=0),r.rank=i}t.sources().forEach(a)}function us(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var tk=Kz;function Kz(t){let e=new fa({directed:!1}),a=t.nodes();if(a.length===0)throw new Error("Graph must have at least one node");let o=a[0],r=t.nodeCount();e.setNode(o,{});let n,s;for(;jz(e,t)<r&&(n=Zz(e,t),!!n);)s=e.hasNode(n.v)?us(t,n):-us(t,n),Yz(e,t,s);return e}function jz(t,e){function a(o){let r=e.nodeEdges(o);r&&r.forEach(n=>{let s=n.v,i=o===s?n.w:s;!t.hasNode(i)&&!us(e,n)&&(t.setNode(i,{}),t.setEdge(o,i,{}),a(i))})}return t.nodes().forEach(a),t.nodeCount()}function Zz(t,e){return e.edges().reduce((a,o)=>{let r=Number.POSITIVE_INFINITY;return t.hasNode(o.v)!==t.hasNode(o.w)&&(r=us(e,o)),r<a[0]?[r,o]:a},[Number.POSITIVE_INFINITY,null])[1]}function Yz(t,e,a){t.nodes().forEach(o=>e.node(o).rank+=a)}var{preorder:Jz,postorder:Qz}=yg,eq=an;an.initLowLimValues=Sg;an.initCutValues=vg;an.calcCutValue=ak;an.leaveEdge=rk;an.enterEdge=nk;an.exchangeEdges=sk;function an(t){t=kz(t),Cg(t);let e=tk(t);Sg(e),vg(e,t);let a,o;for(;a=rk(e);)o=nk(e,t,a),sk(e,t,a,o)}function vg(t,e){let a=Qz(t,t.nodes());a=a.slice(0,a.length-1),a.forEach(o=>tq(t,e,o))}function tq(t,e,a){let o=t.node(a).parent,r=t.edge(a,o);r.cutvalue=ak(t,e,a)}function ak(t,e,a){let o=t.node(a).parent,r=!0,n=e.edge(a,o),s=0;n||(r=!1,n=e.edge(o,a)),s=n.weight;let i=e.nodeEdges(a);return i&&i.forEach(l=>{let u=l.v===a,d=u?l.w:l.v;if(d!==o){let c=u===r,f=e.edge(l).weight;if(s+=c?f:-f,oq(t,a,d)){let h=t.edge(a,d).cutvalue;s+=c?-h:h}}}),s}function Sg(t,e){arguments.length<2&&(e=t.nodes()[0]),ok(t,{},1,e)}function ok(t,e,a,o,r){let n=a,s=t.node(o);e[o]=!0;let i=t.neighbors(o);return i&&i.forEach(l=>{Object.hasOwn(e,l)||(a=ok(t,e,a,l,o))}),s.low=n,s.lim=a++,r?s.parent=r:delete s.parent,a}function rk(t){return t.edges().find(e=>t.edge(e).cutvalue<0)}function nk(t,e,a){let o=a.v,r=a.w;e.hasEdge(o,r)||(o=a.w,r=a.v);let n=t.node(o),s=t.node(r),i=n,l=!1;return n.lim>s.lim&&(i=s,l=!0),e.edges().filter(u=>l===TI(t,t.node(u.v),i)&&l!==TI(t,t.node(u.w),i)).reduce((u,d)=>us(e,d)<us(e,u)?d:u)}function sk(t,e,a,o){let r=a.v,n=a.w;t.removeEdge(r,n),t.setEdge(o.v,o.w,{}),Sg(t),vg(t,e),aq(t,e)}function aq(t,e){let a=t.nodes().find(r=>!t.node(r).parent);if(!a)return;let o=Jz(t,[a]);o=o.slice(1),o.forEach(r=>{let n=t.node(r).parent,s=e.edge(r,n),i=!1;s||(s=e.edge(n,r),i=!0),e.node(r).rank=e.node(n).rank+(i?s.minlen:-s.minlen)})}function oq(t,e,a){return t.hasEdge(e,a)}function TI(t,e,a){return a.low<=e.lim&&e.lim<=a.lim}var rq=nq;function nq(t){let e=t.graph().ranker;if(typeof e=="function")return e(t);switch(e){case"network-simplex":EI(t);break;case"tight-tree":iq(t);break;case"longest-path":sq(t);break;case"none":break;default:EI(t)}}var sq=Cg;function iq(t){Cg(t),tk(t)}function EI(t){eq(t)}var lq=uq;function uq(t){let e=cq(t);t.graph().dummyChains.forEach(a=>{let o=t.node(a),r=o.edgeObj,n=dq(t,e,r.v,r.w),s=n.path,i=n.lca,l=0,u=s[l],d=!0;for(;a!==r.w;){if(o=t.node(a),d){for(;(u=s[l])!==i&&t.node(u).maxRank<o.rank;)l++;u===i&&(d=!1)}if(!d){for(;l<s.length-1&&t.node(s[l+1]).minRank<=o.rank;)l++;u=s[l]}u!==void 0&&t.setParent(a,u),a=t.successors(a)[0]}})}function dq(t,e,a,o){let r=[],n=[],s=Math.min(e[a].low,e[o].low),i=Math.max(e[a].lim,e[o].lim),l;l=a;do l=t.parent(l),r.push(l);while(l&&(e[l].low>s||i>e[l].lim));let u=l,d=o;for(;(d=t.parent(d))!==u;)n.push(d);return{path:r.concat(n.reverse()),lca:u}}function cq(t){let e={},a=0;function o(r){let n=a;t.children(r).forEach(o),e[r]={low:n,lim:a++}}return t.children(Mc).forEach(o),e}function fq(t){let e=ds(t,"root",{},"_root"),a=hq(t),o=Object.values(a),r=Ja(Math.max,o)-1,n=2*r+1;t.graph().nestingRoot=e,t.edges().forEach(i=>t.edge(i).minlen*=n);let s=pq(t)+1;t.children(Mc).forEach(i=>ik(t,e,n,s,r,a,i)),t.graph().nodeRankFactor=n}function ik(t,e,a,o,r,n,s){var i;let l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:a});return}let u=DI(t,"_bt"),d=DI(t,"_bb"),c=t.node(s);t.setParent(u,s),c.borderTop=u,t.setParent(d,s),c.borderBottom=d,l.forEach(f=>{var h;ik(t,e,a,o,r,n,f);let p=t.node(f),m=p.borderTop?p.borderTop:f,g=p.borderBottom?p.borderBottom:f,x=p.borderTop?o:2*o,y=m!==g?1:r-((h=n[s])!=null?h:0)+1;t.setEdge(u,m,{weight:x,minlen:y,nestingEdge:!0}),t.setEdge(g,d,{weight:x,minlen:y,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:r+((i=n[s])!=null?i:0)})}function hq(t){let e={};function a(o,r){let n=t.children(o);n&&n.length&&n.forEach(s=>a(s,r+1)),e[o]=r}return t.children(Mc).forEach(o=>a(o,1)),e}function pq(t){return t.edges().reduce((e,a)=>e+t.edge(a).weight,0)}function mq(t){let e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,t.edges().forEach(a=>{t.edge(a).nestingEdge&&t.removeEdge(a)})}var gq=xq;function xq(t){function e(a){let o=t.children(a),r=t.node(a);if(o.length&&o.forEach(e),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let n=r.minRank,s=r.maxRank+1;n<s;++n)BI(t,"borderLeft","_bl",a,r,n),BI(t,"borderRight","_br",a,r,n)}}t.children(Mc).forEach(e)}function BI(t,e,a,o,r,n){let s={width:0,height:0,rank:n,borderType:e},i=r[e][n-1],l=ds(t,"border",s,a);r[e][n]=l,t.setParent(l,o),i&&t.setEdge(i,l,{weight:1})}function bq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="lr"||a==="rl")&&lk(t)}function wq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="bt"||a==="rl")&&yq(t),(a==="lr"||a==="rl")&&(Lq(t),lk(t))}function lk(t){t.nodes().forEach(e=>FI(t.node(e))),t.edges().forEach(e=>FI(t.edge(e)))}function FI(t){let e=t.width;t.width=t.height,t.height=e}function yq(t){t.nodes().forEach(e=>mg(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(mg),Object.hasOwn(o,"y")&&mg(o)})}function mg(t){t.y=-t.y}function Lq(t){t.nodes().forEach(e=>gg(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(gg),Object.hasOwn(o,"x")&&gg(o)})}function gg(t){let e=t.x;t.x=t.y,t.y=e}function Cq(t){let e={},a=t.nodes().filter(i=>!t.children(i).length),o=a.map(i=>t.node(i).rank),r=Ja(Math.max,o),n=Vi(r+1).map(()=>[]);function s(i){if(e[i])return;e[i]=!0;let l=t.node(i);n[l.rank].push(i);let u=t.successors(i);u&&u.forEach(s)}return a.sort((i,l)=>t.node(i).rank-t.node(l).rank).forEach(s),n}function vq(t,e){let a=0;for(let o=1;o<e.length;++o)a+=Sq(t,e[o-1],e[o]);return a}function Sq(t,e,a){let o=Tz(a,a.map((u,d)=>d)),r=e.flatMap(u=>{let d=t.outEdges(u);return d?d.map(c=>({pos:o[c.w],weight:t.edge(c).weight})).sort((c,f)=>c.pos-f.pos):[]}),n=1;for(;n<a.length;)n<<=1;let s=2*n-1;n-=1;let i=new Array(s).fill(0),l=0;return r.forEach(u=>{let d=u.pos+n;i[d]+=u.weight;let c=0;for(;d>0;)d%2&&(c+=i[d+1]),d=d-1>>1,i[d]+=u.weight;l+=u.weight*c}),l}function Iq(t,e=[]){return e.map(a=>{let o=t.inEdges(a);if(!o||!o.length)return{v:a};{let r=o.reduce((n,s)=>{let i=t.edge(s),l=t.node(s.v);return{sum:n.sum+i.weight*l.order,weight:n.weight+i.weight}},{sum:0,weight:0});return{v:a,barycenter:r.sum/r.weight,weight:r.weight}}})}function kq(t,e){let a={};t.forEach((r,n)=>{let s={indegree:0,in:[],out:[],vs:[r.v],i:n};r.barycenter!==void 0&&(s.barycenter=r.barycenter,s.weight=r.weight),a[r.v]=s}),e.edges().forEach(r=>{let n=a[r.v],s=a[r.w];n!==void 0&&s!==void 0&&(s.indegree++,n.out.push(s))});let o=Object.values(a).filter(r=>!r.indegree);return Aq(o)}function Aq(t){let e=[];function a(r){return n=>{n.merged||(n.barycenter===void 0||r.barycenter===void 0||n.barycenter>=r.barycenter)&&Mq(r,n)}}function o(r){return n=>{n.in.push(r),--n.indegree===0&&t.push(n)}}for(;t.length;){let r=t.pop();e.push(r),r.in.reverse().forEach(a(r)),r.out.forEach(o(r))}return e.filter(r=>!r.merged).map(r=>kc(r,["vs","i","barycenter","weight"]))}function Mq(t,e){let a=0,o=0;t.weight&&(a+=t.barycenter*t.weight,o+=t.weight),e.weight&&(a+=e.barycenter*e.weight,o+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=a/o,t.weight=o,t.i=Math.min(e.i,t.i),e.merged=!0}function Pq(t,e){let a=Dz(t,d=>Object.hasOwn(d,"barycenter")),o=a.lhs,r=a.rhs.sort((d,c)=>c.i-d.i),n=[],s=0,i=0,l=0;o.sort(Dq(!!e)),l=OI(n,r,l),o.forEach(d=>{l+=d.vs.length,n.push(d.vs),s+=d.barycenter*d.weight,i+=d.weight,l=OI(n,r,l)});let u={vs:n.flat(1)};return i&&(u.barycenter=s/i,u.weight=i),u}function OI(t,e,a){let o;for(;e.length&&(o=e[e.length-1]).i<=a;)e.pop(),t.push(o.vs),a++;return a}function Dq(t){return(e,a)=>e.barycenter<a.barycenter?-1:e.barycenter>a.barycenter?1:t?a.i-e.i:e.i-a.i}function uk(t,e,a,o){let r=t.children(e),n=t.node(e),s=n?n.borderLeft:void 0,i=n?n.borderRight:void 0,l={};s&&(r=r.filter(f=>f!==s&&f!==i));let u=Iq(t,r);u.forEach(f=>{if(t.children(f.v).length){let h=uk(t,f.v,a,o);l[f.v]=h,Object.hasOwn(h,"barycenter")&&Tq(f,h)}});let d=kq(u,a);Rq(d,l);let c=Pq(d,o);if(s&&i){c.vs=[s,c.vs,i].flat(1);let f=t.predecessors(s);if(f&&f.length){let h=t.node(f[0]),p=t.predecessors(i),m=t.node(p[0]);Object.hasOwn(c,"barycenter")||(c.barycenter=0,c.weight=0),c.barycenter=(c.barycenter*c.weight+h.order+m.order)/(c.weight+2),c.weight+=2}}return c}function Rq(t,e){t.forEach(a=>{a.vs=a.vs.flatMap(o=>e[o]?e[o].vs:o)})}function Tq(t,e){t.barycenter!==void 0?(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight):(t.barycenter=e.barycenter,t.weight=e.weight)}function Eq(t,e,a,o){o||(o=t.nodes());let r=Bq(t),n=new fa({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(s=>t.node(s));return o.forEach(s=>{let i=t.node(s),l=t.parent(s);if(i.rank===e||i.minRank<=e&&e<=i.maxRank){n.setNode(s),n.setParent(s,l||r);let u=t[a](s);u&&u.forEach(d=>{let c=d.v===s?d.w:d.v,f=n.edge(c,s),h=f!==void 0?f.weight:0;n.setEdge(c,s,{weight:t.edge(d).weight+h})}),Object.hasOwn(i,"minRank")&&n.setNode(s,{borderLeft:i.borderLeft[e],borderRight:i.borderRight[e]})}}),n}function Bq(t){let e;for(;t.hasNode(e=Lg("_root")););return e}function Fq(t,e,a){let o={},r;a.forEach(n=>{let s=t.parent(n),i,l;for(;s;){if(i=t.parent(s),i?(l=o[i],o[i]=s):(l=r,r=s),l&&l!==s){e.setEdge(l,s);return}s=i}})}function dk(t,e={}){if(typeof e.customOrder=="function"){e.customOrder(t,dk);return}let a=JI(t),o=NI(t,Vi(1,a+1),"inEdges"),r=NI(t,Vi(a-1,-1,-1),"outEdges"),n=Cq(t);if(_I(t,n),e.disableOptimalOrderHeuristic)return;let s=Number.POSITIVE_INFINITY,i,l=e.constraints||[];for(let u=0,d=0;d<4;++u,++d){Oq(u%2?o:r,u%4>=2,l),n=Gi(t);let c=vq(t,n);c<s?(d=0,i=Object.assign({},n),s=c):c===s&&(i=structuredClone(n))}_I(t,i)}function NI(t,e,a){let o=new Map,r=(n,s)=>{o.has(n)||o.set(n,[]),o.get(n).push(s)};for(let n of t.nodes()){let s=t.node(n);if(typeof s.rank=="number"&&r(s.rank,n),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let i=s.minRank;i<=s.maxRank;i++)i!==s.rank&&r(i,n)}return e.map(function(n){return Eq(t,n,a,o.get(n)||[])})}function Oq(t,e,a){let o=new fa;t.forEach(function(r){a.forEach(i=>o.setEdge(i.left,i.right));let n=r.graph().root,s=uk(r,n,o,e);s.vs.forEach((i,l)=>r.node(i).order=l),Fq(r,o,s.vs)})}function _I(t,e){Object.values(e).forEach(a=>a.forEach((o,r)=>t.node(o).order=r))}function Nq(t,e){let a={};function o(r,n){let s=0,i=0,l=r.length,u=n[n.length-1];return n.forEach((d,c)=>{let f=Hq(t,d),h=f?t.node(f).order:l;(f||d===u)&&(n.slice(i,c+1).forEach(p=>{let m=t.predecessors(p);m&&m.forEach(g=>{let x=t.node(g),y=x.order;(y<s||h<y)&&!(x.dummy&&t.node(p).dummy)&&ck(a,g,p)})}),i=c+1,s=h)}),n}return e.length&&e.reduce(o),a}function _q(t,e){let a={};function o(n,s,i,l,u){Vi(s,i).forEach(d=>{let c=n[d];if(c!==void 0&&t.node(c).dummy){let f=t.predecessors(c);f&&f.forEach(h=>{if(h===void 0)return;let p=t.node(h);p.dummy&&(p.order<l||p.order>u)&&ck(a,h,c)})}})}function r(n,s){let i=-1,l=-1,u=0;return s.forEach((d,c)=>{if(t.node(d).dummy==="border"){let f=t.predecessors(d);if(f&&f.length){let h=f[0];if(h===void 0)return;l=t.node(h).order,o(s,u,c,i,l),u=c,i=l}}o(s,u,s.length,l,n.length)}),s}return e.length&&e.reduce(r),a}function Hq(t,e){if(t.node(e).dummy){let a=t.predecessors(e);if(a)return a.find(o=>t.node(o).dummy)}}function ck(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];o||(t[e]=o={}),o[a]=!0}function zq(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];return o!==void 0&&Object.hasOwn(o,a)}function qq(t,e,a,o){let r={},n={},s={};return e.forEach(i=>{i.forEach((l,u)=>{r[l]=l,n[l]=l,s[l]=u})}),e.forEach(i=>{let l=-1;i.forEach(u=>{let d=o(u);if(d&&d.length){let c=d.sort((h,p)=>{let m=s[h],g=s[p];return(m!==void 0?m:0)-(g!==void 0?g:0)}),f=(c.length-1)/2;for(let h=Math.floor(f),p=Math.ceil(f);h<=p;++h){let m=c[h];if(m===void 0)continue;let g=s[m];if(g!==void 0&&n[u]===u&&l<g&&!zq(a,u,m)){let x=r[m];x!==void 0&&(n[m]=u,n[u]=r[u]=x,l=g)}}}})}),{root:r,align:n}}function Uq(t,e,a,o,r=!1){let n={},s=Wq(t,e,a,r),i=r?"borderLeft":"borderRight";function l(h,p){let m=s.nodes().slice(),g={},x=m.pop();for(;x;){if(g[x])h(x);else{g[x]=!0,m.push(x);for(let y of p(x))m.push(y)}x=m.pop()}}function u(h){let p=s.inEdges(h);p?n[h]=p.reduce((m,g)=>{var x;let y=(x=n[g.v])!=null?x:0,w=s.edge(g);return Math.max(m,y+(w!==void 0?w:0))},0):n[h]=0}function d(h){let p=s.outEdges(h),m=Number.POSITIVE_INFINITY;p&&(m=p.reduce((x,y)=>{let w=n[y.w],C=s.edge(y);return Math.min(x,(w!==void 0?w:0)-(C!==void 0?C:0))},Number.POSITIVE_INFINITY));let g=t.node(h);m!==Number.POSITIVE_INFINITY&&g.borderType!==i&&(n[h]=Math.max(n[h]!==void 0?n[h]:0,m))}function c(h){return s.predecessors(h)||[]}function f(h){return s.successors(h)||[]}return l(u,c),l(d,f),Object.keys(o).forEach(h=>{var p;let m=a[h];m!==void 0&&(n[h]=(p=n[m])!=null?p:0)}),n}function Wq(t,e,a,o){let r=new fa,n=t.graph(),s=Kq(n.nodesep,n.edgesep,o);return e.forEach(i=>{let l;i.forEach(u=>{let d=a[u];if(d!==void 0){if(r.setNode(d),l!==void 0){let c=a[l];if(c!==void 0){let f=r.edge(c,d);r.setEdge(c,d,Math.max(s(t,u,l),f||0))}}l=u}})}),r}function Vq(t,e){return Object.values(e).reduce((a,o)=>{let r=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY;Object.entries(o).forEach(([i,l])=>{let u=jq(t,i)/2;r=Math.max(l+u,r),n=Math.min(l-u,n)});let s=r-n;return s<a[0]&&(a=[s,o]),a},[Number.POSITIVE_INFINITY,null])[1]}function Gq(t,e){let a=Object.values(e),o=Ja(Math.min,a),r=Ja(Math.max,a);["u","d"].forEach(n=>{["l","r"].forEach(s=>{let i=n+s,l=t[i];if(!l||l===e)return;let u=Object.values(l),d=o-Ja(Math.min,u);s!=="l"&&(d=r-Ja(Math.max,u)),d&&(t[i]=Ac(l,c=>c+d))})})}function $q(t,e=void 0){let a=t.ul;return a?Ac(a,(o,r)=>{var n,s;if(e){let l=e.toLowerCase(),u=t[l];if(u&&u[r]!==void 0)return u[r]}let i=Object.values(t).map(l=>{let u=l[r];return u!==void 0?u:0}).sort((l,u)=>l-u);return(((n=i[1])!=null?n:0)+((s=i[2])!=null?s:0))/2}):{}}function Xq(t){let e=Gi(t),a=Object.assign(Nq(t,e),_q(t,e)),o={},r;["u","d"].forEach(s=>{r=s==="u"?e:Object.values(e).reverse(),["l","r"].forEach(i=>{i==="r"&&(r=r.map(d=>Object.values(d).reverse()));let l=qq(t,r,a,d=>(s==="u"?t.predecessors(d):t.successors(d))||[]),u=Uq(t,r,l.root,l.align,i==="r");i==="r"&&(u=Ac(u,d=>-d)),o[s+i]=u})});let n=Vq(t,o);return Gq(o,n),$q(o,t.graph().align)}function Kq(t,e,a){return(o,r,n)=>{let s=o.node(r),i=o.node(n),l=0,u;if(l+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=-s.width/2;break;case"r":u=s.width/2;break}if(u&&(l+=a?u:-u),u=void 0,l+=(s.dummy?e:t)/2,l+=(i.dummy?e:t)/2,l+=i.width/2,Object.hasOwn(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":u=i.width/2;break;case"r":u=-i.width/2;break}return u&&(l+=a?u:-u),l}}function jq(t,e){return t.node(e).width}function Zq(t){t=ZI(t),Yq(t),Object.entries(Xq(t)).forEach(([e,a])=>t.node(e).x=a)}function Yq(t){let e=Gi(t),a=t.graph(),o=a.ranksep,r=a.rankalign,n=0;e.forEach(s=>{let i=s.reduce((l,u)=>{var d;let c=(d=t.node(u).height)!=null?d:0;return l>c?l:c},0);s.forEach(l=>{let u=t.node(l);r==="top"?u.y=n+u.height/2:r==="bottom"?u.y=n+i-u.height/2:u.y=n+i/2}),n+=i+o})}function Jq(t,e={}){let a=e.debugTiming?QI:ek;return a("layout",()=>{let o=a(" buildLayoutGraph",()=>l3(t));return a(" runLayout",()=>Qq(o,a,e)),a(" updateInputGraph",()=>e3(t,o)),o})}function Qq(t,e,a){e(" makeSpaceForEdgeLabels",()=>u3(t)),e(" removeSelfEdges",()=>b3(t)),e(" acyclic",()=>Uz(t)),e(" nestingGraph.run",()=>fq(t)),e(" rank",()=>rq(ZI(t))),e(" injectEdgeLabelProxies",()=>d3(t)),e(" removeEmptyRanks",()=>Mz(t)),e(" nestingGraph.cleanup",()=>mq(t)),e(" normalizeRanks",()=>Az(t)),e(" assignRankMinMax",()=>c3(t)),e(" removeEdgeLabelProxies",()=>f3(t)),e(" normalize.run",()=>Gz(t)),e(" parentDummyChains",()=>lq(t)),e(" addBorderSegments",()=>gq(t)),e(" order",()=>dk(t,a)),e(" insertSelfEdges",()=>w3(t)),e(" adjustCoordinateSystem",()=>bq(t)),e(" position",()=>Zq(t)),e(" positionSelfEdges",()=>y3(t)),e(" removeBorderNodes",()=>x3(t)),e(" normalize.undo",()=>Xz(t)),e(" fixupEdgeLabelCoords",()=>m3(t)),e(" undoCoordinateSystem",()=>wq(t)),e(" translateGraph",()=>h3(t)),e(" assignNodeIntersects",()=>p3(t)),e(" reversePoints",()=>g3(t)),e(" acyclic.undo",()=>Vz(t))}function e3(t,e){t.nodes().forEach(a=>{let o=t.node(a),r=e.node(a);o&&(o.x=r.x,o.y=r.y,o.order=r.order,o.rank=r.rank,e.children(a).length&&(o.width=r.width,o.height=r.height))}),t.edges().forEach(a=>{let o=t.edge(a),r=e.edge(a);o.points=r.points,Object.hasOwn(r,"x")&&(o.x=r.x,o.y=r.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var t3=["nodesep","edgesep","ranksep","marginx","marginy"],a3={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},o3=["acyclicer","ranker","rankdir","align","rankalign"],r3=["width","height","rank"],HI={width:0,height:0},n3=["minlen","weight","width","height","labeloffset"],s3={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},i3=["labelpos"];function l3(t){let e=new fa({multigraph:!0,compound:!0}),a=bg(t.graph());return e.setGraph(Object.assign({},a3,xg(a,t3),kc(a,o3))),t.nodes().forEach(o=>{let r=bg(t.node(o)),n=xg(r,r3);Object.keys(HI).forEach(i=>{n[i]===void 0&&(n[i]=HI[i])}),e.setNode(o,n);let s=t.parent(o);s!==void 0&&e.setParent(o,s)}),t.edges().forEach(o=>{let r=bg(t.edge(o));e.setEdge(o,Object.assign({},s3,xg(r,n3),kc(r,i3)))}),e}function u3(t){let e=t.graph();e.ranksep/=2,t.edges().forEach(a=>{let o=t.edge(a);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function d3(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.width&&a.height){let o=t.node(e.v),r={rank:(t.node(e.w).rank-o.rank)/2+o.rank,e};ds(t,"edge-proxy",r,"_ep")}})}function c3(t){let e=0;t.nodes().forEach(a=>{let o=t.node(a);o.borderTop&&(o.minRank=t.node(o.borderTop).rank,o.maxRank=t.node(o.borderBottom).rank,e=Math.max(e,o.maxRank))}),t.graph().maxRank=e}function f3(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="edge-proxy"){let o=a;t.edge(o.e).labelRank=a.rank,t.removeNode(e)}})}function h3(t){let e=Number.POSITIVE_INFINITY,a=0,o=Number.POSITIVE_INFINITY,r=0,n=t.graph(),s=n.marginx||0,i=n.marginy||0;function l(u){let d=u.x,c=u.y,f=u.width,h=u.height;e=Math.min(e,d-f/2),a=Math.max(a,d+f/2),o=Math.min(o,c-h/2),r=Math.max(r,c+h/2)}t.nodes().forEach(u=>l(t.node(u))),t.edges().forEach(u=>{let d=t.edge(u);Object.hasOwn(d,"x")&&l(d)}),e-=s,o-=i,t.nodes().forEach(u=>{let d=t.node(u);d.x-=e,d.y-=o}),t.edges().forEach(u=>{let d=t.edge(u);d.points.forEach(c=>{c.x-=e,c.y-=o}),Object.hasOwn(d,"x")&&(d.x-=e),Object.hasOwn(d,"y")&&(d.y-=o)}),n.width=a-e+s,n.height=r-o+i}function p3(t){t.edges().forEach(e=>{let a=t.edge(e),o=t.node(e.v),r=t.node(e.w),n,s;a.points?(n=a.points[0],s=a.points[a.points.length-1]):(a.points=[],n=r,s=o),a.points.unshift(PI(o,n)),a.points.push(PI(r,s))})}function m3(t){t.edges().forEach(e=>{let a=t.edge(e);if(Object.hasOwn(a,"x"))switch((a.labelpos==="l"||a.labelpos==="r")&&(a.width-=a.labeloffset),a.labelpos){case"l":a.x-=a.width/2+a.labeloffset;break;case"r":a.x+=a.width/2+a.labeloffset;break}})}function g3(t){t.edges().forEach(e=>{let a=t.edge(e);a.reversed&&a.points.reverse()})}function x3(t){t.nodes().forEach(e=>{if(t.children(e).length){let a=t.node(e),o=t.node(a.borderTop),r=t.node(a.borderBottom),n=t.node(a.borderLeft[a.borderLeft.length-1]),s=t.node(a.borderRight[a.borderRight.length-1]);a.width=Math.abs(s.x-n.x),a.height=Math.abs(r.y-o.y),a.x=n.x+a.width/2,a.y=o.y+a.height/2}}),t.nodes().forEach(e=>{t.node(e).dummy==="border"&&t.removeNode(e)})}function b3(t){t.edges().forEach(e=>{if(e.v===e.w){let a=t.node(e.v);a.selfEdges||(a.selfEdges=[]),a.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function w3(t){Gi(t).forEach(e=>{let a=0;e.forEach((o,r)=>{let n=t.node(o);n.order=r+a,(n.selfEdges||[]).forEach(s=>{ds(t,"selfedge",{width:s.label.width,height:s.label.height,rank:n.rank,order:r+ ++a,e:s.e,label:s.label},"_se")}),delete n.selfEdges})})}function y3(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="selfedge"){let o=a,r=t.node(o.e.v),n=r.x+r.width/2,s=r.y,i=a.x-n,l=r.height/2;t.setEdge(o.e,o.label),t.removeNode(e),o.label.points=[{x:n+2*i/3,y:s-l},{x:n+5*i/6,y:s-l},{x:n+i,y:s},{x:n+5*i/6,y:s+l},{x:n+2*i/3,y:s+l}],o.label.x=a.x,o.label.y=a.y}})}function xg(t,e){return Ac(kc(t,e),Number)}function bg(t){let e={};return t&&Object.entries(t).forEach(([a,o])=>{typeof a=="string"&&(a=a.toLowerCase()),e[a]=o}),e}function L3(t){let e=Gi(t),a=new fa({compound:!0,multigraph:!0}).setGraph({});return t.nodes().forEach(o=>{a.setNode(o,{label:o}),a.setParent(o,"layer"+t.node(o).rank)}),t.edges().forEach(o=>a.setEdge(o.v,o.w,{},o.name)),e.forEach((o,r)=>{let n="layer"+r;a.setNode(n,{rank:"same"}),o.reduce((s,i)=>(a.setEdge(s,i,{style:"invis"}),i))}),a}var C3={graphlib:qI,version:Ez,layout:Jq,debug:L3,util:{time:QI,notime:ek}},Ig=C3;import{jsx as So,jsxs as R3}from"react/jsx-runtime";function hk({data:t,selected:e}){let a=t,o=a.highlight,r=new Set(o?.fields??[]),n="!h-1 !w-1 !border-0 !bg-transparent !opacity-0";return Qa("div",{className:["relative w-[260px] overflow-visible rounded-xl border bg-zinc-900 font-mono text-[11px] text-zinc-100 shadow-lg shadow-black/40 transition-opacity",o?.focused?"border-blue-500 ring-2 ring-blue-500/30":o?.connected?"border-blue-400/60 ring-2 ring-blue-500/10":"border-zinc-700",o?.dimmed?"opacity-35":"",e&&!o?.focused?"ring-2 ring-zinc-100/10":""].join(" "),children:[Qa("div",{className:"rounded-t-xl border-b border-zinc-700 bg-zinc-800 px-3 py-2",children:[Qa("div",{className:"flex min-w-0 items-center gap-2",children:[zt(Hi,{className:"h-3.5 w-3.5 shrink-0 text-zinc-400"}),zt("span",{className:"min-w-0 flex-1 truncate text-[13px] font-semibold leading-none text-zinc-50",children:a.entity})]}),zt("div",{className:"mt-1 truncate text-[10px] text-zinc-500",children:a.cartridge})]}),zt("div",{className:"bg-zinc-900 py-1",children:a.fields.length===0?zt("div",{className:"px-3 py-2 text-[10px] text-zinc-500",children:"No fields"}):a.fields.map(s=>{let i=`${s.type}${s.array?"[]":""}${s.optional?"?":""}`,l=s.displayName.toLowerCase()==="id",u=s.kind==="relation",d=s.kind==="document",c=r.has(s.displayName);return Qa("div",{className:["relative grid min-h-[26px] grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-1 text-zinc-300",c?"bg-blue-500/15 text-blue-200":""].join(" "),children:[l?Qa(fk,{children:[zt(Co,{id:`target-${s.displayName}-left`,type:"target",position:se.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),zt(Co,{id:`target-${s.displayName}-right`,type:"target",position:se.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,u?Qa(fk,{children:[zt(Co,{id:`source-${s.displayName}-left`,type:"source",position:se.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),zt(Co,{id:`source-${s.displayName}-right`,type:"source",position:se.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,Qa("span",{className:"flex min-w-0 items-center gap-1.5",children:[l?zt(qi,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,u?zt(Ui,{className:["h-3 w-3 shrink-0",c?"text-blue-300":"text-blue-400"].join(" ")}):null,d?zt(zi,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,zt("span",{className:"truncate",children:s.displayName})]}),zt("span",{className:"max-w-[96px] truncate text-right text-zinc-500",children:i})]},`${s.name}:${s.displayName}`)})}),Qa("div",{className:"flex items-center justify-between gap-2 rounded-b-xl border-t border-zinc-700 bg-zinc-800 px-3 py-1.5 text-[10px] text-zinc-500",children:[Qa("span",{className:"tabular-nums",children:[a.rowCount.toLocaleString()," rows"]}),Qa("span",{className:"tabular-nums",children:[a.relationCount," rel \xB7 ",a.scalarCount," scalar"]})]})]})}var kg=260,pk=150,mk=26,Mg=390;function gk(t){let e=[];for(let a of t){if(!a.cartridge||!a.owns)continue;let o=[];for(let[r,n]of Object.entries(a.owns)){let s=(n.fields??[]).map(i=>({name:i.name,type:i.type,optional:i.optional,array:i.array,kind:i.kind,target:i.target,targetCart:i.target_cart,relationKind:i.relation_kind,fkField:i.fk_field}));o.push({name:r,fields:s})}o.length>0&&e.push({name:a.cartridge,entities:o})}return e}function cs(t,e){return`${t}:${e}`}function xk(t){return t.kind??(t.target?"relation":"scalar")}function v3(t){let e=xk(t);return{name:t.name,displayName:e==="relation"?t.fkField??t.name:t.name,type:e==="relation"&&t.target?t.target:t.type,kind:e,optional:t.optional===!0,array:t.array===!0,target:t.target,targetCart:t.targetCart,relationKind:t.relationKind,fkField:t.fkField}}function S3(t){let e=t.map(v3);return e.some(a=>a.displayName.toLowerCase()==="id")||e.unshift({name:"id",displayName:"id",type:"id",kind:"scalar",optional:!1,array:!1,implicit:!0}),e}function bk(t){return t.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}function I3(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^a-zA-Z0-9]+/).map(e=>e.toLowerCase()).filter(Boolean)}function k3(t){let e=I3(t),a=new Set([bk(t)]),o=e.length>0?e[e.length-1]:void 0;return o&&a.add(o),e.length>1&&o&&(a.add(`${e.slice(0,-1).map(r=>r[0]).join("")}${o}`),a.add(e.map(r=>r[0]).join(""))),[...a].filter(r=>r.length>=2)}function A3(t,e){if(!/id$/i.test(t)||/^id$/i.test(t))return null;let a=bk(t.replace(/id$/i,""));if(a.length<3)return null;let o=e.flatMap(s=>k3(s.entity).map(i=>{let l=a===i,u=!l&&i.length>=4&&a.endsWith(i);return!l&&!u?null:{node:s,score:(l?1e3:500)+i.length}})).filter(s=>s!==null).sort((s,i)=>i.score-s.score||s.node.entity.localeCompare(i.node.entity)),r=o[0];if(!r)return null;let n=o[1];return n&&r.score===n.score?null:r.node}function M3(t,e,a){let o=t?.fields.find(r=>r.displayName===e||r.name===e);!o||o.displayName.toLowerCase()==="id"||(o.kind="relation",o.target=a.entity,o.targetCart=a.cartridge,o.relationKind??(o.relationKind="inferred"),o.fkField??(o.fkField=e))}function P3(t){for(let e of t)e.scalarCount=e.fields.filter(a=>a.kind==="scalar").length,e.relationCount=e.fields.filter(a=>a.kind==="relation").length,e.documentCount=e.fields.filter(a=>a.kind==="document").length}function Ag(t){return Math.max(pk,74+t.fields.length*mk)}function D3(t,e){let a=new Map(t.map(l=>[l.id,0]));for(let l of e)a.set(l.source,(a.get(l.source)??0)+1),a.set(l.target,(a.get(l.target)??0)+1);let o=t.filter(l=>(a.get(l.id)??0)>0),r=t.filter(l=>(a.get(l.id)??0)===0),n=new Set(o.map(l=>l.id)),s=0,i=0;if(o.length>0){let l=new Ig.graphlib.Graph;l.setGraph({rankdir:"LR",ranksep:160,nodesep:48,marginx:40,marginy:40}),l.setDefaultEdgeLabel(()=>({}));for(let u of o)l.setNode(u.id,{width:kg,height:Ag(u)});for(let u of e)u.source!==u.target&&(!n.has(u.source)||!n.has(u.target)||l.setEdge(u.source,u.target));Ig.layout(l);for(let u of o){let d=l.node(u.id),c=Ag(u);u.position={x:d.x-kg/2,y:d.y-c/2},s=Math.max(s,u.position.x+kg),i=Math.max(i,u.position.y+c)}}if(r.length>0){r.sort((h,p)=>h.entity.localeCompare(p.entity));let l=o.length>0?s+Mg:0,u=Math.max(1,Math.ceil(r.length/Math.ceil(r.length/6))),d=l,c=0,f=0;for(let h of r)h.position={x:d,y:c},c+=Ag(h)+48,f+=1,f>=u&&(f=0,c=0,d+=Mg)}}function wk(t,e){return{entities:t.length,relationships:e.length,rows:t.reduce((a,o)=>a+o.rowCount,0)}}function yk(t){let e=[...t].sort((i,l)=>i.name.localeCompare(l.name)),a=[];e.forEach((i,l)=>{let u=[...i.entities].sort((c,f)=>c.name.localeCompare(f.name)),d=0;u.forEach(c=>{let f=cs(i.name,c.name),h=c.fields??[],p=S3(h);a.push({id:f,cartridge:i.name,entity:c.name,fields:p,fieldCount:p.length,scalarCount:p.filter(m=>m.kind==="scalar").length,relationCount:p.filter(m=>m.kind==="relation").length,documentCount:p.filter(m=>m.kind==="document").length,rowCount:0,position:{x:l*Mg,y:d}}),d+=Math.max(pk,74+p.length*mk)+56})});let o=new Set(a.map(i=>i.id)),r=new Map(a.map(i=>[i.id,i])),n=[],s=new Set;for(let i of e)for(let l of i.entities){let u=cs(i.name,l.name),d=r.get(u);for(let c of l.fields??[]){let f=xk(c)==="relation"&&!!c.target,h=f?null:A3(c.name,a);if(!f&&!h)continue;let p=f?c.targetCart??i.name:h?.cartridge,m=f?c.target:h?.entity;if(!p||!m)continue;let g=cs(p,m);if(!o.has(u)||!o.has(g))continue;let x=r.get(g),w=x?.fields.find(L=>L.displayName.toLowerCase()==="id")?.displayName??"__entity",I=d?.fields.find(L=>L.name===c.name||L.displayName===c.name)?.displayName??c.fkField??c.name,v=`${u}:${I}->${g}:${w}`;s.has(v)||(s.add(v),!f&&x&&M3(d,I,x),n.push({id:`${u}:${c.name}->${g}`,source:u,target:g,sourceField:I,targetField:w,label:c.name,relationKind:c.relationKind??(f?void 0:"inferred"),fkField:c.fkField??(f?void 0:c.name)}))}}return P3(a),{nodes:a,edges:n,totals:wk(a,n)}}function Lk(t,e){let a=t.nodes.filter(n=>e.has(n.id)).map(n=>({...n,position:{...n.position}})),o=new Set(a.map(n=>n.id)),r=t.edges.filter(n=>o.has(n.source)&&o.has(n.target));return D3(a,r),{nodes:a,edges:r,totals:wk(a,r)}}var T3={entity:hk},E3=({fitKey:t})=>{let e=mI(),{fitView:a}=_i(),o=be(n=>n.width),r=be(n=>n.height);return xt.useEffect(()=>{e&&a({padding:.25,duration:200})},[e,t,a]),xt.useEffect(()=>{if(!e||o===0||r===0)return;let n=setTimeout(()=>a({padding:.25,duration:200}),120);return()=>clearTimeout(n)},[o,r,e,a]),null};function B3(){let{apiBaseUrl:t}=tt(),[e,a]=xt.useState([]),[o,r]=xt.useState(!0),[n,s]=xt.useState(null);return xt.useEffect(()=>{let i=new AbortController,l=!1;return(async()=>{try{let u=await fetch(`${t}/_console/contracts`,{signal:i.signal,credentials:"include",headers:Ma()});if(!u.ok)throw new Error(`HTTP ${u.status}`);let d=await u.json();if(!Array.isArray(d))throw new Error("malformed contracts response");l||a(d)}catch(u){if(l||u.name==="AbortError")return;s(u instanceof Error?u.message:String(u))}finally{l||r(!1)}})(),()=>{l=!0,i.abort()}},[t]),{contracts:e,loading:o,error:n}}function F3(t){let e={};for(let a of t){if(!a.cartridge||!a.owns)continue;let o=Object.keys(a.owns).map(r=>({name:r,route:`/_ws/bulk/${a.cartridge}/${r.toLowerCase()}`,searchFields:[]}));o.length>0&&(e[a.cartridge]=o)}return e}var Pg=({visibleIds:t,onSelectNode:e})=>{let{contracts:a,loading:o,error:r}=B3(),n=xt.useMemo(()=>yk(gk(a)),[a]),s=xt.useMemo(()=>F3(a),[a]);if(n.nodes.length===0){let i="No installed cartridges with entities.";return o?i="Loading entity graph\u2026":r&&(i=`Failed to load contracts: ${r}`),So("div",{className:"p-3 text-[12px] text-muted-foreground",children:i})}return So(O3,{graph:n,registry:s,visibleIds:t,onSelectNode:e})},O3=({graph:t,registry:e,visibleIds:a,onSelectNode:o})=>{let r=gm(e),[n,s]=xt.useState(null),i=xt.useMemo(()=>Lk(t,a),[t,a]);xt.useEffect(()=>{n&&!a.has(n)&&s(null)},[n,a]);let l=xt.useMemo(()=>{if(!n)return{connectedIds:new Set,edgeIds:new Set,fieldsByNode:new Map};let p=new Set([n]),m=new Set,g=new Map,x=(y,w)=>{let C=g.get(y)??new Set;C.add(w),g.set(y,C)};for(let y of i.edges)y.source!==n&&y.target!==n||(m.add(y.id),p.add(y.source),p.add(y.target),x(y.source,y.sourceField),x(y.target,y.targetField));return{connectedIds:p,edgeIds:m,fieldsByNode:g}},[n,i.edges]),u=xt.useMemo(()=>i.nodes.map(p=>({id:p.id,type:"entity",position:p.position,data:{...p,rowCount:r[p.id]??p.rowCount,highlight:n?{focused:p.id===n,connected:l.connectedIds.has(p.id)&&p.id!==n,dimmed:!l.connectedIds.has(p.id),fields:[...l.fieldsByNode.get(p.id)??[]]}:void 0}})),[l,n,i.nodes,r]),d=xt.useMemo(()=>{let p=new Map(i.nodes.map(g=>[g.id,g])),m=new Map;return i.edges.map(g=>{let x=p.get(g.source),y=p.get(g.target),w=x&&y&&x.position.x>y.position.x?"left":"right",C=w==="left"?"right":"left",I=`${g.target}:${g.targetField}:${C}`,v=m.get(I)??0;m.set(I,v+1);let L=!n||l.edgeIds.has(g.id);return{id:g.id,source:g.source,target:g.target,sourceHandle:`source-${g.sourceField}-${w}`,targetHandle:`target-${g.targetField}-${C}`,type:"smoothstep",pathOptions:{borderRadius:8,offset:22+v%5*12},markerEnd:{type:Zo.ArrowClosed,color:L?"#2563eb":"#64748b"},style:{strokeWidth:n&&L?2.5:1.5,stroke:L?"#2563eb":"#64748b",opacity:L?1:.16}}})},[l.edgeIds,n,i.edges,i.nodes]),c=xt.useCallback((p,m)=>{let g=m.data,x=cs(g.cartridge,g.entity);s(y=>y===x?null:x),o?.(g.cartridge,g.entity)},[o]),f=xt.useCallback((p,m)=>{p.preventDefault();let g=m.data;s(cs(g.cartridge,g.entity)),o?.(g.cartridge,g.entity)},[o]),h=xt.useCallback(()=>s(null),[]);return So("div",{className:"flex h-full min-h-0 w-full flex-col",children:So("div",{className:"relative min-h-0 flex-1 bg-zinc-950",children:u.length===0?So("div",{className:"flex h-full items-center justify-center text-[12px] text-zinc-500",children:"No entities are visible."}):So(cg,{children:R3(pI,{colorMode:"dark",nodes:u,edges:d,nodeTypes:T3,fitView:!0,fitViewOptions:{padding:.2},minZoom:.1,maxZoom:1.6,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,selectionOnDrag:!1,onNodeClick:c,onNodeContextMenu:f,onPaneClick:h,proOptions:{hideAttribution:!0},children:[So(E3,{fitKey:[...a].sort().join("|")}),So(xI,{variant:ja.Dots,gap:16,size:1,color:"#3f3f46"}),So(wI,{showInteractive:!1})]})})})})};import Ea from"react";function Ck(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=Ck(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function vk(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=Ck(t))&&(o&&(o+=" "),o+=e);return o}var N3=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},_3=(t,e)=>({classGroupId:t,validator:e}),Pk=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var Sk=[],H3="arbitrary..",z3=t=>{let e=U3(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return q3(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return Dk(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?N3(u,l):l:u||Sk}return a[s]||Sk}}},Dk=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=Dk(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},q3=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?H3+o:void 0})(),U3=t=>{let{theme:e,classGroups:a}=t;return W3(a,e)},W3=(t,e)=>{let a=Pk();for(let o in t){let r=t[o];Rg(r,a,o,e)}return a},Rg=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];V3(s,e,a,o)}},V3=(t,e,a,o)=>{if(typeof t=="string"){G3(t,e,a);return}if(typeof t=="function"){$3(t,e,a,o);return}X3(t,e,a,o)},G3=(t,e,a)=>{let o=t===""?e:Rk(e,t);o.classGroupId=a},$3=(t,e,a,o)=>{if(K3(t)){Rg(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(_3(a,t))},X3=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];Rg(l,Rk(e,i),a,o)}},Rk=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=Pk(),a.nextPart.set(s,i)),a=i}return a},K3=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,j3=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var Z3=[],Ik=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),Y3=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let c=n.length===0?r:r.slice(l),f=c,h=!1;c.endsWith("!")?(f=c.slice(0,-1),h=!0):c.startsWith("!")&&(f=c.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return Ik(n,h,f,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):Ik(Z3,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},J3=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},Q3=t=>({cache:j3(t.cacheSize),parseClassName:Y3(t),sortModifiers:J3(t),postfixLookupClassGroupIds:eU(t),...z3(t)}),eU=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},tU=/\s+/,aU=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(tU),u="";for(let d=l.length-1;d>=0;d-=1){let c=l[d],{isExternal:f,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(c);if(f){u=c+(u.length>0?" "+u:u);continue}let x=!!g,y;if(x){let L=m.substring(0,g);y=o(L);let S=y&&s[y]?o(m):void 0;S&&S!==y&&(y=S,x=!1)}else y=o(m);if(!y){if(!x){u=c+(u.length>0?" "+u:u);continue}if(y=o(m),!y){u=c+(u.length>0?" "+u:u);continue}x=!1}let w=h.length===0?"":h.length===1?h[0]:n(h).join(":"),C=p?w+"!":w,I=C+y;if(i.indexOf(I)>-1)continue;i.push(I);let v=r(y,x);for(let L=0;L<v.length;++L){let S=v[L];i.push(C+S)}u=c+(u.length>0?" "+u:u)}return u},oU=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=Tk(a))&&(r&&(r+=" "),r+=o);return r},Tk=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=Tk(t[o]))&&(a&&(a+=" "),a+=e);return a},rU=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,c)=>c(d),t());return a=Q3(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=aU(l,a);return r(l,d),d};return n=s,(...l)=>n(oU(...l))},nU=[],nt=t=>{let e=a=>a[t]||nU;return e.isThemeGetter=!0,e},Ek=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Bk=/^\((?:(\w[\w-]*):)?(.+)\)$/i,sU=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,iU=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,lU=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,uU=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,dU=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,cU=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,er=t=>sU.test(t),me=t=>!!t&&!Number.isNaN(Number(t)),eo=t=>!!t&&Number.isInteger(Number(t)),Dg=t=>t.endsWith("%")&&me(t.slice(0,-1)),Io=t=>iU.test(t),Fk=()=>!0,fU=t=>lU.test(t)&&!uU.test(t),Tg=()=>!1,hU=t=>dU.test(t),pU=t=>cU.test(t),mU=t=>!te(t)&&!oe(t),gU=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),xU=t=>tr(t,_k,Tg),te=t=>Ek.test(t),on=t=>tr(t,Hk,fU),kk=t=>tr(t,IU,me),bU=t=>tr(t,qk,Fk),wU=t=>tr(t,zk,Tg),Ak=t=>tr(t,Ok,Tg),yU=t=>tr(t,Nk,pU),Pc=t=>tr(t,Uk,hU),oe=t=>Bk.test(t),$i=t=>rn(t,Hk),LU=t=>rn(t,zk),Mk=t=>rn(t,Ok),CU=t=>rn(t,_k),vU=t=>rn(t,Nk),Dc=t=>rn(t,Uk,!0),SU=t=>rn(t,qk,!0),tr=(t,e,a)=>{let o=Ek.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},rn=(t,e,a=!1)=>{let o=Bk.exec(t);return o?o[1]?e(o[1]):a:!1},Ok=t=>t==="position"||t==="percentage",Nk=t=>t==="image"||t==="url",_k=t=>t==="length"||t==="size"||t==="bg-size",Hk=t=>t==="length",IU=t=>t==="number",zk=t=>t==="family-name",qk=t=>t==="number"||t==="weight",Uk=t=>t==="shadow";var kU=()=>{let t=nt("color"),e=nt("font"),a=nt("text"),o=nt("font-weight"),r=nt("tracking"),n=nt("leading"),s=nt("breakpoint"),i=nt("container"),l=nt("spacing"),u=nt("radius"),d=nt("shadow"),c=nt("inset-shadow"),f=nt("text-shadow"),h=nt("drop-shadow"),p=nt("blur"),m=nt("perspective"),g=nt("aspect"),x=nt("ease"),y=nt("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...C(),oe,te],v=()=>["auto","hidden","clip","visible","scroll"],L=()=>["auto","contain","none"],S=()=>[oe,te,l],A=()=>[er,"full","auto",...S()],H=()=>[eo,"none","subgrid",oe,te],M=()=>["auto",{span:["full",eo,oe,te]},eo,oe,te],R=()=>[eo,"auto",oe,te],z=()=>["auto","min","max","fr",oe,te],k=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],T=()=>["start","end","center","stretch","center-safe","end-safe"],D=()=>["auto",...S()],E=()=>[er,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],q=()=>[er,"screen","full","dvw","lvw","svw","min","max","fit",...S()],B=()=>[er,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],P=()=>[t,oe,te],N=()=>[...C(),Mk,Ak,{position:[oe,te]}],U=()=>["no-repeat",{repeat:["","x","y","space","round"]}],$=()=>["auto","cover","contain",CU,xU,{size:[oe,te]}],_=()=>[Dg,$i,on],W=()=>["","none","full",u,oe,te],G=()=>["",me,$i,on],O=()=>["solid","dashed","dotted","double"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>[me,Dg,Mk,Ak],ie=()=>["","none",p,oe,te],le=()=>["none",me,oe,te],J=()=>["none",me,oe,te],ne=()=>[me,oe,te],ue=()=>[er,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Io],breakpoint:[Io],color:[Fk],container:[Io],"drop-shadow":[Io],ease:["in","out","in-out"],font:[mU],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Io],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Io],shadow:[Io],spacing:["px",me],text:[Io],"text-shadow":[Io],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",er,te,oe,g]}],container:["container"],"container-type":[{"@container":["","normal","size",oe,te]}],"container-named":[gU],columns:[{columns:[me,te,oe,i]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:I()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[eo,"auto",oe,te]}],basis:[{basis:[er,"full","auto",i,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[me,er,"auto","initial","none",te]}],grow:[{grow:["",me,oe,te]}],shrink:[{shrink:["",me,oe,te]}],order:[{order:[eo,"first","last","none",oe,te]}],"grid-cols":[{"grid-cols":H()}],"col-start-end":[{col:M()}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":H()}],"row-start-end":[{row:M()}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":z()}],"auto-rows":[{"auto-rows":z()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...k(),"normal"]}],"justify-items":[{"justify-items":[...T(),"normal"]}],"justify-self":[{"justify-self":["auto",...T()]}],"align-content":[{content:["normal",...k()]}],"align-items":[{items:[...T(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...T(),{baseline:["","last"]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...T(),"baseline"]}],"place-self":[{"place-self":["auto",...T()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:E()}],"inline-size":[{inline:["auto",...q()]}],"min-inline-size":[{"min-inline":["auto",...q()]}],"max-inline-size":[{"max-inline":["none",...q()]}],"block-size":[{block:["auto",...B()]}],"min-block-size":[{"min-block":["auto",...B()]}],"max-block-size":[{"max-block":["none",...B()]}],w:[{w:[i,"screen",...E()]}],"min-w":[{"min-w":[i,"screen","none",...E()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...E()]}],h:[{h:["screen","lh",...E()]}],"min-h":[{"min-h":["screen","lh","none",...E()]}],"max-h":[{"max-h":["screen","lh",...E()]}],"font-size":[{text:["base",a,$i,on]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,SU,bU]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Dg,te]}],"font-family":[{font:[LU,wU,e]}],"font-features":[{"font-features":[te]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,oe,te]}],"line-clamp":[{"line-clamp":[me,"none",oe,kk]}],leading:[{leading:[n,...S()]}],"list-image":[{"list-image":["none",oe,te]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",oe,te]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:[me,"from-font","auto",oe,on]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[me,"auto",oe,te]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"tab-size":[{tab:[eo,oe,te]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",oe,te]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",oe,te]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:U()}],"bg-size":[{bg:$()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},eo,oe,te],radial:["",oe,te],conic:[eo,oe,te]},vU,yU]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:G()}],"border-w-x":[{"border-x":G()}],"border-w-y":[{"border-y":G()}],"border-w-s":[{"border-s":G()}],"border-w-e":[{"border-e":G()}],"border-w-bs":[{"border-bs":G()}],"border-w-be":[{"border-be":G()}],"border-w-t":[{"border-t":G()}],"border-w-r":[{"border-r":G()}],"border-w-b":[{"border-b":G()}],"border-w-l":[{"border-l":G()}],"divide-x":[{"divide-x":G()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":G()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...O(),"hidden","none"]}],"divide-style":[{divide:[...O(),"hidden","none"]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...O(),"none","hidden"]}],"outline-offset":[{"outline-offset":[me,oe,te]}],"outline-w":[{outline:["",me,$i,on]}],"outline-color":[{outline:P()}],shadow:[{shadow:["","none",d,Dc,Pc]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":["none",c,Dc,Pc]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[me,on]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":G()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":["none",f,Dc,Pc]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[me,oe,te]}],"mix-blend":[{"mix-blend":[...F(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":F()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[me]}],"mask-image-linear-from-pos":[{"mask-linear-from":V()}],"mask-image-linear-to-pos":[{"mask-linear-to":V()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":V()}],"mask-image-t-to-pos":[{"mask-t-to":V()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":V()}],"mask-image-r-to-pos":[{"mask-r-to":V()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":V()}],"mask-image-b-to-pos":[{"mask-b-to":V()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":V()}],"mask-image-l-to-pos":[{"mask-l-to":V()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":V()}],"mask-image-x-to-pos":[{"mask-x-to":V()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":V()}],"mask-image-y-to-pos":[{"mask-y-to":V()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[oe,te]}],"mask-image-radial-from-pos":[{"mask-radial-from":V()}],"mask-image-radial-to-pos":[{"mask-radial-to":V()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[me]}],"mask-image-conic-from-pos":[{"mask-conic-from":V()}],"mask-image-conic-to-pos":[{"mask-conic-to":V()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:U()}],"mask-size":[{mask:$()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",oe,te]}],filter:[{filter:["","none",oe,te]}],blur:[{blur:ie()}],brightness:[{brightness:[me,oe,te]}],contrast:[{contrast:[me,oe,te]}],"drop-shadow":[{"drop-shadow":["","none",h,Dc,Pc]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:["",me,oe,te]}],"hue-rotate":[{"hue-rotate":[me,oe,te]}],invert:[{invert:["",me,oe,te]}],saturate:[{saturate:[me,oe,te]}],sepia:[{sepia:["",me,oe,te]}],"backdrop-filter":[{"backdrop-filter":["","none",oe,te]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[me,oe,te]}],"backdrop-contrast":[{"backdrop-contrast":[me,oe,te]}],"backdrop-grayscale":[{"backdrop-grayscale":["",me,oe,te]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[me,oe,te]}],"backdrop-invert":[{"backdrop-invert":["",me,oe,te]}],"backdrop-opacity":[{"backdrop-opacity":[me,oe,te]}],"backdrop-saturate":[{"backdrop-saturate":[me,oe,te]}],"backdrop-sepia":[{"backdrop-sepia":["",me,oe,te]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",oe,te]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[me,"initial",oe,te]}],ease:[{ease:["linear","initial",x,oe,te]}],delay:[{delay:[me,oe,te]}],animate:[{animate:["none",y,oe,te]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,oe,te]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:le()}],"rotate-x":[{"rotate-x":le()}],"rotate-y":[{"rotate-y":le()}],"rotate-z":[{"rotate-z":le()}],scale:[{scale:J()}],"scale-x":[{"scale-x":J()}],"scale-y":[{"scale-y":J()}],"scale-z":[{"scale-z":J()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[oe,te,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[eo,oe,te]}],accent:[{accent:P()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",oe,te]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":P()}],"scrollbar-track-color":[{"scrollbar-track":P()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",oe,te]}],fill:[{fill:["none",...P()]}],"stroke-w":[{stroke:[me,$i,on,kk]}],stroke:[{stroke:["none",...P()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var Wk=rU(kU);import fs from"react";import{createPortal as AU}from"react-dom";import{Fragment as Vk,jsx as Ba,jsxs as ar}from"react/jsx-runtime";import{jsx as Ct,jsxs as nn}from"react/jsx-runtime";function rr(...t){return Wk(vk(t))}var Gk=420,Xk=new Set([ld,ud,dd,cd,fd,hd,pd,md]),Kk=new Set([gd,xd]);function MU(t){let a=Math.max(12,Math.min(t.left,window.innerWidth-Gk-12)),r=window.innerHeight-t.bottom>=180?t.bottom+6:Math.max(12,t.top-188);return{left:a,top:r,width:Gk}}function PU(t,e){if(e===ui)return{value:t==="true"};if(Xk.has(e)){let a=Number(t);return Number.isInteger(a)?{value:a}:{error:"Expected an integer"}}if(Kk.has(e)){let a=Number(t);return Number.isFinite(a)?{value:a}:{error:"Expected a number"}}return{value:t}}var DU=({data:t,onClose:e})=>{let{apiBaseUrl:a}=tt(),[o,r]=fs.useState(!1),[n,s]=fs.useState(t.value),[i,l]=fs.useState(!1),[u,d]=fs.useState(null);fs.useEffect(()=>{s(t.value),d(null)},[t.value,t.r,t.c]),fs.useEffect(()=>{let m=g=>{g.key==="Escape"&&e()};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[e]);let c=async()=>{try{await navigator.clipboard.writeText(t.value),r(!0)}catch{}},f=async()=>{let m=PU(n,t.colType);if("error"in m){d(m.error);return}l(!0),d(null);try{let g=await fetch(`${a}/api/${t.cart}/${t.entity.toLowerCase()}/${encodeURIComponent(t.rowId)}`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({[t.colName]:m.value})});if(!g.ok){d(await g.text()||`HTTP ${g.status}`),l(!1);return}e()}catch(g){d(g instanceof Error?g.message:String(g)),l(!1)}},h=t.colType===ui,p=Xk.has(t.colType)||Kk.has(t.colType);return AU(ar(Vk,{children:[Ba("div",{className:"fixed inset-0 z-[60]",onClick:e}),ar("div",{className:rr("nimbit-devtools dark fixed z-[61] rounded-md border border-border bg-popover p-3","text-[12px] text-popover-foreground shadow-lg"),style:MU(t.rect),onClick:m=>m.stopPropagation(),children:[ar("div",{className:"mb-2 flex items-center justify-between gap-3",children:[ar("div",{className:"min-w-0",children:[Ba("div",{className:"truncate font-medium text-foreground",children:t.colName}),ar("div",{className:"text-[11px] text-muted-foreground",children:["Row ",t.r+1]})]}),ar("div",{className:"flex shrink-0 items-center gap-1.5",children:[Ba("button",{type:"button",onClick:c,className:rr("rounded border border-border px-2 py-1 text-[11px] leading-none","hover:bg-accent hover:text-accent-foreground"),children:o?"Copied":"Copy"}),t.editable?Ba("button",{type:"button",onClick:f,disabled:i,className:rr("rounded border border-border bg-primary/90 px-2 py-1 text-[11px] leading-none text-primary-foreground","hover:bg-primary disabled:opacity-50"),children:i?"Saving\u2026":"Save"}):null]})]}),t.editable?ar(Vk,{children:[h?ar("select",{value:n,disabled:i,onChange:m=>s(m.target.value),className:"w-full rounded-sm border border-border bg-background px-2 py-1 text-[12px] outline-none focus:border-accent-foreground/30",children:[Ba("option",{value:"true",children:"true"}),Ba("option",{value:"false",children:"false"})]}):p?Ba("input",{type:"number",value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),onKeyDown:m=>{m.key==="Enter"&&f()},className:"w-full rounded-sm border border-border bg-background px-2 py-1 font-mono text-[12px] outline-none focus:border-accent-foreground/30"}):Ba("textarea",{value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),className:"max-h-48 min-h-[3rem] w-full resize-y overflow-auto rounded-sm border border-border bg-background p-2 font-mono text-[11px] leading-5 outline-none focus:border-accent-foreground/30"}),u?Ba("div",{className:"mt-2 break-words text-[11px] text-red-400",children:u}):null]}):Ba("div",{className:"max-h-48 overflow-auto rounded-sm bg-muted/40 p-2 font-mono text-[11px] leading-5 whitespace-pre-wrap break-words",children:t.value.length>0?t.value:Ba("span",{className:"font-sans italic text-muted-foreground",children:"(empty)"})})]})]}),document.body)},Bg=DU,jk="nbt_devtools_colw:v1";function Zk(){try{let t=localStorage.getItem(jk);if(!t)return{};let e=JSON.parse(t);return typeof e=="object"&&e?e:{}}catch{return{}}}function RU(t,e){return Zk()[`${t}:${e}`]??{}}function TU(t,e,a,o){try{let r=Zk(),n=`${t}:${e}`;(r[n]??(r[n]={}))[a]=o,localStorage.setItem(jk,JSON.stringify(r))}catch{}}var or=22,$k=6,Fg=80,Yk=600,EU=32,BU=new Set(["id","createdAt","updatedAt"]),FU=new Set([bd,wd]);function OU(t){return t==="id"?220:t==="createdAt"||t==="updatedAt"||t==="email"||t==="phone"||t.endsWith("At")?180:Math.max(Fg,Math.min(240,t.length*9+24))}var Eg=null;function NU(){return Eg||(Eg=document.createElement("canvas")),Eg.getContext("2d")}var _U=({index:t,startWidth:e,scrollerRef:a,onCommit:o,onAutoFit:r})=>Ct("div",{onPointerDown:s=>{s.preventDefault(),s.stopPropagation();let i=a.current;if(!i)return;let l=s.currentTarget;l.setPointerCapture(s.pointerId);let u=s.clientX,d=e,c=!1,f=0,h=null,p=()=>{f=0,h!=null&&(d=h,i.style.setProperty(`--cw-${t}`,`${h}px`),h=null)},m=x=>{x.preventDefault(),c=!0,h=Math.max(Fg,Math.min(Yk,e+(x.clientX-u))),f||(f=requestAnimationFrame(p))},g=()=>{f&&cancelAnimationFrame(f),p(),c&&o(d),l.removeEventListener("pointermove",m),l.removeEventListener("pointerup",g),l.removeEventListener("pointercancel",g);try{l.releasePointerCapture(s.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="ew-resize",l.addEventListener("pointermove",m),l.addEventListener("pointerup",g),l.addEventListener("pointercancel",g)},onDoubleClick:s=>{s.preventDefault(),s.stopPropagation(),r()},title:"Drag to resize \xB7 double-click to fit",style:{touchAction:"none"},className:"absolute right-0 top-0 bottom-0 z-20 w-1.5 cursor-ew-resize hover:bg-accent/40"}),HU=({cart:t,entity:e,searchFields:a,onSelectRow:o})=>{let r=xm(t,e),n=Ea.useRef(null),[s,i]=Ea.useState(0),[l,u]=Ea.useState(0),[d,c]=Ea.useState(""),[f,h]=Ea.useState(null),[p,m]=Ea.useState(null),[g,x]=Ea.useState(0),[y,w]=Ea.useState(()=>RU(t,e)),C=N=>y[N]??OU(N);Ea.useEffect(()=>(r.setOnRender(()=>x(N=>N+1)),()=>r.setOnRender(null)),[r]);let I=r.columns.length>0;Ea.useEffect(()=>{let N=n.current;if(!N)return;let U=new ResizeObserver(()=>u(N.clientHeight));return U.observe(N),u(N.clientHeight),()=>U.disconnect()},[I]);let v=r.store.rows,L=r.columns,S=v.length*or,A=Math.max(0,Math.floor(s/or)-$k),H=Math.max(0,Math.ceil(l/or)+$k*2),M=Math.min(v.length,A+H),R=N=>{N.key==="Enter"?r.search(d.trim()):N.key==="Escape"&&(c(""),r.clearSearch())},z=N=>{let U=v[N];if(!U)return;let $={};for(let _=0;_<L.length;_++)$[L[_].name]=U[_]??"";o($)},k=a.length===0,T=L.findIndex(N=>N.name==="id"),D=Ea.useMemo(()=>{let N={"--gw":`${EU}px`},U=["var(--gw)"];return L.forEach(($,_)=>{N[`--cw-${_}`]=`${C($.name)}px`,U.push(`var(--cw-${_})`)}),N["--total-w"]=`calc(${U.join(" + ")})`,N},[L,y]),E=(N,U)=>{w($=>({...$,[N]:U})),TU(t,e,N,U)},q=(N,U)=>{let $=NU(),_=n.current;if(!$||!_)return;$.font=`12px ${getComputedStyle(_).fontFamily}`;let W=$.measureText(U).width,G=Math.min(v.length,1e3);for(let F=0;F<G;F++)W=Math.max(W,$.measureText(v[F]?.[N]??"").width);let O=Math.max(Fg,Math.min(Yk,Math.ceil(W)+18));_.style.setProperty(`--cw-${N}`,`${O}px`),E(U,O)},B=N=>{let U=n.current;if(!U)return;let $=N*or;$<U.scrollTop?U.scrollTop=$:$+or>U.scrollTop+U.clientHeight&&(U.scrollTop=$+or-U.clientHeight)},P=N=>{if(v.length===0||L.length===0)return;if((N.metaKey||N.ctrlKey)&&(N.key==="c"||N.key==="C")){if(!f)return;let W=v[f.r]?.[f.c]??"";navigator.clipboard?.writeText(W),N.preventDefault();return}let U=f??{r:A,c:0},{r:$,c:_}=U;if(N.key==="ArrowUp")$--;else if(N.key==="ArrowDown")$++;else if(N.key==="ArrowLeft")_--;else if(N.key==="ArrowRight")_++;else return;N.preventDefault(),$=Math.max(0,Math.min(v.length-1,$)),_=Math.max(0,Math.min(L.length-1,_)),h({r:$,c:_}),m(null),B($)};return nn("div",{className:"flex h-full flex-col bg-background",children:[nn("div",{className:"flex h-7 shrink-0 items-center gap-2 border-b border-border px-2",children:[Ct("input",{type:"text",value:d,disabled:k,onChange:N=>c(N.target.value),onKeyDown:R,placeholder:k?"Search disabled (no @@search declared)":`Search ${a.join(", ")} \u23CE`,className:rr("h-5 flex-1 rounded-sm border border-border bg-background px-2 text-[12px] outline-none","placeholder:text-muted-foreground/70 focus:border-accent-foreground/30",k&&"opacity-50 cursor-not-allowed")}),Ct("div",{className:"shrink-0 text-[11px] text-muted-foreground tabular-nums",children:r.error?Ct("span",{className:"text-red-400",children:r.error}):L.length===0?Ct("span",{children:r.connected?"loading\u2026":"connecting\u2026"}):nn("span",{children:[r.loadedRows.toLocaleString()," / ",r.totalRows.toLocaleString()," rows",r.streaming?" \xB7 streaming":""]})})]}),L.length===0?Ct("div",{className:"flex flex-1 items-center justify-center text-[12px] text-muted-foreground",children:r.error?r.error:"Waiting for schema\u2026"}):Ct("div",{ref:n,tabIndex:0,onKeyDown:P,onScroll:N=>{i(N.target.scrollTop),p&&m(null)},className:"group/table relative min-h-0 flex-1 overflow-auto font-mono outline-none",children:nn("div",{style:{...D,width:"var(--total-w)"},children:[nn("div",{className:"sticky top-0 z-10 flex h-6 select-none border-b border-border bg-background text-[11px] text-muted-foreground",style:{width:"var(--total-w)"},children:[Ct("div",{style:{width:"var(--gw)"},className:"shrink-0 border-r border-border"}),L.map((N,U)=>nn("div",{style:{width:`var(--cw-${U})`},className:"relative flex items-center overflow-hidden border-r border-border px-2",children:[Ct("span",{className:"truncate",children:N.name}),Ct(_U,{index:U,startWidth:C(N.name),scrollerRef:n,onCommit:$=>E(N.name,$),onAutoFit:()=>q(U,N.name)})]},N.name))]}),Ct("div",{style:{height:S,width:"var(--total-w)",position:"relative"},children:v.slice(A,M).map((N,U)=>{let $=A+U;return nn("div",{style:{top:$*or,height:or,width:"var(--total-w)"},className:rr("absolute left-0 flex text-[12px] leading-none",$%2===0?"bg-background":"bg-muted/20"),children:[Ct("button",{type:"button",title:"Open row detail",onClick:()=>z($),style:{width:"var(--gw)"},className:rr("flex shrink-0 items-center justify-center border-r border-border/60","cursor-pointer text-[10px] tabular-nums text-muted-foreground/60","hover:bg-accent hover:text-accent-foreground"),children:$+1}),L.map((_,W)=>{let G=f?.r===$&&f?.c===W;return Ct("div",{"data-selected":G,onClick:O=>{O.stopPropagation(),h({r:$,c:W}),m(null)},onDoubleClick:O=>{O.stopPropagation(),h({r:$,c:W});let F=T>=0&&!BU.has(_.name)&&!FU.has(_.type);m({r:$,c:W,colName:_.name,value:N[W]??"",rect:O.currentTarget.getBoundingClientRect(),cart:t,entity:e,rowId:T>=0?N[T]??"":"",colType:_.type,editable:F})},style:{width:`var(--cw-${W})`},className:rr("flex cursor-pointer items-center overflow-hidden border-r border-border/60 px-2","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","data-[selected=true]:[box-shadow:inset_0_0_0_1px_#60a5fa]"),title:N[W],children:Ct("span",{className:"truncate",children:N[W]})},_.name)})]},$)})})]})}),p?Ct(Bg,{data:p,onClose:()=>m(null)}):null,g<0&&Ct("span",{})]})},Xi=HU;import{useEffect as zU,useState as Ki}from"react";import{useCallback as Rc,useMemo as UU}from"react";function qU(t){let e={},a=new Set,o=new Set;for(let r of t){let n=r.cartridge;if(!n||!r.owns)continue;let s=[];for(let[i,l]of Object.entries(r.owns)){let u=Array.isArray(l?.searchFields)?l.searchFields:[];s.push({name:i,route:`/_ws/bulk/${n}/${i.toLowerCase()}`,searchFields:u})}s.length>0&&(e[n]=s,r.core&&a.add(n),r.installed&&o.add(n))}return{reg:e,core:a,installed:o}}function Ec(){let{apiBaseUrl:t}=tt(),[e,a]=Ki({}),[o,r]=Ki(new Set),[n,s]=Ki(new Set),[i,l]=Ki(!0),[u,d]=Ki(null);zU(()=>{let f=new AbortController,h=!1;return l(!0),d(null),(async()=>{try{let p=await fetch(`${t}/_console/contracts`,{signal:f.signal,credentials:"include",headers:Ma()});if(!p.ok)throw new Error(`HTTP ${p.status}`);let m=await p.json();if(!Array.isArray(m))throw new Error("malformed contracts response");if(h)return;let{reg:g,core:x,installed:y}=qU(m);a(g),r(x),s(y)}catch(p){if(h||p.name==="AbortError")return;d(p instanceof Error?p.message:String(p))}finally{h||l(!1)}})(),()=>{h=!0,f.abort()}},[t]);let c=Object.keys(e).sort();return{registry:e,carts:c,coreCarts:o,installedCarts:n,loading:i,error:u}}async function Tc(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function Og(){let{apiBaseUrl:t}=tt(),e=Rc(async()=>Tc(await fetch(`${t}/_console/integrations/gsheets`,{credentials:"include",headers:Ma()})),[t]),a=Rc(async n=>Tc(await fetch(`${t}/_console/integrations/gsheets`,{method:"POST",credentials:"include",headers:Ma({"content-type":"application/json"}),body:JSON.stringify(n)})),[t]),o=Rc(async n=>Tc(await fetch(`${t}/_console/integrations/gsheets/sync`,{method:"POST",credentials:"include",headers:Ma({"content-type":"application/json"}),body:JSON.stringify({cartridge:n})})),[t]),r=Rc(async n=>Tc(await fetch(`${t}/_console/integrations/gsheets/${encodeURIComponent(n)}`,{method:"DELETE",credentials:"include",headers:Ma()})),[t]);return UU(()=>({list:e,save:a,syncNow:o,remove:r}),[e,a,o,r])}import ke,{useEffect as hs}from"react";import{jsx as GU}from"react/jsx-runtime";var Jk=ke.createContext(null),Qk="nimbit-devtools:v1",WU={info:!0,warn:!0,error:!0,plain:!0};function VU(){if(typeof window>"u")return{};try{let t=window.localStorage.getItem(Qk);if(!t)return{};let e=JSON.parse(t);return typeof e=="object"&&e?e:{}}catch{return{}}}var Ng=({children:t,defaultActiveTab:e})=>{let[a,o]=ke.useState(!1),[r,n]=ke.useState("bottom"),[s,i]=ke.useState(e??null),[l,u]=ke.useState({h:320,w:480}),[d,c]=ke.useState(!1),[f,h]=ke.useState(null),[p,m]=ke.useState(null),[g,x]=ke.useState("table"),[y,w]=ke.useState(null),[C,I]=ke.useState(()=>new Set),[v,L]=ke.useState(()=>new Set),[S,A]=ke.useState(176),[H,M]=ke.useState(440),[R,z]=ke.useState(WU),[k,T]=ke.useState(!1),[D,E]=ke.useState(null),[q,B]=ke.useState(null),[P,N]=ke.useState(200),[U,$]=ke.useState("general"),[_,W]=ke.useState("default"),[G,O]=ke.useState(12),[F,V]=ke.useState(!1),[ie,le]=ke.useState(2),[J,ne]=ke.useState("system"),[ue,ve]=ke.useState(!1),{apiBaseUrl:Re}=tt(),[ct,ga]=ke.useState(!1),wt=ke.useCallback(()=>o(ee=>!ee),[]);hs(()=>{let ee=VU();ee.open!=null&&o(ee.open),ee.dock!=null&&n(ee.dock),ee.activeTab!=null&&i(ee.activeTab),ee.size!=null&&u(ee.size),ee.maximized!=null&&c(ee.maximized),ee.dataCart!=null&&h(ee.dataCart),ee.dataEntity!=null&&m(ee.dataEntity),ee.view!=null&&x(ee.view),ee.graphCarts!=null&&w(new Set(ee.graphCarts)),ee.revealedCarts!=null&&I(new Set(ee.revealedCarts)),ee.hiddenEntities!=null&&L(new Set(ee.hiddenEntities)),ee.graphLeftW!=null&&A(ee.graphLeftW),ee.graphRightW!=null&&M(ee.graphRightW),ee.consoleFilter!=null&&z(ee.consoleFilter),ee.consolePaused!=null&&T(ee.consolePaused),ee.sourcesCart!=null&&E(ee.sourcesCart),ee.sourcesFile!=null&&B(ee.sourcesFile),ee.sourcesTreeW!=null&&N(ee.sourcesTreeW),ee.settingsCategory!=null&&$(ee.settingsCategory),ee.editorTheme!=null&&W(ee.editorTheme),ee.editorFontSize!=null&&O(ee.editorFontSize),ee.editorLineWrap!=null&&V(ee.editorLineWrap),ee.editorTabSize!=null&&le(ee.editorTabSize),ee.devtoolsFont!=null&&ne(ee.devtoolsFont),ve(!0)},[]),hs(()=>{if(!ue)return;let ee=!1;return(async()=>{let Ue=await sm(Re);ee||(typeof Ue.editorTheme=="string"&&W(Ue.editorTheme),typeof Ue.editorFontSize=="number"&&O(Ue.editorFontSize),typeof Ue.editorLineWrap=="boolean"&&V(Ue.editorLineWrap),typeof Ue.editorTabSize=="number"&&le(Ue.editorTabSize),typeof Ue.devtoolsFont=="string"&&ne(Ue.devtoolsFont),Array.isArray(Ue.revealedCarts)&&I(new Set(Ue.revealedCarts)),ga(!0))})(),()=>{ee=!0}},[ue,Re]),hs(()=>{if(!ct)return;let ee={editorTheme:_,editorFontSize:G,editorLineWrap:F,editorTabSize:ie,devtoolsFont:J,revealedCarts:[...C]},Ue=setTimeout(()=>{im(Re,ee)},600);return()=>clearTimeout(Ue)},[ct,Re,_,G,F,ie,J,C]),hs(()=>{if(typeof window>"u"||!ue)return;let ee={open:a,dock:r,activeTab:s,size:l,maximized:d,dataCart:f,dataEntity:p,view:g,graphCarts:y?[...y]:null,revealedCarts:[...C],hiddenEntities:[...v],graphLeftW:S,graphRightW:H,consoleFilter:R,consolePaused:k,sourcesCart:D,sourcesFile:q,sourcesTreeW:P,settingsCategory:U,editorTheme:_,editorFontSize:G,editorLineWrap:F,editorTabSize:ie,devtoolsFont:J};try{window.localStorage.setItem(Qk,JSON.stringify(ee))}catch{}},[ue,a,r,s,l,d,f,p,g,y,C,v,S,H,R,k,D,q,P,U,_,G,F,ie,J]);let ea=ke.useMemo(()=>({open:a,setOpen:o,toggle:wt,dock:r,setDock:n,activeTab:s,setActiveTab:i,size:l,setSize:u,maximized:d,setMaximized:c,dataCart:f,setDataCart:h,dataEntity:p,setDataEntity:m,view:g,setView:x,graphCarts:y,setGraphCarts:w,revealedCarts:C,setRevealedCarts:I,hiddenEntities:v,setHiddenEntities:L,graphLeftW:S,setGraphLeftW:A,graphRightW:H,setGraphRightW:M,consoleFilter:R,setConsoleFilter:z,consolePaused:k,setConsolePaused:T,sourcesCart:D,setSourcesCart:E,sourcesFile:q,setSourcesFile:B,sourcesTreeW:P,setSourcesTreeW:N,settingsCategory:U,setSettingsCategory:$,editorTheme:_,setEditorTheme:W,editorFontSize:G,setEditorFontSize:O,editorLineWrap:F,setEditorLineWrap:V,editorTabSize:ie,setEditorTabSize:le,devtoolsFont:J,setDevtoolsFont:ne}),[a,wt,r,s,l,d,f,p,g,y,C,v,S,H,R,k,D,q,P,U,_,G,F,ie,J]);return hs(()=>{let ee=it=>{let so=it.ctrlKey&&(it.key==="F12"||it.code==="F12"),Gt=(it.ctrlKey||it.metaKey)&&it.shiftKey&&(it.code==="KeyD"||it.key==="D"||it.key==="d");(so||Gt)&&(it.preventDefault(),wt())},Ue=()=>wt();return window.addEventListener("keydown",ee),window.addEventListener("devtools-toggle",Ue),()=>{window.removeEventListener("keydown",ee),window.removeEventListener("devtools-toggle",Ue)}},[wt]),hs(()=>{window.dispatchEvent(new CustomEvent("devtools-state",{detail:{open:a}}))},[a]),GU(Jk.Provider,{value:ea,children:t})};function Jt(){let t=ke.useContext(Jk);if(!t)throw new Error("useDevTools must be used inside <DevToolsProvider>");return t}import hr from"react";import{forwardRef as ZU,createElement as YU}from"react";var Bc=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var e1=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var t1=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var _g=t=>{let e=t1(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as jU,createElement as r1}from"react";var Fc={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var a1=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as $U,useContext as XU,useMemo as uY,createElement as dY}from"react";var KU=$U({});var o1=()=>XU(KU);var n1=jU(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:c=!1,color:f="currentColor",className:h=""}=o1()??{},p=o??c?Number(a??d)*24/Number(e??u):a??d;return r1("svg",{ref:l,...Fc,width:e??u??Fc.width,height:e??u??Fc.height,stroke:t??f,strokeWidth:p,className:Bc("lucide",h,r),...!n&&!a1(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>r1(m,g)),...Array.isArray(n)?n:[n]])});var ce=(t,e)=>{let a=ZU(({className:o,...r},n)=>YU(n1,{ref:n,iconNode:e,className:Bc(`lucide-${e1(_g(t))}`,`lucide-${t}`,o),...r}));return a.displayName=_g(t),a};var JU=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],ji=ce("chevron-right",JU);var QU=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],nr=ce("circle-alert",QU);var e5=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],ko=ce("circle-check",e5);var t5=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],sr=ce("ellipsis",t5);var a5=[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]],ir=ce("file-plus-corner",a5);var o5=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],qt=ce("loader-circle",o5);var r5=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],Zi=ce("lock",r5);var n5=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Yi=ce("maximize-2",n5);var s5=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],Ji=ce("minimize-2",s5);var i5=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],Qi=ce("network",i5);var l5=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h18",key:"5xshup"}]],el=ce("panel-bottom",l5);var u5=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],tl=ce("panel-right",u5);var d5=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],al=ce("pause",d5);var c5=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],sn=ce("play",c5);var f5=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],ol=ce("plus",f5);var h5=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],rl=ce("refresh-cw",h5);var p5=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],nl=ce("save",p5);var m5=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],sl=ce("shield-alert",m5);var g5=[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]],il=ce("table-2",g5);var x5=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],ln=ce("trash-2",x5);var b5=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ao=ce("x",b5);function s1(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=s1(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Oc(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=s1(t))&&(o&&(o+=" "),o+=e);return o}var w5=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},y5=(t,e)=>({classGroupId:t,validator:e}),f1=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var i1=[],L5="arbitrary..",C5=t=>{let e=S5(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return v5(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return h1(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?w5(u,l):l:u||i1}return a[s]||i1}}},h1=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=h1(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},v5=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?L5+o:void 0})(),S5=t=>{let{theme:e,classGroups:a}=t;return I5(a,e)},I5=(t,e)=>{let a=f1();for(let o in t){let r=t[o];zg(r,a,o,e)}return a},zg=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];k5(s,e,a,o)}},k5=(t,e,a,o)=>{if(typeof t=="string"){A5(t,e,a);return}if(typeof t=="function"){M5(t,e,a,o);return}P5(t,e,a,o)},A5=(t,e,a)=>{let o=t===""?e:p1(e,t);o.classGroupId=a},M5=(t,e,a,o)=>{if(D5(t)){zg(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(y5(a,t))},P5=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];zg(l,p1(e,i),a,o)}},p1=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=f1(),a.nextPart.set(s,i)),a=i}return a},D5=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,R5=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var T5=[],l1=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),E5=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let c=n.length===0?r:r.slice(l),f=c,h=!1;c.endsWith("!")?(f=c.slice(0,-1),h=!0):c.startsWith("!")&&(f=c.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return l1(n,h,f,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):l1(T5,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},B5=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},F5=t=>({cache:R5(t.cacheSize),parseClassName:E5(t),sortModifiers:B5(t),postfixLookupClassGroupIds:O5(t),...C5(t)}),O5=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},N5=/\s+/,_5=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(N5),u="";for(let d=l.length-1;d>=0;d-=1){let c=l[d],{isExternal:f,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(c);if(f){u=c+(u.length>0?" "+u:u);continue}let x=!!g,y;if(x){let L=m.substring(0,g);y=o(L);let S=y&&s[y]?o(m):void 0;S&&S!==y&&(y=S,x=!1)}else y=o(m);if(!y){if(!x){u=c+(u.length>0?" "+u:u);continue}if(y=o(m),!y){u=c+(u.length>0?" "+u:u);continue}x=!1}let w=h.length===0?"":h.length===1?h[0]:n(h).join(":"),C=p?w+"!":w,I=C+y;if(i.indexOf(I)>-1)continue;i.push(I);let v=r(y,x);for(let L=0;L<v.length;++L){let S=v[L];i.push(C+S)}u=c+(u.length>0?" "+u:u)}return u},H5=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=m1(a))&&(r&&(r+=" "),r+=o);return r},m1=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=m1(t[o]))&&(a&&(a+=" "),a+=e);return a},z5=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,c)=>c(d),t());return a=F5(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=_5(l,a);return r(l,d),d};return n=s,(...l)=>n(H5(...l))},q5=[],st=t=>{let e=a=>a[t]||q5;return e.isThemeGetter=!0,e},g1=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,x1=/^\((?:(\w[\w-]*):)?(.+)\)$/i,U5=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,W5=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,V5=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,G5=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,$5=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,X5=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,lr=t=>U5.test(t),ge=t=>!!t&&!Number.isNaN(Number(t)),to=t=>!!t&&Number.isInteger(Number(t)),Hg=t=>t.endsWith("%")&&ge(t.slice(0,-1)),Mo=t=>W5.test(t),b1=()=>!0,K5=t=>V5.test(t)&&!G5.test(t),qg=()=>!1,j5=t=>$5.test(t),Z5=t=>X5.test(t),Y5=t=>!ae(t)&&!re(t),J5=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),Q5=t=>ur(t,L1,qg),ae=t=>g1.test(t),un=t=>ur(t,C1,K5),u1=t=>ur(t,iW,ge),eW=t=>ur(t,S1,b1),tW=t=>ur(t,v1,qg),d1=t=>ur(t,w1,qg),aW=t=>ur(t,y1,Z5),Nc=t=>ur(t,I1,j5),re=t=>x1.test(t),ll=t=>dn(t,C1),oW=t=>dn(t,v1),c1=t=>dn(t,w1),rW=t=>dn(t,L1),nW=t=>dn(t,y1),_c=t=>dn(t,I1,!0),sW=t=>dn(t,S1,!0),ur=(t,e,a)=>{let o=g1.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},dn=(t,e,a=!1)=>{let o=x1.exec(t);return o?o[1]?e(o[1]):a:!1},w1=t=>t==="position"||t==="percentage",y1=t=>t==="image"||t==="url",L1=t=>t==="length"||t==="size"||t==="bg-size",C1=t=>t==="length",iW=t=>t==="number",v1=t=>t==="family-name",S1=t=>t==="number"||t==="weight",I1=t=>t==="shadow";var lW=()=>{let t=st("color"),e=st("font"),a=st("text"),o=st("font-weight"),r=st("tracking"),n=st("leading"),s=st("breakpoint"),i=st("container"),l=st("spacing"),u=st("radius"),d=st("shadow"),c=st("inset-shadow"),f=st("text-shadow"),h=st("drop-shadow"),p=st("blur"),m=st("perspective"),g=st("aspect"),x=st("ease"),y=st("animate"),w=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...C(),re,ae],v=()=>["auto","hidden","clip","visible","scroll"],L=()=>["auto","contain","none"],S=()=>[re,ae,l],A=()=>[lr,"full","auto",...S()],H=()=>[to,"none","subgrid",re,ae],M=()=>["auto",{span:["full",to,re,ae]},to,re,ae],R=()=>[to,"auto",re,ae],z=()=>["auto","min","max","fr",re,ae],k=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],T=()=>["start","end","center","stretch","center-safe","end-safe"],D=()=>["auto",...S()],E=()=>[lr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],q=()=>[lr,"screen","full","dvw","lvw","svw","min","max","fit",...S()],B=()=>[lr,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],P=()=>[t,re,ae],N=()=>[...C(),c1,d1,{position:[re,ae]}],U=()=>["no-repeat",{repeat:["","x","y","space","round"]}],$=()=>["auto","cover","contain",rW,Q5,{size:[re,ae]}],_=()=>[Hg,ll,un],W=()=>["","none","full",u,re,ae],G=()=>["",ge,ll,un],O=()=>["solid","dashed","dotted","double"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>[ge,Hg,c1,d1],ie=()=>["","none",p,re,ae],le=()=>["none",ge,re,ae],J=()=>["none",ge,re,ae],ne=()=>[ge,re,ae],ue=()=>[lr,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Mo],breakpoint:[Mo],color:[b1],container:[Mo],"drop-shadow":[Mo],ease:["in","out","in-out"],font:[Y5],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Mo],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Mo],shadow:[Mo],spacing:["px",ge],text:[Mo],"text-shadow":[Mo],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",lr,ae,re,g]}],container:["container"],"container-type":[{"@container":["","normal","size",re,ae]}],"container-named":[J5],columns:[{columns:[ge,ae,re,i]}],"break-after":[{"break-after":w()}],"break-before":[{"break-before":w()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:I()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:A()}],"inset-x":[{"inset-x":A()}],"inset-y":[{"inset-y":A()}],start:[{"inset-s":A(),start:A()}],end:[{"inset-e":A(),end:A()}],"inset-bs":[{"inset-bs":A()}],"inset-be":[{"inset-be":A()}],top:[{top:A()}],right:[{right:A()}],bottom:[{bottom:A()}],left:[{left:A()}],visibility:["visible","invisible","collapse"],z:[{z:[to,"auto",re,ae]}],basis:[{basis:[lr,"full","auto",i,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ge,lr,"auto","initial","none",ae]}],grow:[{grow:["",ge,re,ae]}],shrink:[{shrink:["",ge,re,ae]}],order:[{order:[to,"first","last","none",re,ae]}],"grid-cols":[{"grid-cols":H()}],"col-start-end":[{col:M()}],"col-start":[{"col-start":R()}],"col-end":[{"col-end":R()}],"grid-rows":[{"grid-rows":H()}],"row-start-end":[{row:M()}],"row-start":[{"row-start":R()}],"row-end":[{"row-end":R()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":z()}],"auto-rows":[{"auto-rows":z()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...k(),"normal"]}],"justify-items":[{"justify-items":[...T(),"normal"]}],"justify-self":[{"justify-self":["auto",...T()]}],"align-content":[{content:["normal",...k()]}],"align-items":[{items:[...T(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...T(),{baseline:["","last"]}]}],"place-content":[{"place-content":k()}],"place-items":[{"place-items":[...T(),"baseline"]}],"place-self":[{"place-self":["auto",...T()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mbs:[{mbs:D()}],mbe:[{mbe:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:E()}],"inline-size":[{inline:["auto",...q()]}],"min-inline-size":[{"min-inline":["auto",...q()]}],"max-inline-size":[{"max-inline":["none",...q()]}],"block-size":[{block:["auto",...B()]}],"min-block-size":[{"min-block":["auto",...B()]}],"max-block-size":[{"max-block":["none",...B()]}],w:[{w:[i,"screen",...E()]}],"min-w":[{"min-w":[i,"screen","none",...E()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...E()]}],h:[{h:["screen","lh",...E()]}],"min-h":[{"min-h":["screen","lh","none",...E()]}],"max-h":[{"max-h":["screen","lh",...E()]}],"font-size":[{text:["base",a,ll,un]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,sW,eW]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Hg,ae]}],"font-family":[{font:[oW,tW,e]}],"font-features":[{"font-features":[ae]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,re,ae]}],"line-clamp":[{"line-clamp":[ge,"none",re,u1]}],leading:[{leading:[n,...S()]}],"list-image":[{"list-image":["none",re,ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",re,ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:P()}],"text-color":[{text:P()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:[ge,"from-font","auto",re,un]}],"text-decoration-color":[{decoration:P()}],"underline-offset":[{"underline-offset":[ge,"auto",re,ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"tab-size":[{tab:[to,re,ae]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",re,ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",re,ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:U()}],"bg-size":[{bg:$()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},to,re,ae],radial:["",re,ae],conic:[to,re,ae]},nW,aW]}],"bg-color":[{bg:P()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:P()}],"gradient-via":[{via:P()}],"gradient-to":[{to:P()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:G()}],"border-w-x":[{"border-x":G()}],"border-w-y":[{"border-y":G()}],"border-w-s":[{"border-s":G()}],"border-w-e":[{"border-e":G()}],"border-w-bs":[{"border-bs":G()}],"border-w-be":[{"border-be":G()}],"border-w-t":[{"border-t":G()}],"border-w-r":[{"border-r":G()}],"border-w-b":[{"border-b":G()}],"border-w-l":[{"border-l":G()}],"divide-x":[{"divide-x":G()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":G()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...O(),"hidden","none"]}],"divide-style":[{divide:[...O(),"hidden","none"]}],"border-color":[{border:P()}],"border-color-x":[{"border-x":P()}],"border-color-y":[{"border-y":P()}],"border-color-s":[{"border-s":P()}],"border-color-e":[{"border-e":P()}],"border-color-bs":[{"border-bs":P()}],"border-color-be":[{"border-be":P()}],"border-color-t":[{"border-t":P()}],"border-color-r":[{"border-r":P()}],"border-color-b":[{"border-b":P()}],"border-color-l":[{"border-l":P()}],"divide-color":[{divide:P()}],"outline-style":[{outline:[...O(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ge,re,ae]}],"outline-w":[{outline:["",ge,ll,un]}],"outline-color":[{outline:P()}],shadow:[{shadow:["","none",d,_c,Nc]}],"shadow-color":[{shadow:P()}],"inset-shadow":[{"inset-shadow":["none",c,_c,Nc]}],"inset-shadow-color":[{"inset-shadow":P()}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:P()}],"ring-offset-w":[{"ring-offset":[ge,un]}],"ring-offset-color":[{"ring-offset":P()}],"inset-ring-w":[{"inset-ring":G()}],"inset-ring-color":[{"inset-ring":P()}],"text-shadow":[{"text-shadow":["none",f,_c,Nc]}],"text-shadow-color":[{"text-shadow":P()}],opacity:[{opacity:[ge,re,ae]}],"mix-blend":[{"mix-blend":[...F(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":F()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ge]}],"mask-image-linear-from-pos":[{"mask-linear-from":V()}],"mask-image-linear-to-pos":[{"mask-linear-to":V()}],"mask-image-linear-from-color":[{"mask-linear-from":P()}],"mask-image-linear-to-color":[{"mask-linear-to":P()}],"mask-image-t-from-pos":[{"mask-t-from":V()}],"mask-image-t-to-pos":[{"mask-t-to":V()}],"mask-image-t-from-color":[{"mask-t-from":P()}],"mask-image-t-to-color":[{"mask-t-to":P()}],"mask-image-r-from-pos":[{"mask-r-from":V()}],"mask-image-r-to-pos":[{"mask-r-to":V()}],"mask-image-r-from-color":[{"mask-r-from":P()}],"mask-image-r-to-color":[{"mask-r-to":P()}],"mask-image-b-from-pos":[{"mask-b-from":V()}],"mask-image-b-to-pos":[{"mask-b-to":V()}],"mask-image-b-from-color":[{"mask-b-from":P()}],"mask-image-b-to-color":[{"mask-b-to":P()}],"mask-image-l-from-pos":[{"mask-l-from":V()}],"mask-image-l-to-pos":[{"mask-l-to":V()}],"mask-image-l-from-color":[{"mask-l-from":P()}],"mask-image-l-to-color":[{"mask-l-to":P()}],"mask-image-x-from-pos":[{"mask-x-from":V()}],"mask-image-x-to-pos":[{"mask-x-to":V()}],"mask-image-x-from-color":[{"mask-x-from":P()}],"mask-image-x-to-color":[{"mask-x-to":P()}],"mask-image-y-from-pos":[{"mask-y-from":V()}],"mask-image-y-to-pos":[{"mask-y-to":V()}],"mask-image-y-from-color":[{"mask-y-from":P()}],"mask-image-y-to-color":[{"mask-y-to":P()}],"mask-image-radial":[{"mask-radial":[re,ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":V()}],"mask-image-radial-to-pos":[{"mask-radial-to":V()}],"mask-image-radial-from-color":[{"mask-radial-from":P()}],"mask-image-radial-to-color":[{"mask-radial-to":P()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[ge]}],"mask-image-conic-from-pos":[{"mask-conic-from":V()}],"mask-image-conic-to-pos":[{"mask-conic-to":V()}],"mask-image-conic-from-color":[{"mask-conic-from":P()}],"mask-image-conic-to-color":[{"mask-conic-to":P()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:U()}],"mask-size":[{mask:$()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",re,ae]}],filter:[{filter:["","none",re,ae]}],blur:[{blur:ie()}],brightness:[{brightness:[ge,re,ae]}],contrast:[{contrast:[ge,re,ae]}],"drop-shadow":[{"drop-shadow":["","none",h,_c,Nc]}],"drop-shadow-color":[{"drop-shadow":P()}],grayscale:[{grayscale:["",ge,re,ae]}],"hue-rotate":[{"hue-rotate":[ge,re,ae]}],invert:[{invert:["",ge,re,ae]}],saturate:[{saturate:[ge,re,ae]}],sepia:[{sepia:["",ge,re,ae]}],"backdrop-filter":[{"backdrop-filter":["","none",re,ae]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[ge,re,ae]}],"backdrop-contrast":[{"backdrop-contrast":[ge,re,ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ge,re,ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ge,re,ae]}],"backdrop-invert":[{"backdrop-invert":["",ge,re,ae]}],"backdrop-opacity":[{"backdrop-opacity":[ge,re,ae]}],"backdrop-saturate":[{"backdrop-saturate":[ge,re,ae]}],"backdrop-sepia":[{"backdrop-sepia":["",ge,re,ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",re,ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ge,"initial",re,ae]}],ease:[{ease:["linear","initial",x,re,ae]}],delay:[{delay:[ge,re,ae]}],animate:[{animate:["none",y,re,ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,re,ae]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:le()}],"rotate-x":[{"rotate-x":le()}],"rotate-y":[{"rotate-y":le()}],"rotate-z":[{"rotate-z":le()}],scale:[{scale:J()}],"scale-x":[{"scale-x":J()}],"scale-y":[{"scale-y":J()}],"scale-z":[{"scale-z":J()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[re,ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ue()}],"translate-x":[{"translate-x":ue()}],"translate-y":[{"translate-y":ue()}],"translate-z":[{"translate-z":ue()}],"translate-none":["translate-none"],zoom:[{zoom:[to,re,ae]}],accent:[{accent:P()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:P()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",re,ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":P()}],"scrollbar-track-color":[{"scrollbar-track":P()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",re,ae]}],fill:[{fill:["none",...P()]}],"stroke-w":[{stroke:[ge,ll,un,u1]}],stroke:[{stroke:["none",...P()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var k1=z5(lW);function fe(...t){return k1(Oc(t))}var Hc=[{id:"system",label:"System UI",stack:"ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"},{id:"sans",label:"Sans-serif",stack:"Inter, Helvetica, Arial, sans-serif"},{id:"serif",label:"Serif",stack:"ui-serif, Georgia, Cambria, Times New Roman, serif"},{id:"mono",label:"Monospace",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"}],uW=new Map(Hc.map(t=>[t.id,t.stack]));function A1(t){return uW.get(t)??Hc[0].stack}import Po from"react";import{Fragment as hW,jsx as Tt,jsxs as ul}from"react/jsx-runtime";var dW=({children:t})=>{let{apiBaseUrl:e}=tt(),[a,o]=Po.useState(null),[r,n]=Po.useState(!0),s=Po.useCallback(async i=>{n(!0);try{let l=await nm(e,i);o(l)}catch{i?.aborted||o(null)}finally{i?.aborted||n(!1)}},[e]);return Po.useEffect(()=>{let i=new AbortController;return s(i.signal),()=>i.abort()},[s]),r&&!a?ul(cW,{children:[Tt(qt,{className:"size-4 animate-spin"}),Tt("span",{children:"Checking access\u2026"})]}):a?.isAdmin?Tt(hW,{children:t}):Tt(fW,{mode:a&&!a.claimed?"signup":"signin",onDone:()=>s(),loggedInButNotAdmin:!!a?.authenticated})},cW=({children:t})=>Tt("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-muted-foreground",children:t}),fW=({mode:t,onDone:e,loggedInButNotAdmin:a})=>{let{apiBaseUrl:o}=tt(),[r,n]=Po.useState(""),[s,i]=Po.useState(""),[l,u]=Po.useState(""),[d,c]=Po.useState(!1),[f,h]=Po.useState(null),p=t==="signup";return Tt("div",{className:"flex h-full items-center justify-center p-4",children:ul("form",{onSubmit:async g=>{g.preventDefault(),c(!0),h(null);try{p?await um(o,r,s,l):await lm(o,s,l),e()}catch(x){h(x instanceof Error?x.message:String(x))}finally{c(!1)}},className:"w-full max-w-64 space-y-2.5",children:[ul("div",{className:"space-y-0.5",children:[Tt("div",{className:"text-[13px] font-medium text-foreground",children:p?"Claim this instance":"Sign in to devtools"}),Tt("div",{className:"text-[11px] text-muted-foreground",children:p?"No users yet \u2014 create the first account (becomes console admin).":"Console-operator access required."})]}),a?ul("div",{className:"flex items-start gap-1.5 rounded-md border border-yellow-400/30 bg-yellow-500/10 px-2 py-1.5 text-[11px] text-yellow-300",children:[Tt(sl,{className:"mt-px size-3.5 shrink-0"}),Tt("span",{children:"This account isn't a console operator. Sign in with an admin account."})]}):null,p?Tt("input",{type:"text",required:!0,autoComplete:"name",placeholder:"Name",value:r,onChange:g=>n(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}):null,Tt("input",{type:"email",required:!0,autoComplete:"username",placeholder:"Email",value:s,onChange:g=>i(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),Tt("input",{type:"password",required:!0,minLength:8,autoComplete:p?"new-password":"current-password",placeholder:p?"Password (min 8)":"Password",value:l,onChange:g=>u(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),f?Tt("div",{className:"text-[11px] text-red-400",children:f}):null,ul("button",{type:"submit",disabled:d,className:fe("flex h-7 w-full items-center justify-center gap-1.5 rounded-md bg-foreground text-[12px] font-medium text-background outline-none transition-opacity",d?"opacity-60":"hover:opacity-90"),children:[d?Tt(qt,{className:"size-3.5 animate-spin"}):null,p?"Create admin account":"Sign in"]})]})})},M1=dW;import Ut from"react";import{jsx as Ee,jsxs as ps}from"react/jsx-runtime";var P1=5e3,D1=500,pW=5e3;function mW(t,e){return`${_r(t)}${e}`}function gW(t){if(t.parsed)try{let e=JSON.parse(t.raw),a=e.level==="info"||e.level==="warn"||e.level==="error"?e.level:"plain";return{id:T1(),raw:t.raw,level:a,parsed:e}}catch{}return{id:T1(),raw:t.raw,level:"plain",parsed:null}}var R1=0;function T1(){return R1+=1,R1}var B1={info:"bg-blue-500/20 text-blue-300 border-blue-400/30",warn:"bg-yellow-500/20 text-yellow-300 border-yellow-400/30",error:"bg-red-500/20 text-red-300 border-red-400/30",plain:"bg-zinc-700/40 text-zinc-300 border-zinc-500/30"},xW=()=>{let{apiBaseUrl:t}=tt(),{consoleFilter:e,setConsoleFilter:a,consolePaused:o,setConsolePaused:r}=Jt(),[n,s]=Ut.useState([]),[i,l]=Ut.useState({}),u=Ut.useRef(null),d=Ut.useRef(!0),c=Ut.useRef(o);c.current=o,Ut.useEffect(()=>{let x=!0,y=null,w=D1,C=null,I=()=>{if(x){try{y=new WebSocket(mW(t,"/_console/logs/ws"),dm("nimbit-logs"))}catch{v();return}y.onopen=()=>{w=D1},y.onmessage=L=>{if(c.current||typeof L.data!="string")return;let S;try{S=JSON.parse(L.data)}catch{return}if(!S.lines||S.lines.length===0)return;let A=S.lines.map(gW);s(H=>{let M=H.concat(A);return M.length>P1?M.slice(M.length-P1):M})},y.onerror=()=>{},y.onclose=()=>{y=null,v()}}},v=()=>{x&&(C=setTimeout(()=>{w=Math.min(w*2,pW),I()},w))};return I(),()=>{x=!1,C&&clearTimeout(C),y&&y.close()}},[t]);let f=Ut.useCallback(()=>{let x=u.current;if(!x)return;let y=x.scrollHeight-(x.scrollTop+x.clientHeight)<8;d.current=y},[]),h=Ut.useRef(0);Ut.useEffect(()=>{d.current&&(h.current||(h.current=requestAnimationFrame(()=>{h.current=0;let x=u.current;x&&(x.scrollTop=x.scrollHeight)})))},[n]),Ut.useEffect(()=>()=>{h.current&&cancelAnimationFrame(h.current)},[]);let p=Ut.useMemo(()=>n.filter(x=>e[x.level]),[n,e]),m=Ut.useCallback(x=>a(y=>({...y,[x]:!y[x]})),[]),g=Ut.useCallback(x=>{let y=x.target;for(;y&&y!==x.currentTarget;){let w=y.dataset.rowId;if(w){let C=Number(w);Number.isFinite(C)&&l(I=>({...I,[C]:!I[C]}));return}y=y.parentElement}},[]);return ps("div",{className:"flex h-full flex-col",children:[ps("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-background px-1.5 select-none",children:[Ee(E1,{"aria-label":o?"Resume":"Pause",onClick:()=>r(x=>!x),children:o?Ee(sn,{className:"size-3.5"}):Ee(al,{className:"size-3.5"})}),Ee(E1,{"aria-label":"Clear",onClick:()=>{s([]),l({})},children:Ee(ln,{className:"size-3.5"})}),Ee("div",{className:"mx-1 h-3 w-px bg-border/60"}),["info","warn","error","plain"].map(x=>Ee(bW,{label:x,active:e[x],level:x,onClick:()=>m(x)},x)),Ee("div",{className:"flex-1"}),ps("span",{className:"text-[11px] text-muted-foreground tabular-nums",children:[p.length," / ",n.length]})]}),Ee("div",{ref:u,onScroll:f,style:{overflowAnchor:"none"},className:"min-h-0 flex-1 overflow-auto font-mono text-[11px] leading-[1.45]",children:p.length===0?Ee("div",{className:"p-3 text-muted-foreground",children:"Waiting for console output\u2026"}):Ee("ul",{onClick:g,children:p.map(x=>Ee(yW,{entry:x,expanded:!!i[x.id]},x.id))})})]})},E1=({className:t,children:e,...a})=>Ee("button",{type:"button",className:fe("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",t),...a,children:e}),bW=({label:t,level:e,active:a,onClick:o})=>Ee("button",{type:"button",onClick:o,"data-active":a,className:fe("h-5 rounded-md border px-1.5 text-[11px] leading-none transition-colors","data-[active=false]:opacity-40 data-[active=false]:hover:opacity-70",B1[e]),children:t}),wW=({entry:t,expanded:e})=>{if(t.level==="plain"||!t.parsed)return Ee("li",{className:"border-b border-border/30 px-2 py-0.5 text-zinc-400 whitespace-pre-wrap break-words",style:{contain:"content"},children:t.raw});let a=t.parsed,o=Array.isArray(a.stack)&&a.stack.length>0;return ps("li",{className:"border-b border-border/30",style:{contain:"content"},"data-row-id":o?t.id:void 0,children:[ps("div",{className:fe("flex items-start gap-1.5 px-2 py-0.5",o&&"cursor-pointer hover:bg-accent/30"),children:[o?Ee(ji,{className:fe("mt-0.5 size-3 shrink-0 transition-transform",e&&"rotate-90")}):Ee("span",{className:"inline-block size-3 shrink-0"}),Ee("span",{className:fe("shrink-0 rounded border px-1 text-[10px] font-medium uppercase tracking-wide",B1[t.level]),children:t.level}),a.ts&&Ee("span",{className:"shrink-0 text-zinc-500 tabular-nums",children:a.ts}),Ee("span",{className:"break-words text-zinc-200",children:a.msg??t.raw})]}),o&&e&&Ee("ul",{className:"border-t border-border/20 bg-accent/10 px-7 py-1",children:a.stack.map((r,n)=>ps("li",{className:"text-zinc-400 whitespace-pre-wrap break-words",children:[Ee("span",{className:"text-zinc-300",children:r.proc||"<anon>"}),Ee("span",{className:"text-zinc-500",children:" @ "}),Ee("span",{children:r.file}),Ee("span",{className:"text-zinc-500",children:":"}),Ee("span",{className:"tabular-nums text-zinc-300",children:r.line})]},n))})]})},yW=Ut.memo(wW,(t,e)=>t.entry===e.entry&&t.expanded===e.expanded),F1=xW;import{jsx as CW}from"react/jsx-runtime";var LW=()=>CW("div",{className:"p-3 text-muted-foreground",children:"Network placeholder"}),O1=LW;import Na from"react";import*as KA from"react";import*as U1 from"react";import*as W1 from"react-dom";var qc={};Ex(qc,{Root:()=>SW,Slot:()=>SW,Slottable:()=>IW,createSlot:()=>ms,createSlottable:()=>q1});import*as bt from"react";import*as _1 from"react";function N1(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function vW(...t){return e=>{let a=!1,o=t.map(r=>{let n=N1(r,e);return!a&&typeof n=="function"&&(a=!0),n});if(a)return()=>{for(let r=0;r<o.length;r++){let n=o[r];typeof n=="function"?n():N1(t[r],null)}}}}function Fa(...t){return _1.useCallback(vW(...t),t)}function ms(t){let e=bt.forwardRef((a,o)=>{let{children:r,...n}=a,s=null,i=!1,l=[];H1(r)&&typeof zc=="function"&&(r=zc(r._payload)),bt.Children.forEach(r,f=>{if(PW(f)){i=!0;let h=f,p="child"in h.props?h.props.child:h.props.children;H1(p)&&typeof zc=="function"&&(p=zc(p._payload)),s=kW(h,p),l.push(s?.props?.children)}else l.push(f)}),s?s=bt.cloneElement(s,void 0,l):!i&&bt.Children.count(r)===1&&bt.isValidElement(r)&&(s=r);let u=s?MW(s):void 0,d=Fa(o,u);if(!s){if(r||r===0)throw new Error(i?EW(t):TW(t));return r}let c=AW(n,s.props??{});return s.type!==bt.Fragment&&(c.ref=o?d:u),bt.cloneElement(s,c)});return e.displayName=`${t}.Slot`,e}var SW=ms("Slot"),z1=Symbol.for("radix.slottable");function q1(t){let e=a=>"child"in a?a.children(a.child):a.children;return e.displayName=`${t}.Slottable`,e.__radixId=z1,e}var IW=q1("Slottable"),kW=(t,e)=>{if("child"in t.props){let a=t.props.child;return bt.isValidElement(a)?bt.cloneElement(a,void 0,t.props.children(a.props.children)):null}return bt.isValidElement(e)?e:null};function AW(t,e){let a={...e};for(let o in e){let r=t[o],n=e[o];/^on[A-Z]/.test(o)?r&&n?a[o]=(...i)=>{let l=n(...i);return r(...i),l}:r&&(a[o]=r):o==="style"?a[o]={...r,...n}:o==="className"&&(a[o]=[r,n].filter(Boolean).join(" "))}return{...t,...a}}function MW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}function PW(t){return bt.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===z1}var DW=Symbol.for("react.lazy");function H1(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===DW&&"_payload"in t&&RW(t._payload)}function RW(t){return typeof t=="object"&&t!==null&&"then"in t}var TW=t=>`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,EW=t=>`${t} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,zc=bt[" use ".trim().toString()];import{jsx as BW}from"react/jsx-runtime";var FW=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Qt=FW.reduce((t,e)=>{let a=ms(`Primitive.${e}`),o=U1.forwardRef((r,n)=>{let{asChild:s,...i}=r,l=s?a:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),BW(l,{...i,ref:n})});return o.displayName=`Primitive.${e}`,{...t,[e]:o}},{});function V1(t,e){t&&W1.flushSync(()=>t.dispatchEvent(e))}import*as ha from"react";import{jsx as G1}from"react/jsx-runtime";function $1(t,e){let a=ha.createContext(e);a.displayName=t+"Context";let o=n=>{let{children:s,...i}=n,l=ha.useMemo(()=>i,Object.values(i));return G1(a.Provider,{value:l,children:s})};o.displayName=t+"Provider";function r(n){let s=ha.useContext(a);if(s)return s;if(e!==void 0)return e;throw new Error(`\`${n}\` must be used within \`${t}\``)}return[o,r]}function X1(t,e=[]){let a=[];function o(n,s){let i=ha.createContext(s);i.displayName=n+"Context";let l=a.length;a=[...a,s];let u=c=>{let{scope:f,children:h,...p}=c,m=f?.[t]?.[l]||i,g=ha.useMemo(()=>p,Object.values(p));return G1(m.Provider,{value:g,children:h})};u.displayName=n+"Provider";function d(c,f){let h=f?.[t]?.[l]||i,p=ha.useContext(h);if(p)return p;if(s!==void 0)return s;throw new Error(`\`${c}\` must be used within \`${n}\``)}return[u,d]}let r=()=>{let n=a.map(s=>ha.createContext(s));return function(i){let l=i?.[t]||n;return ha.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return r.scopeName=t,[o,OW(r,...e)]}function OW(...t){let e=t[0];if(t.length===1)return e;let a=()=>{let o=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(n){let s=o.reduce((i,{useScope:l,scopeName:u})=>{let c=l(n)[`__scope${u}`];return{...i,...c}},{});return ha.useMemo(()=>({[`__scope${e.scopeName}`]:s}),[s])}};return a.scopeName=e.scopeName,a}var cQ=!!(typeof window<"u"&&window.document&&window.document.createElement);function ao(t,e,{checkForDefaultPrevented:a=!0}={}){return function(r){if(t?.(r),a===!1||!r.defaultPrevented)return e?.(r)}}import*as pa from"react";import*as K1 from"react";var Do=globalThis?.document?K1.useLayoutEffect:()=>{};import*as Uc from"react";var NW=pa[" useInsertionEffect ".trim().toString()]||Do;function j1({prop:t,defaultProp:e,onChange:a=()=>{},caller:o}){let[r,n,s]=_W({defaultProp:e,onChange:a}),i=t!==void 0,l=i?t:r;{let d=pa.useRef(t!==void 0);pa.useEffect(()=>{let c=d.current;c!==i&&console.warn(`${o} is changing from ${c?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,o])}let u=pa.useCallback(d=>{if(i){let c=HW(d)?d(t):d;c!==t&&s.current?.(c)}else n(d)},[i,t,n,s]);return[l,u]}function _W({defaultProp:t,onChange:e}){let[a,o]=pa.useState(t),r=pa.useRef(a),n=pa.useRef(e);return NW(()=>{n.current=e},[e]),pa.useEffect(()=>{r.current!==a&&(n.current?.(a),r.current=a)},[a,r]),[a,o,n]}function HW(t){return typeof t=="function"}import*as vt from"react";import*as Y1 from"react";function zW(t,e){return Y1.useReducer((a,o)=>e[a][o]??a,t)}var dl=t=>{let{present:e,children:a}=t,o=qW(e),r=typeof a=="function"?a({present:o.isPresent}):vt.Children.only(a),n=UW(o.ref,WW(r));return typeof a=="function"||o.isPresent?vt.cloneElement(r,{ref:n}):null};dl.displayName="Presence";function qW(t){let[e,a]=vt.useState(),o=vt.useRef(null),r=vt.useRef(t),n=vt.useRef("none"),s=t?"mounted":"unmounted",[i,l]=zW(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return vt.useEffect(()=>{let u=Wc(o.current);n.current=i==="mounted"?u:"none"},[i]),Do(()=>{let u=o.current,d=r.current;if(d!==t){let f=n.current,h=Wc(u);t?l("MOUNT"):h==="none"||u?.display==="none"?l("UNMOUNT"):l(d&&f!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=t}},[t,l]),Do(()=>{if(e){let u,d=e.ownerDocument.defaultView??window,c=h=>{let m=Wc(o.current).includes(CSS.escape(h.animationName));if(h.target===e&&m&&(l("ANIMATION_END"),!r.current)){let g=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=g)})}},f=h=>{h.target===e&&(n.current=Wc(o.current))};return e.addEventListener("animationstart",f),e.addEventListener("animationcancel",c),e.addEventListener("animationend",c),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",f),e.removeEventListener("animationcancel",c),e.removeEventListener("animationend",c)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:vt.useCallback(u=>{o.current=u?getComputedStyle(u):null,a(u)},[])}}function Z1(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function UW(...t){let e=vt.useRef(t);return e.current=t,vt.useCallback(a=>{let o=e.current,r=!1,n=o.map(s=>{let i=Z1(s,a);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let s=0;s<n.length;s++){let i=n[s];typeof i=="function"?i():Z1(o[s],null)}}},[])}function Wc(t){return t?.animationName||"none"}function WW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}import*as Ug from"react";var VW=Ug[" useId ".trim().toString()]||(()=>{}),GW=0;function Vc(t){let[e,a]=Ug.useState(VW());return Do(()=>{t||a(o=>o??String(GW++))},[t]),t||(e?`radix-${e}`:"")}var oo={};Ex(oo,{Close:()=>JV,Content:()=>jV,Description:()=>YV,Dialog:()=>dx,DialogClose:()=>wx,DialogContent:()=>mx,DialogDescription:()=>bx,DialogOverlay:()=>px,DialogPortal:()=>hx,DialogTitle:()=>xx,DialogTrigger:()=>cx,Overlay:()=>KV,Portal:()=>XV,Root:()=>GV,Title:()=>ZV,Trigger:()=>$V,WarningProvider:()=>qV,createDialogScope:()=>BV});import*as Be from"react";import*as We from"react";import*as gs from"react";function dr(t){let e=gs.useRef(t);return gs.useEffect(()=>{e.current=t}),gs.useMemo(()=>((...a)=>e.current?.(...a)),[])}import*as J1 from"react";function Q1(t,e=globalThis?.document){let a=dr(t);J1.useEffect(()=>{let o=r=>{r.key==="Escape"&&a(r)};return e.addEventListener("keydown",o,{capture:!0}),()=>e.removeEventListener("keydown",o,{capture:!0})},[a,e])}import{jsx as aA}from"react/jsx-runtime";var $W="DismissableLayer",Wg="dismissableLayer.update",XW="dismissableLayer.pointerDownOutside",KW="dismissableLayer.focusOutside",eA,oA=We.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Vg=We.forwardRef((t,e)=>{let{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:n,onInteractOutside:s,onDismiss:i,...l}=t,u=We.useContext(oA),[d,c]=We.useState(null),f=d?.ownerDocument??globalThis?.document,[,h]=We.useState({}),p=Fa(e,L=>c(L)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),x=m.indexOf(g),y=d?m.indexOf(d):-1,w=u.layersWithOutsidePointerEventsDisabled.size>0,C=y>=x,I=YW(L=>{let S=L.target,A=[...u.branches].some(H=>H.contains(S));!C||A||(r?.(L),s?.(L),L.defaultPrevented||i?.())},f),v=JW(L=>{let S=L.target;[...u.branches].some(H=>H.contains(S))||(n?.(L),s?.(L),L.defaultPrevented||i?.())},f);return Q1(L=>{y===u.layers.size-1&&(o?.(L),!L.defaultPrevented&&i&&(L.preventDefault(),i()))},f),We.useEffect(()=>{if(d)return a&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(eA=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),tA(),()=>{a&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(f.body.style.pointerEvents=eA))}},[d,f,a,u]),We.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),tA())},[d,u]),We.useEffect(()=>{let L=()=>h({});return document.addEventListener(Wg,L),()=>document.removeEventListener(Wg,L)},[]),aA(Qt.div,{...l,ref:p,style:{pointerEvents:w?C?"auto":"none":void 0,...t.style},onFocusCapture:ao(t.onFocusCapture,v.onFocusCapture),onBlurCapture:ao(t.onBlurCapture,v.onBlurCapture),onPointerDownCapture:ao(t.onPointerDownCapture,I.onPointerDownCapture)})});Vg.displayName=$W;var jW="DismissableLayerBranch",ZW=We.forwardRef((t,e)=>{let a=We.useContext(oA),o=We.useRef(null),r=Fa(e,o);return We.useEffect(()=>{let n=o.current;if(n)return a.branches.add(n),()=>{a.branches.delete(n)}},[a.branches]),aA(Qt.div,{...t,ref:r})});ZW.displayName=jW;function YW(t,e=globalThis?.document){let a=dr(t),o=We.useRef(!1),r=We.useRef(()=>{});return We.useEffect(()=>{let n=i=>{if(i.target&&!o.current){let u=function(){rA(XW,a,d,{discrete:!0})};var l=u;let d={originalEvent:i};i.pointerType==="touch"?(e.removeEventListener("click",r.current),r.current=u,e.addEventListener("click",r.current,{once:!0})):u()}else e.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{e.addEventListener("pointerdown",n)},0);return()=>{window.clearTimeout(s),e.removeEventListener("pointerdown",n),e.removeEventListener("click",r.current)}},[e,a]),{onPointerDownCapture:()=>o.current=!0}}function JW(t,e=globalThis?.document){let a=dr(t),o=We.useRef(!1);return We.useEffect(()=>{let r=n=>{n.target&&!o.current&&rA(KW,a,{originalEvent:n},{discrete:!1})};return e.addEventListener("focusin",r),()=>e.removeEventListener("focusin",r)},[e,a]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function tA(){let t=new CustomEvent(Wg);document.dispatchEvent(t)}function rA(t,e,a,{discrete:o}){let r=a.originalEvent.target,n=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:a});e&&r.addEventListener(t,e,{once:!0}),o?V1(r,n):r.dispatchEvent(n)}import*as ma from"react";import{jsx as QW}from"react/jsx-runtime";var Gg="focusScope.autoFocusOnMount",$g="focusScope.autoFocusOnUnmount",nA={bubbles:!1,cancelable:!0},eV="FocusScope",Xg=ma.forwardRef((t,e)=>{let{loop:a=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:n,...s}=t,[i,l]=ma.useState(null),u=dr(r),d=dr(n),c=ma.useRef(null),f=Fa(e,m=>l(m)),h=ma.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;ma.useEffect(()=>{if(o){let y=function(v){if(h.paused||!i)return;let L=v.target;i.contains(L)?c.current=L:cr(c.current,{select:!0})},w=function(v){if(h.paused||!i)return;let L=v.relatedTarget;L!==null&&(i.contains(L)||cr(c.current,{select:!0}))},C=function(v){if(document.activeElement===document.body)for(let S of v)S.removedNodes.length>0&&cr(i)};var m=y,g=w,x=C;document.addEventListener("focusin",y),document.addEventListener("focusout",w);let I=new MutationObserver(C);return i&&I.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",w),I.disconnect()}}},[o,i,h.paused]),ma.useEffect(()=>{if(i){iA.add(h);let m=document.activeElement;if(!i.contains(m)){let x=new CustomEvent(Gg,nA);i.addEventListener(Gg,u),i.dispatchEvent(x),x.defaultPrevented||(tV(sV(uA(i)),{select:!0}),document.activeElement===m&&cr(i))}return()=>{i.removeEventListener(Gg,u),setTimeout(()=>{let x=new CustomEvent($g,nA);i.addEventListener($g,d),i.dispatchEvent(x),x.defaultPrevented||cr(m??document.body,{select:!0}),i.removeEventListener($g,d),iA.remove(h)},0)}}},[i,u,d,h]);let p=ma.useCallback(m=>{if(!a&&!o||h.paused)return;let g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,x=document.activeElement;if(g&&x){let y=m.currentTarget,[w,C]=aV(y);w&&C?!m.shiftKey&&x===C?(m.preventDefault(),a&&cr(w,{select:!0})):m.shiftKey&&x===w&&(m.preventDefault(),a&&cr(C,{select:!0})):x===y&&m.preventDefault()}},[a,o,h.paused]);return QW(Qt.div,{tabIndex:-1,...s,ref:f,onKeyDown:p})});Xg.displayName=eV;function tV(t,{select:e=!1}={}){let a=document.activeElement;for(let o of t)if(cr(o,{select:e}),document.activeElement!==a)return}function aV(t){let e=uA(t),a=sA(e,t),o=sA(e.reverse(),t);return[a,o]}function uA(t){let e=[],a=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)e.push(a.currentNode);return e}function sA(t,e){for(let a of t)if(!oV(a,{upTo:e}))return a}function oV(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function rV(t){return t instanceof HTMLInputElement&&"select"in t}function cr(t,{select:e=!1}={}){if(t&&t.focus){let a=document.activeElement;t.focus({preventScroll:!0}),t!==a&&rV(t)&&e&&t.select()}}var iA=nV();function nV(){let t=[];return{add(e){let a=t[0];e!==a&&a?.pause(),t=lA(t,e),t.unshift(e)},remove(e){t=lA(t,e),t[0]?.resume()}}}function lA(t,e){let a=[...t],o=a.indexOf(e);return o!==-1&&a.splice(o,1),a}function sV(t){return t.filter(e=>e.tagName!=="A")}import*as Gc from"react";import*as dA from"react-dom";import{jsx as iV}from"react/jsx-runtime";var lV="Portal",Kg=Gc.forwardRef((t,e)=>{let{container:a,...o}=t,[r,n]=Gc.useState(!1);Do(()=>n(!0),[]);let s=a||r&&globalThis?.document?.body;return s?dA.createPortal(iV(Qt.div,{...o,ref:e}),s):null});Kg.displayName=lV;import*as fA from"react";var $c=0,xs=null;function hA(){fA.useEffect(()=>{xs||(xs={start:cA(),end:cA()});let{start:t,end:e}=xs;return document.body.firstElementChild!==t&&document.body.insertAdjacentElement("afterbegin",t),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),$c++,()=>{$c===1&&(xs?.start.remove(),xs?.end.remove(),xs=null),$c=Math.max(0,$c-1)}},[])}function cA(){let t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var Wt=function(){return Wt=Object.assign||function(e){for(var a,o=1,r=arguments.length;o<r;o++){a=arguments[o];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Wt.apply(this,arguments)};function Xc(t,e){var a={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(a[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(a[o[r]]=t[o[r]]);return a}function pA(t,e,a){if(a||arguments.length===2)for(var o=0,r=e.length,n;o<r;o++)(n||!(o in e))&&(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))}import*as Jc from"react";import*as St from"react";var cn="right-scroll-bar-position",fn="width-before-scroll-bar",jg="with-scroll-bars-hidden",Zg="--removed-body-scroll-bar-size";function Kc(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}import{useState as uV}from"react";function mA(t,e){var a=uV(function(){return{value:t,callback:e,facade:{get current(){return a.value},set current(o){var r=a.value;r!==o&&(a.value=o,a.callback(o,r))}}}})[0];return a.callback=e,a.facade}import*as jc from"react";var dV=typeof window<"u"?jc.useLayoutEffect:jc.useEffect,gA=new WeakMap;function Yg(t,e){var a=mA(e||null,function(o){return t.forEach(function(r){return Kc(r,o)})});return dV(function(){var o=gA.get(a);if(o){var r=new Set(o),n=new Set(t),s=a.current;r.forEach(function(i){n.has(i)||Kc(i,null)}),n.forEach(function(i){r.has(i)||Kc(i,s)})}gA.set(a,t)},[t]),a}function cV(t){return t}function fV(t,e){e===void 0&&(e=cV);var a=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return a.length?a[a.length-1]:t},useMedium:function(n){var s=e(n,o);return a.push(s),function(){a=a.filter(function(i){return i!==s})}},assignSyncMedium:function(n){for(o=!0;a.length;){var s=a;a=[],s.forEach(n)}a={push:function(i){return n(i)},filter:function(){return a}}},assignMedium:function(n){o=!0;var s=[];if(a.length){var i=a;a=[],i.forEach(n),s=a}var l=function(){var d=s;s=[],d.forEach(n)},u=function(){return Promise.resolve().then(l)};u(),a={push:function(d){s.push(d),u()},filter:function(d){return s=s.filter(d),a}}}};return r}function Jg(t){t===void 0&&(t={});var e=fV(null);return e.options=Wt({async:!0,ssr:!1},t),e}import*as xA from"react";var bA=function(t){var e=t.sideCar,a=Xc(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=e.read();if(!o)throw new Error("Sidecar medium not found");return xA.createElement(o,Wt({},a))};bA.isSideCarExport=!0;function Qg(t,e){return t.useMedium(e),bA}var Zc=Jg();var ex=function(){},cl=St.forwardRef(function(t,e){var a=St.useRef(null),o=St.useState({onScrollCapture:ex,onWheelCapture:ex,onTouchMoveCapture:ex}),r=o[0],n=o[1],s=t.forwardProps,i=t.children,l=t.className,u=t.removeScrollBar,d=t.enabled,c=t.shards,f=t.sideCar,h=t.noRelative,p=t.noIsolation,m=t.inert,g=t.allowPinchZoom,x=t.as,y=x===void 0?"div":x,w=t.gapMode,C=Xc(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=f,v=Yg([a,e]),L=Wt(Wt({},C),r);return St.createElement(St.Fragment,null,d&&St.createElement(I,{sideCar:Zc,removeScrollBar:u,shards:c,noRelative:h,noIsolation:p,inert:m,setCallbacks:n,allowPinchZoom:!!g,lockRef:a,gapMode:w}),s?St.cloneElement(St.Children.only(i),Wt(Wt({},L),{ref:v})):St.createElement(y,Wt({},L,{className:l,ref:v}),i))});cl.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};cl.classNames={fullWidth:fn,zeroRight:cn};import*as Ne from"react";import*as ws from"react";import*as LA from"react";var wA;var yA=function(){if(wA)return wA;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function hV(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=yA();return e&&t.setAttribute("nonce",e),t}function pV(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function mV(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var tx=function(){var t=0,e=null;return{add:function(a){t==0&&(e=hV())&&(pV(e,a),mV(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}};var ax=function(){var t=tx();return function(e,a){LA.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&a])}};var fl=function(){var t=ax(),e=function(a){var o=a.styles,r=a.dynamic;return t(o,r),null};return e};var gV={left:0,top:0,right:0,gap:0},ox=function(t){return parseInt(t||"",10)||0},xV=function(t){var e=window.getComputedStyle(document.body),a=e[t==="padding"?"paddingLeft":"marginLeft"],o=e[t==="padding"?"paddingTop":"marginTop"],r=e[t==="padding"?"paddingRight":"marginRight"];return[ox(a),ox(o),ox(r)]},rx=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return gV;var e=xV(t),a=document.documentElement.clientWidth,o=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,o-a+e[2]-e[0])}};var bV=fl(),bs="data-scroll-locked",wV=function(t,e,a,o){var r=t.left,n=t.top,s=t.right,i=t.gap;return a===void 0&&(a="margin"),`
28
- .`.concat(jg,` {
26
+ `)),d=u.reduce((c,f)=>c.concat(...f),[]);return[u,d]}return[[],[]]},[t]);return Re(()=>{let l=e?.target??RS,u=e?.actInsideInputWithModifier??!0;if(t!==null){let d=h=>{if(r.current=h.ctrlKey||h.metaKey||h.shiftKey||h.altKey,(!r.current||r.current&&!u)&&ig(h))return!1;let m=ES(h.code,i);if(n.current.add(h[m]),TS(s,n.current,!1)){let g=h.composedPath?.()?.[0]||h.target,x=g?.nodeName==="BUTTON"||g?.nodeName==="A";e.preventDefault!==!1&&(r.current||!x)&&h.preventDefault(),o(!0)}},c=h=>{let p=ES(h.code,i);TS(s,n.current,!0)?(o(!1),n.current.clear()):n.current.delete(h[p]),h.key==="Meta"&&n.current.clear(),r.current=!1},f=()=>{n.current.clear(),o(!1)};return l?.addEventListener("keydown",d),l?.addEventListener("keyup",c),window.addEventListener("blur",f),window.addEventListener("contextmenu",f),()=>{l?.removeEventListener("keydown",d),l?.removeEventListener("keyup",c),window.removeEventListener("blur",f),window.removeEventListener("contextmenu",f)}}},[t,o]),a}function TS(t,e,a){return t.filter(o=>a||o.length===e.size).some(o=>o.every(r=>e.has(r)))}function ES(t,e){return e.includes(t)?"code":"key"}var u_=()=>{let t=Ue();return Fa(()=>({zoomIn:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1.2,e):!1},zoomOut:async e=>{let{panZoom:a}=t.getState();return a?a.scaleBy(1/1.2,e):!1},zoomTo:async(e,a)=>{let{panZoom:o}=t.getState();return o?o.scaleTo(e,a):!1},getZoom:()=>t.getState().transform[2],setViewport:async(e,a)=>{let{transform:[o,r,n],panZoom:s}=t.getState();return s?(await s.setViewport({x:e.x??o,y:e.y??r,zoom:e.zoom??n},a),!0):!1},getViewport:()=>{let[e,a,o]=t.getState().transform;return{x:e,y:a,zoom:o}},setCenter:async(e,a,o)=>t.getState().setCenter(e,a,o),fitBounds:async(e,a)=>{let{width:o,height:r,minZoom:n,maxZoom:s,panZoom:i}=t.getState(),l=Ui(e,o,r,n,s,a?.padding??.1);return i?(await i.setViewport(l,{duration:a?.duration,ease:a?.ease,interpolate:a?.interpolate}),!0):!1},screenToFlowPosition:(e,a={})=>{let{transform:o,snapGrid:r,snapToGrid:n,domNode:s}=t.getState();if(!s)return e;let{x:i,y:l}=s.getBoundingClientRect(),u={x:e.x-i,y:e.y-l},d=a.snapGrid??r,c=a.snapToGrid??n;return rn(u,o,c,d)},flowToScreenPosition:e=>{let{transform:a,domNode:o}=t.getState();if(!o)return e;let{x:r,y:n}=o.getBoundingClientRect(),s=tn(e,a);return{x:s.x+r,y:s.y+n}}}),[])};function tI(t,e){let a=[],o=new Map,r=[];for(let n of t)if(n.type==="add"){r.push(n);continue}else if(n.type==="remove"||n.type==="replace")o.set(n.id,[n]);else{let s=o.get(n.id);s?s.push(n):o.set(n.id,[n])}for(let n of e){let s=o.get(n.id);if(!s){a.push(n);continue}if(s[0].type==="remove")continue;if(s[0].type==="replace"){a.push({...s[0].item});continue}let i={...n};for(let l of s)d_(l,i);a.push(i)}return r.length&&r.forEach(n=>{n.index!==void 0?a.splice(n.index,0,{...n.item}):a.push({...n.item})}),a}function d_(t,e){switch(t.type){case"select":{e.selected=t.selected;break}case"position":{typeof t.position<"u"&&(e.position=t.position),typeof t.dragging<"u"&&(e.dragging=t.dragging);break}case"dimensions":{typeof t.dimensions<"u"&&(e.measured={...t.dimensions},t.setAttributes&&((t.setAttributes===!0||t.setAttributes==="width")&&(e.width=t.dimensions.width),(t.setAttributes===!0||t.setAttributes==="height")&&(e.height=t.dimensions.height))),typeof t.resizing=="boolean"&&(e.resizing=t.resizing);break}}}function c_(t,e){return tI(t,e)}function f_(t,e){return tI(t,e)}function nn(t,e){return{id:t,type:"select",selected:e}}function hs(t,e=new Set,a=!1){let o=[];for(let[r,n]of t){let s=e.has(r);!(n.selected===void 0&&!s)&&n.selected!==s&&(a&&(n.selected=s),o.push(nn(n.id,s)))}return o}function BS({items:t=[],lookup:e}){let a=[],o=new Map(t.map(r=>[r.id,r]));for(let[r,n]of t.entries()){let s=e.get(n.id),i=s?.internals?.userNode??s;i!==void 0&&i!==n&&a.push({id:n.id,item:n,type:"replace"}),i===void 0&&a.push({item:n,type:"add",index:r})}for(let[r]of e)o.get(r)===void 0&&a.push({id:r,type:"remove"});return a}function FS(t){return{id:t.id,type:"remove"}}var h_=og("React Flow","https://reactflow.dev/");function p_(t,e,a={}){return Kv(t,e,{...a,onError:a.onError??h_})}var OS=t=>Hv(t),m_=t=>Ym(t);function aI(t){return ZS(t)}var g_=typeof window<"u"?VN:Re;function NS(t){let[e,a]=Qa(BigInt(0)),[o]=Qa(()=>x_(()=>a(r=>r+BigInt(1))));return g_(()=>{let r=o.get();r.length&&(t(r),o.reset())},[e]),o}function x_(t){let e=[];return{get:()=>e,reset:()=>{e=[]},push:a=>{e.push(a),t()}}}var oI=yg(null);function b_({children:t}){let e=Ue(),a=eo(i=>{let{nodes:l=[],setNodes:u,hasDefaultNodes:d,onNodesChange:c,nodeLookup:f,fitViewQueued:h,onNodesChangeMiddlewareMap:p}=e.getState(),m=l;for(let x of i)m=typeof x=="function"?x(m):x;let g=BS({items:m,lookup:f});for(let x of p.values())g=x(g);d&&u(m),g.length>0?c?.(g):h&&window.requestAnimationFrame(()=>{let{fitViewQueued:x,nodes:y,setNodes:b}=e.getState();x&&b(y)})},[]),o=NS(a),r=eo(i=>{let{edges:l=[],setEdges:u,hasDefaultEdges:d,onEdgesChange:c,edgeLookup:f}=e.getState(),h=l;for(let p of i)h=typeof p=="function"?p(h):p;d?u(h):c&&c(BS({items:h,lookup:f}))},[]),n=NS(r),s=Fa(()=>({nodeQueue:o,edgeQueue:n}),[]);return K(oI.Provider,{value:s,children:t})}function w_(){let t=Gi(oI);if(!t)throw new Error("useBatchContext must be used within a BatchProvider");return t}var y_=t=>!!t.panZoom;function $i(){let t=u_(),e=Ue(),a=w_(),o=we(y_),r=Fa(()=>{let n=c=>e.getState().nodeLookup.get(c),s=c=>{a.nodeQueue.push(c)},i=c=>{a.edgeQueue.push(c)},l=c=>{let{nodeLookup:f,nodeOrigin:h}=e.getState(),p=OS(c)?c:f.get(c.id),m=p.parentId?rg(p.position,p.measured,p.parentId,f,h):p.position,g={...p,position:m,width:p.measured?.width??p.width,height:p.measured?.height??p.height};return on(g)},u=(c,f,h={replace:!1})=>{s(p=>p.map(m=>{if(m.id===c){let g=typeof f=="function"?f(m):f;return h.replace&&OS(g)?g:{...m,...g}}return m}))},d=(c,f,h={replace:!1})=>{i(p=>p.map(m=>{if(m.id===c){let g=typeof f=="function"?f(m):f;return h.replace&&m_(g)?g:{...m,...g}}return m}))};return{getNodes:()=>e.getState().nodes.map(c=>({...c})),getNode:c=>n(c)?.internals.userNode,getInternalNode:n,getEdges:()=>{let{edges:c=[]}=e.getState();return c.map(f=>({...f}))},getEdge:c=>e.getState().edgeLookup.get(c),setNodes:s,setEdges:i,addNodes:c=>{let f=Array.isArray(c)?c:[c];a.nodeQueue.push(h=>[...h,...f])},addEdges:c=>{let f=Array.isArray(c)?c:[c];a.edgeQueue.push(h=>[...h,...f])},toObject:()=>{let{nodes:c=[],edges:f=[],transform:h}=e.getState(),[p,m,g]=h;return{nodes:c.map(x=>({...x})),edges:f.map(x=>({...x})),viewport:{x:p,y:m,zoom:g}}},deleteElements:async({nodes:c=[],edges:f=[]})=>{let{nodes:h,edges:p,onNodesDelete:m,onEdgesDelete:g,triggerNodeChanges:x,triggerEdgeChanges:y,onDelete:b,onBeforeDelete:C}=e.getState(),{nodes:I,edges:v}=await Uv({nodesToRemove:c,edgesToRemove:f,nodes:h,edges:p,onBeforeDelete:C}),L=v.length>0,S=I.length>0;if(L){let k=v.map(FS);g?.(v),y(k)}if(S){let k=I.map(FS);m?.(I),x(k)}return(S||L)&&b?.({nodes:I,edges:v}),{deletedNodes:I,deletedEdges:v}},getIntersectingNodes:(c,f=!0,h)=>{let p=ag(c),m=p?c:l(c),g=h!==void 0;return m?(h||e.getState().nodes).filter(x=>{let y=e.getState().nodeLookup.get(x.id);if(y&&!p&&(x.id===c.id||!y.internals.positionAbsolute))return!1;let b=on(g?x:y),C=us(b,m);return f&&C>0||C>=b.width*b.height||C>=m.width*m.height}):[]},isNodeIntersecting:(c,f,h=!0)=>{let m=ag(c)?c:l(c);if(!m)return!1;let g=us(m,f);return h&&g>0||g>=f.width*f.height||g>=m.width*m.height},updateNode:u,updateNodeData:(c,f,h={replace:!1})=>{u(c,p=>{let m=typeof f=="function"?f(p):f;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},updateEdge:d,updateEdgeData:(c,f,h={replace:!1})=>{d(c,p=>{let m=typeof f=="function"?f(p):f;return h.replace?{...p,data:m}:{...p,data:{...p.data,...m}}},h)},getNodesBounds:c=>{let{nodeLookup:f,nodeOrigin:h}=e.getState();return Qm(c,{nodeLookup:f,nodeOrigin:h})},getHandleConnections:({type:c,id:f,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}-${c}${f?`-${f}`:""}`)?.values()??[]),getNodeConnections:({type:c,handleId:f,nodeId:h})=>Array.from(e.getState().connectionLookup.get(`${h}${c?f?`-${c}-${f}`:`-${c}`:""}`)?.values()??[]),fitView:async c=>{let f=e.getState().fitViewResolver??Vv();return e.setState({fitViewQueued:!0,fitViewOptions:c,fitViewResolver:f}),a.nodeQueue.push(h=>[...h]),f.promise}}},[]);return Fa(()=>({...r,...t,viewportInitialized:o}),[o])}var _S=t=>t.selected,L_=typeof window<"u"?window:void 0;function C_({deleteKeyCode:t,multiSelectionKeyCode:e}){let a=Ue(),{deleteElements:o}=$i(),r=Vi(t,{actInsideInputWithModifier:!1}),n=Vi(e,{target:L_});Re(()=>{if(r){let{edges:s,nodes:i}=a.getState();o({nodes:i.filter(_S),edges:s.filter(_S)}),a.setState({nodesSelectionActive:!1})}},[r]),Re(()=>{a.setState({multiSelectionActive:n})},[n])}function v_(t){let e=Ue();Re(()=>{let a=()=>{if(!t.current||!(t.current.checkVisibility?.()??!0))return!1;let o=gc(t.current);(o.height===0||o.width===0)&&e.getState().onError?.("004",aa.error004()),e.setState({width:o.width||500,height:o.height||500})};if(t.current){a(),window.addEventListener("resize",a);let o=new ResizeObserver(()=>a());return o.observe(t.current),()=>{window.removeEventListener("resize",a),o&&t.current&&o.unobserve(t.current)}}},[])}var Rc={position:"absolute",width:"100%",height:"100%",top:0,left:0},S_=t=>({userSelectionActive:t.userSelectionActive,lib:t.lib,connectionInProgress:t.connection.inProgress});function I_({onPaneContextMenu:t,zoomOnScroll:e=!0,zoomOnPinch:a=!0,panOnScroll:o=!1,panOnScrollSpeed:r=.5,panOnScrollMode:n=So.Free,zoomOnDoubleClick:s=!0,panOnDrag:i=!0,defaultViewport:l,translateExtent:u,minZoom:d,maxZoom:c,zoomActivationKeyCode:f,preventScrolling:h=!0,children:p,noWheelClassName:m,noPanClassName:g,onViewportChange:x,isControlledViewport:y,paneClickDistance:b,selectionOnDrag:C}){let I=Ue(),v=Ie(null),{userSelectionActive:L,lib:S,connectionInProgress:k}=we(S_,Ne),z=Vi(f),A=Ie();v_(v);let P=eo(H=>{x?.({x:H[0],y:H[1],zoom:H[2]}),y||I.setState({transform:H})},[x,y]);return Re(()=>{if(v.current){A.current=cS({domNode:v.current,minZoom:d,maxZoom:c,translateExtent:u,viewport:l,onDraggingChange:R=>I.setState(E=>E.paneDragging===R?E:{paneDragging:R}),onPanZoomStart:(R,E)=>{let{onViewportChangeStart:q,onMoveStart:B}=I.getState();B?.(R,E),q?.(E)},onPanZoom:(R,E)=>{let{onViewportChange:q,onMove:B}=I.getState();B?.(R,E),q?.(E)},onPanZoomEnd:(R,E)=>{let{onViewportChangeEnd:q,onMoveEnd:B}=I.getState();B?.(R,E),q?.(E)}});let{x:H,y:M,zoom:T}=A.current.getViewport();return I.setState({panZoom:A.current,transform:[H,M,T],domNode:v.current.closest(".react-flow")}),()=>{A.current?.destroy()}}},[]),Re(()=>{A.current?.update({onPaneContextMenu:t,zoomOnScroll:e,zoomOnPinch:a,panOnScroll:o,panOnScrollSpeed:r,panOnScrollMode:n,zoomOnDoubleClick:s,panOnDrag:i,zoomActivationKeyPressed:z,preventScrolling:h,noPanClassName:g,userSelectionActive:L,noWheelClassName:m,lib:S,onTransformChange:P,connectionInProgress:k,selectionOnDrag:C,paneClickDistance:b})},[t,e,a,o,r,n,s,i,z,h,g,L,m,S,P,k,C,b]),K("div",{className:"react-flow__renderer",ref:v,style:Rc,children:p})}var k_=t=>({userSelectionActive:t.userSelectionActive,userSelectionRect:t.userSelectionRect});function A_(){let{userSelectionActive:t,userSelectionRect:e}=we(k_,Ne);return t&&e?K("div",{className:"react-flow__selection react-flow__container",style:{width:e.width,height:e.height,transform:`translate(${e.x}px, ${e.y}px)`}}):null}var xg=(t,e)=>a=>{a.target===e.current&&t?.(a)},M_=t=>({userSelectionActive:t.userSelectionActive,elementsSelectable:t.elementsSelectable,connectionInProgress:t.connection.inProgress,dragging:t.paneDragging,panBy:t.panBy,autoPanSpeed:t.autoPanSpeed});function P_({isSelecting:t,selectionKeyPressed:e,selectionMode:a=Qr.Full,panOnDrag:o,autoPanOnSelection:r,paneClickDistance:n,selectionOnDrag:s,onSelectionStart:i,onSelectionEnd:l,onPaneClick:u,onPaneContextMenu:d,onPaneScroll:c,onPaneMouseEnter:f,onPaneMouseMove:h,onPaneMouseLeave:p,children:m}){let g=Ie(0),x=Ue(),{userSelectionActive:y,elementsSelectable:b,dragging:C,connectionInProgress:I,panBy:v,autoPanSpeed:L}=we(M_,Ne),S=b&&(t||y),k=Ie(null),z=Ie(),A=Ie(new Set),P=Ie(new Set),H=Ie(!1),M=Ie({x:0,y:0}),T=Ie(!1),R=F=>{if(H.current||I){H.current=!1;return}u?.(F),x.getState().resetSelectedElements(),x.setState({nodesSelectionActive:!1})},E=F=>{if(Array.isArray(o)&&o?.includes(2)){F.preventDefault();return}d?.(F)},q=c?F=>c(F):void 0,B=F=>{H.current&&(F.stopPropagation(),H.current=!1)},D=F=>{let{domNode:V,transform:ie}=x.getState();if(z.current=V?.getBoundingClientRect(),!z.current)return;let le=F.target===k.current;if(!le&&!!F.target.closest(".nokey")||!t||!(s&&le||e)||F.button!==0||!F.isPrimary)return;F.target?.setPointerCapture?.(F.pointerId),H.current=!1;let{x:de,y:Se}=ma(F.nativeEvent,z.current),Te=rn({x:de,y:Se},ie);x.setState({userSelectionRect:{width:0,height:0,startX:Te.x,startY:Te.y,x:de,y:Se}}),le||(F.stopPropagation(),F.preventDefault())};function N(F,V){let{userSelectionRect:ie}=x.getState();if(!ie)return;let{transform:le,nodeLookup:J,edgeLookup:ne,connectionLookup:de,triggerNodeChanges:Se,triggerEdgeChanges:Te,defaultEdgeOptions:ht}=x.getState(),ya={x:ie.startX,y:ie.startY},{x:Ct,y:ra}=tn(ya,le),ee={startX:ya.x,startY:ya.y,x:F<Ct?F:Ct,y:V<ra?V:ra,width:Math.abs(F-Ct),height:Math.abs(V-ra)},We=A.current,ut=P.current;A.current=new Set(cc(J,ee,le,a===Qr.Partial,!0).map(Zt=>Zt.id)),P.current=new Set;let uo=ht?.selectable??!0;for(let Zt of A.current){let co=de.get(Zt);if(co)for(let{edgeId:fo}of co.values()){let br=ne.get(fo);br&&(br.selectable??uo)&&P.current.add(fo)}}if(!ng(We,A.current)){let Zt=hs(J,A.current,!0);Se(Zt)}if(!ng(ut,P.current)){let Zt=hs(ne,P.current);Te(Zt)}x.setState({userSelectionRect:ee,userSelectionActive:!0,nodesSelectionActive:!1})}function U(){if(!r||!z.current)return;let[F,V]=fc(M.current,z.current,L);v({x:F,y:V}).then(ie=>{if(!H.current||!ie){g.current=requestAnimationFrame(U);return}let{x:le,y:J}=M.current;N(le,J),g.current=requestAnimationFrame(U)})}let $=()=>{cancelAnimationFrame(g.current),g.current=0,T.current=!1};Re(()=>()=>$(),[]);let _=F=>{let{userSelectionRect:V,transform:ie,resetSelectedElements:le}=x.getState();if(!z.current||!V)return;let{x:J,y:ne}=ma(F.nativeEvent,z.current);M.current={x:J,y:ne};let de=tn({x:V.startX,y:V.startY},ie);if(!H.current){let Se=e?0:n;if(Math.hypot(J-de.x,ne-de.y)<=Se)return;le(),i?.(F)}H.current=!0,T.current||(U(),T.current=!0),N(J,ne)},W=F=>{F.button===0&&(F.target?.releasePointerCapture?.(F.pointerId),!y&&F.target===k.current&&x.getState().userSelectionRect&&R?.(F),x.setState({userSelectionActive:!1,userSelectionRect:null}),H.current&&(l?.(F),x.setState({nodesSelectionActive:A.current.size>0})),$())},G=F=>{F.target?.releasePointerCapture?.(F.pointerId),$()},O=o===!0||Array.isArray(o)&&o.includes(0);return wt("div",{className:Ke(["react-flow__pane",{draggable:O,dragging:C,selection:t}]),onClick:S?void 0:xg(R,k),onContextMenu:xg(E,k),onWheel:xg(q,k),onPointerEnter:S?void 0:f,onPointerMove:S?_:h,onPointerUp:S?W:void 0,onPointerCancel:S?G:void 0,onPointerDownCapture:S?D:void 0,onClickCapture:S?B:void 0,onPointerLeave:p,ref:k,style:Rc,children:[m,K(A_,{})]})}function wg({id:t,store:e,unselect:a=!1,nodeRef:o}){let{addSelectedNodes:r,unselectNodesAndEdges:n,multiSelectionActive:s,nodeLookup:i,onError:l}=e.getState(),u=i.get(t);if(!u){l?.("012",aa.error012(t));return}e.setState({nodesSelectionActive:!1}),u.selected?(a||u.selected&&s)&&(n({nodes:[u],edges:[]}),requestAnimationFrame(()=>o?.current?.blur())):r([t])}function rI({nodeRef:t,disabled:e=!1,noDragClassName:a,handleSelector:o,nodeId:r,isSelectable:n,nodeClickDistance:s}){let i=Ue(),[l,u]=Qa(!1),d=Ie();return Re(()=>{d.current=oS({getStoreItems:()=>i.getState(),onNodeMouseDown:c=>{wg({id:c,store:i,nodeRef:t})},onDragStart:()=>{u(!0)},onDragStop:()=>{u(!1)}})},[]),Re(()=>{if(!(e||!t.current||!d.current))return d.current.update({noDragClassName:a,handleSelector:o,domNode:t.current,isSelectable:n,nodeId:r,nodeClickDistance:s}),()=>{d.current?.destroy()}},[a,o,e,n,t,r,s]),l}var D_=t=>e=>e.selected&&(e.draggable||t&&typeof e.draggable>"u");function nI(){let t=Ue();return eo(a=>{let{nodeExtent:o,snapToGrid:r,snapGrid:n,nodesDraggable:s,onError:i,updateNodePositions:l,nodeLookup:u,nodeOrigin:d}=t.getState(),c=new Map,f=D_(s),h=r?n[0]:5,p=r?n[1]:5,m=a.direction.x*h*a.factor,g=a.direction.y*p*a.factor;for(let[,x]of u){if(!f(x))continue;let y={x:x.internals.positionAbsolute.x+m,y:x.internals.positionAbsolute.y+g};r&&(y=ds(y,n));let{position:b,positionAbsolute:C}=eg({nodeId:x.id,nextPosition:y,nodeLookup:u,nodeExtent:o,nodeOrigin:d,onError:i});x.position=b,x.internals.positionAbsolute=C,c.set(x.id,x)}l(c)},[])}var Lg=yg(null),R_=Lg.Provider;Lg.Consumer;var sI=()=>Gi(Lg),T_=t=>({connectOnClick:t.connectOnClick,noPanClassName:t.noPanClassName,rfId:t.rfId}),E_=(t,e,a)=>o=>{let{connectionClickStartHandle:r,connectionMode:n,connection:s}=o,{fromHandle:i,toHandle:l,isValid:u}=s,d=l?.nodeId===t&&l?.id===e&&l?.type===a;return{connectingFrom:i?.nodeId===t&&i?.id===e&&i?.type===a,connectingTo:d,clickConnecting:r?.nodeId===t&&r?.id===e&&r?.type===a,isPossibleEndHandle:n===Jo.Strict?i?.type!==a:t!==i?.nodeId||e!==i?.id,connectionInProcess:!!i,clickConnectionInProcess:!!r,valid:d&&u}};function B_({type:t="source",position:e=se.Top,isValidConnection:a,isConnectable:o=!0,isConnectableStart:r=!0,isConnectableEnd:n=!0,id:s,onConnect:i,children:l,className:u,onMouseDown:d,onTouchStart:c,...f},h){let p=s||null,m=t==="target",g=Ue(),x=sI(),{connectOnClick:y,noPanClassName:b,rfId:C}=we(T_,Ne),{connectingFrom:I,connectingTo:v,clickConnecting:L,isPossibleEndHandle:S,connectionInProcess:k,clickConnectionInProcess:z,valid:A}=we(E_(x,p,t),Ne);x||g.getState().onError?.("010",aa.error010());let P=T=>{let{defaultEdgeOptions:R,onConnect:E,hasDefaultEdges:q}=g.getState(),B={...R,...T};if(q){let{edges:D,setEdges:N,onError:U}=g.getState();N(p_(B,D,{onError:U}))}E?.(B),i?.(B)},H=T=>{if(!x)return;let R=lg(T.nativeEvent);if(r&&(R&&T.button===0||!R)){let E=g.getState();vc.onPointerDown(T.nativeEvent,{handleDomNode:T.currentTarget,autoPanOnConnect:E.autoPanOnConnect,connectionMode:E.connectionMode,connectionRadius:E.connectionRadius,domNode:E.domNode,nodeLookup:E.nodeLookup,lib:E.lib,isTarget:m,handleId:p,nodeId:x,flowId:E.rfId,panBy:E.panBy,cancelConnection:E.cancelConnection,onConnectStart:E.onConnectStart,onConnectEnd:(...q)=>g.getState().onConnectEnd?.(...q),updateConnection:E.updateConnection,onConnect:P,isValidConnection:a||((...q)=>g.getState().isValidConnection?.(...q)??!0),getTransform:()=>g.getState().transform,getFromHandle:()=>g.getState().connection.fromHandle,autoPanSpeed:E.autoPanSpeed,dragThreshold:E.connectionDragThreshold})}R?d?.(T):c?.(T)},M=T=>{let{onClickConnectStart:R,onClickConnectEnd:E,connectionClickStartHandle:q,connectionMode:B,isValidConnection:D,lib:N,rfId:U,nodeLookup:$,connection:_}=g.getState();if(!x||!q&&!r)return;if(!q){R?.(T.nativeEvent,{nodeId:x,handleId:p,handleType:t}),g.setState({connectionClickStartHandle:{nodeId:x,type:t,id:p}});return}let W=sg(T.target),G=a||D,{connection:O,isValid:F}=vc.isValid(T.nativeEvent,{handle:{nodeId:x,id:p,type:t},connectionMode:B,fromNodeId:q.nodeId,fromHandleId:q.id||null,fromType:q.type,isValidConnection:G,flowId:U,doc:W,lib:N,nodeLookup:$});F&&O&&P(O);let V=structuredClone(_);delete V.inProgress,V.toPosition=V.toHandle?V.toHandle.position:null,E?.(T,V),g.setState({connectionClickStartHandle:null})};return K("div",{"data-handleid":p,"data-nodeid":x,"data-handlepos":e,"data-id":`${C}-${x}-${p}-${t}`,className:Ke(["react-flow__handle",`react-flow__handle-${e}`,"nodrag",b,u,{source:!m,target:m,connectable:o,connectablestart:r,connectableend:n,clickconnecting:L,connectingfrom:I,connectingto:v,valid:A,connectionindicator:o&&(!k||S)&&(k||z?n:r)}]),onMouseDown:H,onTouchStart:H,onClick:y?M:void 0,ref:h,...f,children:l})}var Io=tt(aI(B_));function F_({data:t,isConnectable:e,sourcePosition:a=se.Bottom}){return wt(ko,{children:[t?.label,K(Io,{type:"source",position:a,isConnectable:e})]})}function O_({data:t,isConnectable:e,targetPosition:a=se.Top,sourcePosition:o=se.Bottom}){return wt(ko,{children:[K(Io,{type:"target",position:a,isConnectable:e}),t?.label,K(Io,{type:"source",position:o,isConnectable:e})]})}function N_(){return null}function __({data:t,isConnectable:e,targetPosition:a=se.Top}){return wt(ko,{children:[K(Io,{type:"target",position:a,isConnectable:e}),t?.label]})}var Mc={ArrowUp:{x:0,y:-1},ArrowDown:{x:0,y:1},ArrowLeft:{x:-1,y:0},ArrowRight:{x:1,y:0}},HS={input:F_,default:O_,output:__,group:N_};function H_(t){return t.internals.handleBounds===void 0?{width:t.width??t.initialWidth??t.style?.width,height:t.height??t.initialHeight??t.style?.height}:{width:t.width??t.style?.width,height:t.height??t.style?.height}}var z_=t=>{let{width:e,height:a,x:o,y:r}=ls(t.nodeLookup,{filter:n=>!!n.selected});return{width:pa(e)?e:null,height:pa(a)?a:null,userSelectionActive:t.userSelectionActive,transformString:`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]}) translate(${o}px,${r}px)`}};function q_({onSelectionContextMenu:t,noPanClassName:e,disableKeyboardA11y:a}){let o=Ue(),{width:r,height:n,transformString:s,userSelectionActive:i}=we(z_,Ne),l=nI(),u=Ie(null);Re(()=>{a||u.current?.focus({preventScroll:!0})},[a]);let d=!i&&r!==null&&n!==null;if(rI({nodeRef:u,disabled:!d}),!d)return null;let c=t?h=>{let p=o.getState().nodes.filter(m=>m.selected);t(h,p)}:void 0,f=h=>{Object.prototype.hasOwnProperty.call(Mc,h.key)&&(h.preventDefault(),l({direction:Mc[h.key],factor:h.shiftKey?4:1}))};return K("div",{className:Ke(["react-flow__nodesselection","react-flow__container",e]),style:{transform:s},children:K("div",{ref:u,className:"react-flow__nodesselection-rect",onContextMenu:c,tabIndex:a?void 0:-1,onKeyDown:a?void 0:f,style:{width:r,height:n}})})}var zS=typeof window<"u"?window:void 0,U_=t=>({nodesSelectionActive:t.nodesSelectionActive,userSelectionActive:t.userSelectionActive});function iI({children:t,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,paneClickDistance:i,deleteKeyCode:l,selectionKeyCode:u,selectionOnDrag:d,selectionMode:c,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:p,panActivationKeyCode:m,zoomActivationKeyCode:g,elementsSelectable:x,zoomOnScroll:y,zoomOnPinch:b,panOnScroll:C,panOnScrollSpeed:I,panOnScrollMode:v,zoomOnDoubleClick:L,panOnDrag:S,autoPanOnSelection:k,defaultViewport:z,translateExtent:A,minZoom:P,maxZoom:H,preventScrolling:M,onSelectionContextMenu:T,noWheelClassName:R,noPanClassName:E,disableKeyboardA11y:q,onViewportChange:B,isControlledViewport:D}){let{nodesSelectionActive:N,userSelectionActive:U}=we(U_,Ne),$=Vi(u,{target:zS}),_=Vi(m,{target:zS}),W=_||S,G=_||C,O=d&&W!==!0,F=$||U||O;return C_({deleteKeyCode:l,multiSelectionKeyCode:p}),K(I_,{onPaneContextMenu:n,elementsSelectable:x,zoomOnScroll:y,zoomOnPinch:b,panOnScroll:G,panOnScrollSpeed:I,panOnScrollMode:v,zoomOnDoubleClick:L,panOnDrag:!$&&W,defaultViewport:z,translateExtent:A,minZoom:P,maxZoom:H,zoomActivationKeyCode:g,preventScrolling:M,noWheelClassName:R,noPanClassName:E,onViewportChange:B,isControlledViewport:D,paneClickDistance:i,selectionOnDrag:O,children:wt(P_,{onSelectionStart:f,onSelectionEnd:h,onPaneClick:e,onPaneMouseEnter:a,onPaneMouseMove:o,onPaneMouseLeave:r,onPaneContextMenu:n,onPaneScroll:s,panOnDrag:W,autoPanOnSelection:k,isSelecting:!!F,selectionMode:c,selectionKeyPressed:$,paneClickDistance:i,selectionOnDrag:O,children:[t,N&&K(q_,{onSelectionContextMenu:T,noPanClassName:E,disableKeyboardA11y:q})]})})}iI.displayName="FlowRenderer";var W_=tt(iI),V_=t=>e=>t?cc(e.nodeLookup,{x:0,y:0,width:e.width,height:e.height},e.transform,!0).map(a=>a.id):Array.from(e.nodeLookup.keys());function G_(t){return we(eo(V_(t),[t]),Ne)}var $_=t=>t.updateNodeInternals;function X_(){let t=we($_),[e]=Qa(()=>typeof ResizeObserver>"u"?null:new ResizeObserver(a=>{let o=new Map;a.forEach(r=>{let n=r.target.getAttribute("data-id");o.set(n,{id:n,nodeElement:r.target,force:!0})}),t(o)}));return Re(()=>()=>{e?.disconnect()},[e]),e}function K_({node:t,nodeType:e,hasDimensions:a,resizeObserver:o}){let r=Ue(),n=Ie(null),s=Ie(null),i=Ie(t.sourcePosition),l=Ie(t.targetPosition),u=Ie(e),d=a&&!!t.internals.handleBounds;return Re(()=>{n.current&&!t.hidden&&(!d||s.current!==n.current)&&(s.current&&o?.unobserve(s.current),o?.observe(n.current),s.current=n.current)},[d,t.hidden]),Re(()=>()=>{s.current&&(o?.unobserve(s.current),s.current=null)},[]),Re(()=>{if(n.current){let c=u.current!==e,f=i.current!==t.sourcePosition,h=l.current!==t.targetPosition;(c||f||h)&&(u.current=e,i.current=t.sourcePosition,l.current=t.targetPosition,r.getState().updateNodeInternals(new Map([[t.id,{id:t.id,nodeElement:n.current,force:!0}]])))}},[t.id,e,t.sourcePosition,t.targetPosition]),n}function j_({id:t,onClick:e,onMouseEnter:a,onMouseMove:o,onMouseLeave:r,onContextMenu:n,onDoubleClick:s,nodesDraggable:i,elementsSelectable:l,nodesConnectable:u,nodesFocusable:d,resizeObserver:c,noDragClassName:f,noPanClassName:h,disableKeyboardA11y:p,rfId:m,nodeTypes:g,nodeClickDistance:x,onError:y}){let{node:b,internals:C,isParent:I}=we(F=>{let V=F.nodeLookup.get(t),ie=F.parentLookup.has(t);return{node:V,internals:V.internals,isParent:ie}},Ne),v=b.type||"default",L=g?.[v]||HS[v];L===void 0&&(y?.("003",aa.error003(v)),v="default",L=g?.default||HS.default);let S=!!(b.draggable||i&&typeof b.draggable>"u"),k=!!(b.selectable||l&&typeof b.selectable>"u"),z=!!(b.connectable||u&&typeof b.connectable>"u"),A=!!(b.focusable||d&&typeof b.focusable>"u"),P=Ue(),H=mc(b),M=K_({node:b,nodeType:v,hasDimensions:H,resizeObserver:c}),T=rI({nodeRef:M,disabled:b.hidden||!S,noDragClassName:f,handleSelector:b.dragHandle,nodeId:t,isSelectable:k,nodeClickDistance:x}),R=nI();if(b.hidden)return null;let E=Ya(b),q=H_(b),B=k||S||e||a||o||r,D=a?F=>a(F,{...C.userNode}):void 0,N=o?F=>o(F,{...C.userNode}):void 0,U=r?F=>r(F,{...C.userNode}):void 0,$=n?F=>n(F,{...C.userNode}):void 0,_=s?F=>s(F,{...C.userNode}):void 0,W=F=>{let{selectNodesOnDrag:V,nodeDragThreshold:ie}=P.getState();k&&(!V||!S||ie>0)&&wg({id:t,store:P,nodeRef:M}),e&&e(F,{...C.userNode})},G=F=>{if(!(ig(F.nativeEvent)||p)){if(Xm.includes(F.key)&&k){let V=F.key==="Escape";wg({id:t,store:P,unselect:V,nodeRef:M})}else if(S&&b.selected&&Object.prototype.hasOwnProperty.call(Mc,F.key)){F.preventDefault();let{ariaLabelConfig:V}=P.getState();P.setState({ariaLiveMessage:V["node.a11yDescription.ariaLiveMessage"]({direction:F.key.replace("Arrow","").toLowerCase(),x:~~C.positionAbsolute.x,y:~~C.positionAbsolute.y})}),R({direction:Mc[F.key],factor:F.shiftKey?4:1})}}},O=()=>{if(p||!M.current?.matches(":focus-visible"))return;let{transform:F,width:V,height:ie,autoPanOnNodeFocus:le,setCenter:J}=P.getState();if(!le)return;cc(new Map([[t,b]]),{x:0,y:0,width:V,height:ie},F,!0).length>0||J(b.position.x+E.width/2,b.position.y+E.height/2,{zoom:F[2]})};return K("div",{className:Ke(["react-flow__node",`react-flow__node-${v}`,{[h]:S},b.className,{selected:b.selected,selectable:k,parent:I,draggable:S,dragging:T}]),ref:M,style:{zIndex:C.z,transform:`translate(${C.positionAbsolute.x}px,${C.positionAbsolute.y}px)`,pointerEvents:B?"all":"none",visibility:H?"visible":"hidden",...b.style,...q},"data-id":t,"data-testid":`rf__node-${t}`,onMouseEnter:D,onMouseMove:N,onMouseLeave:U,onContextMenu:$,onClick:W,onDoubleClick:_,onKeyDown:A?G:void 0,tabIndex:A?0:void 0,onFocus:A?O:void 0,role:b.ariaRole??(A?"group":void 0),"aria-roledescription":"node","aria-describedby":p?void 0:`${JS}-${m}`,"aria-label":b.ariaLabel,...b.domAttributes,children:K(R_,{value:t,children:K(L,{id:t,data:b.data,type:v,positionAbsoluteX:C.positionAbsolute.x,positionAbsoluteY:C.positionAbsolute.y,selected:b.selected??!1,selectable:k,draggable:S,deletable:b.deletable??!0,isConnectable:z,sourcePosition:b.sourcePosition,targetPosition:b.targetPosition,dragging:T,dragHandle:b.dragHandle,zIndex:C.z,parentId:b.parentId,...E})})})}var Z_=tt(j_),Y_=t=>({nodesDraggable:t.nodesDraggable,nodesConnectable:t.nodesConnectable,nodesFocusable:t.nodesFocusable,elementsSelectable:t.elementsSelectable,onError:t.onError});function lI(t){let{nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,onError:n}=we(Y_,Ne),s=G_(t.onlyRenderVisibleElements),i=X_();return K("div",{className:"react-flow__nodes",style:Rc,children:s.map(l=>K(Z_,{id:l,nodeTypes:t.nodeTypes,nodeExtent:t.nodeExtent,onClick:t.onNodeClick,onMouseEnter:t.onNodeMouseEnter,onMouseMove:t.onNodeMouseMove,onMouseLeave:t.onNodeMouseLeave,onContextMenu:t.onNodeContextMenu,onDoubleClick:t.onNodeDoubleClick,noDragClassName:t.noDragClassName,noPanClassName:t.noPanClassName,rfId:t.rfId,disableKeyboardA11y:t.disableKeyboardA11y,resizeObserver:i,nodesDraggable:e,nodesConnectable:a,nodesFocusable:o,elementsSelectable:r,nodeClickDistance:t.nodeClickDistance,onError:n},l))})}lI.displayName="NodeRenderer";var J_=tt(lI);function Q_(t){return we(eo(a=>{if(!t)return a.edges.map(r=>r.id);let o=[];if(a.width&&a.height)for(let r of a.edges){let n=a.nodeLookup.get(r.source),s=a.nodeLookup.get(r.target);n&&s&&Xv({sourceNode:n,targetNode:s,width:a.width,height:a.height,transform:a.transform})&&o.push(r.id)}return o},[t]),Ne)}var eH=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t}};return K("polyline",{className:"arrow",style:a,strokeLinecap:"round",fill:"none",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4"})},tH=({color:t="none",strokeWidth:e=1})=>{let a={strokeWidth:e,...t&&{stroke:t,fill:t}};return K("polyline",{className:"arrowclosed",style:a,strokeLinecap:"round",strokeLinejoin:"round",points:"-5,-4 0,0 -5,4 -5,-4"})},qS={[Qo.Arrow]:eH,[Qo.ArrowClosed]:tH};function aH(t){let e=Ue();return Fa(()=>Object.prototype.hasOwnProperty.call(qS,t)?qS[t]:(e.getState().onError?.("009",aa.error009(t)),null),[t])}var oH=({id:t,type:e,color:a,width:o=12.5,height:r=12.5,markerUnits:n="strokeWidth",strokeWidth:s,orient:i="auto-start-reverse"})=>{let l=aH(e);return l?K("marker",{className:"react-flow__arrowhead",id:t,markerWidth:`${o}`,markerHeight:`${r}`,viewBox:"-10 -10 20 20",markerUnits:n,orient:i,refX:"0",refY:"0",children:K(l,{color:a,strokeWidth:s})}):null},uI=({defaultColor:t,rfId:e})=>{let a=we(n=>n.edges),o=we(n=>n.defaultEdgeOptions),r=Fa(()=>Zv(a,{id:e,defaultColor:t,defaultMarkerStart:o?.markerStart,defaultMarkerEnd:o?.markerEnd}),[a,o,e,t]);return r.length?K("svg",{className:"react-flow__marker","aria-hidden":"true",children:K("defs",{children:r.map(n=>K(oH,{id:n.id,type:n.type,color:n.color,width:n.width,height:n.height,markerUnits:n.markerUnits,strokeWidth:n.strokeWidth,orient:n.orient},n.id))})}):null};uI.displayName="MarkerDefinitions";var rH=tt(uI);function dI({x:t,y:e,label:a,labelStyle:o,labelShowBg:r=!0,labelBgStyle:n,labelBgPadding:s=[2,4],labelBgBorderRadius:i=2,children:l,className:u,...d}){let[c,f]=Qa({x:1,y:0,width:0,height:0}),h=Ke(["react-flow__edge-textwrapper",u]),p=Ie(null);return Re(()=>{if(p.current){let m=p.current.getBBox();f({x:m.x,y:m.y,width:m.width,height:m.height})}},[a]),a?wt("g",{transform:`translate(${t-c.width/2} ${e-c.height/2})`,className:h,visibility:c.width?"visible":"hidden",...d,children:[r&&K("rect",{width:c.width+2*s[0],x:-s[0],y:-s[1],height:c.height+2*s[1],className:"react-flow__edge-textbg",style:n,rx:i,ry:i}),K("text",{className:"react-flow__edge-text",y:c.height/2,dy:"0.3em",ref:p,style:o,children:a}),l]}):null}dI.displayName="EdgeText";var nH=tt(dI);function Tc({path:t,labelX:e,labelY:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l,interactionWidth:u=20,...d}){return wt(ko,{children:[K("path",{...d,d:t,fill:"none",className:Ke(["react-flow__edge-path",d.className])}),u?K("path",{d:t,fill:"none",strokeOpacity:0,strokeWidth:u,className:"react-flow__edge-interaction"}):null,o&&pa(e)&&pa(a)?K(nH,{x:e,y:a,label:o,labelStyle:r,labelShowBg:n,labelBgStyle:s,labelBgPadding:i,labelBgBorderRadius:l}):null]})}function US({pos:t,x1:e,y1:a,x2:o,y2:r}){return t===se.Left||t===se.Right?[.5*(e+o),a]:[e,.5*(a+r)]}function cI({sourceX:t,sourceY:e,sourcePosition:a=se.Bottom,targetX:o,targetY:r,targetPosition:n=se.Top}){let[s,i]=US({pos:a,x1:t,y1:e,x2:o,y2:r}),[l,u]=US({pos:n,x1:o,y1:r,x2:t,y2:e}),[d,c,f,h]=xc({sourceX:t,sourceY:e,targetX:o,targetY:r,sourceControlX:s,sourceControlY:i,targetControlX:l,targetControlY:u});return[`M${t},${e} C${s},${i} ${l},${u} ${o},${r}`,d,c,f,h]}function fI(t){return tt(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s,targetPosition:i,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})=>{let[y,b,C]=cI({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i}),I=t.isInternal?void 0:e;return K(Tc,{id:I,path:y,labelX:b,labelY:C,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:x})})}var sH=fI({isInternal:!1}),hI=fI({isInternal:!0});sH.displayName="SimpleBezierEdge";hI.displayName="SimpleBezierEdgeInternal";function pI(t){return tt(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,sourcePosition:h=se.Bottom,targetPosition:p=se.Top,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:y})=>{let[b,C,I]=Wi({sourceX:a,sourceY:o,sourcePosition:h,targetX:r,targetY:n,targetPosition:p,borderRadius:x?.borderRadius,offset:x?.offset,stepPosition:x?.stepPosition}),v=t.isInternal?void 0:e;return K(Tc,{id:v,path:b,labelX:C,labelY:I,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,markerEnd:m,markerStart:g,interactionWidth:y})})}var mI=pI({isInternal:!1}),gI=pI({isInternal:!0});mI.displayName="SmoothStepEdge";gI.displayName="SmoothStepEdgeInternal";function xI(t){return tt(({id:e,...a})=>{let o=t.isInternal?void 0:e;return K(mI,{...a,id:o,pathOptions:Fa(()=>({borderRadius:0,offset:a.pathOptions?.offset}),[a.pathOptions?.offset])})})}var iH=xI({isInternal:!1}),bI=xI({isInternal:!0});iH.displayName="StepEdge";bI.displayName="StepEdgeInternal";function wI(t){return tt(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:m})=>{let[g,x,y]=wc({sourceX:a,sourceY:o,targetX:r,targetY:n}),b=t.isInternal?void 0:e;return K(Tc,{id:b,path:g,labelX:x,labelY:y,label:s,labelStyle:i,labelShowBg:l,labelBgStyle:u,labelBgPadding:d,labelBgBorderRadius:c,style:f,markerEnd:h,markerStart:p,interactionWidth:m})})}var lH=wI({isInternal:!1}),yI=wI({isInternal:!0});lH.displayName="StraightEdge";yI.displayName="StraightEdgeInternal";function LI(t){return tt(({id:e,sourceX:a,sourceY:o,targetX:r,targetY:n,sourcePosition:s=se.Bottom,targetPosition:i=se.Top,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,pathOptions:x,interactionWidth:y})=>{let[b,C,I]=bc({sourceX:a,sourceY:o,sourcePosition:s,targetX:r,targetY:n,targetPosition:i,curvature:x?.curvature}),v=t.isInternal?void 0:e;return K(Tc,{id:v,path:b,labelX:C,labelY:I,label:l,labelStyle:u,labelShowBg:d,labelBgStyle:c,labelBgPadding:f,labelBgBorderRadius:h,style:p,markerEnd:m,markerStart:g,interactionWidth:y})})}var uH=LI({isInternal:!1}),CI=LI({isInternal:!0});uH.displayName="BezierEdge";CI.displayName="BezierEdgeInternal";var WS={default:CI,straight:yI,step:bI,smoothstep:gI,simplebezier:hI},VS={sourceX:null,sourceY:null,targetX:null,targetY:null,sourcePosition:null,targetPosition:null},dH=(t,e,a)=>a===se.Left?t-e:a===se.Right?t+e:t,cH=(t,e,a)=>a===se.Top?t-e:a===se.Bottom?t+e:t,GS="react-flow__edgeupdater";function $S({position:t,centerX:e,centerY:a,radius:o=10,onMouseDown:r,onMouseEnter:n,onMouseOut:s,type:i}){return K("circle",{onMouseDown:r,onMouseEnter:n,onMouseOut:s,className:Ke([GS,`${GS}-${i}`]),cx:dH(e,o,t),cy:cH(a,o,t),r:o,stroke:"transparent",fill:"transparent"})}function fH({isReconnectable:t,reconnectRadius:e,edge:a,sourceX:o,sourceY:r,targetX:n,targetY:s,sourcePosition:i,targetPosition:l,onReconnect:u,onReconnectStart:d,onReconnectEnd:c,setReconnecting:f,setUpdateHover:h}){let p=Ue(),m=(C,I)=>{if(C.button!==0)return;let{autoPanOnConnect:v,domNode:L,connectionMode:S,connectionRadius:k,lib:z,onConnectStart:A,cancelConnection:P,nodeLookup:H,rfId:M,panBy:T,updateConnection:R}=p.getState(),E=I.type==="target",q=(N,U)=>{f(!1),c?.(N,a,I.type,U)},B=N=>u?.(a,N),D=(N,U)=>{f(!0),d?.(C,a,I.type),A?.(N,U)};vc.onPointerDown(C.nativeEvent,{autoPanOnConnect:v,connectionMode:S,connectionRadius:k,domNode:L,handleId:I.id,nodeId:I.nodeId,nodeLookup:H,isTarget:E,edgeUpdaterType:I.type,lib:z,flowId:M,cancelConnection:P,panBy:T,isValidConnection:(...N)=>p.getState().isValidConnection?.(...N)??!0,onConnect:B,onConnectStart:D,onConnectEnd:(...N)=>p.getState().onConnectEnd?.(...N),onReconnectEnd:q,updateConnection:R,getTransform:()=>p.getState().transform,getFromHandle:()=>p.getState().connection.fromHandle,dragThreshold:p.getState().connectionDragThreshold,handleDomNode:C.currentTarget})},g=C=>m(C,{nodeId:a.target,id:a.targetHandle??null,type:"target"}),x=C=>m(C,{nodeId:a.source,id:a.sourceHandle??null,type:"source"}),y=()=>h(!0),b=()=>h(!1);return wt(ko,{children:[(t===!0||t==="source")&&K($S,{position:i,centerX:o,centerY:r,radius:e,onMouseDown:g,onMouseEnter:y,onMouseOut:b,type:"source"}),(t===!0||t==="target")&&K($S,{position:l,centerX:n,centerY:s,radius:e,onMouseDown:x,onMouseEnter:y,onMouseOut:b,type:"target"})]})}function hH({id:t,edgesFocusable:e,edgesReconnectable:a,elementsSelectable:o,onClick:r,onDoubleClick:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,reconnectRadius:d,onReconnect:c,onReconnectStart:f,onReconnectEnd:h,rfId:p,edgeTypes:m,noPanClassName:g,onError:x,disableKeyboardA11y:y}){let b=we(J=>J.edgeLookup.get(t)),C=we(J=>J.defaultEdgeOptions);b=C?{...C,...b}:b;let I=b.type||"default",v=m?.[I]||WS[I];v===void 0&&(x?.("011",aa.error011(I)),I="default",v=m?.default||WS.default);let L=!!(b.focusable||e&&typeof b.focusable>"u"),S=typeof c<"u"&&(b.reconnectable||a&&typeof b.reconnectable>"u"),k=!!(b.selectable||o&&typeof b.selectable>"u"),z=Ie(null),[A,P]=Qa(!1),[H,M]=Qa(!1),T=Ue(),{zIndex:R,sourceX:E,sourceY:q,targetX:B,targetY:D,sourcePosition:N,targetPosition:U}=we(eo(J=>{let ne=J.nodeLookup.get(b.source),de=J.nodeLookup.get(b.target);if(!ne||!de)return{zIndex:b.zIndex,...VS};let Se=jv({id:t,sourceNode:ne,targetNode:de,sourceHandle:b.sourceHandle||null,targetHandle:b.targetHandle||null,connectionMode:J.connectionMode,onError:x});return{zIndex:$v({selected:b.selected,zIndex:b.zIndex,sourceNode:ne,targetNode:de,elevateOnSelect:J.elevateEdgesOnSelect,zIndexMode:J.zIndexMode}),...Se||VS}},[b.source,b.target,b.sourceHandle,b.targetHandle,b.selected,b.zIndex]),Ne),$=Fa(()=>b.markerStart?`url('#${yc(b.markerStart,p)}')`:void 0,[b.markerStart,p]),_=Fa(()=>b.markerEnd?`url('#${yc(b.markerEnd,p)}')`:void 0,[b.markerEnd,p]);if(b.hidden||E===null||q===null||B===null||D===null)return null;let W=J=>{let{addSelectedEdges:ne,unselectNodesAndEdges:de,multiSelectionActive:Se}=T.getState();k&&(T.setState({nodesSelectionActive:!1}),b.selected&&Se?(de({nodes:[],edges:[b]}),z.current?.blur()):ne([t])),r&&r(J,b)},G=n?J=>{n(J,{...b})}:void 0,O=s?J=>{s(J,{...b})}:void 0,F=i?J=>{i(J,{...b})}:void 0,V=l?J=>{l(J,{...b})}:void 0,ie=u?J=>{u(J,{...b})}:void 0,le=J=>{if(!y&&Xm.includes(J.key)&&k){let{unselectNodesAndEdges:ne,addSelectedEdges:de}=T.getState();J.key==="Escape"?(z.current?.blur(),ne({edges:[b]})):de([t])}};return K("svg",{style:{zIndex:R},children:wt("g",{className:Ke(["react-flow__edge",`react-flow__edge-${I}`,b.className,g,{selected:b.selected,animated:b.animated,inactive:!k&&!r,updating:A,selectable:k}]),onClick:W,onDoubleClick:G,onContextMenu:O,onMouseEnter:F,onMouseMove:V,onMouseLeave:ie,onKeyDown:L?le:void 0,tabIndex:L?0:void 0,role:b.ariaRole??(L?"group":"img"),"aria-roledescription":"edge","data-id":t,"data-testid":`rf__edge-${t}`,"aria-label":b.ariaLabel===null?void 0:b.ariaLabel||`Edge from ${b.source} to ${b.target}`,"aria-describedby":L?`${QS}-${p}`:void 0,ref:z,...b.domAttributes,children:[!H&&K(v,{id:t,source:b.source,target:b.target,type:b.type,selected:b.selected,animated:b.animated,selectable:k,deletable:b.deletable??!0,label:b.label,labelStyle:b.labelStyle,labelShowBg:b.labelShowBg,labelBgStyle:b.labelBgStyle,labelBgPadding:b.labelBgPadding,labelBgBorderRadius:b.labelBgBorderRadius,sourceX:E,sourceY:q,targetX:B,targetY:D,sourcePosition:N,targetPosition:U,data:b.data,style:b.style,sourceHandleId:b.sourceHandle,targetHandleId:b.targetHandle,markerStart:$,markerEnd:_,pathOptions:"pathOptions"in b?b.pathOptions:void 0,interactionWidth:b.interactionWidth}),S&&K(fH,{edge:b,isReconnectable:S,reconnectRadius:d,onReconnect:c,onReconnectStart:f,onReconnectEnd:h,sourceX:E,sourceY:q,targetX:B,targetY:D,sourcePosition:N,targetPosition:U,setUpdateHover:P,setReconnecting:M})]})})}var pH=tt(hH),mH=t=>({edgesFocusable:t.edgesFocusable,edgesReconnectable:t.edgesReconnectable,elementsSelectable:t.elementsSelectable,connectionMode:t.connectionMode,onError:t.onError});function vI({defaultMarkerColor:t,onlyRenderVisibleElements:e,rfId:a,edgeTypes:o,noPanClassName:r,onReconnect:n,onEdgeContextMenu:s,onEdgeMouseEnter:i,onEdgeMouseMove:l,onEdgeMouseLeave:u,onEdgeClick:d,reconnectRadius:c,onEdgeDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,disableKeyboardA11y:m}){let{edgesFocusable:g,edgesReconnectable:x,elementsSelectable:y,onError:b}=we(mH,Ne),C=Q_(e);return wt("div",{className:"react-flow__edges",children:[K(rH,{defaultColor:t,rfId:a}),C.map(I=>K(pH,{id:I,edgesFocusable:g,edgesReconnectable:x,elementsSelectable:y,noPanClassName:r,onReconnect:n,onContextMenu:s,onMouseEnter:i,onMouseMove:l,onMouseLeave:u,onClick:d,reconnectRadius:c,onDoubleClick:f,onReconnectStart:h,onReconnectEnd:p,rfId:a,onError:b,edgeTypes:o,disableKeyboardA11y:m},I))]})}vI.displayName="EdgeRenderer";var gH=tt(vI),xH=t=>`translate(${t.transform[0]}px,${t.transform[1]}px) scale(${t.transform[2]})`;function bH({children:t}){let e=we(xH);return K("div",{className:"react-flow__viewport xyflow__viewport react-flow__container",style:{transform:e},children:t})}function wH(t){let e=$i(),a=Ie(!1);Re(()=>{!a.current&&e.viewportInitialized&&t&&(setTimeout(()=>t(e),1),a.current=!0)},[t,e.viewportInitialized])}var yH=t=>t.panZoom?.syncViewport;function LH(t){let e=we(yH),a=Ue();return Re(()=>{t&&(e?.(t),a.setState({transform:[t.x,t.y,t.zoom]}))},[t,e]),null}function XS(t){return t.connection.inProgress?{...t.connection,to:rn(t.connection.to,t.transform)}:{...t.connection}}function CH(t){return t?a=>{let o=XS(a);return t(o)}:XS}function vH(t){let e=CH(t);return we(e,Ne)}var SH=t=>({nodesConnectable:t.nodesConnectable,isValid:t.connection.isValid,inProgress:t.connection.inProgress,width:t.width,height:t.height});function IH({containerStyle:t,style:e,type:a,component:o}){let{nodesConnectable:r,width:n,height:s,isValid:i,inProgress:l}=we(SH,Ne);return!(n&&r&&l)?null:K("svg",{style:t,width:n,height:s,className:"react-flow__connectionline react-flow__container",children:K("g",{className:Ke(["react-flow__connection",Zm(i)]),children:K(SI,{style:e,type:a,CustomComponent:o,isValid:i})})})}var SI=({style:t,type:e=Za.Bezier,CustomComponent:a,isValid:o})=>{let{inProgress:r,from:n,fromNode:s,fromHandle:i,fromPosition:l,to:u,toNode:d,toHandle:c,toPosition:f,pointer:h}=vH();if(!r)return;if(a)return K(a,{connectionLineType:e,connectionLineStyle:t,fromNode:s,fromHandle:i,fromX:n.x,fromY:n.y,toX:u.x,toY:u.y,fromPosition:l,toPosition:f,connectionStatus:Zm(o),toNode:d,toHandle:c,pointer:h});let p="",m={sourceX:n.x,sourceY:n.y,sourcePosition:l,targetX:u.x,targetY:u.y,targetPosition:f};switch(e){case Za.Bezier:[p]=bc(m);break;case Za.SimpleBezier:[p]=cI(m);break;case Za.Step:[p]=Wi({...m,borderRadius:0});break;case Za.SmoothStep:[p]=Wi(m);break;default:[p]=wc(m)}return K("path",{d:p,fill:"none",className:"react-flow__connection-path",style:t})};SI.displayName="ConnectionLine";var kH={};function KS(t=kH){let e=Ie(t),a=Ue();Re(()=>{},[t])}function AH(){let t=Ue(),e=Ie(!1);Re(()=>{},[])}function II({nodeTypes:t,edgeTypes:e,onInit:a,onNodeClick:o,onEdgeClick:r,onNodeDoubleClick:n,onEdgeDoubleClick:s,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,onSelectionContextMenu:c,onSelectionStart:f,onSelectionEnd:h,connectionLineType:p,connectionLineStyle:m,connectionLineComponent:g,connectionLineContainerStyle:x,selectionKeyCode:y,selectionOnDrag:b,selectionMode:C,multiSelectionKeyCode:I,panActivationKeyCode:v,zoomActivationKeyCode:L,deleteKeyCode:S,onlyRenderVisibleElements:k,elementsSelectable:z,defaultViewport:A,translateExtent:P,minZoom:H,maxZoom:M,preventScrolling:T,defaultMarkerColor:R,zoomOnScroll:E,zoomOnPinch:q,panOnScroll:B,panOnScrollSpeed:D,panOnScrollMode:N,zoomOnDoubleClick:U,panOnDrag:$,autoPanOnSelection:_,onPaneClick:W,onPaneMouseEnter:G,onPaneMouseMove:O,onPaneMouseLeave:F,onPaneScroll:V,onPaneContextMenu:ie,paneClickDistance:le,nodeClickDistance:J,onEdgeContextMenu:ne,onEdgeMouseEnter:de,onEdgeMouseMove:Se,onEdgeMouseLeave:Te,reconnectRadius:ht,onReconnect:ya,onReconnectStart:Ct,onReconnectEnd:ra,noDragClassName:ee,noWheelClassName:We,noPanClassName:ut,disableKeyboardA11y:uo,nodeExtent:Zt,rfId:co,viewport:fo,onViewportChange:br}){return KS(t),KS(e),AH(),wH(a),LH(fo),K(W_,{onPaneClick:W,onPaneMouseEnter:G,onPaneMouseMove:O,onPaneMouseLeave:F,onPaneContextMenu:ie,onPaneScroll:V,paneClickDistance:le,deleteKeyCode:S,selectionKeyCode:y,selectionOnDrag:b,selectionMode:C,onSelectionStart:f,onSelectionEnd:h,multiSelectionKeyCode:I,panActivationKeyCode:v,zoomActivationKeyCode:L,elementsSelectable:z,zoomOnScroll:E,zoomOnPinch:q,zoomOnDoubleClick:U,panOnScroll:B,panOnScrollSpeed:D,panOnScrollMode:N,panOnDrag:$,autoPanOnSelection:_,defaultViewport:A,translateExtent:P,minZoom:H,maxZoom:M,onSelectionContextMenu:c,preventScrolling:T,noDragClassName:ee,noWheelClassName:We,noPanClassName:ut,disableKeyboardA11y:uo,onViewportChange:br,isControlledViewport:!!fo,children:wt(bH,{children:[K(gH,{edgeTypes:e,onEdgeClick:r,onEdgeDoubleClick:s,onReconnect:ya,onReconnectStart:Ct,onReconnectEnd:ra,onlyRenderVisibleElements:k,onEdgeContextMenu:ne,onEdgeMouseEnter:de,onEdgeMouseMove:Se,onEdgeMouseLeave:Te,reconnectRadius:ht,defaultMarkerColor:R,noPanClassName:ut,disableKeyboardA11y:uo,rfId:co}),K(IH,{style:m,type:p,component:g,containerStyle:x}),K("div",{className:"react-flow__edgelabel-renderer"}),K(J_,{nodeTypes:t,onNodeClick:o,onNodeDoubleClick:n,onNodeMouseEnter:i,onNodeMouseMove:l,onNodeMouseLeave:u,onNodeContextMenu:d,nodeClickDistance:J,onlyRenderVisibleElements:k,noPanClassName:ut,noDragClassName:ee,disableKeyboardA11y:uo,nodeExtent:Zt,rfId:co}),K("div",{className:"react-flow__viewport-portal"})]})})}II.displayName="GraphView";var MH=tt(II),PH=og("React Flow","https://reactflow.dev/"),jS=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l=.5,maxZoom:u=2,nodeOrigin:d,nodeExtent:c,zIndexMode:f="basic"}={})=>{let h=new Map,p=new Map,m=new Map,g=new Map,x=o??e??[],y=a??t??[],b=d??[0,0],C=c??is;pg(m,g,x);let{nodesInitialized:I}=Lc(y,h,p,{nodeOrigin:b,nodeExtent:C,zIndexMode:f}),v=[0,0,1];if(s&&r&&n){let L=ls(h,{filter:A=>!!((A.width||A.initialWidth)&&(A.height||A.initialHeight))}),{x:S,y:k,zoom:z}=Ui(L,r,n,l,u,i?.padding??.1);v=[S,k,z]}return{rfId:"1",width:r??0,height:n??0,transform:v,nodes:y,nodesInitialized:I,nodeLookup:h,parentLookup:p,edges:x,edgeLookup:g,connectionLookup:m,onNodesChange:null,onEdgesChange:null,hasDefaultNodes:a!==void 0,hasDefaultEdges:o!==void 0,panZoom:null,minZoom:l,maxZoom:u,translateExtent:is,nodeExtent:C,nodesSelectionActive:!1,userSelectionActive:!1,userSelectionRect:null,connectionMode:Jo.Strict,domNode:null,paneDragging:!1,noPanClassName:"nopan",nodeOrigin:b,nodeDragThreshold:1,connectionDragThreshold:1,snapGrid:[15,15],snapToGrid:!1,nodesDraggable:!0,nodesConnectable:!0,nodesFocusable:!0,edgesFocusable:!0,edgesReconnectable:!0,elementsSelectable:!0,elevateNodesOnSelect:!0,elevateEdgesOnSelect:!0,selectNodesOnDrag:!0,multiSelectionActive:!1,fitViewQueued:s??!1,fitViewOptions:i,fitViewResolver:null,connection:{...jm},connectionClickStartHandle:null,connectOnClick:!0,ariaLiveMessage:"",autoPanOnConnect:!0,autoPanOnNodeDrag:!0,autoPanOnNodeFocus:!0,autoPanSpeed:15,connectionRadius:20,onError:PH,isValidConnection:void 0,onSelectionChangeHandlers:[],lib:"react",debug:!1,ariaLabelConfig:Km,zIndexMode:f,onNodesChangeMiddlewareMap:new Map,onEdgesChangeMiddlewareMap:new Map}},DH=({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:c,zIndexMode:f})=>kS((h,p)=>{async function m(){let{nodeLookup:g,panZoom:x,fitViewOptions:y,fitViewResolver:b,width:C,height:I,minZoom:v,maxZoom:L}=p();x&&(await qv({nodes:g,width:C,height:I,panZoom:x,minZoom:v,maxZoom:L},y),b?.resolve(!0),h({fitViewResolver:null}))}return{...jS({nodes:t,edges:e,width:r,height:n,fitView:s,fitViewOptions:i,minZoom:l,maxZoom:u,nodeOrigin:d,nodeExtent:c,defaultNodes:a,defaultEdges:o,zIndexMode:f}),setNodes:g=>{let{nodeLookup:x,parentLookup:y,nodeOrigin:b,elevateNodesOnSelect:C,fitViewQueued:I,zIndexMode:v,nodesSelectionActive:L}=p(),{nodesInitialized:S,hasSelectedNodes:k}=Lc(g,x,y,{nodeOrigin:b,nodeExtent:c,elevateNodesOnSelect:C,checkEquality:!0,zIndexMode:v}),z=L&&k;I&&S?(m(),h({nodes:g,nodesInitialized:S,fitViewQueued:!1,fitViewOptions:void 0,nodesSelectionActive:z})):h({nodes:g,nodesInitialized:S,nodesSelectionActive:z})},setEdges:g=>{let{connectionLookup:x,edgeLookup:y}=p();pg(x,y,g),h({edges:g})},setDefaultNodesAndEdges:(g,x)=>{if(g){let{setNodes:y}=p();y(g),h({hasDefaultNodes:!0})}if(x){let{setEdges:y}=p();y(x),h({hasDefaultEdges:!0})}},updateNodeInternals:g=>{let{triggerNodeChanges:x,nodeLookup:y,parentLookup:b,domNode:C,nodeOrigin:I,nodeExtent:v,debug:L,fitViewQueued:S,zIndexMode:k}=p(),{changes:z,updatedInternals:A}=eS(g,y,b,C,I,v,k);A&&(Jv(y,b,{nodeOrigin:I,nodeExtent:v,zIndexMode:k}),S?(m(),h({fitViewQueued:!1,fitViewOptions:void 0})):h({}),z?.length>0&&(L&&console.log("React Flow: trigger node changes",z),x?.(z)))},updateNodePositions:(g,x=!1)=>{let y=[],b=[],{nodeLookup:C,triggerNodeChanges:I,connection:v,updateConnection:L,onNodesChangeMiddlewareMap:S}=p();for(let[k,z]of g){let A=C.get(k),P=!!(A?.expandParent&&A?.parentId&&z?.position),H={id:k,type:"position",position:P?{x:Math.max(0,z.position.x),y:Math.max(0,z.position.y)}:z.position,dragging:x};if(A&&v.inProgress&&v.fromNode.id===A.id){let M=er(A,v.fromHandle,se.Left,!0);L({...v,from:M})}P&&A.parentId&&y.push({id:k,parentId:A.parentId,rect:{...z.internals.positionAbsolute,width:z.measured.width??0,height:z.measured.height??0}}),b.push(H)}if(y.length>0){let{parentLookup:k,nodeOrigin:z}=p(),A=Cc(y,C,k,z);b.push(...A)}for(let k of S.values())b=k(b);I(b)},triggerNodeChanges:g=>{let{onNodesChange:x,setNodes:y,nodes:b,hasDefaultNodes:C,debug:I}=p();if(g?.length){if(C){let v=c_(g,b);y(v)}I&&console.log("React Flow: trigger node changes",g),x?.(g)}},triggerEdgeChanges:g=>{let{onEdgesChange:x,setEdges:y,edges:b,hasDefaultEdges:C,debug:I}=p();if(g?.length){if(C){let v=f_(g,b);y(v)}I&&console.log("React Flow: trigger edge changes",g),x?.(g)}},addSelectedNodes:g=>{let{multiSelectionActive:x,edgeLookup:y,nodeLookup:b,triggerNodeChanges:C,triggerEdgeChanges:I}=p();if(x){let v=g.map(L=>nn(L,!0));C(v);return}C(hs(b,new Set([...g]),!0)),I(hs(y))},addSelectedEdges:g=>{let{multiSelectionActive:x,edgeLookup:y,nodeLookup:b,triggerNodeChanges:C,triggerEdgeChanges:I}=p();if(x){let v=g.map(L=>nn(L,!0));I(v);return}I(hs(y,new Set([...g]))),C(hs(b,new Set,!0))},unselectNodesAndEdges:({nodes:g,edges:x}={})=>{let{edges:y,nodes:b,nodeLookup:C,triggerNodeChanges:I,triggerEdgeChanges:v}=p(),L=g||b,S=x||y,k=[];for(let A of L){if(!A.selected)continue;let P=C.get(A.id);P&&(P.selected=!1),k.push(nn(A.id,!1))}let z=[];for(let A of S)A.selected&&z.push(nn(A.id,!1));I(k),v(z)},setMinZoom:g=>{let{panZoom:x,maxZoom:y}=p();x?.setScaleExtent([g,y]),h({minZoom:g})},setMaxZoom:g=>{let{panZoom:x,minZoom:y}=p();x?.setScaleExtent([y,g]),h({maxZoom:g})},setTranslateExtent:g=>{p().panZoom?.setTranslateExtent(g),h({translateExtent:g})},resetSelectedElements:()=>{let{edges:g,nodes:x,triggerNodeChanges:y,triggerEdgeChanges:b,elementsSelectable:C}=p();if(!C)return;let I=x.reduce((L,S)=>S.selected?[...L,nn(S.id,!1)]:L,[]),v=g.reduce((L,S)=>S.selected?[...L,nn(S.id,!1)]:L,[]);y(I),b(v)},setNodeExtent:g=>{let{nodes:x,nodeLookup:y,parentLookup:b,nodeOrigin:C,elevateNodesOnSelect:I,nodeExtent:v,zIndexMode:L}=p();g[0][0]===v[0][0]&&g[0][1]===v[0][1]&&g[1][0]===v[1][0]&&g[1][1]===v[1][1]||(Lc(x,y,b,{nodeOrigin:C,nodeExtent:g,elevateNodesOnSelect:I,checkEquality:!1,zIndexMode:L}),h({nodeExtent:g}))},panBy:g=>{let{transform:x,width:y,height:b,panZoom:C,translateExtent:I}=p();return tS({delta:g,panZoom:C,transform:x,translateExtent:I,width:y,height:b})},setCenter:async(g,x,y)=>{let{width:b,height:C,maxZoom:I,panZoom:v}=p();if(!v)return!1;let L=typeof y?.zoom<"u"?y.zoom:I;return await v.setViewport({x:b/2-g*L,y:C/2-x*L,zoom:L},{duration:y?.duration,ease:y?.ease,interpolate:y?.interpolate}),!0},cancelConnection:()=>{h({connection:{...jm}})},updateConnection:g=>{h({connection:g})},reset:()=>h({...jS()})}},Object.is);function Cg({initialNodes:t,initialEdges:e,defaultNodes:a,defaultEdges:o,initialWidth:r,initialHeight:n,initialMinZoom:s,initialMaxZoom:i,initialFitViewOptions:l,fitView:u,nodeOrigin:d,nodeExtent:c,zIndexMode:f,children:h}){let[p]=Qa(()=>DH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,width:r,height:n,fitView:u,minZoom:s,maxZoom:i,fitViewOptions:l,nodeOrigin:d,nodeExtent:c,zIndexMode:f}));return K(GN,{value:p,children:K(b_,{children:h})})}function RH({children:t,nodes:e,edges:a,defaultNodes:o,defaultEdges:r,width:n,height:s,fitView:i,fitViewOptions:l,minZoom:u,maxZoom:d,nodeOrigin:c,nodeExtent:f,zIndexMode:h}){return Gi(Pc)?K(ko,{children:t}):K(Cg,{initialNodes:e,initialEdges:a,defaultNodes:o,defaultEdges:r,initialWidth:n,initialHeight:s,fitView:i,initialFitViewOptions:l,initialMinZoom:u,initialMaxZoom:d,nodeOrigin:c,nodeExtent:f,zIndexMode:h,children:t})}var TH={width:"100%",height:"100%",overflow:"hidden",position:"relative",zIndex:0};function EH({nodes:t,edges:e,defaultNodes:a,defaultEdges:o,className:r,nodeTypes:n,edgeTypes:s,onNodeClick:i,onEdgeClick:l,onInit:u,onMove:d,onMoveStart:c,onMoveEnd:f,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,onNodeMouseEnter:y,onNodeMouseMove:b,onNodeMouseLeave:C,onNodeContextMenu:I,onNodeDoubleClick:v,onNodeDragStart:L,onNodeDrag:S,onNodeDragStop:k,onNodesDelete:z,onEdgesDelete:A,onDelete:P,onSelectionChange:H,onSelectionDragStart:M,onSelectionDrag:T,onSelectionDragStop:R,onSelectionContextMenu:E,onSelectionStart:q,onSelectionEnd:B,onBeforeDelete:D,connectionMode:N,connectionLineType:U=Za.Bezier,connectionLineStyle:$,connectionLineComponent:_,connectionLineContainerStyle:W,deleteKeyCode:G="Backspace",selectionKeyCode:O="Shift",selectionOnDrag:F=!1,selectionMode:V=Qr.Full,panActivationKeyCode:ie="Space",multiSelectionKeyCode:le=cs()?"Meta":"Control",zoomActivationKeyCode:J=cs()?"Meta":"Control",snapToGrid:ne,snapGrid:de,onlyRenderVisibleElements:Se=!1,selectNodesOnDrag:Te,nodesDraggable:ht,autoPanOnNodeFocus:ya,nodesConnectable:Ct,nodesFocusable:ra,nodeOrigin:ee=eI,edgesFocusable:We,edgesReconnectable:ut,elementsSelectable:uo=!0,defaultViewport:Zt=r_,minZoom:co=.5,maxZoom:fo=2,translateExtent:br=is,preventScrolling:OM=!0,nodeExtent:yf,defaultMarkerColor:NM="#b1b1b7",zoomOnScroll:_M=!0,zoomOnPinch:HM=!0,panOnScroll:zM=!1,panOnScrollSpeed:qM=.5,panOnScrollMode:UM=So.Free,zoomOnDoubleClick:WM=!0,panOnDrag:VM=!0,onPaneClick:GM,onPaneMouseEnter:$M,onPaneMouseMove:XM,onPaneMouseLeave:KM,onPaneScroll:jM,onPaneContextMenu:ZM,paneClickDistance:YM=1,nodeClickDistance:JM=0,children:QM,onReconnect:eP,onReconnectStart:tP,onReconnectEnd:aP,onEdgeContextMenu:oP,onEdgeDoubleClick:rP,onEdgeMouseEnter:nP,onEdgeMouseMove:sP,onEdgeMouseLeave:iP,reconnectRadius:lP=10,onNodesChange:uP,onEdgesChange:dP,noDragClassName:cP="nodrag",noWheelClassName:fP="nowheel",noPanClassName:Ox="nopan",fitView:Nx,fitViewOptions:_x,connectOnClick:hP,attributionPosition:pP,proOptions:mP,defaultEdgeOptions:gP,elevateNodesOnSelect:xP=!0,elevateEdgesOnSelect:bP=!1,disableKeyboardA11y:Hx=!1,autoPanOnConnect:wP,autoPanOnNodeDrag:yP,autoPanOnSelection:LP=!0,autoPanSpeed:CP,connectionRadius:vP,isValidConnection:SP,onError:IP,style:kP,id:zx,nodeDragThreshold:AP,connectionDragThreshold:MP,viewport:PP,onViewportChange:DP,width:RP,height:TP,colorMode:EP="light",debug:BP,onScroll:qx,ariaLabelConfig:FP,zIndexMode:Ux="basic",...OP},NP){let Lf=zx||"1",_P=l_(EP),HP=eo(Wx=>{Wx.currentTarget.scrollTo({top:0,left:0,behavior:"instant"}),qx?.(Wx)},[qx]);return K("div",{"data-testid":"rf__wrapper",...OP,onScroll:HP,style:{...kP,...TH},ref:NP,className:Ke(["react-flow",r,_P]),id:zx,role:"application",children:wt(RH,{nodes:t,edges:e,width:RP,height:TP,fitView:Nx,fitViewOptions:_x,minZoom:co,maxZoom:fo,nodeOrigin:ee,nodeExtent:yf,zIndexMode:Ux,children:[K(i_,{nodes:t,edges:e,defaultNodes:a,defaultEdges:o,onConnect:h,onConnectStart:p,onConnectEnd:m,onClickConnectStart:g,onClickConnectEnd:x,nodesDraggable:ht,autoPanOnNodeFocus:ya,nodesConnectable:Ct,nodesFocusable:ra,edgesFocusable:We,edgesReconnectable:ut,elementsSelectable:uo,elevateNodesOnSelect:xP,elevateEdgesOnSelect:bP,minZoom:co,maxZoom:fo,nodeExtent:yf,onNodesChange:uP,onEdgesChange:dP,snapToGrid:ne,snapGrid:de,connectionMode:N,translateExtent:br,connectOnClick:hP,defaultEdgeOptions:gP,fitView:Nx,fitViewOptions:_x,onNodesDelete:z,onEdgesDelete:A,onDelete:P,onNodeDragStart:L,onNodeDrag:S,onNodeDragStop:k,onSelectionDrag:T,onSelectionDragStart:M,onSelectionDragStop:R,onMove:d,onMoveStart:c,onMoveEnd:f,noPanClassName:Ox,nodeOrigin:ee,rfId:Lf,autoPanOnConnect:wP,autoPanOnNodeDrag:yP,autoPanSpeed:CP,onError:IP,connectionRadius:vP,isValidConnection:SP,selectNodesOnDrag:Te,nodeDragThreshold:AP,connectionDragThreshold:MP,onBeforeDelete:D,debug:BP,ariaLabelConfig:FP,zIndexMode:Ux}),K(MH,{onInit:u,onNodeClick:i,onEdgeClick:l,onNodeMouseEnter:y,onNodeMouseMove:b,onNodeMouseLeave:C,onNodeContextMenu:I,onNodeDoubleClick:v,nodeTypes:n,edgeTypes:s,connectionLineType:U,connectionLineStyle:$,connectionLineComponent:_,connectionLineContainerStyle:W,selectionKeyCode:O,selectionOnDrag:F,selectionMode:V,deleteKeyCode:G,multiSelectionKeyCode:le,panActivationKeyCode:ie,zoomActivationKeyCode:J,onlyRenderVisibleElements:Se,defaultViewport:Zt,translateExtent:br,minZoom:co,maxZoom:fo,preventScrolling:OM,zoomOnScroll:_M,zoomOnPinch:HM,zoomOnDoubleClick:WM,panOnScroll:zM,panOnScrollSpeed:qM,panOnScrollMode:UM,panOnDrag:VM,autoPanOnSelection:LP,onPaneClick:GM,onPaneMouseEnter:$M,onPaneMouseMove:XM,onPaneMouseLeave:KM,onPaneScroll:jM,onPaneContextMenu:ZM,paneClickDistance:YM,nodeClickDistance:JM,onSelectionContextMenu:E,onSelectionStart:q,onSelectionEnd:B,onReconnect:eP,onReconnectStart:tP,onReconnectEnd:aP,onEdgeContextMenu:oP,onEdgeDoubleClick:rP,onEdgeMouseEnter:nP,onEdgeMouseMove:sP,onEdgeMouseLeave:iP,reconnectRadius:lP,defaultMarkerColor:NM,noDragClassName:cP,noWheelClassName:fP,noPanClassName:Ox,rfId:Lf,disableKeyboardA11y:Hx,nodeExtent:yf,viewport:PP,onViewportChange:DP}),K(o_,{onSelectionChange:H}),QM,K(JN,{proOptions:mP,position:pP}),K(YN,{rfId:Lf,disableKeyboardA11y:Hx})]})})}var kI=aI(EH);var BH=t=>e=>{if(!t.includeHiddenNodes)return e.nodesInitialized;if(e.nodeLookup.size===0)return!1;for(let[,{internals:a}]of e.nodeLookup)if(a.handleBounds===void 0||!mc(a.userNode))return!1;return!0};function AI(t={includeHiddenNodes:!1}){return we(BH(t))}var rZ=aa.error014();function FH({dimensions:t,lineWidth:e,variant:a,className:o}){return K("path",{strokeWidth:e,d:`M${t[0]/2} 0 V${t[1]} M0 ${t[1]/2} H${t[0]}`,className:Ke(["react-flow__background-pattern",a,o])})}function OH({radius:t,className:e}){return K("circle",{cx:t,cy:t,r:t,className:Ke(["react-flow__background-pattern","dots",e])})}var Ja;(function(t){t.Lines="lines",t.Dots="dots",t.Cross="cross"})(Ja||(Ja={}));var NH={[Ja.Dots]:1,[Ja.Lines]:1,[Ja.Cross]:6},_H=t=>({transform:t.transform,patternId:`pattern-${t.rfId}`});function MI({id:t,variant:e=Ja.Dots,gap:a=20,size:o,lineWidth:r=1,offset:n=0,color:s,bgColor:i,style:l,className:u,patternClassName:d}){let c=Ie(null),{transform:f,patternId:h}=we(_H,Ne),p=o||NH[e],m=e===Ja.Dots,g=e===Ja.Cross,x=Array.isArray(a)?a:[a,a],y=[x[0]*f[2]||1,x[1]*f[2]||1],b=p*f[2],C=Array.isArray(n)?n:[n,n],I=g?[b,b]:y,v=[C[0]*f[2]||1+I[0]/2,C[1]*f[2]||1+I[1]/2],L=`${h}${t||""}`;return wt("svg",{className:Ke(["react-flow__background",u]),style:{...l,...Rc,"--xy-background-color-props":i,"--xy-background-pattern-color-props":s},ref:c,"data-testid":"rf__background",children:[K("pattern",{id:L,x:f[0]%y[0],y:f[1]%y[1],width:y[0],height:y[1],patternUnits:"userSpaceOnUse",patternTransform:`translate(-${v[0]},-${v[1]})`,children:m?K(OH,{radius:b/2,className:d}):K(FH,{dimensions:I,lineWidth:r,variant:e,className:d})}),K("rect",{x:"0",y:"0",width:"100%",height:"100%",fill:`url(#${L})`})]})}MI.displayName="Background";var PI=tt(MI);function HH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",children:K("path",{d:"M32 18.133H18.133V32h-4.266V18.133H0v-4.266h13.867V0h4.266v13.867H32z"})})}function zH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 5",children:K("path",{d:"M0 0h32v4.2H0z"})})}function qH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 30",children:K("path",{d:"M3.692 4.63c0-.53.4-.938.939-.938h5.215V0H4.708C2.13 0 0 2.054 0 4.63v5.216h3.692V4.631zM27.354 0h-5.2v3.692h5.17c.53 0 .984.4.984.939v5.215H32V4.631A4.624 4.624 0 0027.354 0zm.954 24.83c0 .532-.4.94-.939.94h-5.215v3.768h5.215c2.577 0 4.631-2.13 4.631-4.707v-5.139h-3.692v5.139zm-23.677.94c-.531 0-.939-.4-.939-.94v-5.138H0v5.139c0 2.577 2.13 4.707 4.708 4.707h5.138V25.77H4.631z"})})}function UH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:K("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0 8 0 4.571 3.429 4.571 7.619v3.048H3.048A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047zm4.724-13.866H7.467V7.619c0-2.59 2.133-4.724 4.723-4.724 2.591 0 4.724 2.133 4.724 4.724v3.048z"})})}function WH(){return K("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 25 32",children:K("path",{d:"M21.333 10.667H19.81V7.619C19.81 3.429 16.38 0 12.19 0c-4.114 1.828-1.37 2.133.305 2.438 1.676.305 4.42 2.59 4.42 5.181v3.048H3.047A3.056 3.056 0 000 13.714v15.238A3.056 3.056 0 003.048 32h18.285a3.056 3.056 0 003.048-3.048V13.714a3.056 3.056 0 00-3.048-3.047zM12.19 24.533a3.056 3.056 0 01-3.047-3.047 3.056 3.056 0 013.047-3.048 3.056 3.056 0 013.048 3.048 3.056 3.056 0 01-3.048 3.047z"})})}function Ac({children:t,className:e,...a}){return K("button",{type:"button",className:Ke(["react-flow__controls-button",e]),...a,children:t})}var VH=t=>({isInteractive:t.nodesDraggable||t.nodesConnectable||t.elementsSelectable,minZoomReached:t.transform[2]<=t.minZoom,maxZoomReached:t.transform[2]>=t.maxZoom,ariaLabelConfig:t.ariaLabelConfig});function DI({style:t,showZoom:e=!0,showFitView:a=!0,showInteractive:o=!0,fitViewOptions:r,onZoomIn:n,onZoomOut:s,onFitView:i,onInteractiveChange:l,className:u,children:d,position:c="bottom-left",orientation:f="vertical","aria-label":h}){let p=Ue(),{isInteractive:m,minZoomReached:g,maxZoomReached:x,ariaLabelConfig:y}=we(VH,Ne),{zoomIn:b,zoomOut:C,fitView:I}=$i(),v=()=>{b(),n?.()},L=()=>{C(),s?.()},S=()=>{I(r),i?.()},k=()=>{p.setState({nodesDraggable:!m,nodesConnectable:!m,elementsSelectable:!m}),l?.(!m)};return wt(Dc,{className:Ke(["react-flow__controls",f==="horizontal"?"horizontal":"vertical",u]),position:c,style:t,"data-testid":"rf__controls","aria-label":h??y["controls.ariaLabel"],children:[e&&wt(ko,{children:[K(Ac,{onClick:v,className:"react-flow__controls-zoomin",title:y["controls.zoomIn.ariaLabel"],"aria-label":y["controls.zoomIn.ariaLabel"],disabled:x,children:K(HH,{})}),K(Ac,{onClick:L,className:"react-flow__controls-zoomout",title:y["controls.zoomOut.ariaLabel"],"aria-label":y["controls.zoomOut.ariaLabel"],disabled:g,children:K(zH,{})})]}),a&&K(Ac,{className:"react-flow__controls-fitview",onClick:S,title:y["controls.fitView.ariaLabel"],"aria-label":y["controls.fitView.ariaLabel"],children:K(qH,{})}),o&&K(Ac,{className:"react-flow__controls-interactive",onClick:k,title:y["controls.interactive.ariaLabel"],"aria-label":y["controls.interactive.ariaLabel"],children:m?K(WH,{}):K(UH,{})}),d]})}DI.displayName="Controls";var RI=tt(DI);function GH({id:t,x:e,y:a,width:o,height:r,style:n,color:s,strokeColor:i,strokeWidth:l,className:u,borderRadius:d,shapeRendering:c,selected:f,onClick:h}){let{background:p,backgroundColor:m}=n||{},g=s||p||m;return K("rect",{className:Ke(["react-flow__minimap-node",{selected:f},u]),x:e,y:a,rx:d,ry:d,width:o,height:r,style:{fill:g,stroke:i,strokeWidth:l},shapeRendering:c,onClick:h?x=>h(x,t):void 0})}var $H=tt(GH),XH=t=>t.nodes.map(e=>e.id),bg=t=>t instanceof Function?t:()=>t;function KH({nodeStrokeColor:t,nodeColor:e,nodeClassName:a="",nodeBorderRadius:o=5,nodeStrokeWidth:r,nodeComponent:n=$H,onClick:s}){let i=we(XH,Ne),l=bg(e),u=bg(t),d=bg(a),c=typeof window>"u"||window.chrome?"crispEdges":"geometricPrecision";return K(ko,{children:i.map(f=>K(ZH,{id:f,nodeColorFunc:l,nodeStrokeColorFunc:u,nodeClassNameFunc:d,nodeBorderRadius:o,nodeStrokeWidth:r,NodeComponent:n,onClick:s,shapeRendering:c},f))})}function jH({id:t,nodeColorFunc:e,nodeStrokeColorFunc:a,nodeClassNameFunc:o,nodeBorderRadius:r,nodeStrokeWidth:n,shapeRendering:s,NodeComponent:i,onClick:l}){let{node:u,x:d,y:c,width:f,height:h}=we(p=>{let m=p.nodeLookup.get(t);if(!m)return{node:void 0,x:0,y:0,width:0,height:0};let g=m.internals.userNode,{x,y}=m.internals.positionAbsolute,{width:b,height:C}=Ya(g);return{node:g,x,y,width:b,height:C}},Ne);return!u||u.hidden||!mc(u)?null:K(i,{x:d,y:c,width:f,height:h,style:u.style,selected:!!u.selected,className:o(u),color:e(u),borderRadius:r,strokeColor:a(u),strokeWidth:n,shapeRendering:s,onClick:l,id:u.id})}var ZH=tt(jH),YH=tt(KH),JH=200,QH=150,ez=t=>!t.hidden,tz=t=>{let e={x:-t.transform[0]/t.transform[2],y:-t.transform[1]/t.transform[2],width:t.width/t.transform[2],height:t.height/t.transform[2]};return{viewBB:e,boundingRect:t.nodeLookup.size>0?tg(ls(t.nodeLookup,{filter:ez}),e):e,rfId:t.rfId,panZoom:t.panZoom,translateExtent:t.translateExtent,flowWidth:t.width,flowHeight:t.height,ariaLabelConfig:t.ariaLabelConfig}},az="react-flow__minimap-desc";function TI({style:t,className:e,nodeStrokeColor:a,nodeColor:o,nodeClassName:r="",nodeBorderRadius:n=5,nodeStrokeWidth:s,nodeComponent:i,bgColor:l,maskColor:u,maskStrokeColor:d,maskStrokeWidth:c,position:f="bottom-right",onClick:h,onNodeClick:p,pannable:m=!1,zoomable:g=!1,ariaLabel:x,inversePan:y,zoomStep:b=1,offsetScale:C=5}){let I=Ue(),v=Ie(null),{boundingRect:L,viewBB:S,rfId:k,panZoom:z,translateExtent:A,flowWidth:P,flowHeight:H,ariaLabelConfig:M}=we(tz,Ne),T=t?.width??JH,R=t?.height??QH,E=L.width/T,q=L.height/R,B=Math.max(E,q),D=B*T,N=B*R,U=C*B,$=L.x-(D-L.width)/2-U,_=L.y-(N-L.height)/2-U,W=D+U*2,G=N+U*2,O=`${az}-${k}`,F=Ie(0),V=Ie();F.current=B,Re(()=>{if(v.current&&z)return V.current=lS({domNode:v.current,panZoom:z,getTransform:()=>I.getState().transform,getViewScale:()=>F.current}),()=>{V.current?.destroy()}},[z]),Re(()=>{V.current?.update({translateExtent:A,width:P,height:H,inversePan:y,pannable:m,zoomStep:b,zoomable:g})},[m,g,y,b,A,P,H]);let ie=h?ne=>{let[de,Se]=V.current?.pointer(ne)||[0,0];h(ne,{x:de,y:Se})}:void 0,le=p?eo((ne,de)=>{let Se=I.getState().nodeLookup.get(de).internals.userNode;p(ne,Se)},[]):void 0,J=x??M["minimap.ariaLabel"];return K(Dc,{position:f,style:{...t,"--xy-minimap-background-color-props":typeof l=="string"?l:void 0,"--xy-minimap-mask-background-color-props":typeof u=="string"?u:void 0,"--xy-minimap-mask-stroke-color-props":typeof d=="string"?d:void 0,"--xy-minimap-mask-stroke-width-props":typeof c=="number"?c*B:void 0,"--xy-minimap-node-background-color-props":typeof o=="string"?o:void 0,"--xy-minimap-node-stroke-color-props":typeof a=="string"?a:void 0,"--xy-minimap-node-stroke-width-props":typeof s=="number"?s:void 0},className:Ke(["react-flow__minimap",e]),"data-testid":"rf__minimap",children:wt("svg",{width:T,height:R,viewBox:`${$} ${_} ${W} ${G}`,className:"react-flow__minimap-svg",role:"img","aria-labelledby":O,ref:v,onClick:ie,children:[J&&K("title",{id:O,children:J}),K(YH,{onClick:le,nodeColor:o,nodeStrokeColor:a,nodeBorderRadius:n,nodeClassName:r,nodeStrokeWidth:s,nodeComponent:i}),K("path",{className:"react-flow__minimap-mask",d:`M${$-U},${_-U}h${W+U*2}v${G+U*2}h${-W-U*2}z
27
+ M${S.x},${S.y}h${S.width}v${S.height}h${-S.width}z`,fillRule:"evenodd",pointerEvents:"none"})]})})}TI.displayName="MiniMap";var nZ=tt(TI),oz=t=>e=>t?`${Math.max(1/e.transform[2],1)}`:void 0,rz={[tr.Line]:"right",[tr.Handle]:"bottom-right"};function nz({nodeId:t,position:e,variant:a=tr.Handle,className:o,style:r=void 0,children:n,color:s,minWidth:i=10,minHeight:l=10,maxWidth:u=Number.MAX_VALUE,maxHeight:d=Number.MAX_VALUE,keepAspectRatio:c=!1,resizeDirection:f,autoScale:h=!0,shouldResize:p,onResizeStart:m,onResize:g,onResizeEnd:x}){let y=sI(),b=typeof t=="string"?t:y,C=Ue(),I=Ie(null),v=a===tr.Handle,L=we(eo(oz(v&&h),[v,h]),Ne),S=Ie(null),k=e??rz[a];Re(()=>{if(!(!I.current||!b))return S.current||(S.current=hS({domNode:I.current,nodeId:b,getStoreItems:()=>{let{nodeLookup:A,transform:P,snapGrid:H,snapToGrid:M,nodeOrigin:T,domNode:R}=C.getState();return{nodeLookup:A,transform:P,snapGrid:H,snapToGrid:M,nodeOrigin:T,paneDomNode:R}},onChange:(A,P)=>{let{triggerNodeChanges:H,nodeLookup:M,parentLookup:T,nodeOrigin:R}=C.getState(),E=[],q={x:A.x,y:A.y},B=M.get(b);if(B&&B.expandParent&&B.parentId){let D=B.origin??R,N=A.width??B.measured.width??0,U=A.height??B.measured.height??0,$={id:B.id,parentId:B.parentId,rect:{width:N,height:U,...rg({x:A.x??B.position.x,y:A.y??B.position.y},{width:N,height:U},B.parentId,M,D)}},_=Cc([$],M,T,R);E.push(..._),q.x=A.x?Math.max(D[0]*N,A.x):void 0,q.y=A.y?Math.max(D[1]*U,A.y):void 0}if(q.x!==void 0&&q.y!==void 0){let D={id:b,type:"position",position:{...q}};E.push(D)}if(A.width!==void 0&&A.height!==void 0){let N={id:b,type:"dimensions",resizing:!0,setAttributes:f?f==="horizontal"?"width":"height":!0,dimensions:{width:A.width,height:A.height}};E.push(N)}for(let D of P){let N={...D,type:"position"};E.push(N)}H(E)},onEnd:({width:A,height:P})=>{let H={id:b,type:"dimensions",resizing:!1,dimensions:{width:A,height:P}};C.getState().triggerNodeChanges([H])}})),S.current.update({controlPosition:k,boundaries:{minWidth:i,minHeight:l,maxWidth:u,maxHeight:d},keepAspectRatio:c,resizeDirection:f,onResizeStart:m,onResize:g,onResizeEnd:x,shouldResize:p}),()=>{S.current?.destroy()}},[k,i,l,u,d,c,m,g,x,p]);let z=k.split("-");return K("div",{className:Ke(["react-flow__resize-control","nodrag",...z,a,o]),ref:I,style:{...r,scale:L,...s&&{[v?"backgroundColor":"borderColor"]:s}},children:n})}var sZ=tt(nz);import{forwardRef as dz,createElement as cz}from"react";var Ec=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var EI=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var BI=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var vg=t=>{let e=BI(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as uz,createElement as NI}from"react";var Bc={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var FI=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as sz,useContext as iz,useMemo as xZ,createElement as bZ}from"react";var lz=sz({});var OI=()=>iz(lz);var _I=uz(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:c=!1,color:f="currentColor",className:h=""}=OI()??{},p=o??c?Number(a??d)*24/Number(e??u):a??d;return NI("svg",{ref:l,...Bc,width:e??u??Bc.width,height:e??u??Bc.height,stroke:t??f,strokeWidth:p,className:Ec("lucide",h,r),...!n&&!FI(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>NI(m,g)),...Array.isArray(n)?n:[n]])});var ar=(t,e)=>{let a=dz(({className:o,...r},n)=>cz(_I,{ref:n,iconNode:e,className:Ec(`lucide-${EI(vg(t))}`,`lucide-${t}`,o),...r}));return a.displayName=vg(t),a};var fz=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Xi=ar("database",fz);var hz=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],Ki=ar("file-text",hz);var pz=[["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"}]],ji=ar("key-round",pz);var mz=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],Zi=ar("link-2",mz);import{Fragment as Sk,jsx as Vt,jsxs as ao}from"react/jsx-runtime";var JI=Object.defineProperty,gz=(t,e,a)=>e in t?JI(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a,xz=(t,e)=>{for(var a in e)JI(t,a,{get:e[a],enumerable:!0})},bz=(t,e,a)=>gz(t,typeof e!="symbol"?e+"":e,a),QI={};xz(QI,{Graph:()=>ga,alg:()=>Rg,json:()=>tk,version:()=>Lz});var wz=Object.defineProperty,ek=(t,e)=>{for(var a in e)wz(t,a,{get:e[a],enumerable:!0})},ga=class{constructor(t){this._isDirected=!0,this._isMultigraph=!1,this._isCompound=!1,this._nodes={},this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={},this._nodeCount=0,this._edgeCount=0,this._defaultNodeLabelFn=()=>{},this._defaultEdgeLabelFn=()=>{},t&&(this._isDirected="directed"in t?t.directed:!0,this._isMultigraph="multigraph"in t?t.multigraph:!1,this._isCompound="compound"in t?t.compound:!1),this._isCompound&&(this._parent={},this._children={},this._children["\0"]={})}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return typeof t!="function"?this._defaultNodeLabelFn=()=>t:this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return Object.keys(this._nodes)}sources(){return this.nodes().filter(t=>Object.keys(this._in[t]).length===0)}sinks(){return this.nodes().filter(t=>Object.keys(this._out[t]).length===0)}setNodes(t,e){return t.forEach(a=>{e!==void 0?this.setNode(a,e):this.setNode(a)}),this}setNode(t,e){return t in this._nodes?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]="\0",this._children[t]={},this._children["\0"][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return t in this._nodes}removeNode(t){if(t in this._nodes){let e=a=>this.removeEdge(this._edgeObjs[a]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],this.children(t).forEach(a=>{this.setParent(a)}),delete this._children[t]),Object.keys(this._in[t]).forEach(e),delete this._in[t],delete this._preds[t],Object.keys(this._out[t]).forEach(e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(e===void 0)e="\0";else{e+="";for(let a=e;a!==void 0;a=this.parent(a))if(a===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}parent(t){if(this._isCompound){let e=this._parent[t];if(e!=="\0")return e}}children(t="\0"){if(this._isCompound){let e=this._children[t];if(e)return Object.keys(e)}else{if(t==="\0")return this.nodes();if(this.hasNode(t))return[]}return[]}predecessors(t){let e=this._preds[t];if(e)return Object.keys(e)}successors(t){let e=this._sucs[t];if(e)return Object.keys(e)}neighbors(t){let e=this.predecessors(t);if(e){let a=new Set(e);for(let o of this.successors(t))a.add(o);return Array.from(a.values())}}isLeaf(t){let e;return this.isDirected()?e=this.successors(t):e=this.neighbors(t),e.length===0}filterNodes(t){let e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph()),Object.entries(this._nodes).forEach(([r,n])=>{t(r)&&e.setNode(r,n)}),Object.values(this._edgeObjs).forEach(r=>{e.hasNode(r.v)&&e.hasNode(r.w)&&e.setEdge(r,this.edge(r))});let a={},o=r=>{let n=this.parent(r);return!n||e.hasNode(n)?(a[r]=n??void 0,n??void 0):n in a?a[n]:o(n)};return this._isCompound&&e.nodes().forEach(r=>e.setParent(r,o(r))),e}setDefaultEdgeLabel(t){return typeof t!="function"?this._defaultEdgeLabelFn=()=>t:this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return Object.values(this._edgeObjs)}setPath(t,e){return t.reduce((a,o)=>(e!==void 0?this.setEdge(a,o,e):this.setEdge(a,o),o)),this}setEdge(t,e,a,o){let r,n,s,i,l=!1;typeof t=="object"&&t!==null&&"v"in t?(r=t.v,n=t.w,s=t.name,arguments.length===2&&(i=e,l=!0)):(r=t,n=e,s=o,arguments.length>2&&(i=a,l=!0)),r=""+r,n=""+n,s!==void 0&&(s=""+s);let u=Yi(this._isDirected,r,n,s);if(u in this._edgeLabels)return l&&(this._edgeLabels[u]=i),this;if(s!==void 0&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(r),this.setNode(n),this._edgeLabels[u]=l?i:this._defaultEdgeLabelFn(r,n,s);let d=yz(this._isDirected,r,n,s);return r=d.v,n=d.w,Object.freeze(d),this._edgeObjs[u]=d,HI(this._preds[n],r),HI(this._sucs[r],n),this._in[n][u]=d,this._out[r][u]=d,this._edgeCount++,this}edge(t,e,a){let o=arguments.length===1?Sg(this._isDirected,t):Yi(this._isDirected,t,e,a);return this._edgeLabels[o]}edgeAsObj(t,e,a){let o=arguments.length===1?this.edge(t):this.edge(t,e,a);return typeof o!="object"?{label:o}:o}hasEdge(t,e,a){return(arguments.length===1?Sg(this._isDirected,t):Yi(this._isDirected,t,e,a))in this._edgeLabels}removeEdge(t,e,a){let o=arguments.length===1?Sg(this._isDirected,t):Yi(this._isDirected,t,e,a),r=this._edgeObjs[o];if(r){let n=r.v,s=r.w;delete this._edgeLabels[o],delete this._edgeObjs[o],zI(this._preds[s],n),zI(this._sucs[n],s),delete this._in[s][o],delete this._out[n][o],this._edgeCount--}return this}inEdges(t,e){return this.isDirected()?this.filterEdges(this._in[t],t,e):this.nodeEdges(t,e)}outEdges(t,e){return this.isDirected()?this.filterEdges(this._out[t],t,e):this.nodeEdges(t,e)}nodeEdges(t,e){if(t in this._nodes)return this.filterEdges({...this._in[t],...this._out[t]},t,e)}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}filterEdges(t,e,a){if(!t)return;let o=Object.values(t);return a?o.filter(r=>r.v===e&&r.w===a||r.v===a&&r.w===e):o}};function HI(t,e){t[e]?t[e]++:t[e]=1}function zI(t,e){t[e]!==void 0&&!--t[e]&&delete t[e]}function Yi(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let s=r;r=n,n=s}return r+""+n+""+(o===void 0?"\0":o)}function yz(t,e,a,o){let r=""+e,n=""+a;if(!t&&r>n){let i=r;r=n,n=i}let s={v:r,w:n};return o&&(s.name=o),s}function Sg(t,e){return Yi(t,e.v,e.w,e.name)}var Lz="4.0.1",tk={};ek(tk,{read:()=>Iz,write:()=>Cz});function Cz(t){let e={options:{directed:t.isDirected(),multigraph:t.isMultigraph(),compound:t.isCompound()},nodes:vz(t),edges:Sz(t)},a=t.graph();return a!==void 0&&(e.value=structuredClone(a)),e}function vz(t){return t.nodes().map(e=>{let a=t.node(e),o=t.parent(e),r={v:e};return a!==void 0&&(r.value=a),o!==void 0&&(r.parent=o),r})}function Sz(t){return t.edges().map(e=>{let a=t.edge(e),o={v:e.v,w:e.w};return e.name!==void 0&&(o.name=e.name),a!==void 0&&(o.value=a),o})}function Iz(t){let e=new ga(t.options);return t.value!==void 0&&e.setGraph(t.value),t.nodes.forEach(a=>{e.setNode(a.v,a.value),a.parent&&e.setParent(a.v,a.parent)}),t.edges.forEach(a=>{e.setEdge({v:a.v,w:a.w,name:a.name},a.value)}),e}var Rg={};ek(Rg,{CycleException:()=>Oc,bellmanFord:()=>ak,components:()=>Mz,dijkstra:()=>Fc,dijkstraAll:()=>Rz,findCycles:()=>Tz,floydWarshall:()=>Bz,isAcyclic:()=>Oz,postorder:()=>_z,preorder:()=>Hz,prim:()=>zz,shortestPaths:()=>qz,tarjan:()=>rk,topsort:()=>nk});var kz=()=>1;function ak(t,e,a,o){return Az(t,String(e),a||kz,o||function(r){return t.outEdges(r)})}function Az(t,e,a,o){let r={},n,s=0,i=t.nodes(),l=function(c){let f=a(c);r[c.v].distance+f<r[c.w].distance&&(r[c.w]={distance:r[c.v].distance+f,predecessor:c.v},n=!0)},u=function(){i.forEach(function(c){o(c).forEach(function(f){let h=f.v===c?f.v:f.w,p=h===f.v?f.w:f.v;l({v:h,w:p})})})};i.forEach(function(c){let f=c===e?0:Number.POSITIVE_INFINITY;r[c]={distance:f,predecessor:""}});let d=i.length;for(let c=1;c<d&&(n=!1,s++,u(),!!n);c++);if(s===d-1&&(n=!1,u(),n))throw new Error("The graph contains a negative weight cycle");return r}function Mz(t){let e={},a=[],o;function r(n){n in e||(e[n]=!0,o.push(n),t.successors(n).forEach(r),t.predecessors(n).forEach(r))}return t.nodes().forEach(function(n){o=[],r(n),o.length&&a.push(o)}),a}var ok=class{constructor(){this._arr=[],this._keyIndices={}}size(){return this._arr.length}keys(){return this._arr.map(t=>t.key)}has(t){return t in this._keyIndices}priority(t){let e=this._keyIndices[t];if(e!==void 0)return this._arr[e].priority}min(){if(this.size()===0)throw new Error("Queue underflow");return this._arr[0].key}add(t,e){let a=this._keyIndices,o=String(t);if(!(o in a)){let r=this._arr,n=r.length;return a[o]=n,r.push({key:o,priority:e}),this._decrease(n),!0}return!1}removeMin(){this._swap(0,this._arr.length-1);let t=this._arr.pop();return delete this._keyIndices[t.key],this._heapify(0),t.key}decrease(t,e){let a=this._keyIndices[t];if(a===void 0)throw new Error(`Key not found: ${t}`);let o=this._arr[a].priority;if(e>o)throw new Error(`New priority is greater than current priority. Key: ${t} Old: ${o} New: ${e}`);this._arr[a].priority=e,this._decrease(a)}_heapify(t){let e=this._arr,a=2*t,o=a+1,r=t;a<e.length&&(r=e[a].priority<e[r].priority?a:r,o<e.length&&(r=e[o].priority<e[r].priority?o:r),r!==t&&(this._swap(t,r),this._heapify(r)))}_decrease(t){let e=this._arr,a=e[t].priority,o;for(;t!==0&&(o=t>>1,!(e[o].priority<a));)this._swap(t,o),t=o}_swap(t,e){let a=this._arr,o=this._keyIndices,r=a[t],n=a[e];a[t]=n,a[e]=r,o[n.key]=t,o[r.key]=e}},Pz=()=>1;function Fc(t,e,a,o){let r=function(n){return t.outEdges(n)};return Dz(t,String(e),a||Pz,o||r)}function Dz(t,e,a,o){let r={},n=new ok,s,i,l=function(u){let d=u.v!==s?u.v:u.w,c=r[d],f=a(u),h=i.distance+f;if(f<0)throw new Error("dijkstra does not allow negative edge weights. Bad edge: "+u+" Weight: "+f);h<c.distance&&(c.distance=h,c.predecessor=s,n.decrease(d,h))};for(t.nodes().forEach(function(u){let d=u===e?0:Number.POSITIVE_INFINITY;r[u]={distance:d,predecessor:""},n.add(u,d)});n.size()>0&&(s=n.removeMin(),i=r[s],i.distance!==Number.POSITIVE_INFINITY);)o(s).forEach(l);return r}function Rz(t,e,a){return t.nodes().reduce(function(o,r){return o[r]=Fc(t,r,e,a),o},{})}function rk(t){let e=0,a=[],o={},r=[];function n(s){let i=o[s]={onStack:!0,lowlink:e,index:e++};if(a.push(s),t.successors(s).forEach(function(l){l in o?o[l].onStack&&(i.lowlink=Math.min(i.lowlink,o[l].index)):(n(l),i.lowlink=Math.min(i.lowlink,o[l].lowlink))}),i.lowlink===i.index){let l=[],u;do u=a.pop(),o[u].onStack=!1,l.push(u);while(s!==u);r.push(l)}}return t.nodes().forEach(function(s){s in o||n(s)}),r}function Tz(t){return rk(t).filter(function(e){return e.length>1||e.length===1&&t.hasEdge(e[0],e[0])})}var Ez=()=>1;function Bz(t,e,a){return Fz(t,e||Ez,a||function(o){return t.outEdges(o)})}function Fz(t,e,a){let o={},r=t.nodes();return r.forEach(function(n){o[n]={},o[n][n]={distance:0,predecessor:""},r.forEach(function(s){n!==s&&(o[n][s]={distance:Number.POSITIVE_INFINITY,predecessor:""})}),a(n).forEach(function(s){let i=s.v===n?s.w:s.v,l=e(s);o[n][i]={distance:l,predecessor:n}})}),r.forEach(function(n){let s=o[n];r.forEach(function(i){let l=o[i];r.forEach(function(u){let d=l[n],c=s[u],f=l[u],h=d.distance+c.distance;h<f.distance&&(f.distance=h,f.predecessor=c.predecessor)})})}),o}var Oc=class extends Error{constructor(...t){super(...t)}};function nk(t){let e={},a={},o=[];function r(n){if(n in a)throw new Oc;n in e||(a[n]=!0,e[n]=!0,t.predecessors(n).forEach(r),delete a[n],o.push(n))}if(t.sinks().forEach(r),Object.keys(e).length!==t.nodeCount())throw new Oc;return o}function Oz(t){try{nk(t)}catch(e){if(e instanceof Oc)return!1;throw e}return!0}function Nz(t,e,a,o,r){Array.isArray(e)||(e=[e]);let n=(i=>{var l;return(l=t.isDirected()?t.successors(i):t.neighbors(i))!=null?l:[]}),s={};return e.forEach(function(i){if(!t.hasNode(i))throw new Error("Graph does not have node: "+i);r=sk(t,i,a==="post",s,n,o,r)}),r}function sk(t,e,a,o,r,n,s){return e in o||(o[e]=!0,a||(s=n(s,e)),r(e).forEach(function(i){s=sk(t,i,a,o,r,n,s)}),a&&(s=n(s,e))),s}function ik(t,e,a){return Nz(t,e,a,function(o,r){return o.push(r),o},[])}function _z(t,e){return ik(t,e,"post")}function Hz(t,e){return ik(t,e,"pre")}function zz(t,e){let a=new ga,o={},r=new ok,n;function s(l){let u=l.v===n?l.w:l.v,d=r.priority(u);if(d!==void 0){let c=e(l);c<d&&(o[u]=n,r.decrease(u,c))}}if(t.nodeCount()===0)return a;t.nodes().forEach(function(l){r.add(l,Number.POSITIVE_INFINITY),a.setNode(l)}),r.decrease(t.nodes()[0],0);let i=!1;for(;r.size()>0;){if(n=r.removeMin(),n in o)a.setEdge(n,o[n]);else{if(i)throw new Error("Input graph is not connected: "+t);i=!0}t.nodeEdges(n).forEach(s)}return a}function qz(t,e,a,o){return Uz(t,e,a,o??(r=>{let n=t.outEdges(r);return n??[]}))}function Uz(t,e,a,o){if(a===void 0)return Fc(t,e,a,o);let r=!1,n=t.nodes();for(let s=0;s<n.length;s++){let i=o(n[s]);for(let l=0;l<i.length;l++){let u=i[l],d=u.v===n[s]?u.v:u.w,c=d===u.v?u.w:u.v;a({v:d,w:c})<0&&(r=!0)}if(r)return ak(t,e,a,o)}return Fc(t,e,a,o)}function ms(t,e,a,o){let r=o;for(;t.hasNode(r);)r=Tg(o);return a.dummy=e,t.setNode(r,a),r}function Wz(t){let e=new ga().setGraph(t.graph());return t.nodes().forEach(a=>e.setNode(a,t.node(a))),t.edges().forEach(a=>{let o=e.edge(a.v,a.w)||{weight:0,minlen:1},r=t.edge(a);e.setEdge(a.v,a.w,{weight:o.weight+r.weight,minlen:Math.max(o.minlen,r.minlen)})}),e}function lk(t){let e=new ga({multigraph:t.isMultigraph()}).setGraph(t.graph());return t.nodes().forEach(a=>{t.children(a).length||e.setNode(a,t.node(a))}),t.edges().forEach(a=>{e.setEdge(a,t.edge(a))}),e}function qI(t,e){let a=t.x,o=t.y,r=e.x-a,n=e.y-o,s=t.width/2,i=t.height/2;if(!r&&!n)throw new Error("Not possible to find intersection inside of the rectangle");let l,u;return Math.abs(n)*s>Math.abs(r)*i?(n<0&&(i=-i),l=i*r/n,u=i):(r<0&&(s=-s),l=s,u=s*n/r),{x:a+l,y:o+u}}function Qi(t){let e=Ji(dk(t)+1).map(()=>[]);return t.nodes().forEach(a=>{let o=t.node(a),r=o.rank;r!==void 0&&(e[r]||(e[r]=[]),e[r][o.order]=a)}),e}function Vz(t){let e=t.nodes().map(o=>{let r=t.node(o).rank;return r===void 0?Number.MAX_VALUE:r}),a=to(Math.min,e);t.nodes().forEach(o=>{let r=t.node(o);Object.hasOwn(r,"rank")&&(r.rank-=a)})}function Gz(t){let e=t.nodes().map(s=>t.node(s).rank).filter(s=>s!==void 0),a=to(Math.min,e),o=[];t.nodes().forEach(s=>{let i=t.node(s).rank-a;o[i]||(o[i]=[]),o[i].push(s)});let r=0,n=t.graph().nodeRankFactor;Array.from(o).forEach((s,i)=>{s===void 0&&i%n!==0?--r:s!==void 0&&r&&s.forEach(l=>t.node(l).rank+=r)})}function UI(t,e,a,o){let r={width:0,height:0};return arguments.length>=4&&(r.rank=a,r.order=o),ms(t,"border",r,e)}function $z(t,e=uk){let a=[];for(let o=0;o<t.length;o+=e){let r=t.slice(o,o+e);a.push(r)}return a}var uk=65535;function to(t,e){if(e.length>uk){let a=$z(e);return t(...a.map(o=>t(...o)))}else return t(...e)}function dk(t){let e=t.nodes().map(a=>{let o=t.node(a).rank;return o===void 0?Number.MIN_VALUE:o});return to(Math.max,e)}function Xz(t,e){let a={lhs:[],rhs:[]};return t.forEach(o=>{e(o)?a.lhs.push(o):a.rhs.push(o)}),a}function ck(t,e){let a=Date.now();try{return e()}finally{console.log(t+" time: "+(Date.now()-a)+"ms")}}function fk(t,e){return e()}var Kz=0;function Tg(t){let e=++Kz;return t+(""+e)}function Ji(t,e,a=1){e==null&&(e=t,t=0);let o=n=>n<e;a<0&&(o=n=>e<n);let r=[];for(let n=t;o(n);n+=a)r.push(n);return r}function Nc(t,e){let a={};for(let o of e)t[o]!==void 0&&(a[o]=t[o]);return a}function _c(t,e){let a;return typeof e=="string"?a=o=>o[e]:a=e,Object.entries(t).reduce((o,[r,n])=>(o[r]=a(n,r),o),{})}function jz(t,e){return t.reduce((a,o,r)=>(a[o]=e[r],a),{})}var Hc="\0",Zz="3.0.0",Yz=class{constructor(){bz(this,"_sentinel");let t={};t._next=t._prev=t,this._sentinel=t}dequeue(){let t=this._sentinel,e=t._prev;if(e!==t)return WI(e),e}enqueue(t){let e=this._sentinel;t._prev&&t._next&&WI(t),t._next=e._next,e._next._prev=t,e._next=t,t._prev=e}toString(){let t=[],e=this._sentinel,a=e._prev;for(;a!==e;)t.push(JSON.stringify(a,Jz)),a=a._prev;return"["+t.join(", ")+"]"}};function WI(t){t._prev._next=t._next,t._next._prev=t._prev,delete t._next,delete t._prev}function Jz(t,e){if(t!=="_next"&&t!=="_prev")return e}var Qz=Yz,eq=()=>1;function tq(t,e){if(t.nodeCount()<=1)return[];let a=oq(t,e||eq);return aq(a.graph,a.buckets,a.zeroIdx).flatMap(o=>t.outEdges(o.v,o.w)||[])}function aq(t,e,a){var o;let r=[],n=e[e.length-1],s=e[0],i;for(;t.nodeCount();){for(;i=s.dequeue();)Ig(t,e,a,i);for(;i=n.dequeue();)Ig(t,e,a,i);if(t.nodeCount()){for(let l=e.length-2;l>0;--l)if(i=(o=e[l])==null?void 0:o.dequeue(),i){r=r.concat(Ig(t,e,a,i,!0)||[]);break}}}return r}function Ig(t,e,a,o,r){let n=[],s=r?n:void 0;return(t.inEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=t.node(i.v);r&&n.push({v:i.v,w:i.w}),u.out-=l,Dg(e,a,u)}),(t.outEdges(o.v)||[]).forEach(i=>{let l=t.edge(i),u=i.w,d=t.node(u);d.in-=l,Dg(e,a,d)}),t.removeNode(o.v),s}function oq(t,e){let a=new ga,o=0,r=0;t.nodes().forEach(i=>{a.setNode(i,{v:i,in:0,out:0})}),t.edges().forEach(i=>{let l=a.edge(i.v,i.w)||0,u=e(i),d=l+u;a.setEdge(i.v,i.w,d);let c=a.node(i.v),f=a.node(i.w);r=Math.max(r,c.out+=u),o=Math.max(o,f.in+=u)});let n=rq(r+o+3).map(()=>new Qz),s=o+1;return a.nodes().forEach(i=>{Dg(n,s,a.node(i))}),{graph:a,buckets:n,zeroIdx:s}}function Dg(t,e,a){var o,r,n;a.out?a.in?(n=t[a.out-a.in+e])==null||n.enqueue(a):(r=t[t.length-1])==null||r.enqueue(a):(o=t[0])==null||o.enqueue(a)}function rq(t){let e=[];for(let a=0;a<t;a++)e.push(a);return e}function nq(t){(t.graph().acyclicer==="greedy"?tq(t,e(t)):sq(t)).forEach(a=>{let o=t.edge(a);t.removeEdge(a),o.forwardName=a.name,o.reversed=!0,t.setEdge(a.w,a.v,o,Tg("rev"))});function e(a){return o=>a.edge(o).weight}}function sq(t){let e=[],a={},o={};function r(n){Object.hasOwn(o,n)||(o[n]=!0,a[n]=!0,t.outEdges(n).forEach(s=>{Object.hasOwn(a,s.w)?e.push(s):r(s.w)}),delete a[n])}return t.nodes().forEach(r),e}function iq(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.reversed){t.removeEdge(e);let o=a.forwardName;delete a.reversed,delete a.forwardName,t.setEdge(e.w,e.v,a,o)}})}function lq(t){t.graph().dummyChains=[],t.edges().forEach(e=>uq(t,e))}function uq(t,e){let a=e.v,o=t.node(a).rank,r=e.w,n=t.node(r).rank,s=e.name,i=t.edge(e),l=i.labelRank;if(n===o+1)return;t.removeEdge(e);let u,d,c;for(c=0,++o;o<n;++c,++o)i.points=[],d={width:0,height:0,edgeLabel:i,edgeObj:e,rank:o},u=ms(t,"edge",d,"_d"),o===l&&(d.width=i.width,d.height=i.height,d.dummy="edge-label",d.labelpos=i.labelpos),t.setEdge(a,u,{weight:i.weight},s),c===0&&t.graph().dummyChains.push(u),a=u;t.setEdge(a,r,{weight:i.weight},s)}function dq(t){t.graph().dummyChains.forEach(e=>{let a=t.node(e),o=a.edgeLabel,r;for(t.setEdge(a.edgeObj,o);a.dummy;)r=t.successors(e)[0],t.removeNode(e),o.points.push({x:a.x,y:a.y}),a.dummy==="edge-label"&&(o.x=a.x,o.y=a.y,o.width=a.width,o.height=a.height),e=r,a=t.node(e)})}function Eg(t){let e={};function a(o){let r=t.node(o);if(Object.hasOwn(e,o))return r.rank;e[o]=!0;let n=t.outEdges(o),s=n?n.map(l=>l==null?Number.POSITIVE_INFINITY:a(l.w)-t.edge(l).minlen):[],i=to(Math.min,s);return i===Number.POSITIVE_INFINITY&&(i=0),r.rank=i}t.sources().forEach(a)}function ps(t,e){return t.node(e.w).rank-t.node(e.v).rank-t.edge(e).minlen}var hk=cq;function cq(t){let e=new ga({directed:!1}),a=t.nodes();if(a.length===0)throw new Error("Graph must have at least one node");let o=a[0],r=t.nodeCount();e.setNode(o,{});let n,s;for(;fq(e,t)<r&&(n=hq(e,t),!!n);)s=e.hasNode(n.v)?ps(t,n):-ps(t,n),pq(e,t,s);return e}function fq(t,e){function a(o){let r=e.nodeEdges(o);r&&r.forEach(n=>{let s=n.v,i=o===s?n.w:s;!t.hasNode(i)&&!ps(e,n)&&(t.setNode(i,{}),t.setEdge(o,i,{}),a(i))})}return t.nodes().forEach(a),t.nodeCount()}function hq(t,e){return e.edges().reduce((a,o)=>{let r=Number.POSITIVE_INFINITY;return t.hasNode(o.v)!==t.hasNode(o.w)&&(r=ps(e,o)),r<a[0]?[r,o]:a},[Number.POSITIVE_INFINITY,null])[1]}function pq(t,e,a){t.nodes().forEach(o=>e.node(o).rank+=a)}var{preorder:mq,postorder:gq}=Rg,xq=sn;sn.initLowLimValues=Fg;sn.initCutValues=Bg;sn.calcCutValue=pk;sn.leaveEdge=gk;sn.enterEdge=xk;sn.exchangeEdges=bk;function sn(t){t=Wz(t),Eg(t);let e=hk(t);Fg(e),Bg(e,t);let a,o;for(;a=gk(e);)o=xk(e,t,a),bk(e,t,a,o)}function Bg(t,e){let a=gq(t,t.nodes());a=a.slice(0,a.length-1),a.forEach(o=>bq(t,e,o))}function bq(t,e,a){let o=t.node(a).parent,r=t.edge(a,o);r.cutvalue=pk(t,e,a)}function pk(t,e,a){let o=t.node(a).parent,r=!0,n=e.edge(a,o),s=0;n||(r=!1,n=e.edge(o,a)),s=n.weight;let i=e.nodeEdges(a);return i&&i.forEach(l=>{let u=l.v===a,d=u?l.w:l.v;if(d!==o){let c=u===r,f=e.edge(l).weight;if(s+=c?f:-f,yq(t,a,d)){let h=t.edge(a,d).cutvalue;s+=c?-h:h}}}),s}function Fg(t,e){arguments.length<2&&(e=t.nodes()[0]),mk(t,{},1,e)}function mk(t,e,a,o,r){let n=a,s=t.node(o);e[o]=!0;let i=t.neighbors(o);return i&&i.forEach(l=>{Object.hasOwn(e,l)||(a=mk(t,e,a,l,o))}),s.low=n,s.lim=a++,r?s.parent=r:delete s.parent,a}function gk(t){return t.edges().find(e=>t.edge(e).cutvalue<0)}function xk(t,e,a){let o=a.v,r=a.w;e.hasEdge(o,r)||(o=a.w,r=a.v);let n=t.node(o),s=t.node(r),i=n,l=!1;return n.lim>s.lim&&(i=s,l=!0),e.edges().filter(u=>l===VI(t,t.node(u.v),i)&&l!==VI(t,t.node(u.w),i)).reduce((u,d)=>ps(e,d)<ps(e,u)?d:u)}function bk(t,e,a,o){let r=a.v,n=a.w;t.removeEdge(r,n),t.setEdge(o.v,o.w,{}),Fg(t),Bg(t,e),wq(t,e)}function wq(t,e){let a=t.nodes().find(r=>!t.node(r).parent);if(!a)return;let o=mq(t,[a]);o=o.slice(1),o.forEach(r=>{let n=t.node(r).parent,s=e.edge(r,n),i=!1;s||(s=e.edge(n,r),i=!0),e.node(r).rank=e.node(n).rank+(i?s.minlen:-s.minlen)})}function yq(t,e,a){return t.hasEdge(e,a)}function VI(t,e,a){return a.low<=e.lim&&e.lim<=a.lim}var Lq=Cq;function Cq(t){let e=t.graph().ranker;if(typeof e=="function")return e(t);switch(e){case"network-simplex":GI(t);break;case"tight-tree":Sq(t);break;case"longest-path":vq(t);break;case"none":break;default:GI(t)}}var vq=Eg;function Sq(t){Eg(t),hk(t)}function GI(t){xq(t)}var Iq=kq;function kq(t){let e=Mq(t);t.graph().dummyChains.forEach(a=>{let o=t.node(a),r=o.edgeObj,n=Aq(t,e,r.v,r.w),s=n.path,i=n.lca,l=0,u=s[l],d=!0;for(;a!==r.w;){if(o=t.node(a),d){for(;(u=s[l])!==i&&t.node(u).maxRank<o.rank;)l++;u===i&&(d=!1)}if(!d){for(;l<s.length-1&&t.node(s[l+1]).minRank<=o.rank;)l++;u=s[l]}u!==void 0&&t.setParent(a,u),a=t.successors(a)[0]}})}function Aq(t,e,a,o){let r=[],n=[],s=Math.min(e[a].low,e[o].low),i=Math.max(e[a].lim,e[o].lim),l;l=a;do l=t.parent(l),r.push(l);while(l&&(e[l].low>s||i>e[l].lim));let u=l,d=o;for(;(d=t.parent(d))!==u;)n.push(d);return{path:r.concat(n.reverse()),lca:u}}function Mq(t){let e={},a=0;function o(r){let n=a;t.children(r).forEach(o),e[r]={low:n,lim:a++}}return t.children(Hc).forEach(o),e}function Pq(t){let e=ms(t,"root",{},"_root"),a=Dq(t),o=Object.values(a),r=to(Math.max,o)-1,n=2*r+1;t.graph().nestingRoot=e,t.edges().forEach(i=>t.edge(i).minlen*=n);let s=Rq(t)+1;t.children(Hc).forEach(i=>wk(t,e,n,s,r,a,i)),t.graph().nodeRankFactor=n}function wk(t,e,a,o,r,n,s){var i;let l=t.children(s);if(!l.length){s!==e&&t.setEdge(e,s,{weight:0,minlen:a});return}let u=UI(t,"_bt"),d=UI(t,"_bb"),c=t.node(s);t.setParent(u,s),c.borderTop=u,t.setParent(d,s),c.borderBottom=d,l.forEach(f=>{var h;wk(t,e,a,o,r,n,f);let p=t.node(f),m=p.borderTop?p.borderTop:f,g=p.borderBottom?p.borderBottom:f,x=p.borderTop?o:2*o,y=m!==g?1:r-((h=n[s])!=null?h:0)+1;t.setEdge(u,m,{weight:x,minlen:y,nestingEdge:!0}),t.setEdge(g,d,{weight:x,minlen:y,nestingEdge:!0})}),t.parent(s)||t.setEdge(e,u,{weight:0,minlen:r+((i=n[s])!=null?i:0)})}function Dq(t){let e={};function a(o,r){let n=t.children(o);n&&n.length&&n.forEach(s=>a(s,r+1)),e[o]=r}return t.children(Hc).forEach(o=>a(o,1)),e}function Rq(t){return t.edges().reduce((e,a)=>e+t.edge(a).weight,0)}function Tq(t){let e=t.graph();t.removeNode(e.nestingRoot),delete e.nestingRoot,t.edges().forEach(a=>{t.edge(a).nestingEdge&&t.removeEdge(a)})}var Eq=Bq;function Bq(t){function e(a){let o=t.children(a),r=t.node(a);if(o.length&&o.forEach(e),Object.hasOwn(r,"minRank")){r.borderLeft=[],r.borderRight=[];for(let n=r.minRank,s=r.maxRank+1;n<s;++n)$I(t,"borderLeft","_bl",a,r,n),$I(t,"borderRight","_br",a,r,n)}}t.children(Hc).forEach(e)}function $I(t,e,a,o,r,n){let s={width:0,height:0,rank:n,borderType:e},i=r[e][n-1],l=ms(t,"border",s,a);r[e][n]=l,t.setParent(l,o),i&&t.setEdge(i,l,{weight:1})}function Fq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="lr"||a==="rl")&&yk(t)}function Oq(t){var e;let a=(e=t.graph().rankdir)==null?void 0:e.toLowerCase();(a==="bt"||a==="rl")&&Nq(t),(a==="lr"||a==="rl")&&(_q(t),yk(t))}function yk(t){t.nodes().forEach(e=>XI(t.node(e))),t.edges().forEach(e=>XI(t.edge(e)))}function XI(t){let e=t.width;t.width=t.height,t.height=e}function Nq(t){t.nodes().forEach(e=>kg(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(kg),Object.hasOwn(o,"y")&&kg(o)})}function kg(t){t.y=-t.y}function _q(t){t.nodes().forEach(e=>Ag(t.node(e))),t.edges().forEach(e=>{var a;let o=t.edge(e);(a=o.points)==null||a.forEach(Ag),Object.hasOwn(o,"x")&&Ag(o)})}function Ag(t){let e=t.x;t.x=t.y,t.y=e}function Hq(t){let e={},a=t.nodes().filter(i=>!t.children(i).length),o=a.map(i=>t.node(i).rank),r=to(Math.max,o),n=Ji(r+1).map(()=>[]);function s(i){if(e[i])return;e[i]=!0;let l=t.node(i);n[l.rank].push(i);let u=t.successors(i);u&&u.forEach(s)}return a.sort((i,l)=>t.node(i).rank-t.node(l).rank).forEach(s),n}function zq(t,e){let a=0;for(let o=1;o<e.length;++o)a+=qq(t,e[o-1],e[o]);return a}function qq(t,e,a){let o=jz(a,a.map((u,d)=>d)),r=e.flatMap(u=>{let d=t.outEdges(u);return d?d.map(c=>({pos:o[c.w],weight:t.edge(c).weight})).sort((c,f)=>c.pos-f.pos):[]}),n=1;for(;n<a.length;)n<<=1;let s=2*n-1;n-=1;let i=new Array(s).fill(0),l=0;return r.forEach(u=>{let d=u.pos+n;i[d]+=u.weight;let c=0;for(;d>0;)d%2&&(c+=i[d+1]),d=d-1>>1,i[d]+=u.weight;l+=u.weight*c}),l}function Uq(t,e=[]){return e.map(a=>{let o=t.inEdges(a);if(!o||!o.length)return{v:a};{let r=o.reduce((n,s)=>{let i=t.edge(s),l=t.node(s.v);return{sum:n.sum+i.weight*l.order,weight:n.weight+i.weight}},{sum:0,weight:0});return{v:a,barycenter:r.sum/r.weight,weight:r.weight}}})}function Wq(t,e){let a={};t.forEach((r,n)=>{let s={indegree:0,in:[],out:[],vs:[r.v],i:n};r.barycenter!==void 0&&(s.barycenter=r.barycenter,s.weight=r.weight),a[r.v]=s}),e.edges().forEach(r=>{let n=a[r.v],s=a[r.w];n!==void 0&&s!==void 0&&(s.indegree++,n.out.push(s))});let o=Object.values(a).filter(r=>!r.indegree);return Vq(o)}function Vq(t){let e=[];function a(r){return n=>{n.merged||(n.barycenter===void 0||r.barycenter===void 0||n.barycenter>=r.barycenter)&&Gq(r,n)}}function o(r){return n=>{n.in.push(r),--n.indegree===0&&t.push(n)}}for(;t.length;){let r=t.pop();e.push(r),r.in.reverse().forEach(a(r)),r.out.forEach(o(r))}return e.filter(r=>!r.merged).map(r=>Nc(r,["vs","i","barycenter","weight"]))}function Gq(t,e){let a=0,o=0;t.weight&&(a+=t.barycenter*t.weight,o+=t.weight),e.weight&&(a+=e.barycenter*e.weight,o+=e.weight),t.vs=e.vs.concat(t.vs),t.barycenter=a/o,t.weight=o,t.i=Math.min(e.i,t.i),e.merged=!0}function $q(t,e){let a=Xz(t,d=>Object.hasOwn(d,"barycenter")),o=a.lhs,r=a.rhs.sort((d,c)=>c.i-d.i),n=[],s=0,i=0,l=0;o.sort(Xq(!!e)),l=KI(n,r,l),o.forEach(d=>{l+=d.vs.length,n.push(d.vs),s+=d.barycenter*d.weight,i+=d.weight,l=KI(n,r,l)});let u={vs:n.flat(1)};return i&&(u.barycenter=s/i,u.weight=i),u}function KI(t,e,a){let o;for(;e.length&&(o=e[e.length-1]).i<=a;)e.pop(),t.push(o.vs),a++;return a}function Xq(t){return(e,a)=>e.barycenter<a.barycenter?-1:e.barycenter>a.barycenter?1:t?a.i-e.i:e.i-a.i}function Lk(t,e,a,o){let r=t.children(e),n=t.node(e),s=n?n.borderLeft:void 0,i=n?n.borderRight:void 0,l={};s&&(r=r.filter(f=>f!==s&&f!==i));let u=Uq(t,r);u.forEach(f=>{if(t.children(f.v).length){let h=Lk(t,f.v,a,o);l[f.v]=h,Object.hasOwn(h,"barycenter")&&jq(f,h)}});let d=Wq(u,a);Kq(d,l);let c=$q(d,o);if(s&&i){c.vs=[s,c.vs,i].flat(1);let f=t.predecessors(s);if(f&&f.length){let h=t.node(f[0]),p=t.predecessors(i),m=t.node(p[0]);Object.hasOwn(c,"barycenter")||(c.barycenter=0,c.weight=0),c.barycenter=(c.barycenter*c.weight+h.order+m.order)/(c.weight+2),c.weight+=2}}return c}function Kq(t,e){t.forEach(a=>{a.vs=a.vs.flatMap(o=>e[o]?e[o].vs:o)})}function jq(t,e){t.barycenter!==void 0?(t.barycenter=(t.barycenter*t.weight+e.barycenter*e.weight)/(t.weight+e.weight),t.weight+=e.weight):(t.barycenter=e.barycenter,t.weight=e.weight)}function Zq(t,e,a,o){o||(o=t.nodes());let r=Yq(t),n=new ga({compound:!0}).setGraph({root:r}).setDefaultNodeLabel(s=>t.node(s));return o.forEach(s=>{let i=t.node(s),l=t.parent(s);if(i.rank===e||i.minRank<=e&&e<=i.maxRank){n.setNode(s),n.setParent(s,l||r);let u=t[a](s);u&&u.forEach(d=>{let c=d.v===s?d.w:d.v,f=n.edge(c,s),h=f!==void 0?f.weight:0;n.setEdge(c,s,{weight:t.edge(d).weight+h})}),Object.hasOwn(i,"minRank")&&n.setNode(s,{borderLeft:i.borderLeft[e],borderRight:i.borderRight[e]})}}),n}function Yq(t){let e;for(;t.hasNode(e=Tg("_root")););return e}function Jq(t,e,a){let o={},r;a.forEach(n=>{let s=t.parent(n),i,l;for(;s;){if(i=t.parent(s),i?(l=o[i],o[i]=s):(l=r,r=s),l&&l!==s){e.setEdge(l,s);return}s=i}})}function Ck(t,e={}){if(typeof e.customOrder=="function"){e.customOrder(t,Ck);return}let a=dk(t),o=jI(t,Ji(1,a+1),"inEdges"),r=jI(t,Ji(a-1,-1,-1),"outEdges"),n=Hq(t);if(ZI(t,n),e.disableOptimalOrderHeuristic)return;let s=Number.POSITIVE_INFINITY,i,l=e.constraints||[];for(let u=0,d=0;d<4;++u,++d){Qq(u%2?o:r,u%4>=2,l),n=Qi(t);let c=zq(t,n);c<s?(d=0,i=Object.assign({},n),s=c):c===s&&(i=structuredClone(n))}ZI(t,i)}function jI(t,e,a){let o=new Map,r=(n,s)=>{o.has(n)||o.set(n,[]),o.get(n).push(s)};for(let n of t.nodes()){let s=t.node(n);if(typeof s.rank=="number"&&r(s.rank,n),typeof s.minRank=="number"&&typeof s.maxRank=="number")for(let i=s.minRank;i<=s.maxRank;i++)i!==s.rank&&r(i,n)}return e.map(function(n){return Zq(t,n,a,o.get(n)||[])})}function Qq(t,e,a){let o=new ga;t.forEach(function(r){a.forEach(i=>o.setEdge(i.left,i.right));let n=r.graph().root,s=Lk(r,n,o,e);s.vs.forEach((i,l)=>r.node(i).order=l),Jq(r,o,s.vs)})}function ZI(t,e){Object.values(e).forEach(a=>a.forEach((o,r)=>t.node(o).order=r))}function e5(t,e){let a={};function o(r,n){let s=0,i=0,l=r.length,u=n[n.length-1];return n.forEach((d,c)=>{let f=a5(t,d),h=f?t.node(f).order:l;(f||d===u)&&(n.slice(i,c+1).forEach(p=>{let m=t.predecessors(p);m&&m.forEach(g=>{let x=t.node(g),y=x.order;(y<s||h<y)&&!(x.dummy&&t.node(p).dummy)&&vk(a,g,p)})}),i=c+1,s=h)}),n}return e.length&&e.reduce(o),a}function t5(t,e){let a={};function o(n,s,i,l,u){Ji(s,i).forEach(d=>{let c=n[d];if(c!==void 0&&t.node(c).dummy){let f=t.predecessors(c);f&&f.forEach(h=>{if(h===void 0)return;let p=t.node(h);p.dummy&&(p.order<l||p.order>u)&&vk(a,h,c)})}})}function r(n,s){let i=-1,l=-1,u=0;return s.forEach((d,c)=>{if(t.node(d).dummy==="border"){let f=t.predecessors(d);if(f&&f.length){let h=f[0];if(h===void 0)return;l=t.node(h).order,o(s,u,c,i,l),u=c,i=l}}o(s,u,s.length,l,n.length)}),s}return e.length&&e.reduce(r),a}function a5(t,e){if(t.node(e).dummy){let a=t.predecessors(e);if(a)return a.find(o=>t.node(o).dummy)}}function vk(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];o||(t[e]=o={}),o[a]=!0}function o5(t,e,a){if(e>a){let r=e;e=a,a=r}let o=t[e];return o!==void 0&&Object.hasOwn(o,a)}function r5(t,e,a,o){let r={},n={},s={};return e.forEach(i=>{i.forEach((l,u)=>{r[l]=l,n[l]=l,s[l]=u})}),e.forEach(i=>{let l=-1;i.forEach(u=>{let d=o(u);if(d&&d.length){let c=d.sort((h,p)=>{let m=s[h],g=s[p];return(m!==void 0?m:0)-(g!==void 0?g:0)}),f=(c.length-1)/2;for(let h=Math.floor(f),p=Math.ceil(f);h<=p;++h){let m=c[h];if(m===void 0)continue;let g=s[m];if(g!==void 0&&n[u]===u&&l<g&&!o5(a,u,m)){let x=r[m];x!==void 0&&(n[m]=u,n[u]=r[u]=x,l=g)}}}})}),{root:r,align:n}}function n5(t,e,a,o,r=!1){let n={},s=s5(t,e,a,r),i=r?"borderLeft":"borderRight";function l(h,p){let m=s.nodes().slice(),g={},x=m.pop();for(;x;){if(g[x])h(x);else{g[x]=!0,m.push(x);for(let y of p(x))m.push(y)}x=m.pop()}}function u(h){let p=s.inEdges(h);p?n[h]=p.reduce((m,g)=>{var x;let y=(x=n[g.v])!=null?x:0,b=s.edge(g);return Math.max(m,y+(b!==void 0?b:0))},0):n[h]=0}function d(h){let p=s.outEdges(h),m=Number.POSITIVE_INFINITY;p&&(m=p.reduce((x,y)=>{let b=n[y.w],C=s.edge(y);return Math.min(x,(b!==void 0?b:0)-(C!==void 0?C:0))},Number.POSITIVE_INFINITY));let g=t.node(h);m!==Number.POSITIVE_INFINITY&&g.borderType!==i&&(n[h]=Math.max(n[h]!==void 0?n[h]:0,m))}function c(h){return s.predecessors(h)||[]}function f(h){return s.successors(h)||[]}return l(u,c),l(d,f),Object.keys(o).forEach(h=>{var p;let m=a[h];m!==void 0&&(n[h]=(p=n[m])!=null?p:0)}),n}function s5(t,e,a,o){let r=new ga,n=t.graph(),s=c5(n.nodesep,n.edgesep,o);return e.forEach(i=>{let l;i.forEach(u=>{let d=a[u];if(d!==void 0){if(r.setNode(d),l!==void 0){let c=a[l];if(c!==void 0){let f=r.edge(c,d);r.setEdge(c,d,Math.max(s(t,u,l),f||0))}}l=u}})}),r}function i5(t,e){return Object.values(e).reduce((a,o)=>{let r=Number.NEGATIVE_INFINITY,n=Number.POSITIVE_INFINITY;Object.entries(o).forEach(([i,l])=>{let u=f5(t,i)/2;r=Math.max(l+u,r),n=Math.min(l-u,n)});let s=r-n;return s<a[0]&&(a=[s,o]),a},[Number.POSITIVE_INFINITY,null])[1]}function l5(t,e){let a=Object.values(e),o=to(Math.min,a),r=to(Math.max,a);["u","d"].forEach(n=>{["l","r"].forEach(s=>{let i=n+s,l=t[i];if(!l||l===e)return;let u=Object.values(l),d=o-to(Math.min,u);s!=="l"&&(d=r-to(Math.max,u)),d&&(t[i]=_c(l,c=>c+d))})})}function u5(t,e=void 0){let a=t.ul;return a?_c(a,(o,r)=>{var n,s;if(e){let l=e.toLowerCase(),u=t[l];if(u&&u[r]!==void 0)return u[r]}let i=Object.values(t).map(l=>{let u=l[r];return u!==void 0?u:0}).sort((l,u)=>l-u);return(((n=i[1])!=null?n:0)+((s=i[2])!=null?s:0))/2}):{}}function d5(t){let e=Qi(t),a=Object.assign(e5(t,e),t5(t,e)),o={},r;["u","d"].forEach(s=>{r=s==="u"?e:Object.values(e).reverse(),["l","r"].forEach(i=>{i==="r"&&(r=r.map(d=>Object.values(d).reverse()));let l=r5(t,r,a,d=>(s==="u"?t.predecessors(d):t.successors(d))||[]),u=n5(t,r,l.root,l.align,i==="r");i==="r"&&(u=_c(u,d=>-d)),o[s+i]=u})});let n=i5(t,o);return l5(o,n),u5(o,t.graph().align)}function c5(t,e,a){return(o,r,n)=>{let s=o.node(r),i=o.node(n),l=0,u;if(l+=s.width/2,Object.hasOwn(s,"labelpos"))switch(s.labelpos.toLowerCase()){case"l":u=-s.width/2;break;case"r":u=s.width/2;break}if(u&&(l+=a?u:-u),u=void 0,l+=(s.dummy?e:t)/2,l+=(i.dummy?e:t)/2,l+=i.width/2,Object.hasOwn(i,"labelpos"))switch(i.labelpos.toLowerCase()){case"l":u=i.width/2;break;case"r":u=-i.width/2;break}return u&&(l+=a?u:-u),l}}function f5(t,e){return t.node(e).width}function h5(t){t=lk(t),p5(t),Object.entries(d5(t)).forEach(([e,a])=>t.node(e).x=a)}function p5(t){let e=Qi(t),a=t.graph(),o=a.ranksep,r=a.rankalign,n=0;e.forEach(s=>{let i=s.reduce((l,u)=>{var d;let c=(d=t.node(u).height)!=null?d:0;return l>c?l:c},0);s.forEach(l=>{let u=t.node(l);r==="top"?u.y=n+u.height/2:r==="bottom"?u.y=n+i-u.height/2:u.y=n+i/2}),n+=i+o})}function m5(t,e={}){let a=e.debugTiming?ck:fk;return a("layout",()=>{let o=a(" buildLayoutGraph",()=>I5(t));return a(" runLayout",()=>g5(o,a,e)),a(" updateInputGraph",()=>x5(t,o)),o})}function g5(t,e,a){e(" makeSpaceForEdgeLabels",()=>k5(t)),e(" removeSelfEdges",()=>F5(t)),e(" acyclic",()=>nq(t)),e(" nestingGraph.run",()=>Pq(t)),e(" rank",()=>Lq(lk(t))),e(" injectEdgeLabelProxies",()=>A5(t)),e(" removeEmptyRanks",()=>Gz(t)),e(" nestingGraph.cleanup",()=>Tq(t)),e(" normalizeRanks",()=>Vz(t)),e(" assignRankMinMax",()=>M5(t)),e(" removeEdgeLabelProxies",()=>P5(t)),e(" normalize.run",()=>lq(t)),e(" parentDummyChains",()=>Iq(t)),e(" addBorderSegments",()=>Eq(t)),e(" order",()=>Ck(t,a)),e(" insertSelfEdges",()=>O5(t)),e(" adjustCoordinateSystem",()=>Fq(t)),e(" position",()=>h5(t)),e(" positionSelfEdges",()=>N5(t)),e(" removeBorderNodes",()=>B5(t)),e(" normalize.undo",()=>dq(t)),e(" fixupEdgeLabelCoords",()=>T5(t)),e(" undoCoordinateSystem",()=>Oq(t)),e(" translateGraph",()=>D5(t)),e(" assignNodeIntersects",()=>R5(t)),e(" reversePoints",()=>E5(t)),e(" acyclic.undo",()=>iq(t))}function x5(t,e){t.nodes().forEach(a=>{let o=t.node(a),r=e.node(a);o&&(o.x=r.x,o.y=r.y,o.order=r.order,o.rank=r.rank,e.children(a).length&&(o.width=r.width,o.height=r.height))}),t.edges().forEach(a=>{let o=t.edge(a),r=e.edge(a);o.points=r.points,Object.hasOwn(r,"x")&&(o.x=r.x,o.y=r.y)}),t.graph().width=e.graph().width,t.graph().height=e.graph().height}var b5=["nodesep","edgesep","ranksep","marginx","marginy"],w5={ranksep:50,edgesep:20,nodesep:50,rankdir:"TB",rankalign:"center"},y5=["acyclicer","ranker","rankdir","align","rankalign"],L5=["width","height","rank"],YI={width:0,height:0},C5=["minlen","weight","width","height","labeloffset"],v5={minlen:1,weight:1,width:0,height:0,labeloffset:10,labelpos:"r"},S5=["labelpos"];function I5(t){let e=new ga({multigraph:!0,compound:!0}),a=Pg(t.graph());return e.setGraph(Object.assign({},w5,Mg(a,b5),Nc(a,y5))),t.nodes().forEach(o=>{let r=Pg(t.node(o)),n=Mg(r,L5);Object.keys(YI).forEach(i=>{n[i]===void 0&&(n[i]=YI[i])}),e.setNode(o,n);let s=t.parent(o);s!==void 0&&e.setParent(o,s)}),t.edges().forEach(o=>{let r=Pg(t.edge(o));e.setEdge(o,Object.assign({},v5,Mg(r,C5),Nc(r,S5)))}),e}function k5(t){let e=t.graph();e.ranksep/=2,t.edges().forEach(a=>{let o=t.edge(a);o.minlen*=2,o.labelpos.toLowerCase()!=="c"&&(e.rankdir==="TB"||e.rankdir==="BT"?o.width+=o.labeloffset:o.height+=o.labeloffset)})}function A5(t){t.edges().forEach(e=>{let a=t.edge(e);if(a.width&&a.height){let o=t.node(e.v),r={rank:(t.node(e.w).rank-o.rank)/2+o.rank,e};ms(t,"edge-proxy",r,"_ep")}})}function M5(t){let e=0;t.nodes().forEach(a=>{let o=t.node(a);o.borderTop&&(o.minRank=t.node(o.borderTop).rank,o.maxRank=t.node(o.borderBottom).rank,e=Math.max(e,o.maxRank))}),t.graph().maxRank=e}function P5(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="edge-proxy"){let o=a;t.edge(o.e).labelRank=a.rank,t.removeNode(e)}})}function D5(t){let e=Number.POSITIVE_INFINITY,a=0,o=Number.POSITIVE_INFINITY,r=0,n=t.graph(),s=n.marginx||0,i=n.marginy||0;function l(u){let d=u.x,c=u.y,f=u.width,h=u.height;e=Math.min(e,d-f/2),a=Math.max(a,d+f/2),o=Math.min(o,c-h/2),r=Math.max(r,c+h/2)}t.nodes().forEach(u=>l(t.node(u))),t.edges().forEach(u=>{let d=t.edge(u);Object.hasOwn(d,"x")&&l(d)}),e-=s,o-=i,t.nodes().forEach(u=>{let d=t.node(u);d.x-=e,d.y-=o}),t.edges().forEach(u=>{let d=t.edge(u);d.points.forEach(c=>{c.x-=e,c.y-=o}),Object.hasOwn(d,"x")&&(d.x-=e),Object.hasOwn(d,"y")&&(d.y-=o)}),n.width=a-e+s,n.height=r-o+i}function R5(t){t.edges().forEach(e=>{let a=t.edge(e),o=t.node(e.v),r=t.node(e.w),n,s;a.points?(n=a.points[0],s=a.points[a.points.length-1]):(a.points=[],n=r,s=o),a.points.unshift(qI(o,n)),a.points.push(qI(r,s))})}function T5(t){t.edges().forEach(e=>{let a=t.edge(e);if(Object.hasOwn(a,"x"))switch((a.labelpos==="l"||a.labelpos==="r")&&(a.width-=a.labeloffset),a.labelpos){case"l":a.x-=a.width/2+a.labeloffset;break;case"r":a.x+=a.width/2+a.labeloffset;break}})}function E5(t){t.edges().forEach(e=>{let a=t.edge(e);a.reversed&&a.points.reverse()})}function B5(t){t.nodes().forEach(e=>{if(t.children(e).length){let a=t.node(e),o=t.node(a.borderTop),r=t.node(a.borderBottom),n=t.node(a.borderLeft[a.borderLeft.length-1]),s=t.node(a.borderRight[a.borderRight.length-1]);a.width=Math.abs(s.x-n.x),a.height=Math.abs(r.y-o.y),a.x=n.x+a.width/2,a.y=o.y+a.height/2}}),t.nodes().forEach(e=>{t.node(e).dummy==="border"&&t.removeNode(e)})}function F5(t){t.edges().forEach(e=>{if(e.v===e.w){let a=t.node(e.v);a.selfEdges||(a.selfEdges=[]),a.selfEdges.push({e,label:t.edge(e)}),t.removeEdge(e)}})}function O5(t){Qi(t).forEach(e=>{let a=0;e.forEach((o,r)=>{let n=t.node(o);n.order=r+a,(n.selfEdges||[]).forEach(s=>{ms(t,"selfedge",{width:s.label.width,height:s.label.height,rank:n.rank,order:r+ ++a,e:s.e,label:s.label},"_se")}),delete n.selfEdges})})}function N5(t){t.nodes().forEach(e=>{let a=t.node(e);if(a.dummy==="selfedge"){let o=a,r=t.node(o.e.v),n=r.x+r.width/2,s=r.y,i=a.x-n,l=r.height/2;t.setEdge(o.e,o.label),t.removeNode(e),o.label.points=[{x:n+2*i/3,y:s-l},{x:n+5*i/6,y:s-l},{x:n+i,y:s},{x:n+5*i/6,y:s+l},{x:n+2*i/3,y:s+l}],o.label.x=a.x,o.label.y=a.y}})}function Mg(t,e){return _c(Nc(t,e),Number)}function Pg(t){let e={};return t&&Object.entries(t).forEach(([a,o])=>{typeof a=="string"&&(a=a.toLowerCase()),e[a]=o}),e}function _5(t){let e=Qi(t),a=new ga({compound:!0,multigraph:!0}).setGraph({});return t.nodes().forEach(o=>{a.setNode(o,{label:o}),a.setParent(o,"layer"+t.node(o).rank)}),t.edges().forEach(o=>a.setEdge(o.v,o.w,{},o.name)),e.forEach((o,r)=>{let n="layer"+r;a.setNode(n,{rank:"same"}),o.reduce((s,i)=>(a.setEdge(s,i,{style:"invis"}),i))}),a}var H5={graphlib:QI,version:Zz,layout:m5,debug:_5,util:{time:ck,notime:fk}},Og=H5;import{jsx as Ao,jsxs as K5}from"react/jsx-runtime";function Ik({data:t,selected:e}){let a=t,o=a.highlight,r=new Set(o?.fields??[]),n="!h-1 !w-1 !border-0 !bg-transparent !opacity-0";return ao("div",{className:["relative w-[260px] overflow-visible rounded-xl border bg-zinc-900 font-mono text-[11px] text-zinc-100 shadow-lg shadow-black/40 transition-opacity",o?.focused?"border-blue-500 ring-2 ring-blue-500/30":o?.connected?"border-blue-400/60 ring-2 ring-blue-500/10":"border-zinc-700",o?.dimmed?"opacity-35":"",e&&!o?.focused?"ring-2 ring-zinc-100/10":""].join(" "),children:[ao("div",{className:"rounded-t-xl border-b border-zinc-700 bg-zinc-800 px-3 py-2",children:[ao("div",{className:"flex min-w-0 items-center gap-2",children:[Vt(Xi,{className:"h-3.5 w-3.5 shrink-0 text-zinc-400"}),Vt("span",{className:"min-w-0 flex-1 truncate text-[13px] font-semibold leading-none text-zinc-50",children:a.entity})]}),Vt("div",{className:"mt-1 truncate text-[10px] text-zinc-500",children:a.cartridge})]}),Vt("div",{className:"bg-zinc-900 py-1",children:a.fields.length===0?Vt("div",{className:"px-3 py-2 text-[10px] text-zinc-500",children:"No fields"}):a.fields.map(s=>{let i=`${s.type}${s.array?"[]":""}${s.optional?"?":""}`,l=s.displayName.toLowerCase()==="id",u=s.kind==="relation",d=s.kind==="document",c=r.has(s.displayName);return ao("div",{className:["relative grid min-h-[26px] grid-cols-[minmax(0,1fr)_auto] items-center gap-3 px-3 py-1 text-zinc-300",c?"bg-blue-500/15 text-blue-200":""].join(" "),children:[l?ao(Sk,{children:[Vt(Io,{id:`target-${s.displayName}-left`,type:"target",position:se.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),Vt(Io,{id:`target-${s.displayName}-right`,type:"target",position:se.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,u?ao(Sk,{children:[Vt(Io,{id:`source-${s.displayName}-left`,type:"source",position:se.Left,className:`!left-0 ${n}`,style:{top:"50%"}}),Vt(Io,{id:`source-${s.displayName}-right`,type:"source",position:se.Right,className:`!right-0 ${n}`,style:{top:"50%"}})]}):null,ao("span",{className:"flex min-w-0 items-center gap-1.5",children:[l?Vt(ji,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,u?Vt(Zi,{className:["h-3 w-3 shrink-0",c?"text-blue-300":"text-blue-400"].join(" ")}):null,d?Vt(Ki,{className:"h-3 w-3 shrink-0 text-zinc-500"}):null,Vt("span",{className:"truncate",children:s.displayName})]}),Vt("span",{className:"max-w-[96px] truncate text-right text-zinc-500",children:i})]},`${s.name}:${s.displayName}`)})}),ao("div",{className:"flex items-center justify-between gap-2 rounded-b-xl border-t border-zinc-700 bg-zinc-800 px-3 py-1.5 text-[10px] text-zinc-500",children:[ao("span",{className:"tabular-nums",children:[a.rowCount.toLocaleString()," rows"]}),ao("span",{className:"tabular-nums",children:[a.relationCount," rel \xB7 ",a.scalarCount," scalar"]})]})]})}var Ng=260,kk=150,Ak=26,Hg=390;function Mk(t){let e=[];for(let a of t){if(!a.cartridge||!a.owns)continue;let o=[];for(let[r,n]of Object.entries(a.owns)){let s=(n.fields??[]).map(i=>({name:i.name,type:i.type,optional:i.optional,array:i.array,kind:i.kind,target:i.target,targetCart:i.target_cart,relationKind:i.relation_kind,fkField:i.fk_field}));o.push({name:r,fields:s})}o.length>0&&e.push({name:a.cartridge,entities:o})}return e}function gs(t,e){return`${t}:${e}`}function Pk(t){return t.kind??(t.target?"relation":"scalar")}function z5(t){let e=Pk(t);return{name:t.name,displayName:e==="relation"?t.fkField??t.name:t.name,type:e==="relation"&&t.target?t.target:t.type,kind:e,optional:t.optional===!0,array:t.array===!0,target:t.target,targetCart:t.targetCart,relationKind:t.relationKind,fkField:t.fkField}}function q5(t){let e=t.map(z5);return e.some(a=>a.displayName.toLowerCase()==="id")||e.unshift({name:"id",displayName:"id",type:"id",kind:"scalar",optional:!1,array:!1,implicit:!0}),e}function Dk(t){return t.replace(/[^a-zA-Z0-9]/g,"").toLowerCase()}function U5(t){return t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^a-zA-Z0-9]+/).map(e=>e.toLowerCase()).filter(Boolean)}function W5(t){let e=U5(t),a=new Set([Dk(t)]),o=e.length>0?e[e.length-1]:void 0;return o&&a.add(o),e.length>1&&o&&(a.add(`${e.slice(0,-1).map(r=>r[0]).join("")}${o}`),a.add(e.map(r=>r[0]).join(""))),[...a].filter(r=>r.length>=2)}function V5(t,e){if(!/id$/i.test(t)||/^id$/i.test(t))return null;let a=Dk(t.replace(/id$/i,""));if(a.length<3)return null;let o=e.flatMap(s=>W5(s.entity).map(i=>{let l=a===i,u=!l&&i.length>=4&&a.endsWith(i);return!l&&!u?null:{node:s,score:(l?1e3:500)+i.length}})).filter(s=>s!==null).sort((s,i)=>i.score-s.score||s.node.entity.localeCompare(i.node.entity)),r=o[0];if(!r)return null;let n=o[1];return n&&r.score===n.score?null:r.node}function G5(t,e,a){let o=t?.fields.find(r=>r.displayName===e||r.name===e);!o||o.displayName.toLowerCase()==="id"||(o.kind="relation",o.target=a.entity,o.targetCart=a.cartridge,o.relationKind??(o.relationKind="inferred"),o.fkField??(o.fkField=e))}function $5(t){for(let e of t)e.scalarCount=e.fields.filter(a=>a.kind==="scalar").length,e.relationCount=e.fields.filter(a=>a.kind==="relation").length,e.documentCount=e.fields.filter(a=>a.kind==="document").length}function _g(t){return Math.max(kk,74+t.fields.length*Ak)}function X5(t,e){let a=new Map(t.map(l=>[l.id,0]));for(let l of e)a.set(l.source,(a.get(l.source)??0)+1),a.set(l.target,(a.get(l.target)??0)+1);let o=t.filter(l=>(a.get(l.id)??0)>0),r=t.filter(l=>(a.get(l.id)??0)===0),n=new Set(o.map(l=>l.id)),s=0,i=0;if(o.length>0){let l=new Og.graphlib.Graph;l.setGraph({rankdir:"LR",ranksep:160,nodesep:48,marginx:40,marginy:40}),l.setDefaultEdgeLabel(()=>({}));for(let u of o)l.setNode(u.id,{width:Ng,height:_g(u)});for(let u of e)u.source!==u.target&&(!n.has(u.source)||!n.has(u.target)||l.setEdge(u.source,u.target));Og.layout(l);for(let u of o){let d=l.node(u.id),c=_g(u);u.position={x:d.x-Ng/2,y:d.y-c/2},s=Math.max(s,u.position.x+Ng),i=Math.max(i,u.position.y+c)}}if(r.length>0){r.sort((h,p)=>h.entity.localeCompare(p.entity));let l=o.length>0?s+Hg:0,u=Math.max(1,Math.ceil(r.length/Math.ceil(r.length/6))),d=l,c=0,f=0;for(let h of r)h.position={x:d,y:c},c+=_g(h)+48,f+=1,f>=u&&(f=0,c=0,d+=Hg)}}function Rk(t,e){return{entities:t.length,relationships:e.length,rows:t.reduce((a,o)=>a+o.rowCount,0)}}function Tk(t){let e=[...t].sort((i,l)=>i.name.localeCompare(l.name)),a=[];e.forEach((i,l)=>{let u=[...i.entities].sort((c,f)=>c.name.localeCompare(f.name)),d=0;u.forEach(c=>{let f=gs(i.name,c.name),h=c.fields??[],p=q5(h);a.push({id:f,cartridge:i.name,entity:c.name,fields:p,fieldCount:p.length,scalarCount:p.filter(m=>m.kind==="scalar").length,relationCount:p.filter(m=>m.kind==="relation").length,documentCount:p.filter(m=>m.kind==="document").length,rowCount:0,position:{x:l*Hg,y:d}}),d+=Math.max(kk,74+p.length*Ak)+56})});let o=new Set(a.map(i=>i.id)),r=new Map(a.map(i=>[i.id,i])),n=[],s=new Set;for(let i of e)for(let l of i.entities){let u=gs(i.name,l.name),d=r.get(u);for(let c of l.fields??[]){let f=Pk(c)==="relation"&&!!c.target,h=f?null:V5(c.name,a);if(!f&&!h)continue;let p=f?c.targetCart??i.name:h?.cartridge,m=f?c.target:h?.entity;if(!p||!m)continue;let g=gs(p,m);if(!o.has(u)||!o.has(g))continue;let x=r.get(g),b=x?.fields.find(L=>L.displayName.toLowerCase()==="id")?.displayName??"__entity",I=d?.fields.find(L=>L.name===c.name||L.displayName===c.name)?.displayName??c.fkField??c.name,v=`${u}:${I}->${g}:${b}`;s.has(v)||(s.add(v),!f&&x&&G5(d,I,x),n.push({id:`${u}:${c.name}->${g}`,source:u,target:g,sourceField:I,targetField:b,label:c.name,relationKind:c.relationKind??(f?void 0:"inferred"),fkField:c.fkField??(f?void 0:c.name)}))}}return $5(a),{nodes:a,edges:n,totals:Rk(a,n)}}function Ek(t,e){let a=t.nodes.filter(n=>e.has(n.id)).map(n=>({...n,position:{...n.position}})),o=new Set(a.map(n=>n.id)),r=t.edges.filter(n=>o.has(n.source)&&o.has(n.target));return X5(a,r),{nodes:a,edges:r,totals:Rk(a,r)}}var j5={entity:Ik},Z5=({fitKey:t})=>{let e=AI(),{fitView:a}=$i(),o=we(n=>n.width),r=we(n=>n.height);return yt.useEffect(()=>{e&&a({padding:.25,duration:200})},[e,t,a]),yt.useEffect(()=>{if(!e||o===0||r===0)return;let n=setTimeout(()=>a({padding:.25,duration:200}),120);return()=>clearTimeout(n)},[o,r,e,a]),null};function Y5(){let{apiBaseUrl:t}=et(),[e,a]=yt.useState([]),[o,r]=yt.useState(!0),[n,s]=yt.useState(null);return yt.useEffect(()=>{let i=new AbortController,l=!1;return(async()=>{try{let u=await fetch(`${t}/_console/contracts`,{signal:i.signal,credentials:"include",headers:xt()});if(!u.ok)throw new Error(`HTTP ${u.status}`);let d=await u.json();if(!Array.isArray(d))throw new Error("malformed contracts response");l||a(d)}catch(u){if(l||u.name==="AbortError")return;s(u instanceof Error?u.message:String(u))}finally{l||r(!1)}})(),()=>{l=!0,i.abort()}},[t]),{contracts:e,loading:o,error:n}}function J5(t){let e={};for(let a of t){if(!a.cartridge||!a.owns)continue;let o=Object.keys(a.owns).map(r=>({name:r,route:`/_ws/bulk/${a.cartridge}/${r.toLowerCase()}`,searchFields:[]}));o.length>0&&(e[a.cartridge]=o)}return e}var zg=({visibleIds:t,onSelectNode:e})=>{let{contracts:a,loading:o,error:r}=Y5(),n=yt.useMemo(()=>Tk(Mk(a)),[a]),s=yt.useMemo(()=>J5(a),[a]);if(n.nodes.length===0){let i="No installed cartridges with entities.";return o?i="Loading entity graph\u2026":r&&(i=`Failed to load contracts: ${r}`),Ao("div",{className:"p-3 text-[12px] text-muted-foreground",children:i})}return Ao(Q5,{graph:n,registry:s,visibleIds:t,onSelectNode:e})},Q5=({graph:t,registry:e,visibleIds:a,onSelectNode:o})=>{let r=Am(e),[n,s]=yt.useState(null),i=yt.useMemo(()=>Ek(t,a),[t,a]);yt.useEffect(()=>{n&&!a.has(n)&&s(null)},[n,a]);let l=yt.useMemo(()=>{if(!n)return{connectedIds:new Set,edgeIds:new Set,fieldsByNode:new Map};let p=new Set([n]),m=new Set,g=new Map,x=(y,b)=>{let C=g.get(y)??new Set;C.add(b),g.set(y,C)};for(let y of i.edges)y.source!==n&&y.target!==n||(m.add(y.id),p.add(y.source),p.add(y.target),x(y.source,y.sourceField),x(y.target,y.targetField));return{connectedIds:p,edgeIds:m,fieldsByNode:g}},[n,i.edges]),u=yt.useMemo(()=>i.nodes.map(p=>({id:p.id,type:"entity",position:p.position,data:{...p,rowCount:r[p.id]??p.rowCount,highlight:n?{focused:p.id===n,connected:l.connectedIds.has(p.id)&&p.id!==n,dimmed:!l.connectedIds.has(p.id),fields:[...l.fieldsByNode.get(p.id)??[]]}:void 0}})),[l,n,i.nodes,r]),d=yt.useMemo(()=>{let p=new Map(i.nodes.map(g=>[g.id,g])),m=new Map;return i.edges.map(g=>{let x=p.get(g.source),y=p.get(g.target),b=x&&y&&x.position.x>y.position.x?"left":"right",C=b==="left"?"right":"left",I=`${g.target}:${g.targetField}:${C}`,v=m.get(I)??0;m.set(I,v+1);let L=!n||l.edgeIds.has(g.id);return{id:g.id,source:g.source,target:g.target,sourceHandle:`source-${g.sourceField}-${b}`,targetHandle:`target-${g.targetField}-${C}`,type:"smoothstep",pathOptions:{borderRadius:8,offset:22+v%5*12},markerEnd:{type:Qo.ArrowClosed,color:L?"#2563eb":"#64748b"},style:{strokeWidth:n&&L?2.5:1.5,stroke:L?"#2563eb":"#64748b",opacity:L?1:.16}}})},[l.edgeIds,n,i.edges,i.nodes]),c=yt.useCallback((p,m)=>{let g=m.data,x=gs(g.cartridge,g.entity);s(y=>y===x?null:x),o?.(g.cartridge,g.entity)},[o]),f=yt.useCallback((p,m)=>{p.preventDefault();let g=m.data;s(gs(g.cartridge,g.entity)),o?.(g.cartridge,g.entity)},[o]),h=yt.useCallback(()=>s(null),[]);return Ao("div",{className:"flex h-full min-h-0 w-full flex-col",children:Ao("div",{className:"relative min-h-0 flex-1 bg-zinc-950",children:u.length===0?Ao("div",{className:"flex h-full items-center justify-center text-[12px] text-zinc-500",children:"No entities are visible."}):Ao(Cg,{children:K5(kI,{colorMode:"dark",nodes:u,edges:d,nodeTypes:j5,fitView:!0,fitViewOptions:{padding:.2},minZoom:.1,maxZoom:1.6,nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!0,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,selectionOnDrag:!1,onNodeClick:c,onNodeContextMenu:f,onPaneClick:h,proOptions:{hideAttribution:!0},children:[Ao(Z5,{fitKey:[...a].sort().join("|")}),Ao(PI,{variant:Ja.Dots,gap:16,size:1,color:"#3f3f46"}),Ao(RI,{showInteractive:!1})]})})})})};import Oa from"react";function Bk(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=Bk(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Fk(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=Bk(t))&&(o&&(o+=" "),o+=e);return o}var e3=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},t3=(t,e)=>({classGroupId:t,validator:e}),qk=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var Ok=[],a3="arbitrary..",o3=t=>{let e=n3(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return r3(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return Uk(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?e3(u,l):l:u||Ok}return a[s]||Ok}}},Uk=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=Uk(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},r3=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?a3+o:void 0})(),n3=t=>{let{theme:e,classGroups:a}=t;return s3(a,e)},s3=(t,e)=>{let a=qk();for(let o in t){let r=t[o];Ug(r,a,o,e)}return a},Ug=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];i3(s,e,a,o)}},i3=(t,e,a,o)=>{if(typeof t=="string"){l3(t,e,a);return}if(typeof t=="function"){u3(t,e,a,o);return}d3(t,e,a,o)},l3=(t,e,a)=>{let o=t===""?e:Wk(e,t);o.classGroupId=a},u3=(t,e,a,o)=>{if(c3(t)){Ug(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(t3(a,t))},d3=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];Ug(l,Wk(e,i),a,o)}},Wk=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=qk(),a.nextPart.set(s,i)),a=i}return a},c3=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,f3=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var h3=[],Nk=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),p3=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let c=n.length===0?r:r.slice(l),f=c,h=!1;c.endsWith("!")?(f=c.slice(0,-1),h=!0):c.startsWith("!")&&(f=c.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return Nk(n,h,f,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):Nk(h3,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},m3=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},g3=t=>({cache:f3(t.cacheSize),parseClassName:p3(t),sortModifiers:m3(t),postfixLookupClassGroupIds:x3(t),...o3(t)}),x3=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},b3=/\s+/,w3=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(b3),u="";for(let d=l.length-1;d>=0;d-=1){let c=l[d],{isExternal:f,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(c);if(f){u=c+(u.length>0?" "+u:u);continue}let x=!!g,y;if(x){let L=m.substring(0,g);y=o(L);let S=y&&s[y]?o(m):void 0;S&&S!==y&&(y=S,x=!1)}else y=o(m);if(!y){if(!x){u=c+(u.length>0?" "+u:u);continue}if(y=o(m),!y){u=c+(u.length>0?" "+u:u);continue}x=!1}let b=h.length===0?"":h.length===1?h[0]:n(h).join(":"),C=p?b+"!":b,I=C+y;if(i.indexOf(I)>-1)continue;i.push(I);let v=r(y,x);for(let L=0;L<v.length;++L){let S=v[L];i.push(C+S)}u=c+(u.length>0?" "+u:u)}return u},y3=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=Vk(a))&&(r&&(r+=" "),r+=o);return r},Vk=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=Vk(t[o]))&&(a&&(a+=" "),a+=e);return a},L3=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,c)=>c(d),t());return a=g3(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=w3(l,a);return r(l,d),d};return n=s,(...l)=>n(y3(...l))},C3=[],it=t=>{let e=a=>a[t]||C3;return e.isThemeGetter=!0,e},Gk=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,$k=/^\((?:(\w[\w-]*):)?(.+)\)$/i,v3=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,S3=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,I3=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,k3=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,A3=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,M3=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,or=t=>v3.test(t),ge=t=>!!t&&!Number.isNaN(Number(t)),oo=t=>!!t&&Number.isInteger(Number(t)),qg=t=>t.endsWith("%")&&ge(t.slice(0,-1)),Mo=t=>S3.test(t),Xk=()=>!0,P3=t=>I3.test(t)&&!k3.test(t),Wg=()=>!1,D3=t=>A3.test(t),R3=t=>M3.test(t),T3=t=>!te(t)&&!oe(t),E3=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),B3=t=>rr(t,Zk,Wg),te=t=>Gk.test(t),ln=t=>rr(t,Yk,P3),_k=t=>rr(t,U3,ge),F3=t=>rr(t,Qk,Xk),O3=t=>rr(t,Jk,Wg),Hk=t=>rr(t,Kk,Wg),N3=t=>rr(t,jk,R3),zc=t=>rr(t,e1,D3),oe=t=>$k.test(t),el=t=>un(t,Yk),_3=t=>un(t,Jk),zk=t=>un(t,Kk),H3=t=>un(t,Zk),z3=t=>un(t,jk),qc=t=>un(t,e1,!0),q3=t=>un(t,Qk,!0),rr=(t,e,a)=>{let o=Gk.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},un=(t,e,a=!1)=>{let o=$k.exec(t);return o?o[1]?e(o[1]):a:!1},Kk=t=>t==="position"||t==="percentage",jk=t=>t==="image"||t==="url",Zk=t=>t==="length"||t==="size"||t==="bg-size",Yk=t=>t==="length",U3=t=>t==="number",Jk=t=>t==="family-name",Qk=t=>t==="number"||t==="weight",e1=t=>t==="shadow";var W3=()=>{let t=it("color"),e=it("font"),a=it("text"),o=it("font-weight"),r=it("tracking"),n=it("leading"),s=it("breakpoint"),i=it("container"),l=it("spacing"),u=it("radius"),d=it("shadow"),c=it("inset-shadow"),f=it("text-shadow"),h=it("drop-shadow"),p=it("blur"),m=it("perspective"),g=it("aspect"),x=it("ease"),y=it("animate"),b=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...C(),oe,te],v=()=>["auto","hidden","clip","visible","scroll"],L=()=>["auto","contain","none"],S=()=>[oe,te,l],k=()=>[or,"full","auto",...S()],z=()=>[oo,"none","subgrid",oe,te],A=()=>["auto",{span:["full",oo,oe,te]},oo,oe,te],P=()=>[oo,"auto",oe,te],H=()=>["auto","min","max","fr",oe,te],M=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],T=()=>["start","end","center","stretch","center-safe","end-safe"],R=()=>["auto",...S()],E=()=>[or,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],q=()=>[or,"screen","full","dvw","lvw","svw","min","max","fit",...S()],B=()=>[or,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],D=()=>[t,oe,te],N=()=>[...C(),zk,Hk,{position:[oe,te]}],U=()=>["no-repeat",{repeat:["","x","y","space","round"]}],$=()=>["auto","cover","contain",H3,B3,{size:[oe,te]}],_=()=>[qg,el,ln],W=()=>["","none","full",u,oe,te],G=()=>["",ge,el,ln],O=()=>["solid","dashed","dotted","double"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>[ge,qg,zk,Hk],ie=()=>["","none",p,oe,te],le=()=>["none",ge,oe,te],J=()=>["none",ge,oe,te],ne=()=>[ge,oe,te],de=()=>[or,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Mo],breakpoint:[Mo],color:[Xk],container:[Mo],"drop-shadow":[Mo],ease:["in","out","in-out"],font:[T3],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Mo],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Mo],shadow:[Mo],spacing:["px",ge],text:[Mo],"text-shadow":[Mo],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",or,te,oe,g]}],container:["container"],"container-type":[{"@container":["","normal","size",oe,te]}],"container-named":[E3],columns:[{columns:[ge,te,oe,i]}],"break-after":[{"break-after":b()}],"break-before":[{"break-before":b()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:I()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:k()}],"inset-x":[{"inset-x":k()}],"inset-y":[{"inset-y":k()}],start:[{"inset-s":k(),start:k()}],end:[{"inset-e":k(),end:k()}],"inset-bs":[{"inset-bs":k()}],"inset-be":[{"inset-be":k()}],top:[{top:k()}],right:[{right:k()}],bottom:[{bottom:k()}],left:[{left:k()}],visibility:["visible","invisible","collapse"],z:[{z:[oo,"auto",oe,te]}],basis:[{basis:[or,"full","auto",i,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[ge,or,"auto","initial","none",te]}],grow:[{grow:["",ge,oe,te]}],shrink:[{shrink:["",ge,oe,te]}],order:[{order:[oo,"first","last","none",oe,te]}],"grid-cols":[{"grid-cols":z()}],"col-start-end":[{col:A()}],"col-start":[{"col-start":P()}],"col-end":[{"col-end":P()}],"grid-rows":[{"grid-rows":z()}],"row-start-end":[{row:A()}],"row-start":[{"row-start":P()}],"row-end":[{"row-end":P()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":H()}],"auto-rows":[{"auto-rows":H()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...M(),"normal"]}],"justify-items":[{"justify-items":[...T(),"normal"]}],"justify-self":[{"justify-self":["auto",...T()]}],"align-content":[{content:["normal",...M()]}],"align-items":[{items:[...T(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...T(),{baseline:["","last"]}]}],"place-content":[{"place-content":M()}],"place-items":[{"place-items":[...T(),"baseline"]}],"place-self":[{"place-self":["auto",...T()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:R()}],mx:[{mx:R()}],my:[{my:R()}],ms:[{ms:R()}],me:[{me:R()}],mbs:[{mbs:R()}],mbe:[{mbe:R()}],mt:[{mt:R()}],mr:[{mr:R()}],mb:[{mb:R()}],ml:[{ml:R()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:E()}],"inline-size":[{inline:["auto",...q()]}],"min-inline-size":[{"min-inline":["auto",...q()]}],"max-inline-size":[{"max-inline":["none",...q()]}],"block-size":[{block:["auto",...B()]}],"min-block-size":[{"min-block":["auto",...B()]}],"max-block-size":[{"max-block":["none",...B()]}],w:[{w:[i,"screen",...E()]}],"min-w":[{"min-w":[i,"screen","none",...E()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...E()]}],h:[{h:["screen","lh",...E()]}],"min-h":[{"min-h":["screen","lh","none",...E()]}],"max-h":[{"max-h":["screen","lh",...E()]}],"font-size":[{text:["base",a,el,ln]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,q3,F3]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",qg,te]}],"font-family":[{font:[_3,O3,e]}],"font-features":[{"font-features":[te]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,oe,te]}],"line-clamp":[{"line-clamp":[ge,"none",oe,_k]}],leading:[{leading:[n,...S()]}],"list-image":[{"list-image":["none",oe,te]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",oe,te]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:[ge,"from-font","auto",oe,ln]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[ge,"auto",oe,te]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"tab-size":[{tab:[oo,oe,te]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",oe,te]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",oe,te]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:U()}],"bg-size":[{bg:$()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},oo,oe,te],radial:["",oe,te],conic:[oo,oe,te]},z3,N3]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:G()}],"border-w-x":[{"border-x":G()}],"border-w-y":[{"border-y":G()}],"border-w-s":[{"border-s":G()}],"border-w-e":[{"border-e":G()}],"border-w-bs":[{"border-bs":G()}],"border-w-be":[{"border-be":G()}],"border-w-t":[{"border-t":G()}],"border-w-r":[{"border-r":G()}],"border-w-b":[{"border-b":G()}],"border-w-l":[{"border-l":G()}],"divide-x":[{"divide-x":G()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":G()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...O(),"hidden","none"]}],"divide-style":[{divide:[...O(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-bs":[{"border-bs":D()}],"border-color-be":[{"border-be":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...O(),"none","hidden"]}],"outline-offset":[{"outline-offset":[ge,oe,te]}],"outline-w":[{outline:["",ge,el,ln]}],"outline-color":[{outline:D()}],shadow:[{shadow:["","none",d,qc,zc]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",c,qc,zc]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[ge,ln]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":G()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":["none",f,qc,zc]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[ge,oe,te]}],"mix-blend":[{"mix-blend":[...F(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":F()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[ge]}],"mask-image-linear-from-pos":[{"mask-linear-from":V()}],"mask-image-linear-to-pos":[{"mask-linear-to":V()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":V()}],"mask-image-t-to-pos":[{"mask-t-to":V()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":V()}],"mask-image-r-to-pos":[{"mask-r-to":V()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":V()}],"mask-image-b-to-pos":[{"mask-b-to":V()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":V()}],"mask-image-l-to-pos":[{"mask-l-to":V()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":V()}],"mask-image-x-to-pos":[{"mask-x-to":V()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":V()}],"mask-image-y-to-pos":[{"mask-y-to":V()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[oe,te]}],"mask-image-radial-from-pos":[{"mask-radial-from":V()}],"mask-image-radial-to-pos":[{"mask-radial-to":V()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[ge]}],"mask-image-conic-from-pos":[{"mask-conic-from":V()}],"mask-image-conic-to-pos":[{"mask-conic-to":V()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:U()}],"mask-size":[{mask:$()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",oe,te]}],filter:[{filter:["","none",oe,te]}],blur:[{blur:ie()}],brightness:[{brightness:[ge,oe,te]}],contrast:[{contrast:[ge,oe,te]}],"drop-shadow":[{"drop-shadow":["","none",h,qc,zc]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:["",ge,oe,te]}],"hue-rotate":[{"hue-rotate":[ge,oe,te]}],invert:[{invert:["",ge,oe,te]}],saturate:[{saturate:[ge,oe,te]}],sepia:[{sepia:["",ge,oe,te]}],"backdrop-filter":[{"backdrop-filter":["","none",oe,te]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[ge,oe,te]}],"backdrop-contrast":[{"backdrop-contrast":[ge,oe,te]}],"backdrop-grayscale":[{"backdrop-grayscale":["",ge,oe,te]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[ge,oe,te]}],"backdrop-invert":[{"backdrop-invert":["",ge,oe,te]}],"backdrop-opacity":[{"backdrop-opacity":[ge,oe,te]}],"backdrop-saturate":[{"backdrop-saturate":[ge,oe,te]}],"backdrop-sepia":[{"backdrop-sepia":["",ge,oe,te]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",oe,te]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[ge,"initial",oe,te]}],ease:[{ease:["linear","initial",x,oe,te]}],delay:[{delay:[ge,oe,te]}],animate:[{animate:["none",y,oe,te]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,oe,te]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:le()}],"rotate-x":[{"rotate-x":le()}],"rotate-y":[{"rotate-y":le()}],"rotate-z":[{"rotate-z":le()}],scale:[{scale:J()}],"scale-x":[{"scale-x":J()}],"scale-y":[{"scale-y":J()}],"scale-z":[{"scale-z":J()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[oe,te,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":["translate-none"],zoom:[{zoom:[oo,oe,te]}],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",oe,te]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":D()}],"scrollbar-track-color":[{"scrollbar-track":D()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",oe,te]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[ge,el,ln,_k]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var t1=L3(W3);import xs from"react";import{createPortal as V3}from"react-dom";import{Fragment as a1,jsx as Na,jsxs as nr}from"react/jsx-runtime";import{jsx as It,jsxs as dn}from"react/jsx-runtime";function ir(...t){return t1(Fk(t))}var o1=420,n1=new Set([wd,yd,Ld,Cd,vd,Sd,Id,kd]),s1=new Set([Ad,Md]);function G3(t){let a=Math.max(12,Math.min(t.left,window.innerWidth-o1-12)),r=window.innerHeight-t.bottom>=180?t.bottom+6:Math.max(12,t.top-188);return{left:a,top:r,width:o1}}function $3(t,e){if(e===xi)return{value:t==="true"};if(n1.has(e)){let a=Number(t);return Number.isInteger(a)?{value:a}:{error:"Expected an integer"}}if(s1.has(e)){let a=Number(t);return Number.isFinite(a)?{value:a}:{error:"Expected a number"}}return{value:t}}var X3=({data:t,onClose:e})=>{let{apiBaseUrl:a}=et(),[o,r]=xs.useState(!1),[n,s]=xs.useState(t.value),[i,l]=xs.useState(!1),[u,d]=xs.useState(null);xs.useEffect(()=>{s(t.value),d(null)},[t.value,t.r,t.c]),xs.useEffect(()=>{let m=g=>{g.key==="Escape"&&e()};return document.addEventListener("keydown",m),()=>document.removeEventListener("keydown",m)},[e]);let c=async()=>{try{await navigator.clipboard.writeText(t.value),r(!0)}catch{}},f=async()=>{let m=$3(n,t.colType);if("error"in m){d(m.error);return}l(!0),d(null);try{let g=await fetch(`${a}/api/${t.cart}/${t.entity.toLowerCase()}/${encodeURIComponent(t.rowId)}`,{method:"PUT",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({[t.colName]:m.value})});if(!g.ok){d(await g.text()||`HTTP ${g.status}`),l(!1);return}e()}catch(g){d(g instanceof Error?g.message:String(g)),l(!1)}},h=t.colType===xi,p=n1.has(t.colType)||s1.has(t.colType);return V3(nr(a1,{children:[Na("div",{className:"fixed inset-0 z-[60]",onClick:e}),nr("div",{className:ir("nimbit-devtools dark fixed z-[61] rounded-md border border-border bg-popover p-3","text-[12px] text-popover-foreground shadow-lg"),style:G3(t.rect),onClick:m=>m.stopPropagation(),children:[nr("div",{className:"mb-2 flex items-center justify-between gap-3",children:[nr("div",{className:"min-w-0",children:[Na("div",{className:"truncate font-medium text-foreground",children:t.colName}),nr("div",{className:"text-[11px] text-muted-foreground",children:["Row ",t.r+1]})]}),nr("div",{className:"flex shrink-0 items-center gap-1.5",children:[Na("button",{type:"button",onClick:c,className:ir("rounded border border-border px-2 py-1 text-[11px] leading-none","hover:bg-accent hover:text-accent-foreground"),children:o?"Copied":"Copy"}),t.editable?Na("button",{type:"button",onClick:f,disabled:i,className:ir("rounded border border-border bg-primary/90 px-2 py-1 text-[11px] leading-none text-primary-foreground","hover:bg-primary disabled:opacity-50"),children:i?"Saving\u2026":"Save"}):null]})]}),t.editable?nr(a1,{children:[h?nr("select",{value:n,disabled:i,onChange:m=>s(m.target.value),className:"w-full rounded-sm border border-border bg-background px-2 py-1 text-[12px] outline-none focus:border-accent-foreground/30",children:[Na("option",{value:"true",children:"true"}),Na("option",{value:"false",children:"false"})]}):p?Na("input",{type:"number",value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),onKeyDown:m=>{m.key==="Enter"&&f()},className:"w-full rounded-sm border border-border bg-background px-2 py-1 font-mono text-[12px] outline-none focus:border-accent-foreground/30"}):Na("textarea",{value:n,disabled:i,autoFocus:!0,onChange:m=>s(m.target.value),className:"max-h-48 min-h-[3rem] w-full resize-y overflow-auto rounded-sm border border-border bg-background p-2 font-mono text-[11px] leading-5 outline-none focus:border-accent-foreground/30"}),u?Na("div",{className:"mt-2 break-words text-[11px] text-red-400",children:u}):null]}):Na("div",{className:"max-h-48 overflow-auto rounded-sm bg-muted/40 p-2 font-mono text-[11px] leading-5 whitespace-pre-wrap break-words",children:t.value.length>0?t.value:Na("span",{className:"font-sans italic text-muted-foreground",children:"(empty)"})})]})]}),document.body)},Gg=X3,i1="nbt_devtools_colw:v1";function l1(){try{let t=localStorage.getItem(i1);if(!t)return{};let e=JSON.parse(t);return typeof e=="object"&&e?e:{}}catch{return{}}}function K3(t,e){return l1()[`${t}:${e}`]??{}}function j3(t,e,a,o){try{let r=l1(),n=`${t}:${e}`;(r[n]??(r[n]={}))[a]=o,localStorage.setItem(i1,JSON.stringify(r))}catch{}}var sr=22,r1=6,$g=80,u1=600,Z3=32,Y3=new Set(["id","createdAt","updatedAt"]),J3=new Set([Pd,Dd]);function Q3(t){return t==="id"?220:t==="createdAt"||t==="updatedAt"||t==="email"||t==="phone"||t.endsWith("At")?180:Math.max($g,Math.min(240,t.length*9+24))}var Vg=null;function eU(){return Vg||(Vg=document.createElement("canvas")),Vg.getContext("2d")}var tU=({index:t,startWidth:e,scrollerRef:a,onCommit:o,onAutoFit:r})=>It("div",{onPointerDown:s=>{s.preventDefault(),s.stopPropagation();let i=a.current;if(!i)return;let l=s.currentTarget;l.setPointerCapture(s.pointerId);let u=s.clientX,d=e,c=!1,f=0,h=null,p=()=>{f=0,h!=null&&(d=h,i.style.setProperty(`--cw-${t}`,`${h}px`),h=null)},m=x=>{x.preventDefault(),c=!0,h=Math.max($g,Math.min(u1,e+(x.clientX-u))),f||(f=requestAnimationFrame(p))},g=()=>{f&&cancelAnimationFrame(f),p(),c&&o(d),l.removeEventListener("pointermove",m),l.removeEventListener("pointerup",g),l.removeEventListener("pointercancel",g);try{l.releasePointerCapture(s.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="ew-resize",l.addEventListener("pointermove",m),l.addEventListener("pointerup",g),l.addEventListener("pointercancel",g)},onDoubleClick:s=>{s.preventDefault(),s.stopPropagation(),r()},title:"Drag to resize \xB7 double-click to fit",style:{touchAction:"none"},className:"absolute right-0 top-0 bottom-0 z-20 w-1.5 cursor-ew-resize hover:bg-accent/40"}),aU=({cart:t,entity:e,searchFields:a,onSelectRow:o})=>{let r=Mm(t,e),n=Oa.useRef(null),[s,i]=Oa.useState(0),[l,u]=Oa.useState(0),[d,c]=Oa.useState(""),[f,h]=Oa.useState(null),[p,m]=Oa.useState(null),[g,x]=Oa.useState(0),[y,b]=Oa.useState(()=>K3(t,e)),C=N=>y[N]??Q3(N);Oa.useEffect(()=>(r.setOnRender(()=>x(N=>N+1)),()=>r.setOnRender(null)),[r]);let I=r.columns.length>0;Oa.useEffect(()=>{let N=n.current;if(!N)return;let U=new ResizeObserver(()=>u(N.clientHeight));return U.observe(N),u(N.clientHeight),()=>U.disconnect()},[I]);let v=r.store.rows,L=r.columns,S=v.length*sr,k=Math.max(0,Math.floor(s/sr)-r1),z=Math.max(0,Math.ceil(l/sr)+r1*2),A=Math.min(v.length,k+z),P=N=>{N.key==="Enter"?r.search(d.trim()):N.key==="Escape"&&(c(""),r.clearSearch())},H=N=>{let U=v[N];if(!U)return;let $={};for(let _=0;_<L.length;_++)$[L[_].name]=U[_]??"";o($)},M=a.length===0,T=L.findIndex(N=>N.name==="id"),R=Oa.useMemo(()=>{let N={"--gw":`${Z3}px`},U=["var(--gw)"];return L.forEach(($,_)=>{N[`--cw-${_}`]=`${C($.name)}px`,U.push(`var(--cw-${_})`)}),N["--total-w"]=`calc(${U.join(" + ")})`,N},[L,y]),E=(N,U)=>{b($=>({...$,[N]:U})),j3(t,e,N,U)},q=(N,U)=>{let $=eU(),_=n.current;if(!$||!_)return;$.font=`12px ${getComputedStyle(_).fontFamily}`;let W=$.measureText(U).width,G=Math.min(v.length,1e3);for(let F=0;F<G;F++)W=Math.max(W,$.measureText(v[F]?.[N]??"").width);let O=Math.max($g,Math.min(u1,Math.ceil(W)+18));_.style.setProperty(`--cw-${N}`,`${O}px`),E(U,O)},B=N=>{let U=n.current;if(!U)return;let $=N*sr;$<U.scrollTop?U.scrollTop=$:$+sr>U.scrollTop+U.clientHeight&&(U.scrollTop=$+sr-U.clientHeight)},D=N=>{if(v.length===0||L.length===0)return;if((N.metaKey||N.ctrlKey)&&(N.key==="c"||N.key==="C")){if(!f)return;let W=v[f.r]?.[f.c]??"";navigator.clipboard?.writeText(W),N.preventDefault();return}let U=f??{r:k,c:0},{r:$,c:_}=U;if(N.key==="ArrowUp")$--;else if(N.key==="ArrowDown")$++;else if(N.key==="ArrowLeft")_--;else if(N.key==="ArrowRight")_++;else return;N.preventDefault(),$=Math.max(0,Math.min(v.length-1,$)),_=Math.max(0,Math.min(L.length-1,_)),h({r:$,c:_}),m(null),B($)};return dn("div",{className:"flex h-full flex-col bg-background",children:[dn("div",{className:"flex h-7 shrink-0 items-center gap-2 border-b border-border px-2",children:[It("input",{type:"text",value:d,disabled:M,onChange:N=>c(N.target.value),onKeyDown:P,placeholder:M?"Search disabled (no @@search declared)":`Search ${a.join(", ")} \u23CE`,className:ir("h-5 flex-1 rounded-sm border border-border bg-background px-2 text-[12px] outline-none","placeholder:text-muted-foreground/70 focus:border-accent-foreground/30",M&&"opacity-50 cursor-not-allowed")}),It("div",{className:"shrink-0 text-[11px] text-muted-foreground tabular-nums",children:r.error?It("span",{className:"text-red-400",children:r.error}):L.length===0?It("span",{children:r.connected?"loading\u2026":"connecting\u2026"}):dn("span",{children:[r.loadedRows.toLocaleString()," / ",r.totalRows.toLocaleString()," rows",r.streaming?" \xB7 streaming":""]})})]}),L.length===0?It("div",{className:"flex flex-1 items-center justify-center text-[12px] text-muted-foreground",children:r.error?r.error:"Waiting for schema\u2026"}):It("div",{ref:n,tabIndex:0,onKeyDown:D,onScroll:N=>{i(N.target.scrollTop),p&&m(null)},className:"group/table relative min-h-0 flex-1 overflow-auto font-mono outline-none",children:dn("div",{style:{...R,width:"var(--total-w)"},children:[dn("div",{className:"sticky top-0 z-10 flex h-6 select-none border-b border-border bg-background text-[11px] text-muted-foreground",style:{width:"var(--total-w)"},children:[It("div",{style:{width:"var(--gw)"},className:"shrink-0 border-r border-border"}),L.map((N,U)=>dn("div",{style:{width:`var(--cw-${U})`},className:"relative flex items-center overflow-hidden border-r border-border px-2",children:[It("span",{className:"truncate",children:N.name}),It(tU,{index:U,startWidth:C(N.name),scrollerRef:n,onCommit:$=>E(N.name,$),onAutoFit:()=>q(U,N.name)})]},N.name))]}),It("div",{style:{height:S,width:"var(--total-w)",position:"relative"},children:v.slice(k,A).map((N,U)=>{let $=k+U;return dn("div",{style:{top:$*sr,height:sr,width:"var(--total-w)"},className:ir("absolute left-0 flex text-[12px] leading-none",$%2===0?"bg-background":"bg-muted/20"),children:[It("button",{type:"button",title:"Open row detail",onClick:()=>H($),style:{width:"var(--gw)"},className:ir("flex shrink-0 items-center justify-center border-r border-border/60","cursor-pointer text-[10px] tabular-nums text-muted-foreground/60","hover:bg-accent hover:text-accent-foreground"),children:$+1}),L.map((_,W)=>{let G=f?.r===$&&f?.c===W;return It("div",{"data-selected":G,onClick:O=>{O.stopPropagation(),h({r:$,c:W}),m(null)},onDoubleClick:O=>{O.stopPropagation(),h({r:$,c:W});let F=T>=0&&!Y3.has(_.name)&&!J3.has(_.type);m({r:$,c:W,colName:_.name,value:N[W]??"",rect:O.currentTarget.getBoundingClientRect(),cart:t,entity:e,rowId:T>=0?N[T]??"":"",colType:_.type,editable:F})},style:{width:`var(--cw-${W})`},className:ir("flex cursor-pointer items-center overflow-hidden border-r border-border/60 px-2","data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground","data-[selected=true]:[box-shadow:inset_0_0_0_1px_#60a5fa]"),title:N[W],children:It("span",{className:"truncate",children:N[W]})},_.name)})]},$)})})]})}),p?It(Gg,{data:p,onClose:()=>m(null)}):null,g<0&&It("span",{})]})},tl=aU;import{useEffect as oU,useState as al}from"react";import{useCallback as Uc,useMemo as nU}from"react";import{useCallback as bs,useMemo as sU}from"react";function rU(t){let e={},a=new Set,o=new Set;for(let r of t){let n=r.cartridge;if(!n||!r.owns)continue;let s=[];for(let[i,l]of Object.entries(r.owns)){let u=Array.isArray(l?.searchFields)?l.searchFields:[];s.push({name:i,route:`/_ws/bulk/${n}/${i.toLowerCase()}`,searchFields:u})}s.length>0&&(e[n]=s,r.core&&a.add(n),r.installed&&o.add(n))}return{reg:e,core:a,installed:o}}function Vc(){let{apiBaseUrl:t}=et(),[e,a]=al({}),[o,r]=al(new Set),[n,s]=al(new Set),[i,l]=al(!0),[u,d]=al(null);oU(()=>{let f=new AbortController,h=!1;return l(!0),d(null),(async()=>{try{let p=await fetch(`${t}/_console/contracts`,{signal:f.signal,credentials:"include",headers:xt()});if(!p.ok)throw new Error(`HTTP ${p.status}`);let m=await p.json();if(!Array.isArray(m))throw new Error("malformed contracts response");if(h)return;let{reg:g,core:x,installed:y}=rU(m);a(g),r(x),s(y)}catch(p){if(h||p.name==="AbortError")return;d(p instanceof Error?p.message:String(p))}finally{h||l(!1)}})(),()=>{h=!0,f.abort()}},[t]);let c=Object.keys(e).sort();return{registry:e,carts:c,coreCarts:o,installedCarts:n,loading:i,error:u}}async function Wc(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function Xg(){let{apiBaseUrl:t}=et(),e=Uc(async()=>Wc(await fetch(`${t}/_console/integrations/gsheets`,{credentials:"include",headers:xt()})),[t]),a=Uc(async n=>Wc(await fetch(`${t}/_console/integrations/gsheets`,{method:"POST",credentials:"include",headers:xt({"content-type":"application/json"}),body:JSON.stringify(n)})),[t]),o=Uc(async n=>Wc(await fetch(`${t}/_console/integrations/gsheets/sync`,{method:"POST",credentials:"include",headers:xt({"content-type":"application/json"}),body:JSON.stringify({cartridge:n})})),[t]),r=Uc(async n=>Wc(await fetch(`${t}/_console/integrations/gsheets/${encodeURIComponent(n)}`,{method:"DELETE",credentials:"include",headers:xt()})),[t]);return nU(()=>({list:e,save:a,syncNow:o,remove:r}),[e,a,o,r])}var iU=["COMPLETED","FAILED","CANCELLED","CONTINUED"];async function ws(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function Kg(t){return iU.includes(t)}function d1(){let{apiBaseUrl:t}=et(),e=bs(async()=>ws(await fetch(`${t}/_console/wf`,{credentials:"include",headers:xt()})),[t]),a=bs(async i=>ws(await fetch(`${t}/_console/wf/${encodeURIComponent(i)}`,{credentials:"include",headers:xt()})),[t]),o=bs(async()=>ws(await fetch(`${t}/_console/wf/stats`,{credentials:"include",headers:xt()})),[t]),r=bs(async()=>ws(await fetch(`${t}/_console/wf/versions`,{credentials:"include",headers:xt()})),[t]),n=bs(async i=>ws(await fetch(`${t}/_console/wf/cancel`,{method:"POST",credentials:"include",headers:xt({"content-type":"application/json"}),body:JSON.stringify({id:i})})),[t]),s=bs(async i=>ws(await fetch(`${t}/_console/wf/advance`,{method:"POST",credentials:"include",headers:xt({"content-type":"application/json"}),body:JSON.stringify({id:i})})),[t]);return sU(()=>({listExecutions:e,getExecution:a,getStats:o,getVersions:r,cancel:n,advance:s}),[e,a,o,r,n,s])}import Ae,{useEffect as ys}from"react";import{jsx as dU}from"react/jsx-runtime";var c1=Ae.createContext(null),f1="nimbit-devtools:v1",lU={info:!0,warn:!0,error:!0,plain:!0};function uU(){if(typeof window>"u")return{};try{let t=window.localStorage.getItem(f1);if(!t)return{};let e=JSON.parse(t);return typeof e=="object"&&e?e:{}}catch{return{}}}var jg=({children:t,defaultActiveTab:e})=>{let[a,o]=Ae.useState(!1),[r,n]=Ae.useState("bottom"),[s,i]=Ae.useState(e??null),[l,u]=Ae.useState({h:320,w:480}),[d,c]=Ae.useState(!1),[f,h]=Ae.useState(null),[p,m]=Ae.useState(null),[g,x]=Ae.useState("table"),[y,b]=Ae.useState(null),[C,I]=Ae.useState(()=>new Set),[v,L]=Ae.useState(()=>new Set),[S,k]=Ae.useState(176),[z,A]=Ae.useState(440),[P,H]=Ae.useState(lU),[M,T]=Ae.useState(!1),[R,E]=Ae.useState(null),[q,B]=Ae.useState(null),[D,N]=Ae.useState(200),[U,$]=Ae.useState("general"),[_,W]=Ae.useState("default"),[G,O]=Ae.useState(12),[F,V]=Ae.useState(!1),[ie,le]=Ae.useState(2),[J,ne]=Ae.useState("system"),[de,Se]=Ae.useState(!1),{apiBaseUrl:Te}=et(),[ht,ya]=Ae.useState(!1),Ct=Ae.useCallback(()=>o(ee=>!ee),[]);ys(()=>{let ee=uU();ee.open!=null&&o(ee.open),ee.dock!=null&&n(ee.dock),ee.activeTab!=null&&i(ee.activeTab),ee.size!=null&&u(ee.size),ee.maximized!=null&&c(ee.maximized),ee.dataCart!=null&&h(ee.dataCart),ee.dataEntity!=null&&m(ee.dataEntity),ee.view!=null&&x(ee.view),ee.graphCarts!=null&&b(new Set(ee.graphCarts)),ee.revealedCarts!=null&&I(new Set(ee.revealedCarts)),ee.hiddenEntities!=null&&L(new Set(ee.hiddenEntities)),ee.graphLeftW!=null&&k(ee.graphLeftW),ee.graphRightW!=null&&A(ee.graphRightW),ee.consoleFilter!=null&&H(ee.consoleFilter),ee.consolePaused!=null&&T(ee.consolePaused),ee.sourcesCart!=null&&E(ee.sourcesCart),ee.sourcesFile!=null&&B(ee.sourcesFile),ee.sourcesTreeW!=null&&N(ee.sourcesTreeW),ee.settingsCategory!=null&&$(ee.settingsCategory),ee.editorTheme!=null&&W(ee.editorTheme),ee.editorFontSize!=null&&O(ee.editorFontSize),ee.editorLineWrap!=null&&V(ee.editorLineWrap),ee.editorTabSize!=null&&le(ee.editorTabSize),ee.devtoolsFont!=null&&ne(ee.devtoolsFont),Se(!0)},[]),ys(()=>{if(!de)return;let ee=!1;return(async()=>{let We=await xm(Te);ee||(typeof We.editorTheme=="string"&&W(We.editorTheme),typeof We.editorFontSize=="number"&&O(We.editorFontSize),typeof We.editorLineWrap=="boolean"&&V(We.editorLineWrap),typeof We.editorTabSize=="number"&&le(We.editorTabSize),typeof We.devtoolsFont=="string"&&ne(We.devtoolsFont),Array.isArray(We.revealedCarts)&&I(new Set(We.revealedCarts)),ya(!0))})(),()=>{ee=!0}},[de,Te]),ys(()=>{if(!ht)return;let ee={editorTheme:_,editorFontSize:G,editorLineWrap:F,editorTabSize:ie,devtoolsFont:J,revealedCarts:[...C]},We=setTimeout(()=>{bm(Te,ee)},600);return()=>clearTimeout(We)},[ht,Te,_,G,F,ie,J,C]),ys(()=>{if(typeof window>"u"||!de)return;let ee={open:a,dock:r,activeTab:s,size:l,maximized:d,dataCart:f,dataEntity:p,view:g,graphCarts:y?[...y]:null,revealedCarts:[...C],hiddenEntities:[...v],graphLeftW:S,graphRightW:z,consoleFilter:P,consolePaused:M,sourcesCart:R,sourcesFile:q,sourcesTreeW:D,settingsCategory:U,editorTheme:_,editorFontSize:G,editorLineWrap:F,editorTabSize:ie,devtoolsFont:J};try{window.localStorage.setItem(f1,JSON.stringify(ee))}catch{}},[de,a,r,s,l,d,f,p,g,y,C,v,S,z,P,M,R,q,D,U,_,G,F,ie,J]);let ra=Ae.useMemo(()=>({open:a,setOpen:o,toggle:Ct,dock:r,setDock:n,activeTab:s,setActiveTab:i,size:l,setSize:u,maximized:d,setMaximized:c,dataCart:f,setDataCart:h,dataEntity:p,setDataEntity:m,view:g,setView:x,graphCarts:y,setGraphCarts:b,revealedCarts:C,setRevealedCarts:I,hiddenEntities:v,setHiddenEntities:L,graphLeftW:S,setGraphLeftW:k,graphRightW:z,setGraphRightW:A,consoleFilter:P,setConsoleFilter:H,consolePaused:M,setConsolePaused:T,sourcesCart:R,setSourcesCart:E,sourcesFile:q,setSourcesFile:B,sourcesTreeW:D,setSourcesTreeW:N,settingsCategory:U,setSettingsCategory:$,editorTheme:_,setEditorTheme:W,editorFontSize:G,setEditorFontSize:O,editorLineWrap:F,setEditorLineWrap:V,editorTabSize:ie,setEditorTabSize:le,devtoolsFont:J,setDevtoolsFont:ne}),[a,Ct,r,s,l,d,f,p,g,y,C,v,S,z,P,M,R,q,D,U,_,G,F,ie,J]);return ys(()=>{let ee=ut=>{let uo=ut.ctrlKey&&(ut.key==="F12"||ut.code==="F12"),Zt=(ut.ctrlKey||ut.metaKey)&&ut.shiftKey&&(ut.code==="KeyD"||ut.key==="D"||ut.key==="d");(uo||Zt)&&(ut.preventDefault(),Ct())},We=()=>Ct();return window.addEventListener("keydown",ee),window.addEventListener("devtools-toggle",We),()=>{window.removeEventListener("keydown",ee),window.removeEventListener("devtools-toggle",We)}},[Ct]),ys(()=>{window.dispatchEvent(new CustomEvent("devtools-state",{detail:{open:a}}))},[a]),dU(c1.Provider,{value:ra,children:t})};function Ft(){let t=Ae.useContext(c1);if(!t)throw new Error("useDevTools must be used inside <DevToolsProvider>");return t}import xr from"react";import{forwardRef as mU,createElement as gU}from"react";var Gc=(...t)=>t.filter((e,a,o)=>!!e&&e.trim()!==""&&o.indexOf(e)===a).join(" ").trim();var h1=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();var p1=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,a,o)=>o?o.toUpperCase():a.toLowerCase());var Zg=t=>{let e=p1(t);return e.charAt(0).toUpperCase()+e.slice(1)};import{forwardRef as pU,createElement as x1}from"react";var $c={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};var m1=t=>{for(let e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};import{createContext as cU,useContext as fU,useMemo as _Y,createElement as HY}from"react";var hU=cU({});var g1=()=>fU(hU);var b1=pU(({color:t,size:e,strokeWidth:a,absoluteStrokeWidth:o,className:r="",children:n,iconNode:s,...i},l)=>{let{size:u=24,strokeWidth:d=2,absoluteStrokeWidth:c=!1,color:f="currentColor",className:h=""}=g1()??{},p=o??c?Number(a??d)*24/Number(e??u):a??d;return x1("svg",{ref:l,...$c,width:e??u??$c.width,height:e??u??$c.height,stroke:t??f,strokeWidth:p,className:Gc("lucide",h,r),...!n&&!m1(i)&&{"aria-hidden":"true"},...i},[...s.map(([m,g])=>x1(m,g)),...Array.isArray(n)?n:[n]])});var ce=(t,e)=>{let a=mU(({className:o,...r},n)=>gU(b1,{ref:n,iconNode:e,className:Gc(`lucide-${h1(Zg(t))}`,`lucide-${t}`,o),...r}));return a.displayName=Zg(t),a};var xU=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M4.929 4.929 19.07 19.071",key:"196cmz"}]],ol=ce("ban",xU);var bU=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],cn=ce("chevron-right",bU);var wU=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],lr=ce("circle-alert",wU);var yU=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],Po=ce("circle-check",yU);var LU=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],ur=ce("ellipsis",LU);var CU=[["path",{d:"M11.35 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v5.35",key:"17jvcc"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M14 19h6",key:"bvotb8"}],["path",{d:"M17 16v6",key:"18yu1i"}]],dr=ce("file-plus-corner",CU);var vU=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Gt=ce("loader-circle",vU);var SU=[["rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2",key:"1w4ew1"}],["path",{d:"M7 11V7a5 5 0 0 1 10 0v4",key:"fwvmzm"}]],rl=ce("lock",SU);var IU=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],nl=ce("maximize-2",IU);var kU=[["path",{d:"m14 10 7-7",key:"oa77jy"}],["path",{d:"M20 10h-6V4",key:"mjg0md"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M4 14h6v6",key:"rmj7iw"}]],sl=ce("minimize-2",kU);var AU=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]],il=ce("network",AU);var MU=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M3 15h18",key:"5xshup"}]],ll=ce("panel-bottom",MU);var PU=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],ul=ce("panel-right",PU);var DU=[["rect",{x:"14",y:"3",width:"5",height:"18",rx:"1",key:"kaeet6"}],["rect",{x:"5",y:"3",width:"5",height:"18",rx:"1",key:"1wsw3u"}]],dl=ce("pause",DU);var RU=[["path",{d:"M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z",key:"10ikf1"}]],fn=ce("play",RU);var TU=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],cl=ce("plus",TU);var EU=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]],fl=ce("refresh-cw",EU);var BU=[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]],hl=ce("rotate-cw",BU);var FU=[["path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z",key:"1c8476"}],["path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7",key:"1ydtos"}],["path",{d:"M7 3v4a1 1 0 0 0 1 1h7",key:"t51u73"}]],pl=ce("save",FU);var OU=[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M12 8v4",key:"1got3b"}],["path",{d:"M12 16h.01",key:"1drbdi"}]],ml=ce("shield-alert",OU);var NU=[["path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18",key:"gugj83"}]],gl=ce("table-2",NU);var _U=[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]],hn=ce("trash-2",_U);var HU=[["rect",{width:"8",height:"8",x:"3",y:"3",rx:"2",key:"by2w9f"}],["path",{d:"M7 11v4a2 2 0 0 0 2 2h4",key:"xkn7yn"}],["rect",{width:"8",height:"8",x:"13",y:"13",rx:"2",key:"1cgmvn"}]],xl=ce("workflow",HU);var zU=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Do=ce("x",zU);function w1(t){var e,a,o="";if(typeof t=="string"||typeof t=="number")o+=t;else if(typeof t=="object")if(Array.isArray(t)){var r=t.length;for(e=0;e<r;e++)t[e]&&(a=w1(t[e]))&&(o&&(o+=" "),o+=a)}else for(a in t)t[a]&&(o&&(o+=" "),o+=a);return o}function Xc(){for(var t,e,a=0,o="",r=arguments.length;a<r;a++)(t=arguments[a])&&(e=w1(t))&&(o&&(o+=" "),o+=e);return o}var qU=(t,e)=>{let a=new Array(t.length+e.length);for(let o=0;o<t.length;o++)a[o]=t[o];for(let o=0;o<e.length;o++)a[t.length+o]=e[o];return a},UU=(t,e)=>({classGroupId:t,validator:e}),I1=(t=new Map,e=null,a)=>({nextPart:t,validators:e,classGroupId:a});var y1=[],WU="arbitrary..",VU=t=>{let e=$U(t),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=t;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return GU(s);let i=s.split("-"),l=i[0]===""&&i.length>1?1:0;return k1(i,l,e)},getConflictingClassGroupIds:(s,i)=>{if(i){let l=o[s],u=a[s];return l?u?qU(u,l):l:u||y1}return a[s]||y1}}},k1=(t,e,a)=>{if(t.length-e===0)return a.classGroupId;let r=t[e],n=a.nextPart.get(r);if(n){let u=k1(t,e+1,n);if(u)return u}let s=a.validators;if(s===null)return;let i=e===0?t.join("-"):t.slice(e).join("-"),l=s.length;for(let u=0;u<l;u++){let d=s[u];if(d.validator(i))return d.classGroupId}},GU=t=>t.slice(1,-1).indexOf(":")===-1?void 0:(()=>{let e=t.slice(1,-1),a=e.indexOf(":"),o=e.slice(0,a);return o?WU+o:void 0})(),$U=t=>{let{theme:e,classGroups:a}=t;return XU(a,e)},XU=(t,e)=>{let a=I1();for(let o in t){let r=t[o];Jg(r,a,o,e)}return a},Jg=(t,e,a,o)=>{let r=t.length;for(let n=0;n<r;n++){let s=t[n];KU(s,e,a,o)}},KU=(t,e,a,o)=>{if(typeof t=="string"){jU(t,e,a);return}if(typeof t=="function"){ZU(t,e,a,o);return}YU(t,e,a,o)},jU=(t,e,a)=>{let o=t===""?e:A1(e,t);o.classGroupId=a},ZU=(t,e,a,o)=>{if(JU(t)){Jg(t(o),e,a,o);return}e.validators===null&&(e.validators=[]),e.validators.push(UU(a,t))},YU=(t,e,a,o)=>{let r=Object.entries(t),n=r.length;for(let s=0;s<n;s++){let[i,l]=r[s];Jg(l,A1(e,i),a,o)}},A1=(t,e)=>{let a=t,o=e.split("-"),r=o.length;for(let n=0;n<r;n++){let s=o[n],i=a.nextPart.get(s);i||(i=I1(),a.nextPart.set(s,i)),a=i}return a},JU=t=>"isThemeGetter"in t&&t.isThemeGetter===!0,QU=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,a=Object.create(null),o=Object.create(null),r=(n,s)=>{a[n]=s,e++,e>t&&(e=0,o=a,a=Object.create(null))};return{get(n){let s=a[n];if(s!==void 0)return s;if((s=o[n])!==void 0)return r(n,s),s},set(n,s){n in a?a[n]=s:r(n,s)}}};var eW=[],L1=(t,e,a,o,r)=>({modifiers:t,hasImportantModifier:e,baseClassName:a,maybePostfixModifierPosition:o,isExternal:r}),tW=t=>{let{prefix:e,experimentalParseClassName:a}=t,o=r=>{let n=[],s=0,i=0,l=0,u,d=r.length;for(let m=0;m<d;m++){let g=r[m];if(s===0&&i===0){if(g===":"){n.push(r.slice(l,m)),l=m+1;continue}if(g==="/"){u=m;continue}}g==="["?s++:g==="]"?s--:g==="("?i++:g===")"&&i--}let c=n.length===0?r:r.slice(l),f=c,h=!1;c.endsWith("!")?(f=c.slice(0,-1),h=!0):c.startsWith("!")&&(f=c.slice(1),h=!0);let p=u&&u>l?u-l:void 0;return L1(n,h,f,p)};if(e){let r=e+":",n=o;o=s=>s.startsWith(r)?n(s.slice(r.length)):L1(eW,!1,s,void 0,!0)}if(a){let r=o;o=n=>a({className:n,parseClassName:r})}return o},aW=t=>{let e=new Map;return t.orderSensitiveModifiers.forEach((a,o)=>{e.set(a,1e6+o)}),a=>{let o=[],r=[];for(let n=0;n<a.length;n++){let s=a[n],i=s[0]==="[",l=e.has(s);i||l?(r.length>0&&(r.sort(),o.push(...r),r=[]),o.push(s)):r.push(s)}return r.length>0&&(r.sort(),o.push(...r)),o}},oW=t=>({cache:QU(t.cacheSize),parseClassName:tW(t),sortModifiers:aW(t),postfixLookupClassGroupIds:rW(t),...VU(t)}),rW=t=>{let e=Object.create(null),a=t.postfixLookupClassGroups;if(a)for(let o=0;o<a.length;o++)e[a[o]]=!0;return e},nW=/\s+/,sW=(t,e)=>{let{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:r,sortModifiers:n,postfixLookupClassGroupIds:s}=e,i=[],l=t.trim().split(nW),u="";for(let d=l.length-1;d>=0;d-=1){let c=l[d],{isExternal:f,modifiers:h,hasImportantModifier:p,baseClassName:m,maybePostfixModifierPosition:g}=a(c);if(f){u=c+(u.length>0?" "+u:u);continue}let x=!!g,y;if(x){let L=m.substring(0,g);y=o(L);let S=y&&s[y]?o(m):void 0;S&&S!==y&&(y=S,x=!1)}else y=o(m);if(!y){if(!x){u=c+(u.length>0?" "+u:u);continue}if(y=o(m),!y){u=c+(u.length>0?" "+u:u);continue}x=!1}let b=h.length===0?"":h.length===1?h[0]:n(h).join(":"),C=p?b+"!":b,I=C+y;if(i.indexOf(I)>-1)continue;i.push(I);let v=r(y,x);for(let L=0;L<v.length;++L){let S=v[L];i.push(C+S)}u=c+(u.length>0?" "+u:u)}return u},iW=(...t)=>{let e=0,a,o,r="";for(;e<t.length;)(a=t[e++])&&(o=M1(a))&&(r&&(r+=" "),r+=o);return r},M1=t=>{if(typeof t=="string")return t;let e,a="";for(let o=0;o<t.length;o++)t[o]&&(e=M1(t[o]))&&(a&&(a+=" "),a+=e);return a},lW=(t,...e)=>{let a,o,r,n,s=l=>{let u=e.reduce((d,c)=>c(d),t());return a=oW(u),o=a.cache.get,r=a.cache.set,n=i,i(l)},i=l=>{let u=o(l);if(u)return u;let d=sW(l,a);return r(l,d),d};return n=s,(...l)=>n(iW(...l))},uW=[],lt=t=>{let e=a=>a[t]||uW;return e.isThemeGetter=!0,e},P1=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,D1=/^\((?:(\w[\w-]*):)?(.+)\)$/i,dW=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,cW=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,fW=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,hW=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,pW=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,mW=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,cr=t=>dW.test(t),xe=t=>!!t&&!Number.isNaN(Number(t)),ro=t=>!!t&&Number.isInteger(Number(t)),Yg=t=>t.endsWith("%")&&xe(t.slice(0,-1)),Ro=t=>cW.test(t),R1=()=>!0,gW=t=>fW.test(t)&&!hW.test(t),Qg=()=>!1,xW=t=>pW.test(t),bW=t=>mW.test(t),wW=t=>!ae(t)&&!re(t),yW=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),LW=t=>fr(t,B1,Qg),ae=t=>P1.test(t),pn=t=>fr(t,F1,gW),C1=t=>fr(t,PW,xe),CW=t=>fr(t,N1,R1),vW=t=>fr(t,O1,Qg),v1=t=>fr(t,T1,Qg),SW=t=>fr(t,E1,bW),Kc=t=>fr(t,_1,xW),re=t=>D1.test(t),bl=t=>mn(t,F1),IW=t=>mn(t,O1),S1=t=>mn(t,T1),kW=t=>mn(t,B1),AW=t=>mn(t,E1),jc=t=>mn(t,_1,!0),MW=t=>mn(t,N1,!0),fr=(t,e,a)=>{let o=P1.exec(t);return o?o[1]?e(o[1]):a(o[2]):!1},mn=(t,e,a=!1)=>{let o=D1.exec(t);return o?o[1]?e(o[1]):a:!1},T1=t=>t==="position"||t==="percentage",E1=t=>t==="image"||t==="url",B1=t=>t==="length"||t==="size"||t==="bg-size",F1=t=>t==="length",PW=t=>t==="number",O1=t=>t==="family-name",N1=t=>t==="number"||t==="weight",_1=t=>t==="shadow";var DW=()=>{let t=lt("color"),e=lt("font"),a=lt("text"),o=lt("font-weight"),r=lt("tracking"),n=lt("leading"),s=lt("breakpoint"),i=lt("container"),l=lt("spacing"),u=lt("radius"),d=lt("shadow"),c=lt("inset-shadow"),f=lt("text-shadow"),h=lt("drop-shadow"),p=lt("blur"),m=lt("perspective"),g=lt("aspect"),x=lt("ease"),y=lt("animate"),b=()=>["auto","avoid","all","avoid-page","page","left","right","column"],C=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],I=()=>[...C(),re,ae],v=()=>["auto","hidden","clip","visible","scroll"],L=()=>["auto","contain","none"],S=()=>[re,ae,l],k=()=>[cr,"full","auto",...S()],z=()=>[ro,"none","subgrid",re,ae],A=()=>["auto",{span:["full",ro,re,ae]},ro,re,ae],P=()=>[ro,"auto",re,ae],H=()=>["auto","min","max","fr",re,ae],M=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],T=()=>["start","end","center","stretch","center-safe","end-safe"],R=()=>["auto",...S()],E=()=>[cr,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...S()],q=()=>[cr,"screen","full","dvw","lvw","svw","min","max","fit",...S()],B=()=>[cr,"screen","full","lh","dvh","lvh","svh","min","max","fit",...S()],D=()=>[t,re,ae],N=()=>[...C(),S1,v1,{position:[re,ae]}],U=()=>["no-repeat",{repeat:["","x","y","space","round"]}],$=()=>["auto","cover","contain",kW,LW,{size:[re,ae]}],_=()=>[Yg,bl,pn],W=()=>["","none","full",u,re,ae],G=()=>["",xe,bl,pn],O=()=>["solid","dashed","dotted","double"],F=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],V=()=>[xe,Yg,S1,v1],ie=()=>["","none",p,re,ae],le=()=>["none",xe,re,ae],J=()=>["none",xe,re,ae],ne=()=>[xe,re,ae],de=()=>[cr,"full",...S()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[Ro],breakpoint:[Ro],color:[R1],container:[Ro],"drop-shadow":[Ro],ease:["in","out","in-out"],font:[wW],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[Ro],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[Ro],shadow:[Ro],spacing:["px",xe],text:[Ro],"text-shadow":[Ro],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",cr,ae,re,g]}],container:["container"],"container-type":[{"@container":["","normal","size",re,ae]}],"container-named":[yW],columns:[{columns:[xe,ae,re,i]}],"break-after":[{"break-after":b()}],"break-before":[{"break-before":b()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:I()}],overflow:[{overflow:v()}],"overflow-x":[{"overflow-x":v()}],"overflow-y":[{"overflow-y":v()}],overscroll:[{overscroll:L()}],"overscroll-x":[{"overscroll-x":L()}],"overscroll-y":[{"overscroll-y":L()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:k()}],"inset-x":[{"inset-x":k()}],"inset-y":[{"inset-y":k()}],start:[{"inset-s":k(),start:k()}],end:[{"inset-e":k(),end:k()}],"inset-bs":[{"inset-bs":k()}],"inset-be":[{"inset-be":k()}],top:[{top:k()}],right:[{right:k()}],bottom:[{bottom:k()}],left:[{left:k()}],visibility:["visible","invisible","collapse"],z:[{z:[ro,"auto",re,ae]}],basis:[{basis:[cr,"full","auto",i,...S()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[xe,cr,"auto","initial","none",ae]}],grow:[{grow:["",xe,re,ae]}],shrink:[{shrink:["",xe,re,ae]}],order:[{order:[ro,"first","last","none",re,ae]}],"grid-cols":[{"grid-cols":z()}],"col-start-end":[{col:A()}],"col-start":[{"col-start":P()}],"col-end":[{"col-end":P()}],"grid-rows":[{"grid-rows":z()}],"row-start-end":[{row:A()}],"row-start":[{"row-start":P()}],"row-end":[{"row-end":P()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":H()}],"auto-rows":[{"auto-rows":H()}],gap:[{gap:S()}],"gap-x":[{"gap-x":S()}],"gap-y":[{"gap-y":S()}],"justify-content":[{justify:[...M(),"normal"]}],"justify-items":[{"justify-items":[...T(),"normal"]}],"justify-self":[{"justify-self":["auto",...T()]}],"align-content":[{content:["normal",...M()]}],"align-items":[{items:[...T(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...T(),{baseline:["","last"]}]}],"place-content":[{"place-content":M()}],"place-items":[{"place-items":[...T(),"baseline"]}],"place-self":[{"place-self":["auto",...T()]}],p:[{p:S()}],px:[{px:S()}],py:[{py:S()}],ps:[{ps:S()}],pe:[{pe:S()}],pbs:[{pbs:S()}],pbe:[{pbe:S()}],pt:[{pt:S()}],pr:[{pr:S()}],pb:[{pb:S()}],pl:[{pl:S()}],m:[{m:R()}],mx:[{mx:R()}],my:[{my:R()}],ms:[{ms:R()}],me:[{me:R()}],mbs:[{mbs:R()}],mbe:[{mbe:R()}],mt:[{mt:R()}],mr:[{mr:R()}],mb:[{mb:R()}],ml:[{ml:R()}],"space-x":[{"space-x":S()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":S()}],"space-y-reverse":["space-y-reverse"],size:[{size:E()}],"inline-size":[{inline:["auto",...q()]}],"min-inline-size":[{"min-inline":["auto",...q()]}],"max-inline-size":[{"max-inline":["none",...q()]}],"block-size":[{block:["auto",...B()]}],"min-block-size":[{"min-block":["auto",...B()]}],"max-block-size":[{"max-block":["none",...B()]}],w:[{w:[i,"screen",...E()]}],"min-w":[{"min-w":[i,"screen","none",...E()]}],"max-w":[{"max-w":[i,"screen","none","prose",{screen:[s]},...E()]}],h:[{h:["screen","lh",...E()]}],"min-h":[{"min-h":["screen","lh","none",...E()]}],"max-h":[{"max-h":["screen","lh",...E()]}],"font-size":[{text:["base",a,bl,pn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,MW,CW]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Yg,ae]}],"font-family":[{font:[IW,vW,e]}],"font-features":[{"font-features":[ae]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[r,re,ae]}],"line-clamp":[{"line-clamp":[xe,"none",re,C1]}],leading:[{leading:[n,...S()]}],"list-image":[{"list-image":["none",re,ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",re,ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:D()}],"text-color":[{text:D()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...O(),"wavy"]}],"text-decoration-thickness":[{decoration:[xe,"from-font","auto",re,pn]}],"text-decoration-color":[{decoration:D()}],"underline-offset":[{"underline-offset":[xe,"auto",re,ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:S()}],"tab-size":[{tab:[ro,re,ae]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",re,ae]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",re,ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:U()}],"bg-size":[{bg:$()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},ro,re,ae],radial:["",re,ae],conic:[ro,re,ae]},AW,SW]}],"bg-color":[{bg:D()}],"gradient-from-pos":[{from:_()}],"gradient-via-pos":[{via:_()}],"gradient-to-pos":[{to:_()}],"gradient-from":[{from:D()}],"gradient-via":[{via:D()}],"gradient-to":[{to:D()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:G()}],"border-w-x":[{"border-x":G()}],"border-w-y":[{"border-y":G()}],"border-w-s":[{"border-s":G()}],"border-w-e":[{"border-e":G()}],"border-w-bs":[{"border-bs":G()}],"border-w-be":[{"border-be":G()}],"border-w-t":[{"border-t":G()}],"border-w-r":[{"border-r":G()}],"border-w-b":[{"border-b":G()}],"border-w-l":[{"border-l":G()}],"divide-x":[{"divide-x":G()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":G()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...O(),"hidden","none"]}],"divide-style":[{divide:[...O(),"hidden","none"]}],"border-color":[{border:D()}],"border-color-x":[{"border-x":D()}],"border-color-y":[{"border-y":D()}],"border-color-s":[{"border-s":D()}],"border-color-e":[{"border-e":D()}],"border-color-bs":[{"border-bs":D()}],"border-color-be":[{"border-be":D()}],"border-color-t":[{"border-t":D()}],"border-color-r":[{"border-r":D()}],"border-color-b":[{"border-b":D()}],"border-color-l":[{"border-l":D()}],"divide-color":[{divide:D()}],"outline-style":[{outline:[...O(),"none","hidden"]}],"outline-offset":[{"outline-offset":[xe,re,ae]}],"outline-w":[{outline:["",xe,bl,pn]}],"outline-color":[{outline:D()}],shadow:[{shadow:["","none",d,jc,Kc]}],"shadow-color":[{shadow:D()}],"inset-shadow":[{"inset-shadow":["none",c,jc,Kc]}],"inset-shadow-color":[{"inset-shadow":D()}],"ring-w":[{ring:G()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:D()}],"ring-offset-w":[{"ring-offset":[xe,pn]}],"ring-offset-color":[{"ring-offset":D()}],"inset-ring-w":[{"inset-ring":G()}],"inset-ring-color":[{"inset-ring":D()}],"text-shadow":[{"text-shadow":["none",f,jc,Kc]}],"text-shadow-color":[{"text-shadow":D()}],opacity:[{opacity:[xe,re,ae]}],"mix-blend":[{"mix-blend":[...F(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":F()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[xe]}],"mask-image-linear-from-pos":[{"mask-linear-from":V()}],"mask-image-linear-to-pos":[{"mask-linear-to":V()}],"mask-image-linear-from-color":[{"mask-linear-from":D()}],"mask-image-linear-to-color":[{"mask-linear-to":D()}],"mask-image-t-from-pos":[{"mask-t-from":V()}],"mask-image-t-to-pos":[{"mask-t-to":V()}],"mask-image-t-from-color":[{"mask-t-from":D()}],"mask-image-t-to-color":[{"mask-t-to":D()}],"mask-image-r-from-pos":[{"mask-r-from":V()}],"mask-image-r-to-pos":[{"mask-r-to":V()}],"mask-image-r-from-color":[{"mask-r-from":D()}],"mask-image-r-to-color":[{"mask-r-to":D()}],"mask-image-b-from-pos":[{"mask-b-from":V()}],"mask-image-b-to-pos":[{"mask-b-to":V()}],"mask-image-b-from-color":[{"mask-b-from":D()}],"mask-image-b-to-color":[{"mask-b-to":D()}],"mask-image-l-from-pos":[{"mask-l-from":V()}],"mask-image-l-to-pos":[{"mask-l-to":V()}],"mask-image-l-from-color":[{"mask-l-from":D()}],"mask-image-l-to-color":[{"mask-l-to":D()}],"mask-image-x-from-pos":[{"mask-x-from":V()}],"mask-image-x-to-pos":[{"mask-x-to":V()}],"mask-image-x-from-color":[{"mask-x-from":D()}],"mask-image-x-to-color":[{"mask-x-to":D()}],"mask-image-y-from-pos":[{"mask-y-from":V()}],"mask-image-y-to-pos":[{"mask-y-to":V()}],"mask-image-y-from-color":[{"mask-y-from":D()}],"mask-image-y-to-color":[{"mask-y-to":D()}],"mask-image-radial":[{"mask-radial":[re,ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":V()}],"mask-image-radial-to-pos":[{"mask-radial-to":V()}],"mask-image-radial-from-color":[{"mask-radial-from":D()}],"mask-image-radial-to-color":[{"mask-radial-to":D()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":C()}],"mask-image-conic-pos":[{"mask-conic":[xe]}],"mask-image-conic-from-pos":[{"mask-conic-from":V()}],"mask-image-conic-to-pos":[{"mask-conic-to":V()}],"mask-image-conic-from-color":[{"mask-conic-from":D()}],"mask-image-conic-to-color":[{"mask-conic-to":D()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:U()}],"mask-size":[{mask:$()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",re,ae]}],filter:[{filter:["","none",re,ae]}],blur:[{blur:ie()}],brightness:[{brightness:[xe,re,ae]}],contrast:[{contrast:[xe,re,ae]}],"drop-shadow":[{"drop-shadow":["","none",h,jc,Kc]}],"drop-shadow-color":[{"drop-shadow":D()}],grayscale:[{grayscale:["",xe,re,ae]}],"hue-rotate":[{"hue-rotate":[xe,re,ae]}],invert:[{invert:["",xe,re,ae]}],saturate:[{saturate:[xe,re,ae]}],sepia:[{sepia:["",xe,re,ae]}],"backdrop-filter":[{"backdrop-filter":["","none",re,ae]}],"backdrop-blur":[{"backdrop-blur":ie()}],"backdrop-brightness":[{"backdrop-brightness":[xe,re,ae]}],"backdrop-contrast":[{"backdrop-contrast":[xe,re,ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",xe,re,ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[xe,re,ae]}],"backdrop-invert":[{"backdrop-invert":["",xe,re,ae]}],"backdrop-opacity":[{"backdrop-opacity":[xe,re,ae]}],"backdrop-saturate":[{"backdrop-saturate":[xe,re,ae]}],"backdrop-sepia":[{"backdrop-sepia":["",xe,re,ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":S()}],"border-spacing-x":[{"border-spacing-x":S()}],"border-spacing-y":[{"border-spacing-y":S()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",re,ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[xe,"initial",re,ae]}],ease:[{ease:["linear","initial",x,re,ae]}],delay:[{delay:[xe,re,ae]}],animate:[{animate:["none",y,re,ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[m,re,ae]}],"perspective-origin":[{"perspective-origin":I()}],rotate:[{rotate:le()}],"rotate-x":[{"rotate-x":le()}],"rotate-y":[{"rotate-y":le()}],"rotate-z":[{"rotate-z":le()}],scale:[{scale:J()}],"scale-x":[{"scale-x":J()}],"scale-y":[{"scale-y":J()}],"scale-z":[{"scale-z":J()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[re,ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:I()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:de()}],"translate-x":[{"translate-x":de()}],"translate-y":[{"translate-y":de()}],"translate-z":[{"translate-z":de()}],"translate-none":["translate-none"],zoom:[{zoom:[ro,re,ae]}],accent:[{accent:D()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:D()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",re,ae]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":D()}],"scrollbar-track-color":[{"scrollbar-track":D()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":S()}],"scroll-mx":[{"scroll-mx":S()}],"scroll-my":[{"scroll-my":S()}],"scroll-ms":[{"scroll-ms":S()}],"scroll-me":[{"scroll-me":S()}],"scroll-mbs":[{"scroll-mbs":S()}],"scroll-mbe":[{"scroll-mbe":S()}],"scroll-mt":[{"scroll-mt":S()}],"scroll-mr":[{"scroll-mr":S()}],"scroll-mb":[{"scroll-mb":S()}],"scroll-ml":[{"scroll-ml":S()}],"scroll-p":[{"scroll-p":S()}],"scroll-px":[{"scroll-px":S()}],"scroll-py":[{"scroll-py":S()}],"scroll-ps":[{"scroll-ps":S()}],"scroll-pe":[{"scroll-pe":S()}],"scroll-pbs":[{"scroll-pbs":S()}],"scroll-pbe":[{"scroll-pbe":S()}],"scroll-pt":[{"scroll-pt":S()}],"scroll-pr":[{"scroll-pr":S()}],"scroll-pb":[{"scroll-pb":S()}],"scroll-pl":[{"scroll-pl":S()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",re,ae]}],fill:[{fill:["none",...D()]}],"stroke-w":[{stroke:[xe,bl,pn,C1]}],stroke:[{stroke:["none",...D()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}};var H1=lW(DW);function ue(...t){return H1(Xc(t))}var Zc=[{id:"system",label:"System UI",stack:"ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, sans-serif"},{id:"sans",label:"Sans-serif",stack:"Inter, Helvetica, Arial, sans-serif"},{id:"serif",label:"Serif",stack:"ui-serif, Georgia, Cambria, Times New Roman, serif"},{id:"mono",label:"Monospace",stack:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace"}],RW=new Map(Zc.map(t=>[t.id,t.stack]));function z1(t){return RW.get(t)??Zc[0].stack}import To from"react";import{Fragment as FW,jsx as Ot,jsxs as wl}from"react/jsx-runtime";var TW=({children:t})=>{let{apiBaseUrl:e}=et(),[a,o]=To.useState(null),[r,n]=To.useState(!0),s=To.useCallback(async i=>{n(!0);try{let l=await gm(e,i);o(l)}catch{i?.aborted||o(null)}finally{i?.aborted||n(!1)}},[e]);return To.useEffect(()=>{let i=new AbortController;return s(i.signal),()=>i.abort()},[s]),r&&!a?wl(EW,{children:[Ot(Gt,{className:"size-4 animate-spin"}),Ot("span",{children:"Checking access\u2026"})]}):a?.isAdmin?Ot(FW,{children:t}):Ot(BW,{mode:a&&!a.claimed?"signup":"signin",onDone:()=>s(),loggedInButNotAdmin:!!a?.authenticated})},EW=({children:t})=>Ot("div",{className:"flex h-full items-center justify-center gap-2 text-[12px] text-muted-foreground",children:t}),BW=({mode:t,onDone:e,loggedInButNotAdmin:a})=>{let{apiBaseUrl:o}=et(),[r,n]=To.useState(""),[s,i]=To.useState(""),[l,u]=To.useState(""),[d,c]=To.useState(!1),[f,h]=To.useState(null),p=t==="signup";return Ot("div",{className:"flex h-full items-center justify-center p-4",children:wl("form",{onSubmit:async g=>{g.preventDefault(),c(!0),h(null);try{p?await ym(o,r,s,l):await wm(o,s,l),e()}catch(x){h(x instanceof Error?x.message:String(x))}finally{c(!1)}},className:"w-full max-w-64 space-y-2.5",children:[wl("div",{className:"space-y-0.5",children:[Ot("div",{className:"text-[13px] font-medium text-foreground",children:p?"Claim this instance":"Sign in to devtools"}),Ot("div",{className:"text-[11px] text-muted-foreground",children:p?"No users yet \u2014 create the first account (becomes console admin).":"Console-operator access required."})]}),a?wl("div",{className:"flex items-start gap-1.5 rounded-md border border-yellow-400/30 bg-yellow-500/10 px-2 py-1.5 text-[11px] text-yellow-300",children:[Ot(ml,{className:"mt-px size-3.5 shrink-0"}),Ot("span",{children:"This account isn't a console operator. Sign in with an admin account."})]}):null,p?Ot("input",{type:"text",required:!0,autoComplete:"name",placeholder:"Name",value:r,onChange:g=>n(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}):null,Ot("input",{type:"email",required:!0,autoComplete:"username",placeholder:"Email",value:s,onChange:g=>i(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),Ot("input",{type:"password",required:!0,minLength:8,autoComplete:p?"new-password":"current-password",placeholder:p?"Password (min 8)":"Password",value:l,onChange:g=>u(g.target.value),className:"h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"}),f?Ot("div",{className:"text-[11px] text-red-400",children:f}):null,wl("button",{type:"submit",disabled:d,className:ue("flex h-7 w-full items-center justify-center gap-1.5 rounded-md bg-foreground text-[12px] font-medium text-background outline-none transition-opacity",d?"opacity-60":"hover:opacity-90"),children:[d?Ot(Gt,{className:"size-3.5 animate-spin"}):null,p?"Create admin account":"Sign in"]})]})})},q1=TW;import $t from"react";import{jsx as Be,jsxs as Ls}from"react/jsx-runtime";var U1=5e3,W1=500,OW=5e3;function NW(t,e){return`${Ur(t)}${e}`}function _W(t){if(t.parsed)try{let e=JSON.parse(t.raw),a=e.level==="info"||e.level==="warn"||e.level==="error"?e.level:"plain";return{id:G1(),raw:t.raw,level:a,parsed:e}}catch{}return{id:G1(),raw:t.raw,level:"plain",parsed:null}}var V1=0;function G1(){return V1+=1,V1}var X1={info:"bg-blue-500/20 text-blue-300 border-blue-400/30",warn:"bg-yellow-500/20 text-yellow-300 border-yellow-400/30",error:"bg-red-500/20 text-red-300 border-red-400/30",plain:"bg-zinc-700/40 text-zinc-300 border-zinc-500/30"},HW=()=>{let{apiBaseUrl:t}=et(),{consoleFilter:e,setConsoleFilter:a,consolePaused:o,setConsolePaused:r}=Ft(),[n,s]=$t.useState([]),[i,l]=$t.useState({}),u=$t.useRef(null),d=$t.useRef(!0),c=$t.useRef(o);c.current=o,$t.useEffect(()=>{let x=!0,y=null,b=W1,C=null,I=()=>{if(x){try{y=new WebSocket(NW(t,"/_console/logs/ws"),Lm("nimbit-logs"))}catch{v();return}y.onopen=()=>{b=W1},y.onmessage=L=>{if(c.current||typeof L.data!="string")return;let S;try{S=JSON.parse(L.data)}catch{return}if(!S.lines||S.lines.length===0)return;let k=S.lines.map(_W);s(z=>{let A=z.concat(k);return A.length>U1?A.slice(A.length-U1):A})},y.onerror=()=>{},y.onclose=()=>{y=null,v()}}},v=()=>{x&&(C=setTimeout(()=>{b=Math.min(b*2,OW),I()},b))};return I(),()=>{x=!1,C&&clearTimeout(C),y&&y.close()}},[t]);let f=$t.useCallback(()=>{let x=u.current;if(!x)return;let y=x.scrollHeight-(x.scrollTop+x.clientHeight)<8;d.current=y},[]),h=$t.useRef(0);$t.useEffect(()=>{d.current&&(h.current||(h.current=requestAnimationFrame(()=>{h.current=0;let x=u.current;x&&(x.scrollTop=x.scrollHeight)})))},[n]),$t.useEffect(()=>()=>{h.current&&cancelAnimationFrame(h.current)},[]);let p=$t.useMemo(()=>n.filter(x=>e[x.level]),[n,e]),m=$t.useCallback(x=>a(y=>({...y,[x]:!y[x]})),[]),g=$t.useCallback(x=>{let y=x.target;for(;y&&y!==x.currentTarget;){let b=y.dataset.rowId;if(b){let C=Number(b);Number.isFinite(C)&&l(I=>({...I,[C]:!I[C]}));return}y=y.parentElement}},[]);return Ls("div",{className:"flex h-full flex-col",children:[Ls("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-background px-1.5 select-none",children:[Be($1,{"aria-label":o?"Resume":"Pause",onClick:()=>r(x=>!x),children:o?Be(fn,{className:"size-3.5"}):Be(dl,{className:"size-3.5"})}),Be($1,{"aria-label":"Clear",onClick:()=>{s([]),l({})},children:Be(hn,{className:"size-3.5"})}),Be("div",{className:"mx-1 h-3 w-px bg-border/60"}),["info","warn","error","plain"].map(x=>Be(zW,{label:x,active:e[x],level:x,onClick:()=>m(x)},x)),Be("div",{className:"flex-1"}),Ls("span",{className:"text-[11px] text-muted-foreground tabular-nums",children:[p.length," / ",n.length]})]}),Be("div",{ref:u,onScroll:f,style:{overflowAnchor:"none"},className:"min-h-0 flex-1 overflow-auto font-mono text-[11px] leading-[1.45]",children:p.length===0?Be("div",{className:"p-3 text-muted-foreground",children:"Waiting for console output\u2026"}):Be("ul",{onClick:g,children:p.map(x=>Be(UW,{entry:x,expanded:!!i[x.id]},x.id))})})]})},$1=({className:t,children:e,...a})=>Be("button",{type:"button",className:ue("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",t),...a,children:e}),zW=({label:t,level:e,active:a,onClick:o})=>Be("button",{type:"button",onClick:o,"data-active":a,className:ue("h-5 rounded-md border px-1.5 text-[11px] leading-none transition-colors","data-[active=false]:opacity-40 data-[active=false]:hover:opacity-70",X1[e]),children:t}),qW=({entry:t,expanded:e})=>{if(t.level==="plain"||!t.parsed)return Be("li",{className:"border-b border-border/30 px-2 py-0.5 text-zinc-400 whitespace-pre-wrap break-words",style:{contain:"content"},children:t.raw});let a=t.parsed,o=Array.isArray(a.stack)&&a.stack.length>0;return Ls("li",{className:"border-b border-border/30",style:{contain:"content"},"data-row-id":o?t.id:void 0,children:[Ls("div",{className:ue("flex items-start gap-1.5 px-2 py-0.5",o&&"cursor-pointer hover:bg-accent/30"),children:[o?Be(cn,{className:ue("mt-0.5 size-3 shrink-0 transition-transform",e&&"rotate-90")}):Be("span",{className:"inline-block size-3 shrink-0"}),Be("span",{className:ue("shrink-0 rounded border px-1 text-[10px] font-medium uppercase tracking-wide",X1[t.level]),children:t.level}),a.ts&&Be("span",{className:"shrink-0 text-zinc-500 tabular-nums",children:a.ts}),Be("span",{className:"break-words text-zinc-200",children:a.msg??t.raw})]}),o&&e&&Be("ul",{className:"border-t border-border/20 bg-accent/10 px-7 py-1",children:a.stack.map((r,n)=>Ls("li",{className:"text-zinc-400 whitespace-pre-wrap break-words",children:[Be("span",{className:"text-zinc-300",children:r.proc||"<anon>"}),Be("span",{className:"text-zinc-500",children:" @ "}),Be("span",{children:r.file}),Be("span",{className:"text-zinc-500",children:":"}),Be("span",{className:"tabular-nums text-zinc-300",children:r.line})]},n))})]})},UW=$t.memo(qW,(t,e)=>t.entry===e.entry&&t.expanded===e.expanded),K1=HW;import{jsx as VW}from"react/jsx-runtime";var WW=()=>VW("div",{className:"p-3 text-muted-foreground",children:"Network placeholder"}),j1=WW;import za from"react";import*as sM from"react";import*as tA from"react";import*as aA from"react-dom";var Jc={};Gx(Jc,{Root:()=>$W,Slot:()=>$W,Slottable:()=>XW,createSlot:()=>Cs,createSlottable:()=>eA});import*as Lt from"react";import*as Y1 from"react";function Z1(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function GW(...t){return e=>{let a=!1,o=t.map(r=>{let n=Z1(r,e);return!a&&typeof n=="function"&&(a=!0),n});if(a)return()=>{for(let r=0;r<o.length;r++){let n=o[r];typeof n=="function"?n():Z1(t[r],null)}}}}function _a(...t){return Y1.useCallback(GW(...t),t)}function Cs(t){let e=Lt.forwardRef((a,o)=>{let{children:r,...n}=a,s=null,i=!1,l=[];J1(r)&&typeof Yc=="function"&&(r=Yc(r._payload)),Lt.Children.forEach(r,f=>{if(YW(f)){i=!0;let h=f,p="child"in h.props?h.props.child:h.props.children;J1(p)&&typeof Yc=="function"&&(p=Yc(p._payload)),s=KW(h,p),l.push(s?.props?.children)}else l.push(f)}),s?s=Lt.cloneElement(s,void 0,l):!i&&Lt.Children.count(r)===1&&Lt.isValidElement(r)&&(s=r);let u=s?ZW(s):void 0,d=_a(o,u);if(!s){if(r||r===0)throw new Error(i?tV(t):eV(t));return r}let c=jW(n,s.props??{});return s.type!==Lt.Fragment&&(c.ref=o?d:u),Lt.cloneElement(s,c)});return e.displayName=`${t}.Slot`,e}var $W=Cs("Slot"),Q1=Symbol.for("radix.slottable");function eA(t){let e=a=>"child"in a?a.children(a.child):a.children;return e.displayName=`${t}.Slottable`,e.__radixId=Q1,e}var XW=eA("Slottable"),KW=(t,e)=>{if("child"in t.props){let a=t.props.child;return Lt.isValidElement(a)?Lt.cloneElement(a,void 0,t.props.children(a.props.children)):null}return Lt.isValidElement(e)?e:null};function jW(t,e){let a={...e};for(let o in e){let r=t[o],n=e[o];/^on[A-Z]/.test(o)?r&&n?a[o]=(...i)=>{let l=n(...i);return r(...i),l}:r&&(a[o]=r):o==="style"?a[o]={...r,...n}:o==="className"&&(a[o]=[r,n].filter(Boolean).join(" "))}return{...t,...a}}function ZW(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}function YW(t){return Lt.isValidElement(t)&&typeof t.type=="function"&&"__radixId"in t.type&&t.type.__radixId===Q1}var JW=Symbol.for("react.lazy");function J1(t){return t!=null&&typeof t=="object"&&"$$typeof"in t&&t.$$typeof===JW&&"_payload"in t&&QW(t._payload)}function QW(t){return typeof t=="object"&&t!==null&&"then"in t}var eV=t=>`${t} failed to slot onto its children. Expected a single React element child or \`Slottable\`.`,tV=t=>`${t} failed to slot onto its \`Slottable\`. Expected \`Slottable\` to receive a single React element child.`,Yc=Lt[" use ".trim().toString()];import{jsx as aV}from"react/jsx-runtime";var oV=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],oa=oV.reduce((t,e)=>{let a=Cs(`Primitive.${e}`),o=tA.forwardRef((r,n)=>{let{asChild:s,...i}=r,l=s?a:e;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),aV(l,{...i,ref:n})});return o.displayName=`Primitive.${e}`,{...t,[e]:o}},{});function oA(t,e){t&&aA.flushSync(()=>t.dispatchEvent(e))}import*as xa from"react";import{jsx as rA}from"react/jsx-runtime";function nA(t,e){let a=xa.createContext(e);a.displayName=t+"Context";let o=n=>{let{children:s,...i}=n,l=xa.useMemo(()=>i,Object.values(i));return rA(a.Provider,{value:l,children:s})};o.displayName=t+"Provider";function r(n){let s=xa.useContext(a);if(s)return s;if(e!==void 0)return e;throw new Error(`\`${n}\` must be used within \`${t}\``)}return[o,r]}function sA(t,e=[]){let a=[];function o(n,s){let i=xa.createContext(s);i.displayName=n+"Context";let l=a.length;a=[...a,s];let u=c=>{let{scope:f,children:h,...p}=c,m=f?.[t]?.[l]||i,g=xa.useMemo(()=>p,Object.values(p));return rA(m.Provider,{value:g,children:h})};u.displayName=n+"Provider";function d(c,f){let h=f?.[t]?.[l]||i,p=xa.useContext(h);if(p)return p;if(s!==void 0)return s;throw new Error(`\`${c}\` must be used within \`${n}\``)}return[u,d]}let r=()=>{let n=a.map(s=>xa.createContext(s));return function(i){let l=i?.[t]||n;return xa.useMemo(()=>({[`__scope${t}`]:{...i,[t]:l}}),[i,l])}};return r.scopeName=t,[o,rV(r,...e)]}function rV(...t){let e=t[0];if(t.length===1)return e;let a=()=>{let o=t.map(r=>({useScope:r(),scopeName:r.scopeName}));return function(n){let s=o.reduce((i,{useScope:l,scopeName:u})=>{let c=l(n)[`__scope${u}`];return{...i,...c}},{});return xa.useMemo(()=>({[`__scope${e.scopeName}`]:s}),[s])}};return a.scopeName=e.scopeName,a}var jQ=!!(typeof window<"u"&&window.document&&window.document.createElement);function no(t,e,{checkForDefaultPrevented:a=!0}={}){return function(r){if(t?.(r),a===!1||!r.defaultPrevented)return e?.(r)}}import*as ba from"react";import*as iA from"react";var Eo=globalThis?.document?iA.useLayoutEffect:()=>{};import*as Qc from"react";var nV=ba[" useInsertionEffect ".trim().toString()]||Eo;function lA({prop:t,defaultProp:e,onChange:a=()=>{},caller:o}){let[r,n,s]=sV({defaultProp:e,onChange:a}),i=t!==void 0,l=i?t:r;{let d=ba.useRef(t!==void 0);ba.useEffect(()=>{let c=d.current;c!==i&&console.warn(`${o} is changing from ${c?"controlled":"uncontrolled"} to ${i?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),d.current=i},[i,o])}let u=ba.useCallback(d=>{if(i){let c=iV(d)?d(t):d;c!==t&&s.current?.(c)}else n(d)},[i,t,n,s]);return[l,u]}function sV({defaultProp:t,onChange:e}){let[a,o]=ba.useState(t),r=ba.useRef(a),n=ba.useRef(e);return nV(()=>{n.current=e},[e]),ba.useEffect(()=>{r.current!==a&&(n.current?.(a),r.current=a)},[a,r]),[a,o,n]}function iV(t){return typeof t=="function"}import*as kt from"react";import*as dA from"react";function lV(t,e){return dA.useReducer((a,o)=>e[a][o]??a,t)}var yl=t=>{let{present:e,children:a}=t,o=uV(e),r=typeof a=="function"?a({present:o.isPresent}):kt.Children.only(a),n=dV(o.ref,cV(r));return typeof a=="function"||o.isPresent?kt.cloneElement(r,{ref:n}):null};yl.displayName="Presence";function uV(t){let[e,a]=kt.useState(),o=kt.useRef(null),r=kt.useRef(t),n=kt.useRef("none"),s=t?"mounted":"unmounted",[i,l]=lV(s,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return kt.useEffect(()=>{let u=ef(o.current);n.current=i==="mounted"?u:"none"},[i]),Eo(()=>{let u=o.current,d=r.current;if(d!==t){let f=n.current,h=ef(u);t?l("MOUNT"):h==="none"||u?.display==="none"?l("UNMOUNT"):l(d&&f!==h?"ANIMATION_OUT":"UNMOUNT"),r.current=t}},[t,l]),Eo(()=>{if(e){let u,d=e.ownerDocument.defaultView??window,c=h=>{let m=ef(o.current).includes(CSS.escape(h.animationName));if(h.target===e&&m&&(l("ANIMATION_END"),!r.current)){let g=e.style.animationFillMode;e.style.animationFillMode="forwards",u=d.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=g)})}},f=h=>{h.target===e&&(n.current=ef(o.current))};return e.addEventListener("animationstart",f),e.addEventListener("animationcancel",c),e.addEventListener("animationend",c),()=>{d.clearTimeout(u),e.removeEventListener("animationstart",f),e.removeEventListener("animationcancel",c),e.removeEventListener("animationend",c)}}else l("ANIMATION_END")},[e,l]),{isPresent:["mounted","unmountSuspended"].includes(i),ref:kt.useCallback(u=>{o.current=u?getComputedStyle(u):null,a(u)},[])}}function uA(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function dV(...t){let e=kt.useRef(t);return e.current=t,kt.useCallback(a=>{let o=e.current,r=!1,n=o.map(s=>{let i=uA(s,a);return!r&&typeof i=="function"&&(r=!0),i});if(r)return()=>{for(let s=0;s<n.length;s++){let i=n[s];typeof i=="function"?i():uA(o[s],null)}}},[])}function ef(t){return t?.animationName||"none"}function cV(t){let e=Object.getOwnPropertyDescriptor(t.props,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning;return a?t.ref:(e=Object.getOwnPropertyDescriptor(t,"ref")?.get,a=e&&"isReactWarning"in e&&e.isReactWarning,a?t.props.ref:t.props.ref||t.ref)}import*as ex from"react";var fV=ex[" useId ".trim().toString()]||(()=>{}),hV=0;function tf(t){let[e,a]=ex.useState(fV());return Eo(()=>{t||a(o=>o??String(hV++))},[t]),t||(e?`radix-${e}`:"")}var so={};Gx(so,{Close:()=>y4,Content:()=>x4,Description:()=>w4,Dialog:()=>Cx,DialogClose:()=>Rx,DialogContent:()=>Ax,DialogDescription:()=>Dx,DialogOverlay:()=>kx,DialogPortal:()=>Ix,DialogTitle:()=>Px,DialogTrigger:()=>vx,Overlay:()=>g4,Portal:()=>m4,Root:()=>h4,Title:()=>b4,Trigger:()=>p4,WarningProvider:()=>u4,createDialogScope:()=>a4});import*as Fe from"react";import*as Ve from"react";import*as vs from"react";function hr(t){let e=vs.useRef(t);return vs.useEffect(()=>{e.current=t}),vs.useMemo(()=>((...a)=>e.current?.(...a)),[])}import*as cA from"react";function fA(t,e=globalThis?.document){let a=hr(t);cA.useEffect(()=>{let o=r=>{r.key==="Escape"&&a(r)};return e.addEventListener("keydown",o,{capture:!0}),()=>e.removeEventListener("keydown",o,{capture:!0})},[a,e])}import{jsx as mA}from"react/jsx-runtime";var pV="DismissableLayer",tx="dismissableLayer.update",mV="dismissableLayer.pointerDownOutside",gV="dismissableLayer.focusOutside",hA,gA=Ve.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),ax=Ve.forwardRef((t,e)=>{let{disableOutsidePointerEvents:a=!1,onEscapeKeyDown:o,onPointerDownOutside:r,onFocusOutside:n,onInteractOutside:s,onDismiss:i,...l}=t,u=Ve.useContext(gA),[d,c]=Ve.useState(null),f=d?.ownerDocument??globalThis?.document,[,h]=Ve.useState({}),p=_a(e,L=>c(L)),m=Array.from(u.layers),[g]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),x=m.indexOf(g),y=d?m.indexOf(d):-1,b=u.layersWithOutsidePointerEventsDisabled.size>0,C=y>=x,I=wV(L=>{let S=L.target,k=[...u.branches].some(z=>z.contains(S));!C||k||(r?.(L),s?.(L),L.defaultPrevented||i?.())},f),v=yV(L=>{let S=L.target;[...u.branches].some(z=>z.contains(S))||(n?.(L),s?.(L),L.defaultPrevented||i?.())},f);return fA(L=>{y===u.layers.size-1&&(o?.(L),!L.defaultPrevented&&i&&(L.preventDefault(),i()))},f),Ve.useEffect(()=>{if(d)return a&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(hA=f.body.style.pointerEvents,f.body.style.pointerEvents="none"),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),pA(),()=>{a&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(f.body.style.pointerEvents=hA))}},[d,f,a,u]),Ve.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),pA())},[d,u]),Ve.useEffect(()=>{let L=()=>h({});return document.addEventListener(tx,L),()=>document.removeEventListener(tx,L)},[]),mA(oa.div,{...l,ref:p,style:{pointerEvents:b?C?"auto":"none":void 0,...t.style},onFocusCapture:no(t.onFocusCapture,v.onFocusCapture),onBlurCapture:no(t.onBlurCapture,v.onBlurCapture),onPointerDownCapture:no(t.onPointerDownCapture,I.onPointerDownCapture)})});ax.displayName=pV;var xV="DismissableLayerBranch",bV=Ve.forwardRef((t,e)=>{let a=Ve.useContext(gA),o=Ve.useRef(null),r=_a(e,o);return Ve.useEffect(()=>{let n=o.current;if(n)return a.branches.add(n),()=>{a.branches.delete(n)}},[a.branches]),mA(oa.div,{...t,ref:r})});bV.displayName=xV;function wV(t,e=globalThis?.document){let a=hr(t),o=Ve.useRef(!1),r=Ve.useRef(()=>{});return Ve.useEffect(()=>{let n=i=>{if(i.target&&!o.current){let u=function(){xA(mV,a,d,{discrete:!0})};var l=u;let d={originalEvent:i};i.pointerType==="touch"?(e.removeEventListener("click",r.current),r.current=u,e.addEventListener("click",r.current,{once:!0})):u()}else e.removeEventListener("click",r.current);o.current=!1},s=window.setTimeout(()=>{e.addEventListener("pointerdown",n)},0);return()=>{window.clearTimeout(s),e.removeEventListener("pointerdown",n),e.removeEventListener("click",r.current)}},[e,a]),{onPointerDownCapture:()=>o.current=!0}}function yV(t,e=globalThis?.document){let a=hr(t),o=Ve.useRef(!1);return Ve.useEffect(()=>{let r=n=>{n.target&&!o.current&&xA(gV,a,{originalEvent:n},{discrete:!1})};return e.addEventListener("focusin",r),()=>e.removeEventListener("focusin",r)},[e,a]),{onFocusCapture:()=>o.current=!0,onBlurCapture:()=>o.current=!1}}function pA(){let t=new CustomEvent(tx);document.dispatchEvent(t)}function xA(t,e,a,{discrete:o}){let r=a.originalEvent.target,n=new CustomEvent(t,{bubbles:!1,cancelable:!0,detail:a});e&&r.addEventListener(t,e,{once:!0}),o?oA(r,n):r.dispatchEvent(n)}import*as wa from"react";import{jsx as LV}from"react/jsx-runtime";var ox="focusScope.autoFocusOnMount",rx="focusScope.autoFocusOnUnmount",bA={bubbles:!1,cancelable:!0},CV="FocusScope",nx=wa.forwardRef((t,e)=>{let{loop:a=!1,trapped:o=!1,onMountAutoFocus:r,onUnmountAutoFocus:n,...s}=t,[i,l]=wa.useState(null),u=hr(r),d=hr(n),c=wa.useRef(null),f=_a(e,m=>l(m)),h=wa.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;wa.useEffect(()=>{if(o){let y=function(v){if(h.paused||!i)return;let L=v.target;i.contains(L)?c.current=L:pr(c.current,{select:!0})},b=function(v){if(h.paused||!i)return;let L=v.relatedTarget;L!==null&&(i.contains(L)||pr(c.current,{select:!0}))},C=function(v){if(document.activeElement===document.body)for(let S of v)S.removedNodes.length>0&&pr(i)};var m=y,g=b,x=C;document.addEventListener("focusin",y),document.addEventListener("focusout",b);let I=new MutationObserver(C);return i&&I.observe(i,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",y),document.removeEventListener("focusout",b),I.disconnect()}}},[o,i,h.paused]),wa.useEffect(()=>{if(i){yA.add(h);let m=document.activeElement;if(!i.contains(m)){let x=new CustomEvent(ox,bA);i.addEventListener(ox,u),i.dispatchEvent(x),x.defaultPrevented||(vV(MV(CA(i)),{select:!0}),document.activeElement===m&&pr(i))}return()=>{i.removeEventListener(ox,u),setTimeout(()=>{let x=new CustomEvent(rx,bA);i.addEventListener(rx,d),i.dispatchEvent(x),x.defaultPrevented||pr(m??document.body,{select:!0}),i.removeEventListener(rx,d),yA.remove(h)},0)}}},[i,u,d,h]);let p=wa.useCallback(m=>{if(!a&&!o||h.paused)return;let g=m.key==="Tab"&&!m.altKey&&!m.ctrlKey&&!m.metaKey,x=document.activeElement;if(g&&x){let y=m.currentTarget,[b,C]=SV(y);b&&C?!m.shiftKey&&x===C?(m.preventDefault(),a&&pr(b,{select:!0})):m.shiftKey&&x===b&&(m.preventDefault(),a&&pr(C,{select:!0})):x===y&&m.preventDefault()}},[a,o,h.paused]);return LV(oa.div,{tabIndex:-1,...s,ref:f,onKeyDown:p})});nx.displayName=CV;function vV(t,{select:e=!1}={}){let a=document.activeElement;for(let o of t)if(pr(o,{select:e}),document.activeElement!==a)return}function SV(t){let e=CA(t),a=wA(e,t),o=wA(e.reverse(),t);return[a,o]}function CA(t){let e=[],a=document.createTreeWalker(t,NodeFilter.SHOW_ELEMENT,{acceptNode:o=>{let r=o.tagName==="INPUT"&&o.type==="hidden";return o.disabled||o.hidden||r?NodeFilter.FILTER_SKIP:o.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;a.nextNode();)e.push(a.currentNode);return e}function wA(t,e){for(let a of t)if(!IV(a,{upTo:e}))return a}function IV(t,{upTo:e}){if(getComputedStyle(t).visibility==="hidden")return!0;for(;t;){if(e!==void 0&&t===e)return!1;if(getComputedStyle(t).display==="none")return!0;t=t.parentElement}return!1}function kV(t){return t instanceof HTMLInputElement&&"select"in t}function pr(t,{select:e=!1}={}){if(t&&t.focus){let a=document.activeElement;t.focus({preventScroll:!0}),t!==a&&kV(t)&&e&&t.select()}}var yA=AV();function AV(){let t=[];return{add(e){let a=t[0];e!==a&&a?.pause(),t=LA(t,e),t.unshift(e)},remove(e){t=LA(t,e),t[0]?.resume()}}}function LA(t,e){let a=[...t],o=a.indexOf(e);return o!==-1&&a.splice(o,1),a}function MV(t){return t.filter(e=>e.tagName!=="A")}import*as af from"react";import*as vA from"react-dom";import{jsx as PV}from"react/jsx-runtime";var DV="Portal",sx=af.forwardRef((t,e)=>{let{container:a,...o}=t,[r,n]=af.useState(!1);Eo(()=>n(!0),[]);let s=a||r&&globalThis?.document?.body;return s?vA.createPortal(PV(oa.div,{...o,ref:e}),s):null});sx.displayName=DV;import*as IA from"react";var of=0,Ss=null;function kA(){IA.useEffect(()=>{Ss||(Ss={start:SA(),end:SA()});let{start:t,end:e}=Ss;return document.body.firstElementChild!==t&&document.body.insertAdjacentElement("afterbegin",t),document.body.lastElementChild!==e&&document.body.insertAdjacentElement("beforeend",e),of++,()=>{of===1&&(Ss?.start.remove(),Ss?.end.remove(),Ss=null),of=Math.max(0,of-1)}},[])}function SA(){let t=document.createElement("span");return t.setAttribute("data-radix-focus-guard",""),t.tabIndex=0,t.style.outline="none",t.style.opacity="0",t.style.position="fixed",t.style.pointerEvents="none",t}var Xt=function(){return Xt=Object.assign||function(e){for(var a,o=1,r=arguments.length;o<r;o++){a=arguments[o];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},Xt.apply(this,arguments)};function rf(t,e){var a={};for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e.indexOf(o)<0&&(a[o]=t[o]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,o=Object.getOwnPropertySymbols(t);r<o.length;r++)e.indexOf(o[r])<0&&Object.prototype.propertyIsEnumerable.call(t,o[r])&&(a[o[r]]=t[o[r]]);return a}function AA(t,e,a){if(a||arguments.length===2)for(var o=0,r=e.length,n;o<r;o++)(n||!(o in e))&&(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))}import*as df from"react";import*as At from"react";var gn="right-scroll-bar-position",xn="width-before-scroll-bar",ix="with-scroll-bars-hidden",lx="--removed-body-scroll-bar-size";function nf(t,e){return typeof t=="function"?t(e):t&&(t.current=e),t}import{useState as RV}from"react";function MA(t,e){var a=RV(function(){return{value:t,callback:e,facade:{get current(){return a.value},set current(o){var r=a.value;r!==o&&(a.value=o,a.callback(o,r))}}}})[0];return a.callback=e,a.facade}import*as sf from"react";var TV=typeof window<"u"?sf.useLayoutEffect:sf.useEffect,PA=new WeakMap;function ux(t,e){var a=MA(e||null,function(o){return t.forEach(function(r){return nf(r,o)})});return TV(function(){var o=PA.get(a);if(o){var r=new Set(o),n=new Set(t),s=a.current;r.forEach(function(i){n.has(i)||nf(i,null)}),n.forEach(function(i){r.has(i)||nf(i,s)})}PA.set(a,t)},[t]),a}function EV(t){return t}function BV(t,e){e===void 0&&(e=EV);var a=[],o=!1,r={read:function(){if(o)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return a.length?a[a.length-1]:t},useMedium:function(n){var s=e(n,o);return a.push(s),function(){a=a.filter(function(i){return i!==s})}},assignSyncMedium:function(n){for(o=!0;a.length;){var s=a;a=[],s.forEach(n)}a={push:function(i){return n(i)},filter:function(){return a}}},assignMedium:function(n){o=!0;var s=[];if(a.length){var i=a;a=[],i.forEach(n),s=a}var l=function(){var d=s;s=[],d.forEach(n)},u=function(){return Promise.resolve().then(l)};u(),a={push:function(d){s.push(d),u()},filter:function(d){return s=s.filter(d),a}}}};return r}function dx(t){t===void 0&&(t={});var e=BV(null);return e.options=Xt({async:!0,ssr:!1},t),e}import*as DA from"react";var RA=function(t){var e=t.sideCar,a=rf(t,["sideCar"]);if(!e)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var o=e.read();if(!o)throw new Error("Sidecar medium not found");return DA.createElement(o,Xt({},a))};RA.isSideCarExport=!0;function cx(t,e){return t.useMedium(e),RA}var lf=dx();var fx=function(){},Ll=At.forwardRef(function(t,e){var a=At.useRef(null),o=At.useState({onScrollCapture:fx,onWheelCapture:fx,onTouchMoveCapture:fx}),r=o[0],n=o[1],s=t.forwardProps,i=t.children,l=t.className,u=t.removeScrollBar,d=t.enabled,c=t.shards,f=t.sideCar,h=t.noRelative,p=t.noIsolation,m=t.inert,g=t.allowPinchZoom,x=t.as,y=x===void 0?"div":x,b=t.gapMode,C=rf(t,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),I=f,v=ux([a,e]),L=Xt(Xt({},C),r);return At.createElement(At.Fragment,null,d&&At.createElement(I,{sideCar:lf,removeScrollBar:u,shards:c,noRelative:h,noIsolation:p,inert:m,setCallbacks:n,allowPinchZoom:!!g,lockRef:a,gapMode:b}),s?At.cloneElement(At.Children.only(i),Xt(Xt({},L),{ref:v})):At.createElement(y,Xt({},L,{className:l,ref:v}),i))});Ll.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};Ll.classNames={fullWidth:xn,zeroRight:gn};import*as _e from"react";import*as ks from"react";import*as BA from"react";var TA;var EA=function(){if(TA)return TA;if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function FV(){if(!document)return null;var t=document.createElement("style");t.type="text/css";var e=EA();return e&&t.setAttribute("nonce",e),t}function OV(t,e){t.styleSheet?t.styleSheet.cssText=e:t.appendChild(document.createTextNode(e))}function NV(t){var e=document.head||document.getElementsByTagName("head")[0];e.appendChild(t)}var hx=function(){var t=0,e=null;return{add:function(a){t==0&&(e=FV())&&(OV(e,a),NV(e)),t++},remove:function(){t--,!t&&e&&(e.parentNode&&e.parentNode.removeChild(e),e=null)}}};var px=function(){var t=hx();return function(e,a){BA.useEffect(function(){return t.add(e),function(){t.remove()}},[e&&a])}};var Cl=function(){var t=px(),e=function(a){var o=a.styles,r=a.dynamic;return t(o,r),null};return e};var _V={left:0,top:0,right:0,gap:0},mx=function(t){return parseInt(t||"",10)||0},HV=function(t){var e=window.getComputedStyle(document.body),a=e[t==="padding"?"paddingLeft":"marginLeft"],o=e[t==="padding"?"paddingTop":"marginTop"],r=e[t==="padding"?"paddingRight":"marginRight"];return[mx(a),mx(o),mx(r)]},gx=function(t){if(t===void 0&&(t="margin"),typeof window>"u")return _V;var e=HV(t),a=document.documentElement.clientWidth,o=window.innerWidth;return{left:e[0],top:e[1],right:e[2],gap:Math.max(0,o-a+e[2]-e[0])}};var zV=Cl(),Is="data-scroll-locked",qV=function(t,e,a,o){var r=t.left,n=t.top,s=t.right,i=t.gap;return a===void 0&&(a="margin"),`
28
+ .`.concat(ix,` {
29
29
  overflow: hidden `).concat(o,`;
30
30
  padding-right: `).concat(i,"px ").concat(o,`;
31
31
  }
32
- body[`).concat(bs,`] {
32
+ body[`).concat(Is,`] {
33
33
  overflow: hidden `).concat(o,`;
34
34
  overscroll-behavior: contain;
35
35
  `).concat([e&&"position: relative ".concat(o,";"),a==="margin"&&`
@@ -42,38 +42,38 @@ var vP=Object.create;var cf=Object.defineProperty;var SP=Object.getOwnPropertyDe
42
42
  `),a==="padding"&&"padding-right: ".concat(i,"px ").concat(o,";")].filter(Boolean).join(""),`
43
43
  }
44
44
 
45
- .`).concat(cn,` {
45
+ .`).concat(gn,` {
46
46
  right: `).concat(i,"px ").concat(o,`;
47
47
  }
48
48
 
49
- .`).concat(fn,` {
49
+ .`).concat(xn,` {
50
50
  margin-right: `).concat(i,"px ").concat(o,`;
51
51
  }
52
52
 
53
- .`).concat(cn," .").concat(cn,` {
53
+ .`).concat(gn," .").concat(gn,` {
54
54
  right: 0 `).concat(o,`;
55
55
  }
56
56
 
57
- .`).concat(fn," .").concat(fn,` {
57
+ .`).concat(xn," .").concat(xn,` {
58
58
  margin-right: 0 `).concat(o,`;
59
59
  }
60
60
 
61
- body[`).concat(bs,`] {
62
- `).concat(Zg,": ").concat(i,`px;
61
+ body[`).concat(Is,`] {
62
+ `).concat(lx,": ").concat(i,`px;
63
63
  }
64
- `)},CA=function(){var t=parseInt(document.body.getAttribute(bs)||"0",10);return isFinite(t)?t:0},yV=function(){ws.useEffect(function(){return document.body.setAttribute(bs,(CA()+1).toString()),function(){var t=CA()-1;t<=0?document.body.removeAttribute(bs):document.body.setAttribute(bs,t.toString())}},[])},nx=function(t){var e=t.noRelative,a=t.noImportant,o=t.gapMode,r=o===void 0?"margin":o;yV();var n=ws.useMemo(function(){return rx(r)},[r]);return ws.createElement(bV,{styles:wV(n,!e,r,a?"":"!important")})};var sx=!1;if(typeof window<"u")try{hl=Object.defineProperty({},"passive",{get:function(){return sx=!0,!0}}),window.addEventListener("test",hl,hl),window.removeEventListener("test",hl,hl)}catch{sx=!1}var hl,hn=sx?{passive:!1}:!1;var LV=function(t){return t.tagName==="TEXTAREA"},vA=function(t,e){if(!(t instanceof Element))return!1;var a=window.getComputedStyle(t);return a[e]!=="hidden"&&!(a.overflowY===a.overflowX&&!LV(t)&&a[e]==="visible")},CV=function(t){return vA(t,"overflowY")},vV=function(t){return vA(t,"overflowX")},ix=function(t,e){var a=e.ownerDocument,o=e;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=SA(t,o);if(r){var n=IA(t,o),s=n[1],i=n[2];if(s>i)return!0}o=o.parentNode}while(o&&o!==a.body);return!1},SV=function(t){var e=t.scrollTop,a=t.scrollHeight,o=t.clientHeight;return[e,a,o]},IV=function(t){var e=t.scrollLeft,a=t.scrollWidth,o=t.clientWidth;return[e,a,o]},SA=function(t,e){return t==="v"?CV(e):vV(e)},IA=function(t,e){return t==="v"?SV(e):IV(e)},kV=function(t,e){return t==="h"&&e==="rtl"?-1:1},kA=function(t,e,a,o,r){var n=kV(t,window.getComputedStyle(e).direction),s=n*o,i=a.target,l=e.contains(i),u=!1,d=s>0,c=0,f=0;do{if(!i)break;var h=IA(t,i),p=h[0],m=h[1],g=h[2],x=m-g-n*p;(p||x)&&SA(t,i)&&(c+=x,f+=p);var y=i.parentNode;i=y&&y.nodeType===Node.DOCUMENT_FRAGMENT_NODE?y.host:y}while(!l&&i!==document.body||l&&(e.contains(i)||e===i));return(d&&(r&&Math.abs(c)<1||!r&&s>c)||!d&&(r&&Math.abs(f)<1||!r&&-s>f))&&(u=!0),u};var Yc=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},AA=function(t){return[t.deltaX,t.deltaY]},MA=function(t){return t&&"current"in t?t.current:t},AV=function(t,e){return t[0]===e[0]&&t[1]===e[1]},MV=function(t){return`
64
+ `)},FA=function(){var t=parseInt(document.body.getAttribute(Is)||"0",10);return isFinite(t)?t:0},UV=function(){ks.useEffect(function(){return document.body.setAttribute(Is,(FA()+1).toString()),function(){var t=FA()-1;t<=0?document.body.removeAttribute(Is):document.body.setAttribute(Is,t.toString())}},[])},xx=function(t){var e=t.noRelative,a=t.noImportant,o=t.gapMode,r=o===void 0?"margin":o;UV();var n=ks.useMemo(function(){return gx(r)},[r]);return ks.createElement(zV,{styles:qV(n,!e,r,a?"":"!important")})};var bx=!1;if(typeof window<"u")try{vl=Object.defineProperty({},"passive",{get:function(){return bx=!0,!0}}),window.addEventListener("test",vl,vl),window.removeEventListener("test",vl,vl)}catch{bx=!1}var vl,bn=bx?{passive:!1}:!1;var WV=function(t){return t.tagName==="TEXTAREA"},OA=function(t,e){if(!(t instanceof Element))return!1;var a=window.getComputedStyle(t);return a[e]!=="hidden"&&!(a.overflowY===a.overflowX&&!WV(t)&&a[e]==="visible")},VV=function(t){return OA(t,"overflowY")},GV=function(t){return OA(t,"overflowX")},wx=function(t,e){var a=e.ownerDocument,o=e;do{typeof ShadowRoot<"u"&&o instanceof ShadowRoot&&(o=o.host);var r=NA(t,o);if(r){var n=_A(t,o),s=n[1],i=n[2];if(s>i)return!0}o=o.parentNode}while(o&&o!==a.body);return!1},$V=function(t){var e=t.scrollTop,a=t.scrollHeight,o=t.clientHeight;return[e,a,o]},XV=function(t){var e=t.scrollLeft,a=t.scrollWidth,o=t.clientWidth;return[e,a,o]},NA=function(t,e){return t==="v"?VV(e):GV(e)},_A=function(t,e){return t==="v"?$V(e):XV(e)},KV=function(t,e){return t==="h"&&e==="rtl"?-1:1},HA=function(t,e,a,o,r){var n=KV(t,window.getComputedStyle(e).direction),s=n*o,i=a.target,l=e.contains(i),u=!1,d=s>0,c=0,f=0;do{if(!i)break;var h=_A(t,i),p=h[0],m=h[1],g=h[2],x=m-g-n*p;(p||x)&&NA(t,i)&&(c+=x,f+=p);var y=i.parentNode;i=y&&y.nodeType===Node.DOCUMENT_FRAGMENT_NODE?y.host:y}while(!l&&i!==document.body||l&&(e.contains(i)||e===i));return(d&&(r&&Math.abs(c)<1||!r&&s>c)||!d&&(r&&Math.abs(f)<1||!r&&-s>f))&&(u=!0),u};var uf=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},zA=function(t){return[t.deltaX,t.deltaY]},qA=function(t){return t&&"current"in t?t.current:t},jV=function(t,e){return t[0]===e[0]&&t[1]===e[1]},ZV=function(t){return`
65
65
  .block-interactivity-`.concat(t,` {pointer-events: none;}
66
66
  .allow-interactivity-`).concat(t,` {pointer-events: all;}
67
- `)},PV=0,ys=[];function PA(t){var e=Ne.useRef([]),a=Ne.useRef([0,0]),o=Ne.useRef(),r=Ne.useState(PV++)[0],n=Ne.useState(fl)[0],s=Ne.useRef(t);Ne.useEffect(function(){s.current=t},[t]),Ne.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(r));var m=pA([t.lockRef.current],(t.shards||[]).map(MA),!0).filter(Boolean);return m.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),m.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[t.inert,t.lockRef.current,t.shards]);var i=Ne.useCallback(function(m,g){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!s.current.allowPinchZoom;var x=Yc(m),y=a.current,w="deltaX"in m?m.deltaX:y[0]-x[0],C="deltaY"in m?m.deltaY:y[1]-x[1],I,v=m.target,L=Math.abs(w)>Math.abs(C)?"h":"v";if("touches"in m&&L==="h"&&v.type==="range")return!1;var S=window.getSelection(),A=S&&S.anchorNode,H=A?A===v||A.contains(v):!1;if(H)return!1;var M=ix(L,v);if(!M)return!0;if(M?I=L:(I=L==="v"?"h":"v",M=ix(L,v)),!M)return!1;if(!o.current&&"changedTouches"in m&&(w||C)&&(o.current=I),!I)return!0;var R=o.current||I;return kA(R,g,m,R==="h"?w:C,!0)},[]),l=Ne.useCallback(function(m){var g=m;if(!(!ys.length||ys[ys.length-1]!==n)){var x="deltaY"in g?AA(g):Yc(g),y=e.current.filter(function(I){return I.name===g.type&&(I.target===g.target||g.target===I.shadowParent)&&AV(I.delta,x)})[0];if(y&&y.should){g.cancelable&&g.preventDefault();return}if(!y){var w=(s.current.shards||[]).map(MA).filter(Boolean).filter(function(I){return I.contains(g.target)}),C=w.length>0?i(g,w[0]):!s.current.noIsolation;C&&g.cancelable&&g.preventDefault()}}},[]),u=Ne.useCallback(function(m,g,x,y){var w={name:m,delta:g,target:x,should:y,shadowParent:DV(x)};e.current.push(w),setTimeout(function(){e.current=e.current.filter(function(C){return C!==w})},1)},[]),d=Ne.useCallback(function(m){a.current=Yc(m),o.current=void 0},[]),c=Ne.useCallback(function(m){u(m.type,AA(m),m.target,i(m,t.lockRef.current))},[]),f=Ne.useCallback(function(m){u(m.type,Yc(m),m.target,i(m,t.lockRef.current))},[]);Ne.useEffect(function(){return ys.push(n),t.setCallbacks({onScrollCapture:c,onWheelCapture:c,onTouchMoveCapture:f}),document.addEventListener("wheel",l,hn),document.addEventListener("touchmove",l,hn),document.addEventListener("touchstart",d,hn),function(){ys=ys.filter(function(m){return m!==n}),document.removeEventListener("wheel",l,hn),document.removeEventListener("touchmove",l,hn),document.removeEventListener("touchstart",d,hn)}},[]);var h=t.removeScrollBar,p=t.inert;return Ne.createElement(Ne.Fragment,null,p?Ne.createElement(n,{styles:MV(r)}):null,h?Ne.createElement(nx,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function DV(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}var DA=Qg(Zc,PA);var RA=Jc.forwardRef(function(t,e){return Jc.createElement(cl,Wt({},t,{ref:e,sideCar:DA}))});RA.classNames=cl.classNames;var lx=RA;var RV=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},Ls=new WeakMap,Qc=new WeakMap,ef={},ux=0,TA=function(t){return t&&(t.host||TA(t.parentNode))},TV=function(t,e){return e.map(function(a){if(t.contains(a))return a;var o=TA(a);return o&&t.contains(o)?o:(console.error("aria-hidden",a,"in not contained inside",t,". Doing nothing"),null)}).filter(function(a){return!!a})},EV=function(t,e,a,o){var r=TV(e,Array.isArray(t)?t:[t]);ef[a]||(ef[a]=new WeakMap);var n=ef[a],s=[],i=new Set,l=new Set(r),u=function(c){!c||i.has(c)||(i.add(c),u(c.parentNode))};r.forEach(u);var d=function(c){!c||l.has(c)||Array.prototype.forEach.call(c.children,function(f){if(i.has(f))d(f);else try{var h=f.getAttribute(o),p=h!==null&&h!=="false",m=(Ls.get(f)||0)+1,g=(n.get(f)||0)+1;Ls.set(f,m),n.set(f,g),s.push(f),m===1&&p&&Qc.set(f,!0),g===1&&f.setAttribute(a,"true"),p||f.setAttribute(o,"true")}catch(x){console.error("aria-hidden: cannot operate on ",f,x)}})};return d(e),i.clear(),ux++,function(){s.forEach(function(c){var f=Ls.get(c)-1,h=n.get(c)-1;Ls.set(c,f),n.set(c,h),f||(Qc.has(c)||c.removeAttribute(o),Qc.delete(c)),h||c.removeAttribute(a)}),ux--,ux||(Ls=new WeakMap,Ls=new WeakMap,Qc=new WeakMap,ef={})}},EA=function(t,e,a){a===void 0&&(a="data-aria-hidden");var o=Array.from(Array.isArray(t)?t:[t]),r=e||RV(t);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),EV(o,r,a,"aria-hidden")):function(){return null}};import{Fragment as BA,jsx as Je,jsxs as FA}from"react/jsx-runtime";var af="Dialog",[OA,BV]=X1(af),[FV,Oa]=OA(af),dx=t=>{let{__scopeDialog:e,children:a,open:o,defaultOpen:r,onOpenChange:n,modal:s=!0}=t,i=Be.useRef(null),l=Be.useRef(null),[u,d]=j1({prop:o,defaultProp:r??!1,onChange:n,caller:af});return Je(FV,{scope:e,triggerRef:i,contentRef:l,contentId:Vc(),titleId:Vc(),descriptionId:Vc(),open:u,onOpenChange:d,onOpenToggle:Be.useCallback(()=>d(c=>!c),[d]),modal:s,children:a})};dx.displayName=af;var NA="DialogTrigger",cx=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(NA,a),n=Fa(e,r.triggerRef);return Je(Qt.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":yx(r.open),...o,ref:n,onClick:ao(t.onClick,r.onOpenToggle)})});cx.displayName=NA;var fx="DialogPortal",[OV,_A]=OA(fx,{forceMount:void 0}),hx=t=>{let{__scopeDialog:e,forceMount:a,children:o,container:r}=t,n=Oa(fx,e);return Je(OV,{scope:e,forceMount:a,children:Be.Children.map(o,s=>Je(dl,{present:a||n.open,children:Je(Kg,{asChild:!0,container:r,children:s})}))})};hx.displayName=fx;var tf="DialogOverlay",px=Be.forwardRef((t,e)=>{let a=_A(tf,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=Oa(tf,t.__scopeDialog);return n.modal?Je(dl,{present:o||n.open,children:Je(_V,{...r,ref:e})}):null});px.displayName=tf;var NV=ms("DialogOverlay.RemoveScroll"),_V=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(tf,a);return Je(lx,{as:NV,allowPinchZoom:!0,shards:[r.contentRef],children:Je(Qt.div,{"data-state":yx(r.open),...o,ref:e,style:{pointerEvents:"auto",...o.style}})})}),pn="DialogContent",mx=Be.forwardRef((t,e)=>{let a=_A(pn,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=Oa(pn,t.__scopeDialog);return Je(dl,{present:o||n.open,children:n.modal?Je(HV,{...r,ref:e}):Je(zV,{...r,ref:e})})});mx.displayName=pn;var HV=Be.forwardRef((t,e)=>{let a=Oa(pn,t.__scopeDialog),o=Be.useRef(null),r=Fa(e,a.contentRef,o);return Be.useEffect(()=>{let n=o.current;if(n)return EA(n)},[]),Je(HA,{...t,ref:r,trapFocus:a.open,disableOutsidePointerEvents:a.open,onCloseAutoFocus:ao(t.onCloseAutoFocus,n=>{n.preventDefault(),a.triggerRef.current?.focus()}),onPointerDownOutside:ao(t.onPointerDownOutside,n=>{let s=n.detail.originalEvent,i=s.button===0&&s.ctrlKey===!0;(s.button===2||i)&&n.preventDefault()}),onFocusOutside:ao(t.onFocusOutside,n=>n.preventDefault())})}),zV=Be.forwardRef((t,e)=>{let a=Oa(pn,t.__scopeDialog),o=Be.useRef(!1),r=Be.useRef(!1);return Je(HA,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{t.onCloseAutoFocus?.(n),n.defaultPrevented||(o.current||a.triggerRef.current?.focus(),n.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:n=>{t.onInteractOutside?.(n),n.defaultPrevented||(o.current=!0,n.detail.originalEvent.type==="pointerdown"&&(r.current=!0));let s=n.target;a.triggerRef.current?.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&r.current&&n.preventDefault()}})}),HA=Be.forwardRef((t,e)=>{let{__scopeDialog:a,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:n,...s}=t,i=Oa(pn,a),l=Be.useRef(null),u=Fa(e,l);return hA(),FA(BA,{children:[Je(Xg,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:n,children:Je(Vg,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":yx(i.open),...s,ref:u,onDismiss:()=>i.onOpenChange(!1)})}),FA(BA,{children:[Je(UV,{titleId:i.titleId}),Je(VV,{contentRef:l,descriptionId:i.descriptionId})]})]})}),gx="DialogTitle",xx=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(gx,a);return Je(Qt.h2,{id:r.titleId,...o,ref:e})});xx.displayName=gx;var zA="DialogDescription",bx=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(zA,a);return Je(Qt.p,{id:r.descriptionId,...o,ref:e})});bx.displayName=zA;var qA="DialogClose",wx=Be.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Oa(qA,a);return Je(Qt.button,{type:"button",...o,ref:e,onClick:ao(t.onClick,()=>r.onOpenChange(!1))})});wx.displayName=qA;function yx(t){return t?"open":"closed"}var UA="DialogTitleWarning",[qV,WA]=$1(UA,{contentName:pn,titleName:gx,docsSlug:"dialog"}),UV=({titleId:t})=>{let e=WA(UA),a=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
67
+ `)},YV=0,As=[];function UA(t){var e=_e.useRef([]),a=_e.useRef([0,0]),o=_e.useRef(),r=_e.useState(YV++)[0],n=_e.useState(Cl)[0],s=_e.useRef(t);_e.useEffect(function(){s.current=t},[t]),_e.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(r));var m=AA([t.lockRef.current],(t.shards||[]).map(qA),!0).filter(Boolean);return m.forEach(function(g){return g.classList.add("allow-interactivity-".concat(r))}),function(){document.body.classList.remove("block-interactivity-".concat(r)),m.forEach(function(g){return g.classList.remove("allow-interactivity-".concat(r))})}}},[t.inert,t.lockRef.current,t.shards]);var i=_e.useCallback(function(m,g){if("touches"in m&&m.touches.length===2||m.type==="wheel"&&m.ctrlKey)return!s.current.allowPinchZoom;var x=uf(m),y=a.current,b="deltaX"in m?m.deltaX:y[0]-x[0],C="deltaY"in m?m.deltaY:y[1]-x[1],I,v=m.target,L=Math.abs(b)>Math.abs(C)?"h":"v";if("touches"in m&&L==="h"&&v.type==="range")return!1;var S=window.getSelection(),k=S&&S.anchorNode,z=k?k===v||k.contains(v):!1;if(z)return!1;var A=wx(L,v);if(!A)return!0;if(A?I=L:(I=L==="v"?"h":"v",A=wx(L,v)),!A)return!1;if(!o.current&&"changedTouches"in m&&(b||C)&&(o.current=I),!I)return!0;var P=o.current||I;return HA(P,g,m,P==="h"?b:C,!0)},[]),l=_e.useCallback(function(m){var g=m;if(!(!As.length||As[As.length-1]!==n)){var x="deltaY"in g?zA(g):uf(g),y=e.current.filter(function(I){return I.name===g.type&&(I.target===g.target||g.target===I.shadowParent)&&jV(I.delta,x)})[0];if(y&&y.should){g.cancelable&&g.preventDefault();return}if(!y){var b=(s.current.shards||[]).map(qA).filter(Boolean).filter(function(I){return I.contains(g.target)}),C=b.length>0?i(g,b[0]):!s.current.noIsolation;C&&g.cancelable&&g.preventDefault()}}},[]),u=_e.useCallback(function(m,g,x,y){var b={name:m,delta:g,target:x,should:y,shadowParent:JV(x)};e.current.push(b),setTimeout(function(){e.current=e.current.filter(function(C){return C!==b})},1)},[]),d=_e.useCallback(function(m){a.current=uf(m),o.current=void 0},[]),c=_e.useCallback(function(m){u(m.type,zA(m),m.target,i(m,t.lockRef.current))},[]),f=_e.useCallback(function(m){u(m.type,uf(m),m.target,i(m,t.lockRef.current))},[]);_e.useEffect(function(){return As.push(n),t.setCallbacks({onScrollCapture:c,onWheelCapture:c,onTouchMoveCapture:f}),document.addEventListener("wheel",l,bn),document.addEventListener("touchmove",l,bn),document.addEventListener("touchstart",d,bn),function(){As=As.filter(function(m){return m!==n}),document.removeEventListener("wheel",l,bn),document.removeEventListener("touchmove",l,bn),document.removeEventListener("touchstart",d,bn)}},[]);var h=t.removeScrollBar,p=t.inert;return _e.createElement(_e.Fragment,null,p?_e.createElement(n,{styles:ZV(r)}):null,h?_e.createElement(xx,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function JV(t){for(var e=null;t!==null;)t instanceof ShadowRoot&&(e=t.host,t=t.host),t=t.parentNode;return e}var WA=cx(lf,UA);var VA=df.forwardRef(function(t,e){return df.createElement(Ll,Xt({},t,{ref:e,sideCar:WA}))});VA.classNames=Ll.classNames;var yx=VA;var QV=function(t){if(typeof document>"u")return null;var e=Array.isArray(t)?t[0]:t;return e.ownerDocument.body},Ms=new WeakMap,cf=new WeakMap,ff={},Lx=0,GA=function(t){return t&&(t.host||GA(t.parentNode))},e4=function(t,e){return e.map(function(a){if(t.contains(a))return a;var o=GA(a);return o&&t.contains(o)?o:(console.error("aria-hidden",a,"in not contained inside",t,". Doing nothing"),null)}).filter(function(a){return!!a})},t4=function(t,e,a,o){var r=e4(e,Array.isArray(t)?t:[t]);ff[a]||(ff[a]=new WeakMap);var n=ff[a],s=[],i=new Set,l=new Set(r),u=function(c){!c||i.has(c)||(i.add(c),u(c.parentNode))};r.forEach(u);var d=function(c){!c||l.has(c)||Array.prototype.forEach.call(c.children,function(f){if(i.has(f))d(f);else try{var h=f.getAttribute(o),p=h!==null&&h!=="false",m=(Ms.get(f)||0)+1,g=(n.get(f)||0)+1;Ms.set(f,m),n.set(f,g),s.push(f),m===1&&p&&cf.set(f,!0),g===1&&f.setAttribute(a,"true"),p||f.setAttribute(o,"true")}catch(x){console.error("aria-hidden: cannot operate on ",f,x)}})};return d(e),i.clear(),Lx++,function(){s.forEach(function(c){var f=Ms.get(c)-1,h=n.get(c)-1;Ms.set(c,f),n.set(c,h),f||(cf.has(c)||c.removeAttribute(o),cf.delete(c)),h||c.removeAttribute(a)}),Lx--,Lx||(Ms=new WeakMap,Ms=new WeakMap,cf=new WeakMap,ff={})}},$A=function(t,e,a){a===void 0&&(a="data-aria-hidden");var o=Array.from(Array.isArray(t)?t:[t]),r=e||QV(t);return r?(o.push.apply(o,Array.from(r.querySelectorAll("[aria-live], script"))),t4(o,r,a,"aria-hidden")):function(){return null}};import{Fragment as XA,jsx as at,jsxs as KA}from"react/jsx-runtime";var pf="Dialog",[jA,a4]=sA(pf),[o4,Ha]=jA(pf),Cx=t=>{let{__scopeDialog:e,children:a,open:o,defaultOpen:r,onOpenChange:n,modal:s=!0}=t,i=Fe.useRef(null),l=Fe.useRef(null),[u,d]=lA({prop:o,defaultProp:r??!1,onChange:n,caller:pf});return at(o4,{scope:e,triggerRef:i,contentRef:l,contentId:tf(),titleId:tf(),descriptionId:tf(),open:u,onOpenChange:d,onOpenToggle:Fe.useCallback(()=>d(c=>!c),[d]),modal:s,children:a})};Cx.displayName=pf;var ZA="DialogTrigger",vx=Fe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Ha(ZA,a),n=_a(e,r.triggerRef);return at(oa.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.open?r.contentId:void 0,"data-state":Tx(r.open),...o,ref:n,onClick:no(t.onClick,r.onOpenToggle)})});vx.displayName=ZA;var Sx="DialogPortal",[r4,YA]=jA(Sx,{forceMount:void 0}),Ix=t=>{let{__scopeDialog:e,forceMount:a,children:o,container:r}=t,n=Ha(Sx,e);return at(r4,{scope:e,forceMount:a,children:Fe.Children.map(o,s=>at(yl,{present:a||n.open,children:at(sx,{asChild:!0,container:r,children:s})}))})};Ix.displayName=Sx;var hf="DialogOverlay",kx=Fe.forwardRef((t,e)=>{let a=YA(hf,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=Ha(hf,t.__scopeDialog);return n.modal?at(yl,{present:o||n.open,children:at(s4,{...r,ref:e})}):null});kx.displayName=hf;var n4=Cs("DialogOverlay.RemoveScroll"),s4=Fe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Ha(hf,a);return at(yx,{as:n4,allowPinchZoom:!0,shards:[r.contentRef],children:at(oa.div,{"data-state":Tx(r.open),...o,ref:e,style:{pointerEvents:"auto",...o.style}})})}),wn="DialogContent",Ax=Fe.forwardRef((t,e)=>{let a=YA(wn,t.__scopeDialog),{forceMount:o=a.forceMount,...r}=t,n=Ha(wn,t.__scopeDialog);return at(yl,{present:o||n.open,children:n.modal?at(i4,{...r,ref:e}):at(l4,{...r,ref:e})})});Ax.displayName=wn;var i4=Fe.forwardRef((t,e)=>{let a=Ha(wn,t.__scopeDialog),o=Fe.useRef(null),r=_a(e,a.contentRef,o);return Fe.useEffect(()=>{let n=o.current;if(n)return $A(n)},[]),at(JA,{...t,ref:r,trapFocus:a.open,disableOutsidePointerEvents:a.open,onCloseAutoFocus:no(t.onCloseAutoFocus,n=>{n.preventDefault(),a.triggerRef.current?.focus()}),onPointerDownOutside:no(t.onPointerDownOutside,n=>{let s=n.detail.originalEvent,i=s.button===0&&s.ctrlKey===!0;(s.button===2||i)&&n.preventDefault()}),onFocusOutside:no(t.onFocusOutside,n=>n.preventDefault())})}),l4=Fe.forwardRef((t,e)=>{let a=Ha(wn,t.__scopeDialog),o=Fe.useRef(!1),r=Fe.useRef(!1);return at(JA,{...t,ref:e,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{t.onCloseAutoFocus?.(n),n.defaultPrevented||(o.current||a.triggerRef.current?.focus(),n.preventDefault()),o.current=!1,r.current=!1},onInteractOutside:n=>{t.onInteractOutside?.(n),n.defaultPrevented||(o.current=!0,n.detail.originalEvent.type==="pointerdown"&&(r.current=!0));let s=n.target;a.triggerRef.current?.contains(s)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&r.current&&n.preventDefault()}})}),JA=Fe.forwardRef((t,e)=>{let{__scopeDialog:a,trapFocus:o,onOpenAutoFocus:r,onCloseAutoFocus:n,...s}=t,i=Ha(wn,a),l=Fe.useRef(null),u=_a(e,l);return kA(),KA(XA,{children:[at(nx,{asChild:!0,loop:!0,trapped:o,onMountAutoFocus:r,onUnmountAutoFocus:n,children:at(ax,{role:"dialog",id:i.contentId,"aria-describedby":i.descriptionId,"aria-labelledby":i.titleId,"data-state":Tx(i.open),...s,ref:u,onDismiss:()=>i.onOpenChange(!1)})}),KA(XA,{children:[at(d4,{titleId:i.titleId}),at(f4,{contentRef:l,descriptionId:i.descriptionId})]})]})}),Mx="DialogTitle",Px=Fe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Ha(Mx,a);return at(oa.h2,{id:r.titleId,...o,ref:e})});Px.displayName=Mx;var QA="DialogDescription",Dx=Fe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Ha(QA,a);return at(oa.p,{id:r.descriptionId,...o,ref:e})});Dx.displayName=QA;var eM="DialogClose",Rx=Fe.forwardRef((t,e)=>{let{__scopeDialog:a,...o}=t,r=Ha(eM,a);return at(oa.button,{type:"button",...o,ref:e,onClick:no(t.onClick,()=>r.onOpenChange(!1))})});Rx.displayName=eM;function Tx(t){return t?"open":"closed"}var tM="DialogTitleWarning",[u4,aM]=nA(tM,{contentName:wn,titleName:Mx,docsSlug:"dialog"}),d4=({titleId:t})=>{let e=aM(tM),a=`\`${e.contentName}\` requires a \`${e.titleName}\` for the component to be accessible for screen reader users.
68
68
 
69
69
  If you want to hide the \`${e.titleName}\`, you can wrap it with our VisuallyHidden component.
70
70
 
71
- For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return Be.useEffect(()=>{t&&(document.getElementById(t)||console.error(a))},[a,t]),null},WV="DialogDescriptionWarning",VV=({contentRef:t,descriptionId:e})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${WA(WV).contentName}}.`;return Be.useEffect(()=>{let r=t.current?.getAttribute("aria-describedby");e&&r&&(document.getElementById(e)||console.warn(o))},[o,t,e]),null},GV=dx,$V=cx,XV=hx,KV=px,jV=mx,ZV=xx,YV=bx,JV=wx;var VA=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,GA=Oc,$A=(t,e)=>a=>{var o;if(e?.variants==null)return GA(t,a?.class,a?.className);let{variants:r,defaultVariants:n}=e,s=Object.keys(r).map(u=>{let d=a?.[u],c=n?.[u];if(d===null)return null;let f=VA(d)||VA(c);return r[u][f]}),i=a&&Object.entries(a).reduce((u,d)=>{let[c,f]=d;return f===void 0||(u[c]=f),u},{}),l=e==null||(o=e.compoundVariants)===null||o===void 0?void 0:o.reduce((u,d)=>{let{class:c,className:f,...h}=d;return Object.entries(h).every(p=>{let[m,g]=p;return Array.isArray(g)?g.includes({...n,...i}[m]):{...n,...i}[m]===g})?[...u,c,f]:u},[]);return GA(t,s,l,a?.class,a?.className)};import{jsx as e4}from"react/jsx-runtime";var QV=$A("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function XA({className:t,variant:e="default",size:a="default",asChild:o=!1,...r}){let n=o?qc.Root:"button";return e4(n,{"data-slot":"button","data-variant":e,"data-size":a,className:fe(QV({variant:e,size:a,className:t})),...r})}import{createContext as t4}from"react";var of=t4(null);import{jsx as ro,jsxs as Lx}from"react/jsx-runtime";function jA({...t}){return ro(oo.Root,{"data-slot":"sheet",...t})}function a4({...t}){let e=KA.useContext(of);return ro(oo.Portal,{"data-slot":"sheet-portal",container:e??void 0,...t})}function o4({className:t,...e}){return ro(oo.Overlay,{"data-slot":"sheet-overlay",className:fe("nimbit-devtools dark fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",t),...e})}function ZA({className:t,children:e,side:a="right",showCloseButton:o=!0,...r}){return Lx(a4,{children:[ro(o4,{}),Lx(oo.Content,{"data-slot":"sheet-content","data-side":a,className:fe("nimbit-devtools dark fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",t),...r,children:[e,o&&ro(oo.Close,{"data-slot":"sheet-close",asChild:!0,children:Lx(XA,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm",children:[ro(Ao,{}),ro("span",{className:"sr-only",children:"Close"})]})})]})]})}function YA({className:t,...e}){return ro("div",{"data-slot":"sheet-header",className:fe("flex flex-col gap-0.5 p-4",t),...e})}function JA({className:t,...e}){return ro(oo.Title,{"data-slot":"sheet-title",className:fe("text-base font-medium text-foreground",t),...e})}function QA({className:t,...e}){return ro(oo.Description,{"data-slot":"sheet-description",className:fe("text-sm text-muted-foreground",t),...e})}import{Fragment as n4,jsx as xe,jsxs as dt}from"react/jsx-runtime";var r4=()=>{let{dataCart:t,setDataCart:e,dataEntity:a,setDataEntity:o,view:r,setView:n,graphCarts:s,setGraphCarts:i,revealedCarts:l,setRevealedCarts:u,hiddenEntities:d,setHiddenEntities:c,graphLeftW:f,setGraphLeftW:h,graphRightW:p,setGraphRightW:m}=Jt(),g=Na.useRef(null),x=Na.useRef(null),[y,w]=Na.useState(null),[C,I]=Na.useState(null),{registry:v,carts:L,coreCarts:S,installedCarts:A,loading:H,error:M}=Ec(),[R,z]=Na.useState(!1),k=O=>O==="auth"||A.has(O)&&!S.has(O),T=O=>!k(O),D=Na.useMemo(()=>L.filter(k),[L,S,A]),E=Na.useMemo(()=>L.filter(T),[L,S,A]),q=Na.useMemo(()=>L.filter(O=>k(O)||l.has(O)),[L,S,A,l]),B=s??new Set(D),P=O=>{i(F=>{let V=new Set(F??D);return V.has(O)?V.delete(O):V.add(O),V})},N=O=>{if(u(F=>new Set(F).add(O)),z(!1),r==="table"){e(O);let F=v[O]?.[0];o(F?F.name:null)}else i(F=>new Set(F??D).add(O))},U=O=>{c(F=>{let V=new Set(F);return V.has(O)?V.delete(O):V.add(O),V})},$=Na.useMemo(()=>{let O=new Set;for(let F of L)if(B.has(F))for(let V of v[F]??[])d.has(`${F}:${V.name}`)||O.add(`${F}:${V.name}`);return O},[L,v,s,d]);Na.useEffect(()=>{C&&!$.has(`${C.cart}:${C.entity}`)&&I(null)},[C,$]);let _=t&&v[t]?t:D[0]??L[0]??null,W=_?v[_]??[]:[],G=W.find(O=>O.name===a)??W[0]??null;if(Na.useEffect(()=>{_&&_!==t&&e(_),G&&G.name!==a&&o(G.name),_&&T(_)&&!l.has(_)&&u(O=>new Set(O).add(_))},[_,G,t,a,e,o]),L.length===0){let O="No installed cartridges with entities.";return H?O="Loading cartridges\u2026":M&&(O=`Failed to load cartridges: ${M}`),xe("div",{className:"p-3 text-[12px] text-muted-foreground",children:O})}return xe(mm,{registry:v,children:dt("div",{className:"flex h-full flex-col",children:[dt("div",{className:"flex h-7 shrink-0 items-center gap-1 overflow-x-auto border-b border-border bg-background px-1 select-none",children:[dt("div",{className:"flex shrink-0 items-center gap-0.5 pr-1",children:[xe(tM,{active:r==="table",onClick:()=>n("table"),label:"Table",children:xe(il,{className:"size-3"})}),xe(tM,{active:r==="diagram",onClick:()=>n("diagram"),label:"Graph",children:xe(Qi,{className:"size-3"})})]}),xe("div",{className:"h-4 w-px shrink-0 bg-border"}),q.map(O=>{let F=r==="table"?O===_:B.has(O);return xe("button",{type:"button","data-active":F,onClick:()=>{if(r==="table"){e(O);let V=v[O]?.[0];o(V?V.name:null)}else P(O)},className:fe("h-5 shrink-0 rounded-full px-2.5 text-[11px] leading-none outline-none transition-colors","border border-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:border-border data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:O},O)}),E.length>0?dt("div",{className:"relative shrink-0",children:[xe("button",{type:"button","aria-label":"More cartridges",title:"More cartridges","data-active":R,onClick:()=>z(O=>!O),className:fe("grid size-5 shrink-0 place-items-center rounded-full outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:xe(sr,{className:"size-3.5"})}),R?dt(n4,{children:[xe("div",{className:"fixed inset-0 z-30",onClick:()=>z(!1)}),dt("div",{className:"absolute left-0 top-6 z-40 min-w-36 rounded-md border border-border bg-popover py-1 shadow-md",children:[xe("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:"More cartridges"}),E.map(O=>{let F=r==="table"?O===_:B.has(O);return xe("button",{type:"button","data-active":F,onClick:()=>N(O),className:fe("block w-full px-2 py-1 text-left text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",F?"text-foreground":"text-muted-foreground"),children:O},O)})]})]}):null]}):null]}),dt("div",{className:"flex min-h-0 min-w-0 flex-1",children:[dt("div",{ref:g,style:{width:f},className:"relative shrink-0 border-r border-border bg-muted/10",children:[xe(eM,{edge:"right",targetRef:g,min:120,max:480,onCommit:h}),xe("div",{className:"flex h-full flex-col overflow-y-auto py-1",children:r==="table"?W.length===0?xe("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No entities"}):W.map(O=>{let F=O.name===G?.name;return xe("button",{type:"button","data-active":F,onClick:()=>o(O.name),className:fe("h-6 shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:O.name},O.name)}):L.filter(O=>B.has(O)).length===0?xe("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No cartridges selected"}):L.filter(O=>B.has(O)).map(O=>dt("div",{className:"mb-1",children:[xe("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:O}),(v[O]??[]).map(F=>{let V=`${O}:${F.name}`,ie=!d.has(V);return xe("button",{type:"button","data-active":ie,onClick:()=>U(V),title:ie?`Hide ${F.name}`:`Show ${F.name}`,className:fe("h-6 w-full shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",ie?"text-foreground":"text-muted-foreground/40 line-through"),children:F.name},V)})]},O))})]}),xe("div",{className:"min-h-0 min-w-0 flex-1",children:r==="diagram"?xe(Pg,{visibleIds:$,onSelectNode:(O,F)=>I({cart:O,entity:F})}):G?xe(Xi,{cart:_,entity:G.name,searchFields:G.searchFields,onSelectRow:O=>w(O)},`${_}:${G.name}`):xe("div",{className:"p-3 text-[12px] text-muted-foreground",children:"Pick an entity."})}),r==="diagram"&&C?dt("div",{ref:x,style:{width:p},className:"relative flex shrink-0 flex-col border-l border-border bg-background",children:[xe(eM,{edge:"left",targetRef:x,min:280,max:900,onCommit:m}),dt("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-muted/10 px-2 select-none",children:[dt("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:[dt("span",{className:"text-muted-foreground",children:[C.cart,"."]}),C.entity]}),xe("button",{type:"button","aria-label":"Close",title:"Close",onClick:()=>I(null),className:"grid size-5 shrink-0 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",children:xe(Ao,{className:"size-3.5"})})]}),xe("div",{className:"min-h-0 flex-1",children:xe(Xi,{cart:C.cart,entity:C.entity,searchFields:(v[C.cart]??[]).find(O=>O.name===C.entity)?.searchFields??[],onSelectRow:O=>w(O)},`${C.cart}:${C.entity}`)})]}):null]}),xe(jA,{open:!!y,onOpenChange:O=>!O&&w(null),children:dt(ZA,{side:"right",className:"w-[480px] sm:max-w-[480px]",children:[dt(YA,{children:[dt(JA,{className:"text-[13px]",children:[_,".",G?.name,y?.id?xe("span",{className:"ml-2 font-mono text-[11px] text-muted-foreground",children:y.id}):null]}),xe(QA,{className:"text-[11px]",children:"Row detail"})]}),xe("div",{className:"min-h-0 flex-1 overflow-auto px-4 pb-4",children:y?xe("table",{className:"w-full text-[12px]",children:xe("tbody",{children:Object.entries(y).map(([O,F])=>dt("tr",{className:"border-b border-border/40 align-top",children:[xe("td",{className:"w-32 py-1 pr-2 font-mono text-[11px] text-muted-foreground",children:O}),xe("td",{className:"break-all py-1 font-mono",children:F||xe("span",{className:"text-muted-foreground/60",children:"\u2205"})})]},O))})}):null})]})})]})})},eM=({edge:t,targetRef:e,min:a,max:o,onCommit:r})=>xe("div",{onPointerDown:s=>{s.preventDefault();let i=e.current;if(!i)return;let l=s.currentTarget;l.setPointerCapture(s.pointerId);let u=s.clientX,d=i.offsetWidth,c=d,f=0,h=null,p=()=>{f=0,h!=null&&(c=h,i.style.width=`${h}px`,h=null)},m=x=>{x.preventDefault();let y=x.clientX-u,w=t==="left"?-y:y;h=Math.max(a,Math.min(o,d+w)),f||(f=requestAnimationFrame(p))},g=()=>{f&&cancelAnimationFrame(f),p(),r(c),l.removeEventListener("pointermove",m),l.removeEventListener("pointerup",g),l.removeEventListener("pointercancel",g);try{l.releasePointerCapture(s.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="ew-resize",l.addEventListener("pointermove",m),l.addEventListener("pointerup",g),l.addEventListener("pointercancel",g)},style:{touchAction:"none"},className:fe("absolute top-0 bottom-0 z-20 w-1.5 cursor-ew-resize bg-transparent hover:bg-accent/40",t==="left"?"-left-px":"-right-px")}),tM=({active:t,onClick:e,label:a,children:o})=>dt("button",{type:"button","data-active":t,onClick:e,title:a,className:fe("inline-flex h-5 shrink-0 items-center gap-1 rounded-md px-1.5 text-[11px] leading-none outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:[o,a]}),aM=r4;import Vt from"react";import{jsx as Ae,jsxs as Ke}from"react/jsx-runtime";var oM="h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring";function s4(t){if(!t)return"never";try{return new Date(t).toLocaleString()}catch{return String(t)}}var rM=t=>`https://docs.google.com/spreadsheets/d/${t}/edit`,i4=({cart:t,config:e,onChanged:a})=>{let o=Og(),[r,n]=Vt.useState(!1),[s,i]=Vt.useState(""),[l,u]=Vt.useState(""),[d,c]=Vt.useState(300),[f,h]=Vt.useState(!1),[p,m]=Vt.useState(!1),[g,x]=Vt.useState(null),[y,w]=Vt.useState(null),[C,I]=Vt.useState(null);Vt.useEffect(()=>{e&&(c(e.intervalSeconds||300),h(e.enabled),e.spreadsheetId&&i(rM(e.spreadsheetId)))},[e]);let v=async(M,R)=>{x(M),w(null),I(null);try{await R(),a()}catch(z){w(z instanceof Error?z.message:String(z))}finally{x(null)}},L=()=>v("save",async()=>{await o.save({cartridge:t,spreadsheetUrl:s,serviceAccountJson:l.trim()||void 0,intervalSeconds:d,enabled:f}),u(""),m(!1),I("Saved.")}),S=()=>v("sync",async()=>{let M=await o.syncNow(t);if(!M.ok)throw new Error(M.error||"sync failed");I("Synced.")}),A=()=>v("remove",async()=>{await o.remove(t),n(!1),I(null)}),H=!!e?.hasServiceAccount;return Ke("div",{className:"rounded-md border border-border",children:[Ke("button",{type:"button",onClick:()=>n(M=>!M),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left",children:[Ae("span",{className:"text-[12px] font-medium text-foreground",children:t}),H?e?.status==="error"?Ae(nr,{className:"size-3.5 text-red-400"}):Ae(ko,{className:fe("size-3.5",e?.enabled?"text-green-400":"text-muted-foreground")}):null,Ae("span",{className:"ml-auto text-[11px] text-muted-foreground",children:H?e?.enabled?"syncing":"paused":"not configured"})]}),r?Ke("div",{className:"space-y-2 border-t border-border px-2.5 py-2",children:[Ke("label",{className:"block space-y-0.5",children:[Ke("div",{className:"flex items-center justify-between",children:[Ae("span",{className:"text-[11px] text-muted-foreground",children:"Spreadsheet URL"}),e?.spreadsheetId?Ae("a",{href:rM(e.spreadsheetId),target:"_blank",rel:"noreferrer",className:"text-[11px] text-foreground hover:underline",children:"Open sheet \u2197"}):null]}),Ae("input",{type:"text",placeholder:"https://docs.google.com/spreadsheets/d/\u2026",value:s,onChange:M=>i(M.target.value),className:oM})]}),H&&!p?Ke("div",{className:"space-y-0.5",children:[Ke("div",{className:"flex items-center gap-1.5 text-[11px] text-foreground",children:[Ae(ko,{className:"size-3.5 text-green-400"}),"Credential configured",Ae("button",{type:"button",onClick:()=>m(!0),className:"ml-auto rounded-md border border-border px-2 py-0.5 text-[11px] text-foreground hover:bg-accent",children:"Replace key"})]}),e?.saEmail?Ke("div",{className:"text-[11px] text-muted-foreground",children:["Share your sheet with: ",Ae("span",{className:"text-foreground",children:e.saEmail})]}):null]}):Ke("label",{className:"block space-y-0.5",children:[Ke("div",{className:"flex items-center justify-between",children:[Ke("span",{className:"text-[11px] text-muted-foreground",children:["Service account JSON ",p?"(leave blank to keep stored key)":""]}),p?Ae("button",{type:"button",onClick:()=>{m(!1),u("")},className:"text-[11px] text-muted-foreground hover:text-foreground",children:"Cancel"}):null]}),Ae("textarea",{placeholder:'{ "type": "service_account", \u2026 }',value:l,onChange:M=>u(M.target.value),rows:4,className:fe(oM,"h-auto resize-y py-1 font-mono text-[11px]")}),H?null:Ae("span",{className:"text-[11px] text-muted-foreground",children:"Paste a Google service-account key, then share your sheet with its client_email."})]}),Ke("div",{className:"flex items-center gap-3",children:[Ke("label",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:["Interval (s)",Ae("input",{type:"number",min:30,value:d,onChange:M=>c(Number(M.target.value)||300),className:"h-7 w-20 rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"})]}),Ke("label",{className:"flex items-center gap-1.5 text-[11px] text-foreground",children:[Ae("input",{type:"checkbox",checked:f,onChange:M=>h(M.target.checked)}),"Enabled"]})]}),e?.lastError?Ke("div",{className:"text-[11px] text-red-400",children:["Last error: ",e.lastError]}):null,H?Ke("div",{className:"text-[11px] text-muted-foreground",children:["Last sync: ",s4(e?.lastSyncAt??0)]}):null,y?Ae("div",{className:"text-[11px] text-red-400",children:y}):null,C?Ae("div",{className:"text-[11px] text-green-400",children:C}):null,Ke("div",{className:"flex items-center gap-2 pt-0.5",children:[Ke("button",{type:"button",disabled:g!==null,onClick:L,className:fe("flex h-7 items-center justify-center gap-1.5 rounded-md bg-foreground px-3 text-[12px] font-medium text-background outline-none",g?"opacity-60":"hover:opacity-90"),children:[g==="save"?Ae(qt,{className:"size-3.5 animate-spin"}):null,"Save"]}),Ke("button",{type:"button",disabled:g!==null||!H,onClick:S,title:H?"Push now":"Configure first",className:fe("flex h-7 items-center justify-center gap-1.5 rounded-md border border-border px-3 text-[12px] text-foreground outline-none",g!==null||!H?"opacity-60":"hover:bg-accent"),children:[g==="sync"?Ae(qt,{className:"size-3.5 animate-spin"}):Ae(rl,{className:"size-3.5"}),"Sync now"]}),H?Ae("button",{type:"button",disabled:g!==null,onClick:A,title:"Remove sync config",className:"ml-auto flex h-7 items-center justify-center gap-1.5 rounded-md border border-border px-2 text-[12px] text-red-400 outline-none hover:bg-accent",children:g==="remove"?Ae(qt,{className:"size-3.5 animate-spin"}):Ae(ln,{className:"size-3.5"})}):null]})]}):null]})},l4=()=>{let{carts:t,coreCarts:e,installedCarts:a,loading:o}=Ec(),r=Og(),[n,s]=Vt.useState({}),[i,l]=Vt.useState(null),u=Vt.useCallback(()=>{r.list().then(c=>{let f={};for(let h of c)f[h.cartridge]=h;s(f),l(null)}).catch(c=>l(c instanceof Error?c.message:String(c)))},[r]);Vt.useEffect(()=>{u()},[u]);let d=t.filter(c=>a.has(c)&&!e.has(c)||n[c]);return Ke("div",{className:"h-full overflow-y-auto p-2.5",children:[Ke("div",{className:"mb-2",children:[Ae("div",{className:"text-[13px] font-medium text-foreground",children:"Google Sheets sync"}),Ae("div",{className:"text-[11px] text-muted-foreground",children:"Mirror a cartridge into a spreadsheet \u2014 one tab per entity. One-way, on a timer."})]}),i?Ae("div",{className:"mb-2 text-[11px] text-red-400",children:i}):null,o?Ke("div",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[Ae(qt,{className:"size-3.5 animate-spin"})," Loading cartridges\u2026"]}):d.length===0?Ae("div",{className:"text-[11px] text-muted-foreground",children:"No cartridges installed."}):Ae("div",{className:"space-y-1.5",children:d.map(c=>Ae(i4,{cart:c,config:n[c],onChanged:u},c))})]})},nM=l4;import{jsx as Fe,jsxs as ml}from"react/jsx-runtime";var sM=[{id:"general",title:"General"},{id:"editor",title:"Editor"},{id:"integrations",title:"Integrations"}],pl=({label:t,description:e,children:a})=>Fe("div",{className:"border-b border-border px-4 py-3",children:ml("div",{className:"max-w-2xl",children:[Fe("div",{className:"text-[13px] font-medium text-foreground",children:t}),e?Fe("div",{className:"mt-0.5 text-[11px] text-muted-foreground",children:e}):null,Fe("div",{className:"mt-2",children:a})]})}),iM=({title:t})=>Fe("div",{className:"border-b border-border px-4 pb-3 pt-4 text-[15px] font-semibold text-foreground",children:t}),rf="rounded border border-border bg-background px-2 py-1 text-[12px] text-foreground outline-none focus:border-accent",u4=()=>{let{devtoolsFont:t,setDevtoolsFont:e}=Jt();return ml("div",{className:"h-full overflow-y-auto",children:[Fe(iM,{title:"General"}),Fe(pl,{label:"Devtools \u203A Font",description:"Font for the devtools panel interface. The code editor stays monospace.",children:Fe("select",{className:rf,value:t,onChange:a=>e(a.target.value),children:Hc.map(a=>Fe("option",{value:a.id,children:a.label},a.id))})})]})},d4=()=>{let{editorTheme:t,setEditorTheme:e,editorFontSize:a,setEditorFontSize:o,editorLineWrap:r,setEditorLineWrap:n,editorTabSize:s,setEditorTabSize:i}=Jt();return ml("div",{className:"h-full overflow-y-auto",children:[Fe(iM,{title:"Editor"}),Fe(pl,{label:"Editor \u203A Theme",description:"Color theme for the Sources editor.",children:Fe("select",{className:rf,value:t,onChange:l=>e(l.target.value),children:Gn.map(l=>Fe("option",{value:l.id,children:l.label},l.id))})}),Fe(pl,{label:"Editor \u203A Font size",description:"Editor font size in pixels.",children:Fe("input",{type:"number",min:8,max:32,className:fe(rf,"w-20"),value:a,onChange:l=>{let u=parseInt(l.target.value,10);Number.isNaN(u)||o(Math.min(32,Math.max(8,u)))}})}),Fe(pl,{label:"Editor \u203A Line wrapping",description:"Soft-wrap long lines instead of scrolling horizontally.",children:ml("label",{className:"inline-flex items-center gap-1.5 text-[12px] text-foreground",children:[Fe("input",{type:"checkbox",checked:r,onChange:l=>n(l.target.checked)}),"Wrap lines"]})}),Fe(pl,{label:"Editor \u203A Tab size",description:"Number of spaces per indent level.",children:Fe("select",{className:rf,value:s,onChange:l=>i(parseInt(l.target.value,10)),children:[2,4,8].map(l=>Fe("option",{value:l,children:l},l))})})]})},c4=()=>{let{settingsCategory:t,setSettingsCategory:e}=Jt(),a=sM.some(o=>o.id===t)?t:"general";return ml("div",{className:"flex h-full min-h-0",children:[Fe("div",{className:"w-40 shrink-0 overflow-y-auto border-r border-border py-1",children:sM.map(o=>Fe("button",{type:"button","data-active":o.id===a,onClick:()=>e(o.id),className:fe("block w-full px-3 py-1 text-left text-[12px] text-foreground outline-none transition-colors","hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:o.title},o.id))}),Fe("div",{className:"min-h-0 min-w-0 flex-1",children:a==="integrations"?Fe(nM,{}):a==="editor"?Fe(d4,{}):Fe(u4,{})})]})},lM=c4;import Qe from"react";import{useCallback as gl,useEffect as f4,useMemo as h4,useState as p4}from"react";function nf(){let{apiBaseUrl:t}=tt(),[e,a]=p4(null);return f4(()=>{let o=!1;return fetch(`${t}/_console/dev/status`,{credentials:"include"}).then(r=>r.ok?r.json():null).then(r=>{o||a(r&&r.dev?r:null)}).catch(()=>{o||a(null)}),()=>{o=!0}},[t]),e}async function xl(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function uM(){let{apiBaseUrl:t}=tt(),e=gl(async()=>(await xl(await fetch(`${t}/_console/dev/carts`,{credentials:"include"}))).carts??[],[t]),a=gl(async(s,i)=>xl(await fetch(`${t}/_console/dev/file?cart=${encodeURIComponent(s)}&path=${encodeURIComponent(i)}`,{credentials:"include"})),[t]),o=gl(async(s,i,l)=>xl(await fetch(`${t}/_console/dev/file`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s,path:i,content:l})})),[t]),r=gl(async s=>xl(await fetch(`${t}/_console/dev/apply`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s})})),[t]),n=gl(async s=>xl(await fetch(`${t}/_console/dev/scaffold`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:s})})),[t]);return h4(()=>({listCarts:e,readFile:a,writeFile:o,applyCart:r,scaffoldCart:n}),[e,a,o,r,n])}import dM from"react";import{jsx as _a,jsxs as mn}from"react/jsx-runtime";var cM=({carts:t,selected:e,dirtyKeys:a,onSelect:o,onNewCart:r,onNewMigration:n})=>{let[s,i]=dM.useState(!1),[l,u]=dM.useState(""),d=()=>{let c=l.trim();/^[a-z][a-z0-9_]*$/.test(c)&&(r(c),u(""),i(!1))};return mn("div",{className:"flex h-full min-h-0 flex-col",children:[mn("div",{className:"flex h-6 shrink-0 items-center justify-between border-b border-border px-2",children:[_a("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Cartridges"}),_a("button",{type:"button",title:"New cartridge",onClick:()=>i(c=>!c),className:"rounded p-0.5 hover:bg-accent",children:_a(ol,{className:"size-3.5"})})]}),s&&mn("div",{className:"flex items-center gap-1 border-b border-border p-1",children:[_a("input",{autoFocus:!0,value:l,onChange:c=>u(c.target.value),onKeyDown:c=>{c.key==="Enter"&&d(),c.key==="Escape"&&i(!1)},placeholder:"cart_name",className:"h-5 w-full rounded border border-border bg-background px-1 text-[11px] outline-none"}),_a("button",{type:"button",onClick:d,disabled:!/^[a-z][a-z0-9_]*$/.test(l.trim()),className:"rounded px-1 text-[11px] hover:bg-accent disabled:opacity-40",children:"Create"})]}),_a("div",{className:"min-h-0 flex-1 overflow-y-auto py-1",children:t.map(c=>mn("div",{className:"mb-1",children:[mn("div",{className:"flex items-center justify-between px-2 py-0.5",children:[mn("span",{className:"flex items-center gap-1 text-[11px] font-medium",children:[c.name,!c.writable&&_a(Zi,{className:"size-3 text-muted-foreground","aria-label":c.reason??"read-only"})]}),c.writable&&_a("button",{type:"button",title:"New migration",onClick:()=>n(c.name),className:"rounded p-0.5 text-muted-foreground hover:bg-accent",children:_a(ir,{className:"size-3"})})]}),c.files.map(f=>{let h=`${c.name}:${f}`,p=e?.cart===c.name&&e?.path===f;return mn("button",{type:"button",onClick:()=>o({cart:c.name,path:f}),"data-active":p,className:fe("flex w-full items-center gap-1 truncate py-0.5 pl-4 pr-2 text-left text-[11px]","hover:bg-accent data-[active=true]:bg-accent"),children:[_a("span",{className:"truncate",children:f}),a.has(h)&&_a("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-400",title:"unsaved"})]},f)})]},c.name))})]})};import{Fragment as x4,jsx as no,jsxs as fr}from"react/jsx-runtime";var gn=t=>`${t.cart}:${t.path}`;function m4(){let t=new Date,e=a=>String(a).padStart(2,"0");return`${t.getFullYear()}${e(t.getMonth()+1)}${e(t.getDate())}${e(t.getHours())}${e(t.getMinutes())}${e(t.getSeconds())}`}var g4=()=>{let{apiBaseUrl:t}=tt(),e=nf(),a=uM(),{sourcesCart:o,setSourcesCart:r,sourcesFile:n,setSourcesFile:s,sourcesTreeW:i,setSourcesTreeW:l,editorTheme:u,editorFontSize:d,editorLineWrap:c,editorTabSize:f}=Jt(),[h,p]=Qe.useState([]),[m,g]=Qe.useState(new Map),[x,y]=Qe.useState(""),[w,C]=Qe.useState([]),[I,v]=Qe.useState(!1),L=o&&n?{cart:o,path:n}:null,S=Qe.useRef(null);Qe.useEffect(()=>{if(!e?.dev)return;let _=new rd(`${_r(t)}/_console/dev/lsp`);return _.initialize(`file://${e.projectRoot}`),S.current=_,()=>{_.dispose(),S.current=null}},[e?.dev,e?.projectRoot,t]);let A=Qe.useCallback(()=>{a.listCarts().then(p).catch(_=>y(String(_.message??_)))},[a]);Qe.useEffect(()=>{e?.dev&&A()},[e?.dev,A]);let H=Qe.useCallback(_=>h.find(W=>W.name===_),[h]),M=Qe.useCallback(_=>{r(_.cart),s(_.path),C([]),y("");let W=gn(_);m.has(W)||a.readFile(_.cart,_.path).then(({content:G,writable:O})=>{g(F=>{if(F.has(W))return F;let V=new Map(F);return V.set(W,{saved:G,current:G,writable:O}),V})}).catch(G=>y(String(G.message??G)))},[a,m,r,s]);Qe.useEffect(()=>{L&&h.length>0&&!m.has(gn(L))&&M(L)},[h]);let R=L?m.get(gn(L)):void 0,z=Qe.useMemo(()=>{let _=new Set;for(let[W,G]of m)G.current!==G.saved&&_.add(W);return _},[m]);Qe.useEffect(()=>{if(z.size===0)return;let _=W=>W.preventDefault();return window.addEventListener("beforeunload",_),()=>window.removeEventListener("beforeunload",_)},[z.size]);let k=Qe.useCallback(_=>{if(!L)return;let W=gn(L);g(G=>{let O=G.get(W);if(!O||O.current===_)return G;let F=new Map(G);return F.set(W,{...O,current:_}),F})},[L]),T=Qe.useCallback(_=>{if(!L)return;let W=gn(L);a.writeFile(L.cart,L.path,_).then(G=>{C(G.diagnostics),y(G.ok?`saved ${L.path}`:`saved ${L.path} \u2014 ${G.diagnostics.length} problem(s)`),g(O=>{let F=O.get(W);if(!F)return O;let V=new Map(O);return V.set(W,{...F,saved:_,current:_}),V}),A()}).catch(G=>y(`save failed: ${G.message??G}`))},[a,L,A]),D=Qe.useCallback(()=>{L&&(v(!0),y(`applying ${L.cart}\u2026`),a.applyCart(L.cart).then(()=>y(`applied ${L.cart} \u2014 pending migrations ran, cart re-registered`)).catch(_=>y(`apply failed: ${_.message??_}`)).finally(()=>v(!1)))},[a,L]),E=Qe.useCallback(_=>{y(`creating ${_}\u2026`),a.scaffoldCart(_).then(()=>{y(`created ${_}`),A(),M({cart:_,path:"schema.nbt"})}).catch(W=>y(`scaffold failed: ${W.message??W}`))},[a,A,M]),q=Qe.useCallback(_=>{let W=`migrations/${m4()}_change/migration.nbt`,G=`${_}:${W}`;g(O=>{let F=new Map(O);return F.set(G,{saved:"",current:`migration change {
71
+ For more information, see https://radix-ui.com/primitives/docs/components/${e.docsSlug}`;return Fe.useEffect(()=>{t&&(document.getElementById(t)||console.error(a))},[a,t]),null},c4="DialogDescriptionWarning",f4=({contentRef:t,descriptionId:e})=>{let o=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${aM(c4).contentName}}.`;return Fe.useEffect(()=>{let r=t.current?.getAttribute("aria-describedby");e&&r&&(document.getElementById(e)||console.warn(o))},[o,t,e]),null},h4=Cx,p4=vx,m4=Ix,g4=kx,x4=Ax,b4=Px,w4=Dx,y4=Rx;var oM=t=>typeof t=="boolean"?`${t}`:t===0?"0":t,rM=Xc,nM=(t,e)=>a=>{var o;if(e?.variants==null)return rM(t,a?.class,a?.className);let{variants:r,defaultVariants:n}=e,s=Object.keys(r).map(u=>{let d=a?.[u],c=n?.[u];if(d===null)return null;let f=oM(d)||oM(c);return r[u][f]}),i=a&&Object.entries(a).reduce((u,d)=>{let[c,f]=d;return f===void 0||(u[c]=f),u},{}),l=e==null||(o=e.compoundVariants)===null||o===void 0?void 0:o.reduce((u,d)=>{let{class:c,className:f,...h}=d;return Object.entries(h).every(p=>{let[m,g]=p;return Array.isArray(g)?g.includes({...n,...i}[m]):{...n,...i}[m]===g})?[...u,c,f]:u},[]);return rM(t,s,l,a?.class,a?.className)};import{jsx as C4}from"react/jsx-runtime";var L4=nM("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function Sl({className:t,variant:e="default",size:a="default",asChild:o=!1,...r}){let n=o?Jc.Root:"button";return C4(n,{"data-slot":"button","data-variant":e,"data-size":a,className:ue(L4({variant:e,size:a,className:t})),...r})}import{createContext as v4}from"react";var mf=v4(null);import{jsx as io,jsxs as Ex}from"react/jsx-runtime";function iM({...t}){return io(so.Root,{"data-slot":"sheet",...t})}function S4({...t}){let e=sM.useContext(mf);return io(so.Portal,{"data-slot":"sheet-portal",container:e??void 0,...t})}function I4({className:t,...e}){return io(so.Overlay,{"data-slot":"sheet-overlay",className:ue("nimbit-devtools dark fixed inset-0 z-50 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0",t),...e})}function lM({className:t,children:e,side:a="right",showCloseButton:o=!0,...r}){return Ex(S4,{children:[io(I4,{}),Ex(so.Content,{"data-slot":"sheet-content","data-side":a,className:ue("nimbit-devtools dark fixed z-50 flex flex-col gap-4 bg-popover bg-clip-padding text-sm text-popover-foreground shadow-lg transition duration-200 ease-in-out data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-[side=bottom]:data-open:slide-in-from-bottom-10 data-[side=left]:data-open:slide-in-from-left-10 data-[side=right]:data-open:slide-in-from-right-10 data-[side=top]:data-open:slide-in-from-top-10 data-closed:animate-out data-closed:fade-out-0 data-[side=bottom]:data-closed:slide-out-to-bottom-10 data-[side=left]:data-closed:slide-out-to-left-10 data-[side=right]:data-closed:slide-out-to-right-10 data-[side=top]:data-closed:slide-out-to-top-10",t),...r,children:[e,o&&io(so.Close,{"data-slot":"sheet-close",asChild:!0,children:Ex(Sl,{variant:"ghost",className:"absolute top-3 right-3",size:"icon-sm",children:[io(Do,{}),io("span",{className:"sr-only",children:"Close"})]})})]})]})}function uM({className:t,...e}){return io("div",{"data-slot":"sheet-header",className:ue("flex flex-col gap-0.5 p-4",t),...e})}function dM({className:t,...e}){return io(so.Title,{"data-slot":"sheet-title",className:ue("text-base font-medium text-foreground",t),...e})}function cM({className:t,...e}){return io(so.Description,{"data-slot":"sheet-description",className:ue("text-sm text-muted-foreground",t),...e})}import{Fragment as A4,jsx as be,jsxs as ft}from"react/jsx-runtime";var k4=()=>{let{dataCart:t,setDataCart:e,dataEntity:a,setDataEntity:o,view:r,setView:n,graphCarts:s,setGraphCarts:i,revealedCarts:l,setRevealedCarts:u,hiddenEntities:d,setHiddenEntities:c,graphLeftW:f,setGraphLeftW:h,graphRightW:p,setGraphRightW:m}=Ft(),g=za.useRef(null),x=za.useRef(null),[y,b]=za.useState(null),[C,I]=za.useState(null),{registry:v,carts:L,coreCarts:S,installedCarts:k,loading:z,error:A}=Vc(),[P,H]=za.useState(!1),M=O=>O==="auth"||k.has(O)&&!S.has(O),T=O=>!M(O),R=za.useMemo(()=>L.filter(M),[L,S,k]),E=za.useMemo(()=>L.filter(T),[L,S,k]),q=za.useMemo(()=>L.filter(O=>M(O)||l.has(O)),[L,S,k,l]),B=s??new Set(R),D=O=>{i(F=>{let V=new Set(F??R);return V.has(O)?V.delete(O):V.add(O),V})},N=O=>{if(u(F=>new Set(F).add(O)),H(!1),r==="table"){e(O);let F=v[O]?.[0];o(F?F.name:null)}else i(F=>new Set(F??R).add(O))},U=O=>{c(F=>{let V=new Set(F);return V.has(O)?V.delete(O):V.add(O),V})},$=za.useMemo(()=>{let O=new Set;for(let F of L)if(B.has(F))for(let V of v[F]??[])d.has(`${F}:${V.name}`)||O.add(`${F}:${V.name}`);return O},[L,v,s,d]);za.useEffect(()=>{C&&!$.has(`${C.cart}:${C.entity}`)&&I(null)},[C,$]);let _=t&&v[t]?t:R[0]??L[0]??null,W=_?v[_]??[]:[],G=W.find(O=>O.name===a)??W[0]??null;if(za.useEffect(()=>{_&&_!==t&&e(_),G&&G.name!==a&&o(G.name),_&&T(_)&&!l.has(_)&&u(O=>new Set(O).add(_))},[_,G,t,a,e,o]),L.length===0){let O="No installed cartridges with entities.";return z?O="Loading cartridges\u2026":A&&(O=`Failed to load cartridges: ${A}`),be("div",{className:"p-3 text-[12px] text-muted-foreground",children:O})}return be(km,{registry:v,children:ft("div",{className:"flex h-full flex-col",children:[ft("div",{className:"flex h-7 shrink-0 items-center gap-1 overflow-x-auto border-b border-border bg-background px-1 select-none",children:[ft("div",{className:"flex shrink-0 items-center gap-0.5 pr-1",children:[be(hM,{active:r==="table",onClick:()=>n("table"),label:"Table",children:be(gl,{className:"size-3"})}),be(hM,{active:r==="diagram",onClick:()=>n("diagram"),label:"Graph",children:be(il,{className:"size-3"})})]}),be("div",{className:"h-4 w-px shrink-0 bg-border"}),q.map(O=>{let F=r==="table"?O===_:B.has(O);return be("button",{type:"button","data-active":F,onClick:()=>{if(r==="table"){e(O);let V=v[O]?.[0];o(V?V.name:null)}else D(O)},className:ue("h-5 shrink-0 rounded-full px-2.5 text-[11px] leading-none outline-none transition-colors","border border-transparent text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:border-border data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:O},O)}),E.length>0?ft("div",{className:"relative shrink-0",children:[be("button",{type:"button","aria-label":"More cartridges",title:"More cartridges","data-active":P,onClick:()=>H(O=>!O),className:ue("grid size-5 shrink-0 place-items-center rounded-full outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:be(ur,{className:"size-3.5"})}),P?ft(A4,{children:[be("div",{className:"fixed inset-0 z-30",onClick:()=>H(!1)}),ft("div",{className:"absolute left-0 top-6 z-40 min-w-36 rounded-md border border-border bg-popover py-1 shadow-md",children:[be("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:"More cartridges"}),E.map(O=>{let F=r==="table"?O===_:B.has(O);return be("button",{type:"button","data-active":F,onClick:()=>N(O),className:ue("block w-full px-2 py-1 text-left text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",F?"text-foreground":"text-muted-foreground"),children:O},O)})]})]}):null]}):null]}),ft("div",{className:"flex min-h-0 min-w-0 flex-1",children:[ft("div",{ref:g,style:{width:f},className:"relative shrink-0 border-r border-border bg-muted/10",children:[be(fM,{edge:"right",targetRef:g,min:120,max:480,onCommit:h}),be("div",{className:"flex h-full flex-col overflow-y-auto py-1",children:r==="table"?W.length===0?be("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No entities"}):W.map(O=>{let F=O.name===G?.name;return be("button",{type:"button","data-active":F,onClick:()=>o(O.name),className:ue("h-6 shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:O.name},O.name)}):L.filter(O=>B.has(O)).length===0?be("div",{className:"px-2 py-1 text-[11px] text-muted-foreground",children:"No cartridges selected"}):L.filter(O=>B.has(O)).map(O=>ft("div",{className:"mb-1",children:[be("div",{className:"px-2 py-0.5 text-[10px] uppercase tracking-wider text-muted-foreground/60",children:O}),(v[O]??[]).map(F=>{let V=`${O}:${F.name}`,ie=!d.has(V);return be("button",{type:"button","data-active":ie,onClick:()=>U(V),title:ie?`Hide ${F.name}`:`Show ${F.name}`,className:ue("h-6 w-full shrink-0 text-left px-2 text-[12px] leading-none outline-none transition-colors hover:bg-accent hover:text-accent-foreground",ie?"text-foreground":"text-muted-foreground/40 line-through"),children:F.name},V)})]},O))})]}),be("div",{className:"min-h-0 min-w-0 flex-1",children:r==="diagram"?be(zg,{visibleIds:$,onSelectNode:(O,F)=>I({cart:O,entity:F})}):G?be(tl,{cart:_,entity:G.name,searchFields:G.searchFields,onSelectRow:O=>b(O)},`${_}:${G.name}`):be("div",{className:"p-3 text-[12px] text-muted-foreground",children:"Pick an entity."})}),r==="diagram"&&C?ft("div",{ref:x,style:{width:p},className:"relative flex shrink-0 flex-col border-l border-border bg-background",children:[be(fM,{edge:"left",targetRef:x,min:280,max:900,onCommit:m}),ft("div",{className:"flex h-7 shrink-0 items-center gap-1 border-b border-border bg-muted/10 px-2 select-none",children:[ft("span",{className:"min-w-0 flex-1 truncate text-[12px]",children:[ft("span",{className:"text-muted-foreground",children:[C.cart,"."]}),C.entity]}),be("button",{type:"button","aria-label":"Close",title:"Close",onClick:()=>I(null),className:"grid size-5 shrink-0 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",children:be(Do,{className:"size-3.5"})})]}),be("div",{className:"min-h-0 flex-1",children:be(tl,{cart:C.cart,entity:C.entity,searchFields:(v[C.cart]??[]).find(O=>O.name===C.entity)?.searchFields??[],onSelectRow:O=>b(O)},`${C.cart}:${C.entity}`)})]}):null]}),be(iM,{open:!!y,onOpenChange:O=>!O&&b(null),children:ft(lM,{side:"right",className:"w-[480px] sm:max-w-[480px]",children:[ft(uM,{children:[ft(dM,{className:"text-[13px]",children:[_,".",G?.name,y?.id?be("span",{className:"ml-2 font-mono text-[11px] text-muted-foreground",children:y.id}):null]}),be(cM,{className:"text-[11px]",children:"Row detail"})]}),be("div",{className:"min-h-0 flex-1 overflow-auto px-4 pb-4",children:y?be("table",{className:"w-full text-[12px]",children:be("tbody",{children:Object.entries(y).map(([O,F])=>ft("tr",{className:"border-b border-border/40 align-top",children:[be("td",{className:"w-32 py-1 pr-2 font-mono text-[11px] text-muted-foreground",children:O}),be("td",{className:"break-all py-1 font-mono",children:F||be("span",{className:"text-muted-foreground/60",children:"\u2205"})})]},O))})}):null})]})})]})})},fM=({edge:t,targetRef:e,min:a,max:o,onCommit:r})=>be("div",{onPointerDown:s=>{s.preventDefault();let i=e.current;if(!i)return;let l=s.currentTarget;l.setPointerCapture(s.pointerId);let u=s.clientX,d=i.offsetWidth,c=d,f=0,h=null,p=()=>{f=0,h!=null&&(c=h,i.style.width=`${h}px`,h=null)},m=x=>{x.preventDefault();let y=x.clientX-u,b=t==="left"?-y:y;h=Math.max(a,Math.min(o,d+b)),f||(f=requestAnimationFrame(p))},g=()=>{f&&cancelAnimationFrame(f),p(),r(c),l.removeEventListener("pointermove",m),l.removeEventListener("pointerup",g),l.removeEventListener("pointercancel",g);try{l.releasePointerCapture(s.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor="ew-resize",l.addEventListener("pointermove",m),l.addEventListener("pointerup",g),l.addEventListener("pointercancel",g)},style:{touchAction:"none"},className:ue("absolute top-0 bottom-0 z-20 w-1.5 cursor-ew-resize bg-transparent hover:bg-accent/40",t==="left"?"-left-px":"-right-px")}),hM=({active:t,onClick:e,label:a,children:o})=>ft("button",{type:"button","data-active":t,onClick:e,title:a,className:ue("inline-flex h-5 shrink-0 items-center gap-1 rounded-md px-1.5 text-[11px] leading-none outline-none transition-colors","text-muted-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:[o,a]}),pM=k4;import Kt from"react";import{Fragment as wM,jsx as he,jsxs as Ge}from"react/jsx-runtime";var mM=2e3,M4=["RUNNING","SUSPENDED","COMPLETED","FAILED","CANCELLED","CONTINUED"];function P4(t){switch(t){case"RUNNING":return"bg-blue-500/15 text-blue-400";case"SUSPENDED":return"bg-amber-500/15 text-amber-400";case"COMPLETED":return"bg-emerald-500/15 text-emerald-400";case"FAILED":return"bg-red-500/15 text-red-400";case"CANCELLED":return"bg-zinc-500/15 text-zinc-400";case"CONTINUED":return"bg-violet-500/15 text-violet-400";default:return"bg-muted text-muted-foreground"}}function D4(t){if(!t)return"";let e=Date.now()-t;if(e<1e3)return"now";let a=Math.floor(e/1e3);if(a<60)return`${a}s ago`;let o=Math.floor(a/60);if(o<60)return`${o}m ago`;let r=Math.floor(o/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function R4(t){if(!t)return"";try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}}var gM=({status:t})=>he("span",{className:ue("inline-flex shrink-0 items-center rounded px-1.5 py-0.5 text-[10px] font-medium leading-none",P4(t)),children:t}),T4=()=>{let t=d1(),{open:e,activeTab:a}=Ft(),o=e&&a==="workflows",[r,n]=Kt.useState([]),[s,i]=Kt.useState(null),[l,u]=Kt.useState([]),[d,c]=Kt.useState(null),[f,h]=Kt.useState(null),[p,m]=Kt.useState(null),[g,x]=Kt.useState(null),[y,b]=Kt.useState(null),[C,I]=Kt.useState(!1);Kt.useEffect(()=>{if(!o)return;let A=!1,P=async()=>{try{let[M,T,R]=await Promise.all([t.listExecutions(),t.getStats().catch(()=>null),t.getVersions().catch(()=>[])]);if(A)return;n(M),T&&i(T),u(R),x(null)}catch(M){A||x(M instanceof Error?M.message:String(M))}};P();let H=setInterval(P,mM);return()=>{A=!0,clearInterval(H)}},[o,t]),Kt.useEffect(()=>{if(!o||!f){m(null);return}let A=!1,P=null,H=async()=>{try{let M=await t.getExecution(f);if(A)return;m(M),Kg(M.execution.status)&&P&&(clearInterval(P),P=null)}catch{}};return H(),P=setInterval(H,mM),()=>{A=!0,P&&clearInterval(P)}},[o,f,t]);let v=Kt.useMemo(()=>[...d?r.filter(P=>P.status===d):r].sort((P,H)=>H.updatedAt-P.updatedAt),[r,d]),L=Kt.useMemo(()=>{let A={};for(let P of r)A[P.status]=(A[P.status]??0)+1;return A},[r]),S=async A=>{I(!0),b(null);try{await A(),f&&m(await t.getExecution(f))}catch(P){b(P instanceof Error?P.message:String(P))}finally{I(!1)}},k=p?.execution,z=k&&!Kg(k.status);return Ge("div",{className:"flex h-full w-full flex-col text-[12px]",children:[Ge("div",{className:"flex shrink-0 flex-wrap items-center gap-x-3 gap-y-1 border-b border-border px-2 py-1 text-[11px] text-muted-foreground",children:[s?Ge(wM,{children:[he(mr,{label:"writes",v:s.writes}),he(mr,{label:"reads",v:s.reads}),he(mr,{label:"emails",v:s.emails}),he(mr,{label:"fetches",v:s.fetches}),he(mr,{label:"emits",v:s.emits}),he(mr,{label:"retries",v:s.retries}),he(mr,{label:"async",v:s.async_inflight}),he(mr,{label:"peak",v:s.async_peak})]}):he("span",{children:"stats\u2026"}),l.length>0&&he("span",{className:"ml-auto flex items-center gap-1.5",children:l.slice().sort((A,P)=>A.version-P.version).map(A=>Ge("span",{title:`version ${A.version} \xB7 refcount ${A.refcount}`,className:ue("rounded px-1 py-0.5 leading-none",A.current?"bg-primary/15 text-primary":"bg-muted"),children:["v",A.version,"\xB7",A.refcount,A.current?" \u2605":""]},A.version))})]}),Ge("div",{className:"flex min-h-0 flex-1",children:[Ge("div",{className:"flex w-[260px] shrink-0 flex-col border-r border-border",children:[Ge("div",{className:"flex flex-wrap gap-1 border-b border-border px-1.5 py-1",children:[Ge(xM,{active:d===null,onClick:()=>c(null),children:["all ",r.length]}),M4.filter(A=>L[A]).map(A=>Ge(xM,{active:d===A,onClick:()=>c(A),children:[A.toLowerCase()," ",L[A]]},A))]}),Ge("div",{className:"min-h-0 flex-1 overflow-y-auto",children:[g&&he("div",{className:"px-2 py-2 text-[11px] text-destructive",children:g}),!g&&v.length===0&&he("div",{className:"px-2 py-2 text-[11px] text-muted-foreground",children:"no executions"}),v.map(A=>Ge("button",{type:"button",onClick:()=>h(A.id),className:ue("flex w-full items-center gap-1.5 border-b border-border/50 px-2 py-1.5 text-left hover:bg-muted/50",f===A.id&&"bg-muted"),children:[he(gM,{status:A.status}),Ge("span",{className:"min-w-0 flex-1",children:[he("span",{className:"block truncate font-medium",children:A.workflowName}),he("span",{className:"block truncate text-[10px] text-muted-foreground",children:A.id})]}),he("span",{className:"shrink-0 text-[10px] text-muted-foreground",children:D4(A.updatedAt)})]},A.id))]})]}),he("div",{className:"min-h-0 min-w-0 flex-1 overflow-y-auto",children:k?Ge("div",{className:"flex flex-col gap-2 p-2",children:[Ge("div",{className:"flex flex-wrap items-center gap-2",children:[he(gM,{status:k.status}),he("span",{className:"font-medium",children:k.workflowName}),he("span",{className:"text-[10px] text-muted-foreground",children:k.id}),Ge("div",{className:"ml-auto flex items-center gap-1.5",children:[z&&Ge(Sl,{size:"xs",variant:"destructive",disabled:C,onClick:()=>{S(()=>t.cancel(k.id))},children:[he(ol,{})," Cancel"]}),Ge(Sl,{size:"xs",variant:"outline",disabled:C,title:"Re-drive this instance (recovery / unstick)",onClick:()=>{S(()=>t.advance(k.id))},children:[he(hl,{})," Advance"]})]})]}),Ge("div",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5 text-[11px]",children:[he(Ps,{k:"lane",v:k.lane||"default"}),he(Ps,{k:"version",v:String(k.deployVersion)}),he(Ps,{k:"cursor",v:String(k.cursor)}),k.args&&he(Ps,{k:"args",v:k.args,mono:!0}),k.result&&he(Ps,{k:"result",v:k.result,mono:!0}),k.error&&he(Ps,{k:"error",v:k.error,mono:!0,err:!0})]}),y&&he("div",{className:"rounded bg-destructive/10 px-2 py-1 text-[11px] text-destructive",children:y}),Ge("div",{className:"mt-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground",children:["Journal \xB7 ",p?.events.length??0," entries"]}),he("div",{className:"flex flex-col",children:p?.events.slice().sort((A,P)=>A.seq-P.seq).map(A=>he(E4,{ev:A},A.id||`${A.seq}-${A.kind}`))})]}):he("div",{className:"p-3 text-muted-foreground",children:"Select an execution to inspect its journal."})})]})]})},mr=({label:t,v:e})=>Ge("span",{className:"inline-flex items-baseline gap-1",children:[he("span",{className:"tabular-nums text-foreground",children:e}),he("span",{children:t})]}),xM=({active:t,onClick:e,children:a})=>he("button",{type:"button",onClick:e,className:ue("rounded px-1.5 py-0.5 text-[10px] leading-none transition-colors",t?"bg-primary/15 text-primary":"bg-muted/60 text-muted-foreground hover:bg-muted"),children:a}),Ps=({k:t,v:e,mono:a,err:o})=>Ge(wM,{children:[he("span",{className:"text-muted-foreground",children:t}),he("span",{className:ue("min-w-0 break-all",a&&"font-mono text-[10px]",o&&"text-destructive"),children:e})]}),E4=({ev:t})=>{let[e,a]=Kt.useState(!1),o=[t.capability,t.target,t.op].filter(Boolean).join("\xB7"),r=R4(t.payload),n=r.length>0;return Ge("div",{className:"border-b border-border/40",children:[Ge("button",{type:"button",disabled:!n,onClick:()=>a(s=>!s),className:ue("flex w-full items-center gap-2 py-1 text-left",n&&"hover:bg-muted/40"),children:[he(cn,{className:ue("size-3 shrink-0 text-muted-foreground transition-transform",!n&&"opacity-0",e&&"rotate-90")}),he("span",{className:"w-6 shrink-0 text-right tabular-nums text-[10px] text-muted-foreground",children:t.seq}),he("span",{className:"shrink-0 font-mono text-[10px] text-foreground",children:t.kind}),o&&he("span",{className:"min-w-0 truncate font-mono text-[10px] text-muted-foreground",children:o})]}),e&&n&&he("pre",{className:"max-h-48 overflow-auto rounded bg-muted/40 px-2 py-1 font-mono text-[10px] leading-tight",children:r})]})},bM=T4;import jt from"react";import{jsx as Me,jsxs as Ze}from"react/jsx-runtime";var yM="h-7 w-full rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring";function B4(t){if(!t)return"never";try{return new Date(t).toLocaleString()}catch{return String(t)}}var LM=t=>`https://docs.google.com/spreadsheets/d/${t}/edit`,F4=({cart:t,config:e,onChanged:a})=>{let o=Xg(),[r,n]=jt.useState(!1),[s,i]=jt.useState(""),[l,u]=jt.useState(""),[d,c]=jt.useState(300),[f,h]=jt.useState(!1),[p,m]=jt.useState(!1),[g,x]=jt.useState(null),[y,b]=jt.useState(null),[C,I]=jt.useState(null);jt.useEffect(()=>{e&&(c(e.intervalSeconds||300),h(e.enabled),e.spreadsheetId&&i(LM(e.spreadsheetId)))},[e]);let v=async(A,P)=>{x(A),b(null),I(null);try{await P(),a()}catch(H){b(H instanceof Error?H.message:String(H))}finally{x(null)}},L=()=>v("save",async()=>{await o.save({cartridge:t,spreadsheetUrl:s,serviceAccountJson:l.trim()||void 0,intervalSeconds:d,enabled:f}),u(""),m(!1),I("Saved.")}),S=()=>v("sync",async()=>{let A=await o.syncNow(t);if(!A.ok)throw new Error(A.error||"sync failed");I("Synced.")}),k=()=>v("remove",async()=>{await o.remove(t),n(!1),I(null)}),z=!!e?.hasServiceAccount;return Ze("div",{className:"rounded-md border border-border",children:[Ze("button",{type:"button",onClick:()=>n(A=>!A),className:"flex w-full items-center gap-2 px-2.5 py-1.5 text-left",children:[Me("span",{className:"text-[12px] font-medium text-foreground",children:t}),z?e?.status==="error"?Me(lr,{className:"size-3.5 text-red-400"}):Me(Po,{className:ue("size-3.5",e?.enabled?"text-green-400":"text-muted-foreground")}):null,Me("span",{className:"ml-auto text-[11px] text-muted-foreground",children:z?e?.enabled?"syncing":"paused":"not configured"})]}),r?Ze("div",{className:"space-y-2 border-t border-border px-2.5 py-2",children:[Ze("label",{className:"block space-y-0.5",children:[Ze("div",{className:"flex items-center justify-between",children:[Me("span",{className:"text-[11px] text-muted-foreground",children:"Spreadsheet URL"}),e?.spreadsheetId?Me("a",{href:LM(e.spreadsheetId),target:"_blank",rel:"noreferrer",className:"text-[11px] text-foreground hover:underline",children:"Open sheet \u2197"}):null]}),Me("input",{type:"text",placeholder:"https://docs.google.com/spreadsheets/d/\u2026",value:s,onChange:A=>i(A.target.value),className:yM})]}),z&&!p?Ze("div",{className:"space-y-0.5",children:[Ze("div",{className:"flex items-center gap-1.5 text-[11px] text-foreground",children:[Me(Po,{className:"size-3.5 text-green-400"}),"Credential configured",Me("button",{type:"button",onClick:()=>m(!0),className:"ml-auto rounded-md border border-border px-2 py-0.5 text-[11px] text-foreground hover:bg-accent",children:"Replace key"})]}),e?.saEmail?Ze("div",{className:"text-[11px] text-muted-foreground",children:["Share your sheet with: ",Me("span",{className:"text-foreground",children:e.saEmail})]}):null]}):Ze("label",{className:"block space-y-0.5",children:[Ze("div",{className:"flex items-center justify-between",children:[Ze("span",{className:"text-[11px] text-muted-foreground",children:["Service account JSON ",p?"(leave blank to keep stored key)":""]}),p?Me("button",{type:"button",onClick:()=>{m(!1),u("")},className:"text-[11px] text-muted-foreground hover:text-foreground",children:"Cancel"}):null]}),Me("textarea",{placeholder:'{ "type": "service_account", \u2026 }',value:l,onChange:A=>u(A.target.value),rows:4,className:ue(yM,"h-auto resize-y py-1 font-mono text-[11px]")}),z?null:Me("span",{className:"text-[11px] text-muted-foreground",children:"Paste a Google service-account key, then share your sheet with its client_email."})]}),Ze("div",{className:"flex items-center gap-3",children:[Ze("label",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:["Interval (s)",Me("input",{type:"number",min:30,value:d,onChange:A=>c(Number(A.target.value)||300),className:"h-7 w-20 rounded-md border border-border bg-background px-2 text-[12px] text-foreground outline-none focus:border-ring"})]}),Ze("label",{className:"flex items-center gap-1.5 text-[11px] text-foreground",children:[Me("input",{type:"checkbox",checked:f,onChange:A=>h(A.target.checked)}),"Enabled"]})]}),e?.lastError?Ze("div",{className:"text-[11px] text-red-400",children:["Last error: ",e.lastError]}):null,z?Ze("div",{className:"text-[11px] text-muted-foreground",children:["Last sync: ",B4(e?.lastSyncAt??0)]}):null,y?Me("div",{className:"text-[11px] text-red-400",children:y}):null,C?Me("div",{className:"text-[11px] text-green-400",children:C}):null,Ze("div",{className:"flex items-center gap-2 pt-0.5",children:[Ze("button",{type:"button",disabled:g!==null,onClick:L,className:ue("flex h-7 items-center justify-center gap-1.5 rounded-md bg-foreground px-3 text-[12px] font-medium text-background outline-none",g?"opacity-60":"hover:opacity-90"),children:[g==="save"?Me(Gt,{className:"size-3.5 animate-spin"}):null,"Save"]}),Ze("button",{type:"button",disabled:g!==null||!z,onClick:S,title:z?"Push now":"Configure first",className:ue("flex h-7 items-center justify-center gap-1.5 rounded-md border border-border px-3 text-[12px] text-foreground outline-none",g!==null||!z?"opacity-60":"hover:bg-accent"),children:[g==="sync"?Me(Gt,{className:"size-3.5 animate-spin"}):Me(fl,{className:"size-3.5"}),"Sync now"]}),z?Me("button",{type:"button",disabled:g!==null,onClick:k,title:"Remove sync config",className:"ml-auto flex h-7 items-center justify-center gap-1.5 rounded-md border border-border px-2 text-[12px] text-red-400 outline-none hover:bg-accent",children:g==="remove"?Me(Gt,{className:"size-3.5 animate-spin"}):Me(hn,{className:"size-3.5"})}):null]})]}):null]})},O4=()=>{let{carts:t,coreCarts:e,installedCarts:a,loading:o}=Vc(),r=Xg(),[n,s]=jt.useState({}),[i,l]=jt.useState(null),u=jt.useCallback(()=>{r.list().then(c=>{let f={};for(let h of c)f[h.cartridge]=h;s(f),l(null)}).catch(c=>l(c instanceof Error?c.message:String(c)))},[r]);jt.useEffect(()=>{u()},[u]);let d=t.filter(c=>a.has(c)&&!e.has(c)||n[c]);return Ze("div",{className:"h-full overflow-y-auto p-2.5",children:[Ze("div",{className:"mb-2",children:[Me("div",{className:"text-[13px] font-medium text-foreground",children:"Google Sheets sync"}),Me("div",{className:"text-[11px] text-muted-foreground",children:"Mirror a cartridge into a spreadsheet \u2014 one tab per entity. One-way, on a timer."})]}),i?Me("div",{className:"mb-2 text-[11px] text-red-400",children:i}):null,o?Ze("div",{className:"flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[Me(Gt,{className:"size-3.5 animate-spin"})," Loading cartridges\u2026"]}):d.length===0?Me("div",{className:"text-[11px] text-muted-foreground",children:"No cartridges installed."}):Me("div",{className:"space-y-1.5",children:d.map(c=>Me(F4,{cart:c,config:n[c],onChanged:u},c))})]})},CM=O4;import{jsx as Oe,jsxs as kl}from"react/jsx-runtime";var vM=[{id:"general",title:"General"},{id:"editor",title:"Editor"},{id:"integrations",title:"Integrations"}],Il=({label:t,description:e,children:a})=>Oe("div",{className:"border-b border-border px-4 py-3",children:kl("div",{className:"max-w-2xl",children:[Oe("div",{className:"text-[13px] font-medium text-foreground",children:t}),e?Oe("div",{className:"mt-0.5 text-[11px] text-muted-foreground",children:e}):null,Oe("div",{className:"mt-2",children:a})]})}),SM=({title:t})=>Oe("div",{className:"border-b border-border px-4 pb-3 pt-4 text-[15px] font-semibold text-foreground",children:t}),gf="rounded border border-border bg-background px-2 py-1 text-[12px] text-foreground outline-none focus:border-accent",N4=()=>{let{devtoolsFont:t,setDevtoolsFont:e}=Ft();return kl("div",{className:"h-full overflow-y-auto",children:[Oe(SM,{title:"General"}),Oe(Il,{label:"Devtools \u203A Font",description:"Font for the devtools panel interface. The code editor stays monospace.",children:Oe("select",{className:gf,value:t,onChange:a=>e(a.target.value),children:Zc.map(a=>Oe("option",{value:a.id,children:a.label},a.id))})})]})},_4=()=>{let{editorTheme:t,setEditorTheme:e,editorFontSize:a,setEditorFontSize:o,editorLineWrap:r,setEditorLineWrap:n,editorTabSize:s,setEditorTabSize:i}=Ft();return kl("div",{className:"h-full overflow-y-auto",children:[Oe(SM,{title:"Editor"}),Oe(Il,{label:"Editor \u203A Theme",description:"Color theme for the Sources editor.",children:Oe("select",{className:gf,value:t,onChange:l=>e(l.target.value),children:Zn.map(l=>Oe("option",{value:l.id,children:l.label},l.id))})}),Oe(Il,{label:"Editor \u203A Font size",description:"Editor font size in pixels.",children:Oe("input",{type:"number",min:8,max:32,className:ue(gf,"w-20"),value:a,onChange:l=>{let u=parseInt(l.target.value,10);Number.isNaN(u)||o(Math.min(32,Math.max(8,u)))}})}),Oe(Il,{label:"Editor \u203A Line wrapping",description:"Soft-wrap long lines instead of scrolling horizontally.",children:kl("label",{className:"inline-flex items-center gap-1.5 text-[12px] text-foreground",children:[Oe("input",{type:"checkbox",checked:r,onChange:l=>n(l.target.checked)}),"Wrap lines"]})}),Oe(Il,{label:"Editor \u203A Tab size",description:"Number of spaces per indent level.",children:Oe("select",{className:gf,value:s,onChange:l=>i(parseInt(l.target.value,10)),children:[2,4,8].map(l=>Oe("option",{value:l,children:l},l))})})]})},H4=()=>{let{settingsCategory:t,setSettingsCategory:e}=Ft(),a=vM.some(o=>o.id===t)?t:"general";return kl("div",{className:"flex h-full min-h-0",children:[Oe("div",{className:"w-40 shrink-0 overflow-y-auto border-r border-border py-1",children:vM.map(o=>Oe("button",{type:"button","data-active":o.id===a,onClick:()=>e(o.id),className:ue("block w-full px-3 py-1 text-left text-[12px] text-foreground outline-none transition-colors","hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:o.title},o.id))}),Oe("div",{className:"min-h-0 min-w-0 flex-1",children:a==="integrations"?Oe(CM,{}):a==="editor"?Oe(_4,{}):Oe(N4,{})})]})},IM=H4;import ot from"react";import{useCallback as Al,useEffect as z4,useMemo as q4,useState as U4}from"react";function xf(){let{apiBaseUrl:t}=et(),[e,a]=U4(null);return z4(()=>{let o=!1;return fetch(`${t}/_console/dev/status`,{credentials:"include"}).then(r=>r.ok?r.json():null).then(r=>{o||a(r&&r.dev?r:null)}).catch(()=>{o||a(null)}),()=>{o=!0}},[t]),e}async function Ml(t){let e=await t.json().catch(()=>({}));if(!t.ok)throw new Error(e?.error??`HTTP ${t.status}`);return e}function kM(){let{apiBaseUrl:t}=et(),e=Al(async()=>(await Ml(await fetch(`${t}/_console/dev/carts`,{credentials:"include"}))).carts??[],[t]),a=Al(async(s,i)=>Ml(await fetch(`${t}/_console/dev/file?cart=${encodeURIComponent(s)}&path=${encodeURIComponent(i)}`,{credentials:"include"})),[t]),o=Al(async(s,i,l)=>Ml(await fetch(`${t}/_console/dev/file`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s,path:i,content:l})})),[t]),r=Al(async s=>Ml(await fetch(`${t}/_console/dev/apply`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({cart:s})})),[t]),n=Al(async s=>Ml(await fetch(`${t}/_console/dev/scaffold`,{method:"POST",credentials:"include",headers:{"content-type":"application/json"},body:JSON.stringify({name:s})})),[t]);return q4(()=>({listCarts:e,readFile:a,writeFile:o,applyCart:r,scaffoldCart:n}),[e,a,o,r,n])}import AM from"react";import{jsx as qa,jsxs as yn}from"react/jsx-runtime";var MM=({carts:t,selected:e,dirtyKeys:a,onSelect:o,onNewCart:r,onNewMigration:n})=>{let[s,i]=AM.useState(!1),[l,u]=AM.useState(""),d=()=>{let c=l.trim();/^[a-z][a-z0-9_]*$/.test(c)&&(r(c),u(""),i(!1))};return yn("div",{className:"flex h-full min-h-0 flex-col",children:[yn("div",{className:"flex h-6 shrink-0 items-center justify-between border-b border-border px-2",children:[qa("span",{className:"text-[11px] font-medium text-muted-foreground",children:"Cartridges"}),qa("button",{type:"button",title:"New cartridge",onClick:()=>i(c=>!c),className:"rounded p-0.5 hover:bg-accent",children:qa(cl,{className:"size-3.5"})})]}),s&&yn("div",{className:"flex items-center gap-1 border-b border-border p-1",children:[qa("input",{autoFocus:!0,value:l,onChange:c=>u(c.target.value),onKeyDown:c=>{c.key==="Enter"&&d(),c.key==="Escape"&&i(!1)},placeholder:"cart_name",className:"h-5 w-full rounded border border-border bg-background px-1 text-[11px] outline-none"}),qa("button",{type:"button",onClick:d,disabled:!/^[a-z][a-z0-9_]*$/.test(l.trim()),className:"rounded px-1 text-[11px] hover:bg-accent disabled:opacity-40",children:"Create"})]}),qa("div",{className:"min-h-0 flex-1 overflow-y-auto py-1",children:t.map(c=>yn("div",{className:"mb-1",children:[yn("div",{className:"flex items-center justify-between px-2 py-0.5",children:[yn("span",{className:"flex items-center gap-1 text-[11px] font-medium",children:[c.name,!c.writable&&qa(rl,{className:"size-3 text-muted-foreground","aria-label":c.reason??"read-only"})]}),c.writable&&qa("button",{type:"button",title:"New migration",onClick:()=>n(c.name),className:"rounded p-0.5 text-muted-foreground hover:bg-accent",children:qa(dr,{className:"size-3"})})]}),c.files.map(f=>{let h=`${c.name}:${f}`,p=e?.cart===c.name&&e?.path===f;return yn("button",{type:"button",onClick:()=>o({cart:c.name,path:f}),"data-active":p,className:ue("flex w-full items-center gap-1 truncate py-0.5 pl-4 pr-2 text-left text-[11px]","hover:bg-accent data-[active=true]:bg-accent"),children:[qa("span",{className:"truncate",children:f}),a.has(h)&&qa("span",{className:"size-1.5 shrink-0 rounded-full bg-amber-400",title:"unsaved"})]},f)})]},c.name))})]})};import{Fragment as G4,jsx as lo,jsxs as gr}from"react/jsx-runtime";var Ln=t=>`${t.cart}:${t.path}`;function W4(){let t=new Date,e=a=>String(a).padStart(2,"0");return`${t.getFullYear()}${e(t.getMonth()+1)}${e(t.getDate())}${e(t.getHours())}${e(t.getMinutes())}${e(t.getSeconds())}`}var V4=()=>{let{apiBaseUrl:t}=et(),e=xf(),a=kM(),{sourcesCart:o,setSourcesCart:r,sourcesFile:n,setSourcesFile:s,sourcesTreeW:i,setSourcesTreeW:l,editorTheme:u,editorFontSize:d,editorLineWrap:c,editorTabSize:f}=Ft(),[h,p]=ot.useState([]),[m,g]=ot.useState(new Map),[x,y]=ot.useState(""),[b,C]=ot.useState([]),[I,v]=ot.useState(!1),L=o&&n?{cart:o,path:n}:null,S=ot.useRef(null);ot.useEffect(()=>{if(!e?.dev)return;let _=new md(`${Ur(t)}/_console/dev/lsp`);return _.initialize(`file://${e.projectRoot}`),S.current=_,()=>{_.dispose(),S.current=null}},[e?.dev,e?.projectRoot,t]);let k=ot.useCallback(()=>{a.listCarts().then(p).catch(_=>y(String(_.message??_)))},[a]);ot.useEffect(()=>{e?.dev&&k()},[e?.dev,k]);let z=ot.useCallback(_=>h.find(W=>W.name===_),[h]),A=ot.useCallback(_=>{r(_.cart),s(_.path),C([]),y("");let W=Ln(_);m.has(W)||a.readFile(_.cart,_.path).then(({content:G,writable:O})=>{g(F=>{if(F.has(W))return F;let V=new Map(F);return V.set(W,{saved:G,current:G,writable:O}),V})}).catch(G=>y(String(G.message??G)))},[a,m,r,s]);ot.useEffect(()=>{L&&h.length>0&&!m.has(Ln(L))&&A(L)},[h]);let P=L?m.get(Ln(L)):void 0,H=ot.useMemo(()=>{let _=new Set;for(let[W,G]of m)G.current!==G.saved&&_.add(W);return _},[m]);ot.useEffect(()=>{if(H.size===0)return;let _=W=>W.preventDefault();return window.addEventListener("beforeunload",_),()=>window.removeEventListener("beforeunload",_)},[H.size]);let M=ot.useCallback(_=>{if(!L)return;let W=Ln(L);g(G=>{let O=G.get(W);if(!O||O.current===_)return G;let F=new Map(G);return F.set(W,{...O,current:_}),F})},[L]),T=ot.useCallback(_=>{if(!L)return;let W=Ln(L);a.writeFile(L.cart,L.path,_).then(G=>{C(G.diagnostics),y(G.ok?`saved ${L.path}`:`saved ${L.path} \u2014 ${G.diagnostics.length} problem(s)`),g(O=>{let F=O.get(W);if(!F)return O;let V=new Map(O);return V.set(W,{...F,saved:_,current:_}),V}),k()}).catch(G=>y(`save failed: ${G.message??G}`))},[a,L,k]),R=ot.useCallback(()=>{L&&(v(!0),y(`applying ${L.cart}\u2026`),a.applyCart(L.cart).then(()=>y(`applied ${L.cart} \u2014 pending migrations ran, cart re-registered`)).catch(_=>y(`apply failed: ${_.message??_}`)).finally(()=>v(!1)))},[a,L]),E=ot.useCallback(_=>{y(`creating ${_}\u2026`),a.scaffoldCart(_).then(()=>{y(`created ${_}`),k(),A({cart:_,path:"schema.nbt"})}).catch(W=>y(`scaffold failed: ${W.message??W}`))},[a,k,A]),q=ot.useCallback(_=>{let W=`migrations/${W4()}_change/migration.nbt`,G=`${_}:${W}`;g(O=>{let F=new Map(O);return F.set(G,{saved:"",current:`migration change {
72
72
 
73
73
  }
74
- `,writable:!0}),F}),r(_),s(W)},[r,s]),B=Qe.useCallback((_,W)=>{let G=_.replace(/^file:\/\//,""),O=null;for(let F of h){if(!F.sourceDir)continue;let V=`${F.sourceDir}/`;G.startsWith(V)&&(!O||V.length>O.cart.length)&&(O={cart:F.name,rel:G.slice(V.length)})}O&&M({cart:O.cart,path:O.rel})},[h,M]),P=Qe.useCallback(_=>{_.preventDefault();let W=_.clientX,G=i,O=_.currentTarget;O.setPointerCapture(_.pointerId);let F=ie=>l(Math.max(120,Math.min(480,G+(ie.clientX-W)))),V=()=>{O.removeEventListener("pointermove",F),O.removeEventListener("pointerup",V)};O.addEventListener("pointermove",F),O.addEventListener("pointerup",V)},[i,l]);if(!e?.dev)return no("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Sources requires the console to run in dev mode (`console up --dev`)."});let N=L?H(L.cart):void 0,U=L&&N?.sourceDir?`file://${N.sourceDir}/${L.path}`:L?`file://${e.projectRoot}/.readonly/${L.cart}/${L.path}`:"",$=L?z.has(gn(L)):!1;return fr("div",{className:"flex h-full min-h-0 flex-col",children:[fr("div",{className:"flex min-h-0 flex-1",children:[no("div",{style:{width:i},className:"shrink-0 border-r border-border",children:no(cM,{carts:h,selected:L,dirtyKeys:z,onSelect:M,onNewCart:E,onNewMigration:q})}),no("div",{onPointerDown:P,style:{touchAction:"none"},className:"w-1 shrink-0 cursor-ew-resize bg-transparent hover:bg-accent/40"}),no("div",{className:"min-h-0 min-w-0 flex-1",children:L&&R?no(od,{uri:U,value:R.current,readOnly:!R.writable,lsp:S.current,onChange:k,onSave:T,onGotoDefinition:B,theme:u,fontSize:d,lineWrap:c,tabSize:f},gn(L)):no("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Select a file \u2014 or create a cartridge with the + button."})})]}),fr("div",{className:"flex h-6 shrink-0 items-center gap-2 border-t border-border px-2 text-[11px]",children:[L&&R?.writable&&fr(x4,{children:[fr("button",{type:"button",onClick:()=>R&&T(R.current),className:fe("flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent",$&&"text-amber-400"),title:"Save (Ctrl+S) \u2014 mirrors to your local project folder",children:[no(nl,{className:"size-3"})," Save"]}),fr("button",{type:"button",onClick:D,disabled:I||$,className:"flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent disabled:opacity-40",title:$?"Save first":"Re-install this cart from disk (runs your pending migrations)",children:[no(sn,{className:"size-3"})," Apply"]})]}),L&&!R?.writable&&fr("span",{className:"text-muted-foreground",children:["read-only (",N?.reason??"no source mapping",")"]}),no("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:x}),w.length>0&&fr("span",{className:"shrink-0 text-red-400",title:w.map(_=>`${_.line}:${_.col} ${_.message}`).join(`
75
- `),children:[w.length," problem",w.length>1?"s":""]})]})]})},fM=g4;import{jsx as at,jsxs as sf}from"react/jsx-runtime";var hM=120,pM=240,mM=8,gM=[{id:"console",title:"Console",render:()=>at(F1,{})},{id:"network",title:"Network",render:()=>at(O1,{})},{id:"data",title:"Data",render:()=>at(aM,{})}],b4={id:"sources",title:"Sources",render:()=>at(fM,{})},xM={id:"settings",title:"Settings",render:()=>at(lM,{})},w4=()=>{let{open:t,setOpen:e,dock:a,setDock:o,activeTab:r,setActiveTab:n,size:s,setSize:i,maximized:l,setMaximized:u,devtoolsFont:d}=Jt(),c=hr.useRef(null),f=hr.useRef(!1),h=nf(),p=hr.useMemo(()=>h?.dev?[...gM,b4,xM]:[...gM,xM],[h?.dev]),[m,g]=hr.useState(()=>typeof window>"u"?{w:0,h:0}:{w:window.innerWidth,h:window.innerHeight});hr.useEffect(()=>{let I=()=>g({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",I),window.visualViewport?.addEventListener("resize",I),()=>{window.removeEventListener("resize",I),window.visualViewport?.removeEventListener("resize",I)}},[]),hr.useEffect(()=>{r||p.length>0&&n(p[0].id)},[r,n,p]),hr.useEffect(()=>{let I=c.current;if(!I)return;let v=L=>{let S=L.target;for(;S&&S!==I;){let A=getComputedStyle(S);if(Math.abs(L.deltaY)>=Math.abs(L.deltaX)){if((A.overflowY==="auto"||A.overflowY==="scroll")&&S.scrollHeight>S.clientHeight){let R=S.scrollTop<=0,z=S.scrollTop+S.clientHeight>=S.scrollHeight-1;if(!(L.deltaY<0&&R||L.deltaY>0&&z))return}}else if((A.overflowX==="auto"||A.overflowX==="scroll")&&S.scrollWidth>S.clientWidth){let R=S.scrollLeft<=0,z=S.scrollLeft+S.clientWidth>=S.scrollWidth-1;if(!(L.deltaX<0&&R||L.deltaX>0&&z))return}S=S.parentElement}L.preventDefault()};return I.addEventListener("wheel",v,{passive:!1}),()=>I.removeEventListener("wheel",v)},[t]);let x=hr.useCallback(I=>{I.preventDefault();let v=c.current;if(!v)return;let L=I.currentTarget;L.setPointerCapture(I.pointerId);let S=I.clientX,A=I.clientY,H=v.offsetHeight,M=v.offsetWidth,R=a==="bottom",z=null,k=R?H:M,T=0,D=()=>{if(T=0,z==null)return;let B=z;z=null,k=B,R?v.style.height=`${B}px`:v.style.width=`${B}px`},E=B=>{if(B.preventDefault(),R){let P=A-B.clientY;z=Math.max(hM,Math.min(window.innerHeight-24,H+P))}else{let P=S-B.clientX;z=Math.max(pM,Math.min(window.innerWidth-24,M+P))}T||(T=requestAnimationFrame(D))},q=()=>{T&&cancelAnimationFrame(T),D(),i(B=>R?B.h===k?B:{...B,h:k}:B.w===k?B:{...B,w:k}),L.removeEventListener("pointermove",E),L.removeEventListener("pointerup",q),L.removeEventListener("pointercancel",q);try{L.releasePointerCapture(I.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor=a==="bottom"?"ns-resize":"ew-resize",L.addEventListener("pointermove",E),L.addEventListener("pointerup",q),L.addEventListener("pointercancel",q)},[a,i]);if(t&&(f.current=!0),!f.current)return null;let y=p.find(I=>I.id===r)??p[0],w=l?"inset-0":a==="bottom"?"inset-x-0 bottom-0":"inset-y-0 right-0",C=l?{}:a==="bottom"?{height:Math.max(hM,Math.min(s.h,m.h-mM))}:{width:Math.max(pM,Math.min(s.w,m.w-mM))};return sf("div",{ref:c,style:{...C,fontFamily:A1(d)},className:fe("nimbit-devtools dark fixed z-50 flex flex-col border-border bg-background text-foreground text-[12px] shadow-lg",w,a==="bottom"?"border-t":"border-l",!t&&"hidden"),onMouseDown:I=>I.stopPropagation(),children:[!l&&at("div",{onPointerDown:x,style:{touchAction:"none"},className:fe("absolute z-10 bg-transparent hover:bg-accent/40",a==="bottom"?"left-0 right-0 -top-px h-1.5 cursor-ns-resize":"top-0 bottom-0 -left-px w-1.5 cursor-ew-resize")}),sf("div",{className:"flex h-7 shrink-0 items-center border-b border-border bg-background pl-1 pr-1 select-none",children:[at("div",{className:"flex min-w-0 flex-1 items-center gap-0.5 overflow-x-auto",children:p.map(I=>{let v=I.id===y?.id;return at("button",{type:"button","data-active":v,onClick:()=>n(I.id),className:fe("h-5 shrink-0 rounded-md px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:sf("span",{className:"inline-flex items-center gap-1",children:[I.icon,I.title]})},I.id)})}),sf("div",{className:"flex shrink-0 items-center gap-0.5 pl-2",children:[at(Cx,{label:a==="bottom"?"Dock right":"Dock bottom",onClick:()=>o(a==="bottom"?"right":"bottom"),children:a==="bottom"?at(tl,{className:"size-3.5"}):at(el,{className:"size-3.5"})}),at(Cx,{label:l?"Restore":"Maximize",onClick:()=>u(!l),children:l?at(Ji,{className:"size-3.5"}):at(Yi,{className:"size-3.5"})}),at(Cx,{label:"Close",onClick:()=>e(!1),children:at(Ao,{className:"size-3.5"})})]})]}),at("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:at(M1,{children:p.map(I=>at("div",{className:fe("h-full w-full",I.id!==y?.id&&"hidden"),children:I.render()},I.id))})})]})},Cx=({label:t,className:e,children:a,...o})=>at("button",{type:"button","aria-label":t,title:t,className:fe("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",e),...o,children:a}),vx=w4;var bM=`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
76
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-400:oklch(82.8% .189 84.429);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--tracking-wider:.05em;--radius-md:calc(var(--radius) * .8);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.-top-px{top:-1px}.top-0{top:calc(var(--spacing) * 0)}.top-3{top:calc(var(--spacing) * 3)}.top-6{top:calc(var(--spacing) * 6)}.\\!right-0{right:calc(var(--spacing) * 0)!important}.-right-px{right:-1px}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.\\!left-0{left:calc(var(--spacing) * 0)!important}.-left-px{left:-1px}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[60\\]{z-index:60}.z-\\[61\\]{z-index:61}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.\\!h-1{height:calc(var(--spacing) * 1)!important}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-auto{height:auto}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\\[3rem\\]{min-height:3rem}.min-h-\\[26px\\]{min-height:26px}.\\!w-1{width:calc(var(--spacing) * 1)!important}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-20{width:calc(var(--spacing) * 20)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-\\[260px\\]{width:260px}.w-\\[480px\\]{width:480px}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\\[96px\\]{max-width:96px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-ew-resize{cursor:ew-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.grid-cols-\\[minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.place-items-center{place-items:center}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\]{border-radius:min(var(--radius-md), 10px)}.rounded-\\[min\\(var\\(--radius-md\\)\\,12px\\)\\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-sm{border-radius:calc(var(--radius) * .6)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.\\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-400\\/30{border-color:#54a2ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-400\\/30{border-color:color-mix(in oklab, var(--color-blue-400) 30%, transparent)}}.border-blue-400\\/60{border-color:#54a2ff99}@supports (color:color-mix(in lab, red, red)){.border-blue-400\\/60{border-color:color-mix(in oklab, var(--color-blue-400) 60%, transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-border,.border-border\\/20{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/20{border-color:color-mix(in oklab, var(--border) 20%, transparent)}}.border-border\\/30{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/30{border-color:color-mix(in oklab, var(--border) 30%, transparent)}}.border-border\\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/40{border-color:color-mix(in oklab, var(--border) 40%, transparent)}}.border-border\\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-red-400\\/30{border-color:#ff65684d}@supports (color:color-mix(in lab, red, red)){.border-red-400\\/30{border-color:color-mix(in oklab, var(--color-red-400) 30%, transparent)}}.border-transparent{border-color:#0000}.border-yellow-400\\/30{border-color:#fac8004d}@supports (color:color-mix(in lab, red, red)){.border-yellow-400\\/30{border-color:color-mix(in oklab, var(--color-yellow-400) 30%, transparent)}}.border-zinc-500\\/30{border-color:#71717b4d}@supports (color:color-mix(in lab, red, red)){.border-zinc-500\\/30{border-color:color-mix(in oklab, var(--color-zinc-500) 30%, transparent)}}.border-zinc-700{border-color:var(--color-zinc-700)}.\\!bg-transparent{background-color:#0000!important}.bg-accent\\/10{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/10{background-color:color-mix(in oklab, var(--accent) 10%, transparent)}}.bg-amber-400{background-color:var(--color-amber-400)}.bg-background{background-color:var(--background)}.bg-black\\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-blue-500\\/15{background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/15{background-color:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/20{background-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.bg-border,.bg-border\\/60{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\\/60{background-color:color-mix(in oklab, var(--border) 60%, transparent)}}.bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted\\/10{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/10{background-color:color-mix(in oklab, var(--muted) 10%, transparent)}}.bg-muted\\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\\/90{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/90{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/20{background-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-yellow-500\\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\\/10{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.bg-yellow-500\\/20{background-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\\/20{background-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.bg-zinc-700\\/40{background-color:#3f3f4666}@supports (color:color-mix(in lab, red, red)){.bg-zinc-700\\/40{background-color:color-mix(in oklab, var(--color-zinc-700) 40%, transparent)}}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-950{background-color:var(--color-zinc-950)}.bg-clip-padding{background-clip:padding-box}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[0\\.8rem\\]{font-size:.8rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[1\\.45\\]{--tw-leading:1.45;line-height:1.45}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-background{color:var(--background)}.text-blue-200{color:var(--color-blue-200)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-green-400{color:var(--color-green-400)}.text-muted-foreground,.text-muted-foreground\\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/40{color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.text-muted-foreground\\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/60{color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-yellow-300{color:var(--color-yellow-300)}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.\\!opacity-0{opacity:0!important}.opacity-35{opacity:.35}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-black\\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-blue-500\\/10{--tw-ring-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.ring-blue-500\\/10{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.ring-blue-500\\/30{--tw-ring-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.ring-blue-500\\/30{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.ring-zinc-100\\/10{--tw-ring-color:#f4f4f51a}@supports (color:color-mix(in lab, red, red)){.ring-zinc-100\\/10{--tw-ring-color:color-mix(in oklab, var(--color-zinc-100) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.placeholder\\:text-muted-foreground\\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-muted-foreground\\/70::placeholder{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent)}}@media (hover:hover){.hover\\:bg-accent:hover,.hover\\:bg-accent\\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.hover\\:bg-accent\\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/40:hover{background-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\\:bg-muted:hover{background-color:var(--muted)}.hover\\:bg-primary:hover{background-color:var(--primary)}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-foreground:hover{color:var(--foreground)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}}.focus\\:border-accent:focus{border-color:var(--accent)}.focus\\:border-accent-foreground\\/30:focus{border-color:var(--accent-foreground)}@supports (color:color-mix(in lab, red, red)){.focus\\:border-accent-foreground\\/30:focus{border-color:color-mix(in oklab, var(--accent-foreground) 30%, transparent)}}.focus\\:border-ring:focus{border-color:var(--ring)}.focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}.has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\\[icon\\=inline-end\\]\\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\\[icon\\=inline-start\\]\\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-closed\\:animate-out[data-closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-open\\:animate-in[data-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-\\[active\\=false\\]\\:opacity-40[data-active=false]{opacity:.4}@media (hover:hover){.data-\\[active\\=false\\]\\:hover\\:opacity-70[data-active=false]:hover{opacity:.7}}.data-\\[active\\=true\\]\\:border-border[data-active=true]{border-color:var(--border)}.data-\\[active\\=true\\]\\:bg-accent[data-active=true]{background-color:var(--accent)}.data-\\[active\\=true\\]\\:text-accent-foreground[data-active=true]{color:var(--accent-foreground)}.data-\\[selected\\=true\\]\\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\\[selected\\=true\\]\\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\\[selected\\=true\\]\\:\\[box-shadow\\:inset_0_0_0_1px_\\#60a5fa\\][data-selected=true]{box-shadow:inset 0 0 0 1px #60a5fa}.data-\\[side\\=bottom\\]\\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\\[side\\=bottom\\]\\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing) * 0)}.data-\\[side\\=bottom\\]\\:h-auto[data-side=bottom]{height:auto}.data-\\[side\\=bottom\\]\\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\\[side\\=bottom\\]\\:data-closed\\:slide-out-to-bottom-10[data-side=bottom][data-closed]{--tw-exit-translate-y:calc(.1*100%)}.data-\\[side\\=bottom\\]\\:data-open\\:slide-in-from-bottom-10[data-side=bottom][data-open]{--tw-enter-translate-y:calc(.1*100%)}.data-\\[side\\=left\\]\\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing) * 0)}.data-\\[side\\=left\\]\\:left-0[data-side=left]{left:calc(var(--spacing) * 0)}.data-\\[side\\=left\\]\\:h-full[data-side=left]{height:100%}.data-\\[side\\=left\\]\\:w-3\\/4[data-side=left]{width:75%}.data-\\[side\\=left\\]\\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\\[side\\=left\\]\\:data-closed\\:slide-out-to-left-10[data-side=left][data-closed]{--tw-exit-translate-x:calc(.1*-100%)}.data-\\[side\\=left\\]\\:data-open\\:slide-in-from-left-10[data-side=left][data-open]{--tw-enter-translate-x:calc(.1*-100%)}.data-\\[side\\=right\\]\\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing) * 0)}.data-\\[side\\=right\\]\\:right-0[data-side=right]{right:calc(var(--spacing) * 0)}.data-\\[side\\=right\\]\\:h-full[data-side=right]{height:100%}.data-\\[side\\=right\\]\\:w-3\\/4[data-side=right]{width:75%}.data-\\[side\\=right\\]\\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\\[side\\=right\\]\\:data-closed\\:slide-out-to-right-10[data-side=right][data-closed]{--tw-exit-translate-x:calc(.1*100%)}.data-\\[side\\=right\\]\\:data-open\\:slide-in-from-right-10[data-side=right][data-open]{--tw-enter-translate-x:calc(.1*100%)}.data-\\[side\\=top\\]\\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing) * 0)}.data-\\[side\\=top\\]\\:top-0[data-side=top]{top:calc(var(--spacing) * 0)}.data-\\[side\\=top\\]\\:h-auto[data-side=top]{height:auto}.data-\\[side\\=top\\]\\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\\[side\\=top\\]\\:data-closed\\:slide-out-to-top-10[data-side=top][data-closed]{--tw-exit-translate-y:calc(.1*-100%)}.data-\\[side\\=top\\]\\:data-open\\:slide-in-from-top-10[data-side=top][data-open]{--tw-enter-translate-y:calc(.1*-100%)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.sm\\:max-w-\\[480px\\]{max-width:480px}.data-\\[side\\=left\\]\\:sm\\:max-w-sm[data-side=left],.data-\\[side\\=right\\]\\:sm\\:max-w-sm[data-side=right]{max-width:var(--container-sm)}}.dark\\:border-input:is(.dark *){border-color:var(--input)}.dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media (hover:hover){.\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.nimbit-devtools{color-scheme:dark;scrollbar-width:thin;scrollbar-color:oklch(40% 0 0) transparent;--spacing:4px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--radius:10px;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);font-size:12px;line-height:1.5}.nimbit-devtools ::-webkit-scrollbar{width:10px;height:10px}.nimbit-devtools::-webkit-scrollbar{width:10px;height:10px}.nimbit-devtools ::-webkit-scrollbar-track{background:0 0}.nimbit-devtools::-webkit-scrollbar-track{background:0 0}.nimbit-devtools ::-webkit-scrollbar-corner{background:0 0}.nimbit-devtools::-webkit-scrollbar-corner{background:0 0}.nimbit-devtools ::-webkit-scrollbar-thumb{background:oklch(40% 0 0) padding-box padding-box;border:2px solid #0000;border-radius:5px}.nimbit-devtools::-webkit-scrollbar-thumb{background:oklch(40% 0 0) padding-box padding-box;border:2px solid #0000;border-radius:5px}.nimbit-devtools ::-webkit-scrollbar-thumb:hover{background:oklch(50% 0 0)}.nimbit-devtools::-webkit-scrollbar-thumb:hover{background:oklch(50% 0 0)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}`;import{jsx as lf}from"react/jsx-runtime";var C4=({apiBaseUrl:t="",defaultActiveTab:e})=>{let[a,o]=bl.useState(null);return bl.useEffect(()=>{let r=document.createElement("div");r.setAttribute("data-nimbit-devtools-host",""),document.body.appendChild(r);let n=r.attachShadow({mode:"open"}),s=document.createElement("style");s.textContent=bM,n.appendChild(s);let i=document.createElement("div");i.className="nimbit-devtools dark",n.appendChild(i);let l=L4(i);return o({root:l,node:i}),()=>{setTimeout(()=>{l.unmount(),r.remove()},0)}},[]),bl.useEffect(()=>{a&&a.root.render(lf(of.Provider,{value:a.node,children:lf(om,{apiBaseUrl:t,children:lf(Ng,{defaultActiveTab:e,children:lf(vx,{})})})}))},[a,t,e]),null},zae=C4;function qae(){window.dispatchEvent(new CustomEvent("devtools-toggle"))}function Uae(){let[t,e]=bl.useState(!1);return bl.useEffect(()=>{let a=o=>{let r=o.detail;r&&typeof r.open=="boolean"&&e(r.open)};return window.addEventListener("devtools-state",a),()=>window.removeEventListener("devtools-state",a)},[]),t}export{vx as DevTools,Ng as DevToolsProvider,C4 as NimbitDevTools,zae as default,qae as toggleDevTools,Jt as useDevTools,Uae as useDevToolsOpen};
74
+ `,writable:!0}),F}),r(_),s(W)},[r,s]),B=ot.useCallback((_,W)=>{let G=_.replace(/^file:\/\//,""),O=null;for(let F of h){if(!F.sourceDir)continue;let V=`${F.sourceDir}/`;G.startsWith(V)&&(!O||V.length>O.cart.length)&&(O={cart:F.name,rel:G.slice(V.length)})}O&&A({cart:O.cart,path:O.rel})},[h,A]),D=ot.useCallback(_=>{_.preventDefault();let W=_.clientX,G=i,O=_.currentTarget;O.setPointerCapture(_.pointerId);let F=ie=>l(Math.max(120,Math.min(480,G+(ie.clientX-W)))),V=()=>{O.removeEventListener("pointermove",F),O.removeEventListener("pointerup",V)};O.addEventListener("pointermove",F),O.addEventListener("pointerup",V)},[i,l]);if(!e?.dev)return lo("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Sources requires the console to run in dev mode (`console up --dev`)."});let N=L?z(L.cart):void 0,U=L&&N?.sourceDir?`file://${N.sourceDir}/${L.path}`:L?`file://${e.projectRoot}/.readonly/${L.cart}/${L.path}`:"",$=L?H.has(Ln(L)):!1;return gr("div",{className:"flex h-full min-h-0 flex-col",children:[gr("div",{className:"flex min-h-0 flex-1",children:[lo("div",{style:{width:i},className:"shrink-0 border-r border-border",children:lo(MM,{carts:h,selected:L,dirtyKeys:H,onSelect:A,onNewCart:E,onNewMigration:q})}),lo("div",{onPointerDown:D,style:{touchAction:"none"},className:"w-1 shrink-0 cursor-ew-resize bg-transparent hover:bg-accent/40"}),lo("div",{className:"min-h-0 min-w-0 flex-1",children:L&&P?lo(pd,{uri:U,value:P.current,readOnly:!P.writable,lsp:S.current,onChange:M,onSave:T,onGotoDefinition:B,theme:u,fontSize:d,lineWrap:c,tabSize:f},Ln(L)):lo("div",{className:"flex h-full items-center justify-center text-[12px] text-muted-foreground",children:"Select a file \u2014 or create a cartridge with the + button."})})]}),gr("div",{className:"flex h-6 shrink-0 items-center gap-2 border-t border-border px-2 text-[11px]",children:[L&&P?.writable&&gr(G4,{children:[gr("button",{type:"button",onClick:()=>P&&T(P.current),className:ue("flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent",$&&"text-amber-400"),title:"Save (Ctrl+S) \u2014 mirrors to your local project folder",children:[lo(pl,{className:"size-3"})," Save"]}),gr("button",{type:"button",onClick:R,disabled:I||$,className:"flex items-center gap-1 rounded px-1.5 py-0.5 hover:bg-accent disabled:opacity-40",title:$?"Save first":"Re-install this cart from disk (runs your pending migrations)",children:[lo(fn,{className:"size-3"})," Apply"]})]}),L&&!P?.writable&&gr("span",{className:"text-muted-foreground",children:["read-only (",N?.reason??"no source mapping",")"]}),lo("span",{className:"min-w-0 flex-1 truncate text-muted-foreground",children:x}),b.length>0&&gr("span",{className:"shrink-0 text-red-400",title:b.map(_=>`${_.line}:${_.col} ${_.message}`).join(`
75
+ `),children:[b.length," problem",b.length>1?"s":""]})]})]})},PM=V4;import{jsx as Ye,jsxs as bf}from"react/jsx-runtime";var DM=120,RM=240,TM=8,EM=[{id:"console",title:"Console",render:()=>Ye(K1,{})},{id:"network",title:"Network",render:()=>Ye(j1,{})},{id:"data",title:"Data",render:()=>Ye(pM,{})},{id:"workflows",title:"Workflows",icon:Ye(xl,{className:"size-3"}),render:()=>Ye(bM,{})}],$4={id:"sources",title:"Sources",render:()=>Ye(PM,{})},BM={id:"settings",title:"Settings",render:()=>Ye(IM,{})},X4=()=>{let{open:t,setOpen:e,dock:a,setDock:o,activeTab:r,setActiveTab:n,size:s,setSize:i,maximized:l,setMaximized:u,devtoolsFont:d}=Ft(),c=xr.useRef(null),f=xr.useRef(!1),h=xf(),p=xr.useMemo(()=>h?.dev?[...EM,$4,BM]:[...EM,BM],[h?.dev]),[m,g]=xr.useState(()=>typeof window>"u"?{w:0,h:0}:{w:window.innerWidth,h:window.innerHeight});xr.useEffect(()=>{let I=()=>g({w:window.innerWidth,h:window.innerHeight});return window.addEventListener("resize",I),window.visualViewport?.addEventListener("resize",I),()=>{window.removeEventListener("resize",I),window.visualViewport?.removeEventListener("resize",I)}},[]),xr.useEffect(()=>{r||p.length>0&&n(p[0].id)},[r,n,p]),xr.useEffect(()=>{let I=c.current;if(!I)return;let v=L=>{let S=L.target;for(;S&&S!==I;){let k=getComputedStyle(S);if(Math.abs(L.deltaY)>=Math.abs(L.deltaX)){if((k.overflowY==="auto"||k.overflowY==="scroll")&&S.scrollHeight>S.clientHeight){let P=S.scrollTop<=0,H=S.scrollTop+S.clientHeight>=S.scrollHeight-1;if(!(L.deltaY<0&&P||L.deltaY>0&&H))return}}else if((k.overflowX==="auto"||k.overflowX==="scroll")&&S.scrollWidth>S.clientWidth){let P=S.scrollLeft<=0,H=S.scrollLeft+S.clientWidth>=S.scrollWidth-1;if(!(L.deltaX<0&&P||L.deltaX>0&&H))return}S=S.parentElement}L.preventDefault()};return I.addEventListener("wheel",v,{passive:!1}),()=>I.removeEventListener("wheel",v)},[t]);let x=xr.useCallback(I=>{I.preventDefault();let v=c.current;if(!v)return;let L=I.currentTarget;L.setPointerCapture(I.pointerId);let S=I.clientX,k=I.clientY,z=v.offsetHeight,A=v.offsetWidth,P=a==="bottom",H=null,M=P?z:A,T=0,R=()=>{if(T=0,H==null)return;let B=H;H=null,M=B,P?v.style.height=`${B}px`:v.style.width=`${B}px`},E=B=>{if(B.preventDefault(),P){let D=k-B.clientY;H=Math.max(DM,Math.min(window.innerHeight-24,z+D))}else{let D=S-B.clientX;H=Math.max(RM,Math.min(window.innerWidth-24,A+D))}T||(T=requestAnimationFrame(R))},q=()=>{T&&cancelAnimationFrame(T),R(),i(B=>P?B.h===M?B:{...B,h:M}:B.w===M?B:{...B,w:M}),L.removeEventListener("pointermove",E),L.removeEventListener("pointerup",q),L.removeEventListener("pointercancel",q);try{L.releasePointerCapture(I.pointerId)}catch{}document.body.style.userSelect="",document.body.style.cursor=""};document.body.style.userSelect="none",document.body.style.cursor=a==="bottom"?"ns-resize":"ew-resize",L.addEventListener("pointermove",E),L.addEventListener("pointerup",q),L.addEventListener("pointercancel",q)},[a,i]);if(t&&(f.current=!0),!f.current)return null;let y=p.find(I=>I.id===r)??p[0],b=l?"inset-0":a==="bottom"?"inset-x-0 bottom-0":"inset-y-0 right-0",C=l?{}:a==="bottom"?{height:Math.max(DM,Math.min(s.h,m.h-TM))}:{width:Math.max(RM,Math.min(s.w,m.w-TM))};return bf("div",{ref:c,style:{...C,fontFamily:z1(d)},className:ue("nimbit-devtools dark fixed z-50 flex flex-col border-border bg-background text-foreground text-[12px] shadow-lg",b,a==="bottom"?"border-t":"border-l",!t&&"hidden"),onMouseDown:I=>I.stopPropagation(),children:[!l&&Ye("div",{onPointerDown:x,style:{touchAction:"none"},className:ue("absolute z-10 bg-transparent hover:bg-accent/40",a==="bottom"?"left-0 right-0 -top-px h-1.5 cursor-ns-resize":"top-0 bottom-0 -left-px w-1.5 cursor-ew-resize")}),bf("div",{className:"flex h-7 shrink-0 items-center border-b border-border bg-background pl-1 pr-1 select-none",children:[Ye("div",{className:"flex min-w-0 flex-1 items-center gap-0.5 overflow-x-auto",children:p.map(I=>{let v=I.id===y?.id;return Ye("button",{type:"button","data-active":v,onClick:()=>n(I.id),className:ue("h-5 shrink-0 rounded-md px-2 text-[12px] leading-none outline-none transition-colors","text-foreground hover:bg-accent hover:text-accent-foreground","data-[active=true]:bg-accent data-[active=true]:text-accent-foreground"),children:bf("span",{className:"inline-flex items-center gap-1",children:[I.icon,I.title]})},I.id)})}),bf("div",{className:"flex shrink-0 items-center gap-0.5 pl-2",children:[Ye(Bx,{label:a==="bottom"?"Dock right":"Dock bottom",onClick:()=>o(a==="bottom"?"right":"bottom"),children:a==="bottom"?Ye(ul,{className:"size-3.5"}):Ye(ll,{className:"size-3.5"})}),Ye(Bx,{label:l?"Restore":"Maximize",onClick:()=>u(!l),children:l?Ye(sl,{className:"size-3.5"}):Ye(nl,{className:"size-3.5"})}),Ye(Bx,{label:"Close",onClick:()=>e(!1),children:Ye(Do,{className:"size-3.5"})})]})]}),Ye("div",{className:"min-h-0 min-w-0 flex-1 overflow-hidden",children:Ye(q1,{children:p.map(I=>Ye("div",{className:ue("h-full w-full",I.id!==y?.id&&"hidden"),children:I.render()},I.id))})})]})},Bx=({label:t,className:e,children:a,...o})=>Ye("button",{type:"button","aria-label":t,title:t,className:ue("grid size-5 place-items-center rounded-md text-foreground outline-none hover:bg-accent hover:text-accent-foreground",e),...o,children:a}),Fx=X4;var FM=`/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
76
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}.react-flow{--xy-edge-stroke-default:#b1b1b7;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#555;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#ffffff80;--xy-minimap-background-color-default:#fff;--xy-minimap-mask-background-color-default:#f0f0f099;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#e2e2e2;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:transparent;--xy-background-pattern-dots-color-default:#91919a;--xy-background-pattern-lines-color-default:#eee;--xy-background-pattern-cross-color-default:#e2e2e2;background-color:var(--xy-background-color,var(--xy-background-color-default));--xy-node-color-default:inherit;--xy-node-border-default:1px solid #1a192b;--xy-node-background-color-default:#fff;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #00000014;--xy-node-boxshadow-selected-default:0 0 0 .5px #1a192b;--xy-node-border-radius-default:3px;--xy-handle-background-color-default:#1a192b;--xy-handle-border-color-default:#fff;--xy-selection-background-color-default:#0059dc14;--xy-selection-border-default:1px dotted #0059dccc;--xy-controls-button-background-color-default:#fefefe;--xy-controls-button-background-color-hover-default:#f4f4f4;--xy-controls-button-color-default:inherit;--xy-controls-button-color-hover-default:inherit;--xy-controls-button-border-color-default:#eee;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#fff;--xy-edge-label-color-default:inherit;--xy-resize-background-color-default:#3367d9;direction:ltr}.react-flow.dark{--xy-edge-stroke-default:#3e3e3e;--xy-edge-stroke-width-default:1;--xy-edge-stroke-selected-default:#727272;--xy-connectionline-stroke-default:#b1b1b7;--xy-connectionline-stroke-width-default:1;--xy-attribution-background-color-default:#96969640;--xy-minimap-background-color-default:#141414;--xy-minimap-mask-background-color-default:#3c3c3c99;--xy-minimap-mask-stroke-color-default:transparent;--xy-minimap-mask-stroke-width-default:1;--xy-minimap-node-background-color-default:#2b2b2b;--xy-minimap-node-stroke-color-default:transparent;--xy-minimap-node-stroke-width-default:2;--xy-background-color-default:#141414;--xy-background-pattern-dots-color-default:#777;--xy-background-pattern-lines-color-default:#777;--xy-background-pattern-cross-color-default:#777;--xy-node-color-default:#f8f8f8;--xy-node-border-default:1px solid #3c3c3c;--xy-node-background-color-default:#1e1e1e;--xy-node-group-background-color-default:#f0f0f040;--xy-node-boxshadow-hover-default:0 1px 4px 1px #ffffff14;--xy-node-boxshadow-selected-default:0 0 0 .5px #999;--xy-handle-background-color-default:#bebebe;--xy-handle-border-color-default:#1e1e1e;--xy-selection-background-color-default:#c8c8dc14;--xy-selection-border-default:1px dotted #c8c8dccc;--xy-controls-button-background-color-default:#2b2b2b;--xy-controls-button-background-color-hover-default:#3e3e3e;--xy-controls-button-color-default:#f8f8f8;--xy-controls-button-color-hover-default:#fff;--xy-controls-button-border-color-default:#5b5b5b;--xy-controls-box-shadow-default:0 0 2px 1px #00000014;--xy-edge-label-background-color-default:#141414;--xy-edge-label-color-default:#f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props,var(--xy-background-color,var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__pane{z-index:1;touch-action:none}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width,var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke,var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width,var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{pointer-events:none;position:absolute;overflow:visible}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:.5s linear infinite dashdraw}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected,var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke,var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:.5s linear infinite dashdraw}svg.react-flow__connectionline{z-index:1001;position:absolute;overflow:visible}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{-webkit-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default;position:absolute}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:0 0;pointer-events:none}.react-flow__nodesselection-rect{pointer-events:all;cursor:grab;position:absolute}.react-flow__handle{pointer-events:none;background-color:var(--xy-handle-background-color,var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color,var(--xy-handle-border-color-default));border-radius:100%;width:6px;min-width:5px;height:6px;min-height:5px;position:absolute}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;bottom:0;left:50%;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{z-index:5;margin:15px;position:absolute}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px)translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px)translateY(-50%)}.react-flow__attribution{background:var(--xy-attribution-background-color,var(--xy-attribution-background-color-default));margin:0;padding:2px 3px;font-size:10px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10px}}.react-flow__edgelabel-renderer{pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__viewport-portal{-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;top:0;left:0}.react-flow__minimap{background:var(--xy-minimap-background-color-props,var(--xy-minimap-background-color,var(--xy-minimap-background-color-default)))}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var(--xy-minimap-mask-background-color-props,var(--xy-minimap-mask-background-color,var(--xy-minimap-mask-background-color-default)));stroke:var(--xy-minimap-mask-stroke-color-props,var(--xy-minimap-mask-stroke-color,var(--xy-minimap-mask-stroke-color-default)));stroke-width:var(--xy-minimap-mask-stroke-width-props,var(--xy-minimap-mask-stroke-width,var(--xy-minimap-mask-stroke-width-default)))}.react-flow__minimap-node{fill:var(--xy-minimap-node-background-color-props,var(--xy-minimap-node-background-color,var(--xy-minimap-node-background-color-default)));stroke:var(--xy-minimap-node-stroke-color-props,var(--xy-minimap-node-stroke-color,var(--xy-minimap-node-stroke-color-default)));stroke-width:var(--xy-minimap-node-stroke-width-props,var(--xy-minimap-node-stroke-width,var(--xy-minimap-node-stroke-width-default)))}.react-flow__background-pattern.dots{fill:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-dots-color-default)))}.react-flow__background-pattern.lines{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-lines-color-default)))}.react-flow__background-pattern.cross{stroke:var(--xy-background-pattern-color-props,var(--xy-background-pattern-color,var(--xy-background-pattern-cross-color-default)))}.react-flow__controls{box-shadow:var(--xy-controls-box-shadow,var(--xy-controls-box-shadow-default));flex-direction:column;display:flex}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{background:var(--xy-controls-button-background-color,var(--xy-controls-button-background-color-default));border:none;border-bottom:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)));width:26px;height:26px;color:var(--xy-controls-button-color-props,var(--xy-controls-button-color,var(--xy-controls-button-color-default)));cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;padding:4px;display:flex}.react-flow__controls-button svg{fill:currentColor;width:100%;max-width:12px;max-height:12px}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{border-radius:var(--xy-node-border-radius,var(--xy-node-border-radius-default));width:150px;color:var(--xy-node-color,var(--xy-node-color-default));text-align:center;border:var(--xy-node-border,var(--xy-node-border-default));background-color:var(--xy-node-background-color,var(--xy-node-background-color-default));padding:10px;font-size:12px}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover,var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected,var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color,var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color,var(--xy-selection-background-color-default));border:var(--xy-selection-border,var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var(--xy-controls-button-background-color-hover-props,var(--xy-controls-button-background-color-hover,var(--xy-controls-button-background-color-hover-default)));color:var(--xy-controls-button-color-hover-props,var(--xy-controls-button-color-hover,var(--xy-controls-button-color-hover-default)))}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var(--xy-controls-button-border-color-props,var(--xy-controls-button-border-color,var(--xy-controls-button-border-color-default)))}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border:1px solid #fff;border-radius:1px;width:5px;height:5px;translate:-50% -50%}.react-flow__resize-control.handle.left{top:50%;left:0}.react-flow__resize-control.handle.right{top:50%;left:100%}.react-flow__resize-control.handle.top{top:0;left:50%}.react-flow__resize-control.handle.bottom{top:100%;left:50%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color,var(--xy-resize-background-color-default));border-style:solid;border-width:0}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;height:100%;top:0;transform:translate(-50%)}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{width:100%;height:1px;left:0;transform:translateY(-50%)}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color,var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color,var(--xy-edge-label-color-default))}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-400:oklch(70.5% .015 286.067);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--tracking-wide:.025em;--tracking-wider:.05em;--leading-tight:1.25;--radius-md:calc(var(--radius) * .8);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--blur-xs:4px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.-top-px{top:-1px}.top-0{top:calc(var(--spacing) * 0)}.top-3{top:calc(var(--spacing) * 3)}.top-6{top:calc(var(--spacing) * 6)}.\\!right-0{right:calc(var(--spacing) * 0)!important}.-right-px{right:-1px}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.bottom-0{bottom:calc(var(--spacing) * 0)}.\\!left-0{left:calc(var(--spacing) * 0)!important}.-left-px{left:-1px}.left-0{left:calc(var(--spacing) * 0)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\\[60\\]{z-index:60}.z-\\[61\\]{z-index:61}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-1{margin-inline:calc(var(--spacing) * 1)}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-auto{margin-top:auto}.mt-px{margin-top:1px}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-1\\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-9{width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9)}.\\!h-1{height:calc(var(--spacing) * 1)!important}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-auto{height:auto}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-\\[3rem\\]{min-height:3rem}.min-h-\\[26px\\]{min-height:26px}.\\!w-1{width:calc(var(--spacing) * 1)!important}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-6{width:calc(var(--spacing) * 6)}.w-20{width:calc(var(--spacing) * 20)}.w-32{width:calc(var(--spacing) * 32)}.w-40{width:calc(var(--spacing) * 40)}.w-\\[260px\\]{width:260px}.w-\\[480px\\]{width:480px}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-64{max-width:calc(var(--spacing) * 64)}.max-w-\\[96px\\]{max-width:96px}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-36{min-width:calc(var(--spacing) * 36)}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-ew-resize{cursor:ew-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-ns-resize{cursor:ns-resize}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-y{resize:vertical}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.grid-cols-\\[minmax\\(0\\,1fr\\)_auto\\]{grid-template-columns:minmax(0,1fr) auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * .5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * .5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0\\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\\[min\\(var\\(--radius-md\\)\\,10px\\)\\]{border-radius:min(var(--radius-md), 10px)}.rounded-\\[min\\(var\\(--radius-md\\)\\,12px\\)\\]{border-radius:min(var(--radius-md), 12px)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) * .8)}.rounded-sm{border-radius:calc(var(--radius) * .6)}.rounded-xl{border-radius:calc(var(--radius) * 1.4)}.rounded-t-xl{border-top-left-radius:calc(var(--radius) * 1.4);border-top-right-radius:calc(var(--radius) * 1.4)}.rounded-b-xl{border-bottom-right-radius:calc(var(--radius) * 1.4);border-bottom-left-radius:calc(var(--radius) * 1.4)}.\\!border-0{border-style:var(--tw-border-style)!important;border-width:0!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-blue-400\\/30{border-color:#54a2ff4d}@supports (color:color-mix(in lab, red, red)){.border-blue-400\\/30{border-color:color-mix(in oklab, var(--color-blue-400) 30%, transparent)}}.border-blue-400\\/60{border-color:#54a2ff99}@supports (color:color-mix(in lab, red, red)){.border-blue-400\\/60{border-color:color-mix(in oklab, var(--color-blue-400) 60%, transparent)}}.border-blue-500{border-color:var(--color-blue-500)}.border-border,.border-border\\/20{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/20{border-color:color-mix(in oklab, var(--border) 20%, transparent)}}.border-border\\/30{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/30{border-color:color-mix(in oklab, var(--border) 30%, transparent)}}.border-border\\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/40{border-color:color-mix(in oklab, var(--border) 40%, transparent)}}.border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-border\\/60{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/60{border-color:color-mix(in oklab, var(--border) 60%, transparent)}}.border-red-400\\/30{border-color:#ff65684d}@supports (color:color-mix(in lab, red, red)){.border-red-400\\/30{border-color:color-mix(in oklab, var(--color-red-400) 30%, transparent)}}.border-transparent{border-color:#0000}.border-yellow-400\\/30{border-color:#fac8004d}@supports (color:color-mix(in lab, red, red)){.border-yellow-400\\/30{border-color:color-mix(in oklab, var(--color-yellow-400) 30%, transparent)}}.border-zinc-500\\/30{border-color:#71717b4d}@supports (color:color-mix(in lab, red, red)){.border-zinc-500\\/30{border-color:color-mix(in oklab, var(--color-zinc-500) 30%, transparent)}}.border-zinc-700{border-color:var(--color-zinc-700)}.\\!bg-transparent{background-color:#0000!important}.bg-accent\\/10{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/10{background-color:color-mix(in oklab, var(--accent) 10%, transparent)}}.bg-amber-400{background-color:var(--color-amber-400)}.bg-amber-500\\/15{background-color:#f99c0026}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\\/15{background-color:color-mix(in oklab, var(--color-amber-500) 15%, transparent)}}.bg-background{background-color:var(--background)}.bg-black\\/10{background-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.bg-black\\/10{background-color:color-mix(in oklab, var(--color-black) 10%, transparent)}}.bg-blue-500\\/15{background-color:#3080ff26}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/15{background-color:color-mix(in oklab, var(--color-blue-500) 15%, transparent)}}.bg-blue-500\\/20{background-color:#3080ff33}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/20{background-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.bg-border,.bg-border\\/60{background-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.bg-border\\/60{background-color:color-mix(in oklab, var(--border) 60%, transparent)}}.bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\\/10{background-color:color-mix(in oklab, var(--destructive) 10%, transparent)}}.bg-emerald-500\\/15{background-color:#00bb7f26}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\\/15{background-color:color-mix(in oklab, var(--color-emerald-500) 15%, transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-muted,.bg-muted\\/10{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/10{background-color:color-mix(in oklab, var(--muted) 10%, transparent)}}.bg-muted\\/20{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/20{background-color:color-mix(in oklab, var(--muted) 20%, transparent)}}.bg-muted\\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\\/60{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/60{background-color:color-mix(in oklab, var(--muted) 60%, transparent)}}.bg-popover{background-color:var(--popover)}.bg-primary,.bg-primary\\/15{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/15{background-color:color-mix(in oklab, var(--primary) 15%, transparent)}}.bg-primary\\/90{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/90{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.bg-red-500\\/15{background-color:#fb2c3626}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/15{background-color:color-mix(in oklab, var(--color-red-500) 15%, transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/20{background-color:color-mix(in oklab, var(--color-red-500) 20%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-violet-500\\/15{background-color:#8d54ff26}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\\/15{background-color:color-mix(in oklab, var(--color-violet-500) 15%, transparent)}}.bg-yellow-500\\/10{background-color:#edb2001a}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\\/10{background-color:color-mix(in oklab, var(--color-yellow-500) 10%, transparent)}}.bg-yellow-500\\/20{background-color:#edb20033}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\\/20{background-color:color-mix(in oklab, var(--color-yellow-500) 20%, transparent)}}.bg-zinc-500\\/15{background-color:#71717b26}@supports (color:color-mix(in lab, red, red)){.bg-zinc-500\\/15{background-color:color-mix(in oklab, var(--color-zinc-500) 15%, transparent)}}.bg-zinc-700\\/40{background-color:#3f3f4666}@supports (color:color-mix(in lab, red, red)){.bg-zinc-700\\/40{background-color:color-mix(in oklab, var(--color-zinc-700) 40%, transparent)}}.bg-zinc-800{background-color:var(--color-zinc-800)}.bg-zinc-900{background-color:var(--color-zinc-900)}.bg-zinc-950{background-color:var(--color-zinc-950)}.bg-clip-padding{background-clip:padding-box}.p-0\\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:calc(var(--spacing) * 1)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-0\\.5{padding-top:calc(var(--spacing) * .5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-1{padding-left:calc(var(--spacing) * 1)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-left{text-align:left}.text-right{text-align:right}.align-top{vertical-align:top}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[0\\.8rem\\]{font-size:.8rem}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[12px\\]{font-size:12px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-\\[1\\.45\\]{--tw-leading:1.45;line-height:1.45}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-amber-400{color:var(--color-amber-400)}.text-background{color:var(--background)}.text-blue-200{color:var(--color-blue-200)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-destructive{color:var(--destructive)}.text-emerald-400{color:var(--color-emerald-400)}.text-foreground{color:var(--foreground)}.text-green-400{color:var(--color-green-400)}.text-muted-foreground,.text-muted-foreground\\/40{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/40{color:color-mix(in oklab, var(--muted-foreground) 40%, transparent)}}.text-muted-foreground\\/60{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/60{color:color-mix(in oklab, var(--muted-foreground) 60%, transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-violet-400{color:var(--color-violet-400)}.text-yellow-300{color:var(--color-yellow-300)}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-100{color:var(--color-zinc-100)}.text-zinc-200{color:var(--color-zinc-200)}.text-zinc-300{color:var(--color-zinc-300)}.text-zinc-400{color:var(--color-zinc-400)}.text-zinc-500{color:var(--color-zinc-500)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.underline-offset-4{text-underline-offset:4px}.\\!opacity-0{opacity:0!important}.opacity-0{opacity:0}.opacity-35{opacity:.35}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-black\\/40{--tw-shadow-color:#0006}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/40{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 40%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-blue-500\\/10{--tw-ring-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.ring-blue-500\\/10{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 10%, transparent)}}.ring-blue-500\\/30{--tw-ring-color:#3080ff4d}@supports (color:color-mix(in lab, red, red)){.ring-blue-500\\/30{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 30%, transparent)}}.ring-zinc-100\\/10{--tw-ring-color:#f4f4f51a}@supports (color:color-mix(in lab, red, red)){.ring-zinc-100\\/10{--tw-ring-color:color-mix(in oklab, var(--color-zinc-100) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.paused{animation-play-state:paused}.running{animation-play-state:running}.placeholder\\:text-muted-foreground\\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-muted-foreground\\/70::placeholder{color:color-mix(in oklab, var(--muted-foreground) 70%, transparent)}}@media (hover:hover){.hover\\:bg-accent:hover,.hover\\:bg-accent\\/30:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/30:hover{background-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.hover\\:bg-accent\\/40:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/40:hover{background-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.hover\\:bg-destructive\\/20:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/20:hover{background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.hover\\:bg-muted:hover,.hover\\:bg-muted\\/40:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-muted\\/40:hover{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.hover\\:bg-muted\\/50:hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-muted\\/50:hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.hover\\:bg-primary:hover{background-color:var(--primary)}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-foreground:hover{color:var(--foreground)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-90:hover{opacity:.9}}.focus\\:border-accent:focus{border-color:var(--accent)}.focus\\:border-accent-foreground\\/30:focus{border-color:var(--accent-foreground)}@supports (color:color-mix(in lab, red, red)){.focus\\:border-accent-foreground\\/30:focus{border-color:color-mix(in oklab, var(--accent-foreground) 30%, transparent)}}.focus\\:border-ring:focus{border-color:var(--ring)}.focus-visible\\:border-destructive\\/40:focus-visible{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:border-destructive\\/40:focus-visible{border-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\\:ring-3:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab, var(--ring) 50%, transparent)}}.active\\:not-aria-\\[haspopup\\]\\:translate-y-px:active:not([aria-haspopup]){--tw-translate-y:1px;translate:var(--tw-translate-x) var(--tw-translate-y)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}:where([data-slot=button-group]) .in-data-\\[slot\\=button-group\\]\\:rounded-lg{border-radius:var(--radius)}.has-data-\\[icon\\=inline-end\\]\\:pr-1\\.5:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 1.5)}.has-data-\\[icon\\=inline-end\\]\\:pr-2:has([data-icon=inline-end]){padding-right:calc(var(--spacing) * 2)}.has-data-\\[icon\\=inline-start\\]\\:pl-1\\.5:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 1.5)}.has-data-\\[icon\\=inline-start\\]\\:pl-2:has([data-icon=inline-start]){padding-left:calc(var(--spacing) * 2)}.aria-expanded\\:bg-muted[aria-expanded=true]{background-color:var(--muted)}.aria-expanded\\:bg-secondary[aria-expanded=true]{background-color:var(--secondary)}.aria-expanded\\:text-foreground[aria-expanded=true]{color:var(--foreground)}.aria-expanded\\:text-secondary-foreground[aria-expanded=true]{color:var(--secondary-foreground)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-3[aria-invalid=true]{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.data-closed\\:animate-out[data-closed]{animation:exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-closed\\:fade-out-0[data-closed]{--tw-exit-opacity:0}.data-open\\:animate-in[data-open]{animation:enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none)}.data-open\\:fade-in-0[data-open]{--tw-enter-opacity:0}.data-\\[active\\=false\\]\\:opacity-40[data-active=false]{opacity:.4}@media (hover:hover){.data-\\[active\\=false\\]\\:hover\\:opacity-70[data-active=false]:hover{opacity:.7}}.data-\\[active\\=true\\]\\:border-border[data-active=true]{border-color:var(--border)}.data-\\[active\\=true\\]\\:bg-accent[data-active=true]{background-color:var(--accent)}.data-\\[active\\=true\\]\\:text-accent-foreground[data-active=true]{color:var(--accent-foreground)}.data-\\[selected\\=true\\]\\:bg-accent[data-selected=true]{background-color:var(--accent)}.data-\\[selected\\=true\\]\\:text-accent-foreground[data-selected=true]{color:var(--accent-foreground)}.data-\\[selected\\=true\\]\\:\\[box-shadow\\:inset_0_0_0_1px_\\#60a5fa\\][data-selected=true]{box-shadow:inset 0 0 0 1px #60a5fa}.data-\\[side\\=bottom\\]\\:inset-x-0[data-side=bottom]{inset-inline:calc(var(--spacing) * 0)}.data-\\[side\\=bottom\\]\\:bottom-0[data-side=bottom]{bottom:calc(var(--spacing) * 0)}.data-\\[side\\=bottom\\]\\:h-auto[data-side=bottom]{height:auto}.data-\\[side\\=bottom\\]\\:border-t[data-side=bottom]{border-top-style:var(--tw-border-style);border-top-width:1px}.data-\\[side\\=bottom\\]\\:data-closed\\:slide-out-to-bottom-10[data-side=bottom][data-closed]{--tw-exit-translate-y:calc(.1*100%)}.data-\\[side\\=bottom\\]\\:data-open\\:slide-in-from-bottom-10[data-side=bottom][data-open]{--tw-enter-translate-y:calc(.1*100%)}.data-\\[side\\=left\\]\\:inset-y-0[data-side=left]{inset-block:calc(var(--spacing) * 0)}.data-\\[side\\=left\\]\\:left-0[data-side=left]{left:calc(var(--spacing) * 0)}.data-\\[side\\=left\\]\\:h-full[data-side=left]{height:100%}.data-\\[side\\=left\\]\\:w-3\\/4[data-side=left]{width:75%}.data-\\[side\\=left\\]\\:border-r[data-side=left]{border-right-style:var(--tw-border-style);border-right-width:1px}.data-\\[side\\=left\\]\\:data-closed\\:slide-out-to-left-10[data-side=left][data-closed]{--tw-exit-translate-x:calc(.1*-100%)}.data-\\[side\\=left\\]\\:data-open\\:slide-in-from-left-10[data-side=left][data-open]{--tw-enter-translate-x:calc(.1*-100%)}.data-\\[side\\=right\\]\\:inset-y-0[data-side=right]{inset-block:calc(var(--spacing) * 0)}.data-\\[side\\=right\\]\\:right-0[data-side=right]{right:calc(var(--spacing) * 0)}.data-\\[side\\=right\\]\\:h-full[data-side=right]{height:100%}.data-\\[side\\=right\\]\\:w-3\\/4[data-side=right]{width:75%}.data-\\[side\\=right\\]\\:border-l[data-side=right]{border-left-style:var(--tw-border-style);border-left-width:1px}.data-\\[side\\=right\\]\\:data-closed\\:slide-out-to-right-10[data-side=right][data-closed]{--tw-exit-translate-x:calc(.1*100%)}.data-\\[side\\=right\\]\\:data-open\\:slide-in-from-right-10[data-side=right][data-open]{--tw-enter-translate-x:calc(.1*100%)}.data-\\[side\\=top\\]\\:inset-x-0[data-side=top]{inset-inline:calc(var(--spacing) * 0)}.data-\\[side\\=top\\]\\:top-0[data-side=top]{top:calc(var(--spacing) * 0)}.data-\\[side\\=top\\]\\:h-auto[data-side=top]{height:auto}.data-\\[side\\=top\\]\\:border-b[data-side=top]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.data-\\[side\\=top\\]\\:data-closed\\:slide-out-to-top-10[data-side=top][data-closed]{--tw-exit-translate-y:calc(.1*-100%)}.data-\\[side\\=top\\]\\:data-open\\:slide-in-from-top-10[data-side=top][data-open]{--tw-enter-translate-y:calc(.1*-100%)}@supports ((-webkit-backdrop-filter:var(--tw)) or (backdrop-filter:var(--tw))){.supports-backdrop-filter\\:backdrop-blur-xs{--tw-backdrop-blur:blur(var(--blur-xs));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}}@media (min-width:40rem){.sm\\:max-w-\\[480px\\]{max-width:480px}.data-\\[side\\=left\\]\\:sm\\:max-w-sm[data-side=left],.data-\\[side\\=right\\]\\:sm\\:max-w-sm[data-side=right]{max-width:var(--container-sm)}}.dark\\:border-input:is(.dark *){border-color:var(--input)}.dark\\:bg-destructive\\/20:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/20:is(.dark *){background-color:color-mix(in oklab, var(--destructive) 20%, transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab, var(--input) 30%, transparent)}}@media (hover:hover){.dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-destructive\\/30:is(.dark *):hover{background-color:color-mix(in oklab, var(--destructive) 30%, transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--input) 50%, transparent)}}.dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-muted\\/50:is(.dark *):hover{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:border-destructive\\/50:is(.dark *)[aria-invalid=true]{border-color:color-mix(in oklab, var(--destructive) 50%, transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab, var(--destructive) 40%, transparent)}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3 svg:not([class*=size-]){width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-3\\.5 svg:not([class*=size-]){width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}@media (hover:hover){.\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.\\[a\\]\\:hover\\:bg-primary\\/80:is(a):hover{background-color:color-mix(in oklab, var(--primary) 80%, transparent)}}}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}.nimbit-devtools{color-scheme:dark;scrollbar-width:thin;scrollbar-color:oklch(40% 0 0) transparent;--spacing:4px;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:20px;--radius:10px;--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);font-size:12px;line-height:1.5}.nimbit-devtools ::-webkit-scrollbar{width:10px;height:10px}.nimbit-devtools::-webkit-scrollbar{width:10px;height:10px}.nimbit-devtools ::-webkit-scrollbar-track{background:0 0}.nimbit-devtools::-webkit-scrollbar-track{background:0 0}.nimbit-devtools ::-webkit-scrollbar-corner{background:0 0}.nimbit-devtools::-webkit-scrollbar-corner{background:0 0}.nimbit-devtools ::-webkit-scrollbar-thumb{background:oklch(40% 0 0) padding-box padding-box;border:2px solid #0000;border-radius:5px}.nimbit-devtools::-webkit-scrollbar-thumb{background:oklch(40% 0 0) padding-box padding-box;border:2px solid #0000;border-radius:5px}.nimbit-devtools ::-webkit-scrollbar-thumb:hover{background:oklch(50% 0 0)}.nimbit-devtools::-webkit-scrollbar-thumb:hover{background:oklch(50% 0 0)}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes enter{0%{opacity:var(--tw-enter-opacity,1);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0));filter:blur(var(--tw-enter-blur,0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity,1);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0));filter:blur(var(--tw-exit-blur,0))}}`;import{jsx as wf}from"react/jsx-runtime";var Z4=({apiBaseUrl:t="",defaultActiveTab:e})=>{let[a,o]=Pl.useState(null);return Pl.useEffect(()=>{let r=document.createElement("div");r.setAttribute("data-nimbit-devtools-host",""),document.body.appendChild(r);let n=r.attachShadow({mode:"open"}),s=document.createElement("style");s.textContent=FM,n.appendChild(s);let i=document.createElement("div");i.className="nimbit-devtools dark",n.appendChild(i);let l=j4(i);return o({root:l,node:i}),()=>{setTimeout(()=>{l.unmount(),r.remove()},0)}},[]),Pl.useEffect(()=>{a&&a.root.render(wf(mf.Provider,{value:a.node,children:wf(pm,{apiBaseUrl:t,children:wf(jg,{defaultActiveTab:e,children:wf(Fx,{})})})}))},[a,t,e]),null},Eoe=Z4;function Boe(){window.dispatchEvent(new CustomEvent("devtools-toggle"))}function Foe(){let[t,e]=Pl.useState(!1);return Pl.useEffect(()=>{let a=o=>{let r=o.detail;r&&typeof r.open=="boolean"&&e(r.open)};return window.addEventListener("devtools-state",a),()=>window.removeEventListener("devtools-state",a)},[]),t}export{Fx as DevTools,jg as DevToolsProvider,Z4 as NimbitDevTools,Eoe as default,Boe as toggleDevTools,Ft as useDevTools,Foe as useDevToolsOpen};
77
77
  /*! Bundled license information:
78
78
 
79
79
  use-sync-external-store/cjs/use-sync-external-store-shim.production.js:
@@ -131,6 +131,7 @@ lucide-react/dist/esm/shared/src/utils/hasA11yProp.mjs:
131
131
  lucide-react/dist/esm/context.mjs:
132
132
  lucide-react/dist/esm/Icon.mjs:
133
133
  lucide-react/dist/esm/createLucideIcon.mjs:
134
+ lucide-react/dist/esm/icons/ban.mjs:
134
135
  lucide-react/dist/esm/icons/chevron-right.mjs:
135
136
  lucide-react/dist/esm/icons/circle-alert.mjs:
136
137
  lucide-react/dist/esm/icons/circle-check.mjs:
@@ -147,10 +148,12 @@ lucide-react/dist/esm/icons/pause.mjs:
147
148
  lucide-react/dist/esm/icons/play.mjs:
148
149
  lucide-react/dist/esm/icons/plus.mjs:
149
150
  lucide-react/dist/esm/icons/refresh-cw.mjs:
151
+ lucide-react/dist/esm/icons/rotate-cw.mjs:
150
152
  lucide-react/dist/esm/icons/save.mjs:
151
153
  lucide-react/dist/esm/icons/shield-alert.mjs:
152
154
  lucide-react/dist/esm/icons/table-2.mjs:
153
155
  lucide-react/dist/esm/icons/trash-2.mjs:
156
+ lucide-react/dist/esm/icons/workflow.mjs:
154
157
  lucide-react/dist/esm/icons/x.mjs:
155
158
  lucide-react/dist/esm/lucide-react.mjs:
156
159
  (**