@teipublisher/pb-components 2.10.0 → 2.10.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/css/gridjs/mermaid.min.css +1 -1
  3. package/css/leaflet/leaflet.css +63 -42
  4. package/css/prismjs/prism-coy.css +4 -3
  5. package/css/prismjs/prism-coy.min.css +1 -0
  6. package/css/prismjs/prism-dark.min.css +1 -0
  7. package/css/prismjs/prism-funky.min.css +1 -0
  8. package/css/prismjs/prism-okaidia.min.css +1 -0
  9. package/css/prismjs/prism-solarizedlight.min.css +1 -0
  10. package/css/prismjs/prism-tomorrow.min.css +1 -0
  11. package/css/prismjs/prism-twilight.css +3 -33
  12. package/css/prismjs/prism-twilight.min.css +1 -0
  13. package/css/prismjs/prism.min.css +1 -0
  14. package/css/tom-select/tom-select.bootstrap4.min.css +1 -1
  15. package/css/tom-select/tom-select.bootstrap5.min.css +1 -1
  16. package/css/tom-select/tom-select.default.min.css +1 -1
  17. package/css/tom-select/tom-select.min.css +1 -1
  18. package/dist/{iron-form-9e72ac45.js → iron-form-89b60473.js} +1 -1
  19. package/dist/jinn-codemirror-da585937.js +1 -0
  20. package/dist/{paper-checkbox-102e3b43.js → paper-checkbox-56ead3d4.js} +100 -109
  21. package/dist/pb-code-editor.js +1 -1
  22. package/dist/pb-component-docs.js +94 -103
  23. package/dist/pb-components-bundle.js +171 -162
  24. package/dist/pb-edit-app.js +29 -29
  25. package/dist/{pb-i18n-f7a50012.js → pb-i18n-9000294c.js} +1 -1
  26. package/dist/pb-leaflet-map.js +1 -1
  27. package/dist/pb-odd-editor.js +1 -1
  28. package/dist/pb-tify.js +1 -1
  29. package/dist/{vaadin-element-mixin-b6179444.js → vaadin-element-mixin-67c5648d.js} +17 -18
  30. package/gh-pages.js +6 -0
  31. package/lib/leaflet-src.js +1623 -1173
  32. package/lib/paged.polyfill.js +1335 -1124
  33. package/package.json +4 -3
  34. package/src/pb-facsimile.js +2 -1
  35. package/src/pb-page.js +2 -1
  36. package/dist/jinn-codemirror-13c59456.js +0 -1
  37. /package/dist/{es-global-bridge-6abe3a88.js → es-global-bridge-5c039c0b.js} +0 -0
  38. /package/dist/{pb-mixin-ea2e9070.js → pb-mixin-d61c06b6.js} +0 -0
@@ -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,i){let r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(t,this.length,r,1),n.from(r,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let i=[];return this.decompose(e,t,i,0),n.from(i,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),n=this.length-this.scanIdentical(e,-1),i=new o(this),r=new o(e);for(let e=t,s=t;;){if(i.next(e),r.next(e),e=0,i.lineBreak!=r.lineBreak||i.done!=r.done||i.value!=r.value)return!1;if(s+=i.value.length,i.done||s>=n)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 n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let i=this.line(e).from;n=this.iterRange(i,Math.max(i,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new l(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}static of(i){if(0==i.length)throw new RangeError("A document must have at least one line");return 1!=i.length||i[0]?i.length<=32?new t(i):n.from(t.split(i,[])):e.empty}}class t extends e{constructor(e,t=i(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,i){for(let r=0;;r++){let s=this.text[r],o=i+s.length;if((t?n:o)>=e)return new h(i,o,n,s);i=o+1,n++}}decompose(e,n,i,o){let a=e<=0&&n>=this.length?this:new t(s(this.text,e,n),Math.min(n,this.length)-Math.max(0,e));if(1&o){let e=i.pop(),n=r(a.text,e.text.slice(),0,a.length);if(n.length<=32)i.push(new t(n,e.length+a.length));else{let e=n.length>>1;i.push(new t(n.slice(0,e)),new t(n.slice(e)))}}else i.push(a)}replace(e,i,o){if(!(o instanceof t))return super.replace(e,i,o);let a=r(this.text,r(o.text,s(this.text,0,e)),i),l=this.length+o.length-(i-e);return a.length<=32?new t(a,l):n.from(t.split(a,[]),l)}sliceString(e,t=this.length,n="\n"){let i="";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&&(i+=n),e<a&&t>r&&(i+=o.slice(Math.max(0,e-r),t-r)),r=a+1}return i}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,n){let i=[],r=-1;for(let s of e)i.push(s),r+=s.length+1,32==i.length&&(n.push(new t(i,r)),i=[],r=-1);return r>-1&&n.push(new t(i,r)),n}}class n 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,n,i){for(let r=0;;r++){let s=this.children[r],o=i+s.length,a=n+s.lines-1;if((t?a:o)>=e)return s.lineInner(e,t,n,i);i=o+1,n=a+1}}decompose(e,t,n,i){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=i&((s<=e?1:0)|(a>=t?2:0));s>=e&&a<=t&&!r?n.push(o):o.decompose(e-s,t-s,n,r)}s=a+1}}replace(e,t,i){if(i.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,i),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 n(s,this.length-(t-e)+i.length)}return super.replace(s,a,l)}s=a+1}return super.replace(e,t,i)}sliceString(e,t=this.length,n="\n"){let i="";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&&(i+=n),e<a&&t>s&&(i+=o.sliceString(e-s,t-s,n)),s=a+1}return i}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof n))return 0;let i=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 i;let n=this.children[r],l=e.children[s];if(n!=l)return i+n.scanIdentical(l,t);i+=n.length+1}}static from(e,i=e.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let t of e)r+=t.lines;if(r<32){let n=[];for(let t of e)t.flatten(n);return new t(n,i)}let s=Math.max(32,r>>5),o=s<<1,a=s>>1,l=[],h=0,c=-1,u=[];function f(e){let i;if(e.lines>o&&e instanceof n)for(let t of e.children)f(t);else e.lines>a&&(h>a||!h)?(d(),l.push(e)):e instanceof t&&h&&(i=u[u.length-1])instanceof t&&e.lines+i.lines<=32?(h+=e.lines,c+=e.length+1,u[u.length-1]=new t(i.text.concat(e.text),i.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]:n.from(u,c)),c=-1,h=u.length=0)}for(let t of e)f(t);return d(),1==l.length?l[0]:new n(l,i)}}function i(e){let t=-1;for(let n of e)t+=n.length+1;return t}function r(e,t,n=0,i=1e9){for(let r=0,s=0,o=!0;s<e.length&&r<=i;s++){let a=e[s],l=r+a.length;l>=n&&(l>i&&(a=a.slice(0,i-r)),r<n&&(a=a.slice(n-r)),o?(t[t.length-1]+=a,o=!1):t.push(a)),r=l+1}return t}function s(e,t,n){return r(e,[""],t,n)}e.empty=new t([""],0);class o{constructor(e,n=1){this.dir=n,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[n>0?1:(e instanceof t?e.text.length:e.children.length)<<1]}nextInner(e,n){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],o=s>>1,a=r instanceof t?r.text.length:r.children.length;if(o==(n>0?a:0)){if(0==i)return this.done=!0,this.value="",this;n>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&s)==(n>0?0:1)){if(this.offsets[i]+=n,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(r instanceof t){let t=r.text[o+(n<0?-1:0)];if(this.offsets[i]+=n,t.length>Math.max(0,e))return this.value=0==e?t:n>0?t.slice(e):t.slice(0,t.length-e),this;e-=t.length}else{let s=r.children[o+(n<0?-1:0)];e>s.length?(e-=s.length,this.offsets[i]+=n):(n<0&&this.offsets[i]--,this.nodes.push(s),this.offsets.push(n>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,n){this.value="",this.done=!1,this.cursor=new o(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}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 n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:i}=this.cursor.next(e);return this.pos+=(i.length+e)*t,this.value=i.length<=n?i:t<0?i.slice(i.length-n):i.slice(0,n),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:n,value:i}=this.inner.next(e);return t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=i,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,n,i){this.from=e,this.to=t,this.number=n,this.text=i}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,n=!0,i=!0){return(n?O:m)(e,t,i)}function O(e,t,n){if(t==e.length)return t;t&&g(e.charCodeAt(t))&&S(e.charCodeAt(t-1))&&t--;let i=b(e,t);for(t+=y(i);t<e.length;){let r=b(e,t);if(i==d||r==d||n&&u(r))t+=y(r),i=r;else{if(!f(r))break;{let n=0,i=t-2;for(;i>=0&&f(b(e,i));)n++,i-=2;if(n%2==0)break;t+=2}}}return t}function m(e,t,n){for(;t>0;){let i=O(e,t-2,n);if(i<t)return i;t--}return 0}function g(e){return e>=56320&&e<57344}function S(e){return e>=55296&&e<56320}function b(e,t){let n=e.charCodeAt(t);if(!S(n)||t+1==e.length)return n;let i=e.charCodeAt(t+1);return g(i)?i-56320+(n-55296<<10)+65536:n}function x(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function y(e){return e<65536?1:2}const w=/\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 k{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 n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return 0==this.sections.length||2==this.sections.length&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,i=0;t<this.sections.length;){let r=this.sections[t++],s=this.sections[t++];s<0?(e(n,i,r),i+=r):i+=s,n+=r}}iterChangedRanges(e,t=!1){C(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let n=this.sections[t++],i=this.sections[t++];i<0?e.push(n,i):e.push(i,n)}return new k(e)}composeDesc(e){return this.empty?e:e.empty?this:T(this,e)}mapDesc(e,t=!1){return e.empty?this:X(this,e,t)}mapPos(e,t=-1,n=v.Simple){let i=0,r=0;for(let s=0;s<this.sections.length;){let o=this.sections[s++],a=this.sections[s++],l=i+o;if(a<0){if(l>e)return r+(e-i);r+=o}else{if(n!=v.Simple&&l>=e&&(n==v.TrackDel&&i<e&&l>e||n==v.TrackBefore&&i<e||n==v.TrackAfter&&l>e))return null;if(l>e||l==e&&t<0&&!o)return e==i||t<0?r:r+a;r+=a}i=l}if(e>i)throw new RangeError(`Position ${e} is out of range for changeset of length ${i}`);return r}touchesRange(e,t=e){for(let n=0,i=0;n<this.sections.length&&i<=t;){let r=i+this.sections[n++];if(this.sections[n++]>=0&&i<=t&&r>=e)return!(i<e&&r>t)||"cover";i=r}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let n=this.sections[t++],i=this.sections[t++];e+=(e?" ":"")+n+(i>=0?":"+i:"")}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 k(e)}static create(e){return new k(e)}}class Q extends k{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 C(this,(t,n,i,r,s)=>e=e.replace(i,i+(n-t),s),!1),e}mapDesc(e,t=!1){return X(this,e,t,!0)}invert(t){let n=this.sections.slice(),i=[];for(let r=0,s=0;r<n.length;r+=2){let o=n[r],a=n[r+1];if(a>=0){n[r]=a,n[r+1]=o;let l=r>>1;for(;i.length<l;)i.push(e.empty);i.push(o?t.slice(s,s+o):e.empty)}s+=o}return new Q(n,i)}compose(e){return this.empty?e:e.empty?this:T(this,e,!0)}map(e,t=!1){return e.empty?this:X(this,e,t,!0)}iterChanges(e,t=!1){C(this,e,t)}get desc(){return k.create(this.sections)}filter(e){let t=[],n=[],i=[],r=new Z(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);$(i,e,-1);let s=-1==r.ins?-1:0==r.off?r.ins:0;$(t,e,s),s>0&&P(n,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);$(t,e,-1),$(i,e,-1==r.ins?-1:0==r.off?r.ins:0),r.forward(e),o+=e}}return{changes:new Q(t,n),filtered:k.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],i=this.sections[t+1];i<0?e.push(n):0==i?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,n,i){let r=[],s=[],o=0,a=null;function l(e=!1){if(!e&&!r.length)return;o<n&&$(r,n-o,-1);let t=new Q(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 Q){if(t.length!=n)throw new RangeError(`Mismatched change set length (got ${t.length}, expected ${n})`);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>n)throw new RangeError(`Invalid change range ${a} to ${h} (in doc of length ${n})`);let u=c?"string"==typeof c?e.of(c.split(i||w)):c:e.empty,f=u.length;if(a==h&&0==f)return;a<o&&l(),a>o&&$(r,a-o,-1),$(r,h-a,f),P(s,r,u),o=h}}return h(t),l(!a),a}static empty(e){return new Q(e?[e,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],i=[];for(let r=0;r<t.length;r++){let s=t[r];if("number"==typeof s)n.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)n.push(s[0],0);else{for(;i.length<r;)i.push(e.empty);i[r]=e.of(s.slice(1)),n.push(s[0],i[r].length)}}}return new Q(n,i)}static createSet(e,t){return new Q(e,t)}}function $(e,t,n,i=!1){if(0==t&&n<=0)return;let r=e.length-2;r>=0&&n<=0&&n==e[r+1]?e[r]+=t:0==t&&0==e[r]?e[r+1]+=n:i?(e[r]+=t,e[r+1]+=n):e.push(t,n)}function P(t,n,i){if(0==i.length)return;let r=n.length-2>>1;if(r<t.length)t[t.length-1]=t[t.length-1].append(i);else{for(;t.length<r;)t.push(e.empty);t.push(i)}}function C(t,n,i){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])),!(i||a==t.sections.length||t.sections[a+1]<0);)l=t.sections[a++],h=t.sections[a++];n(s,c,o,u,f),s=c,o=u}}}function X(e,t,n,i=!1){let r=[],s=i?[]:null,o=new Z(e),a=new Z(t);for(let e=-1;;)if(-1==o.ins&&-1==a.ins){let e=Math.min(o.len,a.len);$(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&&!n))){let t=a.len;for($(r,a.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&($(r,0,o.ins),s&&P(s,r,o.text),e=o.i),o.forward(n),t-=n}a.next()}else{if(!(o.ins>=0)){if(o.done&&a.done)return s?Q.createSet(r,s):k.create(r);throw new Error("Mismatched change set lengths")}{let t=0,n=o.len;for(;n;)if(-1==a.ins){let e=Math.min(n,a.len);t+=e,n-=e,a.forward(e)}else{if(!(0==a.ins&&a.len<n))break;n-=a.len,a.next()}$(r,t,e<o.i?o.ins:0),s&&e<o.i&&P(s,r,o.text),e=o.i,o.forward(o.len-n)}}}function T(e,t,n=!1){let i=[],r=n?[]:null,s=new Z(e),o=new Z(t);for(let e=!1;;){if(s.done&&o.done)return r?Q.createSet(i,r):k.create(i);if(0==s.ins)$(i,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),n=i.length;if(-1==s.ins){let n=-1==o.ins?-1:o.off?0:o.ins;$(i,t,n,e),r&&n&&P(r,i,o.text)}else-1==o.ins?($(i,s.off?0:s.len,t,e),r&&P(r,i,s.textBit(t))):($(i,s.off?0:s.len,o.off?0:o.ins,e),r&&!o.off&&P(r,i,o.text));e=(s.ins>t||o.ins>=0&&o.len>t)&&(e||i.length>n),s.forward2(t),o.forward(t)}}else $(i,0,o.ins,e),r&&P(r,i,o.text),o.next()}}class Z{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,n=this.i-2>>1;return n>=t.length?e.empty:t[n]}textBit(t){let{inserted:n}=this.set,i=this.i-2>>1;return i>=n.length&&!t?e.empty:n[i].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 A{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}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 n,i;return this.empty?n=i=e.mapPos(this.from,t):(n=e.mapPos(this.from,1),i=e.mapPos(this.to,-1)),n==this.from&&i==this.to?this:new A(n,i,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return R.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return R.range(this.anchor,n)}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 R.range(e.anchor,e.head)}static create(e,t,n){return new A(e,t,n)}}class R{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:R.create(this.ranges.map(n=>n.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 R([this.main],0)}addRange(e,t=!0){return R.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let n=this.ranges.slice();return n[t]=e,R.create(n,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 R(e.ranges.map(e=>A.fromJSON(e)),e.main)}static single(e,t=e){return new R([R.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 n=0,i=0;i<e.length;i++){let r=e[i];if(r.empty?r.from<=n:r.from<n)return R.normalized(e.slice(),t);n=r.to}return new R(e,t)}static cursor(e,t=0,n,i){return A.create(e,e,(0==t?0:t<0?4:8)|(null==n?3:Math.min(2,n))|(null!=i?i:33554431)<<5)}static range(e,t,n,i){let r=(null!=n?n:33554431)<<5|(null==i?3:Math.min(2,i));return t<e?A.create(t,e,24|r):A.create(e,t,(t>e?4:0)|r)}static normalized(e,t=0){let n=e[t];e.sort((e,t)=>e.from-t.from),t=e.indexOf(n);for(let n=1;n<e.length;n++){let i=e[n],r=e[n-1];if(i.empty?i.from<=r.to:i.from<r.to){let s=r.from,o=Math.max(i.to,r.to);n<=t&&t--,e.splice(--n,2,i.anchor>i.head?R.range(o,s):R.range(s,o))}}return new R(e,t)}}function V(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let M=0;class Y{constructor(e,t,n,i,r){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=i,this.id=M++,this.default=e([]),this.extensions="function"==typeof r?r(this):r}static define(e={}){return new Y(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:_),!!e.static,e.enables)}of(e){return new W([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new W(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new W(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],n=>t(n.field(e)))}}function _(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}class W{constructor(e,t,n,i){this.dependencies=e,this.facet=t,this.type=n,this.value=i,this.id=M++}dynamicSlot(e){var t;let n=this.value,i=this.facet.compareInput,r=this.id,s=e[r]>>1,o=2==this.type,a=!1,l=!1,h=[];for(let n of this.dependencies)"doc"==n?a=!0:"selection"==n?l=!0:0==(1&(null!==(t=e[n.id])&&void 0!==t?t:1))&&h.push(e[n.id]);return{create:e=>(e.values[s]=n(e),1),update(e,t){if(a&&t.docChanged||l&&(t.docChanged||t.selection)||z(e,h)){let t=n(e);if(o?!E(t,e.values[s],i):!i(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(n=>n instanceof Y?t.facet(n)===e.facet(n):!(n instanceof D)||t.field(n,!1)==e.field(n,!1))||(o?E(a=n(e),r,i):i(a=n(e),r)))return e.values[s]=r,0}else a=n(e);return e.values[s]=a,1}}}}function E(e,t,n){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++)if(!n(e[i],t[i]))return!1;return!0}function z(e,t){let n=!1;for(let i of t)1&J(e,i)&&(n=!0);return n}function U(e,t,n){let i=n.map(t=>e[t.id]),r=n.map(e=>e.type),s=i.filter(e=>!(1&e)),o=e[t.id]>>1;function a(e){let n=[];for(let t=0;t<i.length;t++){let s=K(e,i[t]);if(2==r[t])for(let e of s)n.push(e);else n.push(s)}return t.combine(n)}return{create(e){for(let t of i)J(e,t);return e.values[o]=a(e),1},update(e,n){if(!z(e,s))return 0;let i=a(e);return t.compare(i,e.values[o])?0:(e.values[o]=i,1)},reconfigure(e,r){let s=z(e,i),l=r.config.facets[t.id],h=r.facet(t);if(l&&!s&&_(n,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 q=Y.define({static:!0});class D{constructor(e,t,n,i,r){this.id=e,this.createF=t,this.updateF=n,this.compareF=i,this.spec=r,this.provides=void 0}static define(e){let t=new D(M++,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(q).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,n)=>{let i=e.values[t],r=this.updateF(i,n);return this.compareF(i,r)?0:(e.values[t]=r,1)},reconfigure:(e,n)=>null!=n.config.address[this.id]?(e.values[t]=n.field(this),0):(e.values[t]=this.create(e),1)}}init(e){return[this,q.of({field:this,create:e})]}get extension(){return this}}const I={lowest:4,low:3,default:2,high:1,highest:0};function j(e){return t=>new L(t,e)}const B={highest:j(I.highest),high:j(I.high),default:j(I.default),low:j(I.low),lowest:j(I.lowest)};class L{constructor(e,t){this.inner=e,this.prec=t}}class N{of(e){return new G(this,e)}reconfigure(e){return N.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,n,i,r,s){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=i,this.staticValues=r,this.facets=s,this.statusTemplate=[];this.statusTemplate.length<n.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,n){let i=[],r=Object.create(null),s=new Map;for(let n of H(e,t,s))n instanceof D?i.push(n):(r[n.facet.id]||(r[n.facet.id]=[])).push(n);let o=Object.create(null),a=[],l=[];for(let e of i)o[e.id]=l.length<<1,l.push(t=>e.slot(t));let h=null==n?void 0:n.config.facets;for(let e in r){let t=r[e],i=t[0].facet,s=h&&h[e]||[];if(t.every(e=>0==e.type))if(o[i.id]=a.length<<1|1,_(s,t))a.push(n.facet(i));else{let e=i.combine(t.map(e=>e.value));a.push(n&&i.compare(e,n.facet(i))?n.facet(i):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[i.id]=l.length<<1,l.push(e=>U(e,i,t))}}let c=l.map(e=>e(o));return new F(e,s,c,o,a,r)}}function H(e,t,n){let i=[[],[],[],[],[]],r=new Map;function s(e,o){let a=r.get(e);if(null!=a){if(a<=o)return;let t=i[a].indexOf(e);t>-1&&i[a].splice(t,1),e instanceof G&&n.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(n.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let i=t.get(e.compartment)||e.inner;n.set(e.compartment,i),s(i,o)}else if(e instanceof L)s(e.inner,e.prec);else if(e instanceof D)i[o].push(e),e.provides&&s(e.provides,o);else if(e instanceof W)i[o].push(e),e.facet.extensions&&s(e.facet.extensions,I.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,I.default),i.reduce((e,t)=>e.concat(t))}function J(e,t){if(1&t)return 2;let n=t>>1,i=e.status[n];if(4==i)throw new Error("Cyclic dependency between fields and/or facets");if(2&i)return i;e.status[n]=4;let r=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|r}function K(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const ee=Y.define(),te=Y.define({combine:e=>e.some(e=>e),static:!0}),ne=Y.define({combine:e=>e.length?e[0]:void 0,static:!0}),ie=Y.define(),re=Y.define(),se=Y.define(),oe=Y.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 n=[];for(let i of e){let e=i.map(t);e&&n.push(e)}return n}}ce.reconfigure=ce.define(),ce.appendConfig=ce.define();class ue{constructor(e,t,n,i,r,s){this.startState=e,this.changes=t,this.selection=n,this.effects=i,this.annotations=r,this.scrollIntoView=s,this._doc=null,this._state=null,n&&V(n,t.newLength),r.some(e=>e.type==ue.time)||(this.annotations=r.concat(ue.time.of(Date.now())))}static create(e,t,n,i,r,s){return new ue(e,t,n,i,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 n=[];for(let i=0,r=0;;){let s,o;if(i<e.length&&(r==t.length||t[r]>=e[i]))s=e[i++],o=e[i++];else{if(!(r<t.length))return n;s=t[r++],o=t[r++]}!n.length||n[n.length-1]<s?n.push(s,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function de(e,t,n){var i;let r,s,o;return n?(r=t.changes,s=Q.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===(i=e.selection)||void 0===i?void 0:i.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,n){let i=t.selection,r=be(t.annotations);return t.userEvent&&(r=r.concat(ue.userEvent.of(t.userEvent))),{changes:t.changes instanceof Q?t.changes:Q.of(t.changes||[],n,e.facet(ne)),selection:i&&(i instanceof R?i:R.single(i.anchor,i.head)),effects:be(t.effects),annotations:r,scrollIntoView:!!t.scrollIntoView}}function Oe(e,t,n){let i=pe(e,t.length?t[0]:{},e.doc.length);t.length&&!1===t[0].filter&&(n=!1);for(let r=1;r<t.length;r++){!1===t[r].filter&&(n=!1);let s=!!t[r].sequential;i=de(i,pe(e,t[r],s?i.changes.newLength:e.doc.length),s)}let r=ue.create(e,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return ge(n?me(r):r)}function me(e){let t=e.startState,n=!0;for(let i of t.facet(ie)){let t=i(e);if(!1===t){n=!1;break}Array.isArray(t)&&(n=!0===n?t:fe(n,t))}if(!0!==n){let i,r;if(!1===n)r=e.changes.invertedDesc,i=Q.empty(t.doc.length);else{let t=e.changes.filter(n);i=t.changes,r=t.filtered.mapDesc(t.changes).invertedDesc}e=ue.create(t,i,e.selection&&e.selection.map(r),ce.mapEffects(e.effects,r),e.annotations,e.scrollIntoView)}let i=t.facet(re);for(let n=i.length-1;n>=0;n--){let r=i[n](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,n=t.facet(se),i=e;for(let r=n.length-1;r>=0;r--){let s=n[r](e);s&&Object.keys(s).length&&(i=de(i,pe(t,s,e.changes.newLength),!0))}return i==e?e:ue.create(t,e.changes,e.selection,i.effects,i.annotations,i.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 xe=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}(xe||(xe={}));const ye=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let we;try{we=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function ve(e){if(we)return we.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>"€"&&(n.toUpperCase()!=n.toLowerCase()||ye.test(n)))return!0}return!1}function ke(e){return t=>{if(!/\S/.test(t))return xe.Space;if(ve(t))return xe.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return xe.Word;return xe.Other}}class Qe{constructor(e,t,n,i,r,s){this.config=e,this.doc=t,this.selection=n,this.values=i,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 n=this.config.address[e.id];if(null!=n)return J(this,n),K(this,n);if(t)throw new RangeError("Field is not present in this state")}update(...e){return Oe(this,e,!0)}applyTransaction(e){let t,n=this.config,{base:i,compartments:r}=n;for(let t of e.effects)t.is(N.reconfigure)?(n&&(r=new Map,n.compartments.forEach((e,t)=>r.set(t,e)),n=null),r.set(t.value.compartment,t.value.extension)):t.is(ce.reconfigure)?(n=null,i=t.value):t.is(ce.appendConfig)&&(n=null,i=be(i).concat(t.value));if(n)t=e.startState.values.slice();else{n=F.resolve(i,r,this),t=new Qe(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values}new Qe(n,e.newDoc,e.newSelection,t,(t,n)=>n.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:R.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),i=this.changes(n.changes),r=[n.range],s=be(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),a=this.changes(o.changes),l=a.map(i);for(let e=0;e<n;e++)r[e]=r[e].map(l);let h=i.mapDesc(a,!0);r.push(o.range.map(h)),i=i.compose(l),s=ce.mapEffects(s,l).concat(ce.mapEffects(be(o.effects),h))}return{changes:i,selection:R.create(r,t.mainIndex),effects:s}}changes(e=[]){return e instanceof Q?e:Q.of(e,this.doc.length,this.facet(Qe.lineSeparator))}toText(t){return e.of(t.split(this.facet(Qe.lineSeparator)||w))}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 n in e){let i=e[n];i instanceof D&&null!=this.config.address[i.id]&&(t[n]=i.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(e,t={},n){if(!e||"string"!=typeof e.doc)throw new RangeError("Invalid JSON representation for EditorState");let i=[];if(n)for(let t in n)if(Object.prototype.hasOwnProperty.call(e,t)){let r=n[t],s=e[t];i.push(r.init(e=>r.spec.fromJSON(s,e)))}return Qe.create({doc:e.doc,selection:R.fromJSON(e.selection),extensions:t.extensions?i.concat([t.extensions]):i})}static create(t={}){let n=F.resolve(t.extensions||[],new Map),i=t.doc instanceof e?t.doc:e.of((t.doc||"").split(n.staticFacet(Qe.lineSeparator)||w)),r=t.selection?t.selection instanceof R?t.selection:R.single(t.selection.anchor,t.selection.head):R.single(0);return V(r,i.length),n.staticFacet(te)||(r=r.asSingle()),new Qe(n,i,r,n.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(Qe.tabSize)}get lineBreak(){return this.facet(Qe.lineSeparator)||"\n"}get readOnly(){return this.facet(oe)}phrase(e,...t){for(let t of this.facet(Qe.phrases))if(Object.prototype.hasOwnProperty.call(t,e)){e=t[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(e,n)=>{if("$"==n)return"$";let i=+(n||1);return!i||i>t.length?e:t[i-1]})),e}languageDataAt(e,t,n=-1){let i=[];for(let r of this.facet(ee))for(let s of r(this,t,n))Object.prototype.hasOwnProperty.call(s,e)&&i.push(s[e]);return i}charCategorizer(e){return ke(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:i}=this.doc.lineAt(e),r=this.charCategorizer(e),s=e-n,o=e-n;for(;s>0;){let e=p(t,s,!1);if(r(t.slice(e,s))!=xe.Word)break;s=e}for(;o<i;){let e=p(t,o);if(r(t.slice(o,e))!=xe.Word)break;o=e}return s==o?null:R.range(s+n,o+n)}}function $e(e,t,n={}){let i={};for(let t of e)for(let e of Object.keys(t)){let r=t[e],s=i[e];if(void 0===s)i[e]=r;else if(s===r||void 0===r);else{if(!Object.hasOwnProperty.call(n,e))throw new Error("Config merge conflict for field "+e);i[e]=n[e](s,r)}}for(let e in t)void 0===i[e]&&(i[e]=t[e]);return i}Qe.allowMultipleSelections=te,Qe.tabSize=Y.define({combine:e=>e.length?e[0]:4}),Qe.lineSeparator=ne,Qe.readOnly=oe,Qe.phrases=Y.define({compare(e,t){let n=Object.keys(e),i=Object.keys(t);return n.length==i.length&&n.every(n=>e[n]==t[n])}}),Qe.languageData=ee,Qe.changeFilter=ie,Qe.transactionFilter=re,Qe.transactionExtender=se,N.reconfigure=ce.define();class Pe{eq(e){return this==e}range(e,t=e){return Ce.create(e,t,this)}}Pe.prototype.startSide=Pe.prototype.endSide=0,Pe.prototype.point=!1,Pe.prototype.mapMode=v.TrackDel;class Ce{constructor(e,t,n){this.from=e,this.to=t,this.value=n}static create(e,t,n){return new Ce(e,t,n)}}function Xe(e,t){return e.from-t.from||e.value.startSide-t.value.startSide}class Te{constructor(e,t,n,i){this.from=e,this.to=t,this.value=n,this.maxPoint=i}get length(){return this.to[this.to.length-1]}findIndex(e,t,n,i=0){let r=n?this.to:this.from;for(let s=i,o=r.length;;){if(s==o)return s;let i=s+o>>1,a=r[i]-e||(n?this.value[i].endSide:this.value[i].startSide)-t;if(i==s)return a>=0?s:o;a>=0?o=i:s=i+1}}between(e,t,n,i){for(let r=this.findIndex(t,-1e9,!0),s=this.findIndex(n,1e9,!1,r);r<s;r++)if(!1===i(this.from[r]+e,this.to[r]+e,this.value[r]))return!1}map(e,t){let n=[],i=[],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)),n.push(c),i.push(l-s),r.push(h-s))}return{mapped:n.length?new Te(i,r,n,o):null,pos:s}}}class Ze{constructor(e,t,n,i){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=i}static create(e,t,n,i){return new Ze(e,t,n,i)}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:n=!1,filterFrom:i=0,filterTo:r=this.length}=e,s=e.filter;if(0==t.length&&!s)return this;if(n&&(t=t.slice().sort(Xe)),this.isEmpty)return t.length?Ze.of(t):this;let o=new Me(this,null,-1).goto(0),a=0,l=[],h=new Re;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||i>this.chunkEnd(o.chunkIndex)||r<this.chunkPos[o.chunkIndex])&&h.addChunk(this.chunkPos[o.chunkIndex],this.chunk[o.chunkIndex])?o.nextChunk():((!s||i>o.to||r<o.from||s(o.from,o.to,o.value))&&(h.addInner(o.from,o.to,o.value)||l.push(Ce.create(o.from,o.to,o.value))),o.next());return h.finishInner(this.nextLayer.isEmpty&&!l.length?Ze.empty:this.nextLayer.update({add:l,filter:s,filterFrom:i,filterTo:r}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],n=[],i=-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)i=Math.max(i,o.maxPoint),t.push(o),n.push(e.mapPos(s));else if(!0===a){let{mapped:r,pos:a}=o.map(s,e);r&&(i=Math.max(i,r.maxPoint),t.push(r),n.push(a))}}let r=this.nextLayer.map(e);return 0==t.length?r:new Ze(n,t,r||Ze.empty,i)}between(e,t,n){if(!this.isEmpty){for(let i=0;i<this.chunk.length;i++){let r=this.chunkPos[i],s=this.chunk[i];if(t>=r&&e<=r+s.length&&!1===s.between(r,e-r,t-r,n))return}this.nextLayer.between(e,t,n)}}iter(e=0){return Ye.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ye.from(e).goto(t)}static compare(e,t,n,i,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=Ve(s,o,n),l=new We(s,a,r),h=new We(o,a,r);n.iterGaps((e,t,n)=>Ee(l,e,h,t,n,i)),n.empty&&0==n.length&&Ee(l,0,h,0,0,i)}static eq(e,t,n=0,i){null==i&&(i=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=Ve(r,s),a=new We(r,o,0).goto(n),l=new We(s,o,0).goto(n);for(;;){if(a.to!=l.to||!ze(a.active,l.active)||a.point&&(!l.point||!a.point.eq(l.point)))return!1;if(a.to>i)return!0;a.next(),l.next()}}static spans(e,t,n,i,r=-1){let s=new We(e,null,r).goto(t),o=t,a=s.openStart;for(;;){let e=Math.min(s.to,n);if(s.point){let n=s.activeForPoint(s.to),r=s.pointFrom<t?n.length+1:Math.min(n.length,a);i.point(o,e,s.point,n,r,s.pointRank),a=Math.min(s.openEnd(e),n.length)}else e>o&&(i.span(o,e,s.active,a),a=s.openEnd(e));if(s.to>n)return a+(s.point&&s.to>n?1:0);o=s.to,s.next()}}static of(e,t=!1){let n=new Re;for(let i of e instanceof Ce?[e]:t?Ae(e):e)n.add(i.from,i.to,i.value);return n.finish()}}function Ae(e){if(e.length>1)for(let t=e[0],n=1;n<e.length;n++){let i=e[n];if(Xe(t,i)>0)return e.slice().sort(Xe);t=i}return e}Ze.empty=new Ze([],[],null,-1),Ze.empty.nextLayer=Ze.empty;class Re{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 Te(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,n){this.addInner(e,t,n)||(this.nextLayer||(this.nextLayer=new Re)).add(e,t,n)}addInner(e,t,n){let i=e-this.lastTo||n.startSide-this.last.endSide;if(i<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(i<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=n,this.lastFrom=e,this.lastTo=t,this.value.push(n),n.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 n=t.value.length-1;return this.last=t.value[n],this.lastFrom=t.from[n]+e,this.lastTo=t.to[n]+e,!0}finish(){return this.finishInner(Ze.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=Ze.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Ve(e,t,n){let i=new Map;for(let t of e)for(let e=0;e<t.chunk.length;e++)t.chunk[e].maxPoint<=0&&i.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=i.get(e.chunk[t]);null==s||(n?n.mapPos(s):s)!=e.chunkPos[t]||(null==n?void 0:n.touchesRange(s,s+e.chunk[t].length))||r.add(e.chunk[t])}return r}class Me{constructor(e,t,n,i=0){this.layer=e,this.skip=t,this.minPoint=n,this.rank=i}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,n){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++,n=!1}if(this.chunkIndex<this.layer.chunk.length){let i=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!n||this.rangeIndex<i)&&this.setRangeIndex(i)}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],n=e+t.from[this.rangeIndex];if(this.from=n,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 Ye{constructor(e){this.heap=e}static from(e,t=null,n=-1){let i=[];for(let r=0;r<e.length;r++)for(let s=e[r];!s.isEmpty;s=s.nextLayer)s.maxPoint>=n&&i.push(new Me(s,t,n,r));return 1==i.length?i[0]:new Ye(i)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let n of this.heap)n.goto(e,t);for(let e=this.heap.length>>1;e>=0;e--)_e(this.heap,e);return this.next(),this}forward(e,t){for(let n of this.heap)n.forward(e,t);for(let e=this.heap.length>>1;e>=0;e--)_e(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(),_e(this.heap,0)}}}function _e(e,t){for(let n=e[t];;){let i=1+(t<<1);if(i>=e.length)break;let r=e[i];if(i+1<e.length&&r.compare(e[i+1])>=0&&(r=e[i+1],i++),n.compare(r)<0)break;e[i]=n,e[t]=r,t=i}}class We{constructor(e,t,n){this.minPoint=n,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=Ye.from(e,t,n)}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){Ue(this.active,e),Ue(this.activeTo,e),Ue(this.activeRank,e),this.minActive=De(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:i,rank:r}=this.cursor;for(;t<this.activeRank.length&&this.activeRank[t]<=r;)t++;qe(this.active,t,n),qe(this.activeTo,t,i),qe(this.activeRank,t,r),e&&qe(e,t,this.cursor.from),this.minActive=De(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let n=this.openStart<0?[]:null;for(;;){let i=this.minActive;if(i>-1&&(this.activeTo[i]-this.cursor.from||this.active[i].endSide-this.cursor.startSide)<0){if(this.activeTo[i]>e){this.to=this.activeTo[i],this.endSide=this.active[i].endSide;break}this.removeActive(i),n&&Ue(n,i)}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(n),this.cursor.next()}}}if(n){this.openStart=0;for(let t=n.length-1;t>=0&&n[t]<e;t--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let n=this.active.length-1;n>=0&&!(this.activeRank[n]<this.pointRank);n--)(this.activeTo[n]>e||this.activeTo[n]==e&&this.active[n].endSide>=this.point.endSide)&&t.push(this.active[n]);return t.reverse()}openEnd(e){let t=0;for(let n=this.activeTo.length-1;n>=0&&this.activeTo[n]>e;n--)t++;return t}}function Ee(e,t,n,i,r,s){e.goto(t),n.goto(i);let o=i+r,a=i,l=i-t;for(;;){let t=e.to+l-n.to||e.endSide-n.endSide,i=t<0?e.to+l:n.to,r=Math.min(i,o);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&ze(e.activeForPoint(e.to+l),n.activeForPoint(n.to))||s.comparePoint(a,r,e.point,n.point):r>a&&!ze(e.active,n.active)&&s.compareRange(a,r,e.active,n.active),i>o)break;a=i,t<=0&&e.next(),t>=0&&n.next()}}function ze(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n]&&!e[n].eq(t[n]))return!1;return!0}function Ue(e,t){for(let n=t,i=e.length-1;n<i;n++)e[n]=e[n+1];e.pop()}function qe(e,t,n){for(let n=e.length-1;n>=t;n--)e[n+1]=e[n];e[t]=n}function De(e,t){let n=-1,i=1e9;for(let r=0;r<t.length;r++)(t[r]-i||e[r].endSide-e[n].endSide)<0&&(n=r,i=t[r]);return n}function Ie(e,t,n=e.length){let i=0;for(let r=0;r<n;)9==e.charCodeAt(r)?(i+=t-i%t,r++):(i++,r=p(e,r));return i}function je(e,t,n,i){for(let i=0,r=0;;){if(r>=t)return i;if(i==e.length)break;r+=9==e.charCodeAt(i)?n-r%n:1,i=p(e,i)}return!0===i?-1:e.length}const Be="ͼ",Le="undefined"==typeof Symbol?"__"+Be:Symbol.for(Be),Ne="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:n}=t||{};function i(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 n in t){let o=t[n];if(/&/.test(n))r(n.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 ("+n+") should be a primitive value.");r(i(n),o,a,h)}else null!=o&&a.push(n.replace(/_.*/,"").replace(/[A-Z]/g,e=>"-"+e.toLowerCase())+": "+o+";")}(a.length||h)&&s.push((!n||l||o?e:e.map(n)).join(", ")+" {"+a.join(" ")+"}")}for(let t in e)r(i(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Ge[Le]||1;return Ge[Le]=e+1,Be+e.toString(36)}static mount(e,t){(e[Ne]||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[Ne]=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[Ne]=this}mount(e){let t=this.sheet,n=0,i=0;for(let r=0;r<e.length;r++){let s=e[r],o=this.modules.indexOf(s);if(o<i&&o>-1&&(this.modules.splice(o,1),i--,o=-1),-1==o){if(this.modules.splice(i++,0,s),t)for(let e=0;e<s.rules.length;e++)t.insertRule(s.rules[e],n++)}else{for(;i<o;)n+=this.modules[i++].rules.length;n+=s.rules.length,i++}}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),nt=("undefined"!=typeof navigator&&/Gecko\/\d+/.test(navigator.userAgent),"undefined"!=typeof navigator&&/Mac/.test(navigator.platform)),it="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),rt=nt||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)||it&&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?$t(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function dt(e,t,n,i){return!!n&&(Ot(e,t,n,i,-1)||Ot(e,t,n,i,1))}function pt(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function Ot(e,t,n,i,r){for(;;){if(e==n&&t==i)return!0;if(t==(r<0?0:mt(e))){if("DIV"==e.nodeName)return!1;let n=e.parentNode;if(!n||1!=n.nodeType)return!1;t=pt(e)+(r<0?0:1),e=n}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 n=t?e.left:e.right;return{left:n,right:n,top:e.top,bottom:e.bottom}}function bt(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}function xt(e,t,n,i,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),n>0&&t.bottom>e.bottom+d&&(d=t.bottom-e.bottom+d+o)):t.bottom>e.bottom&&(d=t.bottom-e.bottom+o,n<0&&t.top-d<e.top&&(d=-(e.top+d-t.top+o)));else{let i=t.bottom-t.top,s=e.bottom-e.top;d=("center"==r&&i<=s?t.top+i/2-s/2:"start"==r||"center"==r&&n<0?t.top-o:t.bottom-s+o)-e.top}if("nearest"==i)t.left<e.left?(f=-(e.left-t.left+s),n>0&&t.right>e.right+f&&(f=t.right-e.right+f+s)):t.right>e.right&&(f=t.right-e.right+s,n<0&&t.left<e.left+f&&(f=-(e.left+f-t.left+s)));else{f=("center"==i?t.left+(t.right-t.left)/2-(e.right-e.left)/2:"start"==i==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,n=0;if(d){let e=c.scrollTop;c.scrollTop+=d,n=c.scrollTop-e}if(f){let t=c.scrollLeft;c.scrollLeft+=f,e=c.scrollLeft-t}t={left:t.left-e,top:t.top-n,right:t.right-e,bottom:t.bottom-n},e&&Math.abs(e-f)<1&&(i="nearest"),n&&Math.abs(n-d)<1&&(r="nearest")}if(u)break;c=c.assignedSlot||c.parentNode}else{if(11!=c.nodeType)break;c=c.host}}function yt(e){let t=e.ownerDocument;for(let n=e.parentNode;n&&n!=t.body;)if(1==n.nodeType){if(n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth)return n;n=n.assignedSlot||n.parentNode}else{if(11!=n.nodeType)break;n=n.host}return null}class wt{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,n,i){this.anchorNode=e,this.anchorOffset=t,this.focusNode=n,this.focusOffset=i}}let vt,kt=null;function Qt(e){if(e.setActive)return e.setActive();if(kt)return e.focus(kt);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==kt?{get preventScroll(){return kt={preventScroll:!0},!0}}:void 0),!kt){kt=!1;for(let e=0;e<t.length;){let n=t[e++],i=t[e++],r=t[e++];n.scrollTop!=i&&(n.scrollTop=i),n.scrollLeft!=r&&(n.scrollLeft=r)}}}function $t(e,t,n=t){let i=vt||(vt=document.createRange());return i.setEnd(e,n),i.setStart(e,t),i}function Pt(e,t,n){let i={key:t,code:t,keyCode:n,which:n,cancelable:!0},r=new KeyboardEvent("keydown",i);r.synthetic=!0,e.dispatchEvent(r);let s=new KeyboardEvent("keyup",i);return s.synthetic=!0,e.dispatchEvent(s),r.defaultPrevented||s.defaultPrevented}function Ct(e){for(;e;){if(e&&(9==e.nodeType||11==e.nodeType&&e.host))return e;e=e.assignedSlot||e.parentNode}return null}function Xt(e){for(;e.attributes.length;)e.removeAttributeNode(e.attributes[0])}function Tt(e,t){let n=t.focusNode,i=t.focusOffset;if(!n||t.anchorNode!=n||t.anchorOffset!=i)return!1;for(;;)if(i){if(1!=n.nodeType)return!1;let e=n.childNodes[i-1];"false"==e.contentEditable?i--:(n=e,i=mt(n))}else{if(n==e)return!0;i=pt(n),n=n.parentNode}}class Zt{constructor(e,t,n=!0){this.node=e,this.offset=t,this.precise=n}static before(e,t){return new Zt(e.parentNode,pt(e),t)}static after(e,t){return new Zt(e.parentNode,pt(e)+1,t)}}const At=[];class Rt{constructor(){this.parent=null,this.dom=null,this.dirty=2}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 n of this.children){if(n==e)return t;t+=n.length+n.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}coordsAt(e,t){return null}sync(e,t){if(2&this.dirty){let n,i=this.dom,r=null;for(let s of this.children){if(s.dirty){if(!s.dom&&(n=r?r.nextSibling:i.firstChild)){let e=Rt.get(n);(!e||!e.parent&&e.canReuseDOM(s))&&s.reuseDOM(n)}s.sync(e,t),s.dirty=0}if(n=r?r.nextSibling:i.firstChild,t&&!t.written&&t.node==i&&n!=s.dom&&(t.written=!0),s.dom.parentNode==i)for(;n&&n!=s.dom;)n=Vt(n);else i.insertBefore(s.dom,n);r=s.dom}for(n=r?r.nextSibling:i.firstChild,n&&t&&t.node==i&&(t.written=!0);n;)n=Vt(n)}else if(1&this.dirty)for(let n of this.children)n.dirty&&(n.sync(e,t),n.dirty=0)}reuseDOM(e){}localPosFromDOM(e,t){let n;if(e==this.dom)n=this.dom.childNodes[t];else{let i=0==mt(e)?0:0==t?-1:1;for(;;){let t=e.parentNode;if(t==this.dom)break;0==i&&t.firstChild!=t.lastChild&&(i=e==t.firstChild?-1:1),e=t}n=i<0?e:e.nextSibling}if(n==this.dom.firstChild)return 0;for(;n&&!Rt.get(n);)n=n.nextSibling;if(!n)return this.length;for(let e=0,t=0;;e++){let i=this.children[e];if(i.dom==n)return t;t+=i.length+i.breakAfter}}domBoundsAround(e,t,n=0){let i=-1,r=-1,s=-1,o=-1;for(let a=0,l=n,h=n;a<this.children.length;a++){let n=this.children[a],c=l+n.length;if(l<e&&c>t)return n.domBoundsAround(e,t,l);if(c>=e&&-1==i&&(i=a,r=l),l>t&&n.dom.parentNode==this.dom){s=a,o=h;break}h=c,l=c+n.breakAfter}return{from:r,to:o<0?n+this.length:o,startDOM:(i?this.children[i-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,n=At){this.markDirty();for(let n=e;n<t;n++){let e=this.children[n];e.parent==this&&e.destroy()}this.children.splice(e,t-e,...n);for(let e=0;e<n.length;e++)n[e].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new Mt(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}get isWidget(){return!1}merge(e,t,n,i,r,s){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor}getSide(){return 0}destroy(){this.parent=null}}function Vt(e){let t=e.nextSibling;return e.parentNode.removeChild(e),t}Rt.prototype.breakAfter=0;class Mt{constructor(e,t,n){this.children=e,this.pos=t,this.i=n,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 n=this.children[--this.i];this.pos-=n.length+n.breakAfter}}}function Yt(e,t,n,i,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==i&&c&&!o&&!f&&s.length<2&&c.merge(n,r,s.length?u:null,0==n,a,l))){if(i<h.length){let e=h[i];e&&r<e.length?(t==i&&(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),i++}for(c&&(c.breakAfter=o,n>0&&(!o&&s.length&&c.merge(n,c.length,s[0],!1,a,0)?c.breakAfter=s.shift().breakAfter:(n<c.length||c.children.length&&0==c.children[c.children.length-1].length)&&c.merge(n,c.length,null,!1,a,0),t++));t<i&&s.length;)if(h[i-1].become(s[s.length-1]))i--,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&&i<h.length&&!h[t-1].breakAfter&&h[i].merge(0,0,h[t-1],!1,a,l)&&t--,(t<i||s.length)&&e.replaceChildren(t,i,s)}}function _t(e,t,n,i,r,s){let o=e.childCursor(),{i:a,off:l}=o.findPos(n,1),{i:h,off:c}=o.findPos(t,-1),u=t-n;for(let e of i)u+=e.length;e.length+=u,Yt(e,h,c,a,l,i,0,r,s)}let Wt="undefined"!=typeof navigator?navigator:{userAgent:"",vendor:"",platform:""},Et="undefined"!=typeof document?document:{documentElement:{style:{}}};const zt=/Edge\/(\d+)/.exec(Wt.userAgent),Ut=/MSIE \d/.test(Wt.userAgent),qt=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Wt.userAgent),Dt=!!(Ut||qt||zt),It=!Dt&&/gecko\/(\d+)/i.test(Wt.userAgent),jt=!Dt&&/Chrome\/(\d+)/.exec(Wt.userAgent),Bt="webkitFontSmoothing"in Et.documentElement.style,Lt=!Dt&&/Apple Computer/.test(Wt.vendor),Nt=Lt&&(/Mobile\/\w+/.test(Wt.userAgent)||Wt.maxTouchPoints>2);var Gt={mac:Nt||/Mac/.test(Wt.platform),windows:/Win/.test(Wt.platform),linux:/Linux|X11/.test(Wt.platform),ie:Dt,ie_version:Ut?Et.documentMode||6:qt?+qt[1]:zt?+zt[1]:0,gecko:It,gecko_version:It?+(/Firefox\/(\d+)/.exec(Wt.userAgent)||[0,0])[1]:0,chrome:!!jt,chrome_version:jt?+jt[1]:0,ios:Nt,android:/Android\b/.test(Wt.userAgent),webkit:Bt,safari:Lt,webkit_version:Bt?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Et.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};const Ft=256;class Ht extends Rt{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){3==e.nodeType&&this.createDOM(e)}merge(e,t,n){return(!n||n instanceof Ht&&!(this.length-(t-e)+n.length>Ft))&&(this.text=this.text.slice(0,e)+(n?n.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 Zt(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return Kt(this.dom,e,t)}}class Jt extends Rt{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let e of t)e.setParent(this)}setAttrs(e){if(Xt(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,t){this.dom?4&this.dirty&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,n,i,r,s){return(!n||!(!(n instanceof Jt&&n.mark.eq(this.mark))||e&&r<=0||t<this.length&&s<=0))&&(_t(this,e,t,n?n.children:[],r-1,s-1),this.markDirty(),!0)}split(e){let t=[],n=0,i=-1,r=0;for(let s of this.children){let o=n+s.length;o>e&&t.push(n<e?s.split(e-n):s),i<0&&n>=e&&(i=r),n=o,r++}let s=this.length-e;return this.length=e,i>-1&&(this.children.length=i,this.markDirty()),new Jt(this.mark,t,s)}domAtPos(e){return an(this,e)}coordsAt(e,t){return hn(this,e,t)}}function Kt(e,t,n){let i=e.nodeValue.length;t>i&&(t=i);let r=t,s=t,o=0;0==t&&n<0||t==i&&n>=0?Gt.chrome||Gt.gecko||(t?(r--,o=1):s<i&&(s++,o=-1)):n<0?r--:s<i&&s++;let a=$t(e,r,s).getClientRects();if(!a.length)return gt;let l=a[(o?o<0:n>=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 en extends Rt{constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n,this.prevWidget=null}static create(e,t,n){return new(e.customView||en)(e,t,n)}split(e){let t=en.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,n,i,r,s){return!(n&&(!(n instanceof en&&this.widget.compare(n.widget))||e>0&&r<=0||t<this.length&&s<=0))&&(this.length=e+(n?n.length:0)+(this.length-t),!0)}become(e){return e.length==this.length&&e instanceof en&&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{view:n}=t,i=n&&n.state.doc,r=this.posAtStart;return i?i.slice(r,r+this.length):e.empty}domAtPos(e){return 0==e?Zt.before(this.dom):Zt.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let n=this.dom.getClientRects(),i=null;if(!n.length)return gt;for(let t=e>0?n.length-1:0;i=n[t],!(e>0?0==t:t==n.length-1||i.top<i.bottom);t+=e>0?-1:1);return this.length?i:St(i,this.side>0)}get isEditable(){return!1}get isWidget(){return!0}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class tn extends en{domAtPos(e){let{topView:t,text:n}=this.widget;return t?nn(e,0,t,n,(e,t)=>e.domAtPos(t),e=>new Zt(n,Math.min(e,n.nodeValue.length))):new Zt(n,Math.min(e,n.nodeValue.length))}sync(){this.setDOM(this.widget.toDOM())}localPosFromDOM(e,t){let{topView:n,text:i}=this.widget;return n?rn(e,t,n,i):Math.min(t,this.length)}ignoreMutation(){return!1}get overrideDOMText(){return null}coordsAt(e,t){let{topView:n,text:i}=this.widget;return n?nn(e,t,n,i,(e,t,n)=>e.coordsAt(t,n),(e,t)=>Kt(i,e,t)):Kt(i,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 nn(e,t,n,i,r,s){if(n instanceof Jt){for(let o=n.dom.firstChild;o;o=o.nextSibling){let n=Rt.get(o);if(!n)return s(e,t);let a=ht(o,i),l=n.length+(a?i.nodeValue.length:0);if(e<l||e==l&&n.getSide()<=0)return a?nn(e,t,n,i,r,s):r(n,e,t);e-=l}return r(n,n.length,-1)}return n.dom==i?s(e,t):r(n,e,t)}function rn(e,t,n,i){if(n instanceof Jt)for(let r of n.children){let n=0,s=ht(r.dom,i);if(ht(r.dom,e))return n+(s?rn(e,t,r,i):r.localPosFromDOM(e,t));n+=s?i.nodeValue.length:r.length}else if(n.dom==i)return Math.min(t,i.nodeValue.length);return n.localPosFromDOM(e,t)}class sn extends Rt{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof sn&&e.side==this.side}split(){return new sn(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 Zt.before(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){let t=this.dom.getBoundingClientRect(),n=on(this,this.side>0?-1:1);return n&&n.top<t.bottom&&n.bottom>t.top?{left:t.left,right:t.right,top:n.top,bottom:n.bottom}:t}get overrideDOMText(){return e.empty}}function on(e,t){let n=e.parent,i=n?n.children.indexOf(e):-1;for(;n&&i>=0;)if(t<0?i>0:i<n.children.length){let e=n.children[i+t];if(e instanceof Ht){let n=e.coordsAt(t<0?e.length:0,t);if(n)return n}i+=t}else{if(!(n instanceof Jt&&n.parent)){let e=n.dom.lastChild;if(e&&"BR"==e.nodeName)return e.getClientRects()[0];break}i=n.parent.children.indexOf(n)+(t<0?0:1),n=n.parent}}function an(e,t){let n=e.dom,{children:i}=e,r=0;for(let e=0;r<i.length;r++){let s=i[r],o=e+s.length;if(!(o==e&&s.getSide()<=0)){if(t>e&&t<o&&s.dom.parentNode==n)return s.domAtPos(t-e);if(t<=e)break;e=o}}for(let e=r;e>0;e--){let t=i[e-1];if(t.dom.parentNode==n)return t.domAtPos(t.length)}for(let e=r;e<i.length;e++){let t=i[e];if(t.dom.parentNode==n)return t.domAtPos(0)}return new Zt(n,0)}function ln(e,t,n){let i,{children:r}=e;n>0&&t instanceof Jt&&r.length&&(i=r[r.length-1])instanceof Jt&&i.mark.eq(t.mark)?ln(i,t.children[0],n-1):(r.push(t),t.setParent(e)),e.length+=t.length}function hn(e,t,n){let i=null,r=-1,s=null,o=-1;function a(e,t){for(let n=0,l=0;n<e.children.length&&l<=t;n++){let h=e.children[n],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)&&(i=h,r=t-l)),l=c}}a(e,t);let l=(n<0?i:s)||i||s;return l?l.coordsAt(Math.max(0,l==i?r:o),n):cn(e)}function cn(e){let t=e.dom.lastChild;if(!t)return e.dom.getBoundingClientRect();let n=ft(t);return n[n.length-1]||null}function un(e,t){for(let n in e)"class"==n&&t.class?t.class+=" "+e.class:"style"==n&&t.style?t.style+=";"+e.style:t[n]=e[n];return t}function fn(e,t){if(e==t)return!0;if(!e||!t)return!1;let n=Object.keys(e),i=Object.keys(t);if(n.length!=i.length)return!1;for(let r of n)if(-1==i.indexOf(r)||e[r]!==t[r])return!1;return!0}function dn(e,t,n){let i=null;if(t)for(let r in t)n&&r in n||e.removeAttribute(i=r);if(n)for(let r in n)t&&t[r]==n[r]||e.setAttribute(i=r,n[r]);return!!i}Ht.prototype.children=en.prototype.children=sn.prototype.children=At;class pn{eq(e){return!1}updateDOM(e,t){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 On=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(On||(On={}));class mn extends Pe{constructor(e,t,n,i){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=i}get heightRelevant(){return!1}static mark(e){return new gn(e)}static widget(e){let t=e.side||0,n=!!e.block;return t+=n?t>0?3e8:-4e8:t>0?1e8:-1e8,new bn(e,t,t,n,e.widget||null,!1)}static replace(e){let t,n,i=!!e.block;if(e.isBlockGap)t=-5e8,n=4e8;else{let{start:r,end:s}=xn(e,i);t=(r?i?-3e8:-1:5e8)-1,n=1+(s?i?2e8:1:-6e8)}return new bn(e,t,n,i,e.widget||null,!0)}static line(e){return new Sn(e)}static set(e,t=!1){return Ze.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}mn.none=Ze.empty;class gn extends mn{constructor(e){let{start:t,end:n}=xn(e);super(t?-1:5e8,n?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 gn&&this.tagName==e.tagName&&this.class==e.class&&fn(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)}}gn.prototype.point=!1;class Sn extends mn{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Sn&&this.spec.class==e.spec.class&&fn(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)}}Sn.prototype.mapMode=v.TrackBefore,Sn.prototype.point=!0;class bn extends mn{constructor(e,t,n,i,r,s){super(t,n,r,e),this.block=i,this.isReplace=s,this.mapMode=i?t<=0?v.TrackBefore:v.TrackAfter:v.TrackDel}get type(){return this.startSide<this.endSide?On.WidgetRange:this.startSide<=0?On.WidgetBefore:On.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&this.widget.estimatedHeight>=5}eq(e){return e instanceof bn&&yn(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 xn(e,t=!1){let{inclusiveStart:n,inclusiveEnd:i}=e;return null==n&&(n=e.inclusive),null==i&&(i=e.inclusive),{start:null!=n?n:t,end:null!=i?i:t}}function yn(e,t){return e==t||!!(e&&t&&e.compare(t))}function wn(e,t,n,i=0){let r=n.length-1;r>=0&&n[r]+i>=e?n[r]=Math.max(n[r],t):n.push(e,t)}bn.prototype.point=!0;class vn extends Rt{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,i,r,s){if(n){if(!(n instanceof vn))return!1;this.dom||n.transferDOM(this)}return i&&this.setDeco(n?n.attrs:null),_t(this,e,t,n?n.children:[],r,s),!0}split(e){let t=new vn;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:n,off:i}=this.childPos(e);i&&(t.append(this.children[n].split(i),0),this.children[n].merge(i,this.children[n].length,null,!1,0,0),n++);for(let e=n;e<this.children.length;e++)t.append(this.children[e],0);for(;n>0&&0==this.children[n-1].length;)this.children[--n].destroy();return this.children.length=n,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){fn(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){ln(this,e,t)}addLineDeco(e){let t=e.spec.attributes,n=e.spec.class;t&&(this.attrs=un(t,this.attrs||{})),n&&(this.attrs=un({class:n},this.attrs||{}))}domAtPos(e){return an(this,e)}reuseDOM(e){"DIV"==e.nodeName&&(this.setDOM(e),this.dirty|=6)}sync(e,t){var n;this.dom?4&this.dirty&&(Xt(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&&(dn(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let i=this.dom.lastChild;for(;i&&Rt.get(i)instanceof Jt;)i=i.lastChild;if(!(i&&this.length&&("BR"==i.nodeName||0!=(null===(n=Rt.get(i))||void 0===n?void 0:n.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 n=ft(t.dom);if(1!=n.length)return null;e+=n[0].width}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length}:null}coordsAt(e,t){return hn(this,e,t)}become(e){return!1}get type(){return On.Text}static find(e,t){for(let n=0,i=0;n<e.children.length;n++){let r=e.children[n],s=i+r.length;if(s>=t){if(r instanceof vn)return r;if(s>t)break}i=s+r.breakAfter}return null}}class kn extends Rt{constructor(e,t,n){super(),this.widget=e,this.length=t,this.type=n,this.breakAfter=0,this.prevWidget=null}merge(e,t,n,i,r,s){return!(n&&(!(n instanceof kn&&this.widget.compare(n.widget))||e>0&&r<=0||t<this.length&&s<=0))&&(this.length=e+(n?n.length:0)+(this.length-t),!0)}domAtPos(e){return 0==e?Zt.before(this.dom):Zt.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let n=new kn(this.widget,t,this.type);return n.breakAfter=this.breakAfter,n}get children(){return At}sync(e){this.dom&&this.widget.updateDOM(this.dom,e)||(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),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 kn&&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)}get isEditable(){return!1}get isWidget(){return!0}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class Qn{constructor(e,t,n,i){this.doc=e,this.pos=t,this.end=n,this.disallowBlockEffectsFor=i,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 kn&&e.type==On.WidgetBefore)}getLine(){return this.curLine||(this.content.push(this.curLine=new vn),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append($n(new sn(-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,n){for(;e>0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:i}=this.cursor.next(this.skip);if(this.skip=0,i)throw new Error("Ran out of text content when drawing inline views");if(n){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 i=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-n)),this.getLine().append($n(new Ht(this.text.slice(this.textOff,this.textOff+i)),t),n),this.atCursorPos=!0,this.textOff+=i,e-=i,n=0}}span(e,t,n,i){this.buildText(t-e,n,i),this.pos=t,this.openStart<0&&(this.openStart=i)}point(e,t,n,i,r,s){if(this.disallowBlockEffectsFor[s]&&n instanceof bn){if(n.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(n instanceof bn)if(n.block){let{type:e}=n;e!=On.WidgetAfter||this.posCovered()||this.getLine(),this.addBlockWidget(new kn(n.widget||new Pn("div"),o,e))}else{let s=en.create(n.widget||new Pn("span"),o,o?0:n.startSide),a=this.atCursorPos&&!s.isEditable&&r<=i.length&&(e<t||n.startSide>0),l=!s.isEditable&&(e<t||r>i.length||n.startSide<=0),h=this.getLine();2!=this.pendingBuffer||a||(this.pendingBuffer=0),this.flushBuffer(i),a&&(h.append($n(new sn(1),i),r),r=i.length+Math.max(0,r-i.length)),h.append($n(s,i),r),this.atCursorPos=l,this.pendingBuffer=l?e<t||r>i.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=i.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);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,n,i,r){let s=new Qn(e,t,n,r);return s.openEnd=Ze.spans(i,t,n,s),s.openStart<0&&(s.openStart=s.openEnd),s.finish(s.openEnd),s}}function $n(e,t){for(let n of t)e=new Jt(n,[e],e.length);return e}class Pn extends pn{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 Cn=Y.define(),Xn=Y.define(),Tn=Y.define(),Zn=Y.define(),An=Y.define(),Rn=Y.define(),Vn=Y.define(),Mn=Y.define({combine:e=>e.some(e=>e)}),Yn=Y.define({combine:e=>e.some(e=>e)});class _n{constructor(e,t="nearest",n="nearest",i=5,r=5){this.range=e,this.y=t,this.x=n,this.yMargin=i,this.xMargin=r}map(e){return e.empty?this:new _n(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin)}}const Wn=ce.define({map:(e,t)=>e.map(t)});function En(e,t,n){let i=e.facet(Zn);i.length?i[0](t):window.onerror?window.onerror(String(t),n,void 0,void 0,t):n?console.error(n+":",t):console.error(t)}const zn=Y.define({combine:e=>!e.length||e[0]});let Un=0;const qn=Y.define();class Dn{constructor(e,t,n,i){this.id=e,this.create=t,this.domEventHandlers=n,this.extension=i(this)}static define(e,t){const{eventHandlers:n,provide:i,decorations:r}=t||{};return new Dn(Un++,e,n,e=>{let t=[qn.of(e)];return r&&t.push(Ln.of(t=>{let n=t.plugin(e);return n?r(n):mn.none})),i&&t.push(i(e)),t})}static fromClass(e,t){return Dn.define(t=>new e(t),t)}}class In{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(En(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){En(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){En(e.state,t,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const jn=Y.define(),Bn=Y.define(),Ln=Y.define(),Nn=Y.define(),Gn=Y.define(),Fn=Y.define();class Hn{constructor(e,t,n,i){this.fromA=e,this.toA=t,this.fromB=n,this.toB=i}join(e){return new Hn(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,n=this;for(;t>0;t--){let i=e[t-1];if(!(i.fromA>n.toA)){if(i.toA<n.fromA)break;n=n.join(i),e.splice(t-1,1)}}return e.splice(t,0,n),e}static extendWithRanges(e,t){if(0==t.length)return e;let n=[];for(let i=0,r=0,s=0,o=0;;i++){let a=i==e.length?null:e[i],l=s-o,h=a?a.fromB:1e9;for(;r<t.length&&t[r]<h;){let e=t[r],i=t[r+1],s=Math.max(o,e),a=Math.min(h,i);if(s<=a&&new Hn(s+l,a+l,s,a).addToSet(n),i>h)break;r+=2}if(!a)return n;new Hn(a.fromA,a.toA,a.fromB,a.toB).addToSet(n),s=a.toA,o=a.toB}}}class Jn{constructor(e,t,n){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=Q.empty(this.startState.doc.length);for(let e of n)this.changes=this.changes.compose(e.changes);let i=[];this.changes.iterChangedRanges((e,t,n,r)=>i.push(new Hn(e,t,n,r))),this.changedRanges=i}static create(e,t,n){return new Jn(e,t,n)}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 Kn=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Kn||(Kn={}));const ei=Kn.LTR,ti=Kn.RTL;function ni(e){let t=[];for(let n=0;n<e.length;n++)t.push(1<<+e[n]);return t}const ii=ni("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),ri=ni("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),si=Object.create(null),oi=[];for(let e of["()","[]","{}"]){let t=e.charCodeAt(0),n=e.charCodeAt(1);si[t]=n,si[n]=-t}function ai(e){return e<=247?ii[e]:1424<=e&&e<=1524?2:1536<=e&&e<=1785?ri[e-1536]:1774<=e&&e<=2220?4:8192<=e&&e<=8203?256:64336<=e&&e<=65023?4:8204==e?256:1}const li=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class hi{constructor(e,t,n){this.from=e,this.to=t,this.level=n}get dir(){return this.level%2?ti:ei}side(e,t){return this.dir==t==e?this.to:this.from}static find(e,t,n,i){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==n)return s;(r<0||(0!=i?i<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 ci=[];function ui(e,t){let n=e.length,i=t==ei?1:2,r=t==ei?2:1;if(!e||1==i&&!li.test(e))return fi(n);for(let t=0,r=i,s=i;t<n;t++){let n=ai(e.charCodeAt(t));512==n?n=r:8==n&&4==s&&(n=16),ci[t]=4==n?2:n,7&n&&(s=n),r=n}for(let e=0,t=i,r=i;e<n;e++){let i=ci[e];if(128==i)e<n-1&&t==ci[e+1]&&24&t?i=ci[e]=t:ci[e]=256;else if(64==i){let i=e+1;for(;i<n&&64==ci[i];)i++;let s=e&&8==t||i<n&&8==ci[i]?1==r?1:8:256;for(let t=e;t<i;t++)ci[t]=s;e=i-1}else 8==i&&1==r&&(ci[e]=1);t=i,7&i&&(r=i)}for(let t,s,o,a=0,l=0,h=0;a<n;a++)if(s=si[t=e.charCodeAt(a)])if(s<0){for(let e=l-3;e>=0;e-=3)if(oi[e+1]==-s){let t=oi[e+2],n=2&t?i:4&t?1&t?r:i:0;n&&(ci[a]=ci[oi[e]]=n),l=e;break}}else{if(189==oi.length)break;oi[l++]=a,oi[l++]=t,oi[l++]=h}else if(2==(o=ci[a])||1==o){let e=o==i;h=e?0:1;for(let t=l-3;t>=0;t-=3){let n=oi[t+2];if(2&n)break;if(e)oi[t+2]|=2;else{if(4&n)break;oi[t+2]|=4}}}for(let e=0;e<n;e++)if(256==ci[e]){let t=e+1;for(;t<n&&256==ci[t];)t++;let r=1==(e?ci[e-1]:i),s=r==(1==(t<n?ci[t]:i))?r?1:2:i;for(let n=e;n<t;n++)ci[n]=s;e=t-1}let s=[];if(1==i)for(let e=0;e<n;){let t=e,i=1!=ci[e++];for(;e<n&&i==(1!=ci[e]);)e++;if(i)for(let n=e;n>t;){let e=n,i=2!=ci[--n];for(;n>t&&i==(2!=ci[n-1]);)n--;s.push(new hi(n,e,i?2:1))}else s.push(new hi(t,e,0))}else for(let e=0;e<n;){let t=e,i=2==ci[e++];for(;e<n&&i==(2==ci[e]);)e++;s.push(new hi(t,e,i?1:2))}return s}function fi(e){return[new hi(0,e,0)]}let di="";function pi(e,t,n,i,r){var s;let o=i.head-e.from,a=-1;if(0==o){if(!r||!e.length)return null;t[0].level!=n&&(o=t[0].side(!1,n),a=0)}else if(o==e.length){if(r)return null;let e=t[t.length-1];e.level!=n&&(o=e.side(!0,n),a=t.length-1)}a<0&&(a=hi.find(t,o,null!==(s=i.bidiLevel)&&void 0!==s?s:-1,i.assoc));let l=t[a];o==l.side(r,n)&&(l=t[a+=r?1:-1],o=l.side(!r,n));let h=r==(l.dir==n),c=p(e.text,o,h);if(di=e.text.slice(Math.min(o,c),Math.max(o,c)),c!=l.side(r,n))return R.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==n?u&&u.level<l.level?R.cursor(u.side(!r,n)+e.from,r?1:-1,u.level):R.cursor(c+e.from,r?-1:1,l.level):R.cursor(r?e.to:e.from,r?-1:1,n)}const Oi="￿";class mi{constructor(e,t){this.points=e,this.text="",this.lineSeparator=t.facet(Qe.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Oi}readRange(e,t){if(!e)return this;let n=e.parentNode;for(let i=e;;){this.findPointBefore(n,i),this.readNode(i);let e=i.nextSibling;if(e==t)break;let r=Rt.get(i),s=Rt.get(e);(r&&s?r.breakAfter:(r?r.breakAfter:gi(i))||gi(e)&&("BR"!=i.nodeName||i.cmIgnore))&&this.lineBreak(),i=e}return this.findPointBefore(n,t),this}readTextNode(e){let t=e.nodeValue;for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t.length));for(let n=0,i=this.lineSeparator?null:/\r\n?|\n/g;;){let r,s=-1,o=1;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,n),o=this.lineSeparator.length):(r=i.exec(t))&&(s=r.index,o=r[0].length),this.append(t.slice(n,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);n=s+o}}readNode(e){if(e.cmIgnore)return;let t=Rt.get(e),n=t&&t.overrideDOMText;if(null!=n){this.findPointInside(e,n.length);for(let e=n.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 n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointInside(e,t){for(let n of this.points)(3==e.nodeType?n.node==e:e.contains(n.node))&&(n.pos=this.text.length+Math.min(t,n.offset))}}function gi(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class Si{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class bi extends Rt{constructor(e){super(),this.view=e,this.compositionDeco=mn.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 vn],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Hn(0,0,0,e.state.doc.length)],0)}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=mn.none:(e.transactions.length||this.dirty)&&(this.compositionDeco=vi(this.view,e.changes)),(Gt.ie||Gt.chrome)&&!this.compositionDeco.size&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let n=Ci(this.decorations,this.updateDeco(),e.changes);return t=Hn.extendWithRanges(t,n),(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:n}=this.view;n.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:n.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,e),this.dirty=0,e&&(e.written||n.selectionRange.focusNode!=e.node)&&(this.forceSelection=!0),this.dom.style.height=""});let i=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let e of this.children)e instanceof kn&&e.widget instanceof yi&&i.push(e.dom);n.updateGaps(i)}updateChildren(e,t){let n=this.childCursor(t);for(let t=e.length-1;;t--){let i=t>=0?e[t]:null;if(!i)break;let{fromA:r,toA:s,fromB:o,toB:a}=i,{content:l,breakAtStart:h,openStart:c,openEnd:u}=Qn.build(this.view.state.doc,o,a,this.decorations,this.dynamicDecorationMap),{i:f,off:d}=n.findPos(s,1),{i:p,off:O}=n.findPos(r,-1);Yt(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 n=this.forceSelection;this.forceSelection=!1;let i=this.view.state.selection.main,r=this.domAtPos(i.anchor),s=i.empty?r:this.domAtPos(i.head);if(Gt.gecko&&i.empty&&xi(r)){let e=document.createTextNode("");this.view.observer.ignore(()=>r.node.insertBefore(e,r.node.childNodes[r.offset]||null)),r=s=new Zt(e,0),n=!0}let o=this.view.observer.selectionRange;!n&&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)&&Xi(o.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let e=lt(this.view.root);if(e)if(i.empty){if(Gt.gecko){let e=$i(r.node,r.offset);if(e&&3!=e){let t=Qi(r.node,r.offset,1==e?1:-1);t&&(r=new Zt(t,1==e?0:t.nodeValue.length))}}e.collapse(r.node,r.offset),null!=i.bidiLevel&&null!=o.cursorBidiLevel&&(o.cursorBidiLevel=i.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();i.anchor>i.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 Zt(o.anchorNode,o.anchorOffset),this.impreciseHead=s.precise?null:new Zt(o.focusNode,o.focusOffset)}enforceCursorAssoc(){if(this.compositionDeco.size)return;let{view:e}=this,t=e.state.selection.main,n=lt(e.root),{anchorNode:i,anchorOffset:r}=e.observer.selectionRange;if(!(n&&t.empty&&t.assoc&&n.modify))return;let s=vn.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);n.collapse(h.node,h.offset),n.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&&n.collapse(i,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=Rt.get(t);if(e&&e.rootView==this)return e;t=t.parentNode}return null}posFromDOM(e,t){let n=this.nearest(e);if(!n)throw new RangeError("Trying to find position for a DOM position outside of the document");return n.localPosFromDOM(e,t)+n.posAtStart}domAtPos(e){let{i:t,off:n}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let e=this.children[t];if(n<e.length||e instanceof vn)break;t++,n=0}return this.children[t].domAtPos(n)}coordsAt(e,t){for(let n=this.length,i=this.children.length-1;;i--){let r=this.children[i],s=n-r.breakAfter-r.length;if(e>s||e==s&&r.type!=On.WidgetBefore&&r.type!=On.WidgetAfter&&(!i||2==t||this.children[i-1].breakAfter||this.children[i-1].type==On.WidgetBefore&&t>-2))return r.coordsAt(e-s,t);n=s}}measureVisibleLineHeights(e){let t=[],{from:n,to:i}=e,r=this.view.contentDOM.clientWidth,s=r>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,o=-1,a=this.view.textDirection==Kn.LTR;for(let e=0,l=0;l<this.children.length;l++){let h=this.children[l],c=e+h.length;if(c>i)break;if(e>=n){let n=h.dom.getBoundingClientRect();if(t.push(n.height),s){let t=h.dom.lastChild,i=t?ft(t):[];if(i.length){let t=i[i.length-1],s=a?t.right-n.left:n.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?Kn.RTL:Kn.LTR}measureTextSize(){for(let e of this.children)if(e instanceof vn){let t=e.measureTextSize();if(t)return t}let e,t,n=document.createElement("div");return n.className="cm-line",n.style.width="99999px",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(n);let i=ft(n.firstChild)[0];e=n.getBoundingClientRect().height,t=i?i.width/27:7,n.remove()}),{lineHeight:e,charWidth:t}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new Mt(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,i=0;;i++){let r=i==t.viewports.length?null:t.viewports[i],s=r?r.from-1:this.length;if(s>n){let i=t.lineBlockAt(s).bottom-t.lineBlockAt(n).top;e.push(mn.replace({widget:new yi(i),block:!0,inclusive:!0,isBlockGap:!0}).range(n,s))}if(!r)break;n=r.to+1}return mn.set(e)}updateDeco(){let e=this.view.state.facet(Ln).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:n}=e,i=this.coordsAt(n.head,n.empty?n.assoc:n.head>n.anchor?-1:1);if(!i)return;!n.empty&&(t=this.coordsAt(n.anchor,n.anchor>n.head?-1:1))&&(i={left:Math.min(i.left,t.left),top:Math.min(i.top,t.top),right:Math.max(i.right,t.right),bottom:Math.max(i.bottom,t.bottom)});let r=0,s=0,o=0,a=0;for(let e of this.view.state.facet(Gn).map(e=>e(this.view)))if(e){let{left:t,right:n,top:i,bottom:l}=e;null!=t&&(r=Math.max(r,t)),null!=n&&(s=Math.max(s,n)),null!=i&&(o=Math.max(o,i)),null!=l&&(a=Math.max(a,l))}let l={left:i.left-r,top:i.top-o,right:i.right+s,bottom:i.bottom+a};xt(this.view.scrollDOM,l,n.head<n.anchor?-1:1,e.x,e.y,e.xMargin,e.yMargin,this.view.textDirection==Kn.LTR)}}function xi(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 yi extends pn{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 wi(e){let t=e.observer.selectionRange,n=t.focusNode&&Qi(t.focusNode,t.focusOffset,0);if(!n)return null;let i=e.docView.nearest(n);if(!i)return null;if(i instanceof vn){let e=n;for(;e.parentNode!=i.dom;)e=e.parentNode;let t=e.previousSibling;for(;t&&!Rt.get(t);)t=t.previousSibling;let r=t?Rt.get(t).posAtEnd:i.posAtStart;return{from:r,to:r,node:e,text:n}}{for(;;){let{parent:e}=i;if(!e)return null;if(e instanceof vn)break;i=e}let e=i.posAtStart;return{from:e,to:e+i.length,node:i.dom,text:n}}}function vi(e,t){let n=wi(e);if(!n)return mn.none;let{from:i,to:r,node:s,text:o}=n,a=t.mapPos(i,1),l=Math.max(a,t.mapPos(r,-1)),{state:h}=e,c=3==s.nodeType?s.nodeValue:new mi([],h).readRange(s.firstChild,null).text;if(l-a<c.length)if(h.doc.sliceString(a,Math.min(h.doc.length,a+c.length),Oi)==c)l=a+c.length;else{if(h.doc.sliceString(Math.max(0,l-c.length),l,Oi)!=c)return mn.none;a=l-c.length}else if(h.doc.sliceString(a,l,Oi)!=c)return mn.none;let u=Rt.get(s);return u instanceof tn?u=u.widget.topView:u&&(u.parent=null),mn.set(mn.replace({widget:new ki(s,o,u),inclusive:!0}).range(a,l))}class ki extends pn{constructor(e,t,n){super(),this.top=e,this.text=t,this.topView=n}eq(e){return this.top==e.top&&this.text==e.text}toDOM(){return this.top}ignoreEvent(){return!1}get customView(){return tn}}function Qi(e,t,n){for(;;){if(3==e.nodeType)return e;if(1==e.nodeType&&t>0&&n<=0)t=mt(e=e.childNodes[t-1]);else{if(!(1==e.nodeType&&t<e.childNodes.length&&n>=0))return null;e=e.childNodes[t],t=0}}}function $i(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 Pi{constructor(){this.changes=[]}compareRange(e,t){wn(e,t,this.changes)}comparePoint(e,t){wn(e,t,this.changes)}}function Ci(e,t,n){let i=new Pi;return Ze.compare(e,t,n,i),i.changes}function Xi(e,t){for(let n=e;n&&n!=t;n=n.assignedSlot||n.parentNode)if(1==n.nodeType&&"false"==n.contentEditable)return!0;return!1}function Ti(e,t,n=1){let i=e.charCategorizer(t),r=e.doc.lineAt(t),s=t-r.from;if(0==r.length)return R.cursor(t);0==s?n=1:s==r.length&&(n=-1);let o=s,a=s;n<0?o=p(r.text,s,!1):a=p(r.text,s);let l=i(r.text.slice(o,a));for(;o>0;){let e=p(r.text,o,!1);if(i(r.text.slice(e,o))!=l)break;o=e}for(;a<r.length;){let e=p(r.text,a);if(i(r.text.slice(a,e))!=l)break;a=e}return R.range(o+r.from,a+r.from)}function Zi(e,t){return t.left>e?t.left-e:Math.max(0,e-t.right)}function Ai(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function Ri(e,t){return e.top<t.bottom-1&&e.bottom>t.top+1}function Vi(e,t){return t<e.top?{top:t,left:e.left,right:e.right,bottom:e.bottom}:e}function Mi(e,t){return t>e.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function Yi(e,t,n){let i,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&&Ri(r,p)&&(p=Vi(Mi(p,r.bottom),r.top));let O=Zi(t,p),m=Ai(n,p);if(0==O&&0==m)return 3==f.nodeType?_i(f,t,n):Yi(f,t,n);if(!i||o>m||o==m&&s>O){i=f,r=p,s=O,o=m;let a=m?n<p.top?-1:1:O?t<p.left?-1:1:0;u=!a||(a>0?d<e.length-1:d>0)}0==O?n>p.bottom&&(!h||h.bottom<p.bottom)?(a=f,h=p):n<p.top&&(!c||c.top>p.top)&&(l=f,c=p):h&&Ri(h,p)?h=Mi(h,p.bottom):c&&Ri(c,p)&&(c=Vi(c,p.top))}}if(h&&h.bottom>=n?(i=a,r=h):c&&c.top<=n&&(i=l,r=c),!i)return{node:e,offset:0};let f=Math.max(r.left,Math.min(r.right,t));return 3==i.nodeType?_i(i,f,n):u&&"false"!=i.contentEditable?Yi(i,f,n):{node:e,offset:Array.prototype.indexOf.call(e.childNodes,i)+(t>=(r.left+r.right)/2?1:0)}}function _i(e,t,n){let i=e.nodeValue.length,r=-1,s=1e9,o=0;for(let a=0;a<i;a++){let i=$t(e,a,a+1).getClientRects();for(let l=0;l<i.length;l++){let h=i[l];if(h.top==h.bottom)continue;o||(o=t-h.left);let c=(h.top>n?h.top-n:n-h.bottom)-1;if(h.left-1<=t&&h.right+1>=t&&c<s){let n=t>=(h.left+h.right)/2,i=n;if(Gt.chrome||Gt.gecko){$t(e,a).getBoundingClientRect().left==h.right&&(i=!n)}if(c<=0)return{node:e,offset:a+(i?1:0)};r=a+(i?1:0),s=c}}}return{node:e,offset:r>-1?r:o>0?e.nodeValue.length:0}}function Wi(e,t,n,i=-1){var r;let s,o=e.contentDOM.getBoundingClientRect(),a=o.top+e.viewState.paddingTop,{docHeight:l}=e.viewState,{x:h,y:c}=t,u=c-a;if(u<0)return 0;if(u>l)return e.state.doc.length;for(let t=e.defaultLineHeight/2,r=!1;s=e.elementAtHeight(u),s.type!=On.Text;)for(;u=i>0?s.bottom+t:s.top-t,!(u>=0&&u<=l);){if(r)return n?null:0;r=!0,i=-i}c=a+u;let f=s.from;if(f<e.viewport.from)return 0==e.viewport.from?0:n?null:Ei(e,o,s,h,c);if(f>e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:n?null:Ei(e,o,s,h,c);let d=e.dom.ownerDocument,p=e.root.elementFromPoint?e.root:d,O=p.elementFromPoint(h,c);O&&!e.contentDOM.contains(O)&&(O=null),O||(h=Math.max(o.left+1,Math.min(o.right-1,h)),O=p.elementFromPoint(h,c),O&&!e.contentDOM.contains(O)&&(O=null));let m,g=-1;if(O&&0!=(null===(r=e.docView.nearest(O))||void 0===r?void 0:r.isEditable))if(d.caretPositionFromPoint){let e=d.caretPositionFromPoint(h,c);e&&({offsetNode:m,offset:g}=e)}else if(d.caretRangeFromPoint){let t=d.caretRangeFromPoint(h,c);t&&(({startContainer:m,startOffset:g}=t),(!e.contentDOM.contains(m)||Gt.safari&&zi(m,g,h)||Gt.chrome&&Ui(m,g,h))&&(m=void 0))}if(!m||!e.docView.dom.contains(m)){let t=vn.find(e.docView,f);if(!t)return u>s.top+s.height/2?s.to:s.from;({node:m,offset:g}=Yi(t.dom,h,c))}let S=e.docView.nearest(m);if(!S)return null;if(S.isWidget){let e=S.dom.getBoundingClientRect();return t.y<e.top||t.y<=e.bottom&&t.x<=(e.left+e.right)/2?S.posAtStart:S.posAtEnd}return S.localPosFromDOM(m,g)+S.posAtStart}function Ei(e,t,n,i,r){let s=Math.round((i-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&n.height>1.5*e.defaultLineHeight){s+=Math.floor((r-n.top)/e.defaultLineHeight)*e.viewState.heightOracle.lineLength}let o=e.state.sliceDoc(n.from,n.to);return n.from+je(o,s,e.state.tabSize)}function zi(e,t,n){let i;if(3!=e.nodeType||t!=(i=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return $t(e,i-1,i).getBoundingClientRect().left>n}function Ui(e,t,n){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 n-(1==e.nodeType?e.getBoundingClientRect():$t(e,0,Math.max(e.nodeValue.length,1)).getBoundingClientRect()).left>5}function qi(e,t,n,i){let r=e.state.doc.lineAt(t.head),s=i&&e.lineWrapping?e.coordsAtPos(t.assoc<0&&t.head>r.from?t.head-1:t.head):null;if(s){let t=e.dom.getBoundingClientRect(),i=e.textDirectionAt(r.from),o=e.posAtCoords({x:n==(i==Kn.LTR)?t.right-1:t.left+1,y:(s.top+s.bottom)/2});if(null!=o)return R.cursor(o,n?-1:1)}let o=vn.find(e.docView,t.head),a=o?n?o.posAtEnd:o.posAtStart:n?r.to:r.from;return R.cursor(a,n?-1:1)}function Di(e,t,n,i){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=pi(r,s,o,a,n),h=di;if(!t){if(r.number==(n?e.state.doc.lines:1))return a;h="\n",r=e.state.doc.line(r.number+(n?1:-1)),s=e.bidiSpans(r),t=R.cursor(n?r.from:r.to)}if(l){if(!l(h))return a}else{if(!i)return t;l=i(h)}a=t}}function Ii(e,t,n){let i=e.state.charCategorizer(t),r=i(n);return e=>{let t=i(e);return r==xe.Space&&(r=t),r==t}}function ji(e,t,n,i){let r=t.head,s=n?1:-1;if(r==(n?e.state.doc.length:0))return R.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!=i?i:e.defaultLineHeight>>1;for(let n=0;;n+=10){let i=o+(f+n)*s,h=Wi(e,{x:u,y:i},!1,s);if(i<l.top||i>l.bottom||(s<0?h<r:h>r))return R.cursor(h,t.assoc,void 0,a)}}function Bi(e,t,n){let i=e.state.facet(Nn).map(t=>t(e));for(;;){let e=!1;for(let r of i)r.between(n.from-1,n.from+1,(i,r,s)=>{n.from>i&&n.from<r&&(n=t.head>n.from?R.cursor(i,1):R.cursor(r,-1),e=!0)});if(!e)return n}}class Li{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,n)=>{this.ignoreDuringComposition(n)||"keydown"==n.type&&this.keydown(e,n)||(this.mustFlushObserver(n)&&e.observer.forceFlush(),this.runCustomHandlers(n.type,e,n)?n.preventDefault():t(e,n))};for(let n in ir){let i=ir[n];e.contentDOM.addEventListener(n,n=>{nr(e,n)&&t(i,n)},rr[n]),this.registeredEvents.push(n)}e.scrollDOM.addEventListener("mousedown",n=>{n.target==e.scrollDOM&&n.clientY>e.contentDOM.getBoundingClientRect().bottom&&t(ir.mousedown,n)}),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 n;let i;this.customHandlers=[];for(let r of t)if(i=null===(n=r.update(e).spec)||void 0===n?void 0:n.domEventHandlers){this.customHandlers.push({plugin:r.value,handlers:i});for(let t in i)this.registeredEvents.indexOf(t)<0&&"scroll"!=t&&(this.registeredEvents.push(t),e.contentDOM.addEventListener(t,n=>{nr(e,n)&&this.runCustomHandlers(t,e,n)&&n.preventDefault()}))}}runCustomHandlers(e,t,n){for(let i of this.customHandlers){let r=i.handlers[e];if(r)try{if(r.call(i.plugin,n,t)||n.defaultPrevented)return!0}catch(e){En(t.state,e)}}return!1}runScrollHandlers(e,t){this.lastScrollTop=e.scrollDOM.scrollTop,this.lastScrollLeft=e.scrollDOM.scrollLeft;for(let n of this.customHandlers){let i=n.handlers.scroll;if(i)try{i.call(n.plugin,t,e)}catch(t){En(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 n;return!(!Gt.ios||t.synthetic||t.altKey||t.metaKey||!((n=Ni.find(e=>e.keyCode==t.keyCode))&&!t.ctrlKey||Gi.indexOf(t.key)>-1&&t.ctrlKey&&!t.shiftKey))&&(this.pendingIOSKey=n||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 Ni=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Gi="dthko",Fi=[16,17,18,20,91,92,224,225];function Hi(e){return.7*e+8}class Ji{constructor(e,t,n,i){this.view=e,this.style=n,this.mustSelect=i,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParent=yt(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(Qe.allowMultipleSelections)&&Ki(e,t),this.dragMove=er(e,t),this.dragging=!(!tr(e,t)||1!=gr(t))&&null}start(e){!1===this.dragging&&(e.preventDefault(),this.select(e))}move(e){var t;if(0==e.buttons)return this.destroy();if(!1!==this.dragging)return;this.select(this.lastEvent=e);let n=0,i=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?n=-Hi(r.left-e.clientX):e.clientX>=r.right&&(n=Hi(e.clientX-r.right)),e.clientY<=r.top?i=-Hi(r.top-e.clientY):e.clientY>=r.bottom&&(i=Hi(e.clientY-r.bottom)),this.setScrollSpeed(n,i)}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 Ki(e,t){let n=e.state.facet(Cn);return n.length?n[0](t):Gt.mac?t.metaKey:t.ctrlKey}function er(e,t){let n=e.state.facet(Xn);return n.length?n[0](t):Gt.mac?!t.altKey:!t.ctrlKey}function tr(e,t){let{main:n}=e.state.selection;if(n.empty)return!1;let i=lt(e.root);if(!i||0==i.rangeCount)return!0;let r=i.getRangeAt(0).getClientRects();for(let e=0;e<r.length;e++){let n=r[e];if(n.left<=t.clientX&&n.right>=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}function nr(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n,i=t.target;i!=e.contentDOM;i=i.parentNode)if(!i||11==i.nodeType||(n=Rt.get(i))&&n.ignoreEvent(t))return!1;return!0}const ir=Object.create(null),rr=Object.create(null),sr=Gt.ie&&Gt.ie_version<15||Gt.ios&&Gt.webkit_version<604;function or(e){let t=e.dom.parentNode;if(!t)return;let n=t.appendChild(document.createElement("textarea"));n.style.cssText="position: fixed; left: -10000px; top: 10px",n.focus(),setTimeout(()=>{e.focus(),n.remove(),ar(e,n.value)},50)}function ar(e,t){let n,{state:i}=e,r=1,s=i.toText(t),o=s.lines==i.selection.ranges.length;if(null!=vr&&i.selection.ranges.every(e=>e.empty)&&vr==s.toString()){let e=-1;n=i.changeByRange(n=>{let a=i.doc.lineAt(n.from);if(a.from==e)return{range:n};e=a.from;let l=i.toText((o?s.line(r++).text:t)+i.lineBreak);return{changes:{from:a.from,insert:l},range:R.cursor(n.from+l.length)}})}else n=o?i.changeByRange(e=>{let t=s.line(r++);return{changes:{from:e.from,to:e.to,insert:t.text},range:R.cursor(e.from+t.length)}}):i.replaceSelection(s);e.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}function lr(e,t,n,i){if(1==i)return R.cursor(t,n);if(2==i)return Ti(e.state,t,n);{let n=vn.find(e.docView,t),i=e.state.doc.lineAt(n?n.posAtEnd:t),r=n?n.posAtStart:i.from,s=n?n.posAtEnd:i.to;return s<e.state.doc.length&&s==i.to&&s++,R.range(r,s)}}ir.keydown=(e,t)=>{e.inputState.setSelectionOrigin("select"),27==t.keyCode?e.inputState.lastEscPress=Date.now():Fi.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")},rr.touchstart=rr.touchmove={passive:!0},ir.mousedown=(e,t)=>{if(e.observer.flush(),e.inputState.lastTouchTime>Date.now()-2e3)return;let n=null;for(let i of e.state.facet(Tn))if(n=i(e,t),n)break;if(n||0!=t.button||(n=Sr(e,t)),n){let i=e.root.activeElement!=e.contentDOM;e.inputState.startMouseSelection(new Ji(e,t,n,i)),i&&e.observer.ignore(()=>Qt(e.contentDOM)),e.inputState.mouseSelection&&e.inputState.mouseSelection.start(t)}};let hr=(e,t)=>e>=t.top&&e<=t.bottom,cr=(e,t,n)=>hr(t,n)&&e>=n.left&&e<=n.right;function ur(e,t,n,i){let r=vn.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&&cr(n,i,o))return-1;let a=r.coordsAt(s,1);return a&&cr(n,i,a)?1:o&&hr(i,o)?-1:1}function fr(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:ur(e,n,t.clientX,t.clientY)}}const dr=Gt.ie&&Gt.ie_version<=11;let pr=null,Or=0,mr=0;function gr(e){if(!dr)return e.detail;let t=pr,n=mr;return pr=e,mr=Date.now(),Or=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(Or+1)%3:1}function Sr(e,t){let n=fr(e,t),i=gr(t),r=e.state.selection;return{update(e){e.docChanged&&(n.pos=e.changes.mapPos(n.pos),r=r.map(e.changes))},get(t,s,o){let a=fr(e,t),l=lr(e,a.pos,a.bias,i);if(n.pos!=a.pos&&!s){let t=lr(e,n.pos,n.bias,i),r=Math.min(t.from,l.from),s=Math.max(t.to,l.to);l=r<l.from?R.range(r,s):R.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))?br(r,l):o?r.addRange(l):R.create([l])}}}function br(e,t){for(let n=0;;n++)if(e.ranges[n].eq(t))return R.create(e.ranges.slice(0,n).concat(e.ranges.slice(n+1)),e.mainIndex==n?0:e.mainIndex-(e.mainIndex>n?1:0))}function xr(e,t,n,i){if(!n)return;let r=e.posAtCoords({x:t.clientX,y:t.clientY},!1);t.preventDefault();let{mouseSelection:s}=e.inputState,o=i&&s&&s.dragging&&s.dragMove?{from:s.dragging.from,to:s.dragging.to}:null,a={from:r,insert:n},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 n=e.dom.parentNode;if(!n)return;let i=n.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=t,i.focus(),i.selectionEnd=t.length,i.selectionStart=0,setTimeout(()=>{i.remove(),e.focus()},50)}function wr(e){let t=[],n=[],i=!1;for(let i of e.selection.ranges)i.empty||(t.push(e.sliceDoc(i.from,i.to)),n.push(i));if(!t.length){let r=-1;for(let{from:i}of e.selection.ranges){let s=e.doc.lineAt(i);s.number>r&&(t.push(s.text),n.push({from:s.from,to:Math.min(e.doc.length,s.to+1)})),r=s.number}i=!0}return{text:t.join(e.lineBreak),ranges:n,linewise:i}}ir.dragstart=(e,t)=>{let{selection:{main:n}}=e.state,{mouseSelection:i}=e.inputState;i&&(i.dragging=n),t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(n.from,n.to)),t.dataTransfer.effectAllowed="copyMove")},ir.drop=(e,t)=>{if(!t.dataTransfer)return;if(e.state.readOnly)return t.preventDefault();let n=t.dataTransfer.files;if(n&&n.length){t.preventDefault();let i=Array(n.length),r=0,s=()=>{++r==n.length&&xr(e,t,i.filter(e=>null!=e).join(e.state.lineBreak),!1)};for(let e=0;e<n.length;e++){let t=new FileReader;t.onerror=s,t.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(i[e]=t.result),s()},t.readAsText(n[e])}}else xr(e,t,t.dataTransfer.getData("Text"),!0)},ir.paste=(e,t)=>{if(e.state.readOnly)return t.preventDefault();e.observer.flush();let n=sr?null:t.clipboardData;n?(ar(e,n.getData("text/plain")),t.preventDefault()):or(e)};let vr=null;ir.copy=ir.cut=(e,t)=>{let{text:n,ranges:i,linewise:r}=wr(e.state);if(!n&&!r)return;vr=r?n:null;let s=sr?null:t.clipboardData;s?(t.preventDefault(),s.clearData(),s.setData("text/plain",n)):yr(e,n),"cut"!=t.type||e.state.readOnly||e.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"})};const kr=ae.define();function Qr(e,t){let n=[];for(let i of e.facet(Vn)){let r=i(e,t);r&&n.push(r)}return n?e.update({effects:n,annotations:kr.of(!0)}):null}function $r(e){setTimeout(()=>{let t=e.hasFocus;if(t!=e.inputState.notifiedFocused){let n=Qr(e.state,t);n?e.dispatch(n):e.update([])}},10)}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),$r(e)},ir.blur=e=>{e.observer.clearSelectionRange(),$r(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 n;let i;if(Gt.chrome&&Gt.android&&(i=Ni.find(e=>e.inputType==t.inputType))&&(e.observer.delayAndroidKey(i.key,i.keyCode),"Backspace"==i.key||"Delete"==i.key)){let t=(null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0;setTimeout(()=>{var n;((null===(n=window.visualViewport)||void 0===n?void 0:n.height)||0)>t+10&&e.hasFocus&&(e.contentDOM.blur(),e.focus())},100)}};const Pr=["pre-wrap","normal","pre-line","break-spaces"];class Cr{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 n=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(n+=Math.max(0,Math.ceil((t-e-n*this.lineLength*.5)/this.lineLength))),this.lineHeight*n}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 Pr.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let n=0;n<e.length;n++){let i=e[n];i<0?n++:this.heightSamples[Math.floor(10*i)]||(t=!0,this.heightSamples[Math.floor(10*i)]=!0)}return t}refresh(e,t,n,i,r){let s=Pr.indexOf(e)>-1,o=Math.round(t)!=Math.round(this.lineHeight)||this.lineWrapping!=s;if(this.lineWrapping=s,this.lineHeight=t,this.charWidth=n,this.lineLength=i,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 Xr{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}}class Tr{constructor(e,t,n,i,r){this.from=e,this.length=t,this.top=n,this.height=i,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 Tr(this.from,this.length+e.length,this.top,this.height+e.height,t)}}var Zr=function(e){return e[e.ByPos=0]="ByPos",e[e.ByHeight=1]="ByHeight",e[e.ByPosNoHeight=2]="ByPosNoHeight",e}(Zr||(Zr={}));const Ar=.001;class Rr{constructor(e,t,n=2){this.length=e,this.height=t,this.flags=n}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,n){return Rr.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,i){let r=this,s=n.doc;for(let o=i.length-1;o>=0;o--){let{fromA:a,toA:l,fromB:h,toB:c}=i[o],u=r.lineAt(a,Zr.ByPosNoHeight,n.setDoc(t),0,0),f=u.to>=l?u:r.lineAt(l,Zr.ByPosNoHeight,n,0,0);for(c+=f.to-l,l=f.to;o>0&&u.from<=i[o-1].toA;)a=i[o-1].fromA,h=i[o-1].fromB,o--,a<u.from&&(u=r.lineAt(a,Zr.ByPosNoHeight,n,0,0));h+=u.from-a,a=u.from;let d=zr.build(n.setDoc(s),e,h,c);r=r.replace(a,l,d)}return r.updateHeight(n,0)}static empty(){return new Mr(0,0)}static of(e){if(1==e.length)return e[0];let t=0,n=e.length,i=0,r=0;for(;;)if(t==n)if(i>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),n+=1+r.break,i-=r.size}else{if(!(r>2*i))break;{let t=e[n];t.break?e.splice(n,1,t.left,null,t.right):e.splice(n,1,t.left,t.right),n+=2+t.break,r-=t.size}}else if(i<r){let n=e[t++];n&&(i+=n.size)}else{let t=e[--n];t&&(r+=t.size)}let s=0;return null==e[t-1]?(s=1,t--):null==e[t]&&(s=1,n++),new _r(Rr.of(e.slice(0,t)),s,Rr.of(e.slice(n)))}}Rr.prototype.size=1;class Vr extends Rr{constructor(e,t,n){super(e,t),this.type=n}blockAt(e,t,n,i){return new Tr(i,this.length,n,this.height,this.type)}lineAt(e,t,n,i,r){return this.blockAt(0,n,i,r)}forEachLine(e,t,n,i,r,s){e<=r+this.length&&t>=r&&s(this.blockAt(0,n,i,r))}updateHeight(e,t=0,n=!1,i){return i&&i.from<=t&&i.more&&this.setHeight(e,i.heights[i.index++]),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Mr extends Vr{constructor(e,t){super(e,t,On.Text),this.collapsed=0,this.widgetHeight=0}replace(e,t,n){let i=n[0];return 1==n.length&&(i instanceof Mr||i instanceof Yr&&4&i.flags)&&Math.abs(this.length-i.length)<10?(i instanceof Yr?i=new Mr(i.length,this.height):i.height=this.height,this.outdated||(i.outdated=!1),i):Rr.of(n)}updateHeight(e,t=0,n=!1,i){return i&&i.from<=t&&i.more?this.setHeight(e,i.heights[i.index++]):(n||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 Yr extends Rr{constructor(e){super(e,0)}heightMetrics(e,t){let n,i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-i+1,o=0;if(e.lineWrapping){let t=Math.min(this.height,e.lineHeight*s);n=t/s,o=(this.height-t)/(this.length-s-1)}else n=this.height/s;return{firstLine:i,lastLine:r,perLine:n,perChar:o}}blockAt(e,t,n,i){let{firstLine:r,lastLine:s,perLine:o,perChar:a}=this.heightMetrics(t,i);if(t.lineWrapping){let r=i+Math.round(Math.max(0,Math.min(1,(e-n)/this.height))*this.length),s=t.doc.lineAt(r),l=o+s.length*a,h=Math.max(n,e-l/2);return new Tr(s.from,s.length,h,l,On.Text)}{let i=Math.max(0,Math.min(s-r,Math.floor((e-n)/o))),{from:a,length:l}=t.doc.line(r+i);return new Tr(a,l,n+o*i,o,On.Text)}}lineAt(e,t,n,i,r){if(t==Zr.ByHeight)return this.blockAt(e,n,i,r);if(t==Zr.ByPosNoHeight){let{from:t,to:i}=n.doc.lineAt(e);return new Tr(t,i-t,0,0,On.Text)}let{firstLine:s,perLine:o,perChar:a}=this.heightMetrics(n,r),l=n.doc.lineAt(e),h=o+l.length*a,c=l.number-s,u=i+o*c+a*(l.from-r-c);return new Tr(l.from,l.length,Math.max(i,Math.min(u,i+this.height-h)),h,On.Text)}forEachLine(e,t,n,i,r,s){e=Math.max(e,r),t=Math.min(t,r+this.length);let{firstLine:o,perLine:a,perChar:l}=this.heightMetrics(n,r);for(let h=e,c=i;h<=t;){let t=n.doc.lineAt(h);if(h==e){let n=t.number-o;c+=a*n+l*(e-r-n)}let i=a+l*t.length;s(new Tr(t.from,t.length,c,i,On.Text)),c+=i,h=t.to+1}}replace(e,t,n){let i=this.length-t;if(i>0){let e=n[n.length-1];e instanceof Yr?n[n.length-1]=new Yr(e.length+i):n.push(null,new Yr(i-1))}if(e>0){let t=n[0];t instanceof Yr?n[0]=new Yr(e+t.length):n.unshift(new Yr(e-1),null)}return Rr.of(n)}decomposeLeft(e,t){t.push(new Yr(e-1),null)}decomposeRight(e,t){t.push(null,new Yr(this.length-e-1))}updateHeight(e,t=0,n=!1,i){let r=t+this.length;if(i&&i.from<=t+this.length&&i.more){let n=[],s=Math.max(t,i.from),o=-1;for(i.from>t&&n.push(new Yr(i.from-t-1).updateHeight(e,t));s<=r&&i.more;){let t=e.doc.lineAt(s).length;n.length&&n.push(null);let r=i.heights[i.index++];-1==o?o=r:Math.abs(r-o)>=Ar&&(o=-2);let a=new Mr(t,r);a.outdated=!1,n.push(a),s+=t+1}s<=r&&n.push(null,new Yr(r-s).updateHeight(e,s));let a=Rr.of(n);return(o<0||Math.abs(a.height-this.height)>=Ar||Math.abs(o-this.heightMetrics(e,t).perLine)>=Ar)&&(e.heightChanged=!0),a}return(n||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class _r extends Rr{constructor(e,t,n){super(e.length+t+n.length,e.height+n.height,t|(e.outdated||n.outdated?2:0)),this.left=e,this.right=n,this.size=e.size+n.size}get break(){return 1&this.flags}blockAt(e,t,n,i){let r=n+this.left.height;return e<r?this.left.blockAt(e,t,n,i):this.right.blockAt(e,t,r,i+this.left.length+this.break)}lineAt(e,t,n,i,r){let s=i+this.left.height,o=r+this.left.length+this.break,a=t==Zr.ByHeight?e<s:e<o,l=a?this.left.lineAt(e,t,n,i,r):this.right.lineAt(e,t,n,s,o);if(this.break||(a?l.to<o:l.from>o))return l;let h=t==Zr.ByPosNoHeight?Zr.ByPosNoHeight:Zr.ByPos;return a?l.join(this.right.lineAt(o,h,n,s,o)):this.left.lineAt(o,h,n,i,r).join(l)}forEachLine(e,t,n,i,r,s){let o=i+this.left.height,a=r+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,n,i,r,s),t>=a&&this.right.forEachLine(e,t,n,o,a,s);else{let l=this.lineAt(a,Zr.ByPos,n,i,r);e<l.from&&this.left.forEachLine(e,l.from-1,n,i,r,s),l.to>=e&&l.from<=t&&s(l),t>l.to&&this.right.forEachLine(l.to+1,t,n,o,a,s)}}replace(e,t,n){let i=this.left.length+this.break;if(t<i)return this.balanced(this.left.replace(e,t,n),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-i,t-i,n));let r=[];e>0&&this.decomposeLeft(e,r);let s=r.length;for(let e of n)r.push(e);if(e>0&&Wr(r,s-1),t<this.length){let e=r.length;this.decomposeRight(t,r),Wr(r,e)}return Rr.of(r)}decomposeLeft(e,t){let n=this.left.length;if(e<=n)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(n++,e>=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,i=n+this.break;if(e>=i)return this.right.decomposeRight(e-i,t);e<n&&this.left.decomposeRight(e,t),this.break&&e<i&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?Rr.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,n=!1,i){let{left:r,right:s}=this,o=t+r.length+this.break,a=null;return i&&i.from<=t+r.length&&i.more?a=r=r.updateHeight(e,t,n,i):r.updateHeight(e,t,n),i&&i.from<=o+s.length&&i.more?a=s=s.updateHeight(e,o,n,i):s.updateHeight(e,o,n),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 Wr(e,t){let n,i;null==e[t]&&(n=e[t-1])instanceof Yr&&(i=e[t+1])instanceof Yr&&e.splice(t-1,3,new Yr(n.length+1+i.length))}const Er=5;class zr{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),n=this.nodes[this.nodes.length-1];n instanceof Mr?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Mr(e-this.pos,-1)),this.writtenTo=e,t>e&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,n){if(e<t||n.heightRelevant){let i=n.widget?n.widget.estimatedHeight:0;i<0&&(i=this.oracle.lineHeight);let r=t-e;n.block?this.addBlock(new Vr(r,i,n.type)):(r||i>=Er)&&this.addLineDeco(i,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 Mr(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new Yr(t-e);return this.oracle.doc.lineAt(e).to==t&&(n.flags|=4),n}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Mr)return e;let t=new Mr(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine(),e.type!=On.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,e.type!=On.WidgetBefore&&(this.covering=e)}addLineDeco(e,t){let n=this.ensureLine();n.length+=t,n.collapsed+=t,n.widgetHeight=Math.max(n.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 Mr||this.isCovered?(this.writtenTo<this.pos||null==t)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos)):this.nodes.push(new Mr(0,-1));let n=e;for(let e of this.nodes)e instanceof Mr&&e.updateHeight(this.oracle,n),n+=e?e.length:1;return this.nodes}static build(e,t,n,i){let r=new zr(n,e);return Ze.spans(t,n,i,r,0),r.finish(n)}}function Ur(e,t,n){let i=new qr;return Ze.compare(e,t,n,i,0),i.changes}class qr{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,n,i){(e<t||n&&n.heightRelevant||i&&i.heightRelevant)&&wn(e,t,this.changes,5)}}function Dr(e,t){let n=e.getBoundingClientRect(),i=e.ownerDocument,r=i.defaultView||window,s=Math.max(0,n.left),o=Math.min(r.innerWidth,n.right),a=Math.max(0,n.top),l=Math.min(r.innerHeight,n.bottom);for(let t=e.parentNode;t&&t!=i.body;)if(1==t.nodeType){let n=t,i=window.getComputedStyle(n);if((n.scrollHeight>n.clientHeight||n.scrollWidth>n.clientWidth)&&"visible"!=i.overflow){let i=n.getBoundingClientRect();s=Math.max(s,i.left),o=Math.min(o,i.right),a=Math.max(a,i.top),l=t==e.parentNode?i.bottom:Math.min(l,i.bottom)}t="absolute"==i.position||"fixed"==i.position?n.offsetParent:n.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:s-n.left,right:Math.max(s,o)-n.left,top:a-(n.top+t),bottom:Math.max(a,l)-(n.top+t)}}function Ir(e,t){let n=e.getBoundingClientRect();return{left:0,right:n.right-n.left,top:t,bottom:n.bottom-(n.top+t)}}class jr{constructor(e,t,n){this.from=e,this.to=t,this.size=n}static same(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++){let i=e[n],r=t[n];if(i.from!=r.from||i.to!=r.to||i.size!=r.size)return!1}return!0}draw(e){return mn.replace({widget:new Br(this.size,e)}).range(this.from,this.to)}}class Br extends pn{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 Lr{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=Kr,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=Kn.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let n=t.facet(Bn).some(e=>"function"!=typeof e&&"cm-lineWrapping"==e.class);this.heightOracle=new Cr(n),this.stateDeco=t.facet(Ln).filter(e=>"function"!=typeof e),this.heightMap=Rr.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle.setDoc(t.doc),[new Hn(0,0,0,t.doc.length)]),this.viewport=this.getViewport(0,null),this.updateViewportLines(),this.updateForViewport(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=mn.set(this.lineGaps.map(e=>e.draw(!1))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let i=n?t.head:t.anchor;if(!e.some(({from:e,to:t})=>i>=e&&i<=t)){let{from:t,to:n}=this.lineBlockAt(i);e.push(new Nr(t,n))}}this.viewports=e.sort((e,t)=>e.from-t.from),this.scaler=this.heightMap.height<=7e6?Kr:new es(this.heightOracle,this.heightMap,this.viewports)}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(1==this.scaler.scale?e:ts(e,this.scaler))})}update(e,t=null){this.state=e.state;let n=this.stateDeco;this.stateDeco=this.state.facet(Ln).filter(e=>"function"!=typeof e);let i=e.changedRanges,r=Hn.extendWithRanges(i,Ur(n,this.stateDeco,e?e.changes:Q.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(Yn)&&(this.mustEnforceCursorAssoc=!0)}measure(t){let n=t.contentDOM,i=window.getComputedStyle(n),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection="rtl"==i.direction?Kn.RTL:Kn.LTR;let o=this.heightOracle.mustRefreshForWrapping(s),a=n.getBoundingClientRect(),l=o||this.mustMeasureContent||this.contentDOMHeight!=a.height;this.contentDOMHeight=a.height,this.mustMeasureContent=!1;let h=0,c=0,u=parseInt(i.paddingTop)||0,f=parseInt(i.paddingBottom)||0;this.paddingTop==u&&this.paddingBottom==f||(this.paddingTop=u,this.paddingBottom=f,h|=10),this.editorWidth!=t.scrollDOM.clientWidth&&(r.lineWrapping&&(l=!0),this.editorWidth=t.scrollDOM.clientWidth,h|=8);let d=(this.printing?Ir:Dr)(n,this.paddingTop),p=d.top-this.pixelViewport.top,O=d.bottom-this.pixelViewport.bottom;this.pixelViewport=d;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(l=!0)),!this.inView&&!this.scrollTarget)return 0;let g=a.width;if(this.contentDOMWidth==g&&this.editorHeight==t.scrollDOM.clientHeight||(this.contentDOMWidth=a.width,this.editorHeight=t.scrollDOM.clientHeight,h|=8),l){let n=t.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(n)&&(o=!0),o||r.lineWrapping&&Math.abs(g-this.contentDOMWidth)>r.charWidth){let{lineHeight:e,charWidth:i}=t.docView.measureTextSize();o=e>0&&r.refresh(s,e,i,g/i,n),o&&(t.docView.minWidth=0,h|=8)}p>0&&O>0?c=Math.max(p,O):p<0&&O<0&&(c=Math.min(p,O)),r.heightChanged=!1;for(let i of this.viewports){let s=i.from==this.viewport.from?n:t.docView.measureVisibleLineHeights(i);this.heightMap=(o?Rr.empty().applyChanges(this.stateDeco,e.empty,this.heightOracle,[new Hn(0,0,0,t.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Xr(i.from,s))}r.heightChanged&&(h|=2)}let S=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return S&&(this.viewport=this.getViewport(c,this.scrollTarget)),this.updateForViewport(),(2&h||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,t)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,t.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),i=this.heightMap,r=this.heightOracle,{visibleTop:s,visibleBottom:o}=this,a=new Nr(i.lineAt(s-1e3*n,Zr.ByHeight,r,0,0).from,i.lineAt(o+1e3*(1-n),Zr.ByHeight,r,0,0).to);if(t){let{head:e}=t.range;if(e<a.from||e>a.to){let n,s=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),o=i.lineAt(e,Zr.ByPos,r,0,0);n="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 Nr(i.lineAt(n-500,Zr.ByHeight,r,0,0).from,i.lineAt(n+s+500,Zr.ByHeight,r,0,0).to)}}return a}mapViewport(e,t){let n=t.mapPos(e.from,-1),i=t.mapPos(e.to,1);return new Nr(this.heightMap.lineAt(n,Zr.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(i,Zr.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){if(!this.inView)return!0;let{top:i}=this.heightMap.lineAt(e,Zr.ByPos,this.heightOracle,0,0),{bottom:r}=this.heightMap.lineAt(t,Zr.ByPos,this.heightOracle,0,0),{visibleTop:s,visibleBottom:o}=this;return(0==e||i<=s-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||r>=o+Math.max(10,Math.min(n,250)))&&i>s-2e3&&r<o+2e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let n=[];for(let i of e)t.touchesRange(i.from,i.to)||n.push(new jr(t.mapPos(i.from),t.mapPos(i.to),i.size));return n}ensureLineGaps(e,t){let n=this.heightOracle.lineWrapping,i=n?1e4:2e3,r=i>>1,s=i<<1;if(this.defaultTextDirection!=Kn.LTR&&!n)return[];let o=[],a=(i,s,l,h)=>{if(s-i<r)return;let c=this.state.selection.main,u=[c.from];c.empty||u.push(c.to);for(let e of u)if(e>i&&e<s)return a(i,e-10,l,h),void a(e+10,s,l,h);let f=Jr(e,e=>e.from>=l.from&&e.to<=l.to&&Math.abs(e.from-i)<r&&Math.abs(e.to-s)<r&&!u.some(t=>e.from<t&&e.to>t));if(!f){if(s<l.to&&t&&n&&t.visibleRanges.some(e=>e.from<=s&&e.to>=s)){let e=t.moveToLineBoundary(R.cursor(s),!1,!0).head;e>i&&(s=e)}f=new jr(i,s,this.gapSize(l,i,s,h))}o.push(f)};for(let e of this.viewportLines){if(e.length<s)continue;let t=Gr(e.from,e.to,this.stateDeco);if(t.total<s)continue;let r,o,l=this.scrollTarget?this.scrollTarget.range.head:null;if(n){let n,s,a=i/this.heightOracle.lineLength*this.heightOracle.lineHeight;if(null!=l){let i=Hr(t,l),r=((this.visibleBottom-this.visibleTop)/2+a)/e.height;n=i-r,s=i+r}else n=(this.visibleTop-e.top-a)/e.height,s=(this.visibleBottom-e.top+a)/e.height;r=Fr(t,n),o=Fr(t,s)}else{let e,n,s=t.total*this.heightOracle.charWidth,a=i*this.heightOracle.charWidth;if(null!=l){let i=Hr(t,l),r=((this.pixelViewport.right-this.pixelViewport.left)/2+a)/s;e=i-r,n=i+r}else e=(this.pixelViewport.left-a)/s,n=(this.pixelViewport.right+a)/s;r=Fr(t,e),o=Fr(t,n)}r>e.from&&a(e.from,r,e,t),o<e.to&&a(o,e.to,e,t)}return o}gapSize(e,t,n,i){let r=Hr(i,n)-Hr(i,t);return this.heightOracle.lineWrapping?e.height*r:i.total*this.heightOracle.charWidth*r}updateLineGaps(e){jr.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=mn.set(e.map(e=>e.draw(this.heightOracle.lineWrapping))))}computeVisibleRanges(){let e=this.stateDeco;this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Ze.spans(e,this.viewport.from,this.viewport.to,{span(e,n){t.push({from:e,to:n})},point(){}},20);let n=t.length!=this.visibleRanges.length||this.visibleRanges.some((e,n)=>e.from!=t[n].from||e.to!=t[n].to);return this.visibleRanges=t,n?4:0}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||ts(this.heightMap.lineAt(e,Zr.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return ts(this.heightMap.lineAt(this.scaler.fromDOM(e),Zr.ByHeight,this.heightOracle,0,0),this.scaler)}elementAtHeight(e){return ts(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}}class Nr{constructor(e,t){this.from=e,this.to=t}}function Gr(e,t,n){let i=[],r=e,s=0;return Ze.spans(n,e,t,{span(){},point(e,t){e>r&&(i.push({from:r,to:e}),s+=e-r),r=t}},20),r<t&&(i.push({from:r,to:t}),s+=t-r),{total:s,ranges:i}}function Fr({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let i=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:r}=t[e],s=r-n;if(i<=s)return n+i;i-=s}}function Hr(e,t){let n=0;for(let{from:i,to:r}of e.ranges){if(t<=r){n+=t-i;break}n+=r-i}return n/e.total}function Jr(e,t){for(let n of e)if(t(n))return n}const Kr={toDOM:e=>e,fromDOM:e=>e,scale:1};class es{constructor(e,t,n){let i=0,r=0,s=0;this.viewports=n.map(({from:n,to:r})=>{let s=t.lineAt(n,Zr.ByPos,e,0,0).top,o=t.lineAt(r,Zr.ByPos,e,0,0).bottom;return i+=o-s,{from:n,to:r,top:s,bottom:o,domTop:0,domBottom:0}}),this.scale=(7e6-i)/(t.height-i);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,n=0,i=0;;t++){let r=t<this.viewports.length?this.viewports[t]:null;if(!r||e<r.top)return i+(e-n)*this.scale;if(e<=r.bottom)return r.domTop+(e-r.top);n=r.bottom,i=r.domBottom}}fromDOM(e){for(let t=0,n=0,i=0;;t++){let r=t<this.viewports.length?this.viewports[t]:null;if(!r||e<r.domTop)return n+(e-i)/this.scale;if(e<=r.domBottom)return r.top+(e-r.domTop);n=r.bottom,i=r.domBottom}}}function ts(e,t){if(1==t.scale)return e;let n=t.toDOM(e.top),i=t.toDOM(e.bottom);return new Tr(e.from,e.length,n,i-n,Array.isArray(e.type)?e.type.map(e=>ts(e,t)):e.type)}const ns=Y.define({combine:e=>e.join(" ")}),is=Y.define({combine:e=>e.indexOf(!0)>-1}),rs=Fe.newName(),ss=Fe.newName(),os=Fe.newName(),as={"&light":"."+ss,"&dark":"."+os};function ls(e,t,n){return new Fe(t,{finish:t=>/&/.test(t)?t.replace(/&\w*/,t=>{if("&"==t)return e;if(!n||!n[t])throw new RangeError("Unsupported selector: "+t);return n[t]}):e+" "+t})}const hs=ls("."+rs,{"&":{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-dropCursor":{position:"absolute"},"&.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"}},as);class cs{constructor(e,t,n,i){this.typeOver=i,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,n,0))){let t=r||s?[]:ds(e),n=new mi(t,e.state);n.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=n.text,this.newSel=ps(t,this.bounds.from)}else{let t=e.observer.selectionRange,n=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),i=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=R.single(i,n)}}}function us(t,n){let i,{newSel:r}=n,s=t.state.selection.main;if(n.bounds){let{from:r,to:o}=n.bounds,a=s.from,l=null;(8===t.inputState.lastKeyCode&&t.inputState.lastKeyTime>Date.now()-100||Gt.android&&n.text.length<o-r)&&(a=s.to,l="end");let h=fs(t.state.doc.sliceString(r,o,Oi),n.text,a-r,l);h&&(Gt.chrome&&13==t.inputState.lastKeyCode&&h.toB==h.from+2&&n.text.slice(h.from,h.toB)==Oi+Oi&&h.toB--,i={from:r+h.from,to:r+h.toA,insert:e.of(n.text.slice(h.from,h.toB).split(Oi))})}else r&&(!t.hasFocus&&t.state.facet(zn)||r.main.eq(s))&&(r=null);if(!i&&!r)return!1;if(!i&&n.typeOver&&!s.empty&&r&&r.main.empty?i={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,s.to)}:i&&i.from>=s.from&&i.to<=s.to&&(i.from!=s.from||i.to!=s.to)&&s.to-s.from-(i.to-i.from)<=4?i={from:s.from,to:s.to,insert:t.state.doc.slice(s.from,i.from).append(i.insert).append(t.state.doc.slice(i.to,s.to))}:(Gt.mac||Gt.android)&&i&&i.from==i.to&&i.from==s.head-1&&/^\. ?$/.test(i.insert.toString())&&"off"==t.contentDOM.getAttribute("autocorrect")?(r&&2==i.insert.length&&(r=R.single(r.main.anchor-1,r.main.head-1)),i={from:s.from,to:s.to,insert:e.of([" "])}):Gt.chrome&&i&&i.from==i.to&&i.from==s.head&&"\n "==i.insert.toString()&&t.lineWrapping&&(r&&(r=R.single(r.main.anchor-1,r.main.head-1)),i={from:s.from,to:s.to,insert:e.of([" "])}),i){let e=t.state;if(Gt.ios&&t.inputState.flushIOSKey(t))return!0;if(Gt.android&&(i.from==s.from&&i.to==s.to&&1==i.insert.length&&2==i.insert.lines&&Pt(t.contentDOM,"Enter",13)||i.from==s.from-1&&i.to==s.to&&0==i.insert.length&&Pt(t.contentDOM,"Backspace",8)||i.from==s.from&&i.to==s.to+1&&0==i.insert.length&&Pt(t.contentDOM,"Delete",46)))return!0;let n,o=i.insert.toString();if(t.state.facet(Rn).some(e=>e(t,i.from,i.to,o)))return!0;if(t.inputState.composing>=0&&t.inputState.composing++,i.from>=s.from&&i.to<=s.to&&i.to-i.from>=(s.to-s.from)/3&&(!r||r.main.empty&&r.main.from==i.from+i.insert.length)&&t.inputState.composing<0){let r=s.from<i.from?e.sliceDoc(s.from,i.from):"",o=s.to>i.to?e.sliceDoc(i.to,s.to):"";n=e.replaceSelection(t.state.toText(r+i.insert.sliceString(0,void 0,t.state.lineBreak)+o))}else{let o=e.changes(i),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&&i.to<=s.to&&i.to>=s.to-10){let r=t.state.sliceDoc(i.from,i.to),l=wi(t)||t.state.doc.lineAt(s.head),h=s.to-i.to,c=s.to-s.from;n=e.changeByRange(n=>{if(n.from==s.from&&n.to==s.to)return{changes:o,range:a||n.map(o)};let u=n.to-h,f=u-r.length;if(n.to-n.from!=c||t.state.sliceDoc(f,u)!=r||l&&n.to>=l.from&&n.from<=l.to)return{range:n};let d=e.changes({from:f,to:u,insert:i.insert}),p=n.to-s.to;return{changes:d,range:a?R.range(Math.max(0,a.anchor+p),Math.max(0,a.head+p)):n.map(d)}})}else n={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(n,{scrollIntoView:!0,userEvent:a}),!0}if(r&&!r.main.eq(s)){let e=!1,n="select";return t.inputState.lastSelectionTime>Date.now()-50&&("select"==t.inputState.lastSelectionOrigin&&(e=!0),n=t.inputState.lastSelectionOrigin),t.dispatch({selection:r,scrollIntoView:e,userEvent:n}),!0}return!1}function fs(e,t,n,i){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"==i){n-=o+Math.max(0,s-Math.min(o,a))-s}if(o<s&&e.length<t.length){s-=n<=s&&n>=o?s-n:0,a=s+(a-o),o=s}else if(a<s){s-=n<=s&&n>=a?s-n:0,o=s+(o-a),a=s}return{from:s,toA:o,toB:a}}function ds(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:i,focusNode:r,focusOffset:s}=e.observer.selectionRange;return n&&(t.push(new Si(n,i)),r==n&&s==i||t.push(new Si(r,s))),t}function ps(e,t){if(0==e.length)return null;let n=e[0].pos,i=2==e.length?e[1].pos:n;return n>-1&&i>-1?R.single(n+t,i+t):null}const Os={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},ms=Gt.ie&&Gt.ie_version<=11;class gs{constructor(e){this.view=e,this.active=!1,this.selectionRange=new wt,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()}),ms&&(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,n)=>t!=e[n]))){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:n}=this,i=this.selectionRange;if(n.state.facet(zn)?n.root.activeElement!=this.dom:!ut(n.dom,i))return;let r=i.anchorNode&&n.docView.nearest(i.anchorNode);r&&r.ignoreEvent(e)?t||(this.selectionChanged=!1):(Gt.ie&&Gt.ie_version<=11||Gt.android&&Gt.chrome)&&!n.state.selection.main.empty&&i.focusNode&&dt(i.focusNode,i.focusOffset,i.anchorNode,i.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Gt.safari&&11==e.root.nodeType&&ct(this.dom.ownerDocument)==this.dom&&bs(this.view)||lt(e.root);if(!t||this.selectionRange.eq(t))return!1;let n=ut(this.dom,t);return n&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Tt(this.dom,t)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(t),n&&(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 n=this.dom;n;)if(1==n.nodeType)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==n?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(n),n=n.assignedSlot||n.parentNode;else{if(11!=n.nodeType)break;n=n.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,Os),ms&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),ms&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var n;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===(n=this.delayedAndroidKey)||void 0===n?void 0:n.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,n=-1,i=!1;for(let r of e){let e=this.readMutation(r);e&&(e.typeOver&&(i=!0),-1==t?({from:t,to:n}=e):(t=Math.min(e.from,t),n=Math.max(e.to,n)))}return{from:t,to:n,typeOver:i}}readChange(){let{from:e,to:t,typeOver:n}=this.processRecords(),i=this.selectionChanged&&ut(this.dom,this.selectionRange);return e<0&&!i?null:(e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1,new cs(this.view,e,t,n))}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return!1;let n=this.view.state,i=us(this.view,t);return this.view.state==n&&this.view.update([]),i}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 n=Ss(t,e.previousSibling||e.target.previousSibling,-1),i=Ss(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:i?t.posBefore(i):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,n,i;this.stop(),null===(e=this.intersection)||void 0===e||e.disconnect(),null===(t=this.gapIntersection)||void 0===t||t.disconnect(),null===(n=this.resizeScroll)||void 0===n||n.disconnect(),null===(i=this.resizeContent)||void 0===i||i.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 Ss(e,t,n){for(;t;){let i=Rt.get(t);if(i&&i.parent==e)return i;let r=t.parentNode;t=r!=e.dom?r:n>0?t.nextSibling:t.previousSibling}return null}function bs(e){let t=null;function n(e){e.preventDefault(),e.stopImmediatePropagation(),t=e.getTargetRanges()[0]}if(e.contentDOM.addEventListener("beforeinput",n,!0),e.dom.ownerDocument.execCommand("indent"),e.contentDOM.removeEventListener("beforeinput",n,!0),!t)return null;let i=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)&&([i,r,s,o]=[s,o,i,r]),{anchorNode:i,anchorOffset:r,focusNode:s,focusOffset:o}}class xs{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||Ct(e.parent)||document,this.viewState=new Lr(e.state||Qe.create(e)),this.plugins=this.state.facet(qn).map(e=>new In(e));for(let e of this.plugins)e.update(this);this.observer=new gs(this),this.inputState=new Li(this),this.inputState.ensureHandlers(this,this.plugins),this.docView=new bi(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,n=!1,i=!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.hasFocus,o=0,a=null;e.some(e=>e.annotation(kr))?(this.inputState.notifiedFocused=s,o=1):s!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=s,a=Qr(r,s),a||(o=1));let l=this.observer.delayedAndroidKey,h=null;if(l?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(r.doc)||!this.state.selection.eq(r.selection))&&(h=null)):this.observer.clear(),r.facet(Qe.phrases)!=this.state.facet(Qe.phrases))return this.setState(r);t=Jn.create(this,r,e),t.flags|=o;let c=this.viewState.scrollTarget;try{this.updateState=2;for(let t of e){if(c&&(c=c.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;c=new _n(e.empty?e:R.cursor(e.head,e.head>e.anchor?-1:1))}for(let e of t.effects)e.is(Wn)&&(c=e.value)}this.viewState.update(t,c),this.bidiCache=vs.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),n=this.docView.update(t),this.state.facet(Fn)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(n,e.some(e=>e.isUserEvent("select.pointer")))}finally{this.updateState=0}if(t.startState.facet(ns)!=t.state.facet(ns)&&(this.viewState.mustMeasureContent=!0),(n||i||c||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(An))e(t);(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!us(this,h)&&l.force&&Pt(this.contentDOM,l.key,l.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 Lr(e),this.plugins=e.facet(qn).map(e=>new In(e)),this.pluginMap.clear();for(let e of this.plugins)e.update(this);this.docView=new bi(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(qn),n=e.state.facet(qn);if(t!=n){let i=[];for(let r of n){let n=t.indexOf(r);if(n<0)i.push(new In(r));else{let t=this.plugins[n];t.mustUpdate=e,i.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=i,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:n,scrollTop:i,clientHeight:r}=this.scrollDOM,s=i>n-r-4?n:i;try{for(let e=0;;e++){this.updateState=1;let n=this.viewport,i=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 En(this.state,e),ws}}),l=Jn.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]!=ws)try{let t=o[e];t.write&&t.write(a[e],this)}catch(e){En(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(i.from).top-i.top;(e>1||e<-1)&&(this.scrollDOM.scrollTop+=e,c=!0)}if(h&&this.docView.updateSelection(!0),this.viewport.from==n.from&&this.viewport.to==n.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(An))e(t)}get themeClasses(){return rs+" "+(this.state.facet(is)?os:ss)+" "+this.state.facet(ns)}updateAttrs(){let e=ks(this,jn,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:this.state.facet(zn)?"true":"false",class:"cm-content",style:`${Gt.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),ks(this,Bn,t);let n=this.observer.ignore(()=>{let n=dn(this.contentDOM,this.contentAttrs,t),i=dn(this.dom,this.editorAttrs,e);return n||i});return this.editorAttrs=e,this.contentAttrs=t,n}showAnnouncements(e){let t=!0;for(let n of e)for(let e of n.effects)if(e.is(xs.announce)){t&&(this.announceDOM.textContent=""),t=!1,this.announceDOM.appendChild(document.createElement("div")).textContent=e.value}}mountStyles(){this.styleModules=this.state.facet(Fn),Fe.mount(this.root,this.styleModules.concat(hs).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(this.measureRequests.indexOf(e)>-1)return;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,n){return Bi(this,e,Di(this,e,t,n))}moveByGroup(e,t){return Bi(this,e,Di(this,e,t,t=>Ii(this,e.head,t)))}moveToLineBoundary(e,t,n=!0){return qi(this,e,t,n)}moveVertically(e,t,n){return Bi(this,e,ji(this,e,t,n))}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),Wi(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let n=this.docView.coordsAt(e,t);if(!n||n.left==n.right)return n;let i=this.state.doc.lineAt(e),r=this.bidiSpans(i);return St(n,r[hi.find(r,e-i.from,-1,t)].dir==Kn.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(Mn)||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>ys)return fi(e.length);let t=this.textDirectionAt(e.from);for(let n of this.bidiCache)if(n.from==e.from&&n.dir==t)return n.order;let n=ui(e.text,t);return this.bidiCache.push(new vs(e.from,e.to,t,n)),n}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(()=>{Qt(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 Wn.of(new _n("number"==typeof e?R.cursor(e):e,t.y,t.x,t.yMargin,t.xMargin))}static domEventHandlers(e){return Dn.define(()=>({}),{eventHandlers:e})}static theme(e,t){let n=Fe.newName(),i=[ns.of(n),Fn.of(ls("."+n,e))];return t&&t.dark&&i.push(is.of(!0)),i}static baseTheme(e){return B.lowest(Fn.of(ls("."+rs,e,as)))}static findFromDOM(e){var t;let n=e.querySelector(".cm-content"),i=n&&Rt.get(n)||Rt.get(e);return(null===(t=null==i?void 0:i.rootView)||void 0===t?void 0:t.view)||null}}xs.styleModule=Fn,xs.inputHandler=Rn,xs.focusChangeEffect=Vn,xs.perLineTextDirection=Mn,xs.exceptionSink=Zn,xs.updateListener=An,xs.editable=zn,xs.mouseSelectionStyle=Tn,xs.dragMovesSelection=Xn,xs.clickAddsSelectionRange=Cn,xs.decorations=Ln,xs.atomicRanges=Nn,xs.scrollMargins=Gn,xs.darkTheme=is,xs.contentAttributes=Bn,xs.editorAttributes=jn,xs.lineWrapping=xs.contentAttributes.of({class:"cm-lineWrapping"}),xs.announce=ce.define();const ys=4096,ws={};class vs{constructor(e,t,n,i){this.from=e,this.to=t,this.dir=n,this.order=i}static update(e,t){if(t.empty)return e;let n=[],i=e.length?e[e.length-1].dir:Kn.LTR;for(let r=Math.max(0,e.length-10);r<e.length;r++){let s=e[r];s.dir!=i||t.touchesRange(s.from,s.to)||n.push(new vs(t.mapPos(s.from,1),t.mapPos(s.to,-1),s.dir,s.order))}return n}}function ks(e,t,n){for(let i=e.state.facet(t),r=i.length-1;r>=0;r--){let t=i[r],s="function"==typeof t?t(e):t;s&&un(s,n)}return n}const Qs=Gt.mac?"mac":Gt.windows?"win":Gt.linux?"linux":"key";function $s(e,t){const n=e.split(/-(?!$)/);let i,r,s,o,a=n[n.length-1];"Space"==a&&(a=" ");for(let e=0;e<n.length-1;++e){const a=n[e];if(/^(cmd|meta|m)$/i.test(a))o=!0;else if(/^a(lt)?$/i.test(a))i=!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 i&&(a="Alt-"+a),r&&(a="Ctrl-"+a),o&&(a="Meta-"+a),s&&(a="Shift-"+a),a}function Ps(e,t,n){return t.altKey&&(e="Alt-"+e),t.ctrlKey&&(e="Ctrl-"+e),t.metaKey&&(e="Meta-"+e),!1!==n&&t.shiftKey&&(e="Shift-"+e),e}const Cs=B.default(xs.domEventHandlers({keydown:(e,t)=>Ys(Zs(t.state),e,t,"editor")})),Xs=Y.define({enables:Cs}),Ts=new WeakMap;function Zs(e){let t=e.facet(Xs),n=Ts.get(t);return n||Ts.set(t,n=Ms(t.reduce((e,t)=>e.concat(t),[]))),n}function As(e,t,n){return Ys(Zs(e.state),t,e,n)}let Rs=null;const Vs=4e3;function Ms(e,t=Qs){let n=Object.create(null),i=Object.create(null),r=(e,t)=>{let n=i[e];if(null==n)i[e]=t;else if(n!=t)throw new Error("Key binding "+e+" is used both as a regular binding and as a multi-stroke prefix")},s=(e,i,s,o)=>{var a,l;let h=n[e]||(n[e]=Object.create(null)),c=i.split(/ (?!$)/).map(e=>$s(e,t));for(let t=1;t<c.length;t++){let n=c.slice(0,t).join(" ");r(n,!0),h[n]||(h[n]={preventDefault:!0,run:[t=>{let i=Rs={view:t,prefix:n,scope:e};return setTimeout(()=>{Rs==i&&(Rs=null)},Vs),!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 i of e){let e=i.scope?i.scope.split(" "):["editor"];if(i.any)for(let t of e){let e=n[t]||(n[t]=Object.create(null));e._any||(e._any={preventDefault:!1,run:[]});for(let t in e)e[t].run.push(i.any)}let r=i[t]||i.key;if(r)for(let t of e)s(t,r,i.run,i.preventDefault),i.shift&&s(t,"Shift-"+r,i.shift,i.preventDefault)}return n}function Ys(e,t,n,i){let r=at(t),s=y(b(r,0))==r.length&&" "!=r,o="",a=!1;Rs&&Rs.view==n&&Rs.scope==i&&(o=Rs.prefix+" ",(a=Fi.indexOf(t.keyCode)<0)&&(Rs=null));let l,h,c=new Set,u=e=>{if(e){for(let i of e.run)if(!c.has(i)&&(c.add(i),i(n,t)))return!0;e.preventDefault&&(a=!0)}return!1},f=e[i];if(f){if(u(f[o+Ps(r,t,!s)]))return!0;if(s&&(t.altKey||t.metaKey||t.ctrlKey)&&!(Gt.windows&&t.ctrlKey&&t.altKey)&&(l=Ke[t.keyCode])&&l!=r){if(u(f[o+Ps(l,t,!0)]))return!0;if(t.shiftKey&&(h=et[t.keyCode])!=r&&h!=l&&u(f[o+Ps(h,t,!1)]))return!0}else if(s&&t.shiftKey&&u(f[o+Ps(r,t,!0)]))return!0;if(u(f._any))return!0}return a}class _s{constructor(e,t,n,i,r){this.className=e,this.left=t,this.top=n,this.width=i,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,n){if(n.empty){let i=e.coordsAtPos(n.head,n.assoc||1);if(!i)return[];let r=Ws(e);return[new _s(t,i.left-r.left,i.top-r.top,null,i.bottom-i.top)]}return Us(e,t,n)}}function Ws(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Kn.LTR?t.left:t.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,top:t.top-e.scrollDOM.scrollTop}}function Es(e,t,n){let i=R.cursor(t);return{from:Math.max(n.from,e.moveToLineBoundary(i,!1,!0).from),to:Math.min(n.to,e.moveToLineBoundary(i,!0,!0).from),type:On.Text}}function zs(e,t){let n=e.lineBlockAt(t);if(Array.isArray(n.type))for(let e of n.type)if(e.to>t||e.to==t&&(e.to==n.to||e.type==On.Text))return e;return n}function Us(e,t,n){if(n.to<=e.viewport.from||n.from>=e.viewport.to)return[];let i=Math.max(n.from,e.viewport.from),r=Math.min(n.to,e.viewport.to),s=e.textDirection==Kn.LTR,o=e.contentDOM,a=o.getBoundingClientRect(),l=Ws(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=zs(e,i),d=zs(e,r),p=f.type==On.Text?f:null,O=d.type==On.Text?d:null;if(e.lineWrapping&&(p&&(p=Es(e,i,p)),O&&(O=Es(e,r,O))),p&&O&&p.from==O.from)return g(S(n.from,n.to,p));{let t=p?S(n.from,null,p):b(f,!1),i=O?S(null,n.to,O):b(d,!0),r=[];return(p||f).to<(O||d).from-1?r.push(m(c,t.bottom,u,i.top)):t.bottom<i.top&&e.elementAtHeight((t.bottom+i.top)/2).type==On.Text&&(t.bottom=i.top=(t.bottom+i.top)/2),g(t).concat(r).concat(g(i))}function m(e,n,i,r){return new _s(t,e-l.left,n-l.top-.01,i-e,r-n+.01)}function g({top:e,bottom:t,horizontal:n}){let i=[];for(let r=0;r<n.length;r+=2)i.push(m(n[r],e,n[r+1],t));return i}function S(t,n,i){let r=1e9,o=-1e9,a=[];function l(t,n,l,h,f){let d=e.coordsAtPos(t,t==i.to?-2:2),p=e.coordsAtPos(l,l==i.from?2:-2);r=Math.min(d.top,p.top,r),o=Math.max(d.bottom,p.bottom,o),f==Kn.LTR?a.push(s&&n?c:d.left,s&&h?u:p.right):a.push(!s&&h?c:p.left,!s&&n?u:d.right)}let h=null!=t?t:i.from,f=null!=n?n:i.to;for(let i of e.visibleRanges)if(i.to>h&&i.from<f)for(let r=Math.max(i.from,h),s=Math.min(i.to,f);;){let i=e.state.doc.lineAt(r);for(let o of e.bidiSpans(i)){let e=o.from+i.from,a=o.to+i.from;if(e>=s)break;a>r&&l(Math.max(e,r),null==t&&e<=h,Math.min(a,s),null==n&&a>=f,o.dir)}if(r=i.to+1,r>=s)break}return 0==a.length&&l(h,null==t,f,null==n,e.textDirection),{top:r,bottom:o,horizontal:a}}function b(e,t){let n=a.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}function qs(e,t){return e.constructor==t.constructor&&e.eq(t)}class Ds{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(Is)!=e.state.facet(Is)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&e.view.requestMeasure(this.measureReq)}setOrder(e){let t=0,n=e.facet(Is);for(;t<n.length&&n[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)=>!qs(e,this.drawn[t]))){let t=this.dom.firstChild,n=0;for(let i of e)i.update&&t&&i.constructor&&this.drawn[n].constructor&&i.update(t,this.drawn[n])?(t=t.nextSibling,n++):this.dom.insertBefore(i.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 Is=Y.define();function js(e){return[Dn.define(t=>new Ds(t,e)),Is.of(e)]}const Bs=!Gt.ios,Ls=Y.define({combine:e=>$e(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function Ns(e={}){return[Ls.of(e),Fs,Js,eo,Yn.of(!0)]}function Gs(e){return e.startState.facet(Ls)!=e.state.facet(Ls)}const Fs=js({above:!0,markers(e){let{state:t}=e,n=t.facet(Ls),i=[];for(let r of t.selection.ranges){let s=r==t.selection.main;if(r.empty?!s||Bs:n.drawRangeCursor){let t=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",n=r.empty?r:R.cursor(r.head,r.head>r.anchor?-1:1);for(let r of _s.forRange(e,t,n))i.push(r)}}return i},update(e,t){e.transactions.some(e=>e.selection)&&(t.style.animationName="cm-blink"==t.style.animationName?"cm-blink2":"cm-blink");let n=Gs(e);return n&&Hs(e.state,t),e.docChanged||e.selectionSet||n},mount(e,t){Hs(t.state,e)},class:"cm-cursorLayer"});function Hs(e,t){t.style.animationDuration=e.facet(Ls).cursorBlinkRate+"ms"}const Js=js({above:!1,markers:e=>e.state.selection.ranges.map(t=>t.empty?[]:_s.forRange(e,"cm-selectionBackground",t)).reduce((e,t)=>e.concat(t)),update:(e,t)=>e.docChanged||e.selectionSet||e.viewportChanged||Gs(e),class:"cm-selectionLayer"}),Ks={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Bs&&(Ks[".cm-line"].caretColor="transparent !important");const eo=B.highest(xs.theme(Ks)),to=ce.define({map:(e,t)=>null==e?null:t.mapPos(e)}),no=D.define({create:()=>null,update:(e,t)=>(null!=e&&(e=t.changes.mapPos(e)),t.effects.reduce((e,t)=>t.is(to)?t.value:e,e))}),io=Dn.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 n=e.state.field(no);null==n?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(no)!=n||e.docChanged||e.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let e=this.view.state.field(no),t=null!=e&&this.view.coordsAtPos(e);if(!t)return null;let n=this.view.scrollDOM.getBoundingClientRect();return{left:t.left-n.left+this.view.scrollDOM.scrollLeft,top:t.top-n.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(no)!=e&&this.view.dispatch({effects:to.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 ro(){return[no,io]}function so(e,t,n,i,r){t.lastIndex=0;for(let s,o=e.iterRange(n,i),a=n;!o.next().done;a+=o.value.length)if(!o.lineBreak)for(;s=t.exec(o.value);)r(a+s.index,s)}function oo(e,t){let n=e.visibleRanges;if(1==n.length&&n[0].from==e.viewport.from&&n[0].to==e.viewport.to)return n;let i=[];for(let{from:r,to:s}of n)r=Math.max(e.state.doc.lineAt(r).from,r-t),s=Math.min(e.state.doc.lineAt(s).to,s+t),i.length&&i[i.length-1].to>=r?i[i.length-1].to=s:i.push({from:r,to:s});return i}class ao{constructor(e){const{regexp:t,decoration:n,decorate:i,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,i)this.addMatch=(e,t,n,r)=>i(r,n,n+e[0].length,e,t);else if("function"==typeof n)this.addMatch=(e,t,i,r)=>{let s=n(e,t,i);s&&r(i,i+e[0].length,s)};else{if(!n)throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");this.addMatch=(e,t,i,r)=>r(i,i+e[0].length,n)}this.boundary=r,this.maxLength=s}createDeco(e){let t=new Re,n=t.add.bind(t);for(let{from:t,to:i}of oo(e,this.maxLength))so(e.state.doc,this.regexp,t,i,(t,i)=>this.addMatch(i,e,t,n));return t.finish()}updateDeco(e,t){let n=1e9,i=-1;return e.docChanged&&e.changes.iterChanges((t,r,s,o)=>{o>e.view.viewport.from&&s<e.view.viewport.to&&(n=Math.min(s,n),i=Math.max(o,i))}),e.viewportChanged||i-n>1e3?this.createDeco(e.view):i>-1?this.updateRange(e.view,t.map(e.changes),n,i):t}updateRange(e,t,n,i){for(let r of e.visibleRanges){let s=Math.max(r.from,n),o=Math.min(r.to,i);if(o>s){let n=e.state.doc.lineAt(s),i=n.to<o?e.state.doc.lineAt(o):n,a=Math.max(r.from,n.from),l=Math.min(r.to,i.to);if(this.boundary){for(;s>n.from;s--)if(this.boundary.test(n.text[s-1-n.from])){a=s;break}for(;o<i.to;o++)if(this.boundary.test(i.text[o-i.from])){l=o;break}}let h,c=[],u=(e,t,n)=>c.push(n.range(e,t));if(n==i)for(this.regexp.lastIndex=a-n.from;(h=this.regexp.exec(n.text))&&h.index<l-n.from;)this.addMatch(h,e,h.index+n.from,u);else so(e.state.doc,this.regexp,a,l,(t,n)=>this.addMatch(n,e,t,u));t=t.update({filterFrom:a,filterTo:l,filter:(e,t)=>e<a||t>l,add:c})}}return t}}const lo=null!=/x/.unicode?"gu":"g",ho=new RegExp("[\0-\b\n--Ÿ­؜​‎‏\u2028\u2029‭‮⁦⁧⁩\ufeff-]",lo),co={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 uo=null;function fo(){var e;if(null==uo&&"undefined"!=typeof document&&document.body){let t=document.body.style;uo=null!=(null!==(e=t.tabSize)&&void 0!==e?e:t.MozTabSize)}return uo||!1}const po=Y.define({combine(e){let t=$e(e,{render:null,specialChars:ho,addSpecialChars:null});return(t.replaceTabs=!fo())&&(t.specialChars=new RegExp("\t|"+t.specialChars.source,lo)),t.addSpecialChars&&(t.specialChars=new RegExp(t.specialChars.source+"|"+t.addSpecialChars.source,lo)),t}});function Oo(e={}){return[po.of(e),go()]}let mo=null;function go(){return mo||(mo=Dn.fromClass(class{constructor(e){this.view=e,this.decorations=mn.none,this.decorationCache=Object.create(null),this.decorator=this.makeDecorator(e.state.facet(po)),this.decorations=this.decorator.createDeco(e)}makeDecorator(e){return new ao({regexp:e.specialChars,decoration:(t,n,i)=>{let{doc:r}=n.state,s=b(t[0],0);if(9==s){let e=r.lineAt(i),t=n.state.tabSize,s=Ie(e.text,t,i-e.from);return mn.replace({widget:new yo((t-s%t)*this.view.defaultCharacterWidth)})}return this.decorationCache[s]||(this.decorationCache[s]=mn.replace({widget:new xo(e,s)}))},boundary:e.replaceTabs?void 0:/[^]/})}update(e){let t=e.state.facet(po);e.startState.facet(po)!=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 So="•";function bo(e){return e>=32?So:10==e?"␤":String.fromCharCode(9216+e)}class xo extends pn{constructor(e,t){super(),this.options=e,this.code=t}eq(e){return e.code==this.code}toDOM(e){let t=bo(this.code),n=e.state.phrase("Control character")+" "+(co[this.code]||"0x"+this.code.toString(16)),i=this.options.render&&this.options.render(this.code,n,t);if(i)return i;let r=document.createElement("span");return r.textContent=t,r.title=n,r.setAttribute("aria-label",n),r.className="cm-specialChar",r}ignoreEvent(){return!1}}class yo extends pn{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 wo(){return ko}const vo=mn.line({class:"cm-activeLine"}),ko=Dn.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,n=[];for(let i of e.state.selection.ranges){let r=e.lineBlockAt(i.head);r.from>t&&(n.push(vo.range(r.from)),t=r.from)}return mn.set(n)}},{decorations:e=>e.decorations});class Qo extends pn{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 $o(e){return Dn.fromClass(class{constructor(t){this.view=t,this.placeholder=mn.set([mn.widget({widget:new Qo(e),side:1}).range(0)])}get decorations(){return this.view.state.doc.length?mn.none:this.placeholder}},{decorations:e=>e.decorations})}const Po=2e3;function Co(e,t,n){let i=Math.min(t.line,n.line),r=Math.max(t.line,n.line),s=[];if(t.off>Po||n.off>Po||t.col<0||n.col<0){let o=Math.min(t.off,n.off),a=Math.max(t.off,n.off);for(let t=i;t<=r;t++){let n=e.doc.line(t);n.length<=a&&s.push(R.range(n.from+o,n.to+a))}}else{let o=Math.min(t.col,n.col),a=Math.max(t.col,n.col);for(let t=i;t<=r;t++){let n=e.doc.line(t),i=je(n.text,o,e.tabSize,!0);if(i<0)s.push(R.cursor(n.to));else{let t=je(n.text,a,e.tabSize);s.push(R.range(n.from+i,n.from+t))}}}return s}function Xo(e,t){let n=e.coordsAtPos(e.viewport.from);return n?Math.round(Math.abs((n.left-t)/e.defaultCharacterWidth)):-1}function To(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1),i=e.state.doc.lineAt(n),r=n-i.from,s=r>Po?-1:r==i.length?Xo(e,t.clientX):Ie(i.text,e.state.tabSize,n-i.from);return{line:i.number,col:s,off:r}}function Zo(e,t){let n=To(e,t),i=e.state.selection;return n?{update(e){if(e.docChanged){let t=e.changes.mapPos(e.startState.doc.line(n.line).from),r=e.state.doc.lineAt(t);n={line:r.number,col:n.col,off:Math.min(n.off,r.length)},i=i.map(e.changes)}},get(t,r,s){let o=To(e,t);if(!o)return i;let a=Co(e.state,n,o);return a.length?s?R.create(a.concat(i.ranges)):R.create(a):i}}:null}function Ao(e){let t=(null==e?void 0:e.eventFilter)||(e=>e.altKey&&0==e.button);return xs.mouseSelectionStyle.of((e,n)=>t(n)?Zo(e,n):null)}const Ro={Alt:[18,e=>e.altKey],Control:[17,e=>e.ctrlKey],Shift:[16,e=>e.shiftKey],Meta:[91,e=>e.metaKey]},Vo={style:"cursor: crosshair"};function Mo(e={}){let[t,n]=Ro[e.key||"Alt"],i=Dn.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||n(e))},keyup(e){e.keyCode!=t&&n(e)||this.set(!1)},mousemove(e){this.set(n(e))}}});return[i,xs.contentAttributes.of(e=>{var t;return(null===(t=e.plugin(i))||void 0===t?void 0:t.isDown)?Vo:null})]}const Yo="-10000px";class _o{constructor(e,t,n){this.facet=t,this.createTooltipView=n,this.input=e.state.facet(t),this.tooltips=this.input.filter(e=>e),this.tooltipViews=this.tooltips.map(n)}update(e){var t;let n=e.state.facet(this.facet),i=n.filter(e=>e);if(n===this.input){for(let t of this.tooltipViews)t.update&&t.update(e);return!1}let r=[];for(let t=0;t<i.length;t++){let n=i[t],s=-1;if(n){for(let e=0;e<this.tooltips.length;e++){let t=this.tooltips[e];t&&t.create==n.create&&(s=e)}if(s<0)r[t]=this.createTooltipView(n);else{let n=r[t]=this.tooltipViews[s];n.update&&n.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=n,this.tooltips=i,this.tooltipViews=r,!0}}function Wo(e){let{win:t}=e;return{top:0,left:0,bottom:t.innerHeight,right:t.innerWidth}}const Eo=Y.define({combine:e=>{var t,n,i;return{position:Gt.ios?"absolute":(null===(t=e.find(e=>e.position))||void 0===t?void 0:t.position)||"fixed",parent:(null===(n=e.find(e=>e.parent))||void 0===n?void 0:n.parent)||null,tooltipSpace:(null===(i=e.find(e=>e.tooltipSpace))||void 0===i?void 0:i.tooltipSpace)||Wo}}}),zo=new WeakMap,Uo=Dn.fromClass(class{constructor(e){this.view=e,this.inView=!0,this.lastTransaction=0,this.measureTimeout=-1;let t=e.state.facet(Eo);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 _o(e,Io,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 n=t||e.geometryChanged,i=e.state.facet(Eo);if(i.position!=this.position){this.position=i.position;for(let e of this.manager.tooltipViews)e.dom.style.position=this.position;n=!0}if(i.parent!=this.parent){this.parent&&this.container.remove(),this.parent=i.parent,this.createContainer();for(let e of this.manager.tooltipViews)this.container.appendChild(e.dom);n=!0}else this.parent&&this.view.themeClasses!=this.classes&&(this.classes=this.container.className=this.view.themeClasses);n&&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=Yo,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 n=this.manager.tooltipViews[t];return n.getCoords?n.getCoords(e.pos):this.view.coordsAtPos(e.pos)}),size:this.manager.tooltipViews.map(({dom:e})=>e.getBoundingClientRect()),space:this.view.state.facet(Eo).tooltipSpace(this.view)}}writeMeasure(e){var t;let{editor:n,space:i}=e,r=[];for(let s=0;s<this.manager.tooltips.length;s++){let o=this.manager.tooltips[s],a=this.manager.tooltipViews[s],{dom:l}=a,h=e.pos[s],c=e.size[s];if(!h||h.bottom<=Math.max(n.top,i.top)||h.top>=Math.min(n.bottom,i.bottom)||h.right<Math.max(n.left,i.left)-.1||h.left>Math.min(n.right,i.right)+.1){l.style.top=Yo;continue}let u=o.arrow?a.dom.querySelector(".cm-tooltip-arrow"):null,f=u?7:0,d=c.right-c.left,p=null!==(t=zo.get(a))&&void 0!==t?t:c.bottom-c.top,O=a.offset||Do,m=this.view.textDirection==Kn.LTR,g=c.width>i.right-i.left?m?i.left:i.right-c.width:m?Math.min(h.left-(u?14:0)+O.x,i.right-d):Math.max(i.left,h.left-d+(u?14:0)-O.x),S=!!o.above;!o.strictSide&&(S?h.top-(c.bottom-c.top)-O.y<i.top:h.bottom+(c.bottom-c.top)+O.y>i.bottom)&&S==i.bottom-h.bottom>h.top-i.top&&(S=!S);let b=(S?h.top-i.top:i.bottom-h.bottom)-f;if(b<p&&!1!==a.resize){if(b<this.view.defaultLineHeight){l.style.top=Yo;continue}zo.set(a,p),l.style.height=(p=b)+"px"}else l.style.height&&(l.style.height="");let x=S?h.top-p-f-O.y:h.bottom+f+O.y,y=g+d;if(!0!==a.overlap)for(let e of r)e.left<y&&e.right>g&&e.top<x+p&&e.bottom>x&&(x=S?e.top-p-2-f:e.bottom+f+2);"absolute"==this.position?(l.style.top=x-e.parent.top+"px",l.style.left=g-e.parent.left+"px"):(l.style.top=x+"px",l.style.left=g+"px"),u&&(u.style.left=h.left+(m?O.x:-O.x)-(g+14-7)+"px"),!0!==a.overlap&&r.push({left:g,top:x,right:y,bottom:x+p}),l.classList.toggle("cm-tooltip-above",S),l.classList.toggle("cm-tooltip-below",!S),a.positioned&&a.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=Yo}},{eventHandlers:{scroll(){this.maybeMeasure()}}}),qo=xs.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"}}}),Do={x:0,y:0},Io=Y.define({enables:[Uo,qo]}),jo=Y.define();class Bo{constructor(e){this.view=e,this.mounted=!1,this.dom=document.createElement("div"),this.dom.classList.add("cm-tooltip-hover"),this.manager=new _o(e,jo,e=>this.createHostedView(e))}static create(e){return new Bo(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 Lo=Io.compute([jo],e=>{let t=e.facet(jo).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:Bo.create,above:t[0].above,arrow:t.some(e=>e.arrow)}});class No{constructor(e,t,n,i,r){this.view=e,this.source=t,this.field=n,this.setHover=i,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 n=this.view.coordsAtPos(t);if(null==n||e.y<n.top||e.y>n.bottom||e.x<n.left-this.view.defaultCharacterWidth||e.x>n.right+this.view.defaultCharacterWidth)return;let i=this.view.bidiSpans(this.view.state.doc.lineAt(t)).find(e=>e.from<=t&&e.to>=t),r=i&&i.dir==Kn.RTL?-1:1,s=this.source(this.view,t,e.x<n.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=>En(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 n=this.active;if(n&&!Go(this.lastMove.target)||this.pending){let{pos:i}=n||this.pending,r=null!==(t=null==n?void 0:n.end)&&void 0!==t?t:i;(i==r?this.view.posAtCoords(this.lastMove)==i:Fo(this.view,i,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&&!Go(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 Go(e){for(let t=e;t;t=t.parentNode)if(1==t.nodeType&&t.classList.contains("cm-tooltip"))return!0;return!1}function Fo(e,t,n,i,r,s){let o=document.createRange(),a=e.domAtPos(t),l=e.domAtPos(n);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-i,i-t.right)<=s)return!0}return!1}function Ho(e,t={}){let n=ce.define(),i=D.define({create:()=>null,update(e,i){if(e&&(t.hideOnChange&&(i.docChanged||i.selection)||t.hideOn&&t.hideOn(i,e)))return null;if(e&&i.docChanged){let t=i.changes.mapPos(e.pos,-1,v.TrackDel);if(null==t)return null;let n=Object.assign(Object.create(null),e);n.pos=t,null!=e.end&&(n.end=i.changes.mapPos(e.end)),e=n}for(let t of i.effects)t.is(n)&&(e=t.value),t.is(Ko)&&(e=null);return e},provide:e=>jo.from(e)});return[i,Dn.define(r=>new No(r,e,i,n,t.hoverTime||300)),Lo]}function Jo(e,t){let n=e.plugin(Uo);if(!n)return null;let i=n.manager.tooltips.indexOf(t);return i<0?null:n.manager.tooltipViews[i]}const Ko=ce.define(),ea=Y.define({combine(e){let t,n;for(let i of e)t=t||i.topContainer,n=n||i.bottomContainer;return{topContainer:t,bottomContainer:n}}});function ta(e,t){let n=e.plugin(na),i=n?n.specs.indexOf(t):-1;return i>-1?n.panels[i]:null}const na=Dn.fromClass(class{constructor(e){this.input=e.state.facet(sa),this.specs=this.input.filter(e=>e),this.panels=this.specs.map(t=>t(e));let t=e.state.facet(ea);this.top=new ia(e,!0,t.topContainer),this.bottom=new ia(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(ea);this.top.container!=t.topContainer&&(this.top.sync([]),this.top=new ia(e.view,!0,t.topContainer)),this.bottom.container!=t.bottomContainer&&(this.bottom.sync([]),this.bottom=new ia(e.view,!1,t.bottomContainer)),this.top.syncClasses(),this.bottom.syncClasses();let n=e.state.facet(sa);if(n!=this.input){let t=n.filter(e=>e),i=[],r=[],s=[],o=[];for(let n of t){let t,a=this.specs.indexOf(n);a<0?(t=n(e.view),o.push(t)):(t=this.panels[a],t.update&&t.update(e)),i.push(t),(t.top?r:s).push(t)}this.specs=t,this.panels=i,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=>xs.scrollMargins.of(t=>{let n=t.plugin(e);return n&&{top:n.top.scrollMargin(),bottom:n.bottom.scrollMargin()}})});class ia{constructor(e,t,n){this.view=e,this.top=t,this.container=n,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=ra(e);e=e.nextSibling}else this.dom.insertBefore(t.dom,e);for(;e;)e=ra(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 ra(e){let t=e.nextSibling;return e.remove(),t}const sa=Y.define({enables:na});class oa extends Pe{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}oa.prototype.elementClass="",oa.prototype.toDOM=void 0,oa.prototype.mapMode=v.TrackBefore,oa.prototype.startSide=oa.prototype.endSide=-1,oa.prototype.point=!0;const aa=Y.define(),la={class:"",renderEmptyElements:!1,elementStyle:"",markers:()=>Ze.empty,lineMarker:()=>null,lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}},ha=Y.define();function ca(e){return[fa(),ha.of(Object.assign(Object.assign({},la),e))]}const ua=Y.define({combine:e=>e.some(e=>e)});function fa(e){let t=[da];return e&&!1===e.fixed&&t.push(ua.of(!0)),t}const da=Dn.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(ha).map(t=>new ga(e,t));for(let e of this.gutters)this.dom.appendChild(e.dom);this.fixed=!e.state.facet(ua),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,n=e.view.viewport,i=Math.min(t.to,n.to)-Math.max(t.from,n.from);this.syncGutters(i<.8*(n.to-n.from))}e.geometryChanged&&(this.dom.style.minHeight=this.view.contentHeight+"px"),this.view.state.facet(ua)!=!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 n=Ze.iter(this.view.state.facet(aa),this.view.viewport.from),i=[],r=this.gutters.map(e=>new ma(e,this.view.viewport,-this.view.documentPadding.top));for(let e of this.view.viewportLineBlocks){let t;if(Array.isArray(e.type)){for(let n of e.type)if(n.type==On.Text){t=n;break}}else t=e.type==On.Text?e:void 0;if(t){i.length&&(i=[]),Oa(n,i,e.from);for(let e of r)e.line(this.view,t,i)}}for(let e of r)e.finish();e&&this.view.scrollDOM.insertBefore(this.dom,t)}updateGutters(e){let t=e.startState.facet(ha),n=e.state.facet(ha),i=e.docChanged||e.heightChanged||e.viewportChanged||!Ze.eq(e.startState.facet(aa),e.state.facet(aa),e.view.viewport.from,e.view.viewport.to);if(t==n)for(let t of this.gutters)t.update(e)&&(i=!0);else{i=!0;let r=[];for(let i of n){let n=t.indexOf(i);n<0?r.push(new ga(this.view,i)):(this.gutters[n].update(e),r.push(this.gutters[n]))}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 i}destroy(){for(let e of this.gutters)e.destroy();this.dom.remove()}},{provide:e=>xs.scrollMargins.of(t=>{let n=t.plugin(e);return n&&0!=n.gutters.length&&n.fixed?t.textDirection==Kn.LTR?{left:n.dom.offsetWidth}:{right:n.dom.offsetWidth}:null})});function pa(e){return Array.isArray(e)?e:[e]}function Oa(e,t,n){for(;e.value&&e.from<=n;)e.from==n&&t.push(e.value),e.next()}class ma{constructor(e,t,n){this.gutter=e,this.height=n,this.i=0,this.cursor=Ze.iter(e.markers,t.from)}line(e,t,n){let i=[];Oa(this.cursor,i,t.from),n.length&&(i=i.concat(n));let r=this.gutter.config.lineMarker(e,t,i);r&&i.unshift(r);let s=this.gutter;if(0==i.length&&!s.config.renderEmptyElements)return;let o=t.top-this.height;if(this.i==s.elements.length){let n=new Sa(e,t.height,o,i);s.elements.push(n),s.dom.appendChild(n.dom)}else s.elements[this.i].update(e,t.height,o,i);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 ga{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 n in t.domEventHandlers)this.dom.addEventListener(n,i=>{let r,s=i.target;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let e=s.getBoundingClientRect();r=(e.top+e.bottom)/2}else r=i.clientY;let o=e.lineBlockAtHeight(r-e.documentTop);t.domEventHandlers[n](e,o,i)&&i.preventDefault()});this.markers=pa(t.markers(e)),t.initialSpacer&&(this.spacer=new Sa(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=pa(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 n=e.view.viewport;return!Ze.eq(this.markers,t,n.from,n.to)||!!this.config.lineMarkerChange&&this.config.lineMarkerChange(e)}destroy(){for(let e of this.elements)e.destroy()}}class Sa{constructor(e,t,n,i){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,n,i)}update(e,t,n,i){this.height!=t&&(this.dom.style.height=(this.height=t)+"px"),this.above!=n&&(this.dom.style.marginTop=(this.above=n)?n+"px":""),ba(this.markers,i)||this.setMarkers(e,i)}setMarkers(e,t){let n="cm-gutterElement",i=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&&(n+=" "+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(i);let t=i.nextSibling;i.remove(),i=t}}if(!a)break;a.toDOM&&(l?i=i.nextSibling:this.dom.insertBefore(a.toDOM(e),i)),l&&s++}this.dom.className=n,this.markers=t}destroy(){this.setMarkers(null,[])}}function ba(e,t){if(e.length!=t.length)return!1;for(let n=0;n<e.length;n++)if(!e[n].compare(t[n]))return!1;return!0}const xa=Y.define(),ya=Y.define({combine:e=>$e(e,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let n=Object.assign({},e);for(let e in t){let i=n[e],r=t[e];n[e]=i?(e,t,n)=>i(e,t,n)||r(e,t,n):r}return n}})});class wa extends oa{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}}function va(e,t){return e.state.facet(ya).formatNumber(t,e.state)}const ka=ha.compute([ya],e=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers:e=>e.state.facet(xa),lineMarker:(e,t,n)=>n.some(e=>e.toDOM)?null:new wa(va(e,e.state.doc.lineAt(t.from).number)),lineMarkerChange:e=>e.startState.facet(ya)!=e.state.facet(ya),initialSpacer:e=>new wa(va(e,$a(e.state.doc.lines))),updateSpacer(e,t){let n=va(t.view,$a(t.view.state.doc.lines));return n==e.number?e:new wa(n)},domEventHandlers:e.facet(ya).domEventHandlers}));function Qa(e={}){return[ya.of(e),fa(),ka]}function $a(e){let t=9;for(;t<e;)t=10*t+9;return t}const Pa=new class extends oa{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},Ca=aa.compute(["selection"],e=>{let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.head).from;r>n&&(n=r,t.push(Pa.range(r)))}return Ze.of(t)});function Xa(){return Ca}const Ta=1024;let Za=0;class Aa{constructor(e,t){this.from=e,this.to=t}}class Ra{constructor(e={}){this.id=Za++,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=Ya.match(e)),t=>{let n=e(t);return void 0===n?null:[this,n]}}}Ra.closedBy=new Ra({deserialize:e=>e.split(" ")}),Ra.openedBy=new Ra({deserialize:e=>e.split(" ")}),Ra.group=new Ra({deserialize:e=>e.split(" ")}),Ra.contextHash=new Ra({perNode:!0}),Ra.lookAhead=new Ra({perNode:!0}),Ra.mounted=new Ra({perNode:!0});class Va{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}}const Ma=Object.create(null);class Ya{constructor(e,t,n,i=0){this.name=e,this.props=t,this.id=n,this.flags=i}static define(e){let t=e.props&&e.props.length?Object.create(null):Ma,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),i=new Ya(e.name||"",t,e.id,n);if(e.props)for(let n of e.props)if(Array.isArray(n)||(n=n(i)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}return i}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(Ra.group);return!!t&&t.indexOf(e)>-1}return this.id==e}static match(e){let t=Object.create(null);for(let n in e)for(let i of n.split(" "))t[i]=e[n];return e=>{for(let n=e.prop(Ra.group),i=-1;i<(n?n.length:0);i++){let r=t[i<0?e.name:n[i]];if(r)return r}}}}Ya.none=new Ya("",Object.create(null),0,8);class _a{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 n of this.types){let i=null;for(let t of e){let e=t(n);e&&(i||(i=Object.assign({},n.props)),i[e[0].id]=e[1])}t.push(i?new Ya(n.name,i,n.id,n.flags):n)}return new _a(t)}}const Wa=new WeakMap,Ea=new WeakMap;var za;!function(e){e[e.ExcludeBuffers=1]="ExcludeBuffers",e[e.IncludeAnonymous=2]="IncludeAnonymous",e[e.IgnoreMounts=4]="IgnoreMounts",e[e.IgnoreOverlays=8]="IgnoreOverlays"}(za||(za={}));class Ua{constructor(e,t,n,i,r){if(this.type=e,this.children=t,this.positions=n,this.length=i,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(Ra.mounted);if(e&&!e.overlay)return e.tree.toString();let t="";for(let e of this.children){let n=e.toString();n&&(t&&(t+=","),t+=n)}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,n=0){let i=Wa.get(this)||this.topNode,r=new Ja(i);return r.moveTo(e,t),Wa.set(this,r._tree),r}get topNode(){return new La(this,0,0,null)}resolve(e,t=0){let n=Ba(Wa.get(this)||this.topNode,e,t,!1);return Wa.set(this,n),n}resolveInner(e,t=0){let n=Ba(Ea.get(this)||this.topNode,e,t,!0);return Ea.set(this,n),n}iterate(e){let{enter:t,leave:n,from:i=0,to:r=this.length}=e;for(let s=this.cursor((e.mode||0)|za.IncludeAnonymous);;){let e=!1;if(s.from<=r&&s.to>=i&&(s.type.isAnonymous||!1!==t(s))){if(s.firstChild())continue;e=!0}for(;e&&n&&!s.type.isAnonymous&&n(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:il(Ya.none,this.children,this.positions,0,this.children.length,0,this.length,(e,t,n)=>new Ua(this.type,e,t,n,this.propValues),e.makeTree||((e,t,n)=>new Ua(Ya.none,e,t,n)))}static build(e){return el(e)}}Ua.empty=new Ua(Ya.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 Da{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Ya.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],n=this.buffer[e+3],i=this.set.types[t],r=i.name;if(/\W/.test(r)&&!i.isError&&(r=JSON.stringify(r)),n==(e+=4))return r;let s=[];for(;e<n;)s.push(this.childString(e)),e=this.buffer[e+3];return r+"("+s.join(",")+")"}findChild(e,t,n,i,r){let{buffer:s}=this,o=-1;for(let a=e;a!=t&&!(Ia(r,i,s[a+1],s[a+2])&&(o=a,n>0));a=s[a+3]);return o}slice(e,t,n){let i=this.buffer,r=new Uint16Array(t-e),s=0;for(let o=e,a=0;o<t;){r[a++]=i[o++],r[a++]=i[o++]-n;let t=r[a++]=i[o++]-n;r[a++]=i[o++]-e,s=Math.max(s,t)}return new Da(r,s,this.set)}}function Ia(e,t,n,i){switch(e){case-2:return n<t;case-1:return i>=t&&n<t;case 0:return n<t&&i>t;case 1:return n<=t&&i>t;case 2:return i>t;case 4:return!0}}function ja(e,t){let n=e.childBefore(t);for(;n;){let t=n.lastChild;if(!t||t.to!=n.to)break;t.type.isError&&t.from==t.to?(e=n,n=t.prevSibling):n=t}return e}function Ba(e,t,n,i){for(var r;e.from==e.to||(n<1?e.from>=t:e.from>t)||(n>-1?e.to<=t:e.to<t);){let t=!i&&e instanceof La&&e.index<0?null:e.parent;if(!t)return e;e=t}let s=i?0:za.IgnoreOverlays;if(i)for(let i=e,o=i.parent;o;i=o,o=i.parent)i instanceof La&&i.index<0&&(null===(r=o.enter(t,n,s))||void 0===r?void 0:r.from)!=i.from&&(e=o);for(;;){let i=e.enter(t,n,s);if(!i)return e;e=i}}class La{constructor(e,t,n,i){this._tree=e,this.from=t,this.index=n,this._parent=i}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,n,i,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(Ia(i,n,h,h+l.length))if(l instanceof Da){if(r&za.ExcludeBuffers)continue;let o=l.findChild(0,l.buffer.length,t,n-h,i);if(o>-1)return new Ha(new Fa(s,l,e,h),null,o)}else if(r&za.IncludeAnonymous||!l.type.isAnonymous||Ka(l)){let o;if(!(r&za.IgnoreMounts)&&l.props&&(o=l.prop(Ra.mounted))&&!o.overlay)return new La(o.tree,h,e,s);let a=new La(l,h,e,s);return r&za.IncludeAnonymous||!a.type.isAnonymous?a:a.nextChild(t<0?l.children.length-1:0,t,n,i)}}if(r&za.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,n=0){let i;if(!(n&za.IgnoreOverlays)&&(i=this._tree.prop(Ra.mounted))&&i.overlay){let n=e-this.from;for(let{from:e,to:r}of i.overlay)if((t>0?e<=n:e<n)&&(t<0?r>=n:r>n))return new La(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,n)}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 Ba(this,e,t,!1)}resolveInner(e,t=0){return Ba(this,e,t,!0)}enterUnfinishedNodesBefore(e){return ja(this,e)}getChild(e,t=null,n=null){let i=Na(this,e,t,n);return i.length?i[0]:null}getChildren(e,t=null,n=null){return Na(this,e,t,n)}toString(){return this._tree.toString()}get node(){return this}matchContext(e){return Ga(this,e)}}function Na(e,t,n,i){let r=e.cursor(),s=[];if(!r.firstChild())return s;if(null!=n)for(;!r.type.is(n);)if(!r.nextSibling())return s;for(;;){if(null!=i&&r.type.is(i))return s;if(r.type.is(t)&&s.push(r.node),!r.nextSibling())return null==i?s:[]}}function Ga(e,t,n=t.length-1){for(let i=e.parent;n>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(t[n]&&t[n]!=i.name)return!1;n--}}return!0}class Fa{constructor(e,t,n,i){this.parent=e,this.buffer=t,this.index=n,this.start=i}}class Ha{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,n){this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}child(e,t,n){let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.context.start,n);return r<0?null:new Ha(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,n=0){if(n&za.ExcludeBuffers)return null;let{buffer:i}=this.context,r=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return r<0?null:new Ha(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 Ha(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 Ha(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:n}=this.context,i=this.index+4,r=n.buffer[this.index+3];if(r>i){let s=n.buffer[this.index+1];e.push(n.slice(i,r,s)),t.push(0)}return new Ua(this.type,e,t,this.to-this.from)}resolve(e,t=0){return Ba(this,e,t,!1)}resolveInner(e,t=0){return Ba(this,e,t,!0)}enterUnfinishedNodesBefore(e){return ja(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,n=null){let i=Na(this,e,t,n);return i.length?i[0]:null}getChildren(e,t=null,n=null){return Na(this,e,t,n)}get node(){return this}matchContext(e){return Ga(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 La)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:n,buffer:i}=this.buffer;return this.type=t||i.set.types[i.buffer[e]],this.from=n+i.buffer[e+1],this.to=n+i.buffer[e+2],!0}yield(e){return!!e&&(e instanceof La?(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,n){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,n,this.mode));let{buffer:i}=this.buffer,r=i.findChild(this.index+4,i.buffer[this.index+3],e,t-this.buffer.start,n);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,n=this.mode){return this.buffer?!(n&za.ExcludeBuffers)&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n))}parent(){if(!this.buffer)return this.yieldNode(this.mode&za.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&za.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,n=this.stack.length-1;if(e<0){let e=n<0?0:this.stack[n]+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<(n<0?t.buffer.length:t.buffer[this.stack[n]+3]))return this.yieldBuf(e)}return n<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,n,{buffer:i}=this;if(i){if(e>0){if(this.index<i.buffer.buffer.length)return!1}else for(let e=0;e<this.index;e++)if(i.buffer.buffer[e+3]<this.index)return!1;({index:t,parent:n}=i)}else({index:t,_parent:n}=this._tree);for(;n;({index:t,_parent:n}=n))if(t>-1)for(let i=t+e,r=e<0?-1:n._tree.children.length;i!=r;i+=e){let e=n._tree.children[i];if(this.mode&za.IncludeAnonymous||e instanceof Da||!e.type.isAnonymous||Ka(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,n=0;if(e&&e.context==this.buffer)e:for(let i=this.index,r=this.stack.length;r>=0;){for(let s=e;s;s=s._parent)if(s.index==i){if(i==this.index)return s;t=s,n=r+1;break e}i=this.stack[--r]}for(let e=n;e<this.stack.length;e++)t=new Ha(this.buffer,t,this.stack[e]);return this.bufferNode=new Ha(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let n=0;;){let i=!1;if(this.type.isAnonymous||!1!==e(this)){if(this.firstChild()){n++;continue}this.type.isAnonymous||(i=!0)}for(;i&&t&&t(this),i=this.type.isAnonymous,!this.nextSibling();){if(!n)return;this.parent(),n--,i=!0}}}matchContext(e){if(!this.buffer)return Ga(this.node,e);let{buffer:t}=this.buffer,{types:n}=t.set;for(let i=e.length-1,r=this.stack.length-1;i>=0;r--){if(r<0)return Ga(this.node,e,i);let s=n[t.buffer[this.stack[r]]];if(!s.isAnonymous){if(e[i]&&e[i]!=s.name)return!1;i--}}return!0}}function Ka(e){return e.children.some(e=>e instanceof Da||!e.type.isAnonymous||Ka(e))}function el(e){var t;let{buffer:n,nodeSet:i,maxBufferLength:r=Ta,reused:s=[],minRepeatType:o=i.types.length}=e,a=Array.isArray(n)?new qa(n,n.length):n,l=i.types,h=0,c=0;function u(e,t,n,g,S){let{id:b,start:x,end:y,size:w}=a,v=c;for(;w<0;){if(a.next(),-1==w){let t=s[b];return n.push(t),void g.push(x-e)}if(-3==w)return void(h=b);if(-4==w)return void(c=b);throw new RangeError("Unrecognized record size: "+w)}let k,Q,$=l[b],P=x-e;if(y-x<=r&&(Q=O(a.pos-t,S))){let t=new Uint16Array(Q.size-Q.skip),n=a.pos-Q.size,r=t.length;for(;a.pos>n;)r=m(Q.start,t,r);k=new Da(t,y-Q.start,i),P=Q.start-e}else{let e=a.pos-w;a.next();let t=[],n=[],i=b>=o?b:-1,s=0,l=y;for(;a.pos>e;)i>=0&&a.id==i&&a.size>=0?(a.end<=l-r&&(d(t,n,x,s,a.end,l,i,v),s=t.length,l=a.end),a.next()):u(x,e,t,n,i);if(i>=0&&s>0&&s<t.length&&d(t,n,x,s,x,l,i,v),t.reverse(),n.reverse(),i>-1&&s>0){let e=f($);k=il($,t,n,0,t.length,0,y-x,e,e)}else k=p($,t,n,y-x,v-y)}n.push(k),g.push(P)}function f(e){return(t,n,i)=>{let r,s,o=0,a=t.length-1;if(a>=0&&(r=t[a])instanceof Ua){if(!a&&r.type==e&&r.length==i)return r;(s=r.prop(Ra.lookAhead))&&(o=n[a]+r.length+s)}return p(e,t,n,i,o)}}function d(e,t,n,r,s,o,a,l){let h=[],c=[];for(;e.length>r;)h.push(e.pop()),c.push(t.pop()+n-s);e.push(p(i.types[a],h,c,o-s,l-o)),t.push(s-n)}function p(e,t,n,i,r=0,s){if(h){let e=[Ra.contextHash,h];s=s?[e].concat(s):[e]}if(r>25){let e=[Ra.lookAhead,r];s=s?[e].concat(s):[e]}return new Ua(e,t,n,i,s)}function O(e,t){let n=a.fork(),i=0,s=0,l=0,h=n.end-r,c={size:0,start:0,skip:0};e:for(let r=n.pos-e;n.pos>r;){let e=n.size;if(n.id==t&&e>=0){c.size=i,c.start=s,c.skip=l,l+=4,i+=4,n.next();continue}let a=n.pos-e;if(e<0||a<r||n.start<h)break;let u=n.id>=o?4:0,f=n.start;for(n.next();n.pos>a;){if(n.size<0){if(-3!=n.size)break e;u+=4}else n.id>=o&&(u+=4);n.next()}s=f,i+=e,l+=u}return(t<0||i==e)&&(c.size=i,c.start=s,c.skip=l),c.size>4?c:void 0}function m(e,t,n){let{id:i,start:r,end:s,size:l}=a;if(a.next(),l>=0&&i<o){let o=n;if(l>4){let i=a.pos-(l-4);for(;a.pos>i;)n=m(e,t,n)}t[--n]=o,t[--n]=s-e,t[--n]=r-e,t[--n]=i}else-3==l?h=i:-4==l&&(c=i);return n}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 Ua(l[e.topID],g.reverse(),S.reverse(),b)}const tl=new WeakMap;function nl(e,t){if(!e.isAnonymous||t instanceof Da||t.type!=e)return 1;let n=tl.get(t);if(null==n){n=1;for(let i of t.children){if(i.type!=e||!(i instanceof Ua)){n=1;break}n+=nl(e,i)}tl.set(t,n)}return n}function il(e,t,n,i,r,s,o,a,l){let h=0;for(let n=i;n<r;n++)h+=nl(e,t[n]);let c=Math.ceil(1.5*h/8),u=[],f=[];function d(t,n,i,r,o){for(let a=i;a<r;){let i=a,h=n[a],p=nl(e,t[a]);for(a++;a<r;a++){let n=nl(e,t[a]);if(p+n>=c)break;p+=n}if(a==i+1){if(p>c){let e=t[i];d(e.children,e.positions,0,e.children.length,n[i]+o);continue}u.push(t[i])}else{let r=n[a-1]+t[a-1].length-h;u.push(il(e,t,n,i,a,h,r,null,l))}f.push(h+o-s)}}return d(t,n,i,r,0),(a||l)(u,f,o)}class rl{constructor(){this.map=new WeakMap}setBuffer(e,t,n){let i=this.map.get(e);i||this.map.set(e,i=new Map),i.set(t,n)}getBuffer(e,t){let n=this.map.get(e);return n&&n.get(t)}set(e,t){e instanceof Ha?this.setBuffer(e.context.buffer,e.index,t):e instanceof La&&this.map.set(e.tree,t)}get(e){return e instanceof Ha?this.getBuffer(e.context.buffer,e.index):e instanceof La?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 sl{constructor(e,t,n,i,r=!1,s=!1){this.from=e,this.to=t,this.tree=n,this.offset=i,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=[],n=!1){let i=[new sl(0,e.length,e,0,!1,n)];for(let n of t)n.to>e.length&&i.push(n);return i}static applyChanges(e,t,n=128){if(!t.length)return e;let i=[],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>=n)for(;s&&s.from<c;){let t=s;if(a>=t.from||c<=t.to||l){let e=Math.max(t.from,a)-l,n=Math.min(t.to,c)-l;t=e>=n?null:new sl(e,n,t.tree,t.offset+l,o>0,!!h)}if(t&&i.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 i}}class ol{startParse(e,t,n){return"string"==typeof e&&(e=new al(e)),n=n?n.length?n.map(e=>new Aa(e.from,e.to)):[new Aa(0,0)]:[new Aa(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let i=this.startParse(e,t,n);for(;;){let e=i.advance();if(e)return e}}}class al{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 ll(e){return(t,n,i,r)=>new fl(t,e,n,i,r)}class hl{constructor(e,t,n,i,r){this.parser=e,this.parse=t,this.overlay=n,this.target=i,this.ranges=r}}class cl{constructor(e,t,n,i,r,s,o){this.parser=e,this.predicate=t,this.mounts=n,this.index=i,this.start=r,this.target=s,this.prev=o,this.depth=0,this.ranges=[]}}const ul=new Ra({perNode:!0});class fl{constructor(e,t,n,i,r){this.nest=t,this.input=n,this.fragments=i,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 Ua(e.type,e.children,e.positions,e.length,e.propValues.concat([[ul,this.stoppedAt]]))),e}let e=this.inner[this.innerDone],t=e.parse.advance();if(t){this.innerDone++;let n=Object.assign(Object.create(null),e.target.props);n[Ra.mounted.id]=new Va(t,e.overlay,e.parser),e.target.props=n}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 gl(this.fragments),t=null,n=null,i=new Ja(new La(this.baseTree,this.ranges[0].from,0,null),za.IncludeAnonymous|za.IgnoreMounts);e:for(let r,s;null==this.stoppedAt||i.from<this.stoppedAt;){let o,a=!0;if(e.hasNode(i)){if(t){let e=t.mounts.find(e=>e.frag.from<=i.from&&e.frag.to>=i.to&&e.mount.overlay);if(e)for(let n of e.mount.overlay){let r=n.from+e.pos,s=n.to+e.pos;r>=i.from&&s<=i.to&&!t.ranges.some(e=>e.from<s&&e.to>r)&&t.ranges.push({from:r,to:s})}}a=!1}else if(n&&(s=dl(n.ranges,i.from,i.to)))a=2!=s;else if(!i.type.isAnonymous&&i.from<i.to&&(r=this.nest(i,this.input))){i.tree||Ol(i);let s=e.findMounts(i.from,r.parser);if("function"==typeof r.overlay)t=new cl(r.parser,r.overlay,s,this.inner.length,i.from,i.tree,t);else{let e=Sl(this.ranges,r.overlay||[new Aa(i.from,i.to)]);e.length&&this.inner.push(new hl(r.parser,r.parser.startParse(this.input,xl(s,e),e),r.overlay?r.overlay.map(e=>new Aa(e.from-i.from,e.to-i.from)):null,i.tree,e)),r.overlay?e.length&&(n={ranges:e,depth:0,prev:n}):a=!1}}else t&&(o=t.predicate(i))&&(!0===o&&(o=new Aa(i.from,i.to)),o.from<o.to&&t.ranges.push(o));if(a&&i.firstChild())t&&t.depth++,n&&n.depth++;else for(;!i.nextSibling();){if(!i.parent())break e;if(t&&!--t.depth){let e=Sl(this.ranges,t.ranges);e.length&&this.inner.splice(t.index,0,new hl(t.parser,t.parser.startParse(this.input,xl(t.mounts,e),e),t.ranges.map(e=>new Aa(e.from-t.start,e.to-t.start)),t.target,e)),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}}function dl(e,t,n){for(let i of e){if(i.from>=n)break;if(i.to>t)return i.from<=t&&i.to>=n?2:1}return 0}function pl(e,t,n,i,r,s){if(t<n){let o=e.buffer[t+1];i.push(e.slice(t,n,o)),r.push(o-s)}}function Ol(e){let{node:t}=e,n=0;do{e.parent(),n++}while(!e.tree);let i=0,r=e.tree,s=0;for(;s=r.positions[i]+e.from,!(s<=t.from&&s+r.children[i].length>=t.to);i++);let o=r.children[i],a=o.buffer;function l(e,n,i,r,h){let c=e;for(;a[c+2]+s<=t.from;)c=a[c+3];let u=[],f=[];pl(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),pl(o,a[c+3],n,u,f,r),new Ua(i,u,f,h)}r.children[i]=l(0,a.length,Ya.none,0,o.length);for(let i=0;i<=n;i++)e.childAfter(t.from)}class ml{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.cursor(za.IncludeAnonymous|za.IgnoreMounts)}moveTo(e){let{cursor:t}=this,n=e-this.offset;for(;!this.done&&t.from<n;)t.to>=e&&t.enter(n,1,za.IgnoreOverlays|za.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 Ua))break;t=t.children[0]}return!1}}class gl{constructor(e){var t;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let n=this.curFrag=e[0];this.curTo=null!==(t=n.tree.prop(ul))&&void 0!==t?t:n.to,this.inner=new ml(n.tree,-n.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(ul))&&void 0!==e?e:t.to,this.inner=new ml(t.tree,-t.offset)}}findMounts(e,t){var n;let i=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let r=null===(n=e.tree)||void 0===n?void 0:n.prop(Ra.mounted);if(r&&r.parser==t)for(let t=this.fragI;t<this.fragments.length;t++){let n=this.fragments[t];if(n.from>=e.to)break;n.tree==this.curFrag.tree&&i.push({frag:n,pos:e.from-n.offset,mount:r})}}}return i}}function Sl(e,t){let n=null,i=t;for(let r=1,s=0;r<e.length;r++){let o=e[r-1].to,a=e[r].from;for(;s<i.length;s++){let e=i[s];if(e.from>=a)break;e.to<=o||(n||(i=n=t.slice()),e.from<o?(n[s]=new Aa(e.from,o),e.to>a&&n.splice(s+1,0,new Aa(a,e.to))):e.to>a?n[s--]=new Aa(a,e.to):n.splice(s--,1))}}return i}function bl(e,t,n,i){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,n),t=Math.min(c,u,i);e<t&&h.push(new Aa(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 xl(e,t){let n=[];for(let{pos:i,mount:r,frag:s}of e){let e=i+(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=bl(t,r.overlay.map(e=>new Aa(e.from+i,e.to+i)),a,l);for(let t=0,i=a;;t++){let a=t==o.length,h=a?l:o[t].from;if(h>i&&n.push(new sl(i,h,r.tree,-e,s.from>=i||s.openStart,s.to<=h||s.openEnd)),a)break;i=o[t].to}}else n.push(new sl(a,l,r.tree,-e,s.from>=e||s.openStart,s.to<=o||s.openEnd))}return n}class yl{constructor(e,t,n,i,r,s,o,a,l,h=0,c){this.p=e,this.stack=t,this.state=n,this.reducePos=i,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,n=0){let i=e.parser.context;return new yl(e,[],t,n,n,0,[],0,i?new wl(i,i.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){var t;let n=e>>19,i=65535&e,{parser:r}=this.p,s=r.dynamicPrecedence(i);if(s&&(this.score+=s),0==n)return this.pushState(r.getGoto(this.state,i,!0),this.reducePos),i<r.minRepeatTerm&&this.storeNode(i,this.reducePos,this.reducePos,4,!0),void this.reduceContext(i,this.reducePos);let o=this.stack.length-3*(n-1)-(262144&e?6:0),a=o?this.stack[o-2]:this.p.ranges[0].from,l=this.reducePos-a;l>=2e3&&!(null===(t=this.p.parser.nodeSet.types[i])||void 0===t?void 0:t.isAnonymous)&&(a==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=l):this.p.lastBigReductionSize<l&&(this.p.bigReductionCount=1,this.p.lastBigReductionStart=a,this.p.lastBigReductionSize=l));let h=o?this.stack[o-1]:0,c=this.bufferBase+this.buffer.length-h;if(i<r.minRepeatTerm||131072&e){let e=r.stateFlag(this.state,1)?this.pos:this.reducePos;this.storeNode(i,a,e,c+4,!0)}if(262144&e)this.state=this.stack[o];else{let e=this.stack[o-3];this.state=r.getGoto(e,i,!0)}for(;this.stack.length>o;)this.stack.pop();this.reduceContext(i,a)}storeNode(e,t,n,i=4,r=!1){if(0==e&&(!this.stack.length||this.stack[this.stack.length-1]<this.buffer.length+this.bufferBase)){let e=this,i=this.buffer.length;if(0==i&&e.parent&&(i=e.bufferBase-e.parent.bufferBase,e=e.parent),i>0&&0==e.buffer[i-4]&&e.buffer[i-1]>-1){if(t==n)return;if(e.buffer[i-2]>=t)return void(e.buffer[i-2]=n)}}if(r&&this.pos!=n){let r=this.buffer.length;if(r>0&&0!=this.buffer[r-4])for(;r>0&&this.buffer[r-2]>n;)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,i>4&&(i-=4);this.buffer[r]=e,this.buffer[r+1]=t,this.buffer[r+2]=n,this.buffer[r+3]=i}else this.buffer.push(e,t,n,i)}shift(e,t,n){let i=this.pos;if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let r=e,{parser:s}=this.p;(n>this.pos||t<=s.maxNode)&&(this.pos=n,s.stateFlag(r,1)||(this.reducePos=n)),this.pushState(r,i),this.shiftContext(t,i),t<=s.maxNode&&this.buffer.push(t,i,n,4)}else this.pos=n,this.shiftContext(t,i),t<=this.p.parser.maxNode&&this.buffer.push(t,i,n,4)}apply(e,t,n){65536&e?this.reduce(e):this.shift(e,t,n)}useNode(e,t){let n=this.p.reused.length-1;(n<0||this.p.reused[n]!=e)&&(this.p.reused.push(e),n++);let i=this.pos;this.reducePos=this.pos=i+e.length,this.pushState(t,i),this.buffer.push(n,i,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 n=e.buffer.slice(t),i=e.bufferBase+t;for(;e&&i==e.bufferBase;)e=e.parent;return new yl(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,i,this.curContext,this.lookAhead,e)}recoverByDelete(e,t){let n=e<=this.p.parser.maxNode;n&&this.storeNode(e,this.pos,t,4),this.storeNode(0,this.pos,t,n?8:4),this.pos=this.reducePos=t,this.score-=190}canShift(e){for(let t=new kl(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==n)return!1;if(0==(65536&n))return!0;t.reduce(n)}}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 n=[];for(let i,r=0;r<t.length;r+=2)(i=t[r+1])!=this.state&&this.p.parser.hasAction(i,e)&&n.push(t[r],i);if(this.stack.length<120)for(let e=0;n.length<8&&e<t.length;e+=2){let i=t[e+1];n.some((e,t)=>1&t&&e==i)||n.push(t[e],i)}t=n}let n=[];for(let e=0;e<t.length&&n.length<4;e+=2){let i=t[e+1];if(i==this.state)continue;let r=this.split();r.pushState(i,this.pos),r.storeNode(0,r.pos,r.pos,4,!0),r.shiftContext(t[e],this.pos),r.score-=200,n.push(r)}return n}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 n=e>>19,i=65535&e,r=this.stack.length-3*n;if(r<0||t.getGoto(this.stack[r],i,!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 wl(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 wl{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}var vl;!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",e[e.MinBigReduction=2e3]="MinBigReduction"}(vl||(vl={}));class kl{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let t=65535&e,n=e>>19;0==n?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=3*(n-1);let i=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=i}}class Ql{constructor(e,t,n){this.stack=e,this.pos=t,this.index=n,this.buffer=e.buffer,0==this.index&&this.maybeNext()}static create(e,t=e.bufferBase+e.buffer.length){return new Ql(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 Ql(this.stack,this.pos,this.index)}}function $l(e,t=Uint16Array){if("string"!=typeof e)return e;let n=null;for(let i=0,r=0;i<e.length;){let s=0;for(;;){let t=e.charCodeAt(i++),n=!1;if(126==t){s=65535;break}t>=92&&t--,t>=34&&t--;let r=t-32;if(r>=46&&(r-=46,n=!0),s+=r,n)break;s*=46}n?n[r++]=s:n=new t(s)}return n}class Pl{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const Cl=new Pl;class Xl{constructor(e,t){this.input=e,this.ranges=t,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=Cl,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 n=this.range,i=this.rangeIndex,r=this.pos+e;for(;r<n.from;){if(!i)return null;let e=this.ranges[--i];r-=n.from-e.to,n=e}for(;t<0?r>n.to:r>=n.to;){if(i==this.ranges.length-1)return null;let e=this.ranges[++i];r+=e.from-n.to,n=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,n,i=this.chunkOff+e;if(i>=0&&i<this.chunk.length)t=this.pos+e,n=this.chunk.charCodeAt(i);else{let i=this.resolveOffset(e,1);if(null==i)return-1;if(t=i,t>=this.chunk2Pos&&t<this.chunk2Pos+this.chunk2.length)n=this.chunk2.charCodeAt(t-this.chunk2Pos);else{let e=this.rangeIndex,i=this.range;for(;i.to<=t;)i=this.ranges[++e];this.chunk2=this.input.chunk(this.chunk2Pos=t),t+this.chunk2.length>i.to&&(this.chunk2=this.chunk2.slice(0,i.to-t)),n=this.chunk2.charCodeAt(0)}}return t>=this.token.lookAhead&&(this.token.lookAhead=t+1),n}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(null==n||n<this.token.start)throw new RangeError("Token end out of bounds");this.token.value=e,this.token.end=n}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=Cl,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 n="";for(let i of this.ranges){if(i.from>=t)break;i.to>e&&(n+=this.input.read(Math.max(i.from,e),Math.min(i.to,t)))}return n}}class Tl{constructor(e,t){this.data=e,this.id=t}token(e,t){let{parser:n}=t.p;Rl(this.data,e,t,this.id,n.data,n.tokenPrecTable)}}Tl.prototype.contextual=Tl.prototype.fallback=Tl.prototype.extend=!1;class Zl{constructor(e,t,n){this.precTable=t,this.elseToken=n,this.data="string"==typeof e?$l(e):e}token(e,t){let n,i=e.pos;for(;n=e.pos,Rl(this.data,e,t,0,this.data,this.precTable),!(e.token.value>-1);){if(null==this.elseToken)return;if(e.next<0)break;e.advance(),e.reset(n+1,e.token)}n>i&&(e.reset(i,e.token),e.acceptToken(this.elseToken,n-i))}}Zl.prototype.contextual=Tl.prototype.fallback=Tl.prototype.extend=!1;class Al{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Rl(e,t,n,i,r,s){let o=0,a=1<<i,{dialect:l}=n.p.parser;e:for(;0!=(a&e[o]);){let n=e[o+1];for(let i=o+3;i<n;i+=2)if((e[i+1]&a)>0){let n=e[i];if(l.allows(n)&&(-1==t.token.value||t.token.value==n||Ml(n,t.token.value,r,s))){t.acceptToken(n);break}}let i=t.next,h=0,c=e[o+2];if(!(t.next<0&&c>h&&65535==e[n+3*c-3]&&65535==e[n+3*c-3])){for(;h<c;){let r=h+c>>1,s=n+r+(r<<1),a=e[s],l=e[s+1]||65536;if(i<a)c=r;else{if(!(i>=l)){o=e[s+2],t.advance();continue e}h=r+1}}break}o=e[n+3*c-1]}}function Vl(e,t,n){for(let i,r=t;65535!=(i=e[r]);r++)if(i==n)return r-t;return-1}function Ml(e,t,n,i){let r=Vl(n,i,t);return r<0||Vl(n,i,e)<r}const Yl="undefined"!=typeof process&&process.env&&/\bparse\b/.test(process.env.LOG);let _l=null;var Wl,El;function zl(e,t,n){let i=e.cursor(za.IncludeAnonymous);for(i.moveTo(t);;)if(!(n<0?i.childBefore(t):i.childAfter(t)))for(;;){if((n<0?i.to<t:i.from>t)&&!i.type.isError)return n<0?Math.max(0,Math.min(i.to-1,t-25)):Math.min(e.length,Math.max(i.from+1,t+25));if(n<0?i.prevSibling():i.nextSibling())break;if(!i.parent())return n<0?0:e.length}}!function(e){e[e.Margin=25]="Margin"}(Wl||(Wl={}));class Ul{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?zl(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?zl(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 n=this.trees[t],i=this.index[t];if(i==n.children.length){this.trees.pop(),this.start.pop(),this.index.pop();continue}let r=n.children[i],s=this.start[t]+n.positions[i];if(s>e)return this.nextStart=s,null;if(r instanceof Ua){if(s==e){if(s<this.safeFrom)return null;let e=s+r.length;if(e<=this.safeTo){let t=r.prop(Ra.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 ql{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(e=>new Pl)}getActions(e){let t=0,n=null,{parser:i}=e.p,{tokenizers:r}=i,s=i.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,a=0;for(let i=0;i<r.length;i++){if(0==(1<<i&s))continue;let l=r[i],h=this.tokens[i];if((!n||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 i=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&&(n=h,t>i))break}}for(;this.actions.length>t;)this.actions.pop();return a&&e.setLookAhead(a),n||e.pos!=this.stream.end||(n=new Pl,n.value=e.p.parser.eofTerm,n.start=n.end=e.pos,t=this.addActions(e,n.value,n.end,t)),this.mainToken=n,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let t=new Pl,{pos:n,p:i}=e;return t.start=n,t.end=Math.min(n+1,i.stream.end),t.value=n==i.stream.end?i.parser.eofTerm:0,t}updateCachedToken(e,t,n){let i=this.stream.clipPos(n.pos);if(t.token(this.stream.reset(i,e),n),e.value>-1){let{parser:t}=n.p;for(let i=0;i<t.specialized.length;i++)if(t.specialized[i]==e.value){let r=t.specializers[i](this.stream.read(e.start,e.end),n);if(r>=0&&n.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(i+1)}putAction(e,t,n,i){for(let t=0;t<i;t+=3)if(this.actions[t]==e)return i;return this.actions[i++]=e,this.actions[i++]=t,this.actions[i++]=n,i}addActions(e,t,n,i){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==i&&2==o[a+1]&&(i=this.putAction(Gl(o,a+2),t,n,i));break}a=Gl(o,a+2)}o[a]==t&&(i=this.putAction(Gl(o,a+1),t,n,i))}return i}}!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",e[e.MaxLeftAssociativeReductionCount=300]="MaxLeftAssociativeReductionCount",e[e.MaxStackCount=12]="MaxStackCount"}(El||(El={}));class Dl{constructor(e,t,n,i){this.parser=e,this.input=t,this.ranges=i,this.recovering=0,this.nextStackID=9812,this.minStackPos=0,this.reused=[],this.stoppedAt=null,this.lastBigReductionStart=-1,this.lastBigReductionSize=0,this.bigReductionCount=0,this.stream=new Xl(t,i),this.tokens=new ql(e,this.stream),this.topTerm=e.top[1];let{from:r}=i[0];this.stacks=[yl.start(this,e.top[0],r)],this.fragments=n.length&&this.stream.end-r>4*e.bufferLength?new Ul(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,n=this.stacks,i=this.minStackPos,r=this.stacks=[];if(this.bigReductionCount>300&&1==n.length){let[e]=n;for(;e.forceReduce()&&e.stack.length&&e.stack[e.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let s=0;s<n.length;s++){let o=n[s];for(;;){if(this.tokens.mainToken=null,o.pos>i)r.push(o);else{if(this.advanceStack(o,r,n))continue;{e||(e=[],t=[]),e.push(o);let n=this.tokens.getMainToken(o);t.push(n.value,n.end)}}break}}if(!r.length){let t=e&&Fl(e);if(t)return this.stackToTree(t);if(this.parser.strict)throw Yl&&e&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&e){let n=null!=this.stoppedAt&&e[0].pos>this.stoppedAt?e[0]:this.runRecovery(e,t,r);if(n)return this.stackToTree(n.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>i)&&this.recovering--}else if(r.length>1){e:for(let e=0;e<r.length-1;e++){let t=r[e];for(let n=e+1;n<r.length;n++){let i=r[n];if(t.sameState(i)||t.buffer.length>500&&i.buffer.length>500){if(!((t.score-i.score||t.buffer.length-i.buffer.length)>0)){r.splice(e--,1);continue e}r.splice(n--,1)}}}r.length>12&&r.splice(12,r.length-12)}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,n){let i=e.pos,{parser:r}=this,s=Yl?this.stackID(e)+" -> ":"";if(null!=this.stoppedAt&&i>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let t=e.curContext&&e.curContext.tracker.strict,n=t?e.curContext.hash:0;for(let o=this.fragments.nodeAt(i);o;){let i=this.parser.nodeSet.types[o.type.id]==o.type?r.getGoto(e.state,o.type.id):-1;if(i>-1&&o.length&&(!t||(o.prop(Ra.contextHash)||0)==n))return e.useNode(o,i),Yl&&console.log(s+this.stackID(e)+` (via reuse of ${r.getName(o.type.id)})`),!0;if(!(o instanceof Ua)||0==o.children.length||o.positions[0]>0)break;let a=o.children[0];if(!(a instanceof Ua&&0==o.positions[0]))break;o=a}}let o=r.stateSlot(e.state,4);if(o>0)return e.reduce(o),Yl&&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||!n,f=u?e:e.split();if(f.apply(l,h,c),Yl&&console.log(s+this.stackID(f)+` (via ${0==(65536&l)?"shift":"reduce of "+r.getName(65535&l)} for ${r.getName(h)} @ ${i}${f==e?"":", split"})`),u)return!0;f.pos>i?t.push(f):n.push(f)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Il(e,t),!0}}runRecovery(e,t,n){let i=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=Yl?this.stackID(o)+" -> ":"";if(o.deadEnd){if(r)continue;if(r=!0,o.restart(),Yl&&console.log(h+this.stackID(o)+" (restarted)"),this.advanceFully(o,n))continue}let c=o.split(),u=h;for(let e=0;c.forceReduce()&&e<10;e++){if(Yl&&console.log(u+this.stackID(c)+" (via force-reduce)"),this.advanceFully(c,n))break;Yl&&(u=this.stackID(c)+" -> ")}for(let e of o.recoverByInsert(a))Yl&&console.log(h+this.stackID(e)+" (via recover-insert)"),this.advanceFully(e,n);this.stream.end>o.pos?(l==o.pos&&(l++,a=0),o.recoverByDelete(a,l),Yl&&console.log(h+this.stackID(o)+` (via recover-delete ${this.parser.getName(a)})`),Il(o,n)):(!i||i.score<o.score)&&(i=o)}return i}stackToTree(e){return e.close(),Ua.build({buffer:Ql.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=(_l||(_l=new WeakMap)).get(e);return t||_l.set(e,t=String.fromCodePoint(this.nextStackID++)),t+e}}function Il(e,t){for(let n=0;n<t.length;n++){let i=t[n];if(i.pos==e.pos&&i.sameState(e))return void(t[n].score<e.score&&(t[n]=e))}t.push(e)}class jl{constructor(e,t,n){this.source=e,this.flags=t,this.disabled=n}allows(e){return!this.disabled||0==this.disabled[e]}}const Bl=e=>e;class Ll{constructor(e){this.start=e.start,this.shift=e.shift||Bl,this.reduce=e.reduce||Bl,this.reuse=e.reuse||Bl,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class Nl extends ol{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 n=0;n<e.repeatNodeCount;n++)t.push("");let n=Object.keys(e.topRules).map(t=>e.topRules[t][1]),i=[];for(let e=0;e<t.length;e++)i.push([]);function r(e,t,n){i[e].push([t,t.deserialize(String(n))])}if(e.nodeProps)for(let t of e.nodeProps){let e=t[0];"string"==typeof e&&(e=Ra[e]);for(let n=1;n<t.length;){let i=t[n++];if(i>=0)r(i,e,t[n++]);else{let s=t[n+-i];for(let o=-i;o>0;o--)r(t[n++],e,s);n++}}}this.nodeSet=new _a(t.map((t,r)=>Ya.define({name:r>=this.minRepeatTerm?void 0:t,id:r,props:i[r],top:n.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=Ta;let s=$l(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(Hl),this.states=$l(e.states,Uint32Array),this.data=$l(e.stateData),this.goto=$l(e.goto),this.maxTerm=e.maxTerm,this.tokenizers=e.tokenizers.map(e=>"number"==typeof e?new Tl(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,n){let i=new Dl(this,e,t,n);for(let r of this.wrappers)i=r(i,e,t,n);return i}getGoto(e,t,n=!1){let i=this.goto;if(t>=i[0])return-1;for(let r=i[t+1];;){let t=i[r++],s=1&t,o=i[r++];if(s&&n)return o;for(let n=r+(t>>1);r<n;r++)if(i[r]==e)return o;if(s)return-1}}hasAction(e,t){let n=this.data;for(let i=0;i<2;i++)for(let r,s=this.stateSlot(e,i?2:1);;s+=3){if(65535==(r=n[s])){if(1!=n[s+1]){if(2==n[s+1])return Gl(n,s+2);break}r=n[s=Gl(n,s+2)]}if(r==t||0==r)return Gl(n,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 n=this.stateSlot(e,1);;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])return!1;n=Gl(this.data,n+2)}if(t==Gl(this.data,n+1))return!0}}nextStates(e){let t=[];for(let n=this.stateSlot(e,1);;n+=3){if(65535==this.data[n]){if(1!=this.data[n+1])break;n=Gl(this.data,n+2)}if(0==(1&this.data[n+2])){let e=this.data[n+1];t.some((t,n)=>1&n&&t==e)||t.push(this.data[n],e)}}return t}configure(e){let t=Object.assign(Object.create(Nl.prototype),this);if(e.props&&(t.nodeSet=this.nodeSet.extend(...e.props)),e.top){let n=this.topRules[e.top];if(!n)throw new RangeError("Invalid top rule name "+e.top);t.top=n}return e.tokenizers&&(t.tokenizers=this.tokenizers.map(t=>{let n=e.tokenizers.find(e=>e.from==t);return n?n.to:t})),e.specializers&&(t.specializers=this.specializers.slice(),t.specializerSpecs=this.specializerSpecs.map((n,i)=>{let r=e.specializers.find(e=>e.from==n.external);if(!r)return n;let s=Object.assign(Object.assign({},n),{external:r.to});return t.specializers[i]=Hl(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),n=t.map(()=>!1);if(e)for(let i of e.split(" ")){let e=t.indexOf(i);e>=0&&(n[e]=!0)}let i=null;for(let e=0;e<t.length;e++)if(!n[e])for(let n,r=this.dialects[t[e]];65535!=(n=this.data[r++]);)(i||(i=new Uint8Array(this.maxTerm+1)))[n]=1;return new jl(e,n,i)}static deserialize(e){return new Nl(e)}}function Gl(e,t){return e[t]|e[t+1]<<16}function Fl(e){let t=null;for(let n of e){let e=n.p.stoppedAt;(n.pos==n.p.stream.end||null!=e&&n.pos>e)&&n.p.parser.stateFlag(n.state,2)&&(!t||t.score<n.score)&&(t=n)}return t}function Hl(e){if(e.external){let t=e.extend?1:0;return(n,i)=>e.external(n,i)<<1|t}return e.get}let Jl=0;class Kl{constructor(e,t,n){this.set=e,this.base=t,this.modified=n,this.id=Jl++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new Kl([],null,[]);if(t.set.push(t),e)for(let n of e.set)t.set.push(n);return t}static defineModifier(){let e=new th;return t=>t.modified.indexOf(e)>-1?t:th.get(t.base||t,t.modified.concat(e).sort((e,t)=>e.id-t.id))}}let eh=0;class th{constructor(){this.instances=[],this.id=eh++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find(n=>n.base==e&&nh(t,n.modified));if(n)return n;let i=[],r=new Kl(i,e,t);for(let e of t)e.instances.push(r);let s=ih(t);for(let t of e.set)if(!t.modified.length)for(let e of s)i.push(th.get(t,e));return r}}function nh(e,t){return e.length==t.length&&e.every((e,n)=>e==t[n])}function ih(e){let t=[[]];for(let n=0;n<e.length;n++)for(let i=0,r=t.length;i<r;i++)t.push(t[i].concat(e[n]));return t.sort((e,t)=>t.length-e.length)}function rh(e){let t=Object.create(null);for(let n in e){let i=e[n];Array.isArray(i)||(i=[i]);for(let e of n.split(" "))if(e){let n=[],r=2,s=e;for(let t=0;;){if("..."==s&&t>0&&t+3==e.length){r=1;break}let i=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(s);if(!i)throw new RangeError("Invalid path: "+e);if(n.push("*"==i[0]?"":'"'==i[0][0]?JSON.parse(i[0]):i[0]),t+=i[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=n.length-1,a=n[o];if(!a)throw new RangeError("Invalid path: "+e);let l=new oh(i,r,o>0?n.slice(0,o):null);t[a]=l.sort(t[a])}}return sh.add(t)}const sh=new Ra;class oh{constructor(e,t,n,i){this.tags=e,this.mode=t,this.context=n,this.next=i}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 ah(e,t){let n=Object.create(null);for(let t of e)if(Array.isArray(t.tag))for(let e of t.tag)n[e.id]=t.class;else n[t.tag.id]=t.class;let{scope:i,all:r=null}=t||{};return{style:e=>{let t=r;for(let i of e)for(let e of i.set){let i=n[e.id];if(i){t=t?t+" "+i:i;break}}return t},scope:i}}function lh(e,t){let n=null;for(let i of e){let e=i.style(t);e&&(n=n?n+" "+e:e)}return n}function hh(e,t,n,i=0,r=e.length){let s=new ch(i,Array.isArray(t)?t:[t],n);s.highlightRange(e.cursor(),i,r,"",s.highlighters),s.flush(r)}oh.empty=new oh([],2,null);class ch{constructor(e,t,n){this.at=e,this.highlighters=t,this.span=n,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,n,i,r){let{type:s,from:o,to:a}=e;if(o>=n||a<=t)return;s.isTop&&(r=this.highlighters.filter(e=>!e.scope||e.scope(s)));let l=i,h=uh(e)||oh.empty,c=lh(r,h.tags);if(c&&(l&&(l+=" "),l+=c,1==h.mode&&(i+=(i?" ":"")+c)),this.startSpan(e.from,l),h.opaque)return;let u=e.tree&&e.tree.prop(Ra.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(n,O);if(m<g&&c)for(;e.from<g&&(this.highlightRange(e,m,g,i,r),this.startSpan(Math.min(g,e.to),l),!(e.to>=O)&&e.nextSibling()););if(!p||O>n)break;d=p.to+o,d>t&&(this.highlightRange(s.cursor(),Math.max(t,p.from+o),Math.min(n,d),i,h),this.startSpan(d,l))}c&&e.parent()}else if(e.firstChild()){do{if(!(e.to<=t)){if(e.from>=n)break;this.highlightRange(e,t,n,i,r),this.startSpan(Math.min(n,e.to),l)}}while(e.nextSibling());e.parent()}}}function uh(e){let t=e.type.prop(sh);for(;t&&t.context&&!e.matchContext(t.context);)t=t.next;return t||null}const fh=Kl.define,dh=fh(),ph=fh(),Oh=fh(ph),mh=fh(ph),gh=fh(),Sh=fh(gh),bh=fh(gh),xh=fh(),yh=fh(xh),wh=fh(),vh=fh(),kh=fh(),Qh=fh(kh),$h=fh(),Ph={comment:dh,lineComment:fh(dh),blockComment:fh(dh),docComment:fh(dh),name:ph,variableName:fh(ph),typeName:Oh,tagName:fh(Oh),propertyName:mh,attributeName:fh(mh),className:fh(ph),labelName:fh(ph),namespace:fh(ph),macroName:fh(ph),literal:gh,string:Sh,docString:fh(Sh),character:fh(Sh),attributeValue:fh(Sh),number:bh,integer:fh(bh),float:fh(bh),bool:fh(gh),regexp:fh(gh),escape:fh(gh),color:fh(gh),url:fh(gh),keyword:wh,self:fh(wh),null:fh(wh),atom:fh(wh),unit:fh(wh),modifier:fh(wh),operatorKeyword:fh(wh),controlKeyword:fh(wh),definitionKeyword:fh(wh),moduleKeyword:fh(wh),operator:vh,derefOperator:fh(vh),arithmeticOperator:fh(vh),logicOperator:fh(vh),bitwiseOperator:fh(vh),compareOperator:fh(vh),updateOperator:fh(vh),definitionOperator:fh(vh),typeOperator:fh(vh),controlOperator:fh(vh),punctuation:kh,separator:fh(kh),bracket:Qh,angleBracket:fh(Qh),squareBracket:fh(Qh),paren:fh(Qh),brace:fh(Qh),content:xh,heading:yh,heading1:fh(yh),heading2:fh(yh),heading3:fh(yh),heading4:fh(yh),heading5:fh(yh),heading6:fh(yh),contentSeparator:fh(xh),list:fh(xh),quote:fh(xh),emphasis:fh(xh),strong:fh(xh),link:fh(xh),monospace:fh(xh),strikethrough:fh(xh),inserted:fh(),deleted:fh(),changed:fh(),invalid:fh(),meta:$h,documentMeta:fh($h),annotation:fh($h),processingInstruction:fh($h),definition:Kl.defineModifier(),constant:Kl.defineModifier(),function:Kl.defineModifier(),standard:Kl.defineModifier(),local:Kl.defineModifier(),special:Kl.defineModifier()},Ch=(ah([{tag:Ph.link,class:"tok-link"},{tag:Ph.heading,class:"tok-heading"},{tag:Ph.emphasis,class:"tok-emphasis"},{tag:Ph.strong,class:"tok-strong"},{tag:Ph.keyword,class:"tok-keyword"},{tag:Ph.atom,class:"tok-atom"},{tag:Ph.bool,class:"tok-bool"},{tag:Ph.url,class:"tok-url"},{tag:Ph.labelName,class:"tok-labelName"},{tag:Ph.inserted,class:"tok-inserted"},{tag:Ph.deleted,class:"tok-deleted"},{tag:Ph.literal,class:"tok-literal"},{tag:Ph.string,class:"tok-string"},{tag:Ph.number,class:"tok-number"},{tag:[Ph.regexp,Ph.escape,Ph.special(Ph.string)],class:"tok-string2"},{tag:Ph.variableName,class:"tok-variableName"},{tag:Ph.local(Ph.variableName),class:"tok-variableName tok-local"},{tag:Ph.definition(Ph.variableName),class:"tok-variableName tok-definition"},{tag:Ph.special(Ph.variableName),class:"tok-variableName2"},{tag:Ph.definition(Ph.propertyName),class:"tok-propertyName tok-definition"},{tag:Ph.typeName,class:"tok-typeName"},{tag:Ph.namespace,class:"tok-namespace"},{tag:Ph.className,class:"tok-className"},{tag:Ph.macroName,class:"tok-macroName"},{tag:Ph.propertyName,class:"tok-propertyName"},{tag:Ph.operator,class:"tok-operator"},{tag:Ph.comment,class:"tok-comment"},{tag:Ph.meta,class:"tok-meta"},{tag:Ph.invalid,class:"tok-invalid"},{tag:Ph.punctuation,class:"tok-punctuation"}]),1),Xh=2,Th=3,Zh=4,Ah=5,Rh=35,Vh=36,Mh=37,Yh=11,_h=13;function Wh(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function Eh(e){return 9==e||10==e||13==e||32==e}let zh=null,Uh=null,qh=0;function Dh(e,t){let n=e.pos+t;if(Uh==e&&qh==n)return zh;for(;Eh(e.peek(t));)t++;let i="";for(;;){let n=e.peek(t);if(!Wh(n))break;i+=String.fromCharCode(n),t++}return Uh=e,qh=n,zh=i||null}function Ih(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 jh=new Ll({start:null,shift:(e,t,n,i)=>t==Ch?new Ih(Dh(i,1)||"",e):e,reduce:(e,t)=>t==Yh&&e?e.parent:e,reuse(e,t,n,i){let r=t.type.id;return r==Ch||r==_h?new Ih(Dh(i,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Bh=new Al((e,t)=>{if(60==e.next)if(e.advance(),47==e.next){e.advance();let n=Dh(e,0);if(!n)return e.acceptToken(Ah);if(t.context&&n==t.context.name)return e.acceptToken(Xh);for(let i=t.context;i;i=i.parent)if(i.name==n)return e.acceptToken(Th,-2);e.acceptToken(Zh)}else if(33!=e.next&&63!=e.next)return e.acceptToken(Ch)},{contextual:!0});function Lh(e,t){return new Al(n=>{for(let i=0,r=0;;r++){if(n.next<0){r&&n.acceptToken(e);break}if(n.next==t.charCodeAt(i)){if(i++,i==t.length){r>=t.length&&n.acceptToken(e,1-t.length);break}}else i=n.next==t.charCodeAt(0)?1:0;n.advance()}})}const Nh=Lh(Rh,"--\x3e"),Gh=Lh(Vh,"?>"),Fh=Lh(Mh,"]]>"),Hh=rh({Text:Ph.content,"StartTag StartCloseTag EndTag SelfCloseEndTag":Ph.angleBracket,TagName:Ph.tagName,"MismatchedCloseTag/Tagname":[Ph.tagName,Ph.invalid],AttributeName:Ph.attributeName,AttributeValue:Ph.attributeValue,Is:Ph.definitionOperator,"EntityReference CharacterReference":Ph.character,Comment:Ph.blockComment,ProcessingInst:Ph.processingInstruction,DoctypeDecl:Ph.documentMeta,Cdata:Ph.special(Ph.string)}),Jh=Nl.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:jh,nodeProps:[["closedBy",1,"SelfCloseEndTag EndTag",13,"CloseTag MissingCloseTag"],["openedBy",12,"StartTag StartCloseTag",19,"OpenTag",20,"StartTag"]],propSources:[Hh],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:[Bh,Nh,Gh,Fh,0,1,2,3],topRules:{Document:[0,6]},tokenPrec:0});var Kh;const ec=new Ra;function tc(e){return Y.define({combine:e?t=>t.concat(e):void 0})}const nc=new Ra;class ic{constructor(e,t,n=[],i=""){this.data=e,this.name=i,Qe.prototype.hasOwnProperty("tree")||Object.defineProperty(Qe.prototype,"tree",{get(){return oc(this)}}),this.parser=t,this.extension=[Oc.of(this),Qe.languageData.of((e,t,n)=>{let i=rc(e,t,n),r=i.type.prop(ec);if(!r)return[];let s=e.facet(r),o=i.type.prop(nc);if(o){let r=i.resolve(t-i.from,n);for(let t of o)if(t.test(r,e)){let n=e.facet(t.facet);return"replace"==t.type?n:n.concat(s)}}return s})].concat(n)}isActiveAt(e,t,n=-1){return rc(e,t,n).type.prop(ec)==this.data}findRegions(e){let t=e.facet(Oc);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],i=(e,t)=>{if(e.prop(ec)==this.data)return void n.push({from:t,to:t+e.length});let r=e.prop(Ra.mounted);if(r){if(r.tree.prop(ec)==this.data){if(r.overlay)for(let e of r.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}if(r.overlay){let e=n.length;if(i(r.tree,r.overlay[0].from+t),n.length>e)return}}for(let n=0;n<e.children.length;n++){let r=e.children[n];r instanceof Ua&&i(r,e.positions[n]+t)}};return i(oc(e),0),n}get allowsNesting(){return!0}}function rc(e,t,n){let i=e.facet(Oc),r=oc(e).topNode;if(!i||i.allowsNesting)for(let e=r;e;e=e.enter(t,n,za.ExcludeBuffers))e.type.isTop&&(r=e);return r}ic.setState=ce.define();class sc extends ic{constructor(e,t,n){super(e,t,[],n),this.parser=t}static define(e){let t=tc(e.languageData);return new sc(t,e.parser.configure({props:[ec.add(e=>e.isTop?t:void 0)]}),e.name)}configure(e,t){return new sc(this.data,this.parser.configure(e),t||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function oc(e){let t=e.field(ic.state,!1);return t?t.tree:Ua.empty}class ac{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e<n||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let lc=null;class hc{constructor(e,t,n=[],i,r,s,o,a){this.parser=e,this.state=t,this.fragments=n,this.tree=i,this.treeLen=r,this.viewport=s,this.skipped=o,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,n){return new hc(e,t,[],Ua.empty,0,n,[],null)}startParse(){return this.parser.startParse(new ac(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ua.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var n;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 i=this.parse.advance();if(i){if(this.fragments=this.withoutTempSkipped(sl.addTree(i,this.fragments,null!=this.parse.stoppedAt)),this.treeLen=null!==(n=this.parse.stoppedAt)&&void 0!==n?n:this.state.doc.length,this.tree=i,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(sl.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=lc;lc=this;try{return e()}finally{lc=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=cc(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:i,treeLen:r,viewport:s,skipped:o}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges((e,n,i,r)=>t.push({fromA:e,toA:n,fromB:i,toB:r})),n=sl.applyChanges(n,t),i=Ua.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 n=e.mapPos(t.from,1),i=e.mapPos(t.to,-1);n<i&&o.push({from:n,to:i})}}}return new hc(this.parser,t,n,i,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:n,to:i}=this.skipped[t];n<e.to&&i>e.from&&(this.fragments=cc(this.fragments,n,i),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 ol{createParse(t,n,i){let r=i[0].from,s=i[i.length-1].to;return{parsedPos:r,advance(){let t=lc;if(t){for(let e of i)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=s,new Ua(Ya.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 lc}}function cc(e,t,n){return sl.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class uc{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),n=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,n)||t.takeTree(),new uc(t)}static init(e){let t=Math.min(3e3,e.doc.length),n=hc.create(e.facet(Oc).parser,e,{from:0,to:t});return n.work(20,t)||n.takeTree(),new uc(n)}}ic.state=D.define({create:uc.init,update(e,t){for(let e of t.effects)if(e.is(ic.setState))return e.value;return t.startState.facet(Oc)!=t.state.facet(Oc)?uc.init(t.state):e.apply(t)}});let fc=e=>{let t=setTimeout(()=>e(),500);return()=>clearTimeout(t)};"undefined"!=typeof requestIdleCallback&&(fc=e=>{let t=-1,n=setTimeout(()=>{t=requestIdleCallback(e,{timeout:400})},100);return()=>t<0?clearTimeout(n):cancelIdleCallback(t)});const dc="undefined"!=typeof navigator&&(null===(Kh=navigator.scheduling)||void 0===Kh?void 0:Kh.isInputPending)?()=>navigator.scheduling.isInputPending():null,pc=Dn.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(ic.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(ic.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=fc(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:n,viewport:{to:i}}=this.view,r=n.field(ic.state);if(r.tree==r.context.tree&&r.context.isDone(i+1e5))return;let s=Date.now()+Math.min(this.chunkBudget,100,e&&!dc?Math.max(25,e.timeRemaining()-5):1e9),o=r.context.treeLen<i&&n.doc.length>i+1e3,a=r.context.work(()=>dc&&dc()||Date.now()>s,i+(o?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(r.context.takeTree(),this.view.dispatch({effects:ic.setState.of(new uc(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=>En(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()}}}),Oc=Y.define({combine:e=>e.length?e[0]:null,enables:e=>[ic.state,pc,xs.contentAttributes.compute([e],t=>{let n=t.facet(e);return n&&n.name?{"data-language":n.name}:{}})]});class mc{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class gc{constructor(e,t,n,i,r,s){this.name=e,this.alias=t,this.extensions=n,this.filename=i,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:n}=e;if(!t){if(!n)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");t=()=>Promise.resolve(n)}return new gc(e.name,(e.alias||[]).concat(e.name).map(e=>e.toLowerCase()),e.extensions||[],e.filename,t,n)}static matchFilename(e,t){for(let n of e)if(n.filename&&n.filename.test(t))return n;let n=/\.([^.]+)$/.exec(t);if(n)for(let t of e)if(t.extensions.indexOf(n[1])>-1)return t;return null}static matchLanguageName(e,t,n=!0){t=t.toLowerCase();for(let n of e)if(n.alias.some(e=>e==t))return n;if(n)for(let n of e)for(let e of n.alias){let i=t.indexOf(e);if(i>-1&&(e.length>2||!/\w/.test(t[i-1])&&!/\w/.test(t[i+e.length])))return n}return null}}const Sc=Y.define(),bc=Y.define({combine:e=>{if(!e.length)return" ";let t=e[0];if(!t||/\S/.test(t)||Array.from(t).some(e=>e!=t[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return t}});function xc(e){let t=e.facet(bc);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function yc(e,t){let n="",i=e.tabSize,r=e.facet(bc)[0];if("\t"==r){for(;t>=i;)n+="\t",t-=i;r=" "}for(let e=0;e<t;e++)n+=r;return n}function wc(e,t){e instanceof Qe&&(e=new vc(e));for(let n of e.state.facet(Sc)){let i=n(e,t);if(void 0!==i)return i}let n=oc(e.state);return n?Qc(e,n,t):null}class vc{constructor(e,t={}){this.state=e,this.options=t,this.unit=xc(e)}lineAt(e,t=1){let n=this.state.doc.lineAt(e),{simulateBreak:i,simulateDoubleBreak:r}=this.options;return null!=i&&i>=n.from&&i<=n.to?r&&i==e?{text:"",from:e}:(t<0?i<e:i<=e)?{text:n.text.slice(i-n.from),from:i}:{text:n.text.slice(0,i-n.from),from:n.from}:n}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:n,from:i}=this.lineAt(e,t);return n.slice(e-i,Math.min(n.length,e+100-i))}column(e,t=1){let{text:n,from:i}=this.lineAt(e,t),r=this.countColumn(n,e-i),s=this.options.overrideIndentation?this.options.overrideIndentation(i):-1;return s>-1&&(r+=s-this.countColumn(n,n.search(/\S|$/))),r}countColumn(e,t=e.length){return Ie(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:i}=this.lineAt(e,t),r=this.options.overrideIndentation;if(r){let e=r(i);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const kc=new Ra;function Qc(e,t,n){return Cc(t.resolveInner(n).enterUnfinishedNodesBefore(n),n,e)}function $c(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}function Pc(e){let t=e.type.prop(kc);if(t)return t;let n,i=e.firstChild;if(i&&(n=i.type.prop(Ra.closedBy))){let t=e.lastChild,i=t&&n.indexOf(t.name)>-1;return e=>Vc(e,!0,1,void 0,i&&!$c(e)?t.from:void 0)}return null==e.parent?Xc:null}function Cc(e,t,n){for(;e;e=e.parent){let i=Pc(e);if(i)return i(Tc.create(n,t,e))}return null}function Xc(){return 0}class Tc extends vc{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.node=n}static create(e,t,n){return new Tc(e,t,n)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let n=e.resolve(t.from);for(;n.parent&&n.parent.from==n.from;)n=n.parent;if(Zc(n,e))break;t=this.state.doc.lineAt(n.from)}return this.lineIndent(t.from)}continue(){let e=this.node.parent;return e?Cc(e,this.pos,this.base):0}}function Zc(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function Ac(e){let t=e.node,n=t.childAfter(t.from),i=t.lastChild;if(!n)return null;let r=e.options.simulateBreak,s=e.state.doc.lineAt(n.from),o=null==r||r<=s.from?s.to:Math.min(s.to,r);for(let e=n.to;;){let r=t.childAfter(e);if(!r||r==i)return null;if(!r.type.isSkipped)return r.from<o?n:null;e=r.to}}function Rc({closing:e,align:t=!0,units:n=1}){return i=>Vc(i,t,n,e)}function Vc(e,t,n,i,r){let s=e.textAfter,o=s.match(/^\s*/)[0].length,a=i&&s.slice(o,o+i.length)==i||r==e.pos+o,l=t?Ac(e):null;return l?a?e.column(l.from):e.column(l.to):e.baseIndent+(a?0:e.unit*n)}const Mc=e=>e.baseIndent;function Yc({except:e,units:t=1}={}){return n=>{let i=e&&e.test(n.textAfter);return n.baseIndent+(i?0:t*n.unit)}}const _c=200;function Wc(){return Qe.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 n=e.newDoc,{head:i}=e.newSelection.main,r=n.lineAt(i);if(i>r.from+_c)return e;let s=n.sliceString(r.from,i);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 n=wc(o,t.from);if(null==n)continue;let i=/^\s*/.exec(t.text)[0],r=yc(o,n);i!=r&&l.push({from:t.from,to:t.from+i.length,insert:r})}return l.length?[e,{changes:l,sequential:!0}]:e})}const Ec=Y.define(),zc=new Ra;function Uc(e){let t=e.firstChild,n=e.lastChild;return t&&t.to<n.from?{from:t.to,to:n.type.isError?e.to:n.from}:null}function qc(e,t,n){let i=oc(e);if(i.length<n)return null;let r=null;for(let s=i.resolveInner(n,1);s;s=s.parent){if(s.to<=n||s.from>n)continue;if(r&&s.from<t)break;let o=s.type.prop(zc);if(o&&(s.to<i.length-50||i.length==e.doc.length||!Dc(s))){let i=o(s,e);i&&i.from<=n&&i.from>=t&&i.to>n&&(r=i)}}return r}function Dc(e){let t=e.lastChild;return t&&t.to==e.to&&t.type.isError}function Ic(e,t,n){for(let i of e.facet(Ec)){let r=i(e,t,n);if(r)return r}return qc(e,t,n)}function jc(e,t){let n=t.mapPos(e.from,1),i=t.mapPos(e.to,-1);return n>=i?void 0:{from:n,to:i}}const Bc=ce.define({map:jc}),Lc=ce.define({map:jc});function Nc(e){let t=[];for(let{head:n}of e.state.selection.ranges)t.some(e=>e.from<=n&&e.to>=n)||t.push(e.lineBlockAt(n));return t}const Gc=D.define({create:()=>mn.none,update(e,t){e=e.map(t.changes);for(let n of t.effects)n.is(Bc)&&!Hc(e,n.value.from,n.value.to)?e=e.update({add:[ru.range(n.value.from,n.value.to)]}):n.is(Lc)&&(e=e.update({filter:(e,t)=>n.value.from!=e||n.value.to!=t,filterFrom:n.value.from,filterTo:n.value.to}));if(t.selection){let n=!1,{head:i}=t.selection.main;e.between(i,i,(e,t)=>{e<i&&t>i&&(n=!0)}),n&&(e=e.update({filterFrom:i,filterTo:i,filter:(e,t)=>t<=i||e>=i}))}return e},provide:e=>xs.decorations.from(e),toJSON(e,t){let n=[];return e.between(0,t.doc.length,(e,t)=>{n.push(e,t)}),n},fromJSON(e){if(!Array.isArray(e)||e.length%2)throw new RangeError("Invalid JSON for fold state");let t=[];for(let n=0;n<e.length;){let i=e[n++],r=e[n++];if("number"!=typeof i||"number"!=typeof r)throw new RangeError("Invalid JSON for fold state");t.push(ru.range(i,r))}return mn.set(t,!0)}});function Fc(e,t,n){var i;let r=null;return null===(i=e.field(Gc,!1))||void 0===i||i.between(t,n,(e,t)=>{(!r||r.from>e)&&(r={from:e,to:t})}),r}function Hc(e,t,n){let i=!1;return e.between(t,t,(e,r)=>{e==t&&r==n&&(i=!0)}),i}function Jc(e,t){return e.field(Gc,!1)?t:t.concat(ce.appendConfig.of(iu()))}function Kc(e,t,n=!0){let i=e.state.doc.lineAt(t.from).number,r=e.state.doc.lineAt(t.to).number;return xs.announce.of(`${e.state.phrase(n?"Folded lines":"Unfolded lines")} ${i} ${e.state.phrase("to")} ${r}.`)}const eu=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:e=>{for(let t of Nc(e)){let n=Ic(e.state,t.from,t.to);if(n)return e.dispatch({effects:Jc(e.state,[Bc.of(n),Kc(e,n)])}),!0}return!1}},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:e=>{if(!e.state.field(Gc,!1))return!1;let t=[];for(let n of Nc(e)){let i=Fc(e.state,n.from,n.to);i&&t.push(Lc.of(i),Kc(e,i,!1))}return t.length&&e.dispatch({effects:t}),t.length>0}},{key:"Ctrl-Alt-[",run:e=>{let{state:t}=e,n=[];for(let i=0;i<t.doc.length;){let r=e.lineBlockAt(i),s=Ic(t,r.from,r.to);s&&n.push(Bc.of(s)),i=(s?e.lineBlockAt(s.to):r).to+1}return n.length&&e.dispatch({effects:Jc(e.state,n)}),!!n.length}},{key:"Ctrl-Alt-]",run:e=>{let t=e.state.field(Gc,!1);if(!t||!t.size)return!1;let n=[];return t.between(0,e.state.doc.length,(e,t)=>{n.push(Lc.of({from:e,to:t}))}),e.dispatch({effects:n}),!0}}],tu={placeholderDOM:null,placeholderText:"…"},nu=Y.define({combine:e=>$e(e,tu)});function iu(e){let t=[Gc,lu];return e&&t.push(nu.of(e)),t}const ru=mn.replace({widget:new class extends pn{toDOM(e){let{state:t}=e,n=t.facet(nu),i=t=>{let n=e.lineBlockAt(e.posAtDOM(t.target)),i=Fc(e.state,n.from,n.to);i&&e.dispatch({effects:Lc.of(i)}),t.preventDefault()};if(n.placeholderDOM)return n.placeholderDOM(e,i);let r=document.createElement("span");return r.textContent=n.placeholderText,r.setAttribute("aria-label",t.phrase("folded code")),r.title=t.phrase("unfold"),r.className="cm-foldPlaceholder",r.onclick=i,r}}}),su={openText:"⌄",closedText:"›",markerDOM:null,domEventHandlers:{},foldingChanged:()=>!1};class ou extends oa{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 au(e={}){let t=Object.assign(Object.assign({},su),e),n=new ou(t,!0),i=new ou(t,!1),r=Dn.fromClass(class{constructor(e){this.from=e.viewport.from,this.markers=this.buildMarkers(e)}update(e){(e.docChanged||e.viewportChanged||e.startState.facet(Oc)!=e.state.facet(Oc)||e.startState.field(Gc,!1)!=e.state.field(Gc,!1)||oc(e.startState)!=oc(e.state)||t.foldingChanged(e))&&(this.markers=this.buildMarkers(e.view))}buildMarkers(e){let t=new Re;for(let r of e.viewportLineBlocks){let s=Fc(e.state,r.from,r.to)?i:Ic(e.state,r.from,r.to)?n:null;s&&t.add(r.from,r.from,s)}return t.finish()}}),{domEventHandlers:s}=t;return[r,ca({class:"cm-foldGutter",markers(e){var t;return(null===(t=e.plugin(r))||void 0===t?void 0:t.markers)||Ze.empty},initialSpacer:()=>new ou(t,!1),domEventHandlers:Object.assign(Object.assign({},s),{click:(e,t,n)=>{if(s.click&&s.click(e,t,n))return!0;let i=Fc(e.state,t.from,t.to);if(i)return e.dispatch({effects:Lc.of(i)}),!0;let r=Ic(e.state,t.from,t.to);return!!r&&(e.dispatch({effects:Bc.of(r)}),!0)}})}),iu()]}const lu=xs.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 hu{constructor(e,t){let n;function i(e){let t=Fe.newName();return(n||(n=Object.create(null)))["."+t]=e,t}this.specs=e;const r="string"==typeof t.all?t.all:t.all?i(t.all):void 0,s=t.scope;this.scope=s instanceof ic?e=>e.prop(ec)==s.data:s?e=>e==s:void 0,this.style=ah(e.map(e=>({tag:e.tag,class:e.class||i(Object.assign({},e,{tag:null}))})),{all:r}).style,this.module=n?new Fe(n):null,this.themeType=t.themeType}static define(e,t){return new hu(e,t||{})}}const cu=Y.define(),uu=Y.define({combine:e=>e.length?[e[0]]:null});function fu(e){let t=e.facet(cu);return t.length?t:e.facet(uu)}function du(e,t){let n,i=[Ou];return e instanceof hu&&(e.module&&i.push(xs.styleModule.of(e.module)),n=e.themeType),(null==t?void 0:t.fallback)?i.push(uu.of(e)):n?i.push(cu.computeN([xs.darkTheme],t=>t.facet(xs.darkTheme)==("dark"==n)?[e]:[])):i.push(cu.of(e)),i}class pu{constructor(e){this.markCache=Object.create(null),this.tree=oc(e.state),this.decorations=this.buildDeco(e,fu(e.state))}update(e){let t=oc(e.state),n=fu(e.state),i=n!=fu(e.startState);t.length<e.view.viewport.to&&!i&&t.type==this.tree.type?this.decorations=this.decorations.map(e.changes):(t!=this.tree||e.viewportChanged||i)&&(this.tree=t,this.decorations=this.buildDeco(e.view,n))}buildDeco(e,t){if(!t||!this.tree.length)return mn.none;let n=new Re;for(let{from:i,to:r}of e.visibleRanges)hh(this.tree,t,(e,t,i)=>{n.add(e,t,this.markCache[i]||(this.markCache[i]=mn.mark({class:i})))},i,r);return n.finish()}}const Ou=B.high(Dn.fromClass(pu,{decorations:e=>e.decorations})),mu=hu.define([{tag:Ph.meta,color:"#404740"},{tag:Ph.link,textDecoration:"underline"},{tag:Ph.heading,textDecoration:"underline",fontWeight:"bold"},{tag:Ph.emphasis,fontStyle:"italic"},{tag:Ph.strong,fontWeight:"bold"},{tag:Ph.strikethrough,textDecoration:"line-through"},{tag:Ph.keyword,color:"#708"},{tag:[Ph.atom,Ph.bool,Ph.url,Ph.contentSeparator,Ph.labelName],color:"#219"},{tag:[Ph.literal,Ph.inserted],color:"#164"},{tag:[Ph.string,Ph.deleted],color:"#a11"},{tag:[Ph.regexp,Ph.escape,Ph.special(Ph.string)],color:"#e40"},{tag:Ph.definition(Ph.variableName),color:"#00f"},{tag:Ph.local(Ph.variableName),color:"#30a"},{tag:[Ph.typeName,Ph.namespace],color:"#085"},{tag:Ph.className,color:"#167"},{tag:[Ph.special(Ph.variableName),Ph.macroName],color:"#256"},{tag:Ph.definition(Ph.propertyName),color:"#00c"},{tag:Ph.comment,color:"#940"},{tag:Ph.invalid,color:"#f00"}]),gu=xs.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}}),Su=1e4,bu="()[]{}",xu=Y.define({combine:e=>$e(e,{afterCursor:!0,brackets:bu,maxScanDistance:Su,renderMatch:vu})}),yu=mn.mark({class:"cm-matchingBracket"}),wu=mn.mark({class:"cm-nonmatchingBracket"});function vu(e){let t=[],n=e.matched?yu:wu;return t.push(n.range(e.start.from,e.start.to)),e.end&&t.push(n.range(e.end.from,e.end.to)),t}const ku=[D.define({create:()=>mn.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],i=t.state.facet(xu);for(let e of t.state.selection.ranges){if(!e.empty)continue;let r=Xu(t.state,e.head,-1,i)||e.head>0&&Xu(t.state,e.head-1,1,i)||i.afterCursor&&(Xu(t.state,e.head,1,i)||e.head<t.state.doc.length&&Xu(t.state,e.head+1,-1,i));r&&(n=n.concat(i.renderMatch(r,t.state)))}return mn.set(n,!0)},provide:e=>xs.decorations.from(e)}),gu];function Qu(e={}){return[xu.of(e),ku]}const $u=new Ra;function Pu(e,t,n){let i=e.prop(t<0?Ra.openedBy:Ra.closedBy);if(i)return i;if(1==e.name.length){let i=n.indexOf(e.name);if(i>-1&&i%2==(t<0?1:0))return[n[i+t]]}return null}function Cu(e){let t=e.type.prop($u);return t?t(e.node):e}function Xu(e,t,n,i={}){let r=i.maxScanDistance||Su,s=i.brackets||bu,o=oc(e),a=o.resolveInner(t,n);for(let i=a;i;i=i.parent){let r=Pu(i.type,n,s);if(r&&i.from<i.to){let o=Cu(i);if(o&&(n>0?t>=o.from&&t<o.to:t>o.from&&t<=o.to))return Tu(e,t,n,i,o,r,s)}}return Zu(e,t,n,o,a.type,r,s)}function Tu(e,t,n,i,r,s,o){let a=i.parent,l={from:r.from,to:r.to},h=0,c=null==a?void 0:a.cursor();if(c&&(n<0?c.childBefore(i.from):c.childAfter(i.to)))do{if(n<0?c.to<=i.from:c.from>=i.to){if(0==h&&s.indexOf(c.type.name)>-1&&c.from<c.to){let e=Cu(c);return{start:l,end:e?{from:e.from,to:e.to}:void 0,matched:!0}}if(Pu(c.type,n,o))h++;else if(Pu(c.type,-n,o)){if(0==h){let e=Cu(c);return{start:l,end:e&&e.from<e.to?{from:e.from,to:e.to}:void 0,matched:!1}}h--}}}while(n<0?c.prevSibling():c.nextSibling());return{start:l,matched:!1}}function Zu(e,t,n,i,r,s,o){let a=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),l=o.indexOf(a);if(l<0||l%2==0!=n>0)return null;let h={from:n<0?t-1:t,to:n>0?t+1:t},c=e.doc.iterRange(t,n>0?e.doc.length:0),u=0;for(let e=0;!c.next().done&&e<=s;){let s=c.value;n<0&&(e+=s.length);let a=t+e*n;for(let e=n>0?0:s.length-1,t=n>0?s.length:-1;e!=t;e+=n){let t=o.indexOf(s[e]);if(!(t<0||i.resolveInner(a+e,1).type!=r))if(t%2==0==n>0)u++;else{if(1==u)return{start:h,end:{from:a+e,to:a+e+1},matched:t>>1==l>>1};u--}}n>0&&(e+=s.length)}return c.done?{start:h,matched:!1}:null}function Au(e,t,n,i=0,r=0){null==t&&-1==(t=e.search(/[^\s\u00a0]/))&&(t=e.length);let s=r;for(let r=i;r<t;r++)9==e.charCodeAt(r)?s+=n-s%n:s++;return s}class Ru{constructor(e,t,n,i){this.string=e,this.tabSize=t,this.indentUnit=n,this.overrideIndent=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,n=this.string.charAt(this.pos);if(t="string"==typeof e?n==e:n&&(e instanceof RegExp?e.test(n):e(n)),t)return++this.pos,n}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=Au(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue),this.lastColumnPos=this.start),this.lastColumnValue}indentation(){var e;return null!==(e=this.overrideIndent)&&void 0!==e?e:Au(this.string,null,this.tabSize)}match(e,t,n){if("string"==typeof e){let i=e=>n?e.toLowerCase():e;return i(this.string.substr(this.pos,e.length))==i(e)?(!1!==t&&(this.pos+=e.length),!0):null}{let n=this.string.slice(this.pos).match(e);return n&&n.index>0?null:(n&&!1!==t&&(this.pos+=n[0].length),n)}}current(){return this.string.slice(this.start,this.pos)}}function Vu(e){return{name:e.name||"",token:e.token,blankLine:e.blankLine||(()=>{}),startState:e.startState||(()=>!0),copyState:e.copyState||Mu,indent:e.indent||(()=>null),languageData:e.languageData||{},tokenTable:e.tokenTable||Du}}function Mu(e){if("object"!=typeof e)return e;let t={};for(let n in e){let i=e[n];t[n]=i instanceof Array?i.slice():i}return t}const Yu=new WeakMap;class _u extends ic{constructor(e){let t,n=tc(e.languageData),i=Vu(e);super(n,new class extends ol{createParse(e,n,i){return new Uu(t,e,n,i)}},[Sc.of((e,t)=>this.getIndent(e,t))],e.name),this.topNode=Ju(n),t=this,this.streamParser=i,this.stateAfter=new Ra({perNode:!0}),this.tokenTable=e.tokenTable?new Nu(i.tokenTable):Gu}static define(e){return new _u(e)}getIndent(e,t){let n=oc(e.state),i=n.resolve(t);for(;i&&i.type!=this.topNode;)i=i.parent;if(!i)return null;let r=void 0,{overrideIndentation:s}=e.options;s&&(r=Yu.get(e.state),null!=r&&r<t-1e4&&(r=void 0));let o,a,l=Wu(this,n,0,i.from,null!=r?r:t);if(l?(a=l.state,o=l.pos+1):(a=this.streamParser.startState(e.unit),o=0),t-o>1e4)return null;for(;o<t;){let n=e.state.doc.lineAt(o),i=Math.min(t,n.to);if(n.length){let t=s?s(n.from):-1,r=new Ru(n.text,e.state.tabSize,e.unit,t<0?void 0:t);for(;r.pos<i-n.from;)qu(this.streamParser.token,r,a)}else this.streamParser.blankLine(a,e.unit);if(i==t)break;o=n.to+1}let h=e.lineAt(t);return s&&null==r&&Yu.set(e.state,h.from),this.streamParser.indent(a,/^\s*(.*)/.exec(h.text)[1],e)}get allowsNesting(){return!1}}function Wu(e,t,n,i,r){let s=n>=i&&n+t.length<=r&&t.prop(e.stateAfter);if(s)return{state:e.streamParser.copyState(s),pos:n+t.length};for(let s=t.children.length-1;s>=0;s--){let o=t.children[s],a=n+t.positions[s],l=o instanceof Ua&&a<r&&Wu(e,o,a,i,r);if(l)return l}return null}function Eu(e,t,n,i,r){if(r&&n<=0&&i>=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<i&&l instanceof Ua){if(!(o=Eu(e,l,n-a,i-a,r)))break;return r?new Ua(t.type,t.children.slice(0,s).concat(o),t.positions.slice(0,s+1),a+o.length):o}}return null}function zu(e,t,n,i){for(let i of t){let t,r=i.from+(i.openStart?25:0),s=i.to-(i.openEnd?25:0),o=r<=n&&s>n&&Wu(e,i.tree,0-i.offset,n,s);if(o&&(t=Eu(e,i.tree,n+i.offset,o.pos+i.offset,!1)))return{state:o.state,tree:t}}return{state:e.streamParser.startState(i?xc(i):4),tree:Ua.empty}}class Uu{constructor(e,t,n,i){this.lang=e,this.input=t,this.fragments=n,this.ranges=i,this.stoppedAt=null,this.chunks=[],this.chunkPos=[],this.chunk=[],this.chunkReused=void 0,this.rangeIndex=0,this.to=i[i.length-1].to;let r=hc.get(),s=i[0].from,{state:o,tree:a}=zu(e,n,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(xc(r.state)),r.skipUntilInView(this.parsedPos,r.viewport.from),this.parsedPos=r.viewport.from),this.moveRangeIndex()}advance(){let e=hc.get(),t=null==this.stoppedAt?this.to:Math.min(this.to,this.stoppedAt),n=Math.min(t,this.chunkStart+2048);for(e&&(n=Math.min(n,e.viewport.to));this.parsedPos<n;)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),n=e+t.length;for(let e=this.rangeIndex;;){let i=this.ranges[e].to;if(i>=n)break;if(t=t.slice(0,i-(n-t.length)),e++,e==this.ranges.length)break;let r=this.ranges[e].from,s=this.lineAfter(r);t+=s,n=r+s.length}return{line:t,end:n}}skipGapsTo(e,t,n){for(;;){let i=this.ranges[this.rangeIndex].to,r=e+t;if(n>0?i>r:i>=r)break;t+=this.ranges[++this.rangeIndex].from-i}return t}moveRangeIndex(){for(;this.ranges[this.rangeIndex].to<this.parsedPos;)this.rangeIndex++}emitToken(e,t,n,i,r){if(this.ranges.length>1){t+=r=this.skipGapsTo(t,r,1);let e=this.chunk.length;n+=r=this.skipGapsTo(n,r,-1),i+=this.chunk.length-e}return this.chunk.push(e,t,n,i),r}parseLine(e){let{line:t,end:n}=this.nextLine(),i=0,{streamParser:r}=this.lang,s=new Ru(t,e?e.state.tabSize:4,e?xc(e.state):2);if(s.eol())r.blankLine(this.state,s.indentUnit);else for(;!s.eol();){let e=qu(r.token,s,this.state);if(e&&(i=this.emitToken(this.lang.tokenTable.resolve(e),this.parsedPos+s.start,this.parsedPos+s.pos,4,i)),s.start>1e4)break}this.parsedPos=n,this.moveRangeIndex(),this.parsedPos<this.to&&this.parsedPos++}finishChunk(){let e=Ua.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:ju,topID:0,maxBufferLength:2048,reused:this.chunkReused});e=new Ua(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 Ua(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance()}}function qu(e,t,n){t.start=t.pos;for(let i=0;i<10;i++){let i=e(t,n);if(t.pos>t.start)return i}throw new Error("Stream parser failed to advance stream.")}const Du=Object.create(null),Iu=[Ya.none],ju=new _a(Iu),Bu=[],Lu=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"]])Lu[e]=Hu(Du,t);class Nu{constructor(e){this.extra=e,this.table=Object.assign(Object.create(null),Lu)}resolve(e){return e?this.table[e]||(this.table[e]=Hu(this.extra,e)):0}}const Gu=new Nu(Du);function Fu(e,t){Bu.indexOf(e)>-1||(Bu.push(e),console.warn(t))}function Hu(e,t){let n=null;for(let i of t.split(".")){let t=e[i]||Ph[i];t?"function"==typeof t?n?n=t(n):Fu(i,`Modifier ${i} used at start of tag`):n?Fu(i,`Tag ${i} used as modifier`):n=t:Fu(i,"Unknown highlighting tag "+i)}if(!n)return 0;let i=t.replace(/ /g,"_"),r=Ya.define({id:Iu.length,name:i,props:[rh({[i]:n})]});return Iu.push(r),r.id}function Ju(e){let t=Ya.define({id:Iu.length,name:"Document",props:[ec.add(()=>e)]});return Iu.push(t),t}function Ku(e,t){let n=t&&t.getChild("TagName");return n?e.sliceString(n.from,n.to):""}function ef(e,t){let n=t&&t.firstChild;return n&&"OpenTag"==n.name?Ku(e,n):""}function tf(e,t,n){let i=t&&t.getChildren("Attribute").find(e=>e.from<=n&&e.to>=n),r=i&&i.getChild("AttributeName");return r?e.sliceString(r.from,r.to):""}function nf(e){for(let t=e&&e.parent;t;t=t.parent)if("Element"==t.name)return t;return null}function rf(e,t){var n;let i=oc(e).resolveInner(t,-1),r=null;for(let e=i;!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"==i.name)return"CloseTag"==r.name||"MismatchedCloseTag"==r.name?{type:"closeTag",from:i.from,context:e}:{type:"openTag",from:i.from,context:nf(e)};if("AttributeName"==i.name)return{type:"attrName",from:i.from,context:r};if("AttributeValue"==i.name)return{type:"attrValue",from:i.from,context:r};let n=i==r||"Attribute"==i.name?i.childBefore(t):i;return"StartTag"==(null==n?void 0:n.name)?{type:"openTag",from:t,context:nf(e)}:"StartCloseTag"==(null==n?void 0:n.name)&&n.to<=t?{type:"closeTag",from:t,context:e}:"Is"==(null==n?void 0:n.name)?{type:"attrValue",from:t,context:r}:n?{type:"attrName",from:t,context:r}:null}if("StartCloseTag"==i.name)return{type:"closeTag",from:t,context:i.parent};for(;i.parent&&i.to==t&&!(null===(n=i.lastChild)||void 0===n?void 0:n.type.isError);)i=i.parent;return"Element"==i.name||"Text"==i.name||"Document"==i.name?{type:"tag",from:t,context:"Element"==i.name?i:nf(i)}:null}class sf{constructor(e,t,n){this.attrs=t,this.attrValues=n,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 of=/^[:\-\.\w\u00b7-\uffff]*$/;function af(e){return Object.assign(Object.assign({type:"property"},e.completion||{}),{label:e.name})}function lf(e){return"string"==typeof e?{label:`"${e}"`,type:"constant"}:/^"/.test(e.label)?e:Object.assign(Object.assign({},e),{label:`"${e.label}"`})}function hf(e,t){let n=[],i=[],r=Object.create(null);for(let e of t){let t=af(e);n.push(t),e.global&&i.push(t),e.values&&(r[e.name]=e.values.map(lf))}let s=[],o=[],a=Object.create(null);for(let t of e){let e=i,l=r;t.attributes&&(e=e.concat(t.attributes.map(e=>"string"==typeof e?n.find(t=>t.label==e)||{label:e,type:"property"}:(e.values&&(l==r&&(l=Object.create(l)),l[e.name]=e.values.map(lf)),af(e)))));let h=new sf(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 n=e[t],i=s[t];if(n.children)for(let e of n.children)a[e]&&i.children.push(a[e]);else i.children=s}return e=>{var t;let{doc:n}=e.state,l=rf(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=ef(n,u);if(t){let n=a[t];e=(null==n?void 0:n.children)||s}return{from:c,options:e.map(e=>e.completion),validFor:of}}if("closeTag"==h){let i=ef(n,u);return i?{from:c,to:e.pos+(">"==n.sliceString(e.pos,e.pos+1)?1:0),options:[(null===(t=a[i])||void 0===t?void 0:t.closeNameCompletion)||{label:i+">",type:"type"}],validFor:of}:null}if("attrName"==h){let e=a[Ku(n,u)];return{from:c,options:(null==e?void 0:e.attrs)||i,validFor:of}}if("attrValue"==h){let t=tf(n,u,c);if(!t)return null;let i=a[Ku(n,u)],s=((null==i?void 0:i.attrValues)||r)[t];return s&&s.length?{from:c,to:e.pos+('"'==n.sliceString(e.pos,e.pos+1)?1:0),options:s,validFor:/^"[^"]*"?$/}:null}if("tag"==h){let t=ef(n,u),i=a[t],r=[],l=u&&u.lastChild;!t||l&&"CloseTag"==l.name&&Ku(n,l)==t||r.push(i?i.closeCompletion:{label:"</"+t+">",type:"type",boost:2});let h=r.concat(((null==i?void 0:i.children)||(u?s:o)).map(e=>e.openCompletion));if(u&&(null==i?void 0:i.text.length)){let t=u.firstChild;t.to>e.pos-20&&!/\S/.test(e.state.sliceDoc(t.to,e.pos))&&(h=h.concat(i.text))}return{from:c,options:h,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}return null}}const cf=sc.define({name:"xml",parser:Jh.configure({props:[kc.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}),zc.add({Element(e){let t=e.firstChild,n=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==n.name?n.from:e.to}:null}}),$u.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/$/}});function uf(e={}){return new mc(cf,cf.data.of({autocomplete:hf(e.elements||[],e.attributes||[])}))}const ff=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.head),i=gf(e.state,n.from);return i.line?pf(e):!!i.block&&mf(e)};function df(e,t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=e(t,n);return!!r&&(i(n.update(r)),!0)}}const pf=df(wf,0),Of=df(yf,0),mf=df((e,t)=>yf(e,t,xf(t)),0);function gf(e,t){let n=e.languageDataAt("commentTokens",t);return n.length?n[0]:{}}const Sf=50;function bf(e,{open:t,close:n},i,r){let s,o,a=e.sliceDoc(i-Sf,i),l=e.sliceDoc(r,r+Sf),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+n.length)==n)return{open:{pos:i-h,margin:h&&1},close:{pos:r+c,margin:c&&1}};r-i<=2*Sf?s=o=e.sliceDoc(i,r):(s=e.sliceDoc(i,i+Sf),o=e.sliceDoc(r-Sf,r));let f=/^\s*/.exec(s)[0].length,d=/\s*$/.exec(o)[0].length,p=o.length-d-n.length;return s.slice(f,f+t.length)==t&&o.slice(p,p+n.length)==n?{open:{pos:i+f+t.length,margin:/\s/.test(s.charAt(f+t.length))?1:0},close:{pos:r-d-n.length,margin:/\s/.test(o.charAt(p-1))?1:0}}:null}function xf(e){let t=[];for(let n of e.selection.ranges){let i=e.doc.lineAt(n.from),r=n.to<=i.to?i:e.doc.lineAt(n.to),s=t.length-1;s>=0&&t[s].to>i.from?t[s].to=r.to:t.push({from:i.from,to:r.to})}return t}function yf(e,t,n=t.selection.ranges){let i=n.map(e=>gf(t,e.from).block);if(!i.every(e=>e))return null;let r=n.map((e,n)=>bf(t,i[n],e.from,e.to));if(2!=e&&!r.every(e=>e))return{changes:t.changes(n.map((e,t)=>r[t]?[]:[{from:e.from,insert:i[t].open+" "},{from:e.to,insert:" "+i[t].close}]))};if(1!=e&&r.some(e=>e)){let e=[];for(let t,n=0;n<r.length;n++)if(t=r[n]){let r=i[n],{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 wf(e,t,n=t.selection.ranges){let i=[],r=-1;for(let{from:e,to:s}of n){let n=i.length,o=1e9;for(let n=e;n<=s;){let a=t.doc.lineAt(n);if(a.from>r&&(e==s||s>a.from)){r=a.from;let e=gf(t,a.from).line;if(!e)continue;let n=/^\s*/.exec(a.text)[0].length,s=n==a.length,l=a.text.slice(n,n+e.length)==e?n:-1;n<a.text.length&&n<o&&(o=n),i.push({line:a,comment:l,token:e,indent:n,empty:s,single:!1})}n=a.to+1}if(o<1e9)for(let e=n;e<i.length;e++)i[e].indent<i[e].line.text.length&&(i[e].indent=o);i.length==n+1&&(i[n].single=!0)}if(2!=e&&i.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:r,empty:s,single:o}of i)!o&&s||e.push({from:t.from+r,insert:n+" "});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(1!=e&&i.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:r}of i)if(n>=0){let i=t.from+n,s=i+r.length;" "==t.text[s-t.from]&&s++,e.push({from:i,to:s})}return{changes:e}}return null}const vf=ae.define(),kf=ae.define(),Qf=Y.define(),$f=Y.define({combine:e=>$e(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,i)=>e(n,i)||t(n,i)})});function Pf(e){let t=0;return e.iterChangedRanges((e,n)=>t=n),t}const Cf=D.define({create:()=>Lf.empty,update(e,t){let n=t.state.facet($f),i=t.annotation(vf);if(i){let r=t.docChanged?R.single(Pf(t.changes)):void 0,s=Mf.fromTransaction(t,r),o=i.side,a=0==o?e.undone:e.done;return a=s?Yf(a,a.length,n.minDepth,s):qf(a,t.startState.selection),new Lf(0==o?i.rest:a,0==o?a:i.rest)}let r=t.annotation(kf);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=Mf.fromTransaction(t),o=t.annotation(ue.time),a=t.annotation(ue.userEvent);return s?e=e.addChanges(s,o,a,n,t):t.selection&&(e=e.addSelection(t.startState.selection,o,a,n.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 Lf(e.done.map(Mf.fromJSON),e.undone.map(Mf.fromJSON))});function Xf(e={}){return[Cf,$f.of(e),xs.domEventHandlers({beforeinput(e,t){let n="historyUndo"==e.inputType?Zf:"historyRedo"==e.inputType?Af:null;return!!n&&(e.preventDefault(),n(t))}})]}function Tf(e,t){return function({state:n,dispatch:i}){if(!t&&n.readOnly)return!1;let r=n.field(Cf,!1);if(!r)return!1;let s=r.pop(e,n,t);return!!s&&(i(s),!0)}}const Zf=Tf(0,!1),Af=Tf(1,!1),Rf=Tf(0,!0),Vf=Tf(1,!0);class Mf{constructor(e,t,n,i,r){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=i,this.selectionsAfter=r}setSelAfter(e){return new Mf(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,n;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===(n=this.startSelection)||void 0===n?void 0:n.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(e){return new Mf(e.changes&&Q.fromJSON(e.changes),[],e.mapped&&k.fromJSON(e.mapped),e.startSelection&&R.fromJSON(e.startSelection),e.selectionsAfter.map(R.fromJSON))}static fromTransaction(e,t){let n=zf;for(let t of e.startState.facet(Qf)){let i=t(e);i.length&&(n=n.concat(i))}return!n.length&&e.changes.empty?null:new Mf(e.changes.invert(e.startState.doc),n,void 0,t||e.startState.selection,zf)}static selection(e){return new Mf(void 0,zf,void 0,void 0,e)}}function Yf(e,t,n,i){let r=t+1>n+20?t-n-1:0,s=e.slice(r,t);return s.push(i),s}function _f(e,t){let n=[],i=!1;return e.iterChangedRanges((e,t)=>n.push(e,t)),t.iterChangedRanges((e,t,r,s)=>{for(let e=0;e<n.length;){let t=n[e++],o=n[e++];s>=t&&r<=o&&(i=!0)}}),i}function Wf(e,t){return e.ranges.length==t.ranges.length&&0===e.ranges.filter((e,n)=>e.empty!=t.ranges[n].empty).length}function Ef(e,t){return e.length?t.length?e.concat(t):e:t}const zf=[],Uf=200;function qf(e,t){if(e.length){let n=e[e.length-1],i=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-Uf));return i.length&&i[i.length-1].eq(t)?e:(i.push(t),Yf(e,e.length-1,1e9,n.setSelAfter(i)))}return[Mf.selection([t])]}function Df(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function If(e,t){if(!e.length)return e;let n=e.length,i=zf;for(;n;){let r=jf(e[n-1],t,i);if(r.changes&&!r.changes.empty||r.effects.length){let t=e.slice(0,n);return t[n-1]=r,t}t=r.mapped,n--,i=r.selectionsAfter}return i.length?[Mf.selection(i)]:zf}function jf(e,t,n){let i=Ef(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):zf,n);if(!e.changes)return Mf.selection(i);let r=e.changes.map(t),s=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(s):s;return new Mf(r,ce.mapEffects(e.effects,t),o,e.startSelection.map(s),i)}const Bf=/^(input\.type|delete)($|\.)/;class Lf{constructor(e,t,n=0,i){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=i}isolate(){return this.prevTime?new Lf(this.done,this.undone):this}addChanges(e,t,n,i,r){let s=this.done,o=s[s.length-1];return s=o&&o.changes&&!o.changes.empty&&e.changes&&(!n||Bf.test(n))&&(!o.selectionsAfter.length&&t-this.prevTime<i.newGroupDelay&&i.joinToEvent(r,_f(o.changes,e.changes))||"input.type.compose"==n)?Yf(s,s.length-1,i.minDepth,new Mf(e.changes.compose(o.changes),Ef(e.effects,o.effects),o.mapped,o.startSelection,zf)):Yf(s,s.length,i.minDepth,e),new Lf(s,zf,t,n)}addSelection(e,t,n,i){let r=this.done.length?this.done[this.done.length-1].selectionsAfter:zf;return r.length>0&&t-this.prevTime<i&&n==this.prevUserEvent&&n&&/^select($|\.)/.test(n)&&Wf(r[r.length-1],e)?this:new Lf(qf(this.done,e),this.undone,t,n)}addMapping(e){return new Lf(If(this.done,e),If(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let i=0==e?this.done:this.undone;if(0==i.length)return null;let r=i[i.length-1];if(n&&r.selectionsAfter.length)return t.update({selection:r.selectionsAfter[r.selectionsAfter.length-1],annotations:vf.of({side:e,rest:Df(i)}),userEvent:0==e?"select.undo":"select.redo",scrollIntoView:!0});if(r.changes){let n=1==i.length?zf:i.slice(0,i.length-1);return r.mapped&&(n=If(n,r.mapped)),t.update({changes:r.changes,selection:r.startSelection,effects:r.effects,annotations:vf.of({side:e,rest:n}),filter:!1,userEvent:0==e?"undo":"redo",scrollIntoView:!0})}return null}}Lf.empty=new Lf(zf,zf);const Nf=[{key:"Mod-z",run:Zf,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Af,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Af,preventDefault:!0},{key:"Mod-u",run:Rf,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Vf,preventDefault:!0}];function Gf(e,t){return R.create(e.ranges.map(t),e.mainIndex)}function Ff(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Hf({state:e,dispatch:t},n){let i=Gf(e.selection,n);return!i.eq(e.selection)&&(t(Ff(e,i)),!0)}function Jf(e,t){return R.cursor(t?e.to:e.from)}function Kf(e,t){return Hf(e,n=>n.empty?e.moveByChar(n,t):Jf(n,t))}function ed(e){return e.textDirectionAt(e.state.selection.main.head)==Kn.LTR}const td=e=>Kf(e,!ed(e)),nd=e=>Kf(e,ed(e));function id(e,t){return Hf(e,n=>n.empty?e.moveByGroup(n,t):Jf(n,t))}const rd=e=>id(e,!ed(e)),sd=e=>id(e,ed(e));function od(e,t,n){if(t.type.prop(n))return!0;let i=t.to-t.from;return i&&(i>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function ad(e,t,n){let i,r,s=oc(e).resolveInner(t.head),o=n?Ra.closedBy:Ra.openedBy;for(let i=t.head;;){let t=n?s.childAfter(i):s.childBefore(i);if(!t)break;od(e,t,o)?s=t:i=n?t.to:t.from}return r=s.type.prop(o)&&(i=n?Xu(e,s.from,1):Xu(e,s.to,-1))&&i.matched?n?i.end.to:i.end.from:n?s.to:s.from,R.cursor(r,n?-1:1)}const ld=e=>Hf(e,t=>ad(e.state,t,!ed(e))),hd=e=>Hf(e,t=>ad(e.state,t,ed(e)));function cd(e,t){return Hf(e,n=>{if(!n.empty)return Jf(n,t);let i=e.moveVertically(n,t);return i.head!=n.head?i:e.moveToLineBoundary(n,t)})}const ud=e=>cd(e,!1),fd=e=>cd(e,!0);function dd(e){let t,n=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,i=0,r=0;if(n){for(let t of e.state.facet(xs.scrollMargins)){let n=t(e);(null==n?void 0:n.top)&&(i=Math.max(null==n?void 0:n.top,i)),(null==n?void 0:n.bottom)&&(r=Math.max(null==n?void 0:n.bottom,r))}t=e.scrollDOM.clientHeight-i-r}else t=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:i,marginBottom:r,selfScroll:n,height:Math.max(e.defaultLineHeight,t-5)}}function pd(e,t){let n,i=dd(e),{state:r}=e,s=Gf(r.selection,n=>n.empty?e.moveVertically(n,t,i.height):Jf(n,t));if(s.eq(r.selection))return!1;if(i.selfScroll){let t=e.coordsAtPos(r.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),a=o.top+i.marginTop,l=o.bottom-i.marginBottom;t&&t.top>a&&t.bottom<l&&(n=xs.scrollIntoView(s.main.head,{y:"start",yMargin:t.top-a}))}return e.dispatch(Ff(r,s),{effects:n}),!0}const Od=e=>pd(e,!1),md=e=>pd(e,!0);function gd(e,t,n){let i=e.lineBlockAt(t.head),r=e.moveToLineBoundary(t,n);if(r.head==t.head&&r.head!=(n?i.to:i.from)&&(r=e.moveToLineBoundary(t,n,!1)),!n&&r.head==i.from&&i.length){let n=/^\s*/.exec(e.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;n&&t.head!=i.from+n&&(r=R.cursor(i.from+n))}return r}const Sd=e=>Hf(e,t=>gd(e,t,!0)),bd=e=>Hf(e,t=>gd(e,t,!1)),xd=e=>Hf(e,t=>gd(e,t,!ed(e))),yd=e=>Hf(e,t=>gd(e,t,ed(e))),wd=e=>Hf(e,t=>R.cursor(e.lineBlockAt(t.head).from,1)),vd=e=>Hf(e,t=>R.cursor(e.lineBlockAt(t.head).to,-1));function kd(e,t,n){let i=!1,r=Gf(e.selection,t=>{let r=Xu(e,t.head,-1)||Xu(e,t.head,1)||t.head>0&&Xu(e,t.head-1,1)||t.head<e.doc.length&&Xu(e,t.head+1,-1);if(!r||!r.end)return t;i=!0;let s=r.start.from==t.head?r.end.to:r.end.from;return n?R.range(t.anchor,s):R.cursor(s)});return!!i&&(t(Ff(e,r)),!0)}const Qd=({state:e,dispatch:t})=>kd(e,t,!1);function $d(e,t){let n=Gf(e.state.selection,e=>{let n=t(e);return R.range(e.anchor,n.head,n.goalColumn,n.bidiLevel||void 0)});return!n.eq(e.state.selection)&&(e.dispatch(Ff(e.state,n)),!0)}function Pd(e,t){return $d(e,n=>e.moveByChar(n,t))}const Cd=e=>Pd(e,!ed(e)),Xd=e=>Pd(e,ed(e));function Td(e,t){return $d(e,n=>e.moveByGroup(n,t))}const Zd=e=>Td(e,!ed(e)),Ad=e=>Td(e,ed(e)),Rd=e=>$d(e,t=>ad(e.state,t,!ed(e))),Vd=e=>$d(e,t=>ad(e.state,t,ed(e)));function Md(e,t){return $d(e,n=>e.moveVertically(n,t))}const Yd=e=>Md(e,!1),_d=e=>Md(e,!0);function Wd(e,t){return $d(e,n=>e.moveVertically(n,t,dd(e).height))}const Ed=e=>Wd(e,!1),zd=e=>Wd(e,!0),Ud=e=>$d(e,t=>gd(e,t,!0)),qd=e=>$d(e,t=>gd(e,t,!1)),Dd=e=>$d(e,t=>gd(e,t,!ed(e))),Id=e=>$d(e,t=>gd(e,t,ed(e))),jd=e=>$d(e,t=>R.cursor(e.lineBlockAt(t.head).from)),Bd=e=>$d(e,t=>R.cursor(e.lineBlockAt(t.head).to)),Ld=({state:e,dispatch:t})=>(t(Ff(e,{anchor:0})),!0),Nd=({state:e,dispatch:t})=>(t(Ff(e,{anchor:e.doc.length})),!0),Gd=({state:e,dispatch:t})=>(t(Ff(e,{anchor:e.selection.main.anchor,head:0})),!0),Fd=({state:e,dispatch:t})=>(t(Ff(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Hd=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0),Jd=({state:e,dispatch:t})=>{let n=dp(e).map(({from:t,to:n})=>R.range(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:R.create(n),userEvent:"select"})),!0},Kd=({state:e,dispatch:t})=>{let n=Gf(e.selection,t=>{var n;let i=oc(e).resolveInner(t.head,1);for(;!(i.from<t.from&&i.to>=t.to||i.to>t.to&&i.from<=t.from)&&(null===(n=i.parent)||void 0===n?void 0:n.parent);)i=i.parent;return R.range(i.to,i.from)});return t(Ff(e,n)),!0},ep=({state:e,dispatch:t})=>{let n=e.selection,i=null;return n.ranges.length>1?i=R.create([n.main]):n.main.empty||(i=R.create([R.cursor(n.main.head)])),!!i&&(t(Ff(e,i)),!0)};function tp(e,t){if(e.state.readOnly)return!1;let n="delete.selection",{state:i}=e,r=i.changeByRange(i=>{let{from:r,to:s}=i;if(r==s){let i=t(r);i<r?(n="delete.backward",i=np(e,i,!1)):i>r&&(n="delete.forward",i=np(e,i,!0)),r=Math.min(r,i),s=Math.max(s,i)}else r=np(e,r,!1),s=np(e,s,!0);return r==s?{range:i}:{changes:{from:r,to:s},range:R.cursor(r)}});return!r.changes.empty&&(e.dispatch(i.update(r,{scrollIntoView:!0,userEvent:n,effects:"delete.selection"==n?xs.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function np(e,t,n){if(e instanceof xs)for(let i of e.state.facet(xs.atomicRanges).map(t=>t(e)))i.between(t,t,(e,i)=>{e<t&&i>t&&(t=n?i:e)});return t}const ip=(e,t)=>tp(e,n=>{let i,r,{state:s}=e,o=s.doc.lineAt(n);if(!t&&n>o.from&&n<o.from+200&&!/[^ \t]/.test(i=o.text.slice(0,n-o.from))){if("\t"==i[i.length-1])return n-1;let e=Ie(i,s.tabSize)%xc(s)||xc(s);for(let t=0;t<e&&" "==i[i.length-1-t];t++)n--;r=n}else r=p(o.text,n-o.from,t,t)+o.from,r==n&&o.number!=(t?s.doc.lines:1)&&(r+=t?1:-1);return r}),rp=e=>ip(e,!1),sp=e=>ip(e,!0),op=(e,t)=>tp(e,n=>{let i=n,{state:r}=e,s=r.doc.lineAt(i),o=r.charCategorizer(i);for(let e=null;;){if(i==(t?s.to:s.from)){i==n&&s.number!=(t?r.doc.lines:1)&&(i+=t?1:-1);break}let a=p(s.text,i-s.from,t)+s.from,l=s.text.slice(Math.min(i,a)-s.from,Math.max(i,a)-s.from),h=o(l);if(null!=e&&h!=e)break;" "==l&&i==n||(e=h),i=a}return i}),ap=e=>op(e,!1),lp=e=>op(e,!0),hp=e=>tp(e,t=>{let n=e.lineBlockAt(t).to;return t<n?n:Math.min(e.state.doc.length,t+1)}),cp=e=>tp(e,t=>{let n=e.lineBlockAt(t).from;return t>n?n:Math.max(0,t-1)}),up=({state:t,dispatch:n})=>{if(t.readOnly)return!1;let i=t.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e.of(["",""])},range:R.cursor(t.from)}));return n(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0},fp=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||0==t.from||t.from==e.doc.length)return{range:t};let n=t.from,i=e.doc.lineAt(n),r=n==i.from?n-1:p(i.text,n-i.from,!1)+i.from,s=n==i.to?n+1:p(i.text,n-i.from,!0)+i.from;return{changes:{from:r,to:s,insert:e.doc.slice(n,s).append(e.doc.slice(r,n))},range:R.cursor(s)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function dp(e){let t=[],n=-1;for(let i of e.selection.ranges){let r=e.doc.lineAt(i.from),s=e.doc.lineAt(i.to);if(i.empty||i.to!=s.from||(s=e.doc.lineAt(i.to-1)),n>=r.number){let e=t[t.length-1];e.to=s.to,e.ranges.push(i)}else t.push({from:r.from,to:s.to,ranges:[i]});n=s.number+1}return t}function pp(e,t,n){if(e.readOnly)return!1;let i=[],r=[];for(let t of dp(e)){if(n?t.to==e.doc.length:0==t.from)continue;let s=e.doc.lineAt(n?t.to+1:t.from-1),o=s.length+1;if(n){i.push({from:t.to,to:s.to},{from:t.from,insert:s.text+e.lineBreak});for(let n of t.ranges)r.push(R.range(Math.min(e.doc.length,n.anchor+o),Math.min(e.doc.length,n.head+o)))}else{i.push({from:s.from,to:t.from},{from:t.to,insert:e.lineBreak+s.text});for(let e of t.ranges)r.push(R.range(e.anchor-o,e.head-o))}}return!!i.length&&(t(e.update({changes:i,scrollIntoView:!0,selection:R.create(r,e.selection.mainIndex),userEvent:"move.line"})),!0)}const Op=({state:e,dispatch:t})=>pp(e,t,!1),mp=({state:e,dispatch:t})=>pp(e,t,!0);function gp(e,t,n){if(e.readOnly)return!1;let i=[];for(let t of dp(e))n?i.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):i.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:i,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Sp=({state:e,dispatch:t})=>gp(e,t,!1),bp=({state:e,dispatch:t})=>gp(e,t,!0),xp=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(dp(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),i=Gf(t.selection,t=>e.moveVertically(t,!0)).map(n);return e.dispatch({changes:n,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function yp(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n,i=oc(e).resolveInner(t),r=i.childBefore(t),s=i.childAfter(t);return r&&s&&r.to<=t&&s.from>=t&&(n=r.type.prop(Ra.closedBy))&&n.indexOf(s.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(s.from).from?{from:r.to,to:s.from}:null}const wp=vp(!1);function vp(t){return({state:n,dispatch:i})=>{if(n.readOnly)return!1;let r=n.changeByRange(i=>{let{from:r,to:s}=i,o=n.doc.lineAt(r),a=!t&&r==s&&yp(n,r);t&&(r=s=(s<=o.to?o:n.doc.lineAt(s)).to);let l=new vc(n,{simulateBreak:r,simulateDoubleBreak:!!a}),h=wc(l,r);for(null==h&&(h=/^\s*/.exec(n.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=["",yc(n,h)];return a&&c.push(yc(n,l.lineIndent(o.from,-1))),{changes:{from:r,to:s,insert:e.of(c)},range:R.cursor(r+1+c[1].length)}});return i(n.update(r,{scrollIntoView:!0,userEvent:"input"})),!0}}function kp(e,t){let n=-1;return e.changeByRange(i=>{let r=[];for(let s=i.from;s<=i.to;){let o=e.doc.lineAt(s);o.number>n&&(i.empty||i.to>o.from)&&(t(o,r,i),n=o.number),s=o.to+1}let s=e.changes(r);return{changes:r,range:R.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}const Qp=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(kp(e,(t,n)=>{n.push({from:t.from,insert:e.facet(bc)})}),{userEvent:"input.indent"})),!0),$p=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(kp(e,(t,n)=>{let i=/^\s*/.exec(t.text)[0];if(!i)return;let r=Ie(i,e.tabSize),s=0,o=yc(e,Math.max(0,r-xc(e)));for(;s<i.length&&s<o.length&&i.charCodeAt(s)==o.charCodeAt(s);)s++;n.push({from:t.from+s,to:t.from+i.length,insert:o.slice(s)})}),{userEvent:"delete.dedent"})),!0),Pp=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:ld,shift:Rd},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:hd,shift:Vd},{key:"Alt-ArrowUp",run:Op},{key:"Shift-Alt-ArrowUp",run:Sp},{key:"Alt-ArrowDown",run:mp},{key:"Shift-Alt-ArrowDown",run:bp},{key:"Escape",run:ep},{key:"Mod-Enter",run:vp(!0)},{key:"Alt-l",mac:"Ctrl-l",run:Jd},{key:"Mod-i",run:Kd,preventDefault:!0},{key:"Mod-[",run:$p},{key:"Mod-]",run:Qp},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),i=new vc(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),r=kp(e,(t,r,s)=>{let o=wc(i,t.from);if(null==o)return;/\S/.test(t.text)||(o=0);let a=/^\s*/.exec(t.text)[0],l=yc(e,o);(a!=l||s.from<t.from+a.length)&&(n[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:xp},{key:"Shift-Mod-\\",run:Qd},{key:"Mod-/",run:ff},{key:"Alt-A",run:Of}].concat([{key:"ArrowLeft",run:td,shift:Cd,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:rd,shift:Zd,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:xd,shift:Dd,preventDefault:!0},{key:"ArrowRight",run:nd,shift:Xd,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:sd,shift:Ad,preventDefault:!0},{mac:"Cmd-ArrowRight",run:yd,shift:Id,preventDefault:!0},{key:"ArrowUp",run:ud,shift:Yd,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Ld,shift:Gd},{mac:"Ctrl-ArrowUp",run:Od,shift:Ed},{key:"ArrowDown",run:fd,shift:_d,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Nd,shift:Fd},{mac:"Ctrl-ArrowDown",run:md,shift:zd},{key:"PageUp",run:Od,shift:Ed},{key:"PageDown",run:md,shift:zd},{key:"Home",run:bd,shift:qd,preventDefault:!0},{key:"Mod-Home",run:Ld,shift:Gd},{key:"End",run:Sd,shift:Ud,preventDefault:!0},{key:"Mod-End",run:Nd,shift:Fd},{key:"Enter",run:wp},{key:"Mod-a",run:Hd},{key:"Backspace",run:rp,shift:rp},{key:"Delete",run:sp},{key:"Mod-Backspace",mac:"Alt-Backspace",run:ap},{key:"Mod-Delete",mac:"Alt-Delete",run:lp},{mac:"Mod-Backspace",run:cp},{mac:"Mod-Delete",run:hp}].concat([{key:"Ctrl-b",run:td,shift:Cd,preventDefault:!0},{key:"Ctrl-f",run:nd,shift:Xd},{key:"Ctrl-p",run:ud,shift:Yd},{key:"Ctrl-n",run:fd,shift:_d},{key:"Ctrl-a",run:wd,shift:jd},{key:"Ctrl-e",run:vd,shift:Bd},{key:"Ctrl-d",run:sp},{key:"Ctrl-h",run:rp},{key:"Ctrl-k",run:hp},{key:"Ctrl-Alt-h",run:ap},{key:"Ctrl-o",run:up},{key:"Ctrl-t",run:fp},{key:"Ctrl-v",run:md}].map(e=>({mac:e.key,run:e.run,shift:e.shift})))),Cp={key:"Tab",run:Qp,shift:$p};function Xp(){var e=arguments[0];"string"==typeof e&&(e=document.createElement(e));var t=1,n=arguments[1];if(n&&"object"==typeof n&&null==n.nodeType&&!Array.isArray(n)){for(var i in n)if(Object.prototype.hasOwnProperty.call(n,i)){var r=n[i];"string"==typeof r?e.setAttribute(i,r):null!=r&&(e[i]=r)}t++}for(;t<arguments.length;t++)Tp(e,arguments[t]);return e}function Tp(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 n=0;n<t.length;n++)Tp(e,t[n])}}const Zp="function"==typeof String.prototype.normalize?e=>e.normalize("NFKD"):e=>e;class Ap{constructor(e,t,n=0,i=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(n,i),this.bufferStart=n,this.normalize=r?e=>r(Zp(e)):Zp,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=x(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=y(e);let i=this.normalize(t);for(let e=0,r=n;;e++){let s=i.charCodeAt(e),o=this.match(s,r);if(o)return this.value=o,this;if(e==i.length-1)break;r==n&&e<t.length&&t.charCodeAt(e)==s&&r++}}}match(e,t){let n=null;for(let i=0;i<this.matches.length;i+=2){let r=this.matches[i],s=!1;this.query.charCodeAt(r)==e&&(r==this.query.length-1?n={from:this.matches[i+1],to:t+1}:(this.matches[i]++,s=!0)),s||(this.matches.splice(i,2),i-=2)}return this.query.charCodeAt(0)==e&&(1==this.query.length?n={from:t,to:t+1}:this.matches.push(1,t)),n&&this.test&&!this.test(n.from,n.to,this.buffer,this.bufferPos)&&(n=null),n}}"undefined"!=typeof Symbol&&(Ap.prototype[Symbol.iterator]=function(){return this});const Rp={from:-1,to:-1,match:/.*/.exec("")},Vp="gm"+(null==/x/.unicode?"":"u");class Mp{constructor(e,t,n,i=0,r=e.length){if(this.text=e,this.to=r,this.curLine="",this.done=!1,this.value=Rp,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Wp(e,t,n,i,r);this.re=new RegExp(t,Vp+((null==n?void 0:n.ignoreCase)?"i":"")),this.test=null==n?void 0:n.test,this.iter=e.iter();let s=e.lineAt(i);this.curLineStart=s.from,this.matchPos=zp(e,i),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 n=this.curLineStart+t.index,i=n+t[0].length;if(this.matchPos=zp(this.text,i+(n==i?1:0)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<i||n>this.value.to)&&(!this.test||this.test(n,i,t)))return this.value={from:n,to:i,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 Yp=new WeakMap;class _p{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(e,t,n){let i=Yp.get(e);if(!i||i.from>=n||i.to<=t){let i=new _p(t,e.sliceString(t,n));return Yp.set(e,i),i}if(i.from==t&&i.to==n)return i;let{text:r,from:s}=i;return s>t&&(r=e.sliceString(t,s)+r,s=t),i.to<n&&(r+=e.sliceString(i.to,n)),Yp.set(e,new _p(s,r)),new _p(t,r.slice(t-s,n-s))}}class Wp{constructor(e,t,n,i,r){this.text=e,this.to=r,this.done=!1,this.value=Rp,this.matchPos=zp(e,i),this.re=new RegExp(t,Vp+((null==n?void 0:n.ignoreCase)?"i":"")),this.test=null==n?void 0:n.test,this.flat=_p.get(e,i,this.chunkEnd(i+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,n=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,n,t)))return this.value={from:e,to:n,match:t},this.matchPos=zp(this.text,n+(e==n?1:0)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=_p.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+2*this.flat.text.length))}}}function Ep(e){try{return new RegExp(e,Vp),!0}catch(e){return!1}}function zp(e,t){if(t>=e.length)return t;let n,i=e.lineAt(t);for(;t<i.to&&(n=i.text.charCodeAt(t-i.from))>=56320&&n<57344;)t++;return t}function Up(e){let t=Xp("input",{class:"cm-textfield",name:"line"});function n(){let n=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.value);if(!n)return;let{state:i}=e,r=i.doc.lineAt(i.selection.main.head),[,s,o,a,l]=n,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/i.doc.lines),c=Math.round(i.doc.lines*e)}else o&&s&&(c=c*("-"==s?-1:1)+r.number);let u=i.doc.line(Math.max(1,Math.min(i.doc.lines,c)));e.dispatch({effects:qp.of(!1),selection:R.cursor(u.from+Math.max(0,Math.min(h,u.length))),scrollIntoView:!0}),e.focus()}return{dom:Xp("form",{class:"cm-gotoLine",onkeydown:t=>{27==t.keyCode?(t.preventDefault(),e.dispatch({effects:qp.of(!1)}),e.focus()):13==t.keyCode&&(t.preventDefault(),n())},onsubmit:e=>{e.preventDefault(),n()}},Xp("label",e.state.phrase("Go to line"),": ",t)," ",Xp("button",{class:"cm-button",type:"submit"},e.state.phrase("go")))}}"undefined"!=typeof Symbol&&(Mp.prototype[Symbol.iterator]=Wp.prototype[Symbol.iterator]=function(){return this});const qp=ce.define(),Dp=D.define({create:()=>!0,update(e,t){for(let n of t.effects)n.is(qp)&&(e=n.value);return e},provide:e=>sa.from(e,e=>e?Up:null)}),Ip=e=>{let t=ta(e,Up);if(!t){let n=[qp.of(!0)];null==e.state.field(Dp,!1)&&n.push(ce.appendConfig.of([Dp,jp])),e.dispatch({effects:n}),t=ta(e,Up)}return t&&t.dom.querySelector("input").focus(),!0},jp=xs.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}}),Bp={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Lp=Y.define({combine:e=>$e(e,Bp,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})});function Np(e){let t=[eO,Kp];return e&&t.push(Lp.of(e)),t}const Gp=mn.mark({class:"cm-selectionMatch"}),Fp=mn.mark({class:"cm-selectionMatch cm-selectionMatch-main"});function Hp(e,t,n,i){return!(0!=n&&e(t.sliceDoc(n-1,n))==xe.Word||i!=t.doc.length&&e(t.sliceDoc(i,i+1))==xe.Word)}function Jp(e,t,n,i){return e(t.sliceDoc(n,n+1))==xe.Word&&e(t.sliceDoc(i-1,i))==xe.Word}const Kp=Dn.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(Lp),{state:n}=e,i=n.selection;if(i.ranges.length>1)return mn.none;let r,s=i.main,o=null;if(s.empty){if(!t.highlightWordAroundCursor)return mn.none;let e=n.wordAt(s.head);if(!e)return mn.none;o=n.charCategorizer(s.head),r=n.sliceDoc(e.from,e.to)}else{let e=s.to-s.from;if(e<t.minSelectionLength||e>200)return mn.none;if(t.wholeWords){if(r=n.sliceDoc(s.from,s.to),o=n.charCategorizer(s.head),!Hp(o,n,s.from,s.to)||!Jp(o,n,s.from,s.to))return mn.none}else if(r=n.sliceDoc(s.from,s.to).trim(),!r)return mn.none}let a=[];for(let i of e.visibleRanges){let e=new Ap(n.doc,r,i.from,i.to);for(;!e.next().done;){let{from:i,to:r}=e.value;if((!o||Hp(o,n,i,r))&&(s.empty&&i<=s.from&&r>=s.to?a.push(Fp.range(i,r)):(i>=s.to||r<=s.from)&&a.push(Gp.range(i,r)),a.length>t.maxMatches))return mn.none}}return mn.set(a)}},{decorations:e=>e.decorations}),eO=xs.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}}),tO=({state:e,dispatch:t})=>{let{selection:n}=e,i=R.create(n.ranges.map(t=>e.wordAt(t.head)||R.cursor(t.head)),n.mainIndex);return!i.eq(n)&&(t(e.update({selection:i})),!0)};function nO(e,t){let{main:n,ranges:i}=e.selection,r=e.wordAt(n.head),s=r&&r.from==n.from&&r.to==n.to;for(let n=!1,r=new Ap(e.doc,t,i[i.length-1].to);;){if(r.next(),!r.done){if(n&&i.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(n)return null;r=new Ap(e.doc,t,0,Math.max(0,i[i.length-1].from-1)),n=!0}}const iO=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return tO({state:e,dispatch:t});let i=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=i))return!1;let r=nO(e,i);return!!r&&(t(e.update({selection:e.selection.addRange(R.range(r.from,r.to),!1),effects:xs.scrollIntoView(r.to)})),!0)},rO=Y.define({combine:e=>$e(e,{top:!1,caseSensitive:!1,literal:!1,wholeWord:!1,createPanel:e=>new VO(e)})});class sO{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||Ep(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 pO(this):new hO(this)}getCursor(e,t=0,n){let i=e.doc?e:Qe.create({doc:e});return null==n&&(n=i.doc.length),this.regexp?cO(this,i,t,n):aO(this,i,t,n)}}class oO{constructor(e){this.spec=e}}function aO(e,t,n,i){return new Ap(t.doc,e.unquoted,n,i,e.caseSensitive?void 0:e=>e.toLowerCase(),e.wholeWord?lO(t.doc,t.charCategorizer(t.selection.main.head)):void 0)}function lO(e,t){return(n,i,r,s)=>((s>n||s+r.length<i)&&(s=Math.max(0,n-2),r=e.sliceString(s,Math.min(e.length,i+2))),!(t(uO(r,n-s))==xe.Word&&t(fO(r,n-s))==xe.Word||t(fO(r,i-s))==xe.Word&&t(uO(r,i-s))==xe.Word))}class hO extends oO{constructor(e){super(e)}nextMatch(e,t,n){let i=aO(this.spec,e,n,e.doc.length).nextOverlapping();return i.done&&(i=aO(this.spec,e,0,t).nextOverlapping()),i.done?null:i.value}prevMatchInRange(e,t,n){for(let i=n;;){let n=Math.max(t,i-1e4-this.spec.unquoted.length),r=aO(this.spec,e,n,i),s=null;for(;!r.nextOverlapping().done;)s=r.value;if(s)return s;if(n==t)return null;i-=1e4}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=aO(this.spec,e,0,e.doc.length),i=[];for(;!n.next().done;){if(i.length>=t)return null;i.push(n.value)}return i}highlight(e,t,n,i){let r=aO(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}function cO(e,t,n,i){return new Mp(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:e.wholeWord?dO(t.charCategorizer(t.selection.main.head)):void 0},n,i)}function uO(e,t){return e.slice(p(e,t,!1),t)}function fO(e,t){return e.slice(t,p(e,t))}function dO(e){return(t,n,i)=>!i[0].length||(e(uO(i.input,i.index))!=xe.Word||e(fO(i.input,i.index))!=xe.Word)&&(e(fO(i.input,i.index+i[0].length))!=xe.Word||e(uO(i.input,i.index+i[0].length))!=xe.Word)}class pO extends oO{nextMatch(e,t,n){let i=cO(this.spec,e,n,e.doc.length).next();return i.done&&(i=cO(this.spec,e,0,t).next()),i.done?null:i.value}prevMatchInRange(e,t,n){for(let i=1;;i++){let r=Math.max(t,n-1e4*i),s=cO(this.spec,e,r,n),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,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace.replace(/\$([$&\d+])/g,(t,n)=>"$"==n?"$":"&"==n?e.match[0]:"0"!=n&&+n<e.match.length?e.match[n]:t))}matchAll(e,t){let n=cO(this.spec,e,0,e.doc.length),i=[];for(;!n.next().done;){if(i.length>=t)return null;i.push(n.value)}return i}highlight(e,t,n,i){let r=cO(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!r.next().done;)i(r.value.from,r.value.to)}}const OO=ce.define(),mO=ce.define(),gO=D.define({create:e=>new SO(TO(e).create(),null),update(e,t){for(let n of t.effects)n.is(OO)?e=new SO(n.value.create(),e.panel):n.is(mO)&&(e=new SO(e.query,n.value?XO:null));return e},provide:e=>sa.from(e,e=>e.panel)});class SO{constructor(e,t){this.query=e,this.panel=t}}const bO=mn.mark({class:"cm-searchMatch"}),xO=mn.mark({class:"cm-searchMatch cm-searchMatch-selected"}),yO=Dn.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(gO))}update(e){let t=e.state.field(gO);(t!=e.startState.field(gO)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return mn.none;let{view:n}=this,i=new Re;for(let t=0,r=n.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(n.state,o,a,(e,t)=>{let r=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);i.add(e,t,r?xO:bO)})}return i.finish()}},{decorations:e=>e.decorations});function wO(e){return t=>{let n=t.state.field(gO,!1);return n&&n.query.spec.valid?e(t,n):ZO(t)}}const vO=wO((e,{query:t})=>{let{to:n}=e.state.selection.main,i=t.nextMatch(e.state,n,n);return!!i&&(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0,effects:WO(e,i),userEvent:"select.search"}),!0)}),kO=wO((e,{query:t})=>{let{state:n}=e,{from:i}=n.selection.main,r=t.prevMatch(n,i,i);return!!r&&(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0,effects:WO(e,r),userEvent:"select.search"}),!0)}),QO=wO((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!(!n||!n.length)&&(e.dispatch({selection:R.create(n.map(e=>R.range(e.from,e.to))),userEvent:"select.search.matches"}),!0)}),$O=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:i,to:r}=n.main,s=[],o=0;for(let t=new Ap(e.doc,e.sliceDoc(i,r));!t.next().done;){if(s.length>1e3)return!1;t.value.from==i&&(o=s.length),s.push(R.range(t.value.from,t.value.to))}return t(e.update({selection:R.create(s,o),userEvent:"select.search.matches"})),!0},PO=wO((e,{query:t})=>{let{state:n}=e,{from:i,to:r}=n.selection.main;if(n.readOnly)return!1;let s=t.nextMatch(n,i,i);if(!s)return!1;let o,a,l=[],h=[];if(s.from==i&&s.to==r&&(a=n.toText(t.getReplacement(s)),l.push({from:s.from,to:s.to,insert:a}),s=t.nextMatch(n,s.from,s.to),h.push(xs.announce.of(n.phrase("replaced match on line $",n.doc.lineAt(i).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(WO(e,s))}return e.dispatch({changes:l,selection:o,scrollIntoView:!!o,effects:h,userEvent:"input.replace"}),!0}),CO=wO((e,{query:t})=>{if(e.state.readOnly)return!1;let n=t.matchAll(e.state,1e9).map(e=>{let{from:n,to:i}=e;return{from:n,to:i,insert:t.getReplacement(e)}});if(!n.length)return!1;let i=e.state.phrase("replaced $ matches",n.length)+".";return e.dispatch({changes:n,effects:xs.announce.of(i),userEvent:"input.replace.all"}),!0});function XO(e){return e.state.facet(rO).createPanel(e)}function TO(e,t){var n,i,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(rO);return new sO({search:(null!==(n=null==t?void 0:t.literal)&&void 0!==n?n:l.literal)?a:a.replace(/\n/g,"\\n"),caseSensitive:null!==(i=null==t?void 0:t.caseSensitive)&&void 0!==i?i: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 ZO=e=>{let t=e.state.field(gO,!1);if(t&&t.panel){let n=ta(e,XO);if(!n)return!1;let i=n.dom.querySelector("[main-field]");if(i&&i!=e.root.activeElement){let n=TO(e.state,t.query.spec);n.valid&&e.dispatch({effects:OO.of(n)}),i.focus(),i.select()}}else e.dispatch({effects:[mO.of(!0),t?OO.of(TO(e.state,t.query.spec)):ce.appendConfig.of(zO)]});return!0},AO=e=>{let t=e.state.field(gO,!1);if(!t||!t.panel)return!1;let n=ta(e,XO);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:mO.of(!1)}),!0},RO=[{key:"Mod-f",run:ZO,scope:"editor search-panel"},{key:"F3",run:vO,shift:kO,scope:"editor search-panel",preventDefault:!0},{key:"Mod-g",run:vO,shift:kO,scope:"editor search-panel",preventDefault:!0},{key:"Escape",run:AO,scope:"editor search-panel"},{key:"Mod-Shift-l",run:$O},{key:"Alt-g",run:Ip},{key:"Mod-d",run:iO,preventDefault:!0}];class VO{constructor(e){this.view=e;let t=this.query=e.state.field(gO).query.spec;function n(e,t,n){return Xp("button",{class:"cm-button",name:e,onclick:t,type:"button"},n)}this.commit=this.commit.bind(this),this.searchField=Xp("input",{value:t.search,placeholder:MO(e,"Find"),"aria-label":MO(e,"Find"),class:"cm-textfield",name:"search",form:"","main-field":"true",onchange:this.commit,onkeyup:this.commit}),this.replaceField=Xp("input",{value:t.replace,placeholder:MO(e,"Replace"),"aria-label":MO(e,"Replace"),class:"cm-textfield",name:"replace",form:"",onchange:this.commit,onkeyup:this.commit}),this.caseField=Xp("input",{type:"checkbox",name:"case",form:"",checked:t.caseSensitive,onchange:this.commit}),this.reField=Xp("input",{type:"checkbox",name:"re",form:"",checked:t.regexp,onchange:this.commit}),this.wordField=Xp("input",{type:"checkbox",name:"word",form:"",checked:t.wholeWord,onchange:this.commit}),this.dom=Xp("div",{onkeydown:e=>this.keydown(e),class:"cm-search"},[this.searchField,n("next",()=>vO(e),[MO(e,"next")]),n("prev",()=>kO(e),[MO(e,"previous")]),n("select",()=>QO(e),[MO(e,"all")]),Xp("label",null,[this.caseField,MO(e,"match case")]),Xp("label",null,[this.reField,MO(e,"regexp")]),Xp("label",null,[this.wordField,MO(e,"by word")]),...e.state.readOnly?[]:[Xp("br"),this.replaceField,n("replace",()=>PO(e),[MO(e,"replace")]),n("replaceAll",()=>CO(e),[MO(e,"replace all")])],Xp("button",{name:"close",onclick:()=>AO(e),"aria-label":MO(e,"close"),type:"button"},["×"])])}commit(){let e=new sO({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:OO.of(e)}))}keydown(e){As(this.view,e,"search-panel")?e.preventDefault():13==e.keyCode&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?kO:vO)(this.view)):13==e.keyCode&&e.target==this.replaceField&&(e.preventDefault(),PO(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(OO)&&!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(rO).top}}function MO(e,t){return e.state.phrase(t)}const YO=30,_O=/[\s\.,:;?!]/;function WO(e,{from:t,to:n}){let i=e.state.doc.lineAt(t),r=e.state.doc.lineAt(n).to,s=Math.max(i.from,t-YO),o=Math.min(r,n+YO),a=e.state.sliceDoc(s,o);if(s!=i.from)for(let e=0;e<YO;e++)if(!_O.test(a[e+1])&&_O.test(a[e])){a=a.slice(e);break}if(o!=r)for(let e=a.length-1;e>a.length-YO;e--)if(!_O.test(a[e-1])&&_O.test(a[e])){a=a.slice(0,e);break}return xs.announce.of(`${e.state.phrase("current match")}. ${a} ${e.state.phrase("on line")} ${i.number}.`)}const EO=xs.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"}}),zO=[gO,B.lowest(yO),EO];class UO{constructor(e,t,n){this.state=e,this.pos=t,this.explicit=n,this.abortListeners=[]}tokenBefore(e){let t=oc(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),n=Math.max(t.from,this.pos-250),i=t.text.slice(n-t.from,this.pos-t.from),r=i.search(NO(e,!1));return r<0?null:{from:n+r,to:this.pos,text:i.slice(r)}}get aborted(){return null==this.abortListeners}addEventListener(e,t){"abort"==e&&this.abortListeners&&this.abortListeners.push(t)}}function qO(e){let t=Object.keys(e).join(""),n=/\w/.test(t);return n&&(t=t.replace(/\w/g,"")),`[${n?"\\w":""}${t.replace(/[^\w\s]/g,"\\$&")}]`}function DO(e){let t=Object.create(null),n=Object.create(null);for(let{label:i}of e){t[i[0]]=!0;for(let e=1;e<i.length;e++)n[i[e]]=!0}let i=qO(t)+qO(n)+"*$";return[new RegExp("^"+i),new RegExp(i)]}function IO(e){let t=e.map(e=>"string"==typeof e?{label:e}:e),[n,i]=t.every(e=>/^\w+$/.test(e.label))?[/\w*$/,/\w+$/]:DO(t);return e=>{let r=e.matchBefore(i);return r||e.explicit?{from:r?r.from:e.pos,options:t,validFor:n}:null}}function jO(e,t){return n=>{for(let t=oc(n.state).resolveInner(n.pos,-1);t;t=t.parent){if(e.indexOf(t.name)>-1)return null;if(t.type.isTop)break}return t(n)}}class BO{constructor(e,t,n,i){this.completion=e,this.source=t,this.match=n,this.score=i}}function LO(e){return e.selection.main.from}function NO(e,t){var n;let{source:i}=e,r=t&&"^"!=i[0],s="$"!=i[i.length-1];return r||s?new RegExp(`${r?"^":""}(?:${i})${s?"$":""}`,null!==(n=e.flags)&&void 0!==n?n:e.ignoreCase?"i":""):e}const GO=ae.define();function FO(e,t,n,i){let{main:r}=e.selection,s=n-r.from,o=i-r.from;return Object.assign(Object.assign({},e.changeByRange(a=>a!=r&&n!=i&&e.sliceDoc(a.from+s,a.from+o)!=e.sliceDoc(n,i)?{range:a}:{changes:{from:a.from+s,to:i==r.from?a.to:a.from+o,insert:t},range:R.cursor(a.from+s+t.length)})),{userEvent:"input.complete"})}const HO=new WeakMap;function JO(e){if(!Array.isArray(e))return e;let t=HO.get(e);return t||HO.set(e,t=IO(e)),t}const KO=ce.define(),em=ce.define();class tm{constructor(e){this.pattern=e,this.chars=[],this.folded=[],this.any=[],this.precise=[],this.byWord=[];for(let t=0;t<e.length;){let n=b(e,t),i=y(n);this.chars.push(n);let r=e.slice(t,t+i),s=r.toUpperCase();this.folded.push(b(s==r?r.toLowerCase():s,0)),t+=i}this.astral=e.length!=this.chars.length}match(e){if(0==this.pattern.length)return[-100];if(e.length<this.pattern.length)return null;let{chars:t,folded:n,any:i,precise:r,byWord:s}=this;if(1==t.length){let i=b(e,0),r=y(i),s=r==e.length?0:-100;if(i==t[0]);else{if(i!=n[0])return null;s+=-200}return[s,0,r]}let o=e.indexOf(this.pattern);if(0==o)return[e.length==this.pattern.length?0:-100,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!=n[l]||(i[l++]=r),r+=y(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 i=0,l=Math.min(e.length,200),g=0;i<l&&c<a;){let l=b(e,i);o<0&&(h<a&&l==t[h]&&(r[h++]=i),f<a&&(l==t[f]||l==n[f]?(0==f&&(d=i),p=i+1,f++):f=0));let S,w=l<255?l>=48&&l<=57||l>=97&&l<=122?2:l>=65&&l<=90?1:0:(S=x(l))!=S.toLowerCase()?1:S!=S.toUpperCase()?2:0;(!i||1==w&&O||0==g&&0!=w)&&(t[c]==l||n[c]==l&&(u=!0)?s[c++]=i:s.length&&(m=!1)),g=w,i+=y(l)}return c==a&&0==s[0]&&m?this.result((u?-200:0)-100,s,e):f==a&&0==d?[-200-e.length+(p==e.length?0:-100),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((i[0]?-700:0)-200-1100,i,e)}result(e,t,n){let i=[e-n.length],r=1;for(let e of t){let t=e+(this.astral?y(b(n,e)):1);r>1&&i[r-1]==e?i[r-1]=t:(i[r++]=e,i[r++]=t)}return i}}const nm=Y.define({combine:e=>$e(e,{activateOnTyping:!0,selectOnOpen:!0,override:null,closeOnBlur:!0,maxRenderedOptions:100,defaultKeymap:!0,tooltipClass:()=>"",optionClass:()=>"",aboveCursor:!1,icons:!0,addToOptions:[],positionInfo:rm,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)=>n=>im(e(n),t(n)),optionClass:(e,t)=>n=>im(e(n),t(n)),addToOptions:(e,t)=>e.concat(t)})});function im(e,t){return e?t?e+" "+t:e:t}function rm(e,t,n,i,r){let s,o,a=e.textDirection==Kn.RTL,l=a,h=!1,c="top",u=t.left-r.left,f=r.right-t.right,d=i.right-i.left,p=i.bottom-i.top;if(l&&u<Math.min(d,f)?l=!1:!l&&f<Math.min(d,u)&&(l=!0),d<=(l?u:f))s=Math.max(r.top,Math.min(n.top,r.bottom-p))-t.top,o=Math.min(400,l?u:f);else{h=!0,o=Math.min(400,(a?t.right:r.right-t.left)-30);let e=r.bottom-t.bottom;e>=p||e>t.top?s=n.bottom-t.top:(c="bottom",s=t.bottom-n.top)}return{style:`${c}: ${s}px; max-width: ${o}px`,class:"cm-completionInfo-"+(h?a?"left-narrow":"right-narrow":l?"left":"right")}}function sm(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,n){let i=document.createElement("span");i.className="cm-completionLabel";let{label:r}=e,s=0;for(let e=1;e<n.length;){let t=n[e++],o=n[e++];t>s&&i.appendChild(document.createTextNode(r.slice(s,t)));let a=i.appendChild(document.createElement("span"));a.appendChild(document.createTextNode(r.slice(t,o))),a.className="cm-completionMatchedText",s=o}return s<r.length&&i.appendChild(document.createTextNode(r.slice(s))),i},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 om(e,t,n){if(e<=n)return{from:0,to:e};if(t<0&&(t=0),t<=e>>1){let e=Math.floor(t/n);return{from:e*n,to:(e+1)*n}}let i=Math.floor((e-t)/n);return{from:e-(i+1)*n,to:e-i*n}}class am{constructor(e,t,n){this.view=e,this.stateField=t,this.applyCompletion=n,this.info=null,this.infoDestroy=null,this.placeInfoReq={read:()=>this.measureInfo(),write:e=>this.placeInfo(e),key:this},this.space=null,this.currentClass="";let i=e.state.field(t),{options:r,selected:s}=i.open,o=e.state.facet(nm);this.optionContent=sm(o),this.optionClass=o.optionClass,this.tooltipClass=o.tooltipClass,this.range=om(r.length,s,o.maxRenderedOptions),this.dom=document.createElement("div"),this.dom.className="cm-tooltip-autocomplete",this.updateTooltipClass(e.state),this.dom.addEventListener("mousedown",t=>{for(let n,i=t.target;i&&i!=this.dom;i=i.parentNode)if("LI"==i.nodeName&&(n=/-(\d+)$/.exec(i.id))&&+n[1]<r.length)return this.applyCompletion(e,r[+n[1]]),void t.preventDefault()}),this.dom.addEventListener("focusout",t=>{let n=e.state.field(this.stateField,!1);n&&n.tooltip&&e.state.facet(nm).closeOnBlur&&t.relatedTarget!=e.contentDOM&&e.dispatch({effects:em.of(null)})}),this.list=this.dom.appendChild(this.createListBox(r,i.id,this.range)),this.list.addEventListener("scroll",()=>{this.info&&this.view.requestMeasure(this.placeInfoReq)})}mount(){this.updateSel()}update(e){var t,n,i;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===(n=s.open)||void 0===n?void 0:n.disabled)&&this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!(null===(i=r.open)||void 0===i?void 0:i.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.placeInfoReq)}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=om(t.options.length,t.selected,this.view.state.facet(nm).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.placeInfoReq)})),this.updateSelectedOption(t.selected)){this.destroyInfo();let{completion:n}=t.options[t.selected],{info:i}=n;if(!i)return;let r="string"==typeof i?document.createTextNode(i):i(n);if(!r)return;"then"in r?r.then(t=>{t&&this.view.state.field(this.stateField,!1)==e&&this.addInfoPane(t,n)}).catch(e=>En(this.view.state,e,"completion info")):this.addInfoPane(r,n)}}addInfoPane(e,t){this.destroyInfo();let n=this.info=document.createElement("div");if(n.className="cm-tooltip cm-completionInfo",null!=e.nodeType)n.appendChild(e),this.infoDestroy=null;else{let{dom:t,destroy:i}=e;n.appendChild(t),this.infoDestroy=i||null}this.dom.appendChild(n),this.view.requestMeasure(this.placeInfoReq)}updateSelectedOption(e){let t=null;for(let n=this.list.firstChild,i=this.range.from;n;n=n.nextSibling,i++)"LI"==n.nodeName&&n.id?i==e?n.hasAttribute("aria-selected")||(n.setAttribute("aria-selected","true"),t=n):n.hasAttribute("aria-selected")&&n.removeAttribute("aria-selected"):i--;return t&&hm(this.list,t),t}measureInfo(){let e=this.dom.querySelector("[aria-selected]");if(!e||!this.info)return null;let t=this.dom.getBoundingClientRect(),n=this.info.getBoundingClientRect(),i=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}}return i.top>Math.min(r.bottom,t.bottom)-10||i.bottom<Math.max(r.top,t.top)+10?null:this.view.state.facet(nm).positionInfo(this.view,t,i,n,r)}placeInfo(e){this.info&&(e?(e.style&&(this.info.style.cssText=e.style),this.info.className="cm-tooltip cm-completionInfo "+(e.class||"")):this.info.style.cssText="top: -1e6px")}createListBox(e,t,n){const i=document.createElement("ul");i.id=t,i.setAttribute("role","listbox"),i.setAttribute("aria-expanded","true"),i.setAttribute("aria-label",this.view.state.phrase("Completions"));let r=null;for(let s=n.from;s<n.to;s++){let{completion:o,match:a}=e[s],{section:l}=o;if(l){let e="string"==typeof l?l:l.name;if(e!=r&&(s>n.from||0==n.from))if(r=e,"string"!=typeof l&&l.header)i.appendChild(l.header(l));else{i.appendChild(document.createElement("completion-section")).textContent=e}}const h=i.appendChild(document.createElement("li"));h.id=t+"-"+s,h.setAttribute("role","option");let c=this.optionClass(o);c&&(h.className=c);for(let e of this.optionContent){let t=e(o,this.view.state,a);t&&h.appendChild(t)}}return n.from&&i.classList.add("cm-completionListIncompleteTop"),n.to<e.length&&i.classList.add("cm-completionListIncompleteBottom"),i}destroyInfo(){this.info&&(this.infoDestroy&&this.infoDestroy(),this.info.remove(),this.info=null)}destroy(){this.destroyInfo()}}function lm(e,t){return n=>new am(n,e,t)}function hm(e,t){let n=e.getBoundingClientRect(),i=t.getBoundingClientRect();i.top<n.top?e.scrollTop-=n.top-i.top:i.bottom>n.bottom&&(e.scrollTop+=i.bottom-n.bottom)}function cm(e){return 100*(e.boost||0)+(e.apply?10:0)+(e.info?5:0)+(e.type?1:0)}function um(e,t){let n=[],i=null,r=e=>{n.push(e);let{section:t}=e.completion;if(t){i||(i=[]);let e="string"==typeof t?t:t.name;i.some(t=>t.name==e)||i.push("string"==typeof t?{name:e}:t)}};for(let i of e)if(i.hasResult())if(!1===i.result.filter){let e=i.result.getMatch;for(let t of i.result.options){let s=[1e9-n.length];if(e)for(let n of e(t))s.push(n);r(new BO(t,i.source,s,s[0]))}}else{let e,n=new tm(t.sliceDoc(i.from,i.to));for(let t of i.result.options)(e=n.match(t.label))&&r(new BO(t,i.source,e,e[0]+(t.boost||0)))}if(i){let e=Object.create(null),t=0,r=(e,t)=>{var n,i;return(null!==(n=e.rank)&&void 0!==n?n:1e9)-(null!==(i=t.rank)&&void 0!==i?i:1e9)||(e.name<t.name?-1:1)};for(let n of i.sort(r))t-=1e5,e[n.name]=t;for(let t of n){let{section:n}=t.completion;n&&(t.score+=e["string"==typeof n?n:n.name])}}let s=[],o=null,a=t.facet(nm).compareCompletions;for(let e of n.sort((e,t)=>t.score-e.score||a(e.completion,t.completion))){let t=e.completion;!o||o.label!=t.label||o.detail!=t.detail||null!=o.type&&null!=t.type&&o.type!=t.type||o.apply!=t.apply||o.boost!=t.boost?s.push(e):cm(e.completion)>cm(o)&&(s[s.length-1]=e),o=e.completion}return s}class fm{constructor(e,t,n,i,r,s){this.options=e,this.attrs=t,this.tooltip=n,this.timestamp=i,this.selected=r,this.disabled=s}setSelected(e,t){return e==this.selected||e>=this.options.length?this:new fm(this.options,mm(t,e),this.tooltip,this.timestamp,e,this.disabled)}static build(e,t,n,i,r){let s=um(e,t);if(!s.length)return i&&e.some(e=>1==e.state)?new fm(i.options,i.attrs,i.tooltip,i.timestamp,i.selected,!0):null;let o=t.facet(nm).selectOnOpen?0:-1;if(i&&i.selected!=o&&-1!=i.selected){let e=i.options[i.selected].completion;for(let t=0;t<s.length;t++)if(s[t].completion==e){o=t;break}}return new fm(s,mm(n,o),{pos:e.reduce((e,t)=>t.hasResult()?Math.min(e,t.from):e,1e8),create:lm(km,Qm),above:r.aboveCursor},i?i.timestamp:Date.now(),o,!1)}map(e){return new fm(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:e.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled)}}class dm{constructor(e,t,n){this.active=e,this.id=t,this.open=n}static start(){return new dm(gm,"cm-ac-"+Math.floor(2e6*Math.random()).toString(36),null)}update(e){let{state:t}=e,n=t.facet(nm),i=(n.override||t.languageDataAt("autocomplete",LO(t)).map(JO)).map(t=>(this.active.find(e=>e.source==t)||new bm(t,this.active.some(e=>0!=e.state)?1:0)).update(e,n));i.length==this.active.length&&i.every((e,t)=>e==this.active[t])&&(i=this.active);let r=this.open;r&&e.docChanged&&(r=r.map(e.changes)),e.selection||i.some(t=>t.hasResult()&&e.changes.touchesRange(t.from,t.to))||!pm(i,this.active)?r=fm.build(i,t,this.id,r,n):r&&r.disabled&&!i.some(e=>1==e.state)&&(r=null),!r&&i.every(e=>1!=e.state)&&i.some(e=>e.hasResult())&&(i=i.map(e=>e.hasResult()?new bm(e.source,0):e));for(let t of e.effects)t.is(vm)&&(r=r&&r.setSelected(t.value,this.id));return i==this.active&&r==this.open?this:new dm(i,this.id,r)}get tooltip(){return this.open?this.open.tooltip:null}get attrs(){return this.open?this.open.attrs:Om}}function pm(e,t){if(e==t)return!0;for(let n=0,i=0;;){for(;n<e.length&&!e[n].hasResult;)n++;for(;i<t.length&&!t[i].hasResult;)i++;let r=n==e.length,s=i==t.length;if(r||s)return r==s;if(e[n++].result!=t[i++].result)return!1}}const Om={"aria-autocomplete":"list"};function mm(e,t){let n={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":e};return t>-1&&(n["aria-activedescendant"]=e+"-"+t),n}const gm=[];function Sm(e){return e.isUserEvent("input.type")?"input":e.isUserEvent("delete.backward")?"delete":null}class bm{constructor(e,t,n=-1){this.source=e,this.state=t,this.explicitPos=n}hasResult(){return!1}update(e,t){let n=Sm(e),i=this;n?i=i.handleUserEvent(e,n,t):e.docChanged?i=i.handleChange(e):e.selection&&0!=i.state&&(i=new bm(i.source,0));for(let t of e.effects)if(t.is(KO))i=new bm(i.source,1,t.value?LO(e.state):-1);else if(t.is(em))i=new bm(i.source,0);else if(t.is(wm))for(let e of t.value)e.source==i.source&&(i=e);return i}handleUserEvent(e,t,n){return"delete"!=t&&n.activateOnTyping?new bm(this.source,1):this.map(e.changes)}handleChange(e){return e.changes.touchesRange(LO(e.startState))?new bm(this.source,0):this.map(e.changes)}map(e){return e.empty||this.explicitPos<0?this:new bm(this.source,this.state,e.mapPos(this.explicitPos))}}class xm extends bm{constructor(e,t,n,i,r){super(e,2,t),this.result=n,this.from=i,this.to=r}hasResult(){return!0}handleUserEvent(e,t,n){var i;let r=e.changes.mapPos(this.from),s=e.changes.mapPos(this.to,1),o=LO(e.state);if((this.explicitPos<0?o<=r:o<this.from)||o>s||"delete"==t&&LO(e.startState)==this.from)return new bm(this.source,"input"==t&&n.activateOnTyping?1:0);let a,l=this.explicitPos<0?-1:e.changes.mapPos(this.explicitPos);return ym(this.result.validFor,e.state,r,s)?new xm(this.source,l,this.result,r,s):this.result.update&&(a=this.result.update(this.result,r,s,new UO(e.state,o,l>=0)))?new xm(this.source,l,a,a.from,null!==(i=a.to)&&void 0!==i?i:LO(e.state)):new bm(this.source,1,l)}handleChange(e){return e.changes.touchesRange(this.from,this.to)?new bm(this.source,0):this.map(e.changes)}map(e){return e.empty?this:new xm(this.source,this.explicitPos<0?-1:e.mapPos(this.explicitPos),this.result,e.mapPos(this.from),e.mapPos(this.to,1))}}function ym(e,t,n,i){if(!e)return!1;let r=t.sliceDoc(n,i);return"function"==typeof e?e(r,n,i,t):NO(e,!0).test(r)}const wm=ce.define({map:(e,t)=>e.map(e=>e.map(t))}),vm=ce.define(),km=D.define({create:()=>dm.start(),update:(e,t)=>e.update(t),provide:e=>[Io.from(e,e=>e.tooltip),xs.contentAttributes.from(e,e=>e.attrs)]});function Qm(e,t){const n=t.completion.apply||t.completion.label;let i=e.state.field(km).active.find(e=>e.source==t.source);return i instanceof xm&&("string"==typeof n?e.dispatch(Object.assign(Object.assign({},FO(e.state,n,i.from,i.to)),{annotations:GO.of(t.completion)})):n(e,t.completion,i.from,i.to),!0)}function $m(e,t="option"){return n=>{let i=n.state.field(km,!1);if(!i||!i.open||i.open.disabled||Date.now()-i.open.timestamp<n.state.facet(nm).interactionDelay)return!1;let r,s=1;"page"==t&&(r=Jo(n,i.open.tooltip))&&(s=Math.max(2,Math.floor(r.dom.offsetHeight/r.dom.querySelector("li").offsetHeight)-1));let{length:o}=i.open.options,a=i.open.selected>-1?i.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),n.dispatch({effects:vm.of(a)}),!0}}const Pm=e=>{let t=e.state.field(km,!1);return!(e.state.readOnly||!t||!t.open||t.open.selected<0||t.open.disabled||Date.now()-t.open.timestamp<e.state.facet(nm).interactionDelay)&&Qm(e,t.open.options[t.open.selected])},Cm=e=>!!e.state.field(km,!1)&&(e.dispatch({effects:KO.of(!0)}),!0),Xm=e=>{let t=e.state.field(km,!1);return!(!t||!t.active.some(e=>0!=e.state))&&(e.dispatch({effects:em.of(null)}),!0)};class Tm{constructor(e,t){this.active=e,this.context=t,this.time=Date.now(),this.updates=[],this.done=void 0}}const Zm=50,Am=50,Rm=1e3,Vm=Dn.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(km).active)1==t.state&&this.startQuery(t)}update(e){let t=e.state.field(km);if(!e.selectionSet&&!e.docChanged&&e.startState.field(km)==t)return;let n=e.transactions.some(e=>(e.selection||e.docChanged)&&!Sm(e));for(let t=0;t<this.running.length;t++){let i=this.running[t];if(n||i.updates.length+e.transactions.length>Am&&Date.now()-i.time>Rm){for(let e of i.context.abortListeners)try{e()}catch(e){En(this.view.state,e)}i.context.abortListeners=null,this.running.splice(t--,1)}else i.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(),Zm):-1,0!=this.composing)for(let t of e.transactions)"input"==Sm(t)?this.composing=2:2==this.composing&&t.selection&&(this.composing=3)}startUpdate(){this.debounceUpdate=-1;let{state:e}=this.view,t=e.field(km);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,n=LO(t),i=new UO(t,n,e.explicitPos==n),r=new Tm(e,i);this.running.push(r),Promise.resolve(e.source(i)).then(e=>{r.context.aborted||(r.done=e||null,this.scheduleAccept())},e=>{this.view.dispatch({effects:em.of(null)}),En(this.view.state,e)})}scheduleAccept(){this.running.every(e=>void 0!==e.done)?this.accept():this.debounceAccept<0&&(this.debounceAccept=setTimeout(()=>this.accept(),Zm))}accept(){var e;this.debounceAccept>-1&&clearTimeout(this.debounceAccept),this.debounceAccept=-1;let t=[],n=this.view.state.facet(nm);for(let i=0;i<this.running.length;i++){let r=this.running[i];if(void 0===r.done)continue;if(this.running.splice(i--,1),r.done){let i=new xm(r.active.source,r.active.explicitPos,r.done,r.done.from,null!==(e=r.done.to)&&void 0!==e?e:LO(r.updates.length?r.updates[0].startState:this.view.state));for(let e of r.updates)i=i.update(e,n);if(i.hasResult()){t.push(i);continue}}let s=this.view.state.field(km).active.find(e=>e.source==r.active.source);if(s&&1==s.state)if(null==r.done){let e=new bm(r.active.source,0);for(let t of r.updates)e=e.update(t,n);1!=e.state&&t.push(e)}else this.startQuery(s)}t.length&&this.view.dispatch({effects:wm.of(t)})}},{eventHandlers:{blur(e){let t=this.view.state.field(km,!1);if(t&&t.tooltip&&this.view.state.facet(nm).closeOnBlur){let n=t.open&&Jo(this.view,t.open.tooltip);n&&n.dom.contains(e.relatedTarget)||this.view.dispatch({effects:em.of(null)})}},compositionstart(){this.composing=1},compositionend(){3==this.composing&&setTimeout(()=>this.view.dispatch({effects:KO.of(!1)}),20),this.composing=0}}}),Mm=xs.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',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 Ym{constructor(e,t,n,i){this.field=e,this.line=t,this.from=n,this.to=i}}class _m{constructor(e,t,n){this.field=e,this.from=t,this.to=n}map(e){let t=e.mapPos(this.from,-1,v.TrackDel),n=e.mapPos(this.to,1,v.TrackDel);return null==t||null==n?null:new _m(this.field,t,n)}}class Wm{constructor(e,t){this.lines=e,this.fieldPositions=t}instantiate(e,t){let n=[],i=[t],r=e.doc.lineAt(t),s=/^\s*/.exec(r.text)[0];for(let r of this.lines){if(n.length){let n=s,o=/^\t*/.exec(r)[0].length;for(let t=0;t<o;t++)n+=e.facet(bc);i.push(t+n.length-o),r=n+r.slice(o)}n.push(r),t+=r.length+1}return{text:n,ranges:this.fieldPositions.map(e=>new _m(e.field,i[e.line]+e.from,i[e.line]+e.to))}}static parse(e){let t,n=[],i=[],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<n.length;t++)(null!=e?n[t].seq==e:o&&n[t].name==o)&&(a=t);if(a<0){let t=0;for(;t<n.length&&(null==e||null!=n[t].seq&&n[t].seq<e);)t++;n.splice(t,0,{seq:e,name:o}),a=t;for(let e of r)e.field>=a&&e.field++}r.push(new Ym(a,i.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==i.length&&t.from>e.index&&(t.from--,t.to--)}i.push(s)}return new Wm(i,r)}}let Em=mn.widget({widget:new class extends pn{toDOM(){let e=document.createElement("span");return e.className="cm-snippetFieldPosition",e}ignoreEvent(){return!1}}}),zm=mn.mark({class:"cm-snippetField"});class Um{constructor(e,t){this.ranges=e,this.active=t,this.deco=mn.set(e.map(e=>(e.from==e.to?Em:zm).range(e.from,e.to)))}map(e){let t=[];for(let n of this.ranges){let i=n.map(e);if(!i)return null;t.push(i)}return new Um(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 qm=ce.define({map:(e,t)=>e&&e.map(t)}),Dm=ce.define(),Im=D.define({create:()=>null,update(e,t){for(let n of t.effects){if(n.is(qm))return n.value;if(n.is(Dm)&&e)return new Um(e.ranges,n.value)}return e&&t.docChanged&&(e=e.map(t.changes)),e&&t.selection&&!e.selectionInsideField(t.selection)&&(e=null),e},provide:e=>xs.decorations.from(e,e=>e?e.deco:mn.none)});function jm(e,t){return R.create(e.filter(e=>e.field==t).map(e=>R.range(e.from,e.to)))}function Bm(t){let n=Wm.parse(t);return(t,i,r,s)=>{let{text:o,ranges:a}=n.instantiate(t.state,r),l={changes:{from:r,to:s,insert:e.of(o)},scrollIntoView:!0,annotations:i?GO.of(i):void 0};if(a.length&&(l.selection=jm(a,0)),a.length>1){let e=new Um(a,0),n=l.effects=[qm.of(e)];void 0===t.state.field(Im,!1)&&n.push(ce.appendConfig.of([Im,Hm,Km,Mm]))}t.dispatch(t.state.update(l))}}function Lm(e){return({state:t,dispatch:n})=>{let i=t.field(Im,!1);if(!i||e<0&&0==i.active)return!1;let r=i.active+e,s=e>0&&!i.ranges.some(t=>t.field==r+e);return n(t.update({selection:jm(i.ranges,r),effects:qm.of(s?null:new Um(i.ranges,r))})),!0}}const Nm=({state:e,dispatch:t})=>!!e.field(Im,!1)&&(t(e.update({effects:qm.of(null)})),!0),Gm=[{key:"Tab",run:Lm(1),shift:Lm(-1)},{key:"Escape",run:Nm}],Fm=Y.define({combine:e=>e.length?e[0]:Gm}),Hm=B.highest(Xs.compute([Fm],e=>e.facet(Fm)));function Jm(e,t){return Object.assign(Object.assign({},t),{apply:Bm(e)})}const Km=xs.domEventHandlers({mousedown(e,t){let n,i=t.state.field(Im,!1);if(!i||null==(n=t.posAtCoords({x:e.clientX,y:e.clientY})))return!1;let r=i.ranges.find(e=>e.from<=n&&e.to>=n);return!(!r||r.field==i.active)&&(t.dispatch({selection:jm(i.ranges,r.field),effects:qm.of(i.ranges.some(e=>e.field>r.field)?new Um(i.ranges,r.field):null)}),!0)}}),eg={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]},tg=ce.define({map(e,t){let n=t.mapPos(e,-1,v.TrackAfter);return null==n?void 0:n}}),ng=new class extends Pe{};ng.startSide=1,ng.endSide=-1;const ig=D.define({create:()=>Ze.empty,update(e,t){if(t.selection){let n=t.state.doc.lineAt(t.selection.main.head).from,i=t.startState.doc.lineAt(t.startState.selection.main.head).from;n!=t.changes.mapPos(i,-1)&&(e=Ze.empty)}e=e.map(t.changes);for(let n of t.effects)n.is(tg)&&(e=e.update({add:[ng.range(n.value,n.value+1)]}));return e}});function rg(){return[hg,ig]}const sg="()[]{}<>";function og(e){for(let t=0;t<sg.length;t+=2)if(sg.charCodeAt(t)==e)return sg.charAt(t+1);return x(e<128?e:e+1)}function ag(e,t){return e.languageDataAt("closeBrackets",t)[0]||eg}const lg="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),hg=xs.inputHandler.of((e,t,n,i)=>{if((lg?e.composing:e.compositionStarted)||e.state.readOnly)return!1;let r=e.state.selection.main;if(i.length>2||2==i.length&&1==y(b(i,0))||t!=r.from||n!=r.to)return!1;let s=ug(e.state,i);return!!s&&(e.dispatch(s),!0)}),cg=[{key:"Backspace",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=ag(e,e.selection.main.head).brackets||eg.brackets,i=null,r=e.changeByRange(t=>{if(t.empty){let i=pg(e.doc,t.head);for(let r of n)if(r==i&&dg(e.doc,t.head)==og(b(r,0)))return{changes:{from:t.head-r.length,to:t.head+r.length},range:R.cursor(t.head-r.length)}}return{range:i=t}});return i||t(e.update(r,{scrollIntoView:!0,userEvent:"delete.backward"})),!i}}];function ug(e,t){let n=ag(e,e.selection.main.head),i=n.brackets||eg.brackets;for(let r of i){let s=og(b(r,0));if(t==r)return s==r?gg(e,r,i.indexOf(r+r+r)>-1,n):Og(e,r,s,n.before||eg.before);if(t==s&&fg(e,e.selection.main.from))return mg(e,r,s)}return null}function fg(e,t){let n=!1;return e.field(ig).between(0,e.doc.length,e=>{e==t&&(n=!0)}),n}function dg(e,t){let n=e.sliceString(t,t+2);return n.slice(0,y(b(n,0)))}function pg(e,t){let n=e.sliceString(t-2,t);return y(b(n,0))==n.length?n:n.slice(1)}function Og(e,t,n,i){let r=null,s=e.changeByRange(s=>{if(!s.empty)return{changes:[{insert:t,from:s.from},{insert:n,from:s.to}],effects:tg.of(s.to+t.length),range:R.range(s.anchor+t.length,s.head+t.length)};let o=dg(e.doc,s.head);return!o||/\s/.test(o)||i.indexOf(o)>-1?{changes:{insert:t+n,from:s.head},effects:tg.of(s.head+t.length),range:R.cursor(s.head+t.length)}:{range:r=s}});return r?null:e.update(s,{scrollIntoView:!0,userEvent:"input.type"})}function mg(e,t,n){let i=null,r=e.changeByRange(t=>t.empty&&dg(e.doc,t.head)==n?{changes:{from:t.head,to:t.head+n.length,insert:n},range:R.cursor(t.head+n.length)}:i={range:t});return i?null:e.update(r,{scrollIntoView:!0,userEvent:"input.type"})}function gg(e,t,n,i){let r=i.stringPrefixes||eg.stringPrefixes,s=null,o=e.changeByRange(i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:t,from:i.to}],effects:tg.of(i.to+t.length),range:R.range(i.anchor+t.length,i.head+t.length)};let o,a=i.head,l=dg(e.doc,a);if(l==t){if(Sg(e,a))return{changes:{insert:t+t,from:a},effects:tg.of(a+t.length),range:R.cursor(a+t.length)};if(fg(e,a)){let i=n&&e.sliceDoc(a,a+3*t.length)==t+t+t?t+t+t:t;return{changes:{from:a,to:a+i.length,insert:i},range:R.cursor(a+i.length)}}}else{if(n&&e.sliceDoc(a-2*t.length,a)==t+t&&(o=xg(e,a-2*t.length,r))>-1&&Sg(e,o))return{changes:{insert:t+t+t+t,from:a},effects:tg.of(a+t.length),range:R.cursor(a+t.length)};if(e.charCategorizer(a)(l)!=xe.Word&&xg(e,a,r)>-1&&!bg(e,a,t,r))return{changes:{insert:t+t,from:a},effects:tg.of(a+t.length),range:R.cursor(a+t.length)}}return{range:s=i}});return s?null:e.update(o,{scrollIntoView:!0,userEvent:"input.type"})}function Sg(e,t){let n=oc(e).resolveInner(t+1);return n.parent&&n.from==t}function bg(e,t,n,i){let r=oc(e).resolveInner(t,-1),s=i.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+n.length+s)),a=o.indexOf(n);if(!a||a>-1&&i.indexOf(o.slice(0,a))>-1){let t=r.firstChild;for(;t&&t.from==r.from&&t.to-t.from>n.length+a;){if(e.sliceDoc(t.to-n.length,t.to)==n)return!1;t=t.firstChild}return!0}let l=r.to==t&&r.parent;if(!l)break;r=l}return!1}function xg(e,t,n){let i=e.charCategorizer(t);if(i(e.sliceDoc(t-1,t))!=xe.Word)return t;for(let r of n){let n=t-r.length;if(e.sliceDoc(n,t)==r&&i(e.sliceDoc(n-1,n))!=xe.Word)return n}return-1}function yg(e={}){return[km,nm.of(e),Vm,vg,Mm]}const wg=[{key:"Ctrl-Space",run:Cm},{key:"Escape",run:Xm},{key:"ArrowDown",run:$m(!0)},{key:"ArrowUp",run:$m(!1)},{key:"PageDown",run:$m(!0,"page")},{key:"PageUp",run:$m(!1,"page")},{key:"Enter",run:Pm}],vg=B.highest(Xs.computeN([nm],e=>e.facet(nm).defaultKeymap?[wg]:[]));class kg{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}}class Qg{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(e,t,n){let i=e,r=n.facet(zg).markerFilter;r&&(i=r(i));let s=mn.set(i.map(e=>e.from==e.to||e.from==e.to-1&&n.doc.lineAt(e.from).to==e.from?mn.widget({widget:new Ig(e),diagnostic:e}).range(e.from):mn.mark({attributes:{class:"cm-lintRange cm-lintRange-"+e.severity},diagnostic:e}).range(e.from,e.to)),!0);return new Qg(s,t,$g(s))}}function $g(e,t=null,n=0){let i=null;return e.between(n,1e9,(e,n,{spec:r})=>{if(!t||r.diagnostic==t)return i=new kg(e,n,r.diagnostic),!1}),i}function Pg(e,t){return!(!e.effects.some(e=>e.is(Tg))&&!e.changes.touchesRange(t.pos))}function Cg(e,t){return e.field(Rg,!1)?t:t.concat(ce.appendConfig.of([Rg,xs.decorations.compute([Rg],e=>{let{selected:t,panel:n}=e.field(Rg);return t&&n&&t.from!=t.to?mn.set([Vg.range(t.from,t.to)]):mn.none}),Ho(Mg,{hideOn:Pg}),Gg]))}function Xg(e,t){return{effects:Cg(e,[Tg.of(t)])}}const Tg=ce.define(),Zg=ce.define(),Ag=ce.define(),Rg=D.define({create:()=>new Qg(mn.none,null,null),update(e,t){if(t.docChanged){let n=e.diagnostics.map(t.changes),i=null;if(e.selected){let r=t.changes.mapPos(e.selected.from,1);i=$g(n,e.selected.diagnostic,r)||$g(n,null,r)}e=new Qg(n,e.panel,i)}for(let n of t.effects)n.is(Tg)?e=Qg.init(n.value,e.panel,t.state):n.is(Zg)?e=new Qg(e.diagnostics,n.value?Bg.open:null,e.selected):n.is(Ag)&&(e=new Qg(e.diagnostics,e.panel,n.value));return e},provide:e=>[sa.from(e,e=>e.panel),xs.decorations.from(e,e=>e.diagnostics)]}),Vg=mn.mark({class:"cm-lintRange cm-lintRange-active"});function Mg(e,t,n){let{diagnostics:i}=e.state.field(Rg),r=[],s=2e8,o=0;i.between(t-(n<0?1:0),t+(n>0?1:0),(e,i,{spec:a})=>{t>=e&&t<=i&&(e==i||(t>e||n>0)&&(t<i||n<0))&&(r.push(a.diagnostic),s=Math.min(e,s),o=Math.max(i,o))});let a=e.state.facet(zg).tooltipFilter;return a&&(r=a(r)),r.length?{pos:s,end:o,above:e.state.doc.lineAt(s).to<o,create:()=>({dom:Yg(e,r)})}:null}function Yg(e,t){return Xp("ul",{class:"cm-tooltip-lint"},t.map(t=>Dg(e,t,!1)))}const _g=e=>{let t=e.state.field(Rg,!1);return!(!t||!t.panel)&&(e.dispatch({effects:Zg.of(!1)}),!0)},Wg=[{key:"Mod-Shift-m",run:e=>{let t=e.state.field(Rg,!1);t&&t.panel||e.dispatch({effects:Cg(e.state,[Zg.of(!0)])});let n=ta(e,Bg.open);return n&&n.dom.querySelector(".cm-panel-lint ul").focus(),!0},preventDefault:!0},{key:"F8",run:e=>{let t=e.state.field(Rg,!1);if(!t)return!1;let n=e.state.selection.main,i=t.diagnostics.iter(n.to+1);return!(!i.value&&(i=t.diagnostics.iter(0),!i.value||i.from==n.from&&i.to==n.to))&&(e.dispatch({selection:{anchor:i.from,head:i.to},scrollIntoView:!0}),!0)}}],Eg=Dn.fromClass(class{constructor(e){this.view=e,this.timeout=-1,this.set=!0;let{delay:t}=e.state.facet(zg);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(zg);Promise.all(t.map(e=>Promise.resolve(e(this.view)))).then(t=>{let n=t.reduce((e,t)=>e.concat(t));this.view.state.doc==e.doc&&this.view.dispatch(Xg(this.view.state,n))},e=>{En(this.view.state,e)})}}update(e){let t=e.state.facet(zg);(e.docChanged||t!=e.startState.facet(zg)||t.needsRefresh&&t.needsRefresh(e))&&(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)}}),zg=Y.define({combine:e=>Object.assign({sources:e.map(e=>e.source)},$e(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null},{needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t})),enables:Eg});function Ug(e,t={}){return zg.of({source:e,config:t})}function qg(e){let t=[];if(e)e:for(let{name:n}of e){for(let e=0;e<n.length;e++){let i=n[e];if(/[a-zA-Z]/.test(i)&&!t.some(e=>e.toLowerCase()==i.toLowerCase())){t.push(i);continue e}}t.push("")}return t}function Dg(e,t,n){var i;let r=n?qg(t.actions):[];return Xp("li",{class:"cm-diagnostic cm-diagnostic-"+t.severity},Xp("span",{class:"cm-diagnosticText"},t.renderMessage?t.renderMessage():t.message),null===(i=t.actions)||void 0===i?void 0:i.map((n,i)=>{let s=!1,o=i=>{if(i.preventDefault(),s)return;s=!0;let r=$g(e.state.field(Rg).diagnostics,t);r&&n.apply(e,r.from,r.to)},{name:a}=n,l=r[i]?a.indexOf(r[i]):-1,h=l<0?a:[a.slice(0,l),Xp("u",a.slice(l,l+1)),a.slice(l+1)];return Xp("button",{type:"button",class:"cm-diagnosticAction",onclick:o,onmousedown:o,"aria-label":` Action: ${a}${l<0?"":` (access key "${r[i]})"`}.`},h)}),t.source&&Xp("div",{class:"cm-diagnosticSource"},t.source))}class Ig extends pn{constructor(e){super(),this.diagnostic=e}eq(e){return e.diagnostic==this.diagnostic}toDOM(){return Xp("span",{class:"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity})}}class jg{constructor(e,t){this.diagnostic=t,this.id="item_"+Math.floor(4294967295*Math.random()).toString(16),this.dom=Dg(e,t,!0),this.dom.id=this.id,this.dom.setAttribute("role","option")}}class Bg{constructor(e){this.view=e,this.items=[];let t=t=>{if(27==t.keyCode)_g(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:n}=this.items[this.selectedIndex],i=qg(n.actions);for(let r=0;r<i.length;r++)if(i[r].toUpperCase().charCodeAt(0)==t.keyCode){let t=$g(this.view.state.field(Rg).diagnostics,n);t&&n.actions[r].apply(e,t.from,t.to)}}}t.preventDefault()},n=e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)};this.list=Xp("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:t,onclick:n}),this.dom=Xp("div",{class:"cm-panel-lint"},this.list,Xp("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:()=>_g(this.view)},"×")),this.update()}get selectedIndex(){let e=this.view.state.field(Rg).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(Rg),n=0,i=!1,r=null;for(e.between(0,this.view.state.doc.length,(e,s,{spec:o})=>{let a,l=-1;for(let e=n;e<this.items.length;e++)if(this.items[e].diagnostic==o.diagnostic){l=e;break}l<0?(a=new jg(this.view,o.diagnostic),this.items.splice(n,0,a),i=!0):(a=this.items[l],l>n&&(this.items.splice(n,l-n),i=!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"),n++});n<this.items.length&&!(1==this.items.length&&this.items[0].diagnostic.from<0);)i=!0,this.items.pop();0==this.items.length&&(this.items.push(new jg(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")})),i=!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"),i&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=$g(this.view.state.field(Rg).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Ag.of(t)})}static open(e){return new Bg(e)}}function Lg(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 Ng(e){return Lg(`<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 Gg=xs.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",cursor:"pointer"},".cm-diagnosticSource":{fontSize:"70%",opacity:.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:Ng("#d11")},".cm-lintRange-warning":{backgroundImage:Ng("orange")},".cm-lintRange-info":{backgroundImage:Ng("#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 Fg extends oa{constructor(e){super(),this.diagnostics=e,this.severity=e.reduce((e,t)=>{let n=t.severity;return"error"==n||"warning"==n&&"info"==e?n:e},"info")}toDOM(e){let t=document.createElement("div");t.className="cm-lint-marker cm-lint-marker-"+this.severity;let n=this.diagnostics,i=e.state.facet(sS).tooltipFilter;return i&&(n=i(n)),n.length&&(t.onmouseover=()=>Jg(e,t,n)),t}}function Hg(e,t){let n=i=>{let r=t.getBoundingClientRect();if(!(i.clientX>r.left-10&&i.clientX<r.right+10&&i.clientY>r.top-10&&i.clientY<r.bottom+10)){for(let e=i.target;e;e=e.parentNode)if(1==e.nodeType&&e.classList.contains("cm-tooltip-lint"))return;window.removeEventListener("mousemove",n),e.state.field(iS)&&e.dispatch({effects:nS.of(null)})}};window.addEventListener("mousemove",n)}function Jg(e,t,n){function i(){let i=e.elementAtHeight(t.getBoundingClientRect().top+5-e.documentTop);e.coordsAtPos(i.from)&&e.dispatch({effects:nS.of({pos:i.from,above:!1,create:()=>({dom:Yg(e,n),getCoords:()=>t.getBoundingClientRect()})})}),t.onmouseout=t.onmousemove=null,Hg(e,t)}let{hoverTime:r}=e.state.facet(sS),s=setTimeout(i,r);t.onmouseout=()=>{clearTimeout(s),t.onmouseout=t.onmousemove=null},t.onmousemove=()=>{clearTimeout(s),s=setTimeout(i,r)}}function Kg(e,t){let n=Object.create(null);for(let i of t){let t=e.lineAt(i.from);(n[t.from]||(n[t.from]=[])).push(i)}let i=[];for(let e in n)i.push(new Fg(n[e]).range(+e));return Ze.of(i,!0)}const eS=ca({class:"cm-gutter-lint",markers:e=>e.state.field(tS)}),tS=D.define({create:()=>Ze.empty,update(e,t){e=e.map(t.changes);let n=t.state.facet(sS).markerFilter;for(let i of t.effects)if(i.is(Tg)){let r=i.value;n&&(r=n(r||[])),e=Kg(t.state.doc,r.slice(0))}return e}}),nS=ce.define(),iS=D.define({create:()=>null,update:(e,t)=>(e&&t.docChanged&&(e=Pg(t,e)?null:Object.assign(Object.assign({},e),{pos:t.changes.mapPos(e.pos)})),t.effects.reduce((e,t)=>t.is(nS)?t.value:e,e)),provide:e=>Io.from(e)}),rS=xs.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:Lg('<path fill="#aaf" stroke="#77e" stroke-width="6" stroke-linejoin="round" d="M5 5L35 5L35 35L5 35Z"/>')},".cm-lint-marker-warning":{content:Lg('<path fill="#fe8" stroke="#fd7" stroke-width="6" stroke-linejoin="round" d="M20 6L37 35L3 35Z"/>')},".cm-lint-marker-error":{content:Lg('<circle cx="20" cy="20" r="15" fill="#f87" stroke="#f43" stroke-width="6"/>')}}),sS=Y.define({combine:e=>$e(e,{hoverTime:300,markerFilter:null,tooltipFilter:null})});function oS(e={}){return[sS.of(e),tS,eS,rS,iS]}const aS=(()=>[Qa(),Xa(),Oo(),Xf(),au(),Ns(),ro(),Qe.allowMultipleSelections.of(!0),Wc(),du(mu,{fallback:!0}),Qu(),rg(),yg(),Ao(),Mo(),wo(),Np(),Xs.of([...cg,...Pp,...RO,...Nf,...eu,...wg,...Wg])])(),lS="#abb2bf",hS="#7d8799",cS="#21252b",uS="#2c313a",fS="#282c34",dS="#353a42",pS="#3E4451",OS="#528bff",mS=xs.theme({"&":{color:lS,backgroundColor:fS},".cm-content":{caretColor:OS},".cm-cursor, .cm-dropCursor":{borderLeftColor:OS},"&.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground, .cm-selectionBackground, .cm-content ::selection":{backgroundColor:pS},".cm-panels":{backgroundColor:cS,color:lS},".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"},".cm-gutters":{backgroundColor:fS,color:hS,border:"none"},".cm-activeLineGutter":{backgroundColor:uS},".cm-foldPlaceholder":{backgroundColor:"transparent",border:"none",color:"#ddd"},".cm-tooltip":{border:"none",backgroundColor:dS},".cm-tooltip .cm-tooltip-arrow:before":{borderTopColor:"transparent",borderBottomColor:"transparent"},".cm-tooltip .cm-tooltip-arrow:after":{borderTopColor:dS,borderBottomColor:dS},".cm-tooltip-autocomplete":{"& > ul > li[aria-selected]":{backgroundColor:uS,color:lS}}},{dark:!0});var gS=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});function SS(e){switch(e){case"dark":return mS;default:return null}}var bS=(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))(bS||{});const xS=(e,t)=>n=>(n.dispatch(n.state.changeByRange(n=>({changes:[{from:n.from,insert:e},{from:n.to,insert:t}],range:R.range(n.from+e.length,n.to+e.length)}))),!0),yS=e=>t=>(t.dispatch(t.state.changeByRange(t=>({changes:[{from:t.from,insert:e}],range:R.range(t.from,t.from)}))),!0),wS=e=>t=>(e=e.replace(/\$\|([^|]+)\|/g,"${$1}"),t.state.selection.ranges.forEach(n=>{const i=t.state.doc.slice(n.from,n.to);Bm(e=i.length>0?e.replace(/\${(?:\d+:)?_}/,i.toString()):e.replace(/\${(\d+:)?_}/,"${$1}"))(t,{label:""},n.from,n.to)}),!0);function vS(e,t,n){if(t.create){const i=n.dataset.params;if(i){let n;try{n=JSON.parse(i)}catch(e){n=[i]}return Array.isArray(n)&&n.length===t.create.length?t.create.apply(null,n):(console.error("<jinn-codemirror> Expected %d arguments for command %s",t.create.length,e),null)}}return t}const kS={snippet:{create:e=>wS(e)}};class QS{constructor(e,t=[],n=kS){this.threshold=300,this.editor=e,this.commands=n,this.keymap=[],t&&t.forEach(e=>{const t=e.dataset.command,i=n[t];if(i){const n=e.getAttribute("data-key");if(n&&n.length>0){const r=vS(t,i,e);if(r){const e={key:n,run:r};this.keymap.push(e)}}}})}getConfig(){return gS(this,null,(function*(){const e=this;let t=null;const n=Dn.fromClass(class{update(n){n.docChanged&&(t&&clearTimeout(t),t=setTimeout(()=>{const t=oc(n.state),i=n.state.doc.toJSON(),r=e.onUpdate(t,i.join("\n"));try{const t=e.serialize();null!=t&&(e.editor._value=t,e.editor.emitUpdateEvent(r))}catch(e){}},e.threshold))}}),i=yield this.getExtensions(this.editor),r=[aS,xs.lineWrapping,Xs.of([Cp,...this.keymap]),$o(this.editor.placeholder),...i,n];if(this.editor&&this.editor.theme){const e=SS(this.editor.theme);e?r.push(e):console.error("<jinn-codemirror> Unknown theme: %s",this.editor.theme)}return{extensions:r}}))}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 n=[];for(let i=0;i<e.length;i++)n.push(t.serializeToString(e[i]));return n.join("")}return t.serializeToString(e)}return"string"==typeof e?e:JSON.stringify(e)}}const $S=ce.define(),PS=D.define({create:()=>!1,update(e,t){for(let n of t.effects)n.is($S)&&(e=n.value);return e},provide:e=>sa.from(e,e=>e?CS:null)});function CS(e){const t=document.createElement("div");t.className="cm-input-panel";const n=document.createElement("input");return n.type="text",n.placeholder="Name of element (enter to confirm, esc to abort)",n.addEventListener("keyup",t=>{switch(t.key){case"Enter":t.preventDefault();const i=n.value;""!==i&&(xS(`<${i}>`,`</${i}>`)(e),e.focus());case"Esc":case"Escape":e.dispatch({effects:$S.of(!1)})}}),t.appendChild(n),{top:!1,dom:t,mount:()=>setTimeout(()=>n.focus(),50)}}const XS=xs.baseTheme({".cm-input-panel":{padding:"5px 10px",fontFamily:"monospace"},".cm-input-panel input":{width:"100%"}});function TS(){return[PS,XS]}const ZS={selectElement:e=>(e.dispatch(e.state.changeByRange(t=>{let n=null;for(let i=oc(e.state).resolveInner(t.from);!n&&i.parent;i=i.parent)"Element"==i.name&&(n=i);return n?{selection:R.range(n.from,n.to),range:R.range(n.from,n.to)}:{range:t}})),!0),removeEnclosing:e=>(e.dispatch(e.state.changeByRange(t=>{let n=null;for(let i=oc(e.state).resolveInner(t.from);!n&&i.parent;i=i.parent)"Element"==i.name&&(n=i);if(n){const e=n.firstChild,t=n.lastChild;if(e&&t)return"SelfClosingTag"===e.name?{range:R.range(e.from,e.from),changes:[{from:e.from,to:e.to,insert:""}]}:{range:R.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:$S.of(!e.state.field(PS))}),!0),snippet:{create:e=>wS(e)}};var AS=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});const RS=(e,t)=>"AttributeName"===t.type.name&&"xmlns"===e.state.sliceDoc(t.from,t.to),VS=(e,t)=>"Comment"===t.type.name&&/\<\!\-\- Error\:([^ ])* \-\-\>/.test(e.state.sliceDoc(t.from,t.to)),MS=300,YS=e=>e.filter(e=>"info"!==e.severity),_S=e=>({name:"Fix",apply:(t,n,i)=>{const r=t.state.update({changes:{from:n,to:i,insert:e}});t.dispatch(r)}}),WS=(e,t)=>n=>{function i(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:r,composed:!0,bubbles:!0}))}const r=[];if(0===n.state.doc.length)return i(!0),r;const s=oc(n.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(n.state.sliceDoc(e.from,e.to));else if("StartCloseTag"===e.type.name){e.nextSibling();const t=n.state.sliceDoc(e.from,e.to),i=a.pop();t!==i&&r.push({message:"Expected closing tag for "+i,severity:"error",from:e.from,to:e.to})}else if("SelfCloseEndTag"===e.type.name)a.pop();else if(RS(n,e)){o=!0,e.nextSibling(),e.nextSibling();const i=n.state.sliceDoc(e.from+1,e.to-1);t&&i!==t&&r.push({message:"Wrong Namespace",severity:"error",from:e.from+1,to:e.to-1,actions:[_S(t)]})}else VS(n,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})}}),i(0===r.length),r},ES=(e,t,n,i)=>{const r=e.state.update({changes:{from:n,to:i,insert:t.label+'=""'},selection:{anchor:n+t.label.length+2}});e.dispatch(r)};class zS extends QS{constructor(e,t=[],n=null,i=!1,r=!1){super(e,t,ZS),this.namespace=n,this.checkNamespace=i,this.unwrap=r}getDefaultExtensions(){return[TS(),Ug(WS(this.editor,this.checkNamespace?this.namespace:null),{delay:MS,markerFilter:YS}),oS({markerFilter:YS})]}getExtensions(){return AS(this,null,(function*(){const e=this.editor.schema;if(e){const t=yield this.loadSchema(e);return this.getDefaultExtensions().concat(uf(t))}return this.getDefaultExtensions().concat(uf())}))}loadSchema(e){return AS(this,null,(function*(){const t=yield fetch(e).then(e=>e.json());let n=t.elements;const i=this.editor.schemaRoot;if(i){const e=t.elements.find(e=>e.name===i);if(e){const i=new Map,r=new Map;t.elements.forEach(e=>r.set(e.name,e)),this.filterSchema(e,r,i),n=Array.from(i.values())}}return this.extendSchema(n),{elements:n}}))}filterSchema(e,t,n,i=0){e.children.forEach(e=>{const r=n.get(e);if(r)return void(r.top=0===i);const s=t.get(e);s&&(s.top=0===i,n.set(e,s),this.filterSchema(s,t,n,i+1))})}extendSchema(e){e.forEach(e=>{e.completion.type="keyword",e.attributes.forEach(e=>{e.completion.type="property",e.completion.apply=ES})})}serialize(){var e;const t=new DOMParser,n=this.unwrap?`<R xmlns="${this.namespace||""}">${this.editor.content}</R>`:this.editor.content,i=t.parseFromString(n,"application/xml");return i.getElementsByTagName("parsererror").length?null:this.unwrap?null==(e=i.firstElementChild)?void 0:e.childNodes:i.firstElementChild}}const US=33,qS=34,DS=1,IS="() <>|?=.0123456789[]〚〛",jS=new Al(e=>{let t="";for(;!(e.next<0);){if(46===e.next&&"lost"===t)return e.advance(),void e.acceptToken(qS);const n=String.fromCharCode(e.next);if("~"===n&&"|"===String.fromCharCode(e.peek(1))||IS.indexOf(n)>-1)break;if(803===e.peek(1))break;t+=n,e.advance()}t.length>0&&e.acceptToken(US)}),BS=new Al(e=>{let t=0;for(;!(e.next<0||IS.indexOf(String.fromCharCode(e.next))>-1);){if(803!==e.peek(1))break;t++,e.advance(2)}t>0&&e.acceptToken(DS)}),LS=Nl.deserialize({version:14,states:"(vOQOVOOOQOVO'#C_OQOVO'#C`OQOVO'#CaO!nOWO'#CbOQOVO'#CiO!yOVO'#CnO!yOVO'#CoO!yOVO'#CpOOOR'#Cr'#CrO$ZOSO'#CsO!yOVO'#CtOOOR'#D_'#D_OOOR'#Cu'#CuO$`OSO'#CwO!yOVO'#CyO!yOVO'#CyOOOR'#Ch'#ChOOOR'#DP'#DPOOOR'#Cz'#CzQQOVOOO$hOVO,58yO$oOVO,58zO$vOVO,58{OQOVO,58|OQOVO,59OOQOVO,59QO$}OVO,59TOOOR'#C{'#C{O%UOVO,59YO%]OVO,59ZO%dOVO,59[O%nOSO,59_O%sOVO,59`O%}OSO,59cO&SOVO,59eO&ZOcO,59eOOOR-E6x-E6xOOOR1G.e1G.eOOOR1G.f1G.fOOOR1G.g1G.gO&bOVO1G.hO&iOVO1G.jO&pOVO1G.lOOOR1G.o1G.oOOOR-E6y-E6yOOOR1G.t1G.tOOOR1G.u1G.uOOOR1G.v1G.vO&wOSO1G.vOOOR1G.y1G.yOOOR1G.z1G.zO&|OSO1G.zOOOR1G.}1G.}OOOR1G/P1G/POOOR7+$S7+$SOOOR7+$U7+$UOOOR7+$W7+$WOOOR7+$b7+$bOOOR7+$f7+$f",stateData:"'[~OPaO_aO`aOaaOj]OlaOq]Or^OtPOvQOxROySOzTO{UO}VO!PWO!SXO!TYO!VZO!W]O!X]O!Y]O![_O!^`O~OVhOXiOZjO~OPaO_aO`aOaaOj]OlaOq]Or^OzTO{UO}VO!PWO!SXO!TYO!VZO!W]O!X]O!Y]O![_O!^`O~OapO~OarOjrO~OuvO~PQOwwO~PQOwxO~PQO^|O~PQO|!OO~P!yO!O!PO~P!yOe!RO!Q!QO~P!yO!U!SO~Oe!UO!U!TO~P!yO!Z!VO~O!]!WO~P!yO!_!WO~P!yOw!XO~PQOw!YO~PQOw!ZO~PQO!Q![O~O!U!]O~Ol!WXZ_`aZ~",goto:"&X!SPPP!T!T!T!TP!TP!TP!g#XPPPP#X#X#XP#w#w#w#XP#XP#X$g%ZPPP%uPPPPPPPPPPPPP#XqbOPQRTdefghijkyz{pbOPQRTdefghijkyz{ilUVWZ_`mnoqst!ZaOPQRTUVWZ_`defghijkmnoqstyz{!Z[OPQRTUVWZ_`defghijkmnoqstyz{QdOQePQfQQgRQkT`udefgkyz{QyhQziR{jQmUQnVQoWQqZQs_Qt`]}mnoqstqcOPQRTdefghijkyz{",nodeNames:"⚠ Unclear Document Div Recto Verso Part PartId Fragment FragmentNum Column ColumnNum Inline Foreign ForeignEnd LineBreakWrapped LineBreak Number AbbrevUnresolved Abbrev Supplied CertLow GapUnknown Gap SuppliedLost Text QuestionMark LostLines Illegible Erasure",maxTerm:61,skippedNodes:[0],repeatNodeCount:2,tokenData:"-h~Rcpq!^xy!cyz#O!O!P#T!Q![$U!^!_(U!_!`)X!`!a)t!a!b)y!c!}'l!}#O*O#P#Q*s#T#`'l#`#a+Q#a#o'l#p#q,_#r#s-R&Fp&Fq-^&Fq&Fr-c~!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~$ZSaT!O!P$g!Q![$U!c!}'l#T#o'l~$lT`Tpq${}!O%Q#V#W%_#Y#Z&S#d#e'TT%QO`T~%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~~*TQ!V~!O!P*Z!}#O*n~*`P!T~!a!b*c~*fP#P#Q*i~*nO!S~~*sO!^~T*xP!UP#P#Q*{S+QO!_SR+TU!O!P'{!Q!['l!c!}'l#T#]'l#]#^+g#^#o'lR+jU!O!P'{!Q!['l!c!}'l#T#b'l#b#c+|#c#o'lR,RS!ZP!O!P'{!Q!['l!c!}'l#T#o'l~,bQyz,h#r#s,m~,mO|~~,pQ!c!},v#T#o,v~,{Q^~!c!},v#T#o,v~-UP#p#q-X~-^Oz~~-cO![~~-hO!]~",tokenizers:[jS,BS,0,1,2],topRules:{Document:[0,2]},tokenPrec:279}),NS=["Recto","Verso","Fragment","Part","Div","Column"];function GS(e,t){return e.substring(t.from,t.to)}function FS(e,t=LS.parse(e)){const n=[],i=[];let r,s=!1,o="ab";return t.iterate({enter:t=>{if(t.type.isError)return void i.push(`\x3c!-- Error:${GS(e,t)} --\x3e`);const a=t.name;switch(a){case"Document":let l=!1;if(t.firstChild())do{NS.includes(t.type.name)||(l=!/^[\s\n]+$/.test(GS(e,t)))}while(t.nextSibling());s=l,s&&i.push(`<${o}>\n`),t.parent();break;case"Text":case"Number":i.push(GS(e,t));break;case"LineBreak":t.firstChild(),r=/^([0-9]+)\..*$/.exec(GS(e,t)),i.push(`<lb n="${r?r[1]:""}"/>`);break;case"LineBreakWrapped":t.firstChild(),r=/^([0-9]+)\..*$/.exec(GS(e,t)),i.push(`<lb n="${r?r[1]:""}" break="no"/>`);break;case"Div":i.push("<ab>");break;case"Recto":i.push('<div n="r" type="textpart">');break;case"Verso":i.push('<div n="v" type="textpart">');break;case"Fragment":t.firstChild(),r=/^([0-9]+)\..*$/.exec(GS(e,t)),i.push(`<div n="${r?r[1]:""}" subtype="fragment" type="textpart">`);break;case"Part":t.firstChild(),r=/^([a-zA-Z0-9]+)\..*$/.exec(GS(e,t)),i.push(`<div n="${r?r[1]:""}" subtype="part" type="textpart">`);break;case"Column":t.firstChild(),r=/^([a-zA-Z0-9]+)\..*$/.exec(GS(e,t)),i.push(`<div n="${r?r[1]:""}" subtype="column" type="textpart">`);break;case"Foreign":t.lastChild(),r=/^\|\~(.*)$/.exec(GS(e,t)),i.push(`<foreign xml:lang="${r?r[1]:""}">`),t.parent();break;case"Unclear":const h=GS(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 i.push(`<unclear>${c}</unclear>`),!1;case"Gap":return t.next(!0),i.push(`<gap reason="lost" quantity="${GS(e,t)}" unit="character"/>`),!1;case"GapUnknown":return i.push('<gap reason="lost" extent="unknown" unit="character"/>'),!1;case"Illegible":return r=/^\.([0-9?]+)(lin)?$/.exec(GS(e,t)),r&&("lin"===r[2]?i.push(`<gap reason="illegible" quantity="${r?r[1]:""}" unit="line"/>`):"?"===r[1]?i.push('<gap reason="illegible" extent="unkown" unit="character"/>'):i.push(`<gap reason="illegible" quantity="${r?r[1]:""}" unit="character"/>`)),!1;case"Erasure":i.push('<del rend="erasure">');break;case"LostLines":return r=/^lost\.([0-9?]+)lin$/.exec(GS(e,t)),r&&("?"===r[1]?i.push('<gap reason="lost" extent="unknown" unit="line"/>'):i.push(`<gap reason="lost" quantity="${r?r[1]:""}" unit="line"/>`)),!1;case"AbbrevUnresolved":i.push("<abbr>");break;case"Abbrev":n.length>0?(t.lastChild(),r=GS(e,t),r.length>0&&"?"===r.charAt(r.length-1)?i.push('<ex cert="low">'):i.push("<ex>"),t.parent()):i.push("<expan>"),n.push("expan");break;case"Supplied":t.lastChild(),"CertLow"===t.name?i.push('<supplied reason="omitted" cert="low">'):i.push('<supplied reason="omitted">'),t.parent();break;case"SuppliedLost":t.lastChild(),"CertLow"===t.name?i.push('<supplied reason="lost" cert="low">'):i.push('<supplied reason="lost">'),t.parent();break;case"ForeignEnd":case"CertLow":return!1;case"QuestionMark":return n.length<2&&i.push("?"),!1;case"Inline":break;default:i.push(`<${a}>`)}},leave:e=>{switch(e.name){case"Document":s&&i.push(`\n</${o}>`);break;case"AbbrevUnresolved":i.push("</abbr>");break;case"Abbrev":if(n.length>1){const e=i[i.length-1];e.endsWith("?")&&(i[i.length-1]=e.substring(0,e.length-2)),i.push("</ex>")}else i.push("</expan>");n.pop();break;case"Div":i.push("</ab>");break;case"Recto":case"Verso":case"Fragment":case"Part":case"Column":i.push("</div>\n");break;case"Supplied":case"SuppliedLost":i.push("</supplied>");break;case"Erasure":i.push("</del>");break;case"Foreign":i.push("</foreign>")}}}),"Inline"===t.type.name&&i.push("</ab>"),i.join("")}const HS=sc.define({parser:LS.configure({props:[rh({Number:Ph.number,"LineBreak LineBreakWrapped":Ph.contentSeparator,"Div Recto Verso Part Fragment":Ph.keyword,"Abbrev!":Ph.integer,"( ) [ ]":Ph.paren,"Supplied!":Ph.comment,"SuppliedLost!":Ph.comment,"Unclear!":Ph.bool})]}),languageData:{closeBrackets:{brackets:["(","[","{","<"]}}});function JS(){return new mc(HS)}function KS(e,t){for(let n=0;n<e.childNodes.length;n++)eb(e.childNodes[n],t)}function eb(e,t){if(e)switch(e.nodeType){case Node.DOCUMENT_NODE:case Node.DOCUMENT_FRAGMENT_NODE:eb(e.firstElementChild,t);break;case Node.ELEMENT_NODE:const n=e;let i;switch(n.localName){case"ab":t.push("<="),KS(n,t),t.push("=>");break;case"abbr":t.push("(|"),KS(n,t),t.push("|)");break;case"del":t.push("〚"),KS(n,t),t.push("〛");break;case"div":i=n.getAttribute("n");switch(n.getAttribute("subtype")){case"column":t.push(`<D=.${i}.column`);break;case"part":t.push(`<D=.${i}.part`);break;default:t.push("<D=."+i)}KS(n,t),t.push("=D>\n");break;case"expan":case"ex":const e=n.getAttribute("cert");t.push("("),KS(n,t),"low"===e&&t.push("?"),t.push(")");break;case"gap":tb(n,t);break;case"lb":i=n.getAttribute("n"),t.length>0&&!/\n+$/.test(t[t.length-1])&&t.push("\n");const r=n.getAttribute("break");t.push(`${i}.${"no"===r?"- ":" "}`);break;case"supplied":nb(n,t);break;case"unclear":const s=n.textContent||"";let o="";for(let e=0;e<s.length;e++){const t=s.codePointAt(e);t&&(o+=String.fromCodePoint(t),o+=String.fromCodePoint(803))}t.push(o);break;case"foreign":t.push("~|"),KS(n,t),t.push("|~"+n.getAttribute("xml:lang"));break;default:KS(n,t)}break;case Node.TEXT_NODE:t.push(e.nodeValue||"")}}function tb(e,t){const n=e.getAttribute("unit"),i=e.getAttribute("quantity"),r=e.getAttribute("reason");if(r)switch(r){case"lost":switch(n){case"character":i?t.push(`[.${i}]`):t.push("[.?]");break;case"line":i?t.push(`lost.${i}lin`):t.push("lost.?lin")}break;case"illegible":switch(n){case"character":i?t.push("."+i):t.push(".?");break;case"line":i&&t.push(`.${i}lin`)}}}function nb(e,t){const n=e.getAttribute("reason");if(n){const i=e.getAttribute("cert");switch(n){case"omitted":t.push("<"),KS(e,t),i&&"low"===i&&t.push("(?)"),t.push(">");break;case"lost":default:t.push("["),KS(e,t),i&&"low"===i&&t.push("(?)"),t.push("]")}}}function ib(e){if(!(e instanceof Element))return"";const t=[];let n=e.querySelectorAll("cb");if(n.length>0){n=(e=e.cloneNode(!0)).querySelectorAll("cb");for(let i=0;i<=n.length;i++){const r=document.createRange();0===i?r.setStart(e,0):r.setStartAfter(n[i-1]),i===n.length?e.lastChild&&r.setEndAfter(e.lastChild):r.setEndBefore(n[i]);const s=document.createElement("div");s.setAttribute("type","textpart"),s.setAttribute("subtype","column"),s.setAttribute("n",(i+1).toString());const o=document.createElement("ab");s.appendChild(o),o.appendChild(r.extractContents()),eb(s,t)}}else eb(e,t);return t.join("")}var rb=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});const sb=e=>({name:"Fix",apply:(e,t,n)=>{const i=e.state.wordAt(t);i&&(t=i.from);const r=e.state.doc.sliceString(t,n),s=e.state.update({changes:{from:t,to:n,insert:`(${r.toString()})`}});e.dispatch(s)}}),ob=e=>t=>{function n(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:i,composed:!0,bubbles:!0}))}const i=[],r=oc(t.state);let s=0,o=!1;return r.iterate({enter:e=>{"Abbrev"===e.name?s+=1:e.type.isError&&i.push({message:"Syntaxfehler",severity:"error",from:e.from,to:e.to})},leave:e=>{"Abbrev"===e.name&&(2===s?o=!0:o||i.push({message:'Invalid abbreviation. Abbreviations must\nuse double parenthesis, e.g. "(C(aesar))"',severity:"error",from:e.from,to:e.to,actions:[sb()]}),s-=1,0===s&&(o=!1))}}),n(0===i.length),i},ab=e=>(e.dispatch(e.state.changeByRange(t=>{const n=e.state.doc.slice(t.from,t.to).toString();let i="";for(let e=0;e<n.length;e++)e+1<n.length&&803===n.charCodeAt(e+1)?(i+=n.charAt(e),e++):i+=n.charAt(e)+"̣";return{changes:[{from:t.from,to:t.to,insert:i}],range:R.range(t.from,t.from+i.length)}})),!0),lb=e=>{const t=e.state.doc.toString();let n;if(-1!==t.indexOf("/")){n=t.split(new RegExp("(?<!\\/)\\/\\/?")).map((e,t)=>/^\s+/.test(e)||0===t?`${t+1}. ${e.replace(/^\s+/,"")}`:`${t+1}.- ${e.replace(/^\s+/,"")}`).join("\n")}else{let e=0;n=t.replace(/^(?!\d+\.)/gm,()=>(e+=1,e+". "))}return e.dispatch({changes:[{from:0,to:e.state.doc.length,insert:n}]}),!0},hb={expan:e=>(e.state.selection.ranges.forEach(t=>{const n=e.state.doc.slice(t.from,t.to).toString();let i="",r="";n.length>0&&(i=n.charAt(0),r=n.substring(1));Bm(`(\${1:${i}}(\${2:${r}}))\${3}`)(e,{label:""},t.from,t.to)}),!0),div:xS("<=\n","\n=>"),fragment:wS("<D=.${1:1}.fragment<=\n${2:_}\n=>=D>${3}"),part:wS("<D=.${1:A}.part<=\n${2:_}\n=>=D>${3}"),recto:xS("<D=.r<=\n","\n=>=D>"),verso:xS("<D=.v<=\n","\n=>=D>"),erasure:xS("〚","〛"),foreign:wS("~|${1:_}|~${2:gr}${3}"),unclear:ab,fixNewlines:lb,snippet:{create:e=>wS(e)}},cb=[{key:"Ctrl-Shift-e",mac:"Cmd-Shift-e",run:hb.expan},{key:"Ctrl-Shift-a",mac:"Cmd-Shift-a",run:hb.div},{key:"Ctrl-Shift-f",mac:"Cmd-Shift-f",run:hb.fragment},{key:"Ctrl-Shift-p",mac:"Cmd-Shift-p",run:hb.part},{key:"Ctrl-Shift-r",mac:"Cmd-Shift-r",run:hb.recto},{key:"Ctrl-Shift-v",mac:"Cmd-Shift-v",run:hb.verso},{key:"Ctrl-Shift-d",mac:"Cmd-Shift-d",run:hb.erasure},{key:"Ctrl-Shift-u",mac:"Cmd-Shift-u",run:hb.unclear},{key:"Ctrl-Shift-f",mac:"Cmd-Shift-f",run:hb.foreign}];class ub extends QS{constructor(e,t){super(e,t,hb)}getExtensions(){return rb(this,null,(function*(){return[JS(),Ug(ob(this.editor)),Xs.of(cb),oS()]}))}getCommands(){return hb}onUpdate(e,t){return FS(t,e)}serialize(){return this.editor.content}setFromValue(e){if(!e)return"";if(e instanceof NodeList){const t=[];return e.forEach(e=>t.push(ib(e))),t.join("")}return e instanceof Element?ib(e):super.setFromValue(e)}}function fb(e,t){const n=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="'+n.toString()+'"/>'+e;const i=/(\-|-?|\=?)\s?\n/g;let r=n-1;if(e=(e=e.replace(i,(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==bS.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==bS.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 i=/\<([^\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(i,r)).replace(s,o),t==bS.edcs){const t=/\<([^\x00-\x7F]*[aA-zZ]*)(\=)([^\x00-\x7F]*[aA-zZ]*)(?!\/)\>/g,n="<choice><corr>$1</corr><sic>$3</sic></choice>";e=(e=(e=(e=(e=(e=(e=(e=e.replace(t,n)).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"/>',x=/\{([^\x00-\x7F]*[aA-zZ]*)\}/g,y="<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(x,y)).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 w=/(\[)(([^\x00-\x7F]*[aA-zZ]*)([\s\,\.]([^\x00-\x7F]*[aA-zZ]*))*)(\])/gm,v='<supplied reason="lost">$2</supplied>';e=(e=e.replace(a,l)).replace(w,v),a=new RegExp("a","u");const k=/(\[)([^\x00-\x7F]*[aA-zZ]*\s?[^\x00-\x7F]*[aA-zZ]*)(---)?(\])/g,Q='<supplied reason="lost">$2</supplied><gap reason="lost" />',$=/([^\x00-\x7F]?[aA-zZ]?)̣/g,P="<unclear>$1</unclear>",C=/(\<\/unclear\>\<unclear\>)/g,X="";return e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=(e=e.replace(k,Q)).replace($,P)).replace(C,X)).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 db=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});function pb(e,t){const n=`<ab>${fb(e,t)}\n</ab>`,i=(new DOMParser).parseFromString(n,"application/xml");if(!i.firstElementChild)return"";return i.querySelector("parsererror")?null:ib(i.firstElementChild)}const Ob=(e,t)=>n=>{const i=pb(n.state.doc.toJSON().join("\n"),t);return i?(e._value=i,e.mode="leiden_plus"):alert("Conversion failed due to invalid XML!"),!0},mb={erasure:xS("[[","]]"),gap:yS("[---]")};class gb extends QS{constructor(e,t=[],n){super(e,t,Object.assign(mb,{convert:Ob(e,n)})),this._sourceType=n}getExtensions(){return db(this,null,(function*(){return[oS()]}))}onUpdate(e,t){return`<ab>\n${fb(t,this._sourceType)}\n</ab>`}serialize(){return this.editor.content}}var Sb=function(){function e(e){return{type:e,style:"keyword"}}for(var t=e("operator"),n={type:"atom",style:"atom"},i={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]]=n;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]]=i;return r}();function bb(e,t,n){return t.tokenize=n,n(e,t)}function xb(e,t){var n=e.next(),i=!1,r=Rb(e);if("<"==n){if(e.match("!--",!0))return bb(e,t,$b);if(e.match("![CDATA",!1))return t.tokenize=Pb,"tag";if(e.match("?",!1))return bb(e,t,Cb);var s=e.eat("/");e.eatSpace();for(var o,a="";o=e.eat(/[^\s\u00a0=<>\"\'\/?]/);)a+=o;return bb(e,t,kb(a,s))}if("{"==n)return Mb(t,{type:"codeblock"}),null;if("}"==n)return Yb(t),null;if(Xb(t))return">"==n?"tag":"/"==n&&e.eat(">")?(Yb(t),"tag"):"variable";if(/\d/.test(n))return e.match(/^\d*(?:\.\d*)?(?:E[+\-]?\d+)?/),"atom";if("("===n&&e.eat(":"))return Mb(t,{type:"comment"}),bb(e,t,yb);if(r||'"'!==n&&"'"!==n){if("$"===n)return bb(e,t,vb);if(":"===n&&e.eat("="))return"keyword";if("("===n)return Mb(t,{type:"paren"}),null;if(")"===n)return Yb(t),null;if("["===n)return Mb(t,{type:"bracket"}),null;if("]"===n)return Yb(t),null;var l=Sb.propertyIsEnumerable(n)&&Sb[n];if(r&&'"'===n)for(;'"'!==e.next(););if(r&&"'"===n)for(;"'"!==e.next(););l||e.eatWhile(/[\w\$_-]/);var h=e.eat(":");!e.eat(":")&&h&&e.eatWhile(/[\w\$_-]/),e.match(/^[ \t]*\(/,!1)&&(i=!0);var c=e.current();return l=Sb.propertyIsEnumerable(c)&&Sb[c],i&&!l&&(l={type:"function_call",style:"def"}),Zb(t)?(Yb(t),"variable"):("element"!=c&&"attribute"!=c&&"axis_specifier"!=l.type||Mb(t,{type:"xmlconstructor"}),l?l.style:"variable")}return bb(e,t,wb(n))}function yb(e,t){for(var n,i=!1,r=!1,s=0;n=e.next();){if(")"==n&&i){if(!(s>0)){Yb(t);break}s--}else":"==n&&r&&s++;i=":"==n,r="("==n}return"comment"}function wb(e,t){return function(n,i){var r;if(Ab(i)&&n.current()==e)return Yb(i),t&&(i.tokenize=t),"string";if(Mb(i,{type:"string",name:e,tokenize:wb(e,t)}),n.match("{",!1)&&Tb(i))return i.tokenize=xb,"string";for(;r=n.next();){if(r==e){Yb(i),t&&(i.tokenize=t);break}if(n.match("{",!1)&&Tb(i))return i.tokenize=xb,"string"}return"string"}}function vb(e,t){var n=/[\w\$_-]/;if(e.eat('"')){for(;'"'!==e.next(););e.eat(":")}else e.eatWhile(n),e.match(":=",!1)||e.eat(":");return e.eatWhile(n),t.tokenize=xb,"variable"}function kb(e,t){return function(n,i){return n.eatSpace(),t&&n.eat(">")?(Yb(i),i.tokenize=xb,"tag"):(n.eat("/")||Mb(i,{type:"tag",name:e,tokenize:xb}),n.eat(">")?(i.tokenize=xb,"tag"):(i.tokenize=Qb,"tag"))}}function Qb(e,t){var n=e.next();return"/"==n&&e.eat(">")?(Tb(t)&&Yb(t),Xb(t)&&Yb(t),"tag"):">"==n?(Tb(t)&&Yb(t),"tag"):"="==n?null:'"'==n||"'"==n?bb(e,t,wb(n,Qb)):(Tb(t)||Mb(t,{type:"attribute",tokenize:Qb}),e.eat(/[a-zA-Z_:]/),e.eatWhile(/[-a-zA-Z0-9_:.]/),e.eatSpace(),(e.match(">",!1)||e.match("/",!1))&&(Yb(t),t.tokenize=xb),"attribute")}function $b(e,t){for(var n;n=e.next();)if("-"==n&&e.match("->",!0))return t.tokenize=xb,"comment"}function Pb(e,t){for(var n;n=e.next();)if("]"==n&&e.match("]",!0))return t.tokenize=xb,"comment"}function Cb(e,t){for(var n;n=e.next();)if("?"==n&&e.match(">",!0))return t.tokenize=xb,"processingInstruction"}function Xb(e){return Vb(e,"tag")}function Tb(e){return Vb(e,"attribute")}function Zb(e){return Vb(e,"xmlconstructor")}function Ab(e){return Vb(e,"string")}function Rb(e){return'"'===e.current()?e.match(/^[^\"]+\"\:/,!1):"'"===e.current()&&e.match(/^[^\"]+\'\:/,!1)}function Vb(e,t){return e.stack.length&&e.stack[e.stack.length-1].type==t}function Mb(e,t){e.stack.push(t)}function Yb(e){e.stack.pop();var t=e.stack.length&&e.stack[e.stack.length-1].tokenize;e.tokenize=t||xb}const _b={name:"xquery",startState:function(){return{tokenize:xb,cc:[],stack:[]}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},languageData:{commentTokens:{block:{open:"(:",close:":)"}}}};var Wb=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});const Eb=(e,t)=>n=>{const i=[];function r(t){e.valid=t,e.dispatchEvent(new CustomEvent(t?"valid":"invalid",{detail:i,composed:!0,bubbles:!0}))}return t?0===n.state.doc.length?(r(!0),Promise.resolve(i)):new Promise(e=>fetch(t,{method:"POST",headers:{"Content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams({code:n.state.doc.toString()||""}).toString()}).then(e=>e.json()).then(t=>{if("fail"===t.status){const e=n.state.doc.lineAt(t.line);i.push({message:t.message,severity:"error",from:e.from+t.column,to:e.from+e.length})}e(i),r(0===i.length)})):Promise.resolve(i)};class zb extends QS{constructor(e,t=[],n=null){super(e,t),this.linterUri=n}getExtensions(e){return Wb(this,null,(function*(){return[_u.define(_b),Ug(Eb(e,this.linterUri)),oS()]}))}serialize(){return this.editor.content}}const Ub=96,qb=1,Db=97,Ib=98,jb=2,Bb=[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,Nb=40,Gb=95,Fb=91,Hb=45,Jb=46,Kb=35,ex=37;function tx(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function nx(e){return e>=48&&e<=57}const ix=new Al((e,t)=>{for(let n=!1,i=0,r=0;;r++){let{next:s}=e;if(!(tx(s)||s==Hb||s==Gb||n&&nx(s))){n&&e.acceptToken(s==Nb?Db:2==i&&t.canShift(jb)?jb:Ib);break}!n&&(s!=Hb||r>0)&&(n=!0),i===r&&s==Hb&&i++,e.advance()}}),rx=new Al(e=>{if(Bb.includes(e.peek(-1))){let{next:t}=e;(tx(t)||t==Gb||t==Kb||t==Jb||t==Fb||t==Lb||t==Hb)&&e.acceptToken(Ub)}}),sx=new Al(e=>{if(!Bb.includes(e.peek(-1))){let{next:t}=e;if(t==ex&&(e.advance(),e.acceptToken(qb)),tx(t)){do{e.advance()}while(tx(e.next));e.acceptToken(qb)}}}),ox=rh({"AtKeyword import charset namespace keyframes media supports":Ph.definitionKeyword,"from to selector":Ph.keyword,NamespaceName:Ph.namespace,KeyframeName:Ph.labelName,KeyframeRangeName:Ph.operatorKeyword,TagName:Ph.tagName,ClassName:Ph.className,PseudoClassName:Ph.constant(Ph.className),IdName:Ph.labelName,"FeatureName PropertyName":Ph.propertyName,AttributeName:Ph.attributeName,NumberLiteral:Ph.number,KeywordQuery:Ph.keyword,UnaryQueryOp:Ph.operatorKeyword,"CallTag ValueName":Ph.atom,VariableName:Ph.variableName,Callee:Ph.operatorKeyword,Unit:Ph.unit,"UniversalSelector NestingSelector":Ph.definitionOperator,MatchOp:Ph.compareOperator,"ChildOp SiblingOp, LogicOp":Ph.logicOperator,BinOp:Ph.arithmeticOperator,Important:Ph.modifier,Comment:Ph.blockComment,ColorLiteral:Ph.color,"ParenthesizedContent StringLiteral":Ph.string,":":Ph.punctuation,"PseudoOp #":Ph.derefOperator,"; ,":Ph.separator,"( )":Ph.paren,"[ ]":Ph.squareBracket,"{ }":Ph.brace}),ax={__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},lx={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},hx={__proto__:null,not:128,only:128},cx=Nl.deserialize({version:14,states:"9bQYQ[OOO#_Q[OOP#fOWOOOOQP'#Cd'#CdOOQP'#Cc'#CcO#kQ[O'#CfO$_QXO'#CaO$fQ[O'#ChO$qQ[O'#DPO$vQ[O'#DTOOQP'#Ej'#EjO${QdO'#DeO%gQ[O'#DrO${QdO'#DtO%xQ[O'#DvO&TQ[O'#DyO&]Q[O'#EPO&kQ[O'#EROOQS'#Ei'#EiOOQS'#EU'#EUQYQ[OOO&rQXO'#CdO'gQWO'#DaO'lQWO'#EpO'wQ[O'#EpQOQWOOP(RO#tO'#C_POOO)C@X)C@XOOQP'#Cg'#CgOOQP,59Q,59QO#kQ[O,59QO(^Q[O'#EXO(xQWO,58{O)QQ[O,59SO$qQ[O,59kO$vQ[O,59oO(^Q[O,59sO(^Q[O,59uO(^Q[O,59vO)]Q[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO)dQWO,59SO)iQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO)nQ`O,59oOOQS'#Cp'#CpO${QdO'#CqO)vQvO'#CsO+TQtO,5:POOQO'#Cx'#CxO)iQWO'#CwO+iQWO'#CyOOQS'#Em'#EmOOQO'#Dh'#DhO+nQ[O'#DoO+|QWO'#EqO&]Q[O'#DmO,[QWO'#DpOOQO'#Er'#ErO({QWO,5:^O,aQpO,5:`OOQS'#Dx'#DxO,iQWO,5:bO,nQ[O,5:bOOQO'#D{'#D{O,vQWO,5:eO,{QWO,5:kO-TQWO,5:mOOQS-E8S-E8SO${QdO,59{O-]Q[O'#EZO-jQWO,5;[O-jQWO,5;[POOO'#ET'#ETP-uO#tO,58yPOOO,58y,58yOOQP1G.l1G.lO.lQXO,5:sOOQO-E8V-E8VOOQS1G.g1G.gOOQP1G.n1G.nO)dQWO1G.nO)iQWO1G.nOOQP1G/V1G/VO.yQ`O1G/ZO/dQXO1G/_O/zQXO1G/aO0bQXO1G/bO0xQWO,59zO0}Q[O'#DOO1UQdO'#CoOOQP1G/Z1G/ZO${QdO1G/ZO1]QpO,59]OOQS,59_,59_O${QdO,59aO1eQWO1G/kOOQS,59c,59cO1jQ!bO,59eO1rQWO'#DhO1}QWO,5:TO2SQWO,5:ZO&]Q[O,5:VO&]Q[O'#E[O2[QWO,5;]O2gQWO,5:XO(^Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O2xQWO1G/|O2}QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XO3YQtO1G/gOOQO,5:u,5:uO3pQ[O,5:uOOQO-E8X-E8XO3}QWO1G0vPOOO-E8R-E8RPOOO1G.e1G.eOOQP7+$Y7+$YOOQP7+$u7+$uO${QdO7+$uOOQS1G/f1G/fO4YQXO'#EoO4aQWO,59jO4fQtO'#EVO5ZQdO'#ElO5eQWO,59ZO5jQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO5rQWO1G/PO${QdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO5wQWO,5:vOOQO-E8Y-E8YO6VQXO1G/vOOQS7+%h7+%hO6^QYO'#CsOOQO'#EO'#EOO6iQ`O'#D}OOQO'#D}'#D}O6tQWO'#E]O6|QdO,5:hOOQS,5:h,5:hO7XQtO'#EYO${QdO'#EYO8VQdO7+%ROOQO7+%R7+%ROOQO1G0a1G0aO8jQpO<<HaO8rQWO,5;ZOOQP1G/U1G/UOOQS-E8T-E8TO${QdO'#EWO8zQWO,5;WOOQT1G.u1G.uOOQP<<Ha<<HaOOQS7+$k7+$kO9SQdO7+%ZOOQO7+%b7+%bOOQO,5:i,5:iO3QQdO'#E^O6tQWO,5:wOOQS,5:w,5:wOOQS-E8Z-E8ZOOQS1G0S1G0SO9ZQtO,5:tOOQS-E8W-E8WOOQO<<Hm<<HmOOQPAN={AN={O:XQdO,5:rOOQO-E8U-E8UOOQO<<Hu<<HuOOQO,5:x,5:xOOQO-E8[-E8[OOQS1G0c1G0c",stateData:":k~O#WOS#XQQ~OUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#URO#_TO~OQfOUYOXYO]VO^VOtWOxXO!YaO!ZZO!g[O!i]O!k^O!n_O!t`O#UeO#_TO~O#R#dP~P!ZO#XjO~O#UlO~O]qO^qOpoOtrOxsO|tO!PvO#SuO#_nO~O!RwO~P#pO`}O#TzO#UyO~O#U!OO~O#U!QO~OQ!ZOb!TOf!ZOh!ZOn!YO#T!WO#U!SO#b!UO~Ob!]O!b!_O!e!`O#U![O!R#eP~Oh!eOn!YO#U!dO~Oh!gO#U!gO~Ob!]O!b!_O!e!`O#U![O~O!W#eP~P%gO]WX]!UX^WXpWXtWXxWX|WX!PWX!RWX#SWX#_WX~O]!lO~O!W!mO#R#dX!Q#dX~O#R#dX!Q#dX~P!ZO#Y!pO#Z!pO#[!rO~OUYOXYO]VO^VOtWOxXO#URO#_TO~OpoO!RwO~O`!yO#TzO#UyO~O!Q#dP~P!ZOb#QO~Ob#RO~Ov#SOz#TO~OP#VObgXjgX!WgX!bgX!egX#UgXagXQgXfgXhgXngXpgX!VgX#RgX#TgX#bgXvgX!QgX~Ob!]Oj#WO!b!_O!e!`O#U![O!W#eP~Ob#ZO~Ob!]O!b!_O!e!`O#U#[O~Op#`O!`#_O!R#eX!W#eX~Ob#cO~Oj#WO!W#eO~O!W#fO~Oh#gOn!YO~O!R#hO~O!RwO!`#_O~O!RwO!W#kO~O!W!}X#R!}X!Q!}X~P!ZO!W!mO#R#da!Q#da~O#Y!pO#Z!pO#[#rO~O]qO^qOtrOxsO|tO!PvO#SuO#_nO~Op!{a!R!{aa!{a~P.QOv#tOz#uO~O]qO^qOtrOxsO#_nO~Op{i|{i!P{i!R{i#S{ia{i~P/ROp}i|}i!P}i!R}i#S}ia}i~P/ROp!Oi|!Oi!P!Oi!R!Oi#S!Oia!Oi~P/RO!Q#vO~Oa#cP~P(^Oa#`P~P${Oa#}Oj#WO~O!W$PO~Oh$QOo$QO~O]!^Xa![X!`![X~O]$RO~Oa$SO!`#_O~Op#`O!R#ea!W#ea~O!`#_Op!aa!R!aa!W!aaa!aa~O!W$XO~O!Q$`O#U$ZO#b$YO~Oj#WOp$bO!V$dO!W!Ti#R!Ti!Q!Ti~P${O!W!}a#R!}a!Q!}a~P!ZO!W!mO#R#di!Q#di~Oa#cX~P#pOa$hO~Oj#WOQ!yXa!yXb!yXf!yXh!yXn!yXp!yX#T!yX#U!yX#b!yX~Op$jOa#`X~P${Oa$lO~Oj#WOv$mO~Oa$nO~O!`#_Op#Oa!R#Oa!W#Oa~Oa$pO~P.QOP#VOpgX!RgX~O#b$YOp!qX!R!qX~Op$rO!RwO~O!Q$vO#U$ZO#b$YO~Oj#WOQ!|Xb!|Xf!|Xh!|Xn!|Xp!|X!V!|X!W!|X#R!|X#T!|X#U!|X#b!|X!Q!|X~Op$bO!V$yO!W!Tq#R!Tq!Q!Tq~P${Oj#WOv$zO~OpoOa#ca~Op$jOa#`a~Oa$}O~P${Oj#WOQ!|ab!|af!|ah!|an!|ap!|a!V!|a!W!|a#R!|a#T!|a#U!|a#b!|a!Q!|a~Oa!zap!za~P${O#Wo#X#bj!P#b~",goto:"-Y#gPPP#hP#kP#t$TP#t$d#tPP$jPPP$p$y$yP%]P$yP$y%w&ZPPP&s&y#tP'PP#tP'VP#tP#t#tPPP']'r(PPP#kPP(W(W(b(WP(WP(W(WP#kP#kP#kP(e#kP(h(k(n(u#kP#kP(z)Q)a)o)u*P*V*a*g*mPPPPPPPPPP*s*|P+i+lP,b,e,k,tRkQ_bOPdhw!m#nkYOPdhotuvw!m#Q#c#nkSOPdhotuvw!m#Q#c#nQmTR!snQ{VR!wqQ!w}Q#Y!XR#s!yq!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${U$]#h$_$rR$q$[q!XZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${p!ZZ]!T!l#R#T#W#l#u#z$R$b$c$j$o${Q!e^R#g!fQ|VR!xqQ!w|R#s!xQ!PWR!zrQ!RXR!{sQxUQ!vpQ#d!bQ#j!iQ#k!jQ$t$^R%Q$sSgPwQ!ohQ#m!mR$e#nZfPhw!m#na!a[`a!V!]!_#_#`R#]!]R!f^R!h_R#i!hS$^#h$_R%O$rV$[#h$_$rQ!qjR#q!qQdOShPwU!kdh#nR#n!mQ#z#RU$i#z$o${Q$o$RR${$jQ$k#zR$|$kQpUS!up$gR$g#wQ$c#lR$x$cQ!ngS#o!n#pR#p!oQ#a!^R$V#aQ$_#hR$u$_Q$s$^R%P$s_cOPdhw!m#n^UOPdhw!m#nQ!toQ!|tQ!}uQ#OvQ#w#QR$W#cR#{#RQ!VZQ!c]Q#U!TQ#l!l[#y#R#z$R$j$o${Q#|#TQ$O#WS$a#l$cQ$f#uR$w$bR#x#QQiPR#PwQ!b[Q!jaR#X!VU!^[a!VQ!i`Q#^!]Q#b!_Q$T#_R$U#`",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 KeyframeSelector KeyframeRangeName SupportsStatement supports AtRule Styles",maxTerm:114,nodeProps:[["openedBy",17,"(",48,"{"],["closedBy",18,")",49,"}"]],propSources:[ox],skippedNodes:[0,3,85],repeatNodeCount:10,tokenData:"J^~R!^OX$}X^%u^p$}pq%uqr)Xrs.Rst/utu6duv$}vw7^wx7oxy9^yz9oz{9t{|:_|}?Q}!O?c!O!P@Q!P!Q@i!Q![Ab![!]B]!]!^CX!^!_$}!_!`Cj!`!aC{!a!b$}!b!cDw!c!}$}!}#OFa#O#P$}#P#QFr#Q#R6d#R#T$}#T#UGT#U#c$}#c#dHf#d#o$}#o#pH{#p#q6d#q#rI^#r#sIo#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;=`JW<%lO$}`%QSOy%^z;'S%^;'S;=`%o<%lO%^`%cSo`Oy%^z;'S%^;'S;=`%o<%lO%^`%rP;=`<%l%^~%zh#W~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#W~o`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%^l)[UOy%^z#]%^#]#^)n#^;'S%^;'S;=`%o<%lO%^l)sUo`Oy%^z#a%^#a#b*V#b;'S%^;'S;=`%o<%lO%^l*[Uo`Oy%^z#d%^#d#e*n#e;'S%^;'S;=`%o<%lO%^l*sUo`Oy%^z#c%^#c#d+V#d;'S%^;'S;=`%o<%lO%^l+[Uo`Oy%^z#f%^#f#g+n#g;'S%^;'S;=`%o<%lO%^l+sUo`Oy%^z#h%^#h#i,V#i;'S%^;'S;=`%o<%lO%^l,[Uo`Oy%^z#T%^#T#U,n#U;'S%^;'S;=`%o<%lO%^l,sUo`Oy%^z#b%^#b#c-V#c;'S%^;'S;=`%o<%lO%^l-[Uo`Oy%^z#h%^#h#i-n#i;'S%^;'S;=`%o<%lO%^l-uS!V[o`Oy%^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.Rn/zYtQOy%^z!Q%^!Q![0j![!c%^!c!i0j!i#T%^#T#Z0j#Z;'S%^;'S;=`%o<%lO%^l0oYo`Oy%^z!Q%^!Q![1_![!c%^!c!i1_!i#T%^#T#Z1_#Z;'S%^;'S;=`%o<%lO%^l1dYo`Oy%^z!Q%^!Q![2S![!c%^!c!i2S!i#T%^#T#Z2S#Z;'S%^;'S;=`%o<%lO%^l2ZYf[o`Oy%^z!Q%^!Q![2y![!c%^!c!i2y!i#T%^#T#Z2y#Z;'S%^;'S;=`%o<%lO%^l3QYf[o`Oy%^z!Q%^!Q![3p![!c%^!c!i3p!i#T%^#T#Z3p#Z;'S%^;'S;=`%o<%lO%^l3uYo`Oy%^z!Q%^!Q![4e![!c%^!c!i4e!i#T%^#T#Z4e#Z;'S%^;'S;=`%o<%lO%^l4lYf[o`Oy%^z!Q%^!Q![5[![!c%^!c!i5[!i#T%^#T#Z5[#Z;'S%^;'S;=`%o<%lO%^l5aYo`Oy%^z!Q%^!Q![6P![!c%^!c!i6P!i#T%^#T#Z6P#Z;'S%^;'S;=`%o<%lO%^l6WSf[o`Oy%^z;'S%^;'S;=`%o<%lO%^d6gUOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^d7QSzSo`Oy%^z;'S%^;'S;=`%o<%lO%^b7cSXQOy%^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;=`<%l7on9cSb^Oy%^z;'S%^;'S;=`%o<%lO%^~9tOa~n9{UUQjWOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^n:fWjW!PQOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^l;TUo`Oy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^l;nYo`#b[Oy%^z!Q%^!Q![;g![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^l<cYo`Oy%^z{%^{|=R|}%^}!O=R!O!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=WUo`Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l=qUo`#b[Oy%^z!Q%^!Q![=j![;'S%^;'S;=`%o<%lO%^l>[[o`#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^n?VSp^Oy%^z;'S%^;'S;=`%o<%lO%^l?hWjWOy%^z!O%^!O!P;O!P!Q%^!Q![>T![;'S%^;'S;=`%o<%lO%^n@VU#_QOy%^z!Q%^!Q![;g![;'S%^;'S;=`%o<%lO%^~@nTjWOy%^z{@}{;'S%^;'S;=`%o<%lO%^~AUSo`#X~Oy%^z;'S%^;'S;=`%o<%lO%^lAg[#b[Oy%^z!O%^!O!P;g!P!Q%^!Q![>T![!g%^!g!h<^!h#X%^#X#Y<^#Y;'S%^;'S;=`%o<%lO%^bBbU]QOy%^z![%^![!]Bt!];'S%^;'S;=`%o<%lO%^bB{S^Qo`Oy%^z;'S%^;'S;=`%o<%lO%^nC^S!W^Oy%^z;'S%^;'S;=`%o<%lO%^dCoSzSOy%^z;'S%^;'S;=`%o<%lO%^bDQU|QOy%^z!`%^!`!aDd!a;'S%^;'S;=`%o<%lO%^bDkS|Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bDzWOy%^z!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bEk[!YQo`Oy%^z}%^}!OEd!O!Q%^!Q![Ed![!c%^!c!}Ed!}#T%^#T#oEd#o;'S%^;'S;=`%o<%lO%^bFfSxQOy%^z;'S%^;'S;=`%o<%lO%^lFwSv[Oy%^z;'S%^;'S;=`%o<%lO%^bGWUOy%^z#b%^#b#cGj#c;'S%^;'S;=`%o<%lO%^bGoUo`Oy%^z#W%^#W#XHR#X;'S%^;'S;=`%o<%lO%^bHYS!`Qo`Oy%^z;'S%^;'S;=`%o<%lO%^bHiUOy%^z#f%^#f#gHR#g;'S%^;'S;=`%o<%lO%^fIQS!RUOy%^z;'S%^;'S;=`%o<%lO%^nIcS!Q^Oy%^z;'S%^;'S;=`%o<%lO%^fItU!PQOy%^z!_%^!_!`6y!`;'S%^;'S;=`%o<%lO%^`JZP;=`<%l$}",tokenizers:[rx,sx,ix,1,2,3,4,new Zl("m~RRYZ[z{a~~g~aO#Z~~dP!P!Qg~lO#[~~",28,102)],topRules:{StyleSheet:[0,4],Styles:[1,84]},specialized:[{term:97,get:e=>ax[e]||-1},{term:56,get:e=>lx[e]||-1},{term:98,get:e=>hx[e]||-1}],tokenPrec:1169});let ux=null;function fx(){if(!ux&&"object"==typeof document&&document.body){let{style:e}=document.body,t=[],n=new Set;for(let i in e)"cssText"!=i&&"cssFloat"!=i&&"string"==typeof e[i]&&(/[A-Z]/.test(i)&&(i=i.replace(/[A-Z]/g,e=>"-"+e.toLowerCase())),n.has(i)||(t.push(i),n.add(i)));ux=t.sort().map(e=>({type:"property",label:e}))}return ux||[]}const dx=["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})),px=["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}))),Ox=["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})),mx=/^(\w[\w-]*|-\w[\w-]*|)$/,gx=/^-(-[\w-]*)?$/;function Sx(e,t){var n;if(("("==e.name||e.type.isError)&&(e=e.parent||e),"ArgList"!=e.name)return!1;let i=null===(n=e.parent)||void 0===n?void 0:n.firstChild;return"Callee"==(null==i?void 0:i.name)&&"var"==t.sliceString(i.from,i.to)}const bx=new rl,xx=["Declaration"];function yx(e){for(let t=e;;){if(t.type.isTop)return t;if(!(t=t.parent))return e}}function wx(e,t,n){if(t.to-t.from>4096){let i=bx.get(t);if(i)return i;let r=[],s=new Set,o=t.cursor(za.IncludeAnonymous);if(o.firstChild())do{for(let t of wx(e,o.node,n))s.has(t.label)||(s.add(t.label),r.push(t))}while(o.nextSibling());return bx.set(t,r),r}{let i=[],r=new Set;return t.cursor().iterate(t=>{var s;if(n(t)&&t.matchContext(xx)&&":"==(null===(s=t.node.nextSibling)||void 0===s?void 0:s.name)){let n=e.sliceString(t.from,t.to);r.has(n)||(r.add(n),i.push({label:n,type:"variable"}))}}),i}}const vx=(e=>t=>{let{state:n,pos:i}=t,r=oc(n).resolveInner(i,-1),s=r.type.isError&&r.from==r.to-1&&"-"==n.doc.sliceString(r.from,r.to);if("PropertyName"==r.name||(s||"TagName"==r.name)&&/^(Block|Styles)$/.test(r.resolve(r.to).name))return{from:r.from,options:fx(),validFor:mx};if("ValueName"==r.name)return{from:r.from,options:px,validFor:mx};if("PseudoClassName"==r.name)return{from:r.from,options:dx,validFor:mx};if(e(r)||(t.explicit||s)&&Sx(r,n.doc))return{from:e(r)||s?r.from:i,options:wx(n.doc,yx(r),e),validFor:gx};if("TagName"==r.name){for(let{parent:e}=r;e;e=e.parent)if("Block"==e.name)return{from:r.from,options:fx(),validFor:mx};return{from:r.from,options:Ox,validFor:mx}}if(!t.explicit)return null;let o=r.resolve(i),a=o.childBefore(i);return a&&":"==a.name&&"PseudoClassSelector"==o.name?{from:i,options:dx,validFor:mx}:a&&":"==a.name&&"Declaration"==o.name||"ArgList"==o.name?{from:i,options:px,validFor:mx}:"Block"==o.name||"Styles"==o.name?{from:i,options:fx(),validFor:mx}:null})(e=>"VariableName"==e.name),kx=sc.define({name:"css",parser:cx.configure({props:[kc.add({Declaration:Yc()}),zc.add({Block:Uc})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function Qx(){return new mc(kx,kx.data.of({autocomplete:vx}))}var $x=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class Px extends QS{getExtensions(e){return $x(this,null,(function*(){return[new mc(kx)]}))}serialize(){return this.editor.content}}var Cx=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class Xx extends QS{getExtensions(e){return Cx(this,null,(function*(){return[]}))}serialize(){return this.editor.content}}function Tx(e){function t(e,t){e.cmdState.push(t)}function n(e){return e.cmdState.length>0?e.cmdState[e.cmdState.length-1]:null}function i(e){var t=e.cmdState.pop();t&&t.closeBracket()}function r(e){for(var t=e.cmdState,n=t.length-1;n>=0;n--){var i=t[n];if("DEFAULT"!=i.name)return i}return{styleIdentifier:function(){return null}}}function s(e,t,n){return function(){this.name=e,this.bracketNo=0,this.style=t,this.styles=n,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,i){var s;if(e.match(/^\\[a-zA-Z@\xc0-\u1fff\u2060-\uffff]+/)){var l=e.current().slice(1);return t(i,s=new(s=o.hasOwnProperty(l)?o[l]:o.DEFAULT)),a(i,c),s.style}if(e.match(/^\\[$&%#{}_]/))return"tag";if(e.match(/^\\[,;!\/\\]/))return"tag";if(e.match("\\["))return a(i,(function(e,t){return h(e,t,"\\]")})),"keyword";if(e.match("\\("))return a(i,(function(e,t){return h(e,t,"\\)")})),"keyword";if(e.match("$$"))return a(i,(function(e,t){return h(e,t,"$$")})),"keyword";if(e.match("$"))return a(i,(function(e,t){return h(e,t,"$")})),"keyword";var u=e.next();return"%"==u?(e.skipToEnd(),"comment"):"}"==u||"]"==u?(s=n(i))?(s.closeBracket(u),a(i,c),"bracket"):"error":"{"==u||"["==u?(t(i,s=new(s=o.DEFAULT)),"bracket"):/\d/.test(u)?(e.eatWhile(/[\w.%]/),"atom"):(e.eatWhile(/[\w\-_]/),"begin"==(s=r(i)).name&&(s.argument=e.current()),s.styleIdentifier())}function h(e,t,n){if(e.eatSpace())return null;if(n&&e.match(n))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 i=e.next();return"{"==i||"}"==i||"["==i||"]"==i||"("==i||")"==i?"bracket":"%"==i?(e.skipToEnd(),"comment"):"error"}function c(e,t){var r=e.peek();return"{"==r||"["==r?(n(t).openBracket(r),e.eat(r),a(t,l),"bracket"):/[ \t\r]/.test(r)?(e.eat(r),null):(a(t,l),i(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 Zx=Tx(!1);Tx(!0);var Ax=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class Rx extends QS{getExtensions(e){return Ax(this,null,(function*(){return[_u.define(Zx)]}))}serialize(){return this.editor.content}}const Vx=54,Mx=1,Yx=55,_x=2,Wx=56,Ex=3,zx=4,Ux=5,qx=6,Dx=7,Ix=8,jx=9,Bx=10,Lx=11,Nx=12,Gx=13,Fx=57,Hx=14,Jx=58,Kx=20,ey=22,ty=23,ny=24,iy=26,ry=27,sy=28,oy=31,ay=34,ly=36,hy=37,cy=0,uy=1,fy={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},dy={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},py={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 Oy(e){return 45==e||46==e||58==e||e>=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function my(e){return 9==e||10==e||13==e||32==e}let gy=null,Sy=null,by=0;function xy(e,t){let n=e.pos+t;if(by==n&&Sy==e)return gy;let i=e.peek(t);for(;my(i);)i=e.peek(++t);let r="";for(;Oy(i);)r+=String.fromCharCode(i),i=e.peek(++t);return Sy=e,by=n,gy=r?r.toLowerCase():i==ky||i==Qy?void 0:null}const yy=60,wy=62,vy=47,ky=63,Qy=33,$y=45;function Py(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 Cy=[qx,Bx,Dx,Ix,jx],Xy=new Ll({start:null,shift:(e,t,n,i)=>Cy.indexOf(t)>-1?new Py(xy(i,1)||"",e):e,reduce:(e,t)=>t==Kx&&e?e.parent:e,reuse(e,t,n,i){let r=t.type.id;return r==qx||r==ly?new Py(xy(i,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Ty=new Al((e,t)=>{if(e.next!=yy)return void(e.next<0&&t.context&&e.acceptToken(Fx));e.advance();let n=e.next==vy;n&&e.advance();let i=xy(e,0);if(void 0===i)return;if(!i)return e.acceptToken(n?Hx:qx);let r=t.context?t.context.name:null;if(n){if(i==r)return e.acceptToken(Lx);if(r&&dy[r])return e.acceptToken(Fx,-2);if(t.dialectEnabled(cy))return e.acceptToken(Nx);for(let e=t.context;e;e=e.parent)if(e.name==i)return;e.acceptToken(Gx)}else{if("script"==i)return e.acceptToken(Dx);if("style"==i)return e.acceptToken(Ix);if("textarea"==i)return e.acceptToken(jx);if(fy.hasOwnProperty(i))return e.acceptToken(Bx);r&&py[r]&&py[r][i]?e.acceptToken(Fx,-1):e.acceptToken(qx)}},{contextual:!0}),Zy=new Al(e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(Jx);break}if(e.next==$y)t++;else{if(e.next==wy&&t>=2){n>3&&e.acceptToken(Jx,-2);break}t=0}e.advance()}});function Ay(e){for(;e;e=e.parent)if("svg"==e.name||"math"==e.name)return!0;return!1}const Ry=new Al((e,t)=>{if(e.next==vy&&e.peek(1)==wy){let n=t.dialectEnabled(uy)||Ay(t.context);e.acceptToken(n?Ux:zx,2)}else e.next==wy&&e.acceptToken(zx,1)});function Vy(e,t,n){let i=2+e.length;return new Al(r=>{for(let s=0,o=0,a=0;;a++){if(r.next<0){a&&r.acceptToken(t);break}if(0==s&&r.next==yy||1==s&&r.next==vy||s>=2&&s<i&&r.next==e.charCodeAt(s-2))s++,o++;else if(2!=s&&s!=i||!my(r.next)){if(s==i&&r.next==wy){a>o?r.acceptToken(t,-o):r.acceptToken(n,-(o-2));break}if((10==r.next||13==r.next)&&a){r.acceptToken(t,1);break}s=o=0}else o++;r.advance()}})}const My=Vy("script",Vx,Mx),Yy=Vy("style",Yx,_x),_y=Vy("textarea",Wx,Ex),Wy=rh({"Text RawText":Ph.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":Ph.angleBracket,TagName:Ph.tagName,"MismatchedCloseTag/TagName":[Ph.tagName,Ph.invalid],AttributeName:Ph.attributeName,"AttributeValue UnquotedAttributeValue":Ph.attributeValue,Is:Ph.definitionOperator,"EntityReference CharacterReference":Ph.character,Comment:Ph.blockComment,ProcessingInst:Ph.processingInstruction,DoctypeDecl:Ph.documentMeta}),Ey=Nl.deserialize({version:14,states:",xOVO!rOOO!WQ#tO'#CqO!]Q#tO'#CzO!bQ#tO'#C}O!gQ#tO'#DQO!lQ#tO'#DSO!qOaO'#CpO!|ObO'#CpO#XOdO'#CpO$eO!rO'#CpOOO`'#Cp'#CpO$lO$fO'#DTO$tQ#tO'#DVO$yQ#tO'#DWOOO`'#Dk'#DkOOO`'#DY'#DYQVO!rOOO%OQ&rO,59]O%WQ&rO,59fO%`Q&rO,59iO%hQ&rO,59lO%sQ&rO,59nOOOa'#D^'#D^O%{OaO'#CxO&WOaO,59[OOOb'#D_'#D_O&`ObO'#C{O&kObO,59[OOOd'#D`'#D`O&sOdO'#DOO'OOdO,59[OOO`'#Da'#DaO'WO!rO,59[O'_Q#tO'#DROOO`,59[,59[OOOp'#Db'#DbO'dO$fO,59oOOO`,59o,59oO'lQ#|O,59qO'qQ#|O,59rOOO`-E7W-E7WO'vQ&rO'#CsOOQW'#DZ'#DZO(UQ&rO1G.wOOOa1G.w1G.wO(^Q&rO1G/QOOOb1G/Q1G/QO(fQ&rO1G/TOOOd1G/T1G/TO(nQ&rO1G/WOOO`1G/W1G/WOOO`1G/Y1G/YO(yQ&rO1G/YOOOa-E7[-E7[O)RQ#tO'#CyOOO`1G.v1G.vOOOb-E7]-E7]O)WQ#tO'#C|OOOd-E7^-E7^O)]Q#tO'#DPOOO`-E7_-E7_O)bQ#|O,59mOOOp-E7`-E7`OOO`1G/Z1G/ZOOO`1G/]1G/]OOO`1G/^1G/^O)gQ,UO,59_OOQW-E7X-E7XOOOa7+$c7+$cOOOb7+$l7+$lOOOd7+$o7+$oOOO`7+$r7+$rOOO`7+$t7+$tO)rQ#|O,59eO)wQ#|O,59hO)|Q#|O,59kOOO`1G/X1G/XO*RO7[O'#CvO*dOMhO'#CvOOQW1G.y1G.yOOO`1G/P1G/POOO`1G/S1G/SOOO`1G/V1G/VOOOO'#D['#D[O*uO7[O,59bOOQW,59b,59bOOOO'#D]'#D]O+WOMhO,59bOOOO-E7Y-E7YOOQW1G.|1G.|OOOO-E7Z-E7Z",stateData:"+s~O!^OS~OUSOVPOWQOXROYTO[]O][O^^O`^Oa^Ob^Oc^Ox^O{_O!dZO~OfaO~OfbO~OfcO~OfdO~OfeO~O!WfOPlP!ZlP~O!XiOQoP!ZoP~O!YlORrP!ZrP~OUSOVPOWQOXROYTOZqO[]O][O^^O`^Oa^Ob^Oc^Ox^O!dZO~O!ZrO~P#dO![sO!euO~OfvO~OfwO~OS|OhyO~OS!OOhyO~OS!QOhyO~OS!SOT!TOhyO~OS!TOhyO~O!WfOPlX!ZlX~OP!WO!Z!XO~O!XiOQoX!ZoX~OQ!ZO!Z!XO~O!YlORrX!ZrX~OR!]O!Z!XO~O!Z!XO~P#dOf!_O~O![sO!e!aO~OS!bO~OS!cO~Oi!dOSgXhgXTgX~OS!fOhyO~OS!gOhyO~OS!hOhyO~OS!iOT!jOhyO~OS!jOhyO~Of!kO~Of!lO~Of!mO~OS!nO~Ok!qO!`!oO!b!pO~OS!rO~OS!sO~OS!tO~Oa!uOb!uOc!uO!`!wO!a!uO~Oa!xOb!xOc!xO!b!wO!c!xO~Oa!uOb!uOc!uO!`!{O!a!uO~Oa!xOb!xOc!xO!b!{O!c!xO~OT~bac!dx{!d~",goto:"%p!`PPPPPPPPPPPPPPPPPPPP!a!gP!mPP!yP!|#P#S#Y#]#`#f#i#l#r#x!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 EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:67,context:Xy,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,21,30,33,36,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,29,32,35,37,"OpenTag"],["group",-9,14,17,18,19,20,39,40,41,42,"Entity",16,"Entity TextContent",-3,28,31,34,"TextContent Entity"]],propSources:[Wy],skippedNodes:[0],repeatNodeCount:9,tokenData:"!<p!aR!YOX$qXY,QYZ,QZ[$q[]&X]^,Q^p$qpq,Qqr-_rs3_sv-_vw3}wxHYx}-_}!OH{!O!P-_!P!Q$q!Q![-_![!]Mz!]!^-_!^!_!$S!_!`!;x!`!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4U-_4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!Z$|c`PkW!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+UYkWOX+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!_-ljhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q[/ebhSkWOX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+PS0rXhSqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0mS1bP;=`<%l0m[1hP;=`<%l/^!V1vchS`P!a`!cpOq&Xqr1krs&}sv1kvw0mwx(tx!P1k!P!Q&X!Q!^1k!^!_*V!_!a&X!a#s1k#s$f&X$f;'S1k;'S;=`3R<%l?Ah1k?Ah?BY&X?BY?Mn1k?MnO&X!V3UP;=`<%l1k!_3[P;=`<%l-_!Z3hV!`h`P!cpOv&}wx'kx!^&}!^!_(V!_;'S&};'S;=`(n<%lO&}!_4WihSkWc!ROX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst>]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zbkWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOa!R!R7tP;=`<%l7S!Z8OYkWa!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{ihSkWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbhSkWa!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!V<QchSOp7Sqr;{rs7Sst0mtw;{wx7Sx!P;{!P!Q7S!Q!];{!]!^=]!^!a7S!a#s;{#s$f7S$f;'S;{;'S;=`>P<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXhSa!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TakWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOb!R!RAwP;=`<%lAY!ZBRYkWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhhSkWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbhSkWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbhSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXhSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!bx`P!a`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYlhS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_khS`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_X`P!a`!cp!eQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZhSfQ`PkW!a`!cpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!a`!cpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!a`!cpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!a`!cp!dPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!a`!cpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!a`!cpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!a`!cpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!a`!cpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!a`!cpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!a`!cpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!a`!cpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!cpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO{PP!-nP;=`<%l!-Sq!-xS!cp{POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!a`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!a`{POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!a`!cp{POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!a`!cpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!a`!cpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!a`!cpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!a`!cpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!a`!cpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!a`!cpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!cpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOxPP!7TP;=`<%l!6Vq!7]V!cpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!cpxPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!a`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!a`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!a`xPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!a`!cpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!a`!cpxPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!<TXiS`P!a`!cpOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X",tokenizers:[My,Yy,_y,Ry,Ty,Zy,0,1,2,3,4,5],topRules:{Document:[0,15]},dialects:{noMatch:0,selfClosing:485},tokenPrec:487});function zy(e,t){let n=Object.create(null);for(let i of e.getChildren(ty)){let e=i.getChild(ny),r=i.getChild(iy)||i.getChild(ry);e&&(n[t.read(e.from,e.to)]=r?r.type.id==iy?t.read(r.from+1,r.to-1):t.read(r.from,r.to):"")}return n}function Uy(e,t){let n=e.getChild(ey);return n?t.read(n.from,n.to):" "}function qy(e,t,n){let i;for(let r of n)if(!r.attrs||r.attrs(i||(i=zy(e.node.parent.firstChild,t))))return{parser:r.parser};return null}function Dy(e=[],t=[]){let n=[],i=[],r=[],s=[];for(let t of e){("script"==t.tag?n:"style"==t.tag?i:"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 ll((e,t)=>{let a=e.type.id;if(a==sy)return qy(e,t,n);if(a==oy)return qy(e,t,i);if(a==ay)return qy(e,t,r);if(a==Kx&&s.length){let n,i=e.node,r=i.firstChild,o=r&&Uy(r,t);if(o)for(let e of s)if(e.tag==o&&(!e.attrs||e.attrs(n||(n=zy(i,t))))){let t=i.lastChild;return{parser:e.parser,overlay:[{from:r.to,to:t.type.id==hy?t.from:i.to}]}}}if(o&&a==ty){let n,i=e.node;if(n=i.firstChild){let e=o[t.read(n.from,n.to)];if(e)for(let n of e){if(n.tagName&&n.tagName!=Uy(i.parent,t))continue;let e=i.lastChild;if(e.type.id==iy){let t=e.from+1,i=e.lastChild,r=e.to-(i&&i.isError?0:1);if(r>t)return{parser:n.parser,overlay:[{from:t,to:r}]}}else if(e.type.id==ry)return{parser:n.parser,overlay:[{from:e.from,to:e.to}]}}}}return null})}const Iy=303,jy=1,By=2,Ly=304,Ny=306,Gy=307,Fy=3,Hy=4,Jy=[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],Ky=125,ew=59,tw=47,nw=42,iw=43,rw=45,sw=new Ll({start:!1,shift:(e,t)=>t==Fy||t==Hy||t==Ny?e:t==Gy,strict:!1}),ow=new Al((e,t)=>{let{next:n}=e;(n==Ky||-1==n||t.context)&&e.acceptToken(Ly)},{contextual:!0,fallback:!0}),aw=new Al((e,t)=>{let n,{next:i}=e;Jy.indexOf(i)>-1||(i!=tw||(n=e.peek(1))!=tw&&n!=nw)&&(i==Ky||i==ew||-1==i||t.context||e.acceptToken(Iy))},{contextual:!0}),lw=new Al((e,t)=>{let{next:n}=e;if((n==iw||n==rw)&&(e.advance(),n==e.next)){e.advance();let n=!t.context&&t.canShift(jy);e.acceptToken(n?jy:By)}},{contextual:!0}),hw=rh({"get set async static":Ph.modifier,"for while do if else switch try catch finally return throw break continue default case":Ph.controlKeyword,"in of await yield void typeof delete instanceof":Ph.operatorKeyword,"let var const function class extends":Ph.definitionKeyword,"import export from":Ph.moduleKeyword,"with debugger as new":Ph.keyword,TemplateString:Ph.special(Ph.string),super:Ph.atom,BooleanLiteral:Ph.bool,this:Ph.self,null:Ph.null,Star:Ph.modifier,VariableName:Ph.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":Ph.function(Ph.variableName),VariableDefinition:Ph.definition(Ph.variableName),Label:Ph.labelName,PropertyName:Ph.propertyName,PrivatePropertyName:Ph.special(Ph.propertyName),"CallExpression/MemberExpression/PropertyName":Ph.function(Ph.propertyName),"FunctionDeclaration/VariableDefinition":Ph.function(Ph.definition(Ph.variableName)),"ClassDeclaration/VariableDefinition":Ph.definition(Ph.className),PropertyDefinition:Ph.definition(Ph.propertyName),PrivatePropertyDefinition:Ph.definition(Ph.special(Ph.propertyName)),UpdateOp:Ph.updateOperator,LineComment:Ph.lineComment,BlockComment:Ph.blockComment,Number:Ph.number,String:Ph.string,Escape:Ph.escape,ArithOp:Ph.arithmeticOperator,LogicOp:Ph.logicOperator,BitOp:Ph.bitwiseOperator,CompareOp:Ph.compareOperator,RegExp:Ph.regexp,Equals:Ph.definitionOperator,Arrow:Ph.function(Ph.punctuation),": Spread":Ph.punctuation,"( )":Ph.paren,"[ ]":Ph.squareBracket,"{ }":Ph.brace,"InterpolationStart InterpolationEnd":Ph.special(Ph.brace),".":Ph.derefOperator,", ;":Ph.separator,"@":Ph.meta,TypeName:Ph.typeName,TypeDefinition:Ph.definition(Ph.typeName),"type enum interface implements namespace module declare":Ph.definitionKeyword,"abstract global Privacy readonly override":Ph.modifier,"is keyof unique infer":Ph.operatorKeyword,JSXAttributeValue:Ph.attributeValue,JSXText:Ph.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":Ph.angleBracket,"JSXIdentifier JSXNameSpacedName":Ph.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":Ph.attributeName,"JSXBuiltin/JSXIdentifier":Ph.standard(Ph.tagName)}),cw={__proto__:null,export:14,as:19,from:27,default:30,async:35,function:36,extends:46,this:50,true:58,false:58,null:70,void:74,typeof:78,super:96,new:130,delete:146,yield:155,await:159,class:164,public:221,private:221,protected:221,readonly:223,instanceof:242,satisfies:245,in:246,const:248,import:280,keyof:335,unique:339,infer:345,is:381,abstract:401,implements:403,type:405,let:408,var:410,using:413,interface:419,enum:423,namespace:429,module:431,declare:435,global:439,for:458,of:467,while:470,with:474,do:478,if:482,else:484,switch:488,case:494,try:500,catch:504,finally:508,return:512,throw:516,break:520,continue:524,debugger:528},uw={__proto__:null,async:117,get:119,set:121,declare:181,public:183,private:183,protected:183,static:185,abstract:187,override:189,readonly:195,accessor:197,new:385},fw={__proto__:null,"<":137},dw=Nl.deserialize({version:14,states:"$6tO`QUOOO%TQUOOO'WQWOOP(eOSOOO*sQ(CjO'#CfO*zOpO'#CgO+YO!bO'#CgO+hO07`O'#DZO-yQUO'#DaO.ZQUO'#DlO%TQUO'#DvO0_QUO'#EOOOQ(CY'#EW'#EWO0xQSO'#ETOOQO'#Ei'#EiOOQO'#Ic'#IcO1QQSO'#GkO1]QSO'#EhO1bQSO'#EhO3dQ(CjO'#JdO6TQ(CjO'#JeO6qQSO'#FWO6vQ#tO'#FoOOQ(CY'#F`'#F`O7RO&jO'#F`O7aQ,UO'#FvO8wQSO'#FuOOQ(CY'#Je'#JeOOQ(CW'#Jd'#JdO8|QSO'#GoOOQQ'#KP'#KPO9XQSO'#IPO9^Q(C[O'#IQOOQQ'#JQ'#JQOOQQ'#IU'#IUQ`QUOOO%TQUO'#DnO9fQUO'#DzO9mQUO'#D|O9SQSO'#GkO9tQ,UO'#ClO:SQSO'#EgO:_QSO'#ErO:dQ,UO'#F_O;RQSO'#GkOOQO'#KQ'#KQO;WQSO'#KQO;fQSO'#GsO;fQSO'#GtO;fQSO'#GvO9SQSO'#GyO<]QSO'#G|O=tQSO'#CbO>UQSO'#HYO>^QSO'#H`O>^QSO'#HbO`QUO'#HdO>^QSO'#HfO>^QSO'#HiO>cQSO'#HoO>hQ(C]O'#HuO%TQUO'#HwO>sQ(C]O'#HyO?OQ(C]O'#H{O9^Q(C[O'#H}O?ZQ(CjO'#CfO@]QWO'#DfQOQSOOO%TQUO'#D|O@sQSO'#EPO9tQ,UO'#EgOAOQSO'#EgOAZQ`O'#F_OOQQ'#Cd'#CdOOQ(CW'#Dk'#DkOOQ(CW'#Jh'#JhO%TQUO'#JhOOQO'#Jl'#JlOOQO'#I`'#I`OBZQWO'#E`OOQ(CW'#E_'#E_OCVQ(C`O'#E`OCaQWO'#ESOOQO'#Jk'#JkOCuQWO'#JlOESQWO'#ESOCaQWO'#E`PEaO?MpO'#C`POOO)CDo)CDoOOOO'#IV'#IVOElOpO,59ROOQ(CY,59R,59ROOOO'#IW'#IWOEzO!bO,59RO%TQUO'#D]OOOO'#IY'#IYOFYO07`O,59uOOQ(CY,59u,59uOFhQUO'#IZOF{QSO'#JfOH}QbO'#JfO+vQUO'#JfOIUQSO,59{OIlQSO'#EiOIyQSO'#JtOJUQSO'#JsOJUQSO'#JsOJ^QSO,5;VOJcQSO'#JrOOQ(CY,5:W,5:WOJjQUO,5:WOLkQ(CjO,5:bOM[QSO,5:jOMuQ(C[O'#JqOM|QSO'#JpO8|QSO'#JpONbQSO'#JpONjQSO,5;UONoQSO'#JpO!!wQbO'#JeOOQ(CY'#Cf'#CfO%TQUO'#EOO!#gQ`O,5:oOOQO'#Jm'#JmOOQO-E<a-E<aO9SQSO,5=VO!#}QSO,5=VO!$SQUO,5;SO!&VQ,UO'#EdO!'jQSO,5;SO!)SQ,UO'#DpO!)ZQUO'#DuO!)eQWO,5;]O!)mQWO,5;]O%TQUO,5;]OOQQ'#FO'#FOOOQQ'#FQ'#FQO%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^O%TQUO,5;^OOQQ'#FU'#FUO!){QUO,5;oOOQ(CY,5;t,5;tOOQ(CY,5;u,5;uO!,OQSO,5;uOOQ(CY,5;v,5;vO%TQUO'#IgO!,WQ(C[O,5<cO!&VQ,UO,5;^O!,uQ,UO,5;^O%TQUO,5;rO!,|Q#tO'#FeO!-yQ#tO'#JxO!-eQ#tO'#JxO!.QQ#tO'#JxOOQO'#Jx'#JxO!.fQ#tO,5;}OOOO,5<Z,5<ZO!.wQUO'#FqOOOO'#If'#IfO7RO&jO,5;zO!/OQ#tO'#FsOOQ(CY,5;z,5;zO!/oQ7[O'#CrOOQ(CY'#Cv'#CvO!0SQSO'#CvO!0XO07`O'#CzO!0uQ,UO,5<`O!0|QSO,5<bO!2cQMhO'#GQO!2pQSO'#GRO!2uQSO'#GRO!2zQMhO'#GVO!3yQWO'#GZO!4lQ7[O'#J_OOQ(CY'#J_'#J_O!4vQSO'#J^O!5UQSO'#J]O!5^QSO'#CqOOQ(CY'#Ct'#CtOOQ(CY'#DO'#DOOOQ(CY'#DQ'#DQO0{QSO'#DSO!'oQ,UO'#FxO!'oQ,UO'#FzO!5fQSO'#F|O!5kQSO'#F}O!2uQSO'#GTO!'oQ,UO'#GYO!5pQSO'#EjO!6_QSO,5<aOOQ(CW'#Co'#CoO!6gQSO'#EkO!7aQWO'#ElOOQ(CW'#Jr'#JrO!7hQ(C[O'#KRO9^Q(C[O,5=ZO`QUO,5>kOOQQ'#JY'#JYOOQQ,5>l,5>lOOQQ-E<S-E<SO!9jQ(CjO,5:YO!<WQ(CjO,5:fO%TQUO,5:fO!>qQ(CjO,5:hOOQO,5@l,5@lO!?bQ,UO,5=VO!?pQ(C[O'#JZO8wQSO'#JZO!@RQ(C[O,59WO!@^QWO,59WO!@fQ,UO,59WO9tQ,UO,59WO!@qQSO,5;SO!@yQSO'#HXO!A[QSO'#KUO%TQUO,5;wO!7[QWO,5;yO!AdQSO,5=rO!AiQSO,5=rO!AnQSO,5=rO9^Q(C[O,5=rO;fQSO,5=bOOQO'#Cr'#CrO!A|QWO,5=_O!BUQ,UO,5=`O!BaQSO,5=bO!BfQ`O,5=eO!BnQSO'#KQO>cQSO'#HOO9SQSO'#HQO!BsQSO'#HQO9tQ,UO'#HSO!BxQSO'#HSOOQQ,5=h,5=hO!B}QSO'#HTO!CVQSO'#ClO!C[QSO,58|O!CfQSO,58|O!EkQUO,58|OOQQ,58|,58|O!E{Q(C[O,58|O%TQUO,58|O!HWQUO'#H[OOQQ'#H]'#H]OOQQ'#H^'#H^O`QUO,5=tO!HnQSO,5=tO`QUO,5=zO`QUO,5=|O!HsQSO,5>OO`QUO,5>QO!HxQSO,5>TO!H}QUO,5>ZOOQQ,5>a,5>aO%TQUO,5>aO9^Q(C[O,5>cOOQQ,5>e,5>eO!MXQSO,5>eOOQQ,5>g,5>gO!MXQSO,5>gOOQQ,5>i,5>iO!M^QWO'#DXO%TQUO'#JhO!M{QWO'#JhO!NjQWO'#DgO!N{QWO'#DgO##^QUO'#DgO##eQSO'#JgO##mQSO,5:QO##rQSO'#EmO#$QQSO'#JuO#$YQSO,5;WO#$_QWO'#DgO#$lQWO'#EROOQ(CY,5:k,5:kO%TQUO,5:kO#$sQSO,5:kO>cQSO,5;RO!@^QWO,5;RO!@fQ,UO,5;RO9tQ,UO,5;RO#${QSO,5@SO#%QQ!LQO,5:oOOQO-E<^-E<^O#&WQ(C`O,5:zOCaQWO,5:nO#&bQWO,5:nOCaQWO,5:zO!@RQ(C[O,5:nOOQ(CW'#Ec'#EcOOQO,5:z,5:zO%TQUO,5:zO#&oQ(C[O,5:zO#&zQ(C[O,5:zO!@^QWO,5:nOOQO,5;Q,5;QO#'YQ(C[O,5:zPOOO'#IT'#ITP#'nO?MpO,58zPOOO,58z,58zOOOO-E<T-E<TOOQ(CY1G.m1G.mOOOO-E<U-E<UO#'yQ`O,59wOOOO-E<W-E<WOOQ(CY1G/a1G/aO#(OQbO,5>uO+vQUO,5>uOOQO,5>{,5>{O#(YQUO'#IZOOQO-E<X-E<XO#(gQSO,5@QO#(oQbO,5@QO#(vQSO,5@_OOQ(CY1G/g1G/gO%TQUO,5@`O#)OQSO'#IaOOQO-E<_-E<_O#(vQSO,5@_OOQ(CW1G0q1G0qOOQ(CY1G/r1G/rOOQ(CY1G0U1G0UO%TQUO,5@]O#)dQ(C[O,5@]O#)uQ(C[O,5@]O#)|QSO,5@[O8|QSO,5@[O#*UQSO,5@[O#*dQSO'#IdO#)|QSO,5@[OOQ(CW1G0p1G0pO!)eQWO,5:qO!)pQWO,5:qOOQO,5:s,5:sO#+UQSO,5:sO#+^Q,UO1G2qO9SQSO1G2qOOQ(CY1G0n1G0nO#+lQ(CjO1G0nO#,qQ(ChO,5;OOOQ(CY'#GP'#GPO#-_Q(CjO'#J_O!$SQUO1G0nO#/gQ,UO'#JiO#/qQSO,5:[O#/vQbO'#JjO%TQUO'#JjO#0QQSO,5:aOOQ(CY'#DX'#DXOOQ(CY1G0w1G0wO%TQUO1G0wOOQ(CY1G1a1G1aO#0VQSO1G0wO#2nQ(CjO1G0xO#2uQ(CjO1G0xO#5`Q(CjO1G0xO#5gQ(CjO1G0xO#7qQ(CjO1G0xO#8XQ(CjO1G0xO#;RQ(CjO1G0xO#;YQ(CjO1G0xO#=sQ(CjO1G0xO#=zQ(CjO1G0xO#?rQ(CjO1G0xO#BrQ$IUO'#CfO#DpQ$IUO1G1ZO#DwQ$IUO'#JeO!,RQSO1G1aO#EXQ(CjO,5?ROOQ(CW-E<e-E<eO#E{Q(CjO1G0xOOQ(CY1G0x1G0xO#HWQ(CjO1G1^O#HzQ#tO,5<RO#ISQ#tO,5<SO#I[Q#tO'#FjO#IsQSO'#FiOOQO'#Jy'#JyOOQO'#Ie'#IeO#IxQ#tO1G1iOOQ(CY1G1i1G1iOOOO1G1t1G1tO#JZQ$IUO'#JdO#JeQSO,5<]O!){QUO,5<]OOOO-E<d-E<dOOQ(CY1G1f1G1fO#JjQWO'#JxOOQ(CY,5<_,5<_O#JrQWO,5<_OOQ(CY,59b,59bO!&VQ,UO'#C|OOOO'#IX'#IXO#JwO07`O,59fOOQ(CY,59f,59fO%TQUO1G1zO!5kQSO'#IiO#KSQSO,5<sOOQ(CY,5<p,5<pOOQO'#Gf'#GfO!'oQ,UO,5=POOQO'#Gh'#GhO!'oQ,UO,5=RO!&VQ,UO,5=TOOQO1G1|1G1|O#KbQ`O'#CoO#KuQ`O,5<lO#K|QSO'#J|O9SQSO'#J|O#L[QSO,5<nO!'oQ,UO,5<mO#LaQSO'#GSO#LlQSO,5<mO#LqQ`O'#GPO#MOQ`O'#J}O#MYQSO'#J}O!&VQ,UO'#J}O#M_QSO,5<qO#MdQWO'#G[O!3tQWO'#G[O#MuQSO'#G^O#MzQSO'#G`O!2uQSO'#GcO#NPQ(C[O'#IkO#N[QWO,5<uOOQ(CY,5<u,5<uO#NcQWO'#G[O#NqQWO'#G]O#NyQWO'#G]OOQ(CY,5=U,5=UO!'oQ,UO,5?xO!'oQ,UO,5?xO$ OQSO'#IlO$ ZQSO,5?wO$ cQSO,59]O$!SQ,UO,59nOOQ(CY,59n,59nO$!uQ,UO,5<dO$#hQ,UO,5<fO@TQSO,5<hOOQ(CY,5<i,5<iO$#rQSO,5<oO$#wQ,UO,5<tO$$XQSO'#JpO!$SQUO1G1{O$$^QSO1G1{O8|QSO'#JsO8|QSO'#EmO%TQUO'#EmO8|QSO'#InO$$cQ(C[O,5@mOOQQ1G2u1G2uOOQQ1G4V1G4VOOQ(CY1G/t1G/tO!,OQSO1G/tO$&hQ(CjO1G0QOOQQ1G2q1G2qO!&VQ,UO1G2qO%TQUO1G2qO$'XQSO1G2qO$'dQ,UO'#EdOOQ(CW,5?u,5?uO$'nQ(C[O,5?uOOQQ1G.r1G.rO!@RQ(C[O1G.rO!@^QWO1G.rO!@fQ,UO1G.rO$(PQSO1G0nO$(UQSO'#CfO$(aQSO'#KVO$(iQSO,5=sO$(nQSO'#KVO$(sQSO'#KVO$)OQSO'#ItO$)^QSO,5@pO$)fQbO1G1cOOQ(CY1G1e1G1eO9SQSO1G3^O@TQSO1G3^O$)mQSO1G3^O$)rQSO1G3^OOQQ1G3^1G3^O!BaQSO1G2|O!&VQ,UO1G2yO$)wQSO1G2yOOQQ1G2z1G2zO!&VQ,UO1G2zO$)|QSO1G2zO$*UQWO'#GxOOQQ1G2|1G2|O!3tQWO'#IpO!BfQ`O1G3POOQQ1G3P1G3POOQQ,5=j,5=jO$*^Q,UO,5=lO9SQSO,5=lO#MzQSO,5=nO8wQSO,5=nO!@^QWO,5=nO!@fQ,UO,5=nO9tQ,UO,5=nO$*lQSO'#KTO$*wQSO,5=oOOQQ1G.h1G.hO$*|Q(C[O1G.hO@TQSO1G.hO$+XQSO1G.hO9^Q(C[O1G.hO$-^QbO,5@rO$-nQSO,5@rO8|QSO,5@rO$-yQUO,5=vO$.QQSO,5=vOOQQ1G3`1G3`O`QUO1G3`OOQQ1G3f1G3fOOQQ1G3h1G3hO>^QSO1G3jO$.VQUO1G3lO$2ZQUO'#HkOOQQ1G3o1G3oO$2hQSO'#HqO>cQSO'#HsOOQQ1G3u1G3uO$2pQUO1G3uO9^Q(C[O1G3{OOQQ1G3}1G3}OOQ(CW'#GW'#GWO9^Q(C[O1G4PO9^Q(C[O1G4RO$6wQSO,5@SO!){QUO,5;XO8|QSO,5;XO>cQSO,5:RO!){QUO,5:RO!@^QWO,5:RO$6|Q$IUO,5:ROOQO,5;X,5;XO$7WQWO'#I[O$7nQSO,5@ROOQ(CY1G/l1G/lO$7vQWO'#IbO$8QQSO,5@aOOQ(CW1G0r1G0rO!N{QWO,5:ROOQO'#I_'#I_O$8YQWO,5:mOOQ(CY,5:m,5:mO#$vQSO1G0VOOQ(CY1G0V1G0VO%TQUO1G0VOOQ(CY1G0m1G0mO>cQSO1G0mO!@^QWO1G0mO!@fQ,UO1G0mOOQ(CW1G5n1G5nO!@RQ(C[O1G0YOOQO1G0f1G0fO%TQUO1G0fO$8aQ(C[O1G0fO$8lQ(C[O1G0fO!@^QWO1G0YOCaQWO1G0YO$8zQ(C[O1G0fOOQO1G0Y1G0YO$9`Q(CjO1G0fPOOO-E<R-E<RPOOO1G.f1G.fOOOO1G/c1G/cO$9jQ`O,5<cO$9rQbO1G4aOOQO1G4g1G4gO%TQUO,5>uO$9|QSO1G5lO$:UQSO1G5yO$:^QbO1G5zO8|QSO,5>{O$:hQ(CjO1G5wO%TQUO1G5wO$:xQ(C[O1G5wO$;ZQSO1G5vO$;ZQSO1G5vO8|QSO1G5vO$;cQSO,5?OO8|QSO,5?OOOQO,5?O,5?OO$;wQSO,5?OO$$XQSO,5?OOOQO-E<b-E<bOOQO1G0]1G0]OOQO1G0_1G0_O!,RQSO1G0_OOQQ7+(]7+(]O!&VQ,UO7+(]O%TQUO7+(]O$<VQSO7+(]O$<bQ,UO7+(]O$<pQ(CjO,59nO$>xQ(CjO,5<dO$ATQ(CjO,5<fO$C`Q(CjO,5<tOOQ(CY7+&Y7+&YO$EqQ(CjO7+&YO$FeQ,UO'#I]O$FoQSO,5@TOOQ(CY1G/v1G/vO$FwQUO'#I^O$GUQSO,5@UO$G^QbO,5@UOOQ(CY1G/{1G/{O$GhQSO7+&cOOQ(CY7+&c7+&cO$GmQ$IUO,5:bO%TQUO7+&uO$GwQ$IUO,5:YO$HUQ$IUO,5:fO$H`Q$IUO,5:hOOQ(CY7+&{7+&{OOQO1G1m1G1mOOQO1G1n1G1nO$HjQ#tO,5<UO!){QUO,5<TOOQO-E<c-E<cOOQ(CY7+'T7+'TOOOO7+'`7+'`OOOO1G1w1G1wO$HuQSO1G1wOOQ(CY1G1y1G1yO$HzQ`O,59hOOOO-E<V-E<VOOQ(CY1G/Q1G/QO$IRQ(CjO7+'fOOQ(CY,5?T,5?TO$IuQSO,5?TOOQ(CY1G2_1G2_P$IzQSO'#IiPOQ(CY-E<g-E<gO$JnQ,UO1G2kO$KaQ,UO1G2mO$KkQ`O1G2oOOQ(CY1G2W1G2WO$KrQSO'#IhO$LQQSO,5@hO$LQQSO,5@hO$LYQSO,5@hO$LeQSO,5@hOOQO1G2Y1G2YO$LsQ,UO1G2XO!'oQ,UO1G2XO$MTQMhO'#IjO$MeQSO,5@iO!&VQ,UO,5@iO$MmQ`O,5@iOOQ(CY1G2]1G2]OOQ(CW,5<v,5<vOOQ(CW,5<w,5<wO$$XQSO,5<wOCQQSO,5<wO!@^QWO,5<vOOQO'#G_'#G_O$MwQSO,5<xOOQ(CW,5<z,5<zO$$XQSO,5<}OOQO,5?V,5?VOOQO-E<i-E<iOOQ(CY1G2a1G2aO!3tQWO,5<vO$NPQSO,5<wO#MuQSO,5<xO!3tQWO,5<wO$N[Q,UO1G5dO$NfQ,UO1G5dOOQO,5?W,5?WOOQO-E<j-E<jOOQO1G.w1G.wO!7[QWO,59pO%TQUO,59pO$NsQSO1G2SO!'oQ,UO1G2ZO$NxQ(CjO7+'gOOQ(CY7+'g7+'gO!$SQUO7+'gO% lQSO,5;XOOQ(CW,5?Y,5?YOOQ(CW-E<l-E<lOOQ(CY7+%`7+%`O% qQ`O'#KOO#$vQSO7+(]O% {QbO7+(]O$<YQSO7+(]O%!SQ(ChO'#CfO%!gQ(ChO,5<{O%#XQSO,5<{OOQ(CW1G5a1G5aOOQQ7+$^7+$^O!@RQ(C[O7+$^O!@^QWO7+$^O!$SQUO7+&YO%#^QSO'#IsO%#rQSO,5@qOOQO1G3_1G3_O9SQSO,5@qO%#rQSO,5@qO%#zQSO,5@qOOQO,5?`,5?`OOQO-E<r-E<rOOQ(CY7+&}7+&}O%$PQSO7+(xO9^Q(C[O7+(xO9SQSO7+(xO@TQSO7+(xOOQQ7+(h7+(hO%$UQ(ChO7+(eO!&VQ,UO7+(eO%$`Q`O7+(fOOQQ7+(f7+(fO!&VQ,UO7+(fO%$gQSO'#KSO%$rQSO,5=dOOQO,5?[,5?[OOQO-E<n-E<nOOQQ7+(k7+(kO%&RQWO'#HROOQQ1G3W1G3WO!&VQ,UO1G3WO%TQUO1G3WO%&YQSO1G3WO%&eQ,UO1G3WO9^Q(C[O1G3YO#MzQSO1G3YO8wQSO1G3YO!@^QWO1G3YO!@fQ,UO1G3YO%&sQSO'#IrO%'OQSO,5@oO%'WQWO,5@oOOQ(CW1G3Z1G3ZOOQQ7+$S7+$SO@TQSO7+$SO9^Q(C[O7+$SO%'cQSO7+$SO%TQUO1G6^O%TQUO1G6_O%'hQ(C[O1G6^O%'rQUO1G3bO%'yQSO1G3bO%(OQUO1G3bOOQQ7+(z7+(zO9^Q(C[O7+)UO`QUO7+)WOOQQ'#KY'#KYOOQQ'#Iu'#IuO%(VQUO,5>VOOQQ,5>V,5>VO%TQUO'#HlO%(dQSO'#HnOOQQ,5>],5>]O8|QSO,5>]OOQQ,5>_,5>_OOQQ7+)a7+)aOOQQ7+)g7+)gOOQQ7+)k7+)kOOQQ7+)m7+)mO%(iQWO1G5nO%(}Q$IUO1G0sO%)XQSO1G0sOOQO1G/m1G/mO%)dQ$IUO1G/mO>cQSO1G/mO!){QUO'#DgOOQO,5>v,5>vOOQO-E<Y-E<YOOQO,5>|,5>|OOQO-E<`-E<`O!@^QWO1G/mOOQO-E<]-E<]OOQ(CY1G0X1G0XOOQ(CY7+%q7+%qO#$vQSO7+%qOOQ(CY7+&X7+&XO>cQSO7+&XO!@^QWO7+&XOOQO7+%t7+%tO$9`Q(CjO7+&QOOQO7+&Q7+&QO%TQUO7+&QO%)nQ(C[O7+&QO!@RQ(C[O7+%tO!@^QWO7+%tO%)yQ(C[O7+&QO%*XQ(CjO7++cO%TQUO7++cO%*iQSO7++bO%*iQSO7++bOOQO1G4j1G4jO8|QSO1G4jO%*qQSO1G4jOOQO7+%y7+%yO#$vQSO<<KwO% {QbO<<KwO%+PQSO<<KwOOQQ<<Kw<<KwO!&VQ,UO<<KwO%TQUO<<KwO%+XQSO<<KwO%+dQ(CjO1G2kO%-oQ(CjO1G2mO%/zQ(CjO1G2XO%2]Q,UO,5>wOOQO-E<Z-E<ZO%2gQbO,5>xO%TQUO,5>xOOQO-E<[-E<[O%2qQSO1G5pOOQ(CY<<I}<<I}O%2yQ$IUO1G0nO%5TQ$IUO1G0xO%5[Q$IUO1G0xO%7`Q$IUO1G0xO%7gQ$IUO1G0xO%9[Q$IUO1G0xO%9rQ$IUO1G0xO%<VQ$IUO1G0xO%<^Q$IUO1G0xO%>bQ$IUO1G0xO%>iQ$IUO1G0xO%@aQ$IUO1G0xO%@tQ(CjO<<JaO%AyQ$IUO1G0xO%CoQ$IUO'#J_O%ErQ$IUO1G1^O%FPQ$IUO1G0QO!){QUO'#FlOOQO'#Jz'#JzOOQO1G1p1G1pO%FZQSO1G1oO%F`Q$IUO,5?ROOOO7+'c7+'cOOOO1G/S1G/SOOQ(CY1G4o1G4oO!'oQ,UO7+(ZO%FjQSO,5?SO9SQSO,5?SOOQO-E<f-E<fO%FxQSO1G6SO%FxQSO1G6SO%GQQSO1G6SO%G]Q,UO7+'sO%GmQ`O,5?UO%GwQSO,5?UO!&VQ,UO,5?UOOQO-E<h-E<hO%G|Q`O1G6TO%HWQSO1G6TOOQ(CW1G2c1G2cO$$XQSO1G2cOOQ(CW1G2b1G2bO%H`QSO1G2dO!&VQ,UO1G2dOOQ(CW1G2i1G2iO!@^QWO1G2bOCQQSO1G2cO%HeQSO1G2dO%HmQSO1G2cO!'oQ,UO7++OOOQ(CY1G/[1G/[O%HxQSO1G/[OOQ(CY7+'n7+'nO%H}Q,UO7+'uO%I_Q(CjO<<KROOQ(CY<<KR<<KRO%JRQSO1G0sO!&VQ,UO'#ImO%JWQSO,5@jO!&VQ,UO1G2gOOQQ<<Gx<<GxO!@RQ(C[O<<GxO%J`Q(CjO<<ItOOQ(CY<<It<<ItOOQO,5?_,5?_O%KSQSO,5?_O$(sQSO,5?_OOQO-E<q-E<qO%KXQSO1G6]O%KXQSO1G6]O9SQSO1G6]O@TQSO<<LdOOQQ<<Ld<<LdO%KaQSO<<LdO9^Q(C[O<<LdOOQQ<<LP<<LPO%$UQ(ChO<<LPOOQQ<<LQ<<LQO%$`Q`O<<LQO%KfQWO'#IoO%KqQSO,5@nO!){QUO,5@nOOQQ1G3O1G3OO%KyQUO'#JhOOQO'#Iq'#IqO9^Q(C[O'#IqO%LTQWO,5=mOOQQ,5=m,5=mO%L[QWO'#E`O%LpQSO7+(rO%LuQSO7+(rOOQQ7+(r7+(rO!&VQ,UO7+(rO%TQUO7+(rO%L}QSO7+(rOOQQ7+(t7+(tO9^Q(C[O7+(tO#MzQSO7+(tO8wQSO7+(tO!@^QWO7+(tO%MYQSO,5?^OOQO-E<p-E<pOOQO'#HU'#HUO%MeQSO1G6ZO9^Q(C[O<<GnOOQQ<<Gn<<GnO@TQSO<<GnO%MmQSO7++xO%MrQSO7++yO%TQUO7++xO%TQUO7++yOOQQ7+(|7+(|O%MwQSO7+(|O%M|QUO7+(|O%NTQSO7+(|OOQQ<<Lp<<LpOOQQ<<Lr<<LrOOQQ-E<s-E<sOOQQ1G3q1G3qO%NYQSO,5>WOOQQ,5>Y,5>YO%N_QSO1G3wO8|QSO7+&_O!){QUO7+&_OOQO7+%X7+%XO%NdQ$IUO1G5zO>cQSO7+%XOOQ(CY<<I]<<I]OOQ(CY<<Is<<IsO>cQSO<<IsOOQO<<Il<<IlO$9`Q(CjO<<IlO%TQUO<<IlOOQO<<I`<<I`O!@RQ(C[O<<I`O%NnQ(C[O<<IlO%NyQ(CjO<<N}O& ZQSO<<N|OOQO7+*U7+*UO8|QSO7+*UOOQQANAcANAcO& cQSOANAcO!&VQ,UOANAcO#$vQSOANAcO% {QbOANAcO%TQUOANAcO& kQ(CjO7+'sO&#|Q(CjO7+'uO&&_QbO1G4dO&&iQ$IUO7+&YO&&vQ$IUO,59nO&(yQ$IUO,5<dO&*|Q$IUO,5<fO&-PQ$IUO,5<tO&.uQ$IUO7+'fO&/SQ$IUO7+'gO&/aQSO,5<WOOQO7+'Z7+'ZO&/fQ,UO<<KuOOQO1G4n1G4nO&/mQSO1G4nO&/xQSO1G4nO&0WQSO7++nO&0WQSO7++nO!&VQ,UO1G4pO&0`Q`O1G4pO&0jQSO7++oOOQ(CW7+'}7+'}O$$XQSO7+(OO&0rQ`O7+(OOOQ(CW7+'|7+'|O$$XQSO7+'}O&0yQSO7+(OO!&VQ,UO7+(OOCQQSO7+'}O&1OQ,UO<<NjOOQ(CY7+$v7+$vO&1YQ`O,5?XOOQO-E<k-E<kO&1dQ(ChO7+(ROOQQAN=dAN=dO9SQSO1G4yOOQO1G4y1G4yO&1tQSO1G4yO&1yQSO7++wO&1yQSO7++wO9^Q(C[OANBOO@TQSOANBOOOQQANBOANBOOOQQANAkANAkOOQQANAlANAlO&2RQSO,5?ZOOQO-E<m-E<mO&2^Q$IUO1G6YO&4nQbO'#CfOOQO,5?],5?]OOQO-E<o-E<oOOQQ1G3X1G3XO%KyQUO,5<xOOQQ<<L^<<L^O!&VQ,UO<<L^O%LpQSO<<L^O&4xQSO<<L^O%TQUO<<L^OOQQ<<L`<<L`O9^Q(C[O<<L`O#MzQSO<<L`O8wQSO<<L`O&5QQWO1G4xO&5]QSO7++uOOQQAN=YAN=YO9^Q(C[OAN=YOOQQ<= d<= dOOQQ<= e<= eO&5eQSO<= dO&5jQSO<= eOOQQ<<Lh<<LhO&5oQSO<<LhO&5tQUO<<LhOOQQ1G3r1G3rO>cQSO7+)cO&5{QSO<<IyO&6WQ$IUO<<IyOOQO<<Hs<<HsOOQ(CYAN?_AN?_OOQOAN?WAN?WO$9`Q(CjOAN?WOOQOAN>zAN>zO%TQUOAN?WOOQO<<Mp<<MpOOQQG26}G26}O!&VQ,UOG26}O#$vQSOG26}O&6bQSOG26}O% {QbOG26}O&6jQ$IUO<<JaO&6wQ$IUO1G2XO&8mQ$IUO1G2kO&:pQ$IUO1G2mO&<sQ$IUO<<KRO&=QQ$IUO<<ItOOQO1G1r1G1rO!'oQ,UOANAaOOQO7+*Y7+*YO&=_QSO7+*YO&=jQSO<= YO&=rQ`O7+*[OOQ(CW<<Kj<<KjO$$XQSO<<KjOOQ(CW<<Ki<<KiO&=|Q`O<<KjO$$XQSO<<KiOOQO7+*e7+*eO9SQSO7+*eO&>TQSO<= cOOQQG27jG27jO9^Q(C[OG27jO!){QUO1G4uO&>]QSO7++tO%LpQSOANAxOOQQANAxANAxO!&VQ,UOANAxO&>eQSOANAxOOQQANAzANAzO9^Q(C[OANAzO#MzQSOANAzOOQO'#HV'#HVOOQO7+*d7+*dOOQQG22tG22tOOQQANEOANEOOOQQANEPANEPOOQQANBSANBSO&>mQSOANBSOOQQ<<L}<<L}O!){QUOAN?eOOQOG24rG24rO$9`Q(CjOG24rO#$vQSOLD,iOOQQLD,iLD,iO!&VQ,UOLD,iO&>rQSOLD,iO&>zQ$IUO7+'sO&@pQ$IUO7+'uO&BfQ,UOG26{OOQO<<Mt<<MtOOQ(CWANAUANAUO$$XQSOANAUOOQ(CWANATANATOOQO<<NP<<NPOOQQLD-ULD-UO&BvQ$IUO7+*aOOQQG27dG27dO%LpQSOG27dO!&VQ,UOG27dOOQQG27fG27fO9^Q(C[OG27fOOQQG27nG27nO&CQQ$IUOG25POOQOLD*^LD*^OOQQ!$(!T!$(!TO#$vQSO!$(!TO!&VQ,UO!$(!TO&C[Q(CjOG26{OOQ(CWG26pG26pOOQQLD-OLD-OO%LpQSOLD-OOOQQLD-QLD-QOOQQ!)9Eo!)9EoO#$vQSO!)9EoOOQQ!$(!j!$(!jOOQQ!.K;Z!.K;ZO&EmQ$IUOG26{O!){QUO'#DvO0xQSO'#ETO&GcQbO'#JdO!){QUO'#DnO&GjQUO'#DzO&GqQbO'#CfO&JXQbO'#CfO!){QUO'#D|O&JiQUO,5;SO!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO,5;^O!){QUO'#IgO&LlQSO,5<cO&LtQ,UO,5;^O&NXQ,UO,5;^O!){QUO,5;rO0{QSO'#DSO0{QSO'#DSO!&VQ,UO'#FxO&LtQ,UO'#FxO!&VQ,UO'#FzO&LtQ,UO'#FzO!&VQ,UO'#GYO&LtQ,UO'#GYO!){QUO,5:fO!){QUO,5@`O&JiQUO1G0nO&N`Q$IUO'#CfO!){QUO1G1zO!&VQ,UO,5=PO&LtQ,UO,5=PO!&VQ,UO,5=RO&LtQ,UO,5=RO!&VQ,UO,5<mO&LtQ,UO,5<mO&JiQUO1G1{O!){QUO7+&uO!&VQ,UO1G2XO&LtQ,UO1G2XO!&VQ,UO1G2ZO&LtQ,UO1G2ZO&JiQUO7+'gO&JiQUO7+&YO!&VQ,UOANAaO&LtQ,UOANAaO&NjQSO'#EhO&NoQSO'#EhO&NwQSO'#FWO&N|QSO'#ErO' RQSO'#JtO' ^QSO'#JrO' iQSO,5;SO' nQ,UO,5<`O' uQSO'#GRO' zQSO'#GRO'!PQSO,5<aO'!XQSO,5;SO'!aQ$IUO1G1ZO'!hQSO,5<mO'!mQSO,5<mO'!rQSO,5<oO'!wQSO,5<oO'!|QSO1G1{O'#RQSO1G0nO'#WQ,UO<<KuO'#_Q,UO<<KuO7aQ,UO'#FvO8wQSO'#FuOAOQSO'#EgO!){QUO,5;oO!2uQSO'#GRO!2uQSO'#GRO!2uQSO'#GTO!2uQSO'#GTO!'oQ,UO7+(ZO!'oQ,UO7+(ZO$KkQ`O1G2oO$KkQ`O1G2oO!&VQ,UO,5=TO!&VQ,UO,5=T",stateData:"'$h~O'nOS'oOSROS'pRQ~OPYOQYOV!UO^qOayObxOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!ctO!hZO!kYO!lYO!mYO!ouO!qvO!twO!x]O#p!OO$Q{O$UfO%`|O%b!PO%d}O%e}O%f}O%i!QO%k!RO%n!SO%o!SO%q!TO%}!VO&T!WO&V!XO&X!YO&Z!ZO&^![O&d!]O&j!^O&l!_O&n!`O&p!aO&r!bO'uSO'wTO'zUO(SVO(b[O(oiO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'u!cO'wTO'zUO(SVO(b[O(oiO~O^!uOl!mO|!nO![!wO!]!tO!^!tO!x9qO!|!oO!}!oO#O!vO#P!oO#Q!oO#T!xO#U!xO'v!kO'wTO'zUO(V!lO(b!rO~O'p!yO~OPYXXYX^YXkYXyYXzYX|YX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX'lYX(SYX(cYX(jYX(kYX~O!a$zX~P(jO[!{O'w!}O'x!{O'y!}O~O[#OO'y!}O'z!}O'{#OO~Oq#QO!O#RO(T#RO(U#TO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'u9uO'wTO'zUO(SVO(b[O(oiO~O!U#XO!V#UO!S(YP!S(gP~P+vO!W#aO~P`OPYOQYOa!iOb!hOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'wTO'zUO(SVO(b[O(oiO~Oi#kO!U#gO!x]O#b#jO#c#gO'u9vO!g(dP~P.bO!h#mO'u#lO~O!t#qO!x]O%`#rO~O#d#sO~O!a#tO#d#sO~OP$[OX$cOk$POy#xOz#yO|#zO!V$`O!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO#v$XO(SVO(c$YO(j#{O(k#|O~O^(WX'l(WX'j(WX!g(WX!S(WX!X(WX%a(WX!a(WX~P1jO#X$dO#{$dOP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#o(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX!X(XX%a(XX~O^(XX!f(XX'l(XX'j(XX!S(XX!g(XXo(XX!a(XX~P4QO#X$dO~O$W$fO$Y$eO$a$kO~O!X$lO$UfO$d$mO$f$oO~Oi%ROk$sOl$rOm$rOs%SOu%TOw%UO|$zO!X${O!c%ZO!h$wO#c%[O$Q%XO$m%VO$o%WO$r%YO'u$qO'wTO'zUO(O%QO(S$tOd(PP~O!h%]O~O|%`O!X%aO'u%_O~O!a%eO~O^%fO'l%fO~O'v!kO~P%TO%f%mO~P%TO!h%]O'u%_O'v!kO(O%QO~Ob%tO!h%]O'u%_O~O#o$RO~Oy%yO!X%vO!h%xO%b%|O'u%_O'v!kO'wTO'zUO](xP~O!t#qO~O%k&OO|(tX!X(tX'u(tX~O'u&PO~O!q&UO#p!OO%b!PO%d}O%e}O%f}O%i!QO%k!RO%n!SO%o!SO~Oa&ZOb&YO!t&WO%`&XO%s&VO~P;kOa&^ObxO!X&]O!q&UO!twO!x]O#p!OO%`|O%d}O%e}O%f}O%i!QO%k!RO%n!SO%o!SO%q!TO~O_&aO#X&dO%b&_O'v!kO~P<pO!h&eO!q&iO~O!h#mO~O!XXO~O^%fO'k&qO'l%fO~O^%fO'k&tO'l%fO~O^%fO'k&vO'l%fO~O'jYX!SYXoYX!gYX&RYX!XYX%aYX!aYX~P(jO!['TO!]&|O!^&|O'v!kO'wTO'zUO~Ol&zO|&yO!U&}O(V&xO!W(ZP!W(iP~P?wOg'WO!X'UO'u%_O~Ob']O!h%]O'u%_O~Oy%yO!h%xO~Ol!mO|!nO!x9qO!|!oO!}!oO#P!oO#Q!oO'v!kO'wTO'zUO(V!lO(b!rO~O!['cO!]'bO!^'bO#O!oO#T'dO#U'dO~PAcO^%fO!a#tO!h%]O'l%fO(O%QO(c'fO~O!l'jO#X'hO~PBqOl!mO|!nO'wTO'zUO(V!lO(b!rO~O!XXOl(`X|(`X![(`X!](`X!^(`X!x(`X!|(`X!}(`X#O(`X#P(`X#Q(`X#T(`X#U(`X'v(`X'w(`X'z(`X(V(`X(b(`X~O!]'bO!^'bO'v!kO~PCaO'q'nO'r'nO's'pO~O[!{O'w'rO'x!{O'y'rO~O[#OO'y'rO'z'rO'{#OO~Oq#QO!O#RO(T#RO(U'vO~O!U'xO!S&}X!S'TX!V&}X!V'TX~P+vO!V'zO!S(YX~OP$[OX$cOk$POy#xOz#yO|#zO!V'zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO#v$XO(SVO(c$YO(j#{O(k#|O~O!S(YX~PGTO!S(PO~O!S(fX!V(fX!a(fX!g(fX(c(fX~O#X(fX#d#]X!W(fX~PIZO#X(QO!S(hX!V(hX~O!V(RO!S(gX~O!S(UO~O#X$dO~PIZO!W(VO~P`Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!jaX!jak!ja!V!ja!e!ja!l!ja#g!ja#h!ja#i!ja#j!ja#k!ja#l!ja#m!ja#n!ja#o!ja#q!ja#s!ja#u!ja#v!ja(c!ja(j!ja(k!ja~O^!ja'l!ja'j!ja!S!ja!g!jao!ja!X!ja%a!ja!a!ja~PJqO!g(WO~O!a#tO#X(XO(c'fO!V(eX^(eX'l(eX~O!g(eX~PMaO|%`O!X%aO!x]O#b(^O#c(]O'u%_O~O!V(_O!g(dX~O!g(aO~O|%`O!X%aO#c(]O'u%_O~OP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!f(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#o(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX~O!a#tO!g(XX~PN}Oy(bOz(cO!f#vO!h#wO!x!wa|!wa~O!t!wa%`!wa!X!wa#b!wa#c!wa'u!wa~P!#RO!t(gO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!XXO!ctO!hZO!kYO!lYO!mYO!ouO!q!fO!t!gO$Q!jO$UfO'u!cO'wTO'zUO(SVO(b[O(oiO~Oi%ROk$sOl$rOm$rOs%SOu%TOw:ZO|$zO!X${O!c;eO!h$wO#c:aO$Q%XO$m:]O$o:_O$r%YO'u(kO'wTO'zUO(O%QO(S$tO~O#d(mO~Oi%ROk$sOl$rOm$rOs%SOu%TOw%UO|$zO!X${O!c%ZO!h$wO#c%[O$Q%XO$m%VO$o%WO$r%YO'u(kO'wTO'zUO(O%QO(S$tO~Od(]P~P!'oO!U(qO!g(^P~P%TO(V(sO(b[O~O|(uO!h#wO(V(sO(b[O~OP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!X!dO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'u)TO'wTO'zUO(SVO(b[O(o;_O~Oz)WO!h#wO~O!V$`O^$ka'l$ka'j$ka!g$ka!S$ka!X$ka%a$ka!a$ka~O#p)[O~P!&VOy)_O!a)^O!X$XX$T$XX$W$XX$Y$XX$a$XX~O!a)^O!X(lX$T(lX$W(lX$Y(lX$a(lX~Oy)_O~P!-eOy)_O!X(lX$T(lX$W(lX$Y(lX$a(lX~O!X)aO$T)eO$W)`O$Y)`O$a)fO~O!U)iO~P!){O$W$fO$Y$eO$a)mO~Og$sXy$sX|$sX!f$sX(j$sX(k$sX~OdfXd$sXgfX!VfX#XfX~P!/ZOl)oO~Oq)pO(T)qO(U)sO~Og)|Oy)uO|)vO(j)xO(k)zO~Od)tO~P!0dOd)}O~Oi%ROk$sOl$rOm$rOs%SOu%TOw:ZO|$zO!X${O!c;eO!h$wO#c:aO$Q%XO$m:]O$o:_O$r%YO'wTO'zUO(O%QO(S$tO~O!U*RO'u*OO!g(pP~P!1RO#d*TO~O!h*UO~O!U*ZO'u*WO!S(qP~P!1ROk*gO|*_O![*eO!]*^O!^*^O!h*UO#T*fO%W*aO'v!kO(V!lO~O!W*dO~P!3XO!f#vOg(RXy(RX|(RX(j(RX(k(RX!V(RX#X(RX~Od(RX#y(RX~P!4QOg*jO#X*iOd(QX!V(QX~O!V*kOd(PX~O'u&POd(PP~O!h*rO~O'u(kO~Oi*vO|%`O!U#gO!X%aO!x]O#b#jO#c#gO'u%_O!g(dP~O!a#tO#d*wO~O|%`O!U*yO!V(RO!X%aO'u%_O!S(gP~Ol'QO|*{O!U*zO'wTO'zUO(V(sO~O!W(iP~P!6{O!V*|O^(uX'l(uX~OP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO#v$XO(SVO(c$YO(j#{O(k#|O~O^!ba!V!ba'l!ba'j!ba!S!ba!g!bao!ba!X!ba%a!ba!a!ba~P!7sOy#xOz#yO|#zO!f#vO!h#wO(SVOP!naX!nak!na!V!na!e!na!l!na#g!na#h!na#i!na#j!na#k!na#l!na#m!na#n!na#o!na#q!na#s!na#u!na#v!na(c!na(j!na(k!na~O^!na'l!na'j!na!S!na!g!nao!na!X!na%a!na!a!na~P!:^Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!paX!pak!pa!V!pa!e!pa!l!pa#g!pa#h!pa#i!pa#j!pa#k!pa#l!pa#m!pa#n!pa#o!pa#q!pa#s!pa#u!pa#v!pa(c!pa(j!pa(k!pa~O^!pa'l!pa'j!pa!S!pa!g!pao!pa!X!pa%a!pa!a!pa~P!<wOg+VO!X'UO%a+UO(O%QO~O!a+XO^'}X!X'}X'l'}X!V'}X~O^%fO!XXO'l%fO~O!h%]O(O%QO~O!h%]O'u%_O(O%QO~O!a#tO#d(mO~O%b+eO'u+aO'wTO'zUO!W(yP~O!V+fO](xX~OX+jO~O]+kO~O!X%vO'u%_O'v!kO](xP~O#X+pO(O%QO~Og+sO!X${O(O%QO~O!X+uO~Oy+wO!XXO~O%f%mO~O!t+|O~Ob,RO~O'u#lO!W(wP~Ob%tO~O%b!PO'u&PO~P<pOX,XO],WO~OPYOQYOayObxOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!ctO!hZO!kYO!lYO!mYO!ouO!twO!x]O$UfO%`|O'wTO'zUO(SVO(b[O(oiO~O!X!dO!q!fO$Q!jO'u!cO~P!CnO],WO^%fO'l%fO~OPYOQYOa!iOb!hOikOkYOlkOmkOskOuYOwYO|WO!QkO!RkO!X!dO!ctO!hZO!kYO!lYO!mYO!ouO!t!gO$Q!jO$UfO'u!cO'wTO'zUO(SVO(b[O(oiO~O^,^O!qvO#p}O%d}O%e}O%f}O~P!FWO!h&eO~O&T,dO~O!X,fO~O&f,hO&h,iOP&caQ&caV&ca^&caa&cab&cai&cak&cal&cam&cas&cau&caw&ca|&ca!Q&ca!R&ca!X&ca!c&ca!h&ca!k&ca!l&ca!m&ca!o&ca!q&ca!t&ca!x&ca#p&ca$Q&ca$U&ca%`&ca%b&ca%d&ca%e&ca%f&ca%i&ca%k&ca%n&ca%o&ca%q&ca%}&ca&T&ca&V&ca&X&ca&Z&ca&^&ca&d&ca&j&ca&l&ca&n&ca&p&ca&r&ca'j&ca'u&ca'w&ca'z&ca(S&ca(b&ca(o&ca!W&ca&[&ca_&ca&a&ca~O'u,nO~O!V{X!V!_X!W{X!W!_X!a{X!a!_X!h!_X#X{X(O!_X~O!a,sO#X,rO!V#aX!V([X!W#aX!W([X!a([X!h([X(O([X~O!a,uO!h%]O(O%QO!V!ZX!W!ZX~Ol!mO|!nO'wTO'zUO(V!lO~OP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!X!dO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'wTO'zUO(SVO(b[O(o;_O~O'u:fO~P# ^O!V,yO!W(ZX~O!W,{O~O!a,sO#X,rO!V#aX!W#aX~O!V,|O!W(iX~O!W-OO~O!]-PO!^-PO'v!kO~P!N{O!W-SO~P'WOg-VO!X'UO~O!S-[O~Ol!wa![!wa!]!wa!^!wa!|!wa!}!wa#O!wa#P!wa#Q!wa#T!wa#U!wa'v!wa'w!wa'z!wa(V!wa(b!wa~P!#RO!l-aO#X-_O~PBqO!]-cO!^-cO'v!kO~PCaO^%fO#X-_O'l%fO~O^%fO!a#tO#X-_O'l%fO~O^%fO!a#tO!l-aO#X-_O'l%fO(c'fO~O'q'nO'r'nO's-hO~Oo-iO~O!S&}a!V&}a~P!7sO!U-mO!S&}X!V&}X~P%TO!V'zO!S(Ya~O!S(Ya~PGTO!V(RO!S(ga~O|%`O!U-qO!X%aO'u%_O!S'TX!V'TX~O#X-sO!V(ea!g(ea^(ea'l(ea~O!a#tO~P#)dO!V(_O!g(da~O|%`O!X%aO#c-wO'u%_O~Oi-|O|%`O!U-yO!X%aO!x]O#b-{O#c-yO'u%_O!V'WX!g'WX~Oz.QO!h#wO~Og.TO!X'UO%a.SO(O%QO~O^#[i!V#[i'l#[i'j#[i!S#[i!g#[io#[i!X#[i%a#[i!a#[i~P!7sOg;kOy)uO|)vO(j)xO(k)zO~O#d#Wa^#Wa#X#Wa'l#Wa!V#Wa!g#Wa!X#Wa!S#Wa~P#,`O#d(RXP(RXX(RX^(RXk(RXz(RX!e(RX!h(RX!l(RX#g(RX#h(RX#i(RX#j(RX#k(RX#l(RX#m(RX#n(RX#o(RX#q(RX#s(RX#u(RX#v(RX'l(RX(S(RX(c(RX!g(RX!S(RX'j(RXo(RX!X(RX%a(RX!a(RX~P!4QO!V.^Od(]X~P!0dOd.`O~O!V.aO!g(^X~P!7sO!g.dO~O!S.fO~OP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O(SVOX#fi^#fik#fi!V#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(c#fi(j#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O#g#fi~P#0[O#g#}O~P#0[OP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO(SVOX#fi^#fi!V#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(c#fi(j#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~Ok#fi~P#2|Ok$PO~P#2|OP$[Ok$POy#xOz#yO|#zO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO(SVO^#fi!V#fi#q#fi#s#fi#u#fi#v#fi'l#fi(c#fi(j#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P#5nOX$cO!e$RO#l$RO#m$RO#n$bO#o$RO~P#5nOP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO(SVO^#fi!V#fi#s#fi#u#fi#v#fi'l#fi(c#fi(k#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(j#fi~P#8oO(j#{O~P#8oOP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO(SVO(j#{O^#fi!V#fi#u#fi#v#fi'l#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~O(k#fi~P#;aO(k#|O~P#;aOP$[OX$cOk$POy#xOz#yO|#zO!e$RO!f#vO!h#wO!l$[O#g#}O#h$OO#i$OO#j$OO#k$QO#l$RO#m$RO#n$bO#o$RO#q$SO#s$UO#u$WO(SVO(j#{O(k#|O~O^#fi!V#fi#v#fi'l#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#>ROPYXXYXkYXyYXzYX|YX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX!VYX!WYX~O#yYX~P#@lOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO#u:SO#v:TO(SVO(c$YO(j#{O(k#|O~O#y.hO~P#ByO#X:YO#{:YO#y(XX!W(XX~PN}O^'Za!V'Za'l'Za'j'Za!g'Za!S'Zao'Za!X'Za%a'Za!a'Za~P!7sOP#fiX#fi^#fik#fiz#fi!V#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi'l#fi(S#fi(c#fi'j#fi!S#fi!g#fio#fi!X#fi%a#fi!a#fi~P#,`O^#zi!V#zi'l#zi'j#zi!S#zi!g#zio#zi!X#zi%a#zi!a#zi~P!7sO$W.mO$Y.mO~O$W.nO$Y.nO~O!a)^O#X.oO!X$^X$T$^X$W$^X$Y$^X$a$^X~O!U.pO~O!X)aO$T.rO$W)`O$Y)`O$a.sO~O!V:UO!W(WX~P#ByO!W.tO~O!a)^O$a(lX~O$a.vO~Oq)pO(T)qO(U.yO~Ol.|O!S.}O'wTO'zUO~O!VcX!acX!gcX!g$sX(ccX~P!/ZO!g/TO~P#,`O!V/UO!a#tO(c'fO!g(pX~O!g/ZO~O!U*RO'u%_O!g(pP~O#d/]O~O!S$sX!V$sX!a$zX~P!/ZO!V/^O!S(qX~P#,`O!a/`O~O!S/bO~Ok/fO!a#tO!h%]O(O%QO(c'fO~O'u/hO~O!a+XO~O^%fO!V/lO'l%fO~O!W/nO~P!3XO!]/oO!^/oO'v!kO(V!lO~O|/qO(V!lO~O#T/rO~O'u&POd'`X!V'`X~O!V*kOd(Pa~Od/wO~Oy/xOz/xO|/yOgva(jva(kva!Vva#Xva~Odva#yva~P$ hOy)uO|)vOg$la(j$la(k$la!V$la#X$la~Od$la#y$la~P$!^Oy)uO|)vOg$na(j$na(k$na!V$na#X$na~Od$na#y$na~P$#PO#d/{O~Od$|a!V$|a#X$|a#y$|a~P!0dO!a#tO~O#d0OO~O!V*|O^(ua'l(ua~Oy#xOz#yO|#zO!f#vO!h#wO(SVOP!niX!nik!ni!V!ni!e!ni!l!ni#g!ni#h!ni#i!ni#j!ni#k!ni#l!ni#m!ni#n!ni#o!ni#q!ni#s!ni#u!ni#v!ni(c!ni(j!ni(k!ni~O^!ni'l!ni'j!ni!S!ni!g!nio!ni!X!ni%a!ni!a!ni~P$$nOg.TO!X'UO%a.SO~Oi0YO'u0XO~P!1UO!a+XO^'}a!X'}a'l'}a!V'}a~O#d0`O~OXYX!VcX!WcX~O!V0aO!W(yX~O!W0cO~OX0dO~O'u+aO'wTO'zUO~O!X%vO'u%_O]'hX!V'hX~O!V+fO](xa~O!g0iO~P!7sOX0lO~O]0mO~O#X0pO~Og0sO!X${O~O(V(sO!W(vP~Og0|O!X0yO%a0{O(O%QO~OX1WO!V1UO!W(wX~O!W1XO~O]1ZO^%fO'l%fO~O'u#lO'wTO'zUO~O#X$dO#{$dOP(XXX(XXk(XXy(XXz(XX|(XX!V(XX!e(XX!h(XX!l(XX#g(XX#h(XX#i(XX#j(XX#k(XX#l(XX#m(XX#n(XX#q(XX#s(XX#u(XX#v(XX(S(XX(c(XX(j(XX(k(XX~O#o1^O&R1_O^(XX!f(XX~P$+dO#X$dO#o1^O&R1_O~O^1aO~P%TO^1cO~O&[1fOP&YiQ&YiV&Yi^&Yia&Yib&Yii&Yik&Yil&Yim&Yis&Yiu&Yiw&Yi|&Yi!Q&Yi!R&Yi!X&Yi!c&Yi!h&Yi!k&Yi!l&Yi!m&Yi!o&Yi!q&Yi!t&Yi!x&Yi#p&Yi$Q&Yi$U&Yi%`&Yi%b&Yi%d&Yi%e&Yi%f&Yi%i&Yi%k&Yi%n&Yi%o&Yi%q&Yi%}&Yi&T&Yi&V&Yi&X&Yi&Z&Yi&^&Yi&d&Yi&j&Yi&l&Yi&n&Yi&p&Yi&r&Yi'j&Yi'u&Yi'w&Yi'z&Yi(S&Yi(b&Yi(o&Yi!W&Yi_&Yi&a&Yi~O_1lO!W1jO&a1kO~P`O!XXO!h1nO~O&h,iOP&ciQ&ciV&ci^&cia&cib&cii&cik&cil&cim&cis&ciu&ciw&ci|&ci!Q&ci!R&ci!X&ci!c&ci!h&ci!k&ci!l&ci!m&ci!o&ci!q&ci!t&ci!x&ci#p&ci$Q&ci$U&ci%`&ci%b&ci%d&ci%e&ci%f&ci%i&ci%k&ci%n&ci%o&ci%q&ci%}&ci&T&ci&V&ci&X&ci&Z&ci&^&ci&d&ci&j&ci&l&ci&n&ci&p&ci&r&ci'j&ci'u&ci'w&ci'z&ci(S&ci(b&ci(o&ci!W&ci&[&ci_&ci&a&ci~O!S1tO~O!V!Za!W!Za~P#ByOl!mO|!nO!U1zO(V!lO!V'OX!W'OX~P?wO!V,yO!W(Za~O!V'UX!W'UX~P!6{O!V,|O!W(ia~O!W2RO~P'WO^%fO#X2[O'l%fO~O^%fO!a#tO#X2[O'l%fO~O^%fO!a#tO!l2`O#X2[O'l%fO(c'fO~O^%fO'l%fO~P!7sO!V$`Oo$ka~O!S&}i!V&}i~P!7sO!V'zO!S(Yi~O!V(RO!S(gi~O!S(hi!V(hi~P!7sO!V(ei!g(ei^(ei'l(ei~P!7sO#X2bO!V(ei!g(ei^(ei'l(ei~O!V(_O!g(di~O|%`O!X%aO!x]O#b2gO#c2fO'u%_O~O|%`O!X%aO#c2fO'u%_O~Og2nO!X'UO%a2mO~Og2nO!X'UO%a2mO(O%QO~O#dvaPvaXva^vakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva'lva(Sva(cva!gva!Sva'jvaova!Xva%ava!ava~P$ hO#d$laP$laX$la^$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la'l$la(S$la(c$la!g$la!S$la'j$lao$la!X$la%a$la!a$la~P$!^O#d$naP$naX$na^$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na'l$na(S$na(c$na!g$na!S$na'j$nao$na!X$na%a$na!a$na~P$#PO#d$|aP$|aX$|a^$|ak$|az$|a!V$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a'l$|a(S$|a(c$|a!g$|a!S$|a'j$|a#X$|ao$|a!X$|a%a$|a!a$|a~P#,`O^#[q!V#[q'l#[q'j#[q!S#[q!g#[qo#[q!X#[q%a#[q!a#[q~P!7sOd'PX!V'PX~P!'oO!V.^Od(]a~O!U2vO!V'QX!g'QX~P%TO!V.aO!g(^a~O!V.aO!g(^a~P!7sO!S2yO~O#y!ja!W!ja~PJqO#y!ba!V!ba!W!ba~P#ByO#y!na!W!na~P!:^O#y!pa!W!pa~P!<wO!X3]O$UfO$_3^O~O!W3bO~Oo3cO~P#,`O^$hq!V$hq'l$hq'j$hq!S$hq!g$hqo$hq!X$hq%a$hq!a$hq~P!7sO!S3dO~Ol.|O'wTO'zUO~Oy)uO|)vO(k)zOg%Xi(j%Xi!V%Xi#X%Xi~Od%Xi#y%Xi~P$JVOy)uO|)vOg%Zi(j%Zi(k%Zi!V%Zi#X%Zi~Od%Zi#y%Zi~P$JxO(c$YO~P#,`O!U3gO'u%_O!V'[X!g'[X~O!V/UO!g(pa~O!V/UO!a#tO!g(pa~O!V/UO!a#tO(c'fO!g(pa~Od$ui!V$ui#X$ui#y$ui~P!0dO!U3oO'u*WO!S'^X!V'^X~P!1RO!V/^O!S(qa~O!V/^O!S(qa~P#,`O!a#tO#o3wO~Ok3zO!a#tO(c'fO~Od(Qi!V(Qi~P!0dO#X3}Od(Qi!V(Qi~P!0dO!g4QO~O^$iq!V$iq'l$iq'j$iq!S$iq!g$iqo$iq!X$iq%a$iq!a$iq~P!7sO!S4UO~O!V4VO!X(rX~P#,`O!f#vO~P4QO^$sX!X$sX%UYX'l$sX!V$sX~P!/ZO%U4XO^hXghXyhX|hX!XhX'lhX(jhX(khX!VhX~O%U4XO~O%b4`O'u+aO'wTO'zUO!V'gX!W'gX~O!V0aO!W(ya~OX4dO~O]4eO~O^%fO'l%fO~P#,`O!X${O~P#,`O!V4mO#X4oO!W(vX~O!W4pO~Ol!mO|4qO![!wO!]!tO!^!tO!x9qO!|!oO!}!oO#O!oO#P!oO#Q!oO#T4vO#U!xO'v!kO'wTO'zUO(V!lO(b!rO~O!W4uO~P%$wOg4{O!X0yO%a4zO~Og4{O!X0yO%a4zO(O%QO~O'u#lO!V'fX!W'fX~O!V1UO!W(wa~O'wTO'zUO(V5UO~O]5YO~O#o5]O&R5^O~PMaO!g5_O~P%TO^5aO~O^5aO~P%TO_1lO!W5fO&a1kO~P`O!a5hO~O!a5jO!V([i!W([i!a([i!h([i(O([i~O!V#ai!W#ai~P#ByO#X5kO!V#ai!W#ai~O!V!Zi!W!Zi~P#ByO^%fO#X5tO'l%fO~O^%fO!a#tO#X5tO'l%fO~O!V(eq!g(eq^(eq'l(eq~P!7sO!V(_O!g(dq~O|%`O!X%aO#c5{O'u%_O~O!X'UO%a6OO~Og6RO!X'UO%a6OO~O#d%XiP%XiX%Xi^%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi'l%Xi(S%Xi(c%Xi!g%Xi!S%Xi'j%Xio%Xi!X%Xi%a%Xi!a%Xi~P$JVO#d%ZiP%ZiX%Zi^%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi'l%Zi(S%Zi(c%Zi!g%Zi!S%Zi'j%Zio%Zi!X%Zi%a%Zi!a%Zi~P$JxO#d$uiP$uiX$ui^$uik$uiz$ui!V$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui'l$ui(S$ui(c$ui!g$ui!S$ui'j$ui#X$uio$ui!X$ui%a$ui!a$ui~P#,`Od'Pa!V'Pa~P!0dO!V'Qa!g'Qa~P!7sO!V.aO!g(^i~O#y#[i!V#[i!W#[i~P#ByOP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O(SVOX#fik#fi!e#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(c#fi(j#fi(k#fi!V#fi!W#fi~O#g#fi~P%3WO#g9yO~P%3WOP$[Oy#xOz#yO|#zO!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO(SVOX#fi!e#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(c#fi(j#fi(k#fi!V#fi!W#fi~Ok#fi~P%5cOk9{O~P%5cOP$[Ok9{Oy#xOz#yO|#zO!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O(SVO#q#fi#s#fi#u#fi#v#fi#y#fi(c#fi(j#fi(k#fi!V#fi!W#fi~OX#fi!e#fi#l#fi#m#fi#n#fi#o#fi~P%7nOX:XO!e9}O#l9}O#m9}O#n:WO#o9}O~P%7nOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO(SVO#s#fi#u#fi#v#fi#y#fi(c#fi(k#fi!V#fi!W#fi~O(j#fi~P%:YO(j#{O~P%:YOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO(SVO(j#{O#u#fi#v#fi#y#fi(c#fi!V#fi!W#fi~O(k#fi~P%<eO(k#|O~P%<eOP$[OX:XOk9{Oy#xOz#yO|#zO!e9}O!f#vO!h#wO!l$[O#g9yO#h9zO#i9zO#j9zO#k9|O#l9}O#m9}O#n:WO#o9}O#q:OO#s:QO#u:SO(SVO(j#{O(k#|O~O#v#fi#y#fi(c#fi!V#fi!W#fi~P%>pO^#wy!V#wy'l#wy'j#wy!S#wy!g#wyo#wy!X#wy%a#wy!a#wy~P!7sOg;lOy)uO|)vO(j)xO(k)zO~OP#fiX#fik#fiz#fi!e#fi!f#fi!h#fi!l#fi#g#fi#h#fi#i#fi#j#fi#k#fi#l#fi#m#fi#n#fi#o#fi#q#fi#s#fi#u#fi#v#fi#y#fi(S#fi(c#fi!V#fi!W#fi~P%AhO!f#vOP(RXX(RXg(RXk(RXy(RXz(RX|(RX!e(RX!h(RX!l(RX#g(RX#h(RX#i(RX#j(RX#k(RX#l(RX#m(RX#n(RX#o(RX#q(RX#s(RX#u(RX#v(RX#y(RX(S(RX(c(RX(j(RX(k(RX!V(RX!W(RX~O#y#zi!V#zi!W#zi~P#ByO#y!ni!W!ni~P$$nO!W6_O~O!V'Za!W'Za~P#ByO!a#tO(c'fO!V'[a!g'[a~O!V/UO!g(pi~O!V/UO!a#tO!g(pi~Od$uq!V$uq#X$uq#y$uq~P!0dO!S'^a!V'^a~P#,`O!a6fO~O!V/^O!S(qi~P#,`O!V/^O!S(qi~O!S6jO~O!a#tO#o6oO~Ok6pO!a#tO(c'fO~O!S6rO~Od$wq!V$wq#X$wq#y$wq~P!0dO^$iy!V$iy'l$iy'j$iy!S$iy!g$iyo$iy!X$iy%a$iy!a$iy~P!7sO!a5jO~O!V4VO!X(ra~O^#[y!V#[y'l#[y'j#[y!S#[y!g#[yo#[y!X#[y%a#[y!a#[y~P!7sOX6wO~O!V0aO!W(yi~O]6}O~O(V(sO!V'cX!W'cX~O!V4mO!W(va~OikO'u7UO~P.bO!W7XO~P%$wOl!mO|7YO'wTO'zUO(V!lO(b!rO~O!X0yO~O!X0yO%a7[O~Og7_O!X0yO%a7[O~OX7dO!V'fa!W'fa~O!V1UO!W(wi~O!g7hO~O!g7iO~O!g7lO~O!g7lO~P%TO^7nO~O!a7oO~O!g7pO~O!V(hi!W(hi~P#ByO^%fO#X7xO'l%fO~O!V(ey!g(ey^(ey'l(ey~P!7sO!V(_O!g(dy~O!X'UO%a7{O~O#d$uqP$uqX$uq^$uqk$uqz$uq!V$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq'l$uq(S$uq(c$uq!g$uq!S$uq'j$uq#X$uqo$uq!X$uq%a$uq!a$uq~P#,`O#d$wqP$wqX$wq^$wqk$wqz$wq!V$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq'l$wq(S$wq(c$wq!g$wq!S$wq'j$wq#X$wqo$wq!X$wq%a$wq!a$wq~P#,`O!V'Qi!g'Qi~P!7sO#y#[q!V#[q!W#[q~P#ByOy/xOz/xO|/yOPvaXvagvakva!eva!fva!hva!lva#gva#hva#iva#jva#kva#lva#mva#nva#ova#qva#sva#uva#vva#yva(Sva(cva(jva(kva!Vva!Wva~Oy)uO|)vOP$laX$lag$lak$laz$la!e$la!f$la!h$la!l$la#g$la#h$la#i$la#j$la#k$la#l$la#m$la#n$la#o$la#q$la#s$la#u$la#v$la#y$la(S$la(c$la(j$la(k$la!V$la!W$la~Oy)uO|)vOP$naX$nag$nak$naz$na!e$na!f$na!h$na!l$na#g$na#h$na#i$na#j$na#k$na#l$na#m$na#n$na#o$na#q$na#s$na#u$na#v$na#y$na(S$na(c$na(j$na(k$na!V$na!W$na~OP$|aX$|ak$|az$|a!e$|a!f$|a!h$|a!l$|a#g$|a#h$|a#i$|a#j$|a#k$|a#l$|a#m$|a#n$|a#o$|a#q$|a#s$|a#u$|a#v$|a#y$|a(S$|a(c$|a!V$|a!W$|a~P%AhO#y$hq!V$hq!W$hq~P#ByO#y$iq!V$iq!W$iq~P#ByO!W8VO~O#y8WO~P!0dO!a#tO!V'[i!g'[i~O!a#tO(c'fO!V'[i!g'[i~O!V/UO!g(pq~O!S'^i!V'^i~P#,`O!V/^O!S(qq~O!S8^O~P#,`O!S8^O~Od(Qy!V(Qy~P!0dO!V'aa!X'aa~P#,`O^%Tq!X%Tq'l%Tq!V%Tq~P#,`OX8cO~O!V0aO!W(yq~O#X8gO!V'ca!W'ca~O!V4mO!W(vi~P#ByOPYXXYXkYXyYXzYX|YX!SYX!VYX!eYX!fYX!hYX!lYX#XYX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!a%RX#o%RX~P&2hO!X0yO%a8kO~O'wTO'zUO(V8pO~O!V1UO!W(wq~O!g8sO~O!g8tO~O!g8uO~O!g8uO~P%TO#X8xO!V#ay!W#ay~O!V#ay!W#ay~P#ByO!X'UO%a8}O~O#y#wy!V#wy!W#wy~P#ByOP$uiX$uik$uiz$ui!e$ui!f$ui!h$ui!l$ui#g$ui#h$ui#i$ui#j$ui#k$ui#l$ui#m$ui#n$ui#o$ui#q$ui#s$ui#u$ui#v$ui#y$ui(S$ui(c$ui!V$ui!W$ui~P%AhOy)uO|)vO(k)zOP%XiX%Xig%Xik%Xiz%Xi!e%Xi!f%Xi!h%Xi!l%Xi#g%Xi#h%Xi#i%Xi#j%Xi#k%Xi#l%Xi#m%Xi#n%Xi#o%Xi#q%Xi#s%Xi#u%Xi#v%Xi#y%Xi(S%Xi(c%Xi(j%Xi!V%Xi!W%Xi~Oy)uO|)vOP%ZiX%Zig%Zik%Ziz%Zi!e%Zi!f%Zi!h%Zi!l%Zi#g%Zi#h%Zi#i%Zi#j%Zi#k%Zi#l%Zi#m%Zi#n%Zi#o%Zi#q%Zi#s%Zi#u%Zi#v%Zi#y%Zi(S%Zi(c%Zi(j%Zi(k%Zi!V%Zi!W%Zi~O#y$iy!V$iy!W$iy~P#ByO#y#[y!V#[y!W#[y~P#ByO!a#tO!V'[q!g'[q~O!V/UO!g(py~O!S'^q!V'^q~P#,`O!S9UO~P#,`O!V0aO!W(yy~O!V4mO!W(vq~O!X0yO%a9]O~O!g9`O~O!X'UO%a9eO~OP$uqX$uqk$uqz$uq!e$uq!f$uq!h$uq!l$uq#g$uq#h$uq#i$uq#j$uq#k$uq#l$uq#m$uq#n$uq#o$uq#q$uq#s$uq#u$uq#v$uq#y$uq(S$uq(c$uq!V$uq!W$uq~P%AhOP$wqX$wqk$wqz$wq!e$wq!f$wq!h$wq!l$wq#g$wq#h$wq#i$wq#j$wq#k$wq#l$wq#m$wq#n$wq#o$wq#q$wq#s$wq#u$wq#v$wq#y$wq(S$wq(c$wq!V$wq!W$wq~P%AhOd%]!Z!V%]!Z#X%]!Z#y%]!Z~P!0dO!V'cq!W'cq~P#ByO!V#a!Z!W#a!Z~P#ByO#d%]!ZP%]!ZX%]!Z^%]!Zk%]!Zz%]!Z!V%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z'l%]!Z(S%]!Z(c%]!Z!g%]!Z!S%]!Z'j%]!Z#X%]!Zo%]!Z!X%]!Z%a%]!Z!a%]!Z~P#,`OP%]!ZX%]!Zk%]!Zz%]!Z!e%]!Z!f%]!Z!h%]!Z!l%]!Z#g%]!Z#h%]!Z#i%]!Z#j%]!Z#k%]!Z#l%]!Z#m%]!Z#n%]!Z#o%]!Z#q%]!Z#s%]!Z#u%]!Z#v%]!Z#y%]!Z(S%]!Z(c%]!Z!V%]!Z!W%]!Z~P%AhOo(WX~P1jO'v!kO~P!){O!ScX!VcX#XcX~P&2hOPYXXYXkYXyYXzYX|YX!VYX!VcX!eYX!fYX!hYX!lYX#XYX#XcX#dcX#gYX#hYX#iYX#jYX#kYX#lYX#mYX#nYX#oYX#qYX#sYX#uYX#vYX#{YX(SYX(cYX(jYX(kYX~O!acX!gYX!gcX(ccX~P&HOOP9pOQ9pOa;aOb!hOikOk9pOlkOmkOskOu9pOw9pO|WO!QkO!RkO!XXO!c9sO!hZO!k9pO!l9pO!m9pO!o9tO!q9wO!t!gO$Q!jO$UfO'u)TO'wTO'zUO(SVO(b[O(o;_O~O!V:UO!W$ka~Oi%ROk$sOl$rOm$rOs%SOu%TOw:[O|$zO!X${O!c;fO!h$wO#c:bO$Q%XO$m:^O$o:`O$r%YO'u(kO'wTO'zUO(O%QO(S$tO~O#p)[O~P&LtO!WYX!WcX~P&HOO#d9xO~O!a#tO#d9xO~O#X:YO~O#o9}O~O#X:dO!V(hX!W(hX~O#X:YO!V(fX!W(fX~O#d:eO~Od:gO~P!0dO#d:lO~O#d:mO~O!a#tO#d:nO~O!a#tO#d:eO~O#y:oO~P#ByO#d:pO~O#d:qO~O#d:rO~O#d:sO~O#d:tO~O#d:uO~O#y:vO~P!0dO#y:wO~P!0dO$U~!f!|!}#P#Q#T#b#c#n(o$m$o$r%U%`%a%b%i%k%n%o%q%s~'pR$U(o#h!R'n'v#il#g#jky'o(V'o'u$W$Y$W~",goto:"$&O(}PPPP)OP)RP)cP*r.uPPPP5WPP5mP;h>mP?QP?QPPP?QP@pP?QP?QP?QP@tPP@yPAdPFZPPPF_PPPPF_I_PPPIeJ`PF_PLmPPPPN{F_PPPF_PF_P!#ZF_P!&n!'p!'yP!(l!(p!(lPPPPP!+z!'pPP!,h!-bP!0UF_F_!0Z!3d!7x!7x!;mPPP!;tF_PPPPPPPPPPP!?QP!@cPPF_!ApPF_PF_F_F_F_PF_!CSPP!FZP!I^P!Ib!Il!Ip!IpP!FWP!It!ItP!LwP!L{F_F_!MR#!T?QP?QP?Q?QP##_?Q?Q#%X?Q#'f?Q#)Y?Q?Q#)v#+r#+r#+v#,O#+r#,WP#+rP?Q#,p?Q#-x?Q?Q5WPPP#/TPPP#/m#/mP#/mP#0S#/mPP#0YP#0PP#0P#0l#0P#1W#1^5T)R#1a)RP#1h#1h#1hP)RP)RP)RP)RPP)RP#1n#1qP#1q)RP#1uP#1xP)RP)RP)RP)RP)RP)R)RPP#2O#2U#2`#2f#2l#2r#2x#3W#3^#3d#3n#3t#4O#4_#4e#5U#5h#5n#5t#6S#6i#7y#8X#8_#8e#8k#8q#8{#9R#9X#9c#9u#9{PPPPPPPPPP#:RPPPPPPP#:u#=|P#?]#?d#?lPPPP#Cv#Fl#MS#MV#MY#NR#NU#NX#N`#NhPP#Nn#Nr$ j$!i$!m$#RPP$#V$#]$#aP$#d$#h$#k$$a$$w$%_$%c$%f$%i$%o$%r$%v$%zR!zRmqOXs!Y#b%e&h&j&k&m,a,f1f1iY!tQ'U-R0y4tQ%kuQ%sxQ%z{Q&`!US&|!d,yQ'[!hS'b!q!wS*^${*cQ+_%tQ+l%|Q,Q&YQ-P'TQ-Z']Q-c'cQ/o*eQ1T,RR:c9t$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7xS#o]9q!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ*n%UQ+d%vQ,S&]Q,Z&eQ.W:ZQ0V+VQ0Z+XQ0f+eQ1],XQ2j.TQ4_0aQ5S1UQ6Q2nQ6W:[Q6y4`R8O6R&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bt!mQ!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4v$Y$ri#t#v$b$c$w$z%V%W%[)p)y){)|*T*Z*i*j+U+X+p+s.S.^/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ%}{Q&z!dS'Q%a,|Q+d%vS.|)v/OQ/z*rQ0f+eQ0k+kQ1[,WQ1],XQ4_0aQ4h0mQ5V1WQ5W1ZQ6y4`Q6|4eQ7g5YQ8f6}R8q7dpnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR,U&a&t^OPXYstuvy!Y!_!f!i!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;a;b[#ZWZ#U#X&}'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q%nwQ%rxS%w{%|Q&T!SQ'X!gQ'Z!hQ(f#qS*Q$w*US+^%s%tQ+b%vQ+{&WQ,P&YS-Y'[']Q.V(gQ/Y*RQ0_+_Q0e+eQ0g+fQ0j+jQ1O+|S1S,Q,RQ2W-ZQ3f/UQ4^0aQ4b0dQ4g0lQ5R1TQ6c3gQ6x4`Q6{4dQ8b6wR9W8cv$yi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h!S%px!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yQ+W%nQ+q&QQ+t&RQ,O&YQ.U(fQ0}+{U1R,P,Q,RQ2o.VQ4|1OS5Q1S1TQ7c5R!z;c#t$b$c$w$z)p)|*Z+U+X+p+s.S/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg;d:W:X:^:`:b:i:k:m:q:s:wW%Oi%Q*k;_S&Q!P&_Q&R!QQ&S!RR+o&O$Z$}i#t#v$b$c$w$z%V%W%[)p)y){)|*T*Z*i*j+U+X+p+s.S.^/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lT)q$t)rV*o%U:Z:[U'Q!d%a,|S(t#x#yQ+i%yS.O(b(cQ0t+uQ4O/xR7R4m&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b$i$_c#W#c%i%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.i.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;UT#RV#S&{kOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ'O!dR1{,yv!mQ!d!q!t!w!x&|'T'U'b'c'd,y-P-R-c0y4t4vS*]${*cS/g*^*eQ/p*fQ0v+wQ3y/oR3|/rlqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&o!]Q'l!vS(h#s9xQ+[%qQ+y&TQ+z&VQ-W'YQ-e'eS.[(m:eS/}*w:nQ0]+]Q0x+xQ1m,hQ1o,iQ1w,tQ2U-XQ2X-]S4T0O:tQ4Y0^S4]0`:uQ5l1yQ5p2VQ5u2^Q6v4ZQ7s5nQ7t5qQ7w5vR8w7p$d$^c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(e#n'_U*h$|(l3YS+R%i.iQ2k0VQ5}2jQ7}6QR9O8O$d$]c#W#c%j%l'w'}(i(p(x(y(z({(|(})O)P)Q)R)S)U)X)])g+S+h,w-f-k-p-r.].c.g.j.k.z/|1u1x2Y2a2u2z2{2|2}3O3P3Q3R3S3T3U3V3W3Z3[3a4S4[5m5s5x6U6V6[6]7T7r7v8P8T8U8z9Y9a9r;US(d#n'_S(v#y$^S+Q%i.iS.P(c(eQ.l)WQ0S+RR2h.Q&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS#o]9qQ&j!WQ&k!XQ&m!ZQ&n![R1e,dQ'V!gQ+T%nQ-U'XS.R(f+WQ2S-TW2l.U.V0U0WQ5o2TU5|2i2k2oS7z5}6PS8|7|7}S9c8{9OQ9k9dR9n9lU!uQ'U-RT4r0y4t!O_OXZ`s!U!Y#b#f%]%e&_&a&h&j&k&m(_,a,f-x1f1i]!oQ!q'U-R0y4tT#o]9q%WzOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS(t#x#yS.O(b(c!s:{$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bY!sQ'U-R0y4tQ'a!qS'k!t!wS'm!x4vS-b'b'cQ-d'dR2_-cQ'j!sS(Z#e1`S-a'a'mQ/X*QQ/e*]Q2`-dQ3k/YS3t/f/pQ6b3fS6m3z3|Q8Y6cR8a6pQ#ubQ'i!sS(Y#e1`S([#k*vQ*x%^Q+Y%oQ+`%uU-`'a'j'mQ-t(ZQ/W*QQ/d*]Q/j*`Q0[+ZQ1P+}S2]-a-dQ2e-|S3j/X/YS3s/e/pQ3v/iQ3x/kQ5O1QQ5w2`Q6a3fQ6e3kS6i3t3|Q6n3{Q7a5PS8X6b6cQ8]6jQ8_6mQ8n7bQ9S8YQ9T8^Q9V8aQ9_8oQ9g9UQ;O:yQ;Z;SR;[;TV!uQ'U-R%WaOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xS#uy!i!r:x$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR;O;a%WbOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xQ%^j!S%ox!h!s%r%s%t&{'Z'[']'a'k*]+^+_,v-Y-Z-b/g0_2P2W2_3yS%uy!iQ+Z%pQ+}&YW1Q,O,P,Q,RU5P1R1S1TS7b5Q5RQ8o7c!r:y$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ;S;`R;T;a$zeOPXYstuv!Y!_!f!n#Q#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7xY#`WZ#U#X'x!S%bm#f#g#j%]%`(R(](^(_*y*z*|,],s-q-w-x-y-{1n2f2g5j5{Q,[&e!p:z$Z$l)i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bR:}&}S'R!d%aR1},|$|dOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{,^,a,f-V-_-m-s.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2v4q4{5]5^5a5t7Y7_7n7x!r)V$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bQ,Z&eQ0V+VQ2j.TQ6Q2nR8O6R!f$Tc#W%i'w'}(i(p)P)Q)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!T:P)U)g,w.i1u1x2z3S3T3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!b$Vc#W%i'w'}(i(p)R)S)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9r!P:R)U)g,w.i1u1x2z3U3V3Z3a5m6V6[6]7T7r8P8T8U9Y9a;U!^$Zc#W%i'w'}(i(p)X)]+h-f-k-p-r.].c.z/|2Y2a2u3W4S4[5s5x6U7v8z9rQ3e/Sz;b)U)g,w.i1u1x2z3Z3a5m6V6[6]7T7r8P8T8U9Y9a;UQ;g;iR;h;j&zkOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bS$mh$nR3^.o'RgOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$if$oQ$gfS)`$j)dR)l$oT$hf$oT)b$j)d'RhOPWXYZhstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$Z$`$d$l$n%e%k%x&a&d&e&h&j&k&m&q&y&}'W'h'x'z(Q(X(m(q(u)i)t*w*{+V,^,a,f,r,u-V-_-m-s.T.a.h.o.p/y0O0`0|1^1_1a1c1f1i1k1z2[2b2n2v3]4o4q4{5]5^5a5k5t6R7Y7_7n7x8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;bT$mh$nQ$phR)k$n%WjOPWXYZstuv!Y!_!f!n#Q#U#X#b#m#s#w#z#}$O$P$Q$R$S$T$U$V$W$X$`$d%e%k%x&a&d&e&h&j&k&m&q&y'W'h'x'z(Q(X(m(q(u)t*w*{+V,^,a,f-V-_-m-s.T.a.h/y0O0`0|1^1_1a1c1f1i1k2[2b2n2v4q4{5]5^5a5t6R7Y7_7n7x!s;`$Z$l&})i,r,u.p1z3]4o5k8g8x9p9s9t9w9x9y9z9{9|9}:O:P:Q:R:S:T:U:Y:c:d:e:g:n:o:t:u;b#alOPXZs!Y!_!n#Q#b#m#z$l%e&a&d&e&h&j&k&m&q&y'W(u)i*{+V,^,a,f-V.T.p/y0|1^1_1a1c1f1i1k2n3]4q4{5]5^5a6R7Y7_7nv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h!z(l#t$b$c$w$z)p)|*Z+U+X+p+s.S/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lQ*s%YQ.{)ug3Y:W:X:^:`:b:i:k:m:q:s:wv$xi#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;hQ*V$yS*`${*cQ*t%ZQ/k*a!z;Q#t$b$c$w$z)p)|*Z+U+X+p+s.S/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lf;R:W:X:^:`:b:i:k:m:q:s:wQ;V;cQ;W;dQ;X;eR;Y;fv$|i#v%V%W%[)y){*T*i*j.^/]/{3e3}8W;_;g;h!z(l#t$b$c$w$z)p)|*Z+U+X+p+s.S/^/`0p0s0{2m3o3w4V4X4z6O6f6o7[7{8k8}9]9e:]:_:a:h:j:l:p:r:v;k;lg3Y:W:X:^:`:b:i:k:m:q:s:wloOXs!Y#b%e&h&j&k&m,a,f1f1iQ*Y$zQ,o&tQ,p&vR3n/^$Y$}i#t#v$b$c$w$z%V%W%[)p)y){)|*T*Z*i*j+U+X+p+s.S.^/]/^/`/{0p0s0{2m3e3o3w3}4V4X4z6O6f6o7[7{8W8k8}9]9e:W:X:]:^:_:`:a:b:h:i:j:k:l:m:p:q:r:s:v:w;_;g;h;k;lQ+r&RQ0r+tQ4k0qR7Q4lT*b${*cS*b${*cT4s0y4tS/i*_4qT3{/q7YQ+Y%oQ/j*`Q0[+ZQ1P+}Q5O1QQ7a5PQ8n7bR9_8on)y$u(n*u/[/s/t2s3l4R6`6q9R;P;];^!W:h(j)Z*P*X.Z.w/S/a0T0o0q2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j]:i3X6Z8Q9P9Q9op){$u(n*u/Q/[/s/t2s3l4R6`6q9R;P;];^!Y:j(j)Z*P*X.Z.w/S/a0T0o0q2p2r3m3q4j4l6S6T6g6k6s6u8[8`9f;i;j_:k3X6Z8Q8R9P9Q9opnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ&[!TR,^&epnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iR&[!TQ+v&SR0n+oqnOXs!U!Y#b%e&_&h&j&k&m,a,f1f1iQ0z+{S4y0}1OU7Z4w4x4|S8j7]7^S9Z8i8lQ9h9[R9m9iQ&c!UR,V&_R5V1WS%w{%|R0g+fQ&h!VR,a&iR,g&nT1g,f1iR,k&oQ,j&oR1p,kQ'o!yR-g'oQsOQ#bXT%hs#bQ!|TR'q!|Q#PUR's#PQ)r$tR.x)rQ#SVR'u#SQ#VWU'{#V'|-nQ'|#WR-n'}Q,z'OR1|,zQ._(nR2t._Q.b(pS2w.b2xR2x.cQ-R'UR2Q-RY!qQ'U-R0y4tR'`!qS#]W%`U(S#](T-oQ(T#^R-o(OQ,}'RR2O,}r`OXs!U!Y#b%e&_&a&h&j&k&m,a,f1f1iS#fZ%]U#p`#f-xR-x(_Q(`#hQ-u([W-}(`-u2c5yQ2c-vR5y2dQ)d$jR.q)dQ$nhR)j$nQ$acU)Y$a-j:VQ-j9rR:V)gQ/V*QW3h/V3i6d8ZU3i/W/X/YS6d3j3kR8Z6e#m)w$u(j(n)Z*P*X*p*q*u.X.Y.Z.w/Q/R/S/[/a/s/t0T0o0q2p2q2r2s3X3l3m3q4R4j4l6S6T6X6Y6Z6`6g6k6q6s6u8Q8R8S8[8`9P9Q9R9f9o;P;];^;i;jQ/_*XU3p/_3r6hQ3r/aR6h3qQ*c${R/m*cQ*l%PR/v*lQ4W0TR6t4WQ*}%cR0R*}Q4n0tS7S4n8hR8h7TQ+x&TR0w+xQ4t0yR7W4tQ1V,SS5T1V7eR7e5VQ0b+bW4a0b4c6z8dQ4c0eQ6z4bR8d6{Q+g%wR0h+gQ1i,fR5e1iWrOXs#bQ&l!YQ+P%eQ,`&hQ,b&jQ,c&kQ,e&mQ1d,aS1g,f1iR5d1fQ%gpQ&p!^Q&s!`Q&u!aQ&w!bQ'g!sQ+O%dQ+[%qQ+n%}Q,U&cQ,m&rW-^'a'i'j'mQ-e'eQ/l*bQ0]+]S1Y,V,YQ1q,lQ1r,oQ1s,pQ2X-]W2Z-`-a-d-fQ4Y0^Q4f0kQ4i0oQ4}1PQ5X1[Q5c1eU5r2Y2]2`Q5u2^Q6v4ZQ7O4hQ7P4jQ7V4sQ7`5OQ7f5WS7u5s5wQ7w5vQ8e6|Q8m7aQ8r7gQ8y7vQ9X8fQ9^8nQ9b8zR9j9_Q%qxQ'Y!hQ'e!sU+]%r%s%tQ,t&{U-X'Z'[']S-]'a'kQ/c*]S0^+^+_Q1y,vS2V-Y-ZQ2^-bQ3u/gQ4Z0_Q5n2PQ5q2WQ5v2_R6l3yS$vi;_R*m%QU%Pi%Q;_R/u*kQ$uiS(j#t+XQ(n#vS)Z$b$cQ*P$wQ*X$zQ*p%VQ*q%WQ*u%[Q.X:]Q.Y:_Q.Z:aQ.w)pQ/Q)yQ/R){Q/S)|Q/[*TQ/a*ZQ/s*iQ/t*jh0T+U.S0{2m4z6O7[7{8k8}9]9eQ0o+pQ0q+sQ2p:hQ2q:jQ2r:lQ2s.^S3X:W:XQ3l/]Q3m/^Q3q/`Q4R/{Q4j0pQ4l0sQ6S:pQ6T:rQ6X:^Q6Y:`Q6Z:bQ6`3eQ6g3oQ6k3wQ6q3}Q6s4VQ6u4XQ8Q:mQ8R:iQ8S:kQ8[6fQ8`6oQ9P:qQ9Q:sQ9R8WQ9f:vQ9o:wQ;P;_Q;];gQ;^;hQ;i;kR;j;llpOXs!Y#b%e&h&j&k&m,a,f1f1iQ!ePS#dZ#mQ&r!_U'^!n4q7YQ't#QQ(w#zQ)h$lS,Y&a&dQ,_&eQ,l&qQ,q&yQ-T'WQ.e(uQ.u)iQ0P*{Q0W+VQ1b,^Q2T-VQ2k.TQ3`.pQ4P/yQ4x0|Q5Z1^Q5[1_Q5`1aQ5b1cQ5g1kQ5}2nQ6^3]Q7^4{Q7j5]Q7k5^Q7m5aQ7}6RQ8l7_R8v7n#UcOPXZs!Y!_!n#b#m#z%e&a&d&e&h&j&k&m&q&y'W(u*{+V,^,a,f-V.T/y0|1^1_1a1c1f1i1k2n4q4{5]5^5a6R7Y7_7nQ#WWQ#cYQ%itQ%juS%lv!fS'w#U'zQ'}#XQ(i#sQ(p#wQ(x#}Q(y$OQ(z$PQ({$QQ(|$RQ(}$SQ)O$TQ)P$UQ)Q$VQ)R$WQ)S$XQ)U$ZQ)X$`Q)]$dW)g$l)i.p3]Q+S%kQ+h%xS,w&}1zQ-f'hS-k'x-mQ-p(QQ-r(XQ.](mQ.c(qQ.g9pQ.i9sQ.j9tQ.k9wQ.z)tQ/|*wQ1u,rQ1x,uQ2Y-_Q2a-sQ2u.aQ2z9xQ2{9yQ2|9zQ2}9{Q3O9|Q3P9}Q3Q:OQ3R:PQ3S:QQ3T:RQ3U:SQ3V:TQ3W.hQ3Z:YQ3[:cQ3a:UQ4S0OQ4[0`Q5m:dQ5s2[Q5x2bQ6U2vQ6V:eQ6[:gQ6]:nQ7T4oQ7r5kQ7v5tQ8P:oQ8T:tQ8U:uQ8z7xQ9Y8gQ9a8xQ9r#QR;U;bR#YWR'P!dY!sQ'U-R0y4tS&{!d,yQ'a!qS'k!t!wS'm!x4vS,v&|'TS-b'b'cQ-d'dQ2P-PR2_-cR(o#vR(r#wQ!eQT-Q'U-R]!pQ!q'U-R0y4tQ#n]R'_9qT#iZ%]S#hZ%]S%cm,]U([#f#g#jS-v(](^Q-z(_Q0Q*|Q2d-wU2e-x-y-{S5z2f2gR7y5{`#[W#U#X%`'x(R*y-qr#eZm#f#g#j%](](^(_*|-w-x-y-{2f2g5{Q1`,]Q1v,sQ5i1nQ7q5jT:|&}*zT#_W%`S#^W%`S'y#U(RS(O#X*yS,x&}*zT-l'x-qT'S!d%aQ$jfR)n$oT)c$j)dR3_.oT*S$w*UR*[$zQ0U+UQ2i.SQ4w0{Q6P2mQ7]4zQ7|6OQ8i7[Q8{7{Q9[8kQ9d8}Q9i9]R9l9elqOXs!Y#b%e&h&j&k&m,a,f1f1iQ&b!UR,U&_rmOXs!T!U!Y#b%e&_&h&j&k&m,a,f1f1iR,]&eT%dm,]R0u+uR,T&]Q%{{R+m%|R+c%vT&f!V&iT&g!V&iT1h,f1i",nodeNames:"⚠ ArithOp ArithOp LineComment BlockComment Script ExportDeclaration export Star as VariableName String Escape from ; default FunctionDeclaration async function VariableDefinition > TypeParamList TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression declare 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 using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody 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:366,context:sw,nodeProps:[["group",-26,6,14,16,62,199,203,207,208,210,213,216,226,228,234,236,238,240,243,249,255,257,259,261,263,265,266,"Statement",-32,10,11,25,28,29,35,45,48,49,51,56,64,72,76,78,80,81,103,104,113,114,131,134,136,137,138,139,141,142,162,163,165,"Expression",-23,24,26,30,34,36,38,166,168,170,171,173,174,175,177,178,179,181,182,183,193,195,197,198,"Type",-3,84,96,102,"ClassItem"],["openedBy",31,"InterpolationStart",50,"[",54,"{",69,"(",143,"JSXStartTag",155,"JSXStartTag JSXStartCloseTag"],["closedBy",33,"InterpolationEnd",44,"]",55,"}",70,")",144,"JSXSelfCloseEndTag JSXEndTag",160,"JSXEndTag"]],propSources:[hw],skippedNodes:[0,3,4,269],repeatNodeCount:33,tokenData:"$>y(CSR!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tu>PuvBavwDxwxGgxyMvyz! Qz{!![{|!%O|}!&]}!O!%O!O!P!'g!P!Q!1w!Q!R#0t!R![#3T![!]#@T!]!^#Aa!^!_#Bk!_!`#GS!`!a#In!a!b#N{!b!c$$z!c!}>P!}#O$&U#O#P$'`#P#Q$,w#Q#R$.R#R#S>P#S#T$/`#T#o$0j#o#p$4z#p#q$5p#q#r$7Q#r#s$8^#s$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$I|>P$I|$I}$<s$I}$JO$<s$JO$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(n%d_$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$d&j'xpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU'xpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z(CS+rq$d&j'xp'{!b'n(;dOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z(CS.ST'y#S$d&j'o(;dO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c(CS.n_$d&j'xp'{!b'o(;dOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#`/x`$d&j!l$Ip'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S1V`#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S2d_#q$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2b3l_'w$(n$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k*r4r_$d&j'{!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k)`5vX$d&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q)`6jT$_#t$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#t6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y#t7bO$_#t#t7eP;=`<%l6y)`7kP;=`<%l5q*r7w]$_#t$d&j'{!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}%W8uZ'{!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p%W9oU$_#t'{!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}%W:UP;=`<%l8p*r:[P;=`<%l4k#%|:hg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|<[i$d&j(b!L^'xp'{!bOY%ZYZ&cZr%Zrs&}st%Ztu<Puw%Zwx(rx!Q%Z!Q![<P![!^%Z!^!_*g!_!c%Z!c!}<P!}#O%Z#O#P&c#P#R%Z#R#S<P#S#T%Z#T#o<P#o#p*g#p$g%Z$g;'S<P;'S;=`=y<%lO<P#%|=|P;=`<%l<P(CS>`k$d&j'xp'{!b(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P+d@`k$d&j'xp'{!b$W#tOY%ZYZ&cZr%Zrs&}st%Ztu@Tuw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![@T![!^%Z!^!_*g!_!c%Z!c!}@T!}#O%Z#O#P&c#P#R%Z#R#S@T#S#T%Z#T#o@T#o#p*g#p$g%Z$g;'S@T;'S;=`BT<%lO@T+dBWP;=`<%l@T(CSB^P;=`<%l>P%#SBl`$d&j'xp'{!b#i$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SCy_$d&j#{$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%DfETa(k%<v$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sv%ZvwFYwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#SFe`$d&j#u$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$2bGp_'z$)`$d&j'xpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo*QHv_$d&j'xpOYHoYZIuZrHorsIuswHowxKVx!^Ho!^!_LX!_#OHo#O#PIu#P#oHo#o#pLX#p;'SHo;'S;=`Mp<%lOHo)`IzX$d&jOwIuwx6cx!^Iu!^!_Jg!_#oIu#o#pJg#p;'SIu;'S;=`KP<%lOIu#tJjTOwJgwx7]x;'SJg;'S;=`Jy<%lOJg#tJ|P;=`<%lJg)`KSP;=`<%lIu*QK`]$_#t$d&j'xpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(r$fL^Z'xpOYLXYZJgZrLXrsJgswLXwxMPx#OLX#O#PJg#P;'SLX;'S;=`Mj<%lOLX$fMWU$_#t'xpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)r$fMmP;=`<%lLX*QMsP;=`<%lHo(*QNR_!h(!b$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'l! ]_!gM|$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h!!ib$d&j'xp'{!b'v#)d#j$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rxz%Zz{!#q{!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S!#|`$d&j'xp'{!b#g$IdOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&-O!%Z`$d&j'xp'{!bk&%`OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&C[!&h_!V&;l$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!'rc$d&j'xp'{!by'<nOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!(}!P!Q%Z!Q![!+g![!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!)Wa$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!*]!P!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z!'d!*h_!UMt$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!+rg$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!+g![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S!+g#S#X%Z#X#Y!-Z#Y#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!-dg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx{%Z{|!.{|}%Z}!O!.{!O!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!/Uc$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l!0lc$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![!0a![!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S!0a#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS!2Sf$d&j'xp'{!b#h$IdOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}xz!3hz{#$s{!P!3h!P!Q#&Y!Q!^!3h!^!_!Mh!_!`#-x!`!a#/_!a!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(r!3sb$d&j'xp'{!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(Q!5U`$d&j'{!b!RSOY!4{YZ&cZw!4{wx!6Wx!P!4{!P!Q!=o!Q!^!4{!^!_!?g!_!}!4{!}#O!Bn#O#P!<w#P#o!4{#o#p!?g#p;'S!4{;'S;=`!Cw<%lO!4{&n!6_^$d&j!RSOY!6WYZ&cZ!P!6W!P!Q!7Z!Q!^!6W!^!_!8g!_!}!6W!}#O!;U#O#P!<w#P#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!7ba$d&j!RSO!^&c!_#Z&c#Z#[!7Z#[#]&c#]#^!7Z#^#a&c#a#b!7Z#b#g&c#g#h!7Z#h#i&c#i#j!7Z#j#m&c#m#n!7Z#n#o&c#p;'S&c;'S;=`&w<%lO&cS!8lX!RSOY!8gZ!P!8g!P!Q!9X!Q!}!8g!}#O!9p#O#P!:o#P;'S!8g;'S;=`!;O<%lO!8gS!9^U!RS#Z#[!9X#]#^!9X#a#b!9X#g#h!9X#i#j!9X#m#n!9XS!9sVOY!9pZ#O!9p#O#P!:Y#P#Q!8g#Q;'S!9p;'S;=`!:i<%lO!9pS!:]SOY!9pZ;'S!9p;'S;=`!:i<%lO!9pS!:lP;=`<%l!9pS!:rSOY!8gZ;'S!8g;'S;=`!;O<%lO!8gS!;RP;=`<%l!8g&n!;Z[$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#O!;U#O#P!<P#P#Q!6W#Q#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<UX$d&jOY!;UYZ&cZ!^!;U!^!_!9p!_#o!;U#o#p!9p#p;'S!;U;'S;=`!<q<%lO!;U&n!<tP;=`<%l!;U&n!<|X$d&jOY!6WYZ&cZ!^!6W!^!_!8g!_#o!6W#o#p!8g#p;'S!6W;'S;=`!=i<%lO!6W&n!=lP;=`<%l!6W(Q!=xi$d&j'{!b!RSOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#Z&}#Z#[!=o#[#]&}#]#^!=o#^#a&}#a#b!=o#b#g&}#g#h!=o#h#i&}#i#j!=o#j#m&}#m#n!=o#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!f!?nZ'{!b!RSOY!?gZw!?gwx!8gx!P!?g!P!Q!@a!Q!}!?g!}#O!Ap#O#P!:o#P;'S!?g;'S;=`!Bh<%lO!?g!f!@hb'{!b!RSOY'}Zw'}x#O'}#P#Z'}#Z#[!@a#[#]'}#]#^!@a#^#a'}#a#b!@a#b#g'}#g#h!@a#h#i'}#i#j!@a#j#m'}#m#n!@a#n;'S'};'S;=`(f<%lO'}!f!AuX'{!bOY!ApZw!Apwx!9px#O!Ap#O#P!:Y#P#Q!?g#Q;'S!Ap;'S;=`!Bb<%lO!Ap!f!BeP;=`<%l!Ap!f!BkP;=`<%l!?g(Q!Bu^$d&j'{!bOY!BnYZ&cZw!Bnwx!;Ux!^!Bn!^!_!Ap!_#O!Bn#O#P!<P#P#Q!4{#Q#o!Bn#o#p!Ap#p;'S!Bn;'S;=`!Cq<%lO!Bn(Q!CtP;=`<%l!Bn(Q!CzP;=`<%l!4{'`!DW`$d&j'xp!RSOY!C}YZ&cZr!C}rs!6Ws!P!C}!P!Q!EY!Q!^!C}!^!_!GQ!_!}!C}!}#O!JX#O#P!<w#P#o!C}#o#p!GQ#p;'S!C};'S;=`!Kb<%lO!C}'`!Eci$d&j'xp!RSOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#Z(r#Z#[!EY#[#](r#]#^!EY#^#a(r#a#b!EY#b#g(r#g#h!EY#h#i(r#i#j!EY#j#m(r#m#n!EY#n#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rt!GXZ'xp!RSOY!GQZr!GQrs!8gs!P!GQ!P!Q!Gz!Q!}!GQ!}#O!IZ#O#P!:o#P;'S!GQ;'S;=`!JR<%lO!GQt!HRb'xp!RSOY)rZr)rs#O)r#P#Z)r#Z#[!Gz#[#])r#]#^!Gz#^#a)r#a#b!Gz#b#g)r#g#h!Gz#h#i)r#i#j!Gz#j#m)r#m#n!Gz#n;'S)r;'S;=`*Z<%lO)rt!I`X'xpOY!IZZr!IZrs!9ps#O!IZ#O#P!:Y#P#Q!GQ#Q;'S!IZ;'S;=`!I{<%lO!IZt!JOP;=`<%l!IZt!JUP;=`<%l!GQ'`!J`^$d&j'xpOY!JXYZ&cZr!JXrs!;Us!^!JX!^!_!IZ!_#O!JX#O#P!<P#P#Q!C}#Q#o!JX#o#p!IZ#p;'S!JX;'S;=`!K[<%lO!JX'`!K_P;=`<%l!JX'`!KeP;=`<%l!C}(r!Ksk$d&j'xp'{!b!RSOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#Z%Z#Z#[!Kh#[#]%Z#]#^!Kh#^#a%Z#a#b!Kh#b#g%Z#g#h!Kh#h#i%Z#i#j!Kh#j#m%Z#m#n!Kh#n#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#W!Mq]'xp'{!b!RSOY!MhZr!Mhrs!?gsw!Mhwx!GQx!P!Mh!P!Q!Nj!Q!}!Mh!}#O#!U#O#P!:o#P;'S!Mh;'S;=`##U<%lO!Mh#W!Nse'xp'{!b!RSOY*gZr*grs'}sw*gwx)rx#O*g#P#Z*g#Z#[!Nj#[#]*g#]#^!Nj#^#a*g#a#b!Nj#b#g*g#g#h!Nj#h#i*g#i#j!Nj#j#m*g#m#n!Nj#n;'S*g;'S;=`+Z<%lO*g#W#!]Z'xp'{!bOY#!UZr#!Urs!Apsw#!Uwx!IZx#O#!U#O#P!:Y#P#Q!Mh#Q;'S#!U;'S;=`##O<%lO#!U#W##RP;=`<%l#!U#W##XP;=`<%l!Mh(r##e`$d&j'xp'{!bOY##[YZ&cZr##[rs!Bnsw##[wx!JXx!^##[!^!_#!U!_#O##[#O#P!<P#P#Q!3h#Q#o##[#o#p#!U#p;'S##[;'S;=`#$g<%lO##[(r#$jP;=`<%l##[(r#$pP;=`<%l!3h(CS#%Qb$d&j'xp'{!b'p(;d!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h(CS#&e_$d&j'xp'{!bR(;dOY#&YYZ&cZr#&Yrs#'dsw#&Ywx#*tx!^#&Y!^!_#,s!_#O#&Y#O#P#(f#P#o#&Y#o#p#,s#p;'S#&Y;'S;=`#-r<%lO#&Y(Bb#'m]$d&j'{!bR(;dOY#'dYZ&cZw#'dwx#(fx!^#'d!^!_#)w!_#O#'d#O#P#(f#P#o#'d#o#p#)w#p;'S#'d;'S;=`#*n<%lO#'d(AO#(mX$d&jR(;dOY#(fYZ&cZ!^#(f!^!_#)Y!_#o#(f#o#p#)Y#p;'S#(f;'S;=`#)q<%lO#(f(;d#)_SR(;dOY#)YZ;'S#)Y;'S;=`#)k<%lO#)Y(;d#)nP;=`<%l#)Y(AO#)tP;=`<%l#(f(<v#*OW'{!bR(;dOY#)wZw#)wwx#)Yx#O#)w#O#P#)Y#P;'S#)w;'S;=`#*h<%lO#)w(<v#*kP;=`<%l#)w(Bb#*qP;=`<%l#'d(Ap#*}]$d&j'xpR(;dOY#*tYZ&cZr#*trs#(fs!^#*t!^!_#+v!_#O#*t#O#P#(f#P#o#*t#o#p#+v#p;'S#*t;'S;=`#,m<%lO#*t(<U#+}W'xpR(;dOY#+vZr#+vrs#)Ys#O#+v#O#P#)Y#P;'S#+v;'S;=`#,g<%lO#+v(<U#,jP;=`<%l#+v(Ap#,pP;=`<%l#*t(=h#,|Y'xp'{!bR(;dOY#,sZr#,srs#)wsw#,swx#+vx#O#,s#O#P#)Y#P;'S#,s;'S;=`#-l<%lO#,s(=h#-oP;=`<%l#,s(CS#-uP;=`<%l#&Y%#W#.Vb$d&j#{$Id'xp'{!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h+h#/lb$T#t$d&j'xp'{!b!RSOY!3hYZ&cZr!3hrs!4{sw!3hwx!C}x!P!3h!P!Q!Kh!Q!^!3h!^!_!Mh!_!}!3h!}#O##[#O#P!<w#P#o!3h#o#p!Mh#p;'S!3h;'S;=`#$m<%lO!3h$/l#1Pp$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#U%Z#U#V#6_#V#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#d#9g#d#l%Z#l#m#<i#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#3`k$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P!+g!P!Q%Z!Q![#3T![!^%Z!^!_*g!_!g%Z!g!h!-Z!h#O%Z#O#P&c#P#R%Z#R#S#3T#S#X%Z#X#Y!-Z#Y#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#5`_$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#6hd$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#8Rf$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#7v!R!S#7v!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#7v#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#9pc$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#;We$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#:{!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#:{#S#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#<rg$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z$/l#>fi$d&j'xp'{!bl$'|OY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#>Z![!^%Z!^!_*g!_!c%Z!c!i#>Z!i#O%Z#O#P&c#P#R%Z#R#S#>Z#S#T%Z#T#Z#>Z#Z#b%Z#b#c#5T#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#@b_!a$b$d&j#y%<f'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Al_^l$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS#Bz^(O!*v!e'.r'xp'{!b$U)d(oSOY*gZr*grs'}sw*gwx)rx!P*g!P!Q#Cv!Q!^*g!^!_#Dl!_!`#F^!`#O*g#P;'S*g;'S;=`+Z<%lO*g(n#DPX$f&j'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#DuZ#k$Id'xp'{!bOY*gZr*grs'}sw*gwx)rx!_*g!_!`#Eh!`#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#EqX#{$Id'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g$Kh#FgX#l$Id'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Gh#G_a#X%?x$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`!a#Hd!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#W#Ho_#d$Ih$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%Gh#I}adBf#l$Id$a#|$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`#KS!`!a#L^!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#K__#l$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#Lia#k$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`!a#Mn!a#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S#My`#k$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+h$ Wc(c$Ip$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!O%Z!O!P$!c!P!^%Z!^!_*g!_!a%Z!a!b$#m!b#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'+`$!n_z'#p$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$#x`$d&j#v$Id'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z#&^$%V_!x!Ln$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(@^$&a_|(8n$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(n$'eZ$d&jO!^$(W!^!_$(n!_#i$(W#i#j$(s#j#l$(W#l#m$*f#m#o$(W#o#p$(n#p;'S$(W;'S;=`$,q<%lO$(W(n$(_T[#S$d&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c#S$(sO[#S(n$(x[$d&jO!Q&c!Q![$)n![!^&c!_!c&c!c!i$)n!i#T&c#T#Z$)n#Z#o&c#o#p$,U#p;'S&c;'S;=`&w<%lO&c(n$)sZ$d&jO!Q&c!Q![$*f![!^&c!_!c&c!c!i$*f!i#T&c#T#Z$*f#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$*kZ$d&jO!Q&c!Q![$+^![!^&c!_!c&c!c!i$+^!i#T&c#T#Z$+^#Z#o&c#p;'S&c;'S;=`&w<%lO&c(n$+cZ$d&jO!Q&c!Q![$(W![!^&c!_!c&c!c!i$(W!i#T&c#T#Z$(W#Z#o&c#p;'S&c;'S;=`&w<%lO&c#S$,XR!Q![$,b!c!i$,b#T#Z$,b#S$,eS!Q![$,b!c!i$,b#T#Z$,b#q#r$(n(n$,tP;=`<%l$(W!'l$-S_!SM|$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z%#S$.^`#s$Id$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&,v$/k_$d&j'xp'{!b(S&%WOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$0yk$d&j'xp'{!b(V!LY'u&;d$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$0juw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$0j![!^%Z!^!_*g!_!c%Z!c!}$0j!}#O%Z#O#P&c#P#R%Z#R#S$0j#S#T%Z#T#o$0j#o#p*g#p$g%Z$g;'S$0j;'S;=`$4t<%lO$0j+d$2yk$d&j'xp'{!b$Y#tOY%ZYZ&cZr%Zrs&}st%Ztu$2nuw%Zwx(rx}%Z}!O$2n!O!Q%Z!Q![$2n![!^%Z!^!_*g!_!c%Z!c!}$2n!}#O%Z#O#P&c#P#R%Z#R#S$2n#S#T%Z#T#o$2n#o#p*g#p$g%Z$g;'S$2n;'S;=`$4n<%lO$2n+d$4qP;=`<%l$2n(CS$4wP;=`<%l$0j!5p$5TX!X!3l'xp'{!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g%Df$5{a(j%<v$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`Cn!`#O%Z#O#P&c#P#o%Z#o#p*g#p#q$#m#q;'S%Z;'S;=`+a<%lO%Z%#`$7__!W$I`o`$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(r$8i_!mS$d&j'xp'{!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(CS$9y|$d&j'xp'{!b'n(;d(V!LY'u&;d$W#tOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$f%Z$f$g+g$g#BY>P#BY#BZ$9h#BZ$IS>P$IS$I_$9h$I_$JT>P$JT$JU$9h$JU$KV>P$KV$KW$9h$KW&FU>P&FU&FV$9h&FV;'S>P;'S;=`BZ<%l?HT>P?HT?HU$9h?HUO>P(CS$=Uk$d&j'xp'{!b'o(;d(V!LY'u&;d$W#tOY%ZYZ&cZr%Zrs&}st%Ztu>Puw%Zwx(rx}%Z}!O@T!O!Q%Z!Q![>P![!^%Z!^!_*g!_!c%Z!c!}>P!}#O%Z#O#P&c#P#R%Z#R#S>P#S#T%Z#T#o>P#o#p*g#p$g%Z$g;'S>P;'S;=`BZ<%lO>P",tokenizers:[aw,lw,2,3,4,5,6,7,8,9,10,11,12,13,ow,new Zl("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOq~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!O~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(U~~",141,327),new Zl("j~RQYZXz{^~^O'r~~aP!P!Qd~iO's~~",25,309)],topRules:{Script:[0,5],SingleExpression:[1,267],SingleClassItem:[2,268]},dialects:{jsx:12810,ts:12812},dynamicPrecedences:{76:1,78:1,163:1,191:1},specialized:[{term:313,get:e=>cw[e]||-1},{term:329,get:e=>uw[e]||-1},{term:67,get:e=>fw[e]||-1}],tokenPrec:12836}),pw=[Jm("function ${name}(${params}) {\n\t${}\n}",{label:"function",detail:"definition",type:"keyword"}),Jm("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n\t${}\n}",{label:"for",detail:"loop",type:"keyword"}),Jm("for (let ${name} of ${collection}) {\n\t${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Jm("do {\n\t${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Jm("while (${}) {\n\t${}\n}",{label:"while",detail:"loop",type:"keyword"}),Jm("try {\n\t${}\n} catch (${error}) {\n\t${}\n}",{label:"try",detail:"/ catch block",type:"keyword"}),Jm("if (${}) {\n\t${}\n}",{label:"if",detail:"block",type:"keyword"}),Jm("if (${}) {\n\t${}\n} else {\n\t${}\n}",{label:"if",detail:"/ else block",type:"keyword"}),Jm("class ${name} {\n\tconstructor(${params}) {\n\t\t${}\n\t}\n}",{label:"class",detail:"definition",type:"keyword"}),Jm('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Jm('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],Ow=new rl,mw=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function gw(e){return(t,n)=>{let i=t.node.getChild("VariableDefinition");return i&&n(i,e),!0}}const Sw=["FunctionDeclaration"],bw={FunctionDeclaration:gw("function"),ClassDeclaration:gw("class"),ClassExpression:()=>!0,EnumDeclaration:gw("constant"),TypeAliasDeclaration:gw("type"),NamespaceDeclaration:gw("namespace"),VariableDefinition(e,t){e.matchContext(Sw)||t(e,"variable")},TypeDefinition(e,t){t(e,"type")},__proto__:null};function xw(e,t){let n=Ow.get(t);if(n)return n;let i=[],r=!0;function s(t,n){let r=e.sliceString(t.from,t.to);i.push({label:r,type:n})}return t.cursor(za.IncludeAnonymous).iterate(t=>{if(r)r=!1;else if(t.name){let e=bw[t.name];if(e&&e(t,s)||mw.has(t.name))return!1}else if(t.to-t.from>8192){for(let n of xw(e,t.node))i.push(n);return!1}}),Ow.set(t,i),i}const yw=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,ww=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName",".","?."];function vw(e){let t=oc(e.state).resolveInner(e.pos,-1);if(ww.indexOf(t.name)>-1)return null;let n="VariableName"==t.name||t.to-t.from<20&&yw.test(e.state.sliceDoc(t.from,t.to));if(!n&&!e.explicit)return null;let i=[];for(let n=t;n;n=n.parent)mw.has(n.name)&&(i=i.concat(xw(e.state.doc,n)));return{options:i,from:n?t.from:e.pos,validFor:yw}}const kw=sc.define({name:"javascript",parser:dw.configure({props:[kc.add({IfStatement:Yc({except:/^\s*({|else\b)/}),TryStatement:Yc({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:Mc,SwitchBody:e=>{let t=e.textAfter,n=/^\s*\}/.test(t),i=/^\s*(case|default)\b/.test(t);return e.baseIndent+(n?0:i?1:2)*e.unit},Block:Rc({closing:"}"}),ArrowFunction:e=>e.baseIndent+e.unit,"TemplateString BlockComment":()=>null,"Statement Property":Yc({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}),zc.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Uc,BlockComment:e=>({from:e.from+2,to:e.to-2})})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Qw={test:e=>/^JSX/.test(e.name),facet:tc({commentTokens:{block:{open:"{/*",close:"*/}"}}})},$w=kw.configure({dialect:"ts"},"typescript"),Pw=kw.configure({dialect:"jsx",props:[nc.add(e=>e.isTop?[Qw]:void 0)]}),Cw=kw.configure({dialect:"jsx ts",props:[nc.add(e=>e.isTop?[Qw]:void 0)]},"typescript"),Xw="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 Tw(e={}){let t=e.jsx?e.typescript?Cw:Pw:e.typescript?$w:kw;return new mc(t,[kw.data.of({autocomplete:jO(ww,IO(pw.concat(Xw)))}),kw.data.of({autocomplete:vw}),e.jsx?Mw:[]])}function Zw(e){for(;;){if("JSXOpenTag"==e.name||"JSXSelfClosingTag"==e.name||"JSXFragmentTag"==e.name)return e;if("JSXEscape"==e.name||!e.parent)return null;e=e.parent}}function Aw(e,t,n=e.length){for(let i=null==t?void 0:t.firstChild;i;i=i.nextSibling)if("JSXIdentifier"==i.name||"JSXBuiltin"==i.name||"JSXNamespacedName"==i.name||"JSXMemberExpression"==i.name)return e.sliceString(i.from,Math.min(i.to,n));return""}function Rw(e){return e&&("JSXEndTag"==e.name||"JSXSelfCloseEndTag"==e.name)}const Vw="object"==typeof navigator&&/Android\b/.test(navigator.userAgent),Mw=xs.inputHandler.of((e,t,n,i)=>{if((Vw?e.composing:e.compositionStarted)||e.state.readOnly||t!=n||">"!=i&&"/"!=i||!kw.isActiveAt(e.state,t,-1))return!1;let{state:r}=e,s=r.changeByRange(e=>{var t;let n,{head:s}=e,o=oc(r).resolveInner(s,-1);if("JSXStartTag"==o.name&&(o=o.parent),"JSXAttributeValue"==o.name&&o.to>s);else{if(">"==i&&"JSXFragmentTag"==o.name)return{range:R.cursor(s+1),changes:{from:s,insert:"></>"}};if("/"==i&&"JSXFragmentTag"==o.name){let e=o.parent,i=null==e?void 0:e.parent;if(e.from==s-1&&"JSXEndTag"!=(null===(t=i.lastChild)||void 0===t?void 0:t.name)&&(n=Aw(r.doc,null==i?void 0:i.firstChild,s))){let e=`/${n}>`;return{range:R.cursor(s+e.length),changes:{from:s,insert:e}}}}else if(">"==i){let e=Zw(o);if(e&&!Rw(e.lastChild)&&"</"!=r.sliceDoc(s,s+2)&&(n=Aw(r.doc,e,s)))return{range:R.cursor(s+1),changes:{from:s,insert:`></${n}>`}}}}return{range:e}});return!s.changes.empty&&(e.dispatch(s,{userEvent:"input.type",scrollIntoView:!0}),!0)}),Yw=["_blank","_self","_top","_parent"],_w=["ascii","utf-8","utf-16","latin1","latin1"],Ww=["get","post","put","delete"],Ew=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],zw=["true","false"],Uw={},qw={a:{attrs:{href:null,ping:null,type:null,media:null,target:Yw,hreflang:null}},abbr:Uw,address:Uw,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Uw,aside:Uw,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Uw,base:{attrs:{href:null,target:Yw}},bdi:Uw,bdo:Uw,blockquote:{attrs:{cite:null}},body:Uw,br:Uw,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ew,formmethod:Ww,formnovalidate:["novalidate"],formtarget:Yw,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Uw,center:Uw,cite:Uw,code:Uw,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:Uw,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Uw,div:Uw,dl:Uw,dt:Uw,em:Uw,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Uw,figure:Uw,footer:Uw,form:{attrs:{action:null,name:null,"accept-charset":_w,autocomplete:["on","off"],enctype:Ew,method:Ww,novalidate:["novalidate"],target:Yw}},h1:Uw,h2:Uw,h3:Uw,h4:Uw,h5:Uw,h6:Uw,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Uw,hgroup:Uw,hr:Uw,html:{attrs:{manifest:null}},i:Uw,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:Ew,formmethod:Ww,formnovalidate:["novalidate"],formtarget:Yw,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:Uw,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Uw,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:Uw,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:_w,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:Uw,noscript:Uw,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:Uw,param:{attrs:{name:null,value:null}},pre:Uw,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Uw,rt:Uw,ruby:Uw,samp:Uw,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:_w}},section:Uw,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Uw,source:{attrs:{src:null,type:null,media:null}},span:Uw,strong:Uw,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Uw,summary:Uw,sup:Uw,table:Uw,tbody:Uw,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Uw,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:Uw,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Uw,time:{attrs:{datetime:null}},title:Uw,tr:Uw,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Uw,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:Uw},Dw={accesskey:null,class:null,contenteditable:zw,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:zw,autocorrect:zw,autocapitalize:zw,style:null,tabindex:null,title:null,translate:["yes","no"],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":zw,"aria-autocomplete":["inline","list","both","none"],"aria-busy":zw,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":zw,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":zw,"aria-hidden":zw,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":zw,"aria-multiselectable":zw,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":zw,"aria-relevant":null,"aria-required":zw,"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},Iw="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=>"on"+e);for(let e of Iw)Dw[e]=null;class jw{constructor(e,t){this.tags=Object.assign(Object.assign({},qw),e),this.globalAttrs=Object.assign(Object.assign({},Dw),t),this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}function Bw(e,t,n=e.length){if(!t)return"";let i=t.firstChild,r=i&&i.getChild("TagName");return r?e.sliceString(r.from,Math.min(r.to,n)):""}function Lw(e,t=!1){for(;e;e=e.parent)if("Element"==e.name){if(!t)return e;t=!1}return null}function Nw(e,t,n){let i=n.tags[Bw(e,Lw(t))];return(null==i?void 0:i.children)||n.allTags}function Gw(e,t){let n=[];for(let i=Lw(t);i&&!i.type.isTop;i=Lw(i.parent)){let r=Bw(e,i);if(r&&"CloseTag"==i.lastChild.name)break;r&&n.indexOf(r)<0&&("EndTag"==t.name||t.from>=i.firstChild.to)&&n.push(r)}return n}jw.default=new jw;const Fw=/^[:\-\.\w\u00b7-\uffff]*$/;function Hw(e,t,n,i,r){let s=/\s*>/.test(e.sliceDoc(r,r+5))?"":">",o=Lw(n,!0);return{from:i,to:r,options:Nw(e.doc,o,t).map(e=>({label:e,type:"type"})).concat(Gw(e.doc,n).map((e,t)=>({label:"/"+e,apply:"/"+e+s,type:"type",boost:99-t}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function Jw(e,t,n,i){let r=/\s*>/.test(e.sliceDoc(i,i+5))?"":">";return{from:n,to:i,options:Gw(e.doc,t).map((e,t)=>({label:e,apply:e+r,type:"type",boost:99-t})),validFor:Fw}}function Kw(e,t,n,i){let r=[],s=0;for(let i of Nw(e.doc,n,t))r.push({label:"<"+i,type:"type"});for(let t of Gw(e.doc,n))r.push({label:"</"+t+">",type:"type",boost:99-s++});return{from:i,to:i,options:r,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function ev(e,t,n,i,r){let s=Lw(n),o=s?t.tags[Bw(e.doc,s)]:null,a=o&&o.attrs?Object.keys(o.attrs):[];return{from:i,to:r,options:(o&&!1===o.globalAttrs?a:a.length?a.concat(t.globalAttrNames):t.globalAttrNames).map(e=>({label:e,type:"property"})),validFor:Fw}}function tv(e,t,n,i,r){var s;let o=null===(s=n.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 i=Lw(n),r=i?t.tags[Bw(e.doc,i)]:null;h=(null==r?void 0:r.attrs)&&r.attrs[s]}if(h){let t=e.sliceDoc(i,r).toLowerCase(),n='"',s='"';/^['"]/.test(t)?(l='"'==t[0]?/^[^"]*$/:/^[^']*$/,n="",s=e.sliceDoc(r,r+1)==t[0]?"":t[0],t=t.slice(1),i++):l=/^[^\s<>='"]*$/;for(let e of h)a.push({label:e,apply:n+e+s,type:"constant"})}}return{from:i,to:r,options:a,validFor:l}}function nv(e,t){let{state:n,pos:i}=t,r=oc(n).resolveInner(i,-1),s=r.resolve(i);for(let e,t=i;s==r&&(e=r.childBefore(t));){let n=e.lastChild;if(!n||!n.type.isError||n.from<n.to)break;s=r=e,t=n.from}return"TagName"==r.name?r.parent&&/CloseTag$/.test(r.parent.name)?Jw(n,r,r.from,i):Hw(n,e,r,r.from,i):"StartTag"==r.name?Hw(n,e,r,i,i):"StartCloseTag"==r.name||"IncompleteCloseTag"==r.name?Jw(n,r,i,i):t.explicit&&("OpenTag"==r.name||"SelfClosingTag"==r.name)||"AttributeName"==r.name?ev(n,e,r,"AttributeName"==r.name?r.from:i,i):"Is"==r.name||"AttributeValue"==r.name||"UnquotedAttributeValue"==r.name?tv(n,e,r,"Is"==r.name?i:r.from,i):!t.explicit||"Element"!=s.name&&"Text"!=s.name&&"Document"!=s.name?null:Kw(n,e,r,i)}function iv(e){return nv(jw.default,e)}function rv(e){let{extraTags:t,extraGlobalAttributes:n}=e,i=n||t?new jw(t,n):jw.default;return e=>nv(i,e)}const sv=[{tag:"script",attrs:e=>"text/typescript"==e.type||"ts"==e.lang,parser:$w.parser},{tag:"script",attrs:e=>"text/babel"==e.type||"text/jsx"==e.type,parser:Pw.parser},{tag:"script",attrs:e=>"text/typescript-jsx"==e.type,parser:Cw.parser},{tag:"script",attrs:e=>!e.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(e.type),parser:kw.parser},{tag:"style",attrs:e=>(!e.lang||"css"==e.lang)&&(!e.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(e.type)),parser:kx.parser}],ov=[{name:"style",parser:kx.parser.configure({top:"Styles"})}].concat(Iw.map(e=>({name:e,parser:kw.parser}))),av=sc.define({name:"html",parser:Ey.configure({props:[kc.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,n=null;for(let t=e.node;;){let e=t.lastChild;if(!e||"Element"!=e.name||e.to!=t.to)break;n=t=e}return n&&(!(t=n.lastChild)||"CloseTag"!=t.name&&"SelfClosingTag"!=t.name)?e.lineIndent(n.from)+e.unit:null}}),zc.add({Element(e){let t=e.firstChild,n=e.lastChild;return t&&"OpenTag"==t.name?{from:t.to,to:"CloseTag"==n.name?n.from:e.to}:null}}),$u.add({"OpenTag CloseTag":e=>e.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-._"}}),lv=av.configure({wrap:Dy(sv,ov)});function hv(e={}){let t,n="";!1===e.matchClosingTags&&(n="noMatch"),!0===e.selfClosingTags&&(n=(n?n+" ":"")+"selfClosing"),(e.nestedLanguages&&e.nestedLanguages.length||e.nestedAttributes&&e.nestedAttributes.length)&&(t=Dy((e.nestedLanguages||[]).concat(sv),(e.nestedAttributes||[]).concat(ov)));let i=t?av.configure({wrap:t,dialect:n}):n?lv.configure({dialect:n}):lv;return new mc(i,[lv.data.of({autocomplete:rv(e)}),!1!==e.autoCloseTags?uv:[],Tw().support,Qx().support])}const cv=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),uv=xs.inputHandler.of((e,t,n,i)=>{if(e.composing||e.state.readOnly||t!=n||">"!=i&&"/"!=i||!lv.isActiveAt(e.state,t,-1))return!1;let{state:r}=e,s=r.changeByRange(t=>{var n,s,o;let a,{head:l}=t,h=oc(r).resolveInner(l,-1);if("TagName"!=h.name&&"StartTag"!=h.name||(h=h.parent),">"==i&&"OpenTag"==h.name){if("CloseTag"!=(null===(s=null===(n=h.parent)||void 0===n?void 0:n.lastChild)||void 0===s?void 0:s.name)&&(a=Bw(r.doc,h.parent,l))&&!cv.has(a)){let t=">"===e.state.doc.sliceString(l,l+1),n=`${t?"":">"}</${a}>`;return{range:R.cursor(l+1),changes:{from:l+(t?1:0),insert:n}}}}else if("/"==i&&"OpenTag"==h.name){let t=h.parent,n=null==t?void 0:t.parent;if(t.from==l-1&&"CloseTag"!=(null===(o=n.lastChild)||void 0===o?void 0:o.name)&&(a=Bw(r.doc,n,l))&&!cv.has(a)){let t=">"===e.state.doc.sliceString(l,l+1),n=`/${a}${t?"":">"}`,i=l+n.length+(t?1:0);return{range:R.cursor(i),changes:{from:l,insert:n}}}}return{range:t}});return!s.changes.empty&&(e.dispatch(s,{userEvent:"input.type",scrollIntoView:!0}),!0)});var fv,dv=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class pv extends QS{constructor(e,t=[]){super(e,t,ZS)}getExtensions(e){return dv(this,null,(function*(){return[hv({selfClosingTags:!1}),TS()]}))}serialize(){return this.editor.content}}class Ov{static create(e,t,n,i,r){return new Ov(e,t,n,i+(i<<8)+e+(t<<4)|0,r,[],[])}constructor(e,t,n,i,r,s,o){this.type=e,this.value=t,this.from=n,this.hash=i,this.end=r,this.children=s,this.positions=o,this.hashProp=[[Ra.contextHash,i]]}addChild(e,t){e.prop(Ra.contextHash)!=this.hash&&(e=new Ua(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(t)}toTree(e,t=this.end){let n=this.children.length-1;return n>=0&&(t=Math.max(t,this.positions[n]+this.children[n].length+this.from)),new Ua(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,n)=>new Ua(Ya.none,e,t,n,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"}(fv||(fv={}));class mv{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class gv{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 yv(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,n=0){for(let i=t;i<e;i++)n+=9==this.text.charCodeAt(i)?4-n%4:1;return n}findColumn(e){let t=0;for(let n=0;t<this.text.length&&n<e;t++)n+=9==this.text.charCodeAt(t)?4-n%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 Sv(e,t,n){if(n.pos==n.text.length||e!=t.block&&n.indent>=t.stack[n.depth+1].value+n.baseIndent)return!0;if(n.indent>=n.baseIndent+4)return!1;let i=(e.type==fv.OrderedList?Cv:Pv)(n,t,!1);return i>0&&(e.type!=fv.BulletList||Qv(n,t,!1)<0)&&n.text.charCodeAt(n.pos+i-1)==e.value}const bv={[fv.Blockquote]:(e,t,n)=>62==n.next&&(n.markers.push(nk(fv.QuoteMark,t.lineStart+n.pos,t.lineStart+n.pos+1)),n.moveBase(n.pos+(xv(n.text.charCodeAt(n.pos+1))?2:1)),e.end=t.lineStart+n.text.length,!0),[fv.ListItem]:(e,t,n)=>!(n.indent<n.baseIndent+e.value&&n.next>-1)&&(n.moveBaseColumn(n.baseIndent+e.value),!0),[fv.OrderedList]:Sv,[fv.BulletList]:Sv,[fv.Document]:()=>!0};function xv(e){return 32==e||9==e||10==e||13==e}function yv(e,t=0){for(;t<e.length&&xv(e.charCodeAt(t));)t++;return t}function wv(e,t,n){for(;t>n&&xv(e.charCodeAt(t-1));)t--;return t}function vv(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 n=t;n<e.text.length;n++)if(96==e.text.charCodeAt(n))return-1;return t}function kv(e){return 62!=e.next?-1:32==e.text.charCodeAt(e.pos+1)?2:1}function Qv(e,t,n){if(42!=e.next&&45!=e.next&&95!=e.next)return-1;let i=1;for(let t=e.pos+1;t<e.text.length;t++){let n=e.text.charCodeAt(t);if(n==e.next)i++;else if(!xv(n))return-1}return n&&45==e.next&&Tv(e)>-1&&e.depth==t.stack.length||i<3?-1:1}function $v(e,t){for(let n=e.stack.length-1;n>=0;n--)if(e.stack[n].type==t)return!0;return!1}function Pv(e,t,n){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!xv(e.text.charCodeAt(e.pos+1))||!(!n||$v(t,fv.BulletList)||e.skipSpace(e.pos+2)<e.text.length)?-1:1}function Cv(e,t,n){let i=e.pos,r=e.next;for(;r>=48&&r<=57;){if(i++,i==e.text.length)return-1;r=e.text.charCodeAt(i)}return i==e.pos||i>e.pos+9||46!=r&&41!=r||i<e.text.length-1&&!xv(e.text.charCodeAt(i+1))||n&&!$v(t,fv.OrderedList)&&(e.skipSpace(i+1)==e.text.length||i>e.pos+1||49!=e.next)?-1:i+1-e.pos}function Xv(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 n=t-e.pos;return n>6?-1:n}function Tv(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 n=t;for(;t<e.text.length&&xv(e.text.charCodeAt(t));)t++;return t==e.text.length?n:-1}const Zv=/^[ \t]*$/,Av=/-->/,Rv=/\?>/,Vv=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*<!--/,Av],[/^\s*<\?/,Rv],[/^\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,Zv],[/^\s*(?:<\/[a-z][\w-]*\s*>|<[a-z][\w-]*(\s+[a-z:_][\w-.]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*>)\s*$/i,Zv]];function Mv(e,t,n){if(60!=e.next)return-1;let i=e.text.slice(e.pos);for(let e=0,t=Vv.length-(n?1:0);e<t;e++)if(Vv[e][0].test(i))return e;return-1}function Yv(e,t){let n=e.countIndent(t,e.pos,e.indent),i=e.countIndent(e.skipSpace(t),t,n);return i>=n+5?n+1:i}function _v(e,t,n){let i=e.length-1;i>=0&&e[i].to==t&&e[i].type==fv.CodeText?e[i].to=n:e.push(nk(fv.CodeText,t,n))}const Wv={LinkReference:void 0,IndentedCode(e,t){let n=t.baseIndent+4;if(t.indent<n)return!1;let i=t.findColumn(n),r=e.lineStart+i,s=e.lineStart+t.text.length,o=[],a=[];for(_v(o,r,s);e.nextLine()&&t.depth>=e.stack.length;)if(t.pos==t.text.length){_v(a,e.lineStart-1,e.lineStart);for(let e of t.markers)a.push(e)}else{if(t.indent<n)break;{if(a.length){for(let e of a)e.type==fv.CodeText?_v(o,e.from,e.to):o.push(e);a=[]}_v(o,e.lineStart-1,e.lineStart);for(let e of t.markers)o.push(e);s=e.lineStart+t.text.length;let n=e.lineStart+t.findColumn(t.baseIndent+4);n<s&&_v(o,n,s)}}return a.length&&(a=a.filter(e=>e.type!=fv.CodeText),a.length&&(t.markers=a.concat(t.markers))),e.addNode(e.buffer.writeElements(o,-r).finish(fv.CodeBlock,s-r),r),!0},FencedCode(e,t){let n=vv(t);if(n<0)return!1;let i=e.lineStart+t.pos,r=t.next,s=n-t.pos,o=t.skipSpace(n),a=wv(t.text,t.text.length,o),l=[nk(fv.CodeMark,i,i+s)];o<a&&l.push(nk(fv.CodeInfo,e.lineStart+o,e.lineStart+a));for(let n=!0;e.nextLine()&&t.depth>=e.stack.length;n=!1){let i=t.pos;if(t.indent-t.baseIndent<4)for(;i<t.text.length&&t.text.charCodeAt(i)==r;)i++;if(i-t.pos>=s&&t.skipSpace(i)==t.text.length){for(let e of t.markers)l.push(e);l.push(nk(fv.CodeMark,e.lineStart+t.pos,e.lineStart+i)),e.nextLine();break}{n||_v(l,e.lineStart-1,e.lineStart);for(let e of t.markers)l.push(e);let i=e.lineStart+t.basePos,r=e.lineStart+t.text.length;i<r&&_v(l,i,r)}}return e.addNode(e.buffer.writeElements(l,-i).finish(fv.FencedCode,e.prevLineEnd()-i),i),!0},Blockquote(e,t){let n=kv(t);return!(n<0)&&(e.startContext(fv.Blockquote,t.pos),e.addNode(fv.QuoteMark,e.lineStart+t.pos,e.lineStart+t.pos+1),t.moveBase(t.pos+n),null)},HorizontalRule(e,t){if(Qv(t,e,!1)<0)return!1;let n=e.lineStart+t.pos;return e.nextLine(),e.addNode(fv.HorizontalRule,n),!0},BulletList(e,t){let n=Pv(t,e,!1);if(n<0)return!1;e.block.type!=fv.BulletList&&e.startContext(fv.BulletList,t.basePos,t.next);let i=Yv(t,t.pos+1);return e.startContext(fv.ListItem,t.basePos,i-t.baseIndent),e.addNode(fv.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+n),t.moveBaseColumn(i),null},OrderedList(e,t){let n=Cv(t,e,!1);if(n<0)return!1;e.block.type!=fv.OrderedList&&e.startContext(fv.OrderedList,t.basePos,t.text.charCodeAt(t.pos+n-1));let i=Yv(t,t.pos+n);return e.startContext(fv.ListItem,t.basePos,i-t.baseIndent),e.addNode(fv.ListMark,e.lineStart+t.pos,e.lineStart+t.pos+n),t.moveBaseColumn(i),null},ATXHeading(e,t){let n=Xv(t);if(n<0)return!1;let i=t.pos,r=e.lineStart+i,s=wv(t.text,t.text.length,i),o=s;for(;o>i&&t.text.charCodeAt(o-1)==t.next;)o--;o!=s&&o!=i&&xv(t.text.charCodeAt(o-1))||(o=t.text.length);let a=e.buffer.write(fv.HeaderMark,0,n).writeElements(e.parser.parseInline(t.text.slice(i+n+1,o),r+n+1),-r);o<t.text.length&&a.write(fv.HeaderMark,o-i,s-i);let l=a.finish(fv.ATXHeading1-1+n,t.text.length-i);return e.nextLine(),e.addNode(l,r),!0},HTMLBlock(e,t){let n=Mv(t,e,!1);if(n<0)return!1;let i=e.lineStart+t.pos,r=Vv[n][1],s=[],o=r!=Zv;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==Av?fv.CommentBlock:r==Rv?fv.ProcessingInstructionBlock:fv.HTMLBlock,l=e.prevLineEnd();return e.addNode(e.buffer.writeElements(s,-i).finish(a,l-i),i),!0},SetextHeading:void 0};class Ev{constructor(e){this.stage=0,this.elts=[],this.pos=0,this.start=e.start,this.advance(e.content)}nextLine(e,t,n){if(-1==this.stage)return!1;let i=n.content+"\n"+t.scrub(),r=this.advance(i);return r>-1&&r<i.length&&this.complete(e,n,r)}finish(e,t){return(2==this.stage||3==this.stage)&&yv(t.content,this.pos)==t.content.length&&this.complete(e,t,t.content.length)}complete(e,t,n){return e.addLeafElement(t,nk(fv.LinkReference,this.start,this.start+n,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(pk(e,this.pos,this.start,!0)))return-1;if(58!=e.charCodeAt(this.pos))return this.stage=-1;this.elts.push(nk(fv.LinkMark,this.pos+this.start,this.pos+this.start+1)),this.pos++}else{if(1!=this.stage){if(2==this.stage){let t=yv(e,this.pos),n=0;if(t>this.pos){let i=dk(e,t,this.start);if(i){let t=zv(e,i.to-this.start);t>0&&(this.nextStage(i),n=t)}}return n||(n=zv(e,this.pos)),n>0&&n<e.length?n:-1}return zv(e,this.pos)}if(!this.nextStage(fk(e,yv(e,this.pos),this.start)))return-1}}}}function zv(e,t){for(;t<e.length;t++){let n=e.charCodeAt(t);if(10==n)break;if(!xv(n))return-1}return t}class Uv{nextLine(e,t,n){let i=t.depth<e.stack.length?-1:Tv(t),r=t.next;if(i<0)return!1;let s=nk(fv.HeaderMark,e.lineStart+t.pos,e.lineStart+i);return e.nextLine(),e.addLeafElement(n,nk(61==r?fv.SetextHeading1:fv.SetextHeading2,n.start,e.prevLineEnd(),[...e.parser.parseInline(n.content,n.start),s])),!0}finish(){return!1}}const qv={LinkReference:(e,t)=>91==t.content.charCodeAt(0)?new Ev(t):null,SetextHeading:()=>new Uv},Dv=[(e,t)=>Xv(t)>=0,(e,t)=>vv(t)>=0,(e,t)=>kv(t)>=0,(e,t)=>Pv(t,e,!0)>=0,(e,t)=>Cv(t,e,!0)>=0,(e,t)=>Qv(t,e,!0)>=0,(e,t)=>Mv(t,e,!0)>=0],Iv={text:"",end:0};class jv{constructor(e,t,n,i){this.parser=e,this.input=t,this.ranges=i,this.line=new gv,this.atEnd=!1,this.reusePlaceholders=new Map,this.stoppedAt=null,this.rangeI=0,this.to=i[i.length-1].to,this.lineStart=this.absoluteLineStart=this.absoluteLineEnd=i[0].from,this.block=Ov.create(fv.Document,0,this.lineStart,0,0),this.stack=[this.block],this.fragments=n.length?new Sk(n,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 n=t(this,e);if(0!=n){if(1==n)return null;e.forward();continue e}}break}let t=new mv(this.lineStart+e.pos,e.text.slice(e.pos));for(let e of this.parser.leafBlockParsers)if(e){let n=e(this,t);n&&t.parsers.push(n)}e:for(;this.nextLine()&&e.pos!=e.text.length;){if(e.indent<e.baseIndent+4)for(let n of this.parser.endLeafBlock)if(n(this,e,t))break e;for(let n of t.parsers)if(n.nextLine(this,e,t))return null;t.content+="\n"+e.scrub();for(let n of e.markers)t.marks.push(n)}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);return!!t&&(this.absoluteLineStart+=t,this.lineStart=bk(this.absoluteLineStart,this.ranges),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=Iv;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,n=this.rangeI;for(;this.ranges[n].to<t.end;){n++;let i=this.ranges[n].from,r=this.lineChunkAt(i);t.end=i+r.length,t.text=t.text.slice(0,this.ranges[n-1].to-e)+r,e=t.end-t.text.length}}return t}readLine(){let{line:e}=this,{text:t,end:n}=this.scanLine(this.absoluteLineStart);for(this.absoluteLineEnd=n,e.reset(t);e.depth<this.stack.length;e.depth++){let t=this.stack[e.depth],n=this.parser.skipContextMarkup[t.type];if(!n)throw new Error("Unhandled block context "+fv[t.type]);if(!n(t,this,e))break;e.forward()}}lineChunkAt(e){let t,n=this.input.chunk(e);if(this.input.lineChunks)t="\n"==n?"":n;else{let e=n.indexOf("\n");t=e<0?n:n.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,n=0){this.block=Ov.create(e,n,this.lineStart+t,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,t,n=0){this.startContext(this.parser.getNodeType(e),t,n)}addNode(e,t,n){"number"==typeof e&&(e=new Ua(this.parser.nodeSet.types[e],Jv,Jv,(null!=n?n: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(mk(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?Bv(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let t of e.parsers)if(t.finish(this,e))return;let t=mk(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(t,-e.start).finish(fv.Paragraph,e.content.length),e.start)}elt(e,t,n,i){return"string"==typeof e?nk(this.parser.getNodeType(e),t,n,i):new tk(e,t)}get buffer(){return new Kv(this.parser.nodeSet)}}function Bv(e,t,n,i,r){let s=e[t].to,o=[],a=[],l=n.from+i;function h(n,r){for(;r?n>=s:n>s;){let r=e[t+1].from-s;i+=r,n+=r,t++,s=e[t].to}}for(let c=n.firstChild;c;c=c.nextSibling){h(c.from+i,!0);let n,u=c.from+i,f=r.get(c.tree);f?n=f:c.to+i>s?(n=Bv(e,t,c,i,r),h(c.to+i,!1)):n=c.toTree(),o.push(n),a.push(u-l)}return h(n.to+i,!1),new Ua(n.type,o,a,n.to+i-l,n.tree?n.tree.propValues:void 0)}class Lv extends ol{constructor(e,t,n,i,r,s,o,a,l){super(),this.nodeSet=e,this.blockParsers=t,this.leafBlockParsers=n,this.blockNames=i,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,n){let i=new jv(this,e,t,n);for(let r of this.wrappers)i=r(i,e,t,n);return i}configure(e){let t=Gv(e);if(!t)return this;let{nodeSet:n,skipContextMarkup:i}=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(Nv(t.defineNodes)){i=Object.assign({},i);let e,r=n.types.slice();for(let n of t.defineNodes){let{name:t,block:s,composite:o,style:a}="string"==typeof n?{name:n}:n;if(r.some(e=>e.name==t))continue;o&&(i[r.length]=(e,t,n)=>o(t,n,e.value));let l=r.length,h=o?["Block","BlockContext"]:s?l>=fv.ATXHeading1&&l<=fv.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;r.push(Ya.define({id:l,name:t,props:h&&[[Ra.group,h]]})),a&&(e||(e={}),Array.isArray(a)||a instanceof Kl?e[t]=a:Object.assign(e,a))}n=new _a(r),e&&(n=n.extend(rh(e)))}if(Nv(t.props)&&(n=n.extend(...t.props)),Nv(t.remove))for(let e of t.remove){let t=this.blockNames.indexOf(e),n=this.inlineNames.indexOf(e);t>-1&&(r[t]=s[t]=void 0),n>-1&&(a[n]=void 0)}if(Nv(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?Fv(o,e.before):e.after?Fv(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(Nv(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?Fv(l,e.before):e.after?Fv(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 Lv(n,r,s,o,h,i,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 n=new Ok(this,e,t);e:for(let e=t;e<n.end;){let t=n.char(e);for(let i of this.inlineParsers)if(i){let r=i(n,t,e);if(r>=0){e=r;continue e}}e++}return n.resolveMarkers(0)}}function Nv(e){return null!=e&&e.length>0}function Gv(e){if(!Array.isArray(e))return e;if(0==e.length)return null;let t=Gv(e[0]);if(1==e.length)return t;let n=Gv(e.slice(1));if(!n||!t)return t||n;let i=(e,t)=>(e||Jv).concat(t||Jv),r=t.wrap,s=n.wrap;return{props:i(t.props,n.props),defineNodes:i(t.defineNodes,n.defineNodes),parseBlock:i(t.parseBlock,n.parseBlock),parseInline:i(t.parseInline,n.parseInline),remove:i(t.remove,n.remove),wrap:r?s?(e,t,n,i)=>r(s(e,t,n,i),t,n,i):r:s}}function Fv(e,t){let n=e.indexOf(t);if(n<0)throw new RangeError("Position specified relative to unknown parser "+t);return n}let Hv=[Ya.none];for(let e,t=1;e=fv[t];t++)Hv[t]=Ya.define({id:t,name:e,props:t>=fv.Escape?[]:[[Ra.group,t in bv?["Block","BlockContext"]:["Block","LeafBlock"]]],top:"Document"==e});const Jv=[];class Kv{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,t,n,i=0){return this.content.push(e,t,n,4+4*i),this}writeElements(e,t=0){for(let n of e)n.writeTo(this,t);return this}finish(e,t){return Ua.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:t})}}class ek{constructor(e,t,n,i=Jv){this.type=e,this.from=t,this.to=n,this.children=i}writeTo(e,t){let n=e.content.length;e.writeElements(this.children,t),e.content.push(this.type,this.from+t,this.to+t,e.content.length+4-n)}toTree(e){return new Kv(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}}class tk{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 Jv}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 nk(e,t,n,i){return new ek(e,t,n,i)}const ik={resolve:"Emphasis",mark:"EmphasisMark"},rk={resolve:"Emphasis",mark:"EmphasisMark"},sk={},ok={};class ak{constructor(e,t,n,i){this.type=e,this.from=t,this.to=n,this.side=i}}const lk="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let hk=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{hk=new RegExp("[\\p{Pc}|\\p{Pd}|\\p{Pe}|\\p{Pf}|\\p{Pi}|\\p{Po}|\\p{Ps}]","u")}catch(e){}const ck={Escape(e,t,n){if(92!=t||n==e.end-1)return-1;let i=e.char(n+1);for(let t=0;t<lk.length;t++)if(lk.charCodeAt(t)==i)return e.append(nk(fv.Escape,n,n+2));return-1},Entity(e,t,n){if(38!=t)return-1;let i=/^(?:#\d+|#x[a-f\d]+|\w+);/i.exec(e.slice(n+1,n+31));return i?e.append(nk(fv.Entity,n,n+1+i[0].length)):-1},InlineCode(e,t,n){if(96!=t||n&&96==e.char(n-1))return-1;let i=n+1;for(;i<e.end&&96==e.char(i);)i++;let r=i-n,s=0;for(;i<e.end;i++)if(96==e.char(i)){if(s++,s==r&&96!=e.char(i+1))return e.append(nk(fv.InlineCode,n,i+1,[nk(fv.CodeMark,n,n+r),nk(fv.CodeMark,i+1-r,i+1)]))}else s=0;return-1},HTMLTag(e,t,n){if(60!=t||n==e.end-1)return-1;let i=e.slice(n+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(i);if(r)return e.append(nk(fv.URL,n,n+1+r[0].length));let s=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(i);if(s)return e.append(nk(fv.Comment,n,n+1+s[0].length));let o=/^\?[^]*?\?>/.exec(i);if(o)return e.append(nk(fv.ProcessingInstruction,n,n+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(i);return a?e.append(nk(fv.HTMLTag,n,n+1+a[0].length)):-1},Emphasis(e,t,n){if(95!=t&&42!=t)return-1;let i=n+1;for(;e.char(i)==t;)i++;let r=e.slice(n-1,n),s=e.slice(i,i+1),o=hk.test(r),a=hk.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 ak(95==t?ik:rk,n,i,(f?1:0)|(d?2:0)))},HardBreak(e,t,n){if(92==t&&10==e.char(n+1))return e.append(nk(fv.HardBreak,n,n+2));if(32==t){let t=n+1;for(;32==e.char(t);)t++;if(10==e.char(t)&&t>=n+2)return e.append(nk(fv.HardBreak,n,t+1))}return-1},Link:(e,t,n)=>91==t?e.append(new ak(sk,n,n+1,1)):-1,Image:(e,t,n)=>33==t&&91==e.char(n+1)?e.append(new ak(ok,n,n+2,1)):-1,LinkEnd(e,t,n){if(93!=t)return-1;for(let t=e.parts.length-1;t>=0;t--){let i=e.parts[t];if(i instanceof ak&&(i.type==sk||i.type==ok)){if(!i.side||e.skipSpace(i.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[t]=null,-1;let r=e.takeContent(t),s=e.parts[t]=uk(e,r,i.type==sk?fv.Link:fv.Image,i.from,n+1);if(i.type==sk)for(let n=0;n<t;n++){let t=e.parts[n];t instanceof ak&&t.type==sk&&(t.side=0)}return s.to}}return-1}};function uk(e,t,n,i,r){let{text:s}=e,o=e.char(r),a=r;if(t.unshift(nk(fv.LinkMark,i,i+(n==fv.Image?2:1))),t.push(nk(fv.LinkMark,r-1,r)),40==o){let n,i=e.skipSpace(r+1),o=fk(s,i-e.offset,e.offset);o&&(i=e.skipSpace(o.to),n=dk(s,i-e.offset,e.offset),n&&(i=e.skipSpace(n.to))),41==e.char(i)&&(t.push(nk(fv.LinkMark,r,r+1)),a=i+1,o&&t.push(o),n&&t.push(n),t.push(nk(fv.LinkMark,i,a)))}else if(91==o){let n=pk(s,r-e.offset,e.offset,!1);n&&(t.push(n),a=n.to)}return nk(n,i,a,t)}function fk(e,t,n){if(60==e.charCodeAt(t)){for(let i=t+1;i<e.length;i++){let r=e.charCodeAt(i);if(62==r)return nk(fv.URL,t+n,i+1+n);if(60==r||10==r)return!1}return null}{let i=0,r=t;for(let t=!1;r<e.length;r++){let n=e.charCodeAt(r);if(xv(n))break;if(t)t=!1;else if(40==n)i++;else if(41==n){if(!i)break;i--}else 92==n&&(t=!0)}return r>t?nk(fv.URL,t+n,r+n):r==e.length&&null}}function dk(e,t,n){let i=e.charCodeAt(t);if(39!=i&&34!=i&&40!=i)return!1;let r=40==i?41:i;for(let i=t+1,s=!1;i<e.length;i++){let o=e.charCodeAt(i);if(s)s=!1;else{if(o==r)return nk(fv.LinkTitle,t+n,i+1+n);92==o&&(s=!0)}}return null}function pk(e,t,n,i){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!i&&nk(fv.LinkLabel,t+n,s+1+n);if(i&&!xv(o)&&(i=!1),91==o)return!1;92==o&&(r=!0)}}return null}class Ok{constructor(e,t,n){this.parser=e,this.text=t,this.offset=n,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,n,i,r){return this.append(new ak(e,t,n,(i?1:0)|(r?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t<this.parts.length;t++){let n=this.parts[t];if(!(n instanceof ak&&n.type.resolve&&2&n.side))continue;let i,r=n.type==ik||n.type==rk,s=n.to-n.from,o=t-1;for(;o>=e;o--){let e=this.parts[o];if(e instanceof ak&&1&e.side&&e.type==n.type&&!(r&&(1&n.side||2&e.side)&&(e.to-e.from+s)%3==0&&((e.to-e.from)%3||s%3))){i=e;break}}if(!i)continue;let a=n.type.resolve,l=[],h=i.from,c=n.to;if(r){let e=Math.min(2,i.to-i.from,s);h=i.to-e,c=n.from+e,a=1==e?"Emphasis":"StrongEmphasis"}i.type.mark&&l.push(this.elt(i.type.mark,h,i.to));for(let e=o+1;e<t;e++)this.parts[e]instanceof ek&&l.push(this.parts[e]),this.parts[e]=null;n.type.mark&&l.push(this.elt(n.type.mark,n.from,c));let u=this.elt(a,h,c,l);this.parts[o]=r&&i.from!=h?new ak(i.type,i.from,h,i.side):null,(this.parts[t]=r&&n.to!=c?new ak(n.type,c,n.to,n.side):null)?this.parts.splice(t,0,u):this.parts[t]=u}let t=[];for(let n=e;n<this.parts.length;n++){let e=this.parts[n];e instanceof ek&&t.push(e)}return t}findOpeningDelimiter(e){for(let t=this.parts.length-1;t>=0;t--){let n=this.parts[t];if(n instanceof ak&&n.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return yv(this.text,e-this.offset)+this.offset}elt(e,t,n,i){return"string"==typeof e?nk(this.parser.getNodeType(e),t,n,i):new tk(e,t)}}function mk(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),i=0;for(let e of t){for(;i<n.length&&n[i].to<e.to;)i++;if(i<n.length&&n[i].from<e.from){let t=n[i];t instanceof ek&&(n[i]=new ek(t.type,t.from,t.to,mk(t.children,[e])))}else n.splice(i++,0,e)}return n}const gk=[fv.CodeBlock,fv.ListItem,fv.OrderedList,fv.BulletList];class Sk{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 n=this.cursor;n||(n=this.cursor=this.fragment.tree.cursor(),n.firstChild());let i=e+this.fragment.offset;for(;n.to<=i;)if(!n.parent())return!1;for(;;){if(n.from>=i)return this.fragment.from<=t;if(!n.childAfter(i))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Ra.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,i=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-n>i){if(t.type.isAnonymous&&t.firstChild())continue;break}let r=bk(t.from-n,e.ranges);if(t.to-n<=e.ranges[e.rangeI].to)e.addNode(t.tree,r);else{let n=new Ua(e.parser.nodeSet.types[fv.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(n,t.tree),e.addNode(n,r)}if(t.type.is("Block")&&(gk.indexOf(t.type.id)<0?(s=t.to-n,o=e.block.children.length):(s=a,o=l,a=t.to-n,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}}function bk(e,t){let n=e;for(let i=1;i<t.length;i++){let r=t[i-1].to,s=t[i].from;r<e&&(n-=s-r)}return n}const xk=rh({"Blockquote/...":Ph.quote,HorizontalRule:Ph.contentSeparator,"ATXHeading1/... SetextHeading1/...":Ph.heading1,"ATXHeading2/... SetextHeading2/...":Ph.heading2,"ATXHeading3/...":Ph.heading3,"ATXHeading4/...":Ph.heading4,"ATXHeading5/...":Ph.heading5,"ATXHeading6/...":Ph.heading6,"Comment CommentBlock":Ph.comment,Escape:Ph.escape,Entity:Ph.character,"Emphasis/...":Ph.emphasis,"StrongEmphasis/...":Ph.strong,"Link/... Image/...":Ph.link,"OrderedList/... BulletList/...":Ph.list,"BlockQuote/...":Ph.quote,"InlineCode CodeText":Ph.monospace,URL:Ph.url,"HeaderMark HardBreak QuoteMark ListMark LinkMark EmphasisMark CodeMark":Ph.processingInstruction,"CodeInfo LinkLabel":Ph.labelName,LinkTitle:Ph.string,Paragraph:Ph.content}),yk=new Lv(new _a(Hv).extend(xk),Object.keys(Wv).map(e=>Wv[e]),Object.keys(Wv).map(e=>qv[e]),Object.keys(Wv),Dv,bv,Object.keys(ck).map(e=>ck[e]),Object.keys(ck),[]);function wk(e,t,n){let i=[];for(let r=e.firstChild,s=t;;r=r.nextSibling){let e=r?r.from:n;if(e>s&&i.push({from:s,to:e}),!r)break;s=r.to}return i}function vk(e){let{codeParser:t,htmlParser:n}=e;return{wrap:ll((e,i)=>{let r=e.type.id;if(!t||r!=fv.CodeBlock&&r!=fv.FencedCode){if(n&&(r==fv.HTMLBlock||r==fv.HTMLTag))return{parser:n,overlay:wk(e.node,e.from,e.to)}}else{let n="";if(r==fv.FencedCode){let t=e.node.getChild(fv.CodeInfo);t&&(n=i.read(t.from,t.to))}let s=t(n);if(s)return{parser:s,overlay:e=>e.type.id==fv.CodeText}}return null})}}const kk={resolve:"Strikethrough",mark:"StrikethroughMark"},Qk={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":Ph.strikethrough}},{name:"StrikethroughMark",style:Ph.processingInstruction}],parseInline:[{name:"Strikethrough",parse(e,t,n){if(126!=t||126!=e.char(n+1)||126==e.char(n+2))return-1;let i=e.slice(n-1,n),r=e.slice(n+2,n+3),s=/\s|^$/.test(i),o=/\s|^$/.test(r),a=hk.test(i),l=hk.test(r);return e.addDelimiter(kk,n,n+2,!o&&(!l||s||a),!s&&(!a||o||l))},after:"Emphasis"}]};function $k(e,t,n=0,i,r=0){let s=0,o=!0,a=-1,l=-1,h=!1,c=()=>{i.push(e.elt("TableCell",r+a,r+l,e.parser.parseInline(t.slice(a,l),r+a)))};for(let u=n;u<t.length;u++){let n=t.charCodeAt(u);124!=n||h?(h||32!=n&&9!=n)&&(a<0&&(a=u),l=u+1):((!o||a>-1)&&s++,o=!1,i&&(a>-1&&c(),i.push(e.elt("TableDelimiter",u+r,u+r+1))),a=l=-1),h=!h&&92==n}return a>-1&&(s++,i&&c()),s}function Pk(e,t){for(let n=t;n<e.length;n++){let t=e.charCodeAt(n);if(124==t)return!0;92==t&&n++}return!1}const Ck=/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/;class Xk{constructor(){this.rows=null}nextLine(e,t,n){if(null==this.rows){let i;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&Ck.test(i=t.text.slice(t.pos))){let r=[];$k(e,n.content,0,r,n.start)==$k(e,i,t.pos)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,r),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let n=[];$k(e,t.text,t.pos,n,e.lineStart),this.rows.push(e.elt("TableRow",e.lineStart+t.pos,e.lineStart+t.text.length,n))}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 Tk={defineNodes:[{name:"Table",block:!0},{name:"TableHeader",style:{"TableHeader/...":Ph.heading}},"TableRow",{name:"TableCell",style:Ph.content},{name:"TableDelimiter",style:Ph.processingInstruction}],parseBlock:[{name:"Table",leaf:(e,t)=>Pk(t.content,0)?new Xk:null,endLeaf(e,t,n){if(n.parsers.some(e=>e instanceof Xk)||!Pk(t.text,t.basePos))return!1;let i=e.scanLine(e.absoluteLineEnd+1).text;return Ck.test(i)&&$k(e,t.text,t.basePos)==$k(e,i,t.basePos)},before:"SetextHeading"}]};class Zk{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 Ak=[Tk,{defineNodes:[{name:"Task",block:!0,style:Ph.list},{name:"TaskMarker",style:Ph.atom}],parseBlock:[{name:"TaskList",leaf:(e,t)=>/^\[[ xX]\][ \t]/.test(t.content)&&"ListItem"==e.parentType().name?new Zk:null,after:"SetextHeading"}]},Qk];function Rk(e,t,n){return(i,r,s)=>{if(r!=e||i.char(s+1)==e)return-1;let o=[i.elt(n,s,s+1)];for(let r=s+1;r<i.end;r++){let a=i.char(r);if(a==e)return i.addElement(i.elt(t,s,r+1,o.concat(i.elt(n,r,r+1))));if(92==a&&o.push(i.elt("Escape",r,2+r++)),xv(a))break}return-1}}const Vk={defineNodes:[{name:"Superscript",style:Ph.special(Ph.content)},{name:"SuperscriptMark",style:Ph.processingInstruction}],parseInline:[{name:"Superscript",parse:Rk(94,"Superscript","SuperscriptMark")}]},Mk={defineNodes:[{name:"Subscript",style:Ph.special(Ph.content)},{name:"SubscriptMark",style:Ph.processingInstruction}],parseInline:[{name:"Subscript",parse:Rk(126,"Subscript","SubscriptMark")}]},Yk={defineNodes:[{name:"Emoji",style:Ph.character}],parseInline:[{name:"Emoji",parse(e,t,n){let i;return 58==t&&(i=/^[a-zA-Z_0-9]+:/.exec(e.slice(n+1,e.end)))?e.addElement(e.elt("Emoji",n,n+1+i[0].length)):-1}}]},_k=tc({commentTokens:{block:{open:"\x3c!--",close:"--\x3e"}}}),Wk=new Ra,Ek=yk.configure({props:[zc.add(e=>!e.is("Block")||e.is("Document")||null!=zk(e)?void 0:(e,t)=>({from:t.doc.lineAt(e.from).to,to:e.to})),Wk.add(zk),kc.add({Document:()=>null}),ec.add({Document:_k})]});function zk(e){let t=/^(?:ATX|Setext)Heading(\d)$/.exec(e.name);return t?+t[1]:void 0}function Uk(e,t){let n=e;for(;;){let e,i=n.nextSibling;if(!i||null!=(e=zk(i.type))&&e<=t)break;n=i}return n.to}const qk=Ec.of((e,t,n)=>{for(let i=oc(e).resolveInner(n,-1);i&&!(i.from<t);i=i.parent){let e=i.type.prop(Wk);if(null==e)continue;let t=Uk(i,e);if(t>n)return{from:n,to:t}}return null});function Dk(e){return new ic(_k,e,[qk],"markdown")}const Ik=Dk(Ek),jk=Dk(Ek.configure([Ak,Mk,Vk,Yk]));function Bk(e,t){return n=>{if(n&&e){let t=null;if(n=/\S*/.exec(n)[0],t="function"==typeof e?e(n):gc.matchLanguageName(e,n,!0),t instanceof gc)return t.support?t.support.language.parser:hc.getSkippingParser(t.load());if(t)return t.parser}return t?t.parser:null}}class Lk{constructor(e,t,n,i,r,s,o){this.node=e,this.from=t,this.to=n,this.spaceBefore=i,this.spaceAfter=r,this.type=s,this.item=o}blank(e,t=!0){let n=this.spaceBefore+("Blockquote"==this.node.name?">":"");if(null!=e){for(;n.length<e;)n+=" ";return n}for(let e=this.to-this.from-n.length-this.spaceAfter.length;e>0;e--)n+=" ";return n+(t?this.spaceAfter:"")}marker(e,t){let n="OrderedList"==this.node.name?String(+Gk(this.item,e)[2]+t):"";return this.spaceBefore+n+this.type+this.spaceAfter}}function Nk(e,t){let n=[];for(let t=e;t&&"Document"!=t.name;t=t.parent)"ListItem"!=t.name&&"Blockquote"!=t.name&&"FencedCode"!=t.name||n.push(t);let i=[];for(let e=n.length-1;e>=0;e--){let r,s=n[e],o=t.lineAt(s.from),a=s.from-o.from;if("FencedCode"==s.name)i.push(new Lk(s,a,a,"","","",null));else if("Blockquote"==s.name&&(r=/^[ \t]*>( ?)/.exec(o.text.slice(a))))i.push(new Lk(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),i.push(new Lk(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 n=r[2];r[3]&&(n+=r[3].replace(/[xX]/," ")),i.push(new Lk(s.parent,a,a+t,r[1],e,n,s))}}return i}function Gk(e,t){return/^(\s*)(\d+)(?=[.)])/.exec(t.sliceString(e.from,e.from+10))}function Fk(e,t,n,i=0){for(let r=-1,s=e;;){if("ListItem"==s.name){let e=Gk(s,t),o=+e[2];if(r>=0){if(o!=r+1)return;n.push({from:s.from+e[1].length,to:s.from+e[0].length,insert:String(r+2+i)})}r=o}let e=s.nextSibling;if(!e)break;s=e}}function Hk(e){return"QuoteMark"==e.name||"ListMark"==e.name}function Jk(e,t){let n,i=e.resolveInner(t,-1),r=t;for(Hk(i)&&(r=i.from,i=i.parent);n=i.childBefore(r);)if(Hk(n))r=n.from;else{if("OrderedList"!=n.name&&"BulletList"!=n.name)break;i=n.lastChild,r=i.to}return i}const Kk=[{key:"Enter",run:({state:e,dispatch:t})=>{let n=oc(e),{doc:i}=e,r=null,s=e.changeByRange(t=>{if(!t.empty||!jk.isActiveAt(e,t.from))return r={range:t};let s=t.from,o=i.lineAt(s),a=Nk(n.resolveInner(s,-1),i);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(i.lineAt(o.from-1).text)){let e,t=a.length>1?a[a.length-2]:null,n="";t&&t.item?(e=o.from+t.from,n=t.marker(i,1)):e=o.from+(t?t.to:0);let r=[{from:e,to:s,insert:n}];return"OrderedList"==l.node.name&&Fk(l.item,i,r,-2),t&&"OrderedList"==t.node.name&&Fk(t.item,i,r),{range:R.cursor(e+n.length),changes:r}}{let t="";for(let e=0,n=a.length-2;e<=n;e++)t+=a[e].blank(e<n?a[e+1].from-t.length:null,e<n);return t+=e.lineBreak,{range:R.cursor(s+t.length),changes:{from:o.from,insert:t}}}}if("Blockquote"==l.node.name&&h&&o.from){let n=i.lineAt(o.from-1),r=/>\s*$/.exec(n.text);if(r&&r.index==l.from){let i=e.changes([{from:n.from+r.index,to:n.to},{from:o.from+l.from,to:o.to}]);return{range:t.map(i),changes:i}}}let c=[];"OrderedList"==l.node.name&&Fk(l.item,i,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(i,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:R.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 n=oc(e),i=null,r=e.changeByRange(t=>{let r=t.from,{doc:s}=e;if(t.empty&&jk.isActiveAt(e,t.from)){let e=s.lineAt(r),i=Nk(Jk(n,r),s);if(i.length){let n=i[i.length-1],s=n.to-n.spaceAfter.length+(n.spaceAfter?1:0);if(r-e.from>s&&!/\S/.test(e.text.slice(s,r-e.from)))return{range:R.cursor(e.from+s),changes:{from:e.from+s,to:r}};if(r-e.from==s&&(!n.item||e.from<=n.item.from||!/\S/.test(e.text.slice(0,n.to)))){let i=e.from+n.from;if(n.item&&n.node.from<n.item.from&&/\S/.test(e.text.slice(n.from,n.to)))return{range:t,changes:{from:i,to:e.from+n.to,insert:n.blank(n.to-n.from)}};if(i<r)return{range:R.cursor(i),changes:{from:i,to:r}}}}}return i={range:t}});return!i&&(t(e.update(r,{scrollIntoView:!0,userEvent:"delete"})),!0)}}],eQ=hv({matchClosingTags:!1});function tQ(e={}){let{codeLanguages:t,defaultCodeLanguage:n,addKeymap:i=!0,base:{parser:r}=Ik,completeHTMLTags:s=!0}=e;if(!(r instanceof Lv))throw new RangeError("Base parser provided to `markdown` should be a Markdown parser");let o,a=e.extensions?[e.extensions]:[],l=[eQ.support];n instanceof mc?(l.push(n.support),o=n.language):n&&(o=n);let h=t||o?Bk(t,o):void 0;a.push(vk({codeParser:h,htmlParser:eQ.language.parser})),i&&l.push(B.high(Xs.of(Kk)));let c=Dk(r.configure(a));return s&&l.push(c.data.of({autocomplete:nQ})),new mc(c,l)}function nQ(e){let{state:t,pos:n}=e,i=/<[:\-\.\w\u00b7-\uffff]*$/.exec(t.sliceDoc(n-25,n));if(!i)return null;let r=oc(t).resolveInner(n,-1);for(;r&&!r.type.isTop;){if("CodeBlock"==r.name||"FencedCode"==r.name||"ProcessingInstructionBlock"==r.name||"CommentBlock"==r.name||"Link"==r.name||"Image"==r.name)return null;r=r.parent}return{from:n-i[0].length,to:n,options:rQ(),validFor:/^<[:\-\.\w\u00b7-\uffff]*$/}}let iQ=null;function rQ(){if(iQ)return iQ;let e=iv(new UO(Qe.create({extensions:eQ}),0,!0));return iQ=e?e.options:[]}var sQ=(e,t,n)=>new Promise((i,r)=>{var s=e=>{try{a(n.next(e))}catch(e){r(e)}},o=e=>{try{a(n.throw(e))}catch(e){r(e)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,o);a((n=n.apply(e,t)).next())});class oQ extends QS{constructor(e,t=[]){super(e,t)}getExtensions(e){return sQ(this,null,(function*(){return[tQ()]}))}serialize(){return this.editor.content}}class aQ extends HTMLElement{constructor(){super(),this._mode=bS.xml,this._placeholder="",this.attachShadow({mode:"open"})}static get observedAttributes(){return["placeholder","mode"]}connectedCallback(){var e,t,n,i;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==(n=this.shadowRoot)||n.appendChild(o),this.registerToolbar(null==(i=this.shadowRoot)?void 0:i.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 n=t.parentNode;for(;n;){if(n===this)return e.preventDefault(),void e.stopPropagation();n=n.parentNode}}})}attributeChangedCallback(e,t,n){if(t&&t!==n)switch(e){case"placeholder":this.placeholder=n;break;case"mode":this.mode=n}}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 n,i,r;const s=null==(n=this.shadowRoot)?void 0:n.getElementById("editor");if(!s)return;this._editor&&(this._editor.destroy(),s.innerHTML=""),this._mode=bS[e],console.log("<jinn-codemirror> mode: "+this.mode),this.activateToolbar(null==(i=this.shadowRoot)?void 0:i.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 xs({state:Qe.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 bS.edcs:case bS.phi:this._config=new gb(this,t,this._mode);break;case bS.leiden_plus:this._config=new ub(this,t);break;case bS.xquery:this._config=new zb(this,t,this.linter);break;case bS.css:this._config=new Px(this,t);break;case bS.tex:this._config=new Rx(this,t);break;case bS.html:this._config=new pv(this,t);break;case bS.xml:this._config=new zS(this,t,this.namespace);break;case bS.markdown:this._config=new oQ(this,t);break;default:this._config=new Xx(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}clear(){this._value="",this._editor.dispatch({changes:{from:0,to:this._editor.state.doc.length,insert:""}})}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 n;if(!this._config)return;const i=this._config.getCommands()[t];if(i){const r=vS(t,i,e);r&&(r(this._editor),"encloseWithCommand"!==t&&(null==(n=this._editor)||n.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\n .cm-cursor {\n min-height: 1rem;\n }\n "}}window.customElements.define("jinn-codemirror",aQ);