@teipublisher/pb-components 1.43.3 → 1.43.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- class e{constructor(){}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,t,n){let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),i.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let n=[];return this.decompose(e,t,n,0),i.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),i=this.length-this.scanIdentical(e,-1),n=new o(this),r=new o(e);for(let e=t,s=t;;){if(n.next(e),r.next(e),e=0,n.lineBreak!=r.lineBreak||n.done!=r.done||n.value!=r.value)return!1;if(s+=n.value.length,n.done||s>=i)return!0}}iter(e=1){return new o(this,e)}iterRange(e,t=this.length){return new a(this,e,t)}iterLines(e,t){let i;if(null==e)i=this.iter();else{null==t&&(t=this.lines+1);let n=this.line(e).from;i=this.iterRange(n,Math.max(n,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new l(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}static of(n){if(0==n.length)throw new RangeError("A document must have at least one line");return 1!=n.length||n[0]?n.length<=32?new t(n):i.from(t.split(n,[])):e.empty}}class t extends e{constructor(e,t=n(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,n){for(let r=0;;r++){let s=this.text[r],o=n+s.length;if((t?i:o)>=e)return new h(n,o,i,s);n=o+1,i++}}decompose(e,i,n,o){let a=e<=0&&i>=this.length?this:new t(s(this.text,e,i),Math.min(i,this.length)-Math.max(0,e));if(1&o){let e=n.pop(),i=r(a.text,e.text.slice(),0,a.length);if(i.length<=32)n.push(new t(i,e.length+a.length));else{let e=i.length>>1;n.push(new t(i.slice(0,e)),new t(i.slice(e)))}}else n.push(a)}replace(e,n,o){if(!(o instanceof t))return super.replace(e,n,o);let a=r(this.text,r(o.text,s(this.text,0,e)),n),l=this.length+o.length-(n-e);return a.length<=32?new t(a,l):i.from(t.split(a,[]),l)}sliceString(e,t=this.length,i="\n"){let n="";for(let r=0,s=0;r<=t&&s<this.text.length;s++){let o=this.text[s],a=r+o.length;r>e&&s&&(n+=i),e<a&&t>r&&(n+=o.slice(Math.max(0,e-r),t-r)),r=a+1}return n}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,i){let n=[],r=-1;for(let s of e)n.push(s),r+=s.length+1,32==n.length&&(i.push(new t(n,r)),n=[],r=-1);return r>-1&&i.push(new t(n,r)),i}}class i extends e{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,i,n){for(let r=0;;r++){let s=this.children[r],o=n+s.length,a=i+s.lines-1;if((t?a:o)>=e)return s.lineInner(e,t,i,n);n=o+1,i=a+1}}decompose(e,t,i,n){for(let r=0,s=0;s<=t&&r<this.children.length;r++){let o=this.children[r],a=s+o.length;if(e<=a&&t>=s){let r=n&((s<=e?1:0)|(a>=t?2:0));s>=e&&a<=t&&!r?i.push(o):o.decompose(e-s,t-s,i,r)}s=a+1}}replace(e,t,n){if(n.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],a=s+o.length;if(e>=s&&t<=a){let l=o.replace(e-s,t-s,n),h=this.lines-o.lines+l.lines;if(l.lines<h>>4&&l.lines>h>>6){let s=this.children.slice();return s[r]=l,new i(s,this.length-(t-e)+n.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,n)}sliceString(e,t=this.length,i="\n"){let n="";for(let r=0,s=0;r<this.children.length&&s<=t;r++){let o=this.children[r],a=s+o.length;s>e&&r&&(n+=i),e<a&&t>s&&(n+=o.sliceString(e-s,t-s,i)),s=a+1}return n}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof i))return 0;let n=0,[r,s,o,a]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==a)return n;let i=this.children[r],l=e.children[s];if(i!=l)return n+i.scanIdentical(l,t);n+=i.length+1}}static from(e,n=e.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let t of e)r+=t.lines;if(r<32){let i=[];for(let t of e)t.flatten(i);return new t(i,n)}let s=Math.max(32,r>>5),o=s<<1,a=s>>1,l=[],h=0,c=-1,u=[];function f(e){let n;if(e.lines>o&&e instanceof i)for(let t of e.children)f(t);else e.lines>a&&(h>a||!h)?(d(),l.push(e)):e instanceof t&&h&&(n=u[u.length-1])instanceof t&&e.lines+n.lines<=32?(h+=e.lines,c+=e.length+1,u[u.length-1]=new t(n.text.concat(e.text),n.length+1+e.length)):(h+e.lines>s&&d(),h+=e.lines,c+=e.length+1,u.push(e))}function d(){0!=h&&(l.push(1==u.length?u[0]:i.from(u,c)),c=-1,h=u.length=0)}for(let t of e)f(t);return d(),1==l.length?l[0]:new i(l,n)}}function n(e){let t=-1;for(let i of e)t+=i.length+1;return t}function r(e,t,i=0,n=1e9){for(let r=0,s=0,o=!0;s<e.length&&r<=n;s++){let a=e[s],l=r+a.length;l>=i&&(l>n&&(a=a.slice(0,n-r)),r<i&&(a=a.slice(i-r)),o?(t[t.length-1]+=a,o=!1):t.push(a)),r=l+1}return t}function s(e,t,i){return r(e,[""],t,i)}e.empty=new t([""],0);class o{constructor(e,i=1){this.dir=i,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[i>0?1:(e instanceof t?e.text.length:e.children.length)<<1]}nextInner(e,i){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],s=this.offsets[n],o=s>>1,a=r instanceof t?r.text.length:r.children.length;if(o==(i>0?a:0)){if(0==n)return this.done=!0,this.value="",this;i>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&s)==(i>0?0:1)){if(this.offsets[n]+=i,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(r instanceof t){let t=r.text[o+(i<0?-1:0)];if(this.offsets[n]+=i,t.length>Math.max(0,e))return this.value=0==e?t:i>0?t.slice(e):t.slice(0,t.length-e),this;e-=t.length}else{let s=r.children[o+(i<0?-1:0)];e>s.length?(e-=s.length,this.offsets[n]+=i):(i<0&&this.offsets[n]--,this.nodes.push(s),this.offsets.push(i>0?1:(s instanceof t?s.text.length:s.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class a{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new o(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:n}=this.cursor.next(e);return this.pos+=(n.length+e)*t,this.value=n.length<=i?n:t<0?n.slice(n.length-i):n.slice(0,i),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}}class l{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:n}=this.inner.next(e);return t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=n,this.afterBreak=!1),this}get lineBreak(){return!1}}"undefined"!=typeof Symbol&&(e.prototype[Symbol.iterator]=function(){return this.iter()},o.prototype[Symbol.iterator]=a.prototype[Symbol.iterator]=l.prototype[Symbol.iterator]=function(){return this});class h{constructor(e,t,i,n){this.from=e,this.to=t,this.number=i,this.text=n}get length(){return this.to-this.from}}let c="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=1;e<c.length;e++)c[e]+=c[e-1];function u(e){for(let t=1;t<c.length;t+=2)if(c[t]>e)return c[t-1]<=e;return!1}function f(e){return e>=127462&&e<=127487}const d=8205;function p(e,t,i=!0,n=!0){return(i?O:m)(e,t,n)}function O(e,t,i){if(t==e.length)return t;t&&g(e.charCodeAt(t))&&S(e.charCodeAt(t-1))&&t--;let n=b(e,t);for(t+=x(n);t<e.length;){let r=b(e,t);if(n==d||r==d||i&&u(r))t+=x(r),n=r;else{if(!f(r))break;{let i=0,n=t-2;for(;n>=0&&f(b(e,n));)i++,n-=2;if(i%2==0)break;t+=2}}}return t}function m(e,t,i){for(;t>0;){let n=O(e,t-2,i);if(n<t)return n;t--}return 0}function g(e){return e>=56320&&e<57344}function S(e){return e>=55296&&e<56320}function b(e,t){let i=e.charCodeAt(t);if(!S(i)||t+1==e.length)return i;let n=e.charCodeAt(t+1);return g(n)?n-56320+(i-55296<<10)+65536:i}function y(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function x(e){return e<65536?1:2}const Q=/\r\n?|\n/;var v=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(v||(v={}));class w{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,n=0;t<this.sections.length;){let r=this.sections[t++],s=this.sections[t++];s<0?(e(i,n,r),n+=r):n+=s,i+=r}}iterChangedRanges(e,t=!1){T(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],n=this.sections[t++];n<0?e.push(i,n):e.push(n,i)}return new w(e)}composeDesc(e){return this.empty?e:e.empty?this:C(this,e)}mapDesc(e,t=!1){return e.empty?this:A(this,e,t)}mapPos(e,t=-1,i=v.Simple){let n=0,r=0;for(let s=0;s<this.sections.length;){let o=this.sections[s++],a=this.sections[s++],l=n+o;if(a<0){if(l>e)return r+(e-n);r+=o}else{if(i!=v.Simple&&l>=e&&(i==v.TrackDel&&n<e&&l>e||i==v.TrackBefore&&n<e||i==v.TrackAfter&&l>e))return null;if(l>e||l==e&&t<0&&!o)return e==n||t<0?r:r+a;r+=a}n=l}if(e>n)throw new RangeError(`Position ${e} is out of range for changeset of length ${n}`);return r}touchesRange(e,t=e){for(let i=0,n=0;i<this.sections.length&&n<=t;){let r=n+this.sections[i++];if(this.sections[i++]>=0&&n<=t&&r>=e)return!(n<e&&r>t)||"cover";n=r}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],n=this.sections[t++];e+=(e?" ":"")+i+(n>=0?":"+n:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(e=>"number"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeDesc");return new w(e)}static create(e){return new w(e)}}class $ extends w{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return T(this,(t,i,n,r,s)=>e=e.replace(n,n+(i-t),s),!1),e}mapDesc(e,t=!1){return A(this,e,t,!0)}invert(t){let i=this.sections.slice(),n=[];for(let r=0,s=0;r<i.length;r+=2){let o=i[r],a=i[r+1];if(a>=0){i[r]=a,i[r+1]=o;let l=r>>1;for(;n.length<l;)n.push(e.empty);n.push(o?t.slice(s,s+o):e.empty)}s+=o}return new $(i,n)}compose(e){return this.empty?e:e.empty?this:C(this,e,!0)}map(e,t=!1){return e.empty?this:A(this,e,t,!0)}iterChanges(e,t=!1){T(this,e,t)}get desc(){return w.create(this.sections)}filter(e){let t=[],i=[],n=[],r=new W(this);e:for(let s=0,o=0;;){let a=s==e.length?1e9:e[s++];for(;o<a||o==a&&0==r.len;){if(r.done)break e;let e=Math.min(r.len,a-o);k(n,e,-1);let s=-1==r.ins?-1:0==r.off?r.ins:0;k(t,e,s),s>0&&P(i,t,r.text),r.forward(e),o+=e}let l=e[s++];for(;o<l;){if(r.done)break e;let e=Math.min(r.len,l-o);k(t,e,-1),k(n,e,-1==r.ins?-1:0==r.off?r.ins:0),r.forward(e),o+=e}}return{changes:new $(t,i),filtered:w.create(n)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],n=this.sections[t+1];n<0?e.push(i):0==n?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,i,n){let r=[],s=[],o=0,a=null;function l(e=!1){if(!e&&!r.length)return;o<i&&k(r,i-o,-1);let t=new $(r,s);a=a?a.compose(t.map(a)):t,r=[],s=[],o=0}function h(t){if(Array.isArray(t))for(let e of t)h(e);else if(t instanceof $){if(t.length!=i)throw new RangeError(`Mismatched change set length (got ${t.length}, expected ${i})`);l(),a=a?a.compose(t.map(a)):t}else{let{from:a,to:h=a,insert:c}=t;if(a>h||a<0||h>i)throw new RangeError(`Invalid change range ${a} to ${h} (in doc of length ${i})`);let u=c?"string"==typeof c?e.of(c.split(n||Q)):c:e.empty,f=u.length;if(a==h&&0==f)return;a<o&&l(),a>o&&k(r,a-o,-1),k(r,h-a,f),P(s,r,u),o=h}}return h(t),l(!a),a}static empty(e){return new $(e?[e,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let i=[],n=[];for(let r=0;r<t.length;r++){let s=t[r];if("number"==typeof s)i.push(s,-1);else{if(!Array.isArray(s)||"number"!=typeof s[0]||s.some((e,t)=>t&&"string"!=typeof e))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==s.length)i.push(s[0],0);else{for(;n.length<r;)n.push(e.empty);n[r]=e.of(s.slice(1)),i.push(s[0],n[r].length)}}}return new $(i,n)}static createSet(e,t){return new $(e,t)}}function k(e,t,i,n=!1){if(0==t&&i<=0)return;let r=e.length-2;r>=0&&i<=0&&i==e[r+1]?e[r]+=t:0==t&&0==e[r]?e[r+1]+=i:n?(e[r]+=t,e[r+1]+=i):e.push(t,i)}function P(t,i,n){if(0==n.length)return;let r=i.length-2>>1;if(r<t.length)t[t.length-1]=t[t.length-1].append(n);else{for(;t.length<r;)t.push(e.empty);t.push(n)}}function T(t,i,n){let r=t.inserted;for(let s=0,o=0,a=0;a<t.sections.length;){let l=t.sections[a++],h=t.sections[a++];if(h<0)s+=l,o+=l;else{let c=s,u=o,f=e.empty;for(;c+=l,u+=h,h&&r&&(f=f.append(r[a-2>>1])),!(n||a==t.sections.length||t.sections[a+1]<0);)l=t.sections[a++],h=t.sections[a++];i(s,c,o,u,f),s=c,o=u}}}function A(e,t,i,n=!1){let r=[],s=n?[]:null,o=new W(e),a=new W(t);for(let e=-1;;)if(-1==o.ins&&-1==a.ins){let e=Math.min(o.len,a.len);k(r,e,-1),o.forward(e),a.forward(e)}else if(a.ins>=0&&(o.ins<0||e==o.i||0==o.off&&(a.len<o.len||a.len==o.len&&!i))){let t=a.len;for(k(r,a.ins,-1);t;){let i=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=i&&(k(r,0,o.ins),s&&P(s,r,o.text),e=o.i),o.forward(i),t-=i}a.next()}else{if(!(o.ins>=0)){if(o.done&&a.done)return s?$.createSet(r,s):w.create(r);throw new Error("Mismatched change set lengths")}{let t=0,i=o.len;for(;i;)if(-1==a.ins){let e=Math.min(i,a.len);t+=e,i-=e,a.forward(e)}else{if(!(0==a.ins&&a.len<i))break;i-=a.len,a.next()}k(r,t,e<o.i?o.ins:0),s&&e<o.i&&P(s,r,o.text),e=o.i,o.forward(o.len-i)}}}function C(e,t,i=!1){let n=[],r=i?[]:null,s=new W(e),o=new W(t);for(let e=!1;;){if(s.done&&o.done)return r?$.createSet(n,r):w.create(n);if(0==s.ins)k(n,s.len,0,e),s.next();else if(0!=o.len||o.done){if(s.done||o.done)throw new Error("Mismatched change set lengths");{let t=Math.min(s.len2,o.len),i=n.length;if(-1==s.ins){let i=-1==o.ins?-1:o.off?0:o.ins;k(n,t,i,e),r&&i&&P(r,n,o.text)}else-1==o.ins?(k(n,s.off?0:s.len,t,e),r&&P(r,n,s.textBit(t))):(k(n,s.off?0:s.len,o.off?0:o.ins,e),r&&!o.off&&P(r,n,o.text));e=(s.ins>t||o.ins>=0&&o.len>t)&&(e||n.length>i),s.forward2(t),o.forward(t)}}else k(n,0,o.ins,e),r&&P(r,n,o.text),o.next()}}class W{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-2==this.ins}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length?e.empty:t[i]}textBit(t){let{inserted:i}=this.set,n=this.i-2>>1;return n>=i.length&&!t?e.empty:i[n].slice(this.off,null==t?void 0:this.off+t)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){-1==this.ins?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Z{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return 16&this.flags?this.to:this.from}get head(){return 16&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 4&this.flags?-1:8&this.flags?1:0}get bidiLevel(){let e=3&this.flags;return 3==e?null:e}get goalColumn(){let e=this.flags>>5;return 33554431==e?void 0:e}map(e,t=-1){let i,n;return this.empty?i=n=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),n=e.mapPos(this.to,-1)),i==this.from&&n==this.to?this:new Z(i,n,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return V.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return V.range(this.anchor,i)}eq(e){return this.anchor==e.anchor&&this.head==e.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||"number"!=typeof e.anchor||"number"!=typeof e.head)throw new RangeError("Invalid JSON representation for SelectionRange");return V.range(e.anchor,e.head)}static create(e,t,i){return new Z(e,t,i)}}class V{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:V.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;t<this.ranges.length;t++)if(!this.ranges[t].eq(e.ranges[t]))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return 1==this.ranges.length?this:new V([this.main],0)}addRange(e,t=!0){return V.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,V.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||"number"!=typeof e.main||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new V(e.ranges.map(e=>Z.fromJSON(e)),e.main)}static single(e,t=e){return new V([V.range(e,t)],0)}static create(e,t=0){if(0==e.length)throw new RangeError("A selection needs at least one range");for(let i=0,n=0;n<e.length;n++){let r=e[n];if(r.empty?r.from<=i:r.from<i)return V.normalized(e.slice(),t);i=r.to}return new V(e,t)}static cursor(e,t=0,i,n){return Z.create(e,e,(0==t?0:t<0?4:8)|(null==i?3:Math.min(2,i))|(null!=n?n:33554431)<<5)}static range(e,t,i,n){let r=(null!=i?i:33554431)<<5|(null==n?3:Math.min(2,n));return t<e?Z.create(t,e,24|r):Z.create(e,t,(t>e?4:0)|r)}static normalized(e,t=0){let i=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(i);for(let i=1;i<e.length;i++){let n=e[i],r=e[i-1];if(n.empty?n.from<=r.to:n.from<r.to){let s=r.from,o=Math.max(n.to,r.to);i<=t&&t--,e.splice(--i,2,n.anchor>n.head?V.range(o,s):V.range(s,o))}}return new V(e,t)}}function X(e,t){for(let i of e.ranges)if(i.to>t)throw new RangeError("Selection points outside of document")}let _=0;class R{constructor(e,t,i,n,r){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=n,this.id=_++,this.default=e([]),this.extensions="function"==typeof r?r(this):r}static define(e={}){return new R(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:M),!!e.static,e.enables)}of(e){return new q([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new q(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new q(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],i=>t(i.field(e)))}}function M(e,t){return e==t||e.length==t.length&&e.every((e,i)=>e===t[i])}class q{constructor(e,t,i,n){this.dependencies=e,this.facet=t,this.type=i,this.value=n,this.id=_++}dynamicSlot(e){var t;let i=this.value,n=this.facet.compareInput,r=this.id,s=e[r]>>1,o=2==this.type,a=!1,l=!1,h=[];for(let i of this.dependencies)"doc"==i?a=!0:"selection"==i?l=!0:0==(1&(null!==(t=e[i.id])&&void 0!==t?t:1))&&h.push(e[i.id]);return{create:e=>(e.values[s]=i(e),1),update(e,t){if(a&&t.docChanged||l&&(t.docChanged||t.selection)||E(e,h)){let t=i(e);if(o?!I(t,e.values[s],n):!n(t,e.values[s]))return e.values[s]=t,1}return 0},reconfigure:(e,t)=>{let a,l=t.config.address[r];if(null!=l){let r=K(t,l);if(this.dependencies.every(i=>i instanceof R?t.facet(i)===e.facet(i):!(i instanceof Y)||t.field(i,!1)==e.field(i,!1))||(o?I(a=i(e),r,n):n(a=i(e),r)))return e.values[s]=r,0}else a=i(e);return e.values[s]=a,1}}}}function I(e,t,i){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!i(e[n],t[n]))return!1;return!0}function E(e,t){let i=!1;for(let n of t)1&J(e,n)&&(i=!0);return i}function D(e,t,i){let n=i.map(t=>e[t.id]),r=i.map(e=>e.type),s=n.filter(e=>!(1&e)),o=e[t.id]>>1;function a(e){let i=[];for(let t=0;t<n.length;t++){let s=K(e,n[t]);if(2==r[t])for(let e of s)i.push(e);else i.push(s)}return t.combine(i)}return{create(e){for(let t of n)J(e,t);return e.values[o]=a(e),1},update(e,i){if(!E(e,s))return 0;let n=a(e);return t.compare(n,e.values[o])?0:(e.values[o]=n,1)},reconfigure(e,r){let s=E(e,n),l=r.config.facets[t.id],h=r.facet(t);if(l&&!s&&M(i,l))return e.values[o]=h,0;let c=a(e);return t.compare(c,h)?(e.values[o]=h,0):(e.values[o]=c,1)}}}const U=R.define({static:!0});class Y{constructor(e,t,i,n,r){this.id=e,this.createF=t,this.updateF=i,this.compareF=n,this.spec=r,this.provides=void 0}static define(e){let t=new Y(_++,e.create,e.update,e.compare||((e,t)=>e===t),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(U).find(e=>e.field==this);return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,i)=>{let n=e.values[t],r=this.updateF(n,i);return this.compareF(n,r)?0:(e.values[t]=r,1)},reconfigure:(e,i)=>null!=i.config.address[this.id]?(e.values[t]=i.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,U.of({field:this,create:e})]}get extension(){return this}}const z={lowest:4,low:3,default:2,high:1,highest:0};function L(e){return t=>new N(t,e)}const B={highest:L(z.highest),high:L(z.high),default:L(z.default),low:L(z.low),lowest:L(z.lowest)};class N{constructor(e,t){this.inner=e,this.prec=t}}class j{of(e){return new G(this,e)}reconfigure(e){return j.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class G{constructor(e,t){this.compartment=e,this.inner=t}}class F{constructor(e,t,i,n,r,s){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=n,this.staticValues=r,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return null==t?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let n=[],r=Object.create(null),s=new Map;for(let i of H(e,t,s))i instanceof Y?n.push(i):(r[i.facet.id]||(r[i.facet.id]=[])).push(i);let o=Object.create(null),a=[],l=[];for(let e of n)o[e.id]=l.length<<1,l.push(t=>e.slot(t));let h=null==i?void 0:i.config.facets;for(let e in r){let t=r[e],n=t[0].facet,s=h&&h[e]||[];if(t.every(e=>0==e.type))if(o[n.id]=a.length<<1|1,M(s,t))a.push(i.facet(n));else{let e=n.combine(t.map(e=>e.value));a.push(i&&n.compare(e,i.facet(n))?i.facet(n):e)}else{for(let e of t)0==e.type?(o[e.id]=a.length<<1|1,a.push(e.value)):(o[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));o[n.id]=l.length<<1,l.push(e=>D(e,n,t))}}let c=l.map(e=>e(o));return new F(e,s,c,o,a,r)}}function H(e,t,i){let n=[[],[],[],[],[]],r=new Map;function s(e,o){let a=r.get(e);if(null!=a){if(a<=o)return;let t=n[a].indexOf(e);t>-1&&n[a].splice(t,1),e instanceof G&&i.delete(e.compartment)}if(r.set(e,o),Array.isArray(e))for(let t of e)s(t,o);else if(e instanceof G){if(i.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let n=t.get(e.compartment)||e.inner;i.set(e.compartment,n),s(n,o)}else if(e instanceof N)s(e.inner,e.prec);else if(e instanceof Y)n[o].push(e),e.provides&&s(e.provides,o);else if(e instanceof q)n[o].push(e),e.facet.extensions&&s(e.facet.extensions,z.default);else{let t=e.extension;if(!t)throw new Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(t,o)}}return s(e,z.default),n.reduce((e,t)=>e.concat(t))}function J(e,t){if(1&t)return 2;let i=t>>1,n=e.status[i];if(4==n)throw new Error("Cyclic dependency between fields and/or facets");if(2&n)return n;e.status[i]=4;let r=e.computeSlot(e,e.config.dynamicSlots[i]);return e.status[i]=2|r}function K(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const ee=R.define(),te=R.define({combine:e=>e.some(e=>e),static:!0}),ie=R.define({combine:e=>e.length?e[0]:void 0,static:!0}),ne=R.define(),re=R.define(),se=R.define(),oe=R.define({combine:e=>!!e.length&&e[0]});class ae{constructor(e,t){this.type=e,this.value=t}static define(){return new le}}class le{of(e){return new ae(this,e)}}class he{constructor(e){this.map=e}of(e){return new ce(this,e)}}class ce{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return void 0===t?void 0:t==this.value?this:new ce(this.type,t)}is(e){return this.type==e}static define(e={}){return new he(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let n of e){let e=n.map(t);e&&i.push(e)}return i}}ce.reconfigure=ce.define(),ce.appendConfig=ce.define();class ue{constructor(e,t,i,n,r,s){this.startState=e,this.changes=t,this.selection=i,this.effects=n,this.annotations=r,this.scrollIntoView=s,this._doc=null,this._state=null,i&&X(i,t.newLength),r.some(e=>e.type==ue.time)||(this.annotations=r.concat(ue.time.of(Date.now())))}static create(e,t,i,n,r,s){return new ue(e,t,i,n,r,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 t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let t=this.annotation(ue.userEvent);return!(!t||!(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length]))}}function fe(e,t){let i=[];for(let n=0,r=0;;){let s,o;if(n<e.length&&(r==t.length||t[r]>=e[n]))s=e[n++],o=e[n++];else{if(!(r<t.length))return i;s=t[r++],o=t[r++]}!i.length||i[i.length-1]<s?i.push(s,o):i[i.length-1]<o&&(i[i.length-1]=o)}}function de(e,t,i){var n;let r,s,o;return i?(r=t.changes,s=$.empty(t.changes.length),o=e.changes.compose(t.changes)):(r=t.changes.map(e.changes),s=e.changes.mapDesc(t.changes,!0),o=e.changes.compose(r)),{changes:o,selection:t.selection?t.selection.map(s):null===(n=e.selection)||void 0===n?void 0:n.map(r),effects:ce.mapEffects(e.effects,r).concat(ce.mapEffects(t.effects,s)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function pe(e,t,i){let n=t.selection,r=be(t.annotations);return t.userEvent&&(r=r.concat(ue.userEvent.of(t.userEvent))),{changes:t.changes instanceof $?t.changes:$.of(t.changes||[],i,e.facet(ie)),selection:n&&(n instanceof V?n:V.single(n.anchor,n.head)),effects:be(t.effects),annotations:r,scrollIntoView:!!t.scrollIntoView}}function Oe(e,t,i){let n=pe(e,t.length?t[0]:{},e.doc.length);t.length&&!1===t[0].filter&&(i=!1);for(let r=1;r<t.length;r++){!1===t[r].filter&&(i=!1);let s=!!t[r].sequential;n=de(n,pe(e,t[r],s?n.changes.newLength:e.doc.length),s)}let r=ue.create(e,n.changes,n.selection,n.effects,n.annotations,n.scrollIntoView);return ge(i?me(r):r)}function me(e){let t=e.startState,i=!0;for(let n of t.facet(ne)){let t=n(e);if(!1===t){i=!1;break}Array.isArray(t)&&(i=!0===i?t:fe(i,t))}if(!0!==i){let n,r;if(!1===i)r=e.changes.invertedDesc,n=$.empty(t.doc.length);else{let t=e.changes.filter(i);n=t.changes,r=t.filtered.mapDesc(t.changes).invertedDesc}e=ue.create(t,n,e.selection&&e.selection.map(r),ce.mapEffects(e.effects,r),e.annotations,e.scrollIntoView)}let n=t.facet(re);for(let i=n.length-1;i>=0;i--){let r=n[i](e);e=r instanceof ue?r:Array.isArray(r)&&1==r.length&&r[0]instanceof ue?r[0]:Oe(t,be(r),!1)}return e}function ge(e){let t=e.startState,i=t.facet(se),n=e;for(let r=i.length-1;r>=0;r--){let s=i[r](e);s&&Object.keys(s).length&&(n=de(n,pe(t,s,e.changes.newLength),!0))}return n==e?e:ue.create(t,e.changes,e.selection,n.effects,n.annotations,n.scrollIntoView)}ue.time=ae.define(),ue.userEvent=ae.define(),ue.addToHistory=ae.define(),ue.remote=ae.define();const Se=[];function be(e){return null==e?Se:Array.isArray(e)?e:[e]}var ye=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(ye||(ye={}));const xe=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Qe;try{Qe=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function ve(e){if(Qe)return Qe.test(e);for(let t=0;t<e.length;t++){let i=e[t];if(/\w/.test(i)||i>"€"&&(i.toUpperCase()!=i.toLowerCase()||xe.test(i)))return!0}return!1}function we(e){return t=>{if(!/\S/.test(t))return ye.Space;if(ve(t))return ye.Word;for(let i=0;i<e.length;i++)if(t.indexOf(e[i])>-1)return ye.Word;return ye.Other}}class $e{constructor(e,t,i,n,r,s){this.config=e,this.doc=t,this.selection=i,this.values=n,this.status=e.statusTemplate.slice(),this.computeSlot=r,s&&(s._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)J(this,e<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(null!=i)return J(this,i),K(this,i);if(t)throw new RangeError("Field is not present in this state")}update(...e){return Oe(this,e,!0)}applyTransaction(e){let t,i=this.config,{base:n,compartments:r}=i;for(let t of e.effects)t.is(j.reconfigure)?(i&&(r=new Map,i.compartments.forEach((e,t)=>r.set(t,e)),i=null),r.set(t.value.compartment,t.value.extension)):t.is(ce.reconfigure)?(i=null,n=t.value):t.is(ce.appendConfig)&&(i=null,n=be(n).concat(t.value));if(i)t=e.startState.values.slice();else{i=F.resolve(n,r,this),t=new $e(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values}new $e(i,e.newDoc,e.newSelection,t,(t,i)=>i.update(t,e),e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:V.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),n=this.changes(i.changes),r=[i.range],s=be(i.effects);for(let i=1;i<t.ranges.length;i++){let o=e(t.ranges[i]),a=this.changes(o.changes),l=a.map(n);for(let e=0;e<i;e++)r[e]=r[e].map(l);let h=n.mapDesc(a,!0);r.push(o.range.map(h)),n=n.compose(l),s=ce.mapEffects(s,l).concat(ce.mapEffects(be(o.effects),h))}return{changes:n,selection:V.create(r,t.mainIndex),effects:s}}changes(e=[]){return e instanceof $?e:$.of(e,this.doc.length,this.facet($e.lineSeparator))}toText(t){return e.of(t.split(this.facet($e.lineSeparator)||Q))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return null==t?e.default:(J(this,t),K(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let n=e[i];n instanceof Y&&null!=this.config.address[n.id]&&(t[i]=n.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||"string"!=typeof e.doc)throw new RangeError("Invalid JSON representation for EditorState");let n=[];if(i)for(let t in i)if(Object.prototype.hasOwnProperty.call(e,t)){let r=i[t],s=e[t];n.push(r.init(e=>r.spec.fromJSON(s,e)))}return $e.create({doc:e.doc,selection:V.fromJSON(e.selection),extensions:t.extensions?n.concat([t.extensions]):n})}static create(t={}){let i=F.resolve(t.extensions||[],new Map),n=t.doc instanceof e?t.doc:e.of((t.doc||"").split(i.staticFacet($e.lineSeparator)||Q)),r=t.selection?t.selection instanceof V?t.selection:V.single(t.selection.anchor,t.selection.head):V.single(0);return X(r,n.length),i.staticFacet(te)||(r=r.asSingle()),new $e(i,n,r,i.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet($e.tabSize)}get lineBreak(){return this.facet($e.lineSeparator)||"\n"}get readOnly(){return this.facet(oe)}phrase(e,...t){for(let t of this.facet($e.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,i)=>{if("$"==i)return"$";let n=+(i||1);return!n||n>t.length?e:t[n-1]})),e}languageDataAt(e,t,i=-1){let n=[];for(let r of this.facet(ee))for(let s of r(this,t,i))Object.prototype.hasOwnProperty.call(s,e)&&n.push(s[e]);return n}charCategorizer(e){return we(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:n}=this.doc.lineAt(e),r=this.charCategorizer(e),s=e-i,o=e-i;for(;s>0;){let e=p(t,s,!1);if(r(t.slice(e,s))!=ye.Word)break;s=e}for(;o<n;){let e=p(t,o);if(r(t.slice(o,e))!=ye.Word)break;o=e}return s==o?null:V.range(s+i,o+i)}}function ke(e,t,i={}){let n={};for(let t of e)for(let e of Object.keys(t)){let r=t[e],s=n[e];if(void 0===s)n[e]=r;else if(s===r||void 0===r);else{if(!Object.hasOwnProperty.call(i,e))throw new Error("Config merge conflict for field "+e);n[e]=i[e](s,r)}}for(let e in t)void 0===n[e]&&(n[e]=t[e]);return n}$e.allowMultipleSelections=te,$e.tabSize=R.define({combine:e=>e.length?e[0]:4}),$e.lineSeparator=ie,$e.readOnly=oe,$e.phrases=R.define({compare(e,t){let i=Object.keys(e),n=Object.keys(t);return i.length==n.length&&i.every(i=>e[i]==t[i])}}),$e.languageData=ee,$e.changeFilter=ne,$e.transactionFilter=re,$e.transactionExtender=se,j.reconfigure=ce.define();class Pe{eq(e){return this==e}range(e,t=e){return Te.create(e,t,this)}}Pe.prototype.startSide=Pe.prototype.endSide=0,Pe.prototype.point=!1,Pe.prototype.mapMode=v.TrackDel;class Te{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new Te(e,t,i)}}function Ae(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Ce{constructor(e,t,i,n){this.from=e,this.to=t,this.value=i,this.maxPoint=n}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,n=0){let r=i?this.to:this.from;for(let s=n,o=r.length;;){if(s==o)return s;let n=s+o>>1,a=r[n]-e||(i?this.value[n].endSide:this.value[n].startSide)-t;if(n==s)return a>=0?s:o;a>=0?o=n:s=n+1}}between(e,t,i,n){for(let r=this.findIndex(t,-1e9,!0),s=this.findIndex(i,1e9,!1,r);r<s;r++)if(!1===n(this.from[r]+e,this.to[r]+e,this.value[r]))return!1}map(e,t){let i=[],n=[],r=[],s=-1,o=-1;for(let a=0;a<this.value.length;a++){let l,h,c=this.value[a],u=this.from[a]+e,f=this.to[a]+e;if(u==f){let e=t.mapPos(u,c.startSide,c.mapMode);if(null==e)continue;if(l=h=e,c.startSide!=c.endSide&&(h=t.mapPos(u,c.endSide),h<l))continue}else if(l=t.mapPos(u,c.startSide),h=t.mapPos(f,c.endSide),l>h||l==h&&c.startSide>0&&c.endSide<=0)continue;(h-l||c.endSide-c.startSide)<0||(s<0&&(s=l),c.point&&(o=Math.max(o,h-l)),i.push(c),n.push(l-s),r.push(h-s))}return{mapped:i.length?new Ce(n,r,i,o):null,pos:s}}}class We{constructor(e,t,i,n){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=n}static create(e,t,i,n){return new We(e,t,i,n)}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 t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:n=0,filterTo:r=this.length}=e,s=e.filter;if(0==t.length&&!s)return this;if(i&&(t=t.slice().sort(Ae)),this.isEmpty)return t.length?We.of(t):this;let o=new _e(this,null,-1).goto(0),a=0,l=[],h=new Ve;for(;o.value||a<t.length;)if(a<t.length&&(o.from-t[a].from||o.startSide-t[a].value.startSide)>=0){let e=t[a++];h.addInner(e.from,e.to,e.value)||l.push(e)}else 1==o.rangeIndex&&o.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(o.chunkIndex)<t[a].from)&&(!s||n>this.chunkEnd(o.chunkIndex)||r<this.chunkPos[o.chunkIndex])&&h.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!s||n>o.to||r<o.from||s(o.from,o.to,o.value))&&(h.addInner(o.from,o.to,o.value)||l.push(Te.create(o.from,o.to,o.value))),o.next());return h.finishInner(this.nextLayer.isEmpty&&!l.length?We.empty:this.nextLayer.update({add:l,filter:s,filterFrom:n,filterTo:r}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],n=-1;for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r],a=e.touchesRange(s,s+o.length);if(!1===a)n=Math.max(n,o.maxPoint),t.push(o),i.push(e.mapPos(s));else if(!0===a){let{mapped:r,pos:a}=o.map(s,e);r&&(n=Math.max(n,r.maxPoint),t.push(r),i.push(a))}}let r=this.nextLayer.map(e);return 0==t.length?r:new We(i,t,r||We.empty,n)}between(e,t,i){if(!this.isEmpty){for(let n=0;n<this.chunk.length;n++){let r=this.chunkPos[n],s=this.chunk[n];if(t>=r&&e<=r+s.length&&!1===s.between(r,e-r,t-r,i))return}this.nextLayer.between(e,t,i)}}iter(e=0){return Re.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Re.from(e).goto(t)}static compare(e,t,i,n,r=-1){let s=e.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=r),o=t.filter(e=>e.maxPoint>0||!e.isEmpty&&e.maxPoint>=r),a=Xe(s,o,i),l=new qe(s,a,r),h=new qe(o,a,r);i.iterGaps((e,t,i)=>Ie(l,e,h,t,i,n)),i.empty&&0==i.length&&Ie(l,0,h,0,0,n)}static eq(e,t,i=0,n){null==n&&(n=999999999);let r=e.filter(e=>!e.isEmpty&&t.indexOf(e)<0),s=t.filter(t=>!t.isEmpty&&e.indexOf(t)<0);if(r.length!=s.length)return!1;if(!r.length)return!0;let o=Xe(r,s),a=new qe(r,o,0).goto(i),l=new qe(s,o,0).goto(i);for(;;){if(a.to!=l.to||!Ee(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>n)return!0;a.next(),l.next()}}static spans(e,t,i,n,r=-1){let s=new qe(e,null,r).goto(t),o=t,a=s.openStart;for(;;){let e=Math.min(s.to,i);if(s.point){let i=s.activeForPoint(s.to),r=s.pointFrom<t?i.length+1:Math.min(i.length,a);n.point(o,e,s.point,i,r,s.pointRank),a=Math.min(s.openEnd(e),i.length)}else e>o&&(n.span(o,e,s.active,a),a=s.openEnd(e));if(s.to>i)return a+(s.point&&s.to>i?1:0);o=s.to,s.next()}}static of(e,t=!1){let i=new Ve;for(let n of e instanceof Te?[e]:t?Ze(e):e)i.add(n.from,n.to,n.value);return i.finish()}}function Ze(e){if(e.length>1)for(let t=e[0],i=1;i<e.length;i++){let n=e[i];if(Ae(t,n)>0)return e.slice().sort(Ae);t=n}return e}We.empty=new We([],[],null,-1),We.empty.nextLayer=We.empty;class Ve{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}finishChunk(e){this.chunks.push(new Ce(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=[])}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Ve)).add(e,t,i)}addInner(e,t,i){let n=e-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(We.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=We.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Xe(e,t,i){let n=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&n.set(t.chunk[e],t.chunkPos[e]);let r=new Set;for(let e of t)for(let t=0;t<e.chunk.length;t++){let s=n.get(e.chunk[t]);null==s||(i?i.mapPos(s):s)!=e.chunkPos[t]||(null==i?void 0:i.touchesRange(s,s+e.chunk[t].length))||r.add(e.chunk[t])}return r}class _e{constructor(e,t,i,n=0){this.layer=e,this.skip=t,this.minPoint=i,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,i){for(;this.chunkIndex<this.layer.chunk.length;){let t=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(t)||this.layer.chunkEnd(this.chunkIndex)<e||t.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let n=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!i||this.rangeIndex<n)&&this.setRangeIndex(n)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],i=e+t.from[this.rangeIndex];if(this.from=i,this.to=e+t.to[this.rangeIndex],this.value=t.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}}class Re{constructor(e){this.heap=e}static from(e,t=null,i=-1){let n=[];for(let r=0;r<e.length;r++)for(let s=e[r];!s.isEmpty;s=s.nextLayer)s.maxPoint>=i&&n.push(new _e(s,t,i,r));return 1==n.length?n[0]:new Re(n)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)Me(this.heap,e);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)Me(this.heap,e);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(0==this.heap.length)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(),Me(this.heap,0)}}}function Me(e,t){for(let i=e[t];;){let n=1+(t<<1);if(n>=e.length)break;let r=e[n];if(n+1<e.length&&r.compare(e[n+1])>=0&&(r=e[n+1],n++),i.compare(r)<0)break;e[n]=i,e[t]=r,t=n}}class qe{constructor(e,t,i){this.minPoint=i,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=Re.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){De(this.active,e),De(this.activeTo,e),De(this.activeRank,e),this.minActive=Ye(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:n,rank:r}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=r;)t++;Ue(this.active,t,i),Ue(this.activeTo,t,n),Ue(this.activeRank,t,r),e&&Ue(e,t,this.cursor.from),this.minActive=Ye(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let n=this.minActive;if(n>-1&&(this.activeTo[n]-this.cursor.from||this.active[n].endSide-this.cursor.startSide)<0){if(this.activeTo[n]>e){this.to=this.activeTo[n],this.endSide=this.active[n].endSide;break}this.removeActive(n),i&&De(i,n)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}{let e=this.cursor.value;if(e.point){if(!(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)){this.point=e,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=e.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(i),this.cursor.next()}}}if(i){this.openStart=0;for(let t=i.length-1;t>=0&&i[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function Ie(e,t,i,n,r,s){e.goto(t),i.goto(n);let o=n+r,a=n,l=n-t;for(;;){let t=e.to+l-i.to||e.endSide-i.endSide,n=t<0?e.to+l:i.to,r=Math.min(n,o);if(e.point||i.point?e.point&&i.point&&(e.point==i.point||e.point.eq(i.point))&&Ee(e.activeForPoint(e.to+l),i.activeForPoint(i.to))||s.comparePoint(a,r,e.point,i.point):r>a&&!Ee(e.active,i.active)&&s.compareRange(a,r,e.active,i.active),n>o)break;a=n,t<=0&&e.next(),t>=0&&i.next()}}function Ee(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++)if(e[i]!=t[i]&&!e[i].eq(t[i]))return!1;return!0}function De(e,t){for(let i=t,n=e.length-1;i<n;i++)e[i]=e[i+1];e.pop()}function Ue(e,t,i){for(let i=e.length-1;i>=t;i--)e[i+1]=e[i];e[t]=i}function Ye(e,t){let i=-1,n=1e9;for(let r=0;r<t.length;r++)(t[r]-n||e[r].endSide-e[i].endSide)<0&&(i=r,n=t[r]);return i}function ze(e,t,i=e.length){let n=0;for(let r=0;r<i;)9==e.charCodeAt(r)?(n+=t-n%t,r++):(n++,r=p(e,r));return n}function Le(e,t,i,n){for(let n=0,r=0;;){if(r>=t)return n;if(n==e.length)break;r+=9==e.charCodeAt(n)?i-r%i:1,n=p(e,n)}return!0===n?-1:e.length}const Be="ͼ",Ne="undefined"==typeof Symbol?"__"+Be:Symbol.for(Be),je="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Ge="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class Fe{constructor(e,t){this.rules=[];let{finish:i}=t||{};function n(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function r(e,t,s,o){let a=[],l=/^@(\w+)\b/.exec(e[0]),h=l&&"keyframes"==l[1];if(l&&null==t)return s.push(e[0]+";");for(let i in t){let o=t[i];if(/&/.test(i))r(i.split(/,\s*/).map(t=>e.map(e=>t.replace(/&/,e))).reduce((e,t)=>e.concat(t)),o,s);else if(o&&"object"==typeof o){if(!l)throw new RangeError("The value of a property ("+i+") should be a primitive value.");r(n(i),o,a,h)}else null!=o&&a.push(i.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+o+";")}(a.length||h)&&s.push((!i||l||o?e:e.map(i)).join(", ")+" {"+a.join(" ")+"}")}for(let t in e)r(n(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Ge[Ne]||1;return Ge[Ne]=e+1,Be+e.toString(36)}static mount(e,t){(e[je]||new Je(e)).mount(Array.isArray(t)?t:[t])}}let He=null;class Je{constructor(e){if(!e.head&&e.adoptedStyleSheets&&"undefined"!=typeof CSSStyleSheet){if(He)return e.adoptedStyleSheets=[He.sheet].concat(e.adoptedStyleSheets),e[je]=He;this.sheet=new CSSStyleSheet,e.adoptedStyleSheets=[this.sheet].concat(e.adoptedStyleSheets),He=this}else{this.styleTag=(e.ownerDocument||e).createElement("style");let t=e.head||e;t.insertBefore(this.styleTag,t.firstChild)}this.modules=[],e[je]=this}mount(e){let t=this.sheet,i=0,n=0;for(let r=0;r<e.length;r++){let s=e[r],o=this.modules.indexOf(s);if(o<n&&o>-1&&(this.modules.splice(o,1),n--,o=-1),-1==o){if(this.modules.splice(n++,0,s),t)for(let e=0;e<s.rules.length;e++)t.insertRule(s.rules[e],i++)}else{for(;n<o;)i+=this.modules[n++].rules.length;i+=s.rules.length,n++}}if(!t){let e="";for(let t=0;t<this.modules.length;t++)e+=this.modules[t].getRules()+"\n";this.styleTag.textContent=e}}}for(var Ke={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:"'"},et={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},tt="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),it=("undefined"!=typeof navigator&&/Gecko\/\d+/.test(navigator.userAgent),"undefined"!=typeof navigator&&/Mac/.test(navigator.platform)),nt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),rt=it||tt&&+tt[1]<57,st=0;st<10;st++)Ke[48+st]=Ke[96+st]=String(st);for(st=1;st<=24;st++)Ke[st+111]="F"+st;for(st=65;st<=90;st++)Ke[st]=String.fromCharCode(st+32),et[st]=String.fromCharCode(st);for(var ot in Ke)et.hasOwnProperty(ot)||(et[ot]=Ke[ot]);function at(e){var t=!(rt&&(e.ctrlKey||e.altKey||e.metaKey)||nt&&e.shiftKey&&e.key&&1==e.key.length||"Unidentified"==e.key)&&e.key||(e.shiftKey?et:Ke)[e.keyCode]||e.key||"Unidentified";return"Esc"==t&&(t="Escape"),"Del"==t&&(t="Delete"),"Left"==t&&(t="ArrowLeft"),"Up"==t&&(t="ArrowUp"),"Right"==t&&(t="ArrowRight"),"Down"==t&&(t="ArrowDown"),t}function lt(e){let t;return t=11==e.nodeType?e.getSelection?e:e.ownerDocument:e,t.getSelection()}function ht(e,t){return!!t&&(e==t||e.contains(1!=t.nodeType?t.parentNode:t))}function ct(e){let t=e.activeElement;for(;t&&t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function ut(e,t){if(!t.anchorNode)return!1;try{return ht(e,t.anchorNode)}catch(e){return!1}}function ft(e){return 3==e.nodeType?kt(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function dt(e,t,i,n){return!!i&&(Ot(e,t,i,n,-1)||Ot(e,t,i,n,1))}function pt(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function Ot(e,t,i,n,r){for(;;){if(e==i&&t==n)return!0;if(t==(r<0?0:mt(e))){if("DIV"==e.nodeName)return!1;let i=e.parentNode;if(!i||1!=i.nodeType)return!1;t=pt(e)+(r<0?0:1),e=i}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(r<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=r<0?mt(e):0}}}function mt(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}const gt={left:0,right:0,top:0,bottom:0};function St(e,t){let i=t?e.left:e.right;return{left:i,right:i,top:e.top,bottom:e.bottom}}function bt(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function yt(e,t,i,n,r,s,o,a){let l=e.ownerDocument,h=l.defaultView||window;for(let c=e;c;)if(1==c.nodeType){let e,u=c==l.body;if(u)e=bt(h);else{if(c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let t=c.getBoundingClientRect();e={left:t.left,right:t.left+c.clientWidth,top:t.top,bottom:t.top+c.clientHeight}}let f=0,d=0;if("nearest"==r)t.top<e.top?(d=-(e.top-t.top+o),i>0&&t.bottom>e.bottom+d&&(d=t.bottom-e.bottom+d+o)):t.bottom>e.bottom&&(d=t.bottom-e.bottom+o,i<0&&t.top-d<e.top&&(d=-(e.top+d-t.top+o)));else{let n=t.bottom-t.top,s=e.bottom-e.top;d=("center"==r&&n<=s?t.top+n/2-s/2:"start"==r||"center"==r&&i<0?t.top-o:t.bottom-s+o)-e.top}if("nearest"==n)t.left<e.left?(f=-(e.left-t.left+s),i>0&&t.right>e.right+f&&(f=t.right-e.right+f+s)):t.right>e.right&&(f=t.right-e.right+s,i<0&&t.left<e.left+f&&(f=-(e.left+f-t.left+s)));else{f=("center"==n?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==n==a?t.left-s:t.right-(e.right-e.left)+s)-e.left}if(f||d)if(u)h.scrollBy(f,d);else{let e=0,i=0;if(d){let e=c.scrollTop;c.scrollTop+=d,i=c.scrollTop-e}if(f){let t=c.scrollLeft;c.scrollLeft+=f,e=c.scrollLeft-t}t={left:t.left-e,top:t.top-i,right:t.right-e,bottom:t.bottom-i},e&&Math.abs(e-f)<1&&(n="nearest"),i&&Math.abs(i-d)<1&&(r="nearest")}if(u)break;c=c.assignedSlot||c.parentNode}else{if(11!=c.nodeType)break;c=c.host}}function xt(e){let t=e.ownerDocument;for(let i=e.parentNode;i&&i!=t.body;)if(1==i.nodeType){if(i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)return i;i=i.assignedSlot||i.parentNode}else{if(11!=i.nodeType)break;i=i.host}return null}class Qt{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){this.set(e.anchorNode,e.anchorOffset,e.focusNode,e.focusOffset)}set(e,t,i,n){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=n}}let vt,wt=null;function $t(e){if(e.setActive)return e.setActive();if(wt)return e.focus(wt);let t=[];for(let i=e;i&&(t.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(e.focus(null==wt?{get preventScroll(){return wt={preventScroll:!0},!0}}:void 0),!wt){wt=!1;for(let e=0;e<t.length;){let i=t[e++],n=t[e++],r=t[e++];i.scrollTop!=n&&(i.scrollTop=n),i.scrollLeft!=r&&(i.scrollLeft=r)}}}function kt(e,t,i=t){let n=vt||(vt=document.createRange());return n.setEnd(e,i),n.setStart(e,t),n}function Pt(e,t,i){let n={key:t,code:t,keyCode:i,which:i,cancelable:!0},r=new KeyboardEvent("keydown",n);r.synthetic=!0,e.dispatchEvent(r);let s=new KeyboardEvent("keyup",n);return s.synthetic=!0,e.dispatchEvent(s),r.defaultPrevented||s.defaultPrevented}function Tt(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}function At(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function Ct(e,t){let i=t.focusNode,n=t.focusOffset;if(!i||t.anchorNode!=i||t.anchorOffset!=n)return!1;for(;;)if(n){if(1!=i.nodeType)return!1;let e=i.childNodes[n-1];"false"==e.contentEditable?n--:(i=e,n=mt(i))}else{if(i==e)return!0;n=pt(i),i=i.parentNode}}class Wt{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new Wt(e.parentNode,pt(e),t)}static after(e,t){return new Wt(e.parentNode,pt(e)+1,t)}}const Zt=[];class Vt{constructor(){this.parent=null,this.dom=null,this.dirty=2}get editorView(){if(!this.parent)throw new Error("Accessing view in orphan content view");return this.parent.editorView}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let i of this.children){if(i==e)return t;t+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}coordsAt(e,t){return null}sync(e){if(2&this.dirty){let t,i=this.dom,n=null;for(let r of this.children){if(r.dirty){if(!r.dom&&(t=n?n.nextSibling:i.firstChild)){let e=Vt.get(t);(!e||!e.parent&&e.canReuseDOM(r))&&r.reuseDOM(t)}r.sync(e),r.dirty=0}if(t=n?n.nextSibling:i.firstChild,e&&!e.written&&e.node==i&&t!=r.dom&&(e.written=!0),r.dom.parentNode==i)for(;t&&t!=r.dom;)t=Xt(t);else i.insertBefore(r.dom,t);n=r.dom}for(t=n?n.nextSibling:i.firstChild,t&&e&&e.node==i&&(e.written=!0);t;)t=Xt(t)}else if(1&this.dirty)for(let t of this.children)t.dirty&&(t.sync(e),t.dirty=0)}reuseDOM(e){}localPosFromDOM(e,t){let i;if(e==this.dom)i=this.dom.childNodes[t];else{let n=0==mt(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==n&&t.firstChild!=t.lastChild&&(n=e==t.firstChild?-1:1),e=t}i=n<0?e:e.nextSibling}if(i==this.dom.firstChild)return 0;for(;i&&!Vt.get(i);)i=i.nextSibling;if(!i)return this.length;for(let e=0,t=0;;e++){let n=this.children[e];if(n.dom==i)return t;t+=n.length+n.breakAfter}}domBoundsAround(e,t,i=0){let n=-1,r=-1,s=-1,o=-1;for(let a=0,l=i,h=i;a<this.children.length;a++){let i=this.children[a],c=l+i.length;if(l<e&&c>t)return i.domBoundsAround(e,t,l);if(c>=e&&-1==n&&(n=a,r=l),l>t&&i.dom.parentNode==this.dom){s=a,o=h;break}h=c,l=c+i.breakAfter}return{from:r,to:o<0?i+this.length:o,startDOM:(n?this.children[n-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:s<this.children.length&&s>=0?this.children[s].dom:null}}markDirty(e=!1){this.dirty|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.dirty|=2),1&t.dirty)return;t.dirty|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.dirty&&this.markParentsDirty(!0))}setDOM(e){this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=Zt){this.markDirty();for(let i=e;i<t;i++){let e=this.children[i];e.parent==this&&e.destroy()}this.children.splice(e,t-e,...i);for(let e=0;e<i.length;e++)i[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new _t(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+("Text"==e?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}merge(e,t,i,n,r,s){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor}getSide(){return 0}destroy(){this.parent=null}}function Xt(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}Vt.prototype.breakAfter=0;class _t{constructor(e,t,i){this.children=e,this.pos=t,this.i=i,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||0==this.i||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function Rt(e,t,i,n,r,s,o,a,l){let{children:h}=e,c=h.length?h[t]:null,u=s.length?s[s.length-1]:null,f=u?u.breakAfter:o;if(!(t==n&&c&&!o&&!f&&s.length<2&&c.merge(i,r,s.length?u:null,0==i,a,l))){if(n<h.length){let e=h[n];e&&r<e.length?(t==n&&(e=e.split(r),r=0),!f&&u&&e.merge(0,r,u,!0,0,l)?s[s.length-1]=e:(r&&e.merge(0,r,null,!1,0,l),s.push(e))):(null==e?void 0:e.breakAfter)&&(u?u.breakAfter=1:o=1),n++}for(c&&(c.breakAfter=o,i>0&&(!o&&s.length&&c.merge(i,c.length,s[0],!1,a,0)?c.breakAfter=s.shift().breakAfter:(i<c.length||c.children.length&&0==c.children[c.children.length-1].length)&&c.merge(i,c.length,null,!1,a,0),t++));t<n&&s.length;)if(h[n-1].become(s[s.length-1]))n--,s.pop(),l=s.length?0:a;else{if(!h[t].become(s[0]))break;t++,s.shift(),a=s.length?0:l}!s.length&&t&&n<h.length&&!h[t-1].breakAfter&&h[n].merge(0,0,h[t-1],!1,a,l)&&t--,(t<n||s.length)&&e.replaceChildren(t,n,s)}}function Mt(e,t,i,n,r,s){let o=e.childCursor(),{i:a,off:l}=o.findPos(i,1),{i:h,off:c}=o.findPos(t,-1),u=t-i;for(let e of n)u+=e.length;e.length+=u,Rt(e,h,c,a,l,n,0,r,s)}let qt="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},It="undefined"!=typeof document?document:{documentElement:{style:{}}};const Et=/Edge\/(\d+)/.exec(qt.userAgent),Dt=/MSIE \d/.test(qt.userAgent),Ut=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(qt.userAgent),Yt=!!(Dt||Ut||Et),zt=!Yt&&/gecko\/(\d+)/i.test(qt.userAgent),Lt=!Yt&&/Chrome\/(\d+)/.exec(qt.userAgent),Bt="webkitFontSmoothing"in It.documentElement.style,Nt=!Yt&&/Apple Computer/.test(qt.vendor),jt=Nt&&(/Mobile\/\w+/.test(qt.userAgent)||qt.maxTouchPoints>2);var Gt={mac:jt||/Mac/.test(qt.platform),windows:/Win/.test(qt.platform),linux:/Linux|X11/.test(qt.platform),ie:Yt,ie_version:Dt?It.documentMode||6:Ut?+Ut[1]:Et?+Et[1]:0,gecko:zt,gecko_version:zt?+(/Firefox\/(\d+)/.exec(qt.userAgent)||[0,0])[1]:0,chrome:!!Lt,chrome_version:Lt?+Lt[1]:0,ios:jt,android:/Android\b/.test(qt.userAgent),webkit:Bt,safari:Nt,webkit_version:Bt?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=It.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};const Ft=256;class Ht extends Vt{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,i){return(!i||i instanceof Ht&&!(this.length-(t-e)+i.length>Ft))&&(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new Ht(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new Wt(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return Kt(this.dom,e,t)}}class Jt extends Vt{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let e of t)e.setParent(this)}setAttrs(e){if(At(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.dirty|=6)}sync(e){this.dom?4&this.dirty&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e)}merge(e,t,i,n,r,s){return(!i||!(!(i instanceof Jt&&i.mark.eq(this.mark))||e&&r<=0||t<this.length&&s<=0))&&(Mt(this,e,t,i?i.children:[],r-1,s-1),this.markDirty(),!0)}split(e){let t=[],i=0,n=-1,r=0;for(let s of this.children){let o=i+s.length;o>e&&t.push(i<e?s.split(e-i):s),n<0&&i>=e&&(n=r),i=o,r++}let s=this.length-e;return this.length=e,n>-1&&(this.children.length=n,this.markDirty()),new Jt(this.mark,t,s)}domAtPos(e){return oi(this,e)}coordsAt(e,t){return li(this,e,t)}}function Kt(e,t,i){let n=e.nodeValue.length;t>n&&(t=n);let r=t,s=t,o=0;0==t&&i<0||t==n&&i>=0?Gt.chrome||Gt.gecko||(t?(r--,o=1):s<n&&(s++,o=-1)):i<0?r--:s<n&&s++;let a=kt(e,r,s).getClientRects();if(!a.length)return gt;let l=a[(o?o<0:i>=0)?0:a.length-1];return Gt.safari&&!o&&0==l.width&&(l=Array.prototype.find.call(a,e=>e.width)||l),o?St(l,o<0):l||null}class ei extends Vt{constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}static create(e,t,i){return new(e.customView||ei)(e,t,i)}split(e){let t=ei.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(){this.dom&&this.widget.updateDOM(this.dom)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(this.editorView)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,i,n,r,s){return!(i&&(!(i instanceof ei&&this.widget.compare(i.widget))||e>0&&r<=0||t<this.length&&s<=0))&&(this.length=e+(i?i.length:0)+(this.length-t),!0)}become(e){return e.length==this.length&&e instanceof ei&&e.side==this.side&&this.widget.constructor==e.widget.constructor&&(this.widget.eq(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(0==this.length)return e.empty;let t=this;for(;t.parent;)t=t.parent;let i=t.editorView,n=i&&i.state.doc,r=this.posAtStart;return n?n.slice(r,r+this.length):e.empty}domAtPos(e){return 0==e?Wt.before(this.dom):Wt.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.dom.getClientRects(),n=null;if(!i.length)return gt;for(let t=e>0?i.length-1:0;n=i[t],!(e>0?0==t:t==i.length-1||n.top<n.bottom);t+=e>0?-1:1);return this.length?n:St(n,this.side>0)}get isEditable(){return!1}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class ti extends ei{domAtPos(e){let{topView:t,text:i}=this.widget;return t?ii(e,0,t,i,(e,t)=>e.domAtPos(t),e=>new Wt(i,Math.min(e,i.nodeValue.length))):new Wt(i,Math.min(e,i.nodeValue.length))}sync(){this.setDOM(this.widget.toDOM())}localPosFromDOM(e,t){let{topView:i,text:n}=this.widget;return i?ni(e,t,i,n):Math.min(t,this.length)}ignoreMutation(){return!1}get overrideDOMText(){return null}coordsAt(e,t){let{topView:i,text:n}=this.widget;return i?ii(e,t,i,n,(e,t,i)=>e.coordsAt(t,i),(e,t)=>Kt(n,e,t)):Kt(n,e,t)}destroy(){var e;super.destroy(),null===(e=this.widget.topView)||void 0===e||e.destroy()}get isEditable(){return!0}canReuseDOM(){return!0}}function ii(e,t,i,n,r,s){if(i instanceof Jt){for(let o=i.dom.firstChild;o;o=o.nextSibling){let i=Vt.get(o);if(!i)return s(e,t);let a=ht(o,n),l=i.length+(a?n.nodeValue.length:0);if(e<l||e==l&&i.getSide()<=0)return a?ii(e,t,i,n,r,s):r(i,e,t);e-=l}return r(i,i.length,-1)}return i.dom==n?s(e,t):r(i,e,t)}function ni(e,t,i,n){if(i instanceof Jt)for(let r of i.children){let i=0,s=ht(r.dom,n);if(ht(r.dom,e))return i+(s?ni(e,t,r,n):r.localPosFromDOM(e,t));i+=s?n.nodeValue.length:r.length}else if(i.dom==n)return Math.min(t,n.nodeValue.length);return i.localPosFromDOM(e,t)}class ri extends Vt{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof ri&&e.side==this.side}split(){return new ri(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return Wt.before(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){let t=this.dom.getBoundingClientRect(),i=si(this,this.side>0?-1:1);return i&&i.top<t.bottom&&i.bottom>t.top?{left:t.left,right:t.right,top:i.top,bottom:i.bottom}:t}get overrideDOMText(){return e.empty}}function si(e,t){let i=e.parent,n=i?i.children.indexOf(e):-1;for(;i&&n>=0;)if(t<0?n>0:n<i.children.length){let e=i.children[n+t];if(e instanceof Ht){let i=e.coordsAt(t<0?e.length:0,t);if(i)return i}n+=t}else{if(!(i instanceof Jt&&i.parent)){let e=i.dom.lastChild;if(e&&"BR"==e.nodeName)return e.getClientRects()[0];break}n=i.parent.children.indexOf(i)+(t<0?0:1),i=i.parent}}function oi(e,t){let i=e.dom,{children:n}=e,r=0;for(let e=0;r<n.length;r++){let s=n[r],o=e+s.length;if(!(o==e&&s.getSide()<=0)){if(t>e&&t<o&&s.dom.parentNode==i)return s.domAtPos(t-e);if(t<=e)break;e=o}}for(let e=r;e>0;e--){let t=n[e-1];if(t.dom.parentNode==i)return t.domAtPos(t.length)}for(let e=r;e<n.length;e++){let t=n[e];if(t.dom.parentNode==i)return t.domAtPos(0)}return new Wt(i,0)}function ai(e,t,i){let n,{children:r}=e;i>0&&t instanceof Jt&&r.length&&(n=r[r.length-1])instanceof Jt&&n.mark.eq(t.mark)?ai(n,t.children[0],i-1):(r.push(t),t.setParent(e)),e.length+=t.length}function li(e,t,i){let n=null,r=-1,s=null,o=-1;function a(e,t){for(let i=0,l=0;i<e.children.length&&l<=t;i++){let h=e.children[i],c=l+h.length;c>=t&&(h.children.length?a(h,t-l):!s&&(c>t||l==c&&h.getSide()>0)?(s=h,o=t-l):(l<t||l==c&&h.getSide()<0)&&(n=h,r=t-l)),l=c}}a(e,t);let l=(i<0?n:s)||n||s;return l?l.coordsAt(Math.max(0,l==n?r:o),i):hi(e)}function hi(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let i=ft(t);return i[i.length-1]||null}function ci(e,t){for(let i in e)"class"==i&&t.class?t.class+=" "+e.class:"style"==i&&t.style?t.style+=";"+e.style:t[i]=e[i];return t}function ui(e,t){if(e==t)return!0;if(!e||!t)return!1;let i=Object.keys(e),n=Object.keys(t);if(i.length!=n.length)return!1;for(let r of i)if(-1==n.indexOf(r)||e[r]!==t[r])return!1;return!0}function fi(e,t,i){let n=null;if(t)for(let r in t)i&&r in i||e.removeAttribute(n=r);if(i)for(let r in i)t&&t[r]==i[r]||e.setAttribute(n=r,i[r]);return!!n}Ht.prototype.children=ei.prototype.children=ri.prototype.children=Zt;class di{eq(e){return!1}updateDOM(e){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}ignoreEvent(e){return!0}get customView(){return null}destroy(e){}}var pi=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(pi||(pi={}));class Oi extends Pe{constructor(e,t,i,n){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=n}get heightRelevant(){return!1}static mark(e){return new mi(e)}static widget(e){let t=e.side||0,i=!!e.block;return t+=i?t>0?3e8:-4e8:t>0?1e8:-1e8,new Si(e,t,t,i,e.widget||null,!1)}static replace(e){let t,i,n=!!e.block;if(e.isBlockGap)t=-5e8,i=4e8;else{let{start:r,end:s}=bi(e,n);t=(r?n?-3e8:-1:5e8)-1,i=1+(s?n?2e8:1:-6e8)}return new Si(e,t,i,n,e.widget||null,!0)}static line(e){return new gi(e)}static set(e,t=!1){return We.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}Oi.none=We.empty;class mi extends Oi{constructor(e){let{start:t,end:i}=bi(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){return this==e||e instanceof mi&&this.tagName==e.tagName&&this.class==e.class&&ui(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}mi.prototype.point=!1;class gi extends Oi{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof gi&&ui(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}}gi.prototype.mapMode=v.TrackBefore,gi.prototype.point=!0;class Si extends Oi{constructor(e,t,i,n,r,s){super(t,i,r,e),this.block=n,this.isReplace=s,this.mapMode=n?t<=0?v.TrackBefore:v.TrackAfter:v.TrackDel}get type(){return this.startSide<this.endSide?pi.WidgetRange:this.startSide<=0?pi.WidgetBefore:pi.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&this.widget.estimatedHeight>=5}eq(e){return e instanceof Si&&yi(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}}function bi(e,t=!1){let{inclusiveStart:i,inclusiveEnd:n}=e;return null==i&&(i=e.inclusive),null==n&&(n=e.inclusive),{start:null!=i?i:t,end:null!=n?n:t}}function yi(e,t){return e==t||!!(e&&t&&e.compare(t))}function xi(e,t,i,n=0){let r=i.length-1;r>=0&&i[r]+n>=e?i[r]=Math.max(i[r],t):i.push(e,t)}Si.prototype.point=!0;class Qi extends Vt{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,n,r,s){if(i){if(!(i instanceof Qi))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),Mt(this,e,t,i?i.children:[],r,s),!0}split(e){let t=new Qi;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:i,off:n}=this.childPos(e);n&&(t.append(this.children[i].split(n),0),this.children[i].merge(n,this.children[i].length,null,!1,0,0),i++);for(let e=i;e<this.children.length;e++)t.append(this.children[e],0);for(;i>0&&0==this.children[i-1].length;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){ui(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){ai(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=ci(t,this.attrs||{})),i&&(this.attrs=ci({class:i},this.attrs||{}))}domAtPos(e){return oi(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.dirty|=6)}sync(e){var t;this.dom?4&this.dirty&&(At(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(fi(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e);let i=this.dom.lastChild;for(;i&&Vt.get(i)instanceof Jt;)i=i.lastChild;if(!(i&&this.length&&("BR"==i.nodeName||0!=(null===(t=Vt.get(i))||void 0===t?void 0:t.isEditable)||Gt.ios&&this.children.some(e=>e instanceof Ht)))){let e=document.createElement("BR");e.cmIgnore=!0,this.dom.appendChild(e)}}measureTextSize(){if(0==this.children.length||this.length>20)return null;let e=0;for(let t of this.children){if(!(t instanceof Ht)||/[^ -~]/.test(t.text))return null;let i=ft(t.dom);if(1!=i.length)return null;e+=i[0].width}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length}:null}coordsAt(e,t){return li(this,e,t)}become(e){return!1}get type(){return pi.Text}static find(e,t){for(let i=0,n=0;i<e.children.length;i++){let r=e.children[i],s=n+r.length;if(s>=t){if(r instanceof Qi)return r;if(s>t)break}n=s+r.breakAfter}return null}}class vi extends Vt{constructor(e,t,i){super(),this.widget=e,this.length=t,this.type=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,n,r,s){return!(i&&(!(i instanceof vi&&this.widget.compare(i.widget))||e>0&&r<=0||t<this.length&&s<=0))&&(this.length=e+(i?i.length:0)+(this.length-t),!0)}domAtPos(e){return 0==e?Wt.before(this.dom):Wt.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let i=new vi(this.widget,t,this.type);return i.breakAfter=this.breakAfter,i}get children(){return Zt}sync(){this.dom&&this.widget.updateDOM(this.dom)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(this.editorView)),this.dom.contentEditable="false")}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):e.empty}domBoundsAround(){return null}become(e){return e instanceof vi&&e.type==this.type&&e.widget.constructor==this.widget.constructor&&(e.widget.eq(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.breakAfter=e.breakAfter,!0)}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class wi{constructor(e,t,i,n){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=n,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(0==this.content.length)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof vi&&e.type==pi.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new Qi),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append($i(new ri(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,this.posCovered()||this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:i,done:n}=this.cursor.next(this.skip);if(this.skip=0,n)throw new Error("Ran out of text content when drawing inline views");if(i){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}this.text=t,this.textOff=0}let n=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append($i(new Ht(this.text.slice(this.textOff,this.textOff+n)),t),i),this.atCursorPos=!0,this.textOff+=n,e-=n,i=0}}span(e,t,i,n){this.buildText(t-e,i,n),this.pos=t,this.openStart<0&&(this.openStart=n)}point(e,t,i,n,r,s){if(this.disallowBlockEffectsFor[s]&&i instanceof Si){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let o=t-e;if(i instanceof Si)if(i.block){let{type:e}=i;e!=pi.WidgetAfter||this.posCovered()||this.getLine(),this.addBlockWidget(new vi(i.widget||new ki("div"),o,e))}else{let s=ei.create(i.widget||new ki("span"),o,o?0:i.startSide),a=this.atCursorPos&&!s.isEditable&&r<=n.length&&(e<t||i.startSide>0),l=!s.isEditable&&(e<t||r>n.length||i.startSide<=0),h=this.getLine();2!=this.pendingBuffer||a||(this.pendingBuffer=0),this.flushBuffer(n),a&&(h.append($i(new ri(1),n),r),r=n.length+Math.max(0,r-n.length)),h.append($i(s,n),r),this.atCursorPos=l,this.pendingBuffer=l?e<t||r>n.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=n.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);o&&(this.textOff+o<=this.text.length?this.textOff+=o:(this.skip+=o-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=r)}static build(e,t,i,n,r){let s=new wi(e,t,i,r);return s.openEnd=We.spans(n,t,i,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}}function $i(e,t){for(let i of t)e=new Jt(i,[e],e.length);return e}class ki extends di{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}}const Pi=R.define(),Ti=R.define(),Ai=R.define(),Ci=R.define(),Wi=R.define(),Zi=R.define(),Vi=R.define({combine:e=>e.some(e=>e)}),Xi=R.define({combine:e=>e.some(e=>e)});class _i{constructor(e,t="nearest",i="nearest",n=5,r=5){this.range=e,this.y=t,this.x=i,this.yMargin=n,this.xMargin=r}map(e){return e.empty?this:new _i(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const Ri=ce.define({map:(e,t)=>e.map(t)});function Mi(e,t,i){let n=e.facet(Ci);n.length?n[0](t):window.onerror?window.onerror(String(t),i,void 0,void 0,t):i?console.error(i+":",t):console.error(t)}const qi=R.define({combine:e=>!e.length||e[0]});let Ii=0;const Ei=R.define();class Di{constructor(e,t,i,n){this.id=e,this.create=t,this.domEventHandlers=i,this.extension=n(this)}static define(e,t){const{eventHandlers:i,provide:n,decorations:r}=t||{};return new Di(Ii++,e,i,e=>{let t=[Ei.of(e)];return r&&t.push(Li.of(t=>{let i=t.plugin(e);return i?r(i):Oi.none})),n&&t.push(n(e)),t})}static fromClass(e,t){return Di.define(t=>new e(t),t)}}class Ui{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(e)}catch(t){if(Mi(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){Mi(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){Mi(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const Yi=R.define(),zi=R.define(),Li=R.define(),Bi=R.define(),Ni=R.define(),ji=R.define();class Gi{constructor(e,t,i,n){this.fromA=e,this.toA=t,this.fromB=i,this.toB=n}join(e){return new Gi(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 t=e.length,i=this;for(;t>0;t--){let n=e[t-1];if(!(n.fromA>i.toA)){if(n.toA<i.fromA)break;i=i.join(n),e.splice(t-1,1)}}return e.splice(t,0,i),e}static extendWithRanges(e,t){if(0==t.length)return e;let i=[];for(let n=0,r=0,s=0,o=0;;n++){let a=n==e.length?null:e[n],l=s-o,h=a?a.fromB:1e9;for(;r<t.length&&t[r]<h;){let e=t[r],n=t[r+1],s=Math.max(o,e),a=Math.min(h,n);if(s<=a&&new Gi(s+l,a+l,s,a).addToSet(i),n>h)break;r+=2}if(!a)return i;new Gi(a.fromA,a.toA,a.fromB,a.toB).addToSet(i),s=a.toA,o=a.toB}}}class Fi{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=$.empty(this.startState.doc.length);for(let e of i)this.changes=this.changes.compose(e.changes);let n=[];this.changes.iterChangedRanges((e,t,i,r)=>n.push(new Gi(e,t,i,r))),this.changedRanges=n;let r=e.hasFocus;r!=e.inputState.notifiedFocused&&(e.inputState.notifiedFocused=r,this.flags|=1)}static create(e,t,i){return new Fi(e,t,i)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(10&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}var Hi=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Hi||(Hi={}));const Ji=Hi.LTR,Ki=Hi.RTL;function en(e){let t=[];for(let i=0;i<e.length;i++)t.push(1<<+e[i]);return t}const tn=en("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),nn=en("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),rn=Object.create(null),sn=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),i=e.charCodeAt(1);rn[t]=i,rn[i]=-t}function on(e){return e<=247?tn[e]:1424<=e&&e<=1524?2:1536<=e&&e<=1785?nn[e-1536]:1774<=e&&e<=2220?4:8192<=e&&e<=8203?256:64336<=e&&e<=65023?4:8204==e?256:1}const an=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class ln{constructor(e,t,i){this.from=e,this.to=t,this.level=i}get dir(){return this.level%2?Ki:Ji}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,i,n){let r=-1;for(let s=0;s<e.length;s++){let o=e[s];if(o.from<=t&&o.to>=t){if(o.level==i)return s;(r<0||(0!=n?n<0?o.from<t:o.to>t:e[r].level>o.level))&&(r=s)}}if(r<0)throw new RangeError("Index out of range");return r}}const hn=[];function cn(e,t){let i=e.length,n=t==Ji?1:2,r=t==Ji?2:1;if(!e||1==n&&!an.test(e))return un(i);for(let t=0,r=n,s=n;t<i;t++){let i=on(e.charCodeAt(t));512==i?i=r:8==i&&4==s&&(i=16),hn[t]=4==i?2:i,7&i&&(s=i),r=i}for(let e=0,t=n,r=n;e<i;e++){let n=hn[e];if(128==n)e<i-1&&t==hn[e+1]&&24&t?n=hn[e]=t:hn[e]=256;else if(64==n){let n=e+1;for(;n<i&&64==hn[n];)n++;let s=e&&8==t||n<i&&8==hn[n]?1==r?1:8:256;for(let t=e;t<n;t++)hn[t]=s;e=n-1}else 8==n&&1==r&&(hn[e]=1);t=n,7&n&&(r=n)}for(let t,s,o,a=0,l=0,h=0;a<i;a++)if(s=rn[t=e.charCodeAt(a)])if(s<0){for(let e=l-3;e>=0;e-=3)if(sn[e+1]==-s){let t=sn[e+2],i=2&t?n:4&t?1&t?r:n:0;i&&(hn[a]=hn[sn[e]]=i),l=e;break}}else{if(189==sn.length)break;sn[l++]=a,sn[l++]=t,sn[l++]=h}else if(2==(o=hn[a])||1==o){let e=o==n;h=e?0:1;for(let t=l-3;t>=0;t-=3){let i=sn[t+2];if(2&i)break;if(e)sn[t+2]|=2;else{if(4&i)break;sn[t+2]|=4}}}for(let e=0;e<i;e++)if(256==hn[e]){let t=e+1;for(;t<i&&256==hn[t];)t++;let r=1==(e?hn[e-1]:n),s=r==(1==(t<i?hn[t]:n))?r?1:2:n;for(let i=e;i<t;i++)hn[i]=s;e=t-1}let s=[];if(1==n)for(let e=0;e<i;){let t=e,n=1!=hn[e++];for(;e<i&&n==(1!=hn[e]);)e++;if(n)for(let i=e;i>t;){let e=i,n=2!=hn[--i];for(;i>t&&n==(2!=hn[i-1]);)i--;s.push(new ln(i,e,n?2:1))}else s.push(new ln(t,e,0))}else for(let e=0;e<i;){let t=e,n=2==hn[e++];for(;e<i&&n==(2==hn[e]);)e++;s.push(new ln(t,e,n?1:2))}return s}function un(e){return[new ln(0,e,0)]}let fn="";function dn(e,t,i,n,r){var s;let o=n.head-e.from,a=-1;if(0==o){if(!r||!e.length)return null;t[0].level!=i&&(o=t[0].side(!1,i),a=0)}else if(o==e.length){if(r)return null;let e=t[t.length-1];e.level!=i&&(o=e.side(!0,i),a=t.length-1)}a<0&&(a=ln.find(t,o,null!==(s=n.bidiLevel)&&void 0!==s?s:-1,n.assoc));let l=t[a];o==l.side(r,i)&&(l=t[a+=r?1:-1],o=l.side(!r,i));let h=r==(l.dir==i),c=p(e.text,o,h);if(fn=e.text.slice(Math.min(o,c),Math.max(o,c)),c!=l.side(r,i))return V.cursor(c+e.from,h?-1:1,l.level);let u=a==(r?t.length-1:0)?null:t[a+(r?1:-1)];return u||l.level==i?u&&u.level<l.level?V.cursor(u.side(!r,i)+e.from,r?1:-1,u.level):V.cursor(c+e.from,r?-1:1,l.level):V.cursor(r?e.to:e.from,r?-1:1,i)}const pn="￿";class On{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet($e.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=pn}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let n=e;;){this.findPointBefore(i,n),this.readNode(n);let e=n.nextSibling;if(e==t)break;let r=Vt.get(n),s=Vt.get(e);(r&&s?r.breakAfter:(r?r.breakAfter:mn(n))||mn(e)&&("BR"!=n.nodeName||n.cmIgnore))&&this.lineBreak(),n=e}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,n=this.lineSeparator?null:/\r\n?|\n/g;;){let r,s=-1,o=1;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(r=n.exec(t))&&(s=r.index,o=r[0].length),this.append(t.slice(i,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let t of this.points)t.node==e&&t.pos>this.text.length&&(t.pos-=o-1);i=s+o}}readNode(e){if(e.cmIgnore)return;let t=Vt.get(e),i=t&&t.overrideDOMText;if(null!=i){this.findPointInside(e,i.length);for(let e=i.iter();!e.next().done;)e.lineBreak?this.lineBreak():this.append(e.value)}else 3==e.nodeType?this.readTextNode(e):"BR"==e.nodeName?e.nextSibling&&this.lineBreak():1==e.nodeType&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(3==e.nodeType?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+Math.min(t,i.offset))}}function mn(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class gn{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class Sn extends Vt{constructor(e){super(),this.view=e,this.compositionDeco=Oi.none,this.decorations=[],this.dynamicDecorationMap=[],this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Qi],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Gi(0,0,0,e.state.doc.length)],0)}get editorView(){return this.view}get length(){return this.view.state.doc.length}update(e){let t=e.changedRanges;this.minWidth>0&&t.length&&(t.every(({fromA:e,toA:t})=>t<this.minWidthFrom||e>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.view.inputState.composing<0?this.compositionDeco=Oi.none:(e.transactions.length||this.dirty)&&(this.compositionDeco=Qn(this.view,e.changes)),(Gt.ie||Gt.chrome)&&!this.compositionDeco.size&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let i=Pn(this.decorations,this.updateDeco(),e.changes);return t=Gi.extendWithRanges(t,i),(0!=this.dirty||0!=t.length)&&(this.updateInner(t,e.startState.doc.length),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t);let{observer:i}=this.view;i.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let e=Gt.chrome||Gt.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.sync(e),this.dirty=0,e&&(e.written||i.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""});let n=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof vi&&e.widget instanceof yn&&n.push(e.dom);i.updateGaps(n)}updateChildren(e,t){let i=this.childCursor(t);for(let t=e.length-1;;t--){let n=t>=0?e[t]:null;if(!n)break;let{fromA:r,toA:s,fromB:o,toB:a}=n,{content:l,breakAtStart:h,openStart:c,openEnd:u}=wi.build(this.view.state.doc,o,a,this.decorations,this.dynamicDecorationMap),{i:f,off:d}=i.findPos(s,1),{i:p,off:O}=i.findPos(r,-1);Rt(this,p,O,f,d,l,h,c,u)}}updateSelection(e=!1,t=!1){if(!e&&this.view.observer.selectionRange.focusNode||this.view.observer.readSelectionRange(),!t&&!this.mayControlSelection())return;let i=this.forceSelection;this.forceSelection=!1;let n=this.view.state.selection.main,r=this.domAtPos(n.anchor),s=n.empty?r:this.domAtPos(n.head);if(Gt.gecko&&n.empty&&bn(r)){let e=document.createTextNode("");this.view.observer.ignore(()=>r.node.insertBefore(e,r.node.childNodes[r.offset]||null)),r=s=new Wt(e,0),i=!0}let o=this.view.observer.selectionRange;!i&&o.focusNode&&dt(r.node,r.offset,o.anchorNode,o.anchorOffset)&&dt(s.node,s.offset,o.focusNode,o.focusOffset)||(this.view.observer.ignore(()=>{Gt.android&&Gt.chrome&&this.dom.contains(o.focusNode)&&Tn(o.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=lt(this.view.root);if(e)if(n.empty){if(Gt.gecko){let e=$n(r.node,r.offset);if(e&&3!=e){let t=wn(r.node,r.offset,1==e?1:-1);t&&(r=new Wt(t,1==e?0:t.nodeValue.length))}}e.collapse(r.node,r.offset),null!=n.bidiLevel&&null!=o.cursorBidiLevel&&(o.cursorBidiLevel=n.bidiLevel)}else if(e.extend){e.collapse(r.node,r.offset);try{e.extend(s.node,s.offset)}catch(e){}}else{let t=document.createRange();n.anchor>n.head&&([r,s]=[s,r]),t.setEnd(s.node,s.offset),t.setStart(r.node,r.offset),e.removeAllRanges(),e.addRange(t)}else;}),this.view.observer.setSelectionRange(r,s)),this.impreciseAnchor=r.precise?null:new Wt(o.anchorNode,o.anchorOffset),this.impreciseHead=s.precise?null:new Wt(o.focusNode,o.focusOffset)}enforceCursorAssoc(){if(this.compositionDeco.size)return;let{view:e}=this,t=e.state.selection.main,i=lt(e.root),{anchorNode:n,anchorOffset:r}=e.observer.selectionRange;if(!(i&&t.empty&&t.assoc&&i.modify))return;let s=Qi.find(this,t.head);if(!s)return;let o=s.posAtStart;if(t.head==o||t.head==o+s.length)return;let a=this.coordsAt(t.head,-1),l=this.coordsAt(t.head,1);if(!a||!l||a.bottom>l.top)return;let h=this.domAtPos(t.head+t.assoc);i.collapse(h.node,h.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let c=e.observer.selectionRange;e.docView.posFromDOM(c.anchorNode,c.anchorOffset)!=t.from&&i.collapse(n,r)}mayControlSelection(){let e=this.view.root.activeElement;return e==this.dom||ut(this.dom,this.view.observer.selectionRange)&&!(e&&this.dom.contains(e))}nearest(e){for(let t=e;t;){let e=Vt.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let e=this.children[t];if(i<e.length||e instanceof Qi)break;t++,i=0}return this.children[t].domAtPos(i)}coordsAt(e,t){for(let i=this.length,n=this.children.length-1;;n--){let r=this.children[n],s=i-r.breakAfter-r.length;if(e>s||e==s&&r.type!=pi.WidgetBefore&&r.type!=pi.WidgetAfter&&(!n||2==t||this.children[n-1].breakAfter||this.children[n-1].type==pi.WidgetBefore&&t>-2))return r.coordsAt(e-s,t);i=s}}measureVisibleLineHeights(e){let t=[],{from:i,to:n}=e,r=this.view.contentDOM.clientWidth,s=r>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,a=this.view.textDirection==Hi.LTR;for(let e=0,l=0;l<this.children.length;l++){let h=this.children[l],c=e+h.length;if(c>n)break;if(e>=i){let i=h.dom.getBoundingClientRect();if(t.push(i.height),s){let t=h.dom.lastChild,n=t?ft(t):[];if(n.length){let t=n[n.length-1],s=a?t.right-i.left:i.right-t.left;s>o&&(o=s,this.minWidth=r,this.minWidthFrom=e,this.minWidthTo=c)}}}e=c+h.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return"rtl"==getComputedStyle(this.children[t].dom).direction?Hi.RTL:Hi.LTR}measureTextSize(){for(let e of this.children)if(e instanceof Qi){let t=e.measureTextSize();if(t)return t}let e,t,i=document.createElement("div");return i.className="cm-line",i.style.width="99999px",i.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(i);let n=ft(i.firstChild)[0];e=i.getBoundingClientRect().height,t=n?n.width/27:7,i.remove()}),{lineHeight:e,charWidth:t}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new _t(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,n=0;;n++){let r=n==t.viewports.length?null:t.viewports[n],s=r?r.from-1:this.length;if(s>i){let n=t.lineBlockAt(s).bottom-t.lineBlockAt(i).top;e.push(Oi.replace({widget:new yn(n),block:!0,inclusive:!0,isBlockGap:!0}).range(i,s))}if(!r)break;i=r.to+1}return Oi.set(e)}updateDeco(){let e=this.view.state.facet(Li).map((e,t)=>(this.dynamicDecorationMap[t]="function"==typeof e)?e(this.view):e);for(let t=e.length;t<e.length+3;t++)this.dynamicDecorationMap[t]=!1;return this.decorations=[...e,this.compositionDeco,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollIntoView(e){let t,{range:i}=e,n=this.coordsAt(i.head,i.empty?i.assoc:i.head>i.anchor?-1:1);if(!n)return;!i.empty&&(t=this.coordsAt(i.anchor,i.anchor>i.head?-1:1))&&(n={left:Math.min(n.left,t.left),top:Math.min(n.top,t.top),right:Math.max(n.right,t.right),bottom:Math.max(n.bottom,t.bottom)});let r=0,s=0,o=0,a=0;for(let e of this.view.state.facet(Ni).map(e=>e(this.view)))if(e){let{left:t,right:i,top:n,bottom:l}=e;null!=t&&(r=Math.max(r,t)),null!=i&&(s=Math.max(s,i)),null!=n&&(o=Math.max(o,n)),null!=l&&(a=Math.max(a,l))}let l={left:n.left-r,top:n.top-o,right:n.right+s,bottom:n.bottom+a};yt(this.view.scrollDOM,l,i.head<i.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==Hi.LTR)}}function bn(e){return 1==e.node.nodeType&&e.node.firstChild&&(0==e.offset||"false"==e.node.childNodes[e.offset-1].contentEditable)&&(e.offset==e.node.childNodes.length||"false"==e.node.childNodes[e.offset].contentEditable)}class yn extends di{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}function xn(e){let t=e.observer.selectionRange,i=t.focusNode&&wn(t.focusNode,t.focusOffset,0);if(!i)return null;let n=e.docView.nearest(i);if(!n)return null;if(n instanceof Qi){let e=i;for(;e.parentNode!=n.dom;)e=e.parentNode;let t=e.previousSibling;for(;t&&!Vt.get(t);)t=t.previousSibling;let r=t?Vt.get(t).posAtEnd:n.posAtStart;return{from:r,to:r,node:e,text:i}}{for(;;){let{parent:e}=n;if(!e)return null;if(e instanceof Qi)break;n=e}let e=n.posAtStart;return{from:e,to:e+n.length,node:n.dom,text:i}}}function Qn(e,t){let i=xn(e);if(!i)return Oi.none;let{from:n,to:r,node:s,text:o}=i,a=t.mapPos(n,1),l=Math.max(a,t.mapPos(r,-1)),{state:h}=e,c=3==s.nodeType?s.nodeValue:new On([],h).readRange(s.firstChild,null).text;if(l-a<c.length)if(h.doc.sliceString(a,Math.min(h.doc.length,a+c.length),pn)==c)l=a+c.length;else{if(h.doc.sliceString(Math.max(0,l-c.length),l,pn)!=c)return Oi.none;a=l-c.length}else if(h.doc.sliceString(a,l,pn)!=c)return Oi.none;let u=Vt.get(s);return u instanceof ti?u=u.widget.topView:u&&(u.parent=null),Oi.set(Oi.replace({widget:new vn(s,o,u),inclusive:!0}).range(a,l))}class vn extends di{constructor(e,t,i){super(),this.top=e,this.text=t,this.topView=i}eq(e){return this.top==e.top&&this.text==e.text}toDOM(){return this.top}ignoreEvent(){return!1}get customView(){return ti}}function wn(e,t,i){for(;;){if(3==e.nodeType)return e;if(1==e.nodeType&&t>0&&i<=0)t=mt(e=e.childNodes[t-1]);else{if(!(1==e.nodeType&&t<e.childNodes.length&&i>=0))return null;e=e.childNodes[t],t=0}}}function $n(e,t){return 1!=e.nodeType?0:(t&&"false"==e.childNodes[t-1].contentEditable?1:0)|(t<e.childNodes.length&&"false"==e.childNodes[t].contentEditable?2:0)}class kn{constructor(){this.changes=[]}compareRange(e,t){xi(e,t,this.changes)}comparePoint(e,t){xi(e,t,this.changes)}}function Pn(e,t,i){let n=new kn;return We.compare(e,t,i,n),n.changes}function Tn(e,t){for(let i=e;i&&i!=t;i=i.assignedSlot||i.parentNode)if(1==i.nodeType&&"false"==i.contentEditable)return!0;return!1}function An(e,t,i=1){let n=e.charCategorizer(t),r=e.doc.lineAt(t),s=t-r.from;if(0==r.length)return V.cursor(t);0==s?i=1:s==r.length&&(i=-1);let o=s,a=s;i<0?o=p(r.text,s,!1):a=p(r.text,s);let l=n(r.text.slice(o,a));for(;o>0;){let e=p(r.text,o,!1);if(n(r.text.slice(e,o))!=l)break;o=e}for(;a<r.length;){let e=p(r.text,a);if(n(r.text.slice(a,e))!=l)break;a=e}return V.range(o+r.from,a+r.from)}function Cn(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function Wn(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function Zn(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function Vn(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function Xn(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function _n(e,t,i){let n,r,s,o,a,l,h,c,u=!1;for(let f=e.firstChild;f;f=f.nextSibling){let e=ft(f);for(let d=0;d<e.length;d++){let p=e[d];r&&Zn(r,p)&&(p=Vn(Xn(p,r.bottom),r.top));let O=Cn(t,p),m=Wn(i,p);if(0==O&&0==m)return 3==f.nodeType?Rn(f,t,i):_n(f,t,i);(!n||o>m||o==m&&s>O)&&(n=f,r=p,s=O,o=m,u=!O||(O>0?d<e.length-1:d>0)),0==O?i>p.bottom&&(!h||h.bottom<p.bottom)?(a=f,h=p):i<p.top&&(!c||c.top>p.top)&&(l=f,c=p):h&&Zn(h,p)?h=Xn(h,p.bottom):c&&Zn(c,p)&&(c=Vn(c,p.top))}}if(h&&h.bottom>=i?(n=a,r=h):c&&c.top<=i&&(n=l,r=c),!n)return{node:e,offset:0};let f=Math.max(r.left,Math.min(r.right,t));return 3==n.nodeType?Rn(n,f,i):u&&"false"!=n.contentEditable?_n(n,f,i):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,n)+(t>=(r.left+r.right)/2?1:0)}}function Rn(e,t,i){let n=e.nodeValue.length,r=-1,s=1e9,o=0;for(let a=0;a<n;a++){let n=kt(e,a,a+1).getClientRects();for(let l=0;l<n.length;l++){let h=n[l];if(h.top==h.bottom)continue;o||(o=t-h.left);let c=(h.top>i?h.top-i:i-h.bottom)-1;if(h.left-1<=t&&h.right+1>=t&&c<s){let i=t>=(h.left+h.right)/2,n=i;if(Gt.chrome||Gt.gecko){kt(e,a).getBoundingClientRect().left==h.right&&(n=!i)}if(c<=0)return{node:e,offset:a+(n?1:0)};r=a+(n?1:0),s=c}}}return{node:e,offset:r>-1?r:o>0?e.nodeValue.length:0}}function Mn(e,{x:t,y:i},n,r=-1){var s;let o,a=e.contentDOM.getBoundingClientRect(),l=a.top+e.viewState.paddingTop,{docHeight:h}=e.viewState,c=i-l;if(c<0)return 0;if(c>h)return e.state.doc.length;for(let t=e.defaultLineHeight/2,i=!1;o=e.elementAtHeight(c),o.type!=pi.Text;)for(;c=r>0?o.bottom+t:o.top-t,!(c>=0&&c<=h);){if(i)return n?null:0;i=!0,r=-r}i=l+c;let u=o.from;if(u<e.viewport.from)return 0==e.viewport.from?0:n?null:qn(e,a,o,t,i);if(u>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:qn(e,a,o,t,i);let f=e.dom.ownerDocument,d=e.root.elementFromPoint?e.root:f,p=d.elementFromPoint(t,i);p&&!e.contentDOM.contains(p)&&(p=null),p||(t=Math.max(a.left+1,Math.min(a.right-1,t)),p=d.elementFromPoint(t,i),p&&!e.contentDOM.contains(p)&&(p=null));let O,m=-1;if(p&&0!=(null===(s=e.docView.nearest(p))||void 0===s?void 0:s.isEditable))if(f.caretPositionFromPoint){let e=f.caretPositionFromPoint(t,i);e&&({offsetNode:O,offset:m}=e)}else if(f.caretRangeFromPoint){let n=f.caretRangeFromPoint(t,i);n&&(({startContainer:O,startOffset:m}=n),(!e.contentDOM.contains(O)||Gt.safari&&In(O,m,t)||Gt.chrome&&En(O,m,t))&&(O=void 0))}if(!O||!e.docView.dom.contains(O)){let n=Qi.find(e.docView,u);if(!n)return c>o.top+o.height/2?o.to:o.from;({node:O,offset:m}=_n(n.dom,t,i))}return e.docView.posFromDOM(O,m)}function qn(e,t,i,n,r){let s=Math.round((n-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&i.height>1.5*e.defaultLineHeight){s+=Math.floor((r-i.top)/e.defaultLineHeight)*e.viewState.heightOracle.lineLength}let o=e.state.sliceDoc(i.from,i.to);return i.from+Le(o,s,e.state.tabSize)}function In(e,t,i){let n;if(3!=e.nodeType||t!=(n=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return kt(e,n-1,n).getBoundingClientRect().left>i}function En(e,t,i){if(0!=t)return!1;for(let t=e;;){let e=t.parentNode;if(!e||1!=e.nodeType||e.firstChild!=t)return!1;if(e.classList.contains("cm-line"))break;t=e}return i-(1==e.nodeType?e.getBoundingClientRect():kt(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}function Dn(e,t,i,n){let r=e.state.doc.lineAt(t.head),s=n&&e.lineWrapping?e.coordsAtPos(t.assoc<0&&t.head>r.from?t.head-1:t.head):null;if(s){let t=e.dom.getBoundingClientRect(),n=e.textDirectionAt(r.from),o=e.posAtCoords({x:i==(n==Hi.LTR)?t.right-1:t.left+1,y:(s.top+s.bottom)/2});if(null!=o)return V.cursor(o,i?-1:1)}let o=Qi.find(e.docView,t.head),a=o?i?o.posAtEnd:o.posAtStart:i?r.to:r.from;return V.cursor(a,i?-1:1)}function Un(e,t,i,n){let r=e.state.doc.lineAt(t.head),s=e.bidiSpans(r),o=e.textDirectionAt(r.from);for(let a=t,l=null;;){let t=dn(r,s,o,a,i),h=fn;if(!t){if(r.number==(i?e.state.doc.lines:1))return a;h="\n",r=e.state.doc.line(r.number+(i?1:-1)),s=e.bidiSpans(r),t=V.cursor(i?r.from:r.to)}if(l){if(!l(h))return a}else{if(!n)return t;l=n(h)}a=t}}function Yn(e,t,i){let n=e.state.charCategorizer(t),r=n(i);return e=>{let t=n(e);return r==ye.Space&&(r=t),r==t}}function zn(e,t,i,n){let r=t.head,s=i?1:-1;if(r==(i?e.state.doc.length:0))return V.cursor(r,t.assoc);let o,a=t.goalColumn,l=e.contentDOM.getBoundingClientRect(),h=e.coordsAtPos(r),c=e.documentTop;if(h)null==a&&(a=h.left-l.left),o=s<0?h.top:h.bottom;else{let t=e.viewState.lineBlockAt(r);null==a&&(a=Math.min(l.right-l.left,e.defaultCharacterWidth*(r-t.from))),o=(s<0?t.top:t.bottom)+c}let u=l.left+a,f=null!=n?n:e.defaultLineHeight>>1;for(let i=0;;i+=10){let n=o+(f+i)*s,h=Mn(e,{x:u,y:n},!1,s);if(n<l.top||n>l.bottom||(s<0?h<r:h>r))return V.cursor(h,t.assoc,void 0,a)}}function Ln(e,t,i){let n=e.state.facet(Bi).map(t=>t(e));for(;;){let e=!1;for(let r of n)r.between(i.from-1,i.from+1,(n,r,s)=>{i.from>n&&i.from<r&&(i=t.head>i.from?V.cursor(n,1):V.cursor(r,-1),e=!0)});if(!e)return i}}class Bn{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.lastTouchTime=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.chromeScrollHack=-1,this.pendingIOSKey=void 0,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastEscPress=0,this.lastContextMenu=0,this.scrollHandlers=[],this.registeredEvents=[],this.customHandlers=[],this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.mouseSelection=null;let t=(t,i)=>{this.ignoreDuringComposition(i)||"keydown"==i.type&&this.keydown(e,i)||(this.mustFlushObserver(i)&&e.observer.forceFlush(),this.runCustomHandlers(i.type,e,i)?i.preventDefault():t(e,i))};for(let i in ir){let n=ir[i];e.contentDOM.addEventListener(i,i=>{tr(e,i)&&t(n,i)},nr[i]),this.registeredEvents.push(i)}e.scrollDOM.addEventListener("mousedown",i=>{i.target==e.scrollDOM&&t(ir.mousedown,i)}),Gt.chrome&&102==Gt.chrome_version&&e.scrollDOM.addEventListener("wheel",()=>{this.chromeScrollHack<0?e.contentDOM.style.pointerEvents="none":window.clearTimeout(this.chromeScrollHack),this.chromeScrollHack=setTimeout(()=>{this.chromeScrollHack=-1,e.contentDOM.style.pointerEvents=""},100)},{passive:!0}),this.notifiedFocused=e.hasFocus,Gt.safari&&e.contentDOM.addEventListener("input",()=>null)}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e,t){var i;let n;this.customHandlers=[];for(let r of t)if(n=null===(i=r.update(e).spec)||void 0===i?void 0:i.domEventHandlers){this.customHandlers.push({plugin:r.value,handlers:n});for(let t in n)this.registeredEvents.indexOf(t)<0&&"scroll"!=t&&(this.registeredEvents.push(t),e.contentDOM.addEventListener(t,i=>{tr(e,i)&&this.runCustomHandlers(t,e,i)&&i.preventDefault()}))}}runCustomHandlers(e,t,i){for(let n of this.customHandlers){let r=n.handlers[e];if(r)try{if(r.call(n.plugin,i,t)||i.defaultPrevented)return!0}catch(e){Mi(t.state,e)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let i of this.customHandlers){let n=i.handlers.scroll;if(n)try{n.call(i.plugin,t,e)}catch(t){Mi(e.state,t)}}}keydown(e,t){if(this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),9==t.keyCode&&Date.now()<this.lastEscPress+2e3)return!0;if(Gt.android&&Gt.chrome&&!t.synthetic&&(13==t.keyCode||8==t.keyCode))return e.observer.delayAndroidKey(t.key,t.keyCode),!0;let i;return!(!Gt.ios||t.synthetic||t.altKey||t.metaKey||!((i=Nn.find(e=>e.keyCode==t.keyCode))&&!t.ctrlKey||jn.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey))&&(this.pendingIOSKey=i||t,setTimeout(()=>this.flushIOSKey(e),250),!0)}flushIOSKey(e){let t=this.pendingIOSKey;return!!t&&(this.pendingIOSKey=void 0,Pt(e.contentDOM,t.key,t.keyCode))}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(Gt.safari&&!Gt.ios&&Date.now()-this.compositionEndedAt<100)&&(this.compositionEndedAt=0,!0))}mustFlushObserver(e){return"keydown"==e.type&&229!=e.keyCode}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.mouseSelection&&this.mouseSelection.update(e),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}}const Nn=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],jn="dthko",Gn=[16,17,18,20,91,92,224,225];function Fn(e){return.7*e+8}class Hn{constructor(e,t,i,n){this.view=e,this.style=i,this.mustSelect=n,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=xt(e.contentDOM);let r=e.contentDOM.ownerDocument;r.addEventListener("mousemove",this.move=this.move.bind(this)),r.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet($e.allowMultipleSelections)&&Jn(e,t),this.dragMove=Kn(e,t),this.dragging=!(!er(e,t)||1!=mr(t))&&null,!1===this.dragging&&(t.preventDefault(),this.select(t))}move(e){var t;if(0==e.buttons)return this.destroy();if(!1!==this.dragging)return;this.select(this.lastEvent=e);let i=0,n=0,r=(null===(t=this.scrollParent)||void 0===t?void 0:t.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight};e.clientX<=r.left?i=-Fn(r.left-e.clientX):e.clientX>=r.right&&(i=Fn(e.clientX-r.right)),e.clientY<=r.top?n=-Fn(r.top-e.clientY):e.clientY>=r.bottom&&(n=Fn(e.clientY-r.bottom)),this.setScrollSpeed(i,n)}up(e){null==this.dragging&&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=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){this.scrollParent?(this.scrollParent.scrollLeft+=this.scrollSpeed.x,this.scrollParent.scrollTop+=this.scrollSpeed.y):this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y),!1===this.dragging&&this.select(this.lastEvent)}select(e){let t=this.style.get(e,this.extend,this.multiple);!this.mustSelect&&t.eq(this.view.state.selection)&&t.main.assoc==this.view.state.selection.main.assoc||this.view.dispatch({selection:t,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function Jn(e,t){let i=e.state.facet(Pi);return i.length?i[0](t):Gt.mac?t.metaKey:t.ctrlKey}function Kn(e,t){let i=e.state.facet(Ti);return i.length?i[0](t):Gt.mac?!t.altKey:!t.ctrlKey}function er(e,t){let{main:i}=e.state.selection;if(i.empty)return!1;let n=lt(e.root);if(!n||0==n.rangeCount)return!0;let r=n.getRangeAt(0).getClientRects();for(let e=0;e<r.length;e++){let i=r[e];if(i.left<=t.clientX&&i.right>=t.clientX&&i.top<=t.clientY&&i.bottom>=t.clientY)return!0}return!1}function tr(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let i,n=t.target;n!=e.contentDOM;n=n.parentNode)if(!n||11==n.nodeType||(i=Vt.get(n))&&i.ignoreEvent(t))return!1;return!0}const ir=Object.create(null),nr=Object.create(null),rr=Gt.ie&&Gt.ie_version<15||Gt.ios&&Gt.webkit_version<604;function sr(e){let t=e.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{e.focus(),i.remove(),or(e,i.value)},50)}function or(e,t){let i,{state:n}=e,r=1,s=n.toText(t),o=s.lines==n.selection.ranges.length;if(null!=Qr&&n.selection.ranges.every(e=>e.empty)&&Qr==s.toString()){let e=-1;i=n.changeByRange(i=>{let a=n.doc.lineAt(i.from);if(a.from==e)return{range:i};e=a.from;let l=n.toText((o?s.line(r++).text:t)+n.lineBreak);return{changes:{from:a.from,insert:l},range:V.cursor(i.from+l.length)}})}else i=o?n.changeByRange(e=>{let t=s.line(r++);return{changes:{from:e.from,to:e.to,insert:t.text},range:V.cursor(e.from+t.length)}}):n.replaceSelection(s);e.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}function ar(e,t,i,n){if(1==n)return V.cursor(t,i);if(2==n)return An(e.state,t,i);{let i=Qi.find(e.docView,t),n=e.state.doc.lineAt(i?i.posAtEnd:t),r=i?i.posAtStart:n.from,s=i?i.posAtEnd:n.to;return s<e.state.doc.length&&s==n.to&&s++,V.range(r,s)}}ir.keydown=(e,t)=>{e.inputState.setSelectionOrigin("select"),27==t.keyCode?e.inputState.lastEscPress=Date.now():Gn.indexOf(t.keyCode)<0&&(e.inputState.lastEscPress=0)},ir.touchstart=(e,t)=>{e.inputState.lastTouchTime=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},ir.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},nr.touchstart=nr.touchmove={passive:!0},ir.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return;let i=null;for(let n of e.state.facet(Ai))if(i=n(e,t),i)break;if(i||0!=t.button||(i=gr(e,t)),i){let n=e.root.activeElement!=e.contentDOM;n&&e.observer.ignore(()=>$t(e.contentDOM)),e.inputState.startMouseSelection(new Hn(e,t,i,n))}};let lr=(e,t)=>e>=t.top&&e<=t.bottom,hr=(e,t,i)=>lr(t,i)&&e>=i.left&&e<=i.right;function cr(e,t,i,n){let r=Qi.find(e.docView,t);if(!r)return 1;let s=t-r.posAtStart;if(0==s)return 1;if(s==r.length)return-1;let o=r.coordsAt(s,-1);if(o&&hr(i,n,o))return-1;let a=r.coordsAt(s,1);return a&&hr(i,n,a)?1:o&&lr(n,o)?-1:1}function ur(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:i,bias:cr(e,i,t.clientX,t.clientY)}}const fr=Gt.ie&&Gt.ie_version<=11;let dr=null,pr=0,Or=0;function mr(e){if(!fr)return e.detail;let t=dr,i=Or;return dr=e,Or=Date.now(),pr=!t||i>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(pr+1)%3:1}function gr(e,t){let i=ur(e,t),n=mr(t),r=e.state.selection;return{update(e){e.docChanged&&(i.pos=e.changes.mapPos(i.pos),r=r.map(e.changes))},get(t,s,o){let a=ur(e,t),l=ar(e,a.pos,a.bias,n);if(i.pos!=a.pos&&!s){let t=ar(e,i.pos,i.bias,n),r=Math.min(t.from,l.from),s=Math.max(t.to,l.to);l=r<l.from?V.range(r,s):V.range(s,r)}return s?r.replaceRange(r.main.extend(l.from,l.to)):o&&r.ranges.length>1&&r.ranges.some(e=>e.eq(l))?Sr(r,l):o?r.addRange(l):V.create([l])}}}function Sr(e,t){for(let i=0;;i++)if(e.ranges[i].eq(t))return V.create(e.ranges.slice(0,i).concat(e.ranges.slice(i+1)),e.mainIndex==i?0:e.mainIndex-(e.mainIndex>i?1:0))}function br(e,t,i,n){if(!i)return;let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1);t.preventDefault();let{mouseSelection:s}=e.inputState,o=n&&s&&s.dragging&&s.dragMove?{from:s.dragging.from,to:s.dragging.to}:null,a={from:r,insert:i},l=e.state.changes(o?[o,a]:a);e.focus(),e.dispatch({changes:l,selection:{anchor:l.mapPos(r,-1),head:l.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"})}function yr(e,t){let i=e.dom.parentNode;if(!i)return;let n=i.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.value=t,n.focus(),n.selectionEnd=t.length,n.selectionStart=0,setTimeout(()=>{n.remove(),e.focus()},50)}function xr(e){let t=[],i=[],n=!1;for(let n of e.selection.ranges)n.empty||(t.push(e.sliceDoc(n.from,n.to)),i.push(n));if(!t.length){let r=-1;for(let{from:n}of e.selection.ranges){let s=e.doc.lineAt(n);s.number>r&&(t.push(s.text),i.push({from:s.from,to:Math.min(e.doc.length,s.to+1)})),r=s.number}n=!0}return{text:t.join(e.lineBreak),ranges:i,linewise:n}}ir.dragstart=(e,t)=>{let{selection:{main:i}}=e.state,{mouseSelection:n}=e.inputState;n&&(n.dragging=i),t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(i.from,i.to)),t.dataTransfer.effectAllowed="copyMove")},ir.drop=(e,t)=>{if(!t.dataTransfer)return;if(e.state.readOnly)return t.preventDefault();let i=t.dataTransfer.files;if(i&&i.length){t.preventDefault();let n=Array(i.length),r=0,s=()=>{++r==i.length&&br(e,t,n.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e<i.length;e++){let t=new FileReader;t.onerror=s,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(n[e]=t.result),s()},t.readAsText(i[e])}}else br(e,t,t.dataTransfer.getData("Text"),!0)},ir.paste=(e,t)=>{if(e.state.readOnly)return t.preventDefault();e.observer.flush();let i=rr?null:t.clipboardData;i?(or(e,i.getData("text/plain")),t.preventDefault()):sr(e)};let Qr=null;function vr(e){setTimeout(()=>{e.hasFocus!=e.inputState.notifiedFocused&&e.update([])},10)}ir.copy=ir.cut=(e,t)=>{let{text:i,ranges:n,linewise:r}=xr(e.state);if(!i&&!r)return;Qr=r?i:null;let s=rr?null:t.clipboardData;s?(t.preventDefault(),s.clearData(),s.setData("text/plain",i)):yr(e,i),"cut"!=t.type||e.state.readOnly||e.dispatch({changes:n,scrollIntoView:!0,userEvent:"delete.cut"})},ir.focus=e=>{e.inputState.lastFocusTime=Date.now(),e.scrollDOM.scrollTop||!e.inputState.lastScrollTop&&!e.inputState.lastScrollLeft||(e.scrollDOM.scrollTop=e.inputState.lastScrollTop,e.scrollDOM.scrollLeft=e.inputState.lastScrollLeft),vr(e)},ir.blur=e=>{e.observer.clearSelectionRange(),vr(e)},ir.compositionstart=ir.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.inputState.composing=0)},ir.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionFirstChange=null,Gt.chrome&&Gt.android&&e.observer.flushSoon(),setTimeout(()=>{e.inputState.composing<0&&e.docView.compositionDeco.size&&e.update([])},50)},ir.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()},ir.beforeinput=(e,t)=>{var i;let n;if(Gt.chrome&&Gt.android&&(n=Nn.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(n.key,n.keyCode),"Backspace"==n.key||"Delete"==n.key)){let t=(null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0;setTimeout(()=>{var i;((null===(i=window.visualViewport)||void 0===i?void 0:i.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}};const wr=["pre-wrap","normal","pre-line","break-spaces"];class $r{constructor(t){this.lineWrapping=t,this.doc=e.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.lineLength=30,this.heightChanged=!1}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength)),this.lineHeight*i}heightForLine(e){if(!this.lineWrapping)return this.lineHeight;return(1+Math.max(0,Math.ceil((e-this.lineLength)/(this.lineLength-5))))*this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return wr.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i<e.length;i++){let n=e[i];n<0?i++:this.heightSamples[Math.floor(10*n)]||(t=!0,this.heightSamples[Math.floor(10*n)]=!0)}return t}refresh(e,t,i,n,r){let s=wr.indexOf(e)>-1,o=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=s;if(this.lineWrapping=s,this.lineHeight=t,this.charWidth=i,this.lineLength=n,o){this.heightSamples={};for(let e=0;e<r.length;e++){let t=r[e];t<0?e++:this.heightSamples[Math.floor(10*t)]=!0}}return o}}class kr{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Pr{constructor(e,t,i,n,r){this.from=e,this.length=t,this.top=i,this.height=n,this.type=r}get to(){return this.from+this.length}get bottom(){return this.top+this.height}join(e){let t=(Array.isArray(this.type)?this.type:[this]).concat(Array.isArray(e.type)?e.type:[e]);return new Pr(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Tr=function(e){return e[e.ByPos=0]="ByPos",e[e.ByHeight=1]="ByHeight",e[e.ByPosNoHeight=2]="ByPosNoHeight",e}(Tr||(Tr={}));const Ar=.001;class Cr{constructor(e,t,i=2){this.length=e,this.height=t,this.flags=i}get outdated(){return(2&this.flags)>0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>Ar&&(e.heightChanged=!0),this.height=t)}replace(e,t,i){return Cr.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,n){let r=this;for(let s=n.length-1;s>=0;s--){let{fromA:o,toA:a,fromB:l,toB:h}=n[s],c=r.lineAt(o,Tr.ByPosNoHeight,t,0,0),u=c.to>=a?c:r.lineAt(a,Tr.ByPosNoHeight,t,0,0);for(h+=u.to-a,a=u.to;s>0&&c.from<=n[s-1].toA;)o=n[s-1].fromA,l=n[s-1].fromB,s--,o<c.from&&(c=r.lineAt(o,Tr.ByPosNoHeight,t,0,0));l+=c.from-o,o=c.from;let f=Mr.build(i,e,l,h);r=r.replace(o,a,f)}return r.updateHeight(i,0)}static empty(){return new Zr(0,0)}static of(e){if(1==e.length)return e[0];let t=0,i=e.length,n=0,r=0;for(;;)if(t==i)if(n>2*r){let r=e[t-1];r.break?e.splice(--t,1,r.left,null,r.right):e.splice(--t,1,r.left,r.right),i+=1+r.break,n-=r.size}else{if(!(r>2*n))break;{let t=e[i];t.break?e.splice(i,1,t.left,null,t.right):e.splice(i,1,t.left,t.right),i+=2+t.break,r-=t.size}}else if(n<r){let i=e[t++];i&&(n+=i.size)}else{let t=e[--i];t&&(r+=t.size)}let s=0;return null==e[t-1]?(s=1,t--):null==e[t]&&(s=1,i++),new Xr(Cr.of(e.slice(0,t)),s,Cr.of(e.slice(i)))}}Cr.prototype.size=1;class Wr extends Cr{constructor(e,t,i){super(e,t),this.type=i}blockAt(e,t,i,n){return new Pr(n,this.length,i,this.height,this.type)}lineAt(e,t,i,n,r){return this.blockAt(0,i,n,r)}forEachLine(e,t,i,n,r,s){e<=r+this.length&&t>=r&&s(this.blockAt(0,i,n,r))}updateHeight(e,t=0,i=!1,n){return n&&n.from<=t&&n.more&&this.setHeight(e,n.heights[n.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Zr extends Wr{constructor(e,t){super(e,t,pi.Text),this.collapsed=0,this.widgetHeight=0}replace(e,t,i){let n=i[0];return 1==i.length&&(n instanceof Zr||n instanceof Vr&&4&n.flags)&&Math.abs(this.length-n.length)<10?(n instanceof Vr?n=new Zr(n.length,this.height):n.height=this.height,this.outdated||(n.outdated=!1),n):Cr.of(i)}updateHeight(e,t=0,i=!1,n){return n&&n.from<=t&&n.more?this.setHeight(e,n.heights[n.index++]):(i||this.outdated)&&this.setHeight(e,Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}}class Vr extends Cr{constructor(e){super(e,0)}lines(e,t){let i=e.lineAt(t).number,n=e.lineAt(t+this.length).number;return{firstLine:i,lastLine:n,lineHeight:this.height/(n-i+1)}}blockAt(e,t,i,n){let{firstLine:r,lastLine:s,lineHeight:o}=this.lines(t,n),a=Math.max(0,Math.min(s-r,Math.floor((e-i)/o))),{from:l,length:h}=t.line(r+a);return new Pr(l,h,i+o*a,o,pi.Text)}lineAt(e,t,i,n,r){if(t==Tr.ByHeight)return this.blockAt(e,i,n,r);if(t==Tr.ByPosNoHeight){let{from:t,to:n}=i.lineAt(e);return new Pr(t,n-t,0,0,pi.Text)}let{firstLine:s,lineHeight:o}=this.lines(i,r),{from:a,length:l,number:h}=i.lineAt(e);return new Pr(a,l,n+o*(h-s),o,pi.Text)}forEachLine(e,t,i,n,r,s){let{firstLine:o,lineHeight:a}=this.lines(i,r);for(let l=Math.max(e,r),h=Math.min(r+this.length,t);l<=h;){let t=i.lineAt(l);l==e&&(n+=a*(t.number-o)),s(new Pr(t.from,t.length,n,a,pi.Text)),n+=a,l=t.to+1}}replace(e,t,i){let n=this.length-t;if(n>0){let e=i[i.length-1];e instanceof Vr?i[i.length-1]=new Vr(e.length+n):i.push(null,new Vr(n-1))}if(e>0){let t=i[0];t instanceof Vr?i[0]=new Vr(e+t.length):i.unshift(new Vr(e-1),null)}return Cr.of(i)}decomposeLeft(e,t){t.push(new Vr(e-1),null)}decomposeRight(e,t){t.push(null,new Vr(this.length-e-1))}updateHeight(e,t=0,i=!1,n){let r=t+this.length;if(n&&n.from<=t+this.length&&n.more){let i=[],s=Math.max(t,n.from),o=-1,a=e.heightChanged;for(n.from>t&&i.push(new Vr(n.from-t-1).updateHeight(e,t));s<=r&&n.more;){let t=e.doc.lineAt(s).length;i.length&&i.push(null);let r=n.heights[n.index++];-1==o?o=r:Math.abs(r-o)>=Ar&&(o=-2);let a=new Zr(t,r);a.outdated=!1,i.push(a),s+=t+1}s<=r&&i.push(null,new Vr(r-s).updateHeight(e,s));let l=Cr.of(i);return e.heightChanged=a||o<0||Math.abs(l.height-this.height)>=Ar||Math.abs(o-this.lines(e.doc,t).lineHeight)>=Ar,l}return(i||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class Xr extends Cr{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return 1&this.flags}blockAt(e,t,i,n){let r=i+this.left.height;return e<r?this.left.blockAt(e,t,i,n):this.right.blockAt(e,t,r,n+this.left.length+this.break)}lineAt(e,t,i,n,r){let s=n+this.left.height,o=r+this.left.length+this.break,a=t==Tr.ByHeight?e<s:e<o,l=a?this.left.lineAt(e,t,i,n,r):this.right.lineAt(e,t,i,s,o);if(this.break||(a?l.to<o:l.from>o))return l;let h=t==Tr.ByPosNoHeight?Tr.ByPosNoHeight:Tr.ByPos;return a?l.join(this.right.lineAt(o,h,i,s,o)):this.left.lineAt(o,h,i,n,r).join(l)}forEachLine(e,t,i,n,r,s){let o=n+this.left.height,a=r+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,i,n,r,s),t>=a&&this.right.forEachLine(e,t,i,o,a,s);else{let l=this.lineAt(a,Tr.ByPos,i,n,r);e<l.from&&this.left.forEachLine(e,l.from-1,i,n,r,s),l.to>=e&&l.from<=t&&s(l),t>l.to&&this.right.forEachLine(l.to+1,t,i,o,a,s)}}replace(e,t,i){let n=this.left.length+this.break;if(t<n)return this.balanced(this.left.replace(e,t,i),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-n,t-n,i));let r=[];e>0&&this.decomposeLeft(e,r);let s=r.length;for(let e of i)r.push(e);if(e>0&&_r(r,s-1),t<this.length){let e=r.length;this.decomposeRight(t,r),_r(r,e)}return Cr.of(r)}decomposeLeft(e,t){let i=this.left.length;if(e<=i)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(i++,e>=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,n=i+this.break;if(e>=n)return this.right.decomposeRight(e-n,t);e<i&&this.left.decomposeRight(e,t),this.break&&e<n&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Cr.of(this.break?[e,null,t]:[e,t]):(this.left=e,this.right=t,this.height=e.height+t.height,this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,n){let{left:r,right:s}=this,o=t+r.length+this.break,a=null;return n&&n.from<=t+r.length&&n.more?a=r=r.updateHeight(e,t,i,n):r.updateHeight(e,t,i),n&&n.from<=o+s.length&&n.more?a=s=s.updateHeight(e,o,i,n):s.updateHeight(e,o,i),a?this.balanced(r,s):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function _r(e,t){let i,n;null==e[t]&&(i=e[t-1])instanceof Vr&&(n=e[t+1])instanceof Vr&&e.splice(t-1,3,new Vr(i.length+1+n.length))}const Rr=5;class Mr{constructor(e,t){this.pos=e,this.oracle=t,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,t){if(this.lineStart>-1){let e=Math.min(t,this.lineEnd),i=this.nodes[this.nodes.length-1];i instanceof Zr?i.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Zr(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e<t||i.heightRelevant){let n=i.widget?i.widget.estimatedHeight:0;n<0&&(n=this.oracle.lineHeight);let r=t-e;i.block?this.addBlock(new Wr(r,n,i.type)):(r||n>=Rr)&&this.addLineDeco(n,r)}else t>e&&this.span(e,t);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:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||null==this.nodes[this.nodes.length-1])&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new Zr(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let i=new Vr(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Zr)return e;let t=new Zr(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine(),e.type!=pi.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,e.type!=pi.WidgetBefore&&(this.covering=e)}addLineDeco(e,t){let i=this.ensureLine();i.length+=t,i.collapsed+=t,i.widgetHeight=Math.max(i.widgetHeight,e),this.writtenTo=this.pos=this.pos+t}finish(e){let t=0==this.nodes.length?null:this.nodes[this.nodes.length-1];!(this.lineStart>-1)||t instanceof Zr||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new Zr(0,-1));let i=e;for(let e of this.nodes)e instanceof Zr&&e.updateHeight(this.oracle,i),i+=e?e.length:1;return this.nodes}static build(e,t,i,n){let r=new Mr(i,e);return We.spans(t,i,n,r,0),r.finish(i)}}function qr(e,t,i){let n=new Ir;return We.compare(e,t,i,n,0),n.changes}class Ir{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,i,n){(e<t||i&&i.heightRelevant||n&&n.heightRelevant)&&xi(e,t,this.changes,5)}}function Er(e,t){let i=e.getBoundingClientRect(),n=e.ownerDocument,r=n.defaultView||window,s=Math.max(0,i.left),o=Math.min(r.innerWidth,i.right),a=Math.max(0,i.top),l=Math.min(r.innerHeight,i.bottom);for(let t=e.parentNode;t&&t!=n.body;)if(1==t.nodeType){let i=t,n=window.getComputedStyle(i);if((i.scrollHeight>i.clientHeight||i.scrollWidth>i.clientWidth)&&"visible"!=n.overflow){let n=i.getBoundingClientRect();s=Math.max(s,n.left),o=Math.min(o,n.right),a=Math.max(a,n.top),l=t==e.parentNode?n.bottom:Math.min(l,n.bottom)}t="absolute"==n.position||"fixed"==n.position?i.offsetParent:i.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:s-i.left,right:Math.max(s,o)-i.left,top:a-(i.top+t),bottom:Math.max(a,l)-(i.top+t)}}function Dr(e,t){let i=e.getBoundingClientRect();return{left:0,right:i.right-i.left,top:t,bottom:i.bottom-(i.top+t)}}class Ur{constructor(e,t,i){this.from=e,this.to=t,this.size=i}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++){let n=e[i],r=t[i];if(n.from!=r.from||n.to!=r.to||n.size!=r.size)return!1}return!0}draw(e){return Oi.replace({widget:new Yr(this.size,e)}).range(this.from,this.to)}}class Yr extends di{constructor(e,t){super(),this.size=e,this.vertical=t}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}}class zr{constructor(t){this.state=t,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.scaler=Fr,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Hi.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=t.facet(zi).some(e=>"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new $r(i),this.stateDeco=t.facet(Li).filter(e=>"function"!=typeof e),this.heightMap=Cr.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle.setDoc(t.doc),[new Gi(0,0,0,t.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Oi.set(this.lineGaps.map(e=>e.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let n=i?t.head:t.anchor;if(!e.some(({from:e,to:t})=>n>=e&&n<=t)){let{from:t,to:i}=this.lineBlockAt(n);e.push(new Lr(t,i))}}this.viewports=e.sort((e,t)=>e.from-t.from),this.scaler=this.heightMap.height<=7e6?Fr:new Hr(this.heightOracle.doc,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.state.doc,0,0,e=>{this.viewportLines.push(1==this.scaler.scale?e:Jr(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=this.state.facet(Li).filter(e=>"function"!=typeof e);let n=e.changedRanges,r=Gi.extendWithRanges(n,qr(i,this.stateDeco,e?e.changes:$.empty(this.state.doc.length))),s=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),r),this.heightMap.height!=s&&(e.flags|=2);let o=r.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<o.from||t.range.head>o.to)||!this.viewportIsAppropriate(o))&&(o=this.getViewport(0,t));let a=!e.changes.empty||2&e.flags||o.from!=this.viewport.from||o.to!=this.viewport.to;this.viewport=o,this.updateForViewport(),a&&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(),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Xi)&&(this.mustEnforceCursorAssoc=!0)}measure(t){let i=t.contentDOM,n=window.getComputedStyle(i),r=this.heightOracle,s=n.whiteSpace;this.defaultTextDirection="rtl"==n.direction?Hi.RTL:Hi.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),a=o||this.mustMeasureContent||this.contentDOMHeight!=i.clientHeight;this.contentDOMHeight=i.clientHeight,this.mustMeasureContent=!1;let l=0,h=0,c=parseInt(n.paddingTop)||0,u=parseInt(n.paddingBottom)||0;this.paddingTop==c&&this.paddingBottom==u||(this.paddingTop=c,this.paddingBottom=u,l|=10),this.editorWidth!=t.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=t.scrollDOM.clientWidth,l|=8);let f=(this.printing?Dr:Er)(i,this.paddingTop),d=f.top-this.pixelViewport.top,p=f.bottom-this.pixelViewport.bottom;this.pixelViewport=f;let O=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(O!=this.inView&&(this.inView=O,O&&(a=!0)),!this.inView&&!this.scrollTarget)return 0;let m=i.clientWidth;if(this.contentDOMWidth==m&&this.editorHeight==t.scrollDOM.clientHeight||(this.contentDOMWidth=m,this.editorHeight=t.scrollDOM.clientHeight,l|=8),a){let i=t.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(i)&&(o=!0),o||r.lineWrapping&&Math.abs(m-this.contentDOMWidth)>r.charWidth){let{lineHeight:e,charWidth:n}=t.docView.measureTextSize();o=e>0&&r.refresh(s,e,n,m/n,i),o&&(t.docView.minWidth=0,l|=8)}d>0&&p>0?h=Math.max(d,p):d<0&&p<0&&(h=Math.min(d,p)),r.heightChanged=!1;for(let n of this.viewports){let s=n.from==this.viewport.from?i:t.docView.measureVisibleLineHeights(n);this.heightMap=(o?Cr.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle,[new Gi(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new kr(n.from,s))}r.heightChanged&&(l|=2)}let g=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return g&&(this.viewport=this.getViewport(h,this.scrollTarget)),this.updateForViewport(),(2&l||g)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,t)),l|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),l}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),n=this.heightMap,r=this.state.doc,{visibleTop:s,visibleBottom:o}=this,a=new Lr(n.lineAt(s-1e3*i,Tr.ByHeight,r,0,0).from,n.lineAt(o+1e3*(1-i),Tr.ByHeight,r,0,0).to);if(t){let{head:e}=t.range;if(e<a.from||e>a.to){let i,s=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),o=n.lineAt(e,Tr.ByPos,r,0,0);i="center"==t.y?(o.top+o.bottom)/2-s/2:"start"==t.y||"nearest"==t.y&&e<a.from?o.top:o.bottom-s,a=new Lr(n.lineAt(i-500,Tr.ByHeight,r,0,0).from,n.lineAt(i+s+500,Tr.ByHeight,r,0,0).to)}}return a}mapViewport(e,t){let i=t.mapPos(e.from,-1),n=t.mapPos(e.to,1);return new Lr(this.heightMap.lineAt(i,Tr.ByPos,this.state.doc,0,0).from,this.heightMap.lineAt(n,Tr.ByPos,this.state.doc,0,0).to)}viewportIsAppropriate({from:e,to:t},i=0){if(!this.inView)return!0;let{top:n}=this.heightMap.lineAt(e,Tr.ByPos,this.state.doc,0,0),{bottom:r}=this.heightMap.lineAt(t,Tr.ByPos,this.state.doc,0,0),{visibleTop:s,visibleBottom:o}=this;return(0==e||n<=s-Math.max(10,Math.min(-i,250)))&&(t==this.state.doc.length||r>=o+Math.max(10,Math.min(i,250)))&&n>s-2e3&&r<o+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let i=[];for(let n of e)t.touchesRange(n.from,n.to)||i.push(new Ur(t.mapPos(n.from),t.mapPos(n.to),n.size));return i}ensureLineGaps(e,t){let i=this.heightOracle.lineWrapping,n=i?1e4:2e3,r=n>>1,s=n<<1;if(this.defaultTextDirection!=Hi.LTR&&!i)return[];let o=[],a=(n,s,l,h)=>{if(s-n<r)return;let c=this.state.selection.main,u=[c.from];c.empty||u.push(c.to);for(let e of u)if(e>n&&e<s)return a(n,e-10,l,h),void a(e+10,s,l,h);let f=Gr(e,e=>e.from>=l.from&&e.to<=l.to&&Math.abs(e.from-n)<r&&Math.abs(e.to-s)<r&&!u.some(t=>e.from<t&&e.to>t));if(!f){if(s<l.to&&t&&i&&t.visibleRanges.some(e=>e.from<=s&&e.to>=s)){let e=t.moveToLineBoundary(V.cursor(s),!1,!0).head;e>n&&(s=e)}f=new Ur(n,s,this.gapSize(l,n,s,h))}o.push(f)};for(let e of this.viewportLines){if(e.length<s)continue;let t=Br(e.from,e.to,this.stateDeco);if(t.total<s)continue;let r,o,l=this.scrollTarget?this.scrollTarget.range.head:null;if(i){let i,s,a=n/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=l){let n=jr(t,l),r=((this.visibleBottom-this.visibleTop)/2+a)/e.height;i=n-r,s=n+r}else i=(this.visibleTop-e.top-a)/e.height,s=(this.visibleBottom-e.top+a)/e.height;r=Nr(t,i),o=Nr(t,s)}else{let e,i,s=t.total*this.heightOracle.charWidth,a=n*this.heightOracle.charWidth;if(null!=l){let n=jr(t,l),r=((this.pixelViewport.right-this.pixelViewport.left)/2+a)/s;e=n-r,i=n+r}else e=(this.pixelViewport.left-a)/s,i=(this.pixelViewport.right+a)/s;r=Nr(t,e),o=Nr(t,i)}r>e.from&&a(e.from,r,e,t),o<e.to&&a(o,e.to,e,t)}return o}gapSize(e,t,i,n){let r=jr(n,i)-jr(n,t);return this.heightOracle.lineWrapping?e.height*r:n.total*this.heightOracle.charWidth*r}updateLineGaps(e){Ur.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=Oi.set(e.map(e=>e.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];We.spans(e,this.viewport.from,this.viewport.to,{span(e,i){t.push({from:e,to:i})},point(){}},20);let i=t.length!=this.visibleRanges.length||this.visibleRanges.some((e,i)=>e.from!=t[i].from||e.to!=t[i].to);return this.visibleRanges=t,i?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||Jr(this.heightMap.lineAt(e,Tr.ByPos,this.state.doc,0,0),this.scaler)}lineBlockAtHeight(e){return Jr(this.heightMap.lineAt(this.scaler.fromDOM(e),Tr.ByHeight,this.state.doc,0,0),this.scaler)}elementAtHeight(e){return Jr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.state.doc,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Lr{constructor(e,t){this.from=e,this.to=t}}function Br(e,t,i){let n=[],r=e,s=0;return We.spans(i,e,t,{span(){},point(e,t){e>r&&(n.push({from:r,to:e}),s+=e-r),r=t}},20),r<t&&(n.push({from:r,to:t}),s+=t-r),{total:s,ranges:n}}function Nr({total:e,ranges:t},i){if(i<=0)return t[0].from;if(i>=1)return t[t.length-1].to;let n=Math.floor(e*i);for(let e=0;;e++){let{from:i,to:r}=t[e],s=r-i;if(n<=s)return i+n;n-=s}}function jr(e,t){let i=0;for(let{from:n,to:r}of e.ranges){if(t<=r){i+=t-n;break}i+=r-n}return i/e.total}function Gr(e,t){for(let i of e)if(t(i))return i}const Fr={toDOM:e=>e,fromDOM:e=>e,scale:1};class Hr{constructor(e,t,i){let n=0,r=0,s=0;this.viewports=i.map(({from:i,to:r})=>{let s=t.lineAt(i,Tr.ByPos,e,0,0).top,o=t.lineAt(r,Tr.ByPos,e,0,0).bottom;return n+=o-s,{from:i,to:r,top:s,bottom:o,domTop:0,domBottom:0}}),this.scale=(7e6-n)/(t.height-n);for(let e of this.viewports)e.domTop=s+(e.top-r)*this.scale,s=e.domBottom=e.domTop+(e.bottom-e.top),r=e.bottom}toDOM(e){for(let t=0,i=0,n=0;;t++){let r=t<this.viewports.length?this.viewports[t]:null;if(!r||e<r.top)return n+(e-i)*this.scale;if(e<=r.bottom)return r.domTop+(e-r.top);i=r.bottom,n=r.domBottom}}fromDOM(e){for(let t=0,i=0,n=0;;t++){let r=t<this.viewports.length?this.viewports[t]:null;if(!r||e<r.domTop)return i+(e-n)/this.scale;if(e<=r.domBottom)return r.top+(e-r.domTop);i=r.bottom,n=r.domBottom}}}function Jr(e,t){if(1==t.scale)return e;let i=t.toDOM(e.top),n=t.toDOM(e.bottom);return new Pr(e.from,e.length,i,n-i,Array.isArray(e.type)?e.type.map(e=>Jr(e,t)):e.type)}const Kr=R.define({combine:e=>e.join(" ")}),es=R.define({combine:e=>e.indexOf(!0)>-1}),ts=Fe.newName(),is=Fe.newName(),ns=Fe.newName(),rs={"&light":"."+is,"&dark":"."+ns};function ss(e,t,i){return new Fe(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!i||!i[t])throw new RangeError("Unsupported selector: "+t);return i[t]}):e+" "+t})}const os=ss("."+ts,{"&.cm-editor":{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},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",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":{contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused .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:"#444"},"&.cm-focused .cm-cursor":{display:"block"},"&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",left:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&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},"&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-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"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".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"}},rs);class as{constructor(e,t,i,n){this.typeOver=n,this.bounds=null,this.text="";let{impreciseHead:r,impreciseAnchor:s}=e.docView;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=e.docView.domBoundsAround(t,i,0))){let t=r||s?[]:cs(e),i=new On(t,e.state);i.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=i.text,this.newSel=us(t,this.bounds.from)}else{let t=e.observer.selectionRange,i=r&&r.node==t.focusNode&&r.offset==t.focusOffset||!ht(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),n=s&&s.node==t.anchorNode&&s.offset==t.anchorOffset||!ht(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);this.newSel=V.single(n,i)}}}function ls(t,i){let n,{newSel:r}=i,s=t.state.selection.main;if(i.bounds){let{from:r,to:o}=i.bounds,a=s.from,l=null;(8===t.inputState.lastKeyCode&&t.inputState.lastKeyTime>Date.now()-100||Gt.android&&i.text.length<o-r)&&(a=s.to,l="end");let h=hs(t.state.doc.sliceString(r,o,pn),i.text,a-r,l);h&&(Gt.chrome&&13==t.inputState.lastKeyCode&&h.toB==h.from+2&&i.text.slice(h.from,h.toB)==pn+pn&&h.toB--,n={from:r+h.from,to:r+h.toA,insert:e.of(i.text.slice(h.from,h.toB).split(pn))})}else!r||t.hasFocus&&t.state.facet(qi)&&!r.main.eq(s)||(r=null);if(!n&&!r)return!1;if(!n&&i.typeOver&&!s.empty&&r&&r.main.empty?n={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,s.to)}:n&&n.from>=s.from&&n.to<=s.to&&(n.from!=s.from||n.to!=s.to)&&s.to-s.from-(n.to-n.from)<=4?n={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,n.from).append(n.insert).append(t.state.doc.slice(n.to,s.to))}:(Gt.mac||Gt.android)&&n&&n.from==n.to&&n.from==s.head-1&&/^\. ?$/.test(n.insert.toString())?(r&&2==n.insert.length&&(r=V.single(r.main.anchor-1,r.main.head-1)),n={from:s.from,to:s.to,insert:e.of([" "])}):Gt.chrome&&n&&n.from==n.to&&n.from==s.head&&"\n "==n.insert.toString()&&t.lineWrapping&&(r&&(r=V.single(r.main.anchor-1,r.main.head-1)),n={from:s.from,to:s.to,insert:e.of([" "])}),n){let e=t.state;if(Gt.ios&&t.inputState.flushIOSKey(t))return!0;if(Gt.android&&(n.from==s.from&&n.to==s.to&&1==n.insert.length&&2==n.insert.lines&&Pt(t.contentDOM,"Enter",13)||n.from==s.from-1&&n.to==s.to&&0==n.insert.length&&Pt(t.contentDOM,"Backspace",8)||n.from==s.from&&n.to==s.to+1&&0==n.insert.length&&Pt(t.contentDOM,"Delete",46)))return!0;let i,o=n.insert.toString();if(t.state.facet(Zi).some(e=>e(t,n.from,n.to,o)))return!0;if(t.inputState.composing>=0&&t.inputState.composing++,n.from>=s.from&&n.to<=s.to&&n.to-n.from>=(s.to-s.from)/3&&(!r||r.main.empty&&r.main.from==n.from+n.insert.length)&&t.inputState.composing<0){let r=s.from<n.from?e.sliceDoc(s.from,n.from):"",o=s.to>n.to?e.sliceDoc(n.to,s.to):"";i=e.replaceSelection(t.state.toText(r+n.insert.sliceString(0,void 0,t.state.lineBreak)+o))}else{let o=e.changes(n),a=r&&!e.selection.main.eq(r.main)&&r.main.to<=o.newLength?r.main:void 0;if(e.selection.ranges.length>1&&t.inputState.composing>=0&&n.to<=s.to&&n.to>=s.to-10){let r=t.state.sliceDoc(n.from,n.to),l=xn(t)||t.state.doc.lineAt(s.head),h=s.to-n.to,c=s.to-s.from;i=e.changeByRange(i=>{if(i.from==s.from&&i.to==s.to)return{changes:o,range:a||i.map(o)};let u=i.to-h,f=u-r.length;if(i.to-i.from!=c||t.state.sliceDoc(f,u)!=r||l&&i.to>=l.from&&i.from<=l.to)return{range:i};let d=e.changes({from:f,to:u,insert:n.insert}),p=i.to-s.to;return{changes:d,range:a?V.range(Math.max(0,a.anchor+p),Math.max(0,a.head+p)):i.map(d)}})}else i={changes:o,selection:a&&e.selection.replaceRange(a)}}let a="input.type";return t.composing&&(a+=".compose",t.inputState.compositionFirstChange&&(a+=".start",t.inputState.compositionFirstChange=!1)),t.dispatch(i,{scrollIntoView:!0,userEvent:a}),!0}if(r&&!r.main.eq(s)){let e=!1,i="select";return t.inputState.lastSelectionTime>Date.now()-50&&("select"==t.inputState.lastSelectionOrigin&&(e=!0),i=t.inputState.lastSelectionOrigin),t.dispatch({selection:r,scrollIntoView:e,userEvent:i}),!0}return!1}function hs(e,t,i,n){let r=Math.min(e.length,t.length),s=0;for(;s<r&&e.charCodeAt(s)==t.charCodeAt(s);)s++;if(s==r&&e.length==t.length)return null;let o=e.length,a=t.length;for(;o>0&&a>0&&e.charCodeAt(o-1)==t.charCodeAt(a-1);)o--,a--;if("end"==n){i-=o+Math.max(0,s-Math.min(o,a))-s}if(o<s&&e.length<t.length){s-=i<=s&&i>=o?s-i:0,a=s+(a-o),o=s}else if(a<s){s-=i<=s&&i>=a?s-i:0,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function cs(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:i,anchorOffset:n,focusNode:r,focusOffset:s}=e.observer.selectionRange;return i&&(t.push(new gn(i,n)),r==i&&s==n||t.push(new gn(r,s))),t}function us(e,t){if(0==e.length)return null;let i=e[0].pos,n=2==e.length?e[1].pos:i;return i>-1&&n>-1?V.single(i+t,n+t):null}const fs={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},ds=Gt.ie&&Gt.ie_version<=11;class ps{constructor(e){this.view=e,this.active=!1,this.selectionRange=new Qt,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.resizeContent=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let e of t)this.queue.push(e);(Gt.ie&&Gt.ie_version<=11||Gt.ios&&e.composing)&&t.some(e=>"childList"==e.type&&e.removedNodes.length||"characterData"==e.type&&e.oldValue.length>e.target.nodeValue.length)?this.flushSoon():this.flush()}),ds&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.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),"function"==typeof ResizeObserver&&(this.resizeScroll=new ResizeObserver(()=>{var e;(null===(e=this.view.docView)||void 0===e?void 0:e.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM),this.resizeContent=new ResizeObserver(()=>this.view.requestMeasure()),this.resizeContent.observe(e.contentDOM)),this.addWindowListeners(this.win=e.win),this.start(),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver(e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),e.length>0&&e[e.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(e=>{e.length>0&&e[e.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runScrollHandlers(this.view,e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(){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((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,n=this.selectionRange;if(i.state.facet(qi)?i.root.activeElement!=this.dom:!ut(i.dom,n))return;let r=n.anchorNode&&i.docView.nearest(n.anchorNode);r&&r.ignoreEvent(e)?t||(this.selectionChanged=!1):(Gt.ie&&Gt.ie_version<=11||Gt.android&&Gt.chrome)&&!i.state.selection.main.empty&&n.focusNode&&dt(n.focusNode,n.focusOffset,n.anchorNode,n.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Gt.safari&&11==e.root.nodeType&&ct(this.dom.ownerDocument)==this.dom&&ms(this.view)||lt(e.root);if(!t||this.selectionRange.eq(t))return!1;let i=ut(this.dom,t);return i&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Ct(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),i&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let i=this.dom;i;)if(1==i.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==i?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(i),i=i.assignedSlot||i.parentNode;else{if(11!=i.nodeType)break;i=i.host}if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);for(let e of this.scrollTargets=t)e.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,fs),ds&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),ds&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var i;if(!this.delayedAndroidKey){let e=()=>{let e=this.delayedAndroidKey;e&&(this.clearDelayedAndroidKey(),!this.flush()&&e.force&&Pt(this.dom,e.key,e.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(e)}this.delayedAndroidKey&&"Enter"!=e||(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(null===(i=this.delayedAndroidKey)||void 0===i?void 0:i.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()}processRecords(){let e=this.queue;for(let t of this.observer.takeRecords())e.push(t);e.length&&(this.queue=[]);let t=-1,i=-1,n=!1;for(let r of e){let e=this.readMutation(r);e&&(e.typeOver&&(n=!0),-1==t?({from:t,to:i}=e):(t=Math.min(e.from,t),i=Math.max(e.to,i)))}return{from:t,to:i,typeOver:n}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),n=this.selectionChanged&&ut(this.dom,this.selectionRange);return e<0&&!n?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new as(this.view,e,t,i))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let i=this.view.state,n=ls(this.view,t);return this.view.state==i&&this.view.update([]),n}readMutation(e){let t=this.view.docView.nearest(e.target);if(!t||t.ignoreMutation(e))return null;if(t.markDirty("attributes"==e.type),"attributes"==e.type&&(t.dirty|=4),"childList"==e.type){let i=Os(t,e.previousSibling||e.target.previousSibling,-1),n=Os(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:n?t.posBefore(n):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.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),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),e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}destroy(){var e,t,i,n;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(i=this.resizeScroll)||void 0===i||i.disconnect(),null===(n=this.resizeContent)||void 0===n||n.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey)}}function Os(e,t,i){for(;t;){let n=Vt.get(t);if(n&&n.parent==e)return n;let r=t.parentNode;t=r!=e.dom?r:i>0?t.nextSibling:t.previousSibling}return null}function ms(e){let t=null;function i(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",i,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",i,!0),!t)return null;let n=t.startContainer,r=t.startOffset,s=t.endContainer,o=t.endOffset,a=e.docView.domAtPos(e.state.selection.main.anchor);return dt(a.node,a.offset,s,o)&&([n,r,s,o]=[s,o,n,r]),{anchorNode:n,anchorOffset:r,focusNode:s,focusOffset:o}}class gs{constructor(e={}){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.style.cssText="position: fixed; top: -10000px",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),this._dispatch=e.dispatch||(e=>this.update([e])),this.dispatch=this.dispatch.bind(this),this._root=e.root||Tt(e.parent)||document,this.viewState=new zr(e.state||$e.create(e)),this.plugins=this.state.facet(Ei).map(e=>new Ui(e));for(let e of this.plugins)e.update(this);this.observer=new ps(this),this.inputState=new Bn(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new Sn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),e.parent&&e.parent.appendChild(this.dom)}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.composing>0}get compositionStarted(){return this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}dispatch(...e){this._dispatch(1==e.length&&e[0]instanceof ue?e[0]:this.state.update(...e))}update(e){if(0!=this.updateState)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t,i=!1,n=!1,r=this.state;for(let t of e){if(t.startState!=r)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");r=t.state}if(this.destroyed)return void(this.viewState.state=r);let s=this.observer.delayedAndroidKey,o=null;if(s?(this.observer.clearDelayedAndroidKey(),o=this.observer.readChange(),(o&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(o=null)):this.observer.clear(),r.facet($e.phrases)!=this.state.facet($e.phrases))return this.setState(r);t=Fi.create(this,r,e);let a=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(a&&(a=a.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;a=new _i(e.empty?e:V.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(Ri)&&(a=e.value)}this.viewState.update(t,a),this.bidiCache=ys.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),i=this.docView.update(t),this.state.facet(ji)!=this.styleModules&&this.mountStyles(),n=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(Kr)!=t.state.facet(Kr)&&(this.viewState.mustMeasureContent=!0),(i||n||a||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(Wi))e(t);o&&!ls(this,o)&&s.force&&Pt(this.contentDOM,s.key,s.keyCode)}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed)return void(this.viewState.state=e);this.updateState=2;let t=this.hasFocus;try{for(let e of this.plugins)e.destroy(this);this.viewState=new zr(e),this.plugins=e.facet(Ei).map(e=>new Ui(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView=new Sn(this),this.inputState.ensureHandlers(this,this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Ei),i=e.state.facet(Ei);if(t!=i){let n=[];for(let r of i){let i=t.indexOf(r);if(i<0)n.push(new Ui(r));else{let t=this.plugins[i];t.mustUpdate=e,n.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=n,this.pluginMap.clear(),this.inputState.ensureHandlers(this,this.plugins)}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e<this.plugins.length;e++)this.plugins[e].update(this)}measure(e=!0){if(this.destroyed)return;this.measureScheduled>-1&&cancelAnimationFrame(this.measureScheduled),this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,{scrollHeight:i,scrollTop:n,clientHeight:r}=this.scrollDOM,s=n>i-r-4?i:n;try{for(let e=0;;e++){this.updateState=1;let i=this.viewport,n=this.viewState.lineBlockAtHeight(s),r=this.viewState.measure(this);if(!r&&!this.measureRequests.length&&null==this.viewState.scrollTarget)break;if(e>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let o=[];4&r||([this.measureRequests,o]=[o,this.measureRequests]);let a=o.map(e=>{try{return e.read(this)}catch(e){return Mi(this.state,e),bs}}),l=Fi.create(this,this.state,[]),h=!1,c=!1;l.flags|=r,t?t.flags|=r:t=l,this.updateState=2,l.empty||(this.updatePlugins(l),this.inputState.update(l),this.updateAttrs(),h=this.docView.update(l));for(let e=0;e<o.length;e++)if(a[e]!=bs)try{let t=o[e];t.write&&t.write(a[e],this)}catch(e){Mi(this.state,e)}if(this.viewState.editorHeight)if(this.viewState.scrollTarget)this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,c=!0;else{let e=this.viewState.lineBlockAt(n.from).top-n.top;(e>1||e<-1)&&(this.scrollDOM.scrollTop+=e,c=!0)}if(h&&this.docView.updateSelection(!0),this.viewport.from==i.from&&this.viewport.to==i.to&&!c&&0==this.measureRequests.length)break}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let e of this.state.facet(Wi))e(t)}get themeClasses(){return ts+" "+(this.state.facet(es)?ns:is)+" "+this.state.facet(Kr)}updateAttrs(){let e=xs(this,Yi,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(qi)?"true":"false",class:"cm-content",style:`${Gt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),xs(this,zi,t);let i=this.observer.ignore(()=>{let i=fi(this.contentDOM,this.contentAttrs,t),n=fi(this.dom,this.editorAttrs,e);return i||n});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let e of i.effects)if(e.is(gs.announce)){t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value}}mountStyles(){this.styleModules=this.state.facet(ji),Fe.mount(this.root,this.styleModules.concat(os).reverse())}readMeasured(){if(2==this.updateState)throw new Error("Reading the editor layout isn't allowed during an update");0==this.updateState&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(null!=e.key)for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key)return void(this.measureRequests[t]=e);this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(void 0===t||t&&t.spec!=e)&&this.pluginMap.set(e,t=this.plugins.find(t=>t.spec==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}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,t,i){return Ln(this,e,Un(this,e,t,i))}moveByGroup(e,t){return Ln(this,e,Un(this,e,t,t=>Yn(this,e.head,t)))}moveToLineBoundary(e,t,i=!0){return Dn(this,e,t,i)}moveVertically(e,t,i){return Ln(this,e,zn(this,e,t,i))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Mn(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.docView.coordsAt(e,t);if(!i||i.left==i.right)return i;let n=this.state.doc.lineAt(e),r=this.bidiSpans(n);return St(i,r[ln.find(r,e-n.from,-1,t)].dir==Hi.LTR==t>0)}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(Vi)||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>Ss)return un(e.length);let t=this.textDirectionAt(e.from);for(let i of this.bidiCache)if(i.from==e.from&&i.dir==t)return i.order;let i=cn(e.text,t);return this.bidiCache.push(new ys(e.from,e.to,t,i)),i}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||Gt.safari&&(null===(e=this.inputState)||void 0===e?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{$t(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((9==e.nodeType?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){return Ri.of(new _i("number"==typeof e?V.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return Di.define(()=>({}),{eventHandlers:e})}static theme(e,t){let i=Fe.newName(),n=[Kr.of(i),ji.of(ss("."+i,e))];return t&&t.dark&&n.push(es.of(!0)),n}static baseTheme(e){return B.lowest(ji.of(ss("."+ts,e,rs)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),n=i&&Vt.get(i)||Vt.get(e);return(null===(t=null==n?void 0:n.rootView)||void 0===t?void 0:t.view)||null}}gs.styleModule=ji,gs.inputHandler=Zi,gs.perLineTextDirection=Vi,gs.exceptionSink=Ci,gs.updateListener=Wi,gs.editable=qi,gs.mouseSelectionStyle=Ai,gs.dragMovesSelection=Ti,gs.clickAddsSelectionRange=Pi,gs.decorations=Li,gs.atomicRanges=Bi,gs.scrollMargins=Ni,gs.darkTheme=es,gs.contentAttributes=zi,gs.editorAttributes=Yi,gs.lineWrapping=gs.contentAttributes.of({class:"cm-lineWrapping"}),gs.announce=ce.define();const Ss=4096,bs={};class ys{constructor(e,t,i,n){this.from=e,this.to=t,this.dir=i,this.order=n}static update(e,t){if(t.empty)return e;let i=[],n=e.length?e[e.length-1].dir:Hi.LTR;for(let r=Math.max(0,e.length-10);r<e.length;r++){let s=e[r];s.dir!=n||t.touchesRange(s.from,s.to)||i.push(new ys(t.mapPos(s.from,1),t.mapPos(s.to,-1),s.dir,s.order))}return i}}function xs(e,t,i){for(let n=e.state.facet(t),r=n.length-1;r>=0;r--){let t=n[r],s="function"==typeof t?t(e):t;s&&ci(s,i)}return i}const Qs=Gt.mac?"mac":Gt.windows?"win":Gt.linux?"linux":"key";function vs(e,t){const i=e.split(/-(?!$)/);let n,r,s,o,a=i[i.length-1];"Space"==a&&(a=" ");for(let e=0;e<i.length-1;++e){const a=i[e];if(/^(cmd|meta|m)$/i.test(a))o=!0;else if(/^a(lt)?$/i.test(a))n=!0;else if(/^(c|ctrl|control)$/i.test(a))r=!0;else if(/^s(hift)?$/i.test(a))s=!0;else{if(!/^mod$/i.test(a))throw new Error("Unrecognized modifier name: "+a);"mac"==t?o=!0:r=!0}}return n&&(a="Alt-"+a),r&&(a="Ctrl-"+a),o&&(a="Meta-"+a),s&&(a="Shift-"+a),a}function ws(e,t,i){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==i&&t.shiftKey&&(e="Shift-"+e),e}const $s=B.default(gs.domEventHandlers({keydown:(e,t)=>Vs(Ts(t.state),e,t,"editor")})),ks=R.define({enables:$s}),Ps=new WeakMap;function Ts(e){let t=e.facet(ks),i=Ps.get(t);return i||Ps.set(t,i=Zs(t.reduce((e,t)=>e.concat(t),[]))),i}function As(e,t,i){return Vs(Ts(e.state),t,e,i)}let Cs=null;const Ws=4e3;function Zs(e,t=Qs){let i=Object.create(null),n=Object.create(null),r=(e,t)=>{let i=n[e];if(null==i)n[e]=t;else if(i!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},s=(e,n,s,o)=>{var a,l;let h=i[e]||(i[e]=Object.create(null)),c=n.split(/ (?!$)/).map(e=>vs(e,t));for(let t=1;t<c.length;t++){let i=c.slice(0,t).join(" ");r(i,!0),h[i]||(h[i]={preventDefault:!0,run:[t=>{let n=Cs={view:t,prefix:i,scope:e};return setTimeout(()=>{Cs==n&&(Cs=null)},Ws),!0}]})}let u=c.join(" ");r(u,!1);let f=h[u]||(h[u]={preventDefault:!1,run:(null===(l=null===(a=h._any)||void 0===a?void 0:a.run)||void 0===l?void 0:l.slice())||[]});s&&f.run.push(s),o&&(f.preventDefault=!0)};for(let n of e){let e=n.scope?n.scope.split(" "):["editor"];if(n.any)for(let t of e){let e=i[t]||(i[t]=Object.create(null));e._any||(e._any={preventDefault:!1,run:[]});for(let t in e)e[t].run.push(n.any)}let r=n[t]||n.key;if(r)for(let t of e)s(t,r,n.run,n.preventDefault),n.shift&&s(t,"Shift-"+r,n.shift,n.preventDefault)}return i}function Vs(e,t,i,n){let r=at(t),s=x(b(r,0))==r.length&&" "!=r,o="",a=!1;Cs&&Cs.view==i&&Cs.scope==n&&(o=Cs.prefix+" ",(a=Gn.indexOf(t.keyCode)<0)&&(Cs=null));let l,h,c=new Set,u=e=>{if(e){for(let n of e.run)if(!c.has(n)&&(c.add(n),n(i,t)))return!0;e.preventDefault&&(a=!0)}return!1},f=e[n];if(f){if(u(f[o+ws(r,t,!s)]))return!0;if(s&&(t.altKey||t.metaKey||t.ctrlKey)&&(l=Ke[t.keyCode])&&l!=r){if(u(f[o+ws(l,t,!0)]))return!0;if(t.shiftKey&&(h=et[t.keyCode])!=r&&h!=l&&u(f[o+ws(h,t,!1)]))return!0}else if(s&&t.shiftKey&&u(f[o+ws(r,t,!0)]))return!0;if(u(f._any))return!0}return a}class Xs{constructor(e,t,i,n,r){this.className=e,this.left=t,this.top=i,this.width=n,this.height=r}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className==this.className&&(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",null!=this.width&&(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,t,i){if(i.empty){let n=e.coordsAtPos(i.head,i.assoc||1);if(!n)return[];let r=_s(e);return[new Xs(t,n.left-r.left,n.top-r.top,null,n.bottom-n.top)]}return qs(e,t,i)}}function _s(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Hi.LTR?t.left:t.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,top:t.top-e.scrollDOM.scrollTop}}function Rs(e,t,i){let n=V.cursor(t);return{from:Math.max(i.from,e.moveToLineBoundary(n,!1,!0).from),to:Math.min(i.to,e.moveToLineBoundary(n,!0,!0).from),type:pi.Text}}function Ms(e,t){let i=e.lineBlockAt(t);if(Array.isArray(i.type))for(let e of i.type)if(e.to>t||e.to==t&&(e.to==i.to||e.type==pi.Text))return e;return i}function qs(e,t,i){if(i.to<=e.viewport.from||i.from>=e.viewport.to)return[];let n=Math.max(i.from,e.viewport.from),r=Math.min(i.to,e.viewport.to),s=e.textDirection==Hi.LTR,o=e.contentDOM,a=o.getBoundingClientRect(),l=_s(e),h=window.getComputedStyle(o.firstChild),c=a.left+parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)),u=a.right-parseInt(h.paddingRight),f=Ms(e,n),d=Ms(e,r),p=f.type==pi.Text?f:null,O=d.type==pi.Text?d:null;if(e.lineWrapping&&(p&&(p=Rs(e,n,p)),O&&(O=Rs(e,r,O))),p&&O&&p.from==O.from)return g(S(i.from,i.to,p));{let t=p?S(i.from,null,p):b(f,!1),n=O?S(null,i.to,O):b(d,!0),r=[];return(p||f).to<(O||d).from-1?r.push(m(c,t.bottom,u,n.top)):t.bottom<n.top&&e.elementAtHeight((t.bottom+n.top)/2).type==pi.Text&&(t.bottom=n.top=(t.bottom+n.top)/2),g(t).concat(r).concat(g(n))}function m(e,i,n,r){return new Xs(t,e-l.left,i-l.top-.01,n-e,r-i+.01)}function g({top:e,bottom:t,horizontal:i}){let n=[];for(let r=0;r<i.length;r+=2)n.push(m(i[r],e,i[r+1],t));return n}function S(t,i,n){let r=1e9,o=-1e9,a=[];function l(t,i,l,h,f){let d=e.coordsAtPos(t,t==n.to?-2:2),p=e.coordsAtPos(l,l==n.from?2:-2);r=Math.min(d.top,p.top,r),o=Math.max(d.bottom,p.bottom,o),f==Hi.LTR?a.push(s&&i?c:d.left,s&&h?u:p.right):a.push(!s&&h?c:p.left,!s&&i?u:d.right)}let h=null!=t?t:n.from,f=null!=i?i:n.to;for(let n of e.visibleRanges)if(n.to>h&&n.from<f)for(let r=Math.max(n.from,h),s=Math.min(n.to,f);;){let n=e.state.doc.lineAt(r);for(let o of e.bidiSpans(n)){let e=o.from+n.from,a=o.to+n.from;if(e>=s)break;a>r&&l(Math.max(e,r),null==t&&e<=h,Math.min(a,s),null==i&&a>=f,o.dir)}if(r=n.to+1,r>=s)break}return 0==a.length&&l(h,null==t,f,null==i,e.textDirection),{top:r,bottom:o,horizontal:a}}function b(e,t){let i=a.top+(t?e.top:e.bottom);return{top:i,bottom:i,horizontal:[]}}}function Is(e,t){return e.constructor==t.constructor&&e.eq(t)}class Es{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],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"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Ds)!=e.state.facet(Ds)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(Ds);for(;t<i.length&&i[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}draw(e){if(e.length!=this.drawn.length||e.some((e,t)=>!Is(e,this.drawn[t]))){let t=this.dom.firstChild,i=0;for(let n of e)n.update&&t&&n.constructor&&this.drawn[i].constructor&&n.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(n.draw(),t);for(;t;){let e=t.nextSibling;t.remove(),t=e}this.drawn=e}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}}const Ds=R.define();function Us(e){return[Di.define(t=>new Es(t,e)),Ds.of(e)]}const Ys=!Gt.ios,zs=R.define({combine:e=>ke(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function Ls(e={}){return[zs.of(e),Ns,Gs,Hs,Xi.of(!0)]}function Bs(e){return e.startState.facet(zs)!=e.startState.facet(zs)}const Ns=Us({above:!0,markers(e){let{state:t}=e,i=t.facet(zs),n=[];for(let r of t.selection.ranges){let s=r==t.selection.main;if(r.empty?!s||Ys:i.drawRangeCursor){let t=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",i=r.empty?r:V.cursor(r.head,r.head>r.anchor?-1:1);for(let r of Xs.forRange(e,t,i))n.push(r)}}return n},update(e,t){e.transactions.some(e=>e.scrollIntoView)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let i=Bs(e);return i&&js(e.state,t),e.docChanged||e.selectionSet||i},mount(e,t){js(t.state,e)},class:"cm-cursorLayer"});function js(e,t){t.style.animationDuration=e.facet(zs).cursorBlinkRate+"ms"}const Gs=Us({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:Xs.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||Bs(e),class:"cm-selectionLayer"}),Fs={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Ys&&(Fs[".cm-line"].caretColor="transparent !important");const Hs=B.highest(gs.theme(Fs)),Js=ce.define({map:(e,t)=>null==e?null:t.mapPos(e)}),Ks=Y.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(Js)?t.value:e,e))}),eo=Di.fromClass(class{constructor(e){this.view=e,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(e){var t;let i=e.state.field(Ks);null==i?null!=this.cursor&&(null===(t=this.cursor)||void 0===t||t.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(e.startState.field(Ks)!=i||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let e=this.view.state.field(Ks),t=null!=e&&this.view.coordsAtPos(e);if(!t)return null;let i=this.view.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+this.view.scrollDOM.scrollLeft,top:t.top-i.top+this.view.scrollDOM.scrollTop,height:t.bottom-t.top}}drawCursor(e){this.cursor&&(e?(this.cursor.style.left=e.left+"px",this.cursor.style.top=e.top+"px",this.cursor.style.height=e.height+"px"):this.cursor.style.left="-100000px")}destroy(){this.cursor&&this.cursor.remove()}setDropPos(e){this.view.state.field(Ks)!=e&&this.view.dispatch({effects:Js.of(e)})}},{eventHandlers:{dragover(e){this.setDropPos(this.view.posAtCoords({x:e.clientX,y:e.clientY}))},dragleave(e){e.target!=this.view.contentDOM&&this.view.contentDOM.contains(e.relatedTarget)||this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function to(){return[Ks,eo]}function io(e,t,i,n,r){t.lastIndex=0;for(let s,o=e.iterRange(i,n),a=i;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;s=t.exec(o.value);)r(a+s.index,s)}function no(e,t){let i=e.visibleRanges;if(1==i.length&&i[0].from==e.viewport.from&&i[0].to==e.viewport.to)return i;let n=[];for(let{from:r,to:s}of i)r=Math.max(e.state.doc.lineAt(r).from,r-t),s=Math.min(e.state.doc.lineAt(s).to,s+t),n.length&&n[n.length-1].to>=r?n[n.length-1].to=s:n.push({from:r,to:s});return n}class ro{constructor(e){const{regexp:t,decoration:i,decorate:n,boundary:r,maxLength:s=1e3}=e;if(!t.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");if(this.regexp=t,n)this.addMatch=(e,t,i,r)=>n(r,i,i+e[0].length,e,t);else if("function"==typeof i)this.addMatch=(e,t,n,r)=>{let s=i(e,t,n);s&&r(n,n+e[0].length,s)};else{if(!i)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,n,r)=>r(n,n+e[0].length,i)}this.boundary=r,this.maxLength=s}createDeco(e){let t=new Ve,i=t.add.bind(t);for(let{from:t,to:n}of no(e,this.maxLength))io(e.state.doc,this.regexp,t,n,(t,n)=>this.addMatch(n,e,t,i));return t.finish()}updateDeco(e,t){let i=1e9,n=-1;return e.docChanged&&e.changes.iterChanges((t,r,s,o)=>{o>e.view.viewport.from&&s<e.view.viewport.to&&(i=Math.min(s,i),n=Math.max(o,n))}),e.viewportChanged||n-i>1e3?this.createDeco(e.view):n>-1?this.updateRange(e.view,t.map(e.changes),i,n):t}updateRange(e,t,i,n){for(let r of e.visibleRanges){let s=Math.max(r.from,i),o=Math.min(r.to,n);if(o>s){let i=e.state.doc.lineAt(s),n=i.to<o?e.state.doc.lineAt(o):i,a=Math.max(r.from,i.from),l=Math.min(r.to,n.to);if(this.boundary){for(;s>i.from;s--)if(this.boundary.test(i.text[s-1-i.from])){a=s;break}for(;o<n.to;o++)if(this.boundary.test(n.text[o-n.from])){l=o;break}}let h,c=[],u=(e,t,i)=>c.push(i.range(e,t));if(i==n)for(this.regexp.lastIndex=a-i.from;(h=this.regexp.exec(i.text))&&h.index<l-i.from;)this.addMatch(h,e,h.index+i.from,u);else io(e.state.doc,this.regexp,a,l,(t,i)=>this.addMatch(i,e,t,u));t=t.update({filterFrom:a,filterTo:l,filter:(e,t)=>e<a||t>l,add:c})}}return t}}const so=null!=/x/.unicode?"gu":"g",oo=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",so),ao={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};let lo=null;function ho(){var e;if(null==lo&&"undefined"!=typeof document&&document.body){let t=document.body.style;lo=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return lo||!1}const co=R.define({combine(e){let t=ke(e,{render:null,specialChars:oo,addSpecialChars:null});return(t.replaceTabs=!ho())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,so)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,so)),t}});function uo(e={}){return[co.of(e),po()]}let fo=null;function po(){return fo||(fo=Di.fromClass(class{constructor(e){this.view=e,this.decorations=Oi.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(co)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new ro({regexp:e.specialChars,decoration:(t,i,n)=>{let{doc:r}=i.state,s=b(t[0],0);if(9==s){let e=r.lineAt(n),t=i.state.tabSize,s=ze(e.text,t,n-e.from);return Oi.replace({widget:new So((t-s%t)*this.view.defaultCharacterWidth)})}return this.decorationCache[s]||(this.decorationCache[s]=Oi.replace({widget:new go(e,s)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(co);e.startState.facet(co)!=t?(this.decorator=this.makeDecorator(t),this.decorations=this.decorator.createDeco(e.view)):this.decorations=this.decorator.updateDeco(e,this.decorations)}},{decorations:e=>e.decorations}))}const Oo="•";function mo(e){return e>=32?Oo:10==e?"␤":String.fromCharCode(9216+e)}class go extends di{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=mo(this.code),i=e.state.phrase("Control character")+" "+(ao[this.code]||"0x"+this.code.toString(16)),n=this.options.render&&this.options.render(this.code,i,t);if(n)return n;let r=document.createElement("span");return r.textContent=t,r.title=i,r.setAttribute("aria-label",i),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class So extends di{constructor(e){super(),this.width=e}eq(e){return e.width==this.width}toDOM(){let e=document.createElement("span");return e.textContent="\t",e.className="cm-tab",e.style.width=this.width+"px",e}ignoreEvent(){return!1}}function bo(){return xo}const yo=Oi.line({class:"cm-activeLine"}),xo=Di.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.docChanged||e.selectionSet)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=-1,i=[];for(let n of e.state.selection.ranges){let r=e.lineBlockAt(n.head);r.from>t&&(i.push(yo.range(r.from)),t=r.from)}return Oi.set(i)}},{decorations:e=>e.decorations});class Qo extends di{constructor(e){super(),this.content=e}toDOM(){let e=document.createElement("span");return e.className="cm-placeholder",e.style.pointerEvents="none",e.appendChild("string"==typeof this.content?document.createTextNode(this.content):this.content),"string"==typeof this.content?e.setAttribute("aria-label","placeholder "+this.content):e.setAttribute("aria-hidden","true"),e}ignoreEvent(){return!1}}function vo(e){return Di.fromClass(class{constructor(t){this.view=t,this.placeholder=Oi.set([Oi.widget({widget:new Qo(e),side:1}).range(0)])}get decorations(){return this.view.state.doc.length?Oi.none:this.placeholder}},{decorations:e=>e.decorations})}const wo=2e3;function $o(e,t,i){let n=Math.min(t.line,i.line),r=Math.max(t.line,i.line),s=[];if(t.off>wo||i.off>wo||t.col<0||i.col<0){let o=Math.min(t.off,i.off),a=Math.max(t.off,i.off);for(let t=n;t<=r;t++){let i=e.doc.line(t);i.length<=a&&s.push(V.range(i.from+o,i.to+a))}}else{let o=Math.min(t.col,i.col),a=Math.max(t.col,i.col);for(let t=n;t<=r;t++){let i=e.doc.line(t),n=Le(i.text,o,e.tabSize,!0);if(n<0)s.push(V.cursor(i.to));else{let t=Le(i.text,a,e.tabSize);s.push(V.range(i.from+n,i.from+t))}}}return s}function ko(e,t){let i=e.coordsAtPos(e.viewport.from);return i?Math.round(Math.abs((i.left-t)/e.defaultCharacterWidth)):-1}function Po(e,t){let i=e.posAtCoords({x:t.clientX,y:t.clientY},!1),n=e.state.doc.lineAt(i),r=i-n.from,s=r>wo?-1:r==n.length?ko(e,t.clientX):ze(n.text,e.state.tabSize,i-n.from);return{line:n.number,col:s,off:r}}function To(e,t){let i=Po(e,t),n=e.state.selection;return i?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(i.line).from),r=e.state.doc.lineAt(t);i={line:r.number,col:i.col,off:Math.min(i.off,r.length)},n=n.map(e.changes)}},get(t,r,s){let o=Po(e,t);if(!o)return n;let a=$o(e.state,i,o);return a.length?s?V.create(a.concat(n.ranges)):V.create(a):n}}:null}function Ao(e){let t=(null==e?void 0:e.eventFilter)||(e=>e.altKey&&0==e.button);return gs.mouseSelectionStyle.of((e,i)=>t(i)?To(e,i):null)}const Co={Alt:[18,e=>e.altKey],Control:[17,e=>e.ctrlKey],Shift:[16,e=>e.shiftKey],Meta:[91,e=>e.metaKey]},Wo={style:"cursor: crosshair"};function Zo(e={}){let[t,i]=Co[e.key||"Alt"],n=Di.fromClass(class{constructor(e){this.view=e,this.isDown=!1}set(e){this.isDown!=e&&(this.isDown=e,this.view.update([]))}},{eventHandlers:{keydown(e){this.set(e.keyCode==t||i(e))},keyup(e){e.keyCode!=t&&i(e)||this.set(!1)},mousemove(e){this.set(i(e))}}});return[n,gs.contentAttributes.of(e=>{var t;return(null===(t=e.plugin(n))||void 0===t?void 0:t.isDown)?Wo:null})]}const Vo="-10000px";class Xo{constructor(e,t,i){this.facet=t,this.createTooltipView=i,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e),this.tooltipViews=this.tooltips.map(i)}update(e){var t;let i=e.state.facet(this.facet),n=i.filter(e=>e);if(i===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[];for(let t=0;t<n.length;t++){let i=n[t],s=-1;if(i){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==i.create&&(s=e)}if(s<0)r[t]=this.createTooltipView(i);else{let i=r[t]=this.tooltipViews[s];i.update&&i.update(e)}}}for(let e of this.tooltipViews)r.indexOf(e)<0&&(e.dom.remove(),null===(t=e.destroy)||void 0===t||t.call(e));return this.input=i,this.tooltips=n,this.tooltipViews=r,!0}}function _o(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const Ro=R.define({combine:e=>{var t,i,n;return{position:Gt.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(i=e.find(e=>e.parent))||void 0===i?void 0:i.parent)||null,tooltipSpace:(null===(n=e.find(e=>e.tooltipSpace))||void 0===n?void 0:n.tooltipSpace)||_o}}}),Mo=Di.fromClass(class{constructor(e){this.view=e,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(Ro);this.position=t.position,this.parent=t.parent,this.classes=e.themeClasses,this.createContainer(),this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this},this.manager=new Xo(e,Eo,e=>this.createTooltip(e)),this.intersectionObserver="function"==typeof IntersectionObserver?new IntersectionObserver(e=>{Date.now()>this.lastTransaction-50&&e.length>0&&e[e.length-1].intersectionRatio<1&&this.measureSoon()},{threshold:[1]}):null,this.observeIntersection(),e.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 e of this.manager.tooltipViews)this.intersectionObserver.observe(e.dom)}}measureSoon(){this.measureTimeout<0&&(this.measureTimeout=setTimeout(()=>{this.measureTimeout=-1,this.maybeMeasure()},50))}update(e){e.transactions.length&&(this.lastTransaction=Date.now());let t=this.manager.update(e);t&&this.observeIntersection();let i=t||e.geometryChanged,n=e.state.facet(Ro);if(n.position!=this.position){this.position=n.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;i=!0}if(n.parent!=this.parent){this.parent&&this.container.remove(),this.parent=n.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);i=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);i&&this.maybeMeasure()}createTooltip(e){let t=e.create(this.view);if(t.dom.classList.add("cm-tooltip"),e.arrow&&!t.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){let e=document.createElement("div");e.className="cm-tooltip-arrow",t.dom.appendChild(e)}return t.dom.style.position=this.position,t.dom.style.top=Vo,this.container.appendChild(t.dom),t.mount&&t.mount(this.view),t}destroy(){var e,t;this.view.win.removeEventListener("resize",this.measureSoon);for(let t of this.manager.tooltipViews)t.dom.remove(),null===(e=t.destroy)||void 0===e||e.call(t);null===(t=this.intersectionObserver)||void 0===t||t.disconnect(),clearTimeout(this.measureTimeout)}readMeasure(){let e=this.view.dom.getBoundingClientRect();return{editor:e,parent:this.parent?this.container.getBoundingClientRect():e,pos:this.manager.tooltips.map((e,t)=>{let i=this.manager.tooltipViews[t];return i.getCoords?i.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(Ro).tooltipSpace(this.view)}}writeMeasure(e){let{editor:t,space:i}=e,n=[];for(let r=0;r<this.manager.tooltips.length;r++){let s=this.manager.tooltips[r],o=this.manager.tooltipViews[r],{dom:a}=o,l=e.pos[r],h=e.size[r];if(!l||l.bottom<=Math.max(t.top,i.top)||l.top>=Math.min(t.bottom,i.bottom)||l.right<Math.max(t.left,i.left)-.1||l.left>Math.min(t.right,i.right)+.1){a.style.top=Vo;continue}let c=s.arrow?o.dom.querySelector(".cm-tooltip-arrow"):null,u=c?7:0,f=h.right-h.left,d=h.bottom-h.top,p=o.offset||Io,O=this.view.textDirection==Hi.LTR,m=h.width>i.right-i.left?O?i.left:i.right-h.width:O?Math.min(l.left-(c?14:0)+p.x,i.right-f):Math.max(i.left,l.left-f+(c?14:0)-p.x),g=!!s.above;!s.strictSide&&(g?l.top-(h.bottom-h.top)-p.y<i.top:l.bottom+(h.bottom-h.top)+p.y>i.bottom)&&g==i.bottom-l.bottom>l.top-i.top&&(g=!g);let S=(g?l.top-i.top:i.bottom-l.bottom)-u;if(S<d&&!1!==o.resize){if(S<this.view.defaultLineHeight){a.style.top=Vo;continue}a.style.height=(d=S)+"px"}else a.style.height&&(a.style.height="");let b=g?l.top-d-u-p.y:l.bottom+u+p.y,y=m+f;if(!0!==o.overlap)for(let e of n)e.left<y&&e.right>m&&e.top<b+d&&e.bottom>b&&(b=g?e.top-d-2-u:e.bottom+u+2);"absolute"==this.position?(a.style.top=b-e.parent.top+"px",a.style.left=m-e.parent.left+"px"):(a.style.top=b+"px",a.style.left=m+"px"),c&&(c.style.left=l.left+(O?p.x:-p.x)-(m+14-7)+"px"),!0!==o.overlap&&n.push({left:m,top:b,right:y,bottom:b+d}),a.classList.toggle("cm-tooltip-above",g),a.classList.toggle("cm-tooltip-below",!g),o.positioned&&o.positioned(e.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 e of this.manager.tooltipViews)e.dom.style.top=Vo}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),qo=gs.baseTheme({".cm-tooltip":{zIndex:100,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"}}}),Io={x:0,y:0},Eo=R.define({enables:[Mo,qo]}),Do=R.define();class Uo{constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new Xo(e,Do,e=>this.createHostedView(e))}static create(e){return new Uo(e)}createHostedView(e){let t=e.create(this.view);return t.dom.classList.add("cm-tooltip-section"),this.dom.appendChild(t.dom),this.mounted&&t.mount&&t.mount(this.view),t}mount(e){for(let t of this.manager.tooltipViews)t.mount&&t.mount(e);this.mounted=!0}positioned(e){for(let t of this.manager.tooltipViews)t.positioned&&t.positioned(e)}update(e){this.manager.update(e)}}const Yo=Eo.compute([Do],e=>{let t=e.facet(Do).filter(e=>e);return 0===t.length?null:{pos:Math.min(...t.map(e=>e.pos)),end:Math.max(...t.filter(e=>null!=e.end).map(e=>e.end)),create:Uo.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class zo{constructor(e,t,i,n,r){this.view=e,this.source=t,this.field=i,this.setHover=n,this.hoverTime=r,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(){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)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{lastMove:e}=this,t=this.view.contentDOM.contains(e.target)?this.view.posAtCoords(e):null;if(null==t)return;let i=this.view.coordsAtPos(t);if(null==i||e.y<i.top||e.y>i.bottom||e.x<i.left-this.view.defaultCharacterWidth||e.x>i.right+this.view.defaultCharacterWidth)return;let n=this.view.bidiSpans(this.view.state.doc.lineAt(t)).find(e=>e.from<=t&&e.to>=t),r=n&&n.dir==Hi.RTL?-1:1,s=this.source(this.view,t,e.x<i.left?-r:r);if(null==s?void 0:s.then){let e=this.pending={pos:t};s.then(t=>{this.pending==e&&(this.pending=null,t&&this.view.dispatch({effects:this.setHover.of(t)}))},e=>Mi(this.view.state,e,"hover tooltip"))}else s&&this.view.dispatch({effects:this.setHover.of(s)})}mousemove(e){var t;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 i=this.active;if(i&&!Lo(this.lastMove.target)||this.pending){let{pos:n}=i||this.pending,r=null!==(t=null==i?void 0:i.end)&&void 0!==t?t:n;(n==r?this.view.posAtCoords(this.lastMove)==n:Bo(this.view,n,r,e.clientX,e.clientY,6))||(this.view.dispatch({effects:this.setHover.of(null)}),this.pending=null)}}mouseleave(e){clearTimeout(this.hoverTimeout),this.hoverTimeout=-1,this.active&&!Lo(e.relatedTarget)&&this.view.dispatch({effects:this.setHover.of(null)})}destroy(){clearTimeout(this.hoverTimeout),this.view.dom.removeEventListener("mouseleave",this.mouseleave),this.view.dom.removeEventListener("mousemove",this.mousemove)}}function Lo(e){for(let t=e;t;t=t.parentNode)if(1==t.nodeType&&t.classList.contains("cm-tooltip"))return!0;return!1}function Bo(e,t,i,n,r,s){let o=document.createRange(),a=e.domAtPos(t),l=e.domAtPos(i);o.setEnd(l.node,l.offset),o.setStart(a.node,a.offset);let h=o.getClientRects();o.detach();for(let e=0;e<h.length;e++){let t=h[e];if(Math.max(t.top-r,r-t.bottom,t.left-n,n-t.right)<=s)return!0}return!1}function No(e,t={}){let i=ce.define(),n=Y.define({create:()=>null,update(e,n){if(e&&(t.hideOnChange&&(n.docChanged||n.selection)||t.hideOn&&t.hideOn(n,e)))return null;if(e&&n.docChanged){let t=n.changes.mapPos(e.pos,-1,v.TrackDel);if(null==t)return null;let i=Object.assign(Object.create(null),e);i.pos=t,null!=e.end&&(i.end=n.changes.mapPos(e.end)),e=i}for(let t of n.effects)t.is(i)&&(e=t.value),t.is(Go)&&(e=null);return e},provide:e=>Do.from(e)});return[n,Di.define(r=>new zo(r,e,n,i,t.hoverTime||300)),Yo]}function jo(e,t){let i=e.plugin(Mo);if(!i)return null;let n=i.manager.tooltips.indexOf(t);return n<0?null:i.manager.tooltipViews[n]}const Go=ce.define(),Fo=R.define({combine(e){let t,i;for(let n of e)t=t||n.topContainer,i=i||n.bottomContainer;return{topContainer:t,bottomContainer:i}}});function Ho(e,t){let i=e.plugin(Jo),n=i?i.specs.indexOf(t):-1;return n>-1?i.panels[n]:null}const Jo=Di.fromClass(class{constructor(e){this.input=e.state.facet(ta),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(Fo);this.top=new Ko(e,!0,t.topContainer),this.bottom=new Ko(e,!1,t.bottomContainer),this.top.sync(this.panels.filter(e=>e.top)),this.bottom.sync(this.panels.filter(e=>!e.top));for(let e of this.panels)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}update(e){let t=e.state.facet(Fo);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new Ko(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new Ko(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let i=e.state.facet(ta);if(i!=this.input){let t=i.filter(e=>e),n=[],r=[],s=[],o=[];for(let i of t){let t,a=this.specs.indexOf(i);a<0?(t=i(e.view),o.push(t)):(t=this.panels[a],t.update&&t.update(e)),n.push(t),(t.top?r:s).push(t)}this.specs=t,this.panels=n,this.top.sync(r),this.bottom.sync(s);for(let e of o)e.dom.classList.add("cm-panel"),e.mount&&e.mount()}else for(let t of this.panels)t.update&&t.update(e)}destroy(){this.top.sync([]),this.bottom.sync([])}},{provide:e=>gs.scrollMargins.of(t=>{let i=t.plugin(e);return i&&{top:i.top.scrollMargin(),bottom:i.bottom.scrollMargin()}})});class Ko{constructor(e,t,i){this.view=e,this.top=t,this.container=i,this.dom=void 0,this.classes="",this.panels=[],this.syncClasses()}sync(e){for(let t of this.panels)t.destroy&&e.indexOf(t)<0&&t.destroy();this.panels=e,this.syncDOM()}syncDOM(){if(0==this.panels.length)return void(this.dom&&(this.dom.remove(),this.dom=void 0));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 e=this.container||this.view.dom;e.insertBefore(this.dom,this.top?e.firstChild:null)}let e=this.dom.firstChild;for(let t of this.panels)if(t.dom.parentNode==this.dom){for(;e!=t.dom;)e=ea(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=ea(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 ea(e){let t=e.nextSibling;return e.remove(),t}const ta=R.define({enables:Jo});class ia extends Pe{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=v.TrackBefore,ia.prototype.startSide=ia.prototype.endSide=-1,ia.prototype.point=!0;const na=R.define(),ra={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>We.empty,lineMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},sa=R.define();function oa(e){return[la(),sa.of(Object.assign(Object.assign({},ra),e))]}const aa=R.define({combine:e=>e.some(e=>e)});function la(e){let t=[ha];return e&&!1===e.fixed&&t.push(aa.of(!0)),t}const ha=Di.fromClass(class{constructor(e){this.view=e,this.prevViewport=e.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight+"px",this.gutters=e.state.facet(sa).map(t=>new da(e,t));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(aa),this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),e.scrollDOM.insertBefore(this.dom,e.contentDOM)}update(e){if(this.updateGutters(e)){let t=this.prevViewport,i=e.view.viewport,n=Math.min(t.to,i.to)-Math.max(t.from,i.from);this.syncGutters(n<.8*(i.to-i.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(aa)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":""),this.prevViewport=e.view.viewport}syncGutters(e){let t=this.dom.nextSibling;e&&this.dom.remove();let i=We.iter(this.view.state.facet(na),this.view.viewport.from),n=[],r=this.gutters.map(e=>new fa(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks){let t;if(Array.isArray(e.type)){for(let i of e.type)if(i.type==pi.Text){t=i;break}}else t=e.type==pi.Text?e:void 0;if(t){n.length&&(n=[]),ua(i,n,e.from);for(let e of r)e.line(this.view,t,n)}}for(let e of r)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(sa),i=e.state.facet(sa),n=e.docChanged||e.heightChanged||e.viewportChanged||!We.eq(e.startState.facet(na),e.state.facet(na),e.view.viewport.from,e.view.viewport.to);if(t==i)for(let t of this.gutters)t.update(e)&&(n=!0);else{n=!0;let r=[];for(let n of i){let i=t.indexOf(n);i<0?r.push(new da(this.view,n)):(this.gutters[i].update(e),r.push(this.gutters[i]))}for(let e of this.gutters)e.dom.remove(),r.indexOf(e)<0&&e.destroy();for(let e of r)this.dom.appendChild(e.dom);this.gutters=r}return n}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>gs.scrollMargins.of(t=>{let i=t.plugin(e);return i&&0!=i.gutters.length&&i.fixed?t.textDirection==Hi.LTR?{left:i.dom.offsetWidth}:{right:i.dom.offsetWidth}:null})});function ca(e){return Array.isArray(e)?e:[e]}function ua(e,t,i){for(;e.value&&e.from<=i;)e.from==i&&t.push(e.value),e.next()}class fa{constructor(e,t,i){this.gutter=e,this.height=i,this.localMarkers=[],this.i=0,this.cursor=We.iter(e.markers,t.from)}line(e,t,i){this.localMarkers.length&&(this.localMarkers=[]),ua(this.cursor,this.localMarkers,t.from);let n=i.length?this.localMarkers.concat(i):this.localMarkers,r=this.gutter.config.lineMarker(e,t,n);r&&n.unshift(r);let s=this.gutter;if(0==n.length&&!s.config.renderEmptyElements)return;let o=t.top-this.height;if(this.i==s.elements.length){let i=new pa(e,t.height,o,n);s.elements.push(i),s.dom.appendChild(i.dom)}else s.elements[this.i].update(e,t.height,o,n);this.height=t.bottom,this.i++}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}}class da{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,n=>{let r=e.lineBlockAtHeight(n.clientY-e.documentTop);t.domEventHandlers[i](e,r,n)&&n.preventDefault()});this.markers=ca(t.markers(e)),t.initialSpacer&&(this.spacer=new pa(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=ca(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let t=this.config.updateSpacer(this.spacer.markers[0],e);t!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[t])}let i=e.view.viewport;return!We.eq(this.markers,t,i.from,i.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class pa{constructor(e,t,i,n){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,n)}update(e,t,i,n){this.height!=t&&(this.dom.style.height=(this.height=t)+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),Oa(this.markers,n)||this.setMarkers(e,n)}setMarkers(e,t){let i="cm-gutterElement",n=this.dom.firstChild;for(let r=0,s=0;;){let o=s,a=r<t.length?t[r++]:null,l=!1;if(a){let e=a.elementClass;e&&(i+=" "+e);for(let e=s;e<this.markers.length;e++)if(this.markers[e].compare(a)){o=e,l=!0;break}}else o=this.markers.length;for(;s<o;){let e=this.markers[s++];if(e.toDOM){e.destroy(n);let t=n.nextSibling;n.remove(),n=t}}if(!a)break;a.toDOM&&(l?n=n.nextSibling:this.dom.insertBefore(a.toDOM(e),n)),l&&s++}this.dom.className=i,this.markers=t}destroy(){this.setMarkers(null,[])}}function Oa(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++)if(!e[i].compare(t[i]))return!1;return!0}const ma=R.define(),ga=R.define({combine:e=>ke(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let e in t){let n=i[e],r=t[e];i[e]=n?(e,t,i)=>n(e,t,i)||r(e,t,i):r}return i}})});class Sa extends ia{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function ba(e,t){return e.state.facet(ga).formatNumber(t,e.state)}const ya=sa.compute([ga],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(ma),lineMarker:(e,t,i)=>i.some(e=>e.toDOM)?null:new Sa(ba(e,e.state.doc.lineAt(t.from).number)),lineMarkerChange:e=>e.startState.facet(ga)!=e.state.facet(ga),initialSpacer:e=>new Sa(ba(e,Qa(e.state.doc.lines))),updateSpacer(e,t){let i=ba(t.view,Qa(t.view.state.doc.lines));return i==e.number?e:new Sa(i)},domEventHandlers:e.facet(ga).domEventHandlers}));function xa(e={}){return[ga.of(e),la(),ya]}function Qa(e){let t=9;for(;t<e;)t=10*t+9;return t}const va=new class extends ia{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},wa=na.compute(["selection"],e=>{let t=[],i=-1;for(let n of e.selection.ranges){let r=e.doc.lineAt(n.head).from;r>i&&(i=r,t.push(va.range(r)))}return We.of(t)});function $a(){return wa}const ka=1024;let Pa=0;class Ta{constructor(e,t){this.from=e,this.to=t}}class Aa{constructor(e={}){this.id=Pa++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")})}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return"function"!=typeof e&&(e=Za.match(e)),t=>{let i=e(t);return void 0===i?null:[this,i]}}}Aa.closedBy=new Aa({deserialize:e=>e.split(" ")}),Aa.openedBy=new Aa({deserialize:e=>e.split(" ")}),Aa.group=new Aa({deserialize:e=>e.split(" ")}),Aa.contextHash=new Aa({perNode:!0}),Aa.lookAhead=new Aa({perNode:!0}),Aa.mounted=new Aa({perNode:!0});class Ca{constructor(e,t,i){this.tree=e,this.overlay=t,this.parser=i}}const Wa=Object.create(null);class Za{constructor(e,t,i,n=0){this.name=e,this.props=t,this.id=i,this.flags=n}static define(e){let t=e.props&&e.props.length?Object.create(null):Wa,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),n=new Za(e.name||"",t,e.id,i);if(e.props)for(let i of e.props)if(Array.isArray(i)||(i=i(n)),i){if(i[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[i[0].id]=i[1]}return n}prop(e){return this.props[e.id]}get isTop(){return(1&this.flags)>0}get isSkipped(){return(2&this.flags)>0}get isError(){return(4&this.flags)>0}get isAnonymous(){return(8&this.flags)>0}is(e){if("string"==typeof e){if(this.name==e)return!0;let t=this.prop(Aa.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let n of i.split(" "))t[n]=e[i];return e=>{for(let i=e.prop(Aa.group),n=-1;n<(i?i.length:0);n++){let r=t[n<0?e.name:i[n]];if(r)return r}}}}Za.none=new Za("",Object.create(null),0,8);class Va{constructor(e){this.types=e;for(let t=0;t<e.length;t++)if(e[t].id!=t)throw new RangeError("Node type ids should correspond to array positions when creating a node set")}extend(...e){let t=[];for(let i of this.types){let n=null;for(let t of e){let e=t(i);e&&(n||(n=Object.assign({},i.props)),n[e[0].id]=e[1])}t.push(n?new Za(i.name,n,i.id,i.flags):i)}return new Va(t)}}const Xa=new WeakMap,_a=new WeakMap;var Ra;!function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays"}(Ra||(Ra={}));class Ma{constructor(e,t,i,n,r){if(this.type=e,this.children=t,this.positions=i,this.length=n,this.props=null,r&&r.length){this.props=Object.create(null);for(let[e,t]of r)this.props["number"==typeof e?e:e.id]=t}}toString(){let e=this.prop(Aa.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let i=e.toString();i&&(t&&(t+=","),t+=i)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new ja(this.topNode,e)}cursorAt(e,t=0,i=0){let n=Xa.get(this)||this.topNode,r=new ja(n);return r.moveTo(e,t),Xa.set(this,r._tree),r}get topNode(){return new Ya(this,0,0,null)}resolve(e,t=0){let i=Ua(Xa.get(this)||this.topNode,e,t,!1);return Xa.set(this,i),i}resolveInner(e,t=0){let i=Ua(_a.get(this)||this.topNode,e,t,!0);return _a.set(this,i),i}iterate(e){let{enter:t,leave:i,from:n=0,to:r=this.length}=e;for(let s=this.cursor((e.mode||0)|Ra.IncludeAnonymous);;){let e=!1;if(s.from<=r&&s.to>=n&&(s.type.isAnonymous||!1!==t(s))){if(s.firstChild())continue;e=!0}for(;e&&i&&!s.type.isAnonymous&&i(s),!s.nextSibling();){if(!s.parent())return;e=!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 t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:Ka(Za.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,i)=>new Ma(this.type,e,t,i,this.propValues),e.makeTree||((e,t,i)=>new Ma(Za.none,e,t,i)))}static build(e){return Fa(e)}}Ma.empty=new Ma(Za.none,[],[],0);class qa{constructor(e,t){this.buffer=e,this.index=t}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 qa(this.buffer,this.index)}}class Ia{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return Za.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],i=this.buffer[e+3],n=this.set.types[t],r=n.name;if(/\W/.test(r)&&!n.isError&&(r=JSON.stringify(r)),i==(e+=4))return r;let s=[];for(;e<i;)s.push(this.childString(e)),e=this.buffer[e+3];return r+"("+s.join(",")+")"}findChild(e,t,i,n,r){let{buffer:s}=this,o=-1;for(let a=e;a!=t&&!(Ea(r,n,s[a+1],s[a+2])&&(o=a,i>0));a=s[a+3]);return o}slice(e,t,i){let n=this.buffer,r=new Uint16Array(t-e),s=0;for(let o=e,a=0;o<t;){r[a++]=n[o++],r[a++]=n[o++]-i;let t=r[a++]=n[o++]-i;r[a++]=n[o++]-e,s=Math.max(s,t)}return new Ia(r,s,this.set)}}function Ea(e,t,i,n){switch(e){case-2:return i<t;case-1:return n>=t&&i<t;case 0:return i<t&&n>t;case 1:return i<=t&&n>t;case 2:return n>t;case 4:return!0}}function Da(e,t){let i=e.childBefore(t);for(;i;){let t=i.lastChild;if(!t||t.to!=i.to)break;t.type.isError&&t.from==t.to?(e=i,i=t.prevSibling):i=t}return e}function Ua(e,t,i,n){for(var r;e.from==e.to||(i<1?e.from>=t:e.from>t)||(i>-1?e.to<=t:e.to<t);){let t=!n&&e instanceof Ya&&e.index<0?null:e.parent;if(!t)return e;e=t}let s=n?0:Ra.IgnoreOverlays;if(n)for(let n=e,o=n.parent;o;n=o,o=n.parent)n instanceof Ya&&n.index<0&&(null===(r=o.enter(t,i,s))||void 0===r?void 0:r.from)!=n.from&&(e=o);for(;;){let n=e.enter(t,i,s);if(!n)return e;e=n}}class Ya{constructor(e,t,i,n){this._tree=e,this.from=t,this.index=i,this._parent=n}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,i,n,r=0){for(let s=this;;){for(let{children:o,positions:a}=s._tree,l=t>0?o.length:-1;e!=l;e+=t){let l=o[e],h=a[e]+s.from;if(Ea(n,i,h,h+l.length))if(l instanceof Ia){if(r&Ra.ExcludeBuffers)continue;let o=l.findChild(0,l.buffer.length,t,i-h,n);if(o>-1)return new Na(new Ba(s,l,e,h),null,o)}else if(r&Ra.IncludeAnonymous||!l.type.isAnonymous||Ga(l)){let o;if(!(r&Ra.IgnoreMounts)&&l.props&&(o=l.prop(Aa.mounted))&&!o.overlay)return new Ya(o.tree,h,e,s);let a=new Ya(l,h,e,s);return r&Ra.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(t<0?l.children.length-1:0,t,i,n)}}if(r&Ra.IncludeAnonymous||!s.type.isAnonymous)return null;if(e=s.index>=0?s.index+t:t<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)}enter(e,t,i=0){let n;if(!(i&Ra.IgnoreOverlays)&&(n=this._tree.prop(Aa.mounted))&&n.overlay){let i=e-this.from;for(let{from:e,to:r}of n.overlay)if((t>0?e<=i:e<i)&&(t<0?r>=i:r>i))return new Ya(n.tree,n.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}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}cursor(e=0){return new ja(this,e)}get tree(){return this._tree}toTree(){return this._tree}resolve(e,t=0){return Ua(this,e,t,!1)}resolveInner(e,t=0){return Ua(this,e,t,!0)}enterUnfinishedNodesBefore(e){return Da(this,e)}getChild(e,t=null,i=null){let n=za(this,e,t,i);return n.length?n[0]:null}getChildren(e,t=null,i=null){return za(this,e,t,i)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return La(this,e)}}function za(e,t,i,n){let r=e.cursor(),s=[];if(!r.firstChild())return s;if(null!=i)for(;!r.type.is(i);)if(!r.nextSibling())return s;for(;;){if(null!=n&&r.type.is(n))return s;if(r.type.is(t)&&s.push(r.node),!r.nextSibling())return null==n?s:[]}}function La(e,t,i=t.length-1){for(let n=e.parent;i>=0;n=n.parent){if(!n)return!1;if(!n.type.isAnonymous){if(t[i]&&t[i]!=n.name)return!1;i--}}return!0}class Ba{constructor(e,t,i,n){this.parent=e,this.buffer=t,this.index=i,this.start=n}}class Na{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,t,i){this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:n}=this.context,r=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.context.start,i);return r<0?null:new Na(this.context,this,r)}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)}enter(e,t,i=0){if(i&Ra.ExcludeBuffers)return null;let{buffer:n}=this.context,r=n.findChild(this.index+4,n.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return r<0?null:new Na(this.context,this,r)}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,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Na(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new Na(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}cursor(e=0){return new ja(this,e)}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,n=this.index+4,r=i.buffer[this.index+3];if(r>n){let s=i.buffer[this.index+1];e.push(i.slice(n,r,s)),t.push(0)}return new Ma(this.type,e,t,this.to-this.from)}resolve(e,t=0){return Ua(this,e,t,!1)}resolveInner(e,t=0){return Ua(this,e,t,!0)}enterUnfinishedNodesBefore(e){return Da(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,i=null){let n=za(this,e,t,i);return n.length?n[0]:null}getChildren(e,t=null,i=null){return za(this,e,t,i)}get node(){return this}matchContext(e){return La(this,e)}}class ja{get name(){return this.type.name}constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof Ya)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let t=e._parent;t;t=t._parent)this.stack.unshift(t.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)}yieldBuf(e,t){this.index=e;let{start:i,buffer:n}=this.buffer;return this.type=t||n.set.types[n.buffer[e]],this.from=i+n.buffer[e+1],this.to=i+n.buffer[e+2],!0}yield(e){return!!e&&(e instanceof Ya?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)))}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:n}=this.buffer,r=n.findChild(this.index+4,n.buffer[this.index+3],e,t-this.buffer.start,i);return!(r<0)&&(this.stack.push(this.index),this.yieldBuf(r))}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,t,i=this.mode){return this.buffer?!(i&Ra.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Ra.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Ra.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));let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let e=i<0?0:this.stack[i]+4;if(this.index!=e)return this.yieldBuf(t.findChild(e,this.index,-1,0,4))}else{let e=t.buffer[this.index+3];if(e<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(e)}return i<0&&this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode))}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:n}=this;if(n){if(e>0){if(this.index<n.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(n.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:i}=n)}else({index:t,_parent:i}=this._tree);for(;i;({index:t,_parent:i}=i))if(t>-1)for(let n=t+e,r=e<0?-1:i._tree.children.length;n!=r;n+=e){let e=i._tree.children[n];if(this.mode&Ra.IncludeAnonymous||e instanceof Ia||!e.type.isAnonymous||Ga(e))return!1}return!0}move(e,t){if(t&&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,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,i=0;if(e&&e.context==this.buffer)e:for(let n=this.index,r=this.stack.length;r>=0;){for(let s=e;s;s=s._parent)if(s.index==n){if(n==this.index)return s;t=s,i=r+1;break e}n=this.stack[--r]}for(let e=i;e<this.stack.length;e++)t=new Na(this.buffer,t,this.stack[e]);return this.bufferNode=new Na(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let i=0;;){let n=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){i++;continue}this.type.isAnonymous||(n=!0)}for(;n&&t&&t(this),n=this.type.isAnonymous,!this.nextSibling();){if(!i)return;this.parent(),i--,n=!0}}}matchContext(e){if(!this.buffer)return La(this.node,e);let{buffer:t}=this.buffer,{types:i}=t.set;for(let n=e.length-1,r=this.stack.length-1;n>=0;r--){if(r<0)return La(this.node,e,n);let s=i[t.buffer[this.stack[r]]];if(!s.isAnonymous){if(e[n]&&e[n]!=s.name)return!1;n--}}return!0}}function Ga(e){return e.children.some(e=>e instanceof Ia||!e.type.isAnonymous||Ga(e))}function Fa(e){var t;let{buffer:i,nodeSet:n,maxBufferLength:r=ka,reused:s=[],minRepeatType:o=n.types.length}=e,a=Array.isArray(i)?new qa(i,i.length):i,l=n.types,h=0,c=0;function u(e,t,i,g,S){let{id:b,start:y,end:x,size:Q}=a,v=c;for(;Q<0;){if(a.next(),-1==Q){let t=s[b];return i.push(t),void g.push(y-e)}if(-3==Q)return void(h=b);if(-4==Q)return void(c=b);throw new RangeError("Unrecognized record size: "+Q)}let w,$,k=l[b],P=y-e;if(x-y<=r&&($=O(a.pos-t,S))){let t=new Uint16Array($.size-$.skip),i=a.pos-$.size,r=t.length;for(;a.pos>i;)r=m($.start,t,r);w=new Ia(t,x-$.start,n),P=$.start-e}else{let e=a.pos-Q;a.next();let t=[],i=[],n=b>=o?b:-1,s=0,l=x;for(;a.pos>e;)n>=0&&a.id==n&&a.size>=0?(a.end<=l-r&&(d(t,i,y,s,a.end,l,n,v),s=t.length,l=a.end),a.next()):u(y,e,t,i,n);if(n>=0&&s>0&&s<t.length&&d(t,i,y,s,y,l,n,v),t.reverse(),i.reverse(),n>-1&&s>0){let e=f(k);w=Ka(k,t,i,0,t.length,0,x-y,e,e)}else w=p(k,t,i,x-y,v-x)}i.push(w),g.push(P)}function f(e){return(t,i,n)=>{let r,s,o=0,a=t.length-1;if(a>=0&&(r=t[a])instanceof Ma){if(!a&&r.type==e&&r.length==n)return r;(s=r.prop(Aa.lookAhead))&&(o=i[a]+r.length+s)}return p(e,t,i,n,o)}}function d(e,t,i,r,s,o,a,l){let h=[],c=[];for(;e.length>r;)h.push(e.pop()),c.push(t.pop()+i-s);e.push(p(n.types[a],h,c,o-s,l-o)),t.push(s-i)}function p(e,t,i,n,r=0,s){if(h){let e=[Aa.contextHash,h];s=s?[e].concat(s):[e]}if(r>25){let e=[Aa.lookAhead,r];s=s?[e].concat(s):[e]}return new Ma(e,t,i,n,s)}function O(e,t){let i=a.fork(),n=0,s=0,l=0,h=i.end-r,c={size:0,start:0,skip:0};e:for(let r=i.pos-e;i.pos>r;){let e=i.size;if(i.id==t&&e>=0){c.size=n,c.start=s,c.skip=l,l+=4,n+=4,i.next();continue}let a=i.pos-e;if(e<0||a<r||i.start<h)break;let u=i.id>=o?4:0,f=i.start;for(i.next();i.pos>a;){if(i.size<0){if(-3!=i.size)break e;u+=4}else i.id>=o&&(u+=4);i.next()}s=f,n+=e,l+=u}return(t<0||n==e)&&(c.size=n,c.start=s,c.skip=l),c.size>4?c:void 0}function m(e,t,i){let{id:n,start:r,end:s,size:l}=a;if(a.next(),l>=0&&n<o){let o=i;if(l>4){let n=a.pos-(l-4);for(;a.pos>n;)i=m(e,t,i)}t[--i]=o,t[--i]=s-e,t[--i]=r-e,t[--i]=n}else-3==l?h=n:-4==l&&(c=n);return i}let g=[],S=[];for(;a.pos>0;)u(e.start||0,e.bufferStart||0,g,S,-1);let b=null!==(t=e.length)&&void 0!==t?t:g.length?S[0]+g[0].length:0;return new Ma(l[e.topID],g.reverse(),S.reverse(),b)}const Ha=new WeakMap;function Ja(e,t){if(!e.isAnonymous||t instanceof Ia||t.type!=e)return 1;let i=Ha.get(t);if(null==i){i=1;for(let n of t.children){if(n.type!=e||!(n instanceof Ma)){i=1;break}i+=Ja(e,n)}Ha.set(t,i)}return i}function Ka(e,t,i,n,r,s,o,a,l){let h=0;for(let i=n;i<r;i++)h+=Ja(e,t[i]);let c=Math.ceil(1.5*h/8),u=[],f=[];function d(t,i,n,r,o){for(let a=n;a<r;){let n=a,h=i[a],p=Ja(e,t[a]);for(a++;a<r;a++){let i=Ja(e,t[a]);if(p+i>=c)break;p+=i}if(a==n+1){if(p>c){let e=t[n];d(e.children,e.positions,0,e.children.length,i[n]+o);continue}u.push(t[n])}else{let r=i[a-1]+t[a-1].length-h;u.push(Ka(e,t,i,n,a,h,r,null,l))}f.push(h+o-s)}}return d(t,i,n,r,0),(a||l)(u,f,o)}class el{constructor(){this.map=new WeakMap}setBuffer(e,t,i){let n=this.map.get(e);n||this.map.set(e,n=new Map),n.set(t,i)}getBuffer(e,t){let i=this.map.get(e);return i&&i.get(t)}set(e,t){e instanceof Na?this.setBuffer(e.context.buffer,e.index,t):e instanceof Ya&&this.map.set(e.tree,t)}get(e){return e instanceof Na?this.getBuffer(e.context.buffer,e.index):e instanceof Ya?this.map.get(e.tree):void 0}cursorSet(e,t){e.buffer?this.setBuffer(e.buffer.buffer,e.index,t):this.map.set(e.tree,t)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class tl{constructor(e,t,i,n,r=!1,s=!1){this.from=e,this.to=t,this.tree=i,this.offset=n,this.open=(r?1:0)|(s?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],i=!1){let n=[new tl(0,e.length,e,0,!1,i)];for(let i of t)i.to>e.length&&n.push(i);return n}static applyChanges(e,t,i=128){if(!t.length)return e;let n=[],r=1,s=e.length?e[0]:null;for(let o=0,a=0,l=0;;o++){let h=o<t.length?t[o]:null,c=h?h.fromA:1e9;if(c-a>=i)for(;s&&s.from<c;){let t=s;if(a>=t.from||c<=t.to||l){let e=Math.max(t.from,a)-l,i=Math.min(t.to,c)-l;t=e>=i?null:new tl(e,i,t.tree,t.offset+l,o>0,!!h)}if(t&&n.push(t),s.to>c)break;s=r<e.length?e[r++]:null}if(!h)break;a=h.toA,l=h.toA-h.toB}return n}}class il{startParse(e,t,i){return"string"==typeof e&&(e=new nl(e)),i=i?i.length?i.map(e=>new Ta(e.from,e.to)):[new Ta(0,0)]:[new Ta(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let n=this.startParse(e,t,i);for(;;){let e=n.advance();if(e)return e}}}class nl{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}}function rl(e){return(t,i,n,r)=>new ll(t,e,i,n,r)}class sl{constructor(e,t,i,n,r){this.parser=e,this.parse=t,this.overlay=i,this.target=n,this.ranges=r}}class ol{constructor(e,t,i,n,r,s,o){this.parser=e,this.predicate=t,this.mounts=i,this.index=n,this.start=r,this.target=s,this.prev=o,this.depth=0,this.ranges=[]}}const al=new Aa({perNode:!0});class ll{constructor(e,t,i,n,r){this.nest=t,this.input=i,this.fragments=n,this.ranges=r,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let e=this.baseParse.advance();if(!e)return null;if(this.baseParse=null,this.baseTree=e,this.startInner(),null!=this.stoppedAt)for(let e of this.inner)e.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let e=this.baseTree;return null!=this.stoppedAt&&(e=new Ma(e.type,e.children,e.positions,e.length,e.propValues.concat([[al,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let i=Object.assign(Object.create(null),e.target.props);i[Aa.mounted.id]=new Ca(t,e.overlay,e.parser),e.target.props=i}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].ranges[0].from<e&&(e=Math.min(e,this.inner[t].parse.parsedPos));return e}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;t<this.inner.length;t++)this.inner[t].parse.stopAt(e)}startInner(){let e=new dl(this.fragments),t=null,i=null,n=new ja(new Ya(this.baseTree,this.ranges[0].from,0,null),Ra.IncludeAnonymous|Ra.IgnoreMounts);e:for(let r,s;null==this.stoppedAt||n.from<this.stoppedAt;){let o,a=!0;if(e.hasNode(n)){if(t){let e=t.mounts.find(e=>e.frag.from<=n.from&&e.frag.to>=n.to&&e.mount.overlay);if(e)for(let i of e.mount.overlay){let r=i.from+e.pos,s=i.to+e.pos;r>=n.from&&s<=n.to&&!t.ranges.some(e=>e.from<s&&e.to>r)&&t.ranges.push({from:r,to:s})}}a=!1}else if(i&&(s=hl(i.ranges,n.from,n.to)))a=2!=s;else if(!n.type.isAnonymous&&n.from<n.to&&(r=this.nest(n,this.input))){n.tree||ul(n);let s=e.findMounts(n.from,r.parser);if("function"==typeof r.overlay)t=new ol(r.parser,r.overlay,s,this.inner.length,n.from,n.tree,t);else{let e=pl(this.ranges,r.overlay||[new Ta(n.from,n.to)]);e.length&&this.inner.push(new sl(r.parser,r.parser.startParse(this.input,ml(s,e),e),r.overlay?r.overlay.map(e=>new Ta(e.from-n.from,e.to-n.from)):null,n.tree,e)),r.overlay?e.length&&(i={ranges:e,depth:0,prev:i}):a=!1}}else t&&(o=t.predicate(n))&&(!0===o&&(o=new Ta(n.from,n.to)),o.from<o.to&&t.ranges.push(o));if(a&&n.firstChild())t&&t.depth++,i&&i.depth++;else for(;!n.nextSibling();){if(!n.parent())break e;if(t&&!--t.depth){let e=pl(this.ranges,t.ranges);e.length&&this.inner.splice(t.index,0,new sl(t.parser,t.parser.startParse(this.input,ml(t.mounts,e),e),t.ranges.map(e=>new Ta(e.from-t.start,e.to-t.start)),t.target,e)),t=t.prev}i&&!--i.depth&&(i=i.prev)}}}}function hl(e,t,i){for(let n of e){if(n.from>=i)break;if(n.to>t)return n.from<=t&&n.to>=i?2:1}return 0}function cl(e,t,i,n,r,s){if(t<i){let o=e.buffer[t+1];n.push(e.slice(t,i,o)),r.push(o-s)}}function ul(e){let{node:t}=e,i=0;do{e.parent(),i++}while(!e.tree);let n=0,r=e.tree,s=0;for(;s=r.positions[n]+e.from,!(s<=t.from&&s+r.children[n].length>=t.to);n++);let o=r.children[n],a=o.buffer;function l(e,i,n,r,h){let c=e;for(;a[c+2]+s<=t.from;)c=a[c+3];let u=[],f=[];cl(o,e,c,u,f,r);let d=a[c+1],p=a[c+2],O=d+s==t.from&&p+s==t.to&&a[c]==t.type.id;return u.push(O?t.toTree():l(c+4,a[c+3],o.set.types[a[c]],d,p-d)),f.push(d-r),cl(o,a[c+3],i,u,f,r),new Ma(n,u,f,h)}r.children[n]=l(0,a.length,Za.none,0,o.length);for(let n=0;n<=i;n++)e.childAfter(t.from)}class fl{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(Ra.IncludeAnonymous|Ra.IgnoreMounts)}moveTo(e){let{cursor:t}=this,i=e-this.offset;for(;!this.done&&t.from<i;)t.to>=e&&t.enter(i,1,Ra.IgnoreOverlays|Ra.ExcludeBuffers)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof Ma))break;t=t.children[0]}return!1}}class dl{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let i=this.curFrag=e[0];this.curTo=null!==(t=i.tree.prop(al))&&void 0!==t?t:i.to,this.inner=new fl(i.tree,-i.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let t=this.curFrag=this.fragments[this.fragI];this.curTo=null!==(e=t.tree.prop(al))&&void 0!==e?e:t.to,this.inner=new fl(t.tree,-t.offset)}}findMounts(e,t){var i;let n=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let r=null===(i=e.tree)||void 0===i?void 0:i.prop(Aa.mounted);if(r&&r.parser==t)for(let t=this.fragI;t<this.fragments.length;t++){let i=this.fragments[t];if(i.from>=e.to)break;i.tree==this.curFrag.tree&&n.push({frag:i,pos:e.from-i.offset,mount:r})}}}return n}}function pl(e,t){let i=null,n=t;for(let r=1,s=0;r<e.length;r++){let o=e[r-1].to,a=e[r].from;for(;s<n.length;s++){let e=n[s];if(e.from>=a)break;e.to<=o||(i||(n=i=t.slice()),e.from<o?(i[s]=new Ta(e.from,o),e.to>a&&i.splice(s+1,0,new Ta(a,e.to))):e.to>a?i[s--]=new Ta(a,e.to):i.splice(s--,1))}}return n}function Ol(e,t,i,n){let r=0,s=0,o=!1,a=!1,l=-1e9,h=[];for(;;){let c=r==e.length?1e9:o?e[r].to:e[r].from,u=s==t.length?1e9:a?t[s].to:t[s].from;if(o!=a){let e=Math.max(l,i),t=Math.min(c,u,n);e<t&&h.push(new Ta(e,t))}if(l=Math.min(c,u),1e9==l)break;c==l&&(o?(o=!1,r++):o=!0),u==l&&(a?(a=!1,s++):a=!0)}return h}function ml(e,t){let i=[];for(let{pos:n,mount:r,frag:s}of e){let e=n+(r.overlay?r.overlay[0].from:0),o=e+r.tree.length,a=Math.max(s.from,e),l=Math.min(s.to,o);if(r.overlay){let o=Ol(t,r.overlay.map(e=>new Ta(e.from+n,e.to+n)),a,l);for(let t=0,n=a;;t++){let a=t==o.length,h=a?l:o[t].from;if(h>n&&i.push(new tl(n,h,r.tree,-e,s.from>=n||s.openStart,s.to<=h||s.openEnd)),a)break;n=o[t].to}}else i.push(new tl(a,l,r.tree,-e,s.from>=e||s.openStart,s.to<=o||s.openEnd))}return i}class gl{constructor(e,t,i,n,r,s,o,a,l,h=0,c){this.p=e,this.stack=t,this.state=i,this.reducePos=n,this.pos=r,this.score=s,this.buffer=o,this.bufferBase=a,this.curContext=l,this.lookAhead=h,this.parent=c}toString(){return`[${this.stack.filter((e,t)=>t%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,i=0){let n=e.parser.context;return new gl(e,[],t,i,i,0,[],0,n?new Sl(n,n.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){let t=e>>19,i=65535&e,{parser:n}=this.p,r=n.dynamicPrecedence(i);if(r&&(this.score+=r),0==t)return this.pushState(n.getGoto(this.state,i,!0),this.reducePos),i<n.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,4,!0),void this.reduceContext(i,this.reducePos);let s=this.stack.length-3*(t-1)-(262144&e?6:0),o=this.stack[s-2],a=this.stack[s-1],l=this.bufferBase+this.buffer.length-a;if(i<n.minRepeatTerm||131072&e){let e=n.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,o,e,l+4,!0)}if(262144&e)this.state=this.stack[s];else{let e=this.stack[s-3];this.state=n.getGoto(e,i,!0)}for(;this.stack.length>s;)this.stack.pop();this.reduceContext(i,o)}storeNode(e,t,i,n=4,r=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this,n=this.buffer.length;if(0==n&&e.parent&&(n=e.bufferBase-e.parent.bufferBase,e=e.parent),n>0&&0==e.buffer[n-4]&&e.buffer[n-1]>-1){if(t==i)return;if(e.buffer[n-2]>=t)return void(e.buffer[n-2]=i)}}if(r&&this.pos!=i){let r=this.buffer.length;if(r>0&&0!=this.buffer[r-4])for(;r>0&&this.buffer[r-2]>i;)this.buffer[r]=this.buffer[r-4],this.buffer[r+1]=this.buffer[r-3],this.buffer[r+2]=this.buffer[r-2],this.buffer[r+3]=this.buffer[r-1],r-=4,n>4&&(n-=4);this.buffer[r]=e,this.buffer[r+1]=t,this.buffer[r+2]=i,this.buffer[r+3]=n}else this.buffer.push(e,t,i,n)}shift(e,t,i){let n=this.pos;if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let r=e,{parser:s}=this.p;(i>this.pos||t<=s.maxNode)&&(this.pos=i,s.stateFlag(r,1)||(this.reducePos=i)),this.pushState(r,n),this.shiftContext(t,n),t<=s.maxNode&&this.buffer.push(t,n,i,4)}else this.pos=i,this.shiftContext(t,n),t<=this.p.parser.maxNode&&this.buffer.push(t,n,i,4)}apply(e,t,i){65536&e?this.reduce(e):this.shift(e,t,i)}useNode(e,t){let i=this.p.reused.length-1;(i<0||this.p.reused[i]!=e)&&(this.p.reused.push(e),i++);let n=this.pos;this.reducePos=this.pos=n+e.length,this.pushState(t,n),this.buffer.push(i,n,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,t=e.buffer.length;for(;t>0&&e.buffer[t-2]>e.reducePos;)t-=4;let i=e.buffer.slice(t),n=e.bufferBase+t;for(;e&&n==e.bufferBase;)e=e.parent;return new gl(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,i,n,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let i=e<=this.p.parser.maxNode;i&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,i?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new yl(this);;){let i=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==i)return!1;if(0==(65536&i))return!0;t.reduce(i)}}recoverByInsert(e){if(this.stack.length>=300)return[];let t=this.p.parser.nextStates(this.state);if(t.length>8||this.stack.length>=120){let i=[];for(let n,r=0;r<t.length;r+=2)(n=t[r+1])!=this.state&&this.p.parser.hasAction(n,e)&&i.push(t[r],n);if(this.stack.length<120)for(let e=0;i.length<8&&e<t.length;e+=2){let n=t[e+1];i.some((e,t)=>1&t&&e==n)||i.push(t[e],n)}t=i}let i=[];for(let e=0;e<t.length&&i.length<4;e+=2){let n=t[e+1];if(n==this.state)continue;let r=this.split();r.pushState(n,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(t[e],this.pos),r.score-=200,i.push(r)}return i}forceReduce(){let e=this.p.parser.stateSlot(this.state,5);if(0==(65536&e))return!1;let{parser:t}=this.p;if(!t.validAction(this.state,e)){let i=e>>19,n=65535&e,r=this.stack.length-3*i;if(r<0||t.getGoto(this.stack[r],n,!1)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(e),!0}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(3!=this.stack.length)return!1;let{parser:e}=this.p;return 65535==e.data[e.stateSlot(this.state,1)]&&!e.stateSlot(this.state,4)}restart(){this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let t=0;t<this.stack.length;t+=3)if(this.stack[t]!=e.stack[t])return!1;return!0}get parser(){return this.p.parser}dialectEnabled(e){return this.p.parser.dialect.flags[e]}shiftContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.shift(this.curContext.context,e,this,this.p.stream.reset(t)))}reduceContext(e,t){this.curContext&&this.updateContext(this.curContext.tracker.reduce(this.curContext.context,e,this,this.p.stream.reset(t)))}emitContext(){let e=this.buffer.length-1;(e<0||-3!=this.buffer[e])&&this.buffer.push(this.curContext.hash,this.reducePos,this.reducePos,-3)}emitLookAhead(){let e=this.buffer.length-1;(e<0||-4!=this.buffer[e])&&this.buffer.push(this.lookAhead,this.reducePos,this.reducePos,-4)}updateContext(e){if(e!=this.curContext.context){let t=new Sl(this.curContext.tracker,e);t.hash!=this.curContext.hash&&this.emitContext(),this.curContext=t}}setLookAhead(e){e>this.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class Sl{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}var bl;!function(e){e[e.Insert=200]="Insert",e[e.Delete=190]="Delete",e[e.Reduce=100]="Reduce",e[e.MaxNext=4]="MaxNext",e[e.MaxInsertStackDepth=300]="MaxInsertStackDepth",e[e.DampenInsertStackDepth=120]="DampenInsertStackDepth"}(bl||(bl={}));class yl{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,i=e>>19;0==i?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(i-1);let n=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=n}}class xl{constructor(e,t,i){this.stack=e,this.pos=t,this.index=i,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new xl(e,t,t-e.bufferBase)}maybeNext(){let e=this.stack.parent;null!=e&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}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]}next(){this.index-=4,this.pos-=4,0==this.index&&this.maybeNext()}fork(){return new xl(this.stack,this.pos,this.index)}}class Ql{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const vl=new Ql;class wl{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=vl,this.rangeIndex=0,this.pos=this.chunkPos=t[0].from,this.range=t[0],this.end=t[t.length-1].to,this.readNext()}resolveOffset(e,t){let i=this.range,n=this.rangeIndex,r=this.pos+e;for(;r<i.from;){if(!n)return null;let e=this.ranges[--n];r-=i.from-e.to,i=e}for(;t<0?r>i.to:r>=i.to;){if(n==this.ranges.length-1)return null;let e=this.ranges[++n];r+=e.from-i.to,i=e}return r}clipPos(e){if(e>=this.range.from&&e<this.range.to)return e;for(let t of this.ranges)if(t.to>e)return Math.max(e,t.from);return this.end}peek(e){let t,i,n=this.chunkOff+e;if(n>=0&&n<this.chunk.length)t=this.pos+e,i=this.chunk.charCodeAt(n);else{let n=this.resolveOffset(e,1);if(null==n)return-1;if(t=n,t>=this.chunk2Pos&&t<this.chunk2Pos+this.chunk2.length)i=this.chunk2.charCodeAt(t-this.chunk2Pos);else{let e=this.rangeIndex,n=this.range;for(;n.to<=t;)n=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=t),t+this.chunk2.length>n.to&&(this.chunk2=this.chunk2.slice(0,n.to-t)),i=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),i}acceptToken(e,t=0){let i=t?this.resolveOffset(t,-1):this.pos;if(null==i||i<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=i}getChunk(){if(this.pos>=this.chunk2Pos&&this.pos<this.chunk2Pos+this.chunk2.length){let{chunk:e,chunkPos:t}=this;this.chunk=this.chunk2,this.chunkPos=this.chunk2Pos,this.chunk2=e,this.chunk2Pos=t,this.chunkOff=this.pos-this.chunkPos}else{this.chunk2=this.chunk,this.chunk2Pos=this.chunkPos;let e=this.input.chunk(this.pos),t=this.pos+e.length;this.chunk=t>this.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,t){if(t?(this.token=t,t.start=e,t.lookAhead=e+1,t.value=t.extended=-1):this.token=vl,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e<this.range.from;)this.range=this.ranges[--this.rangeIndex];for(;e>=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e<this.chunkPos+this.chunk.length?this.chunkOff=e-this.chunkPos:(this.chunk="",this.chunkOff=0),this.readNext()}return this}read(e,t){if(e>=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.chunk2Pos&&t<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,t-this.chunk2Pos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let i="";for(let n of this.ranges){if(n.from>=t)break;n.to>e&&(i+=this.input.read(Math.max(n.from,e),Math.min(n.to,t)))}return i}}class $l{constructor(e,t){this.data=e,this.id=t}token(e,t){Pl(this.data,e,t,this.id)}}$l.prototype.contextual=$l.prototype.fallback=$l.prototype.extend=!1;class kl{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Pl(e,t,i,n){let r=0,s=1<<n,{parser:o}=i.p,{dialect:a}=o;e:for(;0!=(s&e[r]);){let i=e[r+1];for(let n=r+3;n<i;n+=2)if((e[n+1]&s)>0){let i=e[n];if(a.allows(i)&&(-1==t.token.value||t.token.value==i||o.overrides(i,t.token.value))){t.acceptToken(i);break}}let n=t.next,l=0,h=e[r+2];if(!(t.next<0&&h>l&&65535==e[i+3*h-3]&&65535==e[i+3*h-3])){for(;l<h;){let s=l+h>>1,o=i+s+(s<<1),a=e[o],c=e[o+1]||65536;if(n<a)h=s;else{if(!(n>=c)){r=e[o+2],t.advance();continue e}l=s+1}}break}r=e[i+3*h-1]}}function Tl(e,t=Uint16Array){if("string"!=typeof e)return e;let i=null;for(let n=0,r=0;n<e.length;){let s=0;for(;;){let t=e.charCodeAt(n++),i=!1;if(126==t){s=65535;break}t>=92&&t--,t>=34&&t--;let r=t-32;if(r>=46&&(r-=46,i=!0),s+=r,i)break;s*=46}i?i[r++]=s:i=new t(s)}return i}const Al="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let Cl=null;var Wl,Zl;function Vl(e,t,i){let n=e.cursor(Ra.IncludeAnonymous);for(n.moveTo(t);;)if(!(i<0?n.childBefore(t):n.childAfter(t)))for(;;){if((i<0?n.to<t:n.from>t)&&!n.type.isError)return i<0?Math.max(0,Math.min(n.to-1,t-25)):Math.min(e.length,Math.max(n.from+1,t+25));if(i<0?n.prevSibling():n.nextSibling())break;if(!n.parent())return i<0?0:e.length}}!function(e){e[e.Margin=25]="Margin"}(Wl||(Wl={}));class Xl{constructor(e,t){this.fragments=e,this.nodeSet=t,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?Vl(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Vl(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(e<this.nextStart)return null;for(;this.fragment&&this.safeTo<=e;)this.nextFragment();if(!this.fragment)return null;for(;;){let t=this.trees.length-1;if(t<0)return this.nextFragment(),null;let i=this.trees[t],n=this.index[t];if(n==i.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let r=i.children[n],s=this.start[t]+i.positions[n];if(s>e)return this.nextStart=s,null;if(r instanceof Ma){if(s==e){if(s<this.safeFrom)return null;let e=s+r.length;if(e<=this.safeTo){let t=r.prop(Aa.lookAhead);if(!t||e+t<this.fragment.to)return r}}this.index[t]++,s+r.length>=Math.max(this.safeFrom,e)&&(this.trees.push(r),this.start.push(s),this.index.push(0))}else this.index[t]++,this.nextStart=s+r.length}}}class _l{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new Ql)}getActions(e){let t=0,i=null,{parser:n}=e.p,{tokenizers:r}=n,s=n.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,a=0;for(let n=0;n<r.length;n++){if(0==(1<<n&s))continue;let l=r[n],h=this.tokens[n];if((!i||l.fallback)&&((l.contextual||h.start!=e.pos||h.mask!=s||h.context!=o)&&(this.updateCachedToken(h,l,e),h.mask=s,h.context=o),h.lookAhead>h.end+25&&(a=Math.max(h.lookAhead,a)),0!=h.value)){let n=t;if(h.extended>-1&&(t=this.addActions(e,h.extended,h.end,t)),t=this.addActions(e,h.value,h.end,t),!l.extend&&(i=h,t>n))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),i||e.pos!=this.stream.end||(i=new Ql,i.value=e.p.parser.eofTerm,i.start=i.end=e.pos,t=this.addActions(e,i.value,i.end,t)),this.mainToken=i,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Ql,{pos:i,p:n}=e;return t.start=i,t.end=Math.min(i+1,n.stream.end),t.value=i==n.stream.end?n.parser.eofTerm:0,t}updateCachedToken(e,t,i){let n=this.stream.clipPos(i.pos);if(t.token(this.stream.reset(n,e),i),e.value>-1){let{parser:t}=i.p;for(let n=0;n<t.specialized.length;n++)if(t.specialized[n]==e.value){let r=t.specializers[n](this.stream.read(e.start,e.end),i);if(r>=0&&i.p.parser.dialect.allows(r>>1)){0==(1&r)?e.value=r>>1:e.extended=r>>1;break}}}else e.value=0,e.end=this.stream.clipPos(n+1)}putAction(e,t,i,n){for(let t=0;t<n;t+=3)if(this.actions[t]==e)return n;return this.actions[n++]=e,this.actions[n++]=t,this.actions[n++]=i,n}addActions(e,t,i,n){let{state:r}=e,{parser:s}=e.p,{data:o}=s;for(let e=0;e<2;e++)for(let a=s.stateSlot(r,e?2:1);;a+=3){if(65535==o[a]){if(1!=o[a+1]){0==n&&2==o[a+1]&&(n=this.putAction(Ul(o,a+2),t,i,n));break}a=Ul(o,a+2)}o[a]==t&&(n=this.putAction(Ul(o,a+1),t,i,n))}return n}}!function(e){e[e.Distance=5]="Distance",e[e.MaxRemainingPerStep=3]="MaxRemainingPerStep",e[e.MinBufferLengthPrune=500]="MinBufferLengthPrune",e[e.ForceReduceLimit=10]="ForceReduceLimit",e[e.CutDepth=15e3]="CutDepth",e[e.CutTo=9e3]="CutTo"}(Zl||(Zl={}));class Rl{constructor(e,t,i,n){this.parser=e,this.input=t,this.ranges=n,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.stream=new wl(t,n),this.tokens=new _l(e,this.stream),this.topTerm=e.top[1];let{from:r}=n[0];this.stacks=[gl.start(this,e.top[0],r)],this.fragments=i.length&&this.stream.end-r>4*e.bufferLength?new Xl(i,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,i=this.stacks,n=this.minStackPos,r=this.stacks=[];for(let s=0;s<i.length;s++){let o=i[s];for(;;){if(this.tokens.mainToken=null,o.pos>n)r.push(o);else{if(this.advanceStack(o,r,i))continue;{e||(e=[],t=[]),e.push(o);let i=this.tokens.getMainToken(o);t.push(i.value,i.end)}}break}}if(!r.length){let t=e&&zl(e);if(t)return this.stackToTree(t);if(this.parser.strict)throw Al&&e&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+n);this.recovering||(this.recovering=5)}if(this.recovering&&e){let i=null!=this.stoppedAt&&e[0].pos>this.stoppedAt?e[0]:this.runRecovery(e,t,r);if(i)return this.stackToTree(i.forceAll())}if(this.recovering){let e=1==this.recovering?1:3*this.recovering;if(r.length>e)for(r.sort((e,t)=>t.score-e.score);r.length>e;)r.pop();r.some(e=>e.reducePos>n)&&this.recovering--}else if(r.length>1)e:for(let e=0;e<r.length-1;e++){let t=r[e];for(let i=e+1;i<r.length;i++){let n=r[i];if(t.sameState(n)||t.buffer.length>500&&n.buffer.length>500){if(!((t.score-n.score||t.buffer.length-n.buffer.length)>0)){r.splice(e--,1);continue e}r.splice(i--,1)}}}this.minStackPos=r[0].pos;for(let e=1;e<r.length;e++)r[e].pos<this.minStackPos&&(this.minStackPos=r[e].pos);return null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}advanceStack(e,t,i){let n=e.pos,{parser:r}=this,s=Al?this.stackID(e)+" -> ":"";if(null!=this.stoppedAt&&n>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,i=t?e.curContext.hash:0;for(let o=this.fragments.nodeAt(n);o;){let n=this.parser.nodeSet.types[o.type.id]==o.type?r.getGoto(e.state,o.type.id):-1;if(n>-1&&o.length&&(!t||(o.prop(Aa.contextHash)||0)==i))return e.useNode(o,n),Al&&console.log(s+this.stackID(e)+` (via reuse of ${r.getName(o.type.id)})`),!0;if(!(o instanceof Ma)||0==o.children.length||o.positions[0]>0)break;let a=o.children[0];if(!(a instanceof Ma&&0==o.positions[0]))break;o=a}}let o=r.stateSlot(e.state,4);if(o>0)return e.reduce(o),Al&&console.log(s+this.stackID(e)+` (via always-reduce ${r.getName(65535&o)})`),!0;if(e.stack.length>=15e3)for(;e.stack.length>9e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let o=0;o<a.length;){let l=a[o++],h=a[o++],c=a[o++],u=o==a.length||!i,f=u?e:e.split();if(f.apply(l,h,c),Al&&console.log(s+this.stackID(f)+` (via ${0==(65536&l)?"shift":"reduce of "+r.getName(65535&l)} for ${r.getName(h)} @ ${n}${f==e?"":", split"})`),u)return!0;f.pos>n?t.push(f):i.push(f)}return!1}advanceFully(e,t){let i=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>i)return Ml(e,t),!0}}runRecovery(e,t,i){let n=null,r=!1;for(let s=0;s<e.length;s++){let o=e[s],a=t[s<<1],l=t[1+(s<<1)],h=Al?this.stackID(o)+" -> ":"";if(o.deadEnd){if(r)continue;if(r=!0,o.restart(),Al&&console.log(h+this.stackID(o)+" (restarted)"),this.advanceFully(o,i))continue}let c=o.split(),u=h;for(let e=0;c.forceReduce()&&e<10;e++){if(Al&&console.log(u+this.stackID(c)+" (via force-reduce)"),this.advanceFully(c,i))break;Al&&(u=this.stackID(c)+" -> ")}for(let e of o.recoverByInsert(a))Al&&console.log(h+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,i);this.stream.end>o.pos?(l==o.pos&&(l++,a=0),o.recoverByDelete(a,l),Al&&console.log(h+this.stackID(o)+` (via recover-delete ${this.parser.getName(a)})`),Ml(o,i)):(!n||n.score<o.score)&&(n=o)}return n}stackToTree(e){return e.close(),Ma.build({buffer:xl.create(e),nodeSet:this.parser.nodeSet,topID:this.topTerm,maxBufferLength:this.parser.bufferLength,reused:this.reused,start:this.ranges[0].from,length:e.pos-this.ranges[0].from,minRepeatType:this.parser.minRepeatTerm})}stackID(e){let t=(Cl||(Cl=new WeakMap)).get(e);return t||Cl.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Ml(e,t){for(let i=0;i<t.length;i++){let n=t[i];if(n.pos==e.pos&&n.sameState(e))return void(t[i].score<e.score&&(t[i]=e))}t.push(e)}class ql{constructor(e,t,i){this.source=e,this.flags=t,this.disabled=i}allows(e){return!this.disabled||0==this.disabled[e]}}const Il=e=>e;class El{constructor(e){this.start=e.start,this.shift=e.shift||Il,this.reduce=e.reduce||Il,this.reuse=e.reuse||Il,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class Dl extends il{constructor(e){if(super(),this.wrappers=[],14!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let i=0;i<e.repeatNodeCount;i++)t.push("");let i=Object.keys(e.topRules).map(t=>e.topRules[t][1]),n=[];for(let e=0;e<t.length;e++)n.push([]);function r(e,t,i){n[e].push([t,t.deserialize(String(i))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];"string"==typeof e&&(e=Aa[e]);for(let i=1;i<t.length;){let n=t[i++];if(n>=0)r(n,e,t[i++]);else{let s=t[i+-n];for(let o=-n;o>0;o--)r(t[i++],e,s);i++}}}this.nodeSet=new Va(t.map((t,r)=>Za.define({name:r>=this.minRepeatTerm?void 0:t,id:r,props:n[r],top:i.indexOf(r)>-1,error:0==r,skipped:e.skippedNodes&&e.skippedNodes.indexOf(r)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=ka;let s=Tl(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let e=0;e<this.specializerSpecs.length;e++)this.specialized[e]=this.specializerSpecs[e].term;this.specializers=this.specializerSpecs.map(Ll),this.states=Tl(e.states,Uint32Array),this.data=Tl(e.stateData),this.goto=Tl(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(e=>"number"==typeof e?new $l(s,e):e),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,t,i){let n=new Rl(this,e,t,i);for(let r of this.wrappers)n=r(n,e,t,i);return n}getGoto(e,t,i=!1){let n=this.goto;if(t>=n[0])return-1;for(let r=n[t+1];;){let t=n[r++],s=1&t,o=n[r++];if(s&&i)return o;for(let i=r+(t>>1);r<i;r++)if(n[r]==e)return o;if(s)return-1}}hasAction(e,t){let i=this.data;for(let n=0;n<2;n++)for(let r,s=this.stateSlot(e,n?2:1);;s+=3){if(65535==(r=i[s])){if(1!=i[s+1]){if(2==i[s+1])return Ul(i,s+2);break}r=i[s=Ul(i,s+2)]}if(r==t||0==r)return Ul(i,s+1)}return 0}stateSlot(e,t){return this.states[6*e+t]}stateFlag(e,t){return(this.stateSlot(e,0)&t)>0}validAction(e,t){if(t==this.stateSlot(e,4))return!0;for(let i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])return!1;i=Ul(this.data,i+2)}if(t==Ul(this.data,i+1))return!0}}nextStates(e){let t=[];for(let i=this.stateSlot(e,1);;i+=3){if(65535==this.data[i]){if(1!=this.data[i+1])break;i=Ul(this.data,i+2)}if(0==(1&this.data[i+2])){let e=this.data[i+1];t.some((t,i)=>1&i&&t==e)||t.push(this.data[i],e)}}return t}overrides(e,t){let i=Yl(this.data,this.tokenPrecTable,t);return i<0||Yl(this.data,this.tokenPrecTable,e)<i}configure(e){let t=Object.assign(Object.create(Dl.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let i=this.topRules[e.top];if(!i)throw new RangeError("Invalid top rule name "+e.top);t.top=i}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let i=e.tokenizers.find(e=>e.from==t);return i?i.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((i,n)=>{let r=e.specializers.find(e=>e.from==i.external);if(!r)return i;let s=Object.assign(Object.assign({},i),{external:r.to});return t.specializers[n]=Ll(s),s})),e.contextTracker&&(t.context=e.contextTracker),e.dialect&&(t.dialect=this.parseDialect(e.dialect)),null!=e.strict&&(t.strict=e.strict),e.wrap&&(t.wrappers=t.wrappers.concat(e.wrap)),null!=e.bufferLength&&(t.bufferLength=e.bufferLength),t}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let t=this.dynamicPrecedences;return null==t?0:t[e]||0}parseDialect(e){let t=Object.keys(this.dialects),i=t.map(()=>!1);if(e)for(let n of e.split(" ")){let e=t.indexOf(n);e>=0&&(i[e]=!0)}let n=null;for(let e=0;e<t.length;e++)if(!i[e])for(let i,r=this.dialects[t[e]];65535!=(i=this.data[r++]);)(n||(n=new Uint8Array(this.maxTerm+1)))[i]=1;return new ql(e,i,n)}static deserialize(e){return new Dl(e)}}function Ul(e,t){return e[t]|e[t+1]<<16}function Yl(e,t,i){for(let n,r=t;65535!=(n=e[r]);r++)if(n==i)return r-t;return-1}function zl(e){let t=null;for(let i of e){let e=i.p.stoppedAt;(i.pos==i.p.stream.end||null!=e&&i.pos>e)&&i.p.parser.stateFlag(i.state,2)&&(!t||t.score<i.score)&&(t=i)}return t}function Ll(e){if(e.external){let t=e.extend?1:0;return(i,n)=>e.external(i,n)<<1|t}return e.get}let Bl=0;class Nl{constructor(e,t,i){this.set=e,this.base=t,this.modified=i,this.id=Bl++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new Nl([],null,[]);if(t.set.push(t),e)for(let i of e.set)t.set.push(i);return t}static defineModifier(){let e=new Gl;return t=>t.modified.indexOf(e)>-1?t:Gl.get(t.base||t,t.modified.concat(e).sort((e,t)=>e.id-t.id))}}let jl=0;class Gl{constructor(){this.instances=[],this.id=jl++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(i=>i.base==e&&Fl(t,i.modified));if(i)return i;let n=[],r=new Nl(n,e,t);for(let e of t)e.instances.push(r);let s=Hl(t);for(let t of e.set)if(!t.modified.length)for(let e of s)n.push(Gl.get(t,e));return r}}function Fl(e,t){return e.length==t.length&&e.every((e,i)=>e==t[i])}function Hl(e){let t=[[]];for(let i=0;i<e.length;i++)for(let n=0,r=t.length;n<r;n++)t.push(t[n].concat(e[i]));return t.sort((e,t)=>t.length-e.length)}function Jl(e){let t=Object.create(null);for(let i in e){let n=e[i];Array.isArray(n)||(n=[n]);for(let e of i.split(" "))if(e){let i=[],r=2,s=e;for(let t=0;;){if("..."==s&&t>0&&t+3==e.length){r=1;break}let n=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(s);if(!n)throw new RangeError("Invalid path: "+e);if(i.push("*"==n[0]?"":'"'==n[0][0]?JSON.parse(n[0]):n[0]),t+=n[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&"!"==o){r=0;break}if("/"!=o)throw new RangeError("Invalid path: "+e);s=e.slice(t)}let o=i.length-1,a=i[o];if(!a)throw new RangeError("Invalid path: "+e);let l=new eh(n,r,o>0?i.slice(0,o):null);t[a]=l.sort(t[a])}}return Kl.add(t)}const Kl=new Aa;class eh{constructor(e,t,i,n){this.tags=e,this.mode=t,this.context=i,this.next=n}get opaque(){return 0==this.mode}get inherit(){return 1==this.mode}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}}function th(e,t){let i=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)i[e.id]=t.class;else i[t.tag.id]=t.class;let{scope:n,all:r=null}=t||{};return{style:e=>{let t=r;for(let n of e)for(let e of n.set){let n=i[e.id];if(n){t=t?t+" "+n:n;break}}return t},scope:n}}function ih(e,t){let i=null;for(let n of e){let e=n.style(t);e&&(i=i?i+" "+e:e)}return i}function nh(e,t,i,n=0,r=e.length){let s=new rh(n,Array.isArray(t)?t:[t],i);s.highlightRange(e.cursor(),n,r,"",s.highlighters),s.flush(r)}eh.empty=new eh([],2,null);class rh{constructor(e,t,i){this.at=e,this.highlighters=t,this.span=i,this.class=""}startSpan(e,t){t!=this.class&&(this.flush(e),e>this.at&&(this.at=e),this.class=t)}flush(e){e>this.at&&this.class&&this.span(this.at,e,this.class)}highlightRange(e,t,i,n,r){let{type:s,from:o,to:a}=e;if(o>=i||a<=t)return;s.isTop&&(r=this.highlighters.filter(e=>!e.scope||e.scope(s)));let l=n,h=sh(e)||eh.empty,c=ih(r,h.tags);if(c&&(l&&(l+=" "),l+=c,1==h.mode&&(n+=(n?" ":"")+c)),this.startSpan(e.from,l),h.opaque)return;let u=e.tree&&e.tree.prop(Aa.mounted);if(u&&u.overlay){let s=e.node.enter(u.overlay[0].from+o,1),h=this.highlighters.filter(e=>!e.scope||e.scope(u.tree.type)),c=e.firstChild();for(let f=0,d=o;;f++){let p=f<u.overlay.length?u.overlay[f]:null,O=p?p.from+o:a,m=Math.max(t,d),g=Math.min(i,O);if(m<g&&c)for(;e.from<g&&(this.highlightRange(e,m,g,n,r),this.startSpan(Math.min(g,e.to),l),!(e.to>=O)&&e.nextSibling()););if(!p||O>i)break;d=p.to+o,d>t&&(this.highlightRange(s.cursor(),Math.max(t,p.from+o),Math.min(i,d),n,h),this.startSpan(d,l))}c&&e.parent()}else if(e.firstChild()){do{if(!(e.to<=t)){if(e.from>=i)break;this.highlightRange(e,t,i,n,r),this.startSpan(Math.min(i,e.to),l)}}while(e.nextSibling());e.parent()}}}function sh(e){let t=e.type.prop(Kl);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}const oh=Nl.define,ah=oh(),lh=oh(),hh=oh(lh),ch=oh(lh),uh=oh(),fh=oh(uh),dh=oh(uh),ph=oh(),Oh=oh(ph),mh=oh(),gh=oh(),Sh=oh(),bh=oh(Sh),yh=oh(),xh={comment:ah,lineComment:oh(ah),blockComment:oh(ah),docComment:oh(ah),name:lh,variableName:oh(lh),typeName:hh,tagName:oh(hh),propertyName:ch,attributeName:oh(ch),className:oh(lh),labelName:oh(lh),namespace:oh(lh),macroName:oh(lh),literal:uh,string:fh,docString:oh(fh),character:oh(fh),attributeValue:oh(fh),number:dh,integer:oh(dh),float:oh(dh),bool:oh(uh),regexp:oh(uh),escape:oh(uh),color:oh(uh),url:oh(uh),keyword:mh,self:oh(mh),null:oh(mh),atom:oh(mh),unit:oh(mh),modifier:oh(mh),operatorKeyword:oh(mh),controlKeyword:oh(mh),definitionKeyword:oh(mh),moduleKeyword:oh(mh),operator:gh,derefOperator:oh(gh),arithmeticOperator:oh(gh),logicOperator:oh(gh),bitwiseOperator:oh(gh),compareOperator:oh(gh),updateOperator:oh(gh),definitionOperator:oh(gh),typeOperator:oh(gh),controlOperator:oh(gh),punctuation:Sh,separator:oh(Sh),bracket:bh,angleBracket:oh(bh),squareBracket:oh(bh),paren:oh(bh),brace:oh(bh),content:ph,heading:Oh,heading1:oh(Oh),heading2:oh(Oh),heading3:oh(Oh),heading4:oh(Oh),heading5:oh(Oh),heading6:oh(Oh),contentSeparator:oh(ph),list:oh(ph),quote:oh(ph),emphasis:oh(ph),strong:oh(ph),link:oh(ph),monospace:oh(ph),strikethrough:oh(ph),inserted:oh(),deleted:oh(),changed:oh(),invalid:oh(),meta:yh,documentMeta:oh(yh),annotation:oh(yh),processingInstruction:oh(yh),definition:Nl.defineModifier(),constant:Nl.defineModifier(),function:Nl.defineModifier(),standard:Nl.defineModifier(),local:Nl.defineModifier(),special:Nl.defineModifier()},Qh=(th([{tag:xh.link,class:"tok-link"},{tag:xh.heading,class:"tok-heading"},{tag:xh.emphasis,class:"tok-emphasis"},{tag:xh.strong,class:"tok-strong"},{tag:xh.keyword,class:"tok-keyword"},{tag:xh.atom,class:"tok-atom"},{tag:xh.bool,class:"tok-bool"},{tag:xh.url,class:"tok-url"},{tag:xh.labelName,class:"tok-labelName"},{tag:xh.inserted,class:"tok-inserted"},{tag:xh.deleted,class:"tok-deleted"},{tag:xh.literal,class:"tok-literal"},{tag:xh.string,class:"tok-string"},{tag:xh.number,class:"tok-number"},{tag:[xh.regexp,xh.escape,xh.special(xh.string)],class:"tok-string2"},{tag:xh.variableName,class:"tok-variableName"},{tag:xh.local(xh.variableName),class:"tok-variableName tok-local"},{tag:xh.definition(xh.variableName),class:"tok-variableName tok-definition"},{tag:xh.special(xh.variableName),class:"tok-variableName2"},{tag:xh.definition(xh.propertyName),class:"tok-propertyName tok-definition"},{tag:xh.typeName,class:"tok-typeName"},{tag:xh.namespace,class:"tok-namespace"},{tag:xh.className,class:"tok-className"},{tag:xh.macroName,class:"tok-macroName"},{tag:xh.propertyName,class:"tok-propertyName"},{tag:xh.operator,class:"tok-operator"},{tag:xh.comment,class:"tok-comment"},{tag:xh.meta,class:"tok-meta"},{tag:xh.invalid,class:"tok-invalid"},{tag:xh.punctuation,class:"tok-punctuation"}]),1),vh=2,wh=3,$h=4,kh=5,Ph=35,Th=36,Ah=37,Ch=11,Wh=13;function Zh(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function Vh(e){return 9==e||10==e||13==e||32==e}let Xh=null,_h=null,Rh=0;function Mh(e,t){let i=e.pos+t;if(_h==e&&Rh==i)return Xh;for(;Vh(e.peek(t));)t++;let n="";for(;;){let i=e.peek(t);if(!Zh(i))break;n+=String.fromCharCode(i),t++}return _h=e,Rh=i,Xh=n||null}function qh(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const Ih=new El({start:null,shift:(e,t,i,n)=>t==Qh?new qh(Mh(n,1)||"",e):e,reduce:(e,t)=>t==Ch&&e?e.parent:e,reuse(e,t,i,n){let r=t.type.id;return r==Qh||r==Wh?new qh(Mh(n,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Eh=new kl((e,t)=>{if(60==e.next)if(e.advance(),47==e.next){e.advance();let i=Mh(e,0);if(!i)return e.acceptToken(kh);if(t.context&&i==t.context.name)return e.acceptToken(vh);for(let n=t.context;n;n=n.parent)if(n.name==i)return e.acceptToken(wh,-2);e.acceptToken($h)}else if(33!=e.next&&63!=e.next)return e.acceptToken(Qh)},{contextual:!0});function Dh(e,t){return new kl(i=>{for(let n=0,r=0;;r++){if(i.next<0){r&&i.acceptToken(e);break}if(i.next==t.charCodeAt(n)){if(n++,n==t.length){r>=t.length&&i.acceptToken(e,1-t.length);break}}else n=i.next==t.charCodeAt(0)?1:0;i.advance()}})}const Uh=Dh(Ph,"--\x3e"),Yh=Dh(Th,"?>"),zh=Dh(Ah,"]]>"),Lh=Jl({Text:xh.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":xh.angleBracket,TagName:xh.tagName,"MismatchedCloseTag/Tagname":[xh.tagName,xh.invalid],AttributeName:xh.attributeName,AttributeValue:xh.attributeValue,Is:xh.definitionOperator,"EntityReference CharacterReference":xh.character,Comment:xh.blockComment,ProcessingInst:xh.processingInstruction,DoctypeDecl:xh.documentMeta,Cdata:xh.special(xh.string)}),Bh=Dl.deserialize({version:14,states:",SOQOaOOOrOxO'#CfOzOpO'#CiO!tOaO'#CgOOOP'#Cg'#CgO!{OrO'#CrO#TOtO'#CsO#]OpO'#CtOOOP'#DS'#DSOOOP'#Cv'#CvQQOaOOOOOW'#Cw'#CwO#eOxO,59QOOOP,59Q,59QOOOO'#Cx'#CxO#mOpO,59TO#uO!bO,59TOOOP'#C{'#C{O$TOaO,59RO$[OpO'#CoOOOP,59R,59ROOOQ'#C|'#C|O$dOrO,59^OOOP,59^,59^OOOS'#C}'#C}O$lOtO,59_OOOP,59_,59_O$tOpO,59`O$|OpO,59`OOOP-E6t-E6tOOOW-E6u-E6uOOOP1G.l1G.lOOOO-E6v-E6vO%UO!bO1G.oO%UO!bO1G.oO%dOpO'#CkO%lO!bO'#CyO%zO!bO1G.oOOOP1G.o1G.oOOOP1G.w1G.wOOOP-E6y-E6yOOOP1G.m1G.mO&VOpO,59ZO&_OpO,59ZOOOQ-E6z-E6zOOOP1G.x1G.xOOOS-E6{-E6{OOOP1G.y1G.yO&gOpO1G.zO&gOpO1G.zOOOP1G.z1G.zO&oO!bO7+$ZO&}O!bO7+$ZOOOP7+$Z7+$ZOOOP7+$c7+$cO'YOpO,59VO'bOpO,59VO'jO!bO,59eOOOO-E6w-E6wO'xOpO1G.uO'xOpO1G.uOOOP1G.u1G.uO(QOpO7+$fOOOP7+$f7+$fO(YO!bO<<GuOOOP<<Gu<<GuOOOP<<G}<<G}O'bOpO1G.qO'bOpO1G.qO(eO#tO'#CnOOOO1G.q1G.qO(sOpO7+$aOOOP7+$a7+$aOOOP<<HQ<<HQOOOPAN=aAN=aOOOPAN=iAN=iO'bOpO7+$]OOOO7+$]7+$]OOOO'#Cz'#CzO({O#tO,59YOOOO,59Y,59YOOOP<<G{<<G{OOOO<<Gw<<GwOOOO-E6x-E6xOOOO1G.t1G.t",stateData:")Z~OPQOSVOTWOVWOWWOXWOiXOxPO}TO!PUO~OuZOw]O~O^`Oy^O~OPQOQcOSVOTWOVWOWWOXWOxPO}TO!PUO~ORdO~P!SOseO|gO~OthO!OjO~O^lOy^O~OuZOwoO~O^qOy^O~O[vO`sOdwOy^O~ORyO~P!SO^{Oy^O~OseO|}O~OthO!O!PO~O^!QOy^O~O[!SOy^O~O[!VO`sOd!WOy^O~Oa!YOy^O~Oy^O[mX`mXdmX~O[!VO`sOd!WO~O^!]Oy^O~O[!_Oy^O~O[!aOy^O~O[!cO`sOd!dOy^O~O[!cO`sOd!dO~Oa!eOy^O~Oy^Oz!gO~Oy^O[ma`madma~O[!jOy^O~O[!kOy^O~O[!lO`sOd!mO~OW!pOX!pOz!rO{!pO~O[!sOy^O~OW!pOX!pOz!vO{!pO~O",goto:"%[wPPPPPPPPPPxxP!OP!UPP!_!iP!oxxxP!u!{#R$Z$j$p$v$|PPPP%SXWORYbXRORYb_t`qru!T!U!bQ!h!YS!o!e!fR!t!nQdRRybXSORYbQYORmYQ[PRn[Q_QQkVjp_krz!R!T!X!Z!^!`!f!i!nQr`QzcQ!RlQ!TqQ!XsQ!ZtQ!^{Q!`!QQ!f!YQ!i!]R!n!eQu`S!UqrU![u!U!bR!b!TQ!q!gR!u!qQbRRxbQfTR|fQiUR!OiSXOYTaRb",nodeNames:"⚠ StartTag StartCloseTag MissingCloseTag StartCloseTag StartCloseTag Document Text EntityReference CharacterReference Cdata Element EndTag OpenTag TagName Attribute AttributeName Is AttributeValue CloseTag SelfCloseEndTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag DoctypeDecl",maxTerm:47,context:Ih,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"]],propSources:[Lh],skippedNodes:[0],repeatNodeCount:8,tokenData:"IX~R!XOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs'ssv$nvw(Zw}$n}!O*l!O!P$n!P!Q,{!Q![$n![!].e!]!^$n!^!_1v!_!`Cz!`!aDm!a!bE`!b!c$n!c!}.e!}#P$n#P#QFx#Q#R$n#R#S.e#S#T$n#T#o.e#o%W$n%W%o.e%o%p$n%p&a.e&a&b$n&b1p.e1p4U$n4U4d.e4d4e$n4e$IS.e$IS$I`$n$I`$Ib.e$Ib$Kh$n$Kh%#t.e%#t&/x$n&/x&Et.e&Et&FV$n&FV;'S.e;'S;:j1p;:j;=`&e<%l?&r$n?&r?Ah.e?Ah?BY$n?BY?Mn.e?MnO$nX$uWVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nP%dTVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_P%vP;=`<%l%_W&OT{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yW&bP;=`<%l%yX&hP;=`<%l$n_&t_VP{WyUOX$nXY&kYZ&kZ]$n]^&k^p$npq&kqr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ'zTzYVPOv%_w!^%_!_;'S%_;'S;=`%s<%lO%_~(^VOp(sqs(sst)ht!](s!^;'S(s;'S;=`)b<%lO(s~(vVOp(sqs(st!](s!]!^)]!^;'S(s;'S;=`)b<%lO(s~)bOW~~)eP;=`<%l(s~)kTOp)zq!])z!^;'S)z;'S;=`*f<%lO)z~)}UOp)zq!])z!]!^*a!^;'S)z;'S;=`*f<%lO)z~*fOX~~*iP;=`<%l)zZ*sYVP{WOr$nrs%_sv$nw}$n}!O+c!O!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZ+jYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a,Y!a;'S$n;'S;=`&e<%lO$nZ,cW|QVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n]-SYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!a-r!a;'S$n;'S;=`&e<%lO$n]-{WdSVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_.p!O`S^QVP{WOr$nrs%_sv$nw}$n}!O.e!O!P.e!P!Q$n!Q![.e![!].e!]!^$n!^!_%y!_!c$n!c!}.e!}#R$n#R#S.e#S#T$n#T#o.e#o$}$n$}%O.e%O%W$n%W%o.e%o%p$n%p&a.e&a&b$n&b1p.e1p4U.e4U4d.e4d4e$n4e$IS.e$IS$I`$n$I`$Ib.e$Ib$Je$n$Je$Jg.e$Jg$Kh$n$Kh%#t.e%#t&/x$n&/x&Et.e&Et&FV$n&FV;'S.e;'S;:j1p;:j;=`&e<%l?&r$n?&r?Ah.e?Ah?BY$n?BY?Mn.e?MnO$n_1sP;=`<%l.eX1{W{WOq%yqr2esv%yw!a%y!a!bCd!b;'S%y;'S;=`&_<%lO%yX2j]{WOr%ysv%yw}%y}!O3c!O!f%y!f!g4e!g!}%y!}#O9t#O#W%y#W#X@Q#X;'S%y;'S;=`&_<%lO%yX3hV{WOr%ysv%yw}%y}!O3}!O;'S%y;'S;=`&_<%lO%yX4UT}P{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX4jV{WOr%ysv%yw!q%y!q!r5P!r;'S%y;'S;=`&_<%lO%yX5UV{WOr%ysv%yw!e%y!e!f5k!f;'S%y;'S;=`&_<%lO%yX5pV{WOr%ysv%yw!v%y!v!w6V!w;'S%y;'S;=`&_<%lO%yX6[V{WOr%ysv%yw!{%y!{!|6q!|;'S%y;'S;=`&_<%lO%yX6vV{WOr%ysv%yw!r%y!r!s7]!s;'S%y;'S;=`&_<%lO%yX7bV{WOr%ysv%yw!g%y!g!h7w!h;'S%y;'S;=`&_<%lO%yX7|X{WOr7wrs8isv7wvw8iw!`7w!`!a9W!a;'S7w;'S;=`9n<%lO7wP8lTO!`8i!`!a8{!a;'S8i;'S;=`9Q<%lO8iP9QOiPP9TP;=`<%l8iX9_TiP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yX9qP;=`<%l7wX9yX{WOr%ysv%yw!e%y!e!f:f!f#V%y#V#W=t#W;'S%y;'S;=`&_<%lO%yX:kV{WOr%ysv%yw!f%y!f!g;Q!g;'S%y;'S;=`&_<%lO%yX;VV{WOr%ysv%yw!c%y!c!d;l!d;'S%y;'S;=`&_<%lO%yX;qV{WOr%ysv%yw!v%y!v!w<W!w;'S%y;'S;=`&_<%lO%yX<]V{WOr%ysv%yw!c%y!c!d<r!d;'S%y;'S;=`&_<%lO%yX<wV{WOr%ysv%yw!}%y!}#O=^#O;'S%y;'S;=`&_<%lO%yX=eT{WxPOr%ysv%yw;'S%y;'S;=`&_<%lO%yX=yV{WOr%ysv%yw#W%y#W#X>`#X;'S%y;'S;=`&_<%lO%yX>eV{WOr%ysv%yw#T%y#T#U>z#U;'S%y;'S;=`&_<%lO%yX?PV{WOr%ysv%yw#h%y#h#i?f#i;'S%y;'S;=`&_<%lO%yX?kV{WOr%ysv%yw#T%y#T#U<r#U;'S%y;'S;=`&_<%lO%yX@VV{WOr%ysv%yw#c%y#c#d@l#d;'S%y;'S;=`&_<%lO%yX@qV{WOr%ysv%yw#V%y#V#WAW#W;'S%y;'S;=`&_<%lO%yXA]V{WOr%ysv%yw#h%y#h#iAr#i;'S%y;'S;=`&_<%lO%yXAwV{WOr%ysv%yw#m%y#m#nB^#n;'S%y;'S;=`&_<%lO%yXBcV{WOr%ysv%yw#d%y#d#eBx#e;'S%y;'S;=`&_<%lO%yXB}V{WOr%ysv%yw#X%y#X#Y7w#Y;'S%y;'S;=`&_<%lO%yXCkT!PP{WOr%ysv%yw;'S%y;'S;=`&_<%lO%yZDTWaQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n_DvW[UVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZEgYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aFV!a;'S$n;'S;=`&e<%lO$nZF`W!OQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$nZGPYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_#P$n#P#QGo#Q;'S$n;'S;=`&e<%lO$nZGvYVP{WOr$nrs%_sv$nw!^$n!^!_%y!_!`$n!`!aHf!a;'S$n;'S;=`&e<%lO$nZHoWwQVP{WOr$nrs%_sv$nw!^$n!^!_%y!_;'S$n;'S;=`&e<%lO$n",tokenizers:[Eh,Uh,Yh,zh,0,1,2,3],topRules:{Document:[0,6]},tokenPrec:0});var Nh;const jh=new Aa;function Gh(e){return R.define({combine:e?t=>t.concat(e):void 0})}class Fh{constructor(e,t,i=[],n=""){this.data=e,this.name=n,$e.prototype.hasOwnProperty("tree")||Object.defineProperty($e.prototype,"tree",{get(){return Kh(this)}}),this.parser=t,this.extension=[lc.of(this),$e.languageData.of((e,t,i)=>e.facet(Hh(e,t,i)))].concat(i)}isActiveAt(e,t,i=-1){return Hh(e,t,i)==this.data}findRegions(e){let t=e.facet(lc);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],n=(e,t)=>{if(e.prop(jh)==this.data)return void i.push({from:t,to:t+e.length});let r=e.prop(Aa.mounted);if(r){if(r.tree.prop(jh)==this.data){if(r.overlay)for(let e of r.overlay)i.push({from:e.from+t,to:e.to+t});else i.push({from:t,to:t+e.length});return}if(r.overlay){let e=i.length;if(n(r.tree,r.overlay[0].from+t),i.length>e)return}}for(let i=0;i<e.children.length;i++){let r=e.children[i];r instanceof Ma&&n(r,e.positions[i]+t)}};return n(Kh(e),0),i}get allowsNesting(){return!0}}function Hh(e,t,i){let n=e.facet(lc);if(!n)return null;let r=n.data;if(n.allowsNesting)for(let n=Kh(e).topNode;n;n=n.enter(t,i,Ra.ExcludeBuffers))r=n.type.prop(jh)||r;return r}Fh.setState=ce.define();class Jh extends Fh{constructor(e,t,i){super(e,t,[],i),this.parser=t}static define(e){let t=Gh(e.languageData);return new Jh(t,e.parser.configure({props:[jh.add(e=>e.isTop?t:void 0)]}),e.name)}configure(e,t){return new Jh(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Kh(e){let t=e.field(Fh.state,!1);return t?t.tree:Ma.empty}class ec{constructor(e,t=e.length){this.doc=e,this.length=t,this.cursorPos=0,this.string="",this.cursor=e.iter()}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,t){let i=this.cursorPos-this.string.length;return e<i||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}}let tc=null;class ic{constructor(e,t,i=[],n,r,s,o,a){this.parser=e,this.state=t,this.fragments=i,this.tree=n,this.treeLen=r,this.viewport=s,this.skipped=o,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new ic(e,t,[],Ma.empty,0,i,[],null)}startParse(){return this.parser.startParse(new ec(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ma.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if("number"==typeof e){let t=Date.now()+e;e=()=>Date.now()>t}for(this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let n=this.parse.advance();if(n){if(this.fragments=this.withoutTempSkipped(tl.addTree(n,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(i=this.parse.stoppedAt)&&void 0!==i?i:this.state.doc.length,this.tree=n,this.parse=null,!(this.treeLen<(null!=t?t:this.state.doc.length)))return!0;this.parse=this.startParse()}if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((null==this.parse.stoppedAt||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(tl.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=tc;tc=this;try{return e()}finally{tc=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=nc(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:n,treeLen:r,viewport:s,skipped:o}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,i,n,r)=>t.push({fromA:e,toA:i,fromB:n,toB:r})),i=tl.applyChanges(i,t),n=Ma.empty,r=0,s={from:e.mapPos(s.from,-1),to:e.mapPos(s.to,1)},this.skipped.length){o=[];for(let t of this.skipped){let i=e.mapPos(t.from,1),n=e.mapPos(t.to,-1);i<n&&o.push({from:i,to:n})}}}return new ic(this.parser,t,i,n,r,s,o,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let t=0;t<this.skipped.length;t++){let{from:i,to:n}=this.skipped[t];i<e.to&&n>e.from&&(this.fragments=nc(this.fragments,i,n),this.skipped.splice(t--,1))}return!(this.skipped.length>=t)&&(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends il{createParse(t,i,n){let r=n[0].from,s=n[n.length-1].to;return{parsedPos:r,advance(){let t=tc;if(t){for(let e of n)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=s,new Ma(Za.none,[],[],s-r)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return tc}}function nc(e,t,i){return tl.applyChanges(e,[{fromA:t,toA:i,fromB:t,toB:i}])}class rc{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new rc(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=ic.create(e.facet(lc).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new rc(i)}}Fh.state=Y.define({create:rc.init,update(e,t){for(let e of t.effects)if(e.is(Fh.setState))return e.value;return t.startState.facet(lc)!=t.state.facet(lc)?rc.init(t.state):e.apply(t)}});let sc=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(sc=e=>{let t=-1,i=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(i):cancelIdleCallback(t)});const oc="undefined"!=typeof navigator&&(null===(Nh=navigator.scheduling)||void 0===Nh?void 0:Nh.isInputPending)?()=>navigator.scheduling.isInputPending():null,ac=Di.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 t=this.view.state.field(Fh.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),e.docChanged&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Fh.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=sc(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:n}}=this.view,r=i.field(Fh.state);if(r.tree==r.context.tree&&r.context.isDone(n+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!oc?Math.max(25,e.timeRemaining()-5):1e9),o=r.context.treeLen<n&&i.doc.length>n+1e3,a=r.context.work(()=>oc&&oc()||Date.now()>s,n+(o?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:Fh.setState.of(new rc(r.context))})),this.chunkBudget>0&&(!a||o)&&this.scheduleWork(),this.checkAsyncSchedule(r.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(e=>Mi(this.view.state,e)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),lc=R.define({combine:e=>e.length?e[0]:null,enables:e=>[Fh.state,ac,gs.contentAttributes.compute([e],t=>{let i=t.facet(e);return i&&i.name?{"data-language":i.name}:{}})]});class hc{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class cc{constructor(e,t,i,n,r,s){this.name=e,this.alias=t,this.extensions=i,this.filename=n,this.loadFunc=r,this.support=s,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:t,support:i}=e;if(!t){if(!i)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(i)}return new cc(e.name,(e.alias||[]).concat(e.name).map(e=>e.toLowerCase()),e.extensions||[],e.filename,t,i)}static matchFilename(e,t){for(let i of e)if(i.filename&&i.filename.test(t))return i;let i=/\.([^.]+)$/.exec(t);if(i)for(let t of e)if(t.extensions.indexOf(i[1])>-1)return t;return null}static matchLanguageName(e,t,i=!0){t=t.toLowerCase();for(let i of e)if(i.alias.some(e=>e==t))return i;if(i)for(let i of e)for(let e of i.alias){let n=t.indexOf(e);if(n>-1&&(e.length>2||!/\w/.test(t[n-1])&&!/\w/.test(t[n+e.length])))return i}return null}}const uc=R.define(),fc=R.define({combine:e=>{if(!e.length)return" ";if(!/^(?: +|\t+)$/.test(e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return e[0]}});function dc(e){let t=e.facet(fc);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function pc(e,t){let i="",n=e.tabSize;if(9==e.facet(fc).charCodeAt(0))for(;t>=n;)i+="\t",t-=n;for(let e=0;e<t;e++)i+=" ";return i}function Oc(e,t){e instanceof $e&&(e=new mc(e));for(let i of e.state.facet(uc)){let n=i(e,t);if(void 0!==n)return n}let i=Kh(e.state);return i?Sc(e,i,t):null}class mc{constructor(e,t={}){this.state=e,this.options=t,this.unit=dc(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:n,simulateDoubleBreak:r}=this.options;return null!=n&&n>=i.from&&n<=i.to?r&&n==e?{text:"",from:e}:(t<0?n<e:n<=e)?{text:i.text.slice(n-i.from),from:n}:{text:i.text.slice(0,n-i.from),from:i.from}:i}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:i,from:n}=this.lineAt(e,t);return i.slice(e-n,Math.min(i.length,e+100-n))}column(e,t=1){let{text:i,from:n}=this.lineAt(e,t),r=this.countColumn(i,e-n),s=this.options.overrideIndentation?this.options.overrideIndentation(n):-1;return s>-1&&(r+=s-this.countColumn(i,i.search(/\S|$/))),r}countColumn(e,t=e.length){return ze(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:n}=this.lineAt(e,t),r=this.options.overrideIndentation;if(r){let e=r(n);if(e>-1)return e}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const gc=new Aa;function Sc(e,t,i){return xc(t.resolveInner(i).enterUnfinishedNodesBefore(i),i,e)}function bc(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function yc(e){let t=e.type.prop(gc);if(t)return t;let i,n=e.firstChild;if(n&&(i=n.type.prop(Aa.closedBy))){let t=e.lastChild,n=t&&i.indexOf(t.name)>-1;return e=>Pc(e,!0,1,void 0,n&&!bc(e)?t.from:void 0)}return null==e.parent?Qc:null}function xc(e,t,i){for(;e;e=e.parent){let n=yc(e);if(n)return n(vc.create(i,t,e))}return null}function Qc(){return 0}class vc extends mc{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.node=i}static create(e,t,i){return new vc(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){let e=this.state.doc.lineAt(this.node.from);for(;;){let t=this.node.resolve(e.from);for(;t.parent&&t.parent.from==t.from;)t=t.parent;if(wc(t,this.node))break;e=this.state.doc.lineAt(t.from)}return this.lineIndent(e.from)}continue(){let e=this.node.parent;return e?xc(e,this.pos,this.base):0}}function wc(e,t){for(let i=t;i;i=i.parent)if(e==i)return!0;return!1}function $c(e){let t=e.node,i=t.childAfter(t.from),n=t.lastChild;if(!i)return null;let r=e.options.simulateBreak,s=e.state.doc.lineAt(i.from),o=null==r||r<=s.from?s.to:Math.min(s.to,r);for(let e=i.to;;){let r=t.childAfter(e);if(!r||r==n)return null;if(!r.type.isSkipped)return r.from<o?i:null;e=r.to}}function kc({closing:e,align:t=!0,units:i=1}){return n=>Pc(n,t,i,e)}function Pc(e,t,i,n,r){let s=e.textAfter,o=s.match(/^\s*/)[0].length,a=n&&s.slice(o,o+n.length)==n||r==e.pos+o,l=t?$c(e):null;return l?a?e.column(l.from):e.column(l.to):e.baseIndent+(a?0:e.unit*i)}const Tc=e=>e.baseIndent;function Ac({except:e,units:t=1}={}){return i=>{let n=e&&e.test(i.textAfter);return i.baseIndent+(n?0:t*i.unit)}}const Cc=200;function Wc(){return $e.transactionFilter.of(e=>{if(!e.docChanged||!e.isUserEvent("input.type")&&!e.isUserEvent("input.complete"))return e;let t=e.startState.languageDataAt("indentOnInput",e.startState.selection.main.head);if(!t.length)return e;let i=e.newDoc,{head:n}=e.newSelection.main,r=i.lineAt(n);if(n>r.from+Cc)return e;let s=i.sliceString(r.from,n);if(!t.some(e=>e.test(s)))return e;let{state:o}=e,a=-1,l=[];for(let{head:e}of o.selection.ranges){let t=o.doc.lineAt(e);if(t.from==a)continue;a=t.from;let i=Oc(o,t.from);if(null==i)continue;let n=/^\s*/.exec(t.text)[0],r=pc(o,i);n!=r&&l.push({from:t.from,to:t.from+n.length,insert:r})}return l.length?[e,{changes:l,sequential:!0}]:e})}const Zc=R.define(),Vc=new Aa;function Xc(e){let t=e.firstChild,i=e.lastChild;return t&&t.to<i.from?{from:t.to,to:i.type.isError?e.to:i.from}:null}function _c(e,t,i){let n=Kh(e);if(n.length<i)return null;let r=null;for(let s=n.resolveInner(i,1);s;s=s.parent){if(s.to<=i||s.from>i)continue;if(r&&s.from<t)break;let o=s.type.prop(Vc);if(o&&(s.to<n.length-50||n.length==e.doc.length||!Rc(s))){let n=o(s,e);n&&n.from<=i&&n.from>=t&&n.to>i&&(r=n)}}return r}function Rc(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function Mc(e,t,i){for(let n of e.facet(Zc)){let r=n(e,t,i);if(r)return r}return _c(e,t,i)}function qc(e,t){let i=t.mapPos(e.from,1),n=t.mapPos(e.to,-1);return i>=n?void 0:{from:i,to:n}}const Ic=ce.define({map:qc}),Ec=ce.define({map:qc});function Dc(e){let t=[];for(let{head:i}of e.state.selection.ranges)t.some(e=>e.from<=i&&e.to>=i)||t.push(e.lineBlockAt(i));return t}const Uc=Y.define({create:()=>Oi.none,update(e,t){e=e.map(t.changes);for(let i of t.effects)i.is(Ic)&&!zc(e,i.value.from,i.value.to)?e=e.update({add:[Hc.range(i.value.from,i.value.to)]}):i.is(Ec)&&(e=e.update({filter:(e,t)=>i.value.from!=e||i.value.to!=t,filterFrom:i.value.from,filterTo:i.value.to}));if(t.selection){let i=!1,{head:n}=t.selection.main;e.between(n,n,(e,t)=>{e<n&&t>n&&(i=!0)}),i&&(e=e.update({filterFrom:n,filterTo:n,filter:(e,t)=>t<=n||e>=n}))}return e},provide:e=>gs.decorations.from(e),toJSON(e,t){let i=[];return e.between(0,t.doc.length,(e,t)=>{i.push(e,t)}),i},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let i=0;i<e.length;){let n=e[i++],r=e[i++];if("number"!=typeof n||"number"!=typeof r)throw new RangeError("Invalid JSON for fold state");t.push(Hc.range(n,r))}return Oi.set(t,!0)}});function Yc(e,t,i){var n;let r=null;return null===(n=e.field(Uc,!1))||void 0===n||n.between(t,i,(e,t)=>{(!r||r.from>e)&&(r={from:e,to:t})}),r}function zc(e,t,i){let n=!1;return e.between(t,t,(e,r)=>{e==t&&r==i&&(n=!0)}),n}function Lc(e,t){return e.field(Uc,!1)?t:t.concat(ce.appendConfig.of(Fc()))}function Bc(e,t,i=!0){let n=e.state.doc.lineAt(t.from).number,r=e.state.doc.lineAt(t.to).number;return gs.announce.of(`${e.state.phrase(i?"Folded lines":"Unfolded lines")} ${n} ${e.state.phrase("to")} ${r}.`)}const Nc=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of Dc(e)){let i=Mc(e.state,t.from,t.to);if(i)return e.dispatch({effects:Lc(e.state,[Ic.of(i),Bc(e,i)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(Uc,!1))return!1;let t=[];for(let i of Dc(e)){let n=Yc(e.state,i.from,i.to);n&&t.push(Ec.of(n),Bc(e,n,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,i=[];for(let n=0;n<t.doc.length;){let r=e.lineBlockAt(n),s=Mc(t,r.from,r.to);s&&i.push(Ic.of(s)),n=(s?e.lineBlockAt(s.to):r).to+1}return i.length&&e.dispatch({effects:Lc(e.state,i)}),!!i.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(Uc,!1);if(!t||!t.size)return!1;let i=[];return t.between(0,e.state.doc.length,(e,t)=>{i.push(Ec.of({from:e,to:t}))}),e.dispatch({effects:i}),!0}}],jc={placeholderDOM:null,placeholderText:"…"},Gc=R.define({combine:e=>ke(e,jc)});function Fc(e){let t=[Uc,tu];return e&&t.push(Gc.of(e)),t}const Hc=Oi.replace({widget:new class extends di{toDOM(e){let{state:t}=e,i=t.facet(Gc),n=t=>{let i=e.lineBlockAt(e.posAtDOM(t.target)),n=Yc(e.state,i.from,i.to);n&&e.dispatch({effects:Ec.of(n)}),t.preventDefault()};if(i.placeholderDOM)return i.placeholderDOM(e,n);let r=document.createElement("span");return r.textContent=i.placeholderText,r.setAttribute("aria-label",t.phrase("folded code")),r.title=t.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=n,r}}}),Jc={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class Kc extends ia{constructor(e,t){super(),this.config=e,this.open=t}eq(e){return this.config==e.config&&this.open==e.open}toDOM(e){if(this.config.markerDOM)return this.config.markerDOM(this.open);let t=document.createElement("span");return t.textContent=this.open?this.config.openText:this.config.closedText,t.title=e.state.phrase(this.open?"Fold line":"Unfold line"),t}}function eu(e={}){let t=Object.assign(Object.assign({},Jc),e),i=new Kc(t,!0),n=new Kc(t,!1),r=Di.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(lc)!=e.state.facet(lc)||e.startState.field(Uc,!1)!=e.state.field(Uc,!1)||Kh(e.startState)!=Kh(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new Ve;for(let r of e.viewportLineBlocks){let s=Yc(e.state,r.from,r.to)?n:Mc(e.state,r.from,r.to)?i:null;s&&t.add(r.from,r.from,s)}return t.finish()}}),{domEventHandlers:s}=t;return[r,oa({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(r))||void 0===t?void 0:t.markers)||We.empty},initialSpacer:()=>new Kc(t,!1),domEventHandlers:Object.assign(Object.assign({},s),{click:(e,t,i)=>{if(s.click&&s.click(e,t,i))return!0;let n=Yc(e.state,t.from,t.to);if(n)return e.dispatch({effects:Ec.of(n)}),!0;let r=Mc(e.state,t.from,t.to);return!!r&&(e.dispatch({effects:Ic.of(r)}),!0)}})}),Fc()]}const tu=gs.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});class iu{constructor(e,t){let i;function n(e){let t=Fe.newName();return(i||(i=Object.create(null)))["."+t]=e,t}this.specs=e;const r="string"==typeof t.all?t.all:t.all?n(t.all):void 0,s=t.scope;this.scope=s instanceof Fh?e=>e.prop(jh)==s.data:s?e=>e==s:void 0,this.style=th(e.map(e=>({tag:e.tag,class:e.class||n(Object.assign({},e,{tag:null}))})),{all:r}).style,this.module=i?new Fe(i):null,this.themeType=t.themeType}static define(e,t){return new iu(e,t||{})}}const nu=R.define(),ru=R.define({combine:e=>e.length?[e[0]]:null});function su(e){let t=e.facet(nu);return t.length?t:e.facet(ru)}function ou(e,t){let i,n=[lu];return e instanceof iu&&(e.module&&n.push(gs.styleModule.of(e.module)),i=e.themeType),(null==t?void 0:t.fallback)?n.push(ru.of(e)):i?n.push(nu.computeN([gs.darkTheme],t=>t.facet(gs.darkTheme)==("dark"==i)?[e]:[])):n.push(nu.of(e)),n}class au{constructor(e){this.markCache=Object.create(null),this.tree=Kh(e.state),this.decorations=this.buildDeco(e,su(e.state))}update(e){let t=Kh(e.state),i=su(e.state),n=i!=su(e.startState);t.length<e.view.viewport.to&&!n&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||n)&&(this.tree=t,this.decorations=this.buildDeco(e.view,i))}buildDeco(e,t){if(!t||!this.tree.length)return Oi.none;let i=new Ve;for(let{from:n,to:r}of e.visibleRanges)nh(this.tree,t,(e,t,n)=>{i.add(e,t,this.markCache[n]||(this.markCache[n]=Oi.mark({class:n})))},n,r);return i.finish()}}const lu=B.high(Di.fromClass(au,{decorations:e=>e.decorations})),hu=iu.define([{tag:xh.meta,color:"#404740"},{tag:xh.link,textDecoration:"underline"},{tag:xh.heading,textDecoration:"underline",fontWeight:"bold"},{tag:xh.emphasis,fontStyle:"italic"},{tag:xh.strong,fontWeight:"bold"},{tag:xh.strikethrough,textDecoration:"line-through"},{tag:xh.keyword,color:"#708"},{tag:[xh.atom,xh.bool,xh.url,xh.contentSeparator,xh.labelName],color:"#219"},{tag:[xh.literal,xh.inserted],color:"#164"},{tag:[xh.string,xh.deleted],color:"#a11"},{tag:[xh.regexp,xh.escape,xh.special(xh.string)],color:"#e40"},{tag:xh.definition(xh.variableName),color:"#00f"},{tag:xh.local(xh.variableName),color:"#30a"},{tag:[xh.typeName,xh.namespace],color:"#085"},{tag:xh.className,color:"#167"},{tag:[xh.special(xh.variableName),xh.macroName],color:"#256"},{tag:xh.definition(xh.propertyName),color:"#00c"},{tag:xh.comment,color:"#940"},{tag:xh.invalid,color:"#f00"}]),cu=gs.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),uu=1e4,fu="()[]{}",du=R.define({combine:e=>ke(e,{afterCursor:!0,brackets:fu,maxScanDistance:uu,renderMatch:mu})}),pu=Oi.mark({class:"cm-matchingBracket"}),Ou=Oi.mark({class:"cm-nonmatchingBracket"});function mu(e){let t=[],i=e.matched?pu:Ou;return t.push(i.range(e.start.from,e.start.to)),e.end&&t.push(i.range(e.end.from,e.end.to)),t}const gu=[Y.define({create:()=>Oi.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let i=[],n=t.state.facet(du);for(let e of t.state.selection.ranges){if(!e.empty)continue;let r=yu(t.state,e.head,-1,n)||e.head>0&&yu(t.state,e.head-1,1,n)||n.afterCursor&&(yu(t.state,e.head,1,n)||e.head<t.state.doc.length&&yu(t.state,e.head+1,-1,n));r&&(i=i.concat(n.renderMatch(r,t.state)))}return Oi.set(i,!0)},provide:e=>gs.decorations.from(e)}),cu];function Su(e={}){return[du.of(e),gu]}function bu(e,t,i){let n=e.prop(t<0?Aa.openedBy:Aa.closedBy);if(n)return n;if(1==e.name.length){let n=i.indexOf(e.name);if(n>-1&&n%2==(t<0?1:0))return[i[n+t]]}return null}function yu(e,t,i,n={}){let r=n.maxScanDistance||uu,s=n.brackets||fu,o=Kh(e),a=o.resolveInner(t,i);for(let n=a;n;n=n.parent){let r=bu(n.type,i,s);if(r&&n.from<n.to)return xu(e,t,i,n,r,s)}return Qu(e,t,i,o,a.type,r,s)}function xu(e,t,i,n,r,s){let o=n.parent,a={from:n.from,to:n.to},l=0,h=null==o?void 0:o.cursor();if(h&&(i<0?h.childBefore(n.from):h.childAfter(n.to)))do{if(i<0?h.to<=n.from:h.from>=n.to){if(0==l&&r.indexOf(h.type.name)>-1&&h.from<h.to)return{start:a,end:{from:h.from,to:h.to},matched:!0};if(bu(h.type,i,s))l++;else if(bu(h.type,-i,s)){if(0==l)return{start:a,end:h.from==h.to?void 0:{from:h.from,to:h.to},matched:!1};l--}}}while(i<0?h.prevSibling():h.nextSibling());return{start:a,matched:!1}}function Qu(e,t,i,n,r,s,o){let a=i<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=o.indexOf(a);if(l<0||l%2==0!=i>0)return null;let h={from:i<0?t-1:t,to:i>0?t+1:t},c=e.doc.iterRange(t,i>0?e.doc.length:0),u=0;for(let e=0;!c.next().done&&e<=s;){let s=c.value;i<0&&(e+=s.length);let a=t+e*i;for(let e=i>0?0:s.length-1,t=i>0?s.length:-1;e!=t;e+=i){let t=o.indexOf(s[e]);if(!(t<0||n.resolveInner(a+e,1).type!=r))if(t%2==0==i>0)u++;else{if(1==u)return{start:h,end:{from:a+e,to:a+e+1},matched:t>>1==l>>1};u--}}i>0&&(e+=s.length)}return c.done?{start:h,matched:!1}:null}function vu(e,t,i,n=0,r=0){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);let s=r;for(let r=n;r<t;r++)9==e.charCodeAt(r)?s+=i-s%i:s++;return s}class wu{constructor(e,t,i){this.string=e,this.tabSize=t,this.indentUnit=i,this.pos=0,this.start=0,this.lastColumnPos=0,this.lastColumnValue=0}eol(){return this.pos>=this.string.length}sol(){return 0==this.pos}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 t,i=this.string.charAt(this.pos);if(t="string"==typeof e?i==e:i&&(e instanceof RegExp?e.test(i):e(i)),t)return++this.pos,i}eatWhile(e){let t=this.pos;for(;this.eat(e););return this.pos>t}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 t=this.string.indexOf(e,this.pos);if(t>-1)return this.pos=t,!0}backUp(e){this.pos-=e}column(){return this.lastColumnPos<this.start&&(this.lastColumnValue=vu(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){return vu(this.string,null,this.tabSize)}match(e,t,i){if("string"==typeof e){let n=e=>i?e.toLowerCase():e;return n(this.string.substr(this.pos,e.length))==n(e)?(!1!==t&&(this.pos+=e.length),!0):null}{let i=this.string.slice(this.pos).match(e);return i&&i.index>0?null:(i&&!1!==t&&(this.pos+=i[0].length),i)}}current(){return this.string.slice(this.start,this.pos)}}function $u(e){return{name:e.name||"",token:e.token,blankLine:e.blankLine||(()=>{}),startState:e.startState||(()=>!0),copyState:e.copyState||ku,indent:e.indent||(()=>null),languageData:e.languageData||{},tokenTable:e.tokenTable||Vu}}function ku(e){if("object"!=typeof e)return e;let t={};for(let i in e){let n=e[i];t[i]=n instanceof Array?n.slice():n}return t}class Pu extends Fh{constructor(e){let t,i=Gh(e.languageData),n=$u(e);super(i,new class extends il{createParse(e,i,n){return new Wu(t,e,i,n)}},[uc.of((e,t)=>this.getIndent(e,t))],e.name),this.topNode=Uu(i),t=this,this.streamParser=n,this.stateAfter=new Aa({perNode:!0}),this.tokenTable=e.tokenTable?new qu(n.tokenTable):Iu}static define(e){return new Pu(e)}getIndent(e,t){let i=Kh(e.state),n=i.resolve(t);for(;n&&n.type!=this.topNode;)n=n.parent;if(!n)return null;let r,s,o=Tu(this,i,0,n.from,t);if(o?(s=o.state,r=o.pos+1):(s=this.streamParser.startState(e.unit),r=0),t-r>1e4)return null;for(;r<t;){let i=e.state.doc.lineAt(r),n=Math.min(t,i.to);if(i.length){let t=new wu(i.text,e.state.tabSize,e.unit);for(;t.pos<n-i.from;)Zu(this.streamParser.token,t,s)}else this.streamParser.blankLine(s,e.unit);if(n==t)break;r=i.to+1}let{text:a}=e.lineAt(t);return this.streamParser.indent(s,/^\s*(.*)/.exec(a)[1],e)}get allowsNesting(){return!1}}function Tu(e,t,i,n,r){let s=i>=n&&i+t.length<=r&&t.prop(e.stateAfter);if(s)return{state:e.streamParser.copyState(s),pos:i+t.length};for(let s=t.children.length-1;s>=0;s--){let o=t.children[s],a=i+t.positions[s],l=o instanceof Ma&&a<r&&Tu(e,o,a,n,r);if(l)return l}return null}function Au(e,t,i,n,r){if(r&&i<=0&&n>=t.length)return t;r||t.type!=e.topNode||(r=!0);for(let s=t.children.length-1;s>=0;s--){let o,a=t.positions[s],l=t.children[s];if(a<n&&l instanceof Ma){if(!(o=Au(e,l,i-a,n-a,r)))break;return r?new Ma(t.type,t.children.slice(0,s).concat(o),t.positions.slice(0,s+1),a+o.length):o}}return null}function Cu(e,t,i,n){for(let n of t){let t,r=n.from+(n.openStart?25:0),s=n.to-(n.openEnd?25:0),o=r<=i&&s>i&&Tu(e,n.tree,0-n.offset,i,s);if(o&&(t=Au(e,n.tree,i+n.offset,o.pos+n.offset,!1)))return{state:o.state,tree:t}}return{state:e.streamParser.startState(n?dc(n):4),tree:Ma.empty}}class Wu{constructor(e,t,i,n){this.lang=e,this.input=t,this.fragments=i,this.ranges=n,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=n[n.length-1].to;let r=ic.get(),s=n[0].from,{state:o,tree:a}=Cu(e,i,s,null==r?void 0:r.state);this.state=o,this.parsedPos=this.chunkStart=s+a.length;for(let e=0;e<a.children.length;e++)this.chunks.push(a.children[e]),this.chunkPos.push(a.positions[e]);r&&this.parsedPos<r.viewport.from-1e5&&(this.state=this.lang.streamParser.startState(dc(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=ic.get(),t=null==this.stoppedAt?this.to:Math.min(this.to,this.stoppedAt),i=Math.min(t,this.chunkStart+2048);for(e&&(i=Math.min(i,e.viewport.to));this.parsedPos<i;)this.parseLine(e);return this.chunkStart<this.parsedPos&&this.finishChunk(),this.parsedPos>=t?this.finish():e&&this.parsedPos>=e.viewport.to?(e.skipUntilInView(this.parsedPos,t),this.finish()):null}stopAt(e){this.stoppedAt=e}lineAfter(e){let t=this.input.chunk(e);if(this.input.lineChunks)"\n"==t&&(t="");else{let e=t.indexOf("\n");e>-1&&(t=t.slice(0,e))}return e+t.length<=this.to?t:t.slice(0,this.to-e)}nextLine(){let e=this.parsedPos,t=this.lineAfter(e),i=e+t.length;for(let e=this.rangeIndex;;){let n=this.ranges[e].to;if(n>=i)break;if(t=t.slice(0,n-(i-t.length)),e++,e==this.ranges.length)break;let r=this.ranges[e].from,s=this.lineAfter(r);t+=s,i=r+s.length}return{line:t,end:i}}skipGapsTo(e,t,i){for(;;){let n=this.ranges[this.rangeIndex].to,r=e+t;if(i>0?n>r:n>=r)break;t+=this.ranges[++this.rangeIndex].from-n}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,i,n,r){if(this.ranges.length>1){t+=r=this.skipGapsTo(t,r,1);let e=this.chunk.length;i+=r=this.skipGapsTo(i,r,-1),n+=this.chunk.length-e}return this.chunk.push(e,t,i,n),r}parseLine(e){let{line:t,end:i}=this.nextLine(),n=0,{streamParser:r}=this.lang,s=new wu(t,e?e.state.tabSize:4,e?dc(e.state):2);if(s.eol())r.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let e=Zu(r.token,s,this.state);if(e&&(n=this.emitToken(this.lang.tokenTable.resolve(e),this.parsedPos+s.start,this.parsedPos+s.pos,4,n)),s.start>1e4)break}this.parsedPos=i,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Ma.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:_u,topID:0,maxBufferLength:2048,reused:this.chunkReused});e=new Ma(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 Ma(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}}function Zu(e,t,i){t.start=t.pos;for(let n=0;n<10;n++){let n=e(t,i);if(t.pos>t.start)return n}throw new Error("Stream parser failed to advance stream.")}const Vu=Object.create(null),Xu=[Za.none],_u=new Va(Xu),Ru=[],Mu=Object.create(null);for(let[e,t]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"]])Mu[e]=Du(Vu,t);class qu{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Mu)}resolve(e){return e?this.table[e]||(this.table[e]=Du(this.extra,e)):0}}const Iu=new qu(Vu);function Eu(e,t){Ru.indexOf(e)>-1||(Ru.push(e),console.warn(t))}function Du(e,t){let i=null;for(let n of t.split(".")){let t=e[n]||xh[n];t?"function"==typeof t?i?i=t(i):Eu(n,`Modifier ${n} used at start of tag`):i?Eu(n,`Tag ${n} used as modifier`):i=t:Eu(n,"Unknown highlighting tag "+n)}if(!i)return 0;let n=t.replace(/ /g,"_"),r=Za.define({id:Xu.length,name:n,props:[Jl({[n]:i})]});return Xu.push(r),r.id}function Uu(e){let t=Za.define({id:Xu.length,name:"Document",props:[jh.add(()=>e)]});return Xu.push(t),t}function Yu(e,t){let i=t&&t.getChild("TagName");return i?e.sliceString(i.from,i.to):""}function zu(e,t){let i=t&&t.firstChild;return i&&"OpenTag"==i.name?Yu(e,i):""}function Lu(e,t,i){let n=t&&t.getChildren("Attribute").find(e=>e.from<=i&&e.to>=i),r=n&&n.getChild("AttributeName");return r?e.sliceString(r.from,r.to):""}function Bu(e){for(let t=e&&e.parent;t;t=t.parent)if("Element"==t.name)return t;return null}function Nu(e,t){var i;let n=Kh(e).resolveInner(t,-1),r=null;for(let e=n;!r&&e.parent;e=e.parent)"OpenTag"!=e.name&&"CloseTag"!=e.name&&"SelfClosingTag"!=e.name&&"MismatchedCloseTag"!=e.name||(r=e);if(r&&(r.to>t||r.lastChild.type.isError)){let e=r.parent;if("TagName"==n.name)return"CloseTag"==r.name||"MismatchedCloseTag"==r.name?{type:"closeTag",from:n.from,context:e}:{type:"openTag",from:n.from,context:Bu(e)};if("AttributeName"==n.name)return{type:"attrName",from:n.from,context:r};if("AttributeValue"==n.name)return{type:"attrValue",from:n.from,context:r};let i=n==r||"Attribute"==n.name?n.childBefore(t):n;return"StartTag"==(null==i?void 0:i.name)?{type:"openTag",from:t,context:Bu(e)}:"StartCloseTag"==(null==i?void 0:i.name)&&i.to<=t?{type:"closeTag",from:t,context:e}:"Is"==(null==i?void 0:i.name)?{type:"attrValue",from:t,context:r}:i?{type:"attrName",from:t,context:r}:null}if("StartCloseTag"==n.name)return{type:"closeTag",from:t,context:n.parent};for(;n.parent&&n.to==t&&!(null===(i=n.lastChild)||void 0===i?void 0:i.type.isError);)n=n.parent;return"Element"==n.name||"Text"==n.name||"Document"==n.name?{type:"tag",from:t,context:"Element"==n.name?n:Bu(n)}:null}class ju{constructor(e,t,i){this.attrs=t,this.attrValues=i,this.children=[],this.name=e.name,this.completion=Object.assign(Object.assign({type:"type"},e.completion||{}),{label:this.name}),this.openCompletion=Object.assign(Object.assign({},this.completion),{label:"<"+this.name}),this.closeCompletion=Object.assign(Object.assign({},this.completion),{label:"</"+this.name+">",boost:2}),this.closeNameCompletion=Object.assign(Object.assign({},this.completion),{label:this.name+">"}),this.text=e.textContent?e.textContent.map(e=>({label:e,type:"text"})):[]}}const Gu=/^[:\-\.\w\u00b7-\uffff]*$/;function Fu(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function Hu(e){return"string"==typeof e?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function Ju(e,t){let i=[],n=[],r=Object.create(null);for(let e of t){let t=Fu(e);i.push(t),e.global&&n.push(t),e.values&&(r[e.name]=e.values.map(Hu))}let s=[],o=[],a=Object.create(null);for(let t of e){let e=n,l=r;t.attributes&&(e=e.concat(t.attributes.map(e=>"string"==typeof e?i.find(t=>t.label==e)||{label:e,type:"property"}:(e.values&&(l==r&&(l=Object.create(l)),l[e.name]=e.values.map(Hu)),Fu(e)))));let h=new ju(t,e,l);a[h.name]=h,s.push(h),t.top&&o.push(h)}o.length||(o=s);for(let t=0;t<s.length;t++){let i=e[t],n=s[t];if(i.children)for(let e of i.children)a[e]&&n.children.push(a[e]);else n.children=s}return e=>{var t;let{doc:i}=e.state,l=Nu(e.state,e.pos);if(!l||"tag"==l.type&&!e.explicit)return null;let{type:h,from:c,context:u}=l;if("openTag"==h){let e=o,t=zu(i,u);if(t){let i=a[t];e=(null==i?void 0:i.children)||s}return{from:c,options:e.map(e=>e.completion),validFor:Gu}}if("closeTag"==h){let n=zu(i,u);return n?{from:c,to:e.pos+(">"==i.sliceString(e.pos,e.pos+1)?1:0),options:[(null===(t=a[n])||void 0===t?void 0:t.closeNameCompletion)||{label:n+">",type:"type"}],validFor:Gu}:null}if("attrName"==h){let e=a[Yu(i,u)];return{from:c,options:(null==e?void 0:e.attrs)||n,validFor:Gu}}if("attrValue"==h){let t=Lu(i,u,c);if(!t)return null;let n=a[Yu(i,u)],s=((null==n?void 0:n.attrValues)||r)[t];return s&&s.length?{from:c,to:e.pos+('"'==i.sliceString(e.pos,e.pos+1)?1:0),options:s,validFor:/^"[^"]*"?$/}:null}if("tag"==h){let t=zu(i,u),n=a[t],r=[],l=u&&u.lastChild;!t||l&&"CloseTag"==l.name&&Yu(i,l)==t||r.push(n?n.closeCompletion:{label:"</"+t+">",type:"type",boost:2});let h=r.concat(((null==n?void 0:n.children)||(u?s:o)).map(e=>e.openCompletion));if(u&&(null==n?void 0:n.text.length)){let t=u.firstChild;t.to>e.pos-20&&!/\S/.test(e.state.sliceDoc(t.to,e.pos))&&(h=h.concat(n.text))}return{from:c,options:h,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const Ku=Jh.define({name:"xml",parser:Bh.configure({props:[gc.add({Element(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit}),Vc.add({Element(e){let t=e.firstChild,i=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==i.name?i.from:e.to}:null}})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function ef(e={}){return new hc(Ku,Ku.data.of({autocomplete:Ju(e.elements||[],e.attributes||[])}))}const tf=e=>{let t=af(e.state);return t.line?rf(e):!!t.block&&of(e)};function nf(e,t){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let r=e(t,i);return!!r&&(n(i.update(r)),!0)}}const rf=nf(ff,0),sf=nf(uf,0),of=nf((e,t)=>uf(e,t,cf(t)),0);function af(e,t=e.selection.main.head){let i=e.languageDataAt("commentTokens",t);return i.length?i[0]:{}}const lf=50;function hf(e,{open:t,close:i},n,r){let s,o,a=e.sliceDoc(n-lf,n),l=e.sliceDoc(r,r+lf),h=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(l)[0].length,u=a.length-h;if(a.slice(u-t.length,u)==t&&l.slice(c,c+i.length)==i)return{open:{pos:n-h,margin:h&&1},close:{pos:r+c,margin:c&&1}};r-n<=2*lf?s=o=e.sliceDoc(n,r):(s=e.sliceDoc(n,n+lf),o=e.sliceDoc(r-lf,r));let f=/^\s*/.exec(s)[0].length,d=/\s*$/.exec(o)[0].length,p=o.length-d-i.length;return s.slice(f,f+t.length)==t&&o.slice(p,p+i.length)==i?{open:{pos:n+f+t.length,margin:/\s/.test(s.charAt(f+t.length))?1:0},close:{pos:r-d-i.length,margin:/\s/.test(o.charAt(p-1))?1:0}}:null}function cf(e){let t=[];for(let i of e.selection.ranges){let n=e.doc.lineAt(i.from),r=i.to<=n.to?n:e.doc.lineAt(i.to),s=t.length-1;s>=0&&t[s].to>n.from?t[s].to=r.to:t.push({from:n.from,to:r.to})}return t}function uf(e,t,i=t.selection.ranges){let n=i.map(e=>af(t,e.from).block);if(!n.every(e=>e))return null;let r=i.map((e,i)=>hf(t,n[i],e.from,e.to));if(2!=e&&!r.every(e=>e))return{changes:t.changes(i.map((e,t)=>r[t]?[]:[{from:e.from,insert:n[t].open+" "},{from:e.to,insert:" "+n[t].close}]))};if(1!=e&&r.some(e=>e)){let e=[];for(let t,i=0;i<r.length;i++)if(t=r[i]){let r=n[i],{open:s,close:o}=t;e.push({from:s.pos-r.open.length,to:s.pos+s.margin},{from:o.pos-o.margin,to:o.pos+r.close.length})}return{changes:e}}return null}function ff(e,t,i=t.selection.ranges){let n=[],r=-1;for(let{from:e,to:s}of i){let i=n.length,o=1e9;for(let i=e;i<=s;){let a=t.doc.lineAt(i);if(a.from>r&&(e==s||s>a.from)){r=a.from;let e=af(t,i).line;if(!e)continue;let s=/^\s*/.exec(a.text)[0].length,l=s==a.length,h=a.text.slice(s,s+e.length)==e?s:-1;s<a.text.length&&s<o&&(o=s),n.push({line:a,comment:h,token:e,indent:s,empty:l,single:!1})}i=a.to+1}if(o<1e9)for(let e=i;e<n.length;e++)n[e].indent<n[e].line.text.length&&(n[e].indent=o);n.length==i+1&&(n[i].single=!0)}if(2!=e&&n.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:i,indent:r,empty:s,single:o}of n)!o&&s||e.push({from:t.from+r,insert:i+" "});let i=t.changes(e);return{changes:i,selection:t.selection.map(i,1)}}if(1!=e&&n.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:i,token:r}of n)if(i>=0){let n=t.from+i,s=n+r.length;" "==t.text[s-t.from]&&s++,e.push({from:n,to:s})}return{changes:e}}return null}const df=ae.define(),pf=ae.define(),Of=R.define(),mf=R.define({combine:e=>ke(e,{minDepth:100,newGroupDelay:500},{minDepth:Math.max,newGroupDelay:Math.min})});function gf(e){let t=0;return e.iterChangedRanges((e,i)=>t=i),t}const Sf=Y.define({create:()=>Mf.empty,update(e,t){let i=t.state.facet(mf),n=t.annotation(df);if(n){let r=t.docChanged?V.single(gf(t.changes)):void 0,s=$f.fromTransaction(t,r),o=n.side,a=0==o?e.undone:e.done;return a=s?kf(a,a.length,i.minDepth,s):Zf(a,t.startState.selection),new Mf(0==o?n.rest:a,0==o?a:n.rest)}let r=t.annotation(pf);if("full"!=r&&"before"!=r||(e=e.isolate()),!1===t.annotation(ue.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let s=$f.fromTransaction(t),o=t.annotation(ue.time),a=t.annotation(ue.userEvent);return s?e=e.addChanges(s,o,a,i.newGroupDelay,i.minDepth):t.selection&&(e=e.addSelection(t.startState.selection,o,a,i.newGroupDelay)),"full"!=r&&"after"!=r||(e=e.isolate()),e},toJSON:e=>({done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}),fromJSON:e=>new Mf(e.done.map($f.fromJSON),e.undone.map($f.fromJSON))});function bf(e={}){return[Sf,mf.of(e),gs.domEventHandlers({beforeinput(e,t){let i="historyUndo"==e.inputType?xf:"historyRedo"==e.inputType?Qf:null;return!!i&&(e.preventDefault(),i(t))}})]}function yf(e,t){return function({state:i,dispatch:n}){if(!t&&i.readOnly)return!1;let r=i.field(Sf,!1);if(!r)return!1;let s=r.pop(e,i,t);return!!s&&(n(s),!0)}}const xf=yf(0,!1),Qf=yf(1,!1),vf=yf(0,!0),wf=yf(1,!0);class $f{constructor(e,t,i,n,r){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=n,this.selectionsAfter=r}setSelAfter(e){return new $f(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:null===(e=this.changes)||void 0===e?void 0:e.toJSON(),mapped:null===(t=this.mapped)||void 0===t?void 0:t.toJSON(),startSelection:null===(i=this.startSelection)||void 0===i?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new $f(e.changes&&$.fromJSON(e.changes),[],e.mapped&&w.fromJSON(e.mapped),e.startSelection&&V.fromJSON(e.startSelection),e.selectionsAfter.map(V.fromJSON))}static fromTransaction(e,t){let i=Cf;for(let t of e.startState.facet(Of)){let n=t(e);n.length&&(i=i.concat(n))}return!i.length&&e.changes.empty?null:new $f(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,Cf)}static selection(e){return new $f(void 0,Cf,void 0,void 0,e)}}function kf(e,t,i,n){let r=t+1>i+20?t-i-1:0,s=e.slice(r,t);return s.push(n),s}function Pf(e,t){let i=[],n=!1;return e.iterChangedRanges((e,t)=>i.push(e,t)),t.iterChangedRanges((e,t,r,s)=>{for(let e=0;e<i.length;){let t=i[e++],o=i[e++];s>=t&&r<=o&&(n=!0)}}),n}function Tf(e,t){return e.ranges.length==t.ranges.length&&0===e.ranges.filter((e,i)=>e.empty!=t.ranges[i].empty).length}function Af(e,t){return e.length?t.length?e.concat(t):e:t}const Cf=[],Wf=200;function Zf(e,t){if(e.length){let i=e[e.length-1],n=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-Wf));return n.length&&n[n.length-1].eq(t)?e:(n.push(t),kf(e,e.length-1,1e9,i.setSelAfter(n)))}return[$f.selection([t])]}function Vf(e){let t=e[e.length-1],i=e.slice();return i[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),i}function Xf(e,t){if(!e.length)return e;let i=e.length,n=Cf;for(;i;){let r=_f(e[i-1],t,n);if(r.changes&&!r.changes.empty||r.effects.length){let t=e.slice(0,i);return t[i-1]=r,t}t=r.mapped,i--,n=r.selectionsAfter}return n.length?[$f.selection(n)]:Cf}function _f(e,t,i){let n=Af(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):Cf,i);if(!e.changes)return $f.selection(n);let r=e.changes.map(t),s=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(s):s;return new $f(r,ce.mapEffects(e.effects,t),o,e.startSelection.map(s),n)}const Rf=/^(input\.type|delete)($|\.)/;class Mf{constructor(e,t,i=0,n){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=n}isolate(){return this.prevTime?new Mf(this.done,this.undone):this}addChanges(e,t,i,n,r){let s=this.done,o=s[s.length-1];return s=o&&o.changes&&!o.changes.empty&&e.changes&&(!i||Rf.test(i))&&(!o.selectionsAfter.length&&t-this.prevTime<n&&Pf(o.changes,e.changes)||"input.type.compose"==i)?kf(s,s.length-1,r,new $f(e.changes.compose(o.changes),Af(e.effects,o.effects),o.mapped,o.startSelection,Cf)):kf(s,s.length,r,e),new Mf(s,Cf,t,i)}addSelection(e,t,i,n){let r=this.done.length?this.done[this.done.length-1].selectionsAfter:Cf;return r.length>0&&t-this.prevTime<n&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&Tf(r[r.length-1],e)?this:new Mf(Zf(this.done,e),this.undone,t,i)}addMapping(e){return new Mf(Xf(this.done,e),Xf(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let n=0==e?this.done:this.undone;if(0==n.length)return null;let r=n[n.length-1];if(i&&r.selectionsAfter.length)return t.update({selection:r.selectionsAfter[r.selectionsAfter.length-1],annotations:df.of({side:e,rest:Vf(n)}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(r.changes){let i=1==n.length?Cf:n.slice(0,n.length-1);return r.mapped&&(i=Xf(i,r.mapped)),t.update({changes:r.changes,selection:r.startSelection,effects:r.effects,annotations:df.of({side:e,rest:i}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}Mf.empty=new Mf(Cf,Cf);const qf=[{key:"Mod-z",run:xf,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Qf,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Qf,preventDefault:!0},{key:"Mod-u",run:vf,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:wf,preventDefault:!0}];function If(e,t){return V.create(e.ranges.map(t),e.mainIndex)}function Ef(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Df({state:e,dispatch:t},i){let n=If(e.selection,i);return!n.eq(e.selection)&&(t(Ef(e,n)),!0)}function Uf(e,t){return V.cursor(t?e.to:e.from)}function Yf(e,t){return Df(e,i=>i.empty?e.moveByChar(i,t):Uf(i,t))}function zf(e){return e.textDirectionAt(e.state.selection.main.head)==Hi.LTR}const Lf=e=>Yf(e,!zf(e)),Bf=e=>Yf(e,zf(e));function Nf(e,t){return Df(e,i=>i.empty?e.moveByGroup(i,t):Uf(i,t))}const jf=e=>Nf(e,!zf(e)),Gf=e=>Nf(e,zf(e));function Ff(e,t,i){if(t.type.prop(i))return!0;let n=t.to-t.from;return n&&(n>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Hf(e,t,i){let n,r,s=Kh(e).resolveInner(t.head),o=i?Aa.closedBy:Aa.openedBy;for(let n=t.head;;){let t=i?s.childAfter(n):s.childBefore(n);if(!t)break;Ff(e,t,o)?s=t:n=i?t.to:t.from}return r=s.type.prop(o)&&(n=i?yu(e,s.from,1):yu(e,s.to,-1))&&n.matched?i?n.end.to:n.end.from:i?s.to:s.from,V.cursor(r,i?-1:1)}const Jf=e=>Df(e,t=>Hf(e.state,t,!zf(e))),Kf=e=>Df(e,t=>Hf(e.state,t,zf(e)));function ed(e,t){return Df(e,i=>{if(!i.empty)return Uf(i,t);let n=e.moveVertically(i,t);return n.head!=i.head?n:e.moveToLineBoundary(i,t)})}const td=e=>ed(e,!1),id=e=>ed(e,!0);function nd(e){return Math.max(e.defaultLineHeight,Math.min(e.dom.clientHeight,innerHeight)-5)}function rd(e,t){let{state:i}=e,n=If(i.selection,i=>i.empty?e.moveVertically(i,t,nd(e)):Uf(i,t));if(n.eq(i.selection))return!1;let r,s=e.coordsAtPos(i.selection.main.head),o=e.scrollDOM.getBoundingClientRect();return s&&s.top>o.top&&s.bottom<o.bottom&&s.top-o.top<=e.scrollDOM.scrollHeight-e.scrollDOM.scrollTop-e.scrollDOM.clientHeight&&(r=gs.scrollIntoView(n.main.head,{y:"start",yMargin:s.top-o.top})),e.dispatch(Ef(i,n),{effects:r}),!0}const sd=e=>rd(e,!1),od=e=>rd(e,!0);function ad(e,t,i){let n=e.lineBlockAt(t.head),r=e.moveToLineBoundary(t,i);if(r.head==t.head&&r.head!=(i?n.to:n.from)&&(r=e.moveToLineBoundary(t,i,!1)),!i&&r.head==n.from&&n.length){let i=/^\s*/.exec(e.state.sliceDoc(n.from,Math.min(n.from+100,n.to)))[0].length;i&&t.head!=n.from+i&&(r=V.cursor(n.from+i))}return r}const ld=e=>Df(e,t=>ad(e,t,!0)),hd=e=>Df(e,t=>ad(e,t,!1)),cd=e=>Df(e,t=>ad(e,t,!zf(e))),ud=e=>Df(e,t=>ad(e,t,zf(e))),fd=e=>Df(e,t=>V.cursor(e.lineBlockAt(t.head).from,1)),dd=e=>Df(e,t=>V.cursor(e.lineBlockAt(t.head).to,-1));function pd(e,t,i){let n=!1,r=If(e.selection,t=>{let r=yu(e,t.head,-1)||yu(e,t.head,1)||t.head>0&&yu(e,t.head-1,1)||t.head<e.doc.length&&yu(e,t.head+1,-1);if(!r||!r.end)return t;n=!0;let s=r.start.from==t.head?r.end.to:r.end.from;return i?V.range(t.anchor,s):V.cursor(s)});return!!n&&(t(Ef(e,r)),!0)}const Od=({state:e,dispatch:t})=>pd(e,t,!1);function md(e,t){let i=If(e.state.selection,e=>{let i=t(e);return V.range(e.anchor,i.head,i.goalColumn,i.bidiLevel||void 0)});return!i.eq(e.state.selection)&&(e.dispatch(Ef(e.state,i)),!0)}function gd(e,t){return md(e,i=>e.moveByChar(i,t))}const Sd=e=>gd(e,!zf(e)),bd=e=>gd(e,zf(e));function yd(e,t){return md(e,i=>e.moveByGroup(i,t))}const xd=e=>yd(e,!zf(e)),Qd=e=>yd(e,zf(e)),vd=e=>md(e,t=>Hf(e.state,t,!zf(e))),wd=e=>md(e,t=>Hf(e.state,t,zf(e)));function $d(e,t){return md(e,i=>e.moveVertically(i,t))}const kd=e=>$d(e,!1),Pd=e=>$d(e,!0);function Td(e,t){return md(e,i=>e.moveVertically(i,t,nd(e)))}const Ad=e=>Td(e,!1),Cd=e=>Td(e,!0),Wd=e=>md(e,t=>ad(e,t,!0)),Zd=e=>md(e,t=>ad(e,t,!1)),Vd=e=>md(e,t=>ad(e,t,!zf(e))),Xd=e=>md(e,t=>ad(e,t,zf(e))),_d=e=>md(e,t=>V.cursor(e.lineBlockAt(t.head).from)),Rd=e=>md(e,t=>V.cursor(e.lineBlockAt(t.head).to)),Md=({state:e,dispatch:t})=>(t(Ef(e,{anchor:0})),!0),qd=({state:e,dispatch:t})=>(t(Ef(e,{anchor:e.doc.length})),!0),Id=({state:e,dispatch:t})=>(t(Ef(e,{anchor:e.selection.main.anchor,head:0})),!0),Ed=({state:e,dispatch:t})=>(t(Ef(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Dd=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Ud=({state:e,dispatch:t})=>{let i=np(e).map(({from:t,to:i})=>V.range(t,Math.min(i+1,e.doc.length)));return t(e.update({selection:V.create(i),userEvent:"select"})),!0},Yd=({state:e,dispatch:t})=>{let i=If(e.selection,t=>{var i;let n=Kh(e).resolveInner(t.head,1);for(;!(n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&(null===(i=n.parent)||void 0===i?void 0:i.parent);)n=n.parent;return V.range(n.to,n.from)});return t(Ef(e,i)),!0},zd=({state:e,dispatch:t})=>{let i=e.selection,n=null;return i.ranges.length>1?n=V.create([i.main]):i.main.empty||(n=V.create([V.cursor(i.main.head)])),!!n&&(t(Ef(e,n)),!0)};function Ld(e,t){if(e.state.readOnly)return!1;let i="delete.selection",{state:n}=e,r=n.changeByRange(n=>{let{from:r,to:s}=n;if(r==s){let n=t(r);n<r?(i="delete.backward",n=Bd(e,n,!1)):n>r&&(i="delete.forward",n=Bd(e,n,!0)),r=Math.min(r,n),s=Math.max(s,n)}else r=Bd(e,r,!1),s=Bd(e,s,!0);return r==s?{range:n}:{changes:{from:r,to:s},range:V.cursor(r)}});return!r.changes.empty&&(e.dispatch(n.update(r,{scrollIntoView:!0,userEvent:i,effects:"delete.selection"==i?gs.announce.of(n.phrase("Selection deleted")):void 0})),!0)}function Bd(e,t,i){if(e instanceof gs)for(let n of e.state.facet(gs.atomicRanges).map(t=>t(e)))n.between(t,t,(e,n)=>{e<t&&n>t&&(t=i?n:e)});return t}const Nd=(e,t)=>Ld(e,i=>{let n,r,{state:s}=e,o=s.doc.lineAt(i);if(!t&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(n=o.text.slice(0,i-o.from))){if("\t"==n[n.length-1])return i-1;let e=ze(n,s.tabSize)%dc(s)||dc(s);for(let t=0;t<e&&" "==n[n.length-1-t];t++)i--;r=i}else r=p(o.text,i-o.from,t,t)+o.from,r==i&&o.number!=(t?s.doc.lines:1)&&(r+=t?1:-1);return r}),jd=e=>Nd(e,!1),Gd=e=>Nd(e,!0),Fd=(e,t)=>Ld(e,i=>{let n=i,{state:r}=e,s=r.doc.lineAt(n),o=r.charCategorizer(n);for(let e=null;;){if(n==(t?s.to:s.from)){n==i&&s.number!=(t?r.doc.lines:1)&&(n+=t?1:-1);break}let a=p(s.text,n-s.from,t)+s.from,l=s.text.slice(Math.min(n,a)-s.from,Math.max(n,a)-s.from),h=o(l);if(null!=e&&h!=e)break;" "==l&&n==i||(e=h),n=a}return n}),Hd=e=>Fd(e,!1),Jd=e=>Fd(e,!0),Kd=e=>Ld(e,t=>{let i=e.lineBlockAt(t).to;return t<i?i:Math.min(e.state.doc.length,t+1)}),ep=e=>Ld(e,t=>{let i=e.lineBlockAt(t).from;return t>i?i:Math.max(0,t-1)}),tp=({state:t,dispatch:i})=>{if(t.readOnly)return!1;let n=t.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e.of(["",""])},range:V.cursor(t.from)}));return i(t.update(n,{scrollIntoView:!0,userEvent:"input"})),!0},ip=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let i=t.from,n=e.doc.lineAt(i),r=i==n.from?i-1:p(n.text,i-n.from,!1)+n.from,s=i==n.to?i+1:p(n.text,i-n.from,!0)+n.from;return{changes:{from:r,to:s,insert:e.doc.slice(i,s).append(e.doc.slice(r,i))},range:V.cursor(s)}});return!i.changes.empty&&(t(e.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function np(e){let t=[],i=-1;for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),s=e.doc.lineAt(n.to);if(n.empty||n.to!=s.from||(s=e.doc.lineAt(n.to-1)),i>=r.number){let e=t[t.length-1];e.to=s.to,e.ranges.push(n)}else t.push({from:r.from,to:s.to,ranges:[n]});i=s.number+1}return t}function rp(e,t,i){if(e.readOnly)return!1;let n=[],r=[];for(let t of np(e)){if(i?t.to==e.doc.length:0==t.from)continue;let s=e.doc.lineAt(i?t.to+1:t.from-1),o=s.length+1;if(i){n.push({from:t.to,to:s.to},{from:t.from,insert:s.text+e.lineBreak});for(let i of t.ranges)r.push(V.range(Math.min(e.doc.length,i.anchor+o),Math.min(e.doc.length,i.head+o)))}else{n.push({from:s.from,to:t.from},{from:t.to,insert:e.lineBreak+s.text});for(let e of t.ranges)r.push(V.range(e.anchor-o,e.head-o))}}return!!n.length&&(t(e.update({changes:n,scrollIntoView:!0,selection:V.create(r,e.selection.mainIndex),userEvent:"move.line"})),!0)}const sp=({state:e,dispatch:t})=>rp(e,t,!1),op=({state:e,dispatch:t})=>rp(e,t,!0);function ap(e,t,i){if(e.readOnly)return!1;let n=[];for(let t of np(e))i?n.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):n.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:n,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const lp=({state:e,dispatch:t})=>ap(e,t,!1),hp=({state:e,dispatch:t})=>ap(e,t,!0),cp=e=>{if(e.state.readOnly)return!1;let{state:t}=e,i=t.changes(np(t).map(({from:e,to:i})=>(e>0?e--:i<t.doc.length&&i++,{from:e,to:i}))),n=If(t.selection,t=>e.moveVertically(t,!0)).map(i);return e.dispatch({changes:i,selection:n,scrollIntoView:!0,userEvent:"delete.line"}),!0};function up(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let i,n=Kh(e).resolveInner(t),r=n.childBefore(t),s=n.childAfter(t);return r&&s&&r.to<=t&&s.from>=t&&(i=r.type.prop(Aa.closedBy))&&i.indexOf(s.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(s.from).from?{from:r.to,to:s.from}:null}const fp=dp(!1);function dp(t){return({state:i,dispatch:n})=>{if(i.readOnly)return!1;let r=i.changeByRange(n=>{let{from:r,to:s}=n,o=i.doc.lineAt(r),a=!t&&r==s&&up(i,r);t&&(r=s=(s<=o.to?o:i.doc.lineAt(s)).to);let l=new mc(i,{simulateBreak:r,simulateDoubleBreak:!!a}),h=Oc(l,r);for(null==h&&(h=/^\s*/.exec(i.doc.lineAt(r).text)[0].length);s<o.to&&/\s/.test(o.text[s-o.from]);)s++;a?({from:r,to:s}=a):r>o.from&&r<o.from+100&&!/\S/.test(o.text.slice(0,r))&&(r=o.from);let c=["",pc(i,h)];return a&&c.push(pc(i,l.lineIndent(o.from,-1))),{changes:{from:r,to:s,insert:e.of(c)},range:V.cursor(r+1+c[1].length)}});return n(i.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function pp(e,t){let i=-1;return e.changeByRange(n=>{let r=[];for(let s=n.from;s<=n.to;){let o=e.doc.lineAt(s);o.number>i&&(n.empty||n.to>o.from)&&(t(o,r,n),i=o.number),s=o.to+1}let s=e.changes(r);return{changes:r,range:V.range(s.mapPos(n.anchor,1),s.mapPos(n.head,1))}})}const Op=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(pp(e,(t,i)=>{i.push({from:t.from,insert:e.facet(fc)})}),{userEvent:"input.indent"})),!0),mp=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(pp(e,(t,i)=>{let n=/^\s*/.exec(t.text)[0];if(!n)return;let r=ze(n,e.tabSize),s=0,o=pc(e,Math.max(0,r-dc(e)));for(;s<n.length&&s<o.length&&n.charCodeAt(s)==o.charCodeAt(s);)s++;i.push({from:t.from+s,to:t.from+n.length,insert:o.slice(s)})}),{userEvent:"delete.dedent"})),!0),gp=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:Jf,shift:vd},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:Kf,shift:wd},{key:"Alt-ArrowUp",run:sp},{key:"Shift-Alt-ArrowUp",run:lp},{key:"Alt-ArrowDown",run:op},{key:"Shift-Alt-ArrowDown",run:hp},{key:"Escape",run:zd},{key:"Mod-Enter",run:dp(!0)},{key:"Alt-l",mac:"Ctrl-l",run:Ud},{key:"Mod-i",run:Yd,preventDefault:!0},{key:"Mod-[",run:mp},{key:"Mod-]",run:Op},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Object.create(null),n=new mc(e,{overrideIndentation:e=>{let t=i[e];return null==t?-1:t}}),r=pp(e,(t,r,s)=>{let o=Oc(n,t.from);if(null==o)return;/\S/.test(t.text)||(o=0);let a=/^\s*/.exec(t.text)[0],l=pc(e,o);(a!=l||s.from<t.from+a.length)&&(i[t.from]=o,r.push({from:t.from,to:t.from+a.length,insert:l}))});return r.changes.empty||t(e.update(r,{userEvent:"indent"})),!0}},{key:"Shift-Mod-k",run:cp},{key:"Shift-Mod-\\",run:Od},{key:"Mod-/",run:tf},{key:"Alt-A",run:sf}].concat([{key:"ArrowLeft",run:Lf,shift:Sd,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:jf,shift:xd,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:cd,shift:Vd,preventDefault:!0},{key:"ArrowRight",run:Bf,shift:bd,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:Gf,shift:Qd,preventDefault:!0},{mac:"Cmd-ArrowRight",run:ud,shift:Xd,preventDefault:!0},{key:"ArrowUp",run:td,shift:kd,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Md,shift:Id},{mac:"Ctrl-ArrowUp",run:sd,shift:Ad},{key:"ArrowDown",run:id,shift:Pd,preventDefault:!0},{mac:"Cmd-ArrowDown",run:qd,shift:Ed},{mac:"Ctrl-ArrowDown",run:od,shift:Cd},{key:"PageUp",run:sd,shift:Ad},{key:"PageDown",run:od,shift:Cd},{key:"Home",run:hd,shift:Zd,preventDefault:!0},{key:"Mod-Home",run:Md,shift:Id},{key:"End",run:ld,shift:Wd,preventDefault:!0},{key:"Mod-End",run:qd,shift:Ed},{key:"Enter",run:fp},{key:"Mod-a",run:Dd},{key:"Backspace",run:jd,shift:jd},{key:"Delete",run:Gd},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Hd},{key:"Mod-Delete",mac:"Alt-Delete",run:Jd},{mac:"Mod-Backspace",run:ep},{mac:"Mod-Delete",run:Kd}].concat([{key:"Ctrl-b",run:Lf,shift:Sd,preventDefault:!0},{key:"Ctrl-f",run:Bf,shift:bd},{key:"Ctrl-p",run:td,shift:kd},{key:"Ctrl-n",run:id,shift:Pd},{key:"Ctrl-a",run:fd,shift:_d},{key:"Ctrl-e",run:dd,shift:Rd},{key:"Ctrl-d",run:Gd},{key:"Ctrl-h",run:jd},{key:"Ctrl-k",run:Kd},{key:"Ctrl-Alt-h",run:Hd},{key:"Ctrl-o",run:tp},{key:"Ctrl-t",run:ip},{key:"Ctrl-v",run:od}].map(e=>({mac:e.key,run:e.run,shift:e.shift})))),Sp={key:"Tab",run:Op,shift:mp};function bp(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,i=arguments[1];if(i&&"object"==typeof i&&null==i.nodeType&&!Array.isArray(i)){for(var n in i)if(Object.prototype.hasOwnProperty.call(i,n)){var r=i[n];"string"==typeof r?e.setAttribute(n,r):null!=r&&(e[n]=r)}t++}for(;t<arguments.length;t++)yp(e,arguments[t]);return e}function yp(e,t){if("string"==typeof t)e.appendChild(document.createTextNode(t));else if(null==t);else if(null!=t.nodeType)e.appendChild(t);else{if(!Array.isArray(t))throw new RangeError("Unsupported child node: "+t);for(var i=0;i<t.length;i++)yp(e,t[i])}}const xp="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class Qp{constructor(e,t,i=0,n=e.length,r,s){this.test=s,this.value={from:0,to:0},this.done=!1,this.matches=[],this.buffer="",this.bufferPos=0,this.iter=e.iterRange(i,n),this.bufferStart=i,this.normalize=r?e=>r(xp(e)):xp,this.query=this.normalize(t)}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 b(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 t=y(e),i=this.bufferStart+this.bufferPos;this.bufferPos+=x(e);let n=this.normalize(t);for(let e=0,r=i;;e++){let s=n.charCodeAt(e),o=this.match(s,r);if(o)return this.value=o,this;if(e==n.length-1)break;r==i&&e<t.length&&t.charCodeAt(e)==s&&r++}}}match(e,t){let i=null;for(let n=0;n<this.matches.length;n+=2){let r=this.matches[n],s=!1;this.query.charCodeAt(r)==e&&(r==this.query.length-1?i={from:this.matches[n+1],to:t+1}:(this.matches[n]++,s=!0)),s||(this.matches.splice(n,2),n-=2)}return this.query.charCodeAt(0)==e&&(1==this.query.length?i={from:t,to:t+1}:this.matches.push(1,t)),i&&this.test&&!this.test(i.from,i.to,this.buffer,this.bufferPos)&&(i=null),i}}"undefined"!=typeof Symbol&&(Qp.prototype[Symbol.iterator]=function(){return this});const vp={from:-1,to:-1,match:/.*/.exec("")},wp="gm"+(null==/x/.unicode?"":"u");class $p{constructor(e,t,i,n=0,r=e.length){if(this.text=e,this.to=r,this.curLine="",this.done=!1,this.value=vp,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Tp(e,t,i,n,r);this.re=new RegExp(t,wp+((null==i?void 0:i.ignoreCase)?"i":"")),this.test=null==i?void 0:i.test,this.iter=e.iter();let s=e.lineAt(n);this.curLineStart=s.from,this.matchPos=Cp(e,n),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 t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let i=this.curLineStart+t.index,n=i+t[0].length;if(this.matchPos=Cp(this.text,n+(i==n?1:0)),i==this.curLineStart+this.curLine.length&&this.nextLine(),(i<n||i>this.value.to)&&(!this.test||this.test(i,n,t)))return this.value={from:i,to:n,match:t},this;e=this.matchPos-this.curLineStart}else{if(!(this.curLineStart+this.curLine.length<this.to))return this.done=!0,this;this.nextLine(),e=0}}}}const kp=new WeakMap;class Pp{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,i){let n=kp.get(e);if(!n||n.from>=i||n.to<=t){let n=new Pp(t,e.sliceString(t,i));return kp.set(e,n),n}if(n.from==t&&n.to==i)return n;let{text:r,from:s}=n;return s>t&&(r=e.sliceString(t,s)+r,s=t),n.to<i&&(r+=e.sliceString(n.to,i)),kp.set(e,new Pp(s,r)),new Pp(t,r.slice(t-s,i-s))}}class Tp{constructor(e,t,i,n,r){this.text=e,this.to=r,this.done=!1,this.value=vp,this.matchPos=Cp(e,n),this.re=new RegExp(t,wp+((null==i?void 0:i.ignoreCase)?"i":"")),this.test=null==i?void 0:i.test,this.flat=Pp.get(e,n,this.chunkEnd(n+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,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,i=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,i,t)))return this.value={from:e,to:i,match:t},this.matchPos=Cp(this.text,i+(e==i?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Pp.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function Ap(e){try{return new RegExp(e,wp),!0}catch(e){return!1}}function Cp(e,t){if(t>=e.length)return t;let i,n=e.lineAt(t);for(;t<n.to&&(i=n.text.charCodeAt(t-n.from))>=56320&&i<57344;)t++;return t}function Wp(e){let t=bp("input",{class:"cm-textfield",name:"line"});function i(){let i=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!i)return;let{state:n}=e,r=n.doc.lineAt(n.selection.main.head),[,s,o,a,l]=i,h=a?+a.slice(1):0,c=o?+o:r.number;if(o&&l){let e=c/100;s&&(e=e*("-"==s?-1:1)+r.number/n.doc.lines),c=Math.round(n.doc.lines*e)}else o&&s&&(c=c*("-"==s?-1:1)+r.number);let u=n.doc.line(Math.max(1,Math.min(n.doc.lines,c)));e.dispatch({effects:Zp.of(!1),selection:V.cursor(u.from+Math.max(0,Math.min(h,u.length))),scrollIntoView:!0}),e.focus()}return{dom:bp("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:Zp.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),i())},onsubmit:e=>{e.preventDefault(),i()}},bp("label",e.state.phrase("Go to line"),": ",t)," ",bp("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&($p.prototype[Symbol.iterator]=Tp.prototype[Symbol.iterator]=function(){return this});const Zp=ce.define(),Vp=Y.define({create:()=>!0,update(e,t){for(let i of t.effects)i.is(Zp)&&(e=i.value);return e},provide:e=>ta.from(e,e=>e?Wp:null)}),Xp=e=>{let t=Ho(e,Wp);if(!t){let i=[Zp.of(!0)];null==e.state.field(Vp,!1)&&i.push(ce.appendConfig.of([Vp,_p])),e.dispatch({effects:i}),t=Ho(e,Wp)}return t&&t.dom.querySelector("input").focus(),!0},_p=gs.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),Rp={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Mp=R.define({combine:e=>ke(e,Rp,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});function qp(e){let t=[zp,Yp];return e&&t.push(Mp.of(e)),t}const Ip=Oi.mark({class:"cm-selectionMatch"}),Ep=Oi.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Dp(e,t,i,n){return!(0!=i&&e(t.sliceDoc(i-1,i))==ye.Word||n!=t.doc.length&&e(t.sliceDoc(n,n+1))==ye.Word)}function Up(e,t,i,n){return e(t.sliceDoc(i,i+1))==ye.Word&&e(t.sliceDoc(n-1,n))==ye.Word}const Yp=Di.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Mp),{state:i}=e,n=i.selection;if(n.ranges.length>1)return Oi.none;let r,s=n.main,o=null;if(s.empty){if(!t.highlightWordAroundCursor)return Oi.none;let e=i.wordAt(s.head);if(!e)return Oi.none;o=i.charCategorizer(s.head),r=i.sliceDoc(e.from,e.to)}else{let e=s.to-s.from;if(e<t.minSelectionLength||e>200)return Oi.none;if(t.wholeWords){if(r=i.sliceDoc(s.from,s.to),o=i.charCategorizer(s.head),!Dp(o,i,s.from,s.to)||!Up(o,i,s.from,s.to))return Oi.none}else if(r=i.sliceDoc(s.from,s.to).trim(),!r)return Oi.none}let a=[];for(let n of e.visibleRanges){let e=new Qp(i.doc,r,n.from,n.to);for(;!e.next().done;){let{from:n,to:r}=e.value;if((!o||Dp(o,i,n,r))&&(s.empty&&n<=s.from&&r>=s.to?a.push(Ep.range(n,r)):(n>=s.to||r<=s.from)&&a.push(Ip.range(n,r)),a.length>t.maxMatches))return Oi.none}}return Oi.set(a)}},{decorations:e=>e.decorations}),zp=gs.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),Lp=({state:e,dispatch:t})=>{let{selection:i}=e,n=V.create(i.ranges.map(t=>e.wordAt(t.head)||V.cursor(t.head)),i.mainIndex);return!n.eq(i)&&(t(e.update({selection:n})),!0)};function Bp(e,t){let{main:i,ranges:n}=e.selection,r=e.wordAt(i.head),s=r&&r.from==i.from&&r.to==i.to;for(let i=!1,r=new Qp(e.doc,t,n[n.length-1].to);;){if(r.next(),!r.done){if(i&&n.some(e=>e.from==r.value.from))continue;if(s){let t=e.wordAt(r.value.from);if(!t||t.from!=r.value.from||t.to!=r.value.to)continue}return r.value}if(i)return null;r=new Qp(e.doc,t,0,Math.max(0,n[n.length-1].from-1)),i=!0}}const Np=({state:e,dispatch:t})=>{let{ranges:i}=e.selection;if(i.some(e=>e.from===e.to))return Lp({state:e,dispatch:t});let n=e.sliceDoc(i[0].from,i[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=n))return!1;let r=Bp(e,n);return!!r&&(t(e.update({selection:e.selection.addRange(V.range(r.from,r.to),!1),effects:gs.scrollIntoView(r.to)})),!0)},jp=R.define({combine:e=>ke(e,{top:!1,caseSensitive:!1,literal:!1,wholeWord:!1,createPanel:e=>new wO(e)})});class Gp{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||Ap(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>"n"==t?"\n":"r"==t?"\r":"t"==t?"\t":"\\")}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord}create(){return this.regexp?new rO(this):new Kp(this)}getCursor(e,t=0,i){let n=e.doc?e:$e.create({doc:e});return null==i&&(i=n.doc.length),this.regexp?eO(this,n,t,i):Hp(this,n,t,i)}}class Fp{constructor(e){this.spec=e}}function Hp(e,t,i,n){return new Qp(t.doc,e.unquoted,i,n,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?Jp(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}function Jp(e,t){return(i,n,r,s)=>((s>i||s+r.length<n)&&(s=Math.max(0,i-2),r=e.sliceString(s,Math.min(e.length,n+2))),!(t(tO(r,i-s))==ye.Word&&t(iO(r,i-s))==ye.Word||t(iO(r,n-s))==ye.Word&&t(tO(r,n-s))==ye.Word))}class Kp extends Fp{constructor(e){super(e)}nextMatch(e,t,i){let n=Hp(this.spec,e,i,e.doc.length).nextOverlapping();return n.done&&(n=Hp(this.spec,e,0,t).nextOverlapping()),n.done?null:n.value}prevMatchInRange(e,t,i){for(let n=i;;){let i=Math.max(t,n-1e4-this.spec.unquoted.length),r=Hp(this.spec,e,i,n),s=null;for(;!r.nextOverlapping().done;)s=r.value;if(s)return s;if(i==t)return null;n-=1e4}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let i=Hp(this.spec,e,0,e.doc.length),n=[];for(;!i.next().done;){if(n.length>=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let r=Hp(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(i+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)n(r.value.from,r.value.to)}}function eO(e,t,i,n){return new $p(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?nO(t.charCategorizer(t.selection.main.head)):void 0},i,n)}function tO(e,t){return e.slice(p(e,t,!1),t)}function iO(e,t){return e.slice(t,p(e,t))}function nO(e){return(t,i,n)=>!n[0].length||(e(tO(n.input,n.index))!=ye.Word||e(iO(n.input,n.index))!=ye.Word)&&(e(iO(n.input,n.index+n[0].length))!=ye.Word||e(tO(n.input,n.index+n[0].length))!=ye.Word)}class rO extends Fp{nextMatch(e,t,i){let n=eO(this.spec,e,i,e.doc.length).next();return n.done&&(n=eO(this.spec,e,0,t).next()),n.done?null:n.value}prevMatchInRange(e,t,i){for(let n=1;;n++){let r=Math.max(t,i-1e4*n),s=eO(this.spec,e,r,i),o=null;for(;!s.next().done;)o=s.value;if(o&&(r==t||o.from>r+10))return o;if(r==t)return null}}prevMatch(e,t,i){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,i,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,(t,i)=>"$"==i?"$":"&"==i?e.match[0]:"0"!=i&&+i<e.match.length?e.match[i]:t))}matchAll(e,t){let i=eO(this.spec,e,0,e.doc.length),n=[];for(;!i.next().done;){if(n.length>=t)return null;n.push(i.value)}return n}highlight(e,t,i,n){let r=eO(this.spec,e,Math.max(0,t-250),Math.min(i+250,e.doc.length));for(;!r.next().done;)n(r.value.from,r.value.to)}}const sO=ce.define(),oO=ce.define(),aO=Y.define({create:e=>new lO(yO(e).create(),null),update(e,t){for(let i of t.effects)i.is(sO)?e=new lO(i.value.create(),e.panel):i.is(oO)&&(e=new lO(e.query,i.value?bO:null));return e},provide:e=>ta.from(e,e=>e.panel)});class lO{constructor(e,t){this.query=e,this.panel=t}}const hO=Oi.mark({class:"cm-searchMatch"}),cO=Oi.mark({class:"cm-searchMatch cm-searchMatch-selected"}),uO=Di.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(aO))}update(e){let t=e.state.field(aO);(t!=e.startState.field(aO)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return Oi.none;let{view:i}=this,n=new Ve;for(let t=0,r=i.visibleRanges,s=r.length;t<s;t++){let{from:o,to:a}=r[t];for(;t<s-1&&a>r[t+1].from-500;)a=r[++t].to;e.highlight(i.state,o,a,(e,t)=>{let r=i.state.selection.ranges.some(i=>i.from==e&&i.to==t);n.add(e,t,r?cO:hO)})}return n.finish()}},{decorations:e=>e.decorations});function fO(e){return t=>{let i=t.state.field(aO,!1);return i&&i.query.spec.valid?e(t,i):xO(t)}}const dO=fO((e,{query:t})=>{let{to:i}=e.state.selection.main,n=t.nextMatch(e.state,i,i);return!!n&&(e.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0,effects:TO(e,n),userEvent:"select.search"}),!0)}),pO=fO((e,{query:t})=>{let{state:i}=e,{from:n}=i.selection.main,r=t.prevMatch(i,n,n);return!!r&&(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:TO(e,r),userEvent:"select.search"}),!0)}),OO=fO((e,{query:t})=>{let i=t.matchAll(e.state,1e3);return!(!i||!i.length)&&(e.dispatch({selection:V.create(i.map(e=>V.range(e.from,e.to))),userEvent:"select.search.matches"}),!0)}),mO=({state:e,dispatch:t})=>{let i=e.selection;if(i.ranges.length>1||i.main.empty)return!1;let{from:n,to:r}=i.main,s=[],o=0;for(let t=new Qp(e.doc,e.sliceDoc(n,r));!t.next().done;){if(s.length>1e3)return!1;t.value.from==n&&(o=s.length),s.push(V.range(t.value.from,t.value.to))}return t(e.update({selection:V.create(s,o),userEvent:"select.search.matches"})),!0},gO=fO((e,{query:t})=>{let{state:i}=e,{from:n,to:r}=i.selection.main;if(i.readOnly)return!1;let s=t.nextMatch(i,n,n);if(!s)return!1;let o,a,l=[],h=[];if(s.from==n&&s.to==r&&(a=i.toText(t.getReplacement(s)),l.push({from:s.from,to:s.to,insert:a}),s=t.nextMatch(i,s.from,s.to),h.push(gs.announce.of(i.phrase("replaced match on line $",i.doc.lineAt(n).number)+"."))),s){let t=0==l.length||l[0].from>=s.to?0:s.to-s.from-a.length;o={anchor:s.from-t,head:s.to-t},h.push(TO(e,s))}return e.dispatch({changes:l,selection:o,scrollIntoView:!!o,effects:h,userEvent:"input.replace"}),!0}),SO=fO((e,{query:t})=>{if(e.state.readOnly)return!1;let i=t.matchAll(e.state,1e9).map(e=>{let{from:i,to:n}=e;return{from:i,to:n,insert:t.getReplacement(e)}});if(!i.length)return!1;let n=e.state.phrase("replaced $ matches",i.length)+".";return e.dispatch({changes:i,effects:gs.announce.of(n),userEvent:"input.replace.all"}),!0});function bO(e){return e.state.facet(jp).createPanel(e)}function yO(e,t){var i,n,r,s;let o=e.selection.main,a=o.empty||o.to>o.from+100?"":e.sliceDoc(o.from,o.to);if(t&&!a)return t;let l=e.facet(jp);return new Gp({search:(null!==(i=null==t?void 0:t.literal)&&void 0!==i?i:l.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:null!==(n=null==t?void 0:t.caseSensitive)&&void 0!==n?n:l.caseSensitive,literal:null!==(r=null==t?void 0:t.literal)&&void 0!==r?r:l.literal,wholeWord:null!==(s=null==t?void 0:t.wholeWord)&&void 0!==s?s:l.wholeWord})}const xO=e=>{let t=e.state.field(aO,!1);if(t&&t.panel){let i=Ho(e,bO);if(!i)return!1;let n=i.dom.querySelector("[main-field]");if(n&&n!=e.root.activeElement){let i=yO(e.state,t.query.spec);i.valid&&e.dispatch({effects:sO.of(i)}),n.focus(),n.select()}}else e.dispatch({effects:[oO.of(!0),t?sO.of(yO(e.state,t.query.spec)):ce.appendConfig.of(CO)]});return!0},QO=e=>{let t=e.state.field(aO,!1);if(!t||!t.panel)return!1;let i=Ho(e,bO);return i&&i.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:oO.of(!1)}),!0},vO=[{key:"Mod-f",run:xO,scope:"editor search-panel"},{key:"F3",run:dO,shift:pO,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:dO,shift:pO,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:QO,scope:"editor search-panel"},{key:"Mod-Shift-l",run:mO},{key:"Alt-g",run:Xp},{key:"Mod-d",run:Np,preventDefault:!0}];class wO{constructor(e){this.view=e;let t=this.query=e.state.field(aO).query.spec;function i(e,t,i){return bp("button",{class:"cm-button",name:e,onclick:t,type:"button"},i)}this.commit=this.commit.bind(this),this.searchField=bp("input",{value:t.search,placeholder:$O(e,"Find"),"aria-label":$O(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=bp("input",{value:t.replace,placeholder:$O(e,"Replace"),"aria-label":$O(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=bp("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=bp("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=bp("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=bp("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,i("next",()=>dO(e),[$O(e,"next")]),i("prev",()=>pO(e),[$O(e,"previous")]),i("select",()=>OO(e),[$O(e,"all")]),bp("label",null,[this.caseField,$O(e,"match case")]),bp("label",null,[this.reField,$O(e,"regexp")]),bp("label",null,[this.wordField,$O(e,"by word")]),...e.state.readOnly?[]:[bp("br"),this.replaceField,i("replace",()=>gO(e),[$O(e,"replace")]),i("replaceAll",()=>SO(e),[$O(e,"replace all")])],bp("button",{name:"close",onclick:()=>QO(e),"aria-label":$O(e,"close"),type:"button"},["×"])])}commit(){let e=new Gp({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:sO.of(e)}))}keydown(e){As(this.view,e,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?pO:dO)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),gO(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(sO)&&!e.value.eq(this.query)&&this.setQuery(e.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(jp).top}}function $O(e,t){return e.state.phrase(t)}const kO=30,PO=/[\s\.,:;?!]/;function TO(e,{from:t,to:i}){let n=e.state.doc.lineAt(t),r=e.state.doc.lineAt(i).to,s=Math.max(n.from,t-kO),o=Math.min(r,i+kO),a=e.state.sliceDoc(s,o);if(s!=n.from)for(let e=0;e<kO;e++)if(!PO.test(a[e+1])&&PO.test(a[e])){a=a.slice(e);break}if(o!=r)for(let e=a.length-1;e>a.length-kO;e--)if(!PO.test(a[e-1])&&PO.test(a[e])){a=a.slice(0,e);break}return gs.announce.of(`${e.state.phrase("current match")}. ${a} ${e.state.phrase("on line")} ${n.number}.`)}const AO=gs.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"}}),CO=[aO,B.lowest(uO),AO];class WO{constructor(e,t,i){this.state=e,this.pos=t,this.explicit=i,this.abortListeners=[]}tokenBefore(e){let t=Kh(this.state).resolveInner(this.pos,-1);for(;t&&e.indexOf(t.name)<0;)t=t.parent;return t?{from:t.from,to:this.pos,text:this.state.sliceDoc(t.from,this.pos),type:t.type}:null}matchBefore(e){let t=this.state.doc.lineAt(this.pos),i=Math.max(t.from,this.pos-250),n=t.text.slice(i-t.from,this.pos-t.from),r=n.search(qO(e,!1));return r<0?null:{from:i+r,to:this.pos,text:n.slice(r)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function ZO(e){let t=Object.keys(e).join(""),i=/\w/.test(t);return i&&(t=t.replace(/\w/g,"")),`[${i?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function VO(e){let t=Object.create(null),i=Object.create(null);for(let{label:n}of e){t[n[0]]=!0;for(let e=1;e<n.length;e++)i[n[e]]=!0}let n=ZO(t)+ZO(i)+"*$";return[new RegExp("^"+n),new RegExp(n)]}function XO(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[i,n]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:VO(t);return e=>{let r=e.matchBefore(n);return r||e.explicit?{from:r?r.from:e.pos,options:t,validFor:i}:null}}function _O(e,t){return i=>{for(let t=Kh(i.state).resolveInner(i.pos,-1);t;t=t.parent)if(e.indexOf(t.name)>-1)return null;return t(i)}}class RO{constructor(e,t,i){this.completion=e,this.source=t,this.match=i}}function MO(e){return e.selection.main.head}function qO(e,t){var i;let{source:n}=e,r=t&&"^"!=n[0],s="$"!=n[n.length-1];return r||s?new RegExp(`${r?"^":""}(?:${n})${s?"$":""}`,null!==(i=e.flags)&&void 0!==i?i:e.ignoreCase?"i":""):e}const IO=ae.define();function EO(e,t,i,n){return Object.assign(Object.assign({},e.changeByRange(r=>{if(r==e.selection.main)return{changes:{from:i,to:n,insert:t},range:V.cursor(i+t.length)};let s=n-i;return!r.empty||s&&e.sliceDoc(r.from-s,r.from)!=e.sliceDoc(i,n)?{range:r}:{changes:{from:r.from-s,to:r.from,insert:t},range:V.cursor(r.from-s+t.length)}})),{userEvent:"input.complete"})}function DO(e,t){const i=t.completion.apply||t.completion.label;let n=t.source;"string"==typeof i?e.dispatch(Object.assign(Object.assign({},EO(e.state,i,n.from,n.to)),{annotations:IO.of(t.completion)})):i(e,t.completion,n.from,n.to)}const UO=new WeakMap;function YO(e){if(!Array.isArray(e))return e;let t=UO.get(e);return t||UO.set(e,t=XO(e)),t}class zO{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[];for(let t=0;t<e.length;){let i=b(e,t),n=x(i);this.chars.push(i);let r=e.slice(t,t+n),s=r.toUpperCase();this.folded.push(b(s==r?r.toLowerCase():s,0)),t+=n}this.astral=e.length!=this.chars.length}match(e){if(0==this.pattern.length)return[0];if(e.length<this.pattern.length)return null;let{chars:t,folded:i,any:n,precise:r,byWord:s}=this;if(1==t.length){let n=b(e,0);return n==t[0]?[0,0,x(n)]:n==i[0]?[-200,0,x(n)]:null}let o=e.indexOf(this.pattern);if(0==o)return[0,0,this.pattern.length];let a=t.length,l=0;if(o<0){for(let r=0,s=Math.min(e.length,200);r<s&&l<a;){let s=b(e,r);s!=t[l]&&s!=i[l]||(n[l++]=r),r+=x(s)}if(l<a)return null}let h=0,c=0,u=!1,f=0,d=-1,p=-1,O=/[a-z]/.test(e),m=!0;for(let n=0,l=Math.min(e.length,200),g=0;n<l&&c<a;){let l=b(e,n);o<0&&(h<a&&l==t[h]&&(r[h++]=n),f<a&&(l==t[f]||l==i[f]?(0==f&&(d=n),p=n+1,f++):f=0));let S,Q=l<255?l>=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(S=y(l))!=S.toLowerCase()?1:S!=S.toUpperCase()?2:0;(!n||1==Q&&O||0==g&&0!=Q)&&(t[c]==l||i[c]==l&&(u=!0)?s[c++]=n:s.length&&(m=!1)),g=Q,n+=x(l)}return c==a&&0==s[0]&&m?this.result((u?-200:0)-100,s,e):f==a&&0==d?[-200-e.length,0,p]:o>-1?[-700-e.length,o,o+this.pattern.length]:f==a?[-900-e.length,d,p]:c==a?this.result((u?-200:0)-100-700+(m?0:-1100),s,e):2==t.length?null:this.result((n[0]?-700:0)-200-1100,n,e)}result(e,t,i){let n=[e-i.length],r=1;for(let e of t){let t=e+(this.astral?x(b(i,e)):1);r>1&&n[r-1]==e?n[r-1]=t:(n[r++]=e,n[r++]=t)}return n}}const LO=R.define({combine:e=>ke(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],compareCompletions:(e,t)=>e.label.localeCompare(t.label),interactionDelay:75},{defaultKeymap:(e,t)=>e&&t,closeOnBlur:(e,t)=>e&&t,icons:(e,t)=>e&&t,tooltipClass:(e,t)=>i=>BO(e(i),t(i)),optionClass:(e,t)=>i=>BO(e(i),t(i)),addToOptions:(e,t)=>e.concat(t)})});function BO(e,t){return e?t?e+" "+t:e:t}function NO(e){let t=e.addToOptions.slice();return e.icons&&t.push({render(e){let t=document.createElement("div");return t.classList.add("cm-completionIcon"),e.type&&t.classList.add(...e.type.split(/\s+/g).map(e=>"cm-completionIcon-"+e)),t.setAttribute("aria-hidden","true"),t},position:20}),t.push({render(e,t,i){let n=document.createElement("span");n.className="cm-completionLabel";let{label:r}=e,s=0;for(let e=1;e<i.length;){let t=i[e++],o=i[e++];t>s&&n.appendChild(document.createTextNode(r.slice(s,t)));let a=n.appendChild(document.createElement("span"));a.appendChild(document.createTextNode(r.slice(t,o))),a.className="cm-completionMatchedText",s=o}return s<r.length&&n.appendChild(document.createTextNode(r.slice(s))),n},position:50},{render(e){if(!e.detail)return null;let t=document.createElement("span");return t.className="cm-completionDetail",t.textContent=e.detail,t},position:80}),t.sort((e,t)=>e.position-t.position).map(e=>e.render)}function jO(e,t,i){if(e<=i)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/i);return{from:e*i,to:(e+1)*i}}let n=Math.floor((e-t)/i);return{from:e-(n+1)*i,to:e-n*i}}class GO{constructor(e,t){this.view=e,this.stateField=t,this.info=null,this.placeInfo={read:()=>this.measureInfo(),write:e=>this.positionInfo(e),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:n,selected:r}=i.open,s=e.state.facet(LO);this.optionContent=NO(s),this.optionClass=s.optionClass,this.tooltipClass=s.tooltipClass,this.range=jO(n.length,r,s.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",t=>{for(let i,r=t.target;r&&r!=this.dom;r=r.parentNode)if("LI"==r.nodeName&&(i=/-(\d+)$/.exec(r.id))&&+i[1]<n.length)return DO(e,n[+i[1]]),void t.preventDefault()}),this.list=this.dom.appendChild(this.createListBox(n,i.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfo)})}mount(){this.updateSel()}update(e){var t,i,n;let r=e.state.field(this.stateField),s=e.startState.field(this.stateField);this.updateTooltipClass(e.state),r!=s&&(this.updateSel(),(null===(t=r.open)||void 0===t?void 0:t.disabled)!=(null===(i=s.open)||void 0===i?void 0:i.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(null===(n=r.open)||void 0===n?void 0:n.disabled)))}updateTooltipClass(e){let t=this.tooltipClass(e);if(t!=this.currentClass){for(let e of this.currentClass.split(" "))e&&this.dom.classList.remove(e);for(let e of t.split(" "))e&&this.dom.classList.add(e);this.currentClass=t}}positioned(e){this.space=e,this.info&&this.view.requestMeasure(this.placeInfo)}updateSel(){let e=this.view.state.field(this.stateField),t=e.open;if((t.selected>-1&&t.selected<this.range.from||t.selected>=this.range.to)&&(this.range=jO(t.options.length,t.selected,this.view.state.facet(LO).maxRenderedOptions),this.list.remove(),this.list=this.dom.appendChild(this.createListBox(t.options,e.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfo)})),this.updateSelectedOption(t.selected)){this.info&&(this.info.remove(),this.info=null);let{completion:i}=t.options[t.selected],{info:n}=i;if(!n)return;let r="string"==typeof n?document.createTextNode(n):n(i);if(!r)return;"then"in r?r.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t)}).catch(e=>Mi(this.view.state,e,"completion info")):this.addInfoPane(r)}}addInfoPane(e){let t=this.info=document.createElement("div");t.className="cm-tooltip cm-completionInfo",t.appendChild(e),this.dom.appendChild(t),this.view.requestMeasure(this.placeInfo)}updateSelectedOption(e){let t=null;for(let i=this.list.firstChild,n=this.range.from;i;i=i.nextSibling,n++)n==e?i.hasAttribute("aria-selected")||(i.setAttribute("aria-selected","true"),t=i):i.hasAttribute("aria-selected")&&i.removeAttribute("aria-selected");return t&&HO(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),i=this.info.getBoundingClientRect(),n=e.getBoundingClientRect(),r=this.space;if(!r){let e=this.dom.ownerDocument.defaultView||window;r={left:0,top:0,right:e.innerWidth,bottom:e.innerHeight}}if(n.top>Math.min(r.bottom,t.bottom)-10||n.bottom<Math.max(r.top,t.top)+10)return null;let s,o=this.view.textDirection==Hi.RTL,a=o,l=!1,h="",c="",u=t.left-r.left,f=r.right-t.right;if(a&&u<Math.min(i.width,f)?a=!1:!a&&f<Math.min(i.width,u)&&(a=!0),i.width<=(a?u:f))h=Math.max(r.top,Math.min(n.top,r.bottom-i.height))-t.top+"px",s=Math.min(400,a?u:f)+"px";else{l=!0,s=Math.min(400,(o?t.right:r.right-t.left)-30)+"px";let e=r.bottom-t.bottom;e>=i.height||e>t.top?h=n.bottom-t.top+"px":c=t.bottom-n.top+"px"}return{top:h,bottom:c,maxWidth:s,class:l?o?"left-narrow":"right-narrow":a?"left":"right"}}positionInfo(e){this.info&&(e?(this.info.style.top=e.top,this.info.style.bottom=e.bottom,this.info.style.maxWidth=e.maxWidth,this.info.className="cm-tooltip cm-completionInfo cm-completionInfo-"+e.class):this.info.style.top="-1e6px")}createListBox(e,t,i){const n=document.createElement("ul");n.id=t,n.setAttribute("role","listbox"),n.setAttribute("aria-expanded","true"),n.setAttribute("aria-label",this.view.state.phrase("Completions"));for(let r=i.from;r<i.to;r++){let{completion:i,match:s}=e[r];const o=n.appendChild(document.createElement("li"));o.id=t+"-"+r,o.setAttribute("role","option");let a=this.optionClass(i);a&&(o.className=a);for(let e of this.optionContent){let t=e(i,this.view.state,s);t&&o.appendChild(t)}}return i.from&&n.classList.add("cm-completionListIncompleteTop"),i.to<e.length&&n.classList.add("cm-completionListIncompleteBottom"),n}}function FO(e){return t=>new GO(t,e)}function HO(e,t){let i=e.getBoundingClientRect(),n=t.getBoundingClientRect();n.top<i.top?e.scrollTop-=i.top-n.top:n.bottom>i.bottom&&(e.scrollTop+=n.bottom-i.bottom)}function JO(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function KO(e,t){let i=[],n=0;for(let r of e)if(r.hasResult())if(!1===r.result.filter){let e=r.result.getMatch;for(let t of r.result.options){let s=[1e9-n++];if(e)for(let i of e(t))s.push(i);i.push(new RO(t,r,s))}}else{let e,n=new zO(t.sliceDoc(r.from,r.to));for(let t of r.result.options)(e=n.match(t.label))&&(null!=t.boost&&(e[0]+=t.boost),i.push(new RO(t,r,e)))}let r=[],s=null,o=t.facet(LO).compareCompletions;for(let e of i.sort((e,t)=>t.match[0]-e.match[0]||o(e.completion,t.completion)))!s||s.label!=e.completion.label||s.detail!=e.completion.detail||null!=s.type&&null!=e.completion.type&&s.type!=e.completion.type||s.apply!=e.completion.apply?r.push(e):JO(e.completion)>JO(s)&&(r[r.length-1]=e),s=e.completion;return r}class em{constructor(e,t,i,n,r,s){this.options=e,this.attrs=t,this.tooltip=i,this.timestamp=n,this.selected=r,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new em(this.options,rm(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,i,n,r){let s=KO(e,t);if(!s.length)return n&&e.some(e=>1==e.state)?new em(n.options,n.attrs,n.tooltip,n.timestamp,n.selected,!0):null;let o=t.facet(LO).selectOnOpen?0:-1;if(n&&n.selected!=o&&-1!=n.selected){let e=n.options[n.selected].completion;for(let t=0;t<s.length;t++)if(s[t].completion==e){o=t;break}}return new em(s,rm(i,o),{pos:e.reduce((e,t)=>t.hasResult()?Math.min(e,t.from):e,1e8),create:FO(pm),above:r.aboveCursor},n?n.timestamp:Date.now(),o,!1)}map(e){return new em(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class tm{constructor(e,t,i){this.active=e,this.id=t,this.open=i}static start(){return new tm(sm,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,i=t.facet(LO),n=(i.override||t.languageDataAt("autocomplete",MO(t)).map(YO)).map(t=>(this.active.find(e=>e.source==t)||new am(t,this.active.some(e=>0!=e.state)?1:0)).update(e,i));n.length==this.active.length&&n.every((e,t)=>e==this.active[t])&&(n=this.active);let r=this.open;r&&e.docChanged&&(r=r.map(e.changes)),e.selection||n.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!im(n,this.active)?r=em.build(n,t,this.id,r,i):r&&r.disabled&&!n.some(e=>1==e.state)&&(r=null),!r&&n.every(e=>1!=e.state)&&n.some(e=>e.hasResult())&&(n=n.map(e=>e.hasResult()?new am(e.source,0):e));for(let t of e.effects)t.is(dm)&&(r=r&&r.setSelected(t.value,this.id));return n==this.active&&r==this.open?this:new tm(n,this.id,r)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:nm}}function im(e,t){if(e==t)return!0;for(let i=0,n=0;;){for(;i<e.length&&!e[i].hasResult;)i++;for(;n<t.length&&!t[n].hasResult;)n++;let r=i==e.length,s=n==t.length;if(r||s)return r==s;if(e[i++].result!=t[n++].result)return!1}}const nm={"aria-autocomplete":"list"};function rm(e,t){let i={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(i["aria-activedescendant"]=e+"-"+t),i}const sm=[];function om(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class am{constructor(e,t,i=-1){this.source=e,this.state=t,this.explicitPos=i}hasResult(){return!1}update(e,t){let i=om(e),n=this;i?n=n.handleUserEvent(e,i,t):e.docChanged?n=n.handleChange(e):e.selection&&0!=n.state&&(n=new am(n.source,0));for(let t of e.effects)if(t.is(cm))n=new am(n.source,1,t.value?MO(e.state):-1);else if(t.is(um))n=new am(n.source,0);else if(t.is(fm))for(let e of t.value)e.source==n.source&&(n=e);return n}handleUserEvent(e,t,i){return"delete"!=t&&i.activateOnTyping?new am(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(MO(e.startState))?new am(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new am(this.source,this.state,e.mapPos(this.explicitPos))}}class lm extends am{constructor(e,t,i,n,r){super(e,2,t),this.result=i,this.from=n,this.to=r}hasResult(){return!0}handleUserEvent(e,t,i){var n;let r=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),o=MO(e.state);if((this.explicitPos<0?o<=r:o<this.from)||o>s||"delete"==t&&MO(e.startState)==this.from)return new am(this.source,"input"==t&&i.activateOnTyping?1:0);let a,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return hm(this.result.validFor,e.state,r,s)?new lm(this.source,l,this.result,r,s):this.result.update&&(a=this.result.update(this.result,r,s,new WO(e.state,o,l>=0)))?new lm(this.source,l,a,a.from,null!==(n=a.to)&&void 0!==n?n:MO(e.state)):new am(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new am(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new lm(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}function hm(e,t,i,n){if(!e)return!1;let r=t.sliceDoc(i,n);return"function"==typeof e?e(r,i,n,t):qO(e,!0).test(r)}const cm=ce.define(),um=ce.define(),fm=ce.define({map:(e,t)=>e.map(e=>e.map(t))}),dm=ce.define(),pm=Y.define({create:()=>tm.start(),update:(e,t)=>e.update(t),provide:e=>[Eo.from(e,e=>e.tooltip),gs.contentAttributes.from(e,e=>e.attrs)]});function Om(e,t="option"){return i=>{let n=i.state.field(pm,!1);if(!n||!n.open||n.open.disabled||Date.now()-n.open.timestamp<i.state.facet(LO).interactionDelay)return!1;let r,s=1;"page"==t&&(r=jo(i,n.open.tooltip))&&(s=Math.max(2,Math.floor(r.dom.offsetHeight/r.dom.querySelector("li").offsetHeight)-1));let{length:o}=n.open.options,a=n.open.selected>-1?n.open.selected+s*(e?1:-1):e?0:o-1;return a<0?a="page"==t?0:o-1:a>=o&&(a="page"==t?o-1:0),i.dispatch({effects:dm.of(a)}),!0}}const mm=e=>{let t=e.state.field(pm,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||Date.now()-t.open.timestamp<e.state.facet(LO).interactionDelay)&&(t.open.disabled||DO(e,t.open.options[t.open.selected]),!0)},gm=e=>!!e.state.field(pm,!1)&&(e.dispatch({effects:cm.of(!0)}),!0),Sm=e=>{let t=e.state.field(pm,!1);return!(!t||!t.active.some(e=>0!=e.state))&&(e.dispatch({effects:um.of(null)}),!0)};class bm{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const ym=50,xm=50,Qm=1e3,vm=Di.fromClass(class{constructor(e){this.view=e,this.debounceUpdate=-1,this.running=[],this.debounceAccept=-1,this.composing=0;for(let t of e.state.field(pm).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(pm);if(!e.selectionSet&&!e.docChanged&&e.startState.field(pm)==t)return;let i=e.transactions.some(e=>(e.selection||e.docChanged)&&!om(e));for(let t=0;t<this.running.length;t++){let n=this.running[t];if(i||n.updates.length+e.transactions.length>xm&&Date.now()-n.time>Qm){for(let e of n.context.abortListeners)try{e()}catch(e){Mi(this.view.state,e)}n.context.abortListeners=null,this.running.splice(t--,1)}else n.updates.push(...e.transactions)}if(this.debounceUpdate>-1&&clearTimeout(this.debounceUpdate),this.debounceUpdate=t.active.some(e=>1==e.state&&!this.running.some(t=>t.active.source==e.source))?setTimeout(()=>this.startUpdate(),ym):-1,0!=this.composing)for(let t of e.transactions)"input"==om(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(pm);for(let e of t.active)1!=e.state||this.running.some(t=>t.active.source==e.source)||this.startQuery(e)}startQuery(e){let{state:t}=this.view,i=MO(t),n=new WO(t,i,e.explicitPos==i),r=new bm(e,n);this.running.push(r),Promise.resolve(e.source(n)).then(e=>{r.context.aborted||(r.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:um.of(null)}),Mi(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),ym))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],i=this.view.state.facet(LO);for(let n=0;n<this.running.length;n++){let r=this.running[n];if(void 0===r.done)continue;if(this.running.splice(n--,1),r.done){let n=new lm(r.active.source,r.active.explicitPos,r.done,r.done.from,null!==(e=r.done.to)&&void 0!==e?e:MO(r.updates.length?r.updates[0].startState:this.view.state));for(let e of r.updates)n=n.update(e,i);if(n.hasResult()){t.push(n);continue}}let s=this.view.state.field(pm).active.find(e=>e.source==r.active.source);if(s&&1==s.state)if(null==r.done){let e=new am(r.active.source,0);for(let t of r.updates)e=e.update(t,i);1!=e.state&&t.push(e)}else this.startQuery(s)}t.length&&this.view.dispatch({effects:fm.of(t)})}},{eventHandlers:{blur(){let e=this.view.state.field(pm,!1);e&&e.tooltip&&this.view.state.facet(LO).closeOnBlur&&this.view.dispatch({effects:um.of(null)})},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:cm.of(!1)}),20),this.composing=0}}}),wm=gs.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":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer",padding:"1px 3px",lineHeight:1.2}}},"&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:'"···"',opacity:.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box"},".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:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class $m{constructor(e,t,i,n){this.field=e,this.line=t,this.from=i,this.to=n}}class km{constructor(e,t,i){this.field=e,this.from=t,this.to=i}map(e){let t=e.mapPos(this.from,-1,v.TrackDel),i=e.mapPos(this.to,1,v.TrackDel);return null==t||null==i?null:new km(this.field,t,i)}}class Pm{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let i=[],n=[t],r=e.doc.lineAt(t),s=/^\s*/.exec(r.text)[0];for(let r of this.lines){if(i.length){let i=s,o=/^\t*/.exec(r)[0].length;for(let t=0;t<o;t++)i+=e.facet(fc);n.push(t+i.length-o),r=i+r.slice(o)}i.push(r),t+=r.length+1}return{text:i,ranges:this.fieldPositions.map(e=>new km(e.field,n[e.line]+e.from,n[e.line]+e.to))}}static parse(e){let t,i=[],n=[],r=[];for(let s of e.split(/\r\n?|\n/)){for(;t=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(s);){let e=t[1]?+t[1]:null,o=t[2]||t[3]||"",a=-1;for(let t=0;t<i.length;t++)(null!=e?i[t].seq==e:o&&i[t].name==o)&&(a=t);if(a<0){let t=0;for(;t<i.length&&(null==e||null!=i[t].seq&&i[t].seq<e);)t++;i.splice(t,0,{seq:e,name:o}),a=t;for(let e of r)e.field>=a&&e.field++}r.push(new $m(a,n.length,t.index,t.index+o.length)),s=s.slice(0,t.index)+o+s.slice(t.index+t[0].length)}for(let e;e=/\\([{}])/.exec(s);){s=s.slice(0,e.index)+e[1]+s.slice(e.index+e[0].length);for(let t of r)t.line==n.length&&t.from>e.index&&(t.from--,t.to--)}n.push(s)}return new Pm(n,r)}}let Tm=Oi.widget({widget:new class extends di{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),Am=Oi.mark({class:"cm-snippetField"});class Cm{constructor(e,t){this.ranges=e,this.active=t,this.deco=Oi.set(e.map(e=>(e.from==e.to?Tm:Am).range(e.from,e.to)))}map(e){let t=[];for(let i of this.ranges){let n=i.map(e);if(!n)return null;t.push(n)}return new Cm(t,this.active)}selectionInsideField(e){return e.ranges.every(e=>this.ranges.some(t=>t.field==this.active&&t.from<=e.from&&t.to>=e.to))}}const Wm=ce.define({map:(e,t)=>e&&e.map(t)}),Zm=ce.define(),Vm=Y.define({create:()=>null,update(e,t){for(let i of t.effects){if(i.is(Wm))return i.value;if(i.is(Zm)&&e)return new Cm(e.ranges,i.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>gs.decorations.from(e,e=>e?e.deco:Oi.none)});function Xm(e,t){return V.create(e.filter(e=>e.field==t).map(e=>V.range(e.from,e.to)))}function _m(t){let i=Pm.parse(t);return(t,n,r,s)=>{let{text:o,ranges:a}=i.instantiate(t.state,r),l={changes:{from:r,to:s,insert:e.of(o)},scrollIntoView:!0};if(a.length&&(l.selection=Xm(a,0)),a.length>1){let e=new Cm(a,0),i=l.effects=[Wm.of(e)];void 0===t.state.field(Vm,!1)&&i.push(ce.appendConfig.of([Vm,Em,Um,wm]))}t.dispatch(t.state.update(l))}}function Rm(e){return({state:t,dispatch:i})=>{let n=t.field(Vm,!1);if(!n||e<0&&0==n.active)return!1;let r=n.active+e,s=e>0&&!n.ranges.some(t=>t.field==r+e);return i(t.update({selection:Xm(n.ranges,r),effects:Wm.of(s?null:new Cm(n.ranges,r))})),!0}}const Mm=({state:e,dispatch:t})=>!!e.field(Vm,!1)&&(t(e.update({effects:Wm.of(null)})),!0),qm=[{key:"Tab",run:Rm(1),shift:Rm(-1)},{key:"Escape",run:Mm}],Im=R.define({combine:e=>e.length?e[0]:qm}),Em=B.highest(ks.compute([Im],e=>e.facet(Im)));function Dm(e,t){return Object.assign(Object.assign({},t),{apply:_m(e)})}const Um=gs.domEventHandlers({mousedown(e,t){let i,n=t.state.field(Vm,!1);if(!n||null==(i=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let r=n.ranges.find(e=>e.from<=i&&e.to>=i);return!(!r||r.field==n.active)&&(t.dispatch({selection:Xm(n.ranges,r.field),effects:Wm.of(n.ranges.some(e=>e.field>r.field)?new Cm(n.ranges,r.field):null)}),!0)}}),Ym={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},zm=ce.define({map(e,t){let i=t.mapPos(e,-1,v.TrackAfter);return null==i?void 0:i}}),Lm=ce.define({map:(e,t)=>t.mapPos(e)}),Bm=new class extends Pe{};Bm.startSide=1,Bm.endSide=-1;const Nm=Y.define({create:()=>We.empty,update(e,t){if(t.selection){let i=t.state.doc.lineAt(t.selection.main.head).from,n=t.startState.doc.lineAt(t.startState.selection.main.head).from;i!=t.changes.mapPos(n,-1)&&(e=We.empty)}e=e.map(t.changes);for(let i of t.effects)i.is(zm)?e=e.update({add:[Bm.range(i.value,i.value+1)]}):i.is(Lm)&&(e=e.update({filter:e=>e!=i.value}));return e}});function jm(){return[Km,Nm]}const Gm="()[]{}<>";function Fm(e){for(let t=0;t<Gm.length;t+=2)if(Gm.charCodeAt(t)==e)return Gm.charAt(t+1);return y(e<128?e:e+1)}function Hm(e,t){return e.languageDataAt("closeBrackets",t)[0]||Ym}const Jm="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),Km=gs.inputHandler.of((e,t,i,n)=>{if((Jm?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let r=e.state.selection.main;if(n.length>2||2==n.length&&1==x(b(n,0))||t!=r.from||i!=r.to)return!1;let s=tg(e.state,n);return!!s&&(e.dispatch(s),!0)}),eg=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=Hm(e,e.selection.main.head).brackets||Ym.brackets,n=null,r=e.changeByRange(t=>{if(t.empty){let n=rg(e.doc,t.head);for(let r of i)if(r==n&&ng(e.doc,t.head)==Fm(b(r,0)))return{changes:{from:t.head-r.length,to:t.head+r.length},range:V.cursor(t.head-r.length)}}return{range:n=t}});return n||t(e.update(r,{scrollIntoView:!0,userEvent:"delete.backward"})),!n}}];function tg(e,t){let i=Hm(e,e.selection.main.head),n=i.brackets||Ym.brackets;for(let r of n){let s=Fm(b(r,0));if(t==r)return s==r?ag(e,r,n.indexOf(r+r+r)>-1,i):sg(e,r,s,i.before||Ym.before);if(t==s&&ig(e,e.selection.main.from))return og(e,r,s)}return null}function ig(e,t){let i=!1;return e.field(Nm).between(0,e.doc.length,e=>{e==t&&(i=!0)}),i}function ng(e,t){let i=e.sliceString(t,t+2);return i.slice(0,x(b(i,0)))}function rg(e,t){let i=e.sliceString(t-2,t);return x(b(i,0))==i.length?i:i.slice(1)}function sg(e,t,i,n){let r=null,s=e.changeByRange(s=>{if(!s.empty)return{changes:[{insert:t,from:s.from},{insert:i,from:s.to}],effects:zm.of(s.to+t.length),range:V.range(s.anchor+t.length,s.head+t.length)};let o=ng(e.doc,s.head);return!o||/\s/.test(o)||n.indexOf(o)>-1?{changes:{insert:t+i,from:s.head},effects:zm.of(s.head+t.length),range:V.cursor(s.head+t.length)}:{range:r=s}});return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function og(e,t,i){let n=null,r=e.selection.ranges.map(t=>t.empty&&ng(e.doc,t.head)==i?V.cursor(t.head+i.length):n=t);return n?null:e.update({selection:V.create(r,e.selection.mainIndex),scrollIntoView:!0,effects:e.selection.ranges.map(({from:e})=>Lm.of(e))})}function ag(e,t,i,n){let r=n.stringPrefixes||Ym.stringPrefixes,s=null,o=e.changeByRange(n=>{if(!n.empty)return{changes:[{insert:t,from:n.from},{insert:t,from:n.to}],effects:zm.of(n.to+t.length),range:V.range(n.anchor+t.length,n.head+t.length)};let o,a=n.head,l=ng(e.doc,a);if(l==t){if(lg(e,a))return{changes:{insert:t+t,from:a},effects:zm.of(a+t.length),range:V.cursor(a+t.length)};if(ig(e,a)){let n=i&&e.sliceDoc(a,a+3*t.length)==t+t+t;return{range:V.cursor(a+t.length*(n?3:1)),effects:Lm.of(a)}}}else{if(i&&e.sliceDoc(a-2*t.length,a)==t+t&&(o=cg(e,a-2*t.length,r))>-1&&lg(e,o))return{changes:{insert:t+t+t+t,from:a},effects:zm.of(a+t.length),range:V.cursor(a+t.length)};if(e.charCategorizer(a)(l)!=ye.Word&&cg(e,a,r)>-1&&!hg(e,a,t,r))return{changes:{insert:t+t,from:a},effects:zm.of(a+t.length),range:V.cursor(a+t.length)}}return{range:s=n}});return s?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function lg(e,t){let i=Kh(e).resolveInner(t+1);return i.parent&&i.from==t}function hg(e,t,i,n){let r=Kh(e).resolveInner(t,-1),s=n.reduce((e,t)=>Math.max(e,t.length),0);for(let o=0;o<5;o++){let o=e.sliceDoc(r.from,Math.min(r.to,r.from+i.length+s)),a=o.indexOf(i);if(!a||a>-1&&n.indexOf(o.slice(0,a))>-1){let t=r.firstChild;for(;t&&t.from==r.from&&t.to-t.from>i.length+a;){if(e.sliceDoc(t.to-i.length,t.to)==i)return!1;t=t.firstChild}return!0}let l=r.to==t&&r.parent;if(!l)break;r=l}return!1}function cg(e,t,i){let n=e.charCategorizer(t);if(n(e.sliceDoc(t-1,t))!=ye.Word)return t;for(let r of i){let i=t-r.length;if(e.sliceDoc(i,t)==r&&n(e.sliceDoc(i-1,i))!=ye.Word)return i}return-1}function ug(e={}){return[pm,LO.of(e),vm,dg,wm]}const fg=[{key:"Ctrl-Space",run:gm},{key:"Escape",run:Sm},{key:"ArrowDown",run:Om(!0)},{key:"ArrowUp",run:Om(!1)},{key:"PageDown",run:Om(!0,"page")},{key:"PageUp",run:Om(!1,"page")},{key:"Enter",run:mm}],dg=B.highest(ks.computeN([LO],e=>e.facet(LO).defaultKeymap?[fg]:[]));class pg{constructor(e,t,i){this.from=e,this.to=t,this.diagnostic=i}}class Og{constructor(e,t,i){this.diagnostics=e,this.panel=t,this.selected=i}static init(e,t,i){let n=e,r=i.facet(Cg).markerFilter;r&&(n=r(n));let s=Oi.set(n.map(e=>e.from==e.to||e.from==e.to-1&&i.doc.lineAt(e.from).to==e.from?Oi.widget({widget:new Xg(e),diagnostic:e}).range(e.from):Oi.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity},diagnostic:e}).range(e.from,e.to)),!0);return new Og(s,t,mg(s))}}function mg(e,t=null,i=0){let n=null;return e.between(i,1e9,(e,i,{spec:r})=>{if(!t||r.diagnostic==t)return n=new pg(e,i,r.diagnostic),!1}),n}function gg(e,t){return!(!e.effects.some(e=>e.is(yg))&&!e.changes.touchesRange(t.pos))}function Sg(e,t){return e.field(vg,!1)?t:t.concat(ce.appendConfig.of([vg,gs.decorations.compute([vg],e=>{let{selected:t,panel:i}=e.field(vg);return t&&i&&t.from!=t.to?Oi.set([wg.range(t.from,t.to)]):Oi.none}),No($g,{hideOn:gg}),Ig]))}function bg(e,t){return{effects:Sg(e,[yg.of(t)])}}const yg=ce.define(),xg=ce.define(),Qg=ce.define(),vg=Y.define({create:()=>new Og(Oi.none,null,null),update(e,t){if(t.docChanged){let i=e.diagnostics.map(t.changes),n=null;if(e.selected){let r=t.changes.mapPos(e.selected.from,1);n=mg(i,e.selected.diagnostic,r)||mg(i,null,r)}e=new Og(i,e.panel,n)}for(let i of t.effects)i.is(yg)?e=Og.init(i.value,e.panel,t.state):i.is(xg)?e=new Og(e.diagnostics,i.value?Rg.open:null,e.selected):i.is(Qg)&&(e=new Og(e.diagnostics,e.panel,i.value));return e},provide:e=>[ta.from(e,e=>e.panel),gs.decorations.from(e,e=>e.diagnostics)]}),wg=Oi.mark({class:"cm-lintRange cm-lintRange-active"});function $g(e,t,i){let{diagnostics:n}=e.state.field(vg),r=[],s=2e8,o=0;n.between(t-(i<0?1:0),t+(i>0?1:0),(e,n,{spec:a})=>{t>=e&&t<=n&&(e==n||(t>e||i>0)&&(t<n||i<0))&&(r.push(a.diagnostic),s=Math.min(e,s),o=Math.max(n,o))});let a=e.state.facet(Cg).tooltipFilter;return a&&(r=a(r)),r.length?{pos:s,end:o,above:e.state.doc.lineAt(s).to<o,create:()=>({dom:kg(e,r)})}:null}function kg(e,t){return bp("ul",{class:"cm-tooltip-lint"},t.map(t=>Vg(e,t,!1)))}const Pg=e=>{let t=e.state.field(vg,!1);return!(!t||!t.panel)&&(e.dispatch({effects:xg.of(!1)}),!0)},Tg=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(vg,!1);t&&t.panel||e.dispatch({effects:Sg(e.state,[xg.of(!0)])});let i=Ho(e,Rg.open);return i&&i.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(vg,!1);if(!t)return!1;let i=e.state.selection.main,n=t.diagnostics.iter(i.to+1);return!(!n.value&&(n=t.diagnostics.iter(0),!n.value||n.from==i.from&&n.to==i.to))&&(e.dispatch({selection:{anchor:n.from,head:n.to},scrollIntoView:!0}),!0)}}],Ag=Di.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(Cg);this.lintTime=Date.now()+t,this.run=this.run.bind(this),this.timeout=setTimeout(this.run,t)}run(){let e=Date.now();if(e<this.lintTime-10)setTimeout(this.run,this.lintTime-e);else{this.set=!1;let{state:e}=this.view,{sources:t}=e.facet(Cg);Promise.all(t.map(e=>Promise.resolve(e(this.view)))).then(t=>{let i=t.reduce((e,t)=>e.concat(t));this.view.state.doc==e.doc&&this.view.dispatch(bg(this.view.state,i))},e=>{Mi(this.view.state,e)})}}update(e){let t=e.state.facet(Cg);(e.docChanged||t!=e.startState.facet(Cg))&&(this.lintTime=Date.now()+t.delay,this.set||(this.set=!0,this.timeout=setTimeout(this.run,t.delay)))}force(){this.set&&(this.lintTime=Date.now(),this.run())}destroy(){clearTimeout(this.timeout)}}),Cg=R.define({combine:e=>Object.assign({sources:e.map(e=>e.source)},ke(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null})),enables:Ag});function Wg(e,t={}){return Cg.of({source:e,config:t})}function Zg(e){let t=[];if(e)e:for(let{name:i}of e){for(let e=0;e<i.length;e++){let n=i[e];if(/[a-zA-Z]/.test(n)&&!t.some(e=>e.toLowerCase()==n.toLowerCase())){t.push(n);continue e}}t.push("")}return t}function Vg(e,t,i){var n;let r=i?Zg(t.actions):[];return bp("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},bp("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(n=t.actions)||void 0===n?void 0:n.map((i,n)=>{let s=n=>{n.preventDefault();let r=mg(e.state.field(vg).diagnostics,t);r&&i.apply(e,r.from,r.to)},{name:o}=i,a=r[n]?o.indexOf(r[n]):-1,l=a<0?o:[o.slice(0,a),bp("u",o.slice(a,a+1)),o.slice(a+1)];return bp("button",{type:"button",class:"cm-diagnosticAction",onclick:s,onmousedown:s,"aria-label":` Action: ${o}${a<0?"":` (access key "${r[n]})"`}.`},l)}),t.source&&bp("div",{class:"cm-diagnosticSource"},t.source))}class Xg extends di{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return bp("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class _g{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=Vg(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Rg{constructor(e){this.view=e,this.items=[];let t=t=>{if(27==t.keyCode)Pg(this.view),this.view.focus();else if(38==t.keyCode||33==t.keyCode)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(40==t.keyCode||34==t.keyCode)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(36==t.keyCode)this.moveSelection(0);else if(35==t.keyCode)this.moveSelection(this.items.length-1);else if(13==t.keyCode)this.view.focus();else{if(!(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0))return;{let{diagnostic:i}=this.items[this.selectedIndex],n=Zg(i.actions);for(let r=0;r<n.length;r++)if(n[r].toUpperCase().charCodeAt(0)==t.keyCode){let t=mg(this.view.state.field(vg).diagnostics,i);t&&i.actions[r].apply(e,t.from,t.to)}}}t.preventDefault()},i=e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)};this.list=bp("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:i}),this.dom=bp("div",{class:"cm-panel-lint"},this.list,bp("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>Pg(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(vg).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(vg),i=0,n=!1,r=null;for(e.between(0,this.view.state.doc.length,(e,s,{spec:o})=>{let a,l=-1;for(let e=i;e<this.items.length;e++)if(this.items[e].diagnostic==o.diagnostic){l=e;break}l<0?(a=new _g(this.view,o.diagnostic),this.items.splice(i,0,a),n=!0):(a=this.items[l],l>i&&(this.items.splice(i,l-i),n=!0)),t&&a.diagnostic==t.diagnostic?a.dom.hasAttribute("aria-selected")||(a.dom.setAttribute("aria-selected","true"),r=a):a.dom.hasAttribute("aria-selected")&&a.dom.removeAttribute("aria-selected"),i++});i<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)n=!0,this.items.pop();0==this.items.length&&(this.items.push(new _g(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),n=!0),r?(this.list.setAttribute("aria-activedescendant",r.id),this.view.requestMeasure({key:this,read:()=>({sel:r.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{e.top<t.top?this.list.scrollTop-=t.top-e.top:e.bottom>t.bottom&&(this.list.scrollTop+=e.bottom-t.bottom)}})):this.selectedIndex<0&&this.list.removeAttribute("aria-activedescendant"),n&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let i of this.items)if(i.dom.parentNode==this.list){for(;e!=i.dom;)t();e=i.dom.nextSibling}else this.list.insertBefore(i.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=mg(this.view.state.field(vg).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Qg.of(t)})}static open(e){return new Rg(e)}}function Mg(e,t='viewBox="0 0 40 40"'){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function qg(e){return Mg(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,'width="6" height="3"')}const Ig=gs.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-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:qg("#d11")},".cm-lintRange-warning":{backgroundImage:qg("orange")},".cm-lintRange-info":{backgroundImage:qg("#999")},".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-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}}});class Eg extends ia{constructor(e){super(),this.diagnostics=e,this.severity=e.reduce((e,t)=>{let i=t.severity;return"error"==i||"warning"==i&&"info"==e?i:e},"info")}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let i=this.diagnostics,n=e.state.facet(Gg).tooltipFilter;return n&&(i=n(i)),i.length&&(t.onmouseover=()=>Ug(e,t,i)),t}}function Dg(e,t){let i=n=>{let r=t.getBoundingClientRect();if(!(n.clientX>r.left-10&&n.clientX<r.right+10&&n.clientY>r.top-10&&n.clientY<r.bottom+10)){for(let e=n.target;e;e=e.parentNode)if(1==e.nodeType&&e.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",i),e.state.field(Ng)&&e.dispatch({effects:Bg.of(null)})}};window.addEventListener("mousemove",i)}function Ug(e,t,i){function n(){let n=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(n.from)&&e.dispatch({effects:Bg.of({pos:n.from,above:!1,create:()=>({dom:kg(e,i),getCoords:()=>t.getBoundingClientRect()})})}),t.onmouseout=t.onmousemove=null,Dg(e,t)}let{hoverTime:r}=e.state.facet(Gg),s=setTimeout(n,r);t.onmouseout=()=>{clearTimeout(s),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(s),s=setTimeout(n,r)}}function Yg(e,t){let i=Object.create(null);for(let n of t){let t=e.lineAt(n.from);(i[t.from]||(i[t.from]=[])).push(n)}let n=[];for(let e in i)n.push(new Eg(i[e]).range(+e));return We.of(n,!0)}const zg=oa({class:"cm-gutter-lint",markers:e=>e.state.field(Lg)}),Lg=Y.define({create:()=>We.empty,update(e,t){e=e.map(t.changes);let i=t.state.facet(Gg).markerFilter;for(let n of t.effects)if(n.is(yg)){let r=n.value;i&&(r=i(r||[])),e=Yg(t.state.doc,r.slice(0))}return e}}),Bg=ce.define(),Ng=Y.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=gg(t,e)?null:Object.assign(Object.assign({},e),{pos:t.changes.mapPos(e.pos)})),t.effects.reduce((e,t)=>t.is(Bg)?t.value:e,e)),provide:e=>Eo.from(e)}),jg=gs.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Mg('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:Mg('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:Mg('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),Gg=R.define({combine:e=>ke(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});function Fg(e={}){return[Gg.of(e),Lg,zg,jg,Ng]}const Hg=(()=>[xa(),$a(),uo(),bf(),eu(),Ls(),to(),$e.allowMultipleSelections.of(!0),Wc(),ou(hu,{fallback:!0}),Su(),jm(),ug(),Ao(),Zo(),bo(),qp(),ks.of([...eg,...gp,...vO,...qf,...Nc,...fg,...Tg])])(),Jg="#abb2bf",Kg="#7d8799",eS="#21252b",tS="#2c313a",iS="#282c34",nS="#353a42",rS="#3E4451",sS="#528bff",oS=gs.theme({"&":{color:Jg,backgroundColor:iS},".cm-content":{caretColor:sS},".cm-cursor, .cm-dropCursor":{borderLeftColor:sS},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:rS},".cm-panels":{backgroundColor:eS,color:Jg},".cm-panels.cm-panels-top":{borderBottom:"2px solid black"},".cm-panels.cm-panels-bottom":{borderTop:"2px solid black"},".cm-searchMatch":{backgroundColor:"#72a1ff59",outline:"1px solid #457dff"},".cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff2f"},".cm-activeLine":{backgroundColor:"#6699ff0b"},".cm-selectionMatch":{backgroundColor:"#aafe661a"},"&.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bad0f847",outline:"1px solid #515a6b"},".cm-gutters":{backgroundColor:iS,color:Kg,border:"none"},".cm-activeLineGutter":{backgroundColor:tS},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:nS},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:nS,borderBottomColor:nS},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:tS,color:Jg}}},{dark:!0});var aS=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});function lS(e){switch(e){case"dark":return oS;default:return null}}var hS=(e=>(e.xml="xml",e.html="html",e.leiden_plus="leiden_plus",e.edcs="edcs",e.phi="phi",e.default="default",e.xquery="xquery",e.css="css",e.tex="tex",e.markdown="markdown",e))(hS||{});const cS=(e,t)=>i=>(i.dispatch(i.state.changeByRange(i=>({changes:[{from:i.from,insert:e},{from:i.to,insert:t}],range:V.range(i.from+e.length,i.to+e.length)}))),!0),uS=e=>t=>(t.dispatch(t.state.changeByRange(t=>({changes:[{from:t.from,insert:e}],range:V.range(t.from,t.from)}))),!0),fS=e=>t=>(e=e.replace(/\$\|([^|]+)\|/g,"${$1}"),t.state.selection.ranges.forEach(i=>{const n=t.state.doc.slice(i.from,i.to);_m(e.replace(/\${_}/,`\${${n.toString()}}`))(t,{label:""},i.from,i.to)}),!0);function dS(e,t,i){if(t.create){const n=i.dataset.params;if(n){let i;try{i=JSON.parse(n)}catch(e){i=[n]}return Array.isArray(i)&&i.length===t.create.length?t.create.apply(null,i):(console.error("<jinn-codemirror> Expected %d arguments for command %s",t.create.length,e),null)}}return t}const pS={snippet:{create:e=>fS(e)}};class OS{constructor(e,t=[],i=pS){this.editor=e,this.commands=i,this.keymap=[],t&&t.forEach(e=>{const t=e.dataset.command,n=i[t];if(n){const i=e.getAttribute("data-key");if(i&&i.length>0){const r=dS(t,n,e);if(r){const e={key:i,run:r};this.keymap.push(e)}}}})}getConfig(){return aS(this,null,(function*(){const e=this,t=Di.fromClass(class{update(t){if(t.docChanged){const i=Kh(t.state),n=t.state.doc.toJSON(),r=e.onUpdate(i,n.join("\n"));try{const t=e.serialize();null!=t&&(e.editor._value=t,e.editor.emitUpdateEvent(r))}catch(e){}}}}),i=yield this.getExtensions(this.editor),n=[Hg,gs.lineWrapping,ks.of([Sp,...this.keymap]),vo(this.editor.placeholder),...i,t];if(this.editor&&this.editor.theme){const e=lS(this.editor.theme);e?n.push(e):console.error("<jinn-codemirror> Unknown theme: %s",this.editor.theme)}return{extensions:n}}))}getCommands(){return this.commands}onUpdate(e,t){return t}setFromValue(e){if(!e)return"";if(e instanceof Node||e instanceof NodeList){const t=new XMLSerializer;if(e instanceof NodeList){const i=[];for(let n=0;n<e.length;n++)i.push(t.serializeToString(e[n]));return i.join("")}return t.serializeToString(e)}return"string"==typeof e?e:JSON.stringify(e)}}const mS=ce.define(),gS=Y.define({create:()=>!1,update(e,t){for(let i of t.effects)i.is(mS)&&(e=i.value);return e},provide:e=>ta.from(e,e=>e?SS:null)});function SS(e){const t=document.createElement("div");t.className="cm-input-panel";const i=document.createElement("input");return i.type="text",i.placeholder="Name of element (enter to confirm, esc to abort)",i.addEventListener("keyup",t=>{switch(t.key){case"Enter":t.preventDefault();const n=i.value;""!==n&&(cS(`<${n}>`,`</${n}>`)(e),e.focus());case"Esc":case"Escape":e.dispatch({effects:mS.of(!1)})}}),t.appendChild(i),{top:!1,dom:t,mount:()=>setTimeout(()=>i.focus(),50)}}const bS=gs.baseTheme({".cm-input-panel":{padding:"5px 10px",fontFamily:"monospace"},".cm-input-panel input":{width:"100%"}});function yS(){return[gS,bS]}const xS={selectElement:e=>(e.dispatch(e.state.changeByRange(t=>{let i=null;for(let n=Kh(e.state).resolveInner(t.from);!i&&n.parent;n=n.parent)"Element"==n.name&&(i=n);return i?{selection:V.range(i.from,i.to),range:V.range(i.from,i.to)}:{range:t}})),!0),removeEnclosing:e=>(e.dispatch(e.state.changeByRange(t=>{let i=null;for(let n=Kh(e.state).resolveInner(t.from);!i&&n.parent;n=n.parent)"Element"==n.name&&(i=n);if(i){const e=i.firstChild,t=i.lastChild;if(e&&t)return"SelfClosingTag"===e.name?{range:V.range(e.from,e.from),changes:[{from:e.from,to:e.to,insert:""}]}:{range:V.range(e.from,t.from-(e.to-e.from)),changes:[{from:e.from,to:e.to,insert:""},{from:t.from,to:t.to,insert:""}]}}return{range:t}})),!0),encloseWith:e=>(e.dispatch({effects:mS.of(!e.state.field(gS))}),!0),snippet:{create:e=>fS(e)}};var QS=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});const vS=(e,t)=>"AttributeName"===t.type.name&&"xmlns"===e.state.sliceDoc(t.from,t.to),wS=(e,t)=>"Comment"===t.type.name&&/\<\!\-\- Error\:([^ ])* \-\-\>/.test(e.state.sliceDoc(t.from,t.to)),$S=300,kS=e=>e.filter(e=>"info"!==e.severity),PS=e=>({name:"Fix",apply:(t,i,n)=>{const r=t.state.update({changes:{from:i,to:n,insert:e}});t.dispatch(r)}}),TS=(e,t)=>i=>{function n(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:r,composed:!0,bubbles:!0}))}const r=[];if(0===i.state.doc.length)return n(!0),r;const s=Kh(i.state);let o=!1;const a=[];return s.iterate({enter:e=>{if(e.type.isError&&r.push({message:"Syntax error",severity:"error",from:e.from,to:e.to}),"StartTag"===e.type.name)e.nextSibling(),a.push(i.state.sliceDoc(e.from,e.to));else if("StartCloseTag"===e.type.name){e.nextSibling();const t=i.state.sliceDoc(e.from,e.to),n=a.pop();t!==n&&r.push({message:"Expected closing tag for "+n,severity:"error",from:e.from,to:e.to})}else if("SelfCloseEndTag"===e.type.name)a.pop();else if(vS(i,e)){o=!0,e.nextSibling(),e.nextSibling();const n=i.state.sliceDoc(e.from+1,e.to-1);t&&n!==t&&r.push({message:"Wrong Namespace",severity:"error",from:e.from+1,to:e.to-1,actions:[PS(t)]})}else wS(i,e)&&r.push({message:"Syntax error in source input",severity:"warning",from:e.from,to:e.to})},leave:e=>{"Document"===e.type.name&&t&&!o&&r.push({message:"Missing TEI namespace",severity:"error",from:e.from,to:e.to}),e.type.isError&&r.push({message:"Syntax error in input",severity:"error",from:e.from,to:e.to})}}),n(0===r.length),r},AS=(e,t,i,n)=>{const r=e.state.update({changes:{from:i,to:n,insert:t.label+'=""'},selection:{anchor:i+t.label.length+2}});e.dispatch(r)};class CS extends OS{constructor(e,t=[],i=null,n=!1,r=!1){super(e,t,xS),this.namespace=i,this.checkNamespace=n,this.unwrap=r}getDefaultExtensions(){return[yS(),Wg(TS(this.editor,this.checkNamespace?this.namespace:null),{delay:$S,markerFilter:kS}),Fg({markerFilter:kS})]}getExtensions(){return QS(this,null,(function*(){const e=this.editor.schema;if(e){const t=yield this.loadSchema(e);return this.getDefaultExtensions().concat(ef(t))}return this.getDefaultExtensions().concat(ef())}))}loadSchema(e){return QS(this,null,(function*(){const t=yield fetch(e).then(e=>e.json());let i=t.elements;const n=this.editor.schemaRoot;if(n){const e=t.elements.find(e=>e.name===n);if(e){const n=new Map,r=new Map;t.elements.forEach(e=>r.set(e.name,e)),this.filterSchema(e,r,n),i=Array.from(n.values())}}return this.extendSchema(i),{elements:i}}))}filterSchema(e,t,i,n=0){e.children.forEach(e=>{const r=i.get(e);if(r)return void(r.top=0===n);const s=t.get(e);s&&(s.top=0===n,i.set(e,s),this.filterSchema(s,t,i,n+1))})}extendSchema(e){e.forEach(e=>{e.completion.type="keyword",e.attributes.forEach(e=>{e.completion.type="property",e.completion.apply=AS})})}serialize(){var e;const t=new DOMParser,i=this.unwrap?`<R xmlns="${this.namespace||""}">${this.editor.content}</R>`:this.editor.content,n=t.parseFromString(i,"application/xml");return n.getElementsByTagName("parsererror").length?null:this.unwrap?null==(e=n.firstElementChild)?void 0:e.childNodes:n.firstElementChild}}const WS=33,ZS=34,VS=1,XS="() <>|?=.0123456789[]〚〛",_S=new kl(e=>{let t="";for(;!(e.next<0);){if(46===e.next&&"lost"===t)return e.advance(),void e.acceptToken(ZS);const i=String.fromCharCode(e.next);if("~"===i&&"|"===String.fromCharCode(e.peek(1))||XS.indexOf(i)>-1)break;if(803===e.peek(1))break;t+=i,e.advance()}t.length>0&&e.acceptToken(WS)}),RS=new kl(e=>{let t=0;for(;!(e.next<0||XS.indexOf(String.fromCharCode(e.next))>-1);){if(803!==e.peek(1))break;t++,e.advance(2)}t>0&&e.acceptToken(VS)}),MS=Dl.deserialize({version:14,states:"(jOQOVOOOQOVO'#C_OQOVO'#C`OQOVO'#CaO!kOWO'#CbOQOVO'#ChO!vOVO'#CnO!vOVO'#CoO!vOVO'#CpOOOR'#Cr'#CrO$QOSO'#CsO!vOVO'#CtOOOR'#D_'#D_OOOR'#Cu'#CuO$VOSO'#CwO!vOVO'#CyOOOR'#Cj'#CjOOOR'#DP'#DPOOOR'#Cz'#CzQQOVOOO$_OVO,58yO$fOVO,58zO$mOVO,58{OQOVO,58|OQOVO,59OOQOVO,59QO$tOVO,59SOOOR'#C{'#C{O${OVO,59YO%SOVO,59ZO%ZOVO,59[O%eOSO,59_O%jOVO,59`O%tOSO,59cO%yOVO,59eOOOR-E6x-E6xOOOR1G.e1G.eOOOR1G.f1G.fOOOR1G.g1G.gO&QOVO1G.hO&XOVO1G.jO&`OVO1G.lOOOR1G.n1G.nOOOR-E6y-E6yOOOR1G.t1G.tOOOR1G.u1G.uOOOR1G.v1G.vO&gOSO1G.vOOOR1G.y1G.yOOOR1G.z1G.zO&lOSO1G.zOOOR1G.}1G.}OOOR1G/P1G/POOOR7+$S7+$SOOOR7+$U7+$UOOOR7+$W7+$WOOOR7+$b7+$bOOOR7+$f7+$f",stateData:"&v~OP`O_`O``Oa`Oj]Ol`Oq]Or^OtPOvQOxROySOzTO{UO}VO!PWO!SXO!TYO!VZO!W]O!X]O!Y]O![_O~OVgOXhOZiO~OP`O_`O``Oa`Oj]Ol`Oq]Or^O{UO}VO!PWO!SXO!TYO!VZO!W]O!X]O!Y]O![_O~OaoO~OaqOjqO~OutO~PQOwuO~PQOwvO~PQO]zO~PQO||O~P!vO!O}O~P!vOe!PO!Q!OO~P!vO!U!QO~Oe!SO!U!RO~P!vO!Z!TO~O!]!UO~P!vOw!VO~PQOw!WO~PQOw!XO~PQO!Q!YO~O!U!ZO~OZ`aZ~",goto:"%}!SPPP!T!T!T!TP!TP!TP!TP!gPPP#V#V#VP#s#s#s#VP#VP#V$a%TPPP%kPPPPPPPPPPPPP#VqaOPQRTcdefghijwxypaOPQRTcdefghijwxyekUVWZ_lmnpr!V`OPQRTUVWZ_cdefghijlmnprwxy!V[OPQRTUVWZ_cdefghijlmnprwxyQcOQdPQeQQfRQjT`scdefjwxyQwgQxhRyiQlUQmVQnWQpZQr_Z{lmnprqbOPQRTcdefghijwxy",nodeNames:"⚠ Unclear Document Div Recto Verso Part PartId Fragment FragmentNum Column ColumnNum Foreign ForeignEnd Inline LineBreakWrapped LineBreak Number AbbrevUnresolved Abbrev Supplied CertLow GapUnknown Gap SuppliedLost Text QuestionMark LostLines Illegible Erasure",maxTerm:59,skippedNodes:[0],repeatNodeCount:2,tokenData:"-W~Rcpq!^xy!cyz#O!O!P#T!Q![$U!^!_(U!_!`)X!`!a)t!a!b)y!c!}'l!}#O*O#P#Q*k#T#`'l#`#a*p#a#o'l#p#q+}#r#s,q&Fp&Fq,|&Fq&Fr-R~!cO!X~~!hQ}~!a!b!n#p#q!y~!qPyz!t~!yOe~~#OO{~~#TO!O~~#YQ!W~!Q![#`!a!b#|~#eQl~!Q![#`#`#a#k~#nP#]#^#q~#tP#b#c#w~#|Ol~~$RPl~#`#a#k~$ZSaP!O!P$g!Q![$U!c!}'l#T#o'l~$lT`Ppq${}!O%Q#V#W%_#Y#Z&S#d#e'TP%QO`P~%VP_~pq%Y~%_O_~Q%bP#c#d%eQ%hP#`#a%kQ%nP#i#j%qQ%tP#a#b%wQ%zP#b#c%}Q&SOZQ~&VP#f#g&Y~&]P#T#U&`~&cP#Z#[&f~&iP#a#b&l~&oP#X#Y&r~&uP#b#c&x~&{P#h#i'O~'TOX~Q'WP#T#U'ZQ'^P#f#g'aQ'dP#h#i'gQ'lOVQQ'oS!O!P'{!Q!['l!c!}'l#T#o'lQ(OQ#V#W%_#d#e'T~(ZQ!P~!_!`(a!f!g(f~(fOt~~(iP!_!`(l~(oP!O!P(r~(wQy~#f#g(}#j#k)S~)SOv~~)XOx~~)^Q!Y~!`!a)d!f!g)i~)iOu~~)lP!`!a)o~)tOw~~)yO!Q~~*OOj~~*TP!V~!O!P*W~*]P!T~!a!b*`~*cP#P#Q*f~*kO!S~~*pO!U~R*sU!O!P'{!Q!['l!c!}'l#T#]'l#]#^+V#^#o'lR+YU!O!P'{!Q!['l!c!}'l#T#b'l#b#c+l#c#o'lR+qS!ZP!O!P'{!Q!['l!c!}'l#T#o'l~,QQyz,W#r#s,]~,]O|~~,`Q!c!},f#T#o,f~,kQ]~!c!},f#T#o,f~,tP#p#q,w~,|Oz~~-RO![~~-WO!]~",tokenizers:[_S,RS,0,1],topRules:{Document:[0,2]},tokenPrec:263}),qS=["Recto","Verso","Fragment","Part","Div"];function IS(e,t){return e.substring(t.from,t.to)}function ES(e,t=MS.parse(e)){const i=[],n=[];let r,s=!1,o="ab";return t.iterate({enter:t=>{if(t.type.isError)return void n.push(`\x3c!-- Error:${IS(e,t)} --\x3e`);const a=t.name;switch(a){case"Document":let l=0;if(t.firstChild())do{l++,qS.includes(t.type.name)&&(o="div"),s=s||"Inline"===t.type.name}while(t.nextSibling());s=l>1||s,s&&n.push(`<${o}>\n`),t.parent();break;case"Text":case"Number":n.push(IS(e,t));break;case"LineBreak":t.firstChild(),r=/^([0-9]+)\..*$/.exec(IS(e,t)),n.push(`<lb n="${r?r[1]:""}"/>`);break;case"LineBreakWrapped":t.firstChild(),r=/^([0-9]+)\..*$/.exec(IS(e,t)),n.push(`<lb n="${r?r[1]:""}" break="no"/>`);break;case"Div":n.push("<ab>");break;case"Recto":case"Verso":n.push('<div n="r" type="textpart">');break;case"Fragment":t.firstChild(),r=/^([0-9]+)\..*$/.exec(IS(e,t)),n.push(`<div n="${r?r[1]:""}" subtype="fragment" type="textpart">`);break;case"Part":t.firstChild(),r=/^([a-zA-Z0-9]+)\..*$/.exec(IS(e,t)),n.push(`<div n="${r?r[1]:""}" subtype="part" type="textpart">`);break;case"Column":t.firstChild(),r=/^([a-zA-Z0-9]+)\..*$/.exec(IS(e,t)),n.push(`<div n="${r?r[1]:""}" subtype="column" type="textpart">`);break;case"Foreign":t.lastChild(),r=/^\|\~(.*)$/.exec(IS(e,t)),n.push(`<foreign xml:lang="${r?r[1]:""}">`),t.parent();break;case"Unclear":const h=IS(e,t);let c="";for(let e=0;e<h.length;e++){const t=h.codePointAt(e);t&&803!==t&&(c+=String.fromCodePoint(t))}return n.push(`<unclear>${c}</unclear>`),!1;case"Gap":return t.next(!0),n.push(`<gap reason="lost" quantity="${IS(e,t)}" unit="character"/>`),!1;case"GapUnknown":return n.push('<gap reason="lost" extent="unknown" unit="character"/>'),!1;case"Illegible":return r=/^\.([0-9?]+)(lin)?$/.exec(IS(e,t)),r&&("lin"===r[2]?n.push(`<gap reason="illegible" quantity="${r?r[1]:""}" unit="line"/>`):"?"===r[1]?n.push('<gap reason="illegible" extent="unkown" unit="character"/>'):n.push(`<gap reason="illegible" quantity="${r?r[1]:""}" unit="character"/>`)),!1;case"Erasure":n.push('<del rend="erasure">');break;case"LostLines":return r=/^lost\.([0-9?]+)lin$/.exec(IS(e,t)),r&&("?"===r[1]?n.push('<gap reason="lost" extent="unknown" unit="line"/>'):n.push(`<gap reason="lost" quantity="${r?r[1]:""}" unit="line"/>`)),!1;case"AbbrevUnresolved":n.push("<abbr>");break;case"Abbrev":i.length>0?(t.lastChild(),r=IS(e,t),r.length>0&&"?"===r.charAt(r.length-1)?n.push('<ex cert="low">'):n.push("<ex>"),t.parent()):n.push("<expan>"),i.push("expan");break;case"Supplied":t.lastChild(),"CertLow"===t.name?n.push('<supplied reason="omitted" cert="low">'):n.push('<supplied reason="omitted">'),t.parent();break;case"SuppliedLost":t.lastChild(),"CertLow"===t.name?n.push('<supplied reason="lost" cert="low">'):n.push('<supplied reason="lost">'),t.parent();break;case"ForeignEnd":case"CertLow":return!1;case"QuestionMark":return i.length<2&&n.push("?"),!1;case"Inline":break;default:n.push(`<${a}>`)}},leave:e=>{switch(e.name){case"Document":s&&n.push(`\n</${o}>`);break;case"AbbrevUnresolved":n.push("</abbr>");break;case"Abbrev":if(i.length>1){const e=n[n.length-1];e.endsWith("?")&&(n[n.length-1]=e.substring(0,e.length-2)),n.push("</ex>")}else n.push("</expan>");i.pop();break;case"Div":n.push("</ab>");break;case"Recto":case"Verso":case"Fragment":case"Part":case"Column":n.push("</div>\n");break;case"Supplied":case"SuppliedLost":n.push("</supplied>");break;case"Erasure":n.push("</del>");break;case"Foreign":n.push("</foreign>")}}}),"Inline"===t.type.name&&n.push("</ab>"),n.join("")}const DS=Jh.define({parser:MS.configure({props:[Jl({Number:xh.number,"LineBreak LineBreakWrapped":xh.contentSeparator,"Div Recto Verso Part Fragment":xh.keyword,"Abbrev!":xh.integer,"( ) [ ]":xh.paren,"Supplied!":xh.comment,"SuppliedLost!":xh.comment,"Unclear!":xh.bool})]}),languageData:{closeBrackets:{brackets:["(","[","{","<"]}}});function US(){return new hc(DS)}function YS(e,t){for(let i=0;i<e.childNodes.length;i++)zS(e.childNodes[i],t)}function zS(e,t){if(e)switch(e.nodeType){case Node.DOCUMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:zS(e.firstElementChild,t);break;case Node.ELEMENT_NODE:const i=e;let n;switch(i.localName){case"ab":t.push("<="),YS(i,t),t.push("=>");break;case"abbr":t.push("<abbr>"),YS(i,t),t.push("</abbr>");break;case"del":t.push("〚"),YS(i,t),t.push("〛");break;case"div":n=i.getAttribute("n"),t.push(`<D=.${n}.column`),YS(i,t),t.push("=D>\n");break;case"expan":case"ex":const e=i.getAttribute("cert");t.push("("),YS(i,t),"low"===e&&t.push("?"),t.push(")");break;case"gap":LS(i,t);break;case"lb":n=i.getAttribute("n"),t.length>0&&!/\n+$/.test(t[t.length-1])&&t.push("\n"),t.push(n+". ");break;case"supplied":BS(i,t);break;case"unclear":const r=i.textContent||"";let s="";for(let e=0;e<r.length;e++){const t=r.codePointAt(e);t&&(s+=String.fromCodePoint(t),s+=String.fromCodePoint(803))}t.push(s);break;case"foreign":t.push("~|"),YS(i,t),t.push("|~"+i.getAttribute("xml:lang"));break;default:YS(i,t)}break;case Node.TEXT_NODE:t.push(e.nodeValue||"")}}function LS(e,t){const i=e.getAttribute("unit"),n=e.getAttribute("quantity"),r=e.getAttribute("reason");if(r)switch(r){case"lost":switch(i){case"character":n?t.push(`[.${n}]`):t.push("[.?]");break;case"line":n?t.push(`lost.${n}lin`):t.push("lost.?lin")}break;case"illegible":switch(i){case"character":n?t.push("."+n):t.push(".?");break;case"line":n&&t.push(`.${n}lin`)}}}function BS(e,t){const i=e.getAttribute("reason");if(i){const n=e.getAttribute("cert");switch(i){case"omitted":t.push("<"),YS(e,t),n&&"low"===n&&t.push("(?)"),t.push(">");break;case"lost":default:t.push("["),YS(e,t),n&&"low"===n&&t.push("(?)"),t.push("]")}}}function NS(e){if(!(e instanceof Element))return"";const t=[];let i=e.querySelectorAll("cb");if(i.length>0){i=(e=e.cloneNode(!0)).querySelectorAll("cb");for(let n=0;n<=i.length;n++){const r=document.createRange();0===n?r.setStart(e,0):r.setStartAfter(i[n-1]),n===i.length?e.lastChild&&r.setEndAfter(e.lastChild):r.setEndBefore(i[n]);const s=document.createElement("div");s.setAttribute("type","textpart"),s.setAttribute("subtype","column"),s.setAttribute("n",(n+1).toString());const o=document.createElement("ab");s.appendChild(o),o.appendChild(r.extractContents()),zS(s,t)}}else zS(e,t);return t.join("")}var jS=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});const GS=e=>t=>{function i(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:n,composed:!0,bubbles:!0}))}const n=[],r=Kh(t.state);let s=0,o=!1;return r.iterate({enter:e=>{"Abbrev"===e.name?s+=1:e.type.isError&&n.push({message:"Syntaxfehler",severity:"error",from:e.from,to:e.to})},leave:e=>{"Abbrev"===e.name&&(2===s?o=!0:o||n.push({message:'Invalid abbreviation. Abbreviations must\nuse double parenthesis, e.g. "(C(aesar))"',severity:"error",from:e.from,to:e.to}),s-=1,0===s&&(o=!1))}}),i(0===n.length),n},FS=e=>(e.dispatch(e.state.changeByRange(t=>{const i=e.state.doc.slice(t.from,t.to).toString();let n="";for(let e=0;e<i.length;e++)e+1<i.length&&803===i.charCodeAt(e+1)?(n+=i.charAt(e),e++):n+=i.charAt(e)+"̣";return{changes:[{from:t.from,to:t.to,insert:n}],range:V.range(t.from,t.from+n.length)}})),!0),HS=e=>{const t=e.state.doc.toString();let i=0;const n=t.replace(/^(?!\d+\.)/gm,()=>(i+=1,i+". "));return e.dispatch({changes:[{from:0,to:e.state.doc.length,insert:n}]}),!0},JS={expan:fS("(${_}(${}))"),div:cS("<=\n","\n=>"),fragment:fS("<D=.${1:1}.fragment<=\n${2}\n=>=D>"),part:fS("<D=.${1:A}.part<=\n${2}\n=>=D>"),recto:cS("<D=.r<=\n","\n=>=D>"),verso:cS("<D=.v<=\n","\n=>=D>"),erasure:cS("〚","〛"),foreign:fS("~|${_}|~${2:gr}"),unclear:FS,fixNewlines:HS,snippet:{create:e=>fS(e)}},KS=[{key:"Ctrl-Shift-e",mac:"Cmd-Shift-e",run:JS.expan},{key:"Ctrl-Shift-a",mac:"Cmd-Shift-a",run:JS.div},{key:"Ctrl-Shift-f",mac:"Cmd-Shift-f",run:JS.fragment},{key:"Ctrl-Shift-p",mac:"Cmd-Shift-p",run:JS.part},{key:"Ctrl-Shift-r",mac:"Cmd-Shift-r",run:JS.recto},{key:"Ctrl-Shift-v",mac:"Cmd-Shift-v",run:JS.verso},{key:"Ctrl-Shift-d",mac:"Cmd-Shift-d",run:JS.erasure},{key:"Ctrl-Shift-u",mac:"Cmd-Shift-u",run:JS.unclear},{key:"Ctrl-Shift-f",mac:"Cmd-Shift-f",run:JS.foreign}];class eb extends OS{constructor(e,t){super(e,t,JS)}getExtensions(){return jS(this,null,(function*(){return[US(),Wg(GS(this.editor)),ks.of(KS),Fg()]}))}getCommands(){return JS}onUpdate(e,t){return ES(t,e)}serialize(){return this.editor.content}setFromValue(e){if(!e)return"";if(e instanceof NodeList){const t=[];return e.forEach(e=>t.push(NS(e))),t.join("")}return e instanceof Element?NS(e):super.setFromValue(e)}}function tb(e,t){const i=1;(e=(e=e.toString().replace(/\t+/g,"")).replace(/\r/g,"")).toString().length-e.toString().lastIndexOf(" ")==1&&(e=e.toString().substring(0,e.toString().lastIndexOf(" ")));{e='<lb n="'+i.toString()+'"/>'+e;const n=/(\-|-?|\=?)\s?\n/g;let r=i-1;if(e=(e=e.replace(n,(function(e,t){return"-"===t||"="===t?'\n<lb n="'+(2+r++)+'" break="no"/>':'\n<lb n="'+(2+r++)+'"/>'}))).replace(/(\<lb n=\"[0-9]*\"\/\>)\[(\s?—\s?){3,50}\]\n(\<lb n=\"[0-9]*\"\/\>)/g,'$1<gap reason="illegible" quantity="1" unit="line"/>\n$3'),t==hS.edcs){r=0,e=e.replace(/(\s)?(\/\/)(?!\>)(\s)?/g,(function(e){if("/"===e[0])var t=' break="no"';else t="";return'\n<cb n="'+(2+r++)+'"'+t+"/>"}));const t=/(\s)?(\/{1})(?!\>)(\s)?/g;r=0,e=e.replace(t,(function(e){if("/"===e[0])var t=' break="no"';else t="";return console.log("BreakNo = "+t),console.log("Match 0= "+e[0]),'\n<lb n="'+(2+r++)+'"'+t+"/>"}))}t==hS.phi&&(e=(e=(e=e.replace(/#⁷/g,'<gap reason="illegible" quantity="1" unit="character"/>')).replace(/#⁷#⁷#⁷/g,'<gap reason="illegible" quantity="3" unit="character"/>')).replace(/#⁵⁶/g,'<g type="interpunct">▴</g>'));const s=/\n<lb n=\'([0-9])\'\/>\1\s/g,o='\n<lb n="$1"/>',a=/(\"[0-9]{1,3}\"\/>)([0-9]{1,3})/g,l="$1";e=(e=e.replace(s,o)).replace(a,l)}const n=/\<([^\x00-\x7F]*[aA-zZ]*)(?!\=)(?!\/)\>/g,r='<supplied reason="omitted">$1</supplied>',s=/⟨([^\x00-\x7F]*[aA-zZ]*)(?!\=)(?!\/)⟩/g,o='<supplied reason="omitted">$1</supplied>';if(e=(e=e.replace(n,r)).replace(s,o),t==hS.edcs){const t=/\<([^\x00-\x7F]*[aA-zZ]*)(\=)([^\x00-\x7F]*[aA-zZ]*)(?!\/)\>/g,i="<choice><corr>$1</corr><sic>$3</sic></choice>";e=(e=(e=(e=(e=(e=(e=(e=e.replace(t,i)).replace(/\[6\]/g,'<gap reason="lost" quantity="1" unit="line"/>')).replace(/\[3\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[3\s([^\x00-\x7F]*[aA-zZ]*)\]/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$1</supplied>')).replace(/\[3\s/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/\s3\s/g," - - - ")).replace(/\s3\]/g," - - -]")).replace(/a\(\)/g,"<abbr>a</abbr>")}let a=/\[(\–|\-)\s?(\–|\-)\s?(\–|\-)\]/g;e=(e=(e=e.replace(/\(\!\)/g,"<note>!</note>")).replace(/\(sic\)/g,"<note>sic</note>")).replace(a,(function(e,t){return'<gap reason="lost" extent="unknown" unit="character"/>'})),a=/\[(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\]/g,e=e.replace(a,(function(e,t){return'<gap reason="lost" quantity="'+t+'" unit="character"/>'})),a=/\[(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\s/g,e=e.replace(a,(function(e,t){e.length;return'<gap reason="lost" quantity="'+t+'" unit="character"/><supplied reason="lost">'})),a=/\s(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\]/g,e=e.replace(a,(function(e,t){e.length;return'</supplied><gap reason="lost" quantity="'+t+'" unit="character"/>'})),a=/\s(?:(?:\s?\.\s?){1,99})([1-9][0-9]*)(?:(?:\s?\.\s?){1,99})\s/g,e=e.replace(a,(function(e,t){e.length;return'</supplied><gap reason="lost" quantity="'+t+'" unit="character"/><supplied reason="lost">'})),a=/\[((\.){1,99})\]/g,e=e.replace(a,(function(e,t){return'<gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/>'})),a=/\[((\.){1,99})\s/g,e=e.replace(a,(function(e,t){return'<gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/><supplied reason="lost">'})),a=/\s((\.){1,99})\]/g,e=e.replace(a,(function(e,t){return'</supplied><gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/>'})),a=/\s((\.){1,99})\s/g,e=e.replace(a,(function(e,t){return'</supplied><gap reason="lost" quantity="'+(e.length-2)+'" unit="character"/><supplied reason="lost">'})),a=/([^\x00-\x7F]*[aA-zZ]*)\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(\])/g;let l='<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan>';e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/\[(-|–|\.\s?){1,20}ca\.(\s?)([1-9][0-9]*)((-)([1-9][0-9]*))(\s?)(-|–|\.\s?){1,20}\]/g,'<gap reason="lost" atLeast="$3" atMost="$6" unit="character"/>')).replace(/\[(-|–|\.\s?){1,20}ca\.(\s?)([1-9][0-9]*)(\s?)(-|–|\.\s?){1,20}\]/g,'<gap reason="lost" quantity="$3" unit="character" precision="low"/>')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'<gap reason="lost" atLeast="$1" atMost="$2" unit="character"/>')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'<gap reason="lost" atLeast="$1" atMost="$2" unit="character"/><supplied reason="lost">')).replace(/\[(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/><supplied reason="lost">')).replace(/\s(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'</supplied><gap reason="lost" atLeast="$1" atMost="$2" unit="character"/>')).replace(/\s(?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s?)\]/g,'</supplied><gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\s(?:[\.․]){2,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'</supplied><gap reason="lost" atLeast="$1" atMost="$2" unit="character"/><supplied reason="lost">')).replace(/\s(?:[\.․]){2,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:\s?)(?:[\.․]){1,20}(?:\s)/g,'</supplied><gap reason="lost" quantity="$1" unit="character" precision="low"/><supplied reason="lost">')).replace(/(?:\s|\n)\(([^\x00-\x7F]*[aA-zZ]*)\)/g," <expan><ex>$1</ex></expan>")).replace(/\[{2}/g,"⟦")).replace(/\]{2}/g,"⟧")).replace(/\[([^\x00-\x7F]*[aA-zZ]*[^\]])\]([^\x00-\x7F]*[aA-zZ]*[^\]])\(([^\x00-\x7F]*?[aA-zZ]*?)\)/g,'<expan><abbr><supplied reason="lost">$1</supplied>$2</abbr><ex>$3</ex></expan>')).replace(/(〚|⟦|\[\[)([^\x00-\x7F]*[aA-zZ]*[^\]])(〛|⟧|]])([^\x00-\x7F]*[aA-zZ]*[^\]])\(([^\x00-\x7F]*?[aA-zZ]*?)\)/g,'<expan><abbr><supplied reason="lost">$1</supplied>$2</abbr><ex>$3</ex></expan>')).replace(/\[(\w*?\s?)(?:(?:(?:\-|\–|\—)\s?){1,20})(\w*?)\](?![^\x00-\x7F]*?[aA-zZ]*?\()/g,'<supplied reason="lost">$1</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$2</supplied>')).replace(/<supplied reason=\"lost\"><\/supplied>/g,"")).replace(/(?:⟦|〚)(.*?\s?)(?:(?:(?:\-|\–|\—)\s?){1,20})(.*?)(?:⟧|〛)(?![^\x00-\x7F]*?[aA-zZ]*?\()/g,'<del rend="erasure">$1</del><gap reason="lost" extent="unknown" unit="character"/><del rend="erasure">$2</del>')).replace(/(?:\s)\[(.*?)\](?:\n)/g,' <supplied reason="lost">$1</supplied>\n')).replace(/(?:\s)\[(.*)\](?:\s)/g,' <supplied reason="lost">$1</supplied> ')).replace(/(?:\s)(?:⟦|〚)(.*?)(?:⟧|〛)(?:\n)/g,' <del rend="erasure">$1</del>\n')).replace(/(?:\s)(?:⟦|〚)(.*?)(?:⟧|〛)(?:\s)/g,' <del256 rend="erasure">$1</del> ')).replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)(?:⟦|〚)([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(?:⟧|〛)/g,l='<expan><abbr>$1<del rend="erasure">$2</del></abbr><ex>$3</ex></expan>',e=e.replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(\s)?([^\x00-\x7F]*[aA-zZ]*)?(\s)?(\])/g,l='<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan><supplied reason="lost">$4$5</supplied>',e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/([^\x00-\x7F]*?[aA-zZ]*?[^>])?\[([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])\](?![^\x00-\x7F]*?[aA-zZ]*\()/g,'<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan> <supplied reason="lost">$4</supplied>')).replace(/([^\x00-\x7F]*?[aA-zZ]*?[^\s][^>])?(?:\s?)(?:⟦|〚)([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])(?:⟧|〛)(?![^\x00-\x7F]*?[aA-zZ]*\()/g,'<expan><abbr>$1<del rend="erasure">$2</del></abbr><ex>$3</ex></expan> <del rend="erasure">$4</del>')).replace(/([^\x00-\x7F]*?[aA-zZ]+)\[([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])([^\x00-\x7F]*?[aA-zZ]*?)\](?:([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\))/g,'<expan><abbr>$1<supplied reason="lost">$2</supplied></abbr><ex>$3</ex></expan> <supplied reason="lost">$4</supplied><expan><abbr><supplied reason="lost">$5</supplied>$6</abbr><ex>$7</ex></expan>')).replace(/([^\x00-\x7F]*?[aA-zZ]*?)(?:⟦|〚)([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\)(.*?[^\-\–\—])([^\x00-\x7F]*?[aA-zZ]*?)(?:⟧|〛)(?:([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*?[aA-zZ]*?)\))/g,'<expan><abbr>$1<del rend="erasure">$2</del></abbr><ex>$3</ex></expan> <del rend="erasure">$4</del><expan><abbr><del rend="erasure">$5</del>$6</abbr><ex>$7</ex></expan>')).replace(/<supplied reason="lost"> (?:[\.․]){1,20}c(?:a?)\.(?:\s?)([1-9][0-9]*)(?:(?:-)([1-9][0-9]*))(?:\s?)(?:[\.․]){1,20} <\/supplied>/g,'<gap reason="lost" atLeast="$1" atMost="$2" unit="character"/>')).replace(/<supplied reason=\"lost\">(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit="character"\/>)<\/supplied>/g,"$1")).replace(/\[(.[^\[\-\–\—]*)\](?![^\x00-\x7F]*[aA-zZ]*\()/g,'<supplied reason="lost">$1</supplied>')).replace(/(?:⟦|〚)(.[^\[]*)\](?![^\x00-\x7F]*[aA-zZ]*\()/g,'<del rend="erasure">$1</supplied>')).replace(/(?:\s)\[((.[^\.<])*)\s/g,' <supplied reason="lost"><expan><abbr>$1</abbr><ex>$2</ex></expan></supplied>')).replace(/(?!([^\x00-\x7F]*[aA-zZ]*))(\s)([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)\]/g,'$1<supplied reason="lost"><expan><abbr>$2</abbr><ex>$3</ex></expan></supplied>')).replace(/(\s)([^\x00-\x7F]*?[aA-zZ]*?)\]([^\x00-\x7F]*?[aA-zZ]*?)\(([^\x00-\x7F]*[aA-zZ]*)\)/g,'$1</supplied><expan><abbr><supplied reason="lost">$2</supplied>$3</abbr><ex>$4</ex></expan>')).replace(/(\s)([^\x00-\x7F]+[aA-zZ]+)\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)/g,' <expan><abbr>$2<supplied reason="lost">$3</supplied></abbr><ex>$4</ex></expan> <supplied reason="lost">')).replace(/\[([^\x00-\x7F]*[aA-zZ]*)\(\?\)((\s?(\-|\–|\—)\s?){1,20})\]/g,'<supplied reason="lost" cert="low">$1</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[([^\x00-\x7F]*[aA-zZ]*)((\s?(\-|\–|\—)\s?){1,20})\]/g,'<supplied reason="lost">$1</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(a,l),a=/(〚|⟦|\[\[)([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)([^\x00-\x7F]*[aA-zZ]*)?(〛|⟧|]])/g,l='<del rend="erasure"><expan><abbr>$2</abbr><ex>$3</ex></expan>$4</del>',e=e.replace(a,l),a=/\[([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)(])/g,l='<supplied reason="lost"><expan><abbr>$1</abbr><ex>$2</ex></expan></supplied>',e=e.replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\?\)/g;const h='<expan><abbr>$1</abbr><ex cert="low">$2</ex></expan>';e=e.replace(a,h),a=/([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)([^\x00-\x7F]*[aA-zZ]*)*\(([^\x00-\x7F]*[aA-zZ]*)\)/g,l="<expan><abbr>$1</abbr><ex>$2</ex><abbr>$3</abbr><ex>$4</ex></expan>",e=e.replace(a,l),a=/([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)([^\x00-\x7F]*[aA-zZ]*)*/g,l="<expan><abbr>$1</abbr><ex>$2</ex>$3</expan>";const c=/\[/g,u='<supplied reason="lost">',f=/\]/g,d="</supplied>";e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(a,l)).replace("</expan><expan><abbr>","<abbr>")).replace("\n[------]",'<gap unit="line" />')).replace(/(-){6}/g,'<gap unit="line" />')).replace(/\[(—\s?)*\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[---\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[— — —ca\.([1-9][0-9]*)((-)([1-9][0-9]*))?— — —\]/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\[— — — —ca\.([1-9][0-9]*)((-)([1-9][0-9]*))?— — — —\]/g,'<gap reason="lost" quantity="$1" unit="character" precision="low"/>')).replace(/\[(-|–\s?){1,20}ca\.(\s?)([1-9][0-9]*)?(\s?)(-|–\s?){1,20}\]/g,'<gap reason="lost" quantity="$3" unit="character" precision="low"/>')).replace(/\------\?/g,'<gap reason="lost" extent="unknown" unit="line"><certainty match=".." locus="name"/></gap>')).replace(/\[\------\?\]/g,'<gap reason="lost" extent="unknown" unit="line"><certainty match=".." locus="name"/></gap>')).replace(/\[\---\?\]/g,'<gap reason="lost" extent="unknown" unit="line"><certainty match=".." locus="name"/></gap>')).replace(/\[(-|–|\—\s?){1,20}([^\x00-\x7F]*[aA-zZ]*)\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/\[(-|–|\—\s?){1,20}([^\x00-\x7F]*[aA-zZ]*)\]/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$2</supplied>')).replace(/(?:⟦|〚)(-|–|\—\s?){1,20}([^\x00-\x7F]*[aA-zZ]*)(?:⟧|〛)/g,'<gap reason="lost" extent="unknown" unit="character"/><del rend="erasure">$2</supplied>')).replace(/\[(?!([\-\–\—]))(((?!([\-\–\—\[\]]))[^\x00-\x7F]*[aA-zZ]*(\s?)){1,10})(([\-\—\–])\s?){1,20}\]/g,'<supplied reason="lost">$2</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/(([\-\—\–])\s?){1,20}\]/g,'<gap reason="lost" extent="unknown" unit="character"/>')).replace(/<expan><abbr>\[/g,'<supplied reason="lost"><expan><abbr>')).replace(/<\/expan> <\/supplied></g,"</expan></supplied> <")).replace(/<supplied reason=\"lost\"><expan><abbr>([^\x00-\x7F]*?[aA-zZ]*?)\]/g,'<expan><abbr><supplied reason="lost">$1</supplied>')).replace(/<expan><abbr><\/abbr><ex>/g,"<expan><ex>")).replace(c,u)).replace(f,d);const p=/([+])+/g,O=/\[(․{1,20})\]/g,m=/(hed\.)̣/gi,g='<g type="hedera">❦</g>',S=/vac\./gi,b='<space extent="unknown" unit="character"/>',y=/\{([^\x00-\x7F]*[aA-zZ]*)\}/g,x="<surplus>$1</surplus>";a=/(〚)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(〛)/gm,l='<del rend="erasure">$2</del>',e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(/<\/ex><\/supplied><\/expan>/g,"</ex></expan></supplied>")).replace(/((\s?(\-|\—|\–)\s?){1,20})<\/supplied>/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/((\s?(\-|\—|\–)\s?){1,20})<\/supplied>/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/>')).replace(/<supplied reason=\"lost\">((\s?(\-|\—|\–)\s?){1,20})/g,'<gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/<supplied reason=\"lost\"><\/supplied><gap reason=\"lost\" extent=\"unknown\" unit=\"character\"\/><supplied reason=\"lost\"><\/supplied>/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/<supplied reason=\"lost\"> <\/supplied>/g,"")).replace(/<del rend=\"erasure\">\s?<\/del>/g,"")).replace(/<\/supplied>\s?<\/supplied>/g,"</supplied>")).replace(/\/><\/supplied><gap/g,"/><gap")).replace(/\[(?!([\-\–\—]))((?:\s?(?:(?!(?:[\-\–\—\[\]]))[^\x00-\x7F]*[aA-zZ](?!\s)*)){1,10})(?:(?:\s?[\-\—\–])\s?){1,20}((?:(?!([\-\–\—\[\]]))[^\x00-\x7F]*[aA-zZ]*))\]/g,'<supplied reason="lost">$2</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">$3</supplied>')).replace(/(\s?([\-\—\–])\s?){1,20}/g,'</supplied><gap reason="lost" extent="unknown" unit="character"/><supplied reason="lost">')).replace(/\[(.[^\[]*)(\s)([^\x00-\x7F]*[aA-zZ]*)\]([^\x00-\x7F]*[aA-zZ]*)\(([^\x00-\x7F]*[aA-zZ]*)\)/g,'<supplied reason="lost">$1</supplied><expan><abbr><supplied reason="lost">$3</supplied>$4</abbr><ex>$5</ex></expan>')).replace(p,(function(e){return console.log("Ici match:"+e.length),'<gap reason="illegible" quantity="'+e.length+'" unit="character"/>'}))).replace(O,(function(e){console.log("Ici match:"+e.length);return'<gap reason="illegible" quantity="'+(e.length-2)+'" unit="character"/>'}))).replace(/<supplied reason=\"lost\"> <gap/g," <gap")).replace(m,g)).replace(S,b)).replace(y,x)).replace(a,l),a=/(⟦)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(⟧)/gm,l='<del rend="erasure">$2</del>',e=e.replace(a,l),a=/(\[){2}(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(\]){2}/gm,l='<del rend="erasure">$2</del>';const Q=/(\[)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(\])/gm,v='<supplied reason="lost">$2</supplied>';e=(e=e.replace(a,l)).replace(Q,v),a=new RegExp("a","u");const w=/(\[)([^\x00-\x7F]*[aA-zZ]*\s?[^\x00-\x7F]*[aA-zZ]*)(---)?(\])/g,$='<supplied reason="lost">$2</supplied><gap reason="lost" />',k=/([^\x00-\x7F]?[aA-zZ]?)̣/g,P="<unclear>$1</unclear>",T=/(\<\/unclear\>\<unclear\>)/g,A="";return e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(w,$)).replace(k,P)).replace(T,A)).replace(/(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit=\"character\"\/>)<expan><abbr>((?:[^\x00-\x7F]*?[aA-zZ]*?)*)<\/supplied>/g,'$1<expan><abbr><supplied reason="lost">$2</supplied>')).replace(/(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit=\"character\"\/>)<\/supplied>/g,"$1")).replace(/(<gap reason=\"lost\" atLeast=\"[0-9]*\" atMost=\"[0-9]\" unit=\"character\"\/>)<expan><abbr>((?:[^\x00-\x7F]*?[aA-zZ]*?)*)<\/supplied>/g,'$1<expan><abbr><supplied reason="lost">$2</supplied>')).replace(/(<gap reason=\"lost\" quantity=\"[0-9]*\" unit=\"character\" precision=\"low\"\/>)<\/supplied>/g,"$1")).replace(/(\/\>)\s(\<lb n=\"[0-9]*\"\/\>)/g,"$1\n$2")).replace(/unit=\"line\"\/>\s(\w)/g,'unit="line"/>$1')).replace(/ ?∙ ?/g,' <g type="interpunct">▴</g> ')).replace(/ ?𐆖 ?/g,' <g type="denarius"/> ')).replace(/❦/g,' <g type="hedera">❦</g> ')).replace(/\s\s/g," ")).replace(/ {2,99}/g,"")}var ib=Object.defineProperty,nb=Object.defineProperties,rb=Object.getOwnPropertyDescriptors,sb=Object.getOwnPropertySymbols,ob=Object.prototype.hasOwnProperty,ab=Object.prototype.propertyIsEnumerable,lb=(e,t,i)=>t in e?ib(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,hb=(e,t)=>{for(var i in t||(t={}))ob.call(t,i)&&lb(e,i,t[i]);if(sb)for(var i of sb(t))ab.call(t,i)&&lb(e,i,t[i]);return e},cb=(e,t)=>nb(e,rb(t)),ub=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});function fb(e,t){const i=`<ab>${tb(e,t)}\n</ab>`,n=(new DOMParser).parseFromString(i,"application/xml");if(!n.firstElementChild)return"";return n.querySelector("parsererror")?null:NS(n.firstElementChild)}const db=(e,t)=>i=>{const n=fb(i.state.doc.toJSON().join("\n"),t);return n?(e._value=n,e.mode="leiden_plus"):alert("Conversion failed due to invalid XML!"),!0},pb={erasure:cS("[[","]]"),gap:uS("[---]")};class Ob extends OS{constructor(e,t=[],i){super(e,t,cb(hb({},pb),{convert:db(e,i)})),this._sourceType=i}getExtensions(){return ub(this,null,(function*(){return[Fg()]}))}onUpdate(e,t){return`<ab>\n${tb(t,this._sourceType)}\n</ab>`}serialize(){return this.editor.content}}var mb=function(){function e(e){return{type:e,style:"keyword"}}for(var t=e("operator"),i={type:"atom",style:"atom"},n={type:"axis_specifier",style:"qualifier"},r={",":{type:"punctuation",style:null}},s=["after","all","allowing","ancestor","ancestor-or-self","any","array","as","ascending","at","attribute","base-uri","before","boundary-space","by","case","cast","castable","catch","child","collation","comment","construction","contains","content","context","copy","copy-namespaces","count","decimal-format","declare","default","delete","descendant","descendant-or-self","descending","diacritics","different","distance","document","document-node","element","else","empty","empty-sequence","encoding","end","entire","every","exactly","except","external","first","following","following-sibling","for","from","ftand","ftnot","ft-option","ftor","function","fuzzy","greatest","group","if","import","in","inherit","insensitive","insert","instance","intersect","into","invoke","is","item","language","last","lax","least","let","levels","lowercase","map","modify","module","most","namespace","next","no","node","nodes","no-inherit","no-preserve","not","occurs","of","only","option","order","ordered","ordering","paragraph","paragraphs","parent","phrase","preceding","preceding-sibling","preserve","previous","processing-instruction","relationship","rename","replace","return","revalidation","same","satisfies","schema","schema-attribute","schema-element","score","self","sensitive","sentence","sentences","sequence","skip","sliding","some","stable","start","stemming","stop","strict","strip","switch","text","then","thesaurus","times","to","transform","treat","try","tumbling","type","typeswitch","union","unordered","update","updating","uppercase","using","validate","value","variable","version","weight","when","where","wildcards","window","with","without","word","words","xquery"],o=0,a=s.length;o<a;o++)r[s[o]]=e(s[o]);var l=["xs:anyAtomicType","xs:anySimpleType","xs:anyType","xs:anyURI","xs:base64Binary","xs:boolean","xs:byte","xs:date","xs:dateTime","xs:dateTimeStamp","xs:dayTimeDuration","xs:decimal","xs:double","xs:duration","xs:ENTITIES","xs:ENTITY","xs:float","xs:gDay","xs:gMonth","xs:gMonthDay","xs:gYear","xs:gYearMonth","xs:hexBinary","xs:ID","xs:IDREF","xs:IDREFS","xs:int","xs:integer","xs:item","xs:java","xs:language","xs:long","xs:Name","xs:NCName","xs:negativeInteger","xs:NMTOKEN","xs:NMTOKENS","xs:nonNegativeInteger","xs:nonPositiveInteger","xs:normalizedString","xs:NOTATION","xs:numeric","xs:positiveInteger","xs:precisionDecimal","xs:QName","xs:short","xs:string","xs:time","xs:token","xs:unsignedByte","xs:unsignedInt","xs:unsignedLong","xs:unsignedShort","xs:untyped","xs:untypedAtomic","xs:yearMonthDuration"];for(o=0,a=l.length;o<a;o++)r[l[o]]=i;var h=["eq","ne","lt","le","gt","ge",":=","=",">",">=","<","<=",".","|","?","and","or","div","idiv","mod","*","/","+","-"];for(o=0,a=h.length;o<a;o++)r[h[o]]=t;var c=["self::","attribute::","child::","descendant::","descendant-or-self::","parent::","ancestor::","ancestor-or-self::","following::","preceding::","following-sibling::","preceding-sibling::"];for(o=0,a=c.length;o<a;o++)r[c[o]]=n;return r}();function gb(e,t,i){return t.tokenize=i,i(e,t)}function Sb(e,t){var i=e.next(),n=!1,r=Wb(e);if("<"==i){if(e.match("!--",!0))return gb(e,t,wb);if(e.match("![CDATA",!1))return t.tokenize=$b,"tag";if(e.match("?",!1))return gb(e,t,kb);var s=e.eat("/");e.eatSpace();for(var o,a="";o=e.eat(/[^\s\u00a0=<>\"\'\/?]/);)a+=o;return gb(e,t,Qb(a,s))}if("{"==i)return Vb(t,{type:"codeblock"}),null;if("}"==i)return Xb(t),null;if(Pb(t))return">"==i?"tag":"/"==i&&e.eat(">")?(Xb(t),"tag"):"variable";if(/\d/.test(i))return e.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if("("===i&&e.eat(":"))return Vb(t,{type:"comment"}),gb(e,t,bb);if(r||'"'!==i&&"'"!==i){if("$"===i)return gb(e,t,xb);if(":"===i&&e.eat("="))return"keyword";if("("===i)return Vb(t,{type:"paren"}),null;if(")"===i)return Xb(t),null;if("["===i)return Vb(t,{type:"bracket"}),null;if("]"===i)return Xb(t),null;var l=mb.propertyIsEnumerable(i)&&mb[i];if(r&&'"'===i)for(;'"'!==e.next(););if(r&&"'"===i)for(;"'"!==e.next(););l||e.eatWhile(/[\w\$_-]/);var h=e.eat(":");!e.eat(":")&&h&&e.eatWhile(/[\w\$_-]/),e.match(/^[ \t]*\(/,!1)&&(n=!0);var c=e.current();return l=mb.propertyIsEnumerable(c)&&mb[c],n&&!l&&(l={type:"function_call",style:"def"}),Ab(t)?(Xb(t),"variable"):("element"!=c&&"attribute"!=c&&"axis_specifier"!=l.type||Vb(t,{type:"xmlconstructor"}),l?l.style:"variable")}return gb(e,t,yb(i))}function bb(e,t){for(var i,n=!1,r=!1,s=0;i=e.next();){if(")"==i&&n){if(!(s>0)){Xb(t);break}s--}else":"==i&&r&&s++;n=":"==i,r="("==i}return"comment"}function yb(e,t){return function(i,n){var r;if(Cb(n)&&i.current()==e)return Xb(n),t&&(n.tokenize=t),"string";if(Vb(n,{type:"string",name:e,tokenize:yb(e,t)}),i.match("{",!1)&&Tb(n))return n.tokenize=Sb,"string";for(;r=i.next();){if(r==e){Xb(n),t&&(n.tokenize=t);break}if(i.match("{",!1)&&Tb(n))return n.tokenize=Sb,"string"}return"string"}}function xb(e,t){var i=/[\w\$_-]/;if(e.eat('"')){for(;'"'!==e.next(););e.eat(":")}else e.eatWhile(i),e.match(":=",!1)||e.eat(":");return e.eatWhile(i),t.tokenize=Sb,"variable"}function Qb(e,t){return function(i,n){return i.eatSpace(),t&&i.eat(">")?(Xb(n),n.tokenize=Sb,"tag"):(i.eat("/")||Vb(n,{type:"tag",name:e,tokenize:Sb}),i.eat(">")?(n.tokenize=Sb,"tag"):(n.tokenize=vb,"tag"))}}function vb(e,t){var i=e.next();return"/"==i&&e.eat(">")?(Tb(t)&&Xb(t),Pb(t)&&Xb(t),"tag"):">"==i?(Tb(t)&&Xb(t),"tag"):"="==i?null:'"'==i||"'"==i?gb(e,t,yb(i,vb)):(Tb(t)||Vb(t,{type:"attribute",tokenize:vb}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(Xb(t),t.tokenize=Sb),"attribute")}function wb(e,t){for(var i;i=e.next();)if("-"==i&&e.match("->",!0))return t.tokenize=Sb,"comment"}function $b(e,t){for(var i;i=e.next();)if("]"==i&&e.match("]",!0))return t.tokenize=Sb,"comment"}function kb(e,t){for(var i;i=e.next();)if("?"==i&&e.match(">",!0))return t.tokenize=Sb,"processingInstruction"}function Pb(e){return Zb(e,"tag")}function Tb(e){return Zb(e,"attribute")}function Ab(e){return Zb(e,"xmlconstructor")}function Cb(e){return Zb(e,"string")}function Wb(e){return'"'===e.current()?e.match(/^[^\"]+\"\:/,!1):"'"===e.current()&&e.match(/^[^\"]+\'\:/,!1)}function Zb(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function Vb(e,t){e.stack.push(t)}function Xb(e){e.stack.pop();var t=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=t||Sb}const _b={name:"xquery",startState:function(){return{tokenize:Sb,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:"(:",close:":)"}}}};var Rb=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});const Mb=(e,t)=>i=>{const n=[];function r(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:n,composed:!0,bubbles:!0}))}return t?0===i.state.doc.length?(r(!0),Promise.resolve(n)):new Promise(e=>fetch(t,{method:"POST",headers:{"Content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({code:i.state.doc.toString()||""}).toString()}).then(e=>e.json()).then(t=>{if("fail"===t.status){const e=i.state.doc.lineAt(t.line);n.push({message:t.message,severity:"error",from:e.from+t.column,to:e.from+e.length})}e(n),r(0===n.length)})):Promise.resolve(n)};class qb extends OS{constructor(e,t=[],i=null){super(e,t),this.linterUri=i}getExtensions(e){return Rb(this,null,(function*(){return[Pu.define(_b),Wg(Mb(e,this.linterUri)),Fg()]}))}serialize(){return this.editor.content}}const Ib=94,Eb=1,Db=95,Ub=96,Yb=2,zb=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Lb=58,Bb=40,Nb=95,jb=91,Gb=45,Fb=46,Hb=35,Jb=37;function Kb(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function ey(e){return e>=48&&e<=57}const ty=new kl((e,t)=>{for(let i=!1,n=0,r=0;;r++){let{next:s}=e;if(!(Kb(s)||s==Gb||s==Nb||i&&ey(s))){i&&e.acceptToken(s==Bb?Db:2==n&&t.canShift(Yb)?Yb:Ub);break}!i&&(s!=Gb||r>0)&&(i=!0),n===r&&s==Gb&&n++,e.advance()}}),iy=new kl(e=>{if(zb.includes(e.peek(-1))){let{next:t}=e;(Kb(t)||t==Nb||t==Hb||t==Fb||t==jb||t==Lb||t==Gb)&&e.acceptToken(Ib)}}),ny=new kl(e=>{if(!zb.includes(e.peek(-1))){let{next:t}=e;if(t==Jb&&(e.advance(),e.acceptToken(Eb)),Kb(t)){do{e.advance()}while(Kb(e.next));e.acceptToken(Eb)}}}),ry=Jl({"AtKeyword import charset namespace keyframes media supports":xh.definitionKeyword,"from to selector":xh.keyword,NamespaceName:xh.namespace,KeyframeName:xh.labelName,TagName:xh.tagName,ClassName:xh.className,PseudoClassName:xh.constant(xh.className),IdName:xh.labelName,"FeatureName PropertyName":xh.propertyName,AttributeName:xh.attributeName,NumberLiteral:xh.number,KeywordQuery:xh.keyword,UnaryQueryOp:xh.operatorKeyword,"CallTag ValueName":xh.atom,VariableName:xh.variableName,Callee:xh.operatorKeyword,Unit:xh.unit,"UniversalSelector NestingSelector":xh.definitionOperator,MatchOp:xh.compareOperator,"ChildOp SiblingOp, LogicOp":xh.logicOperator,BinOp:xh.arithmeticOperator,Important:xh.modifier,Comment:xh.blockComment,ParenthesizedContent:xh.special(xh.name),ColorLiteral:xh.color,StringLiteral:xh.string,":":xh.punctuation,"PseudoOp #":xh.derefOperator,"; ,":xh.separator,"( )":xh.paren,"[ ]":xh.squareBracket,"{ }":xh.brace}),sy={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,"nth-last-of-type":32,dir:32,"host-context":32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},oy={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},ay={__proto__:null,not:128,only:128,from:158,to:160},ly=Dl.deserialize({version:14,states:"7WQYQ[OOO#_Q[OOOOQP'#Cd'#CdOOQP'#Cc'#CcO#fQ[O'#CfO$YQXO'#CaO$aQ[O'#ChO$lQ[O'#DPO$qQ[O'#DTOOQP'#Ed'#EdO$vQdO'#DeO%bQ[O'#DrO$vQdO'#DtO%sQ[O'#DvO&OQ[O'#DyO&TQ[O'#EPO&cQ[O'#EROOQS'#Ec'#EcOOQS'#ET'#ETQYQ[OOO&jQXO'#CdO'_QWO'#DaO'dQWO'#EjO'oQ[O'#EjQOQWOOOOQP'#Cg'#CgOOQP,59Q,59QO#fQ[O,59QO'yQ[O'#EWO(eQWO,58{O(mQ[O,59SO$lQ[O,59kO$qQ[O,59oO'yQ[O,59sO'yQ[O,59uO'yQ[O,59vO(xQ[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)PQWO,59SO)UQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)ZQ`O,59oOOQS'#Cp'#CpO$vQdO'#CqO)cQvO'#CsO*pQtO,5:POOQO'#Cx'#CxO)UQWO'#CwO+UQWO'#CyOOQS'#Eg'#EgOOQO'#Dh'#DhO+ZQ[O'#DoO+iQWO'#EkO&TQ[O'#DmO+wQWO'#DpOOQO'#El'#ElO(hQWO,5:^O+|QpO,5:`OOQS'#Dx'#DxO,UQWO,5:bO,ZQ[O,5:bOOQO'#D{'#D{O,cQWO,5:eO,hQWO,5:kO,pQWO,5:mOOQS-E8R-E8RO$vQdO,59{O,xQ[O'#EYO-VQWO,5;UO-VQWO,5;UOOQP1G.l1G.lO-|QXO,5:rOOQO-E8U-E8UOOQS1G.g1G.gOOQP1G.n1G.nO)PQWO1G.nO)UQWO1G.nOOQP1G/V1G/VO.ZQ`O1G/ZO.tQXO1G/_O/[QXO1G/aO/rQXO1G/bO0YQWO,59zO0_Q[O'#DOO0fQdO'#CoOOQP1G/Z1G/ZO$vQdO1G/ZO0mQpO,59]OOQS,59_,59_O$vQdO,59aO0uQWO1G/kOOQS,59c,59cO0zQ!bO,59eO1SQWO'#DhO1_QWO,5:TO1dQWO,5:ZO&TQ[O,5:VO&TQ[O'#EZO1lQWO,5;VO1wQWO,5:XO'yQ[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2YQWO1G/|O2_QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO2mQtO1G/gOOQO,5:t,5:tO3TQ[O,5:tOOQO-E8W-E8WO3bQWO1G0pOOQP7+$Y7+$YOOQP7+$u7+$uO$vQdO7+$uOOQS1G/f1G/fO3mQXO'#EiO3tQWO,59jO3yQtO'#EUO4nQdO'#EfO4xQWO,59ZO4}QpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5VQWO1G/PO$vQdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5[QWO,5:uOOQO-E8X-E8XO5jQXO1G/vOOQS7+%h7+%hO5qQYO'#CsO(hQWO'#E[O5yQdO,5:hOOQS,5:h,5:hO6XQtO'#EXO$vQdO'#EXO7VQdO7+%ROOQO7+%R7+%ROOQO1G0`1G0`O7jQpO<<HaO7rQWO,5;TOOQP1G/U1G/UOOQS-E8S-E8SO$vQdO'#EVO7zQWO,5;QOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO8SQdO7+%ZOOQO7+%b7+%bOOQS,5:v,5:vOOQS-E8Y-E8YOOQS1G0S1G0SO8ZQtO,5:sOOQS-E8V-E8VOOQO<<Hm<<HmOOQPAN={AN={O9XQdO,5:qOOQO-E8T-E8TOOQO<<Hu<<Hu",stateData:"9i~O#UOSROS~OUXOXXO]UO^UOtVOxWO!Y`O!ZYO!gZO!i[O!k]O!n^O!t_O#SQO#XSO~OQeOUXOXXO]UO^UOtVOxWO!Y`O!ZYO!gZO!i[O!k]O!n^O!t_O#SdO#XSO~O#P#^P~P!ZO#SiO~O]nO^nOplOtoOxpO|qO!PsO#QrO#XkO~O!RtO~P#kO`zO#RwO#SvO~O#S{O~O#S}O~OQ!WOb!QOf!WOh!WOn!VO#R!TO#S!PO#[!RO~Ob!YO!b![O!e!]O#S!XO!R#_P~Oh!bOn!VO#S!aO~O#S!dO~Ob!YO!b![O!e!]O#S!XO~O!W#_P~P%bO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#QWX#XWX~O]!iO~O!W!jO#P#^X!Q#^X~O#P#^X!Q#^X~P!ZOUXOXXO]UO^UOtVOxWO#SQO#XSO~OplO!RtO~O`!sO#RwO#SvO~O!Q#^P~P!ZOb!zO~Ob!{O~Ov!|Oz!}O~OP#PObgXjgX!WgX!bgX!egX#SgXagXQgXfgXhgXngXpgX!VgX#PgX#RgX#[gXvgX!QgX~Ob!YOj#QO!b![O!e!]O#S!XO!W#_P~Ob#TO~Ob!YO!b![O!e!]O#S#UO~Op#YO!`#XO!R#_X!W#_X~Ob#]O~Oj#QO!W#_O~O!W#`O~Oh#aOn!VO~O!R#bO~O!RtO!`#XO~O!RtO!W#eO~O!W!|X#P!|X!Q!|X~P!ZO!W!jO#P#^a!Q#^a~O]nO^nOtoOxpO|qO!PsO#QrO#XkO~Op!za!R!zaa!za~P-bOv#lOz#mO~O]nO^nOtoOxpO#XkO~Op{i|{i!P{i!R{i#Q{ia{i~P.cOp}i|}i!P}i!R}i#Q}ia}i~P.cOp!Oi|!Oi!P!Oi!R!Oi#Q!Oia!Oi~P.cO!Q#nO~Oa#]P~P'yOa#YP~P$vOa#uOj#QO~O!W#wO~Oh#xOo#xO~O]!^Xa![X!`![X~O]#yO~Oa#zO!`#XO~Op#YO!R#_a!W#_a~O!`#XOp!aa!R!aa!W!aaa!aa~O!W$PO~O!Q$TO!q$RO!r$RO#[$QO~Oj#QOp$VO!V$XO!W!Ti#P!Ti!Q!Ti~P$vO!W!|a#P!|a!Q!|a~P!ZO!W!jO#P#^i!Q#^i~Oa#]X~P#kOa$]O~Oj#QOQ!xXa!xXb!xXf!xXh!xXn!xXp!xX#R!xX#S!xX#[!xX~Op$_Oa#YX~P$vOa$aO~Oj#QOv$bO~Oa$cO~O!`#XOp!}a!R!}a!W!}a~Oa$eO~P-bOP#PO!RgX~O!Q$hO!q$RO!r$RO#[$QO~Oj#QOQ!{Xb!{Xf!{Xh!{Xn!{Xp!{X!V!{X!W!{X#P!{X#R!{X#S!{X#[!{X!Q!{X~Op$VO!V$kO!W!Tq#P!Tq!Q!Tq~P$vOj#QOv$lO~OplOa#]a~Op$_Oa#Ya~Oa$oO~P$vOj#QOQ!{ab!{af!{ah!{an!{ap!{a!V!{a!W!{a#P!{a#R!{a#S!{a#[!{a!Q!{a~Oa!yap!ya~P$vOo#[j!Pj~",goto:",`#aPPPPP#bP#k#zP#k$Z#kPP$aPPP$g$p$pP%SP$pP$p%j%|PPP&f&l#kP&rP#kP&xP#kP#k#kPPP'O'b'oPP#bPP'v'v(Q'vP'vP'v'vP#bP#bP#bP(T#bP(W(ZPP#bP#bP(^(m({)R)])c)m)sPPPPPP)y*SP*o*rP+h+k+q+z_aOPcgt!j#hkXOPcglqrst!j!z#]#hkROPcglqrst!j!z#]#hQjSR!mkQxUR!qnQ!qzQ#S!UR#k!sq!WY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mp!WY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mT$R#b$Sq!UY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mp!WY[!Q!i!{!}#Q#f#m#r#y$V$W$_$d$mQ!b]R#a!cQyUR!rnQ!qyR#k!rQ|VR!toQ!OWR!upQuTQ!pmQ#^!_Q#d!fQ#e!gR$f$RSfPtQ!lgQ#g!jR$Y#hZePgt!j#ha!^Z_`!S!Y![#X#YR#V!YR!c]R!e^R#c!eQcOSgPtU!hcg#hR#h!jQ#r!{U$^#r$d$mQ$d#yR$m$_Q$`#rR$n$`QmTS!om$[R$[#oQ$W#fR$j$WQ!kfS#i!k#jR#j!lQ#Z!ZR#}#ZQ$S#bR$g$S_bOPcgt!j#h^TOPcgt!j#hQ!nlQ!vqQ!wrQ!xsQ#o!zR$O#]R#s!{Q!SYQ!`[Q#O!QQ#f!i[#q!{#r#y$_$d$mQ#t!}Q#v#QS$U#f$WQ$Z#mR$i$VR#p!zQhPR!ytQ!_ZQ!g`R#R!SU!ZZ`!SQ!f_Q#W!YQ#[![Q#{#XR#|#Y",nodeNames:"⚠ Unit VariableName Comment StyleSheet RuleSet UniversalSelector TagSelector TagName NestingSelector ClassSelector ClassName PseudoClassSelector : :: PseudoClassName PseudoClassName ) ( ArgList ValueName ParenthesizedValue ColorLiteral NumberLiteral StringLiteral BinaryExpression BinOp CallExpression Callee CallLiteral CallTag ParenthesizedContent , PseudoClassName ArgList IdSelector # IdName ] AttributeSelector [ AttributeName MatchOp ChildSelector ChildOp DescendantSelector SiblingSelector SiblingOp } { Block Declaration PropertyName Important ; ImportStatement AtKeyword import KeywordQuery FeatureQuery FeatureName BinaryQuery LogicOp UnaryQuery UnaryQueryOp ParenthesizedQuery SelectorQuery selector MediaStatement media CharsetStatement charset NamespaceStatement namespace NamespaceName KeyframesStatement keyframes KeyframeName KeyframeList from to SupportsStatement supports AtRule Styles",maxTerm:108,nodeProps:[["openedBy",17,"(",48,"{"],["closedBy",18,")",49,"}"]],propSources:[ry],skippedNodes:[0,3],repeatNodeCount:8,tokenData:"Lq~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Cu![!]Dp!]!^El!^!_$}!_!`E}!`!aF`!a!b$}!b!cG[!c!}$}!}#OHt#O#P$}#P#QIV#Q#R6d#R#T$}#T#UIh#U#c$}#c#dJy#d#o$}#o#pK`#p#q6d#q#rKq#r#sLS#s#y$}#y#z%u#z$f$}$f$g%u$g#BY$}#BY#BZ%u#BZ$IS$}$IS$I_%u$I_$I|$}$I|$JO%u$JO$JT$}$JT$JU%u$JU$KV$}$KV$KW%u$KW&FU$}&FU&FV%u&FV;'S$};'S;=`Lk<%lO$}W%QSOy%^z;'S%^;'S;=`%o<%lO%^W%cSoWOy%^z;'S%^;'S;=`%o<%lO%^W%rP;=`<%l%^~%zh#U~OX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^~'mh#U~oWOX%^X^'f^p%^pq'fqy%^z#y%^#y#z'f#z$f%^$f$g'f$g#BY%^#BY#BZ'f#BZ$IS%^$IS$I_'f$I_$I|%^$I|$JO'f$JO$JT%^$JT$JU'f$JU$KV%^$KV$KW'f$KW&FU%^&FU&FV'f&FV;'S%^;'S;=`%o<%lO%^^)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^^)sUoWOy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^^*[UoWOy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^^*sUoWOy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^^+[UoWOy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^^+sUoWOy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^^,[UoWOy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^^,sUoWOy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^^-[UoWOy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^^-uS!VUoWOy%^z;'S%^;'S;=`%o<%lO%^~.UWOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o<%lO.R~.sOh~~.vRO;'S.R;'S;=`/P;=`O.R~/SXOY.RZr.Rrs.ns#O.R#O#P.s#P;'S.R;'S;=`/o;=`<%l.R<%lO.R~/rP;=`<%l.R_/zYtPOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^^0oYoWOy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^^1dYoWOy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^^2ZYfUoWOy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^^3QYfUoWOy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^^3uYoWOy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^^4lYfUoWOy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^^5aYoWOy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^^6WSfUoWOy%^z;'S%^;'S;=`%o<%lO%^Y6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^Y7QSzQoWOy%^z;'S%^;'S;=`%o<%lO%^X7cSXPOy%^z;'S%^;'S;=`%o<%lO%^~7rWOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W<%lO7o~8_RO;'S7o;'S;=`8h;=`O7o~8kXOY7oZw7owx.nx#O7o#O#P8[#P;'S7o;'S;=`9W;=`<%l7o<%lO7o~9ZP;=`<%l7o_9cSbVOy%^z;'S%^;'S;=`%o<%lO%^~9tOa~_9{UUPjSOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^_:fWjS!PPOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^^;TUoWOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^^;nYoW#[UOy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^^<cYoWOy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^=WUoWOy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^=qUoW#[UOy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^^>[[oW#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^_?VSpVOy%^z;'S%^;'S;=`%o<%lO%^^?hWjSOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^_@VU#XPOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjSOy%^z{@}{;'S%^;'S;=`%o<%lO%^~ASUoWOy@}yzAfz{Bm{;'S@};'S;=`Co<%lO@}~AiTOzAfz{Ax{;'SAf;'S;=`Bg<%lOAf~A{VOzAfz{Ax{!PAf!P!QBb!Q;'SAf;'S;=`Bg<%lOAf~BgOR~~BjP;=`<%lAf~BrWoWOy@}yzAfz{Bm{!P@}!P!QC[!Q;'S@};'S;=`Co<%lO@}~CcSoWR~Oy%^z;'S%^;'S;=`%o<%lO%^~CrP;=`<%l@}^Cz[#[UOy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^XDuU]POy%^z![%^![!]EX!];'S%^;'S;=`%o<%lO%^XE`S^PoWOy%^z;'S%^;'S;=`%o<%lO%^_EqS!WVOy%^z;'S%^;'S;=`%o<%lO%^YFSSzQOy%^z;'S%^;'S;=`%o<%lO%^XFeU|POy%^z!`%^!`!aFw!a;'S%^;'S;=`%o<%lO%^XGOS|PoWOy%^z;'S%^;'S;=`%o<%lO%^XG_WOy%^z!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHO[!YPoWOy%^z}%^}!OGw!O!Q%^!Q![Gw![!c%^!c!}Gw!}#T%^#T#oGw#o;'S%^;'S;=`%o<%lO%^XHySxPOy%^z;'S%^;'S;=`%o<%lO%^^I[SvUOy%^z;'S%^;'S;=`%o<%lO%^XIkUOy%^z#b%^#b#cI}#c;'S%^;'S;=`%o<%lO%^XJSUoWOy%^z#W%^#W#XJf#X;'S%^;'S;=`%o<%lO%^XJmS!`PoWOy%^z;'S%^;'S;=`%o<%lO%^XJ|UOy%^z#f%^#f#gJf#g;'S%^;'S;=`%o<%lO%^XKeS!RPOy%^z;'S%^;'S;=`%o<%lO%^_KvS!QVOy%^z;'S%^;'S;=`%o<%lO%^ZLXU!PPOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^WLnP;=`<%l$}",tokenizers:[iy,ny,ty,0,1,2,3],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:95,get:e=>sy[e]||-1},{term:56,get:e=>oy[e]||-1},{term:96,get:e=>ay[e]||-1}],tokenPrec:1123});let hy=null;function cy(){if(!hy&&"object"==typeof document&&document.body){let e=[];for(let t in document.body.style)/[A-Z]|^-|^(item|length)$/.test(t)||e.push(t);hy=e.sort().map(e=>({type:"property",label:e}))}return hy||[]}const uy=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(e=>({type:"class",label:e})),fy=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(e=>({type:"keyword",label:e})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(e=>({type:"constant",label:e}))),dy=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(e=>({type:"type",label:e})),py=/^[\w-]*/,Oy=e=>{let{state:t,pos:i}=e,n=Kh(t).resolveInner(i,-1);if("PropertyName"==n.name)return{from:n.from,options:cy(),validFor:py};if("ValueName"==n.name)return{from:n.from,options:fy,validFor:py};if("PseudoClassName"==n.name)return{from:n.from,options:uy,validFor:py};if("TagName"==n.name){for(let{parent:e}=n;e;e=e.parent)if("Block"==e.name)return{from:n.from,options:cy(),validFor:py};return{from:n.from,options:dy,validFor:py}}if(!e.explicit)return null;let r=n.resolve(i),s=r.childBefore(i);return s&&":"==s.name&&"PseudoClassSelector"==r.name?{from:i,options:uy,validFor:py}:s&&":"==s.name&&"Declaration"==r.name||"ArgList"==r.name?{from:i,options:fy,validFor:py}:"Block"==r.name?{from:i,options:cy(),validFor:py}:null},my=Jh.define({name:"css",parser:ly.configure({props:[gc.add({Declaration:Ac()}),Vc.add({Block:Xc})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function gy(){return new hc(my,my.data.of({autocomplete:Oy}))}var Sy=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});class by extends OS{getExtensions(e){return Sy(this,null,(function*(){return[new hc(my)]}))}serialize(){return this.editor.content}}var yy=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});class xy extends OS{getExtensions(e){return yy(this,null,(function*(){return[]}))}serialize(){return this.editor.content}}function Qy(e){function t(e,t){e.cmdState.push(t)}function i(e){return e.cmdState.length>0?e.cmdState[e.cmdState.length-1]:null}function n(e){var t=e.cmdState.pop();t&&t.closeBracket()}function r(e){for(var t=e.cmdState,i=t.length-1;i>=0;i--){var n=t[i];if("DEFAULT"!=n.name)return n}return{styleIdentifier:function(){return null}}}function s(e,t,i){return function(){this.name=e,this.bracketNo=0,this.style=t,this.styles=i,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var o={};function a(e,t){e.f=t}function l(e,n){var s;if(e.match(/^\\[a-zA-Z@]+/)){var l=e.current().slice(1);return t(n,s=new(s=o.hasOwnProperty(l)?o[l]:o.DEFAULT)),a(n,c),s.style}if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/\\]/))return"tag";if(e.match("\\["))return a(n,(function(e,t){return h(e,t,"\\]")})),"keyword";if(e.match("\\("))return a(n,(function(e,t){return h(e,t,"\\)")})),"keyword";if(e.match("$$"))return a(n,(function(e,t){return h(e,t,"$$")})),"keyword";if(e.match("$"))return a(n,(function(e,t){return h(e,t,"$")})),"keyword";var u=e.next();return"%"==u?(e.skipToEnd(),"comment"):"}"==u||"]"==u?(s=i(n))?(s.closeBracket(u),a(n,c),"bracket"):"error":"{"==u||"["==u?(t(n,s=new(s=o.DEFAULT)),"bracket"):/\d/.test(u)?(e.eatWhile(/[\w.%]/),"atom"):(e.eatWhile(/[\w\-_]/),"begin"==(s=r(n)).name&&(s.argument=e.current()),s.styleIdentifier())}function h(e,t,i){if(e.eatSpace())return null;if(i&&e.match(i))return a(t,l),"keyword";if(e.match(/^\\[a-zA-Z@]+/))return"tag";if(e.match(/^[a-zA-Z]+/))return"variableName.special";if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/]/))return"tag";if(e.match(/^[\^_&]/))return"tag";if(e.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(e.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var n=e.next();return"{"==n||"}"==n||"["==n||"]"==n||"("==n||")"==n?"bracket":"%"==n?(e.skipToEnd(),"comment"):"error"}function c(e,t){var r=e.peek();return"{"==r||"["==r?(i(t).openBracket(r),e.eat(r),a(t,l),"bracket"):/[ \t\r]/.test(r)?(e.eat(r),null):(a(t,l),n(t),l(e,t))}return o.importmodule=s("importmodule","tag",["string","builtin"]),o.documentclass=s("documentclass","tag",["","atom"]),o.usepackage=s("usepackage","tag",["atom"]),o.begin=s("begin","tag",["atom"]),o.end=s("end","tag",["atom"]),o.label=s("label","tag",["atom"]),o.ref=s("ref","tag",["atom"]),o.eqref=s("eqref","tag",["atom"]),o.cite=s("cite","tag",["atom"]),o.bibitem=s("bibitem","tag",["atom"]),o.Bibitem=s("Bibitem","tag",["atom"]),o.RBibitem=s("RBibitem","tag",["atom"]),o.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}},{name:"stex",startState:function(){return{cmdState:[],f:e?function(e,t){return h(e,t)}:l}},copyState:function(e){return{cmdState:e.cmdState.slice(),f:e.f}},token:function(e,t){return t.f(e,t)},blankLine:function(e){e.f=l,e.cmdState.length=0},languageData:{commentTokens:{line:"%"}}}}const vy=Qy(!1);Qy(!0);var wy=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});class $y extends OS{getExtensions(e){return wy(this,null,(function*(){return[Pu.define(vy)]}))}serialize(){return this.editor.content}}const ky=54,Py=1,Ty=55,Ay=2,Cy=56,Wy=3,Zy=4,Vy=5,Xy=6,_y=7,Ry=8,My=9,qy=10,Iy=11,Ey=57,Dy=12,Uy=58,Yy=18,zy=20,Ly=21,By=22,Ny=24,jy=25,Gy=27,Fy=30,Hy=33,Jy=35,Ky=36,ex=0,tx={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},ix={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},nx={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function rx(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function sx(e){return 9==e||10==e||13==e||32==e}let ox=null,ax=null,lx=0;function hx(e,t){let i=e.pos+t;if(lx==i&&ax==e)return ox;let n=e.peek(t);for(;sx(n);)n=e.peek(++t);let r="";for(;rx(n);)r+=String.fromCharCode(n),n=e.peek(++t);return ax=e,lx=i,ox=r?r.toLowerCase():n==dx||n==px?void 0:null}const cx=60,ux=62,fx=47,dx=63,px=33,Ox=45;function mx(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;t<e.length;t++)this.hash+=(this.hash<<4)+e.charCodeAt(t)+(e.charCodeAt(t)<<8)}const gx=[Zy,Ry,Vy,Xy,_y],Sx=new El({start:null,shift:(e,t,i,n)=>gx.indexOf(t)>-1?new mx(hx(n,1)||"",e):e,reduce:(e,t)=>t==Yy&&e?e.parent:e,reuse(e,t,i,n){let r=t.type.id;return r==Zy||r==Jy?new mx(hx(n,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),bx=new kl((e,t)=>{if(e.next!=cx)return void(e.next<0&&t.context&&e.acceptToken(Ey));e.advance();let i=e.next==fx;i&&e.advance();let n=hx(e,0);if(void 0===n)return;if(!n)return e.acceptToken(i?Dy:Zy);let r=t.context?t.context.name:null;if(i){if(n==r)return e.acceptToken(My);if(r&&ix[r])return e.acceptToken(Ey,-2);if(t.dialectEnabled(ex))return e.acceptToken(qy);for(let e=t.context;e;e=e.parent)if(e.name==n)return;e.acceptToken(Iy)}else{if("script"==n)return e.acceptToken(Vy);if("style"==n)return e.acceptToken(Xy);if("textarea"==n)return e.acceptToken(_y);if(tx.hasOwnProperty(n))return e.acceptToken(Ry);r&&nx[r]&&nx[r][n]?e.acceptToken(Ey,-1):e.acceptToken(Zy)}},{contextual:!0}),yx=new kl(e=>{for(let t=0,i=0;;i++){if(e.next<0){i&&e.acceptToken(Uy);break}if(e.next==Ox)t++;else{if(e.next==ux&&t>=2){i>3&&e.acceptToken(Uy,-2);break}t=0}e.advance()}});function xx(e,t,i){let n=2+e.length;return new kl(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(t);break}if(0==s&&r.next==cx||1==s&&r.next==fx||s>=2&&s<n&&r.next==e.charCodeAt(s-2))s++,o++;else if(2!=s&&s!=n||!sx(r.next)){if(s==n&&r.next==ux){a>o?r.acceptToken(t,-o):r.acceptToken(i,-(o-2));break}if((10==r.next||13==r.next)&&a){r.acceptToken(t,1);break}s=o=0}else o++;r.advance()}})}const Qx=xx("script",ky,Py),vx=xx("style",Ty,Ay),wx=xx("textarea",Cy,Wy),$x=Jl({"Text RawText":xh.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":xh.angleBracket,TagName:xh.tagName,"MismatchedCloseTag/TagName":[xh.tagName,xh.invalid],AttributeName:xh.attributeName,"AttributeValue UnquotedAttributeValue":xh.attributeValue,Is:xh.definitionOperator,"EntityReference CharacterReference":xh.character,Comment:xh.blockComment,ProcessingInst:xh.processingInstruction,DoctypeDecl:xh.documentMeta}),kx=Dl.deserialize({version:14,states:",xOVOxOOO!WQ!bO'#CoO!]Q!bO'#CyO!bQ!bO'#C|O!gQ!bO'#DPO!lQ!bO'#DRO!qOXO'#CnO!|OYO'#CnO#XO[O'#CnO$eOxO'#CnOOOW'#Cn'#CnO$lO!rO'#DTO$tQ!bO'#DVO$yQ!bO'#DWOOOW'#Dk'#DkOOOW'#DY'#DYQVOxOOO%OQ#tO,59ZO%WQ#tO,59eO%`Q#tO,59hO%hQ#tO,59kO%sQ#tO,59mOOOX'#D^'#D^O%{OXO'#CwO&WOXO,59YOOOY'#D_'#D_O&`OYO'#CzO&kOYO,59YOOO['#D`'#D`O&sO[O'#C}O'OO[O,59YOOOW'#Da'#DaO'WOxO,59YO'_Q!bO'#DQOOOW,59Y,59YOOO`'#Db'#DbO'dO!rO,59oOOOW,59o,59oO'lQ!bO,59qO'qQ!bO,59rOOOW-E7W-E7WO'vQ#tO'#CqOOQO'#DZ'#DZO(UQ#tO1G.uOOOX1G.u1G.uO(^Q#tO1G/POOOY1G/P1G/PO(fQ#tO1G/SOOO[1G/S1G/SO(nQ#tO1G/VOOOW1G/V1G/VOOOW1G/X1G/XO(yQ#tO1G/XOOOX-E7[-E7[O)RQ!bO'#CxOOOW1G.t1G.tOOOY-E7]-E7]O)WQ!bO'#C{OOO[-E7^-E7^O)]Q!bO'#DOOOOW-E7_-E7_O)bQ!bO,59lOOO`-E7`-E7`OOOW1G/Z1G/ZOOOW1G/]1G/]OOOW1G/^1G/^O)gQ&jO,59]OOQO-E7X-E7XOOOX7+$a7+$aOOOY7+$k7+$kOOO[7+$n7+$nOOOW7+$q7+$qOOOW7+$s7+$sO)rQ!bO,59dO)wQ!bO,59gO)|Q!bO,59jOOOW1G/W1G/WO*RO,UO'#CtO*dO7[O'#CtOOQO1G.w1G.wOOOW1G/O1G/OOOOW1G/R1G/ROOOW1G/U1G/UOOOO'#D['#D[O*uO,UO,59`OOQO,59`,59`OOOO'#D]'#D]O+WO7[O,59`OOOO-E7Y-E7YOOQO1G.z1G.zOOOO-E7Z-E7Z",stateData:"+u~O!^OS~OSSOTPOUQOVROWTOY]OZ[O[^O^^O_^O`^Oa^Ox^O{_O!dZO~OdaO~OdbO~OdcO~OddO~OdeO~O!WfOPkP!ZkP~O!XiOQnP!ZnP~O!YlORqP!ZqP~OSSOTPOUQOVROWTOXqOY]OZ[O[^O^^O_^O`^Oa^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OdvO~OdwO~OfyOj|O~OfyOj!OO~OfyOj!QO~OfyOj!SOv!TO~OfyOj!TO~O!WfOPkX!ZkX~OP!WO!Z!XO~O!XiOQnX!ZnX~OQ!ZO!Z!XO~O!YlORqX!ZqX~OR!]O!Z!XO~O!Z!XO~P#dOd!_O~O![sO!e!aO~Oj!bO~Oj!cO~Og!dOfeXjeXveX~OfyOj!fO~OfyOj!gO~OfyOj!hO~OfyOj!iOv!jO~OfyOj!jO~Od!kO~Od!lO~Od!mO~Oj!nO~Oi!qO!`!oO!b!pO~Oj!rO~Oj!sO~Oj!tO~O_!uO`!uOa!uO!`!wO!a!uO~O_!xO`!xOa!xO!b!wO!c!xO~O_!uO`!uOa!uO!`!{O!a!uO~O_!xO`!xOa!xO!b!{O!c!xO~Ov~vj`!dx{_a_~",goto:"%p!`PPPPPPPPPPPPPPPPPP!a!gP!mPP!yPP!|#P#S#Y#]#`#f#i#l#r#xP!aP!a!aP$O$U$l$r$x%O%U%[%bPPPPPPPP%hX^OX`pXUOX`pezabcde{}!P!R!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ}bQ!PcQ!RdQ!UeZ!e{}!P!R!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue EndTag ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag SelfClosingEndTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Sx,nodeProps:[["closedBy",-10,1,2,3,5,6,7,8,9,10,11,"EndTag",4,"EndTag SelfClosingEndTag",-4,19,29,32,35,"CloseTag"],["group",-9,12,15,16,17,18,39,40,41,42,"Entity",14,"Entity TextContent",-3,27,30,33,"TextContent Entity"],["openedBy",26,"StartTag StartCloseTag",-4,28,31,34,36,"OpenTag",38,"StartTag"]],propSources:[$x],skippedNodes:[0],repeatNodeCount:9,tokenData:"#(r!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs4ysv-_vw5iwxJ^x}-_}!OKP!O!P-_!P!Q!!O!Q![-_![!]!$c!]!^-_!^!_!(k!_!`#'S!`!a#'z!a!c-_!c!}!$c!}#R-_#R#S!$c#S#T3V#T#o!$c#o#s-_#s$f$q$f%W-_%W%o!$c%o%p-_%p&a!$c&a&b-_&b1p!$c1p4U-_4U4d!$c4d4e-_4e$IS!$c$IS$I`-_$I`$Ib!$c$Ib$Kh-_$Kh%#t!$c%#t&/x-_&/x&Et!$c&Et&FV-_&FV;'S!$c;'S;:j!(e;:j;=`4s<%l?&r-_?&r?Ah!$c?Ah?BY$q?BY?Mn!$c?MnO$q!Z$|c^PiW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!a&X!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!R&bX^P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&Xq'UV^P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}P'pT^POv'kw!^'k!_;'S'k;'S;=`(P<%lO'kP(SP;=`<%l'kp([S!cpOv(Vx;'S(V;'S;=`(h<%lO(Vp(kP;=`<%l(Vq(qP;=`<%l&}a({W^P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t`)jT!a`Or)esv)ew;'S)e;'S;=`)y<%lO)e`)|P;=`<%l)ea*SP;=`<%l(t!Q*^V!a`!cpOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!Q*vP;=`<%l*V!R*|P;=`<%l&XW+UYiWOX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+PW+wP;=`<%l+P!Z+}P;=`<%l$q!a,]`^P!a`!cp!^^OX&XXY,QYZ,QZ]&X]^,Q^p&Xpq,Qqr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!_-ljfS^PiW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_1n!_!a&X!a#S-_#S#T3V#T#s-_#s$f$q$f;'S-_;'S;=`4s<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ecfSiWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!^!_0p!a#S/^#S#T0p#T#s/^#s$f+P$f;'S/^;'S;=`1h<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0uXfSqr0psw0px!P0p!Q!_0p!a#s0p$f;'S0p;'S;=`1b<%l?Ah0p?BY?Mn0pS1eP;=`<%l0p[1kP;=`<%l/^!U1wbfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!U3SP;=`<%l1n!V3bcfS^P!a`!cpOq&Xqr3Vrs&}sv3Vvw0pwx(tx!P3V!P!Q&X!Q!^3V!^!_1n!_!a&X!a#s3V#s$f&X$f;'S3V;'S;=`4m<%l?Ah3V?Ah?BY&X?BY?Mn3V?MnO&X!V4pP;=`<%l3V!_4vP;=`<%l-_!Z5SV!`h^P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_5rjfSiWa!ROX7dXZ8qZ[7d[^8q^p7dqr:crs8qst@Ttw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^/^!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!Z7ibiWOX7dXZ8qZ[7d[^8q^p7dqr7drs8qst+Ptw7dwx8qx!]7d!]!^9f!^!a8q!a#S7d#S#T8q#T;'S7d;'S;=`:]<%lO7d!R8tVOp8qqs8qt!]8q!]!^9Z!^;'S8q;'S;=`9`<%lO8q!R9`O_!R!R9cP;=`<%l8q!Z9mYiW_!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z:`P;=`<%l7d!_:jjfSiWOX7dXZ8qZ[7d[^8q^p7dqr:crs8qst/^tw:cwx8qx!P:c!P!Q7d!Q!]:c!]!^<[!^!_=p!_!a8q!a#S:c#S#T=p#T#s:c#s$f7d$f;'S:c;'S;=`?}<%l?Ah:c?Ah?BY7d?BY?Mn:c?MnO7d!_<ecfSiW_!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!^!_0p!a#S/^#S#T0p#T#s/^#s$f+P$f;'S/^;'S;=`1h<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V=udfSOp8qqr=prs8qst0ptw=pwx8qx!P=p!P!Q8q!Q!]=p!]!^?T!^!_=p!_!a8q!a#s=p#s$f8q$f;'S=p;'S;=`?w<%l?Ah=p?Ah?BY8q?BY?Mn=p?MnO8q!V?[XfS_!Rqr0psw0px!P0p!Q!_0p!a#s0p$f;'S0p;'S;=`1b<%l?Ah0p?BY?Mn0p!V?zP;=`<%l=p!_@QP;=`<%l:c!_@[ifSiWOXAyXZCTZ[Ay[^CT^pAyqrDrrsCTswDrwxCTx!PDr!P!QAy!Q!]Dr!]!^/^!^!_G|!_!aCT!a#SDr#S#TG|#T#sDr#s$fAy$f;'SDr;'S;=`JW<%l?AhDr?Ah?BYAy?BY?MnDr?MnOAy!ZBOaiWOXAyXZCTZ[Ay[^CT^pAyqrAyrsCTswAywxCTx!]Ay!]!^Cu!^!aCT!a#SAy#S#TCT#T;'SAy;'S;=`Dl<%lOAy!RCWUOpCTq!]CT!]!^Cj!^;'SCT;'S;=`Co<%lOCT!RCoO`!R!RCrP;=`<%lCT!ZC|YiW`!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZDoP;=`<%lAy!_DyifSiWOXAyXZCTZ[Ay[^CT^pAyqrDrrsCTswDrwxCTx!PDr!P!QAy!Q!]Dr!]!^Fh!^!_G|!_!aCT!a#SDr#S#TG|#T#sDr#s$fAy$f;'SDr;'S;=`JW<%l?AhDr?Ah?BYAy?BY?MnDr?MnOAy!_FqcfSiW`!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!^!_0p!a#S/^#S#T0p#T#s/^#s$f+P$f;'S/^;'S;=`1h<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VHRcfSOpCTqrG|rsCTswG|wxCTx!PG|!P!QCT!Q!]G|!]!^I^!^!_G|!_!aCT!a#sG|#s$fCT$f;'SG|;'S;=`JQ<%l?AhG|?Ah?BYCT?BY?MnG|?MnOCT!VIeXfS`!Rqr0psw0px!P0p!Q!_0p!a#s0p$f;'S0p;'S;=`1b<%l?Ah0p?BY?Mn0p!VJTP;=`<%lG|!_JZP;=`<%lDr!ZJgW!bx^P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aK^lfS^PiW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMU!O!P-_!P!Q$q!Q!^-_!^!_1n!_!a&X!a#S-_#S#T3V#T#s-_#s$f$q$f;'S-_;'S;=`4s<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aMckfS^PiW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_1n!_!`&X!`!a! W!a#S-_#S#T3V#T#s-_#s$f$q$f;'S-_;'S;=`4s<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!T! cX^P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!a!!Zd^PiW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr$qrs&}sv$qvw+Pwx(tx!^$q!^!_*V!_!`&X!`!a!#i!a#S$q#S#T&X#T;'S$q;'S;=`+z<%lO$q!X!#vX^P!a`!cpvSjUOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!a!$r!ZfSdQ^PiW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!O!$c!O!P!$c!P!Q$q!Q![!$c![!]!$c!]!^-_!^!_1n!_!a&X!a!c-_!c!}!$c!}#R-_#R#S!$c#S#T3V#T#o!$c#o#s-_#s$f$q$f$}-_$}%O!$c%O%W-_%W%o!$c%o%p-_%p&a!$c&a&b-_&b1p!$c1p4U!$c4U4d!$c4d4e-_4e$IS!$c$IS$I`-_$I`$Ib!$c$Ib$Je-_$Je$Jg!$c$Jg$Kh-_$Kh%#t!$c%#t&/x-_&/x&Et!$c&Et&FV-_&FV;'S!$c;'S;:j!(e;:j;=`4s<%l?&r-_?&r?Ah!$c?Ah?BY$q?BY?Mn!$c?MnO$q!a!(hP;=`<%l!$c!V!(tcfS!a`!cpOq*Vqr!*Prs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!b!H^!b#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!*YhfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex}1n}!O!+t!O!P1n!P!Q*V!Q!_1n!_!a*V!a!f1n!f!g!.p!g#W1n#W#X!?^#X#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!+}dfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex}1n}!O!-]!O!P1n!P!Q*V!Q!_1n!_!a*V!a#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!-hbfS!a`!cp!dPOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!.ydfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!q1n!q!r!0X!r#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!0bdfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!e1n!e!f!1p!f#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!1ydfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!v1n!v!w!3X!w#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!3bdfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!{1n!{!|!4p!|#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!4ydfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!r1n!r!s!6X!s#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!6bdfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a!g1n!g!h!7p!h#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!7ycfS!a`!cpOq!9Uqr!7prs!9{sv!7pvw!=swx!;ox!P!7p!P!Q!9U!Q!_!7p!_!`!9U!`!a!<}!a#s!7p#s$f!9U$f;'S!7p;'S;=`!?W<%l?Ah!7p?Ah?BY!9U?BY?Mn!7p?MnO!9U!R!9]Y!a`!cpOr!9Urs!9{sv!9Uvw!:gwx!;ox!`!9U!`!a!<}!a;'S!9U;'S;=`!=m<%lO!9Uq!:QV!cpOv!9{vx!:gx!`!9{!`!a!;U!a;'S!9{;'S;=`!;i<%lO!9{P!:jTO!`!:g!`!a!:y!a;'S!:g;'S;=`!;O<%lO!:gP!;OO{PP!;RP;=`<%l!:gq!;]S!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!;lP;=`<%l!9{a!;tX!a`Or!;ors!:gsv!;ovw!:gw!`!;o!`!a!<a!a;'S!;o;'S;=`!<w<%lO!;oa!<hT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!<zP;=`<%l!;o!R!=WV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!=pP;=`<%l!9UT!=xbfSOq!:gqr!=srs!:gsw!=swx!:gx!P!=s!P!Q!:g!Q!_!=s!_!`!:g!`!a!:y!a#s!=s#s$f!:g$f;'S!=s;'S;=`!?Q<%l?Ah!=s?Ah?BY!:g?BY?Mn!=s?MnO!:gT!?TP;=`<%l!=s!V!?ZP;=`<%l!7p!V!?gdfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#c1n#c#d!@u#d#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!AOdfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#V1n#V#W!B^#W#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!BgdfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#h1n#h#i!Cu#i#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!DOdfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#m1n#m#n!E^#n#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!EgdfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#d1n#d#e!Fu#e#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!GOdfS!a`!cpOq*Vqr1nrs(Vsv1nvw0pwx)ex!P1n!P!Q*V!Q!_1n!_!a*V!a#X1n#X#Y!7p#Y#s1n#s$f*V$f;'S1n;'S;=`3P<%l?Ah1n?Ah?BY*V?BY?Mn1n?MnO*V!V!HgcfS!a`!cpOq!Irqr!H^rs!Jisv!H^vw#!vwx!MZx!P!H^!P!Q!Ir!Q!_!H^!_!a!Ir!a!b#%h!b#s!H^#s$f!Ir$f;'S!H^;'S;=`#&|<%l?Ah!H^?Ah?BY!Ir?BY?Mn!H^?MnO!Ir!R!IyY!a`!cpOr!Irrs!Jisv!Irvw!KTwx!MZx!a!Ir!a!b# Z!b;'S!Ir;'S;=`#!p<%lO!Irq!JnV!cpOv!Jivx!KTx!a!Ji!a!b!LU!b;'S!Ji;'S;=`!MT<%lO!JiP!KWTO!a!KT!a!b!Kg!b;'S!KT;'S;=`!LO<%lO!KTP!KjTO!`!KT!`!a!Ky!a;'S!KT;'S;=`!LO<%lO!KTP!LOOxPP!LRP;=`<%l!KTq!LZV!cpOv!Jivx!KTx!`!Ji!`!a!Lp!a;'S!Ji;'S;=`!MT<%lO!Jiq!LwS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!MWP;=`<%l!Jia!M`X!a`Or!MZrs!KTsv!MZvw!KTw!a!MZ!a!b!M{!b;'S!MZ;'S;=`# T<%lO!MZa!NQX!a`Or!MZrs!KTsv!MZvw!KTw!`!MZ!`!a!Nm!a;'S!MZ;'S;=`# T<%lO!MZa!NtT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea# WP;=`<%l!MZ!R# bY!a`!cpOr!Irrs!Jisv!Irvw!KTwx!MZx!`!Ir!`!a#!Q!a;'S!Ir;'S;=`#!p<%lO!Ir!R#!ZV!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R#!sP;=`<%l!IrT#!{bfSOq!KTqr#!vrs!KTsw#!vwx!KTx!P#!v!P!Q!KT!Q!_#!v!_!a!KT!a!b#$T!b#s#!v#s$f!KT$f;'S#!v;'S;=`#%b<%l?Ah#!v?Ah?BY!KT?BY?Mn#!v?MnO!KTT#$YbfSOq!KTqr#!vrs!KTsw#!vwx!KTx!P#!v!P!Q!KT!Q!_#!v!_!`!KT!`!a!Ky!a#s#!v#s$f!KT$f;'S#!v;'S;=`#%b<%l?Ah#!v?Ah?BY!KT?BY?Mn#!v?MnO!KTT#%eP;=`<%l#!v!V#%qcfS!a`!cpOq!Irqr!H^rs!Jisv!H^vw#!vwx!MZx!P!H^!P!Q!Ir!Q!_!H^!_!`!Ir!`!a#!Q!a#s!H^#s$f!Ir$f;'S!H^;'S;=`#&|<%l?Ah!H^?Ah?BY!Ir?BY?Mn!H^?MnO!Ir!V#'PP;=`<%l!H^!V#'_XgS^P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!X#(VX^P!a`!cpjUOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[Qx,vx,wx,bx,yx,0,1,2,3,4,5],topRules:{Document:[0,13]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function Px(e,t){let i=Object.create(null);for(let n of e.getChildren(Ly)){let e=n.getChild(By),r=n.getChild(Ny)||n.getChild(jy);e&&(i[t.read(e.from,e.to)]=r?r.type.id==Ny?t.read(r.from+1,r.to-1):t.read(r.from,r.to):"")}return i}function Tx(e,t){let i=e.getChild(zy);return i?t.read(i.from,i.to):" "}function Ax(e,t,i){let n;for(let r of i)if(!r.attrs||r.attrs(n||(n=Px(e.node.parent.firstChild,t))))return{parser:r.parser};return null}function Cx(e=[],t=[]){let i=[],n=[],r=[],s=[];for(let t of e){("script"==t.tag?i:"style"==t.tag?n:"textarea"==t.tag?r:s).push(t)}let o=t.length?Object.create(null):null;for(let e of t)(o[e.name]||(o[e.name]=[])).push(e);return rl((e,t)=>{let a=e.type.id;if(a==Gy)return Ax(e,t,i);if(a==Fy)return Ax(e,t,n);if(a==Hy)return Ax(e,t,r);if(a==Jy&&s.length){let i,n=e.node,r=Tx(n,t);for(let o of s)if(o.tag==r&&(!o.attrs||o.attrs(i||(i=Px(n,t))))){let t=n.parent.lastChild;return{parser:o.parser,overlay:[{from:e.to,to:t.type.id==Ky?t.from:n.parent.to}]}}}if(o&&a==Ly){let i,n=e.node;if(i=n.firstChild){let e=o[t.read(i.from,i.to)];if(e)for(let i of e){if(i.tagName&&i.tagName!=Tx(n.parent,t))continue;let e=n.lastChild;if(e.type.id==Ny)return{parser:i.parser,overlay:[{from:e.from+1,to:e.to-1}]};if(e.type.id==jy)return{parser:i.parser,overlay:[{from:e.from,to:e.to}]}}}}return null})}const Wx=294,Zx=1,Vx=2,Xx=295,_x=3,Rx=296,Mx=297,qx=299,Ix=300,Ex=4,Dx=5,Ux=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Yx=125,zx=123,Lx=59,Bx=47,Nx=42,jx=43,Gx=45,Fx=36,Hx=96,Jx=92,Kx=new El({start:!1,shift:(e,t)=>t==Ex||t==Dx||t==qx?e:t==Ix,strict:!1}),eQ=new kl((e,t)=>{let{next:i}=e;(i==Yx||-1==i||t.context)&&t.canShift(Mx)&&e.acceptToken(Mx)},{contextual:!0,fallback:!0}),tQ=new kl((e,t)=>{let i,{next:n}=e;Ux.indexOf(n)>-1||(n!=Bx||(i=e.peek(1))!=Bx&&i!=Nx)&&n!=Yx&&n!=Lx&&-1!=n&&!t.context&&t.canShift(Wx)&&e.acceptToken(Wx)},{contextual:!0}),iQ=new kl((e,t)=>{let{next:i}=e;if((i==jx||i==Gx)&&(e.advance(),i==e.next)){e.advance();let i=!t.context&&t.canShift(Zx);e.acceptToken(i?Zx:Vx)}},{contextual:!0}),nQ=new kl(e=>{for(let t=!1,i=0;;i++){let{next:n}=e;if(n<0){i&&e.acceptToken(Xx);break}if(n==Hx){i?e.acceptToken(Xx):e.acceptToken(Rx,1);break}if(n==zx&&t){1==i?e.acceptToken(_x,1):e.acceptToken(Xx,-1);break}if(10==n&&i){e.advance(),e.acceptToken(Xx);break}n==Jx&&e.advance(),t=n==Fx,e.advance()}}),rQ=Jl({"get set async static":xh.modifier,"for while do if else switch try catch finally return throw break continue default case":xh.controlKeyword,"in of await yield void typeof delete instanceof":xh.operatorKeyword,"let var const function class extends":xh.definitionKeyword,"import export from":xh.moduleKeyword,"with debugger as new":xh.keyword,TemplateString:xh.special(xh.string),super:xh.atom,BooleanLiteral:xh.bool,this:xh.self,null:xh.null,Star:xh.modifier,VariableName:xh.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":xh.function(xh.variableName),VariableDefinition:xh.definition(xh.variableName),Label:xh.labelName,PropertyName:xh.propertyName,PrivatePropertyName:xh.special(xh.propertyName),"CallExpression/MemberExpression/PropertyName":xh.function(xh.propertyName),"FunctionDeclaration/VariableDefinition":xh.function(xh.definition(xh.variableName)),"ClassDeclaration/VariableDefinition":xh.definition(xh.className),PropertyDefinition:xh.definition(xh.propertyName),PrivatePropertyDefinition:xh.definition(xh.special(xh.propertyName)),UpdateOp:xh.updateOperator,LineComment:xh.lineComment,BlockComment:xh.blockComment,Number:xh.number,String:xh.string,ArithOp:xh.arithmeticOperator,LogicOp:xh.logicOperator,BitOp:xh.bitwiseOperator,CompareOp:xh.compareOperator,RegExp:xh.regexp,Equals:xh.definitionOperator,Arrow:xh.function(xh.punctuation),": Spread":xh.punctuation,"( )":xh.paren,"[ ]":xh.squareBracket,"{ }":xh.brace,"InterpolationStart InterpolationEnd":xh.special(xh.brace),".":xh.derefOperator,", ;":xh.separator,"@":xh.meta,TypeName:xh.typeName,TypeDefinition:xh.definition(xh.typeName),"type enum interface implements namespace module declare":xh.definitionKeyword,"abstract global Privacy readonly override":xh.modifier,"is keyof unique infer":xh.operatorKeyword,JSXAttributeValue:xh.attributeValue,JSXText:xh.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":xh.angleBracket,"JSXIdentifier JSXNameSpacedName":xh.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":xh.attributeName,"JSXBuiltin/JSXIdentifier":xh.standard(xh.tagName)}),sQ={__proto__:null,export:16,as:21,from:27,default:30,async:35,function:36,extends:46,this:50,true:58,false:58,null:68,void:72,typeof:76,super:92,new:126,await:143,yield:145,delete:146,class:156,public:211,private:211,protected:211,readonly:213,instanceof:232,satisfies:235,in:236,const:238,import:270,keyof:325,unique:329,infer:335,is:371,abstract:391,implements:393,type:395,let:398,var:400,interface:407,enum:411,namespace:417,module:419,declare:423,global:427,for:448,of:457,while:460,with:464,do:468,if:472,else:474,switch:478,case:484,try:490,catch:494,finally:498,return:502,throw:506,break:510,continue:514,debugger:518},oQ={__proto__:null,async:113,get:115,set:117,public:173,private:173,protected:173,static:175,abstract:177,override:179,readonly:185,accessor:187,new:375},aQ={__proto__:null,"<":133},lQ=Dl.deserialize({version:14,states:"$>lO`QYOOO$}QYOOO&}Q`OOO*_Q$IvO'#CgO*fOSO'#DYO,qQYO'#D_O-RQYO'#DjO$}QYO'#DtO/VQYO'#DzOOQ$IU'#ES'#ESO/mQWO'#EPOOQO'#IW'#IWO/uQWO'#GfOOQO'#Ed'#EdO0QQWO'#EcO0VQWO'#EcO2XQ$IvO'#JQO4xQ$IvO'#JRO5fQWO'#FRO5kQ!bO'#FjOOQ$IU'#FZ'#FZO5vO#tO'#FZO6UQ&jO'#FqO7iQWO'#FpOOQ$IU'#JR'#JROOQ$IS'#JQ'#JQOOQQ'#Jl'#JlO7nQWO'#HzO7sQ$I[O'#H{OOQQ'#Iu'#IuOOQQ'#IO'#IOQ`QYOOO$}QYO'#DlO7{QWO'#GfO8QQ&jO'#ClO8`QWO'#EbO8kQWO'#EmO8pQ&jO'#FYO9[QWO'#GfO9aQWO'#GjO9lQWO'#GjO9zQWO'#GmO9zQWO'#GnO9zQWO'#GpO7{QWO'#GsO:kQWO'#GvO;|QWO'#CcO<^QWO'#HTO<fQWO'#HZO<fQWO'#H]O`QYO'#H_O<fQWO'#HaO<fQWO'#HdO<kQWO'#HjO<pQ$I]O'#HpO$}QYO'#HrO<{Q$I]O'#HtO=WQ$I]O'#HvO7sQ$I[O'#HxO=cQ$IvO'#CgO>PQ`O'#DdQOQWOOO>tQWO'#D{O8QQ&jO'#EbO?PQWO'#EbO?[QpO'#FYOOQO'#Ce'#CeOOQ$IS'#Di'#DiOOQ$IS'#JU'#JUO$}QYO'#JUO@bQ`O'#EZOOQ$IS'#EY'#EYO@lQ$IdO'#EZOAWQ`O'#EOOOQO'#JX'#JXOAiQ`O'#EOOAvQ`O'#EZOB^Q`O'#EaOBaQ`O'#EZO?dQ`O'#EZOAWQ`O'#EZO$}QYO'#DZOOOS'#IQ'#IQOBzOSO,59tOOQ$IU,59t,59tOCVQYO'#IROCjQWO'#JSOElQrO'#JSO*qQYO'#JSOEsQWO,59yOFZQWO'#EdOFhQWO'#JaOFsQWO'#J`OFsQWO'#J`OF{QWO,5;QOGQQWO'#J_OOQ$IU,5:U,5:UOGXQYO,5:UOIYQ$IvO,5:`OIyQWO,5:fOJOQWO'#J]OJxQ$I[O'#J^O9aQWO'#J]OKPQWO'#J]OKXQWO,5;POK^QWO'#J]OOQ$IU'#Cg'#CgO$}QYO'#DzOLQQpO,5:kOOQO'#JY'#JYOOQO-E<U-E<UO7{QWO,5=QOLhQWO,5=QOLmQYO,5:}ONmQ&jO'#E_O! }QWO,5:}O!#dQ&jO'#DnO!#kQYO'#DsO!#uQ`O,5;WO!#}Q`O,5;WO$}QYO,5;WOOQQ'#Ey'#EyOOQQ'#E{'#E{O$}QYO,5;XO$}QYO,5;XO$}QYO,5;XO$}QYO,5;XO$}QYO,5;XO$}QYO,5;XO$}QYO,5;XO$}QYO,5;XO$}QYO,5;XO$}QYO,5;XO$}QYO,5;XOOQQ'#FP'#FPO!$]QYO,5;jOOQ$IU,5;o,5;oOOQ$IU,5;p,5;pO!&]QWO,5;pOOQ$IU,5;q,5;qO$}QYO'#I^O!&eQ$I[O,5<^ONmQ&jO,5;XO!'SQ&jO,5;XO$}QYO,5;mO!'ZQ!bO'#F`O!(WQ!bO'#JeO!'rQ!bO'#JeO!(_Q!bO'#JeOOQO'#Je'#JeO!(sQ!bO,5;xOOOO,5<U,5<UO!)UQYO'#FlOOOO'#I]'#I]O5vO#tO,5;uO!)]Q!bO'#FnOOQ$IU,5;u,5;uO!)|Q,UO'#CrOOQ$IU'#Cv'#CvO!*aQWO'#CvO!*fOSO'#CzO!+SQ&jO,5<ZO!+ZQWO,5<]O!,mQ7[O'#F{O!,zQWO'#F|O!-PQWO'#F|O!-UQ7[O'#GQO!.TQ`O'#GUO!.vQ,UO'#I}OOQ$IU'#I}'#I}O!/QQWO'#I|O!/`QWO'#I{O!/hQWO'#CqOOQ$IU'#Ct'#CtOOQ$IU'#C}'#C}OOQ$IU'#DP'#DPO/pQWO'#DRO!!SQ&jO'#FsO!!SQ&jO'#FuO!/pQWO'#FwO!/uQWO'#FxO!-PQWO'#GOO!!SQ&jO'#GTO!/zQWO'#EeO!0fQWO,5<[O`QYO,5>fOOQQ'#Ix'#IxOOQQ,5>g,5>gOOQQ-E;|-E;|O!2eQ$IvO,5:WOOQ$IS'#Co'#CoO!3XQ&jO,5=QO!3gQ$I[O'#IyO7iQWO'#IyO<kQWO,59WO!3xQ`O,59WO!4QQ&jO,59WO8QQ&jO,59WO!4]QWO,5:}O!4eQWO'#HSO!4sQWO'#JpO$}QYO,5;rO!4{Q`O,5;tO!5QQWO,5=mO!5VQWO,5=mO!5[QWO,5=mO7sQ$I[O,5=mO!5jQWO'#EfO!6aQ`O'#EgOOQ$IS'#J_'#J_O!6hQ$I[O'#JmO7sQ$I[O,5=UO9zQWO,5=[OOQO'#Cr'#CrO!6sQ`O,5=XO!6{Q&jO,5=YO!7WQWO,5=[O!7]QpO,5=_O<kQWO'#GxO7{QWO'#GzO!7eQWO'#GzO8QQ&jO'#G}O!7jQWO'#G}OOQQ,5=b,5=bO!7oQWO'#HOO!7wQWO'#ClO!7|QWO,58}O!8WQWO,58}O!:]QYO,58}OOQQ,58},58}O!:jQ$I[O,58}O$}QYO,58}O!:uQYO'#HVOOQQ'#HW'#HWOOQQ'#HX'#HXO`QYO,5=oO!;VQWO,5=oO`QYO,5=uO`QYO,5=wO!;[QWO,5=yO`QYO,5={O!;aQWO,5>OO!;fQYO,5>UOOQQ,5>[,5>[O$}QYO,5>[O7sQ$I[O,5>^OOQQ,5>`,5>`O!?jQWO,5>`OOQQ,5>b,5>bO!?jQWO,5>bOOQQ,5>d,5>dO!?oQ`O'#DWO$}QYO'#JUO!@^Q`O'#JUO!@{Q`O'#DeO!A^Q`O'#DeO!CiQYO'#DeO!CpQWO'#JTO!CxQWO,5:OO!C}QWO'#EhO!D]QWO'#JbO!DeQWO,5;RO!D{Q`O'#DeO!EVQ`O'#D}OOQ$IU,5:g,5:gO$}QYO,5:gO!E^QWO,5:gO<kQWO,5:|O!3xQ`O,5:|O!4QQ&jO,5:|O8QQ&jO,5:|O!EfQWO,5?pO!EkQMhO,5:kO!FkQ$IdO,5:uOAWQ`O,5:jO!GVQ`O,5:jO!GdQ`O,5:uO!GzQ`O,5:uO!HeQ`O,5:uOAWQ`O,5:uO<kQWO,5:jOOQ$IS'#E^'#E^OOQO,5:u,5:uO$}QYO,5:uO!IUQ$I[O,5:uO!IaQ$I[O,5:uO!3xQ`O,5:jOOQO,5:{,5:{O!IoQ$I[O,5:uO!JTQpO,59uOOOS-E<O-E<OOOQ$IU1G/`1G/`O!JYQrO,5>mO*qQYO,5>mOOQO,5>s,5>sO!JdQYO'#IROOQO-E<P-E<PO!JqQWO,5?nO!JyQrO,5?nO!KQQWO,5?zOOQ$IU1G/e1G/eO$}QYO,5?{O!KYQWO'#IXOOQO-E<V-E<VO!KQQWO,5?zOOQ$IS1G0l1G0lOOQ$IU1G/p1G/pOOQ$IU1G0Q1G0QO!KnQWO,5?wO9aQWO,5?wO!KvQWO,5?wO$}QYO,5?xO!LUQ$I[O,5?xO!LgQ$I[O,5?xO!LnQWO'#IZO!KnQWO,5?wOOQ$IS1G0k1G0kO!#uQ`O,5:mO!$QQ`O,5:mOOQO,5:o,5:oO!M]QWO,5:oO!MeQ&jO1G2lO7{QWO1G2lOOQ$IU1G0i1G0iO!MsQ$IvO1G0iO!NxQ$ItO,5:yOOQ$IU'#Fz'#FzO# fQ$IvO'#I}OLmQYO1G0iO##nQ&jO'#JVO##xQWO,5:YO##}QrO'#JWO$}QYO'#JWO#$XQWO,5:_OOQ$IU'#DW'#DWOOQ$IU1G0r1G0rO$}QYO1G0rOOQ$IU1G1[1G1[O#$^QWO1G0rO#&uQ$IvO1G0sO#&|Q$IvO1G0sO#)gQ$IvO1G0sO#)nQ$IvO1G0sO#+xQ$IvO1G0sO#,`Q$IvO1G0sO#/YQ$IvO1G0sO#/aQ$IvO1G0sO#1zQ$IvO1G0sO#2RQ$IvO1G0sO#3yQ$IvO1G0sO#6yQ!LSO'#CgO#8wQ!LSO1G1UO#:uQ!LSO'#JRO!&`QWO1G1[O#;YQ$IvO,5>xOOQ$IS-E<[-E<[O#;|Q$IvO1G0sOOQ$IU1G0s1G0sO#>XQ$IvO1G1XO#>{Q!bO,5;|O#?TQ!bO,5;}O#?]Q!bO'#FeO#?tQWO'#FdOOQO'#Jf'#JfOOQO'#I['#I[O#?yQ!bO1G1dOOQ$IU1G1d1G1dOOOO1G1o1G1oO#@[Q!LSO'#JQO#@fQWO,5<WO!$]QYO,5<WOOOO-E<Z-E<ZOOQ$IU1G1a1G1aO#@kQ`O'#JeOOQ$IU,5<Y,5<YO#@sQ`O,5<YOOQ$IU,59b,59bONmQ&jO'#C|OOOS'#IP'#IPO#@xOSO,59fOOQ$IU,59f,59fO$}QYO1G1uO!/uQWO'#I`O#ATQWO,5<nOOQ$IU,5<k,5<kOOQO'#Ga'#GaO!!SQ&jO,5<zOOQO'#Gc'#GcO!!SQ&jO,5<|ONmQ&jO,5=OOOQO1G1w1G1wO#A`QpO'#CoO#AsQpO,5<gO#AzQWO'#JiO7{QWO'#JiO#BYQWO,5<iO!!SQ&jO,5<hO#B_QWO'#F}O#BjQWO,5<hO#BoQpO'#FzO#B|QpO'#JjO#CWQWO'#JjONmQ&jO'#JjO#C]QWO,5<lO#CbQ`O'#GVO!.OQ`O'#GVO#CsQWO'#GXO#CxQWO'#GZO!-PQWO'#G^O#C}Q$I[O'#IbO#DYQ`O,5<pOOQ$IU,5<p,5<pO#DaQ`O'#GVO#DoQ`O'#GWO#DwQ`O'#GWOOQ$IU,5=P,5=PO!!SQ&jO,5?hO!!SQ&jO,5?hO#D|QWO'#IcO#EXQWO,5?gO#EaQWO,59]O#FQQ&jO,59mOOQ$IU,59m,59mO#FsQ&jO,5<_O#GfQ&jO,5<aO#GpQWO,5<cOOQ$IU,5<d,5<dO#GuQWO,5<jO#GzQ&jO,5<oOLmQYO1G1vO#H[QWO1G1vOOQQ1G4Q1G4QOOQ$IU1G/r1G/rO!&]QWO1G/rOOQQ1G2l1G2lONmQ&jO1G2lO$}QYO1G2lO#HaQWO1G2lO#IvQ&jO'#E_OOQ$IS,5?e,5?eO#JQQ$I[O,5?eOOQQ1G.r1G.rO<kQWO1G.rO!3xQ`O1G.rO!4QQ&jO1G.rO#JcQWO1G0iO#JhQWO'#CgO#JsQWO'#JqO#J{QWO,5=nO#KQQWO'#JqO#KVQWO'#JqO#K_QWO'#IkO#KmQWO,5@[O#KuQrO1G1^OOQ$IU1G1`1G1`O7{QWO1G3XO#K|QWO1G3XO#LRQWO1G3XO#LWQWO1G3XOOQQ1G3X1G3XO9aQWO'#J`O9aQWO'#EhO$}QYO'#EhO9aQWO'#IeO#L]Q$I[O,5@XOOQQ1G2p1G2pO!7WQWO1G2vONmQ&jO1G2sO#LhQWO1G2sOOQQ1G2t1G2tONmQ&jO1G2tO#LmQWO1G2tO#LuQ`O'#GrOOQQ1G2v1G2vO!.OQ`O'#IgO!7]QpO1G2yOOQQ1G2y1G2yOOQQ,5=d,5=dO#L}Q&jO,5=fO7{QWO,5=fO#CxQWO,5=iO7iQWO,5=iO!3xQ`O,5=iO!4QQ&jO,5=iO8QQ&jO,5=iO#M]QWO'#JoO#MhQWO,5=jOOQQ1G.i1G.iO#MmQ$I[O1G.iO#MxQWO1G.iO#M}QWO1G.iO7sQ$I[O1G.iO#NVQrO,5@^O#NjQWO,5@^O#NuQYO,5=qO#N|QWO,5=qO9aQWO,5@^OOQQ1G3Z1G3ZO`QYO1G3ZOOQQ1G3a1G3aOOQQ1G3c1G3cO<fQWO1G3eO$ RQYO1G3gO$%PQYO'#HfOOQQ1G3j1G3jO$%^QWO'#HlO<kQWO'#HnOOQQ1G3p1G3pO$%fQYO1G3pO7sQ$I[O1G3vOOQQ1G3x1G3xOOQ$IS'#GR'#GRO7sQ$I[O1G3zO7sQ$I[O1G3|O$)gQWO,5?pO!$]QYO,5;SO9aQWO,5;SO<kQWO,5:PO!$]QYO,5:PO!3xQ`O,5:PO$)lQ!LSO,5:POOQO,5;S,5;SO$)vQ`O'#ISO$*^QWO,5?oOOQ$IU1G/j1G/jO$*fQ`O'#IYO$*pQWO,5?|OOQ$IS1G0m1G0mO!A^Q`O,5:POOQO'#IV'#IVO$*xQ`O,5:iOOQ$IU,5:i,5:iO!EaQWO1G0ROOQ$IU1G0R1G0RO$}QYO1G0ROOQ$IU1G0h1G0hO<kQWO1G0hO!3xQ`O1G0hO!4QQ&jO1G0hOOQ$IS1G5[1G5[O<kQWO1G0UOOQO1G0a1G0aO$}QYO1G0aO$+PQ$I[O1G0aO$+[Q$I[O1G0aO!3xQ`O1G0UOAWQ`O1G0UO$+jQ$IdO1G0aO$,UQ`O1G0UOAWQ`O1G0aO$,cQ`O1G0aO$,yQ`O1G0aO$-dQ$I[O1G0aOOQO1G0U1G0UO$-xQ$IvO1G0aOOOS1G/a1G/aO$.SQpO,5<^O$.[QrO1G4XOOQO1G4_1G4_O$}QYO,5>mO$.fQWO1G5YO$.nQWO1G5fO$.vQrO1G5gO9aQWO,5>sO$/QQWO1G5cO$/QQWO1G5cO9aQWO1G5cO$/YQ$IvO1G5dO$}QYO1G5dO$/jQ$I[O1G5dO$/{QWO,5>uO9aQWO,5>uOOQO,5>u,5>uO$0aQWO,5>uOOQO-E<X-E<XOOQO1G0X1G0XOOQO1G0Z1G0ZO!&`QWO1G0ZOOQQ7+(W7+(WONmQ&jO7+(WO$}QYO7+(WO$0oQWO7+(WO$0zQ&jO7+(WO$1YQ$IvO,59mO$3bQ$IvO,5<_O$5mQ$IvO,5<aO$7xQ$IvO,5<oOOQ$IU7+&T7+&TO$:ZQ$IvO7+&TO$:}Q&jO'#ITO$;XQWO,5?qOOQ$IU1G/t1G/tO$;aQYO'#IUO$;nQWO,5?rO$;vQrO,5?rOOQ$IU1G/y1G/yO$<QQWO7+&^OOQ$IU7+&^7+&^O$<VQ!LSO,5:`O$}QYO7+&pO$<aQ!LSO,5:WOOQ$IU7+&v7+&vOOQO1G1h1G1hOOQO1G1i1G1iO$<nQ!bO,5<PO!$]QYO,5<OOOQO-E<Y-E<YOOQ$IU7+'O7+'OOOOO7+'Z7+'ZOOOO1G1r1G1rO$<yQWO1G1rOOQ$IU1G1t1G1tO$=OQpO,59hOOOS-E;}-E;}OOQ$IU1G/Q1G/QO$=VQ$IvO7+'aOOQ$IU,5>z,5>zO$=yQWO,5>zOOQ$IU1G2Y1G2YP$>OQWO'#I`POQ$IU-E<^-E<^O$>oQ&jO1G2fO$?bQ&jO1G2hO$?lQpO1G2jOOQ$IU1G2R1G2RO$?sQWO'#I_O$@RQWO,5@TO$@RQWO,5@TO$@ZQWO,5@TO$@fQWO,5@TOOQO1G2T1G2TO$@tQ&jO1G2SO!!SQ&jO1G2SO$AUQ7[O'#IaO$AfQWO,5@UONmQ&jO,5@UO$AnQpO,5@UOOQ$IU1G2W1G2WOOQ$IS,5<q,5<qOOQ$IS,5<r,5<rO$AxQWO,5<rOARQWO,5<rO!3xQ`O,5<qOOQO'#GY'#GYO$A}QWO,5<sOOQ$IS,5<u,5<uO$AxQWO,5<xOOQO,5>|,5>|OOQO-E<`-E<`OOQ$IU1G2[1G2[O!.OQ`O,5<qO$BVQWO,5<rO#CsQWO,5<sO!.OQ`O,5<rO$BbQ&jO1G5SO$BlQ&jO1G5SOOQO,5>},5>}OOQO-E<a-E<aOOQO1G.w1G.wO!4{Q`O,59oO$}QYO,59oO$ByQWO1G1}O!!SQ&jO1G2UO$COQ$IvO7+'bOOQ$IU7+'b7+'bOLmQYO7+'bOOQ$IU7+%^7+%^O$CrQpO'#JkO!EaQWO7+(WO$C|QrO7+(WO$0rQWO7+(WO$DTQ$ItO'#CgO$DhQ$ItO,5<vO$EYQWO,5<vOOQ$IS1G5P1G5POOQQ7+$^7+$^O<kQWO7+$^O!3xQ`O7+$^OLmQYO7+&TO$E_QWO'#IjO$EpQWO,5@]OOQO1G3Y1G3YO7{QWO,5@]O$EpQWO,5@]O$ExQWO,5@]OOQO,5?V,5?VOOQO-E<i-E<iOOQ$IU7+&x7+&xO$E}QWO7+(sO7sQ$I[O7+(sO7{QWO7+(sO$FSQWO7+(sO$FXQWO,5;SOOQ$IS,5?P,5?POOQ$IS-E<c-E<cOOQQ7+(b7+(bO$F^Q$ItO7+(_ONmQ&jO7+(_O$FhQpO7+(`OOQQ7+(`7+(`ONmQ&jO7+(`O$FoQWO'#JnO$FzQWO,5=^OOQO,5?R,5?ROOQO-E<e-E<eOOQQ7+(e7+(eO$HTQ`O'#G{OOQQ1G3Q1G3QONmQ&jO1G3QO$}QYO1G3QO$H[QWO1G3QO$HgQ&jO1G3QO7sQ$I[O1G3TO#CxQWO1G3TO7iQWO1G3TO!3xQ`O1G3TO!4QQ&jO1G3TO$HuQWO'#IiO$IQQWO,5@ZO$IYQ`O,5@ZOOQ$IS1G3U1G3UOOQQ7+$T7+$TO$IbQWO7+$TO7sQ$I[O7+$TO$IgQWO7+$TO$}QYO1G5xO$}QYO1G5yO$IlQYO1G3]O$IsQWO1G3]O$IxQYO1G3]O$JPQ$I[O1G5xOOQQ7+(u7+(uO7sQ$I[O7+)PO`QYO7+)ROOQQ'#Jt'#JtOOQQ'#Il'#IlO$JZQYO,5>QOOQQ,5>Q,5>QO$}QYO'#HgO$JhQWO'#HiOOQQ,5>W,5>WO9aQWO,5>WOOQQ,5>Y,5>YOOQQ7+)[7+)[OOQQ7+)b7+)bOOQQ7+)f7+)fOOQQ7+)h7+)hO$JmQ`O1G5[O$KRQ!LSO1G0nO$K]QWO1G0nOOQO1G/k1G/kO$KhQ!LSO1G/kO<kQWO1G/kO!$]QYO'#DeOOQO,5>n,5>nOOQO-E<Q-E<QOOQO,5>t,5>tOOQO-E<W-E<WO!3xQ`O1G/kOOQO-E<T-E<TOOQ$IU1G0T1G0TOOQ$IU7+%m7+%mO!EaQWO7+%mOOQ$IU7+&S7+&SO<kQWO7+&SO!3xQ`O7+&SOOQO7+%p7+%pO$-xQ$IvO7+%{OOQO7+%{7+%{O$}QYO7+%{O$KrQ$I[O7+%{O<kQWO7+%pO!3xQ`O7+%pO$K}Q$I[O7+%{OAWQ`O7+%pO$L]Q$I[O7+%{O$LqQ$IdO7+%{O$L{Q`O7+%pOAWQ`O7+%{O$MYQ`O7+%{O$MpQWO7+*}O$MpQWO7+*}O$MxQ$IvO7++OO$}QYO7++OOOQO1G4a1G4aO9aQWO1G4aO$NYQWO1G4aOOQO7+%u7+%uO!EaQWO<<KrO$C|QrO<<KrO$NhQWO<<KrOOQQ<<Kr<<KrONmQ&jO<<KrO$}QYO<<KrO$NpQWO<<KrO$N{Q$IvO1G2fO%#WQ$IvO1G2hO%%cQ$IvO1G2SO%'tQ&jO,5>oOOQO-E<R-E<RO%(OQrO,5>pO$}QYO,5>pOOQO-E<S-E<SO%(YQWO1G5^OOQ$IU<<Ix<<IxO%(bQ!LSO1G0iO%*lQ!LSO1G0sO%*sQ!LSO1G0sO%,wQ!LSO1G0sO%-OQ!LSO1G0sO%.sQ!LSO1G0sO%/ZQ!LSO1G0sO%1nQ!LSO1G0sO%1uQ!LSO1G0sO%3yQ!LSO1G0sO%4QQ!LSO1G0sO%5xQ!LSO1G0sO%6]Q$IvO<<J[O%7bQ!LSO1G0sO%9WQ!LSO'#I}O%;ZQ!LSO1G1XO!$]QYO'#FgOOQO'#Jg'#JgOOQO1G1k1G1kO%;hQWO1G1jO%;mQ!LSO,5>xOOOO7+'^7+'^OOOS1G/S1G/SOOQ$IU1G4f1G4fO!!SQ&jO7+(UO%;wQWO,5>yO7{QWO,5>yOOQO-E<]-E<]O%<VQWO1G5oO%<VQWO1G5oO%<_QWO1G5oO%<jQ&jO7+'nO%<zQpO,5>{O%=UQWO,5>{ONmQ&jO,5>{OOQO-E<_-E<_O%=ZQpO1G5pO%=eQWO1G5pOOQ$IS1G2^1G2^O$AxQWO1G2^OOQ$IS1G2]1G2]O%=mQWO1G2_ONmQ&jO1G2_OOQ$IS1G2d1G2dO!3xQ`O1G2]OARQWO1G2^O%=rQWO1G2_O%=zQWO1G2^O!!SQ&jO7+*nOOQ$IU1G/Z1G/ZO%>VQWO1G/ZOOQ$IU7+'i7+'iO%>[Q&jO7+'pO%>lQ$IvO<<J|OOQ$IU<<J|<<J|ONmQ&jO'#IdO%?`QWO,5@VONmQ&jO1G2bOOQQ<<Gx<<GxO<kQWO<<GxO%?hQ$IvO<<IoOOQ$IU<<Io<<IoOOQO,5?U,5?UO%@[QWO,5?UO%@aQWO,5?UOOQO-E<h-E<hO%@iQWO1G5wO%@iQWO1G5wO7{QWO1G5wO%@qQWO<<L_OOQQ<<L_<<L_O%@vQWO<<L_O7sQ$I[O<<L_O%@{QWO1G0nOOQQ<<Ky<<KyO$F^Q$ItO<<KyOOQQ<<Kz<<KzO$FhQpO<<KzO%AQQ`O'#IfO%A]QWO,5@YO!$]QYO,5@YOOQQ1G2x1G2xO%AeQ$IdO'#JUO%BPQYO'#JUO%BWQ`O'#EZO%BqQ$I[O'#EZO@lQ$IdO'#EZO'|Q`O'#G|OOQO'#Ih'#IhO7sQ$I[O'#IhO%CVQ`O,5=gOOQQ,5=g,5=gO%C^Q`O'#EZO%BgQ`O'#EZO%CoQ`O'#EZO%DYQ`O'#EZO%DyQ`O'#G|O%E[QWO7+(lO%EaQWO7+(lOOQQ7+(l7+(lONmQ&jO7+(lO$}QYO7+(lO%EiQWO7+(lOOQQ7+(o7+(oO7sQ$I[O7+(oO#CxQWO7+(oO7iQWO7+(oO!3xQ`O7+(oO%EtQWO,5?TOOQO-E<g-E<gOOQO'#HP'#HPO%FPQWO1G5uO7sQ$I[O<<GoOOQQ<<Go<<GoO%FXQWO<<GoO%F^QWO7++dO%FcQWO7++eOOQQ7+(w7+(wO%FhQWO7+(wO%FmQYO7+(wO%FtQWO7+(wO$}QYO7++dO$}QYO7++eOOQQ<<Lk<<LkOOQQ<<Lm<<LmOOQQ-E<j-E<jOOQQ1G3l1G3lO%FyQWO,5>ROOQQ,5>T,5>TO%GOQWO1G3rO9aQWO7+&YO!$]QYO7+&YOOQO7+%V7+%VO%GTQ!LSO1G5gO<kQWO7+%VOOQ$IU<<IX<<IXOOQ$IU<<In<<InO<kQWO<<InOOQO<<Ig<<IgO$-xQ$IvO<<IgO$}QYO<<IgOOQO<<I[<<I[O<kQWO<<I[O%G_Q$I[O<<IgO!3xQ`O<<I[O%GjQ$I[O<<IgOAWQ`O<<I[O%GxQ$I[O<<IgO%H^Q$IdO<<IgO%HhQ`O<<I[OAWQ`O<<IgO%HuQWO<<NiO%H}Q$IvO<<NjOOQO7+){7+){O9aQWO7+){OOQQANA^ANA^O%I_QWOANA^ONmQ&jOANA^O!EaQWOANA^O$C|QrOANA^O$}QYOANA^O%IgQ$IvO7+'nO%KxQ$IvO7+'pO%NZQrO1G4[O%NeQ!LSO7+&TO%NrQ!LSO,59mO&!uQ!LSO,5<_O&$xQ!LSO,5<aO&&{Q!LSO,5<oO&(qQ!LSO7+'aO&)OQ!LSO7+'bO&)]QWO,5<ROOQO7+'U7+'UO&)bQ&jO<<KpOOQO1G4e1G4eO&)iQWO1G4eO&)tQWO1G4eO&*SQWO7++ZO&*SQWO7++ZONmQ&jO1G4gO&*[QpO1G4gO&*fQWO7++[OOQ$IS7+'x7+'xO$AxQWO7+'yO&*nQpO7+'yOOQ$IS7+'w7+'wO$AxQWO7+'xO&*uQWO7+'yONmQ&jO7+'yOARQWO7+'xO&*zQ&jO<<NYOOQ$IU7+$u7+$uO&+UQpO,5?OOOQO-E<b-E<bO&+`Q$ItO7+'|OOQQAN=dAN=dO7{QWO1G4pOOQO1G4p1G4pO&+pQWO1G4pO&+uQWO7++cO&+uQWO7++cO7sQ$I[OANAyO&+}QWOANAyOOQQANAyANAyOOQQANAeANAeOOQQANAfANAfO&,SQWO,5?QOOQO-E<d-E<dO&,_Q!LSO1G5tO#CxQWO,5=hO7iQWO,5=hO&.oQrO'#CgO&.yQ`O,5:uO&/TQ`O,5:uO&/bQ`O,5:uO!3xQ`O,5=hOOQO,5?S,5?SOOQO-E<f-E<fOOQQ1G3R1G3RO%BPQYO,5<sO%AeQ$IdO,5=hO!FkQ$IdO,5:uO'|Q`O,5=hO&/uQ`O,5=hO&0WQ`O,5:uOOQQ<<LW<<LWONmQ&jO<<LWO%E[QWO<<LWO&0qQWO<<LWO$}QYO<<LWOOQQ<<LZ<<LZO7sQ$I[O<<LZO#CxQWO<<LZO7iQWO<<LZO&0yQ`O1G4oO&1RQWO7++aOOQQAN=ZAN=ZO7sQ$I[OAN=ZOOQQ<= O<= OOOQQ<= P<= POOQQ<<Lc<<LcO&1ZQWO<<LcO&1`QYO<<LcO&1gQWO<= OO&1lQWO<= POOQQ1G3m1G3mO<kQWO7+)^O&1qQWO<<ItO&1|Q!LSO<<ItOOQO<<Hq<<HqOOQ$IUAN?YAN?YOOQOAN?RAN?RO$-xQ$IvOAN?ROOQOAN>vAN>vO$}QYOAN?RO<kQWOAN>vO&2WQ$I[OAN?RO!3xQ`OAN>vO&2cQ$I[OAN?ROAWQ`OAN>vO&2qQ$I[OAN?ROOQO<<Mg<<MgOOQQG26xG26xONmQ&jOG26xO!EaQWOG26xO&3VQWOG26xO$C|QrOG26xO&3_Q!LSO<<J[O&3lQ!LSO1G2SO&5bQ!LSO1G2fO&7eQ!LSO1G2hO&9hQ!LSO<<J|O&9uQ!LSO<<IoOOQO1G1m1G1mO!!SQ&jOANA[OOQO7+*P7+*PO&:SQWO7+*PO&:_QWO<<NuO&:gQpO7+*ROOQ$IS<<Ke<<KeO$AxQWO<<KeOOQ$IS<<Kd<<KdO&:qQpO<<KeO$AxQWO<<KdOOQO7+*[7+*[O7{QWO7+*[O&:xQWO<<N}OOQQG27eG27eO7sQ$I[OG27eO!$]QYO1G4lO&;QQWO7++`O7sQ$I[O1G3SO#CxQWO1G3SO&;YQ`O1G0aO&;dQ`O1G0aO7iQWO1G3SO!3xQ`O1G3SO'|Q`O1G3SO%AeQ$IdO1G3SO$+jQ$IdO1G0aO&;qQ`O1G3SO%E[QWOANArOOQQANArANArONmQ&jOANArO&<SQWOANArOOQQANAuANAuO7sQ$I[OANAuO#CxQWOANAuOOQO'#HQ'#HQOOQO7+*Z7+*ZOOQQG22uG22uOOQQANA}ANA}O&<[QWOANA}OOQQANDjANDjOOQQANDkANDkOOQQ<<Lx<<LxO!$]QYOAN?`OOQOG24mG24mO$-xQ$IvOG24mOOQOG24bG24bO$}QYOG24mO<kQWOG24bO&<aQ$I[OG24mO!3xQ`OG24bO&<lQ$I[OG24mO!EaQWOLD,dOOQQLD,dLD,dONmQ&jOLD,dO&<zQWOLD,dO&=SQ!LSO7+'nO&>xQ!LSO7+'pO&@nQ&jOG26vOOQO<<Mk<<MkOOQ$ISANAPANAPO$AxQWOANAPOOQ$ISANAOANAOOOQO<<Mv<<MvOOQQLD-PLD-PO&AOQ!LSO7+*WOOQO7+(n7+(nO7sQ$I[O7+(nO&AYQ`O7+%{O#CxQWO7+(nO7iQWO7+(nO!3xQ`O7+(nO'|Q`O7+(nOOQQG27^G27^O%E[QWOG27^ONmQ&jOG27^OOQQG27aG27aO7sQ$I[OG27aOOQQG27iG27iO&AdQ!LSOG24zOOQOLD*XLD*XO$-xQ$IvOLD*XOOQOLD)|LD)|O$}QYOLD*XO<kQWOLD)|O&AnQ$I[OLD*XOOQQ!$(!O!$(!OO!EaQWO!$(!OONmQ&jO!$(!OO&AyQ$IvOG26vOOQ$ISG26kG26kOOQO<<LY<<LYO7sQ$I[O<<LYO#CxQWO<<LYO7iQWO<<LYO!3xQ`O<<LYOOQQLD,xLD,xO%E[QWOLD,xOOQQLD,{LD,{OOQO!$'Ms!$'MsO$-xQ$IvO!$'MsOOQO!$'Mh!$'MhO$}QYO!$'MsOOQQ!)9Ej!)9EjO!EaQWO!)9EjOOQOANAtANAtO7sQ$I[OANAtO#CxQWOANAtO7iQWOANAtOOQQ!$(!d!$(!dOOQO!)9C_!)9C_O$-xQ$IvO!)9C_OOQQ!.K;U!.K;UO&D[Q!LSOG26vOOQOG27`G27`O7sQ$I[OG27`O#CxQWOG27`OOQO!.K8y!.K8yOOQOLD,zLD,zO7sQ$I[OLD,zOOQO!$(!f!$(!fO!$]QYO'#DtO/mQWO'#EPO&FQQrO'#JQO!$]QYO'#DlO&FXQrO'#CgO&HoQrO'#CgO&IPQYO,5:}O!$]QYO,5;XO!$]QYO,5;XO!$]QYO,5;XO!$]QYO,5;XO!$]QYO,5;XO!$]QYO,5;XO!$]QYO,5;XO!$]QYO,5;XO!$]QYO,5;XO!$]QYO,5;XO!$]QYO,5;XO!$]QYO'#I^O&KPQWO,5<^O&KXQ&jO,5;XO&LiQ&jO,5;XO!$]QYO,5;mO/pQWO'#DRO/pQWO'#DRONmQ&jO'#FsO&KXQ&jO'#FsONmQ&jO'#FuO&KXQ&jO'#FuONmQ&jO'#GTO&KXQ&jO'#GTO!$]QYO,5?{O&IPQYO1G0iO&LpQ!LSO'#CgO!$]QYO1G1uONmQ&jO,5<zO&KXQ&jO,5<zONmQ&jO,5<|O&KXQ&jO,5<|ONmQ&jO,5<hO&KXQ&jO,5<hO&IPQYO1G1vO!$]QYO7+&pONmQ&jO1G2SO&KXQ&jO1G2SONmQ&jO1G2UO&KXQ&jO1G2UO&IPQYO7+'bO&IPQYO7+&TONmQ&jOANA[O&KXQ&jOANA[O&LzQWO'#EcO&MPQWO'#EcO&MXQWO'#FRO&M^QWO'#EmO&McQWO'#JaO&MnQWO'#J_O&MyQWO,5:}O&NOQ&jO,5<ZO&NVQWO'#F|O&N[QWO'#F|O&NaQWO,5<[O&NiQWO,5:}O&NqQ!LSO1G1UO&NxQWO,5<hO&N}QWO,5<hO' SQWO,5<jO' XQWO,5<jO' ^QWO1G1vO' cQWO1G0iO' hQ&jO<<KpO' oQ&jO<<KpO6UQ&jO'#FqO7iQWO'#FpO?PQWO'#EbO!$]QYO,5;jO!-PQWO'#F|O!-PQWO'#F|O!-PQWO'#GOO!-PQWO'#GOO!!SQ&jO7+(UO!!SQ&jO7+(UO$?lQpO1G2jO$?lQpO1G2jONmQ&jO,5=OONmQ&jO,5=O",stateData:"'!w~O'gOS'hOSSOSTOS~OPVOQVOW!OO[hO^mOasObrOihOkVOlhOmhOrhOtVOvVO{TO!OhO!PhO!VUO!apO!fWO!iVO!jVO!kVO!lVO!mVO!pqO!tYO#kxO#{uO$PcO%ZvO%]yO%_wO%`wO%czO%e{O%h|O%i|O%k}O%x!PO&O!QO&Q!RO&S!SO&U!TO&X!UO&_!VO&e!WO&g!XO&i!YO&k!ZO&m![O'jRO'rSO'}XO([fO~OPVOQVO[hOa!bOb!aOihOkVOlhOmhOrhOtVOvVO{TO!OhO!PhO!V!^O!apO!fWO!iVO!jVO!kVO!lVO!mVO!p!`O#{!cO$PcO'j!]O'rSO'}XO([fO~O[!fO^!lOl!fO{!gO!Y!mO!Z!kO![!kO!t;SO!x!qO!y!oO!z!pO!{!nO#O!rO#P!rO'k!dO's!eO'}!iO~OPZXYZX^ZXkZXxZXyZX{ZX!TZX!cZX!dZX!fZX!lZX#SZX#_cX#bZX#cZX#dZX#eZX#fZX#gZX#hZX#iZX#jZX#lZX#nZX#pZX#qZX#vZX'eZX'rZX(OZX(VZX(WZX~O!_$uX~P(UOR!sO'c!tO'd!vO~OPVOQVO[hOa!bOb!aOihOkVOlhOmhOrhOtVOvVO{TO!OhO!PhO!V!^O!apO!fWO!iVO!jVO!kVO!lVO!mVO!p!`O#{!cO$PcO'j;VO'rSO'}XO([fO~O!S!zO!T!wO!Q'vP!Q(SP~P*qO!U#SO~P`OPVOQVO[hOa!bOb!aOihOkVOlhOmhOrhOtVOvVO{TO!OhO!PhO!V!^O!apO!fWO!iVO!jVO!kVO!lVO!mVO!p!`O#{!cO$PcO'rSO'}XO([fO~O!S#YO!tYO#]#]O#^#YO'j;WO!e(PP~P-YO!f#_O'j#^O~O!p#cO!tYO%Z#dO~O#_#eO~O!_#fO#_#eO~OP#|OY$TOk#qOx#jOy#kO{#lO!T$QO!c#sO!d#hO!f#iO!l#|O#b#oO#c#pO#d#pO#e#pO#f#rO#g#sO#h#sO#i$SO#j#sO#l#tO#n#vO#p#xO#q#yO'rSO(O#zO(V#mO(W#nO~O^'tX'e'tX'a'tX!e'tX!Q'tX!V'tX%['tX!_'tX~P0_O#S$UO#v$UOP'uXY'uXk'uXx'uXy'uX{'uX!T'uX!c'uX!f'uX!l'uX#b'uX#c'uX#d'uX#e'uX#f'uX#g'uX#h'uX#i'uX#j'uX#l'uX#n'uX#p'uX#q'uX'r'uX(O'uX(V'uX(W'uX!V'uX%['uX~O^'uX!d'uX'e'uX'a'uX!Q'uX!e'uXo'uX!_'uX~P2uO#S$UO~O$R$WO$T$VO$[$]O~O!V$^O$PcO$_$_O$a$aO~O[$dOi$sOk$eOl$dOm$dOr$tOt$uOv$vO{$lO!V$mO!a${O!f$iO#^$|O#{$yO$h$wO$j$xO$m$zO'j$cO'n$rO'r$fOd'oP~O!f$}O~O!_%PO~O^%QO'e%QO~O'j%UO~O!f$}O'j%UO'k!dO'n$rO~Ob%]O!f$}O'j%UO~O#j#sO~O[%fOx%bO!V%_O!f%aO%]%eO'j%UO'k!dO](dP~O!p#cO~O{%gO!V%hO'j%UO~O{%gO!V%hO%e%lO'j%UO~O'j%mO~O#kxO%]yO%_wO%`wO%czO%e{O%h|O%i|O~Oa%vOb%uO!p%sO%Z%tO%m%rO~P:POa%yObrO!V%xO!pqO!tYO#kxO%ZvO%_wO%`wO%czO%e{O%h|O%i|O%k}O~O_%|O#S&PO%]%zO'k!dO~P;OO!f&QO!i&UO~O!f#_O~O!VUO~O^%QO'b&^O'e%QO~O^%QO'b&aO'e%QO~O^%QO'b&cO'e%QO~O'aZX!QZXoZX!eZX%|ZX!VZX%[ZX!_ZX~P(UO[&gOl&gO{&fO!S&jO!Y&pO!Z&iO![&iO'k!dO's&eO!U'wP!U(UP~Og&sO!V&qO'j%UO~Ob&xO!f$}O'j%UO~Ox%bO!f%aO~O[!fOl!fO{!gO!Y&}O!Z&|O![&|O!y'PO!z'PO!{'OO#O'RO#P'RO'k!dO's!eO'}!iO~O!t;SO!x'QO~P?dO^%QO!_#fO!f$}O!l'XO#S'VO'e%QO'n$rO(O'TO~O[!fOl!fO{!gO's!eO'}!iO~O!Z&|O![&|O'k!dO~PAWO!Y&}O!Z&|O![&|O#O'RO#P'RO'k!dO~PAWO!VUO!Y&}O!Z&|O![&|O!{'OO#O'RO#P'RO'k!dO~PAWOR!sO'c!tO'd'_O~O!S'aO!Q&uX!Q&{X!T&uX!T&{X~P*qO!T'cO!Q'vX~OP#|OY$TOk#qOx#jOy#kO{#lO!T'cO!c#sO!d#hO!f#iO!l#|O#b#oO#c#pO#d#pO#e#pO#f#rO#g#sO#h#sO#i$SO#j#sO#l#tO#n#vO#p#xO#q#yO'rSO(O#zO(V#mO(W#nO~O!Q'vX~PCrO!Q'hO~O!Q(RX!T(RX!_(RX!e(RX(O(RX~O#S(RX#_#WX!U(RX~PExO#S'iO!Q(TX!T(TX~O!T'jO!Q(SX~O!Q'mO~O#S$UO~PExO!U'nO~P`Ox#jOy#kO{#lO!d#hO!f#iO'rSOP!haY!hak!ha!T!ha!c!ha!l!ha#b!ha#c!ha#d!ha#e!ha#f!ha#g!ha#h!ha#i!ha#j!ha#l!ha#n!ha#p!ha#q!ha(O!ha(V!ha(W!ha~O^!ha'e!ha'a!ha!Q!ha!e!hao!ha!V!ha%[!ha!_!ha~PG`O!e'oO~O{%gO!V%hO!tYO#]'rO#^'qO'j%UO~O!_#fO#S'sO(O'TO!T(QX^(QX'e(QX~O!e(QX~PJdO!T'vO!e(PX~O!e'xO~O{%gO!V%hO#^'qO'j%UO~Ox'yOy'zO!d#hO!f#iO!t!sa{!sa~O!p!sa%Z!sa!V!sa#]!sa#^!sa'j!sa~PKlO!p(OO~OPVOQVO[hOa!bOb!aOihOkVOlhOmhOrhOtVOvVO{TO!OhO!PhO!VUO!apO!fWO!iVO!jVO!kVO!lVO!mVO!p!`O#{!cO$PcO'j!]O'rSO'}XO([fO~O[$dOi$sOk$eOl$dOm$dOr$tOt$uOv;jO{$lO!V$mO!a<sO!f$iO#^;pO#{$yO$h;lO$j;nO$m$zO'j(SO'n$rO'r$fO~O#_(UO~O[$dOi$sOk$eOl$dOm$dOr$tOt$uOv$vO{$lO!V$mO!a${O!f$iO#^$|O#{$yO$h$wO$j$xO$m$zO'j(SO'n$rO'r$fO~Od'yP~P!!SO!S(YO!e'zP~P$}O's([O'}XO~O{(^O!f#iO's([O'}XO~OP;ROQ;RO[hOa<oOb!aOihOk;ROlhOmhOrhOt;ROv;RO{TO!OhO!PhO!V!^O!a;UO!fWO!i;RO!j;RO!k;RO!l;RO!m;RO!p!`O#{!cO$PcO'j(lO'rSO'}XO([<mO~Oy(oO!f#iO~O!T$QO^$fa'e$fa'a$fa!e$fa!Q$fa!V$fa%[$fa!_$fa~O#k(sO~PNmOx(vO!_(uO!V$SX$O$SX$R$SX$T$SX$[$SX~O!_(uO!V(XX$O(XX$R(XX$T(XX$[(XX~Ox(vO~P!'rOx(vO!V(XX$O(XX$R(XX$T(XX$[(XX~O!V(xO$O(|O$R(wO$T(wO$[(}O~O!S)QO~P!$]O$R$WO$T$VO$[)UO~Og$nXx$nX{$nX!d$nX(V$nX(W$nX~OdfXd$nXgfX!TfX#SfX~P!)hOl)WO~OR)XO'c)YO'd)[O~Og)eOx)^O{)_O(V)aO(W)cO~Od)]O~P!*qOd)fO~O[$dOi$sOk$eOl$dOm$dOr$tOt$uOv;jO{$lO!V$mO!a<sO!f$iO#^;pO#{$yO$h;lO$j;nO$m$zO'n$rO'r$fO~O!S)jO'j)gO!e(]P~P!+`O#_)lO~O!f)mO~O!S)rO'j)oO!Q(^P~P!+`Ok*OO{)vO!Y)|O!Z)uO![)uO!f)mO#O)}O%R)xO'k!dO's!eO~O!U){O~P!-cO!d#hOg'qXx'qX{'qX(V'qX(W'qX!T'qX#S'qX~Od'qX#t'qX~P!.[Og*RO#S*QOd'pX!T'pX~O!T*SOd'oX~O'j%mOd'oP~O!f*ZO~O'j(SO~O{%gO!S#YO!V%hO!tYO#]#]O#^#YO'j%UO!e(PP~O!_#fO#_*_O~OP#|OY$TOk#qOx#jOy#kO{#lO!c#sO!d#hO!f#iO!l#|O#b#oO#c#pO#d#pO#e#pO#f#rO#g#sO#h#sO#i$SO#j#sO#l#tO#n#vO#p#xO#q#yO'rSO(O#zO(V#mO(W#nO~O^!`a!T!`a'e!`a'a!`a!Q!`a!e!`ao!`a!V!`a%[!`a!_!`a~P!0nOg*fO!V&qO%[*eO'n$rO~O!_*hO!V'mX^'mX!T'mX'e'mX~O!f$}O'n$rO~O!f$}O'j%UO'n$rO~O!_#fO#_(UO~O[*sO%]*tO'j*pO!U(eP~O!T*uO](dX~O's([O~OY*yO~O]*zO~O!V%_O'j%UO'k!dO](dP~O{%gO!S+OO!T'jO!V%hO'j%UO!Q(SP~O[&mOl&mO{+QO!S+PO's([O~O!U(UP~P!6OO!T+RO^(aX'e(aX~O#S+VO'n$rO~Og+YO!V$mO'n$rO~O!V+[O~Ox+^O!VUO~O!p+cO~Ob+hO~O'j#^O!U(cP~Ob%]O~O%]yO'j%mO~P;OOY+nO]+mO~OPVOQVO[hOasObrOihOkVOlhOmhOrhOtVOvVO{TO!OhO!PhO!apO!fWO!iVO!jVO!kVO!lVO!mVO!pqO!tYO$PcO%ZvO'rSO'}XO([fO~O!V!^O#{!cO'j!]O~P!8`O]+mO^%QO'e%QO~O^+rO#k+tO%_+tO%`+tO~P$}O!f&QO~O&O+yO~O!V+{O~O&a+}O&c,OOP&^aQ&^aW&^a[&^a^&^aa&^ab&^ai&^ak&^al&^am&^ar&^at&^av&^a{&^a!O&^a!P&^a!V&^a!a&^a!f&^a!i&^a!j&^a!k&^a!l&^a!m&^a!p&^a!t&^a#k&^a#{&^a$P&^a%Z&^a%]&^a%_&^a%`&^a%c&^a%e&^a%h&^a%i&^a%k&^a%x&^a&O&^a&Q&^a&S&^a&U&^a&X&^a&_&^a&e&^a&g&^a&i&^a&k&^a&m&^a'a&^a'j&^a'r&^a'}&^a([&^a!U&^a&V&^a_&^a&[&^a~O'j,TO~O!TzX!T!]X!UzX!U!]X!_zX!_!]X!f!]X#SzX'n!]X~O!_,YO#S,XO!T#[X!T'xX!U#[X!U'xX!_'xX!f'xX'n'xX~O!_,[O!f$}O'n$rO!T!XX!U!XX~O[!fOl!fO{!gO's!eO~OP;ROQ;RO[hOa<oOb!aOihOk;ROlhOmhOrhOt;ROv;RO{TO!OhO!PhO!V!^O!a;UO!fWO!i;RO!j;RO!k;RO!l;RO!m;RO!p!`O#{!cO$PcO'rSO'}XO([<mO~O'j;tO~P!AlO!T,`O!U'wX~O!U,bO~O!_,YO#S,XO!T#[X!U#[X~O!T,cO!U(UX~O!U,eO~O[!fOl!fO{!gO'k!dO's!eO~O!Z,fO![,fO~P!DjO!U,iO~P&}Og,lO!V&qO~O!Q,qO~O[!sal!sa!Y!sa!Z!sa![!sa!x!sa!y!sa!z!sa!{!sa#O!sa#P!sa'k!sa's!sa'}!sa~PKlO^%QO!_#fO!f$}O!l,vO#S,tO'e%QO'n$rO(O'TO~O!Z,xO![,xO'k!dO~PAWO!Y,zO!Z,xO![,xO#O,{O#P,{O'k!dO~PAWO!Y,zO!Z,xO![,xO!{,|O#O,{O#P,{O'k!dO~PAWO!Y,zO!Z,xO![,xO!y,}O!z,}O!{,|O#O,{O#P,{O'k!dO~PAWO^%QO#S,tO'e%QO~O^%QO!_#fO#S,tO'e%QO~O^%QO!_#fO!l,vO#S,tO'e%QO(O'TO~Oo-RO~O!Q&ua!T&ua~P!0nO!S-VO!Q&uX!T&uX~P$}O!T'cO!Q'va~O!Q'va~PCrO!T'jO!Q(Sa~O{%gO!S-ZO!V%hO'j%UO!Q&{X!T&{X~O!T'vO!e(Pa~O{%gO!V%hO#^-^O'j%UO~O#S-`O!T(Qa!e(Qa^(Qa'e(Qa~O!_#fO~P!LUO{%gO!S-cO!V%hO!tYO#]-eO#^-cO'j%UO!T&}X!e&}X~Oy-iO!f#iO~Og-lO!V&qO%[-kO'n$rO~O^#Vi!T#Vi'e#Vi'a#Vi!Q#Vi!e#Vio#Vi!V#Vi%[#Vi!_#Vi~P!0nOg<yOx)^O{)_O(V)aO(W)cO~O#_#Ra^#Ra#S#Ra'e#Ra!T#Ra!e#Ra!V#Ra!Q#Ra~P!NgO#_'qXP'qXY'qX^'qXk'qXy'qX!c'qX!f'qX!l'qX#b'qX#c'qX#d'qX#e'qX#f'qX#g'qX#h'qX#i'qX#j'qX#l'qX#n'qX#p'qX#q'qX'e'qX'r'qX(O'qX!e'qX!Q'qX'a'qXo'qX!V'qX%['qX!_'qX~P!.[O!T-uOd'yX~P!*qOd-wO~O!T-xO!e'zX~P!0nO!e-{O~O!Q-}O~OP#|Ox#jOy#kO{#lO!d#hO!f#iO!l#|O'rSOY#ai^#aik#ai!T#ai!c#ai#c#ai#d#ai#e#ai#f#ai#g#ai#h#ai#i#ai#j#ai#l#ai#n#ai#p#ai#q#ai'e#ai(O#ai(V#ai(W#ai'a#ai!Q#ai!e#aio#ai!V#ai%[#ai!_#ai~O#b#ai~P#$cO#b#oO~P#$cOP#|Ox#jOy#kO{#lO!d#hO!f#iO!l#|O#b#oO#c#pO#d#pO#e#pO'rSOY#ai^#ai!T#ai!c#ai#f#ai#g#ai#h#ai#i#ai#j#ai#l#ai#n#ai#p#ai#q#ai'e#ai(O#ai(V#ai(W#ai'a#ai!Q#ai!e#aio#ai!V#ai%[#ai!_#ai~Ok#ai~P#'TOk#qO~P#'TOP#|Ok#qOx#jOy#kO{#lO!d#hO!f#iO!l#|O#b#oO#c#pO#d#pO#e#pO#f#rO'rSO^#ai!T#ai#l#ai#n#ai#p#ai#q#ai'e#ai(O#ai(V#ai(W#ai'a#ai!Q#ai!e#aio#ai!V#ai%[#ai!_#ai~OY#ai!c#ai#g#ai#h#ai#i#ai#j#ai~P#)uOY$TO!c#sO#g#sO#h#sO#i$SO#j#sO~P#)uOP#|OY$TOk#qOx#jOy#kO{#lO!c#sO!d#hO!f#iO!l#|O#b#oO#c#pO#d#pO#e#pO#f#rO#g#sO#h#sO#i$SO#j#sO#l#tO'rSO^#ai!T#ai#n#ai#p#ai#q#ai'e#ai(O#ai(W#ai'a#ai!Q#ai!e#aio#ai!V#ai%[#ai!_#ai~O(V#ai~P#,vO(V#mO~P#,vOP#|OY$TOk#qOx#jOy#kO{#lO!c#sO!d#hO!f#iO!l#|O#b#oO#c#pO#d#pO#e#pO#f#rO#g#sO#h#sO#i$SO#j#sO#l#tO#n#vO'rSO(V#mO^#ai!T#ai#p#ai#q#ai'e#ai(O#ai'a#ai!Q#ai!e#aio#ai!V#ai%[#ai!_#ai~O(W#ai~P#/hO(W#nO~P#/hOP#|OY$TOk#qOx#jOy#kO{#lO!c#sO!d#hO!f#iO!l#|O#b#oO#c#pO#d#pO#e#pO#f#rO#g#sO#h#sO#i$SO#j#sO#l#tO#n#vO#p#xO'rSO(V#mO(W#nO~O^#ai!T#ai#q#ai'e#ai(O#ai'a#ai!Q#ai!e#aio#ai!V#ai%[#ai!_#ai~P#2YOPZXYZXkZXxZXyZX{ZX!cZX!dZX!fZX!lZX#SZX#_cX#bZX#cZX#dZX#eZX#fZX#gZX#hZX#iZX#jZX#lZX#nZX#pZX#qZX#vZX'rZX(OZX(VZX(WZX!TZX!UZX~O#tZX~P#4sOP#|OY;hOk;[Ox#jOy#kO{#lO!c;^O!d#hO!f#iO!l#|O#b;YO#c;ZO#d;ZO#e;ZO#f;]O#g;^O#h;^O#i;gO#j;^O#l;_O#n;aO#p;cO#q;dO'rSO(O#zO(V#mO(W#nO~O#t.PO~P#7QOP'uXY'uXk'uXx'uXy'uX{'uX!c'uX!d'uX!f'uX!l'uX#b'uX#c'uX#d'uX#e'uX#f'uX#g'uX#h'uX#i'uX#l'uX#n'uX#p'uX#q'uX'r'uX(O'uX(V'uX(W'uX!T'uX~O#S;iO#v;iO#j'uX#t'uX!U'uX~P#9OO^'Qa!T'Qa'e'Qa'a'Qa!e'Qa!Q'Qao'Qa!V'Qa%['Qa!_'Qa~P!0nOP#aiY#ai^#aik#aiy#ai!T#ai!c#ai!d#ai!f#ai!l#ai#b#ai#c#ai#d#ai#e#ai#f#ai#g#ai#h#ai#i#ai#j#ai#l#ai#n#ai#p#ai#q#ai'e#ai'r#ai(O#ai'a#ai!Q#ai!e#aio#ai!V#ai%[#ai!_#ai~P!NgO^#ui!T#ui'e#ui'a#ui!Q#ui!e#uio#ui!V#ui%[#ui!_#ui~P!0nO$R.SO$T.SO~O$R.TO$T.TO~O!_(uO#S.UO!V$XX$O$XX$R$XX$T$XX$[$XX~O!S.VO~O!V(xO$O.XO$R(wO$T(wO$[.YO~O!T;eO!U'tX~P#7QO!U.ZO~O!_(uO$[(XX~O$[.]O~OR)XO'c)YO'd.`O~O[.cOl.cO!Q.dO~O!TcX!_cX!ecX!e$nX(OcX~P!)hO!e.jO~P!NgO!T.kO!_#fO(O'TO!e(]X~O!e.pO~O!S)jO'j%UO!e(]P~O#_.rO~O!Q$nX!T$nX!_$uX~P!)hO!T.sO!Q(^X~P!NgO!_.uO~O!Q.wO~Ok.{O!_#fO!f$}O'n$rO(O'TO~O'j.}O~O!_*hO~O^%QO!T/RO'e%QO~O!U/TO~P!-cO!Z/UO![/UO'k!dO's!eO~O{/WO's!eO~O#O/XO~O'j%mOd'VX!T'VX~O!T*SOd'oa~Od/^O~Ox/_Oy/_O{/`Ogua(Vua(Wua!Tua#Sua~Odua#tua~P#EfOx)^O{)_Og$ga(V$ga(W$ga!T$ga#S$ga~Od$ga#t$ga~P#F[Ox)^O{)_Og$ia(V$ia(W$ia!T$ia#S$ia~Od$ia#t$ia~P#F}O[/aO~O#_/bO~Od$wa!T$wa#S$wa#t$wa~P!*qO#_/eO~Og-lO!V&qO%[-kO~O[$dOk$eOl$dOm$dOr$tOt$uOv;jO{$lO!V$mO!a<sO!f$iO#^;pO#{$yO$h;lO$j;nO$m$zO'n$rO'r$fO~Oi/lO'j/kO~P#HlO!_*hO!V'ma^'ma!T'ma'e'ma~O#_/rO~OYZX!TcX!UcX~O!T/sO!U(eX~O!U/uO~OY/vO~O[/xO'j*pO~O!V%_O'j%UO]'_X!T'_X~O!T*uO](da~O!e/{O~P!0nO[/}O~OY0OO~O]0PO~O!T+RO^(aa'e(aa~O#S0VO~Og0YO!V$mO~O's([O!U(bP~Og0cO!V0`O%[0bO'n$rO~OY0mO!T0kO!U(cX~O!U0nO~O]0pO^%QO'e%QO~O[0qO~O[0rO'j#^O~O#S$UO#j0sO#v$UO%|0tO^'uX~P#9OO#S$UO#j0sO%|0tO~O^0uO~P$}O^0wO~O&V0{OP&TiQ&TiW&Ti[&Ti^&Tia&Tib&Tii&Tik&Til&Tim&Tir&Tit&Tiv&Ti{&Ti!O&Ti!P&Ti!V&Ti!a&Ti!f&Ti!i&Ti!j&Ti!k&Ti!l&Ti!m&Ti!p&Ti!t&Ti#k&Ti#{&Ti$P&Ti%Z&Ti%]&Ti%_&Ti%`&Ti%c&Ti%e&Ti%h&Ti%i&Ti%k&Ti%x&Ti&O&Ti&Q&Ti&S&Ti&U&Ti&X&Ti&_&Ti&e&Ti&g&Ti&i&Ti&k&Ti&m&Ti'a&Ti'j&Ti'r&Ti'}&Ti([&Ti!U&Ti_&Ti&[&Ti~O_1RO!U1PO&[1QO~P`O!VUO!f1TO~O&c,OOP&^iQ&^iW&^i[&^i^&^ia&^ib&^ii&^ik&^il&^im&^ir&^it&^iv&^i{&^i!O&^i!P&^i!V&^i!a&^i!f&^i!i&^i!j&^i!k&^i!l&^i!m&^i!p&^i!t&^i#k&^i#{&^i$P&^i%Z&^i%]&^i%_&^i%`&^i%c&^i%e&^i%h&^i%i&^i%k&^i%x&^i&O&^i&Q&^i&S&^i&U&^i&X&^i&_&^i&e&^i&g&^i&i&^i&k&^i&m&^i'a&^i'j&^i'r&^i'}&^i([&^i!U&^i&V&^i_&^i&[&^i~O!Q1ZO~O!T!Xa!U!Xa~P#7QO!S1aO!Y&pO!Z&iO![&iO!T&vX!U&vX~P!DjO!T,`O!U'wa~O!T&|X!U&|X~P!6OO!T,cO!U(Ua~O!U1hO~P&}O^%QO#S1qO'e%QO~O^%QO!_#fO#S1qO'e%QO~O^%QO!_#fO!f$}O!l1uO#S1qO'e%QO'n$rO(O'TO~O!Z1vO![1vO'k!dO~PAWO!Y1yO!Z1vO![1vO#O1zO#P1zO'k!dO~PAWO!Y1yO!Z1vO![1vO!{1{O#O1zO#P1zO'k!dO~PAWO^%QO!_#fO!l1uO#S1qO'e%QO(O'TO~O^%QO'e%QO~P!0nO!T$QOo$fa~O!Q&ui!T&ui~P!0nO!T'cO!Q'vi~O!T'jO!Q(Si~O!Q(Ti!T(Ti~P!0nO!T'vO!e(Pi~O!T(Qi!e(Qi^(Qi'e(Qi~P!0nO#S2PO!T(Qi!e(Qi^(Qi'e(Qi~O{%gO!V%hO!tYO#]2SO#^2RO'j%UO~O{%gO!V%hO#^2RO'j%UO~Og2ZO!V&qO%[2YO~Og2ZO!V&qO%[2YO'n$rO~O#_uaPuaYua^uakua!cua!dua!fua!lua#bua#cua#dua#eua#fua#gua#hua#iua#jua#lua#nua#pua#qua'eua'rua(Oua!eua!Qua'auaoua!Vua%[ua!_ua~P#EfO#_$gaP$gaY$ga^$gak$gay$ga!c$ga!d$ga!f$ga!l$ga#b$ga#c$ga#d$ga#e$ga#f$ga#g$ga#h$ga#i$ga#j$ga#l$ga#n$ga#p$ga#q$ga'e$ga'r$ga(O$ga!e$ga!Q$ga'a$gao$ga!V$ga%[$ga!_$ga~P#F[O#_$iaP$iaY$ia^$iak$iay$ia!c$ia!d$ia!f$ia!l$ia#b$ia#c$ia#d$ia#e$ia#f$ia#g$ia#h$ia#i$ia#j$ia#l$ia#n$ia#p$ia#q$ia'e$ia'r$ia(O$ia!e$ia!Q$ia'a$iao$ia!V$ia%[$ia!_$ia~P#F}O#_$waP$waY$wa^$wak$way$wa!T$wa!c$wa!d$wa!f$wa!l$wa#b$wa#c$wa#d$wa#e$wa#f$wa#g$wa#h$wa#i$wa#j$wa#l$wa#n$wa#p$wa#q$wa'e$wa'r$wa(O$wa!e$wa!Q$wa'a$wa#S$wao$wa!V$wa%[$wa!_$wa~P!NgO^#Vq!T#Vq'e#Vq'a#Vq!Q#Vq!e#Vqo#Vq!V#Vq%[#Vq!_#Vq~P!0nOd&wX!T&wX~P!!SO!T-uOd'ya~O!S2cO!T&xX!e&xX~P$}O!T-xO!e'za~O!T-xO!e'za~P!0nO!Q2fO~O#t!ha!U!ha~PG`O#t!`a!T!`a!U!`a~P#7QO!V2wO$PcO$Y2xO~O!U2|O~Oo2}O~P!NgO^$cq!T$cq'e$cq'a$cq!Q$cq!e$cqo$cq!V$cq%[$cq!_$cq~P!0nO!Q3OO~O[.cOl.cO~Ox)^O{)_O(W)cOg%Si(V%Si!T%Si#S%Si~Od%Si#t%Si~P$>WOx)^O{)_Og%Ui(V%Ui(W%Ui!T%Ui#S%Ui~Od%Ui#t%Ui~P$>yO(O#zO~P!NgO!S3RO'j%UO!T'RX!e'RX~O!T.kO!e(]a~O!T.kO!_#fO!e(]a~O!T.kO!_#fO(O'TO!e(]a~Od$pi!T$pi#S$pi#t$pi~P!*qO!S3ZO'j)oO!Q'TX!T'TX~P!+`O!T.sO!Q(^a~O!T.sO!Q(^a~P!NgO!_#fO~O!_#fO#j3cO~Ok3fO!_#fO(O'TO~Od'pi!T'pi~P!*qO#S3iOd'pi!T'pi~P!*qO!e3lO~O^$dq!T$dq'e$dq'a$dq!Q$dq!e$dqo$dq!V$dq%[$dq!_$dq~P!0nO!T3pO!V(_X~P!NgO!d#hO~P2uO!V$nX%PZX^$nX!T$nX'e$nX~P!)hO%P3rOghXxhX{hX!VhX(VhX(WhX^hX!ThX'ehX~O%P3rO~O[3xO%]3yO'j*pO!T'^X!U'^X~O!T/sO!U(ea~OY3}O~O]4OO~O[4RO~O!Q4SO~O^%QO'e%QO~P!NgO!V$mO~P!NgO!T4XO#S4ZO!U(bX~O!U4[O~O[!fOl!fO{4^O!Y4kO!Z4bO![4bO!t;SO!x4jO!y4iO!z4iO!{4hO#O4gO#P!rO'k!dO's!eO'}!iO~O!U4fO~P$GPOg4pO!V0`O%[4oO~Og4pO!V0`O%[4oO'n$rO~O'j#^O!T']X!U']X~O!T0kO!U(ca~O[4zO's4yO~O[4{O~O]4}O~O!e5QO~P$}O^5SO~O^5SO~P$}O#j5UO%|5VO~PJdO_1RO!U5ZO&[1QO~P`O!_5]O~O!_5_O!T'xi!U'xi!_'xi!f'xi'n'xi~O!T#[i!U#[i~P#7QO#S5`O!T#[i!U#[i~O!T!Xi!U!Xi~P#7QO^%QO#S5iO'e%QO~O^%QO!_#fO#S5iO'e%QO~O^%QO!_#fO!l5nO#S5iO'e%QO(O'TO~O!f$}O'n$rO~P$L]O!Z5oO![5oO'k!dO~PAWO!Y5rO!Z5oO![5oO#O5sO#P5sO'k!dO~PAWO!T'vO!e(Pq~O!T(Qq!e(Qq^(Qq'e(Qq~P!0nO{%gO!V%hO#^5wO'j%UO~O!V&qO%[5zO~Og5}O!V&qO%[5zO~O#_%SiP%SiY%Si^%Sik%Siy%Si!c%Si!d%Si!f%Si!l%Si#b%Si#c%Si#d%Si#e%Si#f%Si#g%Si#h%Si#i%Si#j%Si#l%Si#n%Si#p%Si#q%Si'e%Si'r%Si(O%Si!e%Si!Q%Si'a%Sio%Si!V%Si%[%Si!_%Si~P$>WO#_%UiP%UiY%Ui^%Uik%Uiy%Ui!c%Ui!d%Ui!f%Ui!l%Ui#b%Ui#c%Ui#d%Ui#e%Ui#f%Ui#g%Ui#h%Ui#i%Ui#j%Ui#l%Ui#n%Ui#p%Ui#q%Ui'e%Ui'r%Ui(O%Ui!e%Ui!Q%Ui'a%Uio%Ui!V%Ui%[%Ui!_%Ui~P$>yO#_$piP$piY$pi^$pik$piy$pi!T$pi!c$pi!d$pi!f$pi!l$pi#b$pi#c$pi#d$pi#e$pi#f$pi#g$pi#h$pi#i$pi#j$pi#l$pi#n$pi#p$pi#q$pi'e$pi'r$pi(O$pi!e$pi!Q$pi'a$pi#S$pio$pi!V$pi%[$pi!_$pi~P!NgOd&wa!T&wa~P!*qO!T&xa!e&xa~P!0nO!T-xO!e'zi~O#t#Vi!T#Vi!U#Vi~P#7QOP#|Ox#jOy#kO{#lO!d#hO!f#iO!l#|O'rSOY#aik#ai!c#ai#c#ai#d#ai#e#ai#f#ai#g#ai#h#ai#i#ai#j#ai#l#ai#n#ai#p#ai#q#ai#t#ai(O#ai(V#ai(W#ai!T#ai!U#ai~O#b#ai~P%(oO#b;YO~P%(oOP#|Ox#jOy#kO{#lO!d#hO!f#iO!l#|O#b;YO#c;ZO#d;ZO#e;ZO'rSOY#ai!c#ai#f#ai#g#ai#h#ai#i#ai#j#ai#l#ai#n#ai#p#ai#q#ai#t#ai(O#ai(V#ai(W#ai!T#ai!U#ai~Ok#ai~P%*zOk;[O~P%*zOP#|Ok;[Ox#jOy#kO{#lO!d#hO!f#iO!l#|O#b;YO#c;ZO#d;ZO#e;ZO#f;]O'rSO#l#ai#n#ai#p#ai#q#ai#t#ai(O#ai(V#ai(W#ai!T#ai!U#ai~OY#ai!c#ai#g#ai#h#ai#i#ai#j#ai~P%-VOY;hO!c;^O#g;^O#h;^O#i;gO#j;^O~P%-VOP#|OY;hOk;[Ox#jOy#kO{#lO!c;^O!d#hO!f#iO!l#|O#b;YO#c;ZO#d;ZO#e;ZO#f;]O#g;^O#h;^O#i;gO#j;^O#l;_O'rSO#n#ai#p#ai#q#ai#t#ai(O#ai(W#ai!T#ai!U#ai~O(V#ai~P%/qO(V#mO~P%/qOP#|OY;hOk;[Ox#jOy#kO{#lO!c;^O!d#hO!f#iO!l#|O#b;YO#c;ZO#d;ZO#e;ZO#f;]O#g;^O#h;^O#i;gO#j;^O#l;_O#n;aO'rSO(V#mO#p#ai#q#ai#t#ai(O#ai!T#ai!U#ai~O(W#ai~P%1|O(W#nO~P%1|OP#|OY;hOk;[Ox#jOy#kO{#lO!c;^O!d#hO!f#iO!l#|O#b;YO#c;ZO#d;ZO#e;ZO#f;]O#g;^O#h;^O#i;gO#j;^O#l;_O#n;aO#p;cO'rSO(V#mO(W#nO~O#q#ai#t#ai(O#ai!T#ai!U#ai~P%4XO^#ry!T#ry'e#ry'a#ry!Q#ry!e#ryo#ry!V#ry%[#ry!_#ry~P!0nOg<zOx)^O{)_O(V)aO(W)cO~OP#aiY#aik#aiy#ai!c#ai!d#ai!f#ai!l#ai#b#ai#c#ai#d#ai#e#ai#f#ai#g#ai#h#ai#i#ai#j#ai#l#ai#n#ai#p#ai#q#ai#t#ai'r#ai(O#ai!T#ai!U#ai~P%7PO!d#hOP'qXY'qXg'qXk'qXx'qXy'qX{'qX!c'qX!f'qX!l'qX#b'qX#c'qX#d'qX#e'qX#f'qX#g'qX#h'qX#i'qX#j'qX#l'qX#n'qX#p'qX#q'qX#t'qX'r'qX(O'qX(V'qX(W'qX!T'qX!U'qX~O#t#ui!T#ui!U#ui~P#7QO!U6ZO~O!T'Qa!U'Qa~P#7QO!_#fO(O'TO!T'Ra!e'Ra~O!T.kO!e(]i~O!T.kO!_#fO!e(]i~Od$pq!T$pq#S$pq#t$pq~P!*qO!Q'Ta!T'Ta~P!NgO!_6bO~O!T.sO!Q(^i~P!NgO!T.sO!Q(^i~O!Q6fO~O!_#fO#j6kO~Ok6lO!_#fO(O'TO~O!Q6nO~Od$rq!T$rq#S$rq#t$rq~P!*qO^$dy!T$dy'e$dy'a$dy!Q$dy!e$dyo$dy!V$dy%[$dy!_$dy~P!0nO!T3pO!V(_a~O^#Vy!T#Vy'e#Vy'a#Vy!Q#Vy!e#Vyo#Vy!V#Vy%[#Vy!_#Vy~P!0nOY6sO~O[6uO'j*pO~O!T/sO!U(ei~O[6xO~O]6yO~O!_5_O~O's([O!T'YX!U'YX~O!T4XO!U(ba~O!f$}O'n$rO^'xX!_'xX!l'xX#S'xX'e'xX(O'xX~O'j7SO~P-YO!t;SO!x7VO!y7UO!z7UO!{7TO#O'RO#P'RO~PAWO^%QO!_#fO!l'XO#S'VO'e%QO(O'TO~O!U7ZO~P$GPO[!fOl!fO{7[O's!eO'}!iO~O!Y7`O!Z7_O![7_O!{7TO#O'RO#P'RO'k!dO~PAWO!Y7`O!Z7_O![7_O!y7aO!z7aO!{7TO#O'RO#P'RO'k!dO~PAWO!Z7_O![7_O'k!dO's!eO'}!iO~O!V0`O~O!V0`O%[7cO~Og7fO!V0`O%[7cO~OY7kO!T']a!U']a~O!T0kO!U(ci~O[7nO~O!e7oO~O!e7pO~O!e7qO~O!e7qO~P$}O^7sO~O!_7vO~O!e7wO~O!T(Ti!U(Ti~P#7QO^%QO#S8PO'e%QO~O^%QO!_#fO#S8PO'e%QO~O^%QO!_#fO!l8TO#S8PO'e%QO(O'TO~O!f$}O'n$rO~P%GxO!Z8UO![8UO'k!dO~PAWO!T'vO!e(Py~O!T(Qy!e(Qy^(Qy'e(Qy~P!0nO!V&qO%[8YO~O#_$pqP$pqY$pq^$pqk$pqy$pq!T$pq!c$pq!d$pq!f$pq!l$pq#b$pq#c$pq#d$pq#e$pq#f$pq#g$pq#h$pq#i$pq#j$pq#l$pq#n$pq#p$pq#q$pq'e$pq'r$pq(O$pq!e$pq!Q$pq'a$pq#S$pqo$pq!V$pq%[$pq!_$pq~P!NgO#_$rqP$rqY$rq^$rqk$rqy$rq!T$rq!c$rq!d$rq!f$rq!l$rq#b$rq#c$rq#d$rq#e$rq#f$rq#g$rq#h$rq#i$rq#j$rq#l$rq#n$rq#p$rq#q$rq'e$rq'r$rq(O$rq!e$rq!Q$rq'a$rq#S$rqo$rq!V$rq%[$rq!_$rq~P!NgO!T&xi!e&xi~P!0nO#t#Vq!T#Vq!U#Vq~P#7QOx/_Oy/_O{/`OPuaYuaguakua!cua!dua!fua!lua#bua#cua#dua#eua#fua#gua#hua#iua#jua#lua#nua#pua#qua#tua'rua(Oua(Vua(Wua!Tua!Uua~Ox)^O{)_OP$gaY$gag$gak$gay$ga!c$ga!d$ga!f$ga!l$ga#b$ga#c$ga#d$ga#e$ga#f$ga#g$ga#h$ga#i$ga#j$ga#l$ga#n$ga#p$ga#q$ga#t$ga'r$ga(O$ga(V$ga(W$ga!T$ga!U$ga~Ox)^O{)_OP$iaY$iag$iak$iay$ia!c$ia!d$ia!f$ia!l$ia#b$ia#c$ia#d$ia#e$ia#f$ia#g$ia#h$ia#i$ia#j$ia#l$ia#n$ia#p$ia#q$ia#t$ia'r$ia(O$ia(V$ia(W$ia!T$ia!U$ia~OP$waY$wak$way$wa!c$wa!d$wa!f$wa!l$wa#b$wa#c$wa#d$wa#e$wa#f$wa#g$wa#h$wa#i$wa#j$wa#l$wa#n$wa#p$wa#q$wa#t$wa'r$wa(O$wa!T$wa!U$wa~P%7PO#t$cq!T$cq!U$cq~P#7QO#t$dq!T$dq!U$dq~P#7QO!U8dO~O#t8eO~P!*qO!_#fO!T'Ri!e'Ri~O!_#fO(O'TO!T'Ri!e'Ri~O!T.kO!e(]q~O!Q'Ti!T'Ti~P!NgO!T.sO!Q(^q~O!Q8kO~P!NgO!Q8kO~Od'py!T'py~P!*qO!T'Wa!V'Wa~P!NgO!V%Oq^%Oq!T%Oq'e%Oq~P!NgOY8pO~O!T/sO!U(eq~O[8sO~O#S8tO!T'Ya!U'Ya~O!T4XO!U(bi~P#7QOPZXYZXkZXxZXyZX{ZX!QZX!TZX!cZX!dZX!fZX!lZX#SZX#_cX#bZX#cZX#dZX#eZX#fZX#gZX#hZX#iZX#jZX#lZX#nZX#pZX#qZX#vZX'rZX(OZX(VZX(WZX~O!_$|X#j$|X~P&,iO#O,{O#P,{O~PAWO!{8xO#O,{O#P,{O~PAWO!y8yO!z8yO!{8xO#O,{O#P,{O~PAWO!Z8|O![8|O'k!dO's!eO'}!iO~O!Y9PO!Z8|O![8|O!{8xO#O,{O#P,{O'k!dO~PAWO!V0`O%[9SO~O[9YO's9XO~O!T0kO!U(cq~O!e9[O~O!e9[O~P$}O!e9^O~O!e9_O~O#S9aO!T#[y!U#[y~O!T#[y!U#[y~P#7QO^%QO#S9eO'e%QO~O^%QO!_#fO#S9eO'e%QO~O^%QO!_#fO!l9iO#S9eO'e%QO(O'TO~O!V&qO%[9lO~O#t#ry!T#ry!U#ry~P#7QOP$piY$pik$piy$pi!c$pi!d$pi!f$pi!l$pi#b$pi#c$pi#d$pi#e$pi#f$pi#g$pi#h$pi#i$pi#j$pi#l$pi#n$pi#p$pi#q$pi#t$pi'r$pi(O$pi!T$pi!U$pi~P%7POx)^O{)_O(W)cOP%SiY%Sig%Sik%Siy%Si!c%Si!d%Si!f%Si!l%Si#b%Si#c%Si#d%Si#e%Si#f%Si#g%Si#h%Si#i%Si#j%Si#l%Si#n%Si#p%Si#q%Si#t%Si'r%Si(O%Si(V%Si!T%Si!U%Si~Ox)^O{)_OP%UiY%Uig%Uik%Uiy%Ui!c%Ui!d%Ui!f%Ui!l%Ui#b%Ui#c%Ui#d%Ui#e%Ui#f%Ui#g%Ui#h%Ui#i%Ui#j%Ui#l%Ui#n%Ui#p%Ui#q%Ui#t%Ui'r%Ui(O%Ui(V%Ui(W%Ui!T%Ui!U%Ui~O#t$dy!T$dy!U$dy~P#7QO#t#Vy!T#Vy!U#Vy~P#7QO!_#fO!T'Rq!e'Rq~O!T.kO!e(]y~O!Q'Tq!T'Tq~P!NgO!Q9sO~P!NgO!T/sO!U(ey~O!T4XO!U(bq~O#O1zO#P1zO~PAWO!{9zO#O1zO#P1zO~PAWO!Z:OO![:OO'k!dO's!eO'}!iO~O!V0`O%[:RO~O!e:UO~O^%QO#S:ZO'e%QO~O^%QO!_#fO#S:ZO'e%QO~O!V&qO%[:`O~OP$pqY$pqk$pqy$pq!c$pq!d$pq!f$pq!l$pq#b$pq#c$pq#d$pq#e$pq#f$pq#g$pq#h$pq#i$pq#j$pq#l$pq#n$pq#p$pq#q$pq#t$pq'r$pq(O$pq!T$pq!U$pq~P%7POP$rqY$rqk$rqy$rq!c$rq!d$rq!f$rq!l$rq#b$rq#c$rq#d$rq#e$rq#f$rq#g$rq#h$rq#i$rq#j$rq#l$rq#n$rq#p$rq#q$rq#t$rq'r$rq(O$rq!T$rq!U$rq~P%7POd%W!Z!T%W!Z#S%W!Z#t%W!Z~P!*qO!T'Yq!U'Yq~P#7QO#O5sO#P5sO~PAWO!T#[!Z!U#[!Z~P#7QO^%QO#S:nO'e%QO~O#_%W!ZP%W!ZY%W!Z^%W!Zk%W!Zy%W!Z!T%W!Z!c%W!Z!d%W!Z!f%W!Z!l%W!Z#b%W!Z#c%W!Z#d%W!Z#e%W!Z#f%W!Z#g%W!Z#h%W!Z#i%W!Z#j%W!Z#l%W!Z#n%W!Z#p%W!Z#q%W!Z'e%W!Z'r%W!Z(O%W!Z!e%W!Z!Q%W!Z'a%W!Z#S%W!Zo%W!Z!V%W!Z%[%W!Z!_%W!Z~P!NgOP%W!ZY%W!Zk%W!Zy%W!Z!c%W!Z!d%W!Z!f%W!Z!l%W!Z#b%W!Z#c%W!Z#d%W!Z#e%W!Z#f%W!Z#g%W!Z#h%W!Z#i%W!Z#j%W!Z#l%W!Z#n%W!Z#p%W!Z#q%W!Z#t%W!Z'r%W!Z(O%W!Z!T%W!Z!U%W!Z~P%7POo'tX~P0_O!QcX!TcX#ScX~P&,iOPZXYZXkZXxZXyZX{ZX!TZX!TcX!cZX!dZX!fZX!lZX#SZX#ScX#_cX#bZX#cZX#dZX#eZX#fZX#gZX#hZX#iZX#jZX#lZX#nZX#pZX#qZX#vZX'rZX(OZX(VZX(WZX~O!_cX!eZX!ecX(OcX~P&FfOP;ROQ;RO[hOa<oOb!aOihOk;ROlhOmhOrhOt;ROv;RO{TO!OhO!PhO!VUO!a;UO!fWO!i;RO!j;RO!k;RO!l;RO!m;RO!p!`O#{!cO$PcO'j(lO'rSO'}XO([<mO~O!T;eO!U$fa~O[$dOi$sOk$eOl$dOm$dOr$tOt$uOv;kO{$lO!V$mO!a<tO!f$iO#^;qO#{$yO$h;mO$j;oO$m$zO'j(SO'n$rO'r$fO~O#k(sO~P&KXO!UZX!UcX~P&FfO#_;XO~O!_#fO#_;XO~O#S;iO~O#j;^O~O#S;rO!T(TX!U(TX~O#S;iO!T(RX!U(RX~O#_;sO~Od;uO~P!*qO#_;zO~O#_;{O~O!_#fO#_;|O~O!_#fO#_;sO~O#t;}O~P#7QO#_<OO~O#_<PO~O#_<QO~O#_<RO~O#_<SO~O#_<TO~O#t<UO~P!*qO#t<VO~P!*qO$P~!d!x!z!{#O#]#^#i([$h$j$m%P%Z%[%]%c%e%h%i%k%m~TS$P([#c!P'g'k#dl#b#ekx'h's'h'j$R$T$R~",goto:"$$n(iPPPPPPP(jP(zP*vPPPP.uPP/[P5S8sP9WP9WPPP9WP:v9WP9WP9WP:zPP;PP;j@YPPP@^PPPP@^CYPPPC`E`P@^PGvPPPPJR@^PPPPPL^@^P! m!!o!!tP!#f!#j!#fPPPP!&p!(uPP!)O!*YP!!o@^@^!-l!0q!5t!5t!9fPPP!9m@^PPPPPPPPPPP!<uP!>ZPP@^!?kP@^P@^@^@^@^P@^!AQPP!DTP!GSP!GW!Gb!Gf!GfP!DQP!Gj!GjP!JiP!Jm@^@^!Js!Mq9WP9WP9W9WP!N{9W9W#!u9W#%S9W#&v9W9W#'d#)`#)`#)d#)l#)`#)tP#)`P9W#*p9W#+x9W9W.uPPP#-TPP#-m#-mP#-mP#.S#-mPP#.YP#.PP#.P#.l!(z#.P#/W#/^#/a(j#/d(jP#/k#/k#/kP(jP(jP(jP(jPP(jP#/q#/tP#/t(jP#/xP#/{P(jP(jP(jP(jP(jP(j(jPP#0R#0]#0c#0i#0w#0}#1T#1_#1e#2a#2p#2v#3Y#3`#3f#3t#4Z#5k#5y#6P#6V#6]#6c#6m#6s#6y#7T#7g#7mPPPPPPPP#7sPP#8g#<RP#=n#=u#=}PP#BX#D}#KZ#K^#Ka#M^#Ma#Md#MkPP#Mq#Mu#Nn$ n$ r$!WPP$![$!b$!fP$!i$!m$!p$#f$#|$$R$$U$$X$$_$$b$$f$$jmmOUo!S#T%P&T&V&W&Y+v+{0{1OU!kQ&q,hQ%[rQ%cuQ%{!OS&i!^,`Q&w!a[&|!h!m!n!o!p!qS)u$m)zQ*n%]Q*{%eQ+g%uQ,f&pQ,p&xW,x&}'O'P'QQ/U)|Q0j+hU1v,z,|,}S4b0`4eS5o1y1{U7_4i4j4kQ8U5rS8|7`7aR:O9P$zaOPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y$Q$U%P%a%|&P&T&V&W&Y&^&f&s'V'a'c'i's(U(Y(^)]*_+Q+r+v+{,l,t-V-`-x.P/`/e/r0c0s0t0u0w0{1O1Q1q2P2c4^4p5S5U5V5i7[7f7s8P9e:Z:nS#aY;S!l(n#{$^&j)Q,X,[.V1a2w4Z5`8t9a;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pQ*V$vQ*s%_Q+i%xQ+p&QQ-o;jQ/i*fQ/m*hQ/x*tQ0r+nQ2V-lQ3x/sQ4w0kQ5|2ZQ6S;kQ6u3yR8]5}pjOUo!O!S#T%P%z&T&V&W&Y+v+{0{1OR+k%|&l]OPUVops!S!X!b!g!s#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y#{$Q$U$^%P%a%|&P&Q&T&V&W&Y&^&f&s'V'c'i's(U(Y(^)Q)]*_*f+Q+r+v+{,X,[,l,t-V-`-l-x.P.V/`/e/r0c0s0t0u0w0{1O1Q1a1q2P2Z2c2w4Z4^4p5S5U5V5`5i5}7[7f7s8P8t9a9e:Z:n;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<o<p[!|TW!w!z&j'aQ%VqQ%ZrS%`u%e!U%iwx#W#Y#]$}%g'j'q'r'v+O+P+R+t,Y-Z-^-b-c-e1T2R2S5_5wQ%q|Q&t!`Q&v!aQ'}#cS)i$i)mS*m%[%]Q*q%_Q+b%sQ+f%uS,o&w&xQ-n(OQ.o)jQ/q*nQ/w*tQ/y*uQ/|*yQ0e+cS0i+g+hQ1m,pQ3Q.kQ3w/sQ3{/vQ4Q0OQ4v0jQ6_3RQ6t3yQ6w3}Q8o6sR9u8pv$kf#h$w$x$|)b)d)l*Q*R-u.r/b3P3i8e<m<u<v!`%Xr!a!j%Z%[%]&h&v&w&x&{'Y)t*m*n,],o,p,w,y.|/q1f1m1t1x3e5m5q8S9hQ*g%VQ+W%nQ+Z%oQ+e%uQ-m'}Q0d+bU0h+f+g+hQ2[-nQ4q0eS4u0i0jS7R4]4aQ7j4vU8z7W7]7^U9|8{8}9OQ:f9}Q:t:g!z<q#f$S$T$i$l)X)e)r*e*h+V+Y-k.s.u0V0Y0b2Y3Z3c3p3r4o5z6b6k7c8Y9S9l:R:`;l;n;p;v;x;z<O<Q<U<y<zg<r;g;h;m;o;q;w;y;{<P<R<VW$pf$r*S<mS%ny%zQ%ozQ%p{R+U%l$Z$of#f#h$S$T$i$l$w$x$|)X)b)d)e)l)r*Q*R*e*h+V+Y-k-u.r.s.u/b0V0Y0b2Y3P3Z3c3i3p3r4o5z6b6k7c8Y8e9S9l:R:`;g;h;l;m;n;o;p;q;v;w;x;y;z;{<O<P<Q<R<U<V<m<u<v<y<zT)Y$f)ZV*W$v;j;kU&m!^%h,cS(]#j#kQ*x%bS-g'y'zQ0Z+[Q3j/_R6}4X&rhOPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y#{$Q$U$^%P%a%|&P&Q&T&V&W&Y&^&f&j&s'V'a'c'i's(U(Y(^)Q)]*_*f+Q+r+v+{,X,[,l,t-V-`-l-x.P.V/`/e/r0c0s0t0u0w0{1O1Q1a1q2P2Z2c2w4Z4^4p5S5U5V5`5i5}7[7f7s8P8t9a9e:Z:n;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<p$c$P`!y#U%T'`'f(Q(X(a(b(c(d(e(f(g(h(i(j(k(m(p(t)O*w,^-Q-T-Y-_-t-z.O.Q.a/c1[1_1o2O2b2g2h2i2j2k2l2m2n2o2p2q2r2s2v2{3n3u5b5h5u6Q6R6W6X7P7y7}8^8b8c9c9w:V:X:l:w;T<dT!tS!u&shOPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y#{$Q$U$^%P%a%|&P&Q&T&V&W&Y&^&f&j&s'V'a'c'i's(U(Y(^)Q)]*_*f+Q+r+v+{,X,[,l,t-V-`-l-x.P.V/`/e/r0c0s0t0u0w0{1O1Q1a1q2P2Z2c2w4Z4^4p5S5U5V5`5i5}7[7f7s8P8t9a9e:Z:n;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pQ&k!^R1b,`!z!fQ!^!h!k!m!n!o!p!q!r&i&p&q&|&}'O'P'Q'R,`,f,h,x,z,{,|,}1v1y1z1{4_4g4h5o5r5s7T7U7V8U8x8y9zS)t$m)zS.|)u)|Q/V)}Q0]+^Q3e/UQ3h/XS4]0`4eS7W4b4kS7]4i4jS8{7_7`Q8}7aS9}8|9PR:g:OlmOUo!S#T%P&T&V&W&Y+v+{0{1OQ&[!VQ'Z!oS(P#e;XQ*k%YQ+`%qQ+a%rQ,m&uQ-P'SS-s(U;sS/d*_;|Q/o*lQ0_+_Q1S+}Q1U,OQ1^,ZQ1k,nQ1n,rS3o/e<SQ3s/pS3v/r<TQ5a1`Q5e1lQ5j1sQ6r3tQ7z5cQ7{5fQ8O5kQ9`7wQ9d8QQ:Y9fR:m:[$^$O`!y#U'`'f(Q(X(a(b(c(d(e(f(g(h(i(j(k(m(p(t)O*w,^-Q-T-Y-_-t-z.O.a/c1[1_1o2O2b2g2h2i2j2k2l2m2n2o2p2q2r2s2v2{3n3u5b5h5u6Q6R6W6X7P7y7}8^8b8c9c9w:V:X:l:w;T<dS'|#`&zU*P$n(T2uS*c%T.QQ2W/iQ5y2VQ8[5|R9m8]$^#}`!y#U'`'f(Q(X(a(b(c(d(e(f(g(h(i(j(k(m(p(t)O*w,^-Q-T-Y-_-t-z.O.a/c1[1_1o2O2b2g2h2i2j2k2l2m2n2o2p2q2r2s2v2{3n3u5b5h5u6Q6R6W6X7P7y7}8^8b8c9c9w:V:X:l:w;T<dS'{#`&zS(_#k$OS*b%T.QS-h'z'|Q.R(oQ/f*cR2T-i&rhOPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y#{$Q$U$^%P%a%|&P&Q&T&V&W&Y&^&f&j&s'V'a'c'i's(U(Y(^)Q)]*_*f+Q+r+v+{,X,[,l,t-V-`-l-x.P.V/`/e/r0c0s0t0u0w0{1O1Q1a1q2P2Z2c2w4Z4^4p5S5U5V5`5i5}7[7f7s8P8t9a9e:Z:n;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pS#aY;SQ&V!QQ&W!RQ&Y!TQ&Z!UR0z+yQ&r!`Q*d%VQ,k&tS-j'}*gQ1i,jW2X-m-n/h/jQ5d1jU5x2U2W2[S8X5y5{S9k8Z8[S:^9j9mQ:o:_R:x:pV!lQ&q,h!_ZOQUW[o!O!S!h#T#W$}%P%z%|&T&V&W&Y&q'v+v+{,h-b0`0{1O4_4eT#aY;S%UtOPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y$Q$U%P%a%|&P&Q&T&V&W&Y&^&f&s'V'a'c'i's(U(Y(^)]*_*f+Q+r+v+{,l,t-V-`-l-x.P/`/e/r0c0s0t0u0w0{1O1Q1q2P2Z2c4^4p5S5U5V5i5}7[7f7s8P9e:Z:nS(]#j#kS-g'y'z!m<Z#{$^&j)Q,X,[.V1a2w4Z5`8t9a;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pU!jQ&q,hY&{!h!n!o!p!qS'Y!k!mW'[!r4_4g4hS,w&|&}U,y'O'P'QW-O'R7T7U7VS1t,x,zU1w,{8x8yS1x,|,}S4a0`4eS5m1v1yS5p1z9zQ5q1{S7W4b4kS7^4i4jS8S5o5rQ8V5sS8{7_7`Q9O7aQ9h8US9}8|9PR:g:OU!lQ&q,hT4c0`4eU'X!j4`4aS'u#X0xU,v&{'[7^Q.n)iQ.z)tU1u,y-O9OQ3V.oS3`.{/VS5n1w1xQ6^3QS6i3f3hS8T5p5qQ8g6_Q8n6lR9i8VQ#g_U'W!j4`4aS't#X0xQ*`%OQ*i%WQ*o%^W,u&{'X'[7^Q-a'uQ.m)iQ.y)tQ/P)wQ/n*jQ0f+dW1r,v,y-O9OS3U.n.oS3_.z/VQ3b/OQ3d/QQ4s0gU5l1u1w1xQ6]3QQ6a3VS6e3`3hQ6j3gQ7h4tU8R5n5p5qS8f6^6_Q8j6fQ8l6iQ8v7QQ9V7iS9g8T8VQ9q8gQ9r8kQ9t8nQ9y8wQ:T9WQ:]9iQ:b9sQ:d9{Q:r:eQ:{:sQ;P:|Q<^<XQ<i<bR<j<c%U^OPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y$Q$U%P%a%|&P&Q&T&V&W&Y&^&f&s'V'a'c'i's(U(Y(^)]*_*f+Q+r+v+{,l,t-V-`-l-x.P/`/e/r0c0s0t0u0w0{1O1Q1q2P2Z2c4^4p5S5U5V5i5}7[7f7s8P9e:Z:nS#gs!b!l<W#{$^&j)Q,X,[.V1a2w4Z5`8t9a;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pR<^<o%U_OPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y$Q$U%P%a%|&P&Q&T&V&W&Y&^&f&s'V'a'c'i's(U(Y(^)]*_*f+Q+r+v+{,l,t-V-`-l-x.P/`/e/r0c0s0t0u0w0{1O1Q1q2P2Z2c4^4p5S5U5V5i5}7[7f7s8P9e:Z:nQ%Og!`%Wr!a!j%Z%[%]&h&v&w&x&{'Y)t*m*n,],o,p,w,y.|/q1f1m1t1x3e5m5q8S9hS%^s!bQ*j%XQ+d%uW0g+e+f+g+hU4t0h0i0jS7Q4]4aS7i4u4vW8w7R7W7]7^Q9W7jW9{8z8{8}9OS:e9|9}S:s:f:gQ:|:t!l<X#{$^&j)Q,X,[.V1a2w4Z5`8t9a;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pQ<b<nR<c<o$xbOPUVop!S!X!g!s#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y$Q$U%P%a%|&P&T&V&W&Y&^&f&s'V'c'i's(U(Y(^)]*_*f+Q+r+v+{,l,t-V-`-l-x.P/`/e/r0c0s0t0u0w0{1O1Q1q2P2Z2c4^4p5S5U5V5i5}7[7f7s8P9e:Z:nY#RTW!w!z'a!U%iwx#W#Y#]$}%g'j'q'r'v+O+P+R+t,Y-Z-^-b-c-e1T2R2S5_5wQ+q&Q!j<Y#{$^)Q,X,[.V1a2w4Z5`8t9a;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pR<]&jS&n!^%hR1d,c$zaOPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y$Q$U%P%a%|&P&T&V&W&Y&^&f&s'V'a'c'i's(U(Y(^)]*_+Q+r+v+{,l,t-V-`-x.P/`/e/r0c0s0t0u0w0{1O1Q1q2P2c4^4p5S5U5V5i7[7f7s8P9e:Z:n!l(n#{$^&j)Q,X,[.V1a2w4Z5`8t9a;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pQ+p&QQ/i*fQ2V-lQ5|2ZR8]5}!l#u`!y%T'`'f(Q(X(h(i(j(k(p(t*w-Q-T-Y-_-t-z.a/c1o2O2b2s3n3u5h5u6Q7}9c:X:l:w;T!T;`(m)O,^.Q1[1_2g2o2p2q2r2v2{5b6R6W6X7P7y8^8b8c9w:V<d!h#w`!y%T'`'f(Q(X(j(k(p(t*w-Q-T-Y-_-t-z.a/c1o2O2b2s3n3u5h5u6Q7}9c:X:l:w;T!P;b(m)O,^.Q1[1_2g2q2r2v2{5b6R6W6X7P7y8^8b8c9w:V<d!d#{`!y%T'`'f(Q(X(p(t*w-Q-T-Y-_-t-z.a/c1o2O2b2s3n3u5h5u6Q7}9c:X:l:w;TQ3P.iz<p(m)O,^.Q1[1_2g2v2{5b6R6W6X7P7y8^8b8c9w:V<dQ<u<wR<v<x&rhOPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y#{$Q$U$^%P%a%|&P&Q&T&V&W&Y&^&f&j&s'V'a'c'i's(U(Y(^)Q)]*_*f+Q+r+v+{,X,[,l,t-V-`-l-x.P.V/`/e/r0c0s0t0u0w0{1O1Q1a1q2P2Z2c2w4Z4^4p5S5U5V5`5i5}7[7f7s8P8t9a9e:Z:n;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pS$_e$`R2x.U&ydOPTUVWeop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y#{$Q$U$^$`%P%a%|&P&Q&T&V&W&Y&^&f&j&s'V'a'c'i's(U(Y(^)Q)]*_*f+Q+r+v+{,X,[,l,t-V-`-l-x.P.U.V/`/e/r0c0s0t0u0w0{1O1Q1a1q2P2Z2c2w4Z4^4p5S5U5V5`5i5}7[7f7s8P8t9a9e:Z:n;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pT$Zc$aQ$XcS(w$[({R)T$aT$Yc$aT(y$[({&yeOPTUVWeop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y#{$Q$U$^$`%P%a%|&P&Q&T&V&W&Y&^&f&j&s'V'a'c'i's(U(Y(^)Q)]*_*f+Q+r+v+{,X,[,l,t-V-`-l-x.P.U.V/`/e/r0c0s0t0u0w0{1O1Q1a1q2P2Z2c2w4Z4^4p5S5U5V5`5i5}7[7f7s8P8t9a9e:Z:n;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<pT$_e$`Q$beR)S$`%UgOPTUVWop!S!X!g!s!w!z#T#_#e#i#l#o#p#q#r#s#t#u#v#w#x#y$Q$U%P%a%|&P&Q&T&V&W&Y&^&f&s'V'a'c'i's(U(Y(^)]*_*f+Q+r+v+{,l,t-V-`-l-x.P/`/e/r0c0s0t0u0w0{1O1Q1q2P2Z2c4^4p5S5U5V5i5}7[7f7s8P9e:Z:n!m<n#{$^&j)Q,X,[.V1a2w4Z5`8t9a;R;U;X;Y;Z;[;];^;_;`;a;b;c;d;e;i;r;s;u;|;}<S<T<p#aiOPUWo!S!X!g!s#T#_#l$^%P%|&P&Q&T&V&W&Y&^&f&s(^)Q*f+Q+r+v+{,l-l.V/`0c0s0t0u0w0{1O1Q2Z2w4^4p5S5U5V5}7[7f7sv$nf#h$w$x$|)b)d)l*Q*R-u.r/b3P3i8e<m<u<v!z(T#f$S$T$i$l)X)e)r*e*h+V+Y-k.s.u0V0Y0b2Y3Z3c3p3r4o5z6b6k7c8Y9S9l:R:`;l;n;p;v;x;z<O<Q<U<y<zQ*[$zQ.b)^g2u;g;h;m;o;q;w;y;{<P<R<Vv$jf#h$w$x$|)b)d)l*Q*R-u.r/b3P3i8e<m<u<vQ)n$kS)w$m)zQ*]${Q/Q)x!z<`#f$S$T$i$l)X)e)r*e*h+V+Y-k.s.u0V0Y0b2Y3Z3c3p3r4o5z6b6k7c8Y9S9l:R:`;l;n;p;v;x;z<O<Q<U<y<zf<a;g;h;m;o;q;w;y;{<P<R<VQ<e<qQ<f<rQ<g<sR<h<tv$nf#h$w$x$|)b)d)l*Q*R-u.r/b3P3i8e<m<u<v!z(T#f$S$T$i$l)X)e)r*e*h+V+Y-k.s.u0V0Y0b2Y3Z3c3p3r4o5z6b6k7c8Y9S9l:R:`;l;n;p;v;x;z<O<Q<U<y<zg2u;g;h;m;o;q;w;y;{<P<R<VlkOUo!S#T%P&T&V&W&Y+v+{0{1OQ)q$lQ,U&aQ,V&cR3Y.s$Y$of#f#h$S$T$i$l$w$x$|)X)b)d)e)l)r*Q*R*e*h+V+Y-k-u.r.s.u/b0V0Y0b2Y3P3Z3c3i3p3r4o5z6b6k7c8Y8e9S9l:R:`;g;h;l;m;n;o;p;q;v;w;x;y;z;{<O<P<Q<R<U<V<m<u<v<y<zQ+X%oQ0X+ZQ4V0WR6|4WT)y$m)zS)y$m)zT4d0`4eS/O)v4^T3g/W7[Q*i%WQ/P)wQ/n*jQ0f+dQ4s0gQ7h4tQ8v7QQ9V7iQ9y8wQ:T9WQ:d9{Q:r:eQ:{:sR;P:|n)b$g(V*^.q/Y/Z2`3W3m6[6m9p<_<k<l!W;v(R(r)h)p-r.^.i.v/g0U0W2_3X3]4U4W6O6P6c6g6o6q8i8m:a<w<x];w2t6V8_9n9o:yp)d$g(V*^.g.q/Y/Z2`3W3m6[6m9p<_<k<l!Y;x(R(r)h)p-r.^.i.v/g0U0W2]2_3X3]4U4W6O6P6c6g6o6q8i8m:a<w<x_;y2t6V8_8`9n9o:ypjOUo!O!S#T%P%z&T&V&W&Y+v+{0{1OQ%w}R+r&QpjOUo!O!S#T%P%z&T&V&W&Y+v+{0{1OR%w}Q+]%pR0T+UqjOUo!O!S#T%P%z&T&V&W&Y+v+{0{1OQ0a+bS4n0d0eU7b4l4m4qS9R7d7eS:P9Q9TQ:h:QR:u:iQ&O!OR+l%zR4z0mR9Y7kS%`u%eR/y*uQ&T!PR+v&UR+|&ZT0|+{1OR,Q&[Q,P&[R1V,QQoOQ#TUT%So#TQ)Z$fR._)ZQ!uSR'^!uQ!xTU'd!x'e-WQ'e!yR-W'fQ,a&kR1c,aQ-v(VR2a-vQ-y(XS2d-y2eR2e-zQ,h&qR1g,hr[OUo!O!S#T%P%z%|&T&V&W&Y+v+{0{1OU!hQ&q,hS#WW$}Y#b[!h#W-b4_Q-b'vT4_0`4eS#OT%gU'k#O'l-XQ'l#PR-X'gQ,d&nR1e,dQ'w#ZQ-['pW-f'w-[1|5tQ1|-]R5t1}Q({$[R.W({Q$`eR)R$`Q$R`U(q$R-S;fQ-S;TR;f)OQ.l)iW3S.l3T6`8hU3T.m.n.oS6`3U3VR8h6a#m)`$g(R(V(r)h)p*X*Y*^-p-q-r.^.g.h.i.q.v/Y/Z/g0U0W2]2^2_2`2t3W3X3]3m4U4W6O6P6T6U6V6[6c6g6m6o6q8_8`8a8i8m9n9o9p:a:y<_<k<l<w<xQ.t)pU3[.t3^6dQ3^.vR6d3]Q)z$mR/S)zQ*T$qR/]*TQ3q/gR6p3qQ+S%jR0S+SQ4Y0ZS7O4Y8uR8u7PQ+_%qR0^+_Q4e0`R7Y4eQ0l+iS4x0l7lR7l4zQ/t*qW3z/t3|6v8qQ3|/wQ6v3{R8q6wQ*v%`R/z*vQ1O+{R5Y1OWnOUo#TQ&X!SQ*a%PQ+u&TQ+w&VQ+x&WQ+z&YQ0y+vS0|+{1OR5X0{Q%RlQ&]!WQ&`!YQ&b!ZQ&d![U'U!j4`4aQ*}%fQ+T%kQ+k&OQ,S&_Y,s&{'W'X'[7^Q/R)yS0o+l+oQ1W,RQ1X,UQ1Y,V[1p,u,v,y-O-Q9OQ4P/}Q4T0UQ4r0fQ4|0qQ5W0zY5g1o1r1u1w1xQ6z4RQ6{4UQ7X4dQ7g4sQ7m4{Y7|5h5l5n5p5qQ8r6xQ9U7hQ9Z7nW9b7}8R8T8VQ9v8sQ9x8vQ:S9VU:W9c9g9iQ:c9yQ:j:TS:k:X:]Q:q:dQ:v:lQ:z:rQ:}:wQ;O:{R;Q;PQ%YrQ&u!aQ'S!jU*l%Z%[%]Q,Z&hU,n&v&w&xS,r&{'YQ.x)tS/p*m*nQ1`,]S1l,o,pS1s,w,yQ3a.|Q3t/qQ5c1fQ5f1mS5k1t1xQ6h3eS8Q5m5qQ9f8SR:[9hS$hf<mR*U$rU$qf$r<mR/[*SQ$gfS(R#f*hQ(V#hS(r$S$TQ)h$iQ)p$lQ*X$wQ*Y$xQ*^$|Q-p;lQ-q;nQ-r;pQ.^)XQ.g)bQ.h)dQ.i)eQ.q)lQ.v)rQ/Y*QQ/Z*Rh/g*e-k0b2Y4o5z7c8Y9S9l:R:`Q0U+VQ0W+YQ2];vQ2^;xQ2_;zQ2`-uS2t;g;hQ3W.rQ3X.sQ3].uQ3m/bQ4U0VQ4W0YQ6O<OQ6P<QQ6T;mQ6U;oQ6V;qQ6[3PQ6c3ZQ6g3cQ6m3iQ6o3pQ6q3rQ8_;{Q8`;wQ8a;yQ8i6bQ8m6kQ9n<PQ9o<RQ9p8eQ:a<UQ:y<VQ<_<mQ<k<uQ<l<vQ<w<yR<x<zllOUo!S#T%P&T&V&W&Y+v+{0{1OQ!_PS#VW#_Q&_!XU&y!g4^7[Q']!sQ(`#lQ)P$^S+o%|&PQ+s&QQ,R&^Q,W&fQ,j&sQ-|(^Q.[)QQ/j*fQ0Q+QQ0v+rQ1j,lQ2W-lQ2z.VQ3k/`Q4m0cQ5O0sQ5P0tQ5R0uQ5T0wQ5[1QQ5y2ZQ6Y2wQ7e4pQ7r5SQ7t5UQ7u5VQ8[5}Q9T7fR9]7s#U`OPUWo!S!X!g#T#_#l%P%|&P&Q&T&V&W&Y&^&f&s(^*f+Q+r+v+{,l-l/`0c0s0t0u0w0{1O1Q2Z4^4p5S5U5V5}7[7f7sQ!yTQ#UVQ%TpS'`!w'cQ'f!zQ(Q#eQ(X#iQ(a#oQ(b#pQ(c#qQ(d#rQ(e#sQ(f#tQ(g#uQ(h#vQ(i#wQ(j#xQ(k#yQ(m#{Q(p$QQ(t$UW)O$^)Q.V2wQ*w%aS,^&j1aQ-Q'VS-T'a-VQ-Y'iQ-_'sQ-t(UQ-z(YQ.O;RQ.Q;UQ.a)]Q/c*_Q1[,XQ1_,[Q1o,tQ2O-`Q2b-xQ2g;XQ2h;YQ2i;ZQ2j;[Q2k;]Q2l;^Q2m;_Q2n;`Q2o;aQ2p;bQ2q;cQ2r;dQ2s.PQ2v;iQ2{;eQ3n/eQ3u/rQ5b;rQ5h1qQ5u2PQ6Q2cQ6R;sQ6W;uQ6X;|Q7P4ZQ7y5`Q7}5iQ8^;}Q8b<SQ8c<TQ9c8PQ9w8tQ:V9aQ:X9eQ:l:ZQ:w:nQ;T!sR<d<pR!{TR&l!^U!jQ&q,hS&h!^,`Y&{!h!n!o!p!qS'Y!k!m['[!r4_4g4h4i4jS,]&i&pS,w&|&}U,y'O'P'QY-O'R7T7U7V7aQ1f,fS1t,x,zU1w,{8x8yS1x,|,}S4`0`4eS5m1v1yS5p1z9zQ5q1{S8S5o5rQ8V5sR9h8UR(W#hR(Z#iQ!_QT,g&q,hQ#`YR&z;ST#[W$}S#ZW$}U%jwx+tU'p#W#Y#]S-]'q'rQ-d'vQ0R+RQ1}-^U2Q-b-c-eS5v2R2SR8W5w`!}T!w!z%g'a'j+O-Zt#XWwx#W#Y#]$}'q'r'v+R-^-b-c-e2R2S5wQ0x+tQ1],YQ5^1TQ7x5_T<[&j+PT#QT%gS#PT%gS'b!w'jS'g!z+OS,_&j+PT-U'a-ZT&o!^%hQ$[cR)V$aT(z$[({R2y.UT)k$i)mR)s$lQ/h*eQ2U-kQ4l0bQ5{2YQ7d4oQ8Z5zQ9Q7cQ9j8YQ:Q9SQ:_9lQ:i:RR:p:`lmOUo!S#T%P&T&V&W&Y+v+{0{1OQ%}!OR+k%zV%kwx+tR0[+[R+j%xQ%duR*|%eR*r%_T&R!P&UT&S!P&UT0}+{1O",nodeNames:"⚠ ArithOp ArithOp InterpolationStart LineComment BlockComment Script ExportDeclaration export Star as VariableName String from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:346,context:Kx,nodeProps:[["closedBy",3,"InterpolationEnd",43,"]",53,"}",68,")",139,"JSXSelfCloseEndTag JSXEndTag",155,"JSXEndTag"],["group",-26,7,14,16,60,194,198,201,202,204,207,210,221,223,229,231,233,235,238,244,250,252,254,256,258,260,261,"Statement",-30,11,12,25,28,29,34,44,46,47,49,54,62,70,76,77,98,99,108,109,126,129,131,132,133,134,136,137,157,158,160,"Expression",-23,24,26,30,33,35,37,161,163,165,166,168,169,170,172,173,174,176,177,178,188,190,192,193,"Type",-3,80,91,97,"ClassItem"],["openedBy",31,"InterpolationStart",48,"[",52,"{",67,"(",138,"JSXStartTag",150,"JSXStartTag JSXStartCloseTag"]],propSources:[rQ],skippedNodes:[0,4,5],repeatNodeCount:29,tokenData:"#2k~R!bOX%ZXY%uYZ'kZ[%u[]%Z]^'k^p%Zpq%uqr(Rrs)mst7]tu9guv<avw=bwx>lxyJcyzJyz{Ka{|Lm|}MW}!OLm!O!PMn!P!Q!$v!Q!R!Er!R![!G_![!]!Nc!]!^!N{!^!_# c!_!`#!`!`!a##d!a!b#%s!b!c#'h!c!}9g!}#O#(O#O#P%Z#P#Q#(f#Q#R#(|#R#S9g#S#T#)g#T#o#)}#o#p#,w#p#q#,|#q#r#-j#r#s#.S#s$f%Z$f$g%u$g#BY9g#BY#BZ#.j#BZ$IS9g$IS$I_#.j$I_$I|9g$I|$I}#1X$I}$JO#1X$JO$JT9g$JT$JU#.j$JU$KV9g$KV$KW#.j$KW&FU9g&FU&FV#.j&FV;'S9g;'S;=`<Z<%l?HT9g?HT?HU#.j?HUO9g`%`T$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z`%rP;=`<%l%Z7Z%|i$_`'g6yOX%ZXY%uYZ%ZZ[%u[p%Zpq%uq!^%Z!_#o%Z#p$f%Z$f$g%u$g#BY%Z#BY#BZ%u#BZ$IS%Z$IS$I_%u$I_$JT%Z$JT$JU%u$JU$KV%Z$KV$KW%u$KW&FU%Z&FU&FV%u&FV;'S%Z;'S;=`%o<%l?HT%Z?HT?HU%u?HUO%Z7Z'rT$_`'h6yO!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z,m(YU$_`!l,]O!^%Z!_!`(l!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z,j(sU#l,Y$_`O!^%Z!_!`)V!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z,j)^T#l,Y$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z*m)t]$_`[*TOY)mYZ*mZr)mrs,js!^)m!^!_-S!_#O)m#O#P1q#P#o)m#o#p-S#p;'S)m;'S;=`7V<%lO)mh*rX$_`Or*mrs+_s!^*m!^!_+u!_#o*m#o#p+u#p;'S*m;'S;=`,d<%lO*mh+fT$YW$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%ZW+xTOr+urs,Xs;'S+u;'S;=`,^<%lO+uW,^O$YWW,aP;=`<%l+uh,gP;=`<%l*m*m,sT$YW$_`[*TO!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z*]-XX[*TOY-SYZ+uZr-Srs-ts#O-S#O#P-{#P;'S-S;'S;=`1k<%lO-S*]-{O$YW[*T*].OUOr-Srs.bs;'S-S;'S;=`0y;=`<%l/R<%lO-S*].iW$YW[*TOY/RZr/Rrs/ps#O/R#O#P/u#P;'S/R;'S;=`0s<%lO/R*T/WW[*TOY/RZr/Rrs/ps#O/R#O#P/u#P;'S/R;'S;=`0s<%lO/R*T/uO[*T*T/xRO;'S/R;'S;=`0R;=`O/R*T0WX[*TOY/RZr/Rrs/ps#O/R#O#P/u#P;'S/R;'S;=`0s;=`<%l/R<%lO/R*T0vP;=`<%l/R*]1OX[*TOY/RZr/Rrs/ps#O/R#O#P/u#P;'S/R;'S;=`0s;=`<%l-S<%lO/R*]1nP;=`<%l-S*m1vY$_`Or)mrs2fs!^)m!^!_-S!_#o)m#o#p-S#p;'S)m;'S;=`6e;=`<%l/R<%lO)m*m2o]$YW$_`[*TOY3hYZ%ZZr3hrs4hs!^3h!^!_/R!_#O3h#O#P5O#P#o3h#o#p/R#p;'S3h;'S;=`6_<%lO3h*e3o]$_`[*TOY3hYZ%ZZr3hrs4hs!^3h!^!_/R!_#O3h#O#P5O#P#o3h#o#p/R#p;'S3h;'S;=`6_<%lO3h*e4oT$_`[*TO!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e5TW$_`O!^3h!^!_/R!_#o3h#o#p/R#p;'S3h;'S;=`5m;=`<%l/R<%lO3h*e5rX[*TOY/RZr/Rrs/ps#O/R#O#P/u#P;'S/R;'S;=`0s;=`<%l3h<%lO/R*e6bP;=`<%l3h*m6jX[*TOY/RZr/Rrs/ps#O/R#O#P/u#P;'S/R;'S;=`0s;=`<%l)m<%lO/R*m7YP;=`<%l)m&}7b]$_`Ot%Ztu8Zu!^%Z!_!c%Z!c!}8Z!}#R%Z#R#S8Z#S#T%Z#T#o8Z#p$g%Z$g;'S8Z;'S;=`9a<%lO8Z&}8b_$_`'}&mOt%Ztu8Zu!Q%Z!Q![8Z![!^%Z!_!c%Z!c!}8Z!}#R%Z#R#S8Z#S#T%Z#T#o8Z#p$g%Z$g;'S8Z;'S;=`9a<%lO8Z&}9dP;=`<%l8Z7Z9ra$_`'s&l'j1T$RWOt%Ztu9gu}%Z}!O:w!O!Q%Z!Q![9g![!^%Z!_!c%Z!c!}9g!}#R%Z#R#S9g#S#T%Z#T#o9g#p$g%Z$g;'S9g;'S;=`<Z<%lO9gh;Oa$_`$RWOt%Ztu:wu}%Z}!O:w!O!Q%Z!Q![:w![!^%Z!_!c%Z!c!}:w!}#R%Z#R#S:w#S#T%Z#T#o:w#p$g%Z$g;'S:w;'S;=`<T<%lO:wh<WP;=`<%l:w7Z<^P;=`<%l9g,j<hU$_`#d,YO!^%Z!_!`<z!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z,j=RT$_`#v,YO!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z.n=iW(W.^$_`Ov%Zvw>Rw!^%Z!_!`<z!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z,j>YU$_`#p,YO!^%Z!_!`<z!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z*m>s]$_`[*TOY>lYZ?lZw>lwx,jx!^>l!^!_@|!_#O>l#O#PE_#P#o>l#o#p@|#p;'S>l;'S;=`J]<%lO>lh?qX$_`Ow?lwx+_x!^?l!^!_@^!_#o?l#o#p@^#p;'S?l;'S;=`@v<%lO?lW@aTOw@^wx,Xx;'S@^;'S;=`@p<%lO@^W@sP;=`<%l@^h@yP;=`<%l?l*]ARX[*TOY@|YZ@^Zw@|wx-tx#O@|#O#PAn#P;'S@|;'S;=`EX<%lO@|*]AqUOw@|wxBTx;'S@|;'S;=`Dg;=`<%lBt<%lO@|*]B[W$YW[*TOYBtZwBtwx/px#OBt#O#PCc#P;'SBt;'S;=`Da<%lOBt*TByW[*TOYBtZwBtwx/px#OBt#O#PCc#P;'SBt;'S;=`Da<%lOBt*TCfRO;'SBt;'S;=`Co;=`OBt*TCtX[*TOYBtZwBtwx/px#OBt#O#PCc#P;'SBt;'S;=`Da;=`<%lBt<%lOBt*TDdP;=`<%lBt*]DlX[*TOYBtZwBtwx/px#OBt#O#PCc#P;'SBt;'S;=`Da;=`<%l@|<%lOBt*]E[P;=`<%l@|*mEdY$_`Ow>lwxFSx!^>l!^!_@|!_#o>l#o#p@|#p;'S>l;'S;=`Ik;=`<%lBt<%lO>l*mF]]$YW$_`[*TOYGUYZ%ZZwGUwx4hx!^GU!^!_Bt!_#OGU#O#PHU#P#oGU#o#pBt#p;'SGU;'S;=`Ie<%lOGU*eG]]$_`[*TOYGUYZ%ZZwGUwx4hx!^GU!^!_Bt!_#OGU#O#PHU#P#oGU#o#pBt#p;'SGU;'S;=`Ie<%lOGU*eHZW$_`O!^GU!^!_Bt!_#oGU#o#pBt#p;'SGU;'S;=`Hs;=`<%lBt<%lOGU*eHxX[*TOYBtZwBtwx/px#OBt#O#PCc#P;'SBt;'S;=`Da;=`<%lGU<%lOBt*eIhP;=`<%lGU*mIpX[*TOYBtZwBtwx/px#OBt#O#PCc#P;'SBt;'S;=`Da;=`<%l>l<%lOBt*mJ`P;=`<%l>l5oJjT!f5_$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z$ZKQT!e#y$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z2yKjW$_`'k'_#e,YOz%Zz{LS{!^%Z!_!`<z!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z,jLZU$_`#b,YO!^%Z!_!`<z!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z0TLtU$_`k/sO!^%Z!_!`<z!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z1gM_T!T1V$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z7ZMuX$_`x4QO!O%Z!O!PNb!P!Q%Z!Q![! d![!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z$XNgV$_`O!O%Z!O!PN|!P!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z$X! TT!S#w$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e! k]$_`l*TO!Q%Z!Q![! d![!^%Z!_!g%Z!g!h!!d!h#R%Z#R#S! d#S#X%Z#X#Y!!d#Y#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!!i]$_`O{%Z{|!#b|}%Z}!O!#b!O!Q%Z!Q![!$S![!^%Z!_#R%Z#R#S!$S#S#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!#gX$_`O!Q%Z!Q![!$S![!^%Z!_#R%Z#R#S!$S#S#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!$ZX$_`l*TO!Q%Z!Q![!$S![!^%Z!_#R%Z#R#S!$S#S#o%Z#p;'S%Z;'S;=`%o<%lO%Z7Z!$}b$_`#c,YOY!&VYZ%ZZz!&Vz{!-n{!P!&V!P!Q!BV!Q!^!&V!^!_!(f!_!`!Ch!`!a!Dm!a!}!&V!}#O!+T#O#P!,v#P#o!&V#o#p!(f#p;'S!&V;'S;=`!-h<%lO!&Va!&^^$_`!PPOY!&VYZ%ZZ!P!&V!P!Q!'Y!Q!^!&V!^!_!(f!_!}!&V!}#O!+T#O#P!,v#P#o!&V#o#p!(f#p;'S!&V;'S;=`!-h<%lO!&Va!'aa$_`!PPO!^%Z!_#Z%Z#Z#[!'Y#[#]%Z#]#^!'Y#^#a%Z#a#b!'Y#b#g%Z#g#h!'Y#h#i%Z#i#j!'Y#j#m%Z#m#n!'Y#n#o%Z#p;'S%Z;'S;=`%o<%lO%ZP!(kX!PPOY!(fZ!P!(f!P!Q!)W!Q!}!(f!}#O!)o#O#P!*n#P;'S!(f;'S;=`!*}<%lO!(fP!)]U!PP#Z#[!)W#]#^!)W#a#b!)W#g#h!)W#i#j!)W#m#n!)WP!)rVOY!)oZ#O!)o#O#P!*X#P#Q!(f#Q;'S!)o;'S;=`!*h<%lO!)oP!*[SOY!)oZ;'S!)o;'S;=`!*h<%lO!)oP!*kP;=`<%l!)oP!*qSOY!(fZ;'S!(f;'S;=`!*}<%lO!(fP!+QP;=`<%l!(fa!+Y[$_`OY!+TYZ%ZZ!^!+T!^!_!)o!_#O!+T#O#P!,O#P#Q!&V#Q#o!+T#o#p!)o#p;'S!+T;'S;=`!,p<%lO!+Ta!,TX$_`OY!+TYZ%ZZ!^!+T!^!_!)o!_#o!+T#o#p!)o#p;'S!+T;'S;=`!,p<%lO!+Ta!,sP;=`<%l!+Ta!,{X$_`OY!&VYZ%ZZ!^!&V!^!_!(f!_#o!&V#o#p!(f#p;'S!&V;'S;=`!-h<%lO!&Va!-kP;=`<%l!&V7Z!-u`$_`!PPOY!-nYZ!.wZz!-nz{!2U{!P!-n!P!Q!@m!Q!^!-n!^!_!4m!_!}!-n!}#O!;l#O#P!?o#P#o!-n#o#p!4m#p;'S!-n;'S;=`!@g<%lO!-n7Z!.|X$_`Oz!.wz{!/i{!^!.w!^!_!0w!_#o!.w#o#p!0w#p;'S!.w;'S;=`!2O<%lO!.w7Z!/nZ$_`Oz!.wz{!/i{!P!.w!P!Q!0a!Q!^!.w!^!_!0w!_#o!.w#o#p!0w#p;'S!.w;'S;=`!2O<%lO!.w7Z!0hT$_`T6yO!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z6y!0zTOz!0wz{!1Z{;'S!0w;'S;=`!1x<%lO!0w6y!1^VOz!0wz{!1Z{!P!0w!P!Q!1s!Q;'S!0w;'S;=`!1x<%lO!0w6y!1xOT6y6y!1{P;=`<%l!0w7Z!2RP;=`<%l!.w7Z!2]`$_`!PPOY!-nYZ!.wZz!-nz{!2U{!P!-n!P!Q!3_!Q!^!-n!^!_!4m!_!}!-n!}#O!;l#O#P!?o#P#o!-n#o#p!4m#p;'S!-n;'S;=`!@g<%lO!-n7Z!3ha$_`T6y!PPO!^%Z!_#Z%Z#Z#[!'Y#[#]%Z#]#^!'Y#^#a%Z#a#b!'Y#b#g%Z#g#h!'Y#h#i%Z#i#j!'Y#j#m%Z#m#n!'Y#n#o%Z#p;'S%Z;'S;=`%o<%lO%Z6y!4r[!PPOY!4mYZ!0wZz!4mz{!5h{!P!4m!P!Q!:b!Q!}!4m!}#O!6|#O#P!9r#P;'S!4m;'S;=`!:[<%lO!4m6y!5m[!PPOY!4mYZ!0wZz!4mz{!5h{!P!4m!P!Q!6c!Q!}!4m!}#O!6|#O#P!9r#P;'S!4m;'S;=`!:[<%lO!4m6y!6jUT6y!PP#Z#[!)W#]#^!)W#a#b!)W#g#h!)W#i#j!)W#m#n!)W6y!7PYOY!6|YZ!0wZz!6|z{!7o{#O!6|#O#P!9S#P#Q!4m#Q;'S!6|;'S;=`!9l<%lO!6|6y!7r[OY!6|YZ!0wZz!6|z{!7o{!P!6|!P!Q!8h!Q#O!6|#O#P!9S#P#Q!4m#Q;'S!6|;'S;=`!9l<%lO!6|6y!8mVT6yOY!)oZ#O!)o#O#P!*X#P#Q!(f#Q;'S!)o;'S;=`!*h<%lO!)o6y!9VVOY!6|YZ!0wZz!6|z{!7o{;'S!6|;'S;=`!9l<%lO!6|6y!9oP;=`<%l!6|6y!9uVOY!4mYZ!0wZz!4mz{!5h{;'S!4m;'S;=`!:[<%lO!4m6y!:_P;=`<%l!4m6y!:ga!PPOz!0wz{!1Z{#Z!0w#Z#[!:b#[#]!0w#]#^!:b#^#a!0w#a#b!:b#b#g!0w#g#h!:b#h#i!0w#i#j!:b#j#m!0w#m#n!:b#n;'S!0w;'S;=`!1x<%lO!0w7Z!;q^$_`OY!;lYZ!.wZz!;lz{!<m{!^!;l!^!_!6|!_#O!;l#O#P!>q#P#Q!-n#Q#o!;l#o#p!6|#p;'S!;l;'S;=`!?i<%lO!;l7Z!<r`$_`OY!;lYZ!.wZz!;lz{!<m{!P!;l!P!Q!=t!Q!^!;l!^!_!6|!_#O!;l#O#P!>q#P#Q!-n#Q#o!;l#o#p!6|#p;'S!;l;'S;=`!?i<%lO!;l7Z!={[$_`T6yOY!+TYZ%ZZ!^!+T!^!_!)o!_#O!+T#O#P!,O#P#Q!&V#Q#o!+T#o#p!)o#p;'S!+T;'S;=`!,p<%lO!+T7Z!>vZ$_`OY!;lYZ!.wZz!;lz{!<m{!^!;l!^!_!6|!_#o!;l#o#p!6|#p;'S!;l;'S;=`!?i<%lO!;l7Z!?lP;=`<%l!;l7Z!?tZ$_`OY!-nYZ!.wZz!-nz{!2U{!^!-n!^!_!4m!_#o!-n#o#p!4m#p;'S!-n;'S;=`!@g<%lO!-n7Z!@jP;=`<%l!-n7Z!@te$_`!PPOz!.wz{!/i{!^!.w!^!_!0w!_#Z!.w#Z#[!@m#[#]!.w#]#^!@m#^#a!.w#a#b!@m#b#g!.w#g#h!@m#h#i!.w#i#j!@m#j#m!.w#m#n!@m#n#o!.w#o#p!0w#p;'S!.w;'S;=`!2O<%lO!.w7Z!B^X$_`S6yOY!BVYZ%ZZ!^!BV!^!_!By!_#o!BV#o#p!By#p;'S!BV;'S;=`!Cb<%lO!BV6y!COSS6yOY!ByZ;'S!By;'S;=`!C[<%lO!By6y!C_P;=`<%l!By7Z!CeP;=`<%l!BV,k!Cq^$_`#v,Y!PPOY!&VYZ%ZZ!P!&V!P!Q!'Y!Q!^!&V!^!_!(f!_!}!&V!}#O!+T#O#P!,v#P#o!&V#o#p!(f#p;'S!&V;'S;=`!-h<%lO!&Vi!Dv^$OW$_`!PPOY!&VYZ%ZZ!P!&V!P!Q!'Y!Q!^!&V!^!_!(f!_!}!&V!}#O!+T#O#P!,v#P#o!&V#o#p!(f#p;'S!&V;'S;=`!-h<%lO!&V*e!Eyf$_`l*TO!O%Z!O!P! d!P!Q%Z!Q![!G_![!^%Z!_!g%Z!g!h!!d!h#R%Z#R#S!G_#S#U%Z#U#V!IR#V#X%Z#X#Y!!d#Y#b%Z#b#c!Hk#c#d!Js#d#l%Z#l#m!L_#m#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!Gfa$_`l*TO!O%Z!O!P! d!P!Q%Z!Q![!G_![!^%Z!_!g%Z!g!h!!d!h#R%Z#R#S!G_#S#X%Z#X#Y!!d#Y#b%Z#b#c!Hk#c#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!HrT$_`l*TO!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!IWY$_`O!Q%Z!Q!R!Iv!R!S!Iv!S!^%Z!_#R%Z#R#S!Iv#S#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!I}[$_`l*TO!Q%Z!Q!R!Iv!R!S!Iv!S!^%Z!_#R%Z#R#S!Iv#S#b%Z#b#c!Hk#c#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!JxX$_`O!Q%Z!Q!Y!Ke!Y!^%Z!_#R%Z#R#S!Ke#S#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!KlZ$_`l*TO!Q%Z!Q!Y!Ke!Y!^%Z!_#R%Z#R#S!Ke#S#b%Z#b#c!Hk#c#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!Ld]$_`O!Q%Z!Q![!M]![!^%Z!_!c%Z!c!i!M]!i#R%Z#R#S!M]#S#T%Z#T#Z!M]#Z#o%Z#p;'S%Z;'S;=`%o<%lO%Z*e!Md_$_`l*TO!Q%Z!Q![!M]![!^%Z!_!c%Z!c!i!M]!i#R%Z#R#S!M]#S#T%Z#T#Z!M]#Z#b%Z#b#c!Hk#c#o%Z#p;'S%Z;'S;=`%o<%lO%Z.y!NlT!__$_`#t.YO!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Zg# ST^V$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z7Z# nR'n$h!c3W$Pi([P!P!Q# w!^!_# |!_!`#!Z`# |O$a`,Y#!RP#f,Y!_!`#!U,Y#!ZO#v,Y,Y#!`O#g,Y.y#!gV#S.i$_`O!^%Z!_!`(l!`!a#!|!a#o%Z#p;'S%Z;'S;=`%o<%lO%Z,k##TT#_,Z$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z.y##oVd#T#g,Y$[Y$_`O!^%Z!_!`#$U!`!a#$l!a#o%Z#p;'S%Z;'S;=`%o<%lO%Z,j#$]T#g,Y$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z,j#$sV#f,Y$_`O!^%Z!_!`<z!`!a#%Y!a#o%Z#p;'S%Z;'S;=`%o<%lO%Z,j#%aU#f,Y$_`O!^%Z!_!`<z!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z2y#%zX(O,]$_`O!O%Z!O!P#&g!P!^%Z!_!a%Z!a!b#&}!b#o%Z#p;'S%Z;'S;=`%o<%lO%Z2w#&nTy2g$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z,j#'UU$_`#q,YO!^%Z!_!`<z!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z'R#'oT!t&q$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z7R#(VT{6q$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z$Z#(mT!Q#y$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z,j#)TU#n,Y$_`O!^%Z!_!`<z!`#o%Z#p;'S%Z;'S;=`%o<%lO%Z0R#)nT$_`'r/qO!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z7Z#*Ya$_`'s&l'j1T$TWOt%Ztu#)}u}%Z}!O#+_!O!Q%Z!Q![#)}![!^%Z!_!c%Z!c!}#)}!}#R%Z#R#S#)}#S#T%Z#T#o#)}#p$g%Z$g;'S#)};'S;=`#,q<%lO#)}h#+fa$_`$TWOt%Ztu#+_u}%Z}!O#+_!O!Q%Z!Q![#+_![!^%Z!_!c%Z!c!}#+_!}#R%Z#R#S#+_#S#T%Z#T#o#+_#p$g%Z$g;'S#+_;'S;=`#,k<%lO#+_h#,nP;=`<%l#+_7Z#,tP;=`<%l#)}~#,|O!V~.n#-TV(V.^$_`O!^%Z!_!`<z!`#o%Z#p#q#&}#q;'S%Z;'S;=`%o<%lO%Z,m#-sT!U,XoS$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Za#.ZT!mP$_`O!^%Z!_#o%Z#p;'S%Z;'S;=`%o<%lO%Z7Z#.wt$_`'g6y's&l'j1T$RWOX%ZXY%uYZ%ZZ[%u[p%Zpq%uqt%Ztu9gu}%Z}!O:w!O!Q%Z!Q![9g![!^%Z!_!c%Z!c!}9g!}#R%Z#R#S9g#S#T%Z#T#o9g#p$f%Z$f$g%u$g#BY9g#BY#BZ#.j#BZ$IS9g$IS$I_#.j$I_$JT9g$JT$JU#.j$JU$KV9g$KV$KW#.j$KW&FU9g&FU&FV#.j&FV;'S9g;'S;=`<Z<%l?HT9g?HT?HU#.j?HUO9g7Z#1fa$_`'h6y's&l'j1T$RWOt%Ztu9gu}%Z}!O:w!O!Q%Z!Q![9g![!^%Z!_!c%Z!c!}9g!}#R%Z#R#S9g#S#T%Z#T#o9g#p$g%Z$g;'S9g;'S;=`<Z<%lO9g",tokenizers:[tQ,iQ,nQ,0,1,2,3,4,5,6,7,8,9,eQ],topRules:{Script:[0,6],SingleExpression:[1,262],SingleClassItem:[2,263]},dialects:{jsx:12734,ts:12736},dynamicPrecedences:{158:1,186:1},specialized:[{term:302,get:e=>sQ[e]||-1},{term:311,get:e=>oQ[e]||-1},{term:65,get:e=>aQ[e]||-1}],tokenPrec:12759}),hQ=[Dm("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),Dm("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),Dm("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Dm("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Dm("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),Dm("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),Dm("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),Dm("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),Dm("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),Dm('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Dm('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],cQ=new el,uQ=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function fQ(e){return(t,i)=>{let n=t.node.getChild("VariableDefinition");return n&&i(n,e),!0}}const dQ=["FunctionDeclaration"],pQ={FunctionDeclaration:fQ("function"),ClassDeclaration:fQ("class"),ClassExpression:()=>!0,EnumDeclaration:fQ("constant"),TypeAliasDeclaration:fQ("type"),NamespaceDeclaration:fQ("namespace"),VariableDefinition(e,t){e.matchContext(dQ)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function OQ(e,t){let i=cQ.get(t);if(i)return i;let n=[],r=!0;function s(t,i){let r=e.sliceString(t.from,t.to);n.push({label:r,type:i})}return t.cursor(Ra.IncludeAnonymous).iterate(t=>{if(r)r=!1;else if(t.name){let e=pQ[t.name];if(e&&e(t,s)||uQ.has(t.name))return!1}else if(t.to-t.from>8192){for(let i of OQ(e,t.node))n.push(i);return!1}}),cQ.set(t,n),n}const mQ=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,gQ=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName"];function SQ(e){let t=Kh(e.state).resolveInner(e.pos,-1);if(gQ.indexOf(t.name)>-1)return null;let i="VariableName"==t.name||t.to-t.from<20&&mQ.test(e.state.sliceDoc(t.from,t.to));if(!i&&!e.explicit)return null;let n=[];for(let i=t;i;i=i.parent)uQ.has(i.name)&&(n=n.concat(OQ(e.state.doc,i)));return{options:n,from:i?t.from:e.pos,validFor:mQ}}const bQ=Jh.define({name:"javascript",parser:lQ.configure({props:[gc.add({IfStatement:Ac({except:/^\s*({|else\b)/}),TryStatement:Ac({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Tc,SwitchBody:e=>{let t=e.textAfter,i=/^\s*\}/.test(t),n=/^\s*(case|default)\b/.test(t);return e.baseIndent+(i?0:n?1:2)*e.unit},Block:kc({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":Ac({except:/^{/}),JSXElement(e){let t=/^\s*<\//.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},JSXEscape(e){let t=/\s*\}/.test(e.textAfter);return e.lineIndent(e.node.from)+(t?0:e.unit)},"JSXOpenTag JSXSelfClosingTag":e=>e.column(e.node.from)+e.unit}),Vc.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression":Xc,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),yQ=bQ.configure({dialect:"ts"},"typescript"),xQ=bQ.configure({dialect:"jsx"}),QQ=bQ.configure({dialect:"jsx ts"},"typescript"),vQ="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(e=>({label:e,type:"keyword"}));function wQ(e={}){let t=e.jsx?e.typescript?QQ:xQ:e.typescript?yQ:bQ;return new hc(t,[bQ.data.of({autocomplete:_O(gQ,XO(hQ.concat(vQ)))}),bQ.data.of({autocomplete:SQ}),e.jsx?TQ:[]])}function $Q(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if(!e.parent)return null;e=e.parent}}function kQ(e,t,i=e.length){for(let n=null==t?void 0:t.firstChild;n;n=n.nextSibling)if("JSXIdentifier"==n.name||"JSXBuiltin"==n.name||"JSXNamespacedName"==n.name||"JSXMemberExpression"==n.name)return e.sliceString(n.from,Math.min(n.to,i));return""}const PQ="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),TQ=gs.inputHandler.of((e,t,i,n)=>{if((PQ?e.composing:e.compositionStarted)||e.state.readOnly||t!=i||">"!=n&&"/"!=n||!bQ.isActiveAt(e.state,t,-1))return!1;let{state:r}=e,s=r.changeByRange(e=>{var t,i;let s,{head:o}=e,a=Kh(r).resolveInner(o,-1);if("JSXStartTag"==a.name&&(a=a.parent),">"==n&&"JSXFragmentTag"==a.name)return{range:V.cursor(o+1),changes:{from:o,insert:"><>"}};if("/"==n&&"JSXFragmentTag"==a.name){let e=a.parent,i=null==e?void 0:e.parent;if(e.from==o-1&&"JSXEndTag"!=(null===(t=i.lastChild)||void 0===t?void 0:t.name)&&(s=kQ(r.doc,null==i?void 0:i.firstChild,o))){let e=`/${s}>`;return{range:V.cursor(o+e.length),changes:{from:o,insert:e}}}}else if(">"==n){let e=$Q(a);if(e&&"JSXEndTag"!=(null===(i=e.lastChild)||void 0===i?void 0:i.name)&&"</"!=r.sliceDoc(o,o+2)&&(s=kQ(r.doc,e,o)))return{range:V.cursor(o+1),changes:{from:o,insert:`></${s}>`}}}return{range:e}});return!s.changes.empty&&(e.dispatch(s,{userEvent:"input.type",scrollIntoView:!0}),!0)}),AQ=["_blank","_self","_top","_parent"],CQ=["ascii","utf-8","utf-16","latin1","latin1"],WQ=["get","post","put","delete"],ZQ=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],VQ=["true","false"],XQ={},_Q={a:{attrs:{href:null,ping:null,type:null,media:null,target:AQ,hreflang:null}},abbr:XQ,address:XQ,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:XQ,aside:XQ,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:XQ,base:{attrs:{href:null,target:AQ}},bdi:XQ,bdo:XQ,blockquote:{attrs:{cite:null}},body:XQ,br:XQ,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:ZQ,formmethod:WQ,formnovalidate:["novalidate"],formtarget:AQ,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:XQ,center:XQ,cite:XQ,code:XQ,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:XQ,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:XQ,div:XQ,dl:XQ,dt:XQ,em:XQ,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:XQ,figure:XQ,footer:XQ,form:{attrs:{action:null,name:null,"accept-charset":CQ,autocomplete:["on","off"],enctype:ZQ,method:WQ,novalidate:["novalidate"],target:AQ}},h1:XQ,h2:XQ,h3:XQ,h4:XQ,h5:XQ,h6:XQ,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:XQ,hgroup:XQ,hr:XQ,html:{attrs:{manifest:null}},i:XQ,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:ZQ,formmethod:WQ,formnovalidate:["novalidate"],formtarget:AQ,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:XQ,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:XQ,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:XQ,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:CQ,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:XQ,noscript:XQ,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:XQ,param:{attrs:{name:null,value:null}},pre:XQ,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:XQ,rt:XQ,ruby:XQ,samp:XQ,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:CQ}},section:XQ,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:XQ,source:{attrs:{src:null,type:null,media:null}},span:XQ,strong:XQ,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:XQ,summary:XQ,sup:XQ,table:XQ,tbody:XQ,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:XQ,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:XQ,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:XQ,time:{attrs:{datetime:null}},title:XQ,tr:XQ,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:XQ,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:XQ},RQ={accesskey:null,class:null,contenteditable:VQ,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:VQ,autocorrect:VQ,autocapitalize:VQ,style:null,tabindex:null,title:null,translate:["yes","no"],onclick:null,rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":VQ,"aria-autocomplete":["inline","list","both","none"],"aria-busy":VQ,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":VQ,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":VQ,"aria-hidden":VQ,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":VQ,"aria-multiselectable":VQ,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":VQ,"aria-relevant":null,"aria-required":VQ,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null};class MQ{constructor(e,t){this.tags=Object.assign(Object.assign({},_Q),e),this.globalAttrs=Object.assign(Object.assign({},RQ),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function qQ(e,t,i=e.length){if(!t)return"";let n=t.firstChild,r=n&&n.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,i)):""}function IQ(e,t=!1){for(let i=e.parent;i;i=i.parent)if("Element"==i.name){if(!t)return i;t=!1}return null}function EQ(e,t,i){let n=i.tags[qQ(e,IQ(t,!0))];return(null==n?void 0:n.children)||i.allTags}function DQ(e,t){let i=[];for(let n=t;n=IQ(n);){let r=qQ(e,n);if(r&&"CloseTag"==n.lastChild.name)break;r&&i.indexOf(r)<0&&("EndTag"==t.name||t.from>=n.firstChild.to)&&i.push(r)}return i}MQ.default=new MQ;const UQ=/^[:\-\.\w\u00b7-\uffff]*$/;function YQ(e,t,i,n,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">";return{from:n,to:r,options:EQ(e.doc,i,t).map(e=>({label:e,type:"type"})).concat(DQ(e.doc,i).map((e,t)=>({label:"/"+e,apply:"/"+e+s,type:"type",boost:99-t}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function zQ(e,t,i,n){let r=/\s*>/.test(e.sliceDoc(n,n+5))?"":">";return{from:i,to:n,options:DQ(e.doc,t).map((e,t)=>({label:e,apply:e+r,type:"type",boost:99-t})),validFor:UQ}}function LQ(e,t,i,n){let r=[],s=0;for(let n of EQ(e.doc,i,t))r.push({label:"<"+n,type:"type"});for(let t of DQ(e.doc,i))r.push({label:"</"+t+">",type:"type",boost:99-s++});return{from:n,to:n,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function BQ(e,t,i,n,r){let s=IQ(i),o=s?t.tags[qQ(e.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[];return{from:n,to:r,options:(o&&!1===o.globalAttrs?a:a.length?a.concat(t.globalAttrNames):t.globalAttrNames).map(e=>({label:e,type:"property"})),validFor:UQ}}function NQ(e,t,i,n,r){var s;let o=null===(s=i.parent)||void 0===s?void 0:s.getChild("AttributeName"),a=[],l=void 0;if(o){let s=e.sliceDoc(o.from,o.to),h=t.globalAttrs[s];if(!h){let n=IQ(i),r=n?t.tags[qQ(e.doc,n)]:null;h=(null==r?void 0:r.attrs)&&r.attrs[s]}if(h){let t=e.sliceDoc(n,r).toLowerCase(),i='"',s='"';/^['"]/.test(t)?(l='"'==t[0]?/^[^"]*$/:/^[^']*$/,i="",s=e.sliceDoc(r,r+1)==t[0]?"":t[0],t=t.slice(1),n++):l=/^[^\s<>='"]*$/;for(let e of h)a.push({label:e,apply:i+e+s,type:"constant"})}}return{from:n,to:r,options:a,validFor:l}}function jQ(e,t){let{state:i,pos:n}=t,r=Kh(i).resolveInner(n),s=r.resolve(n,-1);for(let e,t=n;r==s&&(e=s.childBefore(t));){let i=e.lastChild;if(!i||!i.type.isError||i.from<i.to)break;r=s=e,t=i.from}return"TagName"==s.name?s.parent&&/CloseTag$/.test(s.parent.name)?zQ(i,s,s.from,n):YQ(i,e,s,s.from,n):"StartTag"==s.name?YQ(i,e,s,n,n):"StartCloseTag"==s.name||"IncompleteCloseTag"==s.name?zQ(i,s,n,n):t.explicit&&("OpenTag"==s.name||"SelfClosingTag"==s.name)||"AttributeName"==s.name?BQ(i,e,s,"AttributeName"==s.name?s.from:n,n):"Is"==s.name||"AttributeValue"==s.name||"UnquotedAttributeValue"==s.name?NQ(i,e,s,"Is"==s.name?n:s.from,n):!t.explicit||"Element"!=r.name&&"Text"!=r.name&&"Document"!=r.name?null:LQ(i,e,s,n)}function GQ(e){let{extraTags:t,extraGlobalAttributes:i}=e,n=i||t?new MQ(t,i):MQ.default;return e=>jQ(n,e)}const FQ=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:yQ.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:xQ.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:QQ.parser},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:bQ.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:my.parser}],HQ=[{name:"style",parser:my.parser.configure({top:"Styles"})}].concat("beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(e=>({name:"on"+e,parser:bQ.parser}))),JQ=Jh.define({name:"html",parser:kx.configure({props:[gc.add({Element(e){let t=/^(\s*)(<\/)?/.exec(e.textAfter);return e.node.to<=e.pos+t[0].length?e.continue():e.lineIndent(e.node.from)+(t[2]?0:e.unit)},"OpenTag CloseTag SelfClosingTag":e=>e.column(e.node.from)+e.unit,Document(e){if(e.pos+/\s*/.exec(e.textAfter)[0].length<e.node.to)return e.continue();let t,i=null;for(let t=e.node;;){let e=t.lastChild;if(!e||"Element"!=e.name||e.to!=t.to)break;i=t=e}return i&&(!(t=i.lastChild)||"CloseTag"!=t.name&&"SelfClosingTag"!=t.name)?e.lineIndent(i.from)+e.unit:null}}),Vc.add({Element(e){let t=e.firstChild,i=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==i.name?i.from:e.to}:null}})],wrap:Cx(FQ,HQ)}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}});function KQ(e={}){let t,i="";!1===e.matchClosingTags&&(i="noMatch"),!0===e.selfClosingTags&&(i=(i?i+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=Cx((e.nestedLanguages||[]).concat(FQ),(e.nestedAttributes||[]).concat(HQ)));let n=t||i?JQ.configure({dialect:i,wrap:t}):JQ;return new hc(n,[JQ.data.of({autocomplete:GQ(e)}),!1!==e.autoCloseTags?ev:[],wQ().support,gy().support])}const ev=gs.inputHandler.of((e,t,i,n)=>{if(e.composing||e.state.readOnly||t!=i||">"!=n&&"/"!=n||!JQ.isActiveAt(e.state,t,-1))return!1;let{state:r}=e,s=r.changeByRange(t=>{var i,s,o;let a,{head:l}=t,h=Kh(r).resolveInner(l,-1);if("TagName"!=h.name&&"StartTag"!=h.name||(h=h.parent),">"==n&&"OpenTag"==h.name){if("CloseTag"!=(null===(s=null===(i=h.parent)||void 0===i?void 0:i.lastChild)||void 0===s?void 0:s.name)&&(a=qQ(r.doc,h.parent,l))){let t=">"===e.state.doc.sliceString(l,l+1),i=`${t?"":">"}</${a}>`;return{range:V.cursor(l+1),changes:{from:l+(t?1:0),insert:i}}}}else if("/"==n&&"OpenTag"==h.name){let t=h.parent,i=null==t?void 0:t.parent;if(t.from==l-1&&"CloseTag"!=(null===(o=i.lastChild)||void 0===o?void 0:o.name)&&(a=qQ(r.doc,i,l))){let t=">"===e.state.doc.sliceString(l,l+1),i=`/${a}${t?"":">"}`,n=l+i.length+(t?1:0);return{range:V.cursor(n),changes:{from:l,insert:i}}}}return{range:t}});return!s.changes.empty&&(e.dispatch(s,{userEvent:"input.type",scrollIntoView:!0}),!0)});var tv,iv=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});class nv extends OS{constructor(e,t=[]){super(e,t,xS)}getExtensions(e){return iv(this,null,(function*(){return[KQ({selfClosingTags:!1}),yS()]}))}serialize(){return this.editor.content}}class rv{constructor(e,t,i,n,r,s,o){this.type=e,this.value=t,this.from=i,this.hash=n,this.end=r,this.children=s,this.positions=o,this.hashProp=[[Aa.contextHash,n]]}static create(e,t,i,n,r){return new rv(e,t,i,n+(n<<8)+e+(t<<4)|0,r,[],[])}addChild(e,t){e.prop(Aa.contextHash)!=this.hash&&(e=new Ma(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let i=this.children.length-1;return i>=0&&(t=Math.max(t,this.positions[i]+this.children[i].length+this.from)),new Ma(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,i)=>new Ma(Za.none,e,t,i,this.hashProp)})}}!function(e){e[e.Document=1]="Document",e[e.CodeBlock=2]="CodeBlock",e[e.FencedCode=3]="FencedCode",e[e.Blockquote=4]="Blockquote",e[e.HorizontalRule=5]="HorizontalRule",e[e.BulletList=6]="BulletList",e[e.OrderedList=7]="OrderedList",e[e.ListItem=8]="ListItem",e[e.ATXHeading1=9]="ATXHeading1",e[e.ATXHeading2=10]="ATXHeading2",e[e.ATXHeading3=11]="ATXHeading3",e[e.ATXHeading4=12]="ATXHeading4",e[e.ATXHeading5=13]="ATXHeading5",e[e.ATXHeading6=14]="ATXHeading6",e[e.SetextHeading1=15]="SetextHeading1",e[e.SetextHeading2=16]="SetextHeading2",e[e.HTMLBlock=17]="HTMLBlock",e[e.LinkReference=18]="LinkReference",e[e.Paragraph=19]="Paragraph",e[e.CommentBlock=20]="CommentBlock",e[e.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",e[e.Escape=22]="Escape",e[e.Entity=23]="Entity",e[e.HardBreak=24]="HardBreak",e[e.Emphasis=25]="Emphasis",e[e.StrongEmphasis=26]="StrongEmphasis",e[e.Link=27]="Link",e[e.Image=28]="Image",e[e.InlineCode=29]="InlineCode",e[e.HTMLTag=30]="HTMLTag",e[e.Comment=31]="Comment",e[e.ProcessingInstruction=32]="ProcessingInstruction",e[e.URL=33]="URL",e[e.HeaderMark=34]="HeaderMark",e[e.QuoteMark=35]="QuoteMark",e[e.ListMark=36]="ListMark",e[e.LinkMark=37]="LinkMark",e[e.EmphasisMark=38]="EmphasisMark",e[e.CodeMark=39]="CodeMark",e[e.CodeText=40]="CodeText",e[e.CodeInfo=41]="CodeInfo",e[e.LinkTitle=42]="LinkTitle",e[e.LinkLabel=43]="LinkLabel"}(tv||(tv={}));class sv{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class ov{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return cv(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,t=0,i=0){for(let n=t;n<e;n++)i+=9==this.text.charCodeAt(n)?4-i%4:1;return i}findColumn(e){let t=0;for(let i=0;t<this.text.length&&i<e;t++)i+=9==this.text.charCodeAt(t)?4-i%4:1;return t}scrub(){if(!this.baseIndent)return this.text;let e="";for(let t=0;t<this.basePos;t++)e+=" ";return e+this.text.slice(this.basePos)}}function av(e,t,i){if(i.pos==i.text.length||e!=t.block&&i.indent>=t.stack[i.depth+1].value+i.baseIndent)return!0;if(i.indent>=i.baseIndent+4)return!1;let n=(e.type==tv.OrderedList?gv:mv)(i,t,!1);return n>0&&(e.type!=tv.BulletList||pv(i,t,!1)<0)&&i.text.charCodeAt(i.pos+n-1)==e.value}const lv={[tv.Blockquote]:(e,t,i)=>62==i.next&&(i.markers.push(Lv(tv.QuoteMark,t.lineStart+i.pos,t.lineStart+i.pos+1)),i.moveBase(i.pos+(hv(i.text.charCodeAt(i.pos+1))?2:1)),e.end=t.lineStart+i.text.length,!0),[tv.ListItem]:(e,t,i)=>!(i.indent<i.baseIndent+e.value&&i.next>-1)&&(i.moveBaseColumn(i.baseIndent+e.value),!0),[tv.OrderedList]:av,[tv.BulletList]:av,[tv.Document]:()=>!0};function hv(e){return 32==e||9==e||10==e||13==e}function cv(e,t=0){for(;t<e.length&&hv(e.charCodeAt(t));)t++;return t}function uv(e,t,i){for(;t>i&&hv(e.charCodeAt(t-1));)t--;return t}function fv(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;if(t<e.pos+3)return-1;if(96==e.next)for(let i=t;i<e.text.length;i++)if(96==e.text.charCodeAt(i))return-1;return t}function dv(e){return 62!=e.next?-1:32==e.text.charCodeAt(e.pos+1)?2:1}function pv(e,t,i){if(42!=e.next&&45!=e.next&&95!=e.next)return-1;let n=1;for(let t=e.pos+1;t<e.text.length;t++){let i=e.text.charCodeAt(t);if(i==e.next)n++;else if(!hv(i))return-1}return i&&45==e.next&&bv(e)>-1&&e.depth==t.stack.length||n<3?-1:1}function Ov(e,t){for(let i=e.stack.length-1;i>=0;i--)if(e.stack[i].type==t)return!0;return!1}function mv(e,t,i){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!hv(e.text.charCodeAt(e.pos+1))||!(!i||Ov(t,tv.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?-1:1}function gv(e,t,i){let n=e.pos,r=e.next;for(;r>=48&&r<=57;){if(n++,n==e.text.length)return-1;r=e.text.charCodeAt(n)}return n==e.pos||n>e.pos+9||46!=r&&41!=r||n<e.text.length-1&&!hv(e.text.charCodeAt(n+1))||i&&!Ov(t,tv.OrderedList)&&(e.skipSpace(n+1)==e.text.length||n>e.pos+1||49!=e.next)?-1:n+1-e.pos}function Sv(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t<e.text.length&&35==e.text.charCodeAt(t);)t++;if(t<e.text.length&&32!=e.text.charCodeAt(t))return-1;let i=t-e.pos;return i>6?-1:i}function bv(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t<e.text.length&&e.text.charCodeAt(t)==e.next;)t++;let i=t;for(;t<e.text.length&&hv(e.text.charCodeAt(t));)t++;return t==e.text.length?i:-1}const yv=/^[ \t]*$/,xv=/-->/,Qv=/\?>/,vv=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,xv],[/^\s*<\?/,Qv],[/^\s*<![A-Z]/,/>/],[/^\s*<!\[CDATA\[/,/\]\]>/],[/^\s*<\/?(?:address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul)(?:\s|\/?>|$)/i,yv],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,yv]];function wv(e,t,i){if(60!=e.next)return-1;let n=e.text.slice(e.pos);for(let e=0,t=vv.length-(i?1:0);e<t;e++)if(vv[e][0].test(n))return e;return-1}function $v(e,t){let i=e.countIndent(t,e.pos,e.indent),n=e.countIndent(e.skipSpace(t),t,i);return n>=i+5?i+1:n}function kv(e,t,i){let n=e.length-1;n>=0&&e[n].to==t&&e[n].type==tv.CodeText?e[n].to=i:e.push(Lv(tv.CodeText,t,i))}const Pv={LinkReference:void 0,IndentedCode(e,t){let i=t.baseIndent+4;if(t.indent<i)return!1;let n=t.findColumn(i),r=e.lineStart+n,s=e.lineStart+t.text.length,o=[],a=[];for(kv(o,r,s);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){kv(a,e.lineStart-1,e.lineStart);for(let e of t.markers)a.push(e)}else{if(t.indent<i)break;{if(a.length){for(let e of a)e.type==tv.CodeText?kv(o,e.from,e.to):o.push(e);a=[]}kv(o,e.lineStart-1,e.lineStart);for(let e of t.markers)o.push(e);s=e.lineStart+t.text.length;let i=e.lineStart+t.findColumn(t.baseIndent+4);i<s&&kv(o,i,s)}}return a.length&&(a=a.filter(e=>e.type!=tv.CodeText),a.length&&(t.markers=a.concat(t.markers))),e.addNode(e.buffer.writeElements(o,-r).finish(tv.CodeBlock,s-r),r),!0},FencedCode(e,t){let i=fv(t);if(i<0)return!1;let n=e.lineStart+t.pos,r=t.next,s=i-t.pos,o=t.skipSpace(i),a=uv(t.text,t.text.length,o),l=[Lv(tv.CodeMark,n,n+s)];o<a&&l.push(Lv(tv.CodeInfo,e.lineStart+o,e.lineStart+a));for(let i=!0;e.nextLine()&&t.depth>=e.stack.length;i=!1){let n=t.pos;if(t.indent-t.baseIndent<4)for(;n<t.text.length&&t.text.charCodeAt(n)==r;)n++;if(n-t.pos>=s&&t.skipSpace(n)==t.text.length){for(let e of t.markers)l.push(e);l.push(Lv(tv.CodeMark,e.lineStart+t.pos,e.lineStart+n)),e.nextLine();break}{i||kv(l,e.lineStart-1,e.lineStart);for(let e of t.markers)l.push(e);let n=e.lineStart+t.basePos,r=e.lineStart+t.text.length;n<r&&kv(l,n,r)}}return e.addNode(e.buffer.writeElements(l,-n).finish(tv.FencedCode,e.prevLineEnd()-n),n),!0},Blockquote(e,t){let i=dv(t);return!(i<0)&&(e.startContext(tv.Blockquote,t.pos),e.addNode(tv.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+i),null)},HorizontalRule(e,t){if(pv(t,e,!1)<0)return!1;let i=e.lineStart+t.pos;return e.nextLine(),e.addNode(tv.HorizontalRule,i),!0},BulletList(e,t){let i=mv(t,e,!1);if(i<0)return!1;e.block.type!=tv.BulletList&&e.startContext(tv.BulletList,t.basePos,t.next);let n=$v(t,t.pos+1);return e.startContext(tv.ListItem,t.basePos,n-t.baseIndent),e.addNode(tv.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+i),t.moveBaseColumn(n),null},OrderedList(e,t){let i=gv(t,e,!1);if(i<0)return!1;e.block.type!=tv.OrderedList&&e.startContext(tv.OrderedList,t.basePos,t.text.charCodeAt(t.pos+i-1));let n=$v(t,t.pos+i);return e.startContext(tv.ListItem,t.basePos,n-t.baseIndent),e.addNode(tv.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+i),t.moveBaseColumn(n),null},ATXHeading(e,t){let i=Sv(t);if(i<0)return!1;let n=t.pos,r=e.lineStart+n,s=uv(t.text,t.text.length,n),o=s;for(;o>n&&t.text.charCodeAt(o-1)==t.next;)o--;o!=s&&o!=n&&hv(t.text.charCodeAt(o-1))||(o=t.text.length);let a=e.buffer.write(tv.HeaderMark,0,i).writeElements(e.parser.parseInline(t.text.slice(n+i+1,o),r+i+1),-r);o<t.text.length&&a.write(tv.HeaderMark,o-n,s-n);let l=a.finish(tv.ATXHeading1-1+i,t.text.length-n);return e.nextLine(),e.addNode(l,r),!0},HTMLBlock(e,t){let i=wv(t,e,!1);if(i<0)return!1;let n=e.lineStart+t.pos,r=vv[i][1],s=[],o=r!=yv;for(;!r.test(t.text)&&e.nextLine();){if(t.depth<e.stack.length){o=!1;break}for(let e of t.markers)s.push(e)}o&&e.nextLine();let a=r==xv?tv.CommentBlock:r==Qv?tv.ProcessingInstructionBlock:tv.HTMLBlock,l=e.prevLineEnd();return e.addNode(e.buffer.writeElements(s,-n).finish(a,l-n),n),!0},SetextHeading:void 0};class Tv{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,i){if(-1==this.stage)return!1;let n=i.content+"\n"+t.scrub(),r=this.advance(n);return r>-1&&r<n.length&&this.complete(e,i,r)}finish(e,t){return(2==this.stage||3==this.stage)&&cv(t.content,this.pos)==t.content.length&&this.complete(e,t,t.content.length)}complete(e,t,i){return e.addLeafElement(t,Lv(tv.LinkReference,this.start,this.start+i,this.elts)),!0}nextStage(e){return e?(this.pos=e.to-this.start,this.elts.push(e),this.stage++,!0):(!1===e&&(this.stage=-1),!1)}advance(e){for(;;){if(-1==this.stage)return-1;if(0==this.stage){if(!this.nextStage(nw(e,this.pos,this.start,!0)))return-1;if(58!=e.charCodeAt(this.pos))return this.stage=-1;this.elts.push(Lv(tv.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else{if(1!=this.stage){if(2==this.stage){let t=cv(e,this.pos),i=0;if(t>this.pos){let n=iw(e,t,this.start);if(n){let t=Av(e,n.to-this.start);t>0&&(this.nextStage(n),i=t)}}return i||(i=Av(e,this.pos)),i>0&&i<e.length?i:-1}return Av(e,this.pos)}if(!this.nextStage(tw(e,cv(e,this.pos),this.start)))return-1}}}}function Av(e,t){for(;t<e.length;t++){let i=e.charCodeAt(t);if(10==i)break;if(!hv(i))return-1}return t}class Cv{nextLine(e,t,i){let n=t.depth<e.stack.length?-1:bv(t),r=t.next;if(n<0)return!1;let s=Lv(tv.HeaderMark,e.lineStart+t.pos,e.lineStart+n);return e.nextLine(),e.addLeafElement(i,Lv(61==r?tv.SetextHeading1:tv.SetextHeading2,i.start,e.prevLineEnd(),[...e.parser.parseInline(i.content,i.start),s])),!0}finish(){return!1}}const Wv={LinkReference:(e,t)=>91==t.content.charCodeAt(0)?new Tv(t):null,SetextHeading:()=>new Cv},Zv=[(e,t)=>Sv(t)>=0,(e,t)=>fv(t)>=0,(e,t)=>dv(t)>=0,(e,t)=>mv(t,e,!0)>=0,(e,t)=>gv(t,e,!0)>=0,(e,t)=>pv(t,e,!0)>=0,(e,t)=>wv(t,e,!0)>=0],Vv={text:"",end:0};class Xv{constructor(e,t,i,n){this.parser=e,this.input=t,this.ranges=n,this.line=new ov,this.atEnd=!1,this.dontInject=new Set,this.stoppedAt=null,this.rangeI=0,this.to=n[n.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=n[0].from,this.block=rv.create(tv.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=i.length?new aw(i,t):null,this.readLine()}get parsedPos(){return this.absoluteLineStart}advance(){if(null!=this.stoppedAt&&this.absoluteLineStart>this.stoppedAt)return this.finish();let{line:e}=this;for(;;){for(;e.depth<this.stack.length;)this.finishContext();for(let t of e.markers)this.addNode(t.type,t.from,t.to);if(e.pos<e.text.length)break;if(!this.nextLine())return this.finish()}if(this.fragments&&this.reuseFragment(e.basePos))return null;e:for(;;){for(let t of this.parser.blockParsers)if(t){let i=t(this,e);if(0!=i){if(1==i)return null;e.forward();continue e}}break}let t=new sv(this.lineStart+e.pos,e.text.slice(e.pos));for(let e of this.parser.leafBlockParsers)if(e){let i=e(this,t);i&&t.parsers.push(i)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4)for(let i of this.parser.endLeafBlock)if(i(this,e,t))break e;for(let i of t.parsers)if(i.nextLine(this,e,t))return null;t.content+="\n"+e.scrub();for(let i of e.markers)t.marks.push(i)}return this.finishLeaf(t),null}stopAt(e){if(null!=this.stoppedAt&&this.stoppedAt<e)throw new RangeError("Can't move stoppedAt forward");this.stoppedAt=e}reuseFragment(e){if(!this.fragments.moveTo(this.absoluteLineStart+e,this.absoluteLineStart)||!this.fragments.matches(this.block.hash))return!1;let t=this.fragments.takeNodes(this);if(!t)return!1;let i=t,n=this.absoluteLineStart+t;for(let e=1;e<this.ranges.length;e++){let t=this.ranges[e-1].to,r=this.ranges[e].from;t>=this.lineStart&&r<n&&(i-=r-t)}return this.lineStart+=i,this.absoluteLineStart+=t,this.moveRangeI(),this.absoluteLineStart<this.to?(this.lineStart++,this.absoluteLineStart++,this.readLine()):(this.atEnd=!0,this.readLine()),!0}get depth(){return this.stack.length}parentType(e=this.depth-1){return this.parser.nodeSet.types[this.stack[e].type]}nextLine(){return this.lineStart+=this.line.text.length,this.absoluteLineEnd>=this.to?(this.absoluteLineStart=this.absoluteLineEnd,this.atEnd=!0,this.readLine(),!1):(this.lineStart++,this.absoluteLineStart=this.absoluteLineEnd+1,this.moveRangeI(),this.readLine(),!0)}moveRangeI(){for(;this.rangeI<this.ranges.length-1&&this.absoluteLineStart>=this.ranges[this.rangeI].to;)this.rangeI++,this.absoluteLineStart=Math.max(this.absoluteLineStart,this.ranges[this.rangeI].from)}scanLine(e){let t=Vv;if(t.end=e,e>=this.to)t.text="";else if(t.text=this.lineChunkAt(e),t.end+=t.text.length,this.ranges.length>1){let e=this.absoluteLineStart,i=this.rangeI;for(;this.ranges[i].to<t.end;){i++;let n=this.ranges[i].from,r=this.lineChunkAt(n);t.end=n+r.length,t.text=t.text.slice(0,this.ranges[i-1].to-e)+r,e=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:i}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=i,e.reset(t);e.depth<this.stack.length;e.depth++){let t=this.stack[e.depth],i=this.parser.skipContextMarkup[t.type];if(!i)throw new Error("Unhandled block context "+tv[t.type]);if(!i(t,this,e))break;e.forward()}}lineChunkAt(e){let t,i=this.input.chunk(e);if(this.input.lineChunks)t="\n"==i?"":i;else{let e=i.indexOf("\n");t=e<0?i:i.slice(0,e)}return e+t.length>this.to?t.slice(0,this.to-e):t}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,t,i=0){this.block=rv.create(e,i,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,i=0){this.startContext(this.parser.getNodeType(e),t,i)}addNode(e,t,i){"number"==typeof e&&(e=new Ma(this.parser.nodeSet.types[e],Dv,Dv,(null!=i?i:this.prevLineEnd())-t)),this.block.addChild(e,t-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,t){this.addNode(this.buffer.writeElements(sw(t.children,e.marks),-t.from).finish(t.type,t.to-t.from),t.from)}finishContext(){let e=this.stack.pop(),t=this.stack[this.stack.length-1];t.addChild(e.toTree(this.parser.nodeSet),e.from-t.from),this.block=t}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?_v(this.ranges,0,e.topNode,this.ranges[0].from,this.dontInject):e}finishLeaf(e){for(let t of e.parsers)if(t.finish(this,e))return;let t=sw(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(tv.Paragraph,e.content.length),e.start)}elt(e,t,i,n){return"string"==typeof e?Lv(this.parser.getNodeType(e),t,i,n):new zv(e,t)}get buffer(){return new Uv(this.parser.nodeSet)}}function _v(e,t,i,n,r){if(r.has(i.tree))return i.tree;let s=e[t].to,o=[],a=[],l=i.from+n;function h(i,r){for(;r?i>=s:i>s;){let r=e[t+1].from-s;n+=r,i+=r,t++,s=e[t].to}}for(let c=i.firstChild;c;c=c.nextSibling){h(c.from+n,!0);let i,u=c.from+n;c.to+n>s?(i=_v(e,t,c,n,r),h(c.to+n,!1)):i=c.toTree(),o.push(i),a.push(u-l)}return h(i.to+n,!1),new Ma(i.type,o,a,i.to+n-l,i.tree?i.tree.propValues:void 0)}class Rv extends il{constructor(e,t,i,n,r,s,o,a,l){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=i,this.blockNames=n,this.endLeafBlock=r,this.skipContextMarkup=s,this.inlineParsers=o,this.inlineNames=a,this.wrappers=l,this.nodeTypes=Object.create(null);for(let t of e.types)this.nodeTypes[t.name]=t.id}createParse(e,t,i){let n=new Xv(this,e,t,i);for(let r of this.wrappers)n=r(n,e,t,i);return n}configure(e){let t=qv(e);if(!t)return this;let{nodeSet:i,skipContextMarkup:n}=this,r=this.blockParsers.slice(),s=this.leafBlockParsers.slice(),o=this.blockNames.slice(),a=this.inlineParsers.slice(),l=this.inlineNames.slice(),h=this.endLeafBlock.slice(),c=this.wrappers;if(Mv(t.defineNodes)){n=Object.assign({},n);let e,r=i.types.slice();for(let i of t.defineNodes){let{name:t,block:s,composite:o,style:a}="string"==typeof i?{name:i}:i;if(r.some(e=>e.name==t))continue;o&&(n[r.length]=(e,t,i)=>o(t,i,e.value));let l=r.length,h=o?["Block","BlockContext"]:s?l>=tv.ATXHeading1&&l<=tv.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;r.push(Za.define({id:l,name:t,props:h&&[[Aa.group,h]]})),a&&(e||(e={}),Array.isArray(a)||a instanceof Nl?e[t]=a:Object.assign(e,a))}i=new Va(r),e&&(i=i.extend(Jl(e)))}if(Mv(t.props)&&(i=i.extend(...t.props)),Mv(t.remove))for(let e of t.remove){let t=this.blockNames.indexOf(e),i=this.inlineNames.indexOf(e);t>-1&&(r[t]=s[t]=void 0),i>-1&&(a[i]=void 0)}if(Mv(t.parseBlock))for(let e of t.parseBlock){let t=o.indexOf(e.name);if(t>-1)r[t]=e.parse,s[t]=e.leaf;else{let t=e.before?Iv(o,e.before):e.after?Iv(o,e.after)+1:o.length-1;r.splice(t,0,e.parse),s.splice(t,0,e.leaf),o.splice(t,0,e.name)}e.endLeaf&&h.push(e.endLeaf)}if(Mv(t.parseInline))for(let e of t.parseInline){let t=l.indexOf(e.name);if(t>-1)a[t]=e.parse;else{let t=e.before?Iv(l,e.before):e.after?Iv(l,e.after)+1:l.length-1;a.splice(t,0,e.parse),l.splice(t,0,e.name)}}return t.wrap&&(c=c.concat(t.wrap)),new Rv(i,r,s,o,h,n,a,l,c)}getNodeType(e){let t=this.nodeTypes[e];if(null==t)throw new RangeError(`Unknown node type '${e}'`);return t}parseInline(e,t){let i=new rw(this,e,t);e:for(let e=t;e<i.end;){let t=i.char(e);for(let n of this.inlineParsers)if(n){let r=n(i,t,e);if(r>=0){e=r;continue e}}e++}return i.resolveMarkers(0)}}function Mv(e){return null!=e&&e.length>0}function qv(e){if(!Array.isArray(e))return e;if(0==e.length)return null;let t=qv(e[0]);if(1==e.length)return t;let i=qv(e.slice(1));if(!i||!t)return t||i;let n=(e,t)=>(e||Dv).concat(t||Dv),r=t.wrap,s=i.wrap;return{props:n(t.props,i.props),defineNodes:n(t.defineNodes,i.defineNodes),parseBlock:n(t.parseBlock,i.parseBlock),parseInline:n(t.parseInline,i.parseInline),remove:n(t.remove,i.remove),wrap:r?s?(e,t,i,n)=>r(s(e,t,i,n),t,i,n):r:s}}function Iv(e,t){let i=e.indexOf(t);if(i<0)throw new RangeError("Position specified relative to unknown parser "+t);return i}let Ev=[Za.none];for(let e,t=1;e=tv[t];t++)Ev[t]=Za.define({id:t,name:e,props:t>=tv.Escape?[]:[[Aa.group,t in lv?["Block","BlockContext"]:["Block","LeafBlock"]]]});const Dv=[];class Uv{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,i,n=0){return this.content.push(e,t,i,4+4*n),this}writeElements(e,t=0){for(let i of e)i.writeTo(this,t);return this}finish(e,t){return Ma.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}class Yv{constructor(e,t,i,n=Dv){this.type=e,this.from=t,this.to=i,this.children=n}writeTo(e,t){let i=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-i)}toTree(e){return new Uv(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}}class zv{constructor(e,t){this.tree=e,this.from=t}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return Dv}writeTo(e,t){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+t,this.to+t,-1)}toTree(){return this.tree}}function Lv(e,t,i,n){return new Yv(e,t,i,n)}const Bv={resolve:"Emphasis",mark:"EmphasisMark"},Nv={resolve:"Emphasis",mark:"EmphasisMark"},jv={},Gv={};class Fv{constructor(e,t,i,n){this.type=e,this.from=t,this.to=i,this.side=n}}const Hv="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let Jv=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{Jv=new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]","u")}catch(e){}const Kv={Escape(e,t,i){if(92!=t||i==e.end-1)return-1;let n=e.char(i+1);for(let t=0;t<Hv.length;t++)if(Hv.charCodeAt(t)==n)return e.append(Lv(tv.Escape,i,i+2));return-1},Entity(e,t,i){if(38!=t)return-1;let n=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(e.slice(i+1,i+31));return n?e.append(Lv(tv.Entity,i,i+1+n[0].length)):-1},InlineCode(e,t,i){if(96!=t||i&&96==e.char(i-1))return-1;let n=i+1;for(;n<e.end&&96==e.char(n);)n++;let r=n-i,s=0;for(;n<e.end;n++)if(96==e.char(n)){if(s++,s==r&&96!=e.char(n+1))return e.append(Lv(tv.InlineCode,i,n+1,[Lv(tv.CodeMark,i,i+r),Lv(tv.CodeMark,n+1-r,n+1)]))}else s=0;return-1},HTMLTag(e,t,i){if(60!=t||i==e.end-1)return-1;let n=e.slice(i+1,e.end),r=/^(?:[a-z][-\w+.]+:[^\s>]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(n);if(r)return e.append(Lv(tv.URL,i,i+1+r[0].length));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(n);if(s)return e.append(Lv(tv.Comment,i,i+1+s[0].length));let o=/^\?[^]*?\?>/.exec(n);if(o)return e.append(Lv(tv.ProcessingInstruction,i,i+1+o[0].length));let a=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(n);return a?e.append(Lv(tv.HTMLTag,i,i+1+a[0].length)):-1},Emphasis(e,t,i){if(95!=t&&42!=t)return-1;let n=i+1;for(;e.char(n)==t;)n++;let r=e.slice(i-1,i),s=e.slice(n,n+1),o=Jv.test(r),a=Jv.test(s),l=/\s|^$/.test(r),h=/\s|^$/.test(s),c=!h&&(!a||l||o),u=!l&&(!o||h||a),f=c&&(42==t||!u||o),d=u&&(42==t||!c||a);return e.append(new Fv(95==t?Bv:Nv,i,n,(f?1:0)|(d?2:0)))},HardBreak(e,t,i){if(92==t&&10==e.char(i+1))return e.append(Lv(tv.HardBreak,i,i+2));if(32==t){let t=i+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=i+2)return e.append(Lv(tv.HardBreak,i,t+1))}return-1},Link:(e,t,i)=>91==t?e.append(new Fv(jv,i,i+1,1)):-1,Image:(e,t,i)=>33==t&&91==e.char(i+1)?e.append(new Fv(Gv,i,i+2,1)):-1,LinkEnd(e,t,i){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let n=e.parts[t];if(n instanceof Fv&&(n.type==jv||n.type==Gv)){if(!n.side||e.skipSpace(n.to)==i&&!/[(\[]/.test(e.slice(i+1,i+2)))return e.parts[t]=null,-1;let r=e.takeContent(t),s=e.parts[t]=ew(e,r,n.type==jv?tv.Link:tv.Image,n.from,i+1);if(n.type==jv)for(let i=0;i<t;i++){let t=e.parts[i];t instanceof Fv&&t.type==jv&&(t.side=0)}return s.to}}return-1}};function ew(e,t,i,n,r){let{text:s}=e,o=e.char(r),a=r;if(t.unshift(Lv(tv.LinkMark,n,n+(i==tv.Image?2:1))),t.push(Lv(tv.LinkMark,r-1,r)),40==o){let i,n=e.skipSpace(r+1),o=tw(s,n-e.offset,e.offset);o&&(n=e.skipSpace(o.to),i=iw(s,n-e.offset,e.offset),i&&(n=e.skipSpace(i.to))),41==e.char(n)&&(t.push(Lv(tv.LinkMark,r,r+1)),a=n+1,o&&t.push(o),i&&t.push(i),t.push(Lv(tv.LinkMark,n,a)))}else if(91==o){let i=nw(s,r-e.offset,e.offset,!1);i&&(t.push(i),a=i.to)}return Lv(i,n,a,t)}function tw(e,t,i){if(60==e.charCodeAt(t)){for(let n=t+1;n<e.length;n++){let r=e.charCodeAt(n);if(62==r)return Lv(tv.URL,t+i,n+1+i);if(60==r||10==r)return!1}return null}{let n=0,r=t;for(let t=!1;r<e.length;r++){let i=e.charCodeAt(r);if(hv(i))break;if(t)t=!1;else if(40==i)n++;else if(41==i){if(!n)break;n--}else 92==i&&(t=!0)}return r>t?Lv(tv.URL,t+i,r+i):r==e.length&&null}}function iw(e,t,i){let n=e.charCodeAt(t);if(39!=n&&34!=n&&40!=n)return!1;let r=40==n?41:n;for(let n=t+1,s=!1;n<e.length;n++){let o=e.charCodeAt(n);if(s)s=!1;else{if(o==r)return Lv(tv.LinkTitle,t+i,n+1+i);92==o&&(s=!0)}}return null}function nw(e,t,i,n){for(let r=!1,s=t+1,o=Math.min(e.length,s+999);s<o;s++){let o=e.charCodeAt(s);if(r)r=!1;else{if(93==o)return!n&&Lv(tv.LinkLabel,t+i,s+1+i);if(n&&!hv(o)&&(n=!1),91==o)return!1;92==o&&(r=!0)}}return null}class rw{constructor(e,t,i){this.parser=e,this.text=t,this.offset=i,this.parts=[]}char(e){return e>=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,t){return this.text.slice(e-this.offset,t-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,t,i,n,r){return this.append(new Fv(e,t,i,(n?1:0)|(r?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t<this.parts.length;t++){let i=this.parts[t];if(!(i instanceof Fv&&i.type.resolve&&2&i.side))continue;let n,r=i.type==Bv||i.type==Nv,s=i.to-i.from,o=t-1;for(;o>=e;o--){let e=this.parts[o];if(e instanceof Fv&&1&e.side&&e.type==i.type&&!(r&&(1&i.side||2&e.side)&&(e.to-e.from+s)%3==0&&((e.to-e.from)%3||s%3))){n=e;break}}if(!n)continue;let a=i.type.resolve,l=[],h=n.from,c=i.to;if(r){let e=Math.min(2,n.to-n.from,s);h=n.to-e,c=i.from+e,a=1==e?"Emphasis":"StrongEmphasis"}n.type.mark&&l.push(this.elt(n.type.mark,h,n.to));for(let e=o+1;e<t;e++)this.parts[e]instanceof Yv&&l.push(this.parts[e]),this.parts[e]=null;i.type.mark&&l.push(this.elt(i.type.mark,i.from,c));let u=this.elt(a,h,c,l);this.parts[o]=r&&n.from!=h?new Fv(n.type,n.from,h,n.side):null,(this.parts[t]=r&&i.to!=c?new Fv(i.type,c,i.to,i.side):null)?this.parts.splice(t,0,u):this.parts[t]=u}let t=[];for(let i=e;i<this.parts.length;i++){let e=this.parts[i];e instanceof Yv&&t.push(e)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let i=this.parts[t];if(i instanceof Fv&&i.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return cv(this.text,e-this.offset)+this.offset}elt(e,t,i,n){return"string"==typeof e?Lv(this.parser.getNodeType(e),t,i,n):new zv(e,t)}}function sw(e,t){if(!t.length)return e;if(!e.length)return t;let i=e.slice(),n=0;for(let e of t){for(;n<i.length&&i[n].to<e.to;)n++;if(n<i.length&&i[n].from<e.from){let t=i[n];t instanceof Yv&&(i[n]=new Yv(t.type,t.from,t.to,sw(t.children,[e])))}else i.splice(n++,0,e)}return i}const ow=[tv.CodeBlock,tv.ListItem,tv.OrderedList,tv.BulletList];class aw{constructor(e,t){this.fragments=e,this.input=t,this.i=0,this.fragment=null,this.fragmentEnd=-1,this.cursor=null,e.length&&(this.fragment=e[this.i++])}nextFragment(){this.fragment=this.i<this.fragments.length?this.fragments[this.i++]:null,this.cursor=null,this.fragmentEnd=-1}moveTo(e,t){for(;this.fragment&&this.fragment.to<=e;)this.nextFragment();if(!this.fragment||this.fragment.from>(e?e-1:0))return!1;if(this.fragmentEnd<0){let e=this.fragment.to;for(;e>0&&"\n"!=this.input.read(e-1,e);)e--;this.fragmentEnd=e?e-1:0}let i=this.cursor;i||(i=this.cursor=this.fragment.tree.cursor(),i.firstChild());let n=e+this.fragment.offset;for(;i.to<=n;)if(!i.parent())return!1;for(;;){if(i.from>=n)return this.fragment.from<=t;if(!i.childAfter(n))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Aa.contextHash)==e}takeNodes(e){let t=this.cursor,i=this.fragment.offset,n=this.fragmentEnd-(this.fragment.openEnd?1:0),r=e.absoluteLineStart,s=r,o=e.block.children.length,a=s,l=o;for(;;){if(t.to-i>n){if(t.type.isAnonymous&&t.firstChild())continue;break}if(e.dontInject.add(t.tree),e.addNode(t.tree,t.from-i),t.type.is("Block")&&(ow.indexOf(t.type.id)<0?(s=t.to-i,o=e.block.children.length):(s=a,o=l,a=t.to-i,l=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>o;)e.block.children.pop(),e.block.positions.pop();return s-r}}const lw=Jl({"Blockquote/...":xh.quote,HorizontalRule:xh.contentSeparator,"ATXHeading1/... SetextHeading1/...":xh.heading1,"ATXHeading2/... SetextHeading2/...":xh.heading2,"ATXHeading3/...":xh.heading3,"ATXHeading4/...":xh.heading4,"ATXHeading5/...":xh.heading5,"ATXHeading6/...":xh.heading6,"Comment CommentBlock":xh.comment,Escape:xh.escape,Entity:xh.character,"Emphasis/...":xh.emphasis,"StrongEmphasis/...":xh.strong,"Link/... Image/...":xh.link,"OrderedList/... BulletList/...":xh.list,"BlockQuote/...":xh.quote,"InlineCode CodeText":xh.monospace,URL:xh.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":xh.processingInstruction,"CodeInfo LinkLabel":xh.labelName,LinkTitle:xh.string,Paragraph:xh.content}),hw=new Rv(new Va(Ev).extend(lw),Object.keys(Pv).map(e=>Pv[e]),Object.keys(Pv).map(e=>Wv[e]),Object.keys(Pv),Zv,lv,Object.keys(Kv).map(e=>Kv[e]),Object.keys(Kv),[]);function cw(e,t,i){let n=[];for(let r=e.firstChild,s=t;;r=r.nextSibling){let e=r?r.from:i;if(e>s&&n.push({from:s,to:e}),!r)break;s=r.to}return n}function uw(e){let{codeParser:t,htmlParser:i}=e;return{wrap:rl((e,n)=>{let r=e.type.id;if(!t||r!=tv.CodeBlock&&r!=tv.FencedCode){if(i&&(r==tv.HTMLBlock||r==tv.HTMLTag))return{parser:i,overlay:cw(e.node,e.from,e.to)}}else{let i="";if(r==tv.FencedCode){let t=e.node.getChild(tv.CodeInfo);t&&(i=n.read(t.from,t.to))}let s=t(i);if(s)return{parser:s,overlay:e=>e.type.id==tv.CodeText}}return null})}}const fw={resolve:"Strikethrough",mark:"StrikethroughMark"},dw={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":xh.strikethrough}},{name:"StrikethroughMark",style:xh.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,i){if(126!=t||126!=e.char(i+1)||126==e.char(i+2))return-1;let n=e.slice(i-1,i),r=e.slice(i+2,i+3),s=/\s|^$/.test(n),o=/\s|^$/.test(r),a=Jv.test(n),l=Jv.test(r);return e.addDelimiter(fw,i,i+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function pw(e,t,i=0,n,r=0){let s=0,o=!0,a=-1,l=-1,h=!1,c=()=>{n.push(e.elt("TableCell",r+a,r+l,e.parser.parseInline(t.slice(a,l),r+a)))};for(let u=i;u<t.length;u++){let i=t.charCodeAt(u);124!=i||h?(h||32!=i&&9!=i)&&(a<0&&(a=u),l=u+1):((!o||a>-1)&&s++,o=!1,n&&(a>-1&&c(),n.push(e.elt("TableDelimiter",u+r,u+r+1))),a=l=-1),h=!h&&92==i}return a>-1&&(s++,n&&c()),s}function Ow(e,t){for(let i=t;i<e.length;i++){let t=e.charCodeAt(i);if(124==t)return!0;92==t&&i++}return!1}const mw=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class gw{constructor(){this.rows=null}nextLine(e,t,i){if(null==this.rows){let n;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&mw.test(n=t.text.slice(t.pos))){let r=[];pw(e,i.content,0,r,i.start)==pw(e,n,t.pos)&&(this.rows=[e.elt("TableHeader",i.start,i.start+i.content.length,r),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let i=[];pw(e,t.text,t.pos,i,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,i))}return!1}finish(e,t){return!!this.rows&&(e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows)),!0)}}const Sw={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":xh.heading}},"TableRow",{name:"TableCell",style:xh.content},{name:"TableDelimiter",style:xh.processingInstruction}],parseBlock:[{name:"Table",leaf:(e,t)=>Ow(t.content,0)?new gw:null,endLeaf(e,t,i){if(i.parsers.some(e=>e instanceof gw)||!Ow(t.text,t.basePos))return!1;let n=e.scanLine(e.absoluteLineEnd+1).text;return mw.test(n)&&pw(e,t.text,t.basePos)==pw(e,n,t.basePos)},before:"SetextHeading"}]};class bw{nextLine(){return!1}finish(e,t){return e.addLeafElement(t,e.elt("Task",t.start,t.start+t.content.length,[e.elt("TaskMarker",t.start,t.start+3),...e.parser.parseInline(t.content.slice(3),t.start+3)])),!0}}const yw=[Sw,{defineNodes:[{name:"Task",block:!0,style:xh.list},{name:"TaskMarker",style:xh.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\]/.test(t.content)&&"ListItem"==e.parentType().name?new bw:null,after:"SetextHeading"}]},dw];function xw(e,t,i){return(n,r,s)=>{if(r!=e||n.char(s+1)==e)return-1;let o=[n.elt(i,s,s+1)];for(let r=s+1;r<n.end;r++){let a=n.char(r);if(a==e)return n.addElement(n.elt(t,s,r+1,o.concat(n.elt(i,r,r+1))));if(92==a&&o.push(n.elt("Escape",r,2+r++)),hv(a))break}return-1}}const Qw={defineNodes:[{name:"Superscript",style:xh.special(xh.content)},{name:"SuperscriptMark",style:xh.processingInstruction}],parseInline:[{name:"Superscript",parse:xw(94,"Superscript","SuperscriptMark")}]},vw={defineNodes:[{name:"Subscript",style:xh.special(xh.content)},{name:"SubscriptMark",style:xh.processingInstruction}],parseInline:[{name:"Subscript",parse:xw(126,"Subscript","SubscriptMark")}]},ww={defineNodes:[{name:"Emoji",style:xh.character}],parseInline:[{name:"Emoji",parse(e,t,i){let n;return 58==t&&(n=/^[a-zA-Z_0-9]+:/.exec(e.slice(i+1,e.end)))?e.addElement(e.elt("Emoji",i,i+1+n[0].length)):-1}}]},$w=Gh({block:{open:"\x3c!--",close:"--\x3e"}}),kw=hw.configure({props:[Vc.add(e=>{if(e.is("Block")&&!e.is("Document"))return(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})}),gc.add({Document:()=>null}),jh.add({Document:$w})]});function Pw(e){return new Fh($w,e,[],"markdown")}const Tw=Pw(kw),Aw=Pw(kw.configure([yw,vw,Qw,ww]));function Cw(e,t){return i=>{if(i&&e){let t=null;if(i=/\S*/.exec(i)[0],t="function"==typeof e?e(i):cc.matchLanguageName(e,i,!0),t instanceof cc)return t.support?t.support.language.parser:ic.getSkippingParser(t.load());if(t)return t.parser}return t?t.parser:null}}class Ww{constructor(e,t,i,n,r,s,o){this.node=e,this.from=t,this.to=i,this.spaceBefore=n,this.spaceAfter=r,this.type=s,this.item=o}blank(e,t=!0){let i=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;i.length<e;)i+=" ";return i}for(let e=this.to-this.from-i.length-this.spaceAfter.length;e>0;e--)i+=" ";return i+(t?this.spaceAfter:"")}marker(e,t){let i="OrderedList"==this.node.name?String(+Vw(this.item,e)[2]+t):"";return this.spaceBefore+i+this.type+this.spaceAfter}}function Zw(e,t){let i=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||i.push(t);let n=[];for(let e=i.length-1;e>=0;e--){let r,s=i[e],o=t.lineAt(s.from),a=s.from-o.from;if("FencedCode"==s.name)n.push(new Ww(s,a,a,"","","",null));else if("Blockquote"==s.name&&(r=/^[ \t]*>( ?)/.exec(o.text.slice(a))))n.push(new Ww(s,a,a+r[0].length,"",r[1],">",null));else if("ListItem"==s.name&&"OrderedList"==s.parent.name&&(r=/^([ \t]*)\d+([.)])([ \t]*)/.exec(o.text.slice(a)))){let e=r[3],t=r[0].length;e.length>=4&&(e=e.slice(0,e.length-4),t-=4),n.push(new Ww(s.parent,a,a+t,r[1],e,r[2],s))}else if("ListItem"==s.name&&"BulletList"==s.parent.name&&(r=/^([ \t]*)([-+*])([ \t]{1,4}\[[ xX]\])?([ \t]+)/.exec(o.text.slice(a)))){let e=r[4],t=r[0].length;e.length>4&&(e=e.slice(0,e.length-4),t-=4);let i=r[2];r[3]&&(i+=r[3].replace(/[xX]/," ")),n.push(new Ww(s.parent,a,a+t,r[1],e,i,s))}}return n}function Vw(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Xw(e,t,i,n=0){for(let r=-1,s=e;;){if("ListItem"==s.name){let e=Vw(s,t),o=+e[2];if(r>=0){if(o!=r+1)return;i.push({from:s.from+e[1].length,to:s.from+e[0].length,insert:String(r+2+n)})}r=o}let e=s.nextSibling;if(!e)break;s=e}}function _w(e){return"QuoteMark"==e.name||"ListMark"==e.name}function Rw(e,t){let i,n=e.resolveInner(t,-1),r=t;for(_w(n)&&(r=n.from,n=n.parent);i=n.childBefore(r);)if(_w(i))r=i.from;else{if("OrderedList"!=i.name&&"BulletList"!=i.name)break;n=i.lastChild,r=n.to}return n}const Mw=[{key:"Enter",run:({state:e,dispatch:t})=>{let i=Kh(e),{doc:n}=e,r=null,s=e.changeByRange(t=>{if(!t.empty||!Aw.isActiveAt(e,t.from))return r={range:t};let s=t.from,o=n.lineAt(s),a=Zw(i.resolveInner(s,-1),n);for(;a.length&&a[a.length-1].from>s-o.from;)a.pop();if(!a.length)return r={range:t};let l=a[a.length-1];if(l.to-l.spaceAfter.length>s-o.from)return r={range:t};let h=s>=l.to-l.spaceAfter.length&&!/\S/.test(o.text.slice(l.to));if(l.item&&h){if(l.node.firstChild.to>=s||o.from>0&&!/[^\s>]/.test(n.lineAt(o.from-1).text)){let e,t=a.length>1?a[a.length-2]:null,i="";t&&t.item?(e=o.from+t.from,i=t.marker(n,1)):e=o.from+(t?t.to:0);let r=[{from:e,to:s,insert:i}];return"OrderedList"==l.node.name&&Xw(l.item,n,r,-2),t&&"OrderedList"==t.node.name&&Xw(t.item,n,r),{range:V.cursor(e+i.length),changes:r}}{let t="";for(let e=0,i=a.length-2;e<=i;e++)t+=a[e].blank(e<i?a[e+1].from-t.length:null,e<i);return t+=e.lineBreak,{range:V.cursor(s+t.length),changes:{from:o.from,insert:t}}}}if("Blockquote"==l.node.name&&h&&o.from){let i=n.lineAt(o.from-1),r=/>\s*$/.exec(i.text);if(r&&r.index==l.from){let n=e.changes([{from:i.from+r.index,to:i.to},{from:o.from+l.from,to:o.to}]);return{range:t.map(n),changes:n}}}let c=[];"OrderedList"==l.node.name&&Xw(l.item,n,c);let u=l.item&&l.item.from<o.from,f="";if(!u||/^[\s\d.)\-+*>]*/.exec(o.text)[0].length>=l.to)for(let e=0,t=a.length-1;e<=t;e++)f+=e!=t||u?a[e].blank(e<t?a[e+1].from-f.length:null):a[e].marker(n,1);let d=s;for(;d>o.from&&/\s/.test(o.text.charAt(d-o.from-1));)d--;return f=e.lineBreak+f,c.push({from:d,to:s,insert:f}),{range:V.cursor(d+f.length),changes:c}});return!r&&(t(e.update(s,{scrollIntoView:!0,userEvent:"input"})),!0)}},{key:"Backspace",run:({state:e,dispatch:t})=>{let i=Kh(e),n=null,r=e.changeByRange(t=>{let r=t.from,{doc:s}=e;if(t.empty&&Aw.isActiveAt(e,t.from)){let e=s.lineAt(r),n=Zw(Rw(i,r),s);if(n.length){let i=n[n.length-1],s=i.to-i.spaceAfter.length+(i.spaceAfter?1:0);if(r-e.from>s&&!/\S/.test(e.text.slice(s,r-e.from)))return{range:V.cursor(e.from+s),changes:{from:e.from+s,to:r}};if(r-e.from==s){let n=e.from+i.from;if(i.item&&i.node.from<i.item.from&&/\S/.test(e.text.slice(i.from,i.to)))return{range:t,changes:{from:n,to:e.from+i.to,insert:i.blank(i.to-i.from)}};if(n<r)return{range:V.cursor(n),changes:{from:n,to:r}}}}}return n={range:t}});return!n&&(t(e.update(r,{scrollIntoView:!0,userEvent:"delete"})),!0)}}],qw=KQ({matchClosingTags:!1});function Iw(e={}){let{codeLanguages:t,defaultCodeLanguage:i,addKeymap:n=!0,base:{parser:r}=Tw}=e;if(!(r instanceof Rv))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let s,o=e.extensions?[e.extensions]:[],a=[qw.support];i instanceof hc?(a.push(i.support),s=i.language):i&&(s=i);let l=t||s?Cw(t,s):void 0;return o.push(uw({codeParser:l,htmlParser:qw.language.parser})),n&&a.push(B.high(ks.of(Mw))),new hc(Pw(r.configure(o)),a)}var Ew=(e,t,i)=>new Promise((n,r)=>{var s=e=>{try{a(i.next(e))}catch(e){r(e)}},o=e=>{try{a(i.throw(e))}catch(e){r(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(s,o);a((i=i.apply(e,t)).next())});class Dw extends OS{constructor(e,t=[]){super(e,t)}getExtensions(e){return Ew(this,null,(function*(){return[Iw()]}))}serialize(){return this.editor.content}}class Uw extends HTMLElement{constructor(){super(),this._mode=hS.xml,this._placeholder="",this.attachShadow({mode:"open"})}static get observedAttributes(){return["placeholder","mode","code"]}connectedCallback(){var e,t,i,n;const r=document.createElement("style");r.innerHTML=this.styles(),null==(e=this.shadowRoot)||e.appendChild(r);const s=document.createElement("slot");s.name="toolbar",null==(t=this.shadowRoot)||t.appendChild(s);const o=document.createElement("div");o.id="editor",null==(i=this.shadowRoot)||i.appendChild(o),this.registerToolbar(null==(n=this.shadowRoot)?void 0:n.querySelector("[name=toolbar]")),this._placeholder=this.getAttribute("placeholder")||"",this.namespace=this.getAttribute("namespace"),this.linter=this.getAttribute("linter"),this.mode=this.initModes()||this.getAttribute("mode")||"xml",this.hasAttribute("mode")||this.setAttribute("mode",this._mode),this.hasAttribute("code")&&(this.value=this.getAttribute("code")),this.hasAttribute("theme")&&(this.theme=this.getAttribute("theme")),this.addEventListener("blur",e=>{const t=e.relatedTarget;if(t){let i=t.parentNode;for(;i;){if(i===this)return e.preventDefault(),void e.stopPropagation();i=i.parentNode}}})}attributeChangedCallback(e,t,i){if(t&&t!==i)switch(e){case"placeholder":this.placeholder=i;break;case"mode":this.mode=i;break;case"code":this.value=i}}focus(){this._editor&&this._editor.focus()}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.setMode(this.mode)}set mode(e){this.setMode(e)}setMode(e,t=!0){var i,n,r;const s=null==(i=this.shadowRoot)?void 0:i.getElementById("editor");if(!s)return;this._editor&&(this._editor.destroy(),s.innerHTML=""),this._mode=hS[e],console.log("<jinn-codemirror> mode: "+this.mode),this.activateToolbar(null==(n=this.shadowRoot)?void 0:n.querySelector("[name=toolbar]")),this.configure();const o=this.querySelector("[name=modes]");o&&o instanceof HTMLSelectElement&&(o.value=this._mode),null==(r=this._config)||r.getConfig().then(e=>{this._editor=new gs({state:$e.create(e),parent:s}),this._config&&t&&(this.content=this._config.setFromValue(this._value))})}configure(){var e;const t=this.getToolbarControls(null==(e=this.shadowRoot)?void 0:e.querySelector("[name=toolbar]"));switch(this._mode){case hS.edcs:case hS.phi:this._config=new Ob(this,t,this._mode);break;case hS.leiden_plus:this._config=new eb(this,t);break;case hS.xquery:this._config=new qb(this,t,this.linter);break;case hS.css:this._config=new by(this,t);break;case hS.tex:this._config=new $y(this,t);break;case hS.html:this._config=new nv(this,t);break;case hS.xml:this._config=new CS(this,t,this.namespace);break;case hS.markdown:this._config=new Dw(this,t);break;default:this._config=new xy(this,t)}}get mode(){return this._mode}set valid(e){this.setAttribute("valid",e.toString())}get valid(){return Boolean(this.hasAttribute("valid"))}set content(e){this._editor?setTimeout(()=>this._editor.dispatch({changes:{from:0,to:this._editor.state.doc.length,insert:e}})):console.log("no editor")}get content(){var e;return(null==(e=this._editor)?void 0:e.state.doc.toString())||""}set value(e){var t;this.setValue(e)&&this._editor&&this._config&&(this.content=null==(t=this._config)?void 0:t.setFromValue(this._value))}get value(){return this.getValue()}setValue(e){if(!this._config)return!1;const t=this._config.setFromValue(e);return this._value!==t&&(this._value=e,!0)}getValue(){return this._value?this._value:null}emitUpdateEvent(e){this.dispatchEvent(new CustomEvent("update",{detail:{content:e},composed:!0,bubbles:!0}))}initModes(){const e=this.querySelector("[name=modes]");return e&&e instanceof HTMLSelectElement?(e.addEventListener("change",()=>{this.mode=e.value}),e.value):null}registerToolbar(e){null==e||e.assignedElements().forEach(e=>{e.querySelectorAll("slot").forEach(e=>this.registerToolbar(e)),e.querySelectorAll("[data-command]").forEach(e=>{const t=e.dataset.command;e.hasAttribute("data-key")&&(e.title=`${e.title} (${e.getAttribute("data-key")})`),e.addEventListener("click",()=>{var i;if(!this._config)return;const n=this._config.getCommands()[t];if(n){const r=dS(t,n,e);r&&(r(this._editor),"encloseWithCommand"!==t&&(null==(i=this._editor)||i.focus()))}})})})}activateToolbar(e){null==e||e.assignedElements().forEach(e=>{e.querySelectorAll("slot").forEach(e=>this.activateToolbar(e)),e.querySelectorAll("[data-command]").forEach(e=>{const t=e;t.dataset.mode&&t.dataset.mode!==this._mode?t.style.display="none":t.style.display="inline"})})}getToolbarControls(e,t=[]){return null==e||e.assignedElements().forEach(e=>{e.querySelectorAll("[data-command]").forEach(e=>{t.push(e)}),e.querySelectorAll("slot").forEach(e=>this.getToolbarControls(e,t))}),t}styles(){return"\n :host > div {\n width: 100%;\n background-color: var(--jinn-codemirror-background-color, #fff);\n }\n "}}window.customElements.define("jinn-codemirror",Uw);