diff --git a/core/factory.php b/core/factory.php
index 5102694..4a5db6f 100644
--- a/core/factory.php
+++ b/core/factory.php
@@ -171,7 +171,7 @@ class Editor
?>
-
+
-
+
e?parseInt(e,36):1));for(let t=1;tt)return e[n-1]<=t;return!1}function n(e){return e>=127462&&e<=127487}function r(e,t,n=!0){return(n?i:a)(e,t)}function i(e,r){if(r==e.length)return r;r&&o(e.charCodeAt(r))&&s(e.charCodeAt(r-1))&&r--;let i=O(e,r);for(r+=c(i);r=0&&n(O(e,i));)t++,i-=2;if(t%2==0)break;r+=2}}}return r}function a(e,t){for(;t>0;){let n=i(e,t-2);if(n=56320&&e<57344}function s(e){return e>=55296&&e<56320}function O(e,t){let n=e.charCodeAt(t);if(!s(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return o(r)?r-56320+(n-55296<<10)+65536:n}function l(e){return e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode(55296+(e>>10),56320+(1023&e)))}function c(e){return e<65536?1:2}function u(e,t,n=e.length){let i=0;for(let a=0;athis.length)throw new RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),p.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){let n=[];return this.decompose(e,t,n,0),p.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=new g(this),n=new g(e);for(;;){if(t.next(),n.next(),t.lineBreak!=n.lineBreak||t.done!=n.done||t.value!=n.value)return!1;if(t.done)return!0}}iter(e=1){return new g(this,e)}iterRange(e,t=this.length){return new Q(this,e,t)}iterLines(e,t){let n;if(null==e)n=this.iter();else{null==t&&(t=this.lines+1);let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new b(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}static of(e){if(0==e.length)throw new RangeError("A document must have at least one line");return 1!=e.length||e[0]?e.length<=32?new d(e):p.from(d.split(e,[])):h.empty}}"undefined"!=typeof Symbol&&(h.prototype[Symbol.iterator]=function(){return this.iter()});class d extends h{constructor(e,t=function(e){let t=-1;for(let n of e)t+=n.length+1;return t}(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new x(r,o,n,a);r=o+1,n++}}decompose(e,t,n,r){let i=e<=0&&t>=this.length?this:new d(m(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(1&r){let e=n.pop(),t=f(i.text,e.text.slice(),0,i.length);if(t.length<=32)n.push(new d(t,e.length+i.length));else{let e=t.length>>1;n.push(new d(t.slice(0,e)),new d(t.slice(e)))}}else n.push(i)}replace(e,t,n){if(!(n instanceof d))return super.replace(e,t,n);let r=f(this.text,f(n.text,m(this.text,0,e)),t),i=this.length+n.length-(t-e);return r.length<=32?new d(r,i):p.from(d.split(r,[]),i)}sliceString(e,t=this.length,n="\n"){let r="";for(let i=0,a=0;i<=t&&ae&&a&&(r+=n),ei&&(r+=o.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}static split(e,t){let n=[],r=-1;for(let i of e)n.push(i),r+=i.length+1,32==n.length&&(t.push(new d(n,r)),n=[],r=-1);return r>-1&&t.push(new d(n,r)),t}}class p extends h{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,r){for(let i=0;;i++){let a=this.children[i],o=r+a.length,s=n+a.lines-1;if((t?s:o)>=e)return a.lineInner(e,t,n,r);r=o+1,n=s+1}}decompose(e,t,n,r){for(let i=0,a=0;a<=t&&i=a){let i=r&((a<=e?1:0)|(s>=t?2:0));a>=e&&s<=t&&!i?n.push(o):o.decompose(e-a,t-a,n,i)}a=s+1}}replace(e,t,n){if(n.lines=i&&t<=o){let s=a.replace(e-i,t-i,n),O=this.lines-a.lines+s.lines;if(s.lines>4&&s.lines>O>>6){let i=this.children.slice();return i[r]=s,new p(i,this.length-(t-e)+n.length)}return super.replace(i,o,s)}i=o+1}return super.replace(e,t,n)}sliceString(e,t=this.length,n="\n"){let r="";for(let i=0,a=0;ie&&i&&(r+=n),ea&&(r+=o.sliceString(e-a,t-a,n)),a=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}static from(e,t=e.reduce(((e,t)=>e+t.length+1),-1)){let n=0;for(let t of e)n+=t.lines;if(n<32){let n=[];for(let t of e)t.flatten(n);return new d(n,t)}let r=Math.max(32,n>>5),i=r<<1,a=r>>1,o=[],s=0,O=-1,l=[];function c(e){let t;if(e.lines>i&&e instanceof p)for(let t of e.children)c(t);else e.lines>a&&(s>a||!s)?(u(),o.push(e)):e instanceof d&&s&&(t=l[l.length-1])instanceof d&&e.lines+t.lines<=32?(s+=e.lines,O+=e.length+1,l[l.length-1]=new d(t.text.concat(e.text),t.length+1+e.length)):(s+e.lines>r&&u(),s+=e.lines,O+=e.length+1,l.push(e))}function u(){0!=s&&(o.push(1==l.length?l[0]:p.from(l,O)),O=-1,s=l.length=0)}for(let t of e)c(t);return u(),1==o.length?o[0]:new p(o,t)}}function f(e,t,n=0,r=1e9){for(let i=0,a=0,o=!0;a=n&&(O>r&&(s=s.slice(0,r-i)),i0?1:(e instanceof d?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],a=i>>1,o=r instanceof d?r.text.length:r.children.length;if(a==(t>0?o:0)){if(0==n)return this.done=!0,this.value="",this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((1&i)==(t>0?0:1)){if(this.offsets[n]+=t,0==e)return this.lineBreak=!0,this.value="\n",this;e--}else if(r instanceof d){let i=r.text[a+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=0==e?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[a+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof d?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class Q{constructor(e,t,n){this.value="",this.done=!1,this.cursor=new g(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:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.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 b{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t?(this.done=!0,this.value=""):n?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}class x{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}}const w=/\r\n?|\n/;var k=function(e){return e[e.Simple=0]="Simple",e[e.TrackDel=1]="TrackDel",e[e.TrackBefore=2]="TrackBefore",e[e.TrackAfter=3]="TrackAfter",e}(k||(k={}));class y{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;te)return i+(e-r);i+=o}else{if(n!=k.Simple&&O>=e&&(n==k.TrackDel&&re||n==k.TrackBefore&&re))return null;if(O>e||O==e&&t<0&&!o)return e==r||t<0?i:i+s;i+=s}r=O}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n=0&&r<=t&&i>=e)return!(rt)||"cover";r=i}return!1}toString(){let e="";for(let t=0;t=0?":"+r:"")}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 y(e)}}class P extends y{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 _(this,((t,n,r,i,a)=>e=e.replace(r,r+(n-t),a)),!1),e}mapDesc(e,t=!1){return X(this,e,t,!0)}invert(e){let t=this.sections.slice(),n=[];for(let r=0,i=0;r=0){t[r]=o,t[r+1]=a;let s=r>>1;for(;n.length0&&S(n,t,i.text),i.forward(e),o+=e}let O=e[a++];for(;o>1].toJSON()))}return e}static of(e,t,n){let r=[],i=[],a=0,o=null;function s(e=!1){if(!e&&!r.length)return;ao||e<0||o>t)throw new RangeError(`Invalid change range ${e} to ${o} (in doc of length ${t})`);let c=l?"string"==typeof l?h.of(l.split(n||w)):l:h.empty,u=c.length;if(e==o&&0==u)return;ea&&v(r,e-a,-1),v(r,o-e,u),S(i,r,c),a=o}}(e),s(!o),o}static empty(e){return new P(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],n=[];for(let r=0;rt&&"string"!=typeof e)))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==i.length)t.push(i[0],0);else{for(;n.length=0&&n<=0&&n==e[i+1]?e[i]+=t:0==t&&0==e[i]?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function S(e,t,n){if(0==n.length)return;let r=t.length-2>>1;if(r>1])),!(n||o==e.sections.length||e.sections[o+1]<0);)s=e.sections[o++],O=e.sections[o++];t(i,l,a,c,u),i=l,a=c}}}function X(e,t,n,r=!1){let i=[],a=r?[]:null,o=new R(e),s=new R(t);for(let e=0,t=0;;)if(-1==o.ins)e+=o.len,o.next();else if(-1==s.ins&&t=0&&(o.done||tt&&!o.done&&e+o.len=0)){if(o.done&&s.done)return a?new P(i,a):new y(i);throw new Error("Mismatched change set lengths")}{let n=0,r=e+o.len;for(;;)if(s.ins>=0&&t>e&&t+s.lent||o.ins>=0&&o.len>t)&&(e||r.length>n),a.forward2(t),o.forward(t)}}else v(r,0,o.ins,e),i&&S(i,r,o.text),o.next()}}class R{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return t>=e.length?h.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?h.empty:t[n].slice(this.off,null==e?void 0:this.off+e)}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 W{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=e.mapPos(this.from,t),r=e.mapPos(this.to,t);return n==this.from&&r==this.to?this:new W(n,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return q.range(e,t);let n=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return q.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 q.range(e.anchor,e.head)}}class q{constructor(e,t=0){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:q.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;te.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 q(e.ranges.map((e=>W.fromJSON(e))),e.main)}static single(e,t=e){return new q([q.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,r=0;re.from-t.from)),t=e.indexOf(n);for(let n=1;nr.head?q.range(o,a):q.range(a,o))}}return new q(e,t)}function Y(e,t){for(let n of e.ranges)if(n.to>t)throw new RangeError("Selection points outside of document")}let Z=0;class U{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.extensions=i,this.id=Z++,this.default=e([])}static define(e={}){return new U(e.combine||(e=>e),e.compareInput||((e,t)=>e===t),e.compare||(e.combine?(e,t)=>e===t:E),!!e.static,e.enables)}of(e){return new I([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new I(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new I(e,this,2,t)}from(e,t){return t||(t=e=>e),this.compute([e],(n=>t(n.field(e))))}}function E(e,t){return e==t||e.length==t.length&&e.every(((e,n)=>e===t[n]))}class I{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Z++}dynamicSlot(e){var t;let n=this.value,r=this.facet.compareInput,i=e[this.id]>>1,a=2==this.type,o=!1,s=!1,O=[];for(let n of this.dependencies)"doc"==n?o=!0:"selection"==n?s=!0:0==(1&(null!==(t=e[n.id])&&void 0!==t?t:1))&&O.push(e[n.id]);return(e,t)=>{if(!t||t.reconfigured)return e.values[i]=n(e),1;{if(!(o&&t.docChanged||s&&(t.docChanged||t.selection)||O.some((t=>(1&J(e,t))>0))))return 0;let l=n(e),c=t.startState.values[i];return(a?function(e,t,n){if(e.length!=t.length)return!1;for(let r=0;re[t.id])),i=n.map((e=>e.type)),a=r.filter((e=>!(1&e))),o=e[t.id]>>1;return(e,n)=>{let s=n?n.reconfigured?n.startState.config.address[t.id]:o<<1:null,O=null==s;for(let t of a)1&J(e,t)&&(O=!0);if(!O)return 0;let l=[];for(let t=0;t>1}const A=U.define({static:!0});class G{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(e){let t=new G(Z++,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(A).find((e=>e.field==this));return((null==t?void 0:t.create)||this.createF)(e)}slot(e){let t=e[this.id]>>1;return(e,n)=>{if(!n||n.reconfigured&&null==C(n.startState,this.id))return e.values[t]=this.create(e),1;let r,i=0;n.reconfigured?(r=n.startState.values[C(n.startState,this.id)],i=1):r=n.startState.values[t];let a=this.updateF(r,n);return i||this.compareF(r,a)||(i=1),i&&(e.values[t]=a),i}}init(e){return[this,A.of({field:this,create:e})]}get extension(){return this}}const j=2,L=1,N=0;function D(e){return t=>new F(t,e)}const M={fallback:D(3),default:D(j),extend:D(L),override:D(N)};class F{constructor(e,t){this.inner=e,this.prec=t}}class B{of(e){return new H(this,e)}reconfigure(e){return B.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class H{constructor(e,t){this.compartment=e,this.inner=t}}class K{constructor(e,t,n,r,i){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,t,n){let r=[],i=Object.create(null),a=new Map;for(let n of function(e,t,n){let r=[[],[],[],[]],i=new Map;function a(e,o){let s=i.get(e);if(null!=s){if(s>=o)return;let t=r[s].indexOf(e);t>-1&&r[s].splice(t,1),e instanceof H&&n.delete(e.compartment)}if(i.set(e,o),Array.isArray(e))for(let t of e)a(t,o);else if(e instanceof H){if(n.has(e.compartment))throw new RangeError("Duplicate use of compartment in extensions");let r=t.get(e.compartment)||e.inner;n.set(e.compartment,r),a(r,o)}else if(e instanceof F)a(e.inner,e.prec);else if(e instanceof G)r[o].push(e),e.provides&&a(e.provides,o);else if(e instanceof I)r[o].push(e),e.facet.extensions&&a(e.facet.extensions,o);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.`);a(t,o)}}return a(e,j),r.reduce(((e,t)=>e.concat(t)))}(e,t,a))n instanceof G?r.push(n):(i[n.facet.id]||(i[n.facet.id]=[])).push(n);let o=Object.create(null),s=[],O=[];for(let e of r)o[e.id]=O.length<<1,O.push((t=>e.slot(t)));for(let e in i){let t=i[e],r=t[0].facet;if(t.every((e=>0==e.type))){o[r.id]=s.length<<1|1;let e=r.combine(t.map((e=>e.value))),i=n?n.config.address[r.id]:null;if(null!=i){let t=ee(n,i);r.compare(e,t)&&(e=t)}s.push(e)}else{for(let e of t)0==e.type?(o[e.id]=s.length<<1|1,s.push(e.value)):(o[e.id]=O.length<<1,O.push((t=>e.dynamicSlot(t))));o[r.id]=O.length<<1,O.push((e=>V(e,r,t)))}}return new K(e,a,O.map((e=>e(o))),o,s)}}function J(e,t){if(1&t)return 2;let n=t>>1,r=e.status[n];if(4==r)throw new Error("Cyclic dependency between fields and/or facets");if(2&r)return r;e.status[n]=4;let i=e.config.dynamicSlots[n](e,e.applying);return e.status[n]=2|i}function ee(e,t){return 1&t?e.config.staticValues[t>>1]:e.values[t>>1]}const te=U.define(),ne=U.define({combine:e=>e.some((e=>e)),static:!0}),re=U.define({combine:e=>e.length?e[0]:void 0,static:!0}),ie=U.define(),ae=U.define(),oe=U.define(),se=U.define({combine:e=>!!e.length&&e[0]});class Oe{constructor(e,t){this.type=e,this.value=t}static define(){return new le}}class le{of(e){return new Oe(this,e)}}class ce{constructor(e){this.map=e}of(e){return new ue(this,e)}}class ue{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 ue(this.type,t)}is(e){return this.type==e}static define(e={}){return new ce(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}}ue.reconfigure=ue.define(),ue.appendConfig=ue.define();class he{constructor(e,t,n,r,i,a){this.startState=e,this.changes=t,this.selection=n,this.effects=r,this.annotations=i,this.scrollIntoView=a,this._doc=null,this._state=null,n&&Y(n,t.newLength),i.some((e=>e.type==he.time))||(this.annotations=i.concat(he.time.of(Date.now())))}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(he.userEvent);return t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&"."==t[e.length])}}function de(e,t){let n=[];for(let r=0,i=0;;){let a,o;if(r=e[r]))a=e[r++],o=e[r++];else{if(!(i=0;i--){let a=n[i](e);a&&Object.keys(a).length&&(r=pe(e,fe(t,a,e.changes.newLength),!0))}return r==e?e:new he(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}(n?function(e){let t=e.startState,n=!0;for(let r of t.facet(ie)){let t=r(e);if(!1===t){n=!1;break}Array.isArray(t)&&(n=!0===n?t:de(n,t))}if(!0!==n){let r,i;if(!1===n)i=e.changes.invertedDesc,r=P.empty(t.doc.length);else{let t=e.changes.filter(n);r=t.changes,i=t.filtered.invertedDesc}e=new he(t,r,e.selection&&e.selection.map(i),ue.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let r=t.facet(ae);for(let n=r.length-1;n>=0;n--){let i=r[n](e);e=i instanceof he?i:Array.isArray(i)&&1==i.length&&i[0]instanceof he?i[0]:me(t,Qe(i),!1)}return e}(i):i)}he.time=Oe.define(),he.userEvent=Oe.define(),he.addToHistory=Oe.define(),he.remote=Oe.define();const ge=[];function Qe(e){return null==e?ge:Array.isArray(e)?e:[e]}var $e=function(e){return e[e.Word=0]="Word",e[e.Space=1]="Space",e[e.Other=2]="Other",e}($e||($e={}));const be=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let xe;try{xe=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch(e){}function we(e){return t=>{if(!/\S/.test(t))return $e.Space;if(function(e){if(xe)return xe.test(e);for(let t=0;t""&&(n.toUpperCase()!=n.toLowerCase()||be.test(n)))return!0}return!1}(t))return $e.Word;for(let n=0;n-1)return $e.Word;return $e.Other}}class ke{constructor(e,t,n,r=null){if(this.config=e,this.doc=t,this.selection=n,this.applying=null,this.status=e.statusTemplate.slice(),r&&r.startState.config==e)this.values=r.startState.values.slice();else if(this.values=e.dynamicSlots.map((e=>null)),r)for(let t in e.address){let n=e.address[t],i=r.startState.config.address[t];null!=i&&0==(1&n)&&(this.values[n>>1]=ee(r.startState,i))}this.applying=r,r&&(r._state=this);for(let e=0;er.set(t,e))),t=null),r.set(i.value.compartment,i.value.extension)):i.is(ue.reconfigure)?(t=null,n=i.value):i.is(ue.appendConfig)&&(t=null,n=Qe(n).concat(i.value));new ke(t||K.resolve(n,r,this),e.newDoc,e.newSelection,e)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange((t=>({changes:{from:t.from,to:t.to,insert:e},range:q.cursor(t.from+e.length)})))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],a=Qe(n.effects);for(let n=1;ni.spec.fromJSON(a,e))))}return ke.create({doc:e.doc,selection:q.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=K.resolve(e.extensions||[],new Map),n=e.doc instanceof h?e.doc:h.of((e.doc||"").split(t.staticFacet(ke.lineSeparator)||w)),r=e.selection?e.selection instanceof q?e.selection:q.single(e.selection.anchor,e.selection.head):q.single(0);return Y(r,n.length),t.staticFacet(ne)||(r=r.asSingle()),new ke(t,n,r)}get tabSize(){return this.facet(ke.tabSize)}get lineBreak(){return this.facet(ke.lineSeparator)||"\n"}get readOnly(){return this.facet(se)}phrase(e){for(let t of this.facet(ke.phrases))if(Object.prototype.hasOwnProperty.call(t,e))return t[e];return e}languageDataAt(e,t,n=-1){let r=[];for(let i of this.facet(te))for(let a of i(this,t,n))Object.prototype.hasOwnProperty.call(a,e)&&r.push(a[e]);return r}charCategorizer(e){return we(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:n,length:i}=this.doc.lineAt(e),a=this.charCategorizer(e),o=e-n,s=e-n;for(;o>0;){let e=r(t,o,!1);if(a(t.slice(e,o))!=$e.Word)break;o=e}for(;se.length?e[0]:4}),ke.lineSeparator=re,ke.readOnly=se,ke.phrases=U.define(),ke.languageData=te,ke.changeFilter=ie,ke.transactionFilter=ae,ke.transactionExtender=oe,B.reconfigure=ue.define();const Pe="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),ve="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),Se="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class _e{constructor(e,t){this.rules=[];let{finish:n}=t||{};function r(e){return/^@/.test(e)?[e]:e.split(/,\s*/)}function i(e,t,a,o){let s=[],O=/^@(\w+)\b/.exec(e[0]),l=O&&"keyframes"==O[1];if(O&&null==t)return a.push(e[0]+";");for(let n in t){let o=t[n];if(/&/.test(n))i(n.split(/,\s*/).map((t=>e.map((e=>t.replace(/&/,e))))).reduce(((e,t)=>e.concat(t))),o,a);else if(o&&"object"==typeof o){if(!O)throw new RangeError("The value of a property ("+n+") should be a primitive value.");i(r(n),o,s,l)}else null!=o&&s.push(n.replace(/_.*/,"").replace(/[A-Z]/g,(e=>"-"+e.toLowerCase()))+": "+o+";")}(s.length||l)&&a.push((!n||O||o?e:e.map(n)).join(", ")+" {"+s.join(" ")+"}")}for(let t in e)i(r(t),e[t],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let e=Se[Pe]||1;return Se[Pe]=e+1,"ͼ"+e.toString(36)}static mount(e,t){(e[ve]||new Te(e)).mount(Array.isArray(t)?t:[t])}}let Xe=null;class Te{constructor(e){if(!e.head&&e.adoptedStyleSheets&&"undefined"!=typeof CSSStyleSheet){if(Xe)return e.adoptedStyleSheets=[Xe.sheet].concat(e.adoptedStyleSheets),e[ve]=Xe;this.sheet=new CSSStyleSheet,e.adoptedStyleSheets=[this.sheet].concat(e.adoptedStyleSheets),Xe=this}else{this.styleTag=(e.ownerDocument||e).createElement("style");let t=e.head||e;t.insertBefore(this.styleTag,t.firstChild)}this.modules=[],e[ve]=this}mount(e){let t=this.sheet,n=0,r=0;for(let i=0;i-1&&(this.modules.splice(o,1),r--,o=-1),-1==o){if(this.modules.splice(r++,0,a),t)for(let e=0;e>1,s=i[r]-e||(n?this.value[r].endSide:this.value[r].startSide)-t;if(r==a)return s>=0?a:o;s>=0?o=r:a=r+1}}between(e,t,n,r){for(let i=this.findIndex(t,-1e9,!0),a=this.findIndex(n,1e9,!1,i);il||O==l&&c.startSide>0&&c.endSide<=0)continue;(l-O||c.endSide-c.startSide)<0||(a<0&&(a=O),c.point&&(o=Math.max(o,l-O)),n.push(c),r.push(O-a),i.push(l-a))}return{mapped:n.length?new ze(r,i,n,o):null,pos:a}}}class Ye{constructor(e,t,n=Ye.empty,r){this.chunkPos=e,this.chunk=t,this.nextLayer=n,this.maxPoint=r}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let 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:r=0,filterTo:i=this.length}=e,a=e.filter;if(0==t.length&&!a)return this;if(n&&t.slice().sort(qe),this.isEmpty)return t.length?Ye.of(t):this;let o=new Ee(this,null,-1).goto(0),s=0,O=[],l=new Ze;for(;o.value||s=0){let e=t[s++];l.addInner(e.from,e.to,e.value)||O.push(e)}else 1==o.rangeIndex&&o.chunkIndexthis.chunkEnd(o.chunkIndex)||io.to||i=i&&e<=i+a.length&&!1===a.between(i,e-i,t-i,n))return}this.nextLayer.between(e,t,n)}}iter(e=0){return Ie.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return Ie.from(e).goto(t)}static compare(e,t,n,r,i=-1){let a=e.filter((e=>e.maxPoint>=500||!e.isEmpty&&t.indexOf(e)<0&&e.maxPoint>=i)),o=t.filter((t=>t.maxPoint>=500||!t.isEmpty&&e.indexOf(t)<0&&t.maxPoint>=i)),s=Ue(a,o),O=new Ce(a,s,i),l=new Ce(o,s,i);n.iterGaps(((e,t,n)=>Ae(O,e,l,t,n,r))),n.empty&&0==n.length&&Ae(O,0,l,0,0,r)}static eq(e,t,n=0,r){null==r&&(r=1e9);let i=e.filter((e=>!e.isEmpty&&t.indexOf(e)<0)),a=t.filter((t=>!t.isEmpty&&e.indexOf(t)<0));if(i.length!=a.length)return!1;if(!i.length)return!0;let o=Ue(i,a),s=new Ce(i,o,0).goto(n),O=new Ce(a,o,0).goto(n);for(;;){if(s.to!=O.to||!Ge(s.active,O.active)||s.point&&(!O.point||!s.point.eq(O.point)))return!1;if(s.to>=r)return!0;s.next(),O.next()}}static spans(e,t,n,r,i=-1){let a=new Ce(e,null,i).goto(t),o=t,s=a.openStart;for(;;){let e=Math.min(a.to,n);if(a.point?(r.point(o,e,a.point,a.activeForPoint(a.to),s),s=a.openEnd(e)+(a.to>e?1:0)):e>o&&(r.span(o,e,a.active,s),s=a.openEnd(e)),a.to>n)break;o=a.to,a.next()}return s}static of(e,t=!1){let n=new Ze;for(let r of e instanceof We?[e]:t?function(e){if(e.length>1)for(let t=e[0],n=1;n0)return e.slice().sort(qe);t=r}return e}(e):e)n.add(r.from,r.to,r.value);return n.finish()}}Ye.empty=new Ye([],[],null,-1),Ye.empty.nextLayer=Ye.empty;class Ze{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 ze(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 Ze)).add(e,t,n)}addInner(e,t,n){let r=e-this.lastTo||n.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||n.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(r<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(Ye.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return e;let t=new Ye(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function Ue(e,t){let n=new Map;for(let t of e)for(let e=0;e=this.minPoint)break}}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=n&&r.push(new Ee(a,t,n,i));return 1==r.length?r[0]:new Ie(r)}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--)Ve(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--)Ve(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(),Ve(this.heap,0)}}}function Ve(e,t){for(let n=e[t];;){let r=1+(t<<1);if(r>=e.length)break;let i=e[r];if(r+1=0&&(i=e[r+1],r++),n.compare(i)<0)break;e[r]=n,e[t]=i,t=r}}class Ce{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=Ie.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){je(this.active,e),je(this.activeTo,e),je(this.activeRank,e),this.minActive=Ne(this.active,this.activeTo)}addActive(e){let t=0,{value:n,to:r,rank:i}=this.cursor;for(;t-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&&je(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 i=this.cursor.value;if(i.point){if(!(t&&this.cursor.to==this.to&&this.cursor.frome&&this.forward(this.to,this.endSide);break}this.cursor.next()}else this.addActive(n),this.cursor.next()}}}if(n){let t=0;for(;t=0&&!(this.activeRank[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 Ae(e,t,n,r,i,a){e.goto(t),n.goto(r);let o=r+i,s=r,O=r-t;for(;;){let t=e.to+O-n.to||e.endSide-n.endSide,r=t<0?e.to+O:n.to,i=Math.min(r,o);if(e.point||n.point?e.point&&n.point&&(e.point==n.point||e.point.eq(n.point))&&Ge(e.activeForPoint(e.to+O),n.activeForPoint(n.to))||a.comparePoint(s,i,e.point,n.point):i>s&&!Ge(e.active,n.active)&&a.compareRange(s,i,e.active,n.active),r>o)break;s=r,t<=0&&e.next(),t>=0&&n.next()}}function Ge(e,t){if(e.length!=t.length)return!1;for(let n=0;n=t;n--)e[n+1]=e[n];e[t]=n}function Ne(e,t){let n=-1,r=1e9;for(let i=0;i",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"',229:"Q"},Fe="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),Be="undefined"!=typeof navigator&&/Apple Computer/.test(navigator.vendor),He="undefined"!=typeof navigator&&/Gecko\/\d+/.test(navigator.userAgent),Ke="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),Je="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),et=Fe&&(Ke||+Fe[1]<57)||He&&Ke,tt=0;tt<10;tt++)De[48+tt]=De[96+tt]=String(tt);for(tt=1;tt<=24;tt++)De[tt+111]="F"+tt;for(tt=65;tt<=90;tt++)De[tt]=String.fromCharCode(tt+32),Me[tt]=String.fromCharCode(tt);for(var nt in De)Me.hasOwnProperty(nt)||(Me[nt]=De[nt]);function rt(e){return e.getSelection?e.getSelection():document.getSelection()}function it(e,t){return!!t&&e.contains(1!=t.nodeType?t.parentNode:t)}function at(e,t){if(!t.anchorNode)return!1;try{return it(e,t.anchorNode)}catch(e){return!1}}function ot(e){return 3==e.nodeType?Qt(e,0,e.nodeValue.length).getClientRects():1==e.nodeType?e.getClientRects():[]}function st(e,t,n,r){return!!n&&(lt(e,t,n,r,-1)||lt(e,t,n,r,1))}function Ot(e){for(var t=0;;t++)if(!(e=e.previousSibling))return t}function lt(e,t,n,r,i){for(;;){if(e==n&&t==r)return!0;if(t==(i<0?0:ct(e))){if("DIV"==e.nodeName)return!1;let n=e.parentNode;if(!n||1!=n.nodeType)return!1;t=Ot(e)+(i<0?0:1),e=n}else{if(1!=e.nodeType)return!1;if(1==(e=e.childNodes[t+(i<0?-1:0)]).nodeType&&"false"==e.contentEditable)return!1;t=i<0?ct(e):0}}}function ct(e){return 3==e.nodeType?e.nodeValue.length:e.childNodes.length}const ut={left:0,right:0,top:0,bottom:0};function ht(e,t){let n=t?e.left:e.right;return{left:n,right:n,top:e.top,bottom:e.bottom}}function dt(e){return{left:0,right:e.innerWidth,top:0,bottom:e.innerHeight}}class pt{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}set(e){this.anchorNode=e.anchorNode,this.anchorOffset=e.anchorOffset,this.focusNode=e.focusNode,this.focusOffset=e.focusOffset}}let ft,mt=null;function gt(e){if(e.setActive)return e.setActive();if(mt)return e.focus(mt);let t=[];for(let n=e;n&&(t.push(n,n.scrollTop,n.scrollLeft),n!=n.ownerDocument);n=n.parentNode);if(e.focus(null==mt?{get preventScroll(){return mt={preventScroll:!0},!0}}:void 0),!mt){mt=!1;for(let e=0;et)return n.domBoundsAround(e,t,O);if(c>=e&&-1==r&&(r=s,i=O),O>t&&n.dom.parentNode==this.dom){a=s,o=l;break}l=c,O=c+n.breakAfter}return{from:i,to:o<0?n+this.length:o,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:a=0?this.children[a].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=kt){this.markDirty();for(let n=e;nthis.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}}}let[_t,Xt]="undefined"!=typeof navigator?[navigator,document]:[{userAgent:"",vendor:"",platform:""},{documentElement:{style:{}}}];const Tt=/Edge\/(\d+)/.exec(_t.userAgent),Rt=/MSIE \d/.test(_t.userAgent),Wt=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(_t.userAgent),qt=!!(Rt||Wt||Tt),zt=!qt&&/gecko\/(\d+)/i.test(_t.userAgent),Yt=!qt&&/Chrome\/(\d+)/.exec(_t.userAgent),Zt="webkitFontSmoothing"in Xt.documentElement.style,Ut=!qt&&/Apple Computer/.test(_t.vendor);var Et={mac:/Mac/.test(_t.platform),ie:qt,ie_version:Rt?Xt.documentMode||6:Wt?+Wt[1]:Tt?+Tt[1]:0,gecko:zt,gecko_version:zt?+(/Firefox\/(\d+)/.exec(_t.userAgent)||[0,0])[1]:0,chrome:!!Yt,chrome_version:Yt?+Yt[1]:0,ios:Ut&&(/Mobile\/\w+/.test(_t.userAgent)||_t.maxTouchPoints>2),android:/Android\b/.test(_t.userAgent),webkit:Zt,safari:Ut,webkit_version:Zt?+(/\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:null!=Xt.documentElement.style.tabSize?"tab-size":"-moz-tab-size"};const It=[];class Vt extends yt{become(e){return!1}getSide(){return 0}}Vt.prototype.children=It;class Ct extends Vt{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){return 3==e.nodeType&&(this.createDOM(e),!0)}merge(e,t,n){return(!n||n instanceof Ct&&!(this.length-(t-e)+n.length>256))&&(this.text=this.text.slice(0,e)+(n?n.text:"")+this.text.slice(t),this.markDirty(),!0)}slice(e){let t=new Ct(this.text.slice(e));return this.text=this.text.slice(0,e),t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new wt(this.dom,e)}domBoundsAround(e,t,n){return{from:n,to:n+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return Gt(this.dom,e,t)}}class At extends Vt{constructor(e,t=[],n=0){super(),this.mark=e,this.children=t,this.length=n;for(let e of t)e.setParent(this)}createDOM(){let e=document.createElement(this.mark.tagName);if(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]);this.setDOM(e)}sync(e){(!this.dom||4&this.dirty)&&this.createDOM(),super.sync(e)}merge(e,t,n,r,i){return(!n||!(!(n instanceof At&&n.mark.eq(this.mark))||e&&r<=0||te&&t.push(n=e&&(r=i),n=o,i++}let a=this.length-e;return this.length=e,r>-1&&this.replaceChildren(r,this.children.length),new At(this.mark,t,a)}domAtPos(e){return Dt(this.dom,this.children,e)}coordsAt(e,t){return Ft(this,e,t)}}function Gt(e,t,n){let r=e.nodeValue.length;t>r&&(t=r);let i=t,a=t,o=0;0==t&&n<0||t==r&&n>=0?Et.chrome||Et.gecko||(t?(i--,o=1):(a++,o=-1)):n<0?i--:a++;let s=Qt(e,i,a).getClientRects();if(!s.length)return ut;let O=s[(o?o<0:n>=0)?0:s.length-1];return Et.safari&&!o&&0==O.width&&(O=Array.prototype.find.call(s,(e=>e.width))||O),o?ht(O,o<0):O}class jt extends Vt{constructor(e,t,n){super(),this.widget=e,this.length=t,this.side=n}static create(e,t,n){return new(e.customView||jt)(e,t,n)}slice(e){let t=jt.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(){this.dom&&this.widget.updateDOM(this.dom)||(this.setDOM(this.widget.toDOM(this.editorView)),this.dom.contentEditable="false")}getSide(){return this.side}merge(e,t,n,r,i){return!(n&&(!(n instanceof jt&&this.widget.compare(n.widget))||e>0&&r<=0||t0?n.length-1:0;r=n[t],!(e>0?0==t:t==n.length-1||r.top0?-1:1);return 0==e&&t>0||e==this.length&&t<=0?r:ht(r,0==e)}}class Lt extends jt{domAtPos(e){return new wt(this.widget.text,e)}sync(){this.dom||this.setDOM(this.widget.toDOM())}localPosFromDOM(e,t){return t?3==e.nodeType?Math.min(t,this.length):this.length:0}ignoreMutation(){return!1}get overrideDOMText(){return null}coordsAt(e,t){return Gt(this.widget.text,e,t)}}function Nt(e,t,n,r,i,a){let o=e.childCursor(),{i:s,off:O}=o.findPos(n,1),{i:l,off:c}=o.findPos(t,-1),u=t-n;for(let e of r)u+=e.length;e.length+=u;let{children:h}=e;if(l==s&&c){let e=h[l];if(1==r.length&&e.merge(c,O,r[0],i,a))return;if(0==r.length)return void e.merge(c,O,null,i,a);let t=e.slice(O);t.merge(0,0,r[r.length-1],0,a)?r[r.length-1]=t:r.push(t),s++,a=O=0}if(O){let e=h[s];r.length&&e.merge(0,O,r[r.length-1],0,a)?(r.pop(),a=r.length?0:i):e.merge(0,O,null,0,0)}else si&&n0;r--){let n=t[r-1].dom;if(n.parentNode==e)return wt.after(n)}return new wt(e,0)}function Mt(e,t,n){let r,{children:i}=e;n>0&&t instanceof At&&i.length&&(r=i[i.length-1])instanceof At&&r.mark.eq(t.mark)?Mt(r,t.children[0],n-1):(i.push(t),t.setParent(e)),e.length+=t.length}function Ft(e,t,n){for(let r=0,i=0;i0?s>=t:s>t)&&(t0)){let e=0;if(s==r){if(o.getSide()<=0)continue;e=n=-o.getSide()}let i=o.coordsAt(t-r,n);return e&&i?ht(i,n<0):i}r=s}let r=e.dom.lastChild;if(!r)return e.dom.getBoundingClientRect();let i=ot(r);return i[i.length-1]}function Bt(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 Ht(e,t){if(e==t)return!0;if(!e||!t)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!=r.length)return!1;for(let i of n)if(-1==r.indexOf(i)||e[i]!==t[i])return!1;return!0}function Kt(e,t,n){if(t)for(let r in t)n&&r in n||e.removeAttribute(r);if(n)for(let r in n)t&&t[r]==n[r]||e.setAttribute(r,n[r])}class Jt{eq(e){return!1}updateDOM(e){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}ignoreEvent(e){return!0}get customView(){return null}}var en=function(e){return e[e.Text=0]="Text",e[e.WidgetBefore=1]="WidgetBefore",e[e.WidgetAfter=2]="WidgetAfter",e[e.WidgetRange=3]="WidgetRange",e}(en||(en={}));class tn extends Re{constructor(e,t,n,r){super(),this.startSide=e,this.endSide=t,this.widget=n,this.spec=r}get heightRelevant(){return!1}static mark(e){return new nn(e)}static widget(e){let t=e.side||0;return e.block&&(t+=200000001*(t>0?1:-1)),new an(e,t,t,!!e.block,e.widget||null,!1)}static replace(e){let t=!!e.block,{start:n,end:r}=on(e);return new an(e,t?-2e8*(n?2:1):1e8*(n?-1:1),t?2e8*(r?2:1):1e8*(r?1:-1),t,e.widget||null,!0)}static line(e){return new rn(e)}static set(e,t=!1){return Ye.of(e,t)}hasHeight(){return!!this.widget&&this.widget.estimatedHeight>-1}}tn.none=Ye.empty;class nn extends tn{constructor(e){let{start:t,end:n}=on(e);super(1e8*(t?-1:1),1e8*(n?1:-1),null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){return this==e||e instanceof nn&&this.tagName==e.tagName&&this.class==e.class&&Ht(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)}}nn.prototype.point=!1;class rn extends tn{constructor(e){super(-1e8,-1e8,null,e)}eq(e){return e instanceof rn&&Ht(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)}}rn.prototype.mapMode=k.TrackBefore,rn.prototype.point=!0;class an extends tn{constructor(e,t,n,r,i,a){super(t,n,i,e),this.block=r,this.isReplace=a,this.mapMode=r?t<0?k.TrackBefore:k.TrackAfter:k.TrackDel}get type(){return this.startSide=5}eq(e){return e instanceof an&&function(e,t){return e==t||!!(e&&t&&e.compare(t))}(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 on(e){let{inclusiveStart:t,inclusiveEnd:n}=e;return null==t&&(t=e.inclusive),null==n&&(n=e.inclusive),{start:t||!1,end:n||!1}}function sn(e,t,n,r=0){let i=n.length-1;i>=0&&n[i]+r>e?n[i]=Math.max(n[i],t):n.push(e,t)}an.prototype.point=!0;class On extends yt{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,n,r,i,a){if(n){if(!(n instanceof On))return!1;this.dom||n.transferDOM(this)}return r&&this.setDeco(n?n.attrs:null),Nt(this,e,t,n?n.children:ln,i,a),!0}split(e){let t=new On;if(t.breakAfter=this.breakAfter,0==this.length)return t;let{i:n,off:r}=this.childPos(e);r&&(t.append(this.children[n].slice(r),0),this.children[n].merge(r,this.children[n].length,null,0,0),n++);for(let e=n;e0&&0==this.children[n-1].length;)this.children[n-1].parent=null,n--;return this.children.length=n,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(e.setDOM(this.dom),e.prevAttrs=void 0===this.prevAttrs?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){Ht(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){Mt(this,e,t)}addLineDeco(e){let t=e.spec.attributes;t&&(this.attrs=Bt(t,this.attrs||{}))}domAtPos(e){return Dt(this.dom,this.children,e)}sync(e){(!this.dom||4&this.dirty)&&(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),void 0!==this.prevAttrs&&(Kt(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e);let t=this.dom.lastChild;for(;t&&yt.get(t)instanceof At;)t=t.lastChild;if(!t||"BR"!=t.nodeName&&yt.get(t)instanceof jt&&(!Et.ios||!this.children.some((e=>e instanceof Ct)))){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 Ct))return null;let n=ot(t.dom);if(1!=n.length)return null;e+=n[0].width}return{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length}}coordsAt(e,t){return Ft(this,e,t)}match(e){return!1}get type(){return en.Text}static find(e,t){for(let n=0,r=0;;n++){let i=e.children[n],a=r+i.length;if(a>=t){if(i instanceof On)return i;if(i.length)return null}r=a+i.breakAfter}}}const ln=[];class cn extends yt{constructor(e,t,n){super(),this.widget=e,this.length=t,this.type=n,this.breakAfter=0}merge(e,t,n,r,i,a){return!(n&&(!(n instanceof cn&&this.widget.compare(n.widget))||e>0&&i<=0||t0;){if(this.textOff==this.text.length){let{value:t,lineBreak:n,done:r}=this.cursor.next(this.skip);if(this.skip=0,r)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.curLine=null,e--;continue}this.text=t,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.getLine().append(this.wrapMarks(new Ct(this.text.slice(this.textOff,this.textOff+r)),t),n),this.textOff+=r,e-=r,n=0}}span(e,t,n,r){this.buildText(t-e,n,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,n,r,i){let a=t-e;if(n instanceof an)if(n.block){let{type:e}=n;e!=en.WidgetAfter||this.posCovered()||this.getLine(),this.addWidget(new cn(n.widget||new hn("div"),a,e))}else{let e=this.wrapMarks(jt.create(n.widget||new hn("span"),a,n.startSide),r);this.getLine().append(e,i)}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(n);a&&(this.textOff+a<=this.text.length?this.textOff+=a:(this.skip+=a-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=i)}static build(e,t,n,r){let i=new un(e,t,n);return i.openEnd=Ye.spans(r,t,n,i),i.openStart<0&&(i.openStart=i.openEnd),i.finish(),i}}class hn extends Jt{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 dn=[],pn=U.define(),fn=U.define(),mn=U.define(),gn=U.define(),Qn=U.define(),$n=U.define(),bn=ue.define({map:(e,t)=>e.map(t)});function xn(e,t,n){let r=e.facet(gn);r.length?r[0](t):window.onerror&&window.onerror(String(t),n,void 0,void 0,t)}const wn=U.define({combine:e=>!e.length||e[0]});class kn{constructor(e,t){this.field=e,this.get=t}}class yn{from(e){return new kn(this,e)}static define(){return new yn}}yn.decorations=yn.define(),yn.atomicRanges=yn.define(),yn.scrollMargins=yn.define();let Pn=0;const vn=U.define();class Sn{constructor(e,t,n){this.id=e,this.create=t,this.fields=n,this.extension=vn.of(this)}static define(e,t){let{eventHandlers:n,provide:r,decorations:i}=t||{},a=[];if(r)for(let e of Array.isArray(r)?r:[r])a.push(e);return n&&a.push(_n.from((e=>({plugin:e,handlers:n})))),i&&a.push(yn.decorations.from(i)),new Sn(Pn++,e,a)}static fromClass(e,t){return Sn.define((t=>new e(t)),t)}}const _n=yn.define();class Xn{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}takeField(e,t){for(let{field:n,get:r}of this.spec.fields)n==e&&t.push(r(this.value))}update(e){if(this.value){if(this.mustUpdate){let e=this.mustUpdate;if(this.mustUpdate=null,!this.value.update)return this;try{this.value.update(e)}catch(t){if(xn(e.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(e){}return Xn.dummy}}}else try{this.value=this.spec.create(e)}catch(t){return xn(e.state,t,"CodeMirror plugin crashed"),Xn.dummy}return this}destroy(e){var t;if(null===(t=this.value)||void 0===t?void 0:t.destroy)try{this.value.destroy()}catch(t){xn(e.state,t,"CodeMirror plugin crashed")}}}Xn.dummy=new Xn(Sn.define((()=>({}))));const Tn=U.define({combine:e=>e.reduce(((e,t)=>Bt(t,e)),{})}),Rn=U.define({combine:e=>e.reduce(((e,t)=>Bt(t,e)),{})}),Wn=U.define(),qn=U.define();class zn{constructor(e,t,n,r){this.fromA=e,this.toA=t,this.fromB=n,this.toB=r}join(e){return new zn(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 r=e[t-1];if(!(r.fromA>n.toA)){if(r.toAl)break;i+=2}if(!s)return n;new zn(s.fromA,s.toA,s.fromB,s.toB).addToSet(n),a=s.toA,o=s.toB}}}class Yn{constructor(e,t,n=dn){this.view=e,this.state=t,this.transactions=n,this.flags=0,this.startState=e.state,this.changes=P.empty(this.startState.doc.length);for(let e of n)this.changes=this.changes.compose(e.changes);let r=[];this.changes.iterChangedRanges(((e,t,n,i)=>r.push(new zn(e,t,n,i)))),this.changedRanges=r;let i=e.hasFocus;i!=e.inputState.notifiedFocused&&(e.inputState.notifiedFocused=i,this.flags|=1),this.docChanged&&(this.flags|=2)}get viewportChanged(){return(4&this.flags)>0}get heightChanged(){return(2&this.flags)>0}get geometryChanged(){return this.docChanged||(18&this.flags)>0}get focusChanged(){return(1&this.flags)>0}get docChanged(){return this.transactions.some((e=>e.docChanged))}get selectionSet(){return this.transactions.some((e=>e.selection))}get empty(){return 0==this.flags&&0==this.transactions.length}}class Zn extends yt{constructor(e){super(),this.view=e,this.compositionDeco=tn.none,this.decorations=[],this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.setDOM(e.contentDOM),this.children=[new On],this.children[0].setParent(this),this.updateInner([new zn(0,0,0,e.state.doc.length)],this.updateDeco(),0)}get root(){return this.view.root}get editorView(){return this.view}get length(){return this.view.state.doc.length}update(e){let t=e.changedRanges;this.minWidth>0&&t.length&&(t.every((({fromA:e,toA:t})=>tthis.minWidthTo))?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=0),this.view.inputState.composing<0?this.compositionDeco=tn.none:e.transactions.length&&(this.compositionDeco=function(e,t){let n=e.observer.selectionRange,r=n.focusNode&&In(n.focusNode,n.focusOffset,0);if(!r)return tn.none;let i,a,o=e.docView.nearest(r),s=r;if(o instanceof Vt){for(;o.parent instanceof Vt;)o=o.parent;i=o.posAtStart,a=i+o.length,s=o.dom}else{if(!(o instanceof On))return tn.none;{for(;s.parentNode!=o.dom;)s=s.parentNode;let e=s.previousSibling;for(;e&&!yt.get(e);)e=e.previousSibling;i=a=e?yt.get(e).posAtEnd:o.posAtStart}}let O=t.mapPos(i,1),l=Math.max(O,t.mapPos(a,-1)),c=r.nodeValue,{state:u}=e;if(l-Oe.isUserEvent("select.pointer")));return 0==this.dirty&&0==t.length&&!(12&e.flags)&&e.state.selection.main.from>=this.view.viewport.from&&e.state.selection.main.to<=this.view.viewport.to?(this.updateSelection(n,o),!1):(this.updateInner(t,i,e.startState.doc.length,n,o),!0)}updateInner(e,t,n,r=!1,i=!1){this.updateChildren(e,t,n);let{observer:a}=this.view;a.ignore((()=>{this.dom.style.height=this.view.viewState.domHeight+"px",this.dom.style.minWidth=this.minWidth?this.minWidth+"px":"";let e=Et.chrome||Et.ios?{node:a.selectionRange.focusNode,written:!1}:void 0;this.sync(e),this.dirty=0,e&&(e.written||a.selectionRange.focusNode!=e.node)&&(r=!0),this.updateSelection(r,i),this.dom.style.height=""}))}updateChildren(e,t,n){let r=this.childCursor(n);for(let n=e.length-1;;n--){let i=n>=0?e[n]:null;if(!i)break;let{fromA:a,toA:o,fromB:s,toB:O}=i,{content:l,breakAtStart:c,openStart:u,openEnd:h}=un.build(this.view.state.doc,s,O,t),{i:d,off:p}=r.findPos(o,1),{i:f,off:m}=r.findPos(a,-1);this.replaceRange(f,m,d,p,l,c,u,h)}}replaceRange(e,t,n,r,i,a,o,s){let O=this.children[e],l=i.length?i[i.length-1]:null,c=l?l.breakAfter:a;if(e==n&&!a&&!c&&i.length<2&&O.merge(t,r,i.length?l:null,0==t,o,s))return;let u=this.children[n];for(r0&&(!a&&i.length&&O.merge(t,O.length,i[0],!1,o,0)?O.breakAfter=i.shift().breakAfter:(tr.node.insertBefore(t,r.node.childNodes[r.offset]||null))),r=i=new wt(t,0),e=!0}var a;let o=this.view.observer.selectionRange;!e&&o.focusNode&&st(r.node,r.offset,o.anchorNode,o.anchorOffset)&&st(i.node,i.offset,o.focusNode,o.focusOffset)||(this.view.observer.ignore((()=>{let e=rt(this.root);if(n.empty){if(Et.gecko){let e=(t=r.node,a=r.offset,1!=t.nodeType?0:(a&&"false"==t.childNodes[a-1].contentEditable?1:0)|(an.head&&([r,i]=[i,r]),t.setEnd(i.node,i.offset),t.setStart(r.node,r.offset),e.removeAllRanges(),e.addRange(t)}var t,a})),this.view.observer.setSelectionRange(r,i)),this.impreciseAnchor=r.precise?null:new wt(o.anchorNode,o.anchorOffset),this.impreciseHead=i.precise?null:new wt(o.focusNode,o.focusOffset)}enforceCursorAssoc(){if(this.view.composing)return;let e=this.view.state.selection.main,t=rt(this.root);if(!e.empty||!e.assoc||!t.modify)return;let n=On.find(this,e.head);if(!n)return;let r=n.posAtStart;if(e.head==r||e.head==r+n.length)return;let i=this.coordsAt(e.head,-1),a=this.coordsAt(e.head,1);if(!i||!a||i.bottom>a.top)return;let o=this.domAtPos(e.head+e.assoc);t.collapse(o.node,o.offset),t.modify("move",e.assoc<0?"forward":"backward","lineboundary")}mayControlSelection(){return this.view.state.facet(wn)?this.root.activeElement==this.dom:at(this.dom,this.view.observer.selectionRange)}nearest(e){for(let t=e;t;){let e=yt.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(;ta||e==a&&i.type!=en.WidgetBefore&&i.type!=en.WidgetAfter&&(!r||2==t||this.children[r-1].breakAfter||this.children[r-1].type==en.WidgetBefore&&t>-2))return i.coordsAt(e-a,t);n=a}}measureVisibleLineHeights(){let e=[],{from:t,to:n}=this.view.viewState.viewport,r=Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1;for(let i=0,a=0;an)break;if(i>=t){e.push(o.dom.getBoundingClientRect().height);let t=o.dom.scrollWidth;t>r&&(this.minWidth=r=t,this.minWidthFrom=i,this.minWidthTo=s)}i=s+o.breakAfter}return e}measureTextSize(){for(let e of this.children)if(e instanceof On){let t=e.measureTextSize();if(t)return t}let e,t,n=document.createElement("div");return n.className="cm-line",n.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore((()=>{this.dom.appendChild(n);let r=ot(n.firstChild)[0];e=n.getBoundingClientRect().height,t=r?r.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 St(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let n=0,r=0;;r++){let i=r==t.viewports.length?null:t.viewports[r],a=i?i.from-1:this.length;if(a>n){let r=t.lineAt(a,0).bottom-t.lineAt(n,0).top;e.push(tn.replace({widget:new Un(r),block:!0,inclusive:!0}).range(n,a))}if(!i)break;n=i.to+1}return tn.set(e)}updateDeco(){return this.decorations=[...this.view.pluginField(yn.decorations),...this.view.state.facet(Wn),this.compositionDeco,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]}scrollRangeIntoView(e){let t,n=this.coordsAt(e.head,e.empty?e.assoc:e.head>e.anchor?-1:1);if(!n)return;!e.empty&&(t=this.coordsAt(e.anchor,e.anchor>e.head?-1:1))&&(n={left:Math.min(n.left,t.left),top:Math.min(n.top,t.top),right:Math.max(n.right,t.right),bottom:Math.max(n.bottom,t.bottom)});let r=0,i=0,a=0,o=0;for(let e of this.view.pluginField(yn.scrollMargins))if(e){let{left:t,right:n,top:s,bottom:O}=e;null!=t&&(r=Math.max(r,t)),null!=n&&(i=Math.max(i,n)),null!=s&&(a=Math.max(a,s)),null!=O&&(o=Math.max(o,O))}!function(e,t,n){let r=e.ownerDocument,i=r.defaultView;for(let a=e.parentNode;a;)if(1==a.nodeType){let e,o=a==r.body;if(o)e=dt(i);else{if(a.scrollHeight<=a.clientHeight&&a.scrollWidth<=a.clientWidth){a=a.parentNode;continue}let t=a.getBoundingClientRect();e={left:t.left,right:t.left+a.clientWidth,top:t.top,bottom:t.top+a.clientHeight}}let s=0,O=0;if(t.top0&&t.bottom>e.bottom+O&&(O=t.bottom-e.bottom+O+5)):t.bottom>e.bottom&&(O=t.bottom-e.bottom+5,n<0&&t.top-O0&&t.right>e.right+s&&(s=t.right-e.right+s+5)):t.right>e.right&&(s=t.right-e.right+5,n<0&&t.left0&&n<=0)t=ct(e=e.childNodes[t-1]);else{if(!(1==e.nodeType&&t=0))return null;e=e.childNodes[t],t=0}}}class Vn{constructor(){this.changes=[]}compareRange(e,t){sn(e,t,this.changes)}comparePoint(e,t){sn(e,t,this.changes)}}var Cn=function(e){return e[e.LTR=0]="LTR",e[e.RTL=1]="RTL",e}(Cn||(Cn={}));const An=Cn.LTR,Gn=Cn.RTL;function jn(e){let t=[];for(let n=0;n=t){if(o.level==n)return a;(i<0||(0!=r?r<0?o.fromt:e[i].level>o.level))&&(i=a)}}if(i<0)throw new RangeError("Index out of range");return i}}const Kn=[];function Jn(e){return[new Hn(0,e,0)]}let er="";function tr(e,t,n,i,a){var o;let s=i.head-e.from,O=-1;if(0==s){if(!a||!e.length)return null;t[0].level!=n&&(s=t[0].side(!1,n),O=0)}else if(s==e.length){if(a)return null;let e=t[t.length-1];e.level!=n&&(s=e.side(!0,n),O=t.length-1)}O<0&&(O=Hn.find(t,s,null!==(o=i.bidiLevel)&&void 0!==o?o:-1,i.assoc));let l=t[O];s==l.side(a,n)&&(l=t[O+=a?1:-1],s=l.side(!a,n));let c=a==(l.dir==n),u=r(e.text,s,c);if(er=e.text.slice(Math.min(s,u),Math.max(s,u)),u!=l.side(a,n))return q.cursor(u+e.from,c?-1:1,l.level);let h=O==(a?t.length-1:0)?null:t[O+(a?1:-1)];return h||l.level==n?h&&h.levele?t.left-e:Math.max(0,e-t.right)}function rr(e,t){return t.top>e?t.top-e:Math.max(0,e-t.bottom)}function ir(e,t){return e.topt.top+1}function ar(e,t){return te.bottom?{top:e.top,left:e.left,right:e.right,bottom:t}:e}function sr(e,t,n){let r,i,a,o,s,O,l,c;for(let u=e.firstChild;u;u=u.nextSibling){let e=ot(u);for(let h=0;hf||o==f&&a>p)&&(r=u,i=d,a=p,o=f),0==p?n>d.bottom&&(!l||l.bottomd.top)&&(O=u,c=d):l&&ir(l,d)?l=or(l,d.bottom):c&&ir(c,d)&&(c=ar(c,d.top))}}if(l&&l.bottom>=n?(r=s,i=l):c&&c.top<=n&&(r=O,i=c),!r)return{node:e,offset:0};let u=Math.max(i.left,Math.min(i.right,t));return 3==r.nodeType?Or(r,u,n):a||"true"!=r.contentEditable?{node:e,offset:Array.prototype.indexOf.call(e.childNodes,r)+(t>=(i.left+i.right)/2?1:0)}:sr(r,u,n)}function Or(e,t,n){let r=e.nodeValue.length,i=-1,a=1e9,o=0;for(let s=0;sn?l.top-n:n-l.bottom)-1;if(l.left-1<=t&&l.right+1>=t&&c=(l.left+l.right)/2,r=n;if(Et.chrome||Et.gecko){Qt(e,s).getBoundingClientRect().left==l.right&&(r=!n)}if(c<=0)return{node:e,offset:s+(r?1:0)};i=s+(r?1:0),a=c}}}return{node:e,offset:i>-1?i:o>0?e.nodeValue.length:0}}function lr(e,{x:t,y:n},r,i=-1){let a,o=e.contentDOM.getBoundingClientRect(),s=e.defaultLineHeight/2;for(let t=!1;;){if(a=e.blockAtHeight(n,o.top),a.top>n||a.bottomn?-1:1,n=Math.min(a.bottom-s,Math.max(a.top+s,n)),t)return r?null:0;t=!0}if(a.type==en.Text)break;n=i>0?a.bottom+s:a.top-s}let O=a.from;if(t=Math.max(o.left+1,Math.min(o.right-1,t)),Oe.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:cr(e,o,a,t,n);let l,c=e.root,u=c.elementFromPoint(t,n),h=-1;if(u&&e.contentDOM.contains(u)&&!(e.docView.nearest(u)instanceof jt))if(c.caretPositionFromPoint){let e=c.caretPositionFromPoint(t,n);e&&({offsetNode:l,offset:h}=e)}else if(c.caretRangeFromPoint){let e=c.caretRangeFromPoint(t,n);e&&(({startContainer:l,startOffset:h}=e),Et.safari&&function(e,t,n){let r;if(3!=e.nodeType||t!=(r=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=t.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return Qt(e,r-1,r).getBoundingClientRect().left>n}(l,h,t)&&(l=void 0))}if(!l||!e.docView.dom.contains(l)){let r=On.find(e.docView,O);({node:l,offset:h}=sr(r.dom,t,n))}return e.docView.posFromDOM(l,h)}function cr(e,t,n,i,a){let o=Math.round((i-t.left)*e.defaultCharacterWidth);if(e.lineWrapping&&n.height>1.5*e.defaultLineHeight){o+=Math.floor((a-n.top)/e.defaultLineHeight)*e.viewState.heightOracle.lineLength}let s=e.state.sliceDoc(n.from,n.to);return n.from+function(e,t,n){for(let i=0,a=0;i=t)return i;a+=9==e.charCodeAt(i)?n-a%n:1,i=r(e,i)}return e.length}(s,o,e.state.tabSize)}function ur(e,t,n,r){let i=e.state.doc.lineAt(t.head),a=e.bidiSpans(i);for(let o=t,s=null;;){let t=tr(i,a,e.textDirection,o,n),O=er;if(!t){if(i.number==(n?e.state.doc.lines:1))return o;O="\n",i=e.state.doc.line(i.number+(n?1:-1)),a=e.bidiSpans(i),t=q.cursor(n?i.from:i.to)}if(s){if(!s(O))return o}else{if(!r)return t;s=r(O)}o=t}}function hr(e,t,n){let r=e.pluginField(yn.atomicRanges);for(;;){let e=!1;for(let i of r)i.between(n.from-1,n.from+1,((r,i,a)=>{n.from>r&&n.fromn.from?q.cursor(r,1):q.cursor(i,-1),e=!0)}));if(!e)return n}}class dr{constructor(e){this.lastKeyCode=0,this.lastKeyTime=0,this.pendingIOSKey=null,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.rapidCompositionStart=!1,this.mouseSelection=null;for(let t in gr){let n=gr[t];e.contentDOM.addEventListener(t,(r=>{"keydown"==t&&this.keydown(e,r)||mr(e,r)&&!this.ignoreDuringComposition(r)&&(this.mustFlushObserver(r)&&e.observer.forceFlush(),this.runCustomHandlers(t,e,r)?r.preventDefault():n(e,r))})),this.registeredEvents.push(t)}this.notifiedFocused=e.hasFocus,this.ensureHandlers(e),Et.safari&&e.contentDOM.addEventListener("input",(()=>null))}setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}ensureHandlers(e){let t=this.customHandlers=e.pluginField(_n);for(let n of t)for(let t in n.handlers)this.registeredEvents.indexOf(t)<0&&"scroll"!=t&&(this.registeredEvents.push(t),e.contentDOM.addEventListener(t,(n=>{mr(e,n)&&this.runCustomHandlers(t,e,n)&&n.preventDefault()})))}runCustomHandlers(e,t,n){for(let r of this.customHandlers){let i=r.handlers[e],a=!1;if(i){try{a=i.call(r.plugin,n,t)}catch(e){xn(t.state,e)}if(a||n.defaultPrevented)return Et.android&&"keydown"==e&&13==n.keyCode&&t.observer.flushSoon(),!0}}return!1}runScrollHandlers(e,t){for(let n of this.customHandlers){let r=n.handlers.scroll;if(r)try{r.call(n.plugin,t,e)}catch(t){xn(e.state,t)}}}keydown(e,t){return this.lastKeyCode=t.keyCode,this.lastKeyTime=Date.now(),!!this.screenKeyEvent(e,t)||!(!Et.ios||13!=t.keyCode&&8!=t.keyCode||t.ctrlKey||t.altKey||t.metaKey||t.synthetic)&&(this.pendingIOSKey=13==t.keyCode?"enter":"backspace",setTimeout((()=>this.flushIOSKey(e)),250),!0)}flushIOSKey(e){if(!this.pendingIOSKey)return!1;let t=e.contentDOM,n=this.pendingIOSKey;return this.pendingIOSKey=null,"enter"==n?$t(t,"Enter",13):$t(t,"Backspace",8)}ignoreDuringComposition(e){return!!/^key/.test(e.type)&&(this.composing>0||!!(Et.safari&&Date.now()-this.compositionEndedAt<500)&&(this.compositionEndedAt=0,!0))}screenKeyEvent(e,t){let n=9==t.keyCode&&Date.now()=t.clientX&&n.top<=t.clientY&&n.bottom>=t.clientY)return!0}return!1}(t,n)&&null,!1===this.dragging&&(n.preventDefault(),this.select(n))}move(e){if(0==e.buttons)return this.destroy();!1===this.dragging&&this.select(this.lastEvent=e)}up(e){null==this.dragging&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.inputState.mouseSelection=null}select(e){let t=this.style.get(e,this.extend,this.multiple);t.eq(this.view.state.selection)&&t.main.assoc==this.view.state.selection.main.assoc||this.view.dispatch({selection:t,userEvent:"select.pointer",scrollIntoView:!0})}update(e){e.docChanged&&this.dragging&&(this.dragging=this.dragging.map(e.changes)),this.style.update(e)&&setTimeout((()=>this.select(this.lastEvent)),20)}}function mr(e,t){if(!t.bubbles)return!0;if(t.defaultPrevented)return!1;for(let n,r=t.target;r!=e.contentDOM;r=r.parentNode)if(!r||11==r.nodeType||(n=yt.get(r))&&n.ignoreEvent(t))return!1;return!0}const gr=Object.create(null),Qr=Et.ie&&Et.ie_version<15||Et.ios&&Et.webkit_version<604;function $r(e,t){let n,{state:r}=e,i=1,a=r.toText(t),o=a.lines==r.selection.ranges.length,s=Rr&&r.selection.ranges.every((e=>e.empty))&&Rr==a.toString();if(s){let e=-1;n=r.changeByRange((n=>{let s=r.doc.lineAt(n.from);if(s.from==e)return{range:n};e=s.from;let O=r.toText((o?a.line(i++).text:t)+r.lineBreak);return{changes:{from:s.from,insert:O},range:q.cursor(n.from+O.length)}}))}else n=o?r.changeByRange((e=>{let t=a.line(i++);return{changes:{from:e.from,to:e.to,insert:t.text},range:q.cursor(e.from+t.length)}})):r.replaceSelection(a);e.dispatch(n,{userEvent:"input.paste",scrollIntoView:!0})}gr.keydown=(e,t)=>{e.inputState.setSelectionOrigin("select")};let br=0;function xr(e,t,n,i){if(1==i)return q.cursor(t,n);if(2==i)return function(e,t,n=1){let i=e.charCategorizer(t),a=e.doc.lineAt(t),o=t-a.from;if(0==a.length)return q.cursor(t);0==o?n=1:o==a.length&&(n=-1);let s=o,O=o;n<0?s=r(a.text,o,!1):O=r(a.text,o);let l=i(a.text.slice(s,O));for(;s>0;){let e=r(a.text,s,!1);if(i(a.text.slice(e,s))!=l)break;s=e}for(;O{br=Date.now(),e.inputState.setSelectionOrigin("select.pointer")},gr.touchmove=e=>{e.inputState.setSelectionOrigin("select.pointer")},gr.mousedown=(e,t)=>{if(e.observer.flush(),br>Date.now()-2e3)return;let n=null;for(let r of e.state.facet(mn))if(n=r(e,t),n)break;n||0!=t.button||(n=function(e,t){let n=Pr(e,t),r=function(e){if(!vr)return e.detail;let t=Sr,n=Xr;return Sr=e,Xr=Date.now(),_r=!t||n>Date.now()-400&&Math.abs(t.clientX-e.clientX)<2&&Math.abs(t.clientY-e.clientY)<2?(_r+1)%3:1}(t),i=e.state.selection,a=n,o=t;return{update(e){e.changes&&(n&&(n.pos=e.changes.mapPos(n.pos)),i=i.map(e.changes),o=null)},get(t,s,O){let l;if(o&&t.clientX==o.clientX&&t.clientY==o.clientY?l=a:(l=a=Pr(e,t),o=t),!l||!n)return i;let c=xr(e,l.pos,l.bias,r);if(n.pos!=l.pos&&!s){let t=xr(e,n.pos,n.bias,r),i=Math.min(t.from,c.from),a=Math.max(t.to,c.to);c=igt(e.contentDOM))),e.inputState.startMouseSelection(e,t,n))};let wr=(e,t)=>e>=t.top&&e<=t.bottom,kr=(e,t,n)=>wr(t,n)&&e>=n.left&&e<=n.right;function yr(e,t,n,r){let i=On.find(e.docView,t);if(!i)return 1;let a=t-i.posAtStart;if(0==a)return 1;if(a==i.length)return-1;let o=i.coordsAt(a,-1);if(o&&kr(n,r,o))return-1;let s=i.coordsAt(a,1);return s&&kr(n,r,s)?1:o&&wr(r,o)?-1:1}function Pr(e,t){let n=e.posAtCoords({x:t.clientX,y:t.clientY},!1);return{pos:n,bias:yr(e,n,t.clientX,t.clientY)}}const vr=Et.ie&&Et.ie_version<=11;let Sr=null,_r=0,Xr=0;function Tr(e,t,n,r){let i=e.posAtCoords({x:t.clientX,y:t.clientY});if(null==i||!n)return;t.preventDefault();let{mouseSelection:a}=e.inputState,o=r&&a&&a.dragging&&a.dragMove?{from:a.dragging.from,to:a.dragging.to}:null,s={from:i,insert:n},O=e.state.changes(o?[o,s]:s);e.focus(),e.dispatch({changes:O,selection:{anchor:O.mapPos(i,-1),head:O.mapPos(i,1)},userEvent:o?"move.drop":"input.drop"})}gr.dragstart=(e,t)=>{let{selection:{main:n}}=e.state,{mouseSelection:r}=e.inputState;r&&(r.dragging=n),t.dataTransfer&&(t.dataTransfer.setData("Text",e.state.sliceDoc(n.from,n.to)),t.dataTransfer.effectAllowed="copyMove")},gr.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 r=Array(n.length),i=0,a=()=>{++i==n.length&&Tr(e,t,r.filter((e=>null!=e)).join(e.state.lineBreak),!1)};for(let e=0;e{/[\x00-\x08\x0e-\x1f]{2}/.test(t.result)||(r[e]=t.result),a()},t.readAsText(n[e])}}else Tr(e,t,t.dataTransfer.getData("Text"),!0)},gr.paste=(e,t)=>{if(e.state.readOnly)return t.preventDefault();e.observer.flush();let n=Qr?null:t.clipboardData,r=n&&n.getData("text/plain");r?($r(e,r),t.preventDefault()):function(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(),$r(e,n.value)}),50)}(e)};let Rr=null;function Wr(e,t){if(e.docView.compositionDeco.size){e.inputState.rapidCompositionStart=t;try{e.update([])}finally{e.inputState.rapidCompositionStart=!1}}}gr.copy=gr.cut=(e,t)=>{let{text:n,ranges:r,linewise:i}=function(e){let t=[],n=[],r=!1;for(let r of e.selection.ranges)r.empty||(t.push(e.sliceDoc(r.from,r.to)),n.push(r));if(!t.length){let i=-1;for(let{from:r}of e.selection.ranges){let a=e.doc.lineAt(r);a.number>i&&(t.push(a.text),n.push({from:a.from,to:Math.min(e.doc.length,a.to+1)})),i=a.number}r=!0}return{text:t.join(e.lineBreak),ranges:n,linewise:r}}(e.state);if(!n)return;Rr=i?n:null;let a=Qr?null:t.clipboardData;a?(t.preventDefault(),a.clearData(),a.setData("text/plain",n)):function(e,t){let n=e.dom.parentNode;if(!n)return;let r=n.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=t,r.focus(),r.selectionEnd=t.length,r.selectionStart=0,setTimeout((()=>{r.remove(),e.focus()}),50)}(e,n),"cut"!=t.type||e.state.readOnly||e.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"})},gr.focus=gr.blur=e=>{setTimeout((()=>{e.hasFocus!=e.inputState.notifiedFocused&&e.update([])}),10)},gr.beforeprint=e=>{e.viewState.printing=!0,e.requestMeasure(),setTimeout((()=>{e.viewState.printing=!1,e.requestMeasure()}),2e3)},gr.compositionstart=gr.compositionupdate=e=>{null==e.inputState.compositionFirstChange&&(e.inputState.compositionFirstChange=!0),e.inputState.composing<0&&(e.docView.compositionDeco.size&&(e.observer.flush(),Wr(e,!0)),e.inputState.composing=0)},gr.compositionend=e=>{e.inputState.composing=-1,e.inputState.compositionEndedAt=Date.now(),e.inputState.compositionFirstChange=null,setTimeout((()=>{e.inputState.composing<0&&Wr(e,!1)}),50)},gr.contextmenu=e=>{e.inputState.lastContextMenu=Date.now()};const qr=["pre-wrap","normal","pre-line"];class zr{constructor(){this.doc=h.empty,this.lineWrapping=!1,this.direction=Cn.LTR,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.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}mustRefresh(e,t,n){let r=!1;for(let t=0;t-1!=this.lineWrapping||this.direction!=n}refresh(e,t,n,r,i,a){let o=qr.indexOf(e)>-1,s=Math.round(n)!=Math.round(this.lineHeight)||this.lineWrapping!=o||this.direction!=t;if(this.lineWrapping=o,this.direction=t,this.lineHeight=n,this.charWidth=r,this.lineLength=i,s){this.heightSamples={};for(let e=0;e0}set outdated(e){this.flags=(e?2:0)|-3&this.flags}setHeight(e,t){this.height!=t&&(Math.abs(this.height-t)>1e-4&&(e.heightChanged=!0),this.height=t)}replace(e,t,n){return Er.of(n)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,n,r){let i=this;for(let a=r.length-1;a>=0;a--){let{fromA:o,toA:s,fromB:O,toB:l}=r[a],c=i.lineAt(o,Ur.ByPosNoHeight,t,0,0),u=c.to>=s?c:i.lineAt(s,Ur.ByPosNoHeight,t,0,0);for(l+=u.to-s,s=u.to;a>0&&c.from<=r[a-1].toA;)o=r[a-1].fromA,O=r[a-1].fromB,a--,o2*i){let i=e[t-1];i.break?e.splice(--t,1,i.left,null,i.right):e.splice(--t,1,i.left,i.right),n+=1+i.break,r-=i.size}else{if(!(i>2*r))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,i-=t.size}}else if(r0){let e=n[n.length-1];e instanceof Cr?n[n.length-1]=new Cr(e.length+r):n.push(null,new Cr(r-1))}if(e>0){let t=n[0];t instanceof Cr?n[0]=new Cr(e+t.length):n.unshift(new Cr(e-1),null)}return Er.of(n)}decomposeLeft(e,t){t.push(new Cr(e-1),null)}decomposeRight(e,t){t.push(null,new Cr(this.length-e-1))}updateHeight(e,t=0,n=!1,r){let i=t+this.length;if(r&&r.from<=t+this.length&&r.more){let n=[],a=Math.max(t,r.from);for(r.from>t&&n.push(new Cr(r.from-t-1).updateHeight(e,t));a<=i&&r.more;){let t=e.doc.lineAt(a).length;n.length&&n.push(null);let i=new Vr(t,r.heights[r.index++]);i.outdated=!1,n.push(i),a+=t+1}return a<=i&&n.push(null,new Cr(i-a).updateHeight(e,a)),e.heightChanged=!0,Er.of(n)}return(n||this.outdated)&&(this.setHeight(e,e.heightForGap(t,t+this.length)),this.outdated=!1),this}toString(){return`gap(${this.length})`}}class Ar extends Er{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,r){let i=n+this.left.height;return eo))return O;let l=t==Ur.ByPosNoHeight?Ur.ByPosNoHeight:Ur.ByPos;return s?O.join(this.right.lineAt(o,l,n,a,o)):this.left.lineAt(o,l,n,r,i).join(O)}forEachLine(e,t,n,r,i,a){let o=r+this.left.height,s=i+this.left.length+this.break;if(this.break)e=s&&this.right.forEachLine(e,t,n,o,s,a);else{let O=this.lineAt(s,Ur.ByPos,n,r,i);e=e&&O.from<=t&&a(O),t>O.to&&this.right.forEachLine(O.to+1,t,n,o,s,a)}}replace(e,t,n){let r=this.left.length+this.break;if(tthis.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,n));let i=[];e>0&&this.decomposeLeft(e,i);let a=i.length;for(let e of n)i.push(e);if(e>0&&Gr(i,a-1),t=n&&t.push(null)),e>n&&this.right.decomposeLeft(e-n,t)}decomposeRight(e,t){let n=this.left.length,r=n+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e2*t.size||t.size>2*e.size?Er.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,r){let{left:i,right:a}=this,o=t+i.length+this.break,s=null;return r&&r.from<=t+i.length&&r.more?s=i=i.updateHeight(e,t,n,r):i.updateHeight(e,t,n),r&&r.from<=o+a.length&&r.more?s=a=a.updateHeight(e,o,n,r):a.updateHeight(e,o,n),s?this.balanced(i,a):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function Gr(e,t){let n,r;null==e[t]&&(n=e[t-1])instanceof Cr&&(r=e[t+1])instanceof Cr&&e.splice(t-1,3,new Cr(n.length+1+r.length))}class jr{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 Vr?n.length+=e-this.pos:(e>this.pos||!this.isCovered)&&this.nodes.push(new Vr(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=5)&&this.addLineDeco(r,i)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenToe&&this.nodes.push(new Vr(this.pos-e,-1)),this.writtenTo=this.pos}blankContent(e,t){let n=new Cr(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 Vr)return e;let t=new Vr(0,-1);return this.nodes.push(t),t}addBlock(e){this.enterLine(),e.type!=en.WidgetAfter||this.isCovered||this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,e.type!=en.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 Vr||this.isCovered?(this.writtenToe.draw(!1)))),this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let n=0;n<=1;n++){let r=n?t.head:t.anchor;if(!e.some((({from:e,to:t})=>r>=e&&r<=t))){let{from:t,to:n}=this.lineAt(r,0);e.push(new Fr(t,n))}}this.viewports=e.sort(((e,t)=>e.from-t.from)),this.scaler=this.heightMap.height<=7e6?Jr:new ei(this.heightOracle.doc,this.heightMap,this.viewports)}update(e,t=null){let n=this.state;this.state=e.state;let r=this.state.facet(Wn),i=e.changedRanges,a=zn.extendWithRanges(i,function(e,t,n){let r=new Lr;return Ye.compare(e,t,n,r,0),r.changes}(e.startState.facet(Wn),r,e?e.changes:P.empty(this.state.doc.length))),o=this.heightMap.height;this.heightMap=this.heightMap.applyChanges(r,n.doc,this.heightOracle.setDoc(this.state.doc),a),this.heightMap.height!=o&&(e.flags|=2);let s=a.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.heads.to)||!this.viewportIsAppropriate(s))&&(s=this.getViewport(0,t)),s.eq(this.viewport)||(this.viewport=s,e.flags|=4),this.updateForViewport(),(this.lineGaps.length||this.viewport.to-this.viewport.from>15e3)&&(e.flags|=this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes)))),this.computeVisibleRanges(),t&&(this.scrollTo=t),!this.mustEnforceCursorAssoc&&e.selectionSet&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&(this.mustEnforceCursorAssoc=!0)}measure(e,t){let n=e.dom,r="",i=Cn.LTR;if(!t){let e=window.getComputedStyle(n);r=e.whiteSpace,i="rtl"==e.direction?Cn.RTL:Cn.LTR,this.paddingTop=parseInt(e.paddingTop)||0,this.paddingBottom=parseInt(e.paddingBottom)||0}let a=this.printing?{top:-1e8,bottom:1e8,left:-1e8,right:1e8}:function(e,t){let n=e.getBoundingClientRect(),r=Math.max(0,n.left),i=Math.min(innerWidth,n.right),a=Math.max(0,n.top),o=Math.min(innerHeight,n.bottom);for(let t=e.parentNode;t;)if(1==t.nodeType){let e=window.getComputedStyle(t);if((t.scrollHeight>t.clientHeight||t.scrollWidth>t.clientWidth)&&"visible"!=e.overflow){let e=t.getBoundingClientRect();r=Math.max(r,e.left),i=Math.min(i,e.right),a=Math.max(a,e.top),o=Math.min(o,e.bottom)}t="absolute"==e.position||"fixed"==e.position?t.offsetParent:t.parentNode}else{if(11!=t.nodeType)break;t=t.host}return{left:r-n.left,right:i-n.left,top:a-(n.top+t),bottom:o-(n.top+t)}}(n,this.paddingTop),o=a.top-this.pixelViewport.top,s=a.bottom-this.pixelViewport.bottom;if(this.pixelViewport=a,this.inView=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left,!this.inView)return 0;let O=e.measureVisibleLineHeights(),l=!1,c=0,u=0,h=this.heightOracle;if(!t){let t=e.dom.clientWidth;if(h.mustRefresh(O,r,i)||h.lineWrapping&&Math.abs(t-this.contentWidth)>h.charWidth){let{lineHeight:n,charWidth:a}=e.measureTextSize();l=h.refresh(r,i,n,a,t/a,O),l&&(e.minWidth=0,u|=16)}this.contentWidth!=t&&(this.contentWidth=t,u|=16),o>0&&s>0?c=Math.max(o,s):o<0&&s<0&&(c=Math.min(o,s))}if(h.heightChanged=!1,this.heightMap=this.heightMap.updateHeight(h,0,l,new Yr(this.viewport.from,O)),h.heightChanged&&(u|=2),!this.viewportIsAppropriate(this.viewport,c)||this.scrollTo&&(this.scrollTo.headthis.viewport.to)){let e=this.getViewport(c,this.scrollTo);e.from==this.viewport.from&&e.to==this.viewport.to||(this.viewport=e,u|=4)}return this.updateForViewport(),(this.lineGaps.length||this.viewport.to-this.viewport.from>15e3)&&(u|=this.updateLineGaps(this.ensureLineGaps(l?[]:this.lineGaps))),this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.enforceCursorAssoc()),u}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top,0)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom,0)}getViewport(e,t){let n=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,i=this.state.doc,{visibleTop:a,visibleBottom:o}=this,s=new Fr(r.lineAt(a-1e3*n,Ur.ByHeight,i,0,0).from,r.lineAt(o+1e3*(1-n),Ur.ByHeight,i,0,0).to);if(t)if(t.heads.to){let{bottom:e}=r.lineAt(t.head,Ur.ByPos,i,0,0);s=new Fr(r.lineAt(e-(o-a)-500,Ur.ByHeight,i,0,0).from,r.lineAt(e+500,Ur.ByHeight,i,0,0).to)}return s}mapViewport(e,t){let n=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new Fr(this.heightMap.lineAt(n,Ur.ByPos,this.state.doc,0,0).from,this.heightMap.lineAt(r,Ur.ByPos,this.state.doc,0,0).to)}viewportIsAppropriate({from:e,to:t},n=0){let{top:r}=this.heightMap.lineAt(e,Ur.ByPos,this.state.doc,0,0),{bottom:i}=this.heightMap.lineAt(t,Ur.ByPos,this.state.doc,0,0),{visibleTop:a,visibleBottom:o}=this;return(0==e||r<=a-Math.max(10,Math.min(-n,250)))&&(t==this.state.doc.length||i>=o+Math.max(10,Math.min(n,250)))&&r>a-2e3&&i{if(n.length<1e4)return;let r,i,a=function(e,t,n){let r=[],i=e,a=0;Ye.spans(n.facet(Wn),e,t,{span(){},point(e,t){e>i&&(r.push({from:i,to:e}),a+=e-i),i=t}},20),i=n.from&&(r=o.from),o.from<=n.to&&o.to>=i&&(i=o.to);let s=r-1e4,O=i+1e4;s>n.from+5e3&&t.push(Kr(e,(e=>e.from==n.from&&e.to>s-5e3&&e.toe.to==n.to&&e.from>O-5e3&&e.frome.draw(this.heightOracle.lineWrapping)))),8)}computeVisibleRanges(){let e=this.state.facet(Wn);this.lineGaps.length&&(e=e.concat(this.lineGapDeco));let t=[];Ye.spans(e,this.viewport.from,this.viewport.to,{span(e,n){t.push({from:e,to:n})},point(){}},20),this.visibleRanges=t}lineAt(e,t){return t+=this.paddingTop,ti(this.heightMap.lineAt(e,Ur.ByPos,this.state.doc,t,0),this.scaler,t)}lineAtHeight(e,t){return t+=this.paddingTop,ti(this.heightMap.lineAt(this.scaler.fromDOM(e,t),Ur.ByHeight,this.state.doc,t,0),this.scaler,t)}blockAtHeight(e,t){return t+=this.paddingTop,ti(this.heightMap.blockAt(this.scaler.fromDOM(e,t),this.state.doc,t,0),this.scaler,t)}forEachLine(e,t,n,r){return r+=this.paddingTop,this.heightMap.forEachLine(e,t,this.state.doc,r,0,1==this.scaler.scale?n:e=>n(ti(e,this.scaler,r)))}get contentHeight(){return this.domHeight+this.paddingTop+this.paddingBottom}get domHeight(){return this.scaler.toDOM(this.heightMap.height,this.paddingTop)}}class Fr{constructor(e,t){this.from=e,this.to=t}eq(e){return this.from==e.from&&this.to==e.to}}function Br({total:e,ranges:t},n){if(n<=0)return t[0].from;if(n>=1)return t[t.length-1].to;let r=Math.floor(e*n);for(let e=0;;e++){let{from:n,to:i}=t[e],a=i-n;if(r<=a)return n+r;r-=a}}function Hr(e,t){let n=0;for(let{from:r,to:i}of e.ranges){if(t<=i){n+=t-r;break}n+=i-r}return n/e.total}function Kr(e,t){for(let n of e)if(t(n))return n}const Jr={toDOM:e=>e,fromDOM:e=>e,scale:1};class ei{constructor(e,t,n){let r=0,i=0,a=0;this.viewports=n.map((({from:n,to:i})=>{let a=t.lineAt(n,Ur.ByPos,e,0,0).top,o=t.lineAt(i,Ur.ByPos,e,0,0).bottom;return r+=o-a,{from:n,to:i,top:a,bottom:o,domTop:0,domBottom:0}})),this.scale=(7e6-r)/(t.height-r);for(let e of this.viewports)e.domTop=a+(e.top-i)*this.scale,a=e.domBottom=e.domTop+(e.bottom-e.top),i=e.bottom}toDOM(e,t){e-=t;for(let n=0,r=0,i=0;;n++){let a=nti(e,t,n))):e.type)}const ni=U.define({combine:e=>e.join(" ")}),ri=U.define({combine:e=>e.indexOf(!0)>-1}),ii=_e.newName(),ai=_e.newName(),oi=_e.newName(),si={"&light":"."+ai,"&dark":"."+oi};function Oi(e,t,n){return new _e(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 li=Oi("."+ii,{"&":{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,minHeight:"100%",display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",padding:"4px 0",outline:"none"},".cm-lineWrapping":{whiteSpace:"pre-wrap",wordBreak:"break-word",overflowWrap:"anywhere"},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 4px"},".cm-selectionLayer":{zIndex:-1,contain:"size style"},".cm-selectionBackground":{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":{zIndex:100,contain:"size style",pointerEvents:"none"},"&.cm-focused .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{visibility:"hidden"},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{visibility:"hidden"},"100%":{}},".cm-cursor":{position:"absolute",borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none",display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},"&.cm-focused .cm-cursor":{display:"block"},"&light .cm-activeLine":{backgroundColor:"#f3f9ff"},"&dark .cm-activeLine":{backgroundColor:"#223039"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-placeholder":{color:"#888",display:"inline-block"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"3px"},"&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"}},si),ci={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},ui=Et.ie&&Et.ie_version<=11;class hi{constructor(e,t,n){this.view=e,this.onChange=t,this.onScrollChanged=n,this.active=!1,this.ignoreSelection=new pt,this.delayedFlush=-1,this.queue=[],this.lastFlush=0,this.scrollTargets=[],this.intersection=null,this.intersecting=!1,this._selectionRange=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver((t=>{for(let e of t)this.queue.push(e);this._selectionRange=null,(Et.ie&&Et.ie_version<=11||Et.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()})),ui&&(this.onCharData=e=>{this.queue.push({target:e.target,type:"characterData",oldValue:e.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.start(),this.onScroll=this.onScroll.bind(this),window.addEventListener("scroll",this.onScroll),"function"==typeof IntersectionObserver&&(this.intersection=new IntersectionObserver((e=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),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.listenForScroll()}onScroll(e){this.intersecting&&this.flush(),this.onScrollChanged(e)}onSelectionChange(e){this.lastFlush{this.delayedFlush=-1,this.flush()}),20))}forceFlush(){this.delayedFlush>=0&&(window.clearTimeout(this.delayedFlush),this.delayedFlush=-1,this.flush())}flush(){if(this.delayedFlush>=0)return;this.lastFlush=Date.now();let e=this.queue;for(let t of this.observer.takeRecords())e.push(t);e.length&&(this.queue=[]);let t=this.selectionRange,n=!this.ignoreSelection.eq(t)&&at(this.dom,t);if(0==e.length&&!n)return;let r=-1,i=-1,a=!1;for(let t of e){let e=this.readMutation(t);e&&(e.typeOver&&(a=!0),-1==r?({from:r,to:i}=e):(r=Math.min(e.from,r),i=Math.max(e.to,i)))}let o=this.view.state;(r>-1||n)&&this.onChange(r,i,a),this.view.state==o&&(this.view.docView.dirty&&(this.ignore((()=>this.view.docView.sync())),this.view.docView.dirty=0),n&&this.view.docView.updateSelection()),this.clearSelection()}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=di(t,e.previousSibling||e.target.previousSibling,-1),r=di(t,e.nextSibling||e.target.nextSibling,1);return{from:n?t.posAfter(n):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}return"characterData"==e.type?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}destroy(){this.stop(),this.intersection&&this.intersection.disconnect();for(let e of this.scrollTargets)e.removeEventListener("scroll",this.onScroll);window.removeEventListener("scroll",this.onScroll),clearTimeout(this.parentCheck)}}function di(e,t,n){for(;t;){let r=yt.get(t);if(r&&r.parent==e)return r;let i=t.parentNode;t=i!=e.dom?i:n>0?t.nextSibling:t.previousSibling}return null}function pi(e,t,n,r){let i,a,o,s=e.state.selection.main;if(t>-1&&!e.state.readOnly&&(o=e.docView.domBoundsAround(t,n,0))){let{from:t,to:n}=o,r=e.docView.impreciseHead||e.docView.impreciseAnchor?[]:function(e){let t=[];if(e.root.activeElement!=e.contentDOM)return t;let{anchorNode:n,anchorOffset:r,focusNode:i,focusOffset:a}=e.observer.selectionRange;n&&(t.push(new gi(n,r)),i==n&&a==r||t.push(new gi(i,a)));return t}(e),O=new fi(r,e);O.readRange(o.startDOM,o.endDOM),a=function(e,t){if(0==e.length)return null;let n=e[0].pos,r=2==e.length?e[1].pos:n;return n>-1&&r>-1?q.single(n+t,r+t):null}(r,t);let l=s.from,c=null;(8===e.inputState.lastKeyCode&&e.inputState.lastKeyTime>Date.now()-100||Et.android&&O.text.length0&&s>0&&e.charCodeAt(o-1)==t.charCodeAt(s-1);)o--,s--;if("end"==r){n-=o+Math.max(0,a-Math.min(o,s))-a}if(o=o?a-n:0,s=a+(s-o),o=a}else if(s=s?a-n:0,o=a+(o-s),s=a}return{from:a,toA:o,toB:s}}(e.state.sliceDoc(t,n),O.text,l-t,c);u&&(i={from:t+u.from,to:t+u.toA,insert:e.state.toText(O.text.slice(u.from,u.toB))})}else if(e.hasFocus||!e.state.facet(wn)){let t=e.observer.selectionRange,{impreciseHead:n,impreciseAnchor:r}=e.docView,i=n&&n.node==t.focusNode&&n.offset==t.focusOffset||!it(e.contentDOM,t.focusNode)?e.state.selection.main.head:e.docView.posFromDOM(t.focusNode,t.focusOffset),o=r&&r.node==t.anchorNode&&r.offset==t.anchorOffset||!it(e.contentDOM,t.anchorNode)?e.state.selection.main.anchor:e.docView.posFromDOM(t.anchorNode,t.anchorOffset);i==s.head&&o==s.anchor||(a=q.single(o,i))}if(i||a)if(!i&&r&&!s.empty&&a&&a.main.empty?i={from:s.from,to:s.to,insert:e.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:e.state.doc.slice(s.from,i.from).append(i.insert).append(e.state.doc.slice(i.to,s.to))}),i){let t=e.state;if(Et.android&&(i.from==s.from&&i.to==s.to&&1==i.insert.length&&2==i.insert.lines&&$t(e.contentDOM,"Enter",13)||i.from==s.from-1&&i.to==s.to&&0==i.insert.length&&$t(e.contentDOM,"Backspace",8)||i.from==s.from&&i.to==s.to+1&&0==i.insert.length&&$t(e.contentDOM,"Delete",46))||Et.ios&&e.inputState.flushIOSKey(e))return;let n,r=i.insert.toString();if(e.state.facet($n).some((t=>t(e,i.from,i.to,r))))return;if(e.inputState.composing>=0&&e.inputState.composing++,i.from>=s.from&&i.to<=s.to&&i.to-i.from>=(s.to-s.from)/3&&(!a||a.main.empty&&a.main.from==i.from+i.insert.length)){let r=s.fromi.to?t.sliceDoc(i.to,s.to):"";n=t.replaceSelection(e.state.toText(r+i.insert.sliceString(0,void 0,e.state.lineBreak)+a))}else{let e=t.changes(i);n={changes:e,selection:a&&!t.selection.main.eq(a.main)&&a.main.to<=e.newLength?t.selection.replaceRange(a.main):void 0}}let o="input.type";e.composing&&(o+=".compose",e.inputState.compositionFirstChange&&(o+=".start",e.inputState.compositionFirstChange=!1)),e.dispatch(n,{scrollIntoView:!0,userEvent:o})}else if(a&&!a.main.eq(s)){let t=!1,n="select";e.inputState.lastSelectionTime>Date.now()-50&&("select"==e.inputState.lastSelectionOrigin&&(t=!0),n=e.inputState.lastSelectionOrigin),e.dispatch({selection:a,scrollIntoView:t,userEvent:n})}}class fi{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineBreak=t.state.lineBreak}readRange(e,t){if(!e)return;let n=e.parentNode;for(let r=e;;){this.findPointBefore(n,r),this.readNode(r);let e=r.nextSibling;if(e==t)break;let i=yt.get(r),a=yt.get(e);((i?i.breakAfter:mi(r))||(a?a.breakAfter:mi(e))&&("BR"!=r.nodeName||r.cmIgnore))&&(this.text+=this.lineBreak),r=e}this.findPointBefore(n,t)}readNode(e){if(e.cmIgnore)return;let t,n=yt.get(e),r=n&&n.overrideDOMText;null!=r?t=r.sliceString(0,void 0,this.lineBreak):3==e.nodeType?t=e.nodeValue:"BR"==e.nodeName?t=e.nextSibling?this.lineBreak:"":1==e.nodeType&&this.readRange(e.firstChild,null),null!=t&&(this.findPointIn(e,t.length),this.text+=t,Et.chrome&&13==this.view.inputState.lastKeyCode&&!e.nextSibling&&/\n\n$/.test(this.text)&&(this.text=this.text.slice(0,-1)))}findPointBefore(e,t){for(let n of this.points)n.node==e&&e.childNodes[n.offset]==t&&(n.pos=this.text.length)}findPointIn(e,t){for(let n of this.points)n.node==e&&(n.pos=this.text.length+Math.min(n.offset,t))}}function mi(e){return 1==e.nodeType&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(e.nodeName)}class gi{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}}class Qi{constructor(e={}){this.plugins=[],this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],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: absolute; 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||document,this.viewState=new Mr(e.state||ke.create()),this.plugins=this.state.facet(vn).map((e=>new Xn(e).update(this))),this.observer=new hi(this,((e,t,n)=>{pi(this,e,t,n)}),(e=>{this.inputState.runScrollHandlers(this,e),this.observer.intersecting&&this.measure()})),this.inputState=new dr(this),this.docView=new Zn(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,window.addEventListener("resize",(()=>{-1==xi&&(xi=setTimeout(wi,50))})),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}dispatch(...e){this._dispatch(1==e.length&&e[0]instanceof he?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,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(r.facet(ke.phrases)!=this.state.facet(ke.phrases))return this.setState(r);t=new Yn(this,r,e);let i=null;try{this.updateState=2;for(let t of e){if(i&&(i=i.map(t.changes)),t.scrollIntoView){let{main:e}=t.state.selection;i=e.empty?e:q.cursor(e.head,e.head>e.anchor?-1:1)}for(let e of t.effects)e.is(bn)&&(i=e.value)}this.viewState.update(t,i),this.bidiCache=yi.update(this.bidiCache,t.changes),t.empty||(this.updatePlugins(t),this.inputState.update(t)),n=this.docView.update(t),this.state.facet(qn)!=this.styleModules&&this.mountStyles(),this.updateAttrs(),this.showAnnouncements(e)}finally{this.updateState=0}if((n||i||this.viewState.mustEnforceCursorAssoc)&&this.requestMeasure(),!t.empty)for(let e of this.state.facet(Qn))e(t)}setState(e){if(0!=this.updateState)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");this.updateState=2;try{for(let e of this.plugins)e.destroy(this);this.viewState=new Mr(e),this.plugins=e.facet(vn).map((e=>new Xn(e).update(this))),this.docView=new Zn(this),this.inputState.ensureHandlers(this),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(vn),n=e.state.facet(vn);if(t!=n){let r=[];for(let i of n){let n=t.indexOf(i);if(n<0)r.push(new Xn(i));else{let t=this.plugins[n];t.mustUpdate=e,r.push(t)}}for(let t of this.plugins)t.mustUpdate!=e&&t.destroy(this);this.plugins=r,this.inputState.ensureHandlers(this)}else for(let t of this.plugins)t.mustUpdate=e;for(let e=0;e-1&&cancelAnimationFrame(this.measureScheduled),this.measureScheduled=-1,e&&this.observer.flush();let t=null;try{for(let e=0;;e++){this.updateState=1;let n=this.viewState.measure(this.docView,e>0),r=this.measureRequests;if(!n&&!r.length&&null==this.viewState.scrollTo)break;if(this.measureRequests=[],e>5)break;let i=r.map((e=>{try{return e.read(this)}catch(e){return xn(this.state,e),ki}})),a=new Yn(this,this.state);a.flags|=n,t?t.flags|=n:t=a,this.updateState=2,a.empty||(this.updatePlugins(a),this.inputState.update(a)),this.updateAttrs(),n&&this.docView.update(a);for(let e=0;e-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=requestAnimationFrame((()=>this.measure()))),e){if(null!=e.key)for(let t=0;tfunction(e,t,n){let r=e.state.charCategorizer(t),i=r(n);return e=>{let t=r(e);return i==$e.Space&&(i=t),i==t}}(this,e.head,t))))}moveToLineBoundary(e,t,n=!0){return function(e,t,n,r){let i=e.state.doc.lineAt(t.head),a=r&&e.lineWrapping?e.coordsAtPos(t.assoc<0&&t.head>i.from?t.head-1:t.head):null;if(a){let t=e.dom.getBoundingClientRect(),r=e.posAtCoords({x:n==(e.textDirection==Cn.LTR)?t.right-1:t.left+1,y:(a.top+a.bottom)/2});if(null!=r)return q.cursor(r,n?-1:1)}let o=On.find(e.docView,t.head),s=o?n?o.posAtEnd:o.posAtStart:n?i.to:i.from;return q.cursor(s,n?-1:1)}(this,e,t,n)}moveVertically(e,t,n){return hr(this,e,function(e,t,n,r){let i=t.head,a=n?1:-1;if(i==(n?e.state.doc.length:0))return q.cursor(i);let o,s=t.goalColumn,O=e.contentDOM.getBoundingClientRect(),l=e.coordsAtPos(i);if(l)null==s&&(s=l.left-O.left),o=a<0?l.top:l.bottom;else{let t=e.viewState.lineAt(i,e.dom.getBoundingClientRect().top);null==s&&(s=Math.min(O.right-O.left,e.defaultCharacterWidth*(i-t.from))),o=a<0?t.top:t.bottom}let c=O.left+s,u=null!=r?r:e.defaultLineHeight>>1;for(let t=0;;t+=10){let n=o+(u+t)*a,r=lr(e,{x:c,y:n},!1,a);if(nO.bottom||(a<0?ri))return q.cursor(r,void 0,void 0,s)}}(this,e,t,n))}scrollPosIntoView(e){this.viewState.scrollTo=q.cursor(e),this.requestMeasure()}domAtPos(e){return this.docView.domAtPos(e)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){return this.readMeasured(),lr(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 r=this.state.doc.lineAt(e),i=this.bidiSpans(r);return ht(n,i[Hn.find(i,e-r.from,-1,t)].dir==Cn.LTR==t>0)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.heightOracle.direction}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>$i)return Jn(e.length);let t=this.textDirection;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==t)return n.order;let n=function(e,t){let n=e.length,r=t==An?1:2,i=t==An?2:1;if(!e||1==r&&!Bn.test(e))return Jn(n);for(let t=0,i=r,a=r;t=0;e-=3)if(Mn[e+1]==-a){let t=Mn[e+2],n=2&t?r:4&t?1&t?i:r:0;n&&(Kn[s]=Kn[Mn[e]]=n),O=e;break}}else{if(189==Mn.length)break;Mn[O++]=s,Mn[O++]=t,Mn[O++]=l}else if(2==(o=Kn[s])||1==o){let e=o==r;l=e?0:1;for(let t=O-3;t>=0;t-=3){let n=Mn[t+2];if(2&n)break;if(e)Mn[t+2]|=2;else{if(4&n)break;Mn[t+2]|=4}}}for(let e=0;et;){let e=n,r=2!=Kn[--n];for(;n>t&&r==(2!=Kn[n-1]);)n--;a.push(new Hn(n,e,r?2:1))}else a.push(new Hn(t,e,0))}else for(let e=0;eDate.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore((()=>{gt(this.contentDOM),this.docView.updateSelection()}))}destroy(){for(let e of this.plugins)e.destroy(this);this.inputState.destroy(),this.dom.remove(),this.observer.destroy(),this.measureScheduled>-1&&cancelAnimationFrame(this.measureScheduled)}static domEventHandlers(e){return Sn.define((()=>({})),{eventHandlers:e})}static theme(e,t){let n=_e.newName(),r=[ni.of(n),qn.of(Oi(`.${n}`,e))];return t&&t.dark&&r.push(ri.of(!0)),r}static baseTheme(e){return M.fallback(qn.of(Oi("."+ii,e,si)))}}Qi.scrollTo=bn,Qi.styleModule=qn,Qi.inputHandler=$n,Qi.exceptionSink=gn,Qi.updateListener=Qn,Qi.editable=wn,Qi.mouseSelectionStyle=mn,Qi.dragMovesSelection=fn,Qi.clickAddsSelectionRange=pn,Qi.decorations=Wn,Qi.contentAttributes=Rn,Qi.editorAttributes=Tn,Qi.lineWrapping=Qi.contentAttributes.of({class:"cm-lineWrapping"}),Qi.announce=ue.define();const $i=4096;function bi(e,t){return null==e?t.getBoundingClientRect().top:e}let xi=-1;function wi(){xi=-1;let e=document.querySelectorAll(".cm-content");for(let t=0;tfunction(e,t,n,r){let i=function(e){var t=!(et&&(e.ctrlKey||e.altKey||e.metaKey)||(Be||Je)&&e.shiftKey&&e.key&&1==e.key.length)&&e.key||(e.shiftKey?Me:De)[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}(t),a=1==i.length&&" "!=i,o="",s=!1;Ti&&Ti.view==n&&Ti.scope==r&&(o=Ti.prefix+" ",(s=pr.indexOf(t.keyCode)<0)&&(Ti=null));let O,l=e=>{if(e){for(let t of e.commands)if(t(n))return!0;e.preventDefault&&(s=!0)}return!1},c=e[r];if(c){if(l(c[o+vi(i,t,!a)]))return!0;if(a&&(t.shiftKey||t.altKey||t.metaKey)&&(O=De[t.keyCode])&&O!=i){if(l(c[o+vi(O,t,!0)]))return!0}else if(a&&t.shiftKey&&l(c[o+vi(i,t,!0)]))return!0}return s}(function(e){let t=e.facet(_i),n=Xi.get(t);n||Xi.set(t,n=function(e,t=Pi){let n=Object.create(null),r=Object.create(null),i=(e,t)=>{let n=r[e];if(null==n)r[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")},a=(e,r,a,o)=>{let s=n[e]||(n[e]=Object.create(null)),O=r.split(/ (?!$)/).map((e=>function(e,t){const n=e.split(/-(?!$)/);let r,i,a,o,s=n[n.length-1];"Space"==s&&(s=" ");for(let e=0;e{let r=Ti={view:t,prefix:n,scope:e};return setTimeout((()=>{Ti==r&&(Ti=null)}),4e3),!0}]})}let l=O.join(" ");i(l,!1);let c=s[l]||(s[l]={preventDefault:!1,commands:[]});c.commands.push(a),o&&(c.preventDefault=!0)};for(let n of e){let e=n[t]||n.key;if(e)for(let t of n.scope?n.scope.split(" "):["editor"])a(t,e,n.run,n.preventDefault),n.shift&&a(t,"Shift-"+e,n.shift,n.preventDefault)}return n}(t.reduce(((e,t)=>e.concat(t)),[])));return n}(t.state),e,t,"editor")}),_i=U.define({enables:Si}),Xi=new WeakMap;let Ti=null;const Ri=!Et.ios,Wi=U.define({combine:e=>ye(e,{cursorBlinkRate:1200,drawRangeCursor:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})});function qi(e={}){return[Wi.of(e),Yi,Ui]}class zi{constructor(e,t,n,r,i){this.left=e,this.top=t,this.width=n,this.height=r,this.className=i}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width>=0&&(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}}const Yi=Sn.fromClass(class{constructor(e){this.view=e,this.rangePieces=[],this.cursors=[],this.measureReq={read:this.readPos.bind(this),write:this.drawSel.bind(this)},this.selectionLayer=e.scrollDOM.appendChild(document.createElement("div")),this.selectionLayer.className="cm-selectionLayer",this.selectionLayer.setAttribute("aria-hidden","true"),this.cursorLayer=e.scrollDOM.appendChild(document.createElement("div")),this.cursorLayer.className="cm-cursorLayer",this.cursorLayer.setAttribute("aria-hidden","true"),e.requestMeasure(this.measureReq),this.setBlinkRate()}setBlinkRate(){this.cursorLayer.style.animationDuration=this.view.state.facet(Wi).cursorBlinkRate+"ms"}update(e){let t=e.startState.facet(Wi)!=e.state.facet(Wi);(t||e.selectionSet||e.geometryChanged||e.viewportChanged)&&this.view.requestMeasure(this.measureReq),e.transactions.some((e=>e.scrollIntoView))&&(this.cursorLayer.style.animationName="cm-blink"==this.cursorLayer.style.animationName?"cm-blink2":"cm-blink"),t&&this.setBlinkRate()}readPos(){let{state:e}=this.view,t=e.facet(Wi),n=e.selection.ranges.map((e=>e.empty?[]:function(e,t){if(t.to<=e.viewport.from||t.from>=e.viewport.to)return[];let n=Math.max(t.from,e.viewport.from),r=Math.min(t.to,e.viewport.to),i=e.textDirection==Cn.LTR,a=e.contentDOM,o=a.getBoundingClientRect(),s=Ei(e),O=window.getComputedStyle(a.firstChild),l=o.left+parseInt(O.paddingLeft),c=o.right-parseInt(O.paddingRight),u=Vi(e,n),h=Vi(e,r),d=u.type==en.Text?u:null,p=h.type==en.Text?h:null;e.lineWrapping&&(d&&(d=Ii(e,n,d)),p&&(p=Ii(e,r,p)));if(d&&p&&d.from==p.from)return m(g(t.from,t.to,d));{let n=d?g(t.from,null,d):Q(u,!1),r=p?g(null,t.to,p):Q(h,!0),i=[];return(d||u).to<(p||h).from-1?i.push(f(l,n.bottom,c,r.top)):n.bottomu&&r.from=a)break;s>i&&O(Math.max(e,i),null==t&&e<=u,Math.min(s,a),null==n&&s>=h,o.dir)}if(i=r.to+1,i>=a)break}return 0==s.length&&O(u,null==t,h,null==n,e.textDirection),{top:a,bottom:o,horizontal:s}}function Q(e,t){let n=o.top+(t?e.top:e.bottom);return{top:n,bottom:n,horizontal:[]}}}(this.view,e))).reduce(((e,t)=>e.concat(t))),r=[];for(let n of e.selection.ranges){let i=n==e.selection.main;if(n.empty?!i||Ri:t.drawRangeCursor){let e=Ci(this.view,n,i);e&&r.push(e)}}return{rangePieces:n,cursors:r}}drawSel({rangePieces:e,cursors:t}){if(e.length!=this.rangePieces.length||e.some(((e,t)=>!e.eq(this.rangePieces[t])))){this.selectionLayer.textContent="";for(let t of e)this.selectionLayer.appendChild(t.draw());this.rangePieces=e}if(t.length!=this.cursors.length||t.some(((e,t)=>!e.eq(this.cursors[t])))){let e=this.cursorLayer.children;if(e.length!==t.length){this.cursorLayer.textContent="";for(const e of t)this.cursorLayer.appendChild(e.draw())}else t.forEach(((t,n)=>t.adjust(e[n])));this.cursors=t}}destroy(){this.selectionLayer.remove(),this.cursorLayer.remove()}}),Zi={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};Ri&&(Zi[".cm-line"].caretColor="transparent !important");const Ui=M.override(Qi.theme(Zi));function Ei(e){let t=e.scrollDOM.getBoundingClientRect();return{left:(e.textDirection==Cn.LTR?t.left:t.right-e.scrollDOM.clientWidth)-e.scrollDOM.scrollLeft,top:t.top-e.scrollDOM.scrollTop}}function Ii(e,t,n){let r=q.cursor(t);return{from:Math.max(n.from,e.moveToLineBoundary(r,!1,!0).from),to:Math.min(n.to,e.moveToLineBoundary(r,!0,!0).from),type:en.Text}}function Vi(e,t){let n=e.visualLineAt(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==en.Text))return e;return n}function Ci(e,t,n){let r=e.coordsAtPos(t.head,t.assoc||1);if(!r)return null;let i=Ei(e);return new zi(r.left-i.left,r.top-i.top,-1,r.bottom-r.top,n?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary")}const Ai=tn.line({attributes:{class:"cm-activeLine"}}),Gi=Sn.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 r of e.state.selection.ranges){if(!r.empty)return tn.none;let i=e.visualLineAt(r.head);i.from>t&&(n.push(Ai.range(i.from)),t=i.from)}return tn.set(n)}},{decorations:e=>e.decorations}),ji=1024;let Li=0;class Ni{constructor(e,t){this.from=e,this.to=t}}class Di{constructor(e={}){this.id=Li++,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=Bi.match(e)),t=>{let n=e(t);return void 0===n?null:[this,n]}}}Di.closedBy=new Di({deserialize:e=>e.split(" ")}),Di.openedBy=new Di({deserialize:e=>e.split(" ")}),Di.group=new Di({deserialize:e=>e.split(" ")}),Di.contextHash=new Di({perNode:!0}),Di.lookAhead=new Di({perNode:!0}),Di.mounted=new Di({perNode:!0});class Mi{constructor(e,t,n){this.tree=e,this.overlay=t,this.parser=n}}const Fi=Object.create(null);class Bi{constructor(e,t,n,r=0){this.name=e,this.props=t,this.id=n,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):Fi,n=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(null==e.name?8:0),r=new Bi(e.name||"",t,e.id,n);if(e.props)for(let n of e.props)if(Array.isArray(n)||(n=n(r)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[n[0].id]=n[1]}return r}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(Di.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 r of n.split(" "))t[r]=e[n];return e=>{for(let n=e.prop(Di.group),r=-1;r<(n?n.length:0);r++){let i=t[r<0?e.name:n[r]];if(i)return i}}}}Bi.none=new Bi("",Object.create(null),0,8);class Hi{constructor(e){this.types=e;for(let t=0;te.node;;){let o=!1;if(e.from<=i&&e.to>=r&&(e.type.isAnonymous||!1!==t(e.type,e.from,e.to,a))){if(e.firstChild())continue;e.type.isAnonymous||(o=!0)}for(;o&&n&&n(e.type,e.from,e.to,a),o=e.type.isAnonymous,!e.nextSibling();){if(!e.parent())return;o=!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:ha(this.type,this.children,this.positions,0,this.children.length,0,this.length,((e,t,n)=>new Ji(this.type,e,t,n,this.propValues)),e.makeTree||((e,t,n)=>new Ji(Bi.none,e,t,n)))}static build(e){return function(e){var t;let{buffer:n,nodeSet:r,maxBufferLength:i=ji,reused:a=[],minRepeatType:o=r.types.length}=e,s=Array.isArray(n)?new ea(n,n.length):n,O=r.types,l=0,c=0;function u(e,t,n,g,Q){let{id:$,start:b,end:x,size:w}=s,k=c;for(;w<0;){if(s.next(),-1==w){let t=a[$];return n.push(t),void g.push(b-e)}if(-3==w)return void(l=$);if(-4==w)return void(c=$);throw new RangeError(`Unrecognized record size: ${w}`)}let y,P,v=O[$],S=b-e;if(x-b<=i&&(P=f(s.pos-t,Q))){let t=new Uint16Array(P.size-P.skip),n=s.pos-P.size,i=t.length;for(;s.pos>n;)i=m(P.start,t,i);y=new ta(t,x-P.start,r),S=P.start-e}else{let e=s.pos-w;s.next();let t=[],n=[],r=$>=o?$:-1,a=0,O=x;for(;s.pos>e;)r>=0&&s.id==r&&s.size>=0?(s.end<=O-i&&(d(t,n,b,a,s.end,O,r,k),a=t.length,O=s.end),s.next()):u(b,e,t,n,r);if(r>=0&&a>0&&a-1&&a>0){let e=h(v);y=ha(v,t,n,0,t.length,0,x-b,e,e)}else y=p(v,t,n,x-b,k-x)}n.push(y),g.push(S)}function h(e){return(t,n,r)=>{let i,a,o=0,s=t.length-1;if(s>=0&&(i=t[s])instanceof Ji){if(!s&&i.type==e&&i.length==r)return i;(a=i.prop(Di.lookAhead))&&(o=n[s]+i.length+a)}return p(e,t,n,r,o)}}function d(e,t,n,i,a,o,s,O){let l=[],c=[];for(;e.length>i;)l.push(e.pop()),c.push(t.pop()+n-a);e.push(p(r.types[s],l,c,o-a,O-o)),t.push(a-n)}function p(e,t,n,r,i=0,a){if(l){let e=[Di.contextHash,l];a=a?[e].concat(a):[e]}if(i>25){let e=[Di.lookAhead,i];a=a?[e].concat(a):[e]}return new Ji(e,t,n,r,a)}function f(e,t){let n=s.fork(),r=0,a=0,O=0,l=n.end-i,c={size:0,start:0,skip:0};e:for(let i=n.pos-e;n.pos>i;){let e=n.size;if(n.id==t&&e>=0){c.size=r,c.start=a,c.skip=O,O+=4,r+=4,n.next();continue}let s=n.pos-e;if(e<0||s=o?4:0,h=n.start;for(n.next();n.pos>s;){if(n.size<0){if(-3!=n.size)break e;u+=4}else n.id>=o&&(u+=4);n.next()}a=h,r+=e,O+=u}return(t<0||r==e)&&(c.size=r,c.start=a,c.skip=O),c.size>4?c:void 0}function m(e,t,n){let{id:r,start:i,end:a,size:O}=s;if(s.next(),O>=0&&r4){let r=s.pos-(O-4);for(;s.pos>r;)n=m(e,t,n)}t[--n]=o,t[--n]=a-e,t[--n]=i-e,t[--n]=r}else-3==O?l=r:-4==O&&(c=r);return n}let g=[],Q=[];for(;s.pos>0;)u(e.start||0,e.bufferStart||0,g,Q,-1);let $=null!==(t=e.length)&&void 0!==t?t:g.length?Q[0]+g[0].length:0;return new Ji(O[e.topID],g.reverse(),Q.reverse(),$)}(e)}}Ji.empty=new Ji(Bi.none,[],[],0);class ea{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 ea(this.buffer,this.index)}}class ta{constructor(e,t,n){this.buffer=e,this.length=t,this.set=n}get type(){return Bi.none}toString(){let e=[];for(let t=0;t0));s=a[s+3]);return o}slice(e,t,n,r){let i=this.buffer,a=new Uint16Array(t-e);for(let r=e,o=0;r=t&&nt;case 1:return n<=t&&r>t;case 2:return r>t;case 4:return!0}}function ra(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}class ia{constructor(e,t,n,r){this.node=e,this._from=t,this.index=n,this._parent=r}get type(){return this.node.type}get name(){return this.node.type.name}get from(){return this._from}get to(){return this._from+this.node.length}nextChild(e,t,n,r,i=0){for(let a=this;;){for(let{children:o,positions:s}=a.node,O=t>0?o.length:-1;e!=O;e+=t){let O=o[e],l=s[e]+a._from;if(na(r,n,l,l+O.length))if(O instanceof ta){if(2&i)continue;let o=O.findChild(0,O.buffer.length,t,n-l,r);if(o>-1)return new sa(new oa(a,O,e,l),null,o)}else if(1&i||!O.type.isAnonymous||la(O)){let o;if(O.props&&(o=O.prop(Di.mounted))&&!o.overlay)return new ia(o.tree,l,e,a);let s=new ia(O,l,e,a);return 1&i||!s.type.isAnonymous?s:s.nextChild(t<0?O.children.length-1:0,t,n,r)}}if(1&i||!a.type.isAnonymous)return null;if(e=a.index>=0?a.index+t:t<0?-1:a._parent.node.children.length,a=a._parent,!a)return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this.node.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this.node.children.length-1,-1,e,-2)}enter(e,t,n=!0,r=!0){let i;if(n&&(i=this.node.prop(Di.mounted))&&i.overlay){let n=e-this.from;for(let{from:e,to:r}of i.overlay)if((t>0?e<=n:e=n:r>n))return new ia(i.tree,i.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,r?0:2)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get cursor(){return new Oa(this)}get tree(){return this.node}toTree(){return this.node}resolve(e,t=0){return this.cursor.moveTo(e,t).node}enterUnfinishedNodesBefore(e){return ra(this,e)}getChild(e,t=null,n=null){let r=aa(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return aa(this,e,t,n)}toString(){return this.node.toString()}}function aa(e,t,n,r){let i=e.cursor,a=[];if(!i.firstChild())return a;if(null!=n)for(;!i.type.is(n);)if(!i.nextSibling())return a;for(;;){if(null!=r&&i.type.is(r))return a;if(i.type.is(t)&&a.push(i.node),!i.nextSibling())return null==r?a:[]}}class oa{constructor(e,t,n,r){this.parent=e,this.buffer=t,this.index=n,this.start=r}}class sa{constructor(e,t,n){this.context=e,this._parent=t,this.index=n,this.type=e.buffer.set.types[e.buffer.buffer[n]]}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]}child(e,t,n){let{buffer:r}=this.context,i=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,n);return i<0?null:new sa(this.context,this,i)}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,r=!0){if(!r)return null;let{buffer:i}=this.context,a=i.findChild(this.index+4,i.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return a<0?null:new sa(this.context,this,a)}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 sa(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 sa(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get cursor(){return new Oa(this)}get tree(){return null}toTree(){let e=[],t=[],{buffer:n}=this.context,r=this.index+4,i=n.buffer[this.index+3];if(i>r){let a=n.buffer[this.index+1],o=n.buffer[this.index+2];e.push(n.slice(r,i,a,o)),t.push(0)}return new Ji(this.type,e,t,this.to-this.from)}resolve(e,t=0){return this.cursor.moveTo(e,t).node}enterUnfinishedNodesBefore(e){return ra(this,e)}toString(){return this.context.buffer.childString(this.index)}getChild(e,t=null,n=null){let r=aa(this,e,t,n);return r.length?r[0]:null}getChildren(e,t=null,n=null){return aa(this,e,t,n)}}class Oa{constructor(e,t=0){if(this.mode=t,this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,e instanceof ia)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)}}get name(){return this.type.name}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:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=n+r.buffer[e+1],this.to=n+r.buffer[e+2],!0}yield(e){return!!e&&(e instanceof ia?(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.node.children.length-1:0,e,t,n,this.mode));let{buffer:r}=this.buffer,i=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,n);return!(i<0)&&(this.stack.push(this.index),this.yieldBuf(i))}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=!0,r=!0){return this.buffer?!!r&&this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,n,r))}parent(){if(!this.buffer)return this.yieldNode(1&this.mode?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=1&this.mode?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:r}=this;if(r){if(e>0){if(this.index-1)for(let r=t+e,i=e<0?-1:n.node.children.length;r!=i;r+=e){let e=n.node.children[r];if(1&this.mode||e instanceof ta||!e.type.isAnonymous||la(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=0;){for(let a=e;a;a=a._parent)if(a.index==r){if(r==this.index)return a;t=a,n=i+1;break e}r=this.stack[--i]}for(let e=n;ee instanceof ta||!e.type.isAnonymous||la(e)))}const ca=new WeakMap;function ua(e,t){if(!e.isAnonymous||t instanceof ta||t.type!=e)return 1;let n=ca.get(t);return null==n&&(n=t.children.reduce(((t,n)=>t+ua(e,n)),1),ca.set(t,n)),n}function ha(e,t,n,r,i,a,o,s,O){let l=0;for(let n=r;n=c)break;p+=t}if(l==i+1){if(p>c){let e=n[i];t(e.children,e.positions,0,e.children.length,r[i]+s);continue}u.push(n[i])}else{let t=r[l-1]+n[l-1].length-d;u.push(ha(e,n,r,i,l,d,t,null,O))}h.push(d+s-a)}}(t,n,r,i,0),(s||O)(u,h,o)}class da{constructor(e,t,n,r,i=!1,a=!1){this.from=e,this.to=t,this.tree=n,this.offset=r,this.open=(i?1:0)|(a?2:0)}get openStart(){return(1&this.open)>0}get openEnd(){return(2&this.open)>0}static addTree(e,t=[],n=!1){let r=[new da(0,e.length,e,0,!1,n)];for(let n of t)n.to>e.length&&r.push(n);return r}static applyChanges(e,t,n=128){if(!t.length)return e;let r=[],i=1,a=e.length?e[0]:null;for(let o=0,s=0,O=0;;o++){let l=o=n)for(;a&&a.from=t.from||c<=t.to||O){let e=Math.max(t.from,s)-O,n=Math.min(t.to,c)-O;t=e>=n?null:new da(e,n,t.tree,t.offset+O,o>0,!!l)}if(t&&r.push(t),a.to>c)break;a=inew Ni(e.from,e.to))):[new Ni(0,0)]:[new Ni(0,e.length)],this.createParse(e,t||[],n)}parse(e,t,n){let r=this.startParse(e,t,n);for(;;){let e=r.advance();if(e)return e}}}class fa{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 ma(e){return(t,n,r,i)=>new $a(t,e,n,r,i)}class ga{constructor(e,t,n,r){this.parser=e,this.parse=t,this.overlay=n,this.target=r}}class Qa{constructor(e,t,n,r,i,a,o){this.parser=e,this.predicate=t,this.mounts=n,this.index=r,this.start=i,this.target=a,this.prev=o,this.depth=0,this.ranges=[]}}class $a{constructor(e,t,n,r,i){this.nest=t,this.input=n,this.fragments=r,this.ranges=i,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;this.baseParse=null,this.baseTree=e,this.startInner()}if(this.innerDone==this.inner.length)return this.baseTree;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[Di.mounted.id]=new Mi(t,e.overlay,e.parser),e.target.props=n}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.inner[this.innerDone];return e?e.parse.parsedPos:this.input.length}stopAt(e){if(this.stoppedAt=e,this.baseParse)this.baseParse.stopAt(e);else for(let t=this.innerDone;te.frag.from<=a.from&&e.frag.to>=a.to&&e.mount.overlay));if(e)for(let n of e.mount.overlay){let r=n.from+e.pos,i=n.to+e.pos;r>=a.from&&i<=a.to&&t.ranges.push({from:r,to:i})}}s=!1}else if(n&&(i=ba(n.ranges,a.from,a.to)))s=2!=i;else if(!a.type.isAnonymous&&a.fromnew Ni(e.from-a.from,e.to-a.from))):null,a.tree)),r.overlay?e.length&&(n={ranges:e,depth:0,prev:n}):s=!1}}else t&&(o=t.predicate(a))&&(!0===o&&(o=new Ni(a.from,a.to)),o.fromnew Ni(e.from-t.start,e.to-t.start))),t.target)),t=t.prev}n&&!--n.depth&&(n=n.prev)}}}}function ba(e,t,n){for(let r of e){if(r.from>=n)break;if(r.to>t)return r.from<=t&&r.to>=n?2:1}return 0}function xa(e,t,n,r,i,a){if(t=t.to);r++);let o=i.children[r],s=o.buffer;i.children[r]=function e(n,r,i,O){let l=n;for(;s[l+2]+a<=t.from;)l=s[l+3];let c=[],u=[];xa(o,n,l,c,u,O);let h=s[l+1]+a==t.from&&s[l+2]+a==t.to&&s[l]==t.type.id;c.push(h?t.toTree():e(l+4,s[l+3],o.set.types[s[l]],s[l+1])),u.push(s[l+1]-O),xa(o,s[l+3],r,c,u,O);let d=c.length-1;return new Ji(i,c,u,u[d]+c[d].length)}(0,s.length,Bi.none,0);for(let r=0;r<=n;r++)e.childAfter(t.from)}class ka{constructor(e,t){this.offset=t,this.done=!1,this.cursor=e.fullCursor()}moveTo(e){let{cursor:t}=this,n=e-this.offset;for(;!this.done&&t.from=e&&t.enter(n,1,!1,!1)||t.next(!1)||(this.done=!0)}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from)for(let t=this.cursor.tree;;){if(t==e.tree)return!0;if(!(t.children.length&&0==t.positions[0]&&t.children[0]instanceof Ji))break;t=t.children[0]}return!1}}class ya{constructor(e){if(this.fragments=e,this.fragI=0,e.length){let t=this.curFrag=e[0];this.inner=new ka(t.tree,-t.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curFrag.to;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curFrag.to>=e.to&&this.inner.hasNode(e)}nextFrag(){if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let e=this.curFrag=this.fragments[this.fragI];this.inner=new ka(e.tree,-e.offset)}}findMounts(e,t){var n;let r=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let e=this.inner.cursor.node;e;e=e.parent){let i=null===(n=e.tree)||void 0===n?void 0:n.prop(Di.mounted);if(i&&i.parser==t)for(let t=this.fragI;t=e.to)break;n.tree==this.curFrag.tree&&r.push({frag:n,pos:e.from-n.offset,mount:i})}}}return r}}function Pa(e,t){let n=null,r=t;for(let i=1,a=0;i=s)break;e.to<=o||(n||(r=n=t.slice()),e.froms&&n.splice(a+1,0,new Ni(s,e.to))):e.to>s?n[a--]=new Ni(s,e.to):n.splice(a--,1))}}return r}function va(e,t,n,r){let i=0,a=0,o=!1,s=!1,O=-1e9,l=[];for(;;){let c=i==e.length?1e9:o?e[i].to:e[i].from,u=a==t.length?1e9:s?t[a].to:t[a].from;if(o!=s){let e=Math.max(O,n),t=Math.min(c,u,r);enew Ni(e.from+r,e.to+r))),l=va(t,o,s,O);for(let t=0,r=s;;t++){let o=t==l.length,s=o?O:l[t].from;if(s>r&&n.push(new da(r,s,i.tree,-e,a.from>=r,a.to<=s)),o)break;r=l[t].to}}else n.push(new da(s,O,i.tree,-e,a.from>=e,a.to<=o))}return n}const _a=new Di;function Xa(e){return U.define({combine:e?t=>t.concat(e):void 0})}class Ta{constructor(e,t,n,r=[]){this.data=e,this.topNode=n,ke.prototype.hasOwnProperty("tree")||Object.defineProperty(ke.prototype,"tree",{get(){return qa(this)}}),this.parser=t,this.extension=[Aa.of(this),ke.languageData.of(((e,t,n)=>e.facet(Ra(e,t,n))))].concat(r)}isActiveAt(e,t,n=-1){return Ra(e,t,n)==this.data}findRegions(e){let t=e.facet(Aa);if((null==t?void 0:t.data)==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let n=[],r=(e,t)=>{if(e.prop(_a)==this.data)return void n.push({from:t,to:t+e.length});let i=e.prop(Di.mounted);if(i){if(i.tree.prop(_a)==this.data){if(i.overlay)for(let e of i.overlay)n.push({from:e.from+t,to:e.to+t});else n.push({from:t,to:t+e.length});return}if(i.overlay){let e=n.length;if(r(i.tree,i.overlay[0].from+t),n.length>e)return}}for(let n=0;ne.isTop?t:void 0))]}))}configure(e){return new Wa(this.data,this.parser.configure(e))}get allowsNesting(){return this.parser.wrappers.length>0}}function qa(e){let t=e.field(Ta.state,!1);return t?t.tree:Ji.empty}class za{constructor(e,t=e.length){this.doc=e,this.length=t,this.cursorPos=0,this.string="",this.cursor=e.iter()}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let n=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-n,t-n)}}let Ya=null;class Za{constructor(e,t,n=[],r,i,a,o,s){this.parser=e,this.state=t,this.fragments=n,this.tree=r,this.treeLen=i,this.viewport=a,this.skipped=o,this.scheduleOn=s,this.parse=null,this.tempSkipped=[]}startParse(){return this.parser.startParse(new za(this.state.doc),this.fragments)}work(e,t){return null!=t&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ji.empty&&this.isDone(null!=t?t:this.state.doc.length)?(this.takeTree(),!0):this.withContext((()=>{var n;this.parse||(this.parse=this.startParse()),null!=t&&(null==this.parse.stoppedAt||this.parse.stoppedAt>t)&&tr)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.tree=t,this.fragments=this.withoutTempSkipped(da.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Ya;Ya=this;try{return e()}finally{Ya=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=Ua(e,t.from,t.to);return e}changes(e,t){let{fragments:n,tree:r,treeLen:i,viewport:a,skipped:o}=this;if(this.takeTree(),!e.empty){let t=[];if(e.iterChangedRanges(((e,n,r,i)=>t.push({fromA:e,toA:n,fromB:r,toB:i}))),n=da.applyChanges(n,t),r=Ji.empty,i=0,a={from:e.mapPos(a.from,-1),to:e.mapPos(a.to,1)},this.skipped.length){o=[];for(let t of this.skipped){let n=e.mapPos(t.from,1),r=e.mapPos(t.to,-1);ne.from&&(this.fragments=Ua(this.fragments,n,r),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 pa{createParse(t,n,r){let i=r[0].from,a=r[r.length-1].to,o={parsedPos:i,advance(){let t=Ya;if(t){for(let e of r)t.tempSkipped.push(e);e&&(t.scheduleOn=t.scheduleOn?Promise.all([t.scheduleOn,e]):e)}return this.parsedPos=a,new Ji(Bi.none,[],[],a-i)},stoppedAt:null,stopAt(){}};return o}}}movedPast(e){return this.treeLen=e}isDone(e){let t=this.fragments;return this.treeLen>=e&&t.length&&0==t[0].from&&t[0].to>=e}static get(){return Ya}}function Ua(e,t,n){return da.applyChanges(e,[{fromA:t,toA:n,fromB:t,toB:n}])}class Ea{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged)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(25,n)||t.takeTree(),new Ea(t)}static init(e){let t=new Za(e.facet(Aa).parser,e,[],Ji.empty,0,{from:0,to:e.doc.length},[],null);return t.work(25)||t.takeTree(),new Ea(t)}}Ta.state=G.define({create:Ea.init,update(e,t){for(let e of t.effects)if(e.is(Ta.setState))return e.value;return t.startState.facet(Aa)!=t.state.facet(Aa)?Ea.init(t.state):e.apply(t)}});let Ia="undefined"!=typeof window&&window.requestIdleCallback||((e,{timeout:t})=>setTimeout(e,t)),Va="undefined"!=typeof window&&window.cancelIdleCallback||clearTimeout;const Ca=Sn.fromClass(class{constructor(e){this.view=e,this.working=-1,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Ta.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>-1)return;let{state:e}=this.view,t=e.field(Ta.state);t.tree==t.context.tree&&t.context.isDone(e.doc.length)||(this.working=Ia(this.work,{timeout:500}))}work(e){this.working=-1;let t=Date.now();if(this.chunkEnd=r+1e6)return;let a=Math.min(this.chunkBudget,e?Math.max(25,e.timeRemaining()):100),o=i.context.work(a,r+1e6);this.chunkBudget-=Date.now()-t,(o||this.chunkBudget<=0||i.context.movedPast(r))&&(i.context.takeTree(),this.view.dispatch({effects:Ta.setState.of(new Ea(i.context))})),!o&&this.chunkBudget>0&&this.scheduleWork(),this.checkAsyncSchedule(i.context)}checkAsyncSchedule(e){e.scheduleOn&&(e.scheduleOn.then((()=>this.scheduleWork())),e.scheduleOn=null)}destroy(){this.working>=0&&Va(this.working)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Aa=U.define({combine:e=>e.length?e[0]:null,enables:[Ta.state,Ca]});class Ga{constructor(e,t=[]){this.language=e,this.support=t,this.extension=[e,t]}}class ja{constructor(e,t,n,r,i){this.name=e,this.alias=t,this.extensions=n,this.filename=r,this.loadFunc=i,this.support=void 0,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){return new ja(e.name,(e.alias||[]).concat(e.name).map((e=>e.toLowerCase())),e.extensions||[],e.filename,e.load)}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 r=t.indexOf(e);if(r>-1&&(e.length>2||!/\w/.test(t[r-1])&&!/\w/.test(t[r+e.length])))return n}return null}}const La=U.define(),Na=U.define({combine:e=>{if(!e.length)return" ";if(!/^(?: +|\t+)$/.test(e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(e[0]));return e[0]}});function Da(e){let t=e.facet(Na);return 9==t.charCodeAt(0)?e.tabSize*t.length:t.length}function Ma(e,t){let n="",r=e.tabSize;if(9==e.facet(Na).charCodeAt(0))for(;t>=r;)n+="\t",t-=r;for(let e=0;e=n.from&&r<=n.to?(t<0?r-1&&(i+=a-this.countColumn(n,n.search(/\S|$/))),i}countColumn(e,t=e.length){return u(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:n,from:r}=this.lineAt(e,t),i=this.options.overrideIndentation;if(i){let e=i(r);if(e>-1)return e}return this.countColumn(n,n.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const Ha=new Di;function Ka(e){let t=e.type.prop(Ha);if(t)return t;let n,r=e.firstChild;if(r&&(n=r.type.prop(Di.closedBy))){let t=e.lastChild,r=t&&n.indexOf(t.name)>-1;return e=>io(e,!0,1,void 0,r&&!function(e){return e.pos==e.options.simulateBreak&&e.options.simulateDoubleBreak}(e)?t.from:void 0)}return null==e.parent?eo:null}function Ja(e,t,n){for(;e;e=e.parent){let r=Ka(e);if(r)return r(new to(n,t,e))}return null}function eo(){return 0}class to extends Ba{constructor(e,t,n){super(e.state,e.options),this.base=e,this.pos=t,this.node=n}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){let e=this.state.doc.lineAt(this.node.from);for(;;){let t=this.node.resolve(e.from);for(;t.parent&&t.parent.from==t.from;)t=t.parent;if(no(t,this.node))break;e=this.state.doc.lineAt(t.from)}return this.lineIndent(e.from)}continue(){let e=this.node.parent;return e?Ja(e,this.pos,this.base):0}}function no(e,t){for(let n=t;n;n=n.parent)if(e==n)return!0;return!1}function ro({closing:e,align:t=!0,units:n=1}){return r=>io(r,t,n,e)}function io(e,t,n,r,i){let a=e.textAfter,o=a.match(/^\s*/)[0].length,s=r&&a.slice(o,o+r.length)==r||i==e.pos+o,O=t?function(e){let t=e.node,n=t.childAfter(t.from),r=t.lastChild;if(!n)return null;let i=e.options.simulateBreak,a=e.state.doc.lineAt(n.from),o=null==i||i<=a.from?a.to:Math.min(a.to,i);for(let e=n.to;;){let i=t.childAfter(e);if(!i||i==r)return null;if(!i.type.isSkipped)return i.frome.baseIndent;function oo({except:e,units:t=1}={}){return n=>{let r=e&&e.test(n.textAfter);return n.baseIndent+(r?0:t*n.unit)}}const so=new Di;function Oo(e){let t=e.firstChild,n=e.lastChild;return t&&t.toye(e,{afterCursor:!0,brackets:co,maxScanDistance:1e4})}),ho=tn.mark({class:"cm-matchingBracket"}),po=tn.mark({class:"cm-nonmatchingBracket"}),fo=G.define({create:()=>tn.none,update(e,t){if(!t.docChanged&&!t.selection)return e;let n=[],r=t.state.facet(uo);for(let e of t.state.selection.ranges){if(!e.empty)continue;let i=$o(t.state,e.head,-1,r)||e.head>0&&$o(t.state,e.head-1,1,r)||r.afterCursor&&($o(t.state,e.head,1,r)||e.headQi.decorations.from(e)}),mo=[fo,lo];function go(e={}){return[uo.of(e),mo]}function Qo(e,t,n){let r=e.prop(t<0?Di.openedBy:Di.closedBy);if(r)return r;if(1==e.name.length){let r=n.indexOf(e.name);if(r>-1&&r%2==(t<0?1:0))return[n[r+t]]}return null}function $o(e,t,n,r={}){let i=r.maxScanDistance||1e4,a=r.brackets||co,o=qa(e),s=o.resolveInner(t,n);for(let r=s;r;r=r.parent){let i=Qo(r.type,n,a);if(i)return bo(e,t,n,r,i,a)}return function(e,t,n,r,i,a,o){let s=n<0?e.sliceDoc(t-1,t):e.sliceDoc(t,t+1),O=o.indexOf(s);if(O<0||O%2==0!=n>0)return null;let l={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<=a;){let a=c.value;n<0&&(e+=a.length);let s=t+e*n;for(let e=n>0?0:a.length-1,t=n>0?a.length:-1;e!=t;e+=n){let t=o.indexOf(a[e]);if(!(t<0||r.resolve(s+e,1).type!=i))if(t%2==0==n>0)u++;else{if(1==u)return{start:l,end:{from:s+e,to:s+e+1},matched:t>>1==O>>1};u--}}n>0&&(e+=a.length)}return c.done?{start:l,matched:!1}:null}(e,t,n,o,s.type,i,a)}function bo(e,t,n,r,i,a){let o=r.parent,s={from:r.from,to:r.to},O=0,l=null==o?void 0:o.cursor;if(l&&(n<0?l.childBefore(r.from):l.childAfter(r.to)))do{if(n<0?l.to<=r.from:l.from>=r.to){if(0==O&&i.indexOf(l.type.name)>-1)return{start:s,end:{from:l.from,to:l.to},matched:!0};if(Qo(l.type,n,a))O++;else if(Qo(l.type,-n,a)&&(O--,0==O))return{start:s,end:{from:l.from,to:l.to},matched:!1}}}while(n<0?l.prevSibling():l.nextSibling());return{start:s,matched:!1}}const xo={brackets:["(","[","{","'",'"'],before:")]}'\":;>"},wo=ue.define({map(e,t){let n=t.mapPos(e,-1,k.TrackAfter);return null==n?void 0:n}}),ko=ue.define({map:(e,t)=>t.mapPos(e)}),yo=new class extends Re{};yo.startSide=1,yo.endSide=-1;const Po=G.define({create:()=>Ye.empty,update(e,t){if(t.selection){let n=t.state.doc.lineAt(t.selection.main.head).from,r=t.startState.doc.lineAt(t.startState.selection.main.head).from;n!=t.changes.mapPos(r,-1)&&(e=Ye.empty)}e=e.map(t.changes);for(let n of t.effects)n.is(wo)?e=e.update({add:[yo.range(n.value,n.value+1)]}):n.is(ko)&&(e=e.update({filter:e=>e!=n.value}));return e}});const vo="()[]{}<>";function So(e){for(let t=0;t2||2==r.length&&1==c(O(r,0))||t!=i.from||n!=i.to)return!1;let a=function(e,t){let n=_o(e,e.selection.main.head),r=n.brackets||xo.brackets;for(let i of r){let a=So(O(i,0));if(t==i)return a==i?Yo(e,i,r.indexOf(i+i+i)>-1):qo(e,i,a,n.before||xo.before);if(t==a&&Ro(e,e.selection.main.from))return zo(e,i,a)}return null}(e.state,r);return!!a&&(e.dispatch(a),!0)}const To=[{key:"Backspace",run:({state:e,dispatch:t})=>{let n=_o(e,e.selection.main.head).brackets||xo.brackets,r=null,i=e.changeByRange((t=>{if(t.empty){let r=function(e,t){let n=e.sliceString(t-2,t);return c(O(n,0))==n.length?n:n.slice(1)}(e.doc,t.head);for(let i of n)if(i==r&&Wo(e.doc,t.head)==So(O(i,0)))return{changes:{from:t.head-i.length,to:t.head+i.length},range:q.cursor(t.head-i.length),userEvent:"delete.backward"}}return{range:r=t}}));return r||t(e.update(i,{scrollIntoView:!0})),!r}}];function Ro(e,t){let n=!1;return e.field(Po).between(0,e.doc.length,(e=>{e==t&&(n=!0)})),n}function Wo(e,t){let n=e.sliceString(t,t+2);return n.slice(0,c(O(n,0)))}function qo(e,t,n,r){let i=null,a=e.changeByRange((a=>{if(!a.empty)return{changes:[{insert:t,from:a.from},{insert:n,from:a.to}],effects:wo.of(a.to+t.length),range:q.range(a.anchor+t.length,a.head+t.length)};let o=Wo(e.doc,a.head);return!o||/\s/.test(o)||r.indexOf(o)>-1?{changes:{insert:t+n,from:a.head},effects:wo.of(a.head+t.length),range:q.cursor(a.head+t.length)}:{range:i=a}}));return i?null:e.update(a,{scrollIntoView:!0,userEvent:"input.type"})}function zo(e,t,n){let r=null,i=e.selection.ranges.map((t=>t.empty&&Wo(e.doc,t.head)==n?q.cursor(t.head+n.length):r=t));return r?null:e.update({selection:q.create(i,e.selection.mainIndex),scrollIntoView:!0,effects:e.selection.ranges.map((({from:e})=>ko.of(e)))})}function Yo(e,t,n){let r=null,i=e.changeByRange((i=>{if(!i.empty)return{changes:[{insert:t,from:i.from},{insert:t,from:i.to}],effects:wo.of(i.to+t.length),range:q.range(i.anchor+t.length,i.head+t.length)};let a=i.head,o=Wo(e.doc,a);if(o==t){if(Zo(e,a))return{changes:{insert:t+t,from:a},effects:wo.of(a+t.length),range:q.cursor(a+t.length)};if(Ro(e,a)){let r=n&&e.sliceDoc(a,a+3*t.length)==t+t+t;return{range:q.cursor(a+t.length*(r?3:1)),effects:ko.of(a)}}}else{if(n&&e.sliceDoc(a-2*t.length,a)==t+t&&Zo(e,a-2*t.length))return{changes:{insert:t+t+t+t,from:a},effects:wo.of(a+t.length),range:q.cursor(a+t.length)};if(e.charCategorizer(a)(o)!=$e.Word){let n=e.sliceDoc(a-1,a);if(n!=t&&e.charCategorizer(a)(n)!=$e.Word)return{changes:{insert:t+t,from:a},effects:wo.of(a+t.length),range:q.cursor(a+t.length)}}}return{range:r=i}}));return r?null:e.update(i,{scrollIntoView:!0,userEvent:"input.type"})}function Zo(e,t){let n=qa(e).resolveInner(t+1);return n.parent&&n.from==t}function Uo(e,t){return q.create(e.ranges.map(t),e.mainIndex)}function Eo(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:"select"})}function Io({state:e,dispatch:t},n){let r=Uo(e.selection,n);return!r.eq(e.selection)&&(t(Eo(e,r)),!0)}function Vo(e,t){return q.cursor(t?e.to:e.from)}function Co(e,t){return Io(e,(n=>n.empty?e.moveByChar(n,t):Vo(n,t)))}const Ao=e=>Co(e,e.textDirection!=Cn.LTR),Go=e=>Co(e,e.textDirection==Cn.LTR);function jo(e,t){return Io(e,(n=>n.empty?e.moveByGroup(n,t):Vo(n,t)))}function Lo(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function No(e,t,n){let r,i,a=qa(e).resolveInner(t.head),o=n?Di.closedBy:Di.openedBy;for(let r=t.head;;){let t=n?a.childAfter(r):a.childBefore(r);if(!t)break;Lo(e,t,o)?a=t:r=n?t.to:t.from}return i=a.type.prop(o)&&(r=n?$o(e,a.from,1):$o(e,a.to,-1))&&r.matched?n?r.end.to:r.end.from:n?a.to:a.from,q.cursor(i,n?-1:1)}function Do(e,t){return Io(e,(n=>{if(!n.empty)return Vo(n,t);let r=e.moveVertically(n,t);return r.head!=n.head?r:e.moveToLineBoundary(n,t)}))}const Mo=e=>Do(e,!1),Fo=e=>Do(e,!0);function Bo(e,t){return Io(e,(n=>n.empty?e.moveVertically(n,t,e.dom.clientHeight):Vo(n,t)))}const Ho=e=>Bo(e,!1),Ko=e=>Bo(e,!0);function Jo(e,t,n){let r=e.visualLineAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?r.to:r.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==r.from&&r.length){let n=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;n&&t.head!=r.from+n&&(i=q.cursor(r.from+n))}return i}const es=e=>Io(e,(t=>Jo(e,t,!0))),ts=e=>Io(e,(t=>Jo(e,t,!1)));function ns(e,t){let n=Uo(e.state.selection,(e=>{let n=t(e);return q.range(e.anchor,n.head,n.goalColumn)}));return!n.eq(e.state.selection)&&(e.dispatch(Eo(e.state,n)),!0)}function rs(e,t){return ns(e,(n=>e.moveByChar(n,t)))}const is=e=>rs(e,e.textDirection!=Cn.LTR),as=e=>rs(e,e.textDirection==Cn.LTR);function os(e,t){return ns(e,(n=>e.moveByGroup(n,t)))}function ss(e,t){return ns(e,(n=>e.moveVertically(n,t)))}const Os=e=>ss(e,!1),ls=e=>ss(e,!0);function cs(e,t){return ns(e,(n=>e.moveVertically(n,t,e.dom.clientHeight)))}const us=e=>cs(e,!1),hs=e=>cs(e,!0),ds=e=>ns(e,(t=>Jo(e,t,!0))),ps=e=>ns(e,(t=>Jo(e,t,!1))),fs=({state:e,dispatch:t})=>(t(Eo(e,{anchor:0})),!0),ms=({state:e,dispatch:t})=>(t(Eo(e,{anchor:e.doc.length})),!0),gs=({state:e,dispatch:t})=>(t(Eo(e,{anchor:e.selection.main.anchor,head:0})),!0),Qs=({state:e,dispatch:t})=>(t(Eo(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0);function $s({state:e,dispatch:t},n){if(e.readOnly)return!1;let r="delete.selection",i=e.changeByRange((e=>{let{from:t,to:i}=e;if(t==i){let e=n(t);et&&(r="delete.forward"),t=Math.min(t,e),i=Math.max(i,e)}return t==i?{range:e}:{changes:{from:t,to:i},range:q.cursor(t)}}));return!i.changes.empty&&(t(e.update(i,{scrollIntoView:!0,userEvent:r})),!0)}function bs(e,t,n){if(e instanceof Qi)for(let r of e.pluginField(yn.atomicRanges))r.between(t,t,((e,r)=>{et&&(t=n?r:e)}));return t}const xs=(e,t)=>$s(e,(n=>{let i,a,{state:o}=e,s=o.doc.lineAt(n);if(!t&&n>s.from&&nxs(e,!1),ks=e=>xs(e,!0),ys=(e,t)=>$s(e,(n=>{let i=n,{state:a}=e,o=a.doc.lineAt(i),s=a.charCategorizer(i);for(let e=null;;){if(i==(t?o.to:o.from)){i==n&&o.number!=(t?a.doc.lines:1)&&(i+=t?1:-1);break}let O=r(o.text,i-o.from,t)+o.from,l=o.text.slice(Math.min(i,O)-o.from,Math.max(i,O)-o.from),c=s(l);if(null!=e&&c!=e)break;" "==l&&i==n||(e=c),i=O}return bs(e,i,t)})),Ps=e=>ys(e,!1),vs=e=>$s(e,(t=>{let n=e.visualLineAt(t).to;return bs(e,t=i.number){let e=t[t.length-1];e.to=a.to,e.ranges.push(r)}else t.push({from:i.from,to:a.to,ranges:[r]});n=a.number+1}return t}function _s(e,t,n){if(e.readOnly)return!1;let r=[],i=[];for(let t of Ss(e)){if(n?t.to==e.doc.length:0==t.from)continue;let a=e.doc.lineAt(n?t.to+1:t.from-1),o=a.length+1;if(n){r.push({from:t.to,to:a.to},{from:t.from,insert:a.text+e.lineBreak});for(let n of t.ranges)i.push(q.range(Math.min(e.doc.length,n.anchor+o),Math.min(e.doc.length,n.head+o)))}else{r.push({from:a.from,to:t.from},{from:t.to,insert:e.lineBreak+a.text});for(let e of t.ranges)i.push(q.range(e.anchor-o,e.head-o))}}return!!r.length&&(t(e.update({changes:r,scrollIntoView:!0,selection:q.create(i,e.selection.mainIndex),userEvent:"move.line"})),!0)}function Xs(e,t,n){if(e.readOnly)return!1;let r=[];for(let t of Ss(e))n?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});return t(e.update({changes:r,scrollIntoView:!0,userEvent:"input.copyline"})),!0}const Ts=Rs(!1);function Rs(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange((n=>{let{from:r,to:i}=n,a=t.doc.lineAt(r),o=!e&&r==i&&function(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n,r=qa(e).resolveInner(t),i=r.childBefore(t),a=r.childAfter(t);return i&&a&&i.to<=t&&a.from>=t&&(n=i.type.prop(Di.closedBy))&&n.indexOf(a.name)>-1&&e.doc.lineAt(i.to).from==e.doc.lineAt(a.from).from?{from:i.to,to:a.from}:null}(t,r);e&&(r=i=(i<=a.to?a:t.doc.lineAt(i)).to);let s=new Ba(t,{simulateBreak:r,simulateDoubleBreak:!!o}),O=Fa(s,r);for(null==O&&(O=/^\s*/.exec(t.doc.lineAt(r).text)[0].length);ia.from&&r{let i=[];for(let a=r.from;a<=r.to;){let o=e.doc.lineAt(a);o.number>n&&(r.empty||r.to>o.from)&&(t(o,i,r),n=o.number),a=o.to+1}let a=e.changes(i);return{changes:i,range:q.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}}))}const qs=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Ws(e,((t,n)=>{n.push({from:t.from,insert:e.facet(Na)})})),{userEvent:"input.indent"})),!0),zs=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Ws(e,((t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let i=u(r,e.tabSize),a=0,o=Ma(e,Math.max(0,i-Da(e)));for(;aIo(e,(t=>q.cursor(e.visualLineAt(t.head).from,1))),shift:e=>ns(e,(t=>q.cursor(e.visualLineAt(t.head).from)))},{key:"Ctrl-e",run:e=>Io(e,(t=>q.cursor(e.visualLineAt(t.head).to,-1))),shift:e=>ns(e,(t=>q.cursor(e.visualLineAt(t.head).to)))},{key:"Ctrl-d",run:ks},{key:"Ctrl-h",run:ws},{key:"Ctrl-k",run:vs},{key:"Ctrl-Alt-h",run:Ps},{key:"Ctrl-o",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange((e=>({changes:{from:e.from,to:e.to,insert:h.of(["",""])},range:q.cursor(e.from)})));return t(e.update(n,{scrollIntoView:!0,userEvent:"input"})),!0}},{key:"Ctrl-t",run:({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),a=n==i.from?n-1:r(i.text,n-i.from,!1)+i.from,o=n==i.to?n+1:r(i.text,n-i.from,!0)+i.from;return{changes:{from:a,to:o,insert:e.doc.slice(n,o).append(e.doc.slice(a,n))},range:q.cursor(o)}}));return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:"move.character"})),!0)}},{key:"Alt-<",run:fs},{key:"Alt->",run:ms},{key:"Ctrl-v",run:Ko},{key:"Alt-v",run:Ho}],Zs=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:e=>Io(e,(t=>No(e.state,t,e.textDirection!=Cn.LTR))),shift:e=>ns(e,(t=>No(e.state,t,e.textDirection!=Cn.LTR)))},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:e=>Io(e,(t=>No(e.state,t,e.textDirection==Cn.LTR))),shift:e=>ns(e,(t=>No(e.state,t,e.textDirection==Cn.LTR)))},{key:"Alt-ArrowUp",run:({state:e,dispatch:t})=>_s(e,t,!1)},{key:"Shift-Alt-ArrowUp",run:({state:e,dispatch:t})=>Xs(e,t,!1)},{key:"Alt-ArrowDown",run:({state:e,dispatch:t})=>_s(e,t,!0)},{key:"Shift-Alt-ArrowDown",run:({state:e,dispatch:t})=>Xs(e,t,!0)},{key:"Escape",run:({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=q.create([n.main]):n.main.empty||(r=q.create([q.cursor(n.main.head)])),!!r&&(t(Eo(e,r)),!0)}},{key:"Mod-Enter",run:Rs(!0)},{key:"Alt-l",mac:"Ctrl-l",run:({state:e,dispatch:t})=>{let n=Ss(e).map((({from:t,to:n})=>q.range(t,Math.min(n+1,e.doc.length))));return t(e.update({selection:q.create(n),userEvent:"select"})),!0}},{key:"Mod-i",run:({state:e,dispatch:t})=>{let n=Uo(e.selection,(t=>{var n;let r=qa(e).resolveInner(t.head,1);for(;!(r.from=t.to||r.to>t.to&&r.from<=t.from)&&(null===(n=r.parent)||void 0===n?void 0:n.parent);)r=r.parent;return q.range(r.to,r.from)}));return t(Eo(e,n)),!0},preventDefault:!0},{key:"Mod-[",run:zs},{key:"Mod-]",run:qs},{key:"Mod-Alt-\\",run:({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new Ba(e,{overrideIndentation:e=>{let t=n[e];return null==t?-1:t}}),i=Ws(e,((t,i,a)=>{let o=Fa(r,t.from);if(null==o)return;/\S/.test(t.text)||(o=0);let s=/^\s*/.exec(t.text)[0],O=Ma(e,o);(s!=O||a.from{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(Ss(t).map((({from:e,to:n})=>(e>0?e--:ne.moveVertically(t,!0))).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0}},{key:"Shift-Mod-\\",run:({state:e,dispatch:t})=>function(e,t,n){let r=!1,i=Uo(e.selection,(t=>{let i=$o(e,t.head,-1)||$o(e,t.head,1)||t.head>0&&$o(e,t.head-1,1)||t.headjo(e,e.textDirection!=Cn.LTR),shift:e=>os(e,e.textDirection!=Cn.LTR)},{mac:"Cmd-ArrowLeft",run:ts,shift:ps},{key:"ArrowRight",run:Go,shift:as,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:e=>jo(e,e.textDirection==Cn.LTR),shift:e=>os(e,e.textDirection==Cn.LTR)},{mac:"Cmd-ArrowRight",run:es,shift:ds},{key:"ArrowUp",run:Mo,shift:Os,preventDefault:!0},{mac:"Cmd-ArrowUp",run:fs,shift:gs},{mac:"Ctrl-ArrowUp",run:Ho,shift:us},{key:"ArrowDown",run:Fo,shift:ls,preventDefault:!0},{mac:"Cmd-ArrowDown",run:ms,shift:Qs},{mac:"Ctrl-ArrowDown",run:Ko,shift:hs},{key:"PageUp",run:Ho,shift:us},{key:"PageDown",run:Ko,shift:hs},{key:"Home",run:ts,shift:ps},{key:"Mod-Home",run:fs,shift:gs},{key:"End",run:es,shift:ds},{key:"Mod-End",run:ms,shift:Qs},{key:"Enter",run:Ts},{key:"Mod-a",run:({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:"select"})),!0)},{key:"Backspace",run:ws,shift:ws},{key:"Delete",run:ks,shift:ks},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Ps},{key:"Mod-Delete",mac:"Alt-Delete",run:e=>ys(e,!0)},{mac:"Mod-Backspace",run:e=>$s(e,(t=>{let n=e.visualLineAt(t).from;return bs(e,t>n?n:Math.max(0,t-1),!1)}))},{mac:"Mod-Delete",run:vs}].concat(Ys.map((e=>({mac:e.key,run:e.run,shift:e.shift}))))),Us=Oe.define(),Es=Oe.define(),Is=U.define(),Vs=U.define({combine:e=>ye(e,{minDepth:100,newGroupDelay:500},{minDepth:Math.max,newGroupDelay:Math.min})}),Cs=G.define({create:()=>nO.empty,update(e,t){let n=t.state.facet(Vs),r=t.annotation(Us);if(r){let i=Ms.fromTransaction(t),a=r.side,o=0==a?e.undone:e.done;return o=i?Fs(o,o.length,n.minDepth,i):Ks(o,t.startState.selection),new nO(0==a?r.rest:o,0==a?o:r.rest)}let i=t.annotation(Es);if("full"!=i&&"before"!=i||(e=e.isolate()),!1===t.annotation(he.addToHistory))return t.changes.empty?e:e.addMapping(t.changes.desc);let a=Ms.fromTransaction(t),o=t.annotation(he.time),s=t.annotation(he.userEvent);return a?e=e.addChanges(a,o,s,n.newGroupDelay,n.minDepth):t.selection&&(e=e.addSelection(t.startState.selection,o,s,n.newGroupDelay)),"full"!=i&&"after"!=i||(e=e.isolate()),e},toJSON:e=>({done:e.done.map((e=>e.toJSON())),undone:e.undone.map((e=>e.toJSON()))}),fromJSON:e=>new nO(e.done.map(Ms.fromJSON),e.undone.map(Ms.fromJSON))});function As(e={}){return[Cs,Vs.of(e),Qi.domEventHandlers({beforeinput:(e,t)=>"historyUndo"==e.inputType?js(t):"historyRedo"==e.inputType&&Ls(t)})]}function Gs(e,t){return function({state:n,dispatch:r}){let i=n.field(Cs,!1);if(!i)return!1;let a=i.pop(e,n,t);return!!a&&(r(a),!0)}}const js=Gs(0,!1),Ls=Gs(1,!1),Ns=Gs(0,!0),Ds=Gs(1,!0);class Ms{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(e){return new Ms(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 Ms(e.changes&&P.fromJSON(e.changes),[],e.mapped&&y.fromJSON(e.mapped),e.startSelection&&q.fromJSON(e.startSelection),e.selectionsAfter.map(q.fromJSON))}static fromTransaction(e){let t=Hs;for(let n of e.startState.facet(Is)){let r=n(e);r.length&&(t=t.concat(r))}return!t.length&&e.changes.empty?null:new Ms(e.changes.invert(e.startState.doc),t,void 0,e.startState.selection,Hs)}static selection(e){return new Ms(void 0,Hs,void 0,void 0,e)}}function Fs(e,t,n,r){let i=t+1>n+20?t-n-1:0,a=e.slice(i,t);return a.push(r),a}function Bs(e,t){return e.length?t.length?e.concat(t):e:t}const Hs=[];function Ks(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-200));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),Fs(e,e.length-1,1e9,n.setSelAfter(r)))}return[Ms.selection([t])]}function Js(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 eO(e,t){if(!e.length)return e;let n=e.length,r=Hs;for(;n;){let i=tO(e[n-1],t,r);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,r=i.selectionsAfter}return r.length?[Ms.selection(r)]:Hs}function tO(e,t,n){let r=Bs(e.selectionsAfter.length?e.selectionsAfter.map((e=>e.map(t))):Hs,n);if(!e.changes)return Ms.selection(r);let i=e.changes.map(t),a=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(a):a;return new Ms(i,ue.mapEffects(e.effects,t),o,e.startSelection.map(a),r)}class nO{constructor(e,t,n=0,r){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new nO(this.done,this.undone):this}addChanges(e,t,n,r,i){let a=this.done,o=a[a.length-1];return a=o&&o.changes&&!o.changes.empty&&e.changes&&(!o.selectionsAfter.length&&t-this.prevTimen.push(e,t))),t.iterChangedRanges(((e,t,i,a)=>{for(let e=0;e=t&&i<=o&&(r=!0)}})),r}(o.changes,e.changes)||"input.type.compose"==n)?Fs(a,a.length-1,i,new Ms(e.changes.compose(o.changes),Bs(e.effects,o.effects),o.mapped,o.startSelection,Hs)):Fs(a,a.length,i,e),new nO(a,Hs,t,n)}addSelection(e,t,n,r){let i=this.done.length?this.done[this.done.length-1].selectionsAfter:Hs;return i.length>0&&t-this.prevTimee.empty!=t.ranges[n].empty)).length}(i[i.length-1],e)?this:new nO(Ks(this.done,e),this.undone,t,n)}addMapping(e){return new nO(eO(this.done,e),eO(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=0==e?this.done:this.undone;if(0==r.length)return null;let i=r[r.length-1];if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:Us.of({side:e,rest:Js(r)}),userEvent:0==e?"select.undo":"select.redo"});if(i.changes){let n=1==r.length?Hs:r.slice(0,r.length-1);return i.mapped&&(n=eO(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:Us.of({side:e,rest:n}),filter:!1,userEvent:0==e?"undo":"redo"})}return null}}nO.empty=new nO(Hs,Hs);const rO=[{key:"Mod-z",run:js,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Ls,preventDefault:!0},{key:"Mod-u",run:Ns,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:Ds,preventDefault:!0}];class iO{constructor(e,t,n,r,i,a,o){this.type=e,this.value=t,this.from=n,this.hash=r,this.end=i,this.children=a,this.positions=o,this.hashProp=[[Di.contextHash,r]]}static create(e,t,n,r,i){return new iO(e,t,n,r+(r<<8)+e+(t<<4)|0,i,[],[])}addChild(e,t){e.prop(Di.contextHash)!=this.hash&&(e=new Ji(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 Ji(e.types[this.type],this.children,this.positions,t-this.from).balance({makeTree:(e,t,n)=>new Ji(Bi.none,e,t,n,this.hashProp)})}}var aO;!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"}(aO||(aO={}));class oO{constructor(e,t){this.start=e,this.content=t,this.marks=[],this.parsers=[]}}class sO{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 uO(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 r=t;r=t.stack[n.depth+1].value+n.baseIndent)return!0;if(n.indent>=n.baseIndent+4)return!1;let r=(e.type==aO.OrderedList?QO:gO)(n,t,!1);return r>0&&(e.type!=aO.BulletList||fO(n,t,!1)<0)&&n.text.charCodeAt(n.pos+r-1)==e.value}const lO={[aO.Blockquote]:(e,t,n)=>62==n.next&&(n.markers.push(LO(aO.QuoteMark,t.lineStart+n.pos,t.lineStart+n.pos+1)),n.moveBase(n.pos+(cO(n.text.charCodeAt(n.pos+1))?2:1)),e.end=t.lineStart+n.text.length,!0),[aO.ListItem]:(e,t,n)=>!(n.indent-1)&&(n.moveBaseColumn(n.baseIndent+e.value),!0),[aO.OrderedList]:OO,[aO.BulletList]:OO,[aO.Document]:()=>!0};function cO(e){return 32==e||9==e||10==e||13==e}function uO(e,t=0){for(;tn&&cO(e.charCodeAt(t-1));)t--;return t}function dO(e){if(96!=e.next&&126!=e.next)return-1;let t=e.pos+1;for(;t-1&&e.depth==t.stack.length||r<3?-1:1}function mO(e,t){return e.block.type==t||e.stack.length>1&&e.stack[e.stack.length-2].type==t}function gO(e,t,n){return 45!=e.next&&43!=e.next&&42!=e.next||e.pos!=e.text.length-1&&!cO(e.text.charCodeAt(e.pos+1))||!(!n||mO(t,aO.BulletList)||e.skipSpace(e.pos+2)=48&&i<=57;){if(r++,r==e.text.length)return-1;i=e.text.charCodeAt(r)}return r==e.pos||r>e.pos+9||46!=i&&41!=i||re.pos+1||49!=e.next)?-1:r+1-e.pos}function $O(e){if(35!=e.next)return-1;let t=e.pos+1;for(;t6?-1:n}function bO(e){if(45!=e.next&&61!=e.next||e.indent>=e.baseIndent+4)return-1;let t=e.pos+1;for(;t/,kO=/\?>/,yO=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(r);if(a)return e.append(LO(aO.Comment,n,n+1+a[0].length));let o=/^\?[^]*?\?>/.exec(r);if(o)return e.append(LO(aO.ProcessingInstruction,n,n+1+o[0].length));let s=/^(?:![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(r);return s?e.append(LO(aO.HTMLTag,n,n+1+s[0].length)):-1},Emphasis(e,t,n){if(95!=t&&42!=t)return-1;let r=n+1;for(;e.char(r)==t;)r++;let i=e.slice(n-1,n),a=e.slice(r,r+1),o=KO.test(i),s=KO.test(a),O=/\s|^$/.test(i),l=/\s|^$/.test(a),c=!l&&(!s||O||o),u=!O&&(!o||l||s),h=c&&(42==t||!u||o),d=u&&(42==t||!c||s);return e.append(new BO(95==t?NO:DO,n,r,(h?1:0)|(d?2:0)))},HardBreak(e,t,n){if(92==t&&10==e.char(n+1))return e.append(LO(aO.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(LO(aO.HardBreak,n,t+1))}return-1},Link:(e,t,n)=>91==t?e.append(new BO(MO,n,n+1,1)):-1,Image:(e,t,n)=>33==t&&91==e.char(n+1)?e.append(new BO(FO,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 r=e.parts[t];if(r instanceof BO&&(r.type==MO||r.type==FO)){if(!r.side||e.skipSpace(r.to)==n&&!/[(\[]/.test(e.slice(n+1,n+2)))return e.parts[t]=null,-1;let i=e.takeContent(t),a=e.parts[t]=el(e,i,r.type==MO?aO.Link:aO.Image,r.from,n+1);if(r.type==MO)for(let n=0;nt?LO(aO.URL,t+n,i+n):i==e.length&&null}}function nl(e,t,n){let r=e.charCodeAt(t);if(39!=r&&34!=r&&40!=r)return!1;let i=40==r?41:r;for(let r=t+1,a=!1;r=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,r,i){return this.append(new BO(e,t,n,(r?1:0)|(i?2:0)))}addElement(e){return this.append(e)}resolveMarkers(e){for(let t=e;t=e;o--){let e=this.parts[o];if(e instanceof BO&&1&e.side&&e.type==n.type&&!(i&&(1&n.side||2&e.side)&&(e.to-e.from+a)%3==0&&((e.to-e.from)%3||a%3))){r=e;break}}if(!r)continue;let s=n.type.resolve,O=[],l=r.from,c=n.to;if(i){let e=Math.min(2,r.to-r.from,a);l=r.to-e,c=n.from+e,s=1==e?"Emphasis":"StrongEmphasis"}r.type.mark&&O.push(this.elt(r.type.mark,l,r.to));for(let e=o+1;e=0;t--){let n=this.parts[t];if(n instanceof BO&&n.type==e)return t}return null}takeContent(e){let t=this.resolveMarkers(e);return this.parts.length=e,t}skipSpace(e){return uO(this.text,e-this.offset)+this.offset}elt(e,t,n,r){return"string"==typeof e?LO(this.parser.getNodeType(e),t,n,r):new jO(e,t)}}function al(e,t){if(!t.length)return e;if(!e.length)return t;let n=e.slice(),r=0;for(let e of t){for(;r(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 r=e+this.fragment.offset;for(;n.to<=r;)if(!n.parent())return!1;for(;;){if(n.from>=r)return this.fragment.from<=t;if(!n.childAfter(r))return!1}}matches(e){let t=this.cursor.tree;return t&&t.prop(Di.contextHash)==e}takeNodes(e){let t=this.cursor,n=this.fragment.offset,r=e.absoluteLineStart,i=r,a=e.block.children.length,o=i,s=a;for(;;){if(t.to-n>=this.fragmentEnd){if(t.type.isAnonymous&&t.firstChild())continue;break}if(e.dontInject.add(t.tree),e.addNode(t.tree,t.from-n),t.type.is("Block")&&(ol.indexOf(t.type.id)<0?(i=t.to-n,a=e.block.children.length):(i=o,a=s,o=t.to-n,s=e.block.children.length)),!t.nextSibling())break}for(;e.block.children.length>a;)e.block.children.pop(),e.block.positions.pop();return i-r}}const Ol=new ZO(new Hi(VO),Object.keys(_O).map((e=>_O[e])),Object.keys(_O).map((e=>WO[e])),Object.keys(_O),qO,lO,Object.keys(JO).map((e=>JO[e])),Object.keys(JO),[]);function ll(e,t,n){let r=[];for(let i=e.firstChild,a=t;;i=i.nextSibling){let e=i?i.from:n;if(e>a&&r.push({from:a,to:e}),!i)break;a=i.to}return r}const cl={resolve:"Strikethrough",mark:"StrikethroughMark"},ul={defineNodes:["Strikethrough","StrikethroughMark"],parseInline:[{name:"Strikethrough",parse:(e,t,n)=>126!=t||126!=e.char(n+1)?-1:e.addDelimiter(cl,n,n+2,!0,!0),after:"Emphasis"}]};function hl(e,t,n=0,r,i=0){let a=0,o=!0,s=-1,O=-1,l=!1,c=()=>{r.push(e.elt("TableCell",i+s,i+O,e.parser.parseInline(t.slice(s,O),i+s)))};for(let u=n;u-1)&&a++,o=!1,r&&(s>-1&&c(),r.push(e.elt("TableDelimiter",u+i,u+i+1))),s=O=-1),l=!l&&92==n}return s>-1&&(a++,r&&c()),a}class dl{constructor(){this.rows=null}nextLine(e,t,n){if(null==this.rows){let r;if(this.rows=!1,(45==t.next||58==t.next||124==t.next)&&/^\|?(\s*:?-+:?\s*\|)+(\s*:?-+:?\s*)?$/.test(r=t.text.slice(t.pos))){let i=[];hl(e,n.content,0,i,n.start)==hl(e,r,t.pos)&&(this.rows=[e.elt("TableHeader",n.start,n.start+n.content.length,i),e.elt("TableDelimiter",e.lineStart+t.pos,e.lineStart+t.text.length)])}}else if(this.rows){let n=[];hl(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&&(this.emit(e,t),!0)}emit(e,t){e.addLeafElement(t,e.elt("Table",t.start,t.start+t.content.length,this.rows))}}const pl={defineNodes:[{name:"Table",block:!0},"TableHeader","TableRow","TableCell","TableDelimiter"],parseBlock:[{name:"Table",leaf:(e,t)=>function(e,t){for(let n=t;n/^\[[ xX]\]/.test(t.content)&&"ListItem"==e.parser.nodeSet.types[e.block.type].name?new fl:null,after:"SetextHeading"}]},gl=[pl,ml,ul];function Ql(e,t,n){return(r,i,a)=>{if(i!=e||r.char(a+1)==e)return-1;let o=[r.elt(n,a,a+1)];for(let i=a+1;it%3==0)).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,t,n=0){let r=e.parser.context;return new wl(e,[],t,n,n,0,[],0,r?new kl(r,r.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,t){this.stack.push(this.state,t,this.bufferBase+this.buffer.length),this.state=e}reduce(e){let t=e>>19,n=65535&e,{parser:r}=this.p,i=r.dynamicPrecedence(n);if(i&&(this.score+=i),0==t)return na;)this.stack.pop();this.reduceContext(n,o)}storeNode(e,t,n,r=4,i=!1){if(0==e){let e=this,r=this.buffer.length;if(0==r&&e.parent&&(r=e.bufferBase-e.parent.bufferBase,e=e.parent),r>0&&0==e.buffer[r-4]&&e.buffer[r-1]>-1){if(t==n)return;if(e.buffer[r-2]>=t)return void(e.buffer[r-2]=n)}}if(i&&this.pos!=n){let i=this.buffer.length;if(i>0&&0!=this.buffer[i-4])for(;i>0&&this.buffer[i-2]>n;)this.buffer[i]=this.buffer[i-4],this.buffer[i+1]=this.buffer[i-3],this.buffer[i+2]=this.buffer[i-2],this.buffer[i+3]=this.buffer[i-1],i-=4,r>4&&(r-=4);this.buffer[i]=e,this.buffer[i+1]=t,this.buffer[i+2]=n,this.buffer[i+3]=r}else this.buffer.push(e,t,n,r)}shift(e,t,n){let r=this.pos;if(131072&e)this.pushState(65535&e,this.pos);else if(0==(262144&e)){let i=e,{parser:a}=this.p;(n>this.pos||t<=a.maxNode)&&(this.pos=n,a.stateFlag(i,1)||(this.reducePos=n)),this.pushState(i,r),this.shiftContext(t,r),t<=a.maxNode&&this.buffer.push(t,r,n,4)}else this.pos=n,this.shiftContext(t,r),t<=this.p.parser.maxNode&&this.buffer.push(t,r,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 r=this.pos;this.reducePos=this.pos=r+e.length,this.pushState(t,r),this.buffer.push(n,r,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),r=e.bufferBase+t;for(;e&&r==e.bufferBase;)e=e.parent;return new wl(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,n,r,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 Pl(this);;){let n=this.p.parser.stateSlot(t.state,4)||this.p.parser.hasAction(t.state,e);if(0==(65536&n))return!0;if(0==n)return!1;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 r,i=0;i1&t&&e==r))||n.push(t[e],r)}t=n}let n=[];for(let e=0;e>19,r=65535&e,i=this.stack.length-3*n;if(i<0||t.getGoto(this.stack[i],r,!0)<0)return!1;this.storeNode(0,this.reducePos,this.reducePos,4,!0),this.score-=100}return this.reduce(e),!0}forceAll(){for(;!this.p.parser.stateFlag(this.state,2)&&this.forceReduce(););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;tthis.lookAhead&&(this.emitLookAhead(),this.lookAhead=e)}close(){this.curContext&&this.curContext.tracker.strict&&this.emitContext(),this.lookAhead>0&&this.emitLookAhead()}}class kl{constructor(e,t){this.tracker=e,this.context=t,this.hash=e.strict?e.hash(t):0}}var yl;!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"}(yl||(yl={}));class Pl{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 r=this.start.p.parser.getGoto(this.stack[this.base-3],t,!0);this.state=r}}class vl{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 vl(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 vl(this.stack,this.pos,this.index)}}class Sl{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const _l=new Sl;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=_l,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,r=this.rangeIndex,i=this.pos+e;for(;in.to:i>=n.to;){if(r==this.ranges.length-1)return null;let e=this.ranges[++r];i+=e.from-n.to,n=e}return i}peek(e){let t,n,r=this.chunkOff+e;if(r>=0&&r=this.chunk2Pos&&tr.to&&(this.chunk2=this.chunk2.slice(0,r.to-t)),n=this.chunk2.charCodeAt(0)}}return t>this.token.lookAhead&&(this.token.lookAhead=t),n}acceptToken(e,t=0){let n=t?this.resolveOffset(t,-1):this.pos;if(null==n||n=this.chunk2Pos&&this.posthis.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),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=t.lookAhead=e,t.value=t.extended=-1):this.token=_l,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&t<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,t-this.chunkPos);if(e>=this.range.from&&t<=this.range.to)return this.input.read(e,t);let n="";for(let r of this.ranges){if(r.from>=t)break;r.to>e&&(n+=this.input.read(Math.max(r.from,e),Math.min(r.to,t)))}return n}}class Tl{constructor(e,t){this.data=e,this.id=t}token(e,t){!function(e,t,n,r){let i=0,a=1<0){let n=e[r];if(s.allows(n)&&(-1==t.token.value||t.token.value==n||o.overrides(n,t.token.value))){t.acceptToken(n);break}}for(let r=t.next,a=0,o=e[i+2];a>1,O=n+s+(s<<1),l=e[O],c=e[O+1];if(r=c)){i=e[O+2],t.advance();continue e}a=s+1}}break}}(this.data,e,t,this.id)}}Tl.prototype.contextual=Tl.prototype.fallback=Tl.prototype.extend=!1;class Rl{constructor(e,t={}){this.token=e,this.contextual=!!t.contextual,this.fallback=!!t.fallback,this.extend=!!t.extend}}function Wl(e,t=Uint16Array){if("string"!=typeof e)return e;let n=null;for(let r=0,i=0;r=92&&t--,t>=34&&t--;let i=t-32;if(i>=46&&(i-=46,n=!0),a+=i,n)break;a*=46}n?n[i++]=a:n=new t(a)}return n}const ql="undefined"!=typeof process&&/\bparse\b/.test(process.env.LOG);let zl=null;var Yl,Zl;function Ul(e,t,n){let r=e.fullCursor();for(r.moveTo(t);;)if(!(n<0?r.childBefore(t):r.childAfter(t)))for(;;){if((n<0?r.tot)&&!r.type.isError)return n<0?Math.max(0,Math.min(r.to-1,t-25)):Math.min(e.length,Math.max(r.from+1,t+25));if(n<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return n<0?0:e.length}}!function(e){e[e.Margin=25]="Margin"}(Yl||(Yl={}));class El{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?Ul(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?Ul(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(ee)return this.nextStart=a,null;if(i instanceof Ji){if(a==e){if(a=Math.max(this.safeFrom,e)&&(this.trees.push(i),this.start.push(a),this.index.push(0))}else this.index[t]++,this.nextStart=a+i.length}}}class Il{constructor(e,t){this.stream=t,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map((e=>new Sl))}getActions(e){let t=0,n=null,{parser:r}=e.p,{tokenizers:i}=r,a=r.stateSlot(e.state,3),o=e.curContext?e.curContext.hash:0,s=0;for(let r=0;rl.end+25&&(s=Math.max(l.lookAhead,s)),0!=l.value)){let r=t;if(l.extended>-1&&(t=this.addActions(e,l.extended,l.end,t)),t=this.addActions(e,l.value,l.end,t),!O.extend&&(n=l,t>r))break}}for(;this.actions.length>t;)this.actions.pop();return s&&e.setLookAhead(s),n||e.pos!=this.stream.end||(n=new Sl,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 Sl,{pos:n,p:r}=e;return t.start=n,t.end=Math.min(n+1,r.stream.end),t.value=n==r.stream.end?r.parser.eofTerm:0,t}updateCachedToken(e,t,n){if(t.token(this.stream.reset(n.pos,e),n),e.value>-1){let{parser:t}=n.p;for(let r=0;r=0&&n.p.parser.dialect.allows(i>>1)){0==(1&i)?e.value=i>>1:e.extended=i>>1;break}}}else e.value=0,e.end=Math.min(n.p.stream.end,n.pos+1)}putAction(e,t,n,r){for(let t=0;t4*e.bufferLength?new El(n,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e,t,n=this.stacks,r=this.minStackPos,i=this.stacks=[];for(let a=0;ar)i.push(o);else{if(this.advanceStack(o,i,n))continue;{e||(e=[],t=[]),e.push(o);let n=this.tokens.getMainToken(o);t.push(n.value,n.end)}}break}}if(!i.length){let t=e&&function(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.scoree)for(i.sort(((e,t)=>t.score-e.score));i.length>e;)i.pop();i.some((e=>e.reducePos>r))&&this.recovering--}else if(i.length>1)e:for(let e=0;e200&&r.buffer.length>200){if(!((t.score-r.score||t.buffer.length-r.buffer.length)>0)){i.splice(e--,1);continue e}i.splice(n--,1)}}}this.minStackPos=i[0].pos;for(let e=1;ethis.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 a=this.fragments.nodeAt(r);a;){let r=this.parser.nodeSet.types[a.type.id]==a.type?i.getGoto(e.state,a.type.id):-1;if(r>-1&&a.length&&(!t||(a.prop(Di.contextHash)||0)==n))return e.useNode(a,r),!0;if(!(a instanceof Ji)||0==a.children.length||a.positions[0]>0)break;let o=a.children[0];if(!(o instanceof Ji&&0==a.positions[0]))break;a=o}}let a=i.stateSlot(e.state,4);if(a>0)return e.reduce(a),!0;let o=this.tokens.getActions(e);for(let i=0;ir?t.push(c):n.push(c)}return!1}advanceFully(e,t){let n=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>n)return Cl(e,t),!0}}runRecovery(e,t,n){let r=null,i=!1;for(let a=0;a ":"";if(o.deadEnd){if(i)continue;if(i=!0,o.restart(),this.advanceFully(o,n))continue}let c=o.split(),u=l;for(let e=0;c.forceReduce()&&e<10;e++){if(this.advanceFully(c,n))break;ql&&(u=this.stackID(c)+" -> ")}for(let e of o.recoverByInsert(s))this.advanceFully(e,n);this.stream.end>o.pos?(O==o.pos&&(O++,s=0),o.recoverByDelete(s,O),Cl(o,n)):(!r||r.scoree;class jl{constructor(e){this.start=e.start,this.shift=e.shift||Gl,this.reduce=e.reduce||Gl,this.reuse=e.reuse||Gl,this.hash=e.hash||(()=>0),this.strict=!1!==e.strict}}class Ll extends pa{constructor(e){if(super(),this.wrappers=[],13!=e.version)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (13)`);let t=e.nodeNames.split(" ");this.minRepeatTerm=t.length;for(let n=0;ne.topRules[t][1])),r=[];for(let e=0;e=0)i(r,e,t[n++]);else{let a=t[n+-r];for(let o=-r;o>0;o--)i(t[n++],e,a);n++}}}this.nodeSet=new Hi(t.map(((t,i)=>Bi.define({name:i>=this.minRepeatTerm?void 0:t,id:i,props:r[i],top:n.indexOf(i)>-1,error:0==i,skipped:e.skippedNodes&&e.skippedNodes.indexOf(i)>-1})))),this.strict=!1,this.bufferLength=ji;let a=Wl(e.tokenData);if(this.context=e.context,this.specialized=new Uint16Array(e.specialized?e.specialized.length:0),this.specializers=[],e.specialized)for(let t=0;t"number"==typeof e?new Tl(a,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 r=new Vl(this,e,t,n);for(let i of this.wrappers)r=i(r,e,t,n);return r}getGoto(e,t,n=!1){let r=this.goto;if(t>=r[0])return-1;for(let i=r[t+1];;){let t=r[i++],a=1&t,o=r[i++];if(a&&n)return o;for(let n=i+(t>>1);i0}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=Nl(this.data,n+2)}if(t==Nl(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=Nl(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}overrides(e,t){let n=Dl(this.data,this.tokenPrecTable,t);return n<0||Dl(this.data,this.tokenPrecTable,e){let n=e.tokenizers.find((e=>e.from==t));return n?n.to:t}))),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}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 r of e.split(" ")){let e=t.indexOf(r);e>=0&&(n[e]=!0)}let r=null;for(let e=0;e=65&&e<=90||95==e||e>=97&&e<=122||e>=161}function Kl(e){return 9==e||10==e||13==e||32==e}let Jl=null,ec=null,tc=0;function nc(e,t){let n=e.pos+t;if(tc==n&&ec==e)return Jl;let r=e.peek(t);for(;Kl(r);)r=e.peek(++t);let i="";for(;Hl(r);)i+=String.fromCharCode(r),r=e.peek(++t);return ec=e,tc=n,Jl=i||(r==rc||r==ic?void 0:null)}const rc=63,ic=33;function ac(e,t){this.name=e,this.parent=t,this.hash=t?t.hash:0;for(let t=0;toc.indexOf(t)>-1?new ac(nc(r,1)||"",e):e,reduce:(e,t)=>18==t&&e?e.parent:e,reuse(e,t,n,r){let i=t.type.id;return 4==i||35==i?new ac(nc(r,1)||"",e):e},hash:e=>e?e.hash:0,strict:!1}),Oc=new Rl(((e,t)=>{if(60!=e.next)return void(e.next<0&&t.context&&e.acceptToken(56));e.advance();let n=47==e.next;n&&e.advance();let r=nc(e,0);if(void 0===r)return;if(!r)return e.acceptToken(n?11:4);let i=t.context?t.context.name:null;if(n){if(r==i)return e.acceptToken(8);if(i&&Fl[i])return e.acceptToken(56,-2);if(t.dialectEnabled(0))return e.acceptToken(9);for(let e=t.context;e;e=e.parent)if(e.name==r)return;e.acceptToken(10)}else{if("script"==r)return e.acceptToken(5);if("style"==r)return e.acceptToken(6);if("textarea"==r)return e.acceptToken(7);i&&Bl[i]&&Bl[i][r]?e.acceptToken(56,-1):e.acceptToken(4)}}),{contextual:!0}),lc=new Rl(((e,t)=>{let n=1;if(47==e.next){if(62!=e.peek(1))return;n=2}else if(62!=e.next)return;t.context&&Ml[t.context.name]&&e.acceptToken(12,n)})),cc=new Rl((e=>{for(let t=0,n=0;;n++){if(e.next<0){n&&e.acceptToken(57);break}if(e.next=="--\x3e".charCodeAt(t)){if(t++,3==t){n>3&&e.acceptToken(57,-2);break}}else t=0;e.advance()}}));function uc(e,t,n){let r=2+e.length;return new Rl((i=>{for(let a=0,o=0,s=0;;s++){if(i.next<0){s&&i.acceptToken(t);break}if(0==a&&60==i.next||1==a&&47==i.next||a>=2&&ao?i.acceptToken(t,-o):i.acceptToken(n,-(o-2));break}if((10==i.next||13==i.next)&&s){i.acceptToken(t,1);break}a=o=0}else o++;i.advance()}}))}const hc=uc("script",53,1),dc=uc("style",54,2),pc=uc("textarea",55,3),fc=Ll.deserialize({version:13,states:",fOVO!jOOO!TQ#tO'#CoO!YQ#tO'#CyO!_Q#tO'#C|O!dQ#tO'#DPO!iOXO'#CnO!tOYO'#CnO#PO[O'#CnO$YO!jO'#CnOOOW'#Cn'#CnO$aO$fO'#DSO$iQ#tO'#DUO$nQ#tO'#DVOOOW'#Dj'#DjOOOW'#DX'#DXQVO!jOOO$sQ&jO,59ZO${Q&jO,59eO%TQ&jO,59hO%]Q&zO,59kOOOX'#D]'#D]O%hOXO'#CwO%sOXO,59YOOOY'#D^'#D^O%{OYO'#CzO&WOYO,59YOOO['#D_'#D_O&`O[O'#C}O&kO[O,59YOOOW'#D`'#D`O&sO!jO,59YO&zQ#tO'#DQOOOW,59Y,59YOOOp'#Da'#DaO'PO$fO,59nOOOW,59n,59nO'XQ#tO,59pO'^Q#tO,59qOOOW-E7V-E7VO'cQ&zO'#CqOOQ`'#DY'#DYO'qQ&jO1G.uOOOX1G.u1G.uO'yQ&jO1G/POOOY1G/P1G/PO(RQ&jO1G/SOOO[1G/S1G/SO(ZQ&zO1G/VOOOW1G/V1G/VOOOW1G/X1G/XOOOX-E7Z-E7ZO(fQ#tO'#CxOOOW1G.t1G.tOOOY-E7[-E7[O(kQ#tO'#C{OOO[-E7]-E7]O(pQ#tO'#DOOOOW-E7^-E7^O(uQ#tO,59lOOOp-E7_-E7_OOOW1G/Y1G/YOOOW1G/[1G/[OOOW1G/]1G/]O(zQ,UO,59]OOQ`-E7W-E7WOOOX7+$a7+$aOOOY7+$k7+$kOOO[7+$n7+$nOOOW7+$q7+$qOOOW7+$s7+$sO)VQ#tO,59dO)[Q#tO,59gO)aQ#tO,59jOOOW1G/W1G/WO)fO7[O'#CtO)tOMhO'#CtOOQ`1G.w1G.wOOOW1G/O1G/OOOOW1G/R1G/ROOOW1G/U1G/UOOOO'#DZ'#DZO*SO7[O,59`OOQ`,59`,59`OOOO'#D['#D[O*bOMhO,59`OOOO-E7X-E7XOOQ`1G.z1G.zOOOO-E7Y-E7Y",stateData:"*x~O!]OS~OSSOTPOUQOVROX[OYZOZ]O^]O_]O`]Oa]Ow]Oz^O!cYO~Od`O~OdaO~OdbO~OdcO~O!VdOPkP!YkP~O!WgOQnP!YnP~O!XjORqP!YqP~OSSOTPOUQOVROWoOX[OYZOZ]O^]O_]O`]Oa]Ow]O!cYO~O!YpO~P#[O!ZqO!dsO~OdtO~OduO~OfwOjzO~OfwOj|O~OfwOj!OO~O[!ROfwOj!QO~O!VdOPkX!YkX~OP!TO!Y!UO~O!WgOQnX!YnX~OQ!WO!Y!UO~O!XjORqX!YqX~OR!YO!Y!UO~O!Y!UO~P#[Od![O~O!ZqO!d!^O~Oj!_O~Oj!`O~Og!aOfeXjeX[eX~OfwOj!cO~OfwOj!dO~OfwOj!eO~O[!gOfwOj!fO~Od!hO~Od!iO~Od!jO~Oj!kO~Oi!nO!_!lO!a!mO~Oj!oO~Oj!pO~Oj!qO~O_!rO`!rO!_!tO!`!rO~O_!uO`!uO!a!tO!b!uO~O_!rO`!rO!_!xO!`!rO~O_!uO`!uO!a!xO!b!uO~O`_a!cwz!c~",goto:"%i!_PPPPPPPPPPPPPPPPPP!`!fP!lPP!vPP!y!|#P#V#Y#]#c#f#i#o#u!`P!`!`P#{$R$e$k$q$w$}%T%ZPPPPPPPP%aX]OW_nXTOW_nax`abcy{}!PR!n!aRfTR!UfXUOW_nRiUR!UiXVOW_nRlVR!UlXWOW_nQpWR!UnXXOW_nQ_ORv_Qy`Q{aQ}bQ!PcX!by{}!PQ!s!lR!w!sQ!v!mR!y!vQeTR!SeQhUR!VhQkVR!XkQnWR!ZnQrYR!]rS^O_TmWn",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteCloseTag SelfCloseEndTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue EndTag ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:66,context:sc,nodeProps:[[Di.closedBy,-9,1,2,3,5,6,7,8,9,10,"EndTag",4,"EndTag SelfCloseEndTag",-4,19,29,32,35,"CloseTag"],[Di.group,-9,11,15,16,17,18,38,39,40,41,"Entity",14,"Entity TextContent",-3,27,30,33,"TextContent Entity"],[Di.openedBy,12,"StartTag",26,"StartTag StartCloseTag",-4,28,31,34,36,"OpenTag"]],skippedNodes:[0],repeatNodeCount:9,tokenData:"!#b!aR!WOX$kXY)sYZ)sZ]$k]^)s^p$kpq)sqr$krs*zsv$kvw+dwx2yx}$k}!O3f!O!P$k!P!Q7_!Q![$k![!]8u!]!^$k!^!_>b!_!`!!p!`!a8T!a!c$k!c!}8u!}#R$k#R#S8u#S#T$k#T#o8u#o$f$k$f$g&R$g%W$k%W%o8u%o%p$k%p&a8u&a&b$k&b1p8u1p4U$k4U4d8u4d4e$k4e$IS8u$IS$I`$k$I`$Ib8u$Ib$Kh$k$Kh%#t8u%#t&/x$k&/x&Et8u&Et&FV$k&FV;'S8u;'S;:jiW!``!bpOq(kqr?Rrs'gsv(kwx(]x!a(k!a!bKj!b~(k!R?YZ!``!bpOr(krs'gsv(kwx(]x}(k}!O?{!O!f(k!f!gAR!g#W(k#W#XGz#X~(k!R@SV!``!bpOr(krs'gsv(kwx(]x}(k}!O@i!O~(k!R@rT!``!bp!cPOr(krs'gsv(kwx(]x~(k!RAYV!``!bpOr(krs'gsv(kwx(]x!q(k!q!rAo!r~(k!RAvV!``!bpOr(krs'gsv(kwx(]x!e(k!e!fB]!f~(k!RBdV!``!bpOr(krs'gsv(kwx(]x!v(k!v!wBy!w~(k!RCQV!``!bpOr(krs'gsv(kwx(]x!{(k!{!|Cg!|~(k!RCnV!``!bpOr(krs'gsv(kwx(]x!r(k!r!sDT!s~(k!RD[V!``!bpOr(krs'gsv(kwx(]x!g(k!g!hDq!h~(k!RDxW!``!bpOrDqrsEbsvDqvwEvwxFfx!`Dq!`!aGb!a~DqqEgT!bpOvEbvxEvx!`Eb!`!aFX!a~EbPEyRO!`Ev!`!aFS!a~EvPFXOzPqF`Q!bpzPOv'gx~'gaFkV!``OrFfrsEvsvFfvwEvw!`Ff!`!aGQ!a~FfaGXR!``zPOr(]sv(]w~(]!RGkT!``!bpzPOr(krs'gsv(kwx(]x~(k!RHRV!``!bpOr(krs'gsv(kwx(]x#c(k#c#dHh#d~(k!RHoV!``!bpOr(krs'gsv(kwx(]x#V(k#V#WIU#W~(k!RI]V!``!bpOr(krs'gsv(kwx(]x#h(k#h#iIr#i~(k!RIyV!``!bpOr(krs'gsv(kwx(]x#m(k#m#nJ`#n~(k!RJgV!``!bpOr(krs'gsv(kwx(]x#d(k#d#eJ|#e~(k!RKTV!``!bpOr(krs'gsv(kwx(]x#X(k#X#YDq#Y~(k!RKqW!``!bpOrKjrsLZsvKjvwLowxNPx!aKj!a!b! g!b~KjqL`T!bpOvLZvxLox!aLZ!a!bM^!b~LZPLrRO!aLo!a!bL{!b~LoPMORO!`Lo!`!aMX!a~LoPM^OwPqMcT!bpOvLZvxLox!`LZ!`!aMr!a~LZqMyQ!bpwPOv'gx~'gaNUV!``OrNPrsLosvNPvwLow!aNP!a!bNk!b~NPaNpV!``OrNPrsLosvNPvwLow!`NP!`!a! V!a~NPa! ^R!``wPOr(]sv(]w~(]!R! nW!``!bpOrKjrsLZsvKjvwLowxNPx!`Kj!`!a!!W!a~Kj!R!!aT!``!bpwPOr(krs'gsv(kwx(]x~(k!V!!{VgS^P!``!bpOr&Rrs&qsv&Rwx'rx!^&R!^!_(k!_~&R",tokenizers:[hc,dc,pc,Oc,lc,cc,0,1,2,3,4,5],topRules:{Document:[0,13]},dialects:{noMatch:0},tokenPrec:446});function mc(e,t){let n=Object.create(null);for(let r of e.firstChild.getChildren("Attribute")){let e=r.getChild("AttributeName"),i=r.getChild("AttributeValue")||r.getChild("UnquotedAttributeValue");e&&(n[t.read(e.from,e.to)]=i?"AttributeValue"==i.name?t.read(i.from+1,i.to-1):t.read(i.from,i.to):"")}return n}function gc(e,t,n){let r;for(let i of n)if(!i.attrs||i.attrs(r||(r=mc(e.node.parent,t))))return{parser:i.parser};return null}function Qc(e){let t=[],n=[],r=[];for(let i of e){let e="script"==i.tag?t:"style"==i.tag?n:"textarea"==i.tag?r:null;if(!e)throw new RangeError("Only script, style, and textarea tags can host nested parsers");e.push(i)}return ma(((e,i)=>{let a=e.type.id;return 27==a?gc(e,i,t):30==a?gc(e,i,n):33==a?gc(e,i,r):null}))}const $c=[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];function bc(e){return e>=65&&e<=90||e>=97&&e<=122||e>=161}function xc(e){return e>=48&&e<=57}const wc=new Rl(((e,t)=>{for(let n=!1,r=0,i=0;;i++){let{next:a}=e;if(!(bc(a)||45==a||95==a||n&&xc(a))){n&&e.acceptToken(40==a?94:2==r&&t.canShift(2)?2:95);break}!n&&(45!=a||i>0)&&(n=!0),r===i&&45==a&&r++,e.advance()}})),kc=new Rl((e=>{if($c.includes(e.peek(-1))){let{next:t}=e;(bc(t)||95==t||35==t||46==t||91==t||58==t||45==t)&&e.acceptToken(93)}})),yc=new Rl((e=>{if(!$c.includes(e.peek(-1))){let{next:t}=e;if(37==t&&(e.advance(),e.acceptToken(1)),bc(t)){do{e.advance()}while(bc(e.next));e.acceptToken(1)}}})),Pc={__proto__:null,lang:32,"nth-child":32,"nth-last-child":32,"nth-of-type":32,dir:32,url:60,"url-prefix":60,domain:60,regexp:60,selector:134},vc={__proto__:null,"@import":114,"@media":138,"@charset":142,"@namespace":146,"@keyframes":152,"@supports":164},Sc={__proto__:null,not:128,only:128,from:158,to:160},_c=Ll.deserialize({version:13,states:"7WOYQ[OOOOQP'#Cd'#CdOOQP'#Cc'#CcO!ZQ[O'#CfO!}QXO'#CaO#UQ[O'#ChO#aQ[O'#DPO#fQ[O'#DTOOQP'#Ec'#EcO#kQdO'#DeO$VQ[O'#DrO#kQdO'#DtO$hQ[O'#DvO$sQ[O'#DyO$xQ[O'#EPO%WQ[O'#EROOQS'#Eb'#EbOOQS'#ES'#ESQYQ[OOOOQP'#Cg'#CgOOQP,59Q,59QO!ZQ[O,59QO%_Q[O'#EVO%yQWO,58{O&RQ[O,59SO#aQ[O,59kO#fQ[O,59oO%_Q[O,59sO%_Q[O,59uO%_Q[O,59vO'bQ[O'#D`OOQS,58{,58{OOQP'#Ck'#CkOOQO'#C}'#C}OOQP,59S,59SO'iQWO,59SO'nQWO,59SOOQP'#DR'#DROOQP,59k,59kOOQO'#DV'#DVO'sQ`O,59oOOQS'#Cp'#CpO#kQdO'#CqO'{QvO'#CsO)VQtO,5:POOQO'#Cx'#CxO'iQWO'#CwO)kQWO'#CyOOQS'#Ef'#EfOOQO'#Dh'#DhO)pQ[O'#DoO*OQWO'#EiO$xQ[O'#DmO*^QWO'#DpOOQO'#Ej'#EjO%|QWO,5:^O*cQpO,5:`OOQS'#Dx'#DxO*kQWO,5:bO*pQ[O,5:bOOQO'#D{'#D{O*xQWO,5:eO*}QWO,5:kO+VQWO,5:mOOQS-E8Q-E8QOOQP1G.l1G.lO+yQXO,5:qOOQO-E8T-E8TOOQS1G.g1G.gOOQP1G.n1G.nO'iQWO1G.nO'nQWO1G.nOOQP1G/V1G/VO,WQ`O1G/ZO,qQXO1G/_O-XQXO1G/aO-oQXO1G/bO.VQXO'#CdO.zQWO'#DaOOQS,59z,59zO/PQWO,59zO/XQ[O,59zO/`QdO'#CoO/gQ[O'#DOOOQP1G/Z1G/ZO#kQdO1G/ZO/nQpO,59]OOQS,59_,59_O#kQdO,59aO/vQWO1G/kOOQS,59c,59cO/{Q!bO,59eO0TQWO'#DhO0`QWO,5:TO0eQWO,5:ZO$xQ[O,5:VO$xQ[O'#EYO0mQWO,5;TO0xQWO,5:XO%_Q[O,5:[OOQS1G/x1G/xOOQS1G/z1G/zOOQS1G/|1G/|O1ZQWO1G/|O1`QdO'#D|OOQS1G0P1G0POOQS1G0V1G0VOOQS1G0X1G0XOOQP7+$Y7+$YOOQP7+$u7+$uO#kQdO7+$uO#kQdO,59{O1nQ[O'#EXO1xQWO1G/fOOQS1G/f1G/fO1xQWO1G/fO2QQtO'#ETO2uQdO'#EeO3PQWO,59ZO3UQXO'#EhO3]QWO,59jO3bQpO7+$uOOQS1G.w1G.wOOQS1G.{1G.{OOQS7+%V7+%VO3jQWO1G/PO#kQdO1G/oOOQO1G/u1G/uOOQO1G/q1G/qO3oQWO,5:tOOQO-E8W-E8WO3}QXO1G/vOOQS7+%h7+%hO4UQYO'#CsO%|QWO'#EZO4^QdO,5:hOOQS,5:h,5:hO4lQpO<O!c!}$w!}#O?[#O#P$w#P#Q?g#Q#R2U#R#T$w#T#U?r#U#c$w#c#d@q#d#o$w#o#pAQ#p#q2U#q#rA]#r#sAh#s#y$w#y#z%]#z$f$w$f$g%]$g#BY$w#BY#BZ%]#BZ$IS$w$IS$I_%]$I_$I|$w$I|$JO%]$JO$JT$w$JT$JU%]$JU$KV$w$KV$KW%]$KW&FU$w&FU&FV%]&FV~$wW$zQOy%Qz~%QW%VQoWOy%Qz~%Q~%bf#T~OX%QX^&v^p%Qpq&vqy%Qz#y%Q#y#z&v#z$f%Q$f$g&v$g#BY%Q#BY#BZ&v#BZ$IS%Q$IS$I_&v$I_$I|%Q$I|$JO&v$JO$JT%Q$JT$JU&v$JU$KV%Q$KV$KW&v$KW&FU%Q&FU&FV&v&FV~%Q~&}f#T~oWOX%QX^&v^p%Qpq&vqy%Qz#y%Q#y#z&v#z$f%Q$f$g&v$g#BY%Q#BY#BZ&v#BZ$IS%Q$IS$I_&v$I_$I|%Q$I|$JO&v$JO$JT%Q$JT$JU&v$JU$KV%Q$KV$KW&v$KW&FU%Q&FU&FV&v&FV~%Q^(fSOy%Qz#]%Q#]#^(r#^~%Q^(wSoWOy%Qz#a%Q#a#b)T#b~%Q^)YSoWOy%Qz#d%Q#d#e)f#e~%Q^)kSoWOy%Qz#c%Q#c#d)w#d~%Q^)|SoWOy%Qz#f%Q#f#g*Y#g~%Q^*_SoWOy%Qz#h%Q#h#i*k#i~%Q^*pSoWOy%Qz#T%Q#T#U*|#U~%Q^+RSoWOy%Qz#b%Q#b#c+_#c~%Q^+dSoWOy%Qz#h%Q#h#i+p#i~%Q^+wQ!VUoWOy%Qz~%Q~,QUOY+}Zr+}rs,ds#O+}#O#P,i#P~+}~,iOh~~,lPO~+}_,tWtPOy%Qz!Q%Q!Q![-^![!c%Q!c!i-^!i#T%Q#T#Z-^#Z~%Q^-cWoWOy%Qz!Q%Q!Q![-{![!c%Q!c!i-{!i#T%Q#T#Z-{#Z~%Q^.QWoWOy%Qz!Q%Q!Q![.j![!c%Q!c!i.j!i#T%Q#T#Z.j#Z~%Q^.qWfUoWOy%Qz!Q%Q!Q![/Z![!c%Q!c!i/Z!i#T%Q#T#Z/Z#Z~%Q^/bWfUoWOy%Qz!Q%Q!Q![/z![!c%Q!c!i/z!i#T%Q#T#Z/z#Z~%Q^0PWoWOy%Qz!Q%Q!Q![0i![!c%Q!c!i0i!i#T%Q#T#Z0i#Z~%Q^0pWfUoWOy%Qz!Q%Q!Q![1Y![!c%Q!c!i1Y!i#T%Q#T#Z1Y#Z~%Q^1_WoWOy%Qz!Q%Q!Q![1w![!c%Q!c!i1w!i#T%Q#T#Z1w#Z~%Q^2OQfUoWOy%Qz~%QY2XSOy%Qz!_%Q!_!`2e!`~%QY2lQzQoWOy%Qz~%QX2wQXPOy%Qz~%Q~3QUOY2}Zw2}wx,dx#O2}#O#P3d#P~2}~3gPO~2}_3oQbVOy%Qz~%Q~3zOa~_4RSUPjSOy%Qz!_%Q!_!`2e!`~%Q_4fUjS!PPOy%Qz!O%Q!O!P4x!P!Q%Q!Q![7_![~%Q^4}SoWOy%Qz!Q%Q!Q![5Z![~%Q^5bWoW#ZUOy%Qz!Q%Q!Q![5Z![!g%Q!g!h5z!h#X%Q#X#Y5z#Y~%Q^6PWoWOy%Qz{%Q{|6i|}%Q}!O6i!O!Q%Q!Q![6z![~%Q^6nSoWOy%Qz!Q%Q!Q![6z![~%Q^7RSoW#ZUOy%Qz!Q%Q!Q![6z![~%Q^7fYoW#ZUOy%Qz!O%Q!O!P5Z!P!Q%Q!Q![7_![!g%Q!g!h5z!h#X%Q#X#Y5z#Y~%Q_8ZQpVOy%Qz~%Q^8fUjSOy%Qz!O%Q!O!P4x!P!Q%Q!Q![7_![~%Q_8}S#WPOy%Qz!Q%Q!Q![5Z![~%Q~9`RjSOy%Qz{9i{~%Q~9nSoWOy9iyz9zz{:o{~9i~9}ROz9zz{:W{~9z~:ZTOz9zz{:W{!P9z!P!Q:j!Q~9z~:oOR~~:tUoWOy9iyz9zz{:o{!P9i!P!Q;W!Q~9i~;_QR~oWOy%Qz~%Q^;jY#ZUOy%Qz!O%Q!O!P5Z!P!Q%Q!Q![7_![!g%Q!g!h5z!h#X%Q#X#Y5z#Y~%QX<_S]POy%Qz![%Q![!]RUOy%Qz!c%Q!c!}>e!}#T%Q#T#o>e#o~%QX>lY!YPoWOy%Qz}%Q}!O>e!O!Q%Q!Q![>e![!c%Q!c!}>e!}#T%Q#T#o>e#o~%QX?aQxPOy%Qz~%Q^?lQvUOy%Qz~%QX?uSOy%Qz#b%Q#b#c@R#c~%QX@WSoWOy%Qz#W%Q#W#X@d#X~%QX@kQ!`PoWOy%Qz~%QX@tSOy%Qz#f%Q#f#g@d#g~%QXAVQ!RPOy%Qz~%Q_AbQ!QVOy%Qz~%QZAmS!PPOy%Qz!_%Q!_!`2e!`~%Q",tokenizers:[kc,yc,wc,0,1,2,3],topRules:{StyleSheet:[0,4]},specialized:[{term:94,get:e=>Pc[e]||-1},{term:56,get:e=>vc[e]||-1},{term:95,get:e=>Sc[e]||-1}],tokenPrec:1078});let Xc=0;class Tc{constructor(e,t,n){this.set=e,this.base=t,this.modified=n,this.id=Xc++}static define(e){if(null==e?void 0:e.base)throw new Error("Can not derive from a modified tag");let t=new Tc([],null,[]);if(t.set.push(t),e)for(let n of e.set)t.set.push(n);return t}static defineModifier(){let e=new Wc;return t=>t.modified.indexOf(e)>-1?t:Wc.get(t.base||t,t.modified.concat(e).sort(((e,t)=>e.id-t.id)))}}let Rc=0;class Wc{constructor(){this.instances=[],this.id=Rc++}static get(e,t){if(!t.length)return e;let n=t[0].instances.find((n=>n.base==e&&function(e,t){return e.length==t.length&&e.every(((e,n)=>e==t[n]))}(t,n.modified)));if(n)return n;let r=[],i=new Tc(r,e,t);for(let e of t)e.instances.push(i);let a=qc(t);for(let t of e.set)for(let e of a)r.push(Wc.get(t,e));return i}}function qc(e){let t=[e];for(let n=0;n0&&t+3==e.length){i=1;break}let r=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(a);if(!r)throw new RangeError("Invalid path: "+e);if(n.push("*"==r[0]?null:'"'==r[0][0]?JSON.parse(r[0]):r[0]),t+=r[0].length,t==e.length)break;let o=e[t++];if(t==e.length&&"!"==o){i=0;break}if("/"!=o)throw new RangeError("Invalid path: "+e);a=e.slice(t)}let o=n.length-1,s=n[o];if(!s)throw new RangeError("Invalid path: "+e);let O=new Ic(r,i,o>0?n.slice(0,o):null);t[s]=O.sort(t[s])}}return Yc.add(t)}const Yc=new Di,Zc=U.define({combine:e=>e.length?Vc.combinedMatch(e):null}),Uc=U.define({combine:e=>e.length?e[0].match:null});function Ec(e){return e.facet(Zc)||e.facet(Uc)}class Ic{constructor(e,t,n,r){this.tags=e,this.mode=t,this.context=n,this.next=r}sort(e){return!e||e.depthe.scope))?void 0:Object.create(null);return(n,r)=>{let i=t&&t[n.id];if(void 0!==i)return i;let a=null;for(let t of e){let e=t.match(n,r);e&&(a=a?a+" "+e:e)}return t&&(t[n.id]=a),a}}static define(e,t){return new Vc(e,t||{})}static get(e,t,n){let r=Ec(e);return r&&r(t,n||Bi.none)}}class Cc{constructor(e){this.markCache=Object.create(null),this.tree=qa(e.state),this.decorations=this.buildDeco(e,Ec(e.state))}update(e){let t=qa(e.state),n=Ec(e.state),r=n!=e.startState.facet(Zc);t.length{n.add(e,t,this.markCache[r]||(this.markCache[r]=tn.mark({class:r})))}));return n.finish()}}const Ac=M.extend(Sn.fromClass(Cc,{decorations:e=>e.decorations})),Gc=[""];class jc{constructor(e,t,n){this.at=e,this.style=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,r,i,a){let{type:o,from:s,to:O}=e;if(s>=n||O<=t)return;Gc[i]=o.name,o.isTop&&(a=o);let l=r,c=o.prop(Yc),u=!1;for(;c;){if(!c.context||Nc(c.context,Gc,i)){for(let e of c.tags){let t=this.style(e,a);t&&(l&&(l+=" "),l+=t,1==c.mode?r+=(r?" ":"")+t:0==c.mode&&(u=!0))}break}c=c.next}if(this.startSpan(e.from,l),u)return;let h=e.tree&&e.tree.prop(Di.mounted);if(h&&h.overlay){let o=e.node.enter(h.overlay[0].from+s,1),c=e.firstChild();for(let u=0,d=s;;u++){let p=u=f)&&e.nextSibling()););if(!p||f>n)break;d=p.to+s,d>t&&(this.highlightRange(o.cursor,Math.max(t,p.from+s),Math.min(n,d),r,i,h.tree.type),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,r,i+1,a),this.startSpan(Math.min(n,e.to),l)}}while(e.nextSibling());e.parent()}}}function Lc(e,t,n,r,i){let a=new jc(t,r,i);a.highlightRange(e.cursor(),t,n,"",0,e.type),a.flush(n)}function Nc(e,t,n){if(e.length>n-1)return!1;for(let r=n-1,i=e.length-1;i>=0;i--,r--){let n=e[i];if(n&&n!=t[r])return!1}return!0}const Dc=Tc.define,Mc=Dc(),Fc=Dc(),Bc=Dc(Fc),Hc=Dc(Fc),Kc=Dc(),Jc=Dc(Kc),eu=Dc(Kc),tu=Dc(),nu=Dc(tu),ru=Dc(),iu=Dc(),au=Dc(),ou=Dc(au),su=Dc(),Ou={comment:Mc,lineComment:Dc(Mc),blockComment:Dc(Mc),docComment:Dc(Mc),name:Fc,variableName:Dc(Fc),typeName:Bc,tagName:Dc(Bc),propertyName:Hc,attributeName:Dc(Hc),className:Dc(Fc),labelName:Dc(Fc),namespace:Dc(Fc),macroName:Dc(Fc),literal:Kc,string:Jc,docString:Dc(Jc),character:Dc(Jc),attributeValue:Dc(Jc),number:eu,integer:Dc(eu),float:Dc(eu),bool:Dc(Kc),regexp:Dc(Kc),escape:Dc(Kc),color:Dc(Kc),url:Dc(Kc),keyword:ru,self:Dc(ru),null:Dc(ru),atom:Dc(ru),unit:Dc(ru),modifier:Dc(ru),operatorKeyword:Dc(ru),controlKeyword:Dc(ru),definitionKeyword:Dc(ru),operator:iu,derefOperator:Dc(iu),arithmeticOperator:Dc(iu),logicOperator:Dc(iu),bitwiseOperator:Dc(iu),compareOperator:Dc(iu),updateOperator:Dc(iu),definitionOperator:Dc(iu),typeOperator:Dc(iu),controlOperator:Dc(iu),punctuation:au,separator:Dc(au),bracket:ou,angleBracket:Dc(ou),squareBracket:Dc(ou),paren:Dc(ou),brace:Dc(ou),content:tu,heading:nu,heading1:Dc(nu),heading2:Dc(nu),heading3:Dc(nu),heading4:Dc(nu),heading5:Dc(nu),heading6:Dc(nu),contentSeparator:Dc(tu),list:Dc(tu),quote:Dc(tu),emphasis:Dc(tu),strong:Dc(tu),link:Dc(tu),monospace:Dc(tu),strikethrough:Dc(tu),inserted:Dc(),deleted:Dc(),changed:Dc(),invalid:Dc(),meta:su,documentMeta:Dc(su),annotation:Dc(su),processingInstruction:Dc(su),definition:Tc.defineModifier(),constant:Tc.defineModifier(),function:Tc.defineModifier(),standard:Tc.defineModifier(),local:Tc.defineModifier(),special:Tc.defineModifier()},lu=Vc.define([{tag:Ou.link,class:"cmt-link"},{tag:Ou.heading,class:"cmt-heading"},{tag:Ou.emphasis,class:"cmt-emphasis"},{tag:Ou.strong,class:"cmt-strong"},{tag:Ou.keyword,class:"cmt-keyword"},{tag:Ou.atom,class:"cmt-atom"},{tag:Ou.bool,class:"cmt-bool"},{tag:Ou.url,class:"cmt-url"},{tag:Ou.labelName,class:"cmt-labelName"},{tag:Ou.inserted,class:"cmt-inserted"},{tag:Ou.deleted,class:"cmt-deleted"},{tag:Ou.literal,class:"cmt-literal"},{tag:Ou.string,class:"cmt-string"},{tag:Ou.number,class:"cmt-number"},{tag:[Ou.regexp,Ou.escape,Ou.special(Ou.string)],class:"cmt-string2"},{tag:Ou.variableName,class:"cmt-variableName"},{tag:Ou.local(Ou.variableName),class:"cmt-variableName cmt-local"},{tag:Ou.definition(Ou.variableName),class:"cmt-variableName cmt-definition"},{tag:Ou.special(Ou.variableName),class:"cmt-variableName2"},{tag:Ou.typeName,class:"cmt-typeName"},{tag:Ou.namespace,class:"cmt-namespace"},{tag:Ou.macroName,class:"cmt-macroName"},{tag:Ou.propertyName,class:"cmt-propertyName"},{tag:Ou.operator,class:"cmt-operator"},{tag:Ou.comment,class:"cmt-comment"},{tag:Ou.meta,class:"cmt-meta"},{tag:Ou.invalid,class:"cmt-invalid"},{tag:Ou.punctuation,class:"cmt-punctuation"}]);let cu=null;function uu(){if(!cu&&"object"==typeof document&&document.body){let e=[];for(let t in document.body.style)/[A-Z]|^-|^(item|length)$/.test(t)||e.push(t);cu=e.sort().map((e=>({type:"property",label:e})))}return cu||[]}const hu=["active","after","before","checked","default","disabled","empty","enabled","first-child","first-letter","first-line","first-of-type","focus","hover","in-range","indeterminate","invalid","lang","last-child","last-of-type","link","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-of-type","only-child","optional","out-of-range","placeholder","read-only","read-write","required","root","selection","target","valid","visited"].map((e=>({type:"class",label:e}))),du=["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})))),pu=["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}))),fu=/^[\w-]*/,mu=e=>{let{state:t,pos:n}=e,r=qa(t).resolveInner(n,-1);if("PropertyName"==r.name)return{from:r.from,options:uu(),span:fu};if("ValueName"==r.name)return{from:r.from,options:du,span:fu};if("PseudoClassName"==r.name)return{from:r.from,options:hu,span:fu};if("TagName"==r.name){for(let{parent:e}=r;e;e=e.parent)if("Block"==e.name)return{from:r.from,options:uu(),span:fu};return{from:r.from,options:pu,span:fu}}if(!e.explicit)return null;let i=r.resolve(n),a=i.childBefore(n);return a&&":"==a.name&&"PseudoClassSelector"==i.name?{from:n,options:hu,span:fu}:a&&":"==a.name&&"Declaration"==i.name||"ArgList"==i.name?{from:n,options:du,span:fu}:"Block"==i.name?{from:n,options:uu(),span:fu}:null},gu=Wa.define({parser:_c.configure({props:[Ha.add({Declaration:oo()}),so.add({Block:Oo}),zc({"import charset namespace keyframes":Ou.definitionKeyword,"media supports":Ou.controlKeyword,"from to selector":Ou.keyword,NamespaceName:Ou.namespace,KeyframeName:Ou.labelName,TagName:Ou.tagName,ClassName:Ou.className,PseudoClassName:Ou.constant(Ou.className),IdName:Ou.labelName,"FeatureName PropertyName":Ou.propertyName,AttributeName:Ou.attributeName,NumberLiteral:Ou.number,KeywordQuery:Ou.keyword,UnaryQueryOp:Ou.operatorKeyword,"CallTag ValueName":Ou.atom,VariableName:Ou.variableName,Callee:Ou.operatorKeyword,Unit:Ou.unit,"UniversalSelector NestingSelector":Ou.definitionOperator,AtKeyword:Ou.keyword,MatchOp:Ou.compareOperator,"ChildOp SiblingOp, LogicOp":Ou.logicOperator,BinOp:Ou.arithmeticOperator,Important:Ou.modifier,Comment:Ou.blockComment,ParenthesizedContent:Ou.special(Ou.name),ColorLiteral:Ou.color,StringLiteral:Ou.string,":":Ou.punctuation,"PseudoOp #":Ou.derefOperator,"; ,":Ou.separator,"( )":Ou.paren,"[ ]":Ou.squareBracket,"{ }":Ou.brace})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}}),Qu=gu.data.of({autocomplete:mu});function $u(){return new Ga(gu,Qu)}var bu=Object.freeze({__proto__:null,css:$u,cssCompletion:Qu,cssCompletionSource:mu,cssLanguage:gu});const xu=272,wu=[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],ku=new jl({start:!1,shift:(e,t)=>4==t||5==t||277==t?e:278==t,strict:!1}),yu=new Rl(((e,t)=>{let{next:n}=e;(125==n||-1==n||t.context)&&t.canShift(275)&&e.acceptToken(275)}),{contextual:!0,fallback:!0}),Pu=new Rl(((e,t)=>{let n,{next:r}=e;wu.indexOf(r)>-1||(47!=r||47!=(n=e.peek(1))&&42!=n)&&125!=r&&59!=r&&-1!=r&&!t.context&&t.canShift(271)&&e.acceptToken(271)}),{contextual:!0}),vu=new Rl(((e,t)=>{let{next:n}=e;if((43==n||45==n)&&(e.advance(),n==e.next)){e.advance();let n=!t.context&&t.canShift(1);e.acceptToken(n?1:2)}}),{contextual:!0}),Su=new Rl((e=>{for(let t=!1,n=0;;n++){let{next:r}=e;if(r<0){n&&e.acceptToken(xu);break}if(96==r){n?e.acceptToken(xu):e.acceptToken(274,1);break}if(123==r&&t){1==n?e.acceptToken(273,1):e.acceptToken(xu,-1);break}if(10==r&&n){e.advance(),e.acceptToken(xu);break}92==r&&e.advance(),t=36==r,e.advance()}}));const _u={__proto__:null,export:16,as:21,from:25,default:30,async:35,function:36,this:46,true:54,false:54,void:60,typeof:64,null:78,super:80,new:114,await:131,yield:133,delete:134,class:144,extends:146,public:183,private:183,protected:183,readonly:185,in:204,instanceof:206,const:208,import:240,keyof:291,unique:295,infer:301,is:335,abstract:355,implements:357,type:359,let:362,var:364,interface:371,enum:375,namespace:381,module:383,declare:387,global:391,for:412,of:421,while:424,with:428,do:432,if:436,else:438,switch:442,case:448,try:454,catch:456,finally:458,return:462,throw:466,break:470,continue:474,debugger:478},Xu={__proto__:null,async:101,get:103,set:105,public:153,private:153,protected:153,static:155,abstract:157,readonly:161,new:339},Tu={__proto__:null,"<":121},Ru=Ll.deserialize({version:13,states:"$-tO`QYOOO&}Q!LdO'#CgO'UOSO'#DSO)^QYO'#DXO)nQYO'#DdO)uQYO'#DnO-lQYO'#DtOOQO'#EU'#EUO.PQWO'#ETO.UQWO'#ETO0TQ!LdO'#ImO2kQ!LdO'#InO3XQWO'#ErO3^QpO'#FXOOQ!LS'#Ez'#EzO3fO!bO'#EzO3tQWO'#F`O5RQWO'#F_OOQ!LS'#In'#InOOQ!LQ'#Im'#ImOOQQ'#JV'#JVO5WQWO'#HfO5]Q!LYO'#HgOOQQ'#I_'#I_OOQQ'#Hh'#HhQ`QYOOO)uQYO'#DfO5eQWO'#GSO5jQ#tO'#ClO5xQWO'#ESO6TQ#tO'#EyO6oQWO'#GSO6tQWO'#GWO7PQWO'#GWO7_QWO'#GZO7_QWO'#G[O7_QWO'#G^O5eQWO'#GaO8OQWO'#GdO9^QWO'#CcO9nQWO'#GqO9vQWO'#GwO9vQWO'#GyO`QYO'#G{O9vQWO'#G}O9vQWO'#HQO9{QWO'#HWO:QQ!LZO'#H[O)uQYO'#H^O:]Q!LZO'#H`O:hQ!LZO'#HbO5]Q!LYO'#HdO)uQYO'#IoOOOS'#Hj'#HjO:sOSO,59nOOQ!LS,59n,59nO=UQbO'#CgO=`QYO'#HkO=mQWO'#IpO?lQbO'#IpO'aQYO'#IpO?sQWO,59sO@ZQ&jO'#D^OASQWO'#EUOAaQWO'#IzOAlQWO'#IyOAtQWO,5:rOAyQWO'#IxOBQQWO'#DuO5jQ#tO'#ESOB`QWO'#ESOBkQ`O'#EyOOQ!LS,5:O,5:OOBsQYO,5:OODqQ!LdO,5:YOE_QWO,5:`OExQ!LYO'#IwO6tQWO'#IvOFPQWO'#IvOFXQWO,5:qOF^QWO'#IvOFlQYO,5:oOHiQWO'#EQOIsQWO,5:oOKSQWO'#DhOKZQYO'#DmOKeQ&jO,5:xO)uQYO,5:xOOQQ'#Ej'#EjOOQQ'#El'#ElO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yO)uQYO,5:yOOQQ'#Ep'#EpOKjQYO,5;ZOOQ!LS,5;`,5;`OOQ!LS,5;a,5;aOMgQWO,5;aOOQ!LS,5;b,5;bO)uQYO'#HuOMlQ!LYO,5;{ONWQWO,5:yO)uQYO,5;^ONpQpO'#JOON_QpO'#JOONwQpO'#JOO! YQpO,5;iOOQO,5;s,5;sO! hQYO'#FZOOOO'#Ht'#HtO3fO!bO,5;fO! oQpO'#F]OOQ!LS,5;f,5;fO!!]Q,UO'#CqOOQ!LS'#Ct'#CtO!!pQWO'#CtO!!uOSO'#CxO!#cQ#tO,5;xO!#jQWO,5;zO!$vQWO'#FjO!%TQWO'#FkO!%YQWO'#FoO!&[Q&jO'#FsO!&}Q,UO'#IhOOQ!LS'#Ih'#IhO!'XQWO'#IgO!'gQWO'#IfOOQ!LS'#Cr'#CrOOQ!LS'#Cy'#CyO!'oQWO'#C{OIxQWO'#FbOIxQWO'#FdO!'tQWO'#FfO!'yQWO'#FgO!(OQWO'#FmOIxQWO'#FrO!(TQWO'#EVO!(lQWO,5;yO`QYO,5>QOOQQ'#Ib'#IbOOQQ,5>R,5>ROOQQ-E;f-E;fO!*hQ!LdO,5:QOOQ!LQ'#Co'#CoO!+XQ#tO,5O,5>OO!7UQ`O,5?ZOOOS-E;h-E;hOOQ!LS1G/Y1G/YO!7ZQbO,5>VO)uQYO,5>VOOQO-E;i-E;iO!7eQWO,5?[O!7mQbO,5?[O!7tQWO,5?eOOQ!LS1G/_1G/_O!7|QpO'#DQOOQO'#Ir'#IrO)uQYO'#IrO!8kQpO'#IrO!9YQpO'#D_O!9kQ&jO'#D_O!;sQYO'#D_O!;zQWO'#IqO!gQ&jO'#DxOOQ!LS,5:a,5:aO)uQYO,5:aOHiQWO,5:aO!>nQWO,5:aO9{QWO,5:nO!,QQpO,5:nO!,YQ#tO,5:nO5jQ#tO,5:nOOQ!LS1G/j1G/jOOQ!LS1G/z1G/zOOQ!LQ'#EP'#EPO)uQYO,5?cO!>yQ!LYO,5?cO!?[Q!LYO,5?cO!?cQWO,5?bO!?kQWO'#HrO!?cQWO,5?bOOQ!LQ1G0]1G0]O6tQWO,5?bOOQ!LS1G0Z1G0ZO!@VQ!LdO1G0ZO!@vQ!LbO,5:lOOQ!LS'#Fi'#FiO!AdQ!LdO'#IhOFlQYO1G0ZO!CcQ#tO'#IsO!CmQWO,5:SO!CrQbO'#ItO)uQYO'#ItO!C|QWO,5:XOOQ!LS'#DQ'#DQOOQ!LS1G0d1G0dO!DRQWO1G0dO!FdQ!LdO1G0eO!FkQ!LdO1G0eO!IOQ!LdO1G0eO!IVQ!LdO1G0eO!K^Q!LdO1G0eO!KqQ!LdO1G0eO!NbQ!LdO1G0eO!NiQ!LdO1G0eO#!|Q!LdO1G0eO##TQ!LdO1G0eO#$xQ!LdO1G0eO#'rQ7^O'#CgO#)mQ7^O1G0uO#+hQ7^O'#InOOQ!LS1G0{1G0{O#+{Q!LdO,5>aOOQ!LQ-E;s-E;sO#,lQ!LdO1G0eOOQ!LS1G0e1G0eO#.nQ!LdO1G0xO#/_QpO,5;kO#/dQpO,5;lO#/iQpO'#FSO#/}QWO'#FROOQO'#JP'#JPOOQO'#Hs'#HsO#0SQpO1G1TOOQ!LS1G1T1G1TOOQO1G1^1G1^O#0bQ7^O'#ImO#0lQWO,5;uOKjQYO,5;uOOOO-E;r-E;rOOQ!LS1G1Q1G1QOOQ!LS,5;w,5;wO#0qQpO,5;wOOQ!LS,59`,59`OHiQWO'#IjOOOS'#Hi'#HiO#0vOSO,59dOOQ!LS,59d,59dO)uQYO1G1dOKeQ&jO'#HwO#1RQWO,5<]OOQ!LS,5