r-1)){for(let t=r-1,e=i.length-1;0<=e;e--,t--){var s=i[e];if(s&&s!=n[t])return}return 1}}(e.context,Ho,s)){for(var l of e.tags)(l=u(l,o))&&(t&&(t+=" "),t+=l,1==e.mode?r+=(r?" ":"")+l:0==e.mode&&(i=!0));break}e=e.next}if(t!=g&&(h>p&&g&&f(p,m.from,g),p=h,g=t),!i&&m.firstChild()){do{var c=m.to;n(r,s+1,o),g!=t&&((c=Math.min(d,c))>p&&g&&f(p,c,g),p=c,g=t)}while(m.nextSibling());m.parent()}}}("",0,t.type)}(this.tree,i,r,e,(t,e,i)=>{n.add(t,e,this.markCache[i]||(this.markCache[i]=Ne.mark({class:i})))});return n.finish()}},{decorations:t=>t.decorations})),Ho=[""];const Bo=xo.define;zs=Bo(),Gt=Bo(),ee=Bo(Gt),Rr=Bo(),Ut=Bo(Rr),te=Bo(Rr),Xt=Bo(),Kt=Bo(Xt),Es=Bo(),_s=Bo(),Qr=Bo(),Ps=Bo(Qr),Yt=Bo();const _o={comment:zs,lineComment:Bo(zs),blockComment:Bo(zs),docComment:Bo(zs),name:Gt,variableName:Bo(Gt),typeName:ee,tagName:Bo(ee),propertyName:Bo(Gt),className:Bo(Gt),labelName:Bo(Gt),namespace:Bo(Gt),macroName:Bo(Gt),literal:Rr,string:Ut,docString:Bo(Ut),character:Bo(Ut),number:te,integer:Bo(te),float:Bo(te),bool:Bo(Rr),regexp:Bo(Rr),escape:Bo(Rr),color:Bo(Rr),url:Bo(Rr),keyword:Es,self:Bo(Es),null:Bo(Es),atom:Bo(Es),unit:Bo(Es),modifier:Bo(Es),operatorKeyword:Bo(Es),controlKeyword:Bo(Es),definitionKeyword:Bo(Es),operator:_s,derefOperator:Bo(_s),arithmeticOperator:Bo(_s),logicOperator:Bo(_s),bitwiseOperator:Bo(_s),compareOperator:Bo(_s),updateOperator:Bo(_s),definitionOperator:Bo(_s),typeOperator:Bo(_s),controlOperator:Bo(_s),punctuation:Qr,separator:Bo(Qr),bracket:Ps,angleBracket:Bo(Ps),squareBracket:Bo(Ps),paren:Bo(Ps),brace:Bo(Ps),content:Xt,heading:Kt,heading1:Bo(Kt),heading2:Bo(Kt),heading3:Bo(Kt),heading4:Bo(Kt),heading5:Bo(Kt),heading6:Bo(Kt),contentSeparator:Bo(Xt),list:Bo(Xt),quote:Bo(Xt),emphasis:Bo(Xt),strong:Bo(Xt),link:Bo(Xt),monospace:Bo(Xt),inserted:Bo(),deleted:Bo(),changed:Bo(),invalid:Bo(),meta:Yt,documentMeta:Bo(Yt),annotation:Bo(Yt),processingInstruction:Bo(Yt),definition:xo.defineModifier(),constant:xo.defineModifier(),function:xo.defineModifier(),standard:xo.defineModifier(),local:xo.defineModifier(),special:xo.defineModifier()};Oo.define([{tag:_o.link,textDecoration:"underline"},{tag:_o.heading,textDecoration:"underline",fontWeight:"bold"},{tag:_o.emphasis,fontStyle:"italic"},{tag:_o.strong,fontWeight:"bold"},{tag:_o.keyword,color:"#708"},{tag:[_o.atom,_o.bool,_o.url,_o.contentSeparator,_o.labelName],color:"#219"},{tag:[_o.literal,_o.inserted],color:"#164"},{tag:[_o.string,_o.deleted],color:"#a11"},{tag:[_o.regexp,_o.escape,_o.special(_o.string)],color:"#e40"},{tag:_o.definition(_o.variableName),color:"#00f"},{tag:_o.local(_o.variableName),color:"#30a"},{tag:[_o.typeName,_o.namespace],color:"#085"},{tag:_o.className,color:"#167"},{tag:[_o.special(_o.variableName),_o.macroName],color:"#256"},{tag:_o.definition(_o.propertyName),color:"#00c"},{tag:_o.comment,color:"#940"},{tag:_o.meta,color:"#7a757a"},{tag:_o.invalid,color:"#f00"}]);const Eo=Oo.define([{tag:_o.link,class:"cmt-link"},{tag:_o.heading,class:"cmt-heading"},{tag:_o.emphasis,class:"cmt-emphasis"},{tag:_o.strong,class:"cmt-strong"},{tag:_o.keyword,class:"cmt-keyword"},{tag:_o.atom,class:"cmt-atom"},{tag:_o.bool,class:"cmt-bool"},{tag:_o.url,class:"cmt-url"},{tag:_o.labelName,class:"cmt-labelName"},{tag:_o.inserted,class:"cmt-inserted"},{tag:_o.deleted,class:"cmt-deleted"},{tag:_o.literal,class:"cmt-literal"},{tag:_o.string,class:"cmt-string"},{tag:_o.number,class:"cmt-number"},{tag:[_o.regexp,_o.escape,_o.special(_o.string)],class:"cmt-string2"},{tag:_o.variableName,class:"cmt-variableName"},{tag:_o.local(_o.variableName),class:"cmt-variableName cmt-local"},{tag:_o.definition(_o.variableName),class:"cmt-variableName cmt-definition"},{tag:_o.special(_o.variableName),class:"cmt-variableName2"},{tag:_o.typeName,class:"cmt-typeName"},{tag:_o.namespace,class:"cmt-namespace"},{tag:_o.macroName,class:"cmt-macroName"},{tag:_o.propertyName,class:"cmt-propertyName"},{tag:_o.operator,class:"cmt-operator"},{tag:_o.comment,class:"cmt-comment"},{tag:_o.meta,class:"cmt-meta"},{tag:_o.invalid,class:"cmt-invalid"},{tag:_o.punctuation,class:"cmt-punctuation"}]);var $o=[{type:"undo",title:"撤销",innerHTML:''},{type:"redo",title:"重做",innerHTML:''},{type:"bold",title:"加粗",innerHTML:''},{type:"italic",title:"倾斜",innerHTML:''},{type:"delete",title:"删除",innerHTML:''},{type:"code-inline",title:"行内代码",innerHTML:''},{type:"hr",title:"横线",innerHTML:''},{type:"quote",title:"引用",innerHTML:''},{type:"title",title:"标题",innerHTML:''},{type:"ordered-list",title:"有序列表",innerHTML:''},{type:"unordered-list",title:"无序列表",innerHTML:''},{type:"link",title:"超链接",innerHTML:''},{type:"image",title:"插入图片",innerHTML:''},{type:"table",title:"表格",innerHTML:''},{type:"code-block",title:"代码块",innerHTML:''},{type:"html",title:"原生HTML",innerHTML:''},{type:"time",title:"当前时间",innerHTML:''},{type:"indent",title:"缩进",innerHTML:''},{type:"character",title:"实体符号",innerHTML:''},{type:"emoji",title:"符号表情",innerHTML:''},{type:"expression",title:"图片表情",innerHTML:''},{type:"task-no",title:"任务 - 未完成",innerHTML:''},{type:"task-yes",title:"任务 - 已完成",innerHTML:''},{type:"mtitle",title:"居中标题",innerHTML:''},{type:"dplayer",title:"M3U8/MP4视频",innerHTML:''},{type:"bilibili",title:"哔哩哔哩视频",innerHTML:''},{type:"netease-list",title:"网易云列表",innerHTML:''},{type:"netease-single",title:"网易云单首",innerHTML:''},{type:"abtn",title:"多彩按钮",innerHTML:''},{type:"anote",title:"便条按钮",innerHTML:''},{type:"dotted",title:"彩色虚线",innerHTML:''},{type:"hide",title:"回复可见",innerHTML:''},{type:"card-default",title:"默认卡片",innerHTML:''},{type:"message",title:"消息提示",innerHTML:''},{type:"clean",title:"清屏",innerHTML:''},{type:"download",title:"下载",innerHTML:''},{type:"fullScreen",title:"全屏/取消全屏",innerHTML:''},{type:"draft",title:"保存草稿",innerHTML:''},{type:"publish",title:"发布文章",innerHTML:''},{type:"about",title:"关于",innerHTML:''}];const Po=new HyperDown,zo=window.JoeConfig.playerAPI;function No(t){t=t.replace(/ /g," "),t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=Po.makeHtml(t)).replace(/{x}/g,'')).replace(/{ }/g,'')).replace(/\:\:\(\s*(呵呵|哈哈|吐舌|太开心|笑眼|花心|小乖|乖|捂嘴笑|滑稽|你懂的|不高兴|怒|汗|黑线|泪|真棒|喷|惊哭|阴险|鄙视|酷|啊|狂汗|what|疑问|酸爽|呀咩爹|委屈|惊讶|睡觉|笑尿|挖鼻|吐|犀利|小红脸|懒得理|勉强|爱心|心碎|玫瑰|礼物|彩虹|太阳|星星月亮|钱币|茶杯|蛋糕|大拇指|胜利|haha|OK|沙发|手纸|香蕉|便便|药丸|红领巾|蜡烛|音乐|灯泡|开心|钱|咦|呼|冷|生气|弱|吐血|狗头)\s*\)/g,function(t,e){return e=encodeURI(e).replace(/%/g,""),``})).replace(/\:\@\(\s*(高兴|小怒|脸红|内伤|装大款|赞一个|害羞|汗|吐血倒地|深思|不高兴|无语|亲亲|口水|尴尬|中指|想一想|哭泣|便便|献花|皱眉|傻笑|狂汗|吐|喷水|看不见|鼓掌|阴暗|长草|献黄瓜|邪恶|期待|得意|吐舌|喷血|无所谓|观察|暗地观察|肿包|中枪|大囧|呲牙|抠鼻|不说话|咽气|欢呼|锁眉|蜡烛|坐等|击掌|惊喜|喜极而泣|抽烟|不出所料|愤怒|无奈|黑线|投降|看热闹|扇耳光|小眼睛|中刀)\s*\)/g,function(t,e){return e=encodeURI(e).replace(/%/g,""),``})).replace(/{mtitle([^}]*)\/}/g,"")).replace(/{dplayer([^}]*)\/}/g,'')).replace(/{bilibili([^}]*)\/}/g,"")).replace(/{music-list([^}]*)\/}/g,"")).replace(/{music([^}]*)\/}/g,"")).replace(/{abtn([^}]*)\/}/g,"")).replace(/{anote([^}]*)\/}/g,"")).replace(/{dotted([^}]*)\/}/g,"")).replace(/{message([^}]*)\/}/g,"")).replace(/{hide[^}]*}(.*?){\/hide}/g,"")).replace(/{card-default([^}]*)}(.*?){\/card-default}/g,'');const e=document.createElement("div");e.innerHTML=t,e.innerHTML=e.innerHTML.replace(/<\/p>/g,"");t=e.innerHTML;$(".cm-preview-content").html(t),$(".cm-preview-content pre code").each((t,e)=>Prism.highlightElement(e))}class Ro extends class{constructor(){$("body").append(`
+!function(){"use strict";let r="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(t=>t?parseInt(t,36):1);for(let t=1;te)return r[t-1]<=e}(e))n+=d(e),t=e;else{if(!s(e))break;{let t=0,e=n-2;for(;0<=e&&s(c(i,e));)t++,e-=2;if(t%2==0)break;n+=2}}}return n}function a(t,e){for(;0this.length)throw new RangeError(`Invalid position ${t} in document of length ${this.length}`);return this.lineInner(t,!1,1,0)}line(t){if(t<1||t>this.lines)throw new RangeError(`Invalid line number ${t} in ${this.lines}-line document`);return this.lineInner(t,!0,1,0)}replace(t,e,i){var n=[];return this.decompose(0,t,n,2),i.length&&i.decompose(0,i.length,n,3),this.decompose(e,this.length,n,1),m.from(n,this.length-(e-t)+i.length)}append(t){return this.replace(this.length,this.length,t)}slice(t,e=this.length){var i=[];return this.decompose(t,e,i,0),m.from(i,e-t)}eq(t){if(t==this)return!0;if(t.length!=this.length||t.lines!=this.lines)return!1;let e=new v(this),i=new v(t);for(;;){if(e.next(),i.next(),e.lineBreak!=i.lineBreak||e.done!=i.done||e.value!=i.value)return!1;if(e.done)return!0}}iter(t=1){return new v(this,t)}iterRange(t,e=this.length){return new i(this,t,e)}toString(){return this.sliceString(0)}toJSON(){var t=[];return this.flatten(t),t}static of(t){if(0==t.length)throw new RangeError("A document must have at least one line");return 1!=t.length||t[0]?t.length<=32?new g(t):m.from(g.split(t,[])):u.empty}}"undefined"!=typeof Symbol&&(u.prototype[Symbol.iterator]=function(){return this.iter()});class g extends u{constructor(t,e=function(t){let e=-1;for(var i of t)e+=i.length+1;return e}(t)){super(),this.text=t,this.length=e}get lines(){return this.text.length}get children(){return null}lineInner(e,i,n,r){for(let t=0;;t++){var s=this.text[t],o=r+s.length;if(e<=(i?n:o))return new w(r,o,n,s);r=o+1,n++}}decompose(i,t,n,r){i=i<=0&&t>=this.length?this:new g(p(this.text,i,t),Math.min(t,this.length)-Math.max(0,i));if(1&r){let t=n.pop(),e=f(i.text,t.text.slice(),0,i.length);e.length<=32?n.push(new g(e,t.length+i.length)):(r=e.length>>1,n.push(new g(e.slice(0,r)),new g(e.slice(r))))}else n.push(i)}replace(t,e,i){if(!(i instanceof g))return super.replace(t,e,i);var n=f(this.text,f(i.text,p(this.text,0,t)),e),t=this.length+i.length-(e-t);return n.length<=32?new g(n,t):m.from(g.split(n,[]),t)}sliceString(r,s=this.length,o="\n"){let a="";for(let i=0,n=0;i<=s&&nr&&n&&(a+=o),ri&&(a+=t.slice(Math.max(0,r-i),s-i)),i=e+1}return a}flatten(t){for(var e of this.text)t.push(e)}static split(t,e){let i=[],n=-1;for(var r of t)i.push(r),n+=r.length+1,32==i.length&&(e.push(new g(i,n)),i=[],n=-1);return-1=n&&(h=a&((n<=r?1:0)|(s<=e?2:0)),n>=r&&e<=s&&!h?o.push(t):t.decompose(r-n,s-n,o,h)),n=e+1}}replace(r,s,o){if(o.lines=n&&s<=e){var a=t.replace(r-n,s-n,o),h=this.lines-t.lines+a.lines;if(a.lines>4&&a.lines>h>>6){let t=this.children.slice();return t[i]=a,new m(t,this.length-(s-r)+o.length)}return super.replace(n,e,a)}n=e+1}return super.replace(r,s,o)}sliceString(r,s=this.length,o="\n"){let a="";for(let i=0,n=0;ir&&i&&(a+=o),rn&&(a+=t.sliceString(r-n,s-n,o)),n=e+1}return a}flatten(t){for(var e of this.children)e.flatten(t)}static from(t,e=t.reduce((t,e)=>t+e.length+1,-1)){let i=0;for(var n of t)i+=n.lines;if(i<32){var r,s=[];for(r of t)r.flatten(s);return new g(s,e)}let o=Math.max(32,i>>5),a=o<<1,h=o>>1,l=[],c=0,d=-1,u=[];function f(){0!=c&&(l.push(1==u.length?u[0]:m.from(u,d)),d=-1,c=u.length=0)}for(var p of t)!function t(e){let i;if(e.lines>a&&e instanceof m)for(var n of e.children)t(n);else e.lines>h&&(c>h||!c)?(f(),l.push(e)):e instanceof g&&c&&(i=u[u.length-1])instanceof g&&e.lines+i.lines<=32?(c+=e.lines,d+=e.length+1,u[u.length-1]=new g(i.text.concat(e.text),i.length+1+e.length)):(c+e.lines>o&&f(),c+=e.lines,d+=e.length+1,u.push(e))}(p);return f(),1==l.length?l[0]:new m(l,e)}}function f(s,o,a=0,h=1e9){for(let i=0,n=0,r=!0;nMath.max(0,n))return this.value=0==n?t:0t.length?n-=t.length:(this.nodes.push(t),this.offsets.push(0this.limit&&(this.value=0r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(i,n=i){for(let t=0,e=0;t"number"!=typeof t))throw new RangeError("Invalid JSON representation of ChangeDesc");return new x(t)}}class k extends x{constructor(t,e){super(t),this.inserted=e}apply(s){if(this.length!=s.length)throw new RangeError("Applying change set to a document with the wrong length");return T(this,(t,e,i,n,r)=>s=s.replace(i,i+(e-t),r),!1),s}mapDesc(t,e=!1){return D(this,t,e,!0)}invert(i){let n=this.sections.slice(),r=[];for(let t=0,e=0;t>1;r.length>1].toJSON()))}return n}static of(t,s,o){let a=[],h=[],l=0,i=null;function c(t=!1){if(t||a.length){ll&&M(a,t-l,-1),M(a,e-t,n),C(h,a,r),l=e)}}(t),c(!i),i}static empty(t){return new k(t?[t,-1]:[],[])}static fromJSON(i){if(!Array.isArray(i))throw new RangeError("Invalid JSON representation of ChangeSet");let n=[],r=[];for(let e=0;ee&&"string"!=typeof t))throw new RangeError("Invalid JSON representation of ChangeSet");if(1==t.length)n.push(t[0],0);else{for(;r.length>1;if(n>1])),!(c||a==h.sections.length||h.sections[a+1]<0);)n=h.sections[a++],r=h.sections[a++];l(s,t,o,e,i),s=t,o=e}}}function D(t,e,r,i=!1){var s=[],o=i?[]:null;let a=new O(t),h=new O(e);for(let i=0,n=0;;)if(-1==a.ins)i+=a.len,a.next();else if(-1==h.ins&&nn&&!a.done&&i+a.leni&&n+h.lenh||0<=o.ins&&o.len>h)&&(t||l>1;return e>=t.length?u.empty:t[e]}textBit(t){let{inserted:e}=this.set,i=this.i-2>>1;return i>=e.length&&!t?u.empty:e[i].slice(this.off,null==t?void 0:this.off+t)}forward(t){t==this.len?this.next():(this.len-=t,this.off+=t)}forward2(t){-1==this.ins?this.forward(t):t==this.ins?this.next():(this.ins-=t,this.off+=t)}}class L{constructor(t,e,i){this.from=t,this.to=e,this.flags=i}get anchor(){return 16&this.flags?this.to:this.from}get head(){return 16&this.flags?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return 4&this.flags?-1:8&this.flags?1:0}get bidiLevel(){var t=3&this.flags;return 3==t?null:t}get goalColumn(){var t=this.flags>>5;return 33554431==t?void 0:t}map(t,e=-1){var i=t.mapPos(this.from,e),e=t.mapPos(this.to,e);return i==this.from&&e==this.to?this:new L(i,e,this.flags)}extend(t,e=t){if(t<=this.anchor&&e>=this.anchor)return H.range(t,e);e=Math.abs(t-this.anchor)>Math.abs(e-this.anchor)?t:e;return H.range(this.anchor,e)}eq(t){return this.anchor==t.anchor&&this.head==t.head}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(t){if(!t||"number"!=typeof t.anchor||"number"!=typeof t.head)throw new RangeError("Invalid JSON representation for SelectionRange");return H.range(t.anchor,t.head)}}class H{constructor(t,e=0){this.ranges=t,this.mainIndex=e}map(e,i=-1){return e.empty?this:H.create(this.ranges.map(t=>t.map(e,i)),this.mainIndex)}eq(e){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let t=0;tt.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||"number"!=typeof t.main||t.main>=t.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new H(t.ranges.map(t=>L.fromJSON(t)),t.main)}static single(t,e=t){return new H([H.range(t,e)],0)}static create(i,n=0){if(0==i.length)throw new RangeError("A selection needs at least one range");for(let t=0,e=0;et.from-e.from),i=e.indexOf(t);for(let t=1;tr.head?H.range(s,n):H.range(n,s)))}return new H(e,i)}(i.slice(),n);t=r.to}return new H(i,n)}static cursor(t,e=0,i,n){return new L(t,t,(0==e?0:e<0?4:8)|(null==i?3:Math.min(2,i))|(null!=n?n:33554431)<<5)}static range(t,e,i){i=(null!=i?i:33554431)<<5;return ee)throw new RangeError("Selection points outside of document")}let _=0;class E{constructor(t,e,i,n,r){this.combine=t,this.compareInput=e,this.compare=i,this.isStatic=n,this.extensions=r,this.id=_++,this.default=t([])}static define(t={}){return new E(t.combine||(t=>t),t.compareInput||((t,e)=>t===e),t.compare||(t.combine?(t,e)=>t===e:P),!!t.static,t.enables)}of(t){return new z([],this,0,t)}compute(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new z(t,this,1,e)}computeN(t,e){if(this.isStatic)throw new Error("Can't compute a static facet");return new z(t,this,2,e)}from(e,i){return i=i||(t=>t),this.compute([e],t=>i(t.field(e)))}}function P(t,i){return t==i||t.length==i.length&&t.every((t,e)=>t===i[e])}class z{constructor(t,e,i,n){this.dependencies=t,this.facet=e,this.type=i,this.value=n,this.id=_++}dynamicSlot(t){var e,i;let n=this.value,r=this.facet.compareInput,s=t[this.id]>>1,o=2==this.type,a=!1,h=!1,l=[];for(i of this.dependencies)"doc"==i?a=!0:"selection"==i?h=!0:0==(1&(null!==(e=t[i.id])&&void 0!==e?e:1))&&l.push(t[i.id]);return(e,t)=>{if(!t||t.reconfigured)return e.values[s]=n(e),1;if(!(a&&t.docChanged||h&&(t.docChanged||t.selection)||l.some(t=>0<(1&J(e,t)))))return 0;var i=n(e),t=t.startState.values[s];return(o?function(e,i,n){if(e.length!=i.length)return!1;for(let t=0;tt===e),t);return t.provide&&(e.provides=t.provide(e)),e}create(t){let e=t.facet(N).find(t=>t.field==this);return((null===e||void 0===e?void 0:e.create)||this.createF)(t)}slot(t){let o=t[this.id]>>1;return(t,e)=>{if(!e)return t.values[o]=this.create(t),1;let i,n=0;var r,s;e.reconfigured?(r=e.startState,s=this.id,s=null==(s=r.config.address[s])?null:s>>1,i=null==s?this.create(e.startState):e.startState.values[s],n=1):i=e.startState.values[o];e=this.updateF(i,e);return n||this.compareF(i,e)||(n=1),n&&(t.values[o]=e),n}}init(t){return[this,N.of({field:this,create:t})]}get extension(){return this}}const V={fallback:3,default:2,extend:1,override:0};function t(e){return t=>new j(t,e)}const I={fallback:t(V.fallback),default:t(V.default),extend:t(V.extend),override:t(V.override)};class j{constructor(t,e){this.inner=t,this.prec=e}}class W{of(t){return new q(this,t)}reconfigure(t){return W.reconfigure.of({compartment:this,extension:t})}get(t){return t.config.compartments.get(this)}}class q{constructor(t,e){this.compartment=t,this.inner=e}}class F{constructor(t,e,i,n,r){for(this.base=t,this.compartments=e,this.dynamicSlots=i,this.address=n,this.staticValues=r,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(t,e,n){let i=[],r=Object.create(null);var s,o,a=new Map;for(s of function(t,a,h){let l=[[],[],[],[]],c=new Map;return function t(e,i){var n=c.get(e);if(null!=n){if(i<=n)return;var r=l[n].indexOf(e);-1t.concat(e))}(t,e,a))(s instanceof R?i:r[s.facet.id]||(r[s.facet.id]=[])).push(s);let h=Object.create(null),l=[],c=[];for(let e of i)h[e.id]=c.length<<1,c.push(t=>e.slot(t));for(o in r){let i=r[o],e=i[0].facet;if(i.every(t=>0==t.type)){h[e.id]=l.length<<1|1;let t=e.combine(i.map(t=>t.value));var d=n?n.config.address[e.id]:null;null!=d&&(d=U(n,d),e.compare(t,d)&&(t=d)),l.push(t)}else{for(let e of i)0==e.type?(h[e.id]=l.length<<1|1,l.push(e.value)):(h[e.id]=c.length<<1,c.push(t=>e.dynamicSlot(t)));h[e.id]=c.length<<1,c.push(t=>function(e,l,t){let c=t.map(t=>e[t.id]),d=t.map(t=>t.type),u=c.filter(t=>!(1&t)),f=e[l.id]>>1;return(e,t)=>{var i,n=t?t.reconfigured?t.startState.config.address[l.id]:f<<1:null;let r=null==n;for(i of u)1&J(e,i)&&(r=!0);if(!r)return 0;let s=[];for(let t=0;tt(h)),h,l)}}function J(t,e){if(1&e)return 2;var i=e>>1,e=t.status[i];if(4==e)throw new Error("Cyclic dependency between fields and/or facets");if(2&e)return e;t.status[i]=4;e=t.config.dynamicSlots[i](t,t.applying);return t.status[i]=2|e}function U(t,e){return(1&e?t.config.staticValues:t.values)[e>>1]}const K=E.define(),G=E.define({combine:t=>t.some(t=>t),static:!0}),X=E.define({combine:t=>t.length?t[0]:void 0,static:!0}),Y=E.define(),Q=E.define(),Z=E.define();class tt{constructor(t,e){this.type=t,this.value=e}static define(){return new et}}class et{of(t){return new tt(this,t)}}class it{constructor(t){this.map=t}of(t){return new nt(this,t)}}class nt{constructor(t,e){this.type=t,this.value=e}map(t){t=this.type.map(this.value,t);return void 0===t?void 0:t==this.value?this:new nt(this.type,t)}is(t){return this.type==t}static define(t={}){return new it(t.map||(t=>t))}static mapEffects(t,e){if(!t.length)return t;let i=[];for(var n of t){n=n.map(e);n&&i.push(n)}return i}}nt.reconfigure=nt.define(),nt.appendConfig=nt.define();class rt{constructor(t,e,i,n,r,s){this.startState=t,this.changes=e,this.selection=i,this.effects=n,this.annotations=r,this.scrollIntoView=s,this._doc=null,this._state=null,i&&B(i,e.newLength),r.some(t=>t.type==rt.time)||(this.annotations=r.concat(rt.time.of(Date.now())))}get newDoc(){return this._doc||(this._doc=this.changes.apply(this.startState.doc))}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(t){for(var e of this.annotations)if(e.type==t)return e.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}}function st(t,e,i){let n,r,s;return s=i?(n=e.changes,r=k.empty(e.changes.length),t.changes.compose(e.changes)):(n=e.changes.map(t.changes),r=t.changes.mapDesc(e.changes,!0),t.changes.compose(n)),{changes:s,selection:e.selection?e.selection.map(r):null===(i=t.selection)||void 0===i?void 0:i.map(n),effects:nt.mapEffects(t.effects,n).concat(nt.mapEffects(e.effects,r)),annotations:t.annotations.length?t.annotations.concat(e.annotations):e.annotations,scrollIntoView:t.scrollIntoView||e.scrollIntoView}}function ot(t,e,i){var n=e.selection;return{changes:e.changes instanceof k?e.changes:k.of(e.changes||[],i,t.facet(X)),selection:n&&(n instanceof H?n:H.single(n.anchor,n.head)),effects:lt(e.effects),annotations:lt(e.annotations),scrollIntoView:!!e.scrollIntoView}}function at(e,i,n){let r=ot(e,i.length?i[0]:{},e.doc.length);i.length&&!1===i[0].filter&&(n=!1);for(let t=1;t=r[i]))t=r[i++],e=r[i++];else{if(!(n{if(!/\S/.test(e))return ct.Space;if(function(i){if(ut)return ut.test(i);for(let e=0;enull),n)for(var r in t.address){var s=t.address[r],r=n.startState.config.address[r];null!=r&&0==(1&s)&&(this.values[s>>1]=U(n.startState,r))}(this.applying=n)&&(n._state=this);for(let t=0;tn.set(e,t)),e=null),n.set(r.value.compartment,r.value.extension)):r.is(nt.reconfigure)?(e=null,i=r.value):r.is(nt.appendConfig)&&(e=null,i=lt(i).concat(r.value));new pt(e||F.resolve(i,n,this),t.newDoc,t.newSelection,t)}replaceSelection(e){return"string"==typeof e&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:H.cursor(t.from+e.length)}))}changeByRange(r){var s=this.selection,t=r(s.ranges[0]);let o=this.changes(t.changes),a=[t.range],h=lt(t.effects);for(let n=1;ne.spec.fromJSON(i,t)))}return pt.create({doc:t.doc,selection:H.fromJSON(t.selection),extensions:e.extensions?r.concat([e.extensions]):r})}static create(t={}){let e=F.resolve(t.extensions||[],new Map);var i=t.doc instanceof u?t.doc:u.of((t.doc||"").split(e.staticFacet(pt.lineSeparator)||y));let n=t.selection?t.selection instanceof H?t.selection:H.single(t.selection.anchor,t.selection.head):H.single(0);return B(n,i.length),e.staticFacet(G)||(n=n.asSingle()),new pt(e,i,n)}get tabSize(){return this.facet(pt.tabSize)}get lineBreak(){return this.facet(pt.lineSeparator)||"\n"}phrase(t){for(var e of this.facet(pt.phrases))if(Object.prototype.hasOwnProperty.call(e,t))return e[t];return t}languageDataAt(t,e){let i=[];for(var n of this.facet(K))for(var r of n(this,e))Object.prototype.hasOwnProperty.call(r,t)&&i.push(r[t]);return i}charCategorizer(t){return ft(this.languageDataAt("wordChars",t).join(""))}wordAt(t){let{text:e,from:i,length:n}=this.doc.lineAt(t),r=this.charCategorizer(t),s=t-i,o=t-i;for(;0t.length?t[0]:4}),pt.lineSeparator=X,pt.phrases=E.define(),pt.languageData=K,pt.changeFilter=Y,pt.transactionFilter=Q,pt.transactionExtender=Z,W.reconfigure=nt.define();const mt="undefined"==typeof Symbol?"__ͼ":Symbol.for("ͼ"),vt="undefined"==typeof Symbol?"__styleSet"+Math.floor(1e8*Math.random()):Symbol("styleSet"),wt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:{};class yt{constructor(t,e){this.rules=[];let{finish:c}=e||{};function d(t){return/^@/.test(t)?[t]:t.split(/,\s*/)}for(var i in t)!function t(i,e,n,r){let s=[],o=/^@(\w+)\b/.exec(i[0]),a=o&&"keyframes"==o[1];if(o&&null==e)return n.push(i[0]+";");for(var h in e){var l=e[h];if(/&/.test(h))t(h.split(/,\s*/).map(e=>i.map(t=>e.replace(/&/,t))).reduce((t,e)=>t.concat(e)),l,n);else if(l&&"object"==typeof l){if(!o)throw new RangeError("The value of a property ("+h+") should be a primitive value.");t(d(h),l,s,a)}else null!=l&&s.push(h.replace(/_.*/,"").replace(/[A-Z]/g,t=>"-"+t.toLowerCase())+": "+l+";")}(s.length||a)&&n.push((!c||o||r?i:i.map(c)).join(", ")+" {"+s.join(" ")+"}")}(d(i),t[i],this.rules)}getRules(){return this.rules.join("\n")}static newName(){let t=wt[mt]||1;return wt[mt]=t+1,"ͼ"+t.toString(36)}static mount(t,e){(t[vt]||new xt(t)).mount(Array.isArray(e)?e:[e])}}let bt=null;class xt{constructor(e){if(!e.head&&e.adoptedStyleSheets&&"undefined"!=typeof CSSStyleSheet){if(bt)return e.adoptedStyleSheets=[bt.sheet].concat(e.adoptedStyleSheets),e[vt]=bt;this.sheet=new CSSStyleSheet,e.adoptedStyleSheets=[this.sheet].concat(e.adoptedStyleSheets),bt=this}else{this.styleTag=(e.ownerDocument||e).createElement("style");let t=e.head||e;t.insertBefore(this.styleTag,t.firstChild)}this.modules=[],e[vt]=this}mount(n){let r=this.sheet,s=0,o=0;for(let i=0;i>1,h=o[a]-i||(n<0?this.value[a].startSide:this.value[a].endSide)-r;if(a==t)return 0<=h?t:e;0<=h?e=a:t=1+a}}between(i,n,r,s){for(let t=this.findIndex(n,-1),e=this.findIndex(r,1,void 0,t);tr||n==r&&0this.chunkEnd(o.chunkIndex)||ro.to||r500<=t.maxPoint||t!=Ct.empty&&i.indexOf(t)<0&&t.maxPoint>=r),o=i.filter(t=>500<=t.maxPoint||t!=Ct.empty&&e.indexOf(t)<0&&t.maxPoint>=r),a=function(t,e){let i=new Map;for(var n of t)for(let t=0;tBt(h,t,l,e,i,n)),t.empty&&0==t.length&&Bt(h,0,l,0,0,n)}static spans(t,e,i,n,r=-1){let s=new Ht(t,null,r).goto(e),o=e,a=s.openStart;for(;;){var h=Math.min(s.to,i);if(s.point?(n.point(o,h,s.point,s.activeForPoint(s.to),a),a=s.openEnd(h)+(s.to>h?1:0)):h>o&&(n.span(o,h,s.active,a),a=s.openEnd(h)),s.to>i)break;o=s.to,s.next()}return a}static of(t,e=!1){let i=new Tt;for(var n of t instanceof St?[t]:e?t.slice().sort(At):t)i.add(n.from,n.to,n.value);return i.finish()}}Ct.empty=new Ct([],[],null,-1),Ct.empty.nextLayer=Ct.empty;class Tt{constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}finishChunk(t){this.chunks.push(new Mt(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,t&&(this.from=[],this.to=[],this.value=[])}add(t,e,i){this.addInner(t,e,i)||(this.nextLayer||(this.nextLayer=new Tt)).add(t,e,i)}addInner(t,e,i){var n=t-this.lastTo||i.startSide-this.last.endSide;if(n<=0&&(t-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return!(n<0)&&(250==this.from.length&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=t),this.from.push(t-this.chunkStart),this.to.push(e-this.chunkStart),this.last=i,this.lastFrom=t,this.lastTo=e,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,e-t)),!0)}addChunk(t,e){if((t-this.lastTo||e.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,e.maxPoint),this.chunks.push(e),this.chunkPos.push(t);var i=e.value.length-1;return this.last=e.value[i],this.lastFrom=e.from[i]+t,this.lastTo=e.to[i]+t,!0}finish(){return this.finishInner(Ct.empty)}finishInner(t){if(this.from.length&&this.finishChunk(!1),0==this.chunks.length)return t;t=new Ct(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(t):t,this.setMaxPoint);return this.from=null,t}}class Dt{constructor(t,e,i,n=0){this.layer=t,this.skip=e,this.minPoint=i,this.rank=n}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(t,e=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(t,e,!1),this}gotoInner(t,e,i){for(;this.chunkIndex=this.minPoint)break}}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(t){return this.from-t.from||this.startSide-t.startSide||this.to-t.to||this.endSide-t.endSide}}class Ot{constructor(t){this.heap=t}static from(i,n=null,r=-1){let s=[];for(let e=0;e=r&&s.push(new Dt(t,n,r,e));return 1==s.length?s[0]:new Ot(s)}get startSide(){return this.value?this.value.startSide:0}goto(t,e=-1e9){for(var i of this.heap)i.goto(t,e);for(let t=this.heap.length>>1;0<=t;t--)Lt(this.heap,t);return this.next(),this}forward(t,e){for(var i of this.heap)i.forward(t,e);for(let t=this.heap.length>>1;0<=t;t--)Lt(this.heap,t);(this.to-t||this.value.endSide-e)<0&&this.next()}next(){if(0==this.heap.length)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let t=this.heap[0];this.from=t.from,this.to=t.to,this.value=t.value,this.rank=t.rank,t.value&&t.next(),Lt(this.heap,0)}}}function Lt(n,r){for(let i=n[r];;){let t=1+(r<<1);if(t>=n.length)break;let e=n[t];if(t+1e){this.to=this.activeTo[t],this.endSide=this.active[t].endSide;break}this.removeActive(t),i&&_t(i,t)}else{if(!this.cursor.value){this.to=this.endSide=1e9;break}if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}t=this.cursor.value;if(t.point){this.point=t,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=t.endSide,this.cursor.frome&&this.forward(this.to,this.endSide);break}this.addActive(i),this.cursor.next()}}if(i){let t=0;for(;tthis.pointRank);t++)(this.activeTo[t]>e||this.activeTo[t]==e&&this.active[t].endSide>this.point.endSide)&&i.push(this.active[t]);return i}openEnd(t){let e=0;for(;et;)e++;return e}}function Bt(t,e,i,n,r,s){t.goto(e),i.goto(n);var o=n+r;let a=n,h=n-e;for(;;){var l=t.to+h-i.to||t.endSide-i.endSide,c=l<0?t.to+h:i.to,d=Math.min(c,o);if(t.point||i.point?t.point&&i.point&&(t.point==i.point||t.point.eq(i.point))||s.comparePoint(a,d,t.point,i.point):d>a&&!function(e,i){if(e.length!=i.length)return!1;for(let t=0;t=i;t--)e[t+1]=e[t];e[i]=t}function $t(e,i){let n=-1,r=1e9;for(let t=0;t",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"',229:"Q"},Nt="undefined"!=typeof navigator&&/Chrome\/(\d+)/.exec(navigator.userAgent),Rt="undefined"!=typeof navigator&&/Apple Computer/.test(navigator.vendor),Vt="undefined"!=typeof navigator&&/Gecko\/\d+/.test(navigator.userAgent),It="undefined"!=typeof navigator&&/Mac/.test(navigator.platform),jt="undefined"!=typeof navigator&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent),Wt=Nt&&(It||+Nt[1]<57)||Vt&&It,qt=0;qt<10;qt++)Pt[48+qt]=Pt[96+qt]=String(qt);for(qt=1;qt<=24;qt++)Pt[qt+111]="F"+qt;for(var Ft,qt=65;qt<=90;qt++)Pt[qt]=String.fromCharCode(qt+32),zt[qt]=String.fromCharCode(qt);for(Ft in Pt)zt.hasOwnProperty(Ft)||(zt[Ft]=Pt[Ft]);var[Jt,Ut]="undefined"!=typeof navigator?[navigator,document]:[{userAgent:"",vendor:"",platform:""},{documentElement:{style:{}}}],Kt=/Edge\/(\d+)/.exec(Jt.userAgent),Gt=/MSIE \d/.test(Jt.userAgent),Xt=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Jt.userAgent),Yt=!!(Gt||Xt||Kt),Qt=!Yt&&/gecko\/(\d+)/i.test(Jt.userAgent),Zt=!Yt&&/Chrome\/(\d+)/.exec(Jt.userAgent),te="webkitFontSmoothing"in Ut.documentElement.style,ee=!Yt&&/Apple Computer/.test(Jt.vendor),ie={mac:/Mac/.test(Jt.platform),ie:Yt,ie_version:Gt?Ut.documentMode||6:Xt?+Xt[1]:Kt?+Kt[1]:0,gecko:Qt,gecko_version:Qt?+(/Firefox\/(\d+)/.exec(Jt.userAgent)||[0,0])[1]:0,chrome:!!Zt,chrome_version:Zt?+Zt[1]:0,ios:ee&&(/Mobile\/\w+/.test(Jt.userAgent)||2this.pos||t==this.pos&&(0t.width)||a),o?ue(a,o<0):a}class De extends Ae{constructor(t,e,i){super(),this.widget=t,this.length=e,this.side=i}static create(t,e,i){return new(t.customView||De)(t,e,i)}slice(t){return De.create(this.widget,this.length-t,this.side)}sync(){this.dom&&this.widget.updateDOM(this.dom)||(this.setDOM(this.widget.toDOM(this.editorView)),this.dom.contentEditable="false")}getSide(){return this.side}merge(t,e,i,n,r){return!(i&&(!(i instanceof De&&this.widget.compare(i.widget))||0i&&st?i[r]=Math.max(i[r],e):i.push(t,e)}Ie.prototype.point=!0;class qe extends be{constructor(){super(...arguments),this.children=[],this.length=0,this.prevAttrs=void 0,this.attrs=null,this.breakAfter=0}merge(t,e,i,n,r,s){if(i){if(!(i instanceof qe))return!1;this.dom||i.transferDOM(this)}return n&&this.setDeco(i?i.attrs:null),Le(this,t,e,i?i.children:Fe,r,s),!0}split(t){let e=new qe;if(e.breakAfter=this.breakAfter,0==this.length)return e;let{i,off:n}=this.childPos(t);n&&(e.append(this.children[i].slice(n),0),this.children[i].merge(n,this.children[i].length,null,0,0),i++);for(let t=i;t!t.length||t[0]});class ri{constructor(t,e){this.field=t,this.get=e}}class si{from(t){return new ri(this,t)}static define(){return new si}}si.decorations=si.define(),si.scrollMargins=si.define();let oi=0;const ai=E.define();class hi{constructor(t,e,i){this.id=t,this.create=e,this.fields=i,this.extension=ai.of(this)}static define(t,e){let{eventHandlers:i,provide:n,decorations:r}=e||{},s=[];if(n)for(var o of Array.isArray(n)?n:[n])s.push(o);return i&&s.push(li.from(t=>({plugin:t,handlers:i}))),r&&s.push(si.decorations.from(r)),new hi(oi++,t,s)}static fromClass(e,t){return hi.define(t=>new e(t),t)}}const li=si.define();class ci{constructor(t){this.spec=t,this.mustUpdate=null,this.value=null}takeField(t,e){for(var{field:i,get:n}of this.spec.fields)i==t&&e.push(n(this.value))}update(e){if(this.value){if(this.mustUpdate){var i=this.mustUpdate;if(this.mustUpdate=null,!this.value.update)return this;try{this.value.update(i)}catch(t){if(ii(i.state,t,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch(t){}return ci.dummy}}}else try{this.value=this.spec.create(e)}catch(t){return ii(e.state,t,"CodeMirror plugin crashed"),ci.dummy}return this}destroy(e){var t;if(null!==(t=this.value)&&void 0!==t&&t.destroy)try{this.value.destroy()}catch(t){ii(e.state,t,"CodeMirror plugin crashed")}}}ci.dummy=new ci(hi.define(()=>({})));const di=E.define({combine:t=>t.reduce((t,e)=>_e(e,t),{})}),ui=E.define({combine:t=>t.reduce((t,e)=>_e(e,t),{})}),fi=E.define(),pi=E.define();class gi{constructor(t,e,i,n){this.fromA=t,this.toA=e,this.fromB=i,this.toB=n}join(t){return new gi(Math.min(this.fromA,t.fromA),Math.max(this.toA,t.toA),Math.min(this.fromB,t.fromB),Math.max(this.toB,t.toB))}addToSet(t){let e=t.length,i=this;for(;0i.toA)){if(n.toAr.push(new gi(t,e,i,n))),this.changedRanges=r;i=t.hasFocus;i!=t.inputState.notifiedFocused&&(t.inputState.notifiedFocused=i,this.flags|=1),this.docChanged&&(this.flags|=2)}get viewportChanged(){return 0<(4&this.flags)}get heightChanged(){return 0<(2&this.flags)}get geometryChanged(){return this.docChanged||0<(18&this.flags)}get focusChanged(){return 0<(1&this.flags)}get docChanged(){return this.transactions.some(t=>t.docChanged)}get selectionSet(){return this.transactions.some(t=>t.selection)}get empty(){return 0==this.flags&&0==this.transactions.length}}class vi extends be{constructor(t){super(),this.view=t,this.compositionDeco=Ne.none,this.decorations=[],this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.setDOM(t.contentDOM),this.children=[new qe],this.children[0].setParent(this),this.updateInner([new gi(0,0,0,t.state.doc.length)],this.updateDeco(),0)}get root(){return this.view.root}get editorView(){return this.view}get length(){return this.view.state.doc.length}update(t){let e=t.changedRanges;0ethis.minWidthTo)?(this.minWidthFrom=t.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=t.changes.mapPos(this.minWidthTo,1)):this.minWidth=0),this.view.inputState.composing<0?this.compositionDeco=Ne.none:t.transactions.length&&(this.compositionDeco=function(t,e){var i=ne(t.root),i=i.focusNode&&bi(i.focusNode,i.focusOffset,0);if(!i)return Ne.none;let n=t.docView.nearest(i),r,s,o=i;if(n instanceof Ae){for(;n.parent instanceof Ae;)n=n.parent;r=n.posAtStart,s=r+n.length,o=n.dom}else{if(!(n instanceof qe))return Ne.none;{for(;o.parentNode!=n.dom;)o=o.parentNode;let t=o.previousSibling;for(;t&&!be.get(t);)t=t.previousSibling;r=s=t?be.get(t).posAtEnd:n.posAtStart}}let a=e.mapPos(r,1),h=Math.max(a,e.mapPos(s,-1)),l=i.nodeValue,{state:c}=t;if(h-a"pointerselection"==t.annotation(rt.userEvent));return 0==this.dirty&&0==e.length&&!(12&t.flags)&&t.state.selection.main.from>=this.view.viewport.from&&t.state.selection.main.to<=this.view.viewport.to?(this.updateSelection(s,o),!1):(this.updateInner(e,a,t.startState.doc.length,s,o),!0)}updateInner(t,e,i,n=!1,r=!1){this.updateChildren(t,e,i),this.view.observer.ignore(()=>{this.dom.style.height=this.view.viewState.domHeight+"px",this.dom.style.minWidth=this.minWidth?this.minWidth+"px":"";var t=ie.chrome?{node:ne(this.view.root).focusNode,written:!1}:void 0;this.sync(t),this.dirty=0,null!=t&&t.written&&(n=!0),this.updateSelection(n,r),this.dom.style.height=""})}updateChildren(e,i,t){let n=this.childCursor(t);for(let t=e.length-1;;t--){var r=0<=t?e[t]:null;if(!r)break;var{fromA:s,toA:o,fromB:a,toB:h}=r,{content:l,breakAtStart:c,openStart:d,openEnd:r}=Ue.build(this.view.state.doc,a,h,i),{i:a,off:h}=n.findPos(o,1),{i:o,off:s}=n.findPos(s,-1);this.replaceRange(o,s,a,h,l,c,d,r)}}replaceRange(e,i,n,r,s,o,a,h){let l=this.children[e],c=s.length?s[s.length-1]:null;var d=c?c.breakAfter:o;if(e!=n||o||d||!(s.length<2)||!l.merge(i,r,s.length?c:null,0==i,a,h)){let t=this.children[n];for(rn.node.insertBefore(t,n.node.childNodes[n.offset]||null)),n=r=new we(t,0),e=!0}let s=ne(this.root);!(e||!s.focusNode||ie.gecko&&i.empty&&xi(s.focusNode,s.focusOffset))&&ae(n.node,n.offset,s.anchorNode,s.anchorOffset)&&ae(r.node,r.offset,s.focusNode,s.focusOffset)||this.view.observer.ignore(()=>{var t,e;if(i.empty)ie.gecko&&(!(t=xi(n.node,n.offset))||3==t||(e=bi(n.node,n.offset,1==t?1:-1))&&(n=new we(e,1==t?0:e.nodeValue.length))),s.collapse(n.node,n.offset),null!=i.bidiLevel&&null!=s.cursorBidiLevel&&(s.cursorBidiLevel=i.bidiLevel);else if(s.extend)s.collapse(n.node,n.offset),s.extend(r.node,r.offset);else{let t=document.createRange();i.anchor>i.head&&([n,r]=[r,n]),t.setEnd(r.node,r.offset),t.setStart(n.node,n.offset),s.removeAllRanges(),s.addRange(t)}}),this.impreciseAnchor=n.precise?null:new we(s.anchorNode,s.anchorOffset),this.impreciseHead=r.precise?null:new we(s.focusNode,s.focusOffset)}}enforceCursorAssoc(){var t,e,i=this.view.state.selection.main;let n=ne(this.root);i.empty&&i.assoc&&n.modify&&((e=qe.find(this,i.head))&&(t=e.posAtStart,i.head!=t&&i.head!=t+e.length&&(t=this.coordsAt(i.head,-1),e=this.coordsAt(i.head,1),!t||!e||t.bottom>e.top||(e=this.domAtPos(i.head+i.assoc),n.collapse(e.node,e.offset),n.modify("move",i.assoc<0?"forward":"backward","lineboundary")))))}mayControlSelection(){return this.view.state.facet(ni)?this.root.activeElement==this.dom:se(this.dom,ne(this.root))}nearest(e){for(let t=e;t;){var i=be.get(t);if(i&&i.rootView==this)return i;t=t.parentNode}return null}posFromDOM(t,e){let i=this.nearest(t);if(!i)throw new RangeError("Trying to find position for a DOM position outside of the document");return i.localPosFromDOM(t,e)+i.posAtStart}domAtPos(t){let{i:e,off:i}=this.childCursor().findPos(t,-1);for(;e=s&&(r.push(t.dom.getBoundingClientRect().height),(h=t.dom.scrollWidth)>a&&(this.minWidth=a=h,this.minWidthFrom=i,this.minWidthTo=e)),i=e+t.breakAfter}return r}measureTextSize(){for(var t of this.children)if(t instanceof qe){t=t.measureTextSize();if(t)return t}let e=document.createElement("div"),i,n;return e.className="cm-line",e.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.dom.appendChild(e);var t=oe(e.firstChild)[0];i=e.getBoundingClientRect().height,n=t?t.width/27:7,e.remove()}),{lineHeight:i,charWidth:n}}childCursor(t=this.length){let e=this.children.length;return e&&(t-=this.children[--e].length),new ke(this.children,t,e)}computeBlockGapDeco(){let i=[],n=this.view.viewState;for(let t=0,e=0;;e++){var r,s=e==n.viewports.length?null:n.viewports[e],o=s?s.from-1:this.length;if(o>t&&(r=n.lineAt(o,0).bottom-n.lineAt(t,0).top,i.push(Ne.replace({widget:new wi(r),block:!0,inclusive:!0}).range(t,o))),!s)break;t=s.to+1}return Ne.set(i)}updateDeco(){return this.decorations=[this.computeBlockGapDeco(),this.view.viewState.lineGapDeco,this.compositionDeco,...this.view.state.facet(fi),...this.view.pluginField(si.decorations)]}scrollPosIntoView(t,r){var s,o,a,r=this.coordsAt(t,r);if(r){let t=0,e=0,i=0,n=0;for(var h of this.view.pluginField(si.scrollMargins))h&&({left:s,right:o,top:a,bottom:h}=h,null!=s&&(t=Math.max(t,s)),null!=o&&(e=Math.max(e,o)),null!=a&&(i=Math.max(i,a)),null!=h&&(n=Math.max(n,h)));!function(t,s){let e=t.ownerDocument,o=e.defaultView;for(let r=t.parentNode;r;)if(1==r.nodeType){let t,e=r==document.body;if(e)t={left:0,right:(h=o).innerWidth,top:0,bottom:h.innerHeight};else{if(r.scrollHeight<=r.clientHeight&&r.scrollWidth<=r.clientWidth){r=r.parentNode;continue}h=r.getBoundingClientRect();t={left:h.left,right:h.left+r.clientWidth,top:h.top,bottom:h.top+r.clientHeight}}let i=0,n=0;var a;if(s.topt.bottom&&(n=s.bottom-t.bottom+5),s.leftt.right&&(i=s.right-t.right+5),(i||n)&&(e?o.scrollBy(i,n):(n&&(a=r.scrollTop,r.scrollTop+=n,n=r.scrollTop-a),i&&(a=r.scrollLeft,r.scrollLeft+=i,i=r.scrollLeft-a),s={left:s.left-i,top:s.top-n,right:s.right-i,bottom:s.bottom-n})),e)break;r=r.parentNode}else{if(11!=r.nodeType)break;r=r.host}var h}(this.dom,{left:r.left-t,top:r.top-i,right:r.right+e,bottom:r.bottom+n})}}}class wi extends Pe{constructor(t){super(),this.height=t}toDOM(){var t=document.createElement("div");return this.updateDOM(t),t}eq(t){return t.height==this.height}updateDOM(t){return t.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}}class yi extends Pe{constructor(t,e){super(),this.top=t,this.text=e}eq(t){return this.top==t.top&&this.text==t.text}toDOM(){return this.top}ignoreEvent(){return!1}get customView(){return Oe}}function bi(t,e,i){for(;;){if(3==t.nodeType)return t;if(1==t.nodeType&&0=i){if(o.level==n)return t;(s<0||(0!=r?r<0?o.fromi:e[s].level>o.level))&&(s=t)}}if(s<0)throw new RangeError("Index out of range");return s}}const Pi=[];function zi(o,t){var r,a=o.length,h=t==Mi?1:2,l=t==Mi?2:1;if(!o||1==h&&!Ei.test(o))return Ni(a);for(let e=0,i=h,n=h;ep;){for(var m=t,v=2!=Pi[--t];t>p&&v==(2!=Pi[t-1]);)t--;i.push(new $i(t,m,v?2:1))}else i.push(new $i(p,e,0))}else for(let t=0;te.top+1}function Ii(t,e){return et.bottom?{top:t.top,left:t.left,right:t.right,bottom:e}:t}function Wi(t,n,r){let s,o,a,h,l,c,d,u;for(let i=t.firstChild;i;i=i.nextSibling){var f=oe(i);for(let e=0;em?g.left-m:Math.max(0,m-g.right)),g=(m=r,(g=t).top>m?g.top-m:Math.max(0,m-g.bottom));if(0==p&&0==g)return(3==i.nodeType?qi:Wi)(i,n,r);(!s||h>g||h==g&&a>p)&&(s=i,o=t,a=p,h=g),0==p?r>t.bottom&&(!d||d.bottomt.top)&&(c=i,u=t):d&&Vi(d,t)?d=ji(d,t.bottom):u&&Vi(u,t)&&(u=Ii(u,t.top))}}var m,g;if(d&&d.bottom>=r?(s=l,o=d):u&&u.top<=r&&(s=c,o=u),!s)return{node:t,offset:0};var e=Math.max(o.left,Math.min(o.right,n));return 3==s.nodeType?qi(s,e,r):a||"true"!=s.contentEditable?{node:t,offset:Array.prototype.indexOf.call(t.childNodes,s)+(n>=(o.left+o.right)/2?1:0)}:Wi(s,e,r)}function qi(n,r,e){var t=n.nodeValue.length;let s=-1,o=1e9,a=0;for(let i=0;ie?l.top-e:e-l.bottom)-1;if(l.left-1<=r&&l.right+1>=r&&c=(l.left+l.right)/2,e=t;if((ie.chrome||ie.gecko)&&ve(n,i).getBoundingClientRect().left==l.right&&(e=!t),c<=0)return{node:n,offset:i+(e?1:0)};s=i+(e?1:0),o=c}}}}return{node:n,offset:-1i||s.bottomi?-1:1,i=Math.min(s.bottom-o,Math.max(s.top+o,i)),t)return-1;t=!0}if(s.type==ze.Text)break;i=0e.viewport.to)return e.viewport.to==e.state.doc.length?e.state.doc.length:null;t=Math.max(r.left+1,Math.min(r.right-1,t));let l=e.root,c=l.elementFromPoint(t,i),d,u=-1;return!c||!e.contentDOM.contains(c)||e.docView.nearest(c)instanceof De||(l.caretPositionFromPoint?(a=l.caretPositionFromPoint(t,i))&&({offsetNode:d,offset:u}=a):!l.caretRangeFromPoint||(a=l.caretRangeFromPoint(t,i))&&({startContainer:d,startOffset:u}=a,ie.safari&&function(e,t,i){let n;if(3!=e.nodeType||t!=(n=e.nodeValue.length))return!1;for(let t=e.nextSibling;t;t=e.nextSibling)if(1!=t.nodeType||"BR"!=t.nodeName)return!1;return ve(e,n-1,n).getBoundingClientRect().left>i}(d,u,t)&&(d=void 0))),d&&e.docView.dom.contains(d)||(h=qe.find(e.docView,h),{node:d,offset:u}=Wi(h.dom,t,i)),e.docView.posFromDOM(d,u)}function Ji(r,t,s,o){let a=r.state.doc.lineAt(t.head),h=r.bidiSpans(a);for(let i=t,n=null;;){let t=function(t,e,i,n,r){let s=n.head-t.from,o=-1;if(0==s){if(!r||!t.length)return null;e[0].level!=i&&(s=e[0].side(!1,i),o=0)}else if(s==t.length){if(r)return null;let t=e[e.length-1];t.level!=i&&(s=t.side(!0,i),o=e.length-1)}o<0&&(o=$i.find(e,s,null!==(h=n.bidiLevel)&&void 0!==h?h:-1,n.assoc));let a=e[o];s==a.side(r,i)&&(a=e[o+=r?1:-1],s=a.side(!r,i));var h=r==(a.dir==i),n=S(t.text,s,h);if(Ri=t.text.slice(Math.min(s,n),Math.max(s,n)),n!=a.side(r,i))return H.cursor(n+t.from,h?-1:1,a.level);let l=o==(r?e.length-1:0)?null:e[o+(r?1:-1)];return l||a.level==i?l&&l.level>1;for(let t=s<0?o.top:o.bottom,e=0;e<50;e+=10){var d=Fi(i,{x:l,y:t+(c+e)*s},s);if(null==d)break;if(d!=r)return H.cursor(d,void 0,void 0,h)}}let{doc:u}=i.state,f=u.lineAt(r),p=i.state.tabSize,g=t.goalColumn,m=0;if(null==g){for(const x=u.iterRange(f.from,r);!x.next().done;)m=A(x.value,m,p);g=m*i.defaultCharacterWidth}else m=Math.round(g/i.defaultCharacterWidth);if(s<0&&0==f.from)return H.cursor(0);if(0=m&&!k.next().done;){var{offset:y,leftOver:b}=function(e,i,n,r){for(let t=0;t{"keydown"==i&&this.keydown(n,t)||Yi(n,t)&&!this.ignoreDuringComposition(t)&&(this.mustFlushObserver(t)&&n.observer.forceFlush(),this.runCustomHandlers(i,n,t)?t.preventDefault():e(n,t))}),this.registeredEvents.push(i)}this.notifiedFocused=n.hasFocus,this.ensureHandlers(n)}setSelectionOrigin(t){this.lastSelectionOrigin=t,this.lastSelectionTime=Date.now()}ensureHandlers(i){var t;for(t of this.customHandlers=i.pluginField(li))for(let e in t.handlers)this.registeredEvents.indexOf(e)<0&&"scroll"!=e&&(this.registeredEvents.push(e),i.contentDOM.addEventListener(e,t=>{Yi(i,t)&&this.runCustomHandlers(e,i,t)&&t.preventDefault()}))}runCustomHandlers(i,n,r){for(var s of this.customHandlers){let t=s.handlers[i],e=!1;if(t){try{e=t.call(s.plugin,r,n)}catch(t){ii(n.state,t)}if(e||r.defaultPrevented)return ie.android&&"keydown"==i&&13==r.keyCode&&n.observer.flushSoon(),!0}}return!1}runScrollHandlers(e,i){for(var n of this.customHandlers){let t=n.handlers.scroll;if(t)try{t.call(n.plugin,i,e)}catch(t){ii(e.state,t)}}}keydown(t,e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),!this.screenKeyEvent(t,e))return!(!ie.ios||13!=e.keyCode&&8!=e.keyCode||e.ctrlKey||e.altKey||e.metaKey||e.synthetic)&&(this[13==e.keyCode?"lastIOSEnter":"lastIOSBackspace"]=Date.now(),!0)}ignoreDuringComposition(t){return!!/^key/.test(t.type)&&(0=e.clientX&&s.top<=e.clientY&&s.bottom>=e.clientY)return!0}return!1}(e,i)&&null,!1===this.dragging&&(i.preventDefault(),this.select(i))}move(t){if(0==t.buttons)return this.destroy();!1===this.dragging&&this.select(t)}up(t){null==this.dragging&&this.select(this.startEvent),this.dragging||t.preventDefault(),this.destroy()}destroy(){let t=this.view.contentDOM.ownerDocument;t.removeEventListener("mousemove",this.move),t.removeEventListener("mouseup",this.up),this.inputState.mouseSelection=null}select(t){let e=this.style.get(t,this.extend,this.multiple);e.eq(this.view.state.selection)&&e.main.assoc==this.view.state.selection.main.assoc||this.view.dispatch({selection:e,annotations:rt.userEvent.of("pointerselection"),scrollIntoView:!0})}update(t){t.docChanged&&this.dragging&&(this.dragging=this.dragging.map(t.changes)),this.style.update(t)}}function Yi(i,n){if(!n.bubbles)return 1;if(!n.defaultPrevented){for(let t=n.target,e;t!=i.contentDOM;t=t.parentNode)if(!t||11==t.nodeType||(e=be.get(t))&&e.ignoreEvent(n))return;return 1}}const Qi=Object.create(null),Zi=ie.ie&&ie.ie_version<15||ie.ios&&ie.webkit_version<604;function tn(t,r){let{state:s}=t,e,o=1,a=s.toText(r),h=a.lines==s.selection.ranges.length;if(cn&&s.selection.ranges.every(t=>t.empty)&&cn==a.toString()){let n=-1;e=s.changeByRange(t=>{var e=s.doc.lineAt(t.from);if(e.from==n)return{range:t};n=e.from;var i=s.toText((h?a.line(o++).text:r)+s.lineBreak);return{changes:{from:e.from,insert:i},range:H.cursor(t.from+i.length)}})}else e=h?s.changeByRange(t=>{var e=a.line(o++);return{changes:{from:t.from,to:t.to,insert:e.text},range:H.cursor(t.from+e.length)}}):s.replaceSelection(a);t.dispatch(e,{annotations:rt.userEvent.of("paste"),scrollIntoView:!0})}Qi.keydown=(t,e)=>{t.inputState.setSelectionOrigin("keyboardselection")};let en=0;function nn(i,n,r,t){if(1==t)return H.cursor(n,r);if(2==t)return function(t,e,i=1){let n=t.charCategorizer(e),r=t.doc.lineAt(e),s=e-r.from;if(0==r.length)return H.cursor(e);0==s?i=1:s==r.length&&(i=-1);let o=s,a=s;i<0?o=S(r.text,s,!1):a=S(r.text,s);for(var h=n(r.text.slice(o,a));0{1==(e=e).touches.length&&e.touches[0].radiusX<=1&&e.touches[0].radiusY<=1||(en=Date.now()),t.inputState.setSelectionOrigin("pointerselection")},Qi.touchmove=t=>{t.inputState.setSelectionOrigin("pointerselection")},Qi.mousedown=(e,i)=>{if(e.observer.flush(),!(en>Date.now()-2e3)){let t=null;for(var n of e.state.facet(Qe))if(t=n(e,i),t)break;t||0!=i.button||(t=function(o,t){let a=on(o,t),h=function(t){if(!an)return t.detail;var e=hn;return hn=t,ln=!e||e.timeStamp>Date.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(ln+1)%3:1}(t),l=o.state.selection,c=a,d=t;return{update(t){t.changes&&(a&&(a.pos=t.changes.mapPos(a.pos)),l=l.map(t.changes))},get(t,e,i){let n;if(t.clientX==d.clientX&&t.clientY==d.clientY?n=c:(n=c=on(o,t),d=t),!n||!a)return l;let r=nn(o,n.pos,n.bias,h);var s;return a.pos==n.pos||e||(s=nn(o,a.pos,a.bias,h),t=Math.min(s.from,r.from),s=Math.max(s.to,r.to),r=tge(e.contentDOM)),e.inputState.startMouseSelection(e,i,t))}};let rn=(t,e)=>t>=e.top&&t<=e.bottom,sn=(t,e,i)=>rn(e,i)&&t>=i.left&&t<=i.right;function on(t,e){var i=t.posAtCoords({x:e.clientX,y:e.clientY});return null==i?null:{pos:i,bias:function(t,e,i,n){let r=qe.find(t.docView,e);return r&&0!=(t=e-r.posAtStart)&&(t==r.length||(e=r.coordsAt(t,-1))&&sn(i,n,e)||(!(t=r.coordsAt(t,1))||!sn(i,n,t))&&e&&rn(n,e))?-1:1}(t,i,e.clientX,e.clientY)}}const an=ie.ie&&ie.ie_version<=11;let hn=null,ln=0;Qi.dragstart=(t,e)=>{var{selection:{main:i}}=t.state;let{mouseSelection:n}=t.inputState;n&&(n.dragging=i),e.dataTransfer&&(e.dataTransfer.setData("Text",t.state.sliceDoc(i.from,i.to)),e.dataTransfer.effectAllowed="copyMove")},Qi.drop=(e,i)=>{if(i.dataTransfer&&e.state.facet(ni)){var n=e.posAtCoords({x:i.clientX,y:i.clientY}),r=i.dataTransfer.getData("Text");if(null!=n&&r){i.preventDefault();var{mouseSelection:i}=e.inputState,i=i&&i.dragging&&i.dragMove?{from:i.dragging.from,to:i.dragging.to}:null,r={from:n,insert:r};let t=e.state.changes(i?[i,r]:r);e.focus(),e.dispatch({changes:t,selection:{anchor:t.mapPos(n,-1),head:t.mapPos(n,1)},annotations:rt.userEvent.of("drop")})}}},Qi.paste=(e,i)=>{if(e.state.facet(ni)){e.observer.flush();let t=Zi?null:i.clipboardData;var n=t&&t.getData("text/plain");n?(tn(e,n),i.preventDefault()):function(e){let i=e.dom.parentNode;if(i){let t=i.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{e.focus(),t.remove(),tn(e,t.value)},50)}}(e)}};let cn=null;function dn(t){t.docView.compositionDeco.size&&t.update([])}Qi.copy=Qi.cut=(e,i)=>{var{text:n,ranges:r,linewise:s}=function(e){let i=[],n=[],r=!1;for(var t of e.selection.ranges)t.empty||(i.push(e.sliceDoc(t.from,t.to)),n.push(t));if(!i.length){let t=-1;for(var{from:s}of e.selection.ranges){s=e.doc.lineAt(s);s.number>t&&(i.push(s.text),n.push({from:s.from,to:Math.min(e.doc.length,s.to+1)})),t=s.number}r=!0}return{text:i.join(e.lineBreak),ranges:n,linewise:r}}(e.state);if(n){cn=s?n:null;let t=Zi?null:i.clipboardData;t?(i.preventDefault(),t.clearData(),t.setData("text/plain",n)):function(e,i){let n=e.dom.parentNode;if(n){let t=n.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.value=i,t.focus(),t.selectionEnd=i.length,t.selectionStart=0,setTimeout(()=>{t.remove(),e.focus()},50)}}(e,n),"cut"==i.type&&e.state.facet(ni)&&e.dispatch({changes:r,scrollIntoView:!0,annotations:rt.userEvent.of("cut")})}},Qi.focus=Qi.blur=t=>{setTimeout(()=>{t.hasFocus!=t.inputState.notifiedFocused&&t.update([])},10)},Qi.beforeprint=t=>{t.viewState.printing=!0,t.requestMeasure(),setTimeout(()=>{t.viewState.printing=!1,t.requestMeasure()},2e3)},Qi.compositionstart=Qi.compositionupdate=t=>{t.inputState.composing<0&&(t.docView.compositionDeco.size&&(t.observer.flush(),dn(t)),t.inputState.composing=0)},Qi.compositionend=t=>{t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),setTimeout(()=>{t.inputState.composing<0&&dn(t)},50)};const un=["pre-wrap","normal","pre-line"];class fn{constructor(){this.doc=u.empty,this.lineWrapping=!1,this.direction=Ai.LTR,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.lineLength=30,this.heightChanged=!1}heightForGap(t,e){let i=this.doc.lineAt(e).number-this.doc.lineAt(t).number+1;return this.lineWrapping&&(i+=Math.ceil((e-t-i*this.lineLength*.5)/this.lineLength)),this.lineHeight*i}heightForLine(t){return this.lineWrapping?(1+Math.max(0,Math.ceil((t-this.lineLength)/(this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(t){return this.doc=t,this}mustRefresh(e,t,i){let n=!1;for(let t=0;t