MCPcopy
hub / github.com/mitmproxy/mitmproxy / FT

Function FT

mitmproxy/tools/web/static/vendor-BS4xPthR.js:35–35  ·  view source on GitHub ↗
(n,e,t=!1)

Source from the content-addressed store, hash-verified

33`){[e,t]=Uf(this,e,t);let r="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let f=this.text[o],h=s+f.length;s>e&&o&&(r+=i),e<h&&t>s&&(r+=f.slice(Math.max(0,e-s),t-s)),s=h+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],r=-1;for(let s of e)i.push(s),r+=s.length+1,i.length==32&&(t.push(new cn(i,r)),i=[],r=-1);return r>-1&&t.push(new cn(i,r)),t}}class Nl extends dt{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,r){for(let s=0;;s++){let o=this.children[s],f=r+o.length,h=i+o.lines-1;if((t?h:f)>=e)return o.lineInner(e,t,i,r);r=f+1,i=h+1}}decompose(e,t,i,r){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let f=this.children[s],h=o+f.length;if(e<=h&&t>=o){let p=r&((o<=e?1:0)|(h>=t?2:0));o>=e&&h<=t&&!p?i.push(f):f.decompose(e-o,t-o,i,p)}o=h+1}}replace(e,t,i){if([e,t]=Uf(this,e,t),i.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],f=s+o.length;if(e>=s&&t<=f){let h=o.replace(e-s,t-s,i),p=this.lines-o.lines+h.lines;if(h.lines<p>>4&&h.lines>p>>6){let g=this.children.slice();return g[r]=h,new Nl(g,this.length-(t-e)+i.length)}return super.replace(s,f,h)}s=f+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
34`){[e,t]=Uf(this,e,t);let r="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let f=this.children[s],h=o+f.length;o>e&&s&&(r+=i),e<h&&t>o&&(r+=f.sliceString(e-o,t-o,i)),o=h+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof Nl))return 0;let i=0,[r,s,o,f]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==f)return i;let h=this.children[r],p=e.children[s];if(h!=p)return i+h.scanIdentical(p,t);i+=h.length+1}}static from(e,t=e.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let Q of e)i+=Q.lines;if(i<32){let Q=[];for(let k of e)k.flatten(Q);return new cn(Q,t)}let r=Math.max(32,i>>5),s=r<<1,o=r>>1,f=[],h=0,p=-1,g=[];function S(Q){let k;if(Q.lines>s&&Q instanceof Nl)for(let C of Q.children)S(C);else Q.lines>o&&(h>o||!h)?(v(),f.push(Q)):Q instanceof cn&&h&&(k=g[g.length-1])instanceof cn&&Q.lines+k.lines<=32?(h+=Q.lines,p+=Q.length+1,g[g.length-1]=new cn(k.text.concat(Q.text),k.length+1+Q.length)):(h+Q.lines>r&&v(),h+=Q.lines,p+=Q.length+1,g.push(Q))}function v(){h!=0&&(f.push(g.length==1?g[0]:Nl.from(g,p)),p=-1,h=g.length=0)}for(let Q of e)S(Q);return v(),f.length==1?f[0]:new Nl(f,t)}}dt.empty=new cn([""],0);function Y$(n){let e=-1;for(let t of n)e+=t.length+1;return e}function S0(n,e,t=0,i=1e9){for(let r=0,s=0,o=!0;s<n.length&&r<=i;s++){let f=n[s],h=r+f.length;h>=t&&(h>i&&(f=f.slice(0,i-r)),r<t&&(f=f.slice(t-r)),o?(e[e.length-1]+=f,o=!1):e.push(f)),r=h+1}return e}function vQ(n,e,t){return S0(n,[""],e,t)}class kO{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value="",this.nodes=[e],this.offsets=[t>0?1:(e instanceof cn?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],o=s>>1,f=r instanceof cn?r.text.length:r.children.length;if(o==(t>0?f:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
35`,this;e--}else if(r instanceof cn){let h=r.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,h.length>Math.max(0,e))return this.value=e==0?h:t>0?h.slice(e):h.slice(0,h.length-e),this;e-=h.length}else{let h=r.children[o+(t<0?-1:0)];e>h.length?(e-=h.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(h),this.offsets.push(t>0?1:(h instanceof cn?h.text.length:h.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}}class IT{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new kO(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=i?r:t<0?r.slice(r.length-i):r.slice(0,i),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=""}}class KT{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(dt.prototype[Symbol.iterator]=function(){return this.iter()},kO.prototype[Symbol.iterator]=IT.prototype[Symbol.iterator]=KT.prototype[Symbol.iterator]=function(){return this});class L${constructor(e,t,i,r){this.from=e,this.to=t,this.number=i,this.text=r}get length(){return this.to-this.from}}function Uf(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Yn(n,e,t=!0,i=!0){return z$(n,e,t,i)}function V$(n){return n>=56320&&n<57344}function N$(n){return n>=55296&&n<56320}function Li(n,e){let t=n.charCodeAt(e);if(!N$(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return V$(i)?(t-55296<<10)+(i-56320)+65536:t}function Lv(n){return n<=65535?String.fromCharCode(n):(n-=65536,String.fromCharCode((n>>10)+55296,(n&1023)+56320))}function Ul(n){return n<65536?1:2}const Rb=/\r\n?|\n/;var Bn=function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n}(Bn||(Bn={}));class Il{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,r=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(i,r,s),r+=s):r+=o,i+=s}}iterChangedRanges(e,t=!1){Ab(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];r<0?e.push(i,r):e.push(r,i)}return new Il(e)}composeDesc(e){return this.empty?e:e.empty?this:FT(this,e)}mapDesc(e,t=!1){return e.empty?this:$b(this,e,t)}mapPos(e,t=-1,i=Bn.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let f=this.sections[o++],h=this.sections[o++],p=r+f;if(h<0){if(p>e)return s+(e-r);s+=f}else{if(i!=Bn.Simple&&p>=e&&(i==Bn.TrackDel&&r<e&&p>e||i==Bn.TrackBefore&&r<e||i==Bn.TrackAfter&&p>e))return null;if(p>e||p==e&&t<0&&!f)return e==r||t<0?s:s+h;s+=h}r=p}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let i=0,r=0;i<this.sections.length&&r<=t;){let s=this.sections[i++],o=this.sections[i++],f=r+s;if(o>=0&&r<=t&&f>=e)return r<e&&f>t?"cover":!0;r=f}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+i+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Il(e)}static create(e){return new Il(e)}}class Qn extends Il{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 Ab(this,(t,i,r,s,o)=>e=e.replace(r,r+(i-t),o),!1),e}mapDesc(e,t=!1){return $b(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,s=0;r<t.length;r+=2){let o=t[r],f=t[r+1];if(f>=0){t[r]=f,t[r+1]=o;let h=r>>1;for(;i.length<h;)i.push(dt.empty);i.push(o?e.slice(s,s+o):dt.empty)}s+=o}return new Qn(t,i)}compose(e){return this.empty?e:e.empty?this:FT(this,e,!0)}map(e,t=!1){return e.empty?this:$b(this,e,t,!0)}iterChanges(e,t=!1){Ab(this,e,t)}get desc(){return Il.create(this.sections)}filter(e){let t=[],i=[],r=[],s=new XO(this);e:for(let o=0,f=0;;){let h=o==e.length?1e9:e[o++];for(;f<h||f==h&&s.len==0;){if(s.done)break e;let g=Math.min(s.len,h-f);ri(r,g,-1);let S=s.ins==-1?-1:s.off==0?s.ins:0;ri(t,g,S),S>0&&Ja(i,t,s.text),s.forward(g),f+=g}let p=e[o++];for(;f<p;){if(s.done)break e;let g=Math.min(s.len,p-f);ri(t,g,-1),ri(r,g,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(g),f+=g}}return{changes:new Qn(t,i),filtered:Il.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],r=this.sections[t+1];r<0?e.push(i):r==0?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,i){let r=[],s=[],o=0,f=null;function h(g=!1){if(!g&&!r.length)return;o<t&&ri(r,t-o,-1);let S=new Qn(r,s);f=f?f.compose(S.map(f)):S,r=[],s=[],o=0}function p(g){if(Array.isArray(g))for(let S of g)p(S);else if(g instanceof Qn){if(g.length!=t)throw new RangeError(`Mismatched change set length (got ${g.length}, expected ${t})`);h(),f=f?f.compose(g.map(f)):g}else{let{from:S,to:v=S,insert:Q}=g;if(S>v||S<0||v>t)throw new RangeError(`Invalid change range ${S} to ${v} (in doc of length ${t})`);let k=Q?typeof Q=="string"?dt.of(Q.split(i||Rb)):Q:dt.empty,C=k.length;if(S==v&&C==0)return;S<o&&h(),S>o&&ri(r,S-o,-1),ri(r,v-S,C),Ja(s,r,k),o=v}}return p(e),h(!f),f}static empty(e){return new Qn(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,f)=>f&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;i.length<r;)i.push(dt.empty);i[r]=dt.of(s.slice(1)),t.push(s[0],i[r].length)}}}return new Qn(t,i)}static createSet(e,t){return new Qn(e,t)}}function ri(n,e,t,i=!1){if(e==0&&t<=0)return;let r=n.length-2;r>=0&&t<=0&&t==n[r+1]?n[r]+=e:r>=0&&e==0&&n[r]==0?n[r+1]+=t:i?(n[r]+=e,n[r+1]+=t):n.push(e,t)}function Ja(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<i;)n.push(dt.empty);n.push(t)}}function Ab(n,e,t){let i=n.inserted;for(let r=0,s=0,o=0;o<n.sections.length;){let f=n.sections[o++],h=n.sections[o++];if(h<0)r+=f,s+=f;else{let p=r,g=s,S=dt.empty;for(;p+=f,g+=h,h&&i&&(S=S.append(i[o-2>>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)f=n.sections[o++],h=n.sections[o++];e(r,p,s,g,S),r=p,s=g}}}function $b(n,e,t,i=!1){let r=[],s=i?[]:null,o=new XO(n),f=new XO(e);for(let h=-1;;){if(o.done&&f.len||f.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&f.ins==-1){let p=Math.min(o.len,f.len);ri(r,p,-1),o.forward(p),f.forward(p)}else if(f.ins>=0&&(o.ins<0||h==o.i||o.off==0&&(f.len<o.len||f.len==o.len&&!t))){let p=f.len;for(ri(r,f.ins,-1);p;){let g=Math.min(o.len,p);o.ins>=0&&h<o.i&&o.len<=g&&(ri(r,0,o.ins),s&&Ja(s,r,o.text),h=o.i),o.forward(g),p-=g}f.next()}else if(o.ins>=0){let p=0,g=o.len;for(;g;)if(f.ins==-1){let S=Math.min(g,f.len);p+=S,g-=S,f.forward(S)}else if(f.ins==0&&f.len<g)g-=f.len,f.next();else break;ri(r,p,h<o.i?o.ins:0),s&&h<o.i&&Ja(s,r,o.text),h=o.i,o.forward(o.len-g)}else{if(o.done&&f.done)return s?Qn.createSet(r,s):Il.create(r);throw new Error("Mismatched change set lengths")}}}function FT(n,e,t=!1){let i=[],r=t?[]:null,s=new XO(n),o=new XO(e);for(let f=!1;;){if(s.done&&o.done)return r?Qn.createSet(i,r):Il.create(i);if(s.ins==0)ri(i,s.len,0,f),s.next();else if(o.len==0&&!o.done)ri(i,0,o.ins,f),r&&Ja(r,i,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let h=Math.min(s.len2,o.len),p=i.length;if(s.ins==-1){let g=o.ins==-1?-1:o.off?0:o.ins;ri(i,h,g,f),r&&g&&Ja(r,i,o.text)}else o.ins==-1?(ri(i,s.off?0:s.len,h,f),r&&Ja(r,i,s.textBit(h))):(ri(i,s.off?0:s.len,o.off?0:o.ins,f),r&&!o.off&&Ja(r,i,o.text));f=(s.ins>h||o.ins>=0&&o.len>h)&&(f||i.length>p),s.forward2(h),o.forward(h)}}}}class XO{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?dt.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?dt.empty:t[i].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}}class Eu{constructor(e,t,i){this.from=e,this.to=t,this.flags=i}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,t=-1){let i,r;return this.empty?i=r=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new Eu(i,r,this.flags)}extend(e,t=e){if(e<=this.anchor&&t>=this.anchor)return ue.range(e,t);let i=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return ue.range(this.anchor,i)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!="number"||typeof e.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return ue.range(e.anchor,e.head)}static create(e,t,i){return new Eu(e,t,i)}}class ue{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:ue.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(e.ranges[i],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new ue([this.main],0)}addRange(e,t=!0){return ue.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,ue.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new ue(e.ranges.map(t=>Eu.fromJSON(t)),e.main)}static single(e,t=e){return new ue([ue.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=i:s.from<i)return ue.normalized(e.slice(),t);i=s.to}return new ue(e,t)}static cursor(e,t=0,i,r){return Eu.create(e,e,(t==0?0:t<0?8:16)|(i==null?7:Math.min(6,i))|(r??16777215)<<6)}static range(e,t,i,r){let s=(i??16777215)<<6|(r==null?7:Math.min(6,r));return t<e?Eu.create(t,e,48|s):Eu.create(e,t,(t>e?8:0)|s)}static normalized(e,t=0){let i=e[t];e.sort((r,s)=>r.from-s.from),t=e.indexOf(i);for(let r=1;r<e.length;r++){let s=e[r],o=e[r-1];if(s.empty?s.from<=o.to:s.from<o.to){let f=o.from,h=Math.max(s.to,o.to);r<=t&&t--,e.splice(--r,2,s.anchor>s.head?ue.range(h,f):ue.range(f,h))}}return new ue(e,t)}}function JT(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}let Vv=0;class ke{constructor(e,t,i,r,s){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=r,this.id=Vv++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new ke(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:Nv),!!e.static,e.enables)}of(e){return new b0([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new b0(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new b0(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}}function Nv(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}class b0{constructor(e,t,i,r){this.dependencies=e,this.facet=t,this.type=i,this.value=r,this.id=Vv++}dynamicSlot(e){var t;let i=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,f=this.type==2,h=!1,p=!1,g=[];for(let S of this.dependencies)S=="doc"?h=!0:S=="selection"?p=!0:(((t=e[S.id])!==null&&t!==void 0?t:1)&1)==0&&g.push(e[S.id]);return{create(S){return S.values[o]=i(S),1},update(S,v){if(h&&v.docChanged||p&&(v.docChanged||v.selection)||Mb(S,g)){let Q=i(S);if(f?!xQ(Q,S.values[o],r):!r(Q,S.values[o]))return S.values[o]=Q,1}return 0},reconfigure:(S,v)=>{let Q,k=v.config.address[s];if(k!=null){let C=L0(v,k);if(this.dependencies.every(A=>A instanceof ke?v.facet(A)===S.facet(A):A instanceof Cn?v.field(A,!1)==S.field(A,!1):!0)||(f?xQ(Q=i(S),C,r):r(Q=i(S),C)))return S.values[o]=C,0}else Q=i(S);return S.values[o]=Q,1}}}}function xQ(n,e,t){if(n.length!=e.length)return!1;for(let i=0;i<n.length;i++)if(!t(n[i],e[i]))return!1;return!0}function Mb(n,e){let t=!1;for(let i of e)TO(n,i)&1&&(t=!0);return t}function U$(n,e,t){let i=t.map(h=>n[h.id]),r=t.map(h=>h.type),s=i.filter(h=>!(h&1)),o=n[e.id]>>1;function f(h){let p=[];for(let g=0;g<i.length;g++){let S=L0(h,i[g]);if(r[g]==2)for(let v of S)p.push(v);else p.push(S)}return e.combine(p)}return{create(h){for(let p of i)TO(h,p);return h.values[o]=f(h),1},update(h,p){if(!Mb(h,s))return 0;let g=f(h);return e.compare(g,h.values[o])?0:(h.values[o]=g,1)},reconfigure(h,p){let g=Mb(h,i),S=p.config.facets[e.id],v=p.facet(e);if(S&&!g&&Nv(t,S))return h.values[o]=v,0;let Q=f(h);return e.compare(Q,v)?(h.values[o]=v,0):(h.values[o]=Q,1)}}}const Hm=ke.define({static:!0});class Cn{constructor(e,t,i,r,s){this.id=e,this.createF=t,this.updateF=i,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let t=new Cn(Vv++,e.create,e.update,e.compare||((i,r)=>i===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Hm).find(i=>i.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,r)=>{let s=i.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(i.values[t]=o,1)},reconfigure:(i,r)=>{let s=i.facet(Hm),o=r.facet(Hm),f;return(f=s.find(h=>h.field==this))&&f!=o.find(h=>h.field==this)?(i.values[t]=f.create(i),1):r.config.address[this.id]!=null?(i.values[t]=r.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,Hm.of({field:this,create:e})]}get extension(){return this}}const Au={lowest:4,low:3,default:2,high:1,highest:0};function aO(n){return e=>new eP(e,n)}const uo={highest:aO(Au.highest),high:aO(Au.high),default:aO(Au.default),low:aO(Au.low),lowest:aO(Au.lowest)};class eP{constructor(e,t){this.inner=e,this.prec=t}}class wy{of(e){return new Eb(this,e)}reconfigure(e){return wy.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class Eb{constructor(e,t){this.compartment=e,this.inner=t}}class Y0{constructor(e,t,i,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let r=[],s=Object.create(null),o=new Map;for(let v of G$(e,t,o))v instanceof Cn?r.push(v):(s[v.facet.id]||(s[v.facet.id]=[])).push(v);let f=Object.create(null),h=[],p=[];for(let v of r)f[v.id]=p.length<<1,p.push(Q=>v.slot(Q));let g=i?.config.facets;for(let v in s){let Q=s[v],k=Q[0].facet,C=g&&g[v]||[];if(Q.every(A=>A.type==0))if(f[k.id]=h.length<<1|1,Nv(C,Q))h.push(i.facet(k));else{let A=k.combine(Q.map($=>$.value));h.push(i&&k.compare(A,i.facet(k))?i.facet(k):A)}else{for(let A of Q)A.type==0?(f[A.id]=h.length<<1|1,h.push(A.value)):(f[A.id]=p.length<<1,p.push($=>A.dynamicSlot($)));f[k.id]=p.length<<1,p.push(A=>U$(A,k,Q))}}let S=p.map(v=>v(f));return new Y0(e,o,S,f,h,s)}}function G$(n,e,t){let i=[[],[],[],[],[]],r=new Map;function s(o,f){let h=r.get(o);if(h!=null){if(h<=f)return;let p=i[h].indexOf(o);p>-1&&i[h].splice(p,1),o instanceof Eb&&t.delete(o.compartment)}if(r.set(o,f),Array.isArray(o))for(let p of o)s(p,f);else if(o instanceof Eb){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let p=e.get(o.compartment)||o.inner;t.set(o.compartment,p),s(p,f)}else if(o instanceof eP)s(o.inner,o.prec);else if(o instanceof Cn)i[f].push(o),o.provides&&s(o.provides,f);else if(o instanceof b0)i[f].push(o),o.facet.extensions&&s(o.facet.extensions,Au.default);else{let p=o.extension;if(!p)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(p,f)}}return s(n,Au.default),i.reduce((o,f)=>o.concat(f))}function TO(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let r=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|r}function L0(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}const tP=ke.define(),Xb=ke.define({combine:n=>n.some(e=>e),static:!0}),nP=ke.define({combine:n=>n.length?n[0]:void 0,static:!0}),iP=ke.define(),rP=ke.define(),lP=ke.define(),sP=ke.define({combine:n=>n.length?n[0]:!1});class ts{constructor(e,t){this.type=e,this.value=t}static define(){return new W$}}class W${of(e){return new ts(this,e)}}class j${constructor(e){this.map=e}of(e){return new Ge(this,e)}}class Ge{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new Ge(this.type,t)}is(e){return this.type==e}static define(e={}){return new j$(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let r of e){let s=r.map(t);s&&i.push(s)}return i}}Ge.reconfigure=Ge.define();Ge.appendConfig=Ge.define();class bn{constructor(e,t,i,r,s,o){this.startState=e,this.changes=t,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,i&&JT(i,t.newLength),s.some(f=>f.type==bn.time)||(this.annotations=s.concat(bn.time.of(Date.now())))}static create(e,t,i,r,s,o){return new bn(e,t,i,r,s,o)}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(bn.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}}bn.time=ts.define();bn.userEvent=ts.define();bn.addToHistory=ts.define();bn.remote=ts.define();function H$(n,e){let t=[];for(let i=0,r=0;;){let s,o;if(i<n.length&&(r==e.length||e[r]>=n[i]))s=n[i++],o=n[i++];else if(r<e.length)s=e[r++],o=e[r++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function aP(n,e,t){var i;let r,s,o;return t?(r=e.changes,s=Qn.empty(e.changes.length),o=n.changes.compose(e.changes)):(r=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),o=n.changes.compose(r)),{changes:o,selection:e.selection?e.selection.map(s):(i=n.selection)===null||i===void 0?void 0:i.map(r),effects:Ge.mapEffects(n.effects,r).concat(Ge.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function Zb(n,e,t){let i=e.selection,r=Df(e.annotations);return e.userEvent&&(r=r.concat(bn.userEvent.of(e.userEvent))),{changes:e.changes instanceof Qn?e.changes:Qn.of(e.changes||[],t,n.facet(nP)),selection:i&&(i instanceof ue?i:ue.single(i.anchor,i.head)),effects:Df(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function oP(n,e,t){let i=Zb(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;i=aP(i,Zb(n,e[s],o?i.changes.newLength:n.doc.length),o)}let r=bn.create(n,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return K$(t?I$(r):r)}function I$(n){let e=n.startState,t=!0;for(let r of e.facet(iP)){let s=r(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:H$(t,s))}if(t!==!0){let r,s;if(t===!1)s=n.changes.invertedDesc,r=Qn.empty(e.doc.length);else{let o=n.changes.filter(t);r=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}n=bn.create(e,r,n.selection&&n.selection.map(s),Ge.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let i=e.facet(rP);for(let r=i.length-1;r>=0;r--){let s=i[r](n);s instanceof bn?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof bn?n=s[0]:n=oP(e,Df(s),!1)}return n}function K$(n){let e=n.startState,t=e.facet(lP),i=n;for(let r=t.length-1;r>=0;r--){let s=t[r](n);s&&Object.keys(s).length&&(i=aP(i,Zb(e,s,n.changes.newLength),!0))}return i==n?n:bn.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}const F$=[];function Df(n){return n==null?F$:Array.isArray(n)?n:[n]}var Ht=function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n}(Ht||(Ht={}));const J$=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let Db;try{Db=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function eM(n){if(Db)return Db.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"€"&&(t.toUpperCase()!=t.toLowerCase()||J$.test(t)))return!0}return!1}function tM(n){return e=>{if(!/\S/.test(e))return Ht.Space;if(eM(e))return Ht.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return Ht.Word;return Ht.Other}}class ht{constructor(e,t,i,r,s,o){this.config=e,this.doc=t,this.selection=i,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let f=0;f<this.config.dynamicSlots.length;f++)TO(this,f<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(i==null){if(t)throw new RangeError("Field is not present in this state");return}return TO(this,i),L0(this,i)}update(...e){return oP(this,e,!0)}applyTransaction(e){let t=this.config,{base:i,compartments:r}=t;for(let f of e.effects)f.is(wy.reconfigure)?(t&&(r=new Map,t.compartments.forEach((h,p)=>r.set(p,h)),t=null),r.set(f.value.compartment,f.value.extension)):f.is(Ge.reconfigure)?(t=null,i=f.value):f.is(Ge.appendConfig)&&(t=null,i=Df(i).concat(f.value));let s;t?s=e.startState.values.slice():(t=Y0.resolve(i,r,this),s=new ht(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(h,p)=>p.reconfigure(h,this),null).values);let o=e.startState.facet(Xb)?e.newSelection:e.newSelection.asSingle();new ht(t,e.newDoc,o,s,(f,h)=>h.update(f,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:ue.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),r=this.changes(i.changes),s=[i.range],o=Df(i.effects);for(let f=1;f<t.ranges.length;f++){let h=e(t.ranges[f]),p=this.changes(h.changes),g=p.map(r);for(let v=0;v<f;v++)s[v]=s[v].map(g);let S=r.mapDesc(p,!0);s.push(h.range.map(S)),r=r.compose(g),o=Ge.mapEffects(o,g).concat(Ge.mapEffects(Df(h.effects),S))}return{changes:r,selection:ue.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Qn?e:Qn.of(e,this.doc.length,this.facet(ht.lineSeparator))}toText(e){return dt.of(e.split(this.facet(ht.lineSeparator)||Rb))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(TO(this,t),L0(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let r=e[i];r instanceof Cn&&this.config.address[r.id]!=null&&(t[i]=r.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(i){for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)){let o=i[s],f=e[s];r.push(o.init(h=>o.spec.fromJSON(f,h)))}}return ht.create({doc:e.doc,selection:ue.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Y0.resolve(e.extensions||[],new Map),i=e.doc instanceof dt?e.doc:dt.of((e.doc||"").split(t.staticFacet(ht.lineSeparator)||Rb)),r=e.selection?e.selection instanceof ue?e.selection:ue.single(e.selection.anchor,e.selection.head):ue.single(0);return JT(r,i.length),t.staticFacet(Xb)||(r=r.asSingle()),new ht(t,i,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(ht.tabSize)}get lineBreak(){return this.facet(ht.lineSeparator)||`
36`}get readOnly(){return this.facet(sP)}phrase(e,...t){for(let i of this.facet(ht.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?i:t[s-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let s of this.facet(tP))for(let o of s(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){return tM(this.languageDataAt("wordChars",e).join(""))}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-i,f=e-i;for(;o>0;){let h=Yn(t,o,!1);if(s(t.slice(h,o))!=Ht.Word)break;o=h}for(;f<r;){let h=Yn(t,f);if(s(t.slice(f,h))!=Ht.Word)break;f=h}return o==f?null:ue.range(o+i,f+i)}}ht.allowMultipleSelections=Xb;ht.tabSize=ke.define({combine:n=>n.length?n[0]:4});ht.lineSeparator=nP;ht.readOnly=sP;ht.phrases=ke.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(r=>n[r]==e[r])}});ht.languageData=tP;ht.changeFilter=iP;ht.transactionFilter=rP;ht.transactionExtender=lP;wy.reconfigure=Ge.define();function ns(n,e,t={}){let i={};for(let r of n)for(let s of Object.keys(r)){let o=r[s],f=i[s];if(f===void 0)i[s]=o;else if(!(f===o||o===void 0))if(Object.hasOwnProperty.call(t,s))i[s]=t[s](f,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}class Bu{eq(e){return this==e}range(e,t=e){return qb.create(e,t,this)}}Bu.prototype.startSide=Bu.prototype.endSide=0;Bu.prototype.point=!1;Bu.prototype.mapMode=Bn.TrackDel;let qb=class uP{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new uP(e,t,i)}};function zb(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}class Uv{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return this.to[this.to.length-1]}findIndex(e,t,i,r=0){let s=i?this.to:this.from;for(let o=r,f=s.length;;){if(o==f)return o;let h=o+f>>1,p=s[h]-e||(i?this.value[h].endSide:this.value[h].startSide)-t;if(h==o)return p>=0?o:f;p>=0?f=h:o=h+1}}between(e,t,i,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t){let i=[],r=[],s=[],o=-1,f=-1;for(let h=0;h<this.value.length;h++){let p=this.value[h],g=this.from[h]+e,S=this.to[h]+e,v,Q;if(g==S){let k=t.mapPos(g,p.startSide,p.mapMode);if(k==null||(v=Q=k,p.startSide!=p.endSide&&(Q=t.mapPos(g,p.endSide),Q<v)))continue}else if(v=t.mapPos(g,p.startSide),Q=t.mapPos(S,p.endSide),v>Q||v==Q&&p.startSide>0&&p.endSide<=0)continue;(Q-v||p.endSide-p.startSide)<0||(o<0&&(o=v),p.point&&(f=Math.max(f,Q-v)),i.push(p),r.push(v-o),s.push(Q-o))}return{mapped:i.length?new Uv(r,s,i,f):null,pos:o}}}class gt{constructor(e,t,i,r){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=r}static create(e,t,i,r){return new gt(e,t,i,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:i=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(zb)),this.isEmpty)return t.length?gt.of(t):this;let f=new cP(this,null,-1).goto(0),h=0,p=[],g=new Ls;for(;f.value||h<t.length;)if(h<t.length&&(f.from-t[h].from||f.startSide-t[h].value.startSide)>=0){let S=t[h++];g.addInner(S.from,S.to,S.value)||p.push(S)}else f.rangeIndex==1&&f.chunkIndex<this.chunk.length&&(h==t.length||this.chunkEnd(f.chunkIndex)<t[h].from)&&(!o||r>this.chunkEnd(f.chunkIndex)||s<this.chunkPos[f.chunkIndex])&&g.addChunk(this.chunkPos[f.chunkIndex],this.chunk[f.chunkIndex])?f.nextChunk():((!o||r>f.to||s<f.from||o(f.from,f.to,f.value))&&(g.addInner(f.from,f.to,f.value)||p.push(qb.create(f.from,f.to,f.value))),f.next());return g.finishInner(this.nextLayer.isEmpty&&!p.length?gt.empty:this.nextLayer.update({add:p,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],r=-1;for(let o=0;o<this.chunk.length;o++){let f=this.chunkPos[o],h=this.chunk[o],p=e.touchesRange(f,f+h.length);if(p===!1)r=Math.max(r,h.maxPoint),t.push(h),i.push(e.mapPos(f));else if(p===!0){let{mapped:g,pos:S}=h.map(f,e);g&&(r=Math.max(r,g.maxPoint),t.push(g),i.push(S))}}let s=this.nextLayer.map(e);return t.length==0?s:new gt(i,t,s||gt.empty,r)}between(e,t,i){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return ZO.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return ZO.from(e).goto(t)}static compare(e,t,i,r,s=-1){let o=e.filter(S=>S.maxPoint>0||!S.isEmpty&&S.maxPoint>=s),f=t.filter(S=>S.maxPoint>0||!S.isEmpty&&S.maxPoint>=s),h=QQ(o,f,i),p=new oO(o,h,s),g=new oO(f,h,s);i.iterGaps((S,v,Q)=>wQ(p,S,g,v,Q,r)),i.empty&&i.length==0&&wQ(p,0,g,0,0,r)}static eq(e,t,i=0,r){r==null&&(r=999999999);let s=e.filter(g=>!g.isEmpty&&t.indexOf(g)<0),o=t.filter(g=>!g.isEmpty&&e.indexOf(g)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let f=QQ(s,o),h=new oO(s,f,0).goto(i),p=new oO(o,f,0).goto(i);for(;;){if(h.to!=p.to||!Bb(h.active,p.active)||h.point&&(!p.point||!h.point.eq(p.point)))return!1;if(h.to>r)return!0;h.next(),p.next()}}static spans(e,t,i,r,s=-1){let o=new oO(e,null,s).goto(t),f=t,h=o.openStart;for(;;){let p=Math.min(o.to,i);if(o.point){let g=o.activeForPoint(o.to),S=o.pointFrom<t?g.length+1:o.point.startSide<0?g.length:Math.min(g.length,h);r.point(f,p,o.point,g,S,o.pointRank),h=Math.min(o.openEnd(p),g.length)}else p>f&&(r.span(f,p,o.active,h),h=o.openEnd(p));if(o.to>i)return h+(o.point&&o.to>i?1:0);f=o.to,o.next()}}static of(e,t=!1){let i=new Ls;for(let r of e instanceof qb?[e]:t?nM(e):e)i.add(r.from,r.to,r.value);return i.finish()}static join(e){if(!e.length)return gt.empty;let t=e[e.length-1];for(let i=e.length-2;i>=0;i--)for(let r=e[i];r!=gt.empty;r=r.nextLayer)t=new gt(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}}gt.empty=new gt([],[],null,-1);function nM(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let i=n[t];if(zb(e,i)>0)return n.slice().sort(zb);e=i}return n}gt.empty.nextLayer=gt.empty;class Ls{finishChunk(e){this.chunks.push(new Uv(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addInner(e,t,i)||(this.nextLayer||(this.nextLayer=new Ls)).add(e,t,i)}addInner(e,t,i){let r=e-this.lastTo||i.startSide-this.last.endSide;if(r<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return r<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(gt.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=gt.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}}function QQ(n,e,t){let i=new Map;for(let s of n)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&i.set(s.chunk[o],s.chunkPos[o]);let r=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let f=i.get(s.chunk[o]);f!=null&&(t?t.mapPos(f):f)==s.chunkPos[o]&&!t?.touchesRange(f,f+s.chunk[o].length)&&r.add(s.chunk[o])}return r}class cP{constructor(e,t,i,r=0){this.layer=e,this.skip=t,this.minPoint=i,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,i){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!i||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],i=e+t.from[this.rangeIndex];if(this.from=i,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}}class ZO{constructor(e){this.heap=e}static from(e,t=null,i=-1){let r=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=i&&r.push(new cP(o,t,i,s));return r.length==1?r[0]:new ZO(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)OS(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)OS(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),OS(this.heap,0)}}}function OS(n,e){for(let t=n[e];;){let i=(e<<1)+1;if(i>=n.length)break;let r=n[i];if(i+1<n.length&&r.compare(n[i+1])>=0&&(r=n[i+1],i++),t.compare(r)<0)break;n[i]=t,n[e]=r,e=i}}class oO{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=ZO.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Im(this.active,e),Im(this.activeTo,e),Im(this.activeRank,e),this.minActive=kQ(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:r,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||r-this.activeTo[t])>0;)t++;Km(this.active,t,i),Km(this.activeTo,t,r),Km(this.activeRank,t,s),e&&Km(e,t,this.cursor.from),this.minActive=kQ(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&Im(i,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let r=i.length-1;r>=0&&i[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}}function wQ(n,e,t,i,r,s){n.goto(e),t.goto(i);let o=i+r,f=i,h=i-e;for(;;){let p=n.to+h-t.to,g=p||n.endSide-t.endSide,S=g<0?n.to+h:t.to,v=Math.min(S,o);if(n.point||t.point?n.point&&t.point&&(n.point==t.point||n.point.eq(t.point))&&Bb(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(f,v,n.point,t.point):v>f&&!Bb(n.active,t.active)&&s.compareRange(f,v,n.active,t.active),S>o)break;(p||n.openEnd!=t.openEnd)&&s.boundChange&&s.boundChange(S),f=S,g<=0&&n.next(),g>=0&&t.next()}}function Bb(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!n[t].eq(e[t]))return!1;return!0}function Im(n,e){for(let t=e,i=n.length-1;t<i;t++)n[t]=n[t+1];n.pop()}function Km(n,e,t){for(let i=n.length-1;i>=e;i--)n[i+1]=n[i];n[e]=t}function kQ(n,e){let t=-1,i=1e9;for(let r=0;r<e.length;r++)(e[r]-i||n[r].endSide-n[t].endSide)<0&&(t=r,i=e[r]);return t}function ih(n,e,t=n.length){let i=0;for(let r=0;r<t&&r<n.length;)n.charCodeAt(r)==9?(i+=e-i%e,r++):(i++,r=Yn(n,r));return i}function Yb(n,e,t,i){for(let r=0,s=0;;){if(s>=e)return r;if(r==n.length)break;s+=n.charCodeAt(r)==9?t-s%t:1,r=Yn(n,r)}return i===!0?-1:n.length}const Lb="ͼ",TQ=typeof Symbol>"u"?"__"+Lb:Symbol.for(Lb),Vb=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),PQ=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class io{constructor(e,t){this.rules=[];let{finish:i}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,f,h,p){let g=[],S=/^@(\w+)\b/.exec(o[0]),v=S&&S[1]=="keyframes";if(S&&f==null)return h.push(o[0]+";");for(let Q in f){let k=f[Q];if(/&/.test(Q))s(Q.split(/,\s*/).map(C=>o.map(A=>C.replace(/&/,A))).reduce((C,A)=>C.concat(A)),k,h);else if(k&&typeof k=="object"){if(!S)throw new RangeError("The value of a property ("+Q+") should be a primitive value.");s(r(Q),k,g,v)}else k!=null&&g.push(Q.replace(/_.*/,"").replace(/[A-Z]/g,C=>"-"+C.toLowerCase())+": "+k+";")}(g.length||v)&&h.push((i&&!S&&!p?o.map(i):o).join(", ")+" {"+g.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(`
37`)}static newName(){let e=PQ[TQ]||1;return PQ[TQ]=e+1,Lb+e.toString(36)}static mount(e,t,i){let r=e[Vb],s=i&&i.nonce;r?s&&r.setNonce(s):r=new iM(e,s),r.mount(Array.isArray(t)?t:[t],e)}}let _Q=new Map;class iM{constructor(e,t){let i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=_Q.get(i);if(s)return e[Vb]=s;this.sheet=new r.CSSStyleSheet,_Q.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[Vb]=this}mount(e,t){let i=this.sheet,r=0,s=0;for(let o=0;o<e.length;o++){let f=e[o],h=this.modules.indexOf(f);if(h<s&&h>-1&&(this.modules.splice(h,1),s--,h=-1),h==-1){if(this.modules.splice(s++,0,f),i)for(let p=0;p<f.rules.length;p++)i.insertRule(f.rules[p],r++)}else{for(;s<h;)r+=this.modules[s++].rules.length;r+=f.rules.length,s++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let h=0;h<this.modules.length;h++)o+=this.modules[h].getRules()+`
38`;this.styleTag.textContent=o;let f=t.head||t;this.styleTag.parentNode!=f&&f.insertBefore(this.styleTag,f.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}}var ro={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},DO={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},rM=typeof navigator<"u"&&/Mac/.test(navigator.platform),lM=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var zn=0;zn<10;zn++)ro[48+zn]=ro[96+zn]=String(zn);for(var zn=1;zn<=24;zn++)ro[zn+111]="F"+zn;for(var zn=65;zn<=90;zn++)ro[zn]=String.fromCharCode(zn+32),DO[zn]=String.fromCharCode(zn);for(var pS in ro)DO.hasOwnProperty(pS)||(DO[pS]=ro[pS]);function sM(n){var e=rM&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||lM&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?DO:ro)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}function qO(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function Nb(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function v0(n,e){if(!e.anchorNode)return!1;try{return Nb(n,e.anchorNode)}catch{return!1}}function Gf(n){return n.nodeType==3?Lu(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function PO(n,e,t,i){return t?CQ(n,e,t,i,-1)||CQ(n,e,t,i,1):!1}function Yu(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function V0(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function CQ(n,e,t,i,r){for(;;){if(n==t&&e==i)return!0;if(e==(r<0?0:Jl(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=Yu(n)+(r<0?0:1),n=s}else if(n.nodeType==1){if(n=n.childNodes[e+(r<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=r<0?Jl(n):0}else return!1}}function Jl(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function np(n,e){let t=e?n.left:n.right;return{left:t,right:t,top:n.top,bottom:n.bottom}}function aM(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function fP(n,e){let t=e.width/n.offsetWidth,i=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-n.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function oM(n,e,t,i,r,s,o,f){let h=n.ownerDocument,p=h.defaultView||window;for(let g=n,S=!1;g&&!S;)if(g.nodeType==1){let v,Q=g==h.body,k=1,C=1;if(Q)v=aM(p);else{if(/^(fixed|sticky)$/.test(getComputedStyle(g).position)&&(S=!0),g.scrollHeight<=g.clientHeight&&g.scrollWidth<=g.clientWidth){g=g.assignedSlot||g.parentNode;continue}let z=g.getBoundingClientRect();({scaleX:k,scaleY:C}=fP(g,z)),v={left:z.left,right:z.left+g.clientWidth*k,top:z.top,bottom:z.top+g.clientHeight*C}}let A=0,$=0;if(r=="nearest")e.top<v.top?($=e.top-(v.top+o),t>0&&e.bottom>v.bottom+$&&($=e.bottom-v.bottom+o)):e.bottom>v.bottom&&($=e.bottom-v.bottom+o,t<0&&e.top-$<v.top&&($=e.top-(v.top+o)));else{let z=e.bottom-e.top,D=v.bottom-v.top;$=(r=="center"&&z<=D?e.top+z/2-D/2:r=="start"||r=="center"&&t<0?e.top-o:e.bottom-D+o)-v.top}if(i=="nearest"?e.left<v.left?(A=e.left-(v.left+s),t>0&&e.right>v.right+A&&(A=e.right-v.right+s)):e.right>v.right&&(A=e.right-v.right+s,t<0&&e.left<v.left+A&&(A=e.left-(v.left+s))):A=(i=="center"?e.left+(e.right-e.left)/2-(v.right-v.left)/2:i=="start"==f?e.left-s:e.right-(v.right-v.left)+s)-v.left,A||$)if(Q)p.scrollBy(A,$);else{let z=0,D=0;if($){let Y=g.scrollTop;g.scrollTop+=$/C,D=(g.scrollTop-Y)*C}if(A){let Y=g.scrollLeft;g.scrollLeft+=A/k,z=(g.scrollLeft-Y)*k}e={left:e.left-z,top:e.top-D,right:e.right-z,bottom:e.bottom-D},z&&Math.abs(z-A)<1&&(i="nearest"),D&&Math.abs(D-$)<1&&(r="nearest")}if(Q)break;(e.top<v.top||e.bottom>v.bottom||e.left<v.left||e.right>v.right)&&(e={left:Math.max(e.left,v.left),right:Math.min(e.right,v.right),top:Math.max(e.top,v.top),bottom:Math.min(e.bottom,v.bottom)}),g=g.assignedSlot||g.parentNode}else if(g.nodeType==11)g=g.host;else break}function uM(n){let e=n.ownerDocument,t,i;for(let r=n.parentNode;r&&!(r==e.body||t&&i);)if(r.nodeType==1)!i&&r.scrollHeight>r.clientHeight&&(i=r),!t&&r.scrollWidth>r.clientWidth&&(t=r),r=r.assignedSlot||r.parentNode;else if(r.nodeType==11)r=r.host;else break;return{x:t,y:i}}class cM{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?Jl(t):0),i,Math.min(e.focusOffset,i?Jl(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}}let Cf=null;function hP(n){if(n.setActive)return n.setActive();if(Cf)return n.focus(Cf);let e=[];for(let t=n;t&&(e.push(t,t.scrollTop,t.scrollLeft),t!=t.ownerDocument);t=t.parentNode);if(n.focus(Cf==null?{get preventScroll(){return Cf={preventScroll:!0},!0}}:void 0),!Cf){Cf=!1;for(let t=0;t<e.length;){let i=e[t++],r=e[t++],s=e[t++];i.scrollTop!=r&&(i.scrollTop=r),i.scrollLeft!=s&&(i.scrollLeft=s)}}}let RQ;function Lu(n,e,t=e){let i=RQ||(RQ=document.createRange());return i.setEnd(n,t),i.setStart(n,e),i}function qf(n,e,t,i){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0};i&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=i);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,n.dispatchEvent(s);let o=new KeyboardEvent("keyup",r);return o.synthetic=!0,n.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function fM(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function dP(n){for(;n.attributes.length;)n.removeAttributeNode(n.attributes[0])}function hM(n,e){let t=e.focusNode,i=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=i)return!1;for(i=Math.min(i,Jl(t));;)if(i){if(t.nodeType!=1)return!1;let r=t.childNodes[i-1];r.contentEditable=="false"?i--:(t=r,i=Jl(t))}else{if(t==n)return!0;i=Yu(t),t=t.parentNode}}function OP(n){return n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function pP(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=Jl(t)}else if(t.parentNode&&!V0(t))i=Yu(t),t=t.parentNode;else return null}}function gP(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i<t.nodeValue.length)return{node:t,offset:i};if(t.nodeType==1&&i<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[i],i=0}else if(t.parentNode&&!V0(t))i=Yu(t)+1,t=t.parentNode;else return null}}class li{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new li(e.parentNode,Yu(e),t)}static after(e,t){return new li(e.parentNode,Yu(e)+1,t)}}const Gv=[];class Et{constructor(){this.parent=null,this.dom=null,this.flags=2}get overrideDOMText(){return null}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e){let t=this.posAtStart;for(let i of this.children){if(i==e)return t;t+=i.length+i.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}sync(e,t){if(this.flags&2){let i=this.dom,r=null,s;for(let o of this.children){if(o.flags&7){if(!o.dom&&(s=r?r.nextSibling:i.firstChild)){let f=Et.get(s);(!f||!f.parent&&f.canReuseDOM(o))&&o.reuseDOM(s)}o.sync(e,t),o.flags&=-8}if(s=r?r.nextSibling:i.firstChild,t&&!t.written&&t.node==i&&s!=o.dom&&(t.written=!0),o.dom.parentNode==i)for(;s&&s!=o.dom;)s=AQ(s);else i.insertBefore(o.dom,s);r=o.dom}for(s=r?r.nextSibling:i.firstChild,s&&t&&t.node==i&&(t.written=!0);s;)s=AQ(s)}else if(this.flags&1)for(let i of this.children)i.flags&7&&(i.sync(e,t),i.flags&=-8)}reuseDOM(e){}localPosFromDOM(e,t){let i;if(e==this.dom)i=this.dom.childNodes[t];else{let r=Jl(e)==0?0:t==0?-1:1;for(;;){let s=e.parentNode;if(s==this.dom)break;r==0&&s.firstChild!=s.lastChild&&(e==s.firstChild?r=-1:r=1),e=s}r<0?i=e:i=e.nextSibling}if(i==this.dom.firstChild)return 0;for(;i&&!Et.get(i);)i=i.nextSibling;if(!i)return this.length;for(let r=0,s=0;;r++){let o=this.children[r];if(o.dom==i)return s;s+=o.length+o.breakAfter}}domBoundsAround(e,t,i=0){let r=-1,s=-1,o=-1,f=-1;for(let h=0,p=i,g=i;h<this.children.length;h++){let S=this.children[h],v=p+S.length;if(p<e&&v>t)return S.domBoundsAround(e,t,p);if(v>=e&&r==-1&&(r=h,s=p),p>t&&S.dom.parentNode==this.dom){o=h,f=g;break}g=v,p=v+S.breakAfter}return{from:s,to:f<0?i+this.length:f,startDOM:(r?this.children[r-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:o<this.children.length&&o>=0?this.children[o].dom:null}}markDirty(e=!1){this.flags|=2,this.markParentsDirty(e)}markParentsDirty(e){for(let t=this.parent;t;t=t.parent){if(e&&(t.flags|=2),t.flags&1)return;t.flags|=1,e=!1}}setParent(e){this.parent!=e&&(this.parent=e,this.flags&7&&this.markParentsDirty(!0))}setDOM(e){this.dom!=e&&(this.dom&&(this.dom.cmView=null),this.dom=e,e.cmView=this)}get rootView(){for(let e=this;;){let t=e.parent;if(!t)return e;e=t}}replaceChildren(e,t,i=Gv){this.markDirty();for(let r=e;r<t;r++){let s=this.children[r];s.parent==this&&i.indexOf(s)<0&&s.destroy()}i.length<250?this.children.splice(e,t-e,...i):this.children=[].concat(this.children.slice(0,e),i,this.children.slice(t));for(let r=0;r<i.length;r++)i[r].setParent(this)}ignoreMutation(e){return!1}ignoreEvent(e){return!1}childCursor(e=this.length){return new mP(this.children,e,this.children.length)}childPos(e,t=1){return this.childCursor().findPos(e,t)}toString(){let e=this.constructor.name.replace("View","");return e+(this.children.length?"("+this.children.join()+")":this.length?"["+(e=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"")}static get(e){return e.cmView}get isEditable(){return!0}get isWidget(){return!1}get isHidden(){return!1}merge(e,t,i,r,s,o){return!1}become(e){return!1}canReuseDOM(e){return e.constructor==this.constructor&&!((this.flags|e.flags)&8)}getSide(){return 0}destroy(){for(let e of this.children)e.parent==this&&e.destroy();this.parent=null}}Et.prototype.breakAfter=0;function AQ(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}class mP{constructor(e,t,i){this.children=e,this.pos=t,this.i=i,this.off=0}findPos(e,t=1){for(;;){if(e>this.pos||e==this.pos&&(t>0||this.i==0||this.children[this.i-1].breakAfter))return this.off=e-this.pos,this;let i=this.children[--this.i];this.pos-=i.length+i.breakAfter}}}function yP(n,e,t,i,r,s,o,f,h){let{children:p}=n,g=p.length?p[e]:null,S=s.length?s[s.length-1]:null,v=S?S.breakAfter:o;if(!(e==i&&g&&!o&&!v&&s.length<2&&g.merge(t,r,s.length?S:null,t==0,f,h))){if(i<p.length){let Q=p[i];Q&&(r<Q.length||Q.breakAfter&&S?.breakAfter)?(e==i&&(Q=Q.split(r),r=0),!v&&S&&Q.merge(0,r,S,!0,0,h)?s[s.length-1]=Q:((r||Q.children.length&&!Q.children[0].length)&&Q.merge(0,r,null,!1,0,h),s.push(Q))):Q?.breakAfter&&(S?S.breakAfter=1:o=1),i++}for(g&&(g.breakAfter=o,t>0&&(!o&&s.length&&g.merge(t,g.length,s[0],!1,f,0)?g.breakAfter=s.shift().breakAfter:(t<g.length||g.children.length&&g.children[g.children.length-1].length==0)&&g.merge(t,g.length,null,!1,f,0),e++));e<i&&s.length;)if(p[i-1].become(s[s.length-1]))i--,s.pop(),h=s.length?0:f;else if(p[e].become(s[0]))e++,s.shift(),f=s.length?0:h;else break;!s.length&&e&&i<p.length&&!p[e-1].breakAfter&&p[i].merge(0,0,p[e-1],!1,f,h)&&e--,(e<i||s.length)&&n.replaceChildren(e,i,s)}}function SP(n,e,t,i,r,s){let o=n.childCursor(),{i:f,off:h}=o.findPos(t,1),{i:p,off:g}=o.findPos(e,-1),S=e-t;for(let v of i)S+=v.length;n.length+=S,yP(n,p,g,f,h,i,0,r,s)}let Vi=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},Ub=typeof document<"u"?document:{documentElement:{style:{}}};const Gb=/Edge\/(\d+)/.exec(Vi.userAgent),bP=/MSIE \d/.test(Vi.userAgent),Wb=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Vi.userAgent),ky=!!(bP||Wb||Gb),$Q=!ky&&/gecko\/(\d+)/i.test(Vi.userAgent),gS=!ky&&/Chrome\/(\d+)/.exec(Vi.userAgent),dM="webkitFontSmoothing"in Ub.documentElement.style,vP=!ky&&/Apple Computer/.test(Vi.vendor),MQ=vP&&(/Mobile\/\w+/.test(Vi.userAgent)||Vi.maxTouchPoints>2);var _e={mac:MQ||/Mac/.test(Vi.platform),windows:/Win/.test(Vi.platform),linux:/Linux|X11/.test(Vi.platform),ie:ky,ie_version:bP?Ub.documentMode||6:Wb?+Wb[1]:Gb?+Gb[1]:0,gecko:$Q,gecko_version:$Q?+(/Firefox\/(\d+)/.exec(Vi.userAgent)||[0,0])[1]:0,chrome:!!gS,chrome_version:gS?+gS[1]:0,ios:MQ,android:/Android\b/.test(Vi.userAgent),safari:vP,webkit_version:dM?+(/\bAppleWebKit\/(\d+)/.exec(Vi.userAgent)||[0,0])[1]:0,tabSize:Ub.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};const OM=256;class tl extends Et{constructor(e){super(),this.text=e}get length(){return this.text.length}createDOM(e){this.setDOM(e||document.createTextNode(this.text))}sync(e,t){this.dom||this.createDOM(),this.dom.nodeValue!=this.text&&(t&&t.node==this.dom&&(t.written=!0),this.dom.nodeValue=this.text)}reuseDOM(e){e.nodeType==3&&this.createDOM(e)}merge(e,t,i){return this.flags&8||i&&(!(i instanceof tl)||this.length-(t-e)+i.length>OM||i.flags&8)?!1:(this.text=this.text.slice(0,e)+(i?i.text:"")+this.text.slice(t),this.markDirty(),!0)}split(e){let t=new tl(this.text.slice(e));return this.text=this.text.slice(0,e),this.markDirty(),t.flags|=this.flags&8,t}localPosFromDOM(e,t){return e==this.dom?t:t?this.text.length:0}domAtPos(e){return new li(this.dom,e)}domBoundsAround(e,t,i){return{from:i,to:i+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling}}coordsAt(e,t){return pM(this.dom,e,t)}}class Vs extends Et{constructor(e,t=[],i=0){super(),this.mark=e,this.children=t,this.length=i;for(let r of t)r.setParent(this)}setAttrs(e){if(dP(e),this.mark.class&&(e.className=this.mark.class),this.mark.attrs)for(let t in this.mark.attrs)e.setAttribute(t,this.mark.attrs[t]);return e}canReuseDOM(e){return super.canReuseDOM(e)&&!((this.flags|e.flags)&8)}reuseDOM(e){e.nodeName==this.mark.tagName.toUpperCase()&&(this.setDOM(e),this.flags|=6)}sync(e,t){this.dom?this.flags&4&&this.setAttrs(this.dom):this.setDOM(this.setAttrs(document.createElement(this.mark.tagName))),super.sync(e,t)}merge(e,t,i,r,s,o){return i&&(!(i instanceof Vs&&i.mark.eq(this.mark))||e&&s<=0||t<this.length&&o<=0)?!1:(SP(this,e,t,i?i.children.slice():[],s-1,o-1),this.markDirty(),!0)}split(e){let t=[],i=0,r=-1,s=0;for(let f of this.children){let h=i+f.length;h>e&&t.push(i<e?f.split(e-i):f),r<0&&i>=e&&(r=s),i=h,s++}let o=this.length-e;return this.length=e,r>-1&&(this.children.length=r,this.markDirty()),new Vs(this.mark,t,o)}domAtPos(e){return xP(this,e)}coordsAt(e,t){return wP(this,e,t)}}function pM(n,e,t){let i=n.nodeValue.length;e>i&&(e=i);let r=e,s=e,o=0;e==0&&t<0||e==i&&t>=0?_e.chrome||_e.gecko||(e?(r--,o=1):s<i&&(s++,o=-1)):t<0?r--:s<i&&s++;let f=Lu(n,r,s).getClientRects();if(!f.length)return null;let h=f[(o?o<0:t>=0)?0:f.length-1];return _e.safari&&!o&&h.width==0&&(h=Array.prototype.find.call(f,p=>p.width)||h),o?np(h,o<0):h||null}class eo extends Et{static create(e,t,i){return new eo(e,t,i)}constructor(e,t,i){super(),this.widget=e,this.length=t,this.side=i,this.prevWidget=null}split(e){let t=eo.create(this.widget,this.length-e,this.side);return this.length-=e,t}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}getSide(){return this.side}merge(e,t,i,r,s,o){return i&&(!(i instanceof eo)||!this.widget.compare(i.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(i?i.length:0)+(this.length-t),!0)}become(e){return e instanceof eo&&e.side==this.side&&this.widget.constructor==e.widget.constructor?(this.widget.compare(e.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get overrideDOMText(){if(this.length==0)return dt.empty;let e=this;for(;e.parent;)e=e.parent;let{view:t}=e,i=t&&t.state.doc,r=this.posAtStart;return i?i.slice(r,r+this.length):dt.empty}domAtPos(e){return(this.length?e==0:this.side>0)?li.before(this.dom):li.after(this.dom,e==this.length)}domBoundsAround(){return null}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);if(i)return i;let r=this.dom.getClientRects(),s=null;if(!r.length)return null;let o=this.side?this.side<0:e>0;for(let f=o?r.length-1:0;s=r[f],!(e>0?f==0:f==r.length-1||s.top<s.bottom);f+=o?-1:1);return np(s,!o)}get isEditable(){return!1}get isWidget(){return!0}get isHidden(){return this.widget.isHidden}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}}class Wf extends Et{constructor(e){super(),this.side=e}get length(){return 0}merge(){return!1}become(e){return e instanceof Wf&&e.side==this.side}split(){return new Wf(this.side)}sync(){if(!this.dom){let e=document.createElement("img");e.className="cm-widgetBuffer",e.setAttribute("aria-hidden","true"),this.setDOM(e)}}getSide(){return this.side}domAtPos(e){return this.side>0?li.before(this.dom):li.after(this.dom)}localPosFromDOM(){return 0}domBoundsAround(){return null}coordsAt(e){return this.dom.getBoundingClientRect()}get overrideDOMText(){return dt.empty}get isHidden(){return!0}}tl.prototype.children=eo.prototype.children=Wf.prototype.children=Gv;function xP(n,e){let t=n.dom,{children:i}=n,r=0;for(let s=0;r<i.length;r++){let o=i[r],f=s+o.length;if(!(f==s&&o.getSide()<=0)){if(e>s&&e<f&&o.dom.parentNode==t)return o.domAtPos(e-s);if(e<=s)break;s=f}}for(let s=r;s>0;s--){let o=i[s-1];if(o.dom.parentNode==t)return o.domAtPos(o.length)}for(let s=r;s<i.length;s++){let o=i[s];if(o.dom.parentNode==t)return o.domAtPos(0)}return new li(t,0)}function QP(n,e,t){let i,{children:r}=n;t>0&&e instanceof Vs&&r.length&&(i=r[r.length-1])instanceof Vs&&i.mark.eq(e.mark)?QP(i,e.children[0],t-1):(r.push(e),e.setParent(n)),n.length+=e.length}function wP(n,e,t){let i=null,r=-1,s=null,o=-1;function f(p,g){for(let S=0,v=0;S<p.children.length&&v<=g;S++){let Q=p.children[S],k=v+Q.length;k>=g&&(Q.children.length?f(Q,g-v):(!s||s.isHidden&&(t>0||mM(s,Q)))&&(k>g||v==k&&Q.getSide()>0)?(s=Q,o=g-v):(v<g||v==k&&Q.getSide()<0&&!Q.isHidden)&&(i=Q,r=g-v)),v=k}}f(n,e);let h=(t<0?i:s)||i||s;return h?h.coordsAt(Math.max(0,h==i?r:o),t):gM(n)}function gM(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Gf(e);return t[t.length-1]||null}function mM(n,e){let t=n.coordsAt(0,1),i=e.coordsAt(0,1);return t&&i&&i.top<t.bottom}function jb(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}const EQ=Object.create(null);function N0(n,e,t){if(n==e)return!0;n||(n=EQ),e||(e=EQ);let i=Object.keys(n),r=Object.keys(e);if(i.length-(t&&i.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of i)if(s!=t&&(r.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function Hb(n,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?n.style.cssText="":n.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?n.style.cssText=t[r]:n.setAttribute(r,t[r]));return i}function yM(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let i=n.attributes[t];e[i.name]=i.value}return e}class is{eq(e){return!1}updateDOM(e,t){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}}var Qi=function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n}(Qi||(Qi={}));class Xe extends Bu{constructor(e,t,i,r){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=r}get heightRelevant(){return!1}static mark(e){return new ip(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new lo(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,r;if(e.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:o}=kP(e,t);i=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new lo(e,i,r,t,e.widget||null,!0)}static line(e){return new rp(e)}static set(e,t=!1){return gt.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Xe.none=gt.empty;class ip extends Xe{constructor(e){let{start:t,end:i}=kP(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.class=e.class||"",this.attrs=e.attributes||null}eq(e){var t,i;return this==e||e instanceof ip&&this.tagName==e.tagName&&(this.class||((t=this.attrs)===null||t===void 0?void 0:t.class))==(e.class||((i=e.attrs)===null||i===void 0?void 0:i.class))&&N0(this.attrs,e.attrs,"class")}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}}ip.prototype.point=!1;class rp extends Xe{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof rp&&this.spec.class==e.spec.class&&N0(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)}}rp.prototype.mapMode=Bn.TrackBefore;rp.prototype.point=!0;class lo extends Xe{constructor(e,t,i,r,s,o){super(t,i,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?Bn.TrackBefore:Bn.TrackAfter:Bn.TrackDel}get type(){return this.startSide!=this.endSide?Qi.WidgetRange:this.startSide<=0?Qi.WidgetBefore:Qi.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof lo&&SM(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)}}lo.prototype.point=!0;function kP(n,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=n;return t==null&&(t=n.inclusive),i==null&&(i=n.inclusive),{start:t??e,end:i??e}}function SM(n,e){return n==e||!!(n&&e&&n.compare(e))}function x0(n,e,t,i=0){let r=t.length-1;r>=0&&t[r]+i>=n?t[r]=Math.max(t[r],e):t.push(n,e)}class Sn extends Et{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(e,t,i,r,s,o){if(i){if(!(i instanceof Sn))return!1;this.dom||i.transferDOM(this)}return r&&this.setDeco(i?i.attrs:null),SP(this,e,t,i?i.children.slice():[],s,o),!0}split(e){let t=new Sn;if(t.breakAfter=this.breakAfter,this.length==0)return t;let{i,off:r}=this.childPos(e);r&&(t.append(this.children[i].split(r),0),this.children[i].merge(r,this.children[i].length,null,!1,0,0),i++);for(let s=i;s<this.children.length;s++)t.append(this.children[s],0);for(;i>0&&this.children[i-1].length==0;)this.children[--i].destroy();return this.children.length=i,this.markDirty(),this.length=e,t}transferDOM(e){this.dom&&(this.markDirty(),e.setDOM(this.dom),e.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs,this.prevAttrs=void 0,this.dom=null)}setDeco(e){N0(this.attrs,e)||(this.dom&&(this.prevAttrs=this.attrs,this.markDirty()),this.attrs=e)}append(e,t){QP(this,e,t)}addLineDeco(e){let t=e.spec.attributes,i=e.spec.class;t&&(this.attrs=jb(t,this.attrs||{})),i&&(this.attrs=jb({class:i},this.attrs||{}))}domAtPos(e){return xP(this,e)}reuseDOM(e){e.nodeName=="DIV"&&(this.setDOM(e),this.flags|=6)}sync(e,t){var i;this.dom?this.flags&4&&(dP(this.dom),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0):(this.setDOM(document.createElement("div")),this.dom.className="cm-line",this.prevAttrs=this.attrs?null:void 0),this.prevAttrs!==void 0&&(Hb(this.dom,this.prevAttrs,this.attrs),this.dom.classList.add("cm-line"),this.prevAttrs=void 0),super.sync(e,t);let r=this.dom.lastChild;for(;r&&Et.get(r)instanceof Vs;)r=r.lastChild;if(!r||!this.length||r.nodeName!="BR"&&((i=Et.get(r))===null||i===void 0?void 0:i.isEditable)==!1&&(!_e.ios||!this.children.some(s=>s instanceof tl))){let s=document.createElement("BR");s.cmIgnore=!0,this.dom.appendChild(s)}}measureTextSize(){if(this.children.length==0||this.length>20)return null;let e=0,t;for(let i of this.children){if(!(i instanceof tl)||/[^ -~]/.test(i.text))return null;let r=Gf(i.dom);if(r.length!=1)return null;e+=r[0].width,t=r[0].height}return e?{lineHeight:this.dom.getBoundingClientRect().height,charWidth:e/this.length,textHeight:t}:null}coordsAt(e,t){let i=wP(this,e,t);if(!this.children.length&&i&&this.parent){let{heightOracle:r}=this.parent.view.viewState,s=i.bottom-i.top;if(Math.abs(s-r.lineHeight)<2&&r.textHeight<s){let o=(s-r.textHeight)/2;return{top:i.top+o,bottom:i.bottom-o,left:i.left,right:i.left}}}return i}become(e){return e instanceof Sn&&this.children.length==0&&e.children.length==0&&N0(this.attrs,e.attrs)&&this.breakAfter==e.breakAfter}covers(){return!0}static find(e,t){for(let i=0,r=0;i<e.children.length;i++){let s=e.children[i],o=r+s.length;if(o>=t){if(s instanceof Sn)return s;if(o>t)break}r=o+s.breakAfter}return null}}class qs extends Et{constructor(e,t,i){super(),this.widget=e,this.length=t,this.deco=i,this.breakAfter=0,this.prevWidget=null}merge(e,t,i,r,s,o){return i&&(!(i instanceof qs)||!this.widget.compare(i.widget)||e>0&&s<=0||t<this.length&&o<=0)?!1:(this.length=e+(i?i.length:0)+(this.length-t),!0)}domAtPos(e){return e==0?li.before(this.dom):li.after(this.dom,e==this.length)}split(e){let t=this.length-e;this.length=e;let i=new qs(this.widget,t,this.deco);return i.breakAfter=this.breakAfter,i}get children(){return Gv}sync(e){(!this.dom||!this.widget.updateDOM(this.dom,e))&&(this.dom&&this.prevWidget&&this.prevWidget.destroy(this.dom),this.prevWidget=null,this.setDOM(this.widget.toDOM(e)),this.widget.editable||(this.dom.contentEditable="false"))}get overrideDOMText(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):dt.empty}domBoundsAround(){return null}become(e){return e instanceof qs&&e.widget.constructor==this.widget.constructor?(e.widget.compare(this.widget)||this.markDirty(!0),this.dom&&!this.prevWidget&&(this.prevWidget=this.widget),this.widget=e.widget,this.length=e.length,this.deco=e.deco,this.breakAfter=e.breakAfter,!0):!1}ignoreMutation(){return!0}ignoreEvent(e){return this.widget.ignoreEvent(e)}get isEditable(){return!1}get isWidget(){return!0}coordsAt(e,t){let i=this.widget.coordsAt(this.dom,e,t);return i||(this.widget instanceof Ib?null:np(this.dom.getBoundingClientRect(),this.length?e==0:t<=0))}destroy(){super.destroy(),this.dom&&this.widget.destroy(this.dom)}covers(e){let{startSide:t,endSide:i}=this.deco;return t==i?!1:e<0?t<0:i>0}}class Ib extends is{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}}class _O{constructor(e,t,i,r){this.doc=e,this.pos=t,this.end=i,this.disallowBlockEffectsFor=r,this.content=[],this.curLine=null,this.breakAtStart=0,this.pendingBuffer=0,this.bufferMarks=[],this.atCursorPos=!0,this.openStart=-1,this.openEnd=-1,this.text="",this.textOff=0,this.cursor=e.iter(),this.skip=t}posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;let e=this.content[this.content.length-1];return!(e.breakAfter||e instanceof qs&&e.deco.endSide<0)}getLine(){return this.curLine||(this.content.push(this.curLine=new Sn),this.atCursorPos=!0),this.curLine}flushBuffer(e=this.bufferMarks){this.pendingBuffer&&(this.curLine.append(Fm(new Wf(-1),e),e.length),this.pendingBuffer=0)}addBlockWidget(e){this.flushBuffer(),this.curLine=null,this.content.push(e)}finish(e){this.pendingBuffer&&e<=this.bufferMarks.length?this.flushBuffer():this.pendingBuffer=0,!this.posCovered()&&!(e&&this.content.length&&this.content[this.content.length-1]instanceof qs)&&this.getLine()}buildText(e,t,i){for(;e>0;){if(this.textOff==this.text.length){let{value:s,lineBreak:o,done:f}=this.cursor.next(this.skip);if(this.skip=0,f)throw new Error("Ran out of text content when drawing inline views");if(o){this.posCovered()||this.getLine(),this.content.length?this.content[this.content.length-1].breakAfter=1:this.breakAtStart=1,this.flushBuffer(),this.curLine=null,this.atCursorPos=!0,e--;continue}else this.text=s,this.textOff=0}let r=Math.min(this.text.length-this.textOff,e,512);this.flushBuffer(t.slice(t.length-i)),this.getLine().append(Fm(new tl(this.text.slice(this.textOff,this.textOff+r)),t),i),this.atCursorPos=!0,this.textOff+=r,e-=r,i=0}}span(e,t,i,r){this.buildText(t-e,i,r),this.pos=t,this.openStart<0&&(this.openStart=r)}point(e,t,i,r,s,o){if(this.disallowBlockEffectsFor[o]&&i instanceof lo){if(i.block)throw new RangeError("Block decorations may not be specified via plugins");if(t>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}let f=t-e;if(i instanceof lo)if(i.block)i.startSide>0&&!this.posCovered()&&this.getLine(),this.addBlockWidget(new qs(i.widget||jf.block,f,i));else{let h=eo.create(i.widget||jf.inline,f,f?0:i.startSide),p=this.atCursorPos&&!h.isEditable&&s<=r.length&&(e<t||i.startSide>0),g=!h.isEditable&&(e<t||s>r.length||i.startSide<=0),S=this.getLine();this.pendingBuffer==2&&!p&&!h.isEditable&&(this.pendingBuffer=0),this.flushBuffer(r),p&&(S.append(Fm(new Wf(1),r),s),s=r.length+Math.max(0,s-r.length)),S.append(Fm(h,r),s),this.atCursorPos=g,this.pendingBuffer=g?e<t||s>r.length?1:2:0,this.pendingBuffer&&(this.bufferMarks=r.slice())}else this.doc.lineAt(this.pos).from==this.pos&&this.getLine().addLineDeco(i);f&&(this.textOff+f<=this.text.length?this.textOff+=f:(this.skip+=f-(this.text.length-this.textOff),this.text="",this.textOff=0),this.pos=t),this.openStart<0&&(this.openStart=s)}static build(e,t,i,r,s){let o=new _O(e,t,i,s);return o.openEnd=gt.spans(r,t,i,o),o.openStart<0&&(o.openStart=o.openEnd),o.finish(o.openEnd),o}}function Fm(n,e){for(let t of e)n=new Vs(t,[n],n.length);return n}class jf extends is{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}}jf.inline=new jf("span");jf.block=new jf("div");var Nt=function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n}(Nt||(Nt={}));const Vu=Nt.LTR,Wv=Nt.RTL;function TP(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}const bM=TP("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),vM=TP("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),Kb=Object.create(null),zl=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);Kb[e]=t,Kb[t]=-e}function PP(n){return n<=247?bM[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?vM[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}const xM=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;class to{get dir(){return this.level%2?Wv:Vu}constructor(e,t,i){this.from=e,this.to=t,this.level=i}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,i,r){let s=-1;for(let o=0;o<e.length;o++){let f=e[o];if(f.from<=t&&f.to>=t){if(f.level==i)return o;(s<0||(r!=0?r<0?f.from<t:f.to>t:e[s].level>f.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}}function _P(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let i=n[t],r=e[t];if(i.from!=r.from||i.to!=r.to||i.direction!=r.direction||!_P(i.inner,r.inner))return!1}return!0}const Mt=[];function QM(n,e,t,i,r){for(let s=0;s<=i.length;s++){let o=s?i[s-1].to:e,f=s<i.length?i[s].from:t,h=s?256:r;for(let p=o,g=h,S=h;p<f;p++){let v=PP(n.charCodeAt(p));v==512?v=g:v==8&&S==4&&(v=16),Mt[p]=v==4?2:v,v&7&&(S=v),g=v}for(let p=o,g=h,S=h;p<f;p++){let v=Mt[p];if(v==128)p<f-1&&g==Mt[p+1]&&g&24?v=Mt[p]=g:Mt[p]=256;else if(v==64){let Q=p+1;for(;Q<f&&Mt[Q]==64;)Q++;let k=p&&g==8||Q<t&&Mt[Q]==8?S==1?1:8:256;for(let C=p;C<Q;C++)Mt[C]=k;p=Q-1}else v==8&&S==1&&(Mt[p]=1);g=v,v&7&&(S=v)}}}function wM(n,e,t,i,r){let s=r==1?2:1;for(let o=0,f=0,h=0;o<=i.length;o++){let p=o?i[o-1].to:e,g=o<i.length?i[o].from:t;for(let S=p,v,Q,k;S<g;S++)if(Q=Kb[v=n.charCodeAt(S)])if(Q<0){for(let C=f-3;C>=0;C-=3)if(zl[C+1]==-Q){let A=zl[C+2],$=A&2?r:A&4?A&1?s:r:0;$&&(Mt[S]=Mt[zl[C]]=$),f=C;break}}else{if(zl.length==189)break;zl[f++]=S,zl[f++]=v,zl[f++]=h}else if((k=Mt[S])==2||k==1){let C=k==r;h=C?0:1;for(let A=f-3;A>=0;A-=3){let $=zl[A+2];if($&2)break;if(C)zl[A+2]|=2;else{if($&4)break;zl[A+2]|=4}}}}}function kM(n,e,t,i){for(let r=0,s=i;r<=t.length;r++){let o=r?t[r-1].to:n,f=r<t.length?t[r].from:e;for(let h=o;h<f;){let p=Mt[h];if(p==256){let g=h+1;for(;;)if(g==f){if(r==t.length)break;g=t[r++].to,f=r<t.length?t[r].from:e}else if(Mt[g]==256)g++;else break;let S=s==1,v=(g<e?Mt[g]:i)==1,Q=S==v?S?1:2:i;for(let k=g,C=r,A=C?t[C-1].to:n;k>h;)k==A&&(k=t[--C].from,A=C?t[C-1].to:n),Mt[--k]=Q;h=g}else s=p,h++}}}function Fb(n,e,t,i,r,s,o){let f=i%2?2:1;if(i%2==r%2)for(let h=e,p=0;h<t;){let g=!0,S=!1;if(p==s.length||h<s[p].from){let C=Mt[h];C!=f&&(g=!1,S=C==16)}let v=!g&&f==1?[]:null,Q=g?i:i+1,k=h;e:for(;;)if(p<s.length&&k==s[p].from){if(S)break e;let C=s[p];if(!g)for(let A=C.to,$=p+1;;){if(A==t)break e;if($<s.length&&s[$].from==A)A=s[$++].to;else{if(Mt[A]==f)break e;break}}if(p++,v)v.push(C);else{C.from>h&&o.push(new to(h,C.from,Q));let A=C.direction==Vu!=!(Q%2);Jb(n,A?i+1:i,r,C.inner,C.from,C.to,o),h=C.to}k=C.to}else{if(k==t||(g?Mt[k]!=f:Mt[k]==f))break;k++}v?Fb(n,h,k,i+1,r,v,o):h<k&&o.push(new to(h,k,Q)),h=k}else for(let h=t,p=s.length;h>e;){let g=!0,S=!1;if(!p||h>s[p-1].to){let C=Mt[h-1];C!=f&&(g=!1,S=C==16)}let v=!g&&f==1?[]:null,Q=g?i:i+1,k=h;e:for(;;)if(p&&k==s[p-1].to){if(S)break e;let C=s[--p];if(!g)for(let A=C.from,$=p;;){if(A==e)break e;if($&&s[$-1].to==A)A=s[--$].from;else{if(Mt[A-1]==f)break e;break}}if(v)v.push(C);else{C.to<h&&o.push(new to(C.to,h,Q));let A=C.direction==Vu!=!(Q%2);Jb(n,A?i+1:i,r,C.inner,C.from,C.to,o),h=C.from}k=C.from}else{if(k==e||(g?Mt[k-1]!=f:Mt[k-1]==f))break;k--}v?Fb(n,k,h,i+1,r,v,o):k<h&&o.push(new to(k,h,Q)),h=k}}function Jb(n,e,t,i,r,s,o){let f=e%2?2:1;QM(n,r,s,i,f),wM(n,r,s,i,f),kM(r,s,i,f),Fb(n,r,s,e,t,i,o)}function TM(n,e,t){if(!n)return[new to(0,0,e==Wv?1:0)];if(e==Vu&&!t.length&&!xM.test(n))return CP(n.length);if(t.length)for(;n.length>Mt.length;)Mt[Mt.length]=256;let i=[],r=e==Vu?0:1;return Jb(n,r,r,t,0,n.length,i),i}function CP(n){return[new to(0,n,0)]}let RP="";function PM(n,e,t,i,r){var s;let o=i.head-n.from,f=to.find(e,o,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),h=e[f],p=h.side(r,t);if(o==p){let v=f+=r?1:-1;if(v<0||v>=e.length)return null;h=e[f=v],o=h.side(!r,t),p=h.side(r,t)}let g=Yn(n.text,o,h.forward(r,t));(g<h.from||g>h.to)&&(g=p),RP=n.text.slice(Math.min(o,g),Math.max(o,g));let S=f==(r?e.length-1:0)?null:e[f+(r?1:-1)];return S&&g==p&&S.level+(r?0:1)<h.level?ue.cursor(S.side(!r,t)+n.from,S.forward(r,t)?1:-1,S.level):ue.cursor(g+n.from,h.forward(r,t)?-1:1,h.level)}function _M(n,e,t){for(let i=e;i<t;i++){let r=PP(n.charCodeAt(i));if(r==1)return Vu;if(r==2||r==4)return Wv}return Vu}const AP=ke.define(),$P=ke.define(),MP=ke.define(),EP=ke.define(),ev=ke.define(),XP=ke.define(),ZP=ke.define(),jv=ke.define(),Hv=ke.define(),DP=ke.define({combine:n=>n.some(e=>e)}),qP=ke.define({combine:n=>n.some(e=>e)}),zP=ke.define();class zf{constructor(e,t="nearest",i="nearest",r=5,s=5,o=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new zf(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new zf(ue.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const Jm=Ge.define({map:(n,e)=>n.map(e)}),BP=Ge.define();function Ui(n,e,t){let i=n.facet(EP);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}const Zs=ke.define({combine:n=>n.length?n[0]:!0});let CM=0;const yO=ke.define();class fn{constructor(e,t,i,r,s){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=r,this.extension=s(this)}static define(e,t){const{eventHandlers:i,eventObservers:r,provide:s,decorations:o}=t||{};return new fn(CM++,e,i,r,f=>{let h=[yO.of(f)];return o&&h.push(zO.of(p=>{let g=p.plugin(f);return g?o(g):Xe.none})),s&&h.push(s(f)),h})}static fromClass(e,t){return fn.define(i=>new e(i),t)}}class mS{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Ui(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.create(e)}catch(t){Ui(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Ui(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const YP=ke.define(),Iv=ke.define(),zO=ke.define(),LP=ke.define(),Kv=ke.define(),VP=ke.define();function XQ(n,e){let t=n.state.facet(VP);if(!t.length)return t;let i=t.map(s=>s instanceof Function?s(n):s),r=[];return gt.spans(i,e.from,e.to,{point(){},span(s,o,f,h){let p=s-e.from,g=o-e.from,S=r;for(let v=f.length-1;v>=0;v--,h--){let Q=f[v].spec.bidiIsolate,k;if(Q==null&&(Q=_M(e.text,p,g)),h>0&&S.length&&(k=S[S.length-1]).to==p&&k.direction==Q)k.to=g,S=k.inner;else{let C={from:p,to:g,direction:Q,inner:[]};S.push(C),S=C.inner}}}}),r}const NP=ke.define();function Fv(n){let e=0,t=0,i=0,r=0;for(let s of n.state.facet(NP)){let o=s(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(i=Math.max(i,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:i,bottom:r}}const SO=ke.define();class Rr{constructor(e,t,i,r){this.fromA=e,this.toA=t,this.fromB=i,this.toB=r}join(e){return new Rr(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>i.toA)){if(r.toA<i.fromA)break;i=i.join(r),e.splice(t-1,1)}}return e.splice(t,0,i),e}static extendWithRanges(e,t){if(t.length==0)return e;let i=[];for(let r=0,s=0,o=0,f=0;;r++){let h=r==e.length?null:e[r],p=o-f,g=h?h.fromB:1e9;for(;s<t.length&&t[s]<g;){let S=t[s],v=t[s+1],Q=Math.max(f,S),k=Math.min(g,v);if(Q<=k&&new Rr(Q+p,k+p,Q,k).addToSet(i),v>g)break;s+=2}if(!h)return i;new Rr(h.fromA,h.toA,h.fromB,h.toB).addToSet(i),o=h.toA,f=h.toB}}}class U0{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=Qn.empty(this.startState.doc.length);for(let s of i)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,o,f,h)=>r.push(new Rr(s,o,f,h))),this.changedRanges=r}static create(e,t,i){return new U0(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}}class ZQ extends Et{get length(){return this.view.state.doc.length}constructor(e){super(),this.view=e,this.decorations=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.markedForComposition=new Set,this.editContextFormatting=Xe.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.setDOM(e.contentDOM),this.children=[new Sn],this.children[0].setParent(this),this.updateDeco(),this.updateInner([new Rr(0,0,0,e.state.doc.length)],0,null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:p,toA:g})=>g<this.minWidthFrom||p>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!ZM(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?AM(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){this.markedForComposition.clear();let{from:p,to:g}=this.hasComposition;i=new Rr(p,g,e.changes.mapPos(p,-1),e.changes.mapPos(g,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(_e.ie||_e.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,f=this.updateDeco(),h=EM(o,f,e.changes);return i=Rr.extendWithRanges(i,h),!(this.flags&7)&&i.length==0?!1:(this.updateInner(i,e.startState.doc.length,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t,i){this.view.viewState.mustMeasureContent=!0,this.updateChildren(e,t,i);let{observer:r}=this.view;r.ignore(()=>{this.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let o=_e.chrome||_e.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.sync(this.view,o),this.flags&=-8,o&&(o.written||r.selectionRange.focusNode!=o.node)&&(this.forceSelection=!0),this.dom.style.height=""}),this.markedForComposition.forEach(o=>o.flags&=-9);let s=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let o of this.children)o instanceof qs&&o.widget instanceof Ib&&s.push(o.dom);r.updateGaps(s)}updateChildren(e,t,i){let r=i?i.range.addToSet(e.slice()):e,s=this.childCursor(t);for(let o=r.length-1;;o--){let f=o>=0?r[o]:null;if(!f)break;let{fromA:h,toA:p,fromB:g,toB:S}=f,v,Q,k,C;if(i&&i.range.fromB<S&&i.range.toB>g){let Y=_O.build(this.view.state.doc,g,i.range.fromB,this.decorations,this.dynamicDecorationMap),q=_O.build(this.view.state.doc,i.range.toB,S,this.decorations,this.dynamicDecorationMap);Q=Y.breakAtStart,k=Y.openStart,C=q.openEnd;let N=this.compositionView(i);q.breakAtStart?N.breakAfter=1:q.content.length&&N.merge(N.length,N.length,q.content[0],!1,q.openStart,0)&&(N.breakAfter=q.content[0].breakAfter,q.content.shift()),Y.content.length&&N.merge(0,0,Y.content[Y.content.length-1],!0,0,Y.openEnd)&&Y.content.pop(),v=Y.content.concat(N).concat(q.content)}else({content:v,breakAtStart:Q,openStart:k,openEnd:C}=_O.build(this.view.state.doc,g,S,this.decorations,this.dynamicDecorationMap));let{i:A,off:$}=s.findPos(p,1),{i:z,off:D}=s.findPos(h,-1);yP(this,z,D,A,$,v,Q,k,C)}i&&this.fixCompositionDOM(i)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(BP)&&(this.editContextFormatting=i.value)}compositionView(e){let t=new tl(e.text.nodeValue);t.flags|=8;for(let{deco:r}of e.marks)t=new Vs(r,[t],t.length);let i=new Sn;return i.append(t,0),i}fixCompositionDOM(e){let t=(s,o)=>{o.flags|=8|(o.children.some(h=>h.flags&7)?1:0),this.markedForComposition.add(o);let f=Et.get(s);f&&f!=o&&(f.dom=null),o.setDOM(s)},i=this.childPos(e.range.fromB,1),r=this.children[i.i];t(e.line,r);for(let s=e.marks.length-1;s>=-1;s--)i=r.childPos(i.off,1),r=r.children[i.i],t(s>=0?e.marks[s].node:e.text,r)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let i=this.view.root.activeElement,r=i==this.dom,s=!r&&!(this.view.state.facet(Zs)||this.dom.tabIndex>-1)&&v0(this.dom,this.view.observer.selectionRange)&&!(i&&this.dom.contains(i));if(!(r||t||s))return;let o=this.forceSelection;this.forceSelection=!1;let f=this.view.state.selection.main,h=this.moveToLine(this.domAtPos(f.anchor)),p=f.empty?h:this.moveToLine(this.domAtPos(f.head));if(_e.gecko&&f.empty&&!this.hasComposition&&RM(h)){let S=document.createTextNode("");this.view.observer.ignore(()=>h.node.insertBefore(S,h.node.childNodes[h.offset]||null)),h=p=new li(S,0),o=!0}let g=this.view.observer.selectionRange;(o||!g.focusNode||(!PO(h.node,h.offset,g.anchorNode,g.anchorOffset)||!PO(p.node,p.offset,g.focusNode,g.focusOffset))&&!this.suppressWidgetCursorChange(g,f))&&(this.view.observer.ignore(()=>{_e.android&&_e.chrome&&this.dom.contains(g.focusNode)&&XM(g.focusNode,this.dom)&&(this.dom.blur(),this.dom.focus({preventScroll:!0}));let S=qO(this.view.root);if(S)if(f.empty){if(_e.gecko){let v=$M(h.node,h.offset);if(v&&v!=3){let Q=(v==1?pP:gP)(h.node,h.offset);Q&&(h=new li(Q.node,Q.offset))}}S.collapse(h.node,h.offset),f.bidiLevel!=null&&S.caretBidiLevel!==void 0&&(S.caretBidiLevel=f.bidiLevel)}else if(S.extend){S.collapse(h.node,h.offset);try{S.extend(p.node,p.offset)}catch{}}else{let v=document.createRange();f.anchor>f.head&&([h,p]=[p,h]),v.setEnd(p.node,p.offset),v.setStart(h.node,h.offset),S.removeAllRanges(),S.addRange(v)}s&&this.view.root.activeElement==this.dom&&(this.dom.blur(),i&&i.focus())}),this.view.observer.setSelectionRange(h,p)),this.impreciseAnchor=h.precise?null:new li(g.anchorNode,g.anchorOffset),this.impreciseHead=p.precise?null:new li(g.focusNode,g.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&PO(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=qO(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let o=Sn.find(this,t.head);if(!o)return;let f=o.posAtStart;if(t.head==f||t.head==f+o.length)return;let h=this.coordsAt(t.head,-1),p=this.coordsAt(t.head,1);if(!h||!p||h.bottom>p.top)return;let g=this.domAtPos(t.head+t.assoc);i.collapse(g.node,g.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let S=e.observer.selectionRange;e.docView.posFromDOM(S.anchorNode,S.anchorOffset)!=t.from&&i.collapse(r,s)}moveToLine(e){let t=this.dom,i;if(e.node!=t)return e;for(let r=e.offset;!i&&r<t.childNodes.length;r++){let s=Et.get(t.childNodes[r]);s instanceof Sn&&(i=s.domAtPos(0))}for(let r=e.offset-1;!i&&r>=0;r--){let s=Et.get(t.childNodes[r]);s instanceof Sn&&(i=s.domAtPos(s.length))}return i?new li(i.node,i.offset,!0):e}nearest(e){for(let t=e;t;){let i=Et.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}posFromDOM(e,t){let i=this.nearest(e);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(e,t)+i.posAtStart}domAtPos(e){let{i:t,off:i}=this.childCursor().findPos(e,-1);for(;t<this.children.length-1;){let r=this.children[t];if(i<r.length||r instanceof Sn)break;t++,i=0}return this.children[t].domAtPos(i)}coordsAt(e,t){let i=null,r=0;for(let s=this.length,o=this.children.length-1;o>=0;o--){let f=this.children[o],h=s-f.breakAfter,p=h-f.length;if(h<e)break;if(p<=e&&(p<e||f.covers(-1))&&(h>e||f.covers(1))&&(!i||f instanceof Sn&&!(i instanceof Sn&&t>=0)))i=f,r=p;else if(i&&p==e&&h==e&&f instanceof qs&&Math.abs(t)<2){if(f.deco.startSide<0)break;o&&(i=null)}s=p}return i?i.coordsAt(e-r,t):null}coordsForChar(e){let{i:t,off:i}=this.childPos(e,1),r=this.children[t];if(!(r instanceof Sn))return null;for(;r.children.length;){let{i:f,off:h}=r.childPos(i,1);for(;;f++){if(f==r.children.length)return null;if((r=r.children[f]).length)break}i=h}if(!(r instanceof tl))return null;let s=Yn(r.text,i);if(s==i)return null;let o=Lu(r.dom,i,s).getClientRects();for(let f=0;f<o.length;f++){let h=o[f];if(f==o.length-1||h.top<h.bottom&&h.left<h.right)return h}return null}measureVisibleLineHeights(e){let t=[],{from:i,to:r}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,f=-1,h=this.view.textDirection==Nt.LTR;for(let p=0,g=0;g<this.children.length;g++){let S=this.children[g],v=p+S.length;if(v>r)break;if(p>=i){let Q=S.dom.getBoundingClientRect();if(t.push(Q.height),o){let k=S.dom.lastChild,C=k?Gf(k):[];if(C.length){let A=C[C.length-1],$=h?A.right-Q.left:Q.right-A.left;$>f&&(f=$,this.minWidth=s,this.minWidthFrom=p,this.minWidthTo=v)}}}p=v+S.breakAfter}return t}textDirectionAt(e){let{i:t}=this.childPos(e,1);return getComputedStyle(this.children[t].dom).direction=="rtl"?Nt.RTL:Nt.LTR}measureTextSize(){for(let s of this.children)if(s instanceof Sn){let o=s.measureTextSize();if(o)return o}let e=document.createElement("div"),t,i,r;return e.className="cm-line",e.style.width="99999px",e.style.position="absolute",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);let s=Gf(e.firstChild)[0];t=e.getBoundingClientRect().height,i=s?s.width/27:7,r=s?s.height:t,e.remove()}),{lineHeight:t,charWidth:i,textHeight:r}}childCursor(e=this.length){let t=this.children.length;return t&&(e-=this.children[--t].length),new mP(this.children,e,t)}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.length;if(o>i){let f=(t.lineBlockAt(o).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(Xe.replace({widget:new Ib(f),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!s)break;i=s.to+1}return Xe.set(e)}updateDeco(){let e=1,t=this.view.state.facet(zO).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(LP).map((s,o)=>{let f=typeof s=="function";return f&&(i=!0),f?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=i,t.push(gt.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;return this.decorations}scrollIntoView(e){if(e.isSnapshot){let p=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=p.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let p of this.view.state.facet(zP))try{if(p(this.view,e.range,e))return!0}catch(g){Ui(this.view.state,g,"scroll handler")}let{range:t}=e,i=this.coordsAt(t.head,t.empty?t.assoc:t.head>t.anchor?-1:1),r;if(!i)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=Fv(this.view),o={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:f,offsetHeight:h}=this.view.scrollDOM;oM(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,f),-f),Math.max(Math.min(e.yMargin,h),-h),this.view.textDirection==Nt.LTR)}}function RM(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function UP(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let i=pP(t.focusNode,t.focusOffset),r=gP(t.focusNode,t.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let f=Et.get(r.node);if(!f||f instanceof tl&&f.text!=r.node.nodeValue)s=r;else if(n.docView.lastCompositionAfterCursor){let h=Et.get(i.node);!h||h instanceof tl&&h.text!=i.node.nodeValue||(s=r)}}if(n.docView.lastCompositionAfterCursor=s!=i,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function AM(n,e,t){let i=UP(n,t);if(!i)return null;let{node:r,from:s,to:o}=i,f=r.nodeValue;if(/[\n\r]/.test(f)||n.state.doc.sliceString(i.from,i.to)!=f)return null;let h=e.invertedDesc,p=new Rr(h.mapPos(s),h.mapPos(o),s,o),g=[];for(let S=r.parentNode;;S=S.parentNode){let v=Et.get(S);if(v instanceof Vs)g.push({node:S,deco:v.mark});else{if(v instanceof Sn||S.nodeName=="DIV"&&S.parentNode==n.contentDOM)return{range:p,text:r,marks:g,line:S};if(S!=n.contentDOM)g.push({node:S,deco:new ip({inclusive:!0,attributes:yM(S),tagName:S.tagName.toLowerCase()})});else return null}}}function $M(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}let MM=class{constructor(){this.changes=[]}compareRange(e,t){x0(e,t,this.changes)}comparePoint(e,t){x0(e,t,this.changes)}boundChange(e){x0(e,e,this.changes)}};function EM(n,e,t){let i=new MM;return gt.compare(n,e,t,i),i.changes}function XM(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function ZM(n,e){let t=!1;return e&&n.iterChangedRanges((i,r)=>{i<e.to&&r>e.from&&(t=!0)}),t}function DM(n,e,t=1){let i=n.charCategorizer(e),r=n.doc.lineAt(e),s=e-r.from;if(r.length==0)return ue.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,f=s;t<0?o=Yn(r.text,s,!1):f=Yn(r.text,s);let h=i(r.text.slice(o,f));for(;o>0;){let p=Yn(r.text,o,!1);if(i(r.text.slice(p,o))!=h)break;o=p}for(;f<r.length;){let p=Yn(r.text,f);if(i(r.text.slice(f,p))!=h)break;f=p}return ue.range(o+r.from,f+r.from)}function qM(n,e){return e.left>n?e.left-n:Math.max(0,n-e.right)}function zM(n,e){return e.top>n?e.top-n:Math.max(0,n-e.bottom)}function yS(n,e){return n.top<e.bottom-1&&n.bottom>e.top+1}function DQ(n,e){return e<n.top?{top:e,left:n.left,right:n.right,bottom:n.bottom}:n}function qQ(n,e){return e>n.bottom?{top:n.top,left:n.left,right:n.right,bottom:e}:n}function tv(n,e,t){let i,r,s,o,f=!1,h,p,g,S;for(let k=n.firstChild;k;k=k.nextSibling){let C=Gf(k);for(let A=0;A<C.length;A++){let $=C[A];r&&yS(r,$)&&($=DQ(qQ($,r.bottom),r.top));let z=qM(e,$),D=zM(t,$);if(z==0&&D==0)return k.nodeType==3?zQ(k,e,t):tv(k,e,t);if(!i||o>D||o==D&&s>z){i=k,r=$,s=z,o=D;let Y=D?t<$.top?-1:1:z?e<$.left?-1:1:0;f=!Y||(Y>0?A<C.length-1:A>0)}z==0?t>$.bottom&&(!g||g.bottom<$.bottom)?(h=k,g=$):t<$.top&&(!S||S.top>$.top)&&(p=k,S=$):g&&yS(g,$)?g=qQ(g,$.bottom):S&&yS(S,$)&&(S=DQ(S,$.top))}}if(g&&g.bottom>=t?(i=h,r=g):S&&S.top<=t&&(i=p,r=S),!i)return{node:n,offset:0};let v=Math.max(r.left,Math.min(r.right,e));if(i.nodeType==3)return zQ(i,v,t);if(f&&i.contentEditable!="false")return tv(i,v,t);let Q=Array.prototype.indexOf.call(n.childNodes,i)+(e>=(r.left+r.right)/2?1:0);return{node:n,offset:Q}}function zQ(n,e,t){let i=n.nodeValue.length,r=-1,s=1e9,o=0;for(let f=0;f<i;f++){let h=Lu(n,f,f+1).getClientRects();for(let p=0;p<h.length;p++){let g=h[p];if(g.top==g.bottom)continue;o||(o=e-g.left);let S=(g.top>t?g.top-t:t-g.bottom)-1;if(g.left-1<=e&&g.right+1>=e&&S<s){let v=e>=(g.left+g.right)/2,Q=v;if((_e.chrome||_e.gecko)&&Lu(n,f).getBoundingClientRect().left==g.right&&(Q=!v),S<=0)return{node:n,offset:f+(Q?1:0)};r=f+(Q?1:0),s=S}}}return{node:n,offset:r>-1?r:o>0?n.nodeValue.length:0}}function GP(n,e,t,i=-1){var r,s;let o=n.contentDOM.getBoundingClientRect(),f=o.top+n.viewState.paddingTop,h,{docHeight:p}=n.viewState,{x:g,y:S}=e,v=S-f;if(v<0)return 0;if(v>p)return n.state.doc.length;for(let Y=n.viewState.heightOracle.textHeight/2,q=!1;h=n.elementAtHeight(v),h.type!=Qi.Text;)for(;v=i>0?h.bottom+Y:h.top-Y,!(v>=0&&v<=p);){if(q)return t?null:0;q=!0,i=-i}S=f+v;let Q=h.from;if(Q<n.viewport.from)return n.viewport.from==0?0:t?null:BQ(n,o,h,g,S);if(Q>n.viewport.to)return n.viewport.to==n.state.doc.length?n.state.doc.length:t?null:BQ(n,o,h,g,S);let k=n.dom.ownerDocument,C=n.root.elementFromPoint?n.root:k,A=C.elementFromPoint(g,S);A&&!n.contentDOM.contains(A)&&(A=null),A||(g=Math.max(o.left+1,Math.min(o.right-1,g)),A=C.elementFromPoint(g,S),A&&!n.contentDOM.contains(A)&&(A=null));let $,z=-1;if(A&&((r=n.docView.nearest(A))===null||r===void 0?void 0:r.isEditable)!=!1){if(k.caretPositionFromPoint){let Y=k.caretPositionFromPoint(g,S);Y&&({offsetNode:$,offset:z}=Y)}else if(k.caretRangeFromPoint){let Y=k.caretRangeFromPoint(g,S);Y&&({startContainer:$,startOffset:z}=Y,(!n.contentDOM.contains($)||_e.safari&&BM($,z,g)||_e.chrome&&YM($,z,g))&&($=void 0))}$&&(z=Math.min(Jl($),z))}if(!$||!n.docView.dom.contains($)){let Y=Sn.find(n.docView,Q);if(!Y)return v>h.top+h.height/2?h.to:h.from;({node:$,offset:z}=tv(Y.dom,g,S))}let D=n.docView.nearest($);if(!D)return null;if(D.isWidget&&((s=D.dom)===null||s===void 0?void 0:s.nodeType)==1){let Y=D.dom.getBoundingClientRect();return e.y<Y.top||e.y<=Y.bottom&&e.x<=(Y.left+Y.right)/2?D.posAtStart:D.posAtEnd}else return D.localPosFromDOM($,z)+D.posAtStart}function BQ(n,e,t,i,r){let s=Math.round((i-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let f=n.viewState.heightOracle.textHeight,h=Math.floor((r-t.top-(n.defaultLineHeight-f)*.5)/f);s+=h*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+Yb(o,s,n.state.tabSize)}function BM(n,e,t){let i;if(n.nodeType!=3||e!=(i=n.nodeValue.length))return!1;for(let r=n.nextSibling;r;r=r.nextSibling)if(r.nodeType!=1||r.nodeName!="BR")return!1;return Lu(n,i-1,i).getBoundingClientRect().left>t}function YM(n,e,t){if(e!=0)return!1;for(let r=n;;){let s=r.parentNode;if(!s||s.nodeType!=1||s.firstChild!=r)return!1;if(s.classList.contains("cm-line"))break;r=s}let i=n.nodeType==1?n.getBoundingClientRect():Lu(n,0,Math.max(n.nodeValue.length,1)).getBoundingClientRect();return t-i.left>5}function nv(n,e,t){let i=n.lineBlockAt(e);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!r||s.type==Qi.Text&&(r.type!=s.type||(t<0?s.from<e:s.to>e)))&&(r=s)}}return r||i}return i}function LM(n,e,t,i){let r=nv(n,e.head,e.assoc||-1),s=!i||r.type!=Qi.Text||!(n.lineWrapping||r.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let o=n.dom.getBoundingClientRect(),f=n.textDirectionAt(r.from),h=n.posAtCoords({x:t==(f==Nt.LTR)?o.right-1:o.left+1,y:(s.top+s.bottom)/2});if(h!=null)return ue.cursor(h,t?-1:1)}return ue.cursor(t?r.to:r.from,t?-1:1)}function YQ(n,e,t,i){let r=n.state.doc.lineAt(e.head),s=n.bidiSpans(r),o=n.textDirectionAt(r.from);for(let f=e,h=null;;){let p=PM(r,s,o,f,t),g=RP;if(!p){if(r.number==(t?n.state.doc.lines:1))return f;g=`

Callers 2

composeDescMethod · 0.85
composeMethod · 0.85

Calls 8

nextMethod · 0.95
textBitMethod · 0.95
forward2Method · 0.95
forwardMethod · 0.95
createSetMethod · 0.80
riFunction · 0.70
JaFunction · 0.70
createMethod · 0.45

Tested by

no test coverage detected