this repo has no description
at main 17 lines 714 kB view raw
1"use strict";function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter);}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr);}function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]};},e:function e(_e3){throw _e3;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o);},n:function n(){var step=it.next();normalCompletion=step.done;return step;},e:function e(_e4){didErr=true;err=_e4;},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]();}finally{if(didErr)throw err;}}};}function _get(){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get.bind();}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(arguments.length<3?target:receiver);}return desc.value;};}return _get.apply(this,arguments);}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break;}return object;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}(function(){var __defProp=Object.defineProperty;var __export=function __export(target,all){for(var name2 in all){__defProp(target,name2,{get:all[name2],enumerable:true});}};// ../node_modules/@codemirror/state/dist/index.js 2var Text=/*#__PURE__*/function(){function Text(){_classCallCheck(this,Text);}_createClass(Text,[{key:"lineAt",value:function lineAt(pos){if(pos<0||pos>this.length)throw new RangeError("Invalid position ".concat(pos," in document of length ").concat(this.length));return this.lineInner(pos,false,1,0);}},{key:"line",value:function line(n){if(n<1||n>this.lines)throw new RangeError("Invalid line number ".concat(n," in ").concat(this.lines,"-line document"));return this.lineInner(n,true,1,0);}},{key:"replace",value:function replace(from,to,text){var _clip=clip(this,from,to);var _clip2=_slicedToArray(_clip,2);from=_clip2[0];to=_clip2[1];var parts=[];this.decompose(0,from,parts,2);if(text.length)text.decompose(0,text.length,parts,1|2);this.decompose(to,this.length,parts,1);return TextNode.from(parts,this.length-(to-from)+text.length);}},{key:"append",value:function append(other){return this.replace(this.length,this.length,other);}},{key:"slice",value:function slice(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.length;var _clip3=clip(this,from,to);var _clip4=_slicedToArray(_clip3,2);from=_clip4[0];to=_clip4[1];var parts=[];this.decompose(from,to,parts,0);return TextNode.from(parts,to-from);}},{key:"eq",value:function eq(other){if(other==this)return true;if(other.length!=this.length||other.lines!=this.lines)return false;var start=this.scanIdentical(other,1),end=this.length-this.scanIdentical(other,-1);var a=new RawTextCursor(this),b=new RawTextCursor(other);for(var skip=start,pos=start;;){a.next(skip);b.next(skip);skip=0;if(a.lineBreak!=b.lineBreak||a.done!=b.done||a.value!=b.value)return false;pos+=a.value.length;if(a.done||pos>=end)return true;}}},{key:"iter",value:function iter(){var dir=arguments.length>0&&arguments[0]!==undefined?arguments[0]:1;return new RawTextCursor(this,dir);}},{key:"iterRange",value:function iterRange(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.length;return new PartialTextCursor(this,from,to);}},{key:"iterLines",value:function iterLines(from,to){var inner;if(from==null){inner=this.iter();}else{if(to==null)to=this.lines+1;var start=this.line(from).from;inner=this.iterRange(start,Math.max(start,to==this.lines+1?this.length:to<=1?0:this.line(to-1).to));}return new LineCursor(inner);}},{key:"toString",value:function toString(){return this.sliceString(0);}},{key:"toJSON",value:function toJSON(){var lines=[];this.flatten(lines);return lines;}}],[{key:"of",value:function of(text){if(text.length==0)throw new RangeError("A document must have at least one line");if(text.length==1&&!text[0])return Text.empty;return text.length<=32?new TextLeaf(text):TextNode.from(TextLeaf.split(text,[]));}}]);return Text;}();var TextLeaf=/*#__PURE__*/function(_Text){_inherits(TextLeaf,_Text);var _super=_createSuper(TextLeaf);function TextLeaf(text){var _this;var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:textLength(text);_classCallCheck(this,TextLeaf);_this=_super.call(this);_this.text=text;_this.length=length;return _this;}_createClass(TextLeaf,[{key:"lines",get:function get(){return this.text.length;}},{key:"children",get:function get(){return null;}},{key:"lineInner",value:function lineInner(target,isLine,line,offset){for(var _i2=0;;_i2++){var string2=this.text[_i2],end=offset+string2.length;if((isLine?line:end)>=target)return new Line(offset,end,line,string2);offset=end+1;line++;}}},{key:"decompose",value:function decompose(from,to,target,open){var text=from<=0&&to>=this.length?this:new TextLeaf(sliceText(this.text,from,to),Math.min(to,this.length)-Math.max(0,from));if(open&1){var prev=target.pop();var joined=appendText(text.text,prev.text.slice(),0,text.length);if(joined.length<=32){target.push(new TextLeaf(joined,prev.length+text.length));}else{var mid=joined.length>>1;target.push(new TextLeaf(joined.slice(0,mid)),new TextLeaf(joined.slice(mid)));}}else{target.push(text);}}},{key:"replace",value:function replace(from,to,text){if(!(text instanceof TextLeaf))return _get(_getPrototypeOf(TextLeaf.prototype),"replace",this).call(this,from,to,text);var _clip5=clip(this,from,to);var _clip6=_slicedToArray(_clip5,2);from=_clip6[0];to=_clip6[1];var lines=appendText(this.text,appendText(text.text,sliceText(this.text,0,from)),to);var newLen=this.length+text.length-(to-from);if(lines.length<=32)return new TextLeaf(lines,newLen);return TextNode.from(TextLeaf.split(lines,[]),newLen);}},{key:"sliceString",value:function sliceString(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.length;var lineSep=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"\n";var _clip7=clip(this,from,to);var _clip8=_slicedToArray(_clip7,2);from=_clip8[0];to=_clip8[1];var result="";for(var pos=0,_i3=0;pos<=to&&_i3<this.text.length;_i3++){var line=this.text[_i3],end=pos+line.length;if(pos>from&&_i3)result+=lineSep;if(from<end&&to>pos)result+=line.slice(Math.max(0,from-pos),to-pos);pos=end+1;}return result;}},{key:"flatten",value:function flatten(target){var _iterator=_createForOfIteratorHelper(this.text),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var line=_step.value;target.push(line);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}},{key:"scanIdentical",value:function scanIdentical(){return 0;}}],[{key:"split",value:function split(text,target){var part=[],len=-1;var _iterator2=_createForOfIteratorHelper(text),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var line=_step2.value;part.push(line);len+=line.length+1;if(part.length==32){target.push(new TextLeaf(part,len));part=[];len=-1;}}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}if(len>-1)target.push(new TextLeaf(part,len));return target;}}]);return TextLeaf;}(Text);var TextNode=/*#__PURE__*/function(_Text2){_inherits(TextNode,_Text2);var _super2=_createSuper(TextNode);function TextNode(children,length){var _this2;_classCallCheck(this,TextNode);_this2=_super2.call(this);_this2.children=children;_this2.length=length;_this2.lines=0;var _iterator3=_createForOfIteratorHelper(children),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var child=_step3.value;_this2.lines+=child.lines;}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}return _this2;}_createClass(TextNode,[{key:"lineInner",value:function lineInner(target,isLine,line,offset){for(var _i4=0;;_i4++){var child=this.children[_i4],end=offset+child.length,endLine=line+child.lines-1;if((isLine?endLine:end)>=target)return child.lineInner(target,isLine,line,offset);offset=end+1;line=endLine+1;}}},{key:"decompose",value:function decompose(from,to,target,open){for(var _i5=0,pos=0;pos<=to&&_i5<this.children.length;_i5++){var child=this.children[_i5],end=pos+child.length;if(from<=end&&to>=pos){var childOpen=open&((pos<=from?1:0)|(end>=to?2:0));if(pos>=from&&end<=to&&!childOpen)target.push(child);else child.decompose(from-pos,to-pos,target,childOpen);}pos=end+1;}}},{key:"replace",value:function replace(from,to,text){var _clip9=clip(this,from,to);var _clip10=_slicedToArray(_clip9,2);from=_clip10[0];to=_clip10[1];if(text.lines<this.lines)for(var _i6=0,pos=0;_i6<this.children.length;_i6++){var child=this.children[_i6],end=pos+child.length;if(from>=pos&&to<=end){var updated=child.replace(from-pos,to-pos,text);var totalLines=this.lines-child.lines+updated.lines;if(updated.lines<totalLines>>5-1&&updated.lines>totalLines>>5+1){var copy=this.children.slice();copy[_i6]=updated;return new TextNode(copy,this.length-(to-from)+text.length);}return _get(_getPrototypeOf(TextNode.prototype),"replace",this).call(this,pos,end,updated);}pos=end+1;}return _get(_getPrototypeOf(TextNode.prototype),"replace",this).call(this,from,to,text);}},{key:"sliceString",value:function sliceString(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.length;var lineSep=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"\n";var _clip11=clip(this,from,to);var _clip12=_slicedToArray(_clip11,2);from=_clip12[0];to=_clip12[1];var result="";for(var _i7=0,pos=0;_i7<this.children.length&&pos<=to;_i7++){var child=this.children[_i7],end=pos+child.length;if(pos>from&&_i7)result+=lineSep;if(from<end&&to>pos)result+=child.sliceString(from-pos,to-pos,lineSep);pos=end+1;}return result;}},{key:"flatten",value:function flatten(target){var _iterator4=_createForOfIteratorHelper(this.children),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var child=_step4.value;child.flatten(target);}}catch(err){_iterator4.e(err);}finally{_iterator4.f();}}},{key:"scanIdentical",value:function scanIdentical(other,dir){if(!(other instanceof TextNode))return 0;var length=0;var _ref=dir>0?[0,0,this.children.length,other.children.length]:[this.children.length-1,other.children.length-1,-1,-1],_ref2=_slicedToArray(_ref,4),iA=_ref2[0],iB=_ref2[1],eA=_ref2[2],eB=_ref2[3];for(;;iA+=dir,iB+=dir){if(iA==eA||iB==eB)return length;var chA=this.children[iA],chB=other.children[iB];if(chA!=chB)return length+chA.scanIdentical(chB,dir);length+=chA.length+1;}}}],[{key:"from",value:function from(children){var length=arguments.length>1&&arguments[1]!==undefined?arguments[1]:children.reduce(function(l,ch){return l+ch.length+1;},-1);var lines=0;var _iterator5=_createForOfIteratorHelper(children),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var _ch=_step5.value;lines+=_ch.lines;}}catch(err){_iterator5.e(err);}finally{_iterator5.f();}if(lines<32){var flat=[];var _iterator6=_createForOfIteratorHelper(children),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var ch=_step6.value;ch.flatten(flat);}}catch(err){_iterator6.e(err);}finally{_iterator6.f();}return new TextLeaf(flat,length);}var chunk=Math.max(32,lines>>5),maxChunk=chunk<<1,minChunk=chunk>>1;var chunked=[],currentLines=0,currentLen=-1,currentChunk=[];function add2(child){var last;if(child.lines>maxChunk&&child instanceof TextNode){var _iterator7=_createForOfIteratorHelper(child.children),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var node=_step7.value;add2(node);}}catch(err){_iterator7.e(err);}finally{_iterator7.f();}}else if(child.lines>minChunk&&(currentLines>minChunk||!currentLines)){flush();chunked.push(child);}else if(child instanceof TextLeaf&&currentLines&&(last=currentChunk[currentChunk.length-1])instanceof TextLeaf&&child.lines+last.lines<=32){currentLines+=child.lines;currentLen+=child.length+1;currentChunk[currentChunk.length-1]=new TextLeaf(last.text.concat(child.text),last.length+1+child.length);}else{if(currentLines+child.lines>chunk)flush();currentLines+=child.lines;currentLen+=child.length+1;currentChunk.push(child);}}function flush(){if(currentLines==0)return;chunked.push(currentChunk.length==1?currentChunk[0]:TextNode.from(currentChunk,currentLen));currentLen=-1;currentLines=currentChunk.length=0;}var _iterator8=_createForOfIteratorHelper(children),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var child=_step8.value;add2(child);}}catch(err){_iterator8.e(err);}finally{_iterator8.f();}flush();return chunked.length==1?chunked[0]:new TextNode(chunked,length);}}]);return TextNode;}(Text);Text.empty=/* @__PURE__ */new TextLeaf([""],0);function textLength(text){var length=-1;var _iterator9=_createForOfIteratorHelper(text),_step9;try{for(_iterator9.s();!(_step9=_iterator9.n()).done;){var line=_step9.value;length+=line.length+1;}}catch(err){_iterator9.e(err);}finally{_iterator9.f();}return length;}function appendText(text,target){var from=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var to=arguments.length>3&&arguments[3]!==undefined?arguments[3]:1e9;for(var pos=0,_i8=0,first=true;_i8<text.length&&pos<=to;_i8++){var line=text[_i8],end=pos+line.length;if(end>=from){if(end>to)line=line.slice(0,to-pos);if(pos<from)line=line.slice(from-pos);if(first){target[target.length-1]+=line;first=false;}else target.push(line);}pos=end+1;}return target;}function sliceText(text,from,to){return appendText(text,[""],from,to);}var RawTextCursor=/*#__PURE__*/function(){function RawTextCursor(text){var dir=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;_classCallCheck(this,RawTextCursor);this.dir=dir;this.done=false;this.lineBreak=false;this.value="";this.nodes=[text];this.offsets=[dir>0?1:(text instanceof TextLeaf?text.text.length:text.children.length)<<1];}_createClass(RawTextCursor,[{key:"nextInner",value:function nextInner(skip,dir){this.done=this.lineBreak=false;for(;;){var last=this.nodes.length-1;var top2=this.nodes[last],offsetValue=this.offsets[last],offset=offsetValue>>1;var size=top2 instanceof TextLeaf?top2.text.length:top2.children.length;if(offset==(dir>0?size:0)){if(last==0){this.done=true;this.value="";return this;}if(dir>0)this.offsets[last-1]++;this.nodes.pop();this.offsets.pop();}else if((offsetValue&1)==(dir>0?0:1)){this.offsets[last]+=dir;if(skip==0){this.lineBreak=true;this.value="\n";return this;}skip--;}else if(top2 instanceof TextLeaf){var next=top2.text[offset+(dir<0?-1:0)];this.offsets[last]+=dir;if(next.length>Math.max(0,skip)){this.value=skip==0?next:dir>0?next.slice(skip):next.slice(0,next.length-skip);return this;}skip-=next.length;}else{var _next=top2.children[offset+(dir<0?-1:0)];if(skip>_next.length){skip-=_next.length;this.offsets[last]+=dir;}else{if(dir<0)this.offsets[last]--;this.nodes.push(_next);this.offsets.push(dir>0?1:(_next instanceof TextLeaf?_next.text.length:_next.children.length)<<1);}}}}},{key:"next",value:function next(){var skip=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;if(skip<0){this.nextInner(-skip,-this.dir);skip=this.value.length;}return this.nextInner(skip,this.dir);}}]);return RawTextCursor;}();var PartialTextCursor=/*#__PURE__*/function(){function PartialTextCursor(text,start,end){_classCallCheck(this,PartialTextCursor);this.value="";this.done=false;this.cursor=new RawTextCursor(text,start>end?-1:1);this.pos=start>end?text.length:0;this.from=Math.min(start,end);this.to=Math.max(start,end);}_createClass(PartialTextCursor,[{key:"nextInner",value:function nextInner(skip,dir){if(dir<0?this.pos<=this.from:this.pos>=this.to){this.value="";this.done=true;return this;}skip+=Math.max(0,dir<0?this.pos-this.to:this.from-this.pos);var limit=dir<0?this.pos-this.from:this.to-this.pos;if(skip>limit)skip=limit;limit-=skip;var _this$cursor$next=this.cursor.next(skip),value=_this$cursor$next.value;this.pos+=(value.length+skip)*dir;this.value=value.length<=limit?value:dir<0?value.slice(value.length-limit):value.slice(0,limit);this.done=!this.value;return this;}},{key:"next",value:function next(){var skip=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;if(skip<0)skip=Math.max(skip,this.from-this.pos);else if(skip>0)skip=Math.min(skip,this.to-this.pos);return this.nextInner(skip,this.cursor.dir);}},{key:"lineBreak",get:function get(){return this.cursor.lineBreak&&this.value!="";}}]);return PartialTextCursor;}();var LineCursor=/*#__PURE__*/function(){function LineCursor(inner){_classCallCheck(this,LineCursor);this.inner=inner;this.afterBreak=true;this.value="";this.done=false;}_createClass(LineCursor,[{key:"next",value:function next(){var skip=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var _this$inner$next=this.inner.next(skip),done=_this$inner$next.done,lineBreak=_this$inner$next.lineBreak,value=_this$inner$next.value;if(done&&this.afterBreak){this.value="";this.afterBreak=false;}else if(done){this.done=true;this.value="";}else if(lineBreak){if(this.afterBreak){this.value="";}else{this.afterBreak=true;this.next();}}else{this.value=value;this.afterBreak=false;}return this;}},{key:"lineBreak",get:function get(){return false;}}]);return LineCursor;}();if(typeof Symbol!="undefined"){Text.prototype[Symbol.iterator]=function(){return this.iter();};RawTextCursor.prototype[Symbol.iterator]=PartialTextCursor.prototype[Symbol.iterator]=LineCursor.prototype[Symbol.iterator]=function(){return this;};}var Line=/*#__PURE__*/function(){function Line(from,to,number2,text){_classCallCheck(this,Line);this.from=from;this.to=to;this.number=number2;this.text=text;}_createClass(Line,[{key:"length",get:function get(){return this.to-this.from;}}]);return Line;}();function clip(text,from,to){from=Math.max(0,Math.min(text.length,from));return[from,Math.max(from,Math.min(text.length,to))];}var extend=/* @__PURE__ */"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(function(s){return s?parseInt(s,36):1;});for(var _i9=1;_i9<extend.length;_i9++){extend[_i9]+=extend[_i9-1];}function isExtendingChar(code){for(var _i10=1;_i10<extend.length;_i10+=2){if(extend[_i10]>code)return extend[_i10-1]<=code;}return false;}function isRegionalIndicator(code){return code>=127462&&code<=127487;}var ZWJ=8205;function findClusterBreak(str,pos){var forward=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var includeExtending=arguments.length>3&&arguments[3]!==undefined?arguments[3]:true;return(forward?nextClusterBreak:prevClusterBreak)(str,pos,includeExtending);}function nextClusterBreak(str,pos,includeExtending){if(pos==str.length)return pos;if(pos&&surrogateLow(str.charCodeAt(pos))&&surrogateHigh(str.charCodeAt(pos-1)))pos--;var prev=codePointAt(str,pos);pos+=codePointSize(prev);while(pos<str.length){var next=codePointAt(str,pos);if(prev==ZWJ||next==ZWJ||includeExtending&&isExtendingChar(next)){pos+=codePointSize(next);prev=next;}else if(isRegionalIndicator(next)){var countBefore=0,_i11=pos-2;while(_i11>=0&&isRegionalIndicator(codePointAt(str,_i11))){countBefore++;_i11-=2;}if(countBefore%2==0)break;else pos+=2;}else{break;}}return pos;}function prevClusterBreak(str,pos,includeExtending){while(pos>0){var found=nextClusterBreak(str,pos-2,includeExtending);if(found<pos)return found;pos--;}return 0;}function surrogateLow(ch){return ch>=56320&&ch<57344;}function surrogateHigh(ch){return ch>=55296&&ch<56320;}function codePointAt(str,pos){var code0=str.charCodeAt(pos);if(!surrogateHigh(code0)||pos+1==str.length)return code0;var code1=str.charCodeAt(pos+1);if(!surrogateLow(code1))return code0;return(code0-55296<<10)+(code1-56320)+65536;}function fromCodePoint(code){if(code<=65535)return String.fromCharCode(code);code-=65536;return String.fromCharCode((code>>10)+55296,(code&1023)+56320);}function codePointSize(code){return code<65536?1:2;}var DefaultSplit=/\r\n?|\n/;var MapMode=/* @__PURE__ */function(MapMode2){MapMode2[MapMode2["Simple"]=0]="Simple";MapMode2[MapMode2["TrackDel"]=1]="TrackDel";MapMode2[MapMode2["TrackBefore"]=2]="TrackBefore";MapMode2[MapMode2["TrackAfter"]=3]="TrackAfter";return MapMode2;}(MapMode||(MapMode={}));var ChangeDesc=/*#__PURE__*/function(){function ChangeDesc(sections){_classCallCheck(this,ChangeDesc);this.sections=sections;}_createClass(ChangeDesc,[{key:"length",get:function get(){var result=0;for(var _i12=0;_i12<this.sections.length;_i12+=2){result+=this.sections[_i12];}return result;}},{key:"newLength",get:function get(){var result=0;for(var _i13=0;_i13<this.sections.length;_i13+=2){var ins=this.sections[_i13+1];result+=ins<0?this.sections[_i13]:ins;}return result;}},{key:"empty",get:function get(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0;}},{key:"iterGaps",value:function iterGaps(f){for(var _i14=0,posA=0,posB=0;_i14<this.sections.length;){var len=this.sections[_i14++],ins=this.sections[_i14++];if(ins<0){f(posA,posB,len);posB+=len;}else{posB+=ins;}posA+=len;}}},{key:"iterChangedRanges",value:function iterChangedRanges(f){var individual=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;_iterChanges(this,f,individual);}},{key:"invertedDesc",get:function get(){var sections=[];for(var _i15=0;_i15<this.sections.length;){var len=this.sections[_i15++],ins=this.sections[_i15++];if(ins<0)sections.push(len,ins);else sections.push(ins,len);}return new ChangeDesc(sections);}},{key:"composeDesc",value:function composeDesc(other){return this.empty?other:other.empty?this:composeSets(this,other);}},{key:"mapDesc",value:function mapDesc(other){var before=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return other.empty?this:mapSet(this,other,before);}},{key:"mapPos",value:function mapPos(pos){var assoc=arguments.length>1&&arguments[1]!==undefined?arguments[1]:-1;var mode=arguments.length>2&&arguments[2]!==undefined?arguments[2]:MapMode.Simple;var posA=0,posB=0;for(var _i16=0;_i16<this.sections.length;){var len=this.sections[_i16++],ins=this.sections[_i16++],endA=posA+len;if(ins<0){if(endA>pos)return posB+(pos-posA);posB+=len;}else{if(mode!=MapMode.Simple&&endA>=pos&&(mode==MapMode.TrackDel&&posA<pos&&endA>pos||mode==MapMode.TrackBefore&&posA<pos||mode==MapMode.TrackAfter&&endA>pos))return null;if(endA>pos||endA==pos&&assoc<0&&!len)return pos==posA||assoc<0?posB:posB+ins;posB+=ins;}posA=endA;}if(pos>posA)throw new RangeError("Position ".concat(pos," is out of range for changeset of length ").concat(posA));return posB;}},{key:"touchesRange",value:function touchesRange(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:from;for(var _i17=0,pos=0;_i17<this.sections.length&&pos<=to;){var len=this.sections[_i17++],ins=this.sections[_i17++],end=pos+len;if(ins>=0&&pos<=to&&end>=from)return pos<from&&end>to?"cover":true;pos=end;}return false;}},{key:"toString",value:function toString(){var result="";for(var _i18=0;_i18<this.sections.length;){var len=this.sections[_i18++],ins=this.sections[_i18++];result+=(result?" ":"")+len+(ins>=0?":"+ins:"");}return result;}},{key:"toJSON",value:function toJSON(){return this.sections;}}],[{key:"fromJSON",value:function fromJSON(json){if(!Array.isArray(json)||json.length%2||json.some(function(a){return typeof a!="number";}))throw new RangeError("Invalid JSON representation of ChangeDesc");return new ChangeDesc(json);}},{key:"create",value:function create(sections){return new ChangeDesc(sections);}}]);return ChangeDesc;}();var ChangeSet=/*#__PURE__*/function(_ChangeDesc){_inherits(ChangeSet,_ChangeDesc);var _super3=_createSuper(ChangeSet);function ChangeSet(sections,inserted){var _this3;_classCallCheck(this,ChangeSet);_this3=_super3.call(this,sections);_this3.inserted=inserted;return _this3;}_createClass(ChangeSet,[{key:"apply",value:function apply(doc2){if(this.length!=doc2.length)throw new RangeError("Applying change set to a document with the wrong length");_iterChanges(this,function(fromA,toA,fromB,_toB,text){return doc2=doc2.replace(fromB,fromB+(toA-fromA),text);},false);return doc2;}},{key:"mapDesc",value:function mapDesc(other){var before=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return mapSet(this,other,before,true);}},{key:"invert",value:function invert(doc2){var sections=this.sections.slice(),inserted=[];for(var _i19=0,pos=0;_i19<sections.length;_i19+=2){var len=sections[_i19],ins=sections[_i19+1];if(ins>=0){sections[_i19]=ins;sections[_i19+1]=len;var index=_i19>>1;while(inserted.length<index){inserted.push(Text.empty);}inserted.push(len?doc2.slice(pos,pos+len):Text.empty);}pos+=len;}return new ChangeSet(sections,inserted);}},{key:"compose",value:function compose(other){return this.empty?other:other.empty?this:composeSets(this,other,true);}},{key:"map",value:function map(other){var before=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return other.empty?this:mapSet(this,other,before,true);}},{key:"iterChanges",value:function iterChanges(f){var individual=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;_iterChanges(this,f,individual);}},{key:"desc",get:function get(){return ChangeDesc.create(this.sections);}},{key:"filter",value:function filter(ranges){var resultSections=[],resultInserted=[],filteredSections=[];var iter=new SectionIter(this);done:for(var _i20=0,pos=0;;){var next=_i20==ranges.length?1e9:ranges[_i20++];while(pos<next||pos==next&&iter.len==0){if(iter.done)break done;var len=Math.min(iter.len,next-pos);addSection(filteredSections,len,-1);var ins=iter.ins==-1?-1:iter.off==0?iter.ins:0;addSection(resultSections,len,ins);if(ins>0)addInsert(resultInserted,resultSections,iter.text);iter.forward(len);pos+=len;}var end=ranges[_i20++];while(pos<end){if(iter.done)break done;var _len=Math.min(iter.len,end-pos);addSection(resultSections,_len,-1);addSection(filteredSections,_len,iter.ins==-1?-1:iter.off==0?iter.ins:0);iter.forward(_len);pos+=_len;}}return{changes:new ChangeSet(resultSections,resultInserted),filtered:ChangeDesc.create(filteredSections)};}},{key:"toJSON",value:function toJSON(){var parts=[];for(var _i21=0;_i21<this.sections.length;_i21+=2){var len=this.sections[_i21],ins=this.sections[_i21+1];if(ins<0)parts.push(len);else if(ins==0)parts.push([len]);else parts.push([len].concat(this.inserted[_i21>>1].toJSON()));}return parts;}}],[{key:"of",value:function of(changes,length,lineSep){var sections=[],inserted=[],pos=0;var total=null;function flush(){var force=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(!force&&!sections.length)return;if(pos<length)addSection(sections,length-pos,-1);var set=new ChangeSet(sections,inserted);total=total?total.compose(set.map(total)):set;sections=[];inserted=[];pos=0;}function process(spec){if(Array.isArray(spec)){var _iterator10=_createForOfIteratorHelper(spec),_step10;try{for(_iterator10.s();!(_step10=_iterator10.n()).done;){var sub=_step10.value;process(sub);}}catch(err){_iterator10.e(err);}finally{_iterator10.f();}}else if(spec instanceof ChangeSet){if(spec.length!=length)throw new RangeError("Mismatched change set length (got ".concat(spec.length,", expected ").concat(length,")"));flush();total=total?total.compose(spec.map(total)):spec;}else{var from=spec.from,_spec$to=spec.to,to=_spec$to===void 0?from:_spec$to,insert2=spec.insert;if(from>to||from<0||to>length)throw new RangeError("Invalid change range ".concat(from," to ").concat(to," (in doc of length ").concat(length,")"));var insText=!insert2?Text.empty:typeof insert2=="string"?Text.of(insert2.split(lineSep||DefaultSplit)):insert2;var insLen=insText.length;if(from==to&&insLen==0)return;if(from<pos)flush();if(from>pos)addSection(sections,from-pos,-1);addSection(sections,to-from,insLen);addInsert(inserted,sections,insText);pos=to;}}process(changes);flush(!total);return total;}},{key:"empty",value:function empty(length){return new ChangeSet(length?[length,-1]:[],[]);}},{key:"fromJSON",value:function fromJSON(json){if(!Array.isArray(json))throw new RangeError("Invalid JSON representation of ChangeSet");var sections=[],inserted=[];for(var _i22=0;_i22<json.length;_i22++){var part=json[_i22];if(typeof part=="number"){sections.push(part,-1);}else if(!Array.isArray(part)||typeof part[0]!="number"||part.some(function(e,i2){return i2&&typeof e!="string";})){throw new RangeError("Invalid JSON representation of ChangeSet");}else if(part.length==1){sections.push(part[0],0);}else{while(inserted.length<_i22){inserted.push(Text.empty);}inserted[_i22]=Text.of(part.slice(1));sections.push(part[0],inserted[_i22].length);}}return new ChangeSet(sections,inserted);}},{key:"createSet",value:function createSet(sections,inserted){return new ChangeSet(sections,inserted);}}]);return ChangeSet;}(ChangeDesc);function addSection(sections,len,ins){var forceJoin=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;if(len==0&&ins<=0)return;var last=sections.length-2;if(last>=0&&ins<=0&&ins==sections[last+1])sections[last]+=len;else if(len==0&&sections[last]==0)sections[last+1]+=ins;else if(forceJoin){sections[last]+=len;sections[last+1]+=ins;}else sections.push(len,ins);}function addInsert(values,sections,value){if(value.length==0)return;var index=sections.length-2>>1;if(index<values.length){values[values.length-1]=values[values.length-1].append(value);}else{while(values.length<index){values.push(Text.empty);}values.push(value);}}function _iterChanges(desc,f,individual){var inserted=desc.inserted;for(var posA=0,posB=0,_i23=0;_i23<desc.sections.length;){var len=desc.sections[_i23++],ins=desc.sections[_i23++];if(ins<0){posA+=len;posB+=len;}else{var endA=posA,endB=posB,_text=Text.empty;for(;;){endA+=len;endB+=ins;if(ins&&inserted)_text=_text.append(inserted[_i23-2>>1]);if(individual||_i23==desc.sections.length||desc.sections[_i23+1]<0)break;len=desc.sections[_i23++];ins=desc.sections[_i23++];}f(posA,endA,posB,endB,_text);posA=endA;posB=endB;}}}function mapSet(setA,setB,before){var mkSet=arguments.length>3&&arguments[3]!==undefined?arguments[3]:false;var sections=[],insert2=mkSet?[]:null;var a=new SectionIter(setA),b=new SectionIter(setB);for(var inserted=-1;;){if(a.ins==-1&&b.ins==-1){var len=Math.min(a.len,b.len);addSection(sections,len,-1);a.forward(len);b.forward(len);}else if(b.ins>=0&&(a.ins<0||inserted==a.i||a.off==0&&(b.len<a.len||b.len==a.len&&!before))){var _len2=b.len;addSection(sections,b.ins,-1);while(_len2){var piece=Math.min(a.len,_len2);if(a.ins>=0&&inserted<a.i&&a.len<=piece){addSection(sections,0,a.ins);if(insert2)addInsert(insert2,sections,a.text);inserted=a.i;}a.forward(piece);_len2-=piece;}b.next();}else if(a.ins>=0){var _len3=0,left=a.len;while(left){if(b.ins==-1){var _piece=Math.min(left,b.len);_len3+=_piece;left-=_piece;b.forward(_piece);}else if(b.ins==0&&b.len<left){left-=b.len;b.next();}else{break;}}addSection(sections,_len3,inserted<a.i?a.ins:0);if(insert2&&inserted<a.i)addInsert(insert2,sections,a.text);inserted=a.i;a.forward(a.len-left);}else if(a.done&&b.done){return insert2?ChangeSet.createSet(sections,insert2):ChangeDesc.create(sections);}else{throw new Error("Mismatched change set lengths");}}}function composeSets(setA,setB){var mkSet=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var sections=[];var insert2=mkSet?[]:null;var a=new SectionIter(setA),b=new SectionIter(setB);for(var open=false;;){if(a.done&&b.done){return insert2?ChangeSet.createSet(sections,insert2):ChangeDesc.create(sections);}else if(a.ins==0){addSection(sections,a.len,0,open);a.next();}else if(b.len==0&&!b.done){addSection(sections,0,b.ins,open);if(insert2)addInsert(insert2,sections,b.text);b.next();}else if(a.done||b.done){throw new Error("Mismatched change set lengths");}else{var len=Math.min(a.len2,b.len),sectionLen=sections.length;if(a.ins==-1){var insB=b.ins==-1?-1:b.off?0:b.ins;addSection(sections,len,insB,open);if(insert2&&insB)addInsert(insert2,sections,b.text);}else if(b.ins==-1){addSection(sections,a.off?0:a.len,len,open);if(insert2)addInsert(insert2,sections,a.textBit(len));}else{addSection(sections,a.off?0:a.len,b.off?0:b.ins,open);if(insert2&&!b.off)addInsert(insert2,sections,b.text);}open=(a.ins>len||b.ins>=0&&b.len>len)&&(open||sections.length>sectionLen);a.forward2(len);b.forward(len);}}}var SectionIter=/*#__PURE__*/function(){function SectionIter(set){_classCallCheck(this,SectionIter);this.set=set;this.i=0;this.next();}_createClass(SectionIter,[{key:"next",value:function next(){var sections=this.set.sections;if(this.i<sections.length){this.len=sections[this.i++];this.ins=sections[this.i++];}else{this.len=0;this.ins=-2;}this.off=0;}},{key:"done",get:function get(){return this.ins==-2;}},{key:"len2",get:function get(){return this.ins<0?this.len:this.ins;}},{key:"text",get:function get(){var inserted=this.set.inserted,index=this.i-2>>1;return index>=inserted.length?Text.empty:inserted[index];}},{key:"textBit",value:function textBit(len){var inserted=this.set.inserted,index=this.i-2>>1;return index>=inserted.length&&!len?Text.empty:inserted[index].slice(this.off,len==null?void 0:this.off+len);}},{key:"forward",value:function forward(len){if(len==this.len)this.next();else{this.len-=len;this.off+=len;}}},{key:"forward2",value:function forward2(len){if(this.ins==-1)this.forward(len);else if(len==this.ins)this.next();else{this.ins-=len;this.off+=len;}}}]);return SectionIter;}();var SelectionRange=/*#__PURE__*/function(){function SelectionRange(from,to,flags){_classCallCheck(this,SelectionRange);this.from=from;this.to=to;this.flags=flags;}_createClass(SelectionRange,[{key:"anchor",get:function get(){return this.flags&32?this.to:this.from;}},{key:"head",get:function get(){return this.flags&32?this.from:this.to;}},{key:"empty",get:function get(){return this.from==this.to;}},{key:"assoc",get:function get(){return this.flags&8?-1:this.flags&16?1:0;}},{key:"bidiLevel",get:function get(){var level=this.flags&7;return level==7?null:level;}},{key:"goalColumn",get:function get(){var value=this.flags>>6;return value==16777215?void 0:value;}},{key:"map",value:function map(change){var assoc=arguments.length>1&&arguments[1]!==undefined?arguments[1]:-1;var from,to;if(this.empty){from=to=change.mapPos(this.from,assoc);}else{from=change.mapPos(this.from,1);to=change.mapPos(this.to,-1);}return from==this.from&&to==this.to?this:new SelectionRange(from,to,this.flags);}},{key:"extend",value:function extend(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:from;if(from<=this.anchor&&to>=this.anchor)return EditorSelection.range(from,to);var head=Math.abs(from-this.anchor)>Math.abs(to-this.anchor)?from:to;return EditorSelection.range(this.anchor,head);}},{key:"eq",value:function eq(other){var includeAssoc=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return this.anchor==other.anchor&&this.head==other.head&&(!includeAssoc||!this.empty||this.assoc==other.assoc);}},{key:"toJSON",value:function toJSON(){return{anchor:this.anchor,head:this.head};}}],[{key:"fromJSON",value:function fromJSON(json){if(!json||typeof json.anchor!="number"||typeof json.head!="number")throw new RangeError("Invalid JSON representation for SelectionRange");return EditorSelection.range(json.anchor,json.head);}},{key:"create",value:function create(from,to,flags){return new SelectionRange(from,to,flags);}}]);return SelectionRange;}();var EditorSelection=/*#__PURE__*/function(){function EditorSelection(ranges,mainIndex){_classCallCheck(this,EditorSelection);this.ranges=ranges;this.mainIndex=mainIndex;}_createClass(EditorSelection,[{key:"map",value:function map(change){var assoc=arguments.length>1&&arguments[1]!==undefined?arguments[1]:-1;if(change.empty)return this;return EditorSelection.create(this.ranges.map(function(r){return r.map(change,assoc);}),this.mainIndex);}},{key:"eq",value:function eq(other){var includeAssoc=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(this.ranges.length!=other.ranges.length||this.mainIndex!=other.mainIndex)return false;for(var _i24=0;_i24<this.ranges.length;_i24++){if(!this.ranges[_i24].eq(other.ranges[_i24],includeAssoc))return false;}return true;}},{key:"main",get:function get(){return this.ranges[this.mainIndex];}},{key:"asSingle",value:function asSingle(){return this.ranges.length==1?this:new EditorSelection([this.main],0);}},{key:"addRange",value:function addRange(range){var main=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;return EditorSelection.create([range].concat(this.ranges),main?0:this.mainIndex+1);}},{key:"replaceRange",value:function replaceRange(range){var which=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.mainIndex;var ranges=this.ranges.slice();ranges[which]=range;return EditorSelection.create(ranges,this.mainIndex);}},{key:"toJSON",value:function toJSON(){return{ranges:this.ranges.map(function(r){return r.toJSON();}),main:this.mainIndex};}}],[{key:"fromJSON",value:function fromJSON(json){if(!json||!Array.isArray(json.ranges)||typeof json.main!="number"||json.main>=json.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new EditorSelection(json.ranges.map(function(r){return SelectionRange.fromJSON(r);}),json.main);}},{key:"single",value:function single(anchor){var head=arguments.length>1&&arguments[1]!==undefined?arguments[1]:anchor;return new EditorSelection([EditorSelection.range(anchor,head)],0);}},{key:"create",value:function create(ranges){var mainIndex=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;if(ranges.length==0)throw new RangeError("A selection needs at least one range");for(var pos=0,_i25=0;_i25<ranges.length;_i25++){var range=ranges[_i25];if(range.empty?range.from<=pos:range.from<pos)return EditorSelection.normalized(ranges.slice(),mainIndex);pos=range.to;}return new EditorSelection(ranges,mainIndex);}},{key:"cursor",value:function cursor(pos){var assoc=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var bidiLevel=arguments.length>2?arguments[2]:undefined;var goalColumn=arguments.length>3?arguments[3]:undefined;return SelectionRange.create(pos,pos,(assoc==0?0:assoc<0?8:16)|(bidiLevel==null?7:Math.min(6,bidiLevel))|(goalColumn!==null&&goalColumn!==void 0?goalColumn:16777215)<<6);}},{key:"range",value:function range(anchor,head,goalColumn,bidiLevel){var flags=(goalColumn!==null&&goalColumn!==void 0?goalColumn:16777215)<<6|(bidiLevel==null?7:Math.min(6,bidiLevel));return head<anchor?SelectionRange.create(head,anchor,32|16|flags):SelectionRange.create(anchor,head,(head>anchor?8:0)|flags);}},{key:"normalized",value:function normalized(ranges){var mainIndex=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var main=ranges[mainIndex];ranges.sort(function(a,b){return a.from-b.from;});mainIndex=ranges.indexOf(main);for(var _i26=1;_i26<ranges.length;_i26++){var range=ranges[_i26],prev=ranges[_i26-1];if(range.empty?range.from<=prev.to:range.from<prev.to){var from=prev.from,to=Math.max(range.to,prev.to);if(_i26<=mainIndex)mainIndex--;ranges.splice(--_i26,2,range.anchor>range.head?EditorSelection.range(to,from):EditorSelection.range(from,to));}}return new EditorSelection(ranges,mainIndex);}}]);return EditorSelection;}();function checkSelection(selection,docLength){var _iterator11=_createForOfIteratorHelper(selection.ranges),_step11;try{for(_iterator11.s();!(_step11=_iterator11.n()).done;){var range=_step11.value;if(range.to>docLength)throw new RangeError("Selection points outside of document");}}catch(err){_iterator11.e(err);}finally{_iterator11.f();}}var nextID=0;var Facet=/*#__PURE__*/function(){function Facet(combine,compareInput,compare2,isStatic,enables){_classCallCheck(this,Facet);this.combine=combine;this.compareInput=compareInput;this.compare=compare2;this.isStatic=isStatic;this.id=nextID++;this["default"]=combine([]);this.extensions=typeof enables=="function"?enables(this):enables;}_createClass(Facet,[{key:"reader",get:function get(){return this;}},{key:"of",value:function of(value){return new FacetProvider([],this,0,value);}},{key:"compute",value:function compute(deps,get){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(deps,this,1,get);}},{key:"computeN",value:function computeN(deps,get){if(this.isStatic)throw new Error("Can't compute a static facet");return new FacetProvider(deps,this,2,get);}},{key:"from",value:function from(field,get){if(!get)get=function get(x){return x;};return this.compute([field],function(state){return get(state.field(field));});}}],[{key:"define",value:function define(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return new Facet(config2.combine||function(a){return a;},config2.compareInput||function(a,b){return a===b;},config2.compare||(!config2.combine?sameArray:function(a,b){return a===b;}),!!config2["static"],config2.enables);}}]);return Facet;}();function sameArray(a,b){return a==b||a.length==b.length&&a.every(function(e,i){return e===b[i];});}var FacetProvider=/*#__PURE__*/function(){function FacetProvider(dependencies,facet,type,value){_classCallCheck(this,FacetProvider);this.dependencies=dependencies;this.facet=facet;this.type=type;this.value=value;this.id=nextID++;}_createClass(FacetProvider,[{key:"dynamicSlot",value:function dynamicSlot(addresses){var _this4=this;var _a2;var getter=this.value;var compare2=this.facet.compareInput;var id=this.id,idx=addresses[id]>>1,multi=this.type==2;var depDoc=false,depSel=false,depAddrs=[];var _iterator12=_createForOfIteratorHelper(this.dependencies),_step12;try{for(_iterator12.s();!(_step12=_iterator12.n()).done;){var dep=_step12.value;if(dep=="doc")depDoc=true;else if(dep=="selection")depSel=true;else if((((_a2=addresses[dep.id])!==null&&_a2!==void 0?_a2:1)&1)==0)depAddrs.push(addresses[dep.id]);}}catch(err){_iterator12.e(err);}finally{_iterator12.f();}return{create:function create(state){state.values[idx]=getter(state);return 1;},update:function update(state,tr){if(depDoc&&tr.docChanged||depSel&&(tr.docChanged||tr.selection)||ensureAll(state,depAddrs)){var newVal=getter(state);if(multi?!compareArray(newVal,state.values[idx],compare2):!compare2(newVal,state.values[idx])){state.values[idx]=newVal;return 1;}}return 0;},reconfigure:function reconfigure(state,oldState){var newVal,oldAddr=oldState.config.address[id];if(oldAddr!=null){var oldVal=getAddr(oldState,oldAddr);if(_this4.dependencies.every(function(dep){return dep instanceof Facet?oldState.facet(dep)===state.facet(dep):dep instanceof StateField?oldState.field(dep,false)==state.field(dep,false):true;})||(multi?compareArray(newVal=getter(state),oldVal,compare2):compare2(newVal=getter(state),oldVal))){state.values[idx]=oldVal;return 0;}}else{newVal=getter(state);}state.values[idx]=newVal;return 1;}};}}]);return FacetProvider;}();function compareArray(a,b,compare2){if(a.length!=b.length)return false;for(var _i27=0;_i27<a.length;_i27++){if(!compare2(a[_i27],b[_i27]))return false;}return true;}function ensureAll(state,addrs){var changed=false;var _iterator13=_createForOfIteratorHelper(addrs),_step13;try{for(_iterator13.s();!(_step13=_iterator13.n()).done;){var addr=_step13.value;if(ensureAddr(state,addr)&1)changed=true;}}catch(err){_iterator13.e(err);}finally{_iterator13.f();}return changed;}function dynamicFacetSlot(addresses,facet,providers){var providerAddrs=providers.map(function(p){return addresses[p.id];});var providerTypes=providers.map(function(p){return p.type;});var dynamic=providerAddrs.filter(function(p){return!(p&1);});var idx=addresses[facet.id]>>1;function get(state){var values=[];for(var _i28=0;_i28<providerAddrs.length;_i28++){var value=getAddr(state,providerAddrs[_i28]);if(providerTypes[_i28]==2){var _iterator14=_createForOfIteratorHelper(value),_step14;try{for(_iterator14.s();!(_step14=_iterator14.n()).done;){var val=_step14.value;values.push(val);}}catch(err){_iterator14.e(err);}finally{_iterator14.f();}}else values.push(value);}return facet.combine(values);}return{create:function create(state){var _iterator15=_createForOfIteratorHelper(providerAddrs),_step15;try{for(_iterator15.s();!(_step15=_iterator15.n()).done;){var addr=_step15.value;ensureAddr(state,addr);}}catch(err){_iterator15.e(err);}finally{_iterator15.f();}state.values[idx]=get(state);return 1;},update:function update(state,tr){if(!ensureAll(state,dynamic))return 0;var value=get(state);if(facet.compare(value,state.values[idx]))return 0;state.values[idx]=value;return 1;},reconfigure:function reconfigure(state,oldState){var depChanged=ensureAll(state,providerAddrs);var oldProviders=oldState.config.facets[facet.id],oldValue=oldState.facet(facet);if(oldProviders&&!depChanged&&sameArray(providers,oldProviders)){state.values[idx]=oldValue;return 0;}var value=get(state);if(facet.compare(value,oldValue)){state.values[idx]=oldValue;return 0;}state.values[idx]=value;return 1;}};}var initField=/* @__PURE__ */Facet.define({"static":true});var StateField=/*#__PURE__*/function(){function StateField(id,createF,updateF,compareF,spec){_classCallCheck(this,StateField);this.id=id;this.createF=createF;this.updateF=updateF;this.compareF=compareF;this.spec=spec;this.provides=void 0;}_createClass(StateField,[{key:"create",value:function create(state){var _this5=this;var init=state.facet(initField).find(function(i){return i.field==_this5;});return((init===null||init===void 0?void 0:init.create)||this.createF)(state);}},{key:"slot",value:function slot(addresses){var _this6=this;var idx=addresses[this.id]>>1;return{create:function create(state){state.values[idx]=_this6.create(state);return 1;},update:function update(state,tr){var oldVal=state.values[idx];var value=_this6.updateF(oldVal,tr);if(_this6.compareF(oldVal,value))return 0;state.values[idx]=value;return 1;},reconfigure:function reconfigure(state,oldState){if(oldState.config.address[_this6.id]!=null){state.values[idx]=oldState.field(_this6);return 0;}state.values[idx]=_this6.create(state);return 1;}};}},{key:"init",value:function init(create){return[this,initField.of({field:this,create:create})];}},{key:"extension",get:function get(){return this;}}],[{key:"define",value:function define(config2){var field=new StateField(nextID++,config2.create,config2.update,config2.compare||function(a,b){return a===b;},config2);if(config2.provide)field.provides=config2.provide(field);return field;}}]);return StateField;}();var Prec_={lowest:4,low:3,"default":2,high:1,highest:0};function prec(value){return function(ext){return new PrecExtension(ext,value);};}var Prec={highest:/* @__PURE__ */prec(Prec_.highest),high:/* @__PURE__ */prec(Prec_.high),"default":/* @__PURE__ */prec(Prec_["default"]),low:/* @__PURE__ */prec(Prec_.low),lowest:/* @__PURE__ */prec(Prec_.lowest)};var PrecExtension=/*#__PURE__*/_createClass(function PrecExtension(inner,prec2){_classCallCheck(this,PrecExtension);this.inner=inner;this.prec=prec2;});var Compartment=/*#__PURE__*/function(){function Compartment(){_classCallCheck(this,Compartment);}_createClass(Compartment,[{key:"of",value:function of(ext){return new CompartmentInstance(this,ext);}},{key:"reconfigure",value:function reconfigure(content2){return Compartment.reconfigure.of({compartment:this,extension:content2});}},{key:"get",value:function get(state){return state.config.compartments.get(this);}}]);return Compartment;}();var CompartmentInstance=/*#__PURE__*/_createClass(function CompartmentInstance(compartment,inner){_classCallCheck(this,CompartmentInstance);this.compartment=compartment;this.inner=inner;});var Configuration=/*#__PURE__*/function(){function Configuration(base2,compartments,dynamicSlots,address,staticValues,facets){_classCallCheck(this,Configuration);this.base=base2;this.compartments=compartments;this.dynamicSlots=dynamicSlots;this.address=address;this.staticValues=staticValues;this.facets=facets;this.statusTemplate=[];while(this.statusTemplate.length<dynamicSlots.length){this.statusTemplate.push(0);}}_createClass(Configuration,[{key:"staticFacet",value:function staticFacet(facet){var addr=this.address[facet.id];return addr==null?facet["default"]:this.staticValues[addr>>1];}}],[{key:"resolve",value:function resolve(base2,compartments,oldState){var fields=[];var facets=/* @__PURE__ */Object.create(null);var newCompartments=/* @__PURE__ */new Map();var _iterator16=_createForOfIteratorHelper(flatten(base2,compartments,newCompartments)),_step16;try{for(_iterator16.s();!(_step16=_iterator16.n()).done;){var ext=_step16.value;if(ext instanceof StateField)fields.push(ext);else(facets[ext.facet.id]||(facets[ext.facet.id]=[])).push(ext);}}catch(err){_iterator16.e(err);}finally{_iterator16.f();}var address=/* @__PURE__ */Object.create(null);var staticValues=[];var dynamicSlots=[];var _loop=function _loop(){var field=_fields[_i29];address[field.id]=dynamicSlots.length<<1;dynamicSlots.push(function(a){return field.slot(a);});};for(var _i29=0,_fields=fields;_i29<_fields.length;_i29++){_loop();}var oldFacets=oldState===null||oldState===void 0?void 0:oldState.config.facets;var _loop2=function _loop2(id){var providers=facets[id],facet=providers[0].facet;var oldProviders=oldFacets&&oldFacets[id]||[];if(providers.every(function(p){return p.type==0;})){address[facet.id]=staticValues.length<<1|1;if(sameArray(oldProviders,providers)){staticValues.push(oldState.facet(facet));}else{var value=facet.combine(providers.map(function(p){return p.value;}));staticValues.push(oldState&&facet.compare(value,oldState.facet(facet))?oldState.facet(facet):value);}}else{var _iterator17=_createForOfIteratorHelper(providers),_step17;try{var _loop3=function _loop3(){var p=_step17.value;if(p.type==0){address[p.id]=staticValues.length<<1|1;staticValues.push(p.value);}else{address[p.id]=dynamicSlots.length<<1;dynamicSlots.push(function(a){return p.dynamicSlot(a);});}};for(_iterator17.s();!(_step17=_iterator17.n()).done;){_loop3();}}catch(err){_iterator17.e(err);}finally{_iterator17.f();}address[facet.id]=dynamicSlots.length<<1;dynamicSlots.push(function(a){return dynamicFacetSlot(a,facet,providers);});}};for(var id in facets){_loop2(id);}var dynamic=dynamicSlots.map(function(f){return f(address);});return new Configuration(base2,newCompartments,dynamic,address,staticValues,facets);}}]);return Configuration;}();function flatten(extension,compartments,newCompartments){var result=[[],[],[],[],[]];var seen=/* @__PURE__ */new Map();function inner(ext,prec2){var known=seen.get(ext);if(known!=null){if(known<=prec2)return;var found=result[known].indexOf(ext);if(found>-1)result[known].splice(found,1);if(ext instanceof CompartmentInstance)newCompartments["delete"](ext.compartment);}seen.set(ext,prec2);if(Array.isArray(ext)){var _iterator18=_createForOfIteratorHelper(ext),_step18;try{for(_iterator18.s();!(_step18=_iterator18.n()).done;){var e=_step18.value;inner(e,prec2);}}catch(err){_iterator18.e(err);}finally{_iterator18.f();}}else if(ext instanceof CompartmentInstance){if(newCompartments.has(ext.compartment))throw new RangeError("Duplicate use of compartment in extensions");var content2=compartments.get(ext.compartment)||ext.inner;newCompartments.set(ext.compartment,content2);inner(content2,prec2);}else if(ext instanceof PrecExtension){inner(ext.inner,ext.prec);}else if(ext instanceof StateField){result[prec2].push(ext);if(ext.provides)inner(ext.provides,prec2);}else if(ext instanceof FacetProvider){result[prec2].push(ext);if(ext.facet.extensions)inner(ext.facet.extensions,Prec_["default"]);}else{var _content2=ext.extension;if(!_content2)throw new Error("Unrecognized extension value in extension set (".concat(ext,"). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks."));inner(_content2,prec2);}}inner(extension,Prec_["default"]);return result.reduce(function(a,b){return a.concat(b);});}function ensureAddr(state,addr){if(addr&1)return 2;var idx=addr>>1;var status=state.status[idx];if(status==4)throw new Error("Cyclic dependency between fields and/or facets");if(status&2)return status;state.status[idx]=4;var changed=state.computeSlot(state,state.config.dynamicSlots[idx]);return state.status[idx]=2|changed;}function getAddr(state,addr){return addr&1?state.config.staticValues[addr>>1]:state.values[addr>>1];}var languageData=/* @__PURE__ */Facet.define();var allowMultipleSelections=/* @__PURE__ */Facet.define({combine:function combine(values){return values.some(function(v){return v;});},"static":true});var lineSeparator=/* @__PURE__ */Facet.define({combine:function combine(values){return values.length?values[0]:void 0;},"static":true});var changeFilter=/* @__PURE__ */Facet.define();var transactionFilter=/* @__PURE__ */Facet.define();var transactionExtender=/* @__PURE__ */Facet.define();var readOnly=/* @__PURE__ */Facet.define({combine:function combine(values){return values.length?values[0]:false;}});var Annotation=/*#__PURE__*/function(){function Annotation(type,value){_classCallCheck(this,Annotation);this.type=type;this.value=value;}_createClass(Annotation,null,[{key:"define",value:function define(){return new AnnotationType();}}]);return Annotation;}();var AnnotationType=/*#__PURE__*/function(){function AnnotationType(){_classCallCheck(this,AnnotationType);}_createClass(AnnotationType,[{key:"of",value:function of(value){return new Annotation(this,value);}}]);return AnnotationType;}();var StateEffectType=/*#__PURE__*/function(){function StateEffectType(map){_classCallCheck(this,StateEffectType);this.map=map;}_createClass(StateEffectType,[{key:"of",value:function of(value){return new StateEffect(this,value);}}]);return StateEffectType;}();var StateEffect=/*#__PURE__*/function(){function StateEffect(type,value){_classCallCheck(this,StateEffect);this.type=type;this.value=value;}_createClass(StateEffect,[{key:"map",value:function map(mapping){var mapped=this.type.map(this.value,mapping);return mapped===void 0?void 0:mapped==this.value?this:new StateEffect(this.type,mapped);}},{key:"is",value:function is(type){return this.type==type;}}],[{key:"define",value:function define(){var spec=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return new StateEffectType(spec.map||function(v){return v;});}},{key:"mapEffects",value:function mapEffects(effects,mapping){if(!effects.length)return effects;var result=[];var _iterator19=_createForOfIteratorHelper(effects),_step19;try{for(_iterator19.s();!(_step19=_iterator19.n()).done;){var effect=_step19.value;var mapped=effect.map(mapping);if(mapped)result.push(mapped);}}catch(err){_iterator19.e(err);}finally{_iterator19.f();}return result;}}]);return StateEffect;}();StateEffect.reconfigure=/* @__PURE__ */StateEffect.define();StateEffect.appendConfig=/* @__PURE__ */StateEffect.define();var Transaction=/*#__PURE__*/function(){function Transaction(startState,changes,selection,effects,annotations,scrollIntoView3){_classCallCheck(this,Transaction);this.startState=startState;this.changes=changes;this.selection=selection;this.effects=effects;this.annotations=annotations;this.scrollIntoView=scrollIntoView3;this._doc=null;this._state=null;if(selection)checkSelection(selection,changes.newLength);if(!annotations.some(function(a){return a.type==Transaction.time;}))this.annotations=annotations.concat(Transaction.time.of(Date.now()));}_createClass(Transaction,[{key:"newDoc",get:function get(){return this._doc||(this._doc=this.changes.apply(this.startState.doc));}},{key:"newSelection",get:function get(){return this.selection||this.startState.selection.map(this.changes);}},{key:"state",get:function get(){if(!this._state)this.startState.applyTransaction(this);return this._state;}},{key:"annotation",value:function annotation(type){var _iterator20=_createForOfIteratorHelper(this.annotations),_step20;try{for(_iterator20.s();!(_step20=_iterator20.n()).done;){var ann=_step20.value;if(ann.type==type)return ann.value;}}catch(err){_iterator20.e(err);}finally{_iterator20.f();}return void 0;}},{key:"docChanged",get:function get(){return!this.changes.empty;}},{key:"reconfigured",get:function get(){return this.startState.config!=this.state.config;}},{key:"isUserEvent",value:function isUserEvent(event){var e=this.annotation(Transaction.userEvent);return!!(e&&(e==event||e.length>event.length&&e.slice(0,event.length)==event&&e[event.length]=="."));}}],[{key:"create",value:function create(startState,changes,selection,effects,annotations,scrollIntoView3){return new Transaction(startState,changes,selection,effects,annotations,scrollIntoView3);}}]);return Transaction;}();Transaction.time=/* @__PURE__ */Annotation.define();Transaction.userEvent=/* @__PURE__ */Annotation.define();Transaction.addToHistory=/* @__PURE__ */Annotation.define();Transaction.remote=/* @__PURE__ */Annotation.define();function joinRanges(a,b){var result=[];for(var iA=0,iB=0;;){var from=void 0,to=void 0;if(iA<a.length&&(iB==b.length||b[iB]>=a[iA])){from=a[iA++];to=a[iA++];}else if(iB<b.length){from=b[iB++];to=b[iB++];}else return result;if(!result.length||result[result.length-1]<from)result.push(from,to);else if(result[result.length-1]<to)result[result.length-1]=to;}}function mergeTransaction(a,b,sequential){var _a2;var mapForA,mapForB,changes;if(sequential){mapForA=b.changes;mapForB=ChangeSet.empty(b.changes.length);changes=a.changes.compose(b.changes);}else{mapForA=b.changes.map(a.changes);mapForB=a.changes.mapDesc(b.changes,true);changes=a.changes.compose(mapForA);}return{changes:changes,selection:b.selection?b.selection.map(mapForB):(_a2=a.selection)===null||_a2===void 0?void 0:_a2.map(mapForA),effects:StateEffect.mapEffects(a.effects,mapForA).concat(StateEffect.mapEffects(b.effects,mapForB)),annotations:a.annotations.length?a.annotations.concat(b.annotations):b.annotations,scrollIntoView:a.scrollIntoView||b.scrollIntoView};}function resolveTransactionInner(state,spec,docSize){var sel=spec.selection,annotations=asArray(spec.annotations);if(spec.userEvent)annotations=annotations.concat(Transaction.userEvent.of(spec.userEvent));return{changes:spec.changes instanceof ChangeSet?spec.changes:ChangeSet.of(spec.changes||[],docSize,state.facet(lineSeparator)),selection:sel&&(sel instanceof EditorSelection?sel:EditorSelection.single(sel.anchor,sel.head)),effects:asArray(spec.effects),annotations:annotations,scrollIntoView:!!spec.scrollIntoView};}function resolveTransaction(state,specs,filter){var s=resolveTransactionInner(state,specs.length?specs[0]:{},state.doc.length);if(specs.length&&specs[0].filter===false)filter=false;for(var _i30=1;_i30<specs.length;_i30++){if(specs[_i30].filter===false)filter=false;var seq=!!specs[_i30].sequential;s=mergeTransaction(s,resolveTransactionInner(state,specs[_i30],seq?s.changes.newLength:state.doc.length),seq);}var tr=Transaction.create(state,s.changes,s.selection,s.effects,s.annotations,s.scrollIntoView);return extendTransaction(filter?filterTransaction(tr):tr);}function filterTransaction(tr){var state=tr.startState;var result=true;var _iterator21=_createForOfIteratorHelper(state.facet(changeFilter)),_step21;try{for(_iterator21.s();!(_step21=_iterator21.n()).done;){var filter=_step21.value;var value=filter(tr);if(value===false){result=false;break;}if(Array.isArray(value))result=result===true?value:joinRanges(result,value);}}catch(err){_iterator21.e(err);}finally{_iterator21.f();}if(result!==true){var changes,back;if(result===false){back=tr.changes.invertedDesc;changes=ChangeSet.empty(state.doc.length);}else{var filtered=tr.changes.filter(result);changes=filtered.changes;back=filtered.filtered.mapDesc(filtered.changes).invertedDesc;}tr=Transaction.create(state,changes,tr.selection&&tr.selection.map(back),StateEffect.mapEffects(tr.effects,back),tr.annotations,tr.scrollIntoView);}var filters=state.facet(transactionFilter);for(var _i31=filters.length-1;_i31>=0;_i31--){var _filtered=filters[_i31](tr);if(_filtered instanceof Transaction)tr=_filtered;else if(Array.isArray(_filtered)&&_filtered.length==1&&_filtered[0]instanceof Transaction)tr=_filtered[0];else tr=resolveTransaction(state,asArray(_filtered),false);}return tr;}function extendTransaction(tr){var state=tr.startState,extenders=state.facet(transactionExtender),spec=tr;for(var _i32=extenders.length-1;_i32>=0;_i32--){var extension=extenders[_i32](tr);if(extension&&Object.keys(extension).length)spec=mergeTransaction(spec,resolveTransactionInner(state,extension,tr.changes.newLength),true);}return spec==tr?tr:Transaction.create(state,tr.changes,tr.selection,spec.effects,spec.annotations,spec.scrollIntoView);}var none=[];function asArray(value){return value==null?none:Array.isArray(value)?value:[value];}var CharCategory=/* @__PURE__ */function(CharCategory2){CharCategory2[CharCategory2["Word"]=0]="Word";CharCategory2[CharCategory2["Space"]=1]="Space";CharCategory2[CharCategory2["Other"]=2]="Other";return CharCategory2;}(CharCategory||(CharCategory={}));var nonASCIISingleCaseWordChar=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;var wordChar;try{wordChar=/* @__PURE__ */new RegExp("[\\p{Alphabetic}\\p{Number}_]","u");}catch(_){}function hasWordChar(str){if(wordChar)return wordChar.test(str);for(var _i33=0;_i33<str.length;_i33++){var ch=str[_i33];if(/\w/.test(ch)||ch>"\x80"&&(ch.toUpperCase()!=ch.toLowerCase()||nonASCIISingleCaseWordChar.test(ch)))return true;}return false;}function makeCategorizer(wordChars){return function(_char){if(!/\S/.test(_char))return CharCategory.Space;if(hasWordChar(_char))return CharCategory.Word;for(var _i34=0;_i34<wordChars.length;_i34++){if(_char.indexOf(wordChars[_i34])>-1)return CharCategory.Word;}return CharCategory.Other;};}var EditorState=/*#__PURE__*/function(){function EditorState(config2,doc2,selection,values,computeSlot,tr){_classCallCheck(this,EditorState);this.config=config2;this.doc=doc2;this.selection=selection;this.values=values;this.status=config2.statusTemplate.slice();this.computeSlot=computeSlot;if(tr)tr._state=this;for(var _i35=0;_i35<this.config.dynamicSlots.length;_i35++){ensureAddr(this,_i35<<1);}this.computeSlot=null;}_createClass(EditorState,[{key:"field",value:function field(_field){var require2=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;var addr=this.config.address[_field.id];if(addr==null){if(require2)throw new RangeError("Field is not present in this state");return void 0;}ensureAddr(this,addr);return getAddr(this,addr);}},{key:"update",value:function update(){for(var _len4=arguments.length,specs=new Array(_len4),_key=0;_key<_len4;_key++){specs[_key]=arguments[_key];}return resolveTransaction(this,specs,true);}},{key:"applyTransaction",value:function applyTransaction(tr){var _this7=this;var conf=this.config,_conf=conf,base2=_conf.base,compartments=_conf.compartments;var _iterator22=_createForOfIteratorHelper(tr.effects),_step22;try{for(_iterator22.s();!(_step22=_iterator22.n()).done;){var effect=_step22.value;if(effect.is(Compartment.reconfigure)){if(conf){compartments=/* @__PURE__ */new Map();conf.compartments.forEach(function(val,key){return compartments.set(key,val);});conf=null;}compartments.set(effect.value.compartment,effect.value.extension);}else if(effect.is(StateEffect.reconfigure)){conf=null;base2=effect.value;}else if(effect.is(StateEffect.appendConfig)){conf=null;base2=asArray(base2).concat(effect.value);}}}catch(err){_iterator22.e(err);}finally{_iterator22.f();}var startValues;if(!conf){conf=Configuration.resolve(base2,compartments,this);var intermediateState=new EditorState(conf,this.doc,this.selection,conf.dynamicSlots.map(function(){return null;}),function(state,slot){return slot.reconfigure(state,_this7);},null);startValues=intermediateState.values;}else{startValues=tr.startState.values.slice();}var selection=tr.startState.facet(allowMultipleSelections)?tr.newSelection:tr.newSelection.asSingle();new EditorState(conf,tr.newDoc,selection,startValues,function(state,slot){return slot.update(state,tr);},tr);}},{key:"replaceSelection",value:function replaceSelection(text){if(typeof text=="string")text=this.toText(text);return this.changeByRange(function(range){return{changes:{from:range.from,to:range.to,insert:text},range:EditorSelection.cursor(range.from+text.length)};});}},{key:"changeByRange",value:function changeByRange(f){var sel=this.selection;var result1=f(sel.ranges[0]);var changes=this.changes(result1.changes),ranges=[result1.range];var effects=asArray(result1.effects);for(var _i36=1;_i36<sel.ranges.length;_i36++){var result=f(sel.ranges[_i36]);var newChanges=this.changes(result.changes),newMapped=newChanges.map(changes);for(var j=0;j<_i36;j++){ranges[j]=ranges[j].map(newMapped);}var mapBy=changes.mapDesc(newChanges,true);ranges.push(result.range.map(mapBy));changes=changes.compose(newMapped);effects=StateEffect.mapEffects(effects,newMapped).concat(StateEffect.mapEffects(asArray(result.effects),mapBy));}return{changes:changes,selection:EditorSelection.create(ranges,sel.mainIndex),effects:effects};}},{key:"changes",value:function changes(){var spec=arguments.length>0&&arguments[0]!==undefined?arguments[0]:[];if(spec instanceof ChangeSet)return spec;return ChangeSet.of(spec,this.doc.length,this.facet(EditorState.lineSeparator));}},{key:"toText",value:function toText(string2){return Text.of(string2.split(this.facet(EditorState.lineSeparator)||DefaultSplit));}},{key:"sliceDoc",value:function sliceDoc(){var from=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.doc.length;return this.doc.sliceString(from,to,this.lineBreak);}},{key:"facet",value:function facet(_facet){var addr=this.config.address[_facet.id];if(addr==null)return _facet["default"];ensureAddr(this,addr);return getAddr(this,addr);}},{key:"toJSON",value:function toJSON(fields){var result={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(fields)for(var prop in fields){var value=fields[prop];if(value instanceof StateField&&this.config.address[value.id]!=null)result[prop]=value.spec.toJSON(this.field(fields[prop]),this);}return result;}},{key:"tabSize",get:function get(){return this.facet(EditorState.tabSize);}},{key:"lineBreak",get:function get(){return this.facet(EditorState.lineSeparator)||"\n";}},{key:"readOnly",get:function get(){return this.facet(readOnly);}},{key:"phrase",value:function phrase(phrase2){for(var _len5=arguments.length,insert2=new Array(_len5>1?_len5-1:0),_key2=1;_key2<_len5;_key2++){insert2[_key2-1]=arguments[_key2];}var _iterator23=_createForOfIteratorHelper(this.facet(EditorState.phrases)),_step23;try{for(_iterator23.s();!(_step23=_iterator23.n()).done;){var map=_step23.value;if(Object.prototype.hasOwnProperty.call(map,phrase2)){phrase2=map[phrase2];break;}}}catch(err){_iterator23.e(err);}finally{_iterator23.f();}if(insert2.length)phrase2=phrase2.replace(/\$(\$|\d*)/g,function(m,i){if(i=="$")return"$";var n=+(i||1);return!n||n>insert2.length?m:insert2[n-1];});return phrase2;}},{key:"languageDataAt",value:function languageDataAt(name2,pos){var side=arguments.length>2&&arguments[2]!==undefined?arguments[2]:-1;var values=[];var _iterator24=_createForOfIteratorHelper(this.facet(languageData)),_step24;try{for(_iterator24.s();!(_step24=_iterator24.n()).done;){var provider=_step24.value;var _iterator25=_createForOfIteratorHelper(provider(this,pos,side)),_step25;try{for(_iterator25.s();!(_step25=_iterator25.n()).done;){var result=_step25.value;if(Object.prototype.hasOwnProperty.call(result,name2))values.push(result[name2]);}}catch(err){_iterator25.e(err);}finally{_iterator25.f();}}}catch(err){_iterator24.e(err);}finally{_iterator24.f();}return values;}},{key:"charCategorizer",value:function charCategorizer(at){return makeCategorizer(this.languageDataAt("wordChars",at).join(""));}},{key:"wordAt",value:function wordAt(pos){var _this$doc$lineAt=this.doc.lineAt(pos),text=_this$doc$lineAt.text,from=_this$doc$lineAt.from,length=_this$doc$lineAt.length;var cat=this.charCategorizer(pos);var start=pos-from,end=pos-from;while(start>0){var prev=findClusterBreak(text,start,false);if(cat(text.slice(prev,start))!=CharCategory.Word)break;start=prev;}while(end<length){var next=findClusterBreak(text,end);if(cat(text.slice(end,next))!=CharCategory.Word)break;end=next;}return start==end?null:EditorSelection.range(start+from,end+from);}}],[{key:"fromJSON",value:function fromJSON(json){var config2=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var fields=arguments.length>2?arguments[2]:undefined;if(!json||typeof json.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");var fieldInit=[];if(fields)for(var prop in fields){if(Object.prototype.hasOwnProperty.call(json,prop)){(function(){var field=fields[prop],value=json[prop];fieldInit.push(field.init(function(state){return field.spec.fromJSON(value,state);}));})();}}return EditorState.create({doc:json.doc,selection:EditorSelection.fromJSON(json.selection),extensions:config2.extensions?fieldInit.concat([config2.extensions]):fieldInit});}},{key:"create",value:function create(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var configuration=Configuration.resolve(config2.extensions||[],/* @__PURE__ */new Map());var doc2=config2.doc instanceof Text?config2.doc:Text.of((config2.doc||"").split(configuration.staticFacet(EditorState.lineSeparator)||DefaultSplit));var selection=!config2.selection?EditorSelection.single(0):config2.selection instanceof EditorSelection?config2.selection:EditorSelection.single(config2.selection.anchor,config2.selection.head);checkSelection(selection,doc2.length);if(!configuration.staticFacet(allowMultipleSelections))selection=selection.asSingle();return new EditorState(configuration,doc2,selection,configuration.dynamicSlots.map(function(){return null;}),function(state,slot){return slot.create(state);},null);}}]);return EditorState;}();EditorState.allowMultipleSelections=allowMultipleSelections;EditorState.tabSize=/* @__PURE__ */Facet.define({combine:function combine(values){return values.length?values[0]:4;}});EditorState.lineSeparator=lineSeparator;EditorState.readOnly=readOnly;EditorState.phrases=/* @__PURE__ */Facet.define({compare:function compare(a,b){var kA=Object.keys(a),kB=Object.keys(b);return kA.length==kB.length&&kA.every(function(k){return a[k]==b[k];});}});EditorState.languageData=languageData;EditorState.changeFilter=changeFilter;EditorState.transactionFilter=transactionFilter;EditorState.transactionExtender=transactionExtender;Compartment.reconfigure=/* @__PURE__ */StateEffect.define();function combineConfig(configs,defaults3){var combine=arguments.length>2&&arguments[2]!==undefined?arguments[2]:{};var result={};var _iterator26=_createForOfIteratorHelper(configs),_step26;try{for(_iterator26.s();!(_step26=_iterator26.n()).done;){var config2=_step26.value;for(var _i37=0,_Object$keys=Object.keys(config2);_i37<_Object$keys.length;_i37++){var _key3=_Object$keys[_i37];var value=config2[_key3],current=result[_key3];if(current===void 0)result[_key3]=value;else if(current===value||value===void 0);else if(Object.hasOwnProperty.call(combine,_key3))result[_key3]=combine[_key3](current,value);else throw new Error("Config merge conflict for field "+_key3);}}}catch(err){_iterator26.e(err);}finally{_iterator26.f();}for(var key in defaults3){if(result[key]===void 0)result[key]=defaults3[key];}return result;}var RangeValue=/*#__PURE__*/function(){function RangeValue(){_classCallCheck(this,RangeValue);}_createClass(RangeValue,[{key:"eq",value:function eq(other){return this==other;}},{key:"range",value:function range(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:from;return Range.create(from,to,this);}}]);return RangeValue;}();RangeValue.prototype.startSide=RangeValue.prototype.endSide=0;RangeValue.prototype.point=false;RangeValue.prototype.mapMode=MapMode.TrackDel;var Range=/*#__PURE__*/function(){function Range(from,to,value){_classCallCheck(this,Range);this.from=from;this.to=to;this.value=value;}_createClass(Range,null,[{key:"create",value:function create(from,to,value){return new Range(from,to,value);}}]);return Range;}();function cmpRange(a,b){return a.from-b.from||a.value.startSide-b.value.startSide;}var Chunk=/*#__PURE__*/function(){function Chunk(from,to,value,maxPoint){_classCallCheck(this,Chunk);this.from=from;this.to=to;this.value=value;this.maxPoint=maxPoint;}_createClass(Chunk,[{key:"length",get:function get(){return this.to[this.to.length-1];}},{key:"findIndex",value:function findIndex(pos,side,end){var startAt=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var arr=end?this.to:this.from;for(var lo=startAt,hi=arr.length;;){if(lo==hi)return lo;var mid=lo+hi>>1;var diff=arr[mid]-pos||(end?this.value[mid].endSide:this.value[mid].startSide)-side;if(mid==lo)return diff>=0?lo:hi;if(diff>=0)hi=mid;else lo=mid+1;}}},{key:"between",value:function between(offset,from,to,f){for(var _i38=this.findIndex(from,-1e9,true),e=this.findIndex(to,1e9,false,_i38);_i38<e;_i38++){if(f(this.from[_i38]+offset,this.to[_i38]+offset,this.value[_i38])===false)return false;}}},{key:"map",value:function map(offset,changes){var value=[],from=[],to=[],newPos=-1,maxPoint=-1;for(var _i39=0;_i39<this.value.length;_i39++){var val=this.value[_i39],curFrom=this.from[_i39]+offset,curTo=this.to[_i39]+offset,newFrom=void 0,newTo=void 0;if(curFrom==curTo){var mapped=changes.mapPos(curFrom,val.startSide,val.mapMode);if(mapped==null)continue;newFrom=newTo=mapped;if(val.startSide!=val.endSide){newTo=changes.mapPos(curFrom,val.endSide);if(newTo<newFrom)continue;}}else{newFrom=changes.mapPos(curFrom,val.startSide);newTo=changes.mapPos(curTo,val.endSide);if(newFrom>newTo||newFrom==newTo&&val.startSide>0&&val.endSide<=0)continue;}if((newTo-newFrom||val.endSide-val.startSide)<0)continue;if(newPos<0)newPos=newFrom;if(val.point)maxPoint=Math.max(maxPoint,newTo-newFrom);value.push(val);from.push(newFrom-newPos);to.push(newTo-newPos);}return{mapped:value.length?new Chunk(from,to,value,maxPoint):null,pos:newPos};}}]);return Chunk;}();var RangeSet=/*#__PURE__*/function(){function RangeSet(chunkPos,chunk,nextLayer,maxPoint){_classCallCheck(this,RangeSet);this.chunkPos=chunkPos;this.chunk=chunk;this.nextLayer=nextLayer;this.maxPoint=maxPoint;}_createClass(RangeSet,[{key:"length",get:function get(){var last=this.chunk.length-1;return last<0?0:Math.max(this.chunkEnd(last),this.nextLayer.length);}},{key:"size",get:function get(){if(this.isEmpty)return 0;var size=this.nextLayer.size;var _iterator27=_createForOfIteratorHelper(this.chunk),_step27;try{for(_iterator27.s();!(_step27=_iterator27.n()).done;){var chunk=_step27.value;size+=chunk.value.length;}}catch(err){_iterator27.e(err);}finally{_iterator27.f();}return size;}},{key:"chunkEnd",value:function chunkEnd(index){return this.chunkPos[index]+this.chunk[index].length;}},{key:"update",value:function update(updateSpec){var _updateSpec$add=updateSpec.add,add2=_updateSpec$add===void 0?[]:_updateSpec$add,_updateSpec$sort=updateSpec.sort,sort=_updateSpec$sort===void 0?false:_updateSpec$sort,_updateSpec$filterFro=updateSpec.filterFrom,filterFrom=_updateSpec$filterFro===void 0?0:_updateSpec$filterFro,_updateSpec$filterTo=updateSpec.filterTo,filterTo=_updateSpec$filterTo===void 0?this.length:_updateSpec$filterTo;var filter=updateSpec.filter;if(add2.length==0&&!filter)return this;if(sort)add2=add2.slice().sort(cmpRange);if(this.isEmpty)return add2.length?RangeSet.of(add2):this;var cur2=new LayerCursor(this,null,-1)["goto"](0),i=0,spill=[];var builder=new RangeSetBuilder();while(cur2.value||i<add2.length){if(i<add2.length&&(cur2.from-add2[i].from||cur2.startSide-add2[i].value.startSide)>=0){var range=add2[i++];if(!builder.addInner(range.from,range.to,range.value))spill.push(range);}else if(cur2.rangeIndex==1&&cur2.chunkIndex<this.chunk.length&&(i==add2.length||this.chunkEnd(cur2.chunkIndex)<add2[i].from)&&(!filter||filterFrom>this.chunkEnd(cur2.chunkIndex)||filterTo<this.chunkPos[cur2.chunkIndex])&&builder.addChunk(this.chunkPos[cur2.chunkIndex],this.chunk[cur2.chunkIndex])){cur2.nextChunk();}else{if(!filter||filterFrom>cur2.to||filterTo<cur2.from||filter(cur2.from,cur2.to,cur2.value)){if(!builder.addInner(cur2.from,cur2.to,cur2.value))spill.push(Range.create(cur2.from,cur2.to,cur2.value));}cur2.next();}}return builder.finishInner(this.nextLayer.isEmpty&&!spill.length?RangeSet.empty:this.nextLayer.update({add:spill,filter:filter,filterFrom:filterFrom,filterTo:filterTo}));}},{key:"map",value:function map(changes){if(changes.empty||this.isEmpty)return this;var chunks=[],chunkPos=[],maxPoint=-1;for(var _i40=0;_i40<this.chunk.length;_i40++){var start=this.chunkPos[_i40],chunk=this.chunk[_i40];var touch=changes.touchesRange(start,start+chunk.length);if(touch===false){maxPoint=Math.max(maxPoint,chunk.maxPoint);chunks.push(chunk);chunkPos.push(changes.mapPos(start));}else if(touch===true){var _chunk$map=chunk.map(start,changes),mapped=_chunk$map.mapped,pos=_chunk$map.pos;if(mapped){maxPoint=Math.max(maxPoint,mapped.maxPoint);chunks.push(mapped);chunkPos.push(pos);}}}var next=this.nextLayer.map(changes);return chunks.length==0?next:new RangeSet(chunkPos,chunks,next||RangeSet.empty,maxPoint);}},{key:"between",value:function between(from,to,f){if(this.isEmpty)return;for(var _i41=0;_i41<this.chunk.length;_i41++){var start=this.chunkPos[_i41],chunk=this.chunk[_i41];if(to>=start&&from<=start+chunk.length&&chunk.between(start,from-start,to-start,f)===false)return;}this.nextLayer.between(from,to,f);}},{key:"iter",value:function iter(){var from=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;return HeapCursor.from([this])["goto"](from);}},{key:"isEmpty",get:function get(){return this.nextLayer==this;}}],[{key:"create",value:function create(chunkPos,chunk,nextLayer,maxPoint){return new RangeSet(chunkPos,chunk,nextLayer,maxPoint);}},{key:"iter",value:function iter(sets){var from=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;return HeapCursor.from(sets)["goto"](from);}},{key:"compare",value:function compare(oldSets,newSets,textDiff,comparator){var minPointSize=arguments.length>4&&arguments[4]!==undefined?arguments[4]:-1;var a=oldSets.filter(function(set){return set.maxPoint>0||!set.isEmpty&&set.maxPoint>=minPointSize;});var b=newSets.filter(function(set){return set.maxPoint>0||!set.isEmpty&&set.maxPoint>=minPointSize;});var sharedChunks=findSharedChunks(a,b,textDiff);var sideA=new SpanCursor(a,sharedChunks,minPointSize);var sideB=new SpanCursor(b,sharedChunks,minPointSize);textDiff.iterGaps(function(fromA,fromB,length){return _compare(sideA,fromA,sideB,fromB,length,comparator);});if(textDiff.empty&&textDiff.length==0)_compare(sideA,0,sideB,0,0,comparator);}},{key:"eq",value:function eq(oldSets,newSets){var from=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var to=arguments.length>3?arguments[3]:undefined;if(to==null)to=1e9-1;var a=oldSets.filter(function(set){return!set.isEmpty&&newSets.indexOf(set)<0;});var b=newSets.filter(function(set){return!set.isEmpty&&oldSets.indexOf(set)<0;});if(a.length!=b.length)return false;if(!a.length)return true;var sharedChunks=findSharedChunks(a,b);var sideA=new SpanCursor(a,sharedChunks,0)["goto"](from),sideB=new SpanCursor(b,sharedChunks,0)["goto"](from);for(;;){if(sideA.to!=sideB.to||!sameValues(sideA.active,sideB.active)||sideA.point&&(!sideB.point||!sideA.point.eq(sideB.point)))return false;if(sideA.to>to)return true;sideA.next();sideB.next();}}},{key:"spans",value:function spans(sets,from,to,iterator){var minPointSize=arguments.length>4&&arguments[4]!==undefined?arguments[4]:-1;var cursor=new SpanCursor(sets,null,minPointSize)["goto"](from),pos=from;var openRanges=cursor.openStart;for(;;){var curTo=Math.min(cursor.to,to);if(cursor.point){var active=cursor.activeForPoint(cursor.to);var openCount=cursor.pointFrom<from?active.length+1:cursor.point.startSide<0?active.length:Math.min(active.length,openRanges);iterator.point(pos,curTo,cursor.point,active,openCount,cursor.pointRank);openRanges=Math.min(cursor.openEnd(curTo),active.length);}else if(curTo>pos){iterator.span(pos,curTo,cursor.active,openRanges);openRanges=cursor.openEnd(curTo);}if(cursor.to>to)return openRanges+(cursor.point&&cursor.to>to?1:0);pos=cursor.to;cursor.next();}}},{key:"of",value:function of(ranges){var sort=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var build=new RangeSetBuilder();var _iterator28=_createForOfIteratorHelper(ranges instanceof Range?[ranges]:sort?lazySort(ranges):ranges),_step28;try{for(_iterator28.s();!(_step28=_iterator28.n()).done;){var range=_step28.value;build.add(range.from,range.to,range.value);}}catch(err){_iterator28.e(err);}finally{_iterator28.f();}return build.finish();}},{key:"join",value:function join(sets){if(!sets.length)return RangeSet.empty;var result=sets[sets.length-1];for(var _i42=sets.length-2;_i42>=0;_i42--){for(var layer2=sets[_i42];layer2!=RangeSet.empty;layer2=layer2.nextLayer){result=new RangeSet(layer2.chunkPos,layer2.chunk,result,Math.max(layer2.maxPoint,result.maxPoint));}}return result;}}]);return RangeSet;}();RangeSet.empty=/* @__PURE__ */new RangeSet([],[],null,-1);function lazySort(ranges){if(ranges.length>1)for(var prev=ranges[0],_i43=1;_i43<ranges.length;_i43++){var cur2=ranges[_i43];if(cmpRange(prev,cur2)>0)return ranges.slice().sort(cmpRange);prev=cur2;}return ranges;}RangeSet.empty.nextLayer=RangeSet.empty;var RangeSetBuilder=/*#__PURE__*/function(){function RangeSetBuilder(){_classCallCheck(this,RangeSetBuilder);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;}_createClass(RangeSetBuilder,[{key:"finishChunk",value:function finishChunk(newArrays){this.chunks.push(new Chunk(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;if(newArrays){this.from=[];this.to=[];this.value=[];}}},{key:"add",value:function add(from,to,value){if(!this.addInner(from,to,value))(this.nextLayer||(this.nextLayer=new RangeSetBuilder())).add(from,to,value);}},{key:"addInner",value:function addInner(from,to,value){var diff=from-this.lastTo||value.startSide-this.last.endSide;if(diff<=0&&(from-this.lastFrom||value.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");if(diff<0)return false;if(this.from.length==250)this.finishChunk(true);if(this.chunkStart<0)this.chunkStart=from;this.from.push(from-this.chunkStart);this.to.push(to-this.chunkStart);this.last=value;this.lastFrom=from;this.lastTo=to;this.value.push(value);if(value.point)this.maxPoint=Math.max(this.maxPoint,to-from);return true;}},{key:"addChunk",value:function addChunk(from,chunk){if((from-this.lastTo||chunk.value[0].startSide-this.last.endSide)<0)return false;if(this.from.length)this.finishChunk(true);this.setMaxPoint=Math.max(this.setMaxPoint,chunk.maxPoint);this.chunks.push(chunk);this.chunkPos.push(from);var last=chunk.value.length-1;this.last=chunk.value[last];this.lastFrom=chunk.from[last]+from;this.lastTo=chunk.to[last]+from;return true;}},{key:"finish",value:function finish(){return this.finishInner(RangeSet.empty);}},{key:"finishInner",value:function finishInner(next){if(this.from.length)this.finishChunk(false);if(this.chunks.length==0)return next;var result=RangeSet.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(next):next,this.setMaxPoint);this.from=null;return result;}}]);return RangeSetBuilder;}();function findSharedChunks(a,b,textDiff){var inA=/* @__PURE__ */new Map();var _iterator29=_createForOfIteratorHelper(a),_step29;try{for(_iterator29.s();!(_step29=_iterator29.n()).done;){var set=_step29.value;for(var _i44=0;_i44<set.chunk.length;_i44++){if(set.chunk[_i44].maxPoint<=0)inA.set(set.chunk[_i44],set.chunkPos[_i44]);}}}catch(err){_iterator29.e(err);}finally{_iterator29.f();}var shared=/* @__PURE__ */new Set();var _iterator30=_createForOfIteratorHelper(b),_step30;try{for(_iterator30.s();!(_step30=_iterator30.n()).done;){var _set=_step30.value;for(var _i45=0;_i45<_set.chunk.length;_i45++){var known=inA.get(_set.chunk[_i45]);if(known!=null&&(textDiff?textDiff.mapPos(known):known)==_set.chunkPos[_i45]&&!(textDiff===null||textDiff===void 0?void 0:textDiff.touchesRange(known,known+_set.chunk[_i45].length)))shared.add(_set.chunk[_i45]);}}}catch(err){_iterator30.e(err);}finally{_iterator30.f();}return shared;}var LayerCursor=/*#__PURE__*/function(){function LayerCursor(layer2,skip,minPoint){var rank=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;_classCallCheck(this,LayerCursor);this.layer=layer2;this.skip=skip;this.minPoint=minPoint;this.rank=rank;}_createClass(LayerCursor,[{key:"startSide",get:function get(){return this.value?this.value.startSide:0;}},{key:"endSide",get:function get(){return this.value?this.value.endSide:0;}},{key:"goto",value:function goto(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:-1e9;this.chunkIndex=this.rangeIndex=0;this.gotoInner(pos,side,false);return this;}},{key:"gotoInner",value:function gotoInner(pos,side,forward){while(this.chunkIndex<this.layer.chunk.length){var next=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(next)||this.layer.chunkEnd(this.chunkIndex)<pos||next.maxPoint<this.minPoint))break;this.chunkIndex++;forward=false;}if(this.chunkIndex<this.layer.chunk.length){var rangeIndex=this.layer.chunk[this.chunkIndex].findIndex(pos-this.layer.chunkPos[this.chunkIndex],side,true);if(!forward||this.rangeIndex<rangeIndex)this.setRangeIndex(rangeIndex);}this.next();}},{key:"forward",value:function forward(pos,side){if((this.to-pos||this.endSide-side)<0)this.gotoInner(pos,side,true);}},{key:"next",value:function next(){for(;;){if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9;this.value=null;break;}else{var chunkPos=this.layer.chunkPos[this.chunkIndex],chunk=this.layer.chunk[this.chunkIndex];var from=chunkPos+chunk.from[this.rangeIndex];this.from=from;this.to=chunkPos+chunk.to[this.rangeIndex];this.value=chunk.value[this.rangeIndex];this.setRangeIndex(this.rangeIndex+1);if(this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break;}}}},{key:"setRangeIndex",value:function setRangeIndex(index){if(index==this.layer.chunk[this.chunkIndex].value.length){this.chunkIndex++;if(this.skip){while(this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex])){this.chunkIndex++;}}this.rangeIndex=0;}else{this.rangeIndex=index;}}},{key:"nextChunk",value:function nextChunk(){this.chunkIndex++;this.rangeIndex=0;this.next();}},{key:"compare",value:function compare(other){return this.from-other.from||this.startSide-other.startSide||this.rank-other.rank||this.to-other.to||this.endSide-other.endSide;}}]);return LayerCursor;}();var HeapCursor=/*#__PURE__*/function(){function HeapCursor(heap){_classCallCheck(this,HeapCursor);this.heap=heap;}_createClass(HeapCursor,[{key:"startSide",get:function get(){return this.value?this.value.startSide:0;}},{key:"goto",value:function goto(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:-1e9;var _iterator31=_createForOfIteratorHelper(this.heap),_step31;try{for(_iterator31.s();!(_step31=_iterator31.n()).done;){var cur2=_step31.value;cur2["goto"](pos,side);}}catch(err){_iterator31.e(err);}finally{_iterator31.f();}for(var _i46=this.heap.length>>1;_i46>=0;_i46--){heapBubble(this.heap,_i46);}this.next();return this;}},{key:"forward",value:function forward(pos,side){var _iterator32=_createForOfIteratorHelper(this.heap),_step32;try{for(_iterator32.s();!(_step32=_iterator32.n()).done;){var cur2=_step32.value;cur2.forward(pos,side);}}catch(err){_iterator32.e(err);}finally{_iterator32.f();}for(var _i47=this.heap.length>>1;_i47>=0;_i47--){heapBubble(this.heap,_i47);}if((this.to-pos||this.value.endSide-side)<0)this.next();}},{key:"next",value:function next(){if(this.heap.length==0){this.from=this.to=1e9;this.value=null;this.rank=-1;}else{var top2=this.heap[0];this.from=top2.from;this.to=top2.to;this.value=top2.value;this.rank=top2.rank;if(top2.value)top2.next();heapBubble(this.heap,0);}}}],[{key:"from",value:function from(sets){var skip=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var minPoint=arguments.length>2&&arguments[2]!==undefined?arguments[2]:-1;var heap=[];for(var _i48=0;_i48<sets.length;_i48++){for(var cur2=sets[_i48];!cur2.isEmpty;cur2=cur2.nextLayer){if(cur2.maxPoint>=minPoint)heap.push(new LayerCursor(cur2,skip,minPoint,_i48));}}return heap.length==1?heap[0]:new HeapCursor(heap);}}]);return HeapCursor;}();function heapBubble(heap,index){for(var cur2=heap[index];;){var childIndex=(index<<1)+1;if(childIndex>=heap.length)break;var child=heap[childIndex];if(childIndex+1<heap.length&&child.compare(heap[childIndex+1])>=0){child=heap[childIndex+1];childIndex++;}if(cur2.compare(child)<0)break;heap[childIndex]=cur2;heap[index]=child;index=childIndex;}}var SpanCursor=/*#__PURE__*/function(){function SpanCursor(sets,skip,minPoint){_classCallCheck(this,SpanCursor);this.minPoint=minPoint;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=HeapCursor.from(sets,skip,minPoint);}_createClass(SpanCursor,[{key:"goto",value:function goto(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:-1e9;this.cursor["goto"](pos,side);this.active.length=this.activeTo.length=this.activeRank.length=0;this.minActive=-1;this.to=pos;this.endSide=side;this.openStart=-1;this.next();return this;}},{key:"forward",value:function forward(pos,side){while(this.minActive>-1&&(this.activeTo[this.minActive]-pos||this.active[this.minActive].endSide-side)<0){this.removeActive(this.minActive);}this.cursor.forward(pos,side);}},{key:"removeActive",value:function removeActive(index){remove(this.active,index);remove(this.activeTo,index);remove(this.activeRank,index);this.minActive=findMinIndex(this.active,this.activeTo);}},{key:"addActive",value:function addActive(trackOpen){var i=0,_this$cursor=this.cursor,value=_this$cursor.value,to=_this$cursor.to,rank=_this$cursor.rank;while(i<this.activeRank.length&&(rank-this.activeRank[i]||to-this.activeTo[i])>0){i++;}insert(this.active,i,value);insert(this.activeTo,i,to);insert(this.activeRank,i,rank);if(trackOpen)insert(trackOpen,i,this.cursor.from);this.minActive=findMinIndex(this.active,this.activeTo);}},{key:"next",value:function next(){var from=this.to,wasPoint=this.point;this.point=null;var trackOpen=this.openStart<0?[]:null;for(;;){var a=this.minActive;if(a>-1&&(this.activeTo[a]-this.cursor.from||this.active[a].endSide-this.cursor.startSide)<0){if(this.activeTo[a]>from){this.to=this.activeTo[a];this.endSide=this.active[a].endSide;break;}this.removeActive(a);if(trackOpen)remove(trackOpen,a);}else if(!this.cursor.value){this.to=this.endSide=1e9;break;}else if(this.cursor.from>from){this.to=this.cursor.from;this.endSide=this.cursor.startSide;break;}else{var nextVal=this.cursor.value;if(!nextVal.point){this.addActive(trackOpen);this.cursor.next();}else if(wasPoint&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to){this.cursor.next();}else{this.point=nextVal;this.pointFrom=this.cursor.from;this.pointRank=this.cursor.rank;this.to=this.cursor.to;this.endSide=nextVal.endSide;this.cursor.next();this.forward(this.to,this.endSide);break;}}}if(trackOpen){this.openStart=0;for(var _i49=trackOpen.length-1;_i49>=0&&trackOpen[_i49]<from;_i49--){this.openStart++;}}}},{key:"activeForPoint",value:function activeForPoint(to){if(!this.active.length)return this.active;var active=[];for(var _i50=this.active.length-1;_i50>=0;_i50--){if(this.activeRank[_i50]<this.pointRank)break;if(this.activeTo[_i50]>to||this.activeTo[_i50]==to&&this.active[_i50].endSide>=this.point.endSide)active.push(this.active[_i50]);}return active.reverse();}},{key:"openEnd",value:function openEnd(to){var open=0;for(var _i51=this.activeTo.length-1;_i51>=0&&this.activeTo[_i51]>to;_i51--){open++;}return open;}}]);return SpanCursor;}();function _compare(a,startA,b,startB,length,comparator){a["goto"](startA);b["goto"](startB);var endB=startB+length;var pos=startB,dPos=startB-startA;for(;;){var diff=a.to+dPos-b.to||a.endSide-b.endSide;var end=diff<0?a.to+dPos:b.to,clipEnd=Math.min(end,endB);if(a.point||b.point){if(!(a.point&&b.point&&(a.point==b.point||a.point.eq(b.point))&&sameValues(a.activeForPoint(a.to),b.activeForPoint(b.to))))comparator.comparePoint(pos,clipEnd,a.point,b.point);}else{if(clipEnd>pos&&!sameValues(a.active,b.active))comparator.compareRange(pos,clipEnd,a.active,b.active);}if(end>endB)break;pos=end;if(diff<=0)a.next();if(diff>=0)b.next();}}function sameValues(a,b){if(a.length!=b.length)return false;for(var _i52=0;_i52<a.length;_i52++){if(a[_i52]!=b[_i52]&&!a[_i52].eq(b[_i52]))return false;}return true;}function remove(array,index){for(var _i53=index,e=array.length-1;_i53<e;_i53++){array[_i53]=array[_i53+1];}array.pop();}function insert(array,index,value){for(var _i54=array.length-1;_i54>=index;_i54--){array[_i54+1]=array[_i54];}array[index]=value;}function findMinIndex(value,array){var found=-1,foundPos=1e9;for(var _i55=0;_i55<array.length;_i55++){if((array[_i55]-foundPos||value[_i55].endSide-value[found].endSide)<0){found=_i55;foundPos=array[_i55];}}return found;}function _countColumn(string2,tabSize){var to=arguments.length>2&&arguments[2]!==undefined?arguments[2]:string2.length;var n=0;for(var _i56=0;_i56<to;){if(string2.charCodeAt(_i56)==9){n+=tabSize-n%tabSize;_i56++;}else{n++;_i56=findClusterBreak(string2,_i56);}}return n;}function findColumn(string2,col,tabSize,strict){for(var _i57=0,n=0;;){if(n>=col)return _i57;if(_i57==string2.length)break;n+=string2.charCodeAt(_i57)==9?tabSize-n%tabSize:1;_i57=findClusterBreak(string2,_i57);}return strict===true?-1:string2.length;}// ../node_modules/style-mod/src/style-mod.js 3var C="\u037C";var COUNT=typeof Symbol=="undefined"?"__"+C:Symbol["for"](C);var SET=typeof Symbol=="undefined"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet");var top=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{};var StyleModule=/*#__PURE__*/function(){function StyleModule(spec,options){_classCallCheck(this,StyleModule);this.rules=[];var _ref3=options||{},finish=_ref3.finish;function splitSelector(selector){return /^@/.test(selector)?[selector]:selector.split(/,\s*/);}function render(selectors,spec2,target,isKeyframes){var local=[],isAt=/^@(\w+)\b/.exec(selectors[0]),keyframes=isAt&&isAt[1]=="keyframes";if(isAt&&spec2==null)return target.push(selectors[0]+";");for(var prop in spec2){var value=spec2[prop];if(/&/.test(prop)){render(prop.split(/,\s*/).map(function(part){return selectors.map(function(sel){return part.replace(/&/,sel);});}).reduce(function(a,b){return a.concat(b);}),value,target);}else if(value&&_typeof(value)=="object"){if(!isAt)throw new RangeError("The value of a property ("+prop+") should be a primitive value.");render(splitSelector(prop),value,local,keyframes);}else if(value!=null){local.push(prop.replace(/_.*/,"").replace(/[A-Z]/g,function(l){return"-"+l.toLowerCase();})+": "+value+";");}}if(local.length||keyframes){target.push((finish&&!isAt&&!isKeyframes?selectors.map(finish):selectors).join(", ")+" {"+local.join(" ")+"}");}}for(var prop in spec){render(splitSelector(prop),spec[prop],this.rules);}}_createClass(StyleModule,[{key:"getRules",value:function getRules(){return this.rules.join("\n");}}],[{key:"newName",value:function newName(){var id=top[COUNT]||1;top[COUNT]=id+1;return C+id.toString(36);}},{key:"mount",value:function mount(root,modules,options){var set=root[SET],nonce=options&&options.nonce;if(!set)set=new StyleSet(root,nonce);else if(nonce)set.setNonce(nonce);set.mount(Array.isArray(modules)?modules:[modules],root);}}]);return StyleModule;}();var adoptedSet=/* @__PURE__ */new Map();var StyleSet=/*#__PURE__*/function(){function StyleSet(root,nonce){_classCallCheck(this,StyleSet);var doc2=root.ownerDocument||root,win=doc2.defaultView;if(!root.head&&root.adoptedStyleSheets&&win.CSSStyleSheet){var adopted=adoptedSet.get(doc2);if(adopted)return root[SET]=adopted;this.sheet=new win.CSSStyleSheet();adoptedSet.set(doc2,this);}else{this.styleTag=doc2.createElement("style");if(nonce)this.styleTag.setAttribute("nonce",nonce);}this.modules=[];root[SET]=this;}_createClass(StyleSet,[{key:"mount",value:function mount(modules,root){var sheet=this.sheet;var pos=0,j=0;for(var _i58=0;_i58<modules.length;_i58++){var mod=modules[_i58],index=this.modules.indexOf(mod);if(index<j&&index>-1){this.modules.splice(index,1);j--;index=-1;}if(index==-1){this.modules.splice(j++,0,mod);if(sheet)for(var k=0;k<mod.rules.length;k++){sheet.insertRule(mod.rules[k],pos++);}}else{while(j<index){pos+=this.modules[j++].rules.length;}pos+=mod.rules.length;j++;}}if(sheet){if(root.adoptedStyleSheets.indexOf(this.sheet)<0)root.adoptedStyleSheets=[this.sheet].concat(_toConsumableArray(root.adoptedStyleSheets));}else{var _text2="";for(var _i59=0;_i59<this.modules.length;_i59++){_text2+=this.modules[_i59].getRules()+"\n";}this.styleTag.textContent=_text2;var target=root.head||root;if(this.styleTag.parentNode!=target)target.insertBefore(this.styleTag,target.firstChild);}}},{key:"setNonce",value:function setNonce(nonce){if(this.styleTag&&this.styleTag.getAttribute("nonce")!=nonce)this.styleTag.setAttribute("nonce",nonce);}}]);return StyleSet;}();// ../node_modules/w3c-keyname/index.es.js 4var base={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:"'"};var shift={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'};var chrome=typeof navigator!="undefined"&&/Chrome\/(\d+)/.exec(navigator.userAgent);var safari=typeof navigator!="undefined"&&/Apple Computer/.test(navigator.vendor);var gecko=typeof navigator!="undefined"&&/Gecko\/\d+/.test(navigator.userAgent);var mac=typeof navigator!="undefined"&&/Mac/.test(navigator.platform);var ie=typeof navigator!="undefined"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);var brokenModifierNames=chrome&&(mac||+chrome[1]<57)||gecko&&mac;for(i=0;i<10;i++){base[48+i]=base[96+i]=String(i);}var i;for(i=1;i<=24;i++){base[i+111]="F"+i;}var i;for(i=65;i<=90;i++){base[i]=String.fromCharCode(i+32);shift[i]=String.fromCharCode(i);}var i;for(code in base){if(!shift.hasOwnProperty(code))shift[code]=base[code];}var code;function keyName(event){var ignoreKey=brokenModifierNames&&(event.ctrlKey||event.altKey||event.metaKey)||(safari||ie)&&event.shiftKey&&event.key&&event.key.length==1||event.key=="Unidentified";var name2=!ignoreKey&&event.key||(event.shiftKey?shift:base)[event.keyCode]||event.key||"Unidentified";if(name2=="Esc")name2="Escape";if(name2=="Del")name2="Delete";if(name2=="Left")name2="ArrowLeft";if(name2=="Up")name2="ArrowUp";if(name2=="Right")name2="ArrowRight";if(name2=="Down")name2="ArrowDown";return name2;}// ../node_modules/@codemirror/view/dist/index.js 5function getSelection(root){var target;if(root.nodeType==11){target=root.getSelection?root:root.ownerDocument;}else{target=root;}return target.getSelection();}function contains(dom,node){return node?dom==node||dom.contains(node.nodeType!=1?node.parentNode:node):false;}function deepActiveElement(doc2){var elt=doc2.activeElement;while(elt&&elt.shadowRoot){elt=elt.shadowRoot.activeElement;}return elt;}function hasSelection(dom,selection){if(!selection.anchorNode)return false;try{return contains(dom,selection.anchorNode);}catch(_){return false;}}function clientRectsFor(dom){if(dom.nodeType==3)return textRange(dom,0,dom.nodeValue.length).getClientRects();else if(dom.nodeType==1)return dom.getClientRects();else return[];}function isEquivalentPosition(node,off,targetNode,targetOff){return targetNode?scanFor(node,off,targetNode,targetOff,-1)||scanFor(node,off,targetNode,targetOff,1):false;}function domIndex(node){for(var index=0;;index++){node=node.previousSibling;if(!node)return index;}}function scanFor(node,off,targetNode,targetOff,dir){for(;;){if(node==targetNode&&off==targetOff)return true;if(off==(dir<0?0:maxOffset(node))){if(node.nodeName=="DIV")return false;var parent=node.parentNode;if(!parent||parent.nodeType!=1)return false;off=domIndex(node)+(dir<0?0:1);node=parent;}else if(node.nodeType==1){node=node.childNodes[off+(dir<0?-1:0)];if(node.nodeType==1&&node.contentEditable=="false")return false;off=dir<0?maxOffset(node):0;}else{return false;}}}function maxOffset(node){return node.nodeType==3?node.nodeValue.length:node.childNodes.length;}function flattenRect(rect,left){var x=left?rect.left:rect.right;return{left:x,right:x,top:rect.top,bottom:rect.bottom};}function windowRect(win){var vp=win.visualViewport;if(vp)return{left:0,right:vp.width,top:0,bottom:vp.height};return{left:0,right:win.innerWidth,top:0,bottom:win.innerHeight};}function getScale(elt,rect){var scaleX=rect.width/elt.offsetWidth;var scaleY=rect.height/elt.offsetHeight;if(scaleX>0.995&&scaleX<1.005||!isFinite(scaleX)||Math.abs(rect.width-elt.offsetWidth)<1)scaleX=1;if(scaleY>0.995&&scaleY<1.005||!isFinite(scaleY)||Math.abs(rect.height-elt.offsetHeight)<1)scaleY=1;return{scaleX:scaleX,scaleY:scaleY};}function scrollRectIntoView(dom,rect,side,x,y,xMargin,yMargin,ltr){var doc2=dom.ownerDocument,win=doc2.defaultView||window;for(var cur2=dom,stop=false;cur2&&!stop;){if(cur2.nodeType==1){var bounding=void 0,top2=cur2==doc2.body;var scaleX=1,scaleY=1;if(top2){bounding=windowRect(win);}else{if(/^(fixed|sticky)$/.test(getComputedStyle(cur2).position))stop=true;if(cur2.scrollHeight<=cur2.clientHeight&&cur2.scrollWidth<=cur2.clientWidth){cur2=cur2.assignedSlot||cur2.parentNode;continue;}var rect2=cur2.getBoundingClientRect();var _getScale=getScale(cur2,rect2);scaleX=_getScale.scaleX;scaleY=_getScale.scaleY;bounding={left:rect2.left,right:rect2.left+cur2.clientWidth*scaleX,top:rect2.top,bottom:rect2.top+cur2.clientHeight*scaleY};}var moveX=0,moveY=0;if(y=="nearest"){if(rect.top<bounding.top){moveY=-(bounding.top-rect.top+yMargin);if(side>0&&rect.bottom>bounding.bottom+moveY)moveY=rect.bottom-bounding.bottom+moveY+yMargin;}else if(rect.bottom>bounding.bottom){moveY=rect.bottom-bounding.bottom+yMargin;if(side<0&&rect.top-moveY<bounding.top)moveY=-(bounding.top+moveY-rect.top+yMargin);}}else{var rectHeight=rect.bottom-rect.top,boundingHeight=bounding.bottom-bounding.top;var targetTop=y=="center"&&rectHeight<=boundingHeight?rect.top+rectHeight/2-boundingHeight/2:y=="start"||y=="center"&&side<0?rect.top-yMargin:rect.bottom-boundingHeight+yMargin;moveY=targetTop-bounding.top;}if(x=="nearest"){if(rect.left<bounding.left){moveX=-(bounding.left-rect.left+xMargin);if(side>0&&rect.right>bounding.right+moveX)moveX=rect.right-bounding.right+moveX+xMargin;}else if(rect.right>bounding.right){moveX=rect.right-bounding.right+xMargin;if(side<0&&rect.left<bounding.left+moveX)moveX=-(bounding.left+moveX-rect.left+xMargin);}}else{var targetLeft=x=="center"?rect.left+(rect.right-rect.left)/2-(bounding.right-bounding.left)/2:x=="start"==ltr?rect.left-xMargin:rect.right-(bounding.right-bounding.left)+xMargin;moveX=targetLeft-bounding.left;}if(moveX||moveY){if(top2){win.scrollBy(moveX,moveY);}else{var movedX=0,movedY=0;if(moveY){var start=cur2.scrollTop;cur2.scrollTop+=moveY/scaleY;movedY=(cur2.scrollTop-start)*scaleY;}if(moveX){var _start2=cur2.scrollLeft;cur2.scrollLeft+=moveX/scaleX;movedX=(cur2.scrollLeft-_start2)*scaleX;}rect={left:rect.left-movedX,top:rect.top-movedY,right:rect.right-movedX,bottom:rect.bottom-movedY};if(movedX&&Math.abs(movedX-moveX)<1)x="nearest";if(movedY&&Math.abs(movedY-moveY)<1)y="nearest";}}if(top2)break;cur2=cur2.assignedSlot||cur2.parentNode;}else if(cur2.nodeType==11){cur2=cur2.host;}else{break;}}}function scrollableParent(dom){var doc2=dom.ownerDocument;for(var cur2=dom.parentNode;cur2;){if(cur2==doc2.body){break;}else if(cur2.nodeType==1){if(cur2.scrollHeight>cur2.clientHeight||cur2.scrollWidth>cur2.clientWidth)return cur2;cur2=cur2.assignedSlot||cur2.parentNode;}else if(cur2.nodeType==11){cur2=cur2.host;}else{break;}}return null;}var DOMSelectionState=/*#__PURE__*/function(){function DOMSelectionState(){_classCallCheck(this,DOMSelectionState);this.anchorNode=null;this.anchorOffset=0;this.focusNode=null;this.focusOffset=0;}_createClass(DOMSelectionState,[{key:"eq",value:function eq(domSel){return this.anchorNode==domSel.anchorNode&&this.anchorOffset==domSel.anchorOffset&&this.focusNode==domSel.focusNode&&this.focusOffset==domSel.focusOffset;}},{key:"setRange",value:function setRange(range){var anchorNode=range.anchorNode,focusNode=range.focusNode;this.set(anchorNode,Math.min(range.anchorOffset,anchorNode?maxOffset(anchorNode):0),focusNode,Math.min(range.focusOffset,focusNode?maxOffset(focusNode):0));}},{key:"set",value:function set(anchorNode,anchorOffset,focusNode,focusOffset){this.anchorNode=anchorNode;this.anchorOffset=anchorOffset;this.focusNode=focusNode;this.focusOffset=focusOffset;}}]);return DOMSelectionState;}();var preventScrollSupported=null;function focusPreventScroll(dom){if(dom.setActive)return dom.setActive();if(preventScrollSupported)return dom.focus(preventScrollSupported);var stack=[];for(var cur2=dom;cur2;cur2=cur2.parentNode){stack.push(cur2,cur2.scrollTop,cur2.scrollLeft);if(cur2==cur2.ownerDocument)break;}dom.focus(preventScrollSupported==null?Object.defineProperties({},{preventScroll:{get:function get(){preventScrollSupported={preventScroll:true};return true;},configurable:true,enumerable:true}}):void 0);if(!preventScrollSupported){preventScrollSupported=false;for(var _i60=0;_i60<stack.length;){var elt=stack[_i60++],top2=stack[_i60++],left=stack[_i60++];if(elt.scrollTop!=top2)elt.scrollTop=top2;if(elt.scrollLeft!=left)elt.scrollLeft=left;}}}var scratchRange;function textRange(node,from){var to=arguments.length>2&&arguments[2]!==undefined?arguments[2]:from;var range=scratchRange||(scratchRange=document.createRange());range.setEnd(node,to);range.setStart(node,from);return range;}function dispatchKey(elt,name2,code,mods){var options={key:name2,code:name2,keyCode:code,which:code,cancelable:true};if(mods){options.altKey=mods.altKey;options.ctrlKey=mods.ctrlKey;options.shiftKey=mods.shiftKey;options.metaKey=mods.metaKey;}var down=new KeyboardEvent("keydown",options);down.synthetic=true;elt.dispatchEvent(down);var up=new KeyboardEvent("keyup",options);up.synthetic=true;elt.dispatchEvent(up);return down.defaultPrevented||up.defaultPrevented;}function getRoot(node){while(node){if(node&&(node.nodeType==9||node.nodeType==11&&node.host))return node;node=node.assignedSlot||node.parentNode;}return null;}function clearAttributes(node){while(node.attributes.length){node.removeAttributeNode(node.attributes[0]);}}function atElementStart(doc2,selection){var node=selection.focusNode,offset=selection.focusOffset;if(!node||selection.anchorNode!=node||selection.anchorOffset!=offset)return false;offset=Math.min(offset,maxOffset(node));for(;;){if(offset){if(node.nodeType!=1)return false;var prev=node.childNodes[offset-1];if(prev.contentEditable=="false")offset--;else{node=prev;offset=maxOffset(node);}}else if(node==doc2){return true;}else{offset=domIndex(node);node=node.parentNode;}}}function isScrolledToBottom(elt){return elt.scrollTop>Math.max(1,elt.scrollHeight-elt.clientHeight-4);}var DOMPos=/*#__PURE__*/function(){function DOMPos(node,offset){var precise=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;_classCallCheck(this,DOMPos);this.node=node;this.offset=offset;this.precise=precise;}_createClass(DOMPos,null,[{key:"before",value:function before(dom,precise){return new DOMPos(dom.parentNode,domIndex(dom),precise);}},{key:"after",value:function after(dom,precise){return new DOMPos(dom.parentNode,domIndex(dom)+1,precise);}}]);return DOMPos;}();var noChildren=[];var ContentView=/*#__PURE__*/function(){function ContentView(){_classCallCheck(this,ContentView);this.parent=null;this.dom=null;this.flags=2;}_createClass(ContentView,[{key:"overrideDOMText",get:function get(){return null;}},{key:"posAtStart",get:function get(){return this.parent?this.parent.posBefore(this):0;}},{key:"posAtEnd",get:function get(){return this.posAtStart+this.length;}},{key:"posBefore",value:function posBefore(view){var pos=this.posAtStart;var _iterator33=_createForOfIteratorHelper(this.children),_step33;try{for(_iterator33.s();!(_step33=_iterator33.n()).done;){var child=_step33.value;if(child==view)return pos;pos+=child.length+child.breakAfter;}}catch(err){_iterator33.e(err);}finally{_iterator33.f();}throw new RangeError("Invalid child in posBefore");}},{key:"posAfter",value:function posAfter(view){return this.posBefore(view)+view.length;}},{key:"sync",value:function sync(view,track){if(this.flags&2){var parent=this.dom;var prev=null,next;var _iterator34=_createForOfIteratorHelper(this.children),_step34;try{for(_iterator34.s();!(_step34=_iterator34.n()).done;){var child=_step34.value;if(child.flags&7){if(!child.dom&&(next=prev?prev.nextSibling:parent.firstChild)){var contentView=ContentView.get(next);if(!contentView||!contentView.parent&&contentView.canReuseDOM(child))child.reuseDOM(next);}child.sync(view,track);child.flags&=~7;}next=prev?prev.nextSibling:parent.firstChild;if(track&&!track.written&&track.node==parent&&next!=child.dom)track.written=true;if(child.dom.parentNode==parent){while(next&&next!=child.dom){next=rm$1(next);}}else{parent.insertBefore(child.dom,next);}prev=child.dom;}}catch(err){_iterator34.e(err);}finally{_iterator34.f();}next=prev?prev.nextSibling:parent.firstChild;if(next&&track&&track.node==parent)track.written=true;while(next){next=rm$1(next);}}else if(this.flags&1){var _iterator35=_createForOfIteratorHelper(this.children),_step35;try{for(_iterator35.s();!(_step35=_iterator35.n()).done;){var _child=_step35.value;if(_child.flags&7){_child.sync(view,track);_child.flags&=~7;}}}catch(err){_iterator35.e(err);}finally{_iterator35.f();}}}},{key:"reuseDOM",value:function reuseDOM(_dom){}},{key:"localPosFromDOM",value:function localPosFromDOM(node,offset){var after;if(node==this.dom){after=this.dom.childNodes[offset];}else{var bias=maxOffset(node)==0?0:offset==0?-1:1;for(;;){var parent=node.parentNode;if(parent==this.dom)break;if(bias==0&&parent.firstChild!=parent.lastChild){if(node==parent.firstChild)bias=-1;else bias=1;}node=parent;}if(bias<0)after=node;else after=node.nextSibling;}if(after==this.dom.firstChild)return 0;while(after&&!ContentView.get(after)){after=after.nextSibling;}if(!after)return this.length;for(var _i61=0,pos=0;;_i61++){var child=this.children[_i61];if(child.dom==after)return pos;pos+=child.length+child.breakAfter;}}},{key:"domBoundsAround",value:function domBoundsAround(from,to){var offset=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var fromI=-1,fromStart=-1,toI=-1,toEnd=-1;for(var _i62=0,pos=offset,prevEnd=offset;_i62<this.children.length;_i62++){var child=this.children[_i62],end=pos+child.length;if(pos<from&&end>to)return child.domBoundsAround(from,to,pos);if(end>=from&&fromI==-1){fromI=_i62;fromStart=pos;}if(pos>to&&child.dom.parentNode==this.dom){toI=_i62;toEnd=prevEnd;break;}prevEnd=end;pos=end+child.breakAfter;}return{from:fromStart,to:toEnd<0?offset+this.length:toEnd,startDOM:(fromI?this.children[fromI-1].dom.nextSibling:null)||this.dom.firstChild,endDOM:toI<this.children.length&&toI>=0?this.children[toI].dom:null};}},{key:"markDirty",value:function markDirty(){var andParent=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;this.flags|=2;this.markParentsDirty(andParent);}},{key:"markParentsDirty",value:function markParentsDirty(childList){for(var parent=this.parent;parent;parent=parent.parent){if(childList)parent.flags|=2;if(parent.flags&1)return;parent.flags|=1;childList=false;}}},{key:"setParent",value:function setParent(parent){if(this.parent!=parent){this.parent=parent;if(this.flags&7)this.markParentsDirty(true);}}},{key:"setDOM",value:function setDOM(dom){if(this.dom==dom)return;if(this.dom)this.dom.cmView=null;this.dom=dom;dom.cmView=this;}},{key:"rootView",get:function get(){for(var v=this;;){var parent=v.parent;if(!parent)return v;v=parent;}}},{key:"replaceChildren",value:function replaceChildren(from,to){var _this$children;var children=arguments.length>2&&arguments[2]!==undefined?arguments[2]:noChildren;this.markDirty();for(var _i63=from;_i63<to;_i63++){var child=this.children[_i63];if(child.parent==this&&children.indexOf(child)<0)child.destroy();}(_this$children=this.children).splice.apply(_this$children,[from,to-from].concat(_toConsumableArray(children)));for(var _i64=0;_i64<children.length;_i64++){children[_i64].setParent(this);}}},{key:"ignoreMutation",value:function ignoreMutation(_rec){return false;}},{key:"ignoreEvent",value:function ignoreEvent(_event){return false;}},{key:"childCursor",value:function childCursor(){var pos=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.length;return new ChildCursor(this.children,pos,this.children.length);}},{key:"childPos",value:function childPos(pos){var bias=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;return this.childCursor().findPos(pos,bias);}},{key:"toString",value:function toString(){var name2=this.constructor.name.replace("View","");return name2+(this.children.length?"("+this.children.join()+")":this.length?"["+(name2=="Text"?this.text:this.length)+"]":"")+(this.breakAfter?"#":"");}},{key:"isEditable",get:function get(){return true;}},{key:"isWidget",get:function get(){return false;}},{key:"isHidden",get:function get(){return false;}},{key:"merge",value:function merge(from,to,source,hasStart,openStart,openEnd){return false;}},{key:"become",value:function become(other){return false;}},{key:"canReuseDOM",value:function canReuseDOM(other){return other.constructor==this.constructor&&!((this.flags|other.flags)&8);}},{key:"getSide",value:function getSide(){return 0;}},{key:"destroy",value:function destroy(){var _iterator36=_createForOfIteratorHelper(this.children),_step36;try{for(_iterator36.s();!(_step36=_iterator36.n()).done;){var child=_step36.value;if(child.parent==this)child.destroy();}}catch(err){_iterator36.e(err);}finally{_iterator36.f();}this.parent=null;}}],[{key:"get",value:function get(node){return node.cmView;}}]);return ContentView;}();ContentView.prototype.breakAfter=0;function rm$1(dom){var next=dom.nextSibling;dom.parentNode.removeChild(dom);return next;}var ChildCursor=/*#__PURE__*/function(){function ChildCursor(children,pos,i){_classCallCheck(this,ChildCursor);this.children=children;this.pos=pos;this.i=i;this.off=0;}_createClass(ChildCursor,[{key:"findPos",value:function findPos(pos){var bias=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;for(;;){if(pos>this.pos||pos==this.pos&&(bias>0||this.i==0||this.children[this.i-1].breakAfter)){this.off=pos-this.pos;return this;}var next=this.children[--this.i];this.pos-=next.length+next.breakAfter;}}}]);return ChildCursor;}();function replaceRange(parent,fromI,fromOff,toI,toOff,insert2,breakAtStart,openStart,openEnd){var children=parent.children;var before=children.length?children[fromI]:null;var last=insert2.length?insert2[insert2.length-1]:null;var breakAtEnd=last?last.breakAfter:breakAtStart;if(fromI==toI&&before&&!breakAtStart&&!breakAtEnd&&insert2.length<2&&before.merge(fromOff,toOff,insert2.length?last:null,fromOff==0,openStart,openEnd))return;if(toI<children.length){var after=children[toI];if(after&&(toOff<after.length||after.breakAfter&&(last===null||last===void 0?void 0:last.breakAfter))){if(fromI==toI){after=after.split(toOff);toOff=0;}if(!breakAtEnd&&last&&after.merge(0,toOff,last,true,0,openEnd)){insert2[insert2.length-1]=after;}else{if(toOff||after.children.length&&!after.children[0].length)after.merge(0,toOff,null,false,0,openEnd);insert2.push(after);}}else if(after===null||after===void 0?void 0:after.breakAfter){if(last)last.breakAfter=1;else breakAtStart=1;}toI++;}if(before){before.breakAfter=breakAtStart;if(fromOff>0){if(!breakAtStart&&insert2.length&&before.merge(fromOff,before.length,insert2[0],false,openStart,0)){before.breakAfter=insert2.shift().breakAfter;}else if(fromOff<before.length||before.children.length&&before.children[before.children.length-1].length==0){before.merge(fromOff,before.length,null,false,openStart,0);}fromI++;}}while(fromI<toI&&insert2.length){if(children[toI-1].become(insert2[insert2.length-1])){toI--;insert2.pop();openEnd=insert2.length?0:openStart;}else if(children[fromI].become(insert2[0])){fromI++;insert2.shift();openStart=insert2.length?0:openEnd;}else{break;}}if(!insert2.length&&fromI&&toI<children.length&&!children[fromI-1].breakAfter&&children[toI].merge(0,0,children[fromI-1],false,openStart,openEnd))fromI--;if(fromI<toI||insert2.length)parent.replaceChildren(fromI,toI,insert2);}function mergeChildrenInto(parent,from,to,insert2,openStart,openEnd){var cur2=parent.childCursor();var _cur2$findPos=cur2.findPos(to,1),toI=_cur2$findPos.i,toOff=_cur2$findPos.off;var _cur2$findPos2=cur2.findPos(from,-1),fromI=_cur2$findPos2.i,fromOff=_cur2$findPos2.off;var dLen=from-to;var _iterator37=_createForOfIteratorHelper(insert2),_step37;try{for(_iterator37.s();!(_step37=_iterator37.n()).done;){var view=_step37.value;dLen+=view.length;}}catch(err){_iterator37.e(err);}finally{_iterator37.f();}parent.length+=dLen;replaceRange(parent,fromI,fromOff,toI,toOff,insert2,0,openStart,openEnd);}var nav=typeof navigator!="undefined"?navigator:{userAgent:"",vendor:"",platform:""};var doc=typeof document!="undefined"?document:{documentElement:{style:{}}};var ie_edge=/* @__PURE__ */ /Edge\/(\d+)/.exec(nav.userAgent);var ie_upto10=/* @__PURE__ */ /MSIE \d/.test(nav.userAgent);var ie_11up=/* @__PURE__ */ /Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(nav.userAgent);var ie2=!!(ie_upto10||ie_11up||ie_edge);var gecko2=!ie2&&/* @__PURE__ */ /gecko\/(\d+)/i.test(nav.userAgent);var chrome2=!ie2&&/* @__PURE__ */ /Chrome\/(\d+)/.exec(nav.userAgent);var webkit=("webkitFontSmoothing"in doc.documentElement.style);var safari2=!ie2&&/* @__PURE__ */ /Apple Computer/.test(nav.vendor);var ios=safari2&&(/* @__PURE__ */ /Mobile\/\w+/.test(nav.userAgent)||nav.maxTouchPoints>2);var browser={mac:ios||/* @__PURE__ */ /Mac/.test(nav.platform),windows:/* @__PURE__ */ /Win/.test(nav.platform),linux:/* @__PURE__ */ /Linux|X11/.test(nav.platform),ie:ie2,ie_version:ie_upto10?doc.documentMode||6:ie_11up?+ie_11up[1]:ie_edge?+ie_edge[1]:0,gecko:gecko2,gecko_version:gecko2?+(/* @__PURE__ */ /Firefox\/(\d+)/.exec(nav.userAgent)||[0,0])[1]:0,chrome:!!chrome2,chrome_version:chrome2?+chrome2[1]:0,ios:ios,android:/* @__PURE__ */ /Android\b/.test(nav.userAgent),webkit:webkit,safari:safari2,webkit_version:webkit?+(/* @__PURE__ */ /\bAppleWebKit\/(\d+)/.exec(navigator.userAgent)||[0,0])[1]:0,tabSize:doc.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};var MaxJoinLen=256;var TextView=/*#__PURE__*/function(_ContentView){_inherits(TextView,_ContentView);var _super4=_createSuper(TextView);function TextView(text){var _this8;_classCallCheck(this,TextView);_this8=_super4.call(this);_this8.text=text;return _this8;}_createClass(TextView,[{key:"length",get:function get(){return this.text.length;}},{key:"createDOM",value:function createDOM(textDOM){this.setDOM(textDOM||document.createTextNode(this.text));}},{key:"sync",value:function sync(view,track){if(!this.dom)this.createDOM();if(this.dom.nodeValue!=this.text){if(track&&track.node==this.dom)track.written=true;this.dom.nodeValue=this.text;}}},{key:"reuseDOM",value:function reuseDOM(dom){if(dom.nodeType==3)this.createDOM(dom);}},{key:"merge",value:function merge(from,to,source){if(this.flags&8||source&&(!(source instanceof TextView)||this.length-(to-from)+source.length>MaxJoinLen||source.flags&8))return false;this.text=this.text.slice(0,from)+(source?source.text:"")+this.text.slice(to);this.markDirty();return true;}},{key:"split",value:function split(from){var result=new TextView(this.text.slice(from));this.text=this.text.slice(0,from);this.markDirty();result.flags|=this.flags&8;return result;}},{key:"localPosFromDOM",value:function localPosFromDOM(node,offset){return node==this.dom?offset:offset?this.text.length:0;}},{key:"domAtPos",value:function domAtPos(pos){return new DOMPos(this.dom,pos);}},{key:"domBoundsAround",value:function domBoundsAround(_from,_to,offset){return{from:offset,to:offset+this.length,startDOM:this.dom,endDOM:this.dom.nextSibling};}},{key:"coordsAt",value:function coordsAt(pos,side){return textCoords(this.dom,pos,side);}}]);return TextView;}(ContentView);var MarkView=/*#__PURE__*/function(_ContentView2){_inherits(MarkView,_ContentView2);var _super5=_createSuper(MarkView);function MarkView(mark){var _this9;var children=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var length=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;_classCallCheck(this,MarkView);_this9=_super5.call(this);_this9.mark=mark;_this9.children=children;_this9.length=length;var _iterator38=_createForOfIteratorHelper(children),_step38;try{for(_iterator38.s();!(_step38=_iterator38.n()).done;){var ch=_step38.value;ch.setParent(_assertThisInitialized(_this9));}}catch(err){_iterator38.e(err);}finally{_iterator38.f();}return _this9;}_createClass(MarkView,[{key:"setAttrs",value:function setAttrs(dom){clearAttributes(dom);if(this.mark["class"])dom.className=this.mark["class"];if(this.mark.attrs)for(var name2 in this.mark.attrs){dom.setAttribute(name2,this.mark.attrs[name2]);}return dom;}},{key:"canReuseDOM",value:function canReuseDOM(other){return _get(_getPrototypeOf(MarkView.prototype),"canReuseDOM",this).call(this,other)&&!((this.flags|other.flags)&8);}},{key:"reuseDOM",value:function reuseDOM(node){if(node.nodeName==this.mark.tagName.toUpperCase()){this.setDOM(node);this.flags|=4|2;}}},{key:"sync",value:function sync(view,track){if(!this.dom)this.setDOM(this.setAttrs(document.createElement(this.mark.tagName)));else if(this.flags&4)this.setAttrs(this.dom);_get(_getPrototypeOf(MarkView.prototype),"sync",this).call(this,view,track);}},{key:"merge",value:function merge(from,to,source,_hasStart,openStart,openEnd){if(source&&(!(source instanceof MarkView&&source.mark.eq(this.mark))||from&&openStart<=0||to<this.length&&openEnd<=0))return false;mergeChildrenInto(this,from,to,source?source.children.slice():[],openStart-1,openEnd-1);this.markDirty();return true;}},{key:"split",value:function split(from){var result=[],off=0,detachFrom=-1,i=0;var _iterator39=_createForOfIteratorHelper(this.children),_step39;try{for(_iterator39.s();!(_step39=_iterator39.n()).done;){var elt=_step39.value;var end=off+elt.length;if(end>from)result.push(off<from?elt.split(from-off):elt);if(detachFrom<0&&off>=from)detachFrom=i;off=end;i++;}}catch(err){_iterator39.e(err);}finally{_iterator39.f();}var length=this.length-from;this.length=from;if(detachFrom>-1){this.children.length=detachFrom;this.markDirty();}return new MarkView(this.mark,result,length);}},{key:"domAtPos",value:function domAtPos(pos){return inlineDOMAtPos(this,pos);}},{key:"coordsAt",value:function coordsAt(pos,side){return coordsInChildren(this,pos,side);}}]);return MarkView;}(ContentView);function textCoords(text,pos,side){var length=text.nodeValue.length;if(pos>length)pos=length;var from=pos,to=pos,flatten2=0;if(pos==0&&side<0||pos==length&&side>=0){if(!(browser.chrome||browser.gecko)){if(pos){from--;flatten2=1;}else if(to<length){to++;flatten2=-1;}}}else{if(side<0)from--;else if(to<length)to++;}var rects=textRange(text,from,to).getClientRects();if(!rects.length)return null;var rect=rects[(flatten2?flatten2<0:side>=0)?0:rects.length-1];if(browser.safari&&!flatten2&&rect.width==0)rect=Array.prototype.find.call(rects,function(r){return r.width;})||rect;return flatten2?flattenRect(rect,flatten2<0):rect||null;}var WidgetView=/*#__PURE__*/function(_ContentView3){_inherits(WidgetView,_ContentView3);var _super6=_createSuper(WidgetView);function WidgetView(widget,length,side){var _this10;_classCallCheck(this,WidgetView);_this10=_super6.call(this);_this10.widget=widget;_this10.length=length;_this10.side=side;_this10.prevWidget=null;return _this10;}_createClass(WidgetView,[{key:"split",value:function split(from){var result=WidgetView.create(this.widget,this.length-from,this.side);this.length-=from;return result;}},{key:"sync",value:function sync(view){if(!this.dom||!this.widget.updateDOM(this.dom,view)){if(this.dom&&this.prevWidget)this.prevWidget.destroy(this.dom);this.prevWidget=null;this.setDOM(this.widget.toDOM(view));if(!this.widget.editable)this.dom.contentEditable="false";}}},{key:"getSide",value:function getSide(){return this.side;}},{key:"merge",value:function merge(from,to,source,hasStart,openStart,openEnd){if(source&&(!(source instanceof WidgetView)||!this.widget.compare(source.widget)||from>0&&openStart<=0||to<this.length&&openEnd<=0))return false;this.length=from+(source?source.length:0)+(this.length-to);return true;}},{key:"become",value:function become(other){if(other instanceof WidgetView&&other.side==this.side&&this.widget.constructor==other.widget.constructor){if(!this.widget.compare(other.widget))this.markDirty(true);if(this.dom&&!this.prevWidget)this.prevWidget=this.widget;this.widget=other.widget;this.length=other.length;return true;}return false;}},{key:"ignoreMutation",value:function ignoreMutation(){return true;}},{key:"ignoreEvent",value:function ignoreEvent(event){return this.widget.ignoreEvent(event);}},{key:"overrideDOMText",get:function get(){if(this.length==0)return Text.empty;var top2=this;while(top2.parent){top2=top2.parent;}var _top=top2,view=_top.view,text=view&&view.state.doc,start=this.posAtStart;return text?text.slice(start,start+this.length):Text.empty;}},{key:"domAtPos",value:function domAtPos(pos){return(this.length?pos==0:this.side>0)?DOMPos.before(this.dom):DOMPos.after(this.dom,pos==this.length);}},{key:"domBoundsAround",value:function domBoundsAround(){return null;}},{key:"coordsAt",value:function coordsAt(pos,side){var custom=this.widget.coordsAt(this.dom,pos,side);if(custom)return custom;var rects=this.dom.getClientRects(),rect=null;if(!rects.length)return null;var fromBack=this.side?this.side<0:pos>0;for(var _i65=fromBack?rects.length-1:0;;_i65+=fromBack?-1:1){rect=rects[_i65];if(pos>0?_i65==0:_i65==rects.length-1||rect.top<rect.bottom)break;}return flattenRect(rect,!fromBack);}},{key:"isEditable",get:function get(){return false;}},{key:"isWidget",get:function get(){return true;}},{key:"isHidden",get:function get(){return this.widget.isHidden;}},{key:"destroy",value:function destroy(){_get(_getPrototypeOf(WidgetView.prototype),"destroy",this).call(this);if(this.dom)this.widget.destroy(this.dom);}}],[{key:"create",value:function create(widget,length,side){return new WidgetView(widget,length,side);}}]);return WidgetView;}(ContentView);var WidgetBufferView=/*#__PURE__*/function(_ContentView4){_inherits(WidgetBufferView,_ContentView4);var _super7=_createSuper(WidgetBufferView);function WidgetBufferView(side){var _this11;_classCallCheck(this,WidgetBufferView);_this11=_super7.call(this);_this11.side=side;return _this11;}_createClass(WidgetBufferView,[{key:"length",get:function get(){return 0;}},{key:"merge",value:function merge(){return false;}},{key:"become",value:function become(other){return other instanceof WidgetBufferView&&other.side==this.side;}},{key:"split",value:function split(){return new WidgetBufferView(this.side);}},{key:"sync",value:function sync(){if(!this.dom){var dom=document.createElement("img");dom.className="cm-widgetBuffer";dom.setAttribute("aria-hidden","true");this.setDOM(dom);}}},{key:"getSide",value:function getSide(){return this.side;}},{key:"domAtPos",value:function domAtPos(pos){return this.side>0?DOMPos.before(this.dom):DOMPos.after(this.dom);}},{key:"localPosFromDOM",value:function localPosFromDOM(){return 0;}},{key:"domBoundsAround",value:function domBoundsAround(){return null;}},{key:"coordsAt",value:function coordsAt(pos){return this.dom.getBoundingClientRect();}},{key:"overrideDOMText",get:function get(){return Text.empty;}},{key:"isHidden",get:function get(){return true;}}]);return WidgetBufferView;}(ContentView);TextView.prototype.children=WidgetView.prototype.children=WidgetBufferView.prototype.children=noChildren;function inlineDOMAtPos(parent,pos){var dom=parent.dom,children=parent.children,i=0;for(var off=0;i<children.length;i++){var child=children[i],end=off+child.length;if(end==off&&child.getSide()<=0)continue;if(pos>off&&pos<end&&child.dom.parentNode==dom)return child.domAtPos(pos-off);if(pos<=off)break;off=end;}for(var j=i;j>0;j--){var prev=children[j-1];if(prev.dom.parentNode==dom)return prev.domAtPos(prev.length);}for(var _j=i;_j<children.length;_j++){var next=children[_j];if(next.dom.parentNode==dom)return next.domAtPos(0);}return new DOMPos(dom,0);}function joinInlineInto(parent,view,open){var last,children=parent.children;if(open>0&&view instanceof MarkView&&children.length&&(last=children[children.length-1])instanceof MarkView&&last.mark.eq(view.mark)){joinInlineInto(last,view.children[0],open-1);}else{children.push(view);view.setParent(parent);}parent.length+=view.length;}function coordsInChildren(view,pos,side){var before=null,beforePos=-1,after=null,afterPos=-1;function scan(view2,pos2){for(var _i66=0,off=0;_i66<view2.children.length&&off<=pos2;_i66++){var child=view2.children[_i66],end=off+child.length;if(end>=pos2){if(child.children.length){scan(child,pos2-off);}else if((!after||after.isHidden&&side>0)&&(end>pos2||off==end&&child.getSide()>0)){after=child;afterPos=pos2-off;}else if(off<pos2||off==end&&child.getSide()<0&&!child.isHidden){before=child;beforePos=pos2-off;}}off=end;}}scan(view,pos);var target=(side<0?before:after)||before||after;if(target)return target.coordsAt(Math.max(0,target==before?beforePos:afterPos),side);return fallbackRect(view);}function fallbackRect(view){var last=view.dom.lastChild;if(!last)return view.dom.getBoundingClientRect();var rects=clientRectsFor(last);return rects[rects.length-1]||null;}function combineAttrs(source,target){for(var name2 in source){if(name2=="class"&&target["class"])target["class"]+=" "+source["class"];else if(name2=="style"&&target.style)target.style+=";"+source.style;else target[name2]=source[name2];}return target;}var noAttrs=/* @__PURE__ */Object.create(null);function attrsEq(a,b,ignore){if(a==b)return true;if(!a)a=noAttrs;if(!b)b=noAttrs;var keysA=Object.keys(a),keysB=Object.keys(b);if(keysA.length-(ignore&&keysA.indexOf(ignore)>-1?1:0)!=keysB.length-(ignore&&keysB.indexOf(ignore)>-1?1:0))return false;for(var _i67=0,_keysA=keysA;_i67<_keysA.length;_i67++){var key=_keysA[_i67];if(key!=ignore&&(keysB.indexOf(key)==-1||a[key]!==b[key]))return false;}return true;}function _updateAttrs(dom,prev,attrs){var changed=false;if(prev){for(var name2 in prev){if(!(attrs&&name2 in attrs)){changed=true;if(name2=="style")dom.style.cssText="";else dom.removeAttribute(name2);}}}if(attrs){for(var _name in attrs){if(!(prev&&prev[_name]==attrs[_name])){changed=true;if(_name=="style")dom.style.cssText=attrs[_name];else dom.setAttribute(_name,attrs[_name]);}}}return changed;}function getAttrs(dom){var attrs=/* @__PURE__ */Object.create(null);for(var _i68=0;_i68<dom.attributes.length;_i68++){var attr=dom.attributes[_i68];attrs[attr.name]=attr.value;}return attrs;}var LineView=/*#__PURE__*/function(_ContentView5){_inherits(LineView,_ContentView5);var _super8=_createSuper(LineView);function LineView(){var _this12;_classCallCheck(this,LineView);_this12=_super8.apply(this,arguments);_this12.children=[];_this12.length=0;_this12.prevAttrs=void 0;_this12.attrs=null;_this12.breakAfter=0;return _this12;}_createClass(LineView,[{key:"merge",value:function merge(from,to,source,hasStart,openStart,openEnd){if(source){if(!(source instanceof LineView))return false;if(!this.dom)source.transferDOM(this);}if(hasStart)this.setDeco(source?source.attrs:null);mergeChildrenInto(this,from,to,source?source.children.slice():[],openStart,openEnd);return true;}},{key:"split",value:function split(at){var end=new LineView();end.breakAfter=this.breakAfter;if(this.length==0)return end;var _this$childPos=this.childPos(at),i=_this$childPos.i,off=_this$childPos.off;if(off){end.append(this.children[i].split(off),0);this.children[i].merge(off,this.children[i].length,null,false,0,0);i++;}for(var j=i;j<this.children.length;j++){end.append(this.children[j],0);}while(i>0&&this.children[i-1].length==0){this.children[--i].destroy();}this.children.length=i;this.markDirty();this.length=at;return end;}},{key:"transferDOM",value:function transferDOM(other){if(!this.dom)return;this.markDirty();other.setDOM(this.dom);other.prevAttrs=this.prevAttrs===void 0?this.attrs:this.prevAttrs;this.prevAttrs=void 0;this.dom=null;}},{key:"setDeco",value:function setDeco(attrs){if(!attrsEq(this.attrs,attrs)){if(this.dom){this.prevAttrs=this.attrs;this.markDirty();}this.attrs=attrs;}}},{key:"append",value:function append(child,openStart){joinInlineInto(this,child,openStart);}},{key:"addLineDeco",value:function addLineDeco(deco){var attrs=deco.spec.attributes,cls=deco.spec["class"];if(attrs)this.attrs=combineAttrs(attrs,this.attrs||{});if(cls)this.attrs=combineAttrs({"class":cls},this.attrs||{});}},{key:"domAtPos",value:function domAtPos(pos){return inlineDOMAtPos(this,pos);}},{key:"reuseDOM",value:function reuseDOM(node){if(node.nodeName=="DIV"){this.setDOM(node);this.flags|=4|2;}}},{key:"sync",value:function sync(view,track){var _a2;if(!this.dom){this.setDOM(document.createElement("div"));this.dom.className="cm-line";this.prevAttrs=this.attrs?null:void 0;}else if(this.flags&4){clearAttributes(this.dom);this.dom.className="cm-line";this.prevAttrs=this.attrs?null:void 0;}if(this.prevAttrs!==void 0){_updateAttrs(this.dom,this.prevAttrs,this.attrs);this.dom.classList.add("cm-line");this.prevAttrs=void 0;}_get(_getPrototypeOf(LineView.prototype),"sync",this).call(this,view,track);var last=this.dom.lastChild;while(last&&ContentView.get(last)instanceof MarkView){last=last.lastChild;}if(!last||!this.length||last.nodeName!="BR"&&((_a2=ContentView.get(last))===null||_a2===void 0?void 0:_a2.isEditable)==false&&(!browser.ios||!this.children.some(function(ch){return ch instanceof TextView;}))){var hack=document.createElement("BR");hack.cmIgnore=true;this.dom.appendChild(hack);}}},{key:"measureTextSize",value:function measureTextSize(){if(this.children.length==0||this.length>20)return null;var totalWidth=0,textHeight;var _iterator40=_createForOfIteratorHelper(this.children),_step40;try{for(_iterator40.s();!(_step40=_iterator40.n()).done;){var child=_step40.value;if(!(child instanceof TextView)||/[^ -~]/.test(child.text))return null;var rects=clientRectsFor(child.dom);if(rects.length!=1)return null;totalWidth+=rects[0].width;textHeight=rects[0].height;}}catch(err){_iterator40.e(err);}finally{_iterator40.f();}return!totalWidth?null:{lineHeight:this.dom.getBoundingClientRect().height,charWidth:totalWidth/this.length,textHeight:textHeight};}},{key:"coordsAt",value:function coordsAt(pos,side){var rect=coordsInChildren(this,pos,side);if(!this.children.length&&rect&&this.parent){var heightOracle=this.parent.view.viewState.heightOracle,height=rect.bottom-rect.top;if(Math.abs(height-heightOracle.lineHeight)<2&&heightOracle.textHeight<height){var dist2=(height-heightOracle.textHeight)/2;return{top:rect.top+dist2,bottom:rect.bottom-dist2,left:rect.left,right:rect.left};}}return rect;}},{key:"become",value:function become(_other){return false;}},{key:"covers",value:function covers(){return true;}}],[{key:"find",value:function find(docView,pos){for(var _i69=0,off=0;_i69<docView.children.length;_i69++){var block=docView.children[_i69],end=off+block.length;if(end>=pos){if(block instanceof LineView)return block;if(end>pos)break;}off=end+block.breakAfter;}return null;}}]);return LineView;}(ContentView);var BlockWidgetView=/*#__PURE__*/function(_ContentView6){_inherits(BlockWidgetView,_ContentView6);var _super9=_createSuper(BlockWidgetView);function BlockWidgetView(widget,length,deco){var _this13;_classCallCheck(this,BlockWidgetView);_this13=_super9.call(this);_this13.widget=widget;_this13.length=length;_this13.deco=deco;_this13.breakAfter=0;_this13.prevWidget=null;return _this13;}_createClass(BlockWidgetView,[{key:"merge",value:function merge(from,to,source,_takeDeco,openStart,openEnd){if(source&&(!(source instanceof BlockWidgetView)||!this.widget.compare(source.widget)||from>0&&openStart<=0||to<this.length&&openEnd<=0))return false;this.length=from+(source?source.length:0)+(this.length-to);return true;}},{key:"domAtPos",value:function domAtPos(pos){return pos==0?DOMPos.before(this.dom):DOMPos.after(this.dom,pos==this.length);}},{key:"split",value:function split(at){var len=this.length-at;this.length=at;var end=new BlockWidgetView(this.widget,len,this.deco);end.breakAfter=this.breakAfter;return end;}},{key:"children",get:function get(){return noChildren;}},{key:"sync",value:function sync(view){if(!this.dom||!this.widget.updateDOM(this.dom,view)){if(this.dom&&this.prevWidget)this.prevWidget.destroy(this.dom);this.prevWidget=null;this.setDOM(this.widget.toDOM(view));if(!this.widget.editable)this.dom.contentEditable="false";}}},{key:"overrideDOMText",get:function get(){return this.parent?this.parent.view.state.doc.slice(this.posAtStart,this.posAtEnd):Text.empty;}},{key:"domBoundsAround",value:function domBoundsAround(){return null;}},{key:"become",value:function become(other){if(other instanceof BlockWidgetView&&other.widget.constructor==this.widget.constructor){if(!other.widget.compare(this.widget))this.markDirty(true);if(this.dom&&!this.prevWidget)this.prevWidget=this.widget;this.widget=other.widget;this.length=other.length;this.deco=other.deco;this.breakAfter=other.breakAfter;return true;}return false;}},{key:"ignoreMutation",value:function ignoreMutation(){return true;}},{key:"ignoreEvent",value:function ignoreEvent(event){return this.widget.ignoreEvent(event);}},{key:"isEditable",get:function get(){return false;}},{key:"isWidget",get:function get(){return true;}},{key:"coordsAt",value:function coordsAt(pos,side){return this.widget.coordsAt(this.dom,pos,side);}},{key:"destroy",value:function destroy(){_get(_getPrototypeOf(BlockWidgetView.prototype),"destroy",this).call(this);if(this.dom)this.widget.destroy(this.dom);}},{key:"covers",value:function covers(side){var _this$deco=this.deco,startSide=_this$deco.startSide,endSide=_this$deco.endSide;return startSide==endSide?false:side<0?startSide<0:endSide>0;}}]);return BlockWidgetView;}(ContentView);var WidgetType=/*#__PURE__*/function(){function WidgetType(){_classCallCheck(this,WidgetType);}_createClass(WidgetType,[{key:"eq",value:function eq(widget){return false;}},{key:"updateDOM",value:function updateDOM(dom,view){return false;}},{key:"compare",value:function compare(other){return this==other||this.constructor==other.constructor&&this.eq(other);}},{key:"estimatedHeight",get:function get(){return-1;}},{key:"lineBreaks",get:function get(){return 0;}},{key:"ignoreEvent",value:function ignoreEvent(event){return true;}},{key:"coordsAt",value:function coordsAt(dom,pos,side){return null;}},{key:"isHidden",get:function get(){return false;}},{key:"editable",get:function get(){return false;}},{key:"destroy",value:function destroy(dom){}}]);return WidgetType;}();var BlockType=/* @__PURE__ */function(BlockType2){BlockType2[BlockType2["Text"]=0]="Text";BlockType2[BlockType2["WidgetBefore"]=1]="WidgetBefore";BlockType2[BlockType2["WidgetAfter"]=2]="WidgetAfter";BlockType2[BlockType2["WidgetRange"]=3]="WidgetRange";return BlockType2;}(BlockType||(BlockType={}));var Decoration=/*#__PURE__*/function(_RangeValue){_inherits(Decoration,_RangeValue);var _super10=_createSuper(Decoration);function Decoration(startSide,endSide,widget,spec){var _this14;_classCallCheck(this,Decoration);_this14=_super10.call(this);_this14.startSide=startSide;_this14.endSide=endSide;_this14.widget=widget;_this14.spec=spec;return _this14;}_createClass(Decoration,[{key:"heightRelevant",get:function get(){return false;}},{key:"hasHeight",value:function hasHeight(){return this.widget?this.widget.estimatedHeight>-1:false;}}],[{key:"mark",value:function mark(spec){return new MarkDecoration(spec);}},{key:"widget",value:function widget(spec){var side=Math.max(-1e4,Math.min(1e4,spec.side||0)),block=!!spec.block;side+=block&&!spec.inlineOrder?side>0?3e8:-4e8:side>0?1e8:-1e8;return new PointDecoration(spec,side,side,block,spec.widget||null,false);}},{key:"replace",value:function replace(spec){var block=!!spec.block,startSide,endSide;if(spec.isBlockGap){startSide=-5e8;endSide=4e8;}else{var _getInclusive=getInclusive(spec,block),start=_getInclusive.start,end=_getInclusive.end;startSide=(start?block?-3e8:-1:5e8)-1;endSide=(end?block?2e8:1:-6e8)+1;}return new PointDecoration(spec,startSide,endSide,block,spec.widget||null,true);}},{key:"line",value:function line(spec){return new LineDecoration(spec);}},{key:"set",value:function set(of){var sort=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return RangeSet.of(of,sort);}}]);return Decoration;}(RangeValue);Decoration.none=RangeSet.empty;var MarkDecoration=/*#__PURE__*/function(_Decoration){_inherits(MarkDecoration,_Decoration);var _super11=_createSuper(MarkDecoration);function MarkDecoration(spec){var _this15;_classCallCheck(this,MarkDecoration);var _getInclusive2=getInclusive(spec),start=_getInclusive2.start,end=_getInclusive2.end;_this15=_super11.call(this,start?-1:5e8,end?1:-6e8,null,spec);_this15.tagName=spec.tagName||"span";_this15["class"]=spec["class"]||"";_this15.attrs=spec.attributes||null;return _this15;}_createClass(MarkDecoration,[{key:"eq",value:function eq(other){var _a2,_b;return this==other||other instanceof MarkDecoration&&this.tagName==other.tagName&&(this["class"]||((_a2=this.attrs)===null||_a2===void 0?void 0:_a2["class"]))==(other["class"]||((_b=other.attrs)===null||_b===void 0?void 0:_b["class"]))&&attrsEq(this.attrs,other.attrs,"class");}},{key:"range",value:function range(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:from;if(from>=to)throw new RangeError("Mark decorations may not be empty");return _get(_getPrototypeOf(MarkDecoration.prototype),"range",this).call(this,from,to);}}]);return MarkDecoration;}(Decoration);MarkDecoration.prototype.point=false;var LineDecoration=/*#__PURE__*/function(_Decoration2){_inherits(LineDecoration,_Decoration2);var _super12=_createSuper(LineDecoration);function LineDecoration(spec){_classCallCheck(this,LineDecoration);return _super12.call(this,-2e8,-2e8,null,spec);}_createClass(LineDecoration,[{key:"eq",value:function eq(other){return other instanceof LineDecoration&&this.spec["class"]==other.spec["class"]&&attrsEq(this.spec.attributes,other.spec.attributes);}},{key:"range",value:function range(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:from;if(to!=from)throw new RangeError("Line decoration ranges must be zero-length");return _get(_getPrototypeOf(LineDecoration.prototype),"range",this).call(this,from,to);}}]);return LineDecoration;}(Decoration);LineDecoration.prototype.mapMode=MapMode.TrackBefore;LineDecoration.prototype.point=true;var PointDecoration=/*#__PURE__*/function(_Decoration3){_inherits(PointDecoration,_Decoration3);var _super13=_createSuper(PointDecoration);function PointDecoration(spec,startSide,endSide,block,widget,isReplace){var _this16;_classCallCheck(this,PointDecoration);_this16=_super13.call(this,startSide,endSide,widget,spec);_this16.block=block;_this16.isReplace=isReplace;_this16.mapMode=!block?MapMode.TrackDel:startSide<=0?MapMode.TrackBefore:MapMode.TrackAfter;return _this16;}_createClass(PointDecoration,[{key:"type",get:function get(){return this.startSide!=this.endSide?BlockType.WidgetRange:this.startSide<=0?BlockType.WidgetBefore:BlockType.WidgetAfter;}},{key:"heightRelevant",get:function get(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0);}},{key:"eq",value:function eq(other){return other instanceof PointDecoration&&widgetsEq(this.widget,other.widget)&&this.block==other.block&&this.startSide==other.startSide&&this.endSide==other.endSide;}},{key:"range",value:function range(from){var to=arguments.length>1&&arguments[1]!==undefined?arguments[1]:from;if(this.isReplace&&(from>to||from==to&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&to!=from)throw new RangeError("Widget decorations can only have zero-length ranges");return _get(_getPrototypeOf(PointDecoration.prototype),"range",this).call(this,from,to);}}]);return PointDecoration;}(Decoration);PointDecoration.prototype.point=true;function getInclusive(spec){var block=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;var start=spec.inclusiveStart,end=spec.inclusiveEnd;if(start==null)start=spec.inclusive;if(end==null)end=spec.inclusive;return{start:start!==null&&start!==void 0?start:block,end:end!==null&&end!==void 0?end:block};}function widgetsEq(a,b){return a==b||!!(a&&b&&a.compare(b));}function addRange(from,to,ranges){var margin=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var last=ranges.length-1;if(last>=0&&ranges[last]+margin>=from)ranges[last]=Math.max(ranges[last],to);else ranges.push(from,to);}var ContentBuilder=/*#__PURE__*/function(){function ContentBuilder(doc2,pos,end,disallowBlockEffectsFor){_classCallCheck(this,ContentBuilder);this.doc=doc2;this.pos=pos;this.end=end;this.disallowBlockEffectsFor=disallowBlockEffectsFor;this.content=[];this.curLine=null;this.breakAtStart=0;this.pendingBuffer=0;this.bufferMarks=[];this.atCursorPos=true;this.openStart=-1;this.openEnd=-1;this.text="";this.textOff=0;this.cursor=doc2.iter();this.skip=pos;}_createClass(ContentBuilder,[{key:"posCovered",value:function posCovered(){if(this.content.length==0)return!this.breakAtStart&&this.doc.lineAt(this.pos).from!=this.pos;var last=this.content[this.content.length-1];return!(last.breakAfter||last instanceof BlockWidgetView&&last.deco.endSide<0);}},{key:"getLine",value:function getLine(){if(!this.curLine){this.content.push(this.curLine=new LineView());this.atCursorPos=true;}return this.curLine;}},{key:"flushBuffer",value:function flushBuffer(){var active=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.bufferMarks;if(this.pendingBuffer){this.curLine.append(wrapMarks(new WidgetBufferView(-1),active),active.length);this.pendingBuffer=0;}}},{key:"addBlockWidget",value:function addBlockWidget(view){this.flushBuffer();this.curLine=null;this.content.push(view);}},{key:"finish",value:function finish(openEnd){if(this.pendingBuffer&&openEnd<=this.bufferMarks.length)this.flushBuffer();else this.pendingBuffer=0;if(!this.posCovered()&&!(openEnd&&this.content.length&&this.content[this.content.length-1]instanceof BlockWidgetView))this.getLine();}},{key:"buildText",value:function buildText(length,active,openStart){while(length>0){if(this.textOff==this.text.length){var _this$cursor$next2=this.cursor.next(this.skip),value=_this$cursor$next2.value,lineBreak=_this$cursor$next2.lineBreak,done=_this$cursor$next2.done;this.skip=0;if(done)throw new Error("Ran out of text content when drawing inline views");if(lineBreak){if(!this.posCovered())this.getLine();if(this.content.length)this.content[this.content.length-1].breakAfter=1;else this.breakAtStart=1;this.flushBuffer();this.curLine=null;this.atCursorPos=true;length--;continue;}else{this.text=value;this.textOff=0;}}var take=Math.min(this.text.length-this.textOff,length,512);this.flushBuffer(active.slice(active.length-openStart));this.getLine().append(wrapMarks(new TextView(this.text.slice(this.textOff,this.textOff+take)),active),openStart);this.atCursorPos=true;this.textOff+=take;length-=take;openStart=0;}}},{key:"span",value:function span(from,to,active,openStart){this.buildText(to-from,active,openStart);this.pos=to;if(this.openStart<0)this.openStart=openStart;}},{key:"point",value:function point(from,to,deco,active,openStart,index){if(this.disallowBlockEffectsFor[index]&&deco instanceof PointDecoration){if(deco.block)throw new RangeError("Block decorations may not be specified via plugins");if(to>this.doc.lineAt(this.pos).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins");}var len=to-from;if(deco instanceof PointDecoration){if(deco.block){if(deco.startSide>0&&!this.posCovered())this.getLine();this.addBlockWidget(new BlockWidgetView(deco.widget||NullWidget.block,len,deco));}else{var view=WidgetView.create(deco.widget||NullWidget.inline,len,len?0:deco.startSide);var cursorBefore=this.atCursorPos&&!view.isEditable&&openStart<=active.length&&(from<to||deco.startSide>0);var cursorAfter=!view.isEditable&&(from<to||openStart>active.length||deco.startSide<=0);var line=this.getLine();if(this.pendingBuffer==2&&!cursorBefore&&!view.isEditable)this.pendingBuffer=0;this.flushBuffer(active);if(cursorBefore){line.append(wrapMarks(new WidgetBufferView(1),active),openStart);openStart=active.length+Math.max(0,openStart-active.length);}line.append(wrapMarks(view,active),openStart);this.atCursorPos=cursorAfter;this.pendingBuffer=!cursorAfter?0:from<to||openStart>active.length?1:2;if(this.pendingBuffer)this.bufferMarks=active.slice();}}else if(this.doc.lineAt(this.pos).from==this.pos){this.getLine().addLineDeco(deco);}if(len){if(this.textOff+len<=this.text.length){this.textOff+=len;}else{this.skip+=len-(this.text.length-this.textOff);this.text="";this.textOff=0;}this.pos=to;}if(this.openStart<0)this.openStart=openStart;}}],[{key:"build",value:function build(text,from,to,decorations2,dynamicDecorationMap){var builder=new ContentBuilder(text,from,to,dynamicDecorationMap);builder.openEnd=RangeSet.spans(decorations2,from,to,builder);if(builder.openStart<0)builder.openStart=builder.openEnd;builder.finish(builder.openEnd);return builder;}}]);return ContentBuilder;}();function wrapMarks(view,active){var _iterator41=_createForOfIteratorHelper(active),_step41;try{for(_iterator41.s();!(_step41=_iterator41.n()).done;){var mark=_step41.value;view=new MarkView(mark,[view],view.length);}}catch(err){_iterator41.e(err);}finally{_iterator41.f();}return view;}var NullWidget=/*#__PURE__*/function(_WidgetType){_inherits(NullWidget,_WidgetType);var _super14=_createSuper(NullWidget);function NullWidget(tag){var _this17;_classCallCheck(this,NullWidget);_this17=_super14.call(this);_this17.tag=tag;return _this17;}_createClass(NullWidget,[{key:"eq",value:function eq(other){return other.tag==this.tag;}},{key:"toDOM",value:function toDOM(){return document.createElement(this.tag);}},{key:"updateDOM",value:function updateDOM(elt){return elt.nodeName.toLowerCase()==this.tag;}},{key:"isHidden",get:function get(){return true;}}]);return NullWidget;}(WidgetType);NullWidget.inline=/* @__PURE__ */new NullWidget("span");NullWidget.block=/* @__PURE__ */new NullWidget("div");var Direction=/* @__PURE__ */function(Direction2){Direction2[Direction2["LTR"]=0]="LTR";Direction2[Direction2["RTL"]=1]="RTL";return Direction2;}(Direction||(Direction={}));var LTR=Direction.LTR;var RTL=Direction.RTL;function dec(str){var result=[];for(var _i70=0;_i70<str.length;_i70++){result.push(1<<+str[_i70]);}return result;}var LowTypes=/* @__PURE__ */dec("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008");var ArabicTypes=/* @__PURE__ */dec("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333");var Brackets=/* @__PURE__ */Object.create(null);var BracketStack=[];for(var _i71=0,_arr2=["()","[]","{}"];_i71<_arr2.length;_i71++){var p=_arr2[_i71];var l=/* @__PURE__ */p.charCodeAt(0),r=/* @__PURE__ */p.charCodeAt(1);Brackets[l]=r;Brackets[r]=-l;}function charType(ch){return ch<=247?LowTypes[ch]:1424<=ch&&ch<=1524?2:1536<=ch&&ch<=1785?ArabicTypes[ch-1536]:1774<=ch&&ch<=2220?4:8192<=ch&&ch<=8204?256:64336<=ch&&ch<=65023?4:1;}var BidiRE=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/;var BidiSpan=/*#__PURE__*/function(){function BidiSpan(from,to,level){_classCallCheck(this,BidiSpan);this.from=from;this.to=to;this.level=level;}_createClass(BidiSpan,[{key:"dir",get:function get(){return this.level%2?RTL:LTR;}},{key:"side",value:function side(end,dir){return this.dir==dir==end?this.to:this.from;}},{key:"forward",value:function forward(_forward,dir){return _forward==(this.dir==dir);}}],[{key:"find",value:function find(order,index,level,assoc){var maybe=-1;for(var _i72=0;_i72<order.length;_i72++){var span=order[_i72];if(span.from<=index&&span.to>=index){if(span.level==level)return _i72;if(maybe<0||(assoc!=0?assoc<0?span.from<index:span.to>index:order[maybe].level>span.level))maybe=_i72;}}if(maybe<0)throw new RangeError("Index out of range");return maybe;}}]);return BidiSpan;}();function isolatesEq(a,b){if(a.length!=b.length)return false;for(var _i73=0;_i73<a.length;_i73++){var iA=a[_i73],iB=b[_i73];if(iA.from!=iB.from||iA.to!=iB.to||iA.direction!=iB.direction||!isolatesEq(iA.inner,iB.inner))return false;}return true;}var types=[];function computeCharTypes(line,rFrom,rTo,isolates,outerType){for(var iI=0;iI<=isolates.length;iI++){var from=iI?isolates[iI-1].to:rFrom,to=iI<isolates.length?isolates[iI].from:rTo;var prevType=iI?256:outerType;for(var _i74=from,prev=prevType,prevStrong=prevType;_i74<to;_i74++){var type=charType(line.charCodeAt(_i74));if(type==512)type=prev;else if(type==8&&prevStrong==4)type=16;types[_i74]=type==4?2:type;if(type&7)prevStrong=type;prev=type;}for(var _i75=from,_prev=prevType,_prevStrong=prevType;_i75<to;_i75++){var _type2=types[_i75];if(_type2==128){if(_i75<to-1&&_prev==types[_i75+1]&&_prev&24)_type2=types[_i75]=_prev;else types[_i75]=256;}else if(_type2==64){var end=_i75+1;while(end<to&&types[end]==64){end++;}var replace=_i75&&_prev==8||end<rTo&&types[end]==8?_prevStrong==1?1:8:256;for(var j=_i75;j<end;j++){types[j]=replace;}_i75=end-1;}else if(_type2==8&&_prevStrong==1){types[_i75]=1;}_prev=_type2;if(_type2&7)_prevStrong=_type2;}}}function processBracketPairs(line,rFrom,rTo,isolates,outerType){var oppositeType=outerType==1?2:1;for(var iI=0,sI=0,context=0;iI<=isolates.length;iI++){var from=iI?isolates[iI-1].to:rFrom,to=iI<isolates.length?isolates[iI].from:rTo;for(var _i76=from,ch,br,type;_i76<to;_i76++){if(br=Brackets[ch=line.charCodeAt(_i76)]){if(br<0){for(var sJ=sI-3;sJ>=0;sJ-=3){if(BracketStack[sJ+1]==-br){var flags=BracketStack[sJ+2];var type2=flags&2?outerType:!(flags&4)?0:flags&1?oppositeType:outerType;if(type2)types[_i76]=types[BracketStack[sJ]]=type2;sI=sJ;break;}}}else if(BracketStack.length==189){break;}else{BracketStack[sI++]=_i76;BracketStack[sI++]=ch;BracketStack[sI++]=context;}}else if((type=types[_i76])==2||type==1){var embed=type==outerType;context=embed?0:1;for(var _sJ=sI-3;_sJ>=0;_sJ-=3){var cur2=BracketStack[_sJ+2];if(cur2&2)break;if(embed){BracketStack[_sJ+2]|=2;}else{if(cur2&4)break;BracketStack[_sJ+2]|=4;}}}}}}function processNeutrals(rFrom,rTo,isolates,outerType){for(var iI=0,prev=outerType;iI<=isolates.length;iI++){var from=iI?isolates[iI-1].to:rFrom,to=iI<isolates.length?isolates[iI].from:rTo;for(var _i77=from;_i77<to;){var type=types[_i77];if(type==256){var end=_i77+1;for(;;){if(end==to){if(iI==isolates.length)break;end=isolates[iI++].to;to=iI<isolates.length?isolates[iI].from:rTo;}else if(types[end]==256){end++;}else{break;}}var beforeL=prev==1;var afterL=(end<rTo?types[end]:outerType)==1;var replace=beforeL==afterL?beforeL?1:2:outerType;for(var j=end,jI=iI,fromJ=jI?isolates[jI-1].to:rFrom;j>_i77;){if(j==fromJ){j=isolates[--jI].from;fromJ=jI?isolates[jI-1].to:rFrom;}types[--j]=replace;}_i77=end;}else{prev=type;_i77++;}}}}function emitSpans(line,from,to,level,baseLevel,isolates,order){var ourType=level%2?2:1;if(level%2==baseLevel%2){for(var iCh=from,iI=0;iCh<to;){var sameDir=true,isNum=false;if(iI==isolates.length||iCh<isolates[iI].from){var next=types[iCh];if(next!=ourType){sameDir=false;isNum=next==16;}}var recurse=!sameDir&&ourType==1?[]:null;var localLevel=sameDir?level:level+1;var iScan=iCh;run:for(;;){if(iI<isolates.length&&iScan==isolates[iI].from){if(isNum)break run;var iso=isolates[iI];if(!sameDir)for(var upto=iso.to,jI=iI+1;;){if(upto==to)break run;if(jI<isolates.length&&isolates[jI].from==upto)upto=isolates[jI++].to;else if(types[upto]==ourType)break run;else break;}iI++;if(recurse){recurse.push(iso);}else{if(iso.from>iCh)order.push(new BidiSpan(iCh,iso.from,localLevel));var dirSwap=iso.direction==LTR!=!(localLevel%2);computeSectionOrder(line,dirSwap?level+1:level,baseLevel,iso.inner,iso.from,iso.to,order);iCh=iso.to;}iScan=iso.to;}else if(iScan==to||(sameDir?types[iScan]!=ourType:types[iScan]==ourType)){break;}else{iScan++;}}if(recurse)emitSpans(line,iCh,iScan,level+1,baseLevel,recurse,order);else if(iCh<iScan)order.push(new BidiSpan(iCh,iScan,localLevel));iCh=iScan;}}else{for(var _iCh=to,_iI=isolates.length;_iCh>from;){var _sameDir=true,_isNum=false;if(!_iI||_iCh>isolates[_iI-1].to){var _next2=types[_iCh-1];if(_next2!=ourType){_sameDir=false;_isNum=_next2==16;}}var _recurse=!_sameDir&&ourType==1?[]:null;var _localLevel=_sameDir?level:level+1;var _iScan=_iCh;run:for(;;){if(_iI&&_iScan==isolates[_iI-1].to){if(_isNum)break run;var _iso=isolates[--_iI];if(!_sameDir)for(var _upto=_iso.from,_jI=_iI;;){if(_upto==from)break run;if(_jI&&isolates[_jI-1].to==_upto)_upto=isolates[--_jI].from;else if(types[_upto-1]==ourType)break run;else break;}if(_recurse){_recurse.push(_iso);}else{if(_iso.to<_iCh)order.push(new BidiSpan(_iso.to,_iCh,_localLevel));var _dirSwap=_iso.direction==LTR!=!(_localLevel%2);computeSectionOrder(line,_dirSwap?level+1:level,baseLevel,_iso.inner,_iso.from,_iso.to,order);_iCh=_iso.from;}_iScan=_iso.from;}else if(_iScan==from||(_sameDir?types[_iScan-1]!=ourType:types[_iScan-1]==ourType)){break;}else{_iScan--;}}if(_recurse)emitSpans(line,_iScan,_iCh,level+1,baseLevel,_recurse,order);else if(_iScan<_iCh)order.push(new BidiSpan(_iScan,_iCh,_localLevel));_iCh=_iScan;}}}function computeSectionOrder(line,level,baseLevel,isolates,from,to,order){var outerType=level%2?2:1;computeCharTypes(line,from,to,isolates,outerType);processBracketPairs(line,from,to,isolates,outerType);processNeutrals(from,to,isolates,outerType);emitSpans(line,from,to,level,baseLevel,isolates,order);}function computeOrder(line,direction,isolates){if(!line)return[new BidiSpan(0,0,direction==RTL?1:0)];if(direction==LTR&&!isolates.length&&!BidiRE.test(line))return trivialOrder(line.length);if(isolates.length)while(line.length>types.length){types[types.length]=256;}var order=[],level=direction==LTR?0:1;computeSectionOrder(line,level,level,isolates,0,line.length,order);return order;}function trivialOrder(length){return[new BidiSpan(0,length,0)];}var movedOver="";function moveVisually(line,order,dir,start,forward){var _a2;var startIndex=start.head-line.from;var spanI=BidiSpan.find(order,startIndex,(_a2=start.bidiLevel)!==null&&_a2!==void 0?_a2:-1,start.assoc);var span=order[spanI],spanEnd=span.side(forward,dir);if(startIndex==spanEnd){var nextI=spanI+=forward?1:-1;if(nextI<0||nextI>=order.length)return null;span=order[spanI=nextI];startIndex=span.side(!forward,dir);spanEnd=span.side(forward,dir);}var nextIndex=findClusterBreak(line.text,startIndex,span.forward(forward,dir));if(nextIndex<span.from||nextIndex>span.to)nextIndex=spanEnd;movedOver=line.text.slice(Math.min(startIndex,nextIndex),Math.max(startIndex,nextIndex));var nextSpan=spanI==(forward?order.length-1:0)?null:order[spanI+(forward?1:-1)];if(nextSpan&&nextIndex==spanEnd&&nextSpan.level+(forward?0:1)<span.level)return EditorSelection.cursor(nextSpan.side(!forward,dir)+line.from,nextSpan.forward(forward,dir)?1:-1,nextSpan.level);return EditorSelection.cursor(nextIndex+line.from,span.forward(forward,dir)?-1:1,span.level);}function autoDirection(text,from,to){for(var _i78=from;_i78<to;_i78++){var type=charType(text.charCodeAt(_i78));if(type==1)return LTR;if(type==2||type==4)return RTL;}return LTR;}var clickAddsSelectionRange=/* @__PURE__ */Facet.define();var dragMovesSelection$1=/* @__PURE__ */Facet.define();var mouseSelectionStyle=/* @__PURE__ */Facet.define();var exceptionSink=/* @__PURE__ */Facet.define();var updateListener=/* @__PURE__ */Facet.define();var inputHandler=/* @__PURE__ */Facet.define();var focusChangeEffect=/* @__PURE__ */Facet.define();var perLineTextDirection=/* @__PURE__ */Facet.define({combine:function combine(values){return values.some(function(x){return x;});}});var nativeSelectionHidden=/* @__PURE__ */Facet.define({combine:function combine(values){return values.some(function(x){return x;});}});var scrollHandler=/* @__PURE__ */Facet.define();var ScrollTarget=/*#__PURE__*/function(){function ScrollTarget(range){var y=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"nearest";var x=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"nearest";var yMargin=arguments.length>3&&arguments[3]!==undefined?arguments[3]:5;var xMargin=arguments.length>4&&arguments[4]!==undefined?arguments[4]:5;var isSnapshot=arguments.length>5&&arguments[5]!==undefined?arguments[5]:false;_classCallCheck(this,ScrollTarget);this.range=range;this.y=y;this.x=x;this.yMargin=yMargin;this.xMargin=xMargin;this.isSnapshot=isSnapshot;}_createClass(ScrollTarget,[{key:"map",value:function map(changes){return changes.empty?this:new ScrollTarget(this.range.map(changes),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot);}},{key:"clip",value:function clip(state){return this.range.to<=state.doc.length?this:new ScrollTarget(EditorSelection.cursor(state.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot);}}]);return ScrollTarget;}();var _scrollIntoView=/* @__PURE__ */StateEffect.define({map:function map(t2,ch){return t2.map(ch);}});function logException(state,exception,context){var handler=state.facet(exceptionSink);if(handler.length)handler[0](exception);else if(window.onerror)window.onerror(String(exception),context,void 0,void 0,exception);else if(context)console.error(context+":",exception);else console.error(exception);}var editable=/* @__PURE__ */Facet.define({combine:function combine(values){return values.length?values[0]:true;}});var nextPluginID=0;var viewPlugin=/* @__PURE__ */Facet.define();var ViewPlugin=/*#__PURE__*/function(){function ViewPlugin(id,create,domEventHandlers,domEventObservers,buildExtensions){_classCallCheck(this,ViewPlugin);this.id=id;this.create=create;this.domEventHandlers=domEventHandlers;this.domEventObservers=domEventObservers;this.extension=buildExtensions(this);}_createClass(ViewPlugin,null,[{key:"define",value:function define(create,spec){var _ref4=spec||{},eventHandlers=_ref4.eventHandlers,eventObservers=_ref4.eventObservers,provide=_ref4.provide,deco=_ref4.decorations;return new ViewPlugin(nextPluginID++,create,eventHandlers,eventObservers,function(plugin){var ext=[viewPlugin.of(plugin)];if(deco)ext.push(decorations.of(function(view){var pluginInst=view.plugin(plugin);return pluginInst?deco(pluginInst):Decoration.none;}));if(provide)ext.push(provide(plugin));return ext;});}},{key:"fromClass",value:function fromClass(cls,spec){return ViewPlugin.define(function(view){return new cls(view);},spec);}}]);return ViewPlugin;}();var PluginInstance=/*#__PURE__*/function(){function PluginInstance(spec){_classCallCheck(this,PluginInstance);this.spec=spec;this.mustUpdate=null;this.value=null;}_createClass(PluginInstance,[{key:"update",value:function update(view){if(!this.value){if(this.spec){try{this.value=this.spec.create(view);}catch(e){logException(view.state,e,"CodeMirror plugin crashed");this.deactivate();}}}else if(this.mustUpdate){var update=this.mustUpdate;this.mustUpdate=null;if(this.value.update){try{this.value.update(update);}catch(e){logException(update.state,e,"CodeMirror plugin crashed");if(this.value.destroy)try{this.value.destroy();}catch(_){}this.deactivate();}}}return this;}},{key:"destroy",value:function destroy(view){var _a2;if((_a2=this.value)===null||_a2===void 0?void 0:_a2.destroy){try{this.value.destroy();}catch(e){logException(view.state,e,"CodeMirror plugin crashed");}}}},{key:"deactivate",value:function deactivate(){this.spec=this.value=null;}}]);return PluginInstance;}();var editorAttributes=/* @__PURE__ */Facet.define();var contentAttributes=/* @__PURE__ */Facet.define();var decorations=/* @__PURE__ */Facet.define();var outerDecorations=/* @__PURE__ */Facet.define();var atomicRanges=/* @__PURE__ */Facet.define();var bidiIsolatedRanges=/* @__PURE__ */Facet.define();function getIsolatedRanges(view,line){var isolates=view.state.facet(bidiIsolatedRanges);if(!isolates.length)return isolates;var sets=isolates.map(function(i){return i instanceof Function?i(view):i;});var result=[];RangeSet.spans(sets,line.from,line.to,{point:function point(){},span:function span(fromDoc,toDoc,active,open){var from=fromDoc-line.from,to=toDoc-line.from;var level=result;for(var _i79=active.length-1;_i79>=0;_i79--,open--){var direction=active[_i79].spec.bidiIsolate,update=void 0;if(direction==null)direction=autoDirection(line.text,from,to);if(open>0&&level.length&&(update=level[level.length-1]).to==from&&update.direction==direction){update.to=to;level=update.inner;}else{var add2={from:from,to:to,direction:direction,inner:[]};level.push(add2);level=add2.inner;}}}});return result;}var scrollMargins=/* @__PURE__ */Facet.define();function getScrollMargins(view){var left=0,right=0,top2=0,bottom=0;var _iterator42=_createForOfIteratorHelper(view.state.facet(scrollMargins)),_step42;try{for(_iterator42.s();!(_step42=_iterator42.n()).done;){var source=_step42.value;var m=source(view);if(m){if(m.left!=null)left=Math.max(left,m.left);if(m.right!=null)right=Math.max(right,m.right);if(m.top!=null)top2=Math.max(top2,m.top);if(m.bottom!=null)bottom=Math.max(bottom,m.bottom);}}}catch(err){_iterator42.e(err);}finally{_iterator42.f();}return{left:left,right:right,top:top2,bottom:bottom};}var styleModule=/* @__PURE__ */Facet.define();var ChangedRange=/*#__PURE__*/function(){function ChangedRange(fromA,toA,fromB,toB){_classCallCheck(this,ChangedRange);this.fromA=fromA;this.toA=toA;this.fromB=fromB;this.toB=toB;}_createClass(ChangedRange,[{key:"join",value:function join(other){return new ChangedRange(Math.min(this.fromA,other.fromA),Math.max(this.toA,other.toA),Math.min(this.fromB,other.fromB),Math.max(this.toB,other.toB));}},{key:"addToSet",value:function addToSet(set){var i=set.length,me=this;for(;i>0;i--){var range=set[i-1];if(range.fromA>me.toA)continue;if(range.toA<me.fromA)break;me=me.join(range);set.splice(i-1,1);}set.splice(i,0,me);return set;}}],[{key:"extendWithRanges",value:function extendWithRanges(diff,ranges){if(ranges.length==0)return diff;var result=[];for(var dI=0,rI=0,posA=0,posB=0;;dI++){var next=dI==diff.length?null:diff[dI],off=posA-posB;var end=next?next.fromB:1e9;while(rI<ranges.length&&ranges[rI]<end){var from=ranges[rI],to=ranges[rI+1];var fromB=Math.max(posB,from),toB=Math.min(end,to);if(fromB<=toB)new ChangedRange(fromB+off,toB+off,fromB,toB).addToSet(result);if(to>end)break;else rI+=2;}if(!next)return result;new ChangedRange(next.fromA,next.toA,next.fromB,next.toB).addToSet(result);posA=next.toA;posB=next.toB;}}}]);return ChangedRange;}();var ViewUpdate=/*#__PURE__*/function(){function ViewUpdate(view,state,transactions){_classCallCheck(this,ViewUpdate);this.view=view;this.state=state;this.transactions=transactions;this.flags=0;this.startState=view.state;this.changes=ChangeSet.empty(this.startState.doc.length);var _iterator43=_createForOfIteratorHelper(transactions),_step43;try{for(_iterator43.s();!(_step43=_iterator43.n()).done;){var tr=_step43.value;this.changes=this.changes.compose(tr.changes);}}catch(err){_iterator43.e(err);}finally{_iterator43.f();}var changedRanges=[];this.changes.iterChangedRanges(function(fromA,toA,fromB,toB){return changedRanges.push(new ChangedRange(fromA,toA,fromB,toB));});this.changedRanges=changedRanges;}_createClass(ViewUpdate,[{key:"viewportChanged",get:function get(){return(this.flags&4)>0;}},{key:"heightChanged",get:function get(){return(this.flags&2)>0;}},{key:"geometryChanged",get:function get(){return this.docChanged||(this.flags&(8|2))>0;}},{key:"focusChanged",get:function get(){return(this.flags&1)>0;}},{key:"docChanged",get:function get(){return!this.changes.empty;}},{key:"selectionSet",get:function get(){return this.transactions.some(function(tr){return tr.selection;});}},{key:"empty",get:function get(){return this.flags==0&&this.transactions.length==0;}}],[{key:"create",value:function create(view,state,transactions){return new ViewUpdate(view,state,transactions);}}]);return ViewUpdate;}();var DocView=/*#__PURE__*/function(_ContentView7){_inherits(DocView,_ContentView7);var _super15=_createSuper(DocView);function DocView(view){var _this18;_classCallCheck(this,DocView);_this18=_super15.call(this);_this18.view=view;_this18.decorations=[];_this18.dynamicDecorationMap=[false];_this18.domChanged=null;_this18.hasComposition=null;_this18.markedForComposition=/* @__PURE__ */new Set();_this18.compositionBarrier=Decoration.none;_this18.minWidth=0;_this18.minWidthFrom=0;_this18.minWidthTo=0;_this18.impreciseAnchor=null;_this18.impreciseHead=null;_this18.forceSelection=false;_this18.lastUpdate=Date.now();_this18.setDOM(view.contentDOM);_this18.children=[new LineView()];_this18.children[0].setParent(_assertThisInitialized(_this18));_this18.updateDeco();_this18.updateInner([new ChangedRange(0,0,0,view.state.doc.length)],0,null);return _this18;}_createClass(DocView,[{key:"length",get:function get(){return this.view.state.doc.length;}},{key:"update",value:function update(_update){var _this19=this;var _a2;var changedRanges=_update.changedRanges;if(this.minWidth>0&&changedRanges.length){if(!changedRanges.every(function(_ref5){var fromA=_ref5.fromA,toA=_ref5.toA;return toA<_this19.minWidthFrom||fromA>_this19.minWidthTo;})){this.minWidth=this.minWidthFrom=this.minWidthTo=0;}else{this.minWidthFrom=_update.changes.mapPos(this.minWidthFrom,1);this.minWidthTo=_update.changes.mapPos(this.minWidthTo,1);}}var readCompositionAt=-1;if(this.view.inputState.composing>=0){if((_a2=this.domChanged)===null||_a2===void 0?void 0:_a2.newSel)readCompositionAt=this.domChanged.newSel.head;else if(!touchesComposition(_update.changes,this.hasComposition)&&!_update.selectionSet)readCompositionAt=_update.state.selection.main.head;}var composition=readCompositionAt>-1?findCompositionRange(this.view,_update.changes,readCompositionAt):null;this.domChanged=null;if(this.hasComposition){this.markedForComposition.clear();var _this$hasComposition=this.hasComposition,from=_this$hasComposition.from,to=_this$hasComposition.to;changedRanges=new ChangedRange(from,to,_update.changes.mapPos(from,-1),_update.changes.mapPos(to,1)).addToSet(changedRanges.slice());}this.hasComposition=composition?{from:composition.range.fromB,to:composition.range.toB}:null;if((browser.ie||browser.chrome)&&!composition&&_update&&_update.state.doc.lines!=_update.startState.doc.lines)this.forceSelection=true;var prevDeco=this.decorations,deco=this.updateDeco();var decoDiff=findChangedDeco(prevDeco,deco,_update.changes);changedRanges=ChangedRange.extendWithRanges(changedRanges,decoDiff);if(!(this.flags&7)&&changedRanges.length==0){return false;}else{this.updateInner(changedRanges,_update.startState.doc.length,composition);if(_update.transactions.length)this.lastUpdate=Date.now();return true;}}},{key:"updateInner",value:function updateInner(changes,oldLength,composition){var _this20=this;this.view.viewState.mustMeasureContent=true;this.updateChildren(changes,oldLength,composition);var observer=this.view.observer;observer.ignore(function(){_this20.dom.style.height=_this20.view.viewState.contentHeight/_this20.view.scaleY+"px";_this20.dom.style.flexBasis=_this20.minWidth?_this20.minWidth+"px":"";var track=browser.chrome||browser.ios?{node:observer.selectionRange.focusNode,written:false}:void 0;_this20.sync(_this20.view,track);_this20.flags&=~7;if(track&&(track.written||observer.selectionRange.focusNode!=track.node))_this20.forceSelection=true;_this20.dom.style.height="";});this.markedForComposition.forEach(function(cView){return cView.flags&=~8;});var gaps=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length){var _iterator44=_createForOfIteratorHelper(this.children),_step44;try{for(_iterator44.s();!(_step44=_iterator44.n()).done;){var child=_step44.value;if(child instanceof BlockWidgetView&&child.widget instanceof BlockGapWidget)gaps.push(child.dom);}}catch(err){_iterator44.e(err);}finally{_iterator44.f();}}observer.updateGaps(gaps);}},{key:"updateChildren",value:function updateChildren(changes,oldLength,composition){var ranges=composition?composition.range.addToSet(changes.slice()):changes;var cursor=this.childCursor(oldLength);for(var _i80=ranges.length-1;;_i80--){var next=_i80>=0?ranges[_i80]:null;if(!next)break;var fromA=next.fromA,toA=next.toA,fromB=next.fromB,toB=next.toB,content2=void 0,breakAtStart=void 0,openStart=void 0,openEnd=void 0;if(composition&&composition.range.fromB<toB&&composition.range.toB>fromB){var before=ContentBuilder.build(this.view.state.doc,fromB,composition.range.fromB,this.decorations,this.dynamicDecorationMap);var after=ContentBuilder.build(this.view.state.doc,composition.range.toB,toB,this.decorations,this.dynamicDecorationMap);breakAtStart=before.breakAtStart;openStart=before.openStart;openEnd=after.openEnd;var compLine=this.compositionView(composition);if(after.breakAtStart){compLine.breakAfter=1;}else if(after.content.length&&compLine.merge(compLine.length,compLine.length,after.content[0],false,after.openStart,0)){compLine.breakAfter=after.content[0].breakAfter;after.content.shift();}if(before.content.length&&compLine.merge(0,0,before.content[before.content.length-1],true,0,before.openEnd)){before.content.pop();}content2=before.content.concat(compLine).concat(after.content);}else{var _ContentBuilder$build=ContentBuilder.build(this.view.state.doc,fromB,toB,this.decorations,this.dynamicDecorationMap);content2=_ContentBuilder$build.content;breakAtStart=_ContentBuilder$build.breakAtStart;openStart=_ContentBuilder$build.openStart;openEnd=_ContentBuilder$build.openEnd;}var _cursor$findPos=cursor.findPos(toA,1),toI=_cursor$findPos.i,toOff=_cursor$findPos.off;var _cursor$findPos2=cursor.findPos(fromA,-1),fromI=_cursor$findPos2.i,fromOff=_cursor$findPos2.off;replaceRange(this,fromI,fromOff,toI,toOff,content2,breakAtStart,openStart,openEnd);}if(composition)this.fixCompositionDOM(composition);}},{key:"compositionView",value:function compositionView(composition){var cur2=new TextView(composition.text.nodeValue);cur2.flags|=8;var _iterator45=_createForOfIteratorHelper(composition.marks),_step45;try{for(_iterator45.s();!(_step45=_iterator45.n()).done;){var deco=_step45.value.deco;cur2=new MarkView(deco,[cur2],cur2.length);}}catch(err){_iterator45.e(err);}finally{_iterator45.f();}var line=new LineView();line.append(cur2,0);return line;}},{key:"fixCompositionDOM",value:function fixCompositionDOM(composition){var _this21=this;var fix=function fix(dom,cView2){cView2.flags|=8|(cView2.children.some(function(c){return c.flags&7;})?1:0);_this21.markedForComposition.add(cView2);var prev=ContentView.get(dom);if(prev&&prev!=cView2)prev.dom=null;cView2.setDOM(dom);};var pos=this.childPos(composition.range.fromB,1);var cView=this.children[pos.i];fix(composition.line,cView);for(var _i81=composition.marks.length-1;_i81>=-1;_i81--){pos=cView.childPos(pos.off,1);cView=cView.children[pos.i];fix(_i81>=0?composition.marks[_i81].node:composition.text,cView);}}},{key:"updateSelection",value:function updateSelection(){var _this22=this;var mustRead=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;var fromPointer=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;if(mustRead||!this.view.observer.selectionRange.focusNode)this.view.observer.readSelectionRange();var activeElt=this.view.root.activeElement,focused=activeElt==this.dom;var selectionNotFocus=!focused&&hasSelection(this.dom,this.view.observer.selectionRange)&&!(activeElt&&this.dom.contains(activeElt));if(!(focused||fromPointer||selectionNotFocus))return;var force=this.forceSelection;this.forceSelection=false;var main=this.view.state.selection.main;var anchor=this.moveToLine(this.domAtPos(main.anchor));var head=main.empty?anchor:this.moveToLine(this.domAtPos(main.head));if(browser.gecko&&main.empty&&!this.hasComposition&&betweenUneditable(anchor)){var dummy=document.createTextNode("");this.view.observer.ignore(function(){return anchor.node.insertBefore(dummy,anchor.node.childNodes[anchor.offset]||null);});anchor=head=new DOMPos(dummy,0);force=true;}var domSel=this.view.observer.selectionRange;if(force||!domSel.focusNode||(!isEquivalentPosition(anchor.node,anchor.offset,domSel.anchorNode,domSel.anchorOffset)||!isEquivalentPosition(head.node,head.offset,domSel.focusNode,domSel.focusOffset))&&!this.suppressWidgetCursorChange(domSel,main)){this.view.observer.ignore(function(){if(browser.android&&browser.chrome&&_this22.dom.contains(domSel.focusNode)&&inUneditable(domSel.focusNode,_this22.dom)){_this22.dom.blur();_this22.dom.focus({preventScroll:true});}var rawSel=getSelection(_this22.view.root);if(!rawSel);else if(main.empty){if(browser.gecko){var nextTo=nextToUneditable(anchor.node,anchor.offset);if(nextTo&&nextTo!=(1|2)){var _text3=nearbyTextNode(anchor.node,anchor.offset,nextTo==1?1:-1);if(_text3)anchor=new DOMPos(_text3.node,_text3.offset);}}rawSel.collapse(anchor.node,anchor.offset);if(main.bidiLevel!=null&&rawSel.caretBidiLevel!==void 0)rawSel.caretBidiLevel=main.bidiLevel;}else if(rawSel.extend){rawSel.collapse(anchor.node,anchor.offset);try{rawSel.extend(head.node,head.offset);}catch(_){}}else{var range=document.createRange();if(main.anchor>main.head){var _ref6=[head,anchor];anchor=_ref6[0];head=_ref6[1];}range.setEnd(head.node,head.offset);range.setStart(anchor.node,anchor.offset);rawSel.removeAllRanges();rawSel.addRange(range);}if(selectionNotFocus&&_this22.view.root.activeElement==_this22.dom){_this22.dom.blur();if(activeElt)activeElt.focus();}});this.view.observer.setSelectionRange(anchor,head);}this.impreciseAnchor=anchor.precise?null:new DOMPos(domSel.anchorNode,domSel.anchorOffset);this.impreciseHead=head.precise?null:new DOMPos(domSel.focusNode,domSel.focusOffset);}},{key:"suppressWidgetCursorChange",value:function suppressWidgetCursorChange(sel,cursor){return this.hasComposition&&cursor.empty&&!this.compositionBarrier.size&&isEquivalentPosition(sel.focusNode,sel.focusOffset,sel.anchorNode,sel.anchorOffset)&&this.posFromDOM(sel.focusNode,sel.focusOffset)==cursor.head;}},{key:"enforceCursorAssoc",value:function enforceCursorAssoc(){if(this.hasComposition)return;var view=this.view,cursor=view.state.selection.main;var sel=getSelection(view.root);var _view$observer$select=view.observer.selectionRange,anchorNode=_view$observer$select.anchorNode,anchorOffset=_view$observer$select.anchorOffset;if(!sel||!cursor.empty||!cursor.assoc||!sel.modify)return;var line=LineView.find(this,cursor.head);if(!line)return;var lineStart=line.posAtStart;if(cursor.head==lineStart||cursor.head==lineStart+line.length)return;var before=this.coordsAt(cursor.head,-1),after=this.coordsAt(cursor.head,1);if(!before||!after||before.bottom>after.top)return;var dom=this.domAtPos(cursor.head+cursor.assoc);sel.collapse(dom.node,dom.offset);sel.modify("move",cursor.assoc<0?"forward":"backward","lineboundary");view.observer.readSelectionRange();var newRange=view.observer.selectionRange;if(view.docView.posFromDOM(newRange.anchorNode,newRange.anchorOffset)!=cursor.from)sel.collapse(anchorNode,anchorOffset);}},{key:"moveToLine",value:function moveToLine(pos){var dom=this.dom,newPos;if(pos.node!=dom)return pos;for(var _i82=pos.offset;!newPos&&_i82<dom.childNodes.length;_i82++){var view=ContentView.get(dom.childNodes[_i82]);if(view instanceof LineView)newPos=view.domAtPos(0);}for(var _i83=pos.offset-1;!newPos&&_i83>=0;_i83--){var _view2=ContentView.get(dom.childNodes[_i83]);if(_view2 instanceof LineView)newPos=_view2.domAtPos(_view2.length);}return newPos?new DOMPos(newPos.node,newPos.offset,true):pos;}},{key:"nearest",value:function nearest(dom){for(var cur2=dom;cur2;){var domView=ContentView.get(cur2);if(domView&&domView.rootView==this)return domView;cur2=cur2.parentNode;}return null;}},{key:"posFromDOM",value:function posFromDOM(node,offset){var view=this.nearest(node);if(!view)throw new RangeError("Trying to find position for a DOM position outside of the document");return view.localPosFromDOM(node,offset)+view.posAtStart;}},{key:"domAtPos",value:function domAtPos(pos){var _this$childCursor$fin=this.childCursor().findPos(pos,-1),i=_this$childCursor$fin.i,off=_this$childCursor$fin.off;for(;i<this.children.length-1;){var child=this.children[i];if(off<child.length||child instanceof LineView)break;i++;off=0;}return this.children[i].domAtPos(off);}},{key:"coordsAt",value:function coordsAt(pos,side){var best=null,bestPos=0;for(var off=this.length,_i84=this.children.length-1;_i84>=0;_i84--){var child=this.children[_i84],end=off-child.breakAfter,start=end-child.length;if(end<pos)break;if(start<=pos&&(start<pos||child.covers(-1))&&(end>pos||child.covers(1))&&(!best||child instanceof LineView&&!(best instanceof LineView&&side>=0))){best=child;bestPos=start;}off=start;}return best?best.coordsAt(pos-bestPos,side):null;}},{key:"coordsForChar",value:function coordsForChar(pos){var _this$childPos2=this.childPos(pos,1),i=_this$childPos2.i,off=_this$childPos2.off,child=this.children[i];if(!(child instanceof LineView))return null;while(child.children.length){var _child$childPos=child.childPos(off,1),i2=_child$childPos.i,childOff=_child$childPos.off;for(;;i2++){if(i2==child.children.length)return null;if((child=child.children[i2]).length)break;}off=childOff;}if(!(child instanceof TextView))return null;var end=findClusterBreak(child.text,off);if(end==off)return null;var rects=textRange(child.dom,off,end).getClientRects();for(var _i85=0;_i85<rects.length;_i85++){var rect=rects[_i85];if(_i85==rects.length-1||rect.top<rect.bottom&&rect.left<rect.right)return rect;}return null;}},{key:"measureVisibleLineHeights",value:function measureVisibleLineHeights(viewport){var result=[],from=viewport.from,to=viewport.to;var contentWidth=this.view.contentDOM.clientWidth;var isWider=contentWidth>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1;var widest=-1,ltr=this.view.textDirection==Direction.LTR;for(var pos=0,_i86=0;_i86<this.children.length;_i86++){var child=this.children[_i86],end=pos+child.length;if(end>to)break;if(pos>=from){var childRect=child.dom.getBoundingClientRect();result.push(childRect.height);if(isWider){var last=child.dom.lastChild;var rects=last?clientRectsFor(last):[];if(rects.length){var rect=rects[rects.length-1];var width=ltr?rect.right-childRect.left:childRect.right-rect.left;if(width>widest){widest=width;this.minWidth=contentWidth;this.minWidthFrom=pos;this.minWidthTo=end;}}}}pos=end+child.breakAfter;}return result;}},{key:"textDirectionAt",value:function textDirectionAt(pos){var _this$childPos3=this.childPos(pos,1),i=_this$childPos3.i;return getComputedStyle(this.children[i].dom).direction=="rtl"?Direction.RTL:Direction.LTR;}},{key:"measureTextSize",value:function measureTextSize(){var _this23=this;var _iterator46=_createForOfIteratorHelper(this.children),_step46;try{for(_iterator46.s();!(_step46=_iterator46.n()).done;){var child=_step46.value;if(child instanceof LineView){var measure=child.measureTextSize();if(measure)return measure;}}}catch(err){_iterator46.e(err);}finally{_iterator46.f();}var dummy=document.createElement("div"),lineHeight,charWidth,textHeight;dummy.className="cm-line";dummy.style.width="99999px";dummy.style.position="absolute";dummy.textContent="abc def ghi jkl mno pqr stu";this.view.observer.ignore(function(){_this23.dom.appendChild(dummy);var rect=clientRectsFor(dummy.firstChild)[0];lineHeight=dummy.getBoundingClientRect().height;charWidth=rect?rect.width/27:7;textHeight=rect?rect.height:lineHeight;dummy.remove();});return{lineHeight:lineHeight,charWidth:charWidth,textHeight:textHeight};}},{key:"childCursor",value:function childCursor(){var pos=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.length;var i=this.children.length;if(i)pos-=this.children[--i].length;return new ChildCursor(this.children,pos,i);}},{key:"computeBlockGapDeco",value:function computeBlockGapDeco(){var deco=[],vs=this.view.viewState;for(var pos=0,_i87=0;;_i87++){var next=_i87==vs.viewports.length?null:vs.viewports[_i87];var end=next?next.from-1:this.length;if(end>pos){var height=(vs.lineBlockAt(end).bottom-vs.lineBlockAt(pos).top)/this.view.scaleY;deco.push(Decoration.replace({widget:new BlockGapWidget(height),block:true,inclusive:true,isBlockGap:true}).range(pos,end));}if(!next)break;pos=next.to+1;}return Decoration.set(deco);}},{key:"updateDeco",value:function updateDeco(){var _this24=this;var i=1;var allDeco=this.view.state.facet(decorations).map(function(d){var dynamic=_this24.dynamicDecorationMap[i++]=typeof d=="function";return dynamic?d(_this24.view):d;});var dynamicOuter=false,outerDeco=this.view.state.facet(outerDecorations).map(function(d,i2){var dynamic=typeof d=="function";if(dynamic)dynamicOuter=true;return dynamic?d(_this24.view):d;});if(outerDeco.length){this.dynamicDecorationMap[i++]=dynamicOuter;allDeco.push(RangeSet.join(outerDeco));}this.decorations=[this.compositionBarrier].concat(_toConsumableArray(allDeco),[this.computeBlockGapDeco(),this.view.viewState.lineGapDeco]);while(i<this.decorations.length){this.dynamicDecorationMap[i++]=false;}return this.decorations;}},{key:"maybeCreateCompositionBarrier",value:function maybeCreateCompositionBarrier(){var _this$view$state$sele=this.view.state.selection.main,head=_this$view$state$sele.head,empty2=_this$view$state$sele.empty;if(!empty2)return false;var found=null;var _iterator47=_createForOfIteratorHelper(this.decorations),_step47;try{for(_iterator47.s();!(_step47=_iterator47.n()).done;){var set=_step47.value;set.between(head,head,function(from,to,value){if(value.point)found=false;else if(value.endSide<0&&from<head&&to==head)found=true;});if(found===false)break;}}catch(err){_iterator47.e(err);}finally{_iterator47.f();}this.compositionBarrier=found?Decoration.set(compositionBarrierWidget.range(head)):Decoration.none;return!!found;}},{key:"clearCompositionBarrier",value:function clearCompositionBarrier(){this.compositionBarrier=Decoration.none;}},{key:"scrollIntoView",value:function scrollIntoView(target){if(target.isSnapshot){var ref=this.view.viewState.lineBlockAt(target.range.head);this.view.scrollDOM.scrollTop=ref.top-target.yMargin;this.view.scrollDOM.scrollLeft=target.xMargin;return;}var _iterator48=_createForOfIteratorHelper(this.view.state.facet(scrollHandler)),_step48;try{for(_iterator48.s();!(_step48=_iterator48.n()).done;){var handler=_step48.value;try{if(handler(this.view,target.range,target))return true;}catch(e){logException(this.view.state,e,"scroll handler");}}}catch(err){_iterator48.e(err);}finally{_iterator48.f();}var range=target.range;var rect=this.coordsAt(range.head,range.empty?range.assoc:range.head>range.anchor?-1:1),other;if(!rect)return;if(!range.empty&&(other=this.coordsAt(range.anchor,range.anchor>range.head?-1:1)))rect={left:Math.min(rect.left,other.left),top:Math.min(rect.top,other.top),right:Math.max(rect.right,other.right),bottom:Math.max(rect.bottom,other.bottom)};var margins=getScrollMargins(this.view);var targetRect={left:rect.left-margins.left,top:rect.top-margins.top,right:rect.right+margins.right,bottom:rect.bottom+margins.bottom};var _this$view$scrollDOM=this.view.scrollDOM,offsetWidth=_this$view$scrollDOM.offsetWidth,offsetHeight=_this$view$scrollDOM.offsetHeight;scrollRectIntoView(this.view.scrollDOM,targetRect,range.head<range.anchor?-1:1,target.x,target.y,Math.max(Math.min(target.xMargin,offsetWidth),-offsetWidth),Math.max(Math.min(target.yMargin,offsetHeight),-offsetHeight),this.view.textDirection==Direction.LTR);}}]);return DocView;}(ContentView);var compositionBarrierWidget=/* @__PURE__ */Decoration.widget({side:-1,widget:NullWidget.inline});function betweenUneditable(pos){return pos.node.nodeType==1&&pos.node.firstChild&&(pos.offset==0||pos.node.childNodes[pos.offset-1].contentEditable=="false")&&(pos.offset==pos.node.childNodes.length||pos.node.childNodes[pos.offset].contentEditable=="false");}var BlockGapWidget=/*#__PURE__*/function(_WidgetType2){_inherits(BlockGapWidget,_WidgetType2);var _super16=_createSuper(BlockGapWidget);function BlockGapWidget(height){var _this25;_classCallCheck(this,BlockGapWidget);_this25=_super16.call(this);_this25.height=height;return _this25;}_createClass(BlockGapWidget,[{key:"toDOM",value:function toDOM(){var elt=document.createElement("div");elt.className="cm-gap";this.updateDOM(elt);return elt;}},{key:"eq",value:function eq(other){return other.height==this.height;}},{key:"updateDOM",value:function updateDOM(elt){elt.style.height=this.height+"px";return true;}},{key:"editable",get:function get(){return true;}},{key:"estimatedHeight",get:function get(){return this.height;}},{key:"ignoreEvent",value:function ignoreEvent(){return false;}}]);return BlockGapWidget;}(WidgetType);function findCompositionNode(view,headPos){var sel=view.observer.selectionRange;var textNode=sel.focusNode&&nearbyTextNode(sel.focusNode,sel.focusOffset,0);if(!textNode)return null;var from=headPos-textNode.offset;return{from:from,to:from+textNode.node.nodeValue.length,node:textNode.node};}function findCompositionRange(view,changes,headPos){var found=findCompositionNode(view,headPos);if(!found)return null;var textNode=found.node,from=found.from,to=found.to,text=textNode.nodeValue;if(/[\n\r]/.test(text))return null;if(view.state.doc.sliceString(found.from,found.to)!=text)return null;var inv=changes.invertedDesc;var range=new ChangedRange(inv.mapPos(from),inv.mapPos(to),from,to);var marks2=[];for(var parent=textNode.parentNode;;parent=parent.parentNode){var parentView=ContentView.get(parent);if(parentView instanceof MarkView)marks2.push({node:parent,deco:parentView.mark});else if(parentView instanceof LineView||parent.nodeName=="DIV"&&parent.parentNode==view.contentDOM)return{range:range,text:textNode,marks:marks2,line:parent};else if(parent!=view.contentDOM)marks2.push({node:parent,deco:new MarkDecoration({inclusive:true,attributes:getAttrs(parent),tagName:parent.tagName.toLowerCase()})});else return null;}}function nearbyTextNode(startNode,startOffset,side){if(side<=0)for(var node=startNode,offset=startOffset;;){if(node.nodeType==3)return{node:node,offset:offset};if(node.nodeType==1&&offset>0){node=node.childNodes[offset-1];offset=maxOffset(node);}else{break;}}if(side>=0)for(var _node=startNode,_offset=startOffset;;){if(_node.nodeType==3)return{node:_node,offset:_offset};if(_node.nodeType==1&&_offset<_node.childNodes.length&&side>=0){_node=_node.childNodes[_offset];_offset=0;}else{break;}}return null;}function nextToUneditable(node,offset){if(node.nodeType!=1)return 0;return(offset&&node.childNodes[offset-1].contentEditable=="false"?1:0)|(offset<node.childNodes.length&&node.childNodes[offset].contentEditable=="false"?2:0);}var DecorationComparator$1=/*#__PURE__*/function(){function DecorationComparator(){_classCallCheck(this,DecorationComparator);this.changes=[];}_createClass(DecorationComparator,[{key:"compareRange",value:function compareRange(from,to){addRange(from,to,this.changes);}},{key:"comparePoint",value:function comparePoint(from,to){addRange(from,to,this.changes);}}]);return DecorationComparator;}();function findChangedDeco(a,b,diff){var comp=new DecorationComparator$1();RangeSet.compare(a,b,diff,comp);return comp.changes;}function inUneditable(node,inside2){for(var cur2=node;cur2&&cur2!=inside2;cur2=cur2.assignedSlot||cur2.parentNode){if(cur2.nodeType==1&&cur2.contentEditable=="false"){return true;}}return false;}function touchesComposition(changes,composition){var touched=false;if(composition)changes.iterChangedRanges(function(from,to){if(from<composition.to&&to>composition.from)touched=true;});return touched;}function groupAt(state,pos){var bias=arguments.length>2&&arguments[2]!==undefined?arguments[2]:1;var categorize=state.charCategorizer(pos);var line=state.doc.lineAt(pos),linePos=pos-line.from;if(line.length==0)return EditorSelection.cursor(pos);if(linePos==0)bias=1;else if(linePos==line.length)bias=-1;var from=linePos,to=linePos;if(bias<0)from=findClusterBreak(line.text,linePos,false);else to=findClusterBreak(line.text,linePos);var cat=categorize(line.text.slice(from,to));while(from>0){var prev=findClusterBreak(line.text,from,false);if(categorize(line.text.slice(prev,from))!=cat)break;from=prev;}while(to<line.length){var next=findClusterBreak(line.text,to);if(categorize(line.text.slice(to,next))!=cat)break;to=next;}return EditorSelection.range(from+line.from,to+line.from);}function getdx(x,rect){return rect.left>x?rect.left-x:Math.max(0,x-rect.right);}function getdy(y,rect){return rect.top>y?rect.top-y:Math.max(0,y-rect.bottom);}function yOverlap(a,b){return a.top<b.bottom-1&&a.bottom>b.top+1;}function upTop(rect,top2){return top2<rect.top?{top:top2,left:rect.left,right:rect.right,bottom:rect.bottom}:rect;}function upBot(rect,bottom){return bottom>rect.bottom?{top:rect.top,left:rect.left,right:rect.right,bottom:bottom}:rect;}function domPosAtCoords(parent,x,y){var closest,closestRect,closestX,closestY,closestOverlap=false;var above,below,aboveRect,belowRect;for(var child=parent.firstChild;child;child=child.nextSibling){var rects=clientRectsFor(child);for(var _i88=0;_i88<rects.length;_i88++){var rect=rects[_i88];if(closestRect&&yOverlap(closestRect,rect))rect=upTop(upBot(rect,closestRect.bottom),closestRect.top);var dx=getdx(x,rect),dy=getdy(y,rect);if(dx==0&&dy==0)return child.nodeType==3?domPosInText(child,x,y):domPosAtCoords(child,x,y);if(!closest||closestY>dy||closestY==dy&&closestX>dx){closest=child;closestRect=rect;closestX=dx;closestY=dy;var side=dy?y<rect.top?-1:1:dx?x<rect.left?-1:1:0;closestOverlap=!side||(side>0?_i88<rects.length-1:_i88>0);}if(dx==0){if(y>rect.bottom&&(!aboveRect||aboveRect.bottom<rect.bottom)){above=child;aboveRect=rect;}else if(y<rect.top&&(!belowRect||belowRect.top>rect.top)){below=child;belowRect=rect;}}else if(aboveRect&&yOverlap(aboveRect,rect)){aboveRect=upBot(aboveRect,rect.bottom);}else if(belowRect&&yOverlap(belowRect,rect)){belowRect=upTop(belowRect,rect.top);}}}if(aboveRect&&aboveRect.bottom>=y){closest=above;closestRect=aboveRect;}else if(belowRect&&belowRect.top<=y){closest=below;closestRect=belowRect;}if(!closest)return{node:parent,offset:0};var clipX=Math.max(closestRect.left,Math.min(closestRect.right,x));if(closest.nodeType==3)return domPosInText(closest,clipX,y);if(closestOverlap&&closest.contentEditable!="false")return domPosAtCoords(closest,clipX,y);var offset=Array.prototype.indexOf.call(parent.childNodes,closest)+(x>=(closestRect.left+closestRect.right)/2?1:0);return{node:parent,offset:offset};}function domPosInText(node,x,y){var len=node.nodeValue.length;var closestOffset=-1,closestDY=1e9,generalSide=0;for(var _i89=0;_i89<len;_i89++){var rects=textRange(node,_i89,_i89+1).getClientRects();for(var j=0;j<rects.length;j++){var rect=rects[j];if(rect.top==rect.bottom)continue;if(!generalSide)generalSide=x-rect.left;var dy=(rect.top>y?rect.top-y:y-rect.bottom)-1;if(rect.left-1<=x&&rect.right+1>=x&&dy<closestDY){var right=x>=(rect.left+rect.right)/2,after=right;if(browser.chrome||browser.gecko){var rectBefore=textRange(node,_i89).getBoundingClientRect();if(rectBefore.left==rect.right)after=!right;}if(dy<=0)return{node:node,offset:_i89+(after?1:0)};closestOffset=_i89+(after?1:0);closestDY=dy;}}}return{node:node,offset:closestOffset>-1?closestOffset:generalSide>0?node.nodeValue.length:0};}function _posAtCoords(view,coords,precise){var bias=arguments.length>3&&arguments[3]!==undefined?arguments[3]:-1;var _a2,_b;var content2=view.contentDOM.getBoundingClientRect(),docTop=content2.top+view.viewState.paddingTop;var block,docHeight=view.viewState.docHeight;var x=coords.x,y=coords.y,yOffset=y-docTop;if(yOffset<0)return 0;if(yOffset>docHeight)return view.state.doc.length;for(var halfLine=view.viewState.heightOracle.textHeight/2,bounced=false;;){block=view.elementAtHeight(yOffset);if(block.type==BlockType.Text)break;for(;;){yOffset=bias>0?block.bottom+halfLine:block.top-halfLine;if(yOffset>=0&&yOffset<=docHeight)break;if(bounced)return precise?null:0;bounced=true;bias=-bias;}}y=docTop+yOffset;var lineStart=block.from;if(lineStart<view.viewport.from)return view.viewport.from==0?0:precise?null:posAtCoordsImprecise(view,content2,block,x,y);if(lineStart>view.viewport.to)return view.viewport.to==view.state.doc.length?view.state.doc.length:precise?null:posAtCoordsImprecise(view,content2,block,x,y);var doc2=view.dom.ownerDocument;var root=view.root.elementFromPoint?view.root:doc2;var element=root.elementFromPoint(x,y);if(element&&!view.contentDOM.contains(element))element=null;if(!element){x=Math.max(content2.left+1,Math.min(content2.right-1,x));element=root.elementFromPoint(x,y);if(element&&!view.contentDOM.contains(element))element=null;}var node,offset=-1;if(element&&((_a2=view.docView.nearest(element))===null||_a2===void 0?void 0:_a2.isEditable)!=false){if(doc2.caretPositionFromPoint){var pos=doc2.caretPositionFromPoint(x,y);if(pos){node=pos.offsetNode;offset=pos.offset;}}else if(doc2.caretRangeFromPoint){var range=doc2.caretRangeFromPoint(x,y);if(range){node=range.startContainer;offset=range.startOffset;if(!view.contentDOM.contains(node)||browser.safari&&isSuspiciousSafariCaretResult(node,offset,x)||browser.chrome&&isSuspiciousChromeCaretResult(node,offset,x))node=void 0;}}}if(!node||!view.docView.dom.contains(node)){var line=LineView.find(view.docView,lineStart);if(!line)return yOffset>block.top+block.height/2?block.to:block.from;var _domPosAtCoords=domPosAtCoords(line.dom,x,y);node=_domPosAtCoords.node;offset=_domPosAtCoords.offset;}var nearest=view.docView.nearest(node);if(!nearest)return null;if(nearest.isWidget&&((_b=nearest.dom)===null||_b===void 0?void 0:_b.nodeType)==1){var rect=nearest.dom.getBoundingClientRect();return coords.y<rect.top||coords.y<=rect.bottom&&coords.x<=(rect.left+rect.right)/2?nearest.posAtStart:nearest.posAtEnd;}else{return nearest.localPosFromDOM(node,offset)+nearest.posAtStart;}}function posAtCoordsImprecise(view,contentRect,block,x,y){var into=Math.round((x-contentRect.left)*view.defaultCharacterWidth);if(view.lineWrapping&&block.height>view.defaultLineHeight*1.5){var textHeight=view.viewState.heightOracle.textHeight;var line=Math.floor((y-block.top-(view.defaultLineHeight-textHeight)*0.5)/textHeight);into+=line*view.viewState.heightOracle.lineLength;}var content2=view.state.sliceDoc(block.from,block.to);return block.from+findColumn(content2,into,view.state.tabSize);}function isSuspiciousSafariCaretResult(node,offset,x){var len;if(node.nodeType!=3||offset!=(len=node.nodeValue.length))return false;for(var next=node.nextSibling;next;next=next.nextSibling){if(next.nodeType!=1||next.nodeName!="BR")return false;}return textRange(node,len-1,len).getBoundingClientRect().left>x;}function isSuspiciousChromeCaretResult(node,offset,x){if(offset!=0)return false;for(var cur2=node;;){var parent=cur2.parentNode;if(!parent||parent.nodeType!=1||parent.firstChild!=cur2)return false;if(parent.classList.contains("cm-line"))break;cur2=parent;}var rect=node.nodeType==1?node.getBoundingClientRect():textRange(node,0,Math.max(node.nodeValue.length,1)).getBoundingClientRect();return x-rect.left>5;}function blockAt(view,pos){var line=view.lineBlockAt(pos);if(Array.isArray(line.type)){var _iterator49=_createForOfIteratorHelper(line.type),_step49;try{for(_iterator49.s();!(_step49=_iterator49.n()).done;){var _l=_step49.value;if(_l.to>pos||_l.to==pos&&(_l.to==line.to||_l.type==BlockType.Text))return _l;}}catch(err){_iterator49.e(err);}finally{_iterator49.f();}}return line;}function _moveToLineBoundary(view,start,forward,includeWrap){var line=blockAt(view,start.head);var coords=!includeWrap||line.type!=BlockType.Text||!(view.lineWrapping||line.widgetLineBreaks)?null:view.coordsAtPos(start.assoc<0&&start.head>line.from?start.head-1:start.head);if(coords){var editorRect=view.dom.getBoundingClientRect();var direction=view.textDirectionAt(line.from);var pos=view.posAtCoords({x:forward==(direction==Direction.LTR)?editorRect.right-1:editorRect.left+1,y:(coords.top+coords.bottom)/2});if(pos!=null)return EditorSelection.cursor(pos,forward?-1:1);}return EditorSelection.cursor(forward?line.to:line.from,forward?-1:1);}function _moveByChar(view,start,forward,by){var line=view.state.doc.lineAt(start.head),spans=view.bidiSpans(line);var direction=view.textDirectionAt(line.from);for(var cur2=start,check=null;;){var next=moveVisually(line,spans,direction,cur2,forward),_char2=movedOver;if(!next){if(line.number==(forward?view.state.doc.lines:1))return cur2;_char2="\n";line=view.state.doc.line(line.number+(forward?1:-1));spans=view.bidiSpans(line);next=view.visualLineSide(line,!forward);}if(!check){if(!by)return next;check=by(_char2);}else if(!check(_char2)){return cur2;}cur2=next;}}function byGroup(view,pos,start){var categorize=view.state.charCategorizer(pos);var cat=categorize(start);return function(next){var nextCat=categorize(next);if(cat==CharCategory.Space)cat=nextCat;return cat==nextCat;};}function _moveVertically(view,start,forward,distance){var startPos=start.head,dir=forward?1:-1;if(startPos==(forward?view.state.doc.length:0))return EditorSelection.cursor(startPos,start.assoc);var goal=start.goalColumn,startY;var rect=view.contentDOM.getBoundingClientRect();var startCoords=view.coordsAtPos(startPos,start.assoc||-1),docTop=view.documentTop;if(startCoords){if(goal==null)goal=startCoords.left-rect.left;startY=dir<0?startCoords.top:startCoords.bottom;}else{var line=view.viewState.lineBlockAt(startPos);if(goal==null)goal=Math.min(rect.right-rect.left,view.defaultCharacterWidth*(startPos-line.from));startY=(dir<0?line.top:line.bottom)+docTop;}var resolvedGoal=rect.left+goal;var dist2=distance!==null&&distance!==void 0?distance:view.viewState.heightOracle.textHeight>>1;for(var extra=0;;extra+=10){var curY=startY+(dist2+extra)*dir;var pos=_posAtCoords(view,{x:resolvedGoal,y:curY},false,dir);if(curY<rect.top||curY>rect.bottom||(dir<0?pos<startPos:pos>startPos)){var charRect=view.docView.coordsForChar(pos);var assoc=!charRect||curY<charRect.top?-1:1;return EditorSelection.cursor(pos,assoc,void 0,goal);}}}function skipAtomicRanges(atoms,pos,bias){var _loop4=function _loop4(){var moved=0;var _iterator50=_createForOfIteratorHelper(atoms),_step50;try{for(_iterator50.s();!(_step50=_iterator50.n()).done;){var set=_step50.value;set.between(pos-1,pos+1,function(from,to,value){if(pos>from&&pos<to){var side=moved||bias||(pos-from<to-pos?-1:1);pos=side<0?from:to;moved=side;}});}}catch(err){_iterator50.e(err);}finally{_iterator50.f();}if(!moved)return{v:pos};};for(;;){var _ret=_loop4();if(_typeof(_ret)==="object")return _ret.v;}}function skipAtoms(view,oldPos,pos){var newPos=skipAtomicRanges(view.state.facet(atomicRanges).map(function(f){return f(view);}),pos.from,oldPos.head>pos.from?-1:1);return newPos==pos.from?pos:EditorSelection.cursor(newPos,newPos<pos.from?1:-1);}var InputState=/*#__PURE__*/function(){function InputState(view){_classCallCheck(this,InputState);this.view=view;this.lastKeyCode=0;this.lastKeyTime=0;this.lastTouchTime=0;this.lastFocusTime=0;this.lastScrollTop=0;this.lastScrollLeft=0;this.pendingIOSKey=void 0;this.lastSelectionOrigin=null;this.lastSelectionTime=0;this.lastEscPress=0;this.lastContextMenu=0;this.scrollHandlers=[];this.handlers=/* @__PURE__ */Object.create(null);this.composing=-1;this.compositionFirstChange=null;this.compositionEndedAt=0;this.compositionPendingKey=false;this.compositionPendingChange=false;this.mouseSelection=null;this.draggedContent=null;this.handleEvent=this.handleEvent.bind(this);this.notifiedFocused=view.hasFocus;if(browser.safari)view.contentDOM.addEventListener("input",function(){return null;});if(browser.gecko)firefoxCopyCutHack(view.contentDOM.ownerDocument);}_createClass(InputState,[{key:"setSelectionOrigin",value:function setSelectionOrigin(origin){this.lastSelectionOrigin=origin;this.lastSelectionTime=Date.now();}},{key:"handleEvent",value:function handleEvent(event){if(!eventBelongsToEditor(this.view,event)||this.ignoreDuringComposition(event))return;if(event.type=="keydown"&&this.keydown(event))return;this.runHandlers(event.type,event);}},{key:"runHandlers",value:function runHandlers(type,event){var handlers2=this.handlers[type];if(handlers2){var _iterator51=_createForOfIteratorHelper(handlers2.observers),_step51;try{for(_iterator51.s();!(_step51=_iterator51.n()).done;){var observer=_step51.value;observer(this.view,event);}}catch(err){_iterator51.e(err);}finally{_iterator51.f();}var _iterator52=_createForOfIteratorHelper(handlers2.handlers),_step52;try{for(_iterator52.s();!(_step52=_iterator52.n()).done;){var handler=_step52.value;if(event.defaultPrevented)break;if(handler(this.view,event)){event.preventDefault();break;}}}catch(err){_iterator52.e(err);}finally{_iterator52.f();}}}},{key:"ensureHandlers",value:function ensureHandlers(plugins){var handlers2=computeHandlers(plugins),prev=this.handlers,dom=this.view.contentDOM;for(var type in handlers2){if(type!="scroll"){var passive=!handlers2[type].handlers.length;var exists=prev[type];if(exists&&passive!=!exists.handlers.length){dom.removeEventListener(type,this.handleEvent);exists=null;}if(!exists)dom.addEventListener(type,this.handleEvent,{passive:passive});}}for(var _type3 in prev){if(_type3!="scroll"&&!handlers2[_type3])dom.removeEventListener(_type3,this.handleEvent);}this.handlers=handlers2;}},{key:"keydown",value:function keydown(event){var _this26=this;this.lastKeyCode=event.keyCode;this.lastKeyTime=Date.now();if(event.keyCode==9&&Date.now()<this.lastEscPress+2e3)return true;if(event.keyCode!=27&&modifierCodes.indexOf(event.keyCode)<0)this.view.inputState.lastEscPress=0;if(browser.android&&browser.chrome&&!event.synthetic&&(event.keyCode==13||event.keyCode==8)){this.view.observer.delayAndroidKey(event.key,event.keyCode);return true;}var pending;if(browser.ios&&!event.synthetic&&!event.altKey&&!event.metaKey&&((pending=PendingKeys.find(function(key){return key.keyCode==event.keyCode;}))&&!event.ctrlKey||EmacsyPendingKeys.indexOf(event.key)>-1&&event.ctrlKey&&!event.shiftKey)){this.pendingIOSKey=pending||event;setTimeout(function(){return _this26.flushIOSKey();},250);return true;}if(event.keyCode!=229)this.view.observer.forceFlush();return false;}},{key:"flushIOSKey",value:function flushIOSKey(change){var key=this.pendingIOSKey;if(!key)return false;if(key.key=="Enter"&&change&&change.from<change.to&&/^\S+$/.test(change.insert.toString()))return false;this.pendingIOSKey=void 0;return dispatchKey(this.view.contentDOM,key.key,key.keyCode,key instanceof KeyboardEvent?key:void 0);}},{key:"ignoreDuringComposition",value:function ignoreDuringComposition(event){if(!/^key/.test(event.type))return false;if(this.composing>0)return true;if(browser.safari&&!browser.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100){this.compositionPendingKey=false;return true;}return false;}},{key:"startMouseSelection",value:function startMouseSelection(mouseSelection){if(this.mouseSelection)this.mouseSelection.destroy();this.mouseSelection=mouseSelection;}},{key:"update",value:function update(_update2){if(this.mouseSelection)this.mouseSelection.update(_update2);if(this.draggedContent&&_update2.docChanged)this.draggedContent=this.draggedContent.map(_update2.changes);if(_update2.transactions.length)this.lastKeyCode=this.lastSelectionTime=0;}},{key:"destroy",value:function destroy(){if(this.mouseSelection)this.mouseSelection.destroy();}}]);return InputState;}();function bindHandler(plugin,handler){return function(view,event){try{return handler.call(plugin,event,view);}catch(e){logException(view.state,e);}};}function computeHandlers(plugins){var result=/* @__PURE__ */Object.create(null);function record(type){return result[type]||(result[type]={observers:[],handlers:[]});}var _iterator53=_createForOfIteratorHelper(plugins),_step53;try{for(_iterator53.s();!(_step53=_iterator53.n()).done;){var plugin=_step53.value;var spec=plugin.spec;if(spec&&spec.domEventHandlers)for(var _type5 in spec.domEventHandlers){var f=spec.domEventHandlers[_type5];if(f)record(_type5).handlers.push(bindHandler(plugin.value,f));}if(spec&&spec.domEventObservers)for(var _type6 in spec.domEventObservers){var _f2=spec.domEventObservers[_type6];if(_f2)record(_type6).observers.push(bindHandler(plugin.value,_f2));}}}catch(err){_iterator53.e(err);}finally{_iterator53.f();}for(var type in handlers){record(type).handlers.push(handlers[type]);}for(var _type4 in observers){record(_type4).observers.push(observers[_type4]);}return result;}var PendingKeys=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}];var EmacsyPendingKeys="dthko";var modifierCodes=[16,17,18,20,91,92,224,225];var dragScrollMargin=6;function dragScrollSpeed(dist2){return Math.max(0,dist2)*0.7+8;}function dist(a,b){return Math.max(Math.abs(a.clientX-b.clientX),Math.abs(a.clientY-b.clientY));}var MouseSelection=/*#__PURE__*/function(){function MouseSelection(view,startEvent,style,mustSelect){_classCallCheck(this,MouseSelection);this.view=view;this.startEvent=startEvent;this.style=style;this.mustSelect=mustSelect;this.scrollSpeed={x:0,y:0};this.scrolling=-1;this.lastEvent=startEvent;this.scrollParent=scrollableParent(view.contentDOM);this.atoms=view.state.facet(atomicRanges).map(function(f){return f(view);});var doc2=view.contentDOM.ownerDocument;doc2.addEventListener("mousemove",this.move=this.move.bind(this));doc2.addEventListener("mouseup",this.up=this.up.bind(this));this.extend=startEvent.shiftKey;this.multiple=view.state.facet(EditorState.allowMultipleSelections)&&addsSelectionRange(view,startEvent);this.dragging=isInPrimarySelection(view,startEvent)&&getClickType(startEvent)==1?null:false;}_createClass(MouseSelection,[{key:"start",value:function start(event){if(this.dragging===false)this.select(event);}},{key:"move",value:function move(event){var _a2;if(event.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&dist(this.startEvent,event)<10)return;this.select(this.lastEvent=event);var sx=0,sy=0;var rect=((_a2=this.scrollParent)===null||_a2===void 0?void 0:_a2.getBoundingClientRect())||{left:0,top:0,right:this.view.win.innerWidth,bottom:this.view.win.innerHeight};var margins=getScrollMargins(this.view);if(event.clientX-margins.left<=rect.left+dragScrollMargin)sx=-dragScrollSpeed(rect.left-event.clientX);else if(event.clientX+margins.right>=rect.right-dragScrollMargin)sx=dragScrollSpeed(event.clientX-rect.right);if(event.clientY-margins.top<=rect.top+dragScrollMargin)sy=-dragScrollSpeed(rect.top-event.clientY);else if(event.clientY+margins.bottom>=rect.bottom-dragScrollMargin)sy=dragScrollSpeed(event.clientY-rect.bottom);this.setScrollSpeed(sx,sy);}},{key:"up",value:function up(event){if(this.dragging==null)this.select(this.lastEvent);if(!this.dragging)event.preventDefault();this.destroy();}},{key:"destroy",value:function destroy(){this.setScrollSpeed(0,0);var doc2=this.view.contentDOM.ownerDocument;doc2.removeEventListener("mousemove",this.move);doc2.removeEventListener("mouseup",this.up);this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null;}},{key:"setScrollSpeed",value:function setScrollSpeed(sx,sy){var _this27=this;this.scrollSpeed={x:sx,y:sy};if(sx||sy){if(this.scrolling<0)this.scrolling=setInterval(function(){return _this27.scroll();},50);}else if(this.scrolling>-1){clearInterval(this.scrolling);this.scrolling=-1;}}},{key:"scroll",value:function scroll(){if(this.scrollParent){this.scrollParent.scrollLeft+=this.scrollSpeed.x;this.scrollParent.scrollTop+=this.scrollSpeed.y;}else{this.view.win.scrollBy(this.scrollSpeed.x,this.scrollSpeed.y);}if(this.dragging===false)this.select(this.lastEvent);}},{key:"skipAtoms",value:function skipAtoms(sel){var ranges=null;for(var _i90=0;_i90<sel.ranges.length;_i90++){var range=sel.ranges[_i90],updated=null;if(range.empty){var pos=skipAtomicRanges(this.atoms,range.from,0);if(pos!=range.from)updated=EditorSelection.cursor(pos,-1);}else{var from=skipAtomicRanges(this.atoms,range.from,-1);var to=skipAtomicRanges(this.atoms,range.to,1);if(from!=range.from||to!=range.to)updated=EditorSelection.range(range.from==range.anchor?from:to,range.from==range.head?from:to);}if(updated){if(!ranges)ranges=sel.ranges.slice();ranges[_i90]=updated;}}return ranges?EditorSelection.create(ranges,sel.mainIndex):sel;}},{key:"select",value:function select(event){var view=this.view,selection=this.skipAtoms(this.style.get(event,this.extend,this.multiple));if(this.mustSelect||!selection.eq(view.state.selection,this.dragging===false))this.view.dispatch({selection:selection,userEvent:"select.pointer"});this.mustSelect=false;}},{key:"update",value:function update(_update3){var _this28=this;if(this.style.update(_update3))setTimeout(function(){return _this28.select(_this28.lastEvent);},20);}}]);return MouseSelection;}();function addsSelectionRange(view,event){var facet=view.state.facet(clickAddsSelectionRange);return facet.length?facet[0](event):browser.mac?event.metaKey:event.ctrlKey;}function dragMovesSelection(view,event){var facet=view.state.facet(dragMovesSelection$1);return facet.length?facet[0](event):browser.mac?!event.altKey:!event.ctrlKey;}function isInPrimarySelection(view,event){var main=view.state.selection.main;if(main.empty)return false;var sel=getSelection(view.root);if(!sel||sel.rangeCount==0)return true;var rects=sel.getRangeAt(0).getClientRects();for(var _i91=0;_i91<rects.length;_i91++){var rect=rects[_i91];if(rect.left<=event.clientX&&rect.right>=event.clientX&&rect.top<=event.clientY&&rect.bottom>=event.clientY)return true;}return false;}function eventBelongsToEditor(view,event){if(!event.bubbles)return true;if(event.defaultPrevented)return false;for(var node=event.target,cView;node!=view.contentDOM;node=node.parentNode){if(!node||node.nodeType==11||(cView=ContentView.get(node))&&cView.ignoreEvent(event))return false;}return true;}var handlers=/* @__PURE__ */Object.create(null);var observers=/* @__PURE__ */Object.create(null);var brokenClipboardAPI=browser.ie&&browser.ie_version<15||browser.ios&&browser.webkit_version<604;function capturePaste(view){var parent=view.dom.parentNode;if(!parent)return;var target=parent.appendChild(document.createElement("textarea"));target.style.cssText="position: fixed; left: -10000px; top: 10px";target.focus();setTimeout(function(){view.focus();target.remove();doPaste(view,target.value);},50);}function doPaste(view,input){var state=view.state,changes,i=1,text=state.toText(input);var byLine=text.lines==state.selection.ranges.length;var linewise=lastLinewiseCopy!=null&&state.selection.ranges.every(function(r){return r.empty;})&&lastLinewiseCopy==text.toString();if(linewise){var lastLine=-1;changes=state.changeByRange(function(range){var line=state.doc.lineAt(range.from);if(line.from==lastLine)return{range:range};lastLine=line.from;var insert2=state.toText((byLine?text.line(i++).text:input)+state.lineBreak);return{changes:{from:line.from,insert:insert2},range:EditorSelection.cursor(range.from+insert2.length)};});}else if(byLine){changes=state.changeByRange(function(range){var line=text.line(i++);return{changes:{from:range.from,to:range.to,insert:line.text},range:EditorSelection.cursor(range.from+line.length)};});}else{changes=state.replaceSelection(text);}view.dispatch(changes,{userEvent:"input.paste",scrollIntoView:true});}observers.scroll=function(view){view.inputState.lastScrollTop=view.scrollDOM.scrollTop;view.inputState.lastScrollLeft=view.scrollDOM.scrollLeft;};handlers.keydown=function(view,event){view.inputState.setSelectionOrigin("select");if(event.keyCode==27)view.inputState.lastEscPress=Date.now();return false;};observers.touchstart=function(view,e){view.inputState.lastTouchTime=Date.now();view.inputState.setSelectionOrigin("select.pointer");};observers.touchmove=function(view){view.inputState.setSelectionOrigin("select.pointer");};handlers.mousedown=function(view,event){view.observer.flush();if(view.inputState.lastTouchTime>Date.now()-2e3)return false;var style=null;var _iterator54=_createForOfIteratorHelper(view.state.facet(mouseSelectionStyle)),_step54;try{for(_iterator54.s();!(_step54=_iterator54.n()).done;){var makeStyle=_step54.value;style=makeStyle(view,event);if(style)break;}}catch(err){_iterator54.e(err);}finally{_iterator54.f();}if(!style&&event.button==0)style=basicMouseSelection(view,event);if(style){var mustFocus=!view.hasFocus;view.inputState.startMouseSelection(new MouseSelection(view,event,style,mustFocus));if(mustFocus)view.observer.ignore(function(){return focusPreventScroll(view.contentDOM);});var mouseSel=view.inputState.mouseSelection;if(mouseSel){mouseSel.start(event);return mouseSel.dragging===false;}}return false;};function rangeForClick(view,pos,bias,type){if(type==1){return EditorSelection.cursor(pos,bias);}else if(type==2){return groupAt(view.state,pos,bias);}else{var visual=LineView.find(view.docView,pos),line=view.state.doc.lineAt(visual?visual.posAtEnd:pos);var from=visual?visual.posAtStart:line.from,to=visual?visual.posAtEnd:line.to;if(to<view.state.doc.length&&to==line.to)to++;return EditorSelection.range(from,to);}}var insideY=function insideY(y,rect){return y>=rect.top&&y<=rect.bottom;};var inside=function inside(x,y,rect){return insideY(y,rect)&&x>=rect.left&&x<=rect.right;};function findPositionSide(view,pos,x,y){var line=LineView.find(view.docView,pos);if(!line)return 1;var off=pos-line.posAtStart;if(off==0)return 1;if(off==line.length)return-1;var before=line.coordsAt(off,-1);if(before&&inside(x,y,before))return-1;var after=line.coordsAt(off,1);if(after&&inside(x,y,after))return 1;return before&&insideY(y,before)?-1:1;}function queryPos(view,event){var pos=view.posAtCoords({x:event.clientX,y:event.clientY},false);return{pos:pos,bias:findPositionSide(view,pos,event.clientX,event.clientY)};}var BadMouseDetail=browser.ie&&browser.ie_version<=11;var lastMouseDown=null;var lastMouseDownCount=0;var lastMouseDownTime=0;function getClickType(event){if(!BadMouseDetail)return event.detail;var last=lastMouseDown,lastTime=lastMouseDownTime;lastMouseDown=event;lastMouseDownTime=Date.now();return lastMouseDownCount=!last||lastTime>Date.now()-400&&Math.abs(last.clientX-event.clientX)<2&&Math.abs(last.clientY-event.clientY)<2?(lastMouseDownCount+1)%3:1;}function basicMouseSelection(view,event){var start=queryPos(view,event),type=getClickType(event);var startSel=view.state.selection;return{update:function update(_update4){if(_update4.docChanged){start.pos=_update4.changes.mapPos(start.pos);startSel=startSel.map(_update4.changes);}},get:function get(event2,extend2,multiple){var cur2=queryPos(view,event2),removed;var range=rangeForClick(view,cur2.pos,cur2.bias,type);if(start.pos!=cur2.pos&&!extend2){var startRange=rangeForClick(view,start.pos,start.bias,type);var from=Math.min(startRange.from,range.from),to=Math.max(startRange.to,range.to);range=from<range.from?EditorSelection.range(from,to):EditorSelection.range(to,from);}if(extend2)return startSel.replaceRange(startSel.main.extend(range.from,range.to));else if(multiple&&type==1&&startSel.ranges.length>1&&(removed=removeRangeAround(startSel,cur2.pos)))return removed;else if(multiple)return startSel.addRange(range);else return EditorSelection.create([range]);}};}function removeRangeAround(sel,pos){for(var _i92=0;_i92<sel.ranges.length;_i92++){var _sel$ranges$_i=sel.ranges[_i92],from=_sel$ranges$_i.from,to=_sel$ranges$_i.to;if(from<=pos&&to>=pos)return EditorSelection.create(sel.ranges.slice(0,_i92).concat(sel.ranges.slice(_i92+1)),sel.mainIndex==_i92?0:sel.mainIndex-(sel.mainIndex>_i92?1:0));}return null;}handlers.dragstart=function(view,event){var range=view.state.selection.main;if(event.target.draggable){var cView=view.docView.nearest(event.target);if(cView&&cView.isWidget){var from=cView.posAtStart,to=from+cView.length;if(from>=range.to||to<=range.from)range=EditorSelection.range(from,to);}}var inputState=view.inputState;if(inputState.mouseSelection)inputState.mouseSelection.dragging=true;inputState.draggedContent=range;if(event.dataTransfer){event.dataTransfer.setData("Text",view.state.sliceDoc(range.from,range.to));event.dataTransfer.effectAllowed="copyMove";}return false;};handlers.dragend=function(view){view.inputState.draggedContent=null;return false;};function dropText(view,event,text,direct){if(!text)return;var dropPos=view.posAtCoords({x:event.clientX,y:event.clientY},false);var draggedContent=view.inputState.draggedContent;var del=direct&&draggedContent&&dragMovesSelection(view,event)?{from:draggedContent.from,to:draggedContent.to}:null;var ins={from:dropPos,insert:text};var changes=view.state.changes(del?[del,ins]:ins);view.focus();view.dispatch({changes:changes,selection:{anchor:changes.mapPos(dropPos,-1),head:changes.mapPos(dropPos,1)},userEvent:del?"move.drop":"input.drop"});view.inputState.draggedContent=null;}handlers.drop=function(view,event){if(!event.dataTransfer)return false;if(view.state.readOnly)return true;var files=event.dataTransfer.files;if(files&&files.length){var _ret2=function(){var text=Array(files.length),read=0;var finishFile=function finishFile(){if(++read==files.length)dropText(view,event,text.filter(function(s){return s!=null;}).join(view.state.lineBreak),false);};var _loop5=function _loop5(_i93){var reader=new FileReader();reader.onerror=finishFile;reader.onload=function(){if(!/[\x00-\x08\x0e-\x1f]{2}/.test(reader.result))text[_i93]=reader.result;finishFile();};reader.readAsText(files[_i93]);};for(var _i93=0;_i93<files.length;_i93++){_loop5(_i93);}return{v:true};}();if(_typeof(_ret2)==="object")return _ret2.v;}else{var _text4=event.dataTransfer.getData("Text");if(_text4){dropText(view,event,_text4,true);return true;}}return false;};handlers.paste=function(view,event){if(view.state.readOnly)return true;view.observer.flush();var data=brokenClipboardAPI?null:event.clipboardData;if(data){doPaste(view,data.getData("text/plain")||data.getData("text/uri-list"));return true;}else{capturePaste(view);return false;}};function captureCopy(view,text){var parent=view.dom.parentNode;if(!parent)return;var target=parent.appendChild(document.createElement("textarea"));target.style.cssText="position: fixed; left: -10000px; top: 10px";target.value=text;target.focus();target.selectionEnd=text.length;target.selectionStart=0;setTimeout(function(){target.remove();view.focus();},50);}function copiedRange(state){var content2=[],ranges=[],linewise=false;var _iterator55=_createForOfIteratorHelper(state.selection.ranges),_step55;try{for(_iterator55.s();!(_step55=_iterator55.n()).done;){var range=_step55.value;if(!range.empty){content2.push(state.sliceDoc(range.from,range.to));ranges.push(range);}}}catch(err){_iterator55.e(err);}finally{_iterator55.f();}if(!content2.length){var upto=-1;var _iterator56=_createForOfIteratorHelper(state.selection.ranges),_step56;try{for(_iterator56.s();!(_step56=_iterator56.n()).done;){var from=_step56.value.from;var line=state.doc.lineAt(from);if(line.number>upto){content2.push(line.text);ranges.push({from:line.from,to:Math.min(state.doc.length,line.to+1)});}upto=line.number;}}catch(err){_iterator56.e(err);}finally{_iterator56.f();}linewise=true;}return{text:content2.join(state.lineBreak),ranges:ranges,linewise:linewise};}var lastLinewiseCopy=null;handlers.copy=handlers.cut=function(view,event){var _copiedRange=copiedRange(view.state),text=_copiedRange.text,ranges=_copiedRange.ranges,linewise=_copiedRange.linewise;if(!text&&!linewise)return false;lastLinewiseCopy=linewise?text:null;if(event.type=="cut"&&!view.state.readOnly)view.dispatch({changes:ranges,scrollIntoView:true,userEvent:"delete.cut"});var data=brokenClipboardAPI?null:event.clipboardData;if(data){data.clearData();data.setData("text/plain",text);return true;}else{captureCopy(view,text);return false;}};var isFocusChange=/* @__PURE__ */Annotation.define();function focusChangeTransaction(state,focus){var effects=[];var _iterator57=_createForOfIteratorHelper(state.facet(focusChangeEffect)),_step57;try{for(_iterator57.s();!(_step57=_iterator57.n()).done;){var getEffect=_step57.value;var effect=getEffect(state,focus);if(effect)effects.push(effect);}}catch(err){_iterator57.e(err);}finally{_iterator57.f();}return effects?state.update({effects:effects,annotations:isFocusChange.of(true)}):null;}function updateForFocusChange(view){setTimeout(function(){var focus=view.hasFocus;if(focus!=view.inputState.notifiedFocused){var tr=focusChangeTransaction(view.state,focus);if(tr)view.dispatch(tr);else view.update([]);}},10);}observers.focus=function(view){view.inputState.lastFocusTime=Date.now();if(!view.scrollDOM.scrollTop&&(view.inputState.lastScrollTop||view.inputState.lastScrollLeft)){view.scrollDOM.scrollTop=view.inputState.lastScrollTop;view.scrollDOM.scrollLeft=view.inputState.lastScrollLeft;}updateForFocusChange(view);};observers.blur=function(view){view.observer.clearSelectionRange();updateForFocusChange(view);};observers.compositionstart=observers.compositionupdate=function(view){if(view.inputState.compositionFirstChange==null)view.inputState.compositionFirstChange=true;if(view.inputState.composing<0){view.inputState.composing=0;if(view.docView.maybeCreateCompositionBarrier()){view.update([]);view.docView.clearCompositionBarrier();}}};observers.compositionend=function(view){view.inputState.composing=-1;view.inputState.compositionEndedAt=Date.now();view.inputState.compositionPendingKey=true;view.inputState.compositionPendingChange=view.observer.pendingRecords().length>0;view.inputState.compositionFirstChange=null;if(browser.chrome&&browser.android){view.observer.flushSoon();}else if(view.inputState.compositionPendingChange){Promise.resolve().then(function(){return view.observer.flush();});}else{setTimeout(function(){if(view.inputState.composing<0&&view.docView.hasComposition)view.update([]);},50);}};observers.contextmenu=function(view){view.inputState.lastContextMenu=Date.now();};handlers.beforeinput=function(view,event){var _a2;var pending;if(browser.chrome&&browser.android&&(pending=PendingKeys.find(function(key){return key.inputType==event.inputType;}))){view.observer.delayAndroidKey(pending.key,pending.keyCode);if(pending.key=="Backspace"||pending.key=="Delete"){var startViewHeight=((_a2=window.visualViewport)===null||_a2===void 0?void 0:_a2.height)||0;setTimeout(function(){var _a3;if((((_a3=window.visualViewport)===null||_a3===void 0?void 0:_a3.height)||0)>startViewHeight+10&&view.hasFocus){view.contentDOM.blur();view.focus();}},100);}}if(browser.ios&&event.inputType=="deleteContentForward"){view.observer.flushSoon();}return false;};var appliedFirefoxHack=/* @__PURE__ */new Set();function firefoxCopyCutHack(doc2){if(!appliedFirefoxHack.has(doc2)){appliedFirefoxHack.add(doc2);doc2.addEventListener("copy",function(){});doc2.addEventListener("cut",function(){});}}var wrappingWhiteSpace=["pre-wrap","normal","pre-line","break-spaces"];var HeightOracle=/*#__PURE__*/function(){function HeightOracle(lineWrapping){_classCallCheck(this,HeightOracle);this.lineWrapping=lineWrapping;this.doc=Text.empty;this.heightSamples={};this.lineHeight=14;this.charWidth=7;this.textHeight=14;this.lineLength=30;this.heightChanged=false;}_createClass(HeightOracle,[{key:"heightForGap",value:function heightForGap(from,to){var lines=this.doc.lineAt(to).number-this.doc.lineAt(from).number+1;if(this.lineWrapping)lines+=Math.max(0,Math.ceil((to-from-lines*this.lineLength*0.5)/this.lineLength));return this.lineHeight*lines;}},{key:"heightForLine",value:function heightForLine(length){if(!this.lineWrapping)return this.lineHeight;var lines=1+Math.max(0,Math.ceil((length-this.lineLength)/(this.lineLength-5)));return lines*this.lineHeight;}},{key:"setDoc",value:function setDoc(doc2){this.doc=doc2;return this;}},{key:"mustRefreshForWrapping",value:function mustRefreshForWrapping(whiteSpace){return wrappingWhiteSpace.indexOf(whiteSpace)>-1!=this.lineWrapping;}},{key:"mustRefreshForHeights",value:function mustRefreshForHeights(lineHeights){var newHeight=false;for(var _i94=0;_i94<lineHeights.length;_i94++){var h=lineHeights[_i94];if(h<0){_i94++;}else if(!this.heightSamples[Math.floor(h*10)]){newHeight=true;this.heightSamples[Math.floor(h*10)]=true;}}return newHeight;}},{key:"refresh",value:function refresh(whiteSpace,lineHeight,charWidth,textHeight,lineLength,knownHeights){var lineWrapping=wrappingWhiteSpace.indexOf(whiteSpace)>-1;var changed=Math.round(lineHeight)!=Math.round(this.lineHeight)||this.lineWrapping!=lineWrapping;this.lineWrapping=lineWrapping;this.lineHeight=lineHeight;this.charWidth=charWidth;this.textHeight=textHeight;this.lineLength=lineLength;if(changed){this.heightSamples={};for(var _i95=0;_i95<knownHeights.length;_i95++){var h=knownHeights[_i95];if(h<0)_i95++;else this.heightSamples[Math.floor(h*10)]=true;}}return changed;}}]);return HeightOracle;}();var MeasuredHeights=/*#__PURE__*/function(){function MeasuredHeights(from,heights){_classCallCheck(this,MeasuredHeights);this.from=from;this.heights=heights;this.index=0;}_createClass(MeasuredHeights,[{key:"more",get:function get(){return this.index<this.heights.length;}}]);return MeasuredHeights;}();var BlockInfo=/*#__PURE__*/function(){function BlockInfo(from,length,top2,height,_content){_classCallCheck(this,BlockInfo);this.from=from;this.length=length;this.top=top2;this.height=height;this._content=_content;}_createClass(BlockInfo,[{key:"type",get:function get(){return typeof this._content=="number"?BlockType.Text:Array.isArray(this._content)?this._content:this._content.type;}},{key:"to",get:function get(){return this.from+this.length;}},{key:"bottom",get:function get(){return this.top+this.height;}},{key:"widget",get:function get(){return this._content instanceof PointDecoration?this._content.widget:null;}},{key:"widgetLineBreaks",get:function get(){return typeof this._content=="number"?this._content:0;}},{key:"join",value:function join(other){var content2=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(other._content)?other._content:[other]);return new BlockInfo(this.from,this.length+other.length,this.top,this.height+other.height,content2);}}]);return BlockInfo;}();var QueryType=/* @__PURE__ */function(QueryType3){QueryType3[QueryType3["ByPos"]=0]="ByPos";QueryType3[QueryType3["ByHeight"]=1]="ByHeight";QueryType3[QueryType3["ByPosNoHeight"]=2]="ByPosNoHeight";return QueryType3;}(QueryType||(QueryType={}));var Epsilon=1e-3;var HeightMap=/*#__PURE__*/function(){function HeightMap(length,height){var flags=arguments.length>2&&arguments[2]!==undefined?arguments[2]:2;_classCallCheck(this,HeightMap);this.length=length;this.height=height;this.flags=flags;}_createClass(HeightMap,[{key:"outdated",get:function get(){return(this.flags&2)>0;},set:function set(value){this.flags=(value?2:0)|this.flags&~2;}},{key:"setHeight",value:function setHeight(oracle,height){if(this.height!=height){if(Math.abs(this.height-height)>Epsilon)oracle.heightChanged=true;this.height=height;}}},{key:"replace",value:function replace(_from,_to,nodes){return HeightMap.of(nodes);}},{key:"decomposeLeft",value:function decomposeLeft(_to,result){result.push(this);}},{key:"decomposeRight",value:function decomposeRight(_from,result){result.push(this);}},{key:"applyChanges",value:function applyChanges(decorations2,oldDoc,oracle,changes){var me=this,doc2=oracle.doc;for(var _i96=changes.length-1;_i96>=0;_i96--){var _changes$_i=changes[_i96],fromA=_changes$_i.fromA,toA=_changes$_i.toA,fromB=_changes$_i.fromB,toB=_changes$_i.toB;var start=me.lineAt(fromA,QueryType.ByPosNoHeight,oracle.setDoc(oldDoc),0,0);var end=start.to>=toA?start:me.lineAt(toA,QueryType.ByPosNoHeight,oracle,0,0);toB+=end.to-toA;toA=end.to;while(_i96>0&&start.from<=changes[_i96-1].toA){fromA=changes[_i96-1].fromA;fromB=changes[_i96-1].fromB;_i96--;if(fromA<start.from)start=me.lineAt(fromA,QueryType.ByPosNoHeight,oracle,0,0);}fromB+=start.from-fromA;fromA=start.from;var nodes=NodeBuilder.build(oracle.setDoc(doc2),decorations2,fromB,toB);me=me.replace(fromA,toA,nodes);}return me.updateHeight(oracle,0);}}],[{key:"empty",value:function empty(){return new HeightMapText(0,0);}},{key:"of",value:function of(nodes){if(nodes.length==1)return nodes[0];var i=0,j=nodes.length,before=0,after=0;for(;;){if(i==j){if(before>after*2){var split=nodes[i-1];if(split["break"])nodes.splice(--i,1,split.left,null,split.right);else nodes.splice(--i,1,split.left,split.right);j+=1+split["break"];before-=split.size;}else if(after>before*2){var _split=nodes[j];if(_split["break"])nodes.splice(j,1,_split.left,null,_split.right);else nodes.splice(j,1,_split.left,_split.right);j+=2+_split["break"];after-=_split.size;}else{break;}}else if(before<after){var next=nodes[i++];if(next)before+=next.size;}else{var _next3=nodes[--j];if(_next3)after+=_next3.size;}}var brk=0;if(nodes[i-1]==null){brk=1;i--;}else if(nodes[i]==null){brk=1;j++;}return new HeightMapBranch(HeightMap.of(nodes.slice(0,i)),brk,HeightMap.of(nodes.slice(j)));}}]);return HeightMap;}();HeightMap.prototype.size=1;var HeightMapBlock=/*#__PURE__*/function(_HeightMap){_inherits(HeightMapBlock,_HeightMap);var _super17=_createSuper(HeightMapBlock);function HeightMapBlock(length,height,deco){var _this29;_classCallCheck(this,HeightMapBlock);_this29=_super17.call(this,length,height);_this29.deco=deco;return _this29;}_createClass(HeightMapBlock,[{key:"blockAt",value:function blockAt(_height,_oracle,top2,offset){return new BlockInfo(offset,this.length,top2,this.height,this.deco||0);}},{key:"lineAt",value:function lineAt(_value,_type,oracle,top2,offset){return this.blockAt(0,oracle,top2,offset);}},{key:"forEachLine",value:function forEachLine(from,to,oracle,top2,offset,f){if(from<=offset+this.length&&to>=offset)f(this.blockAt(0,oracle,top2,offset));}},{key:"updateHeight",value:function updateHeight(oracle){var offset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var _force=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var measured=arguments.length>3?arguments[3]:undefined;if(measured&&measured.from<=offset&&measured.more)this.setHeight(oracle,measured.heights[measured.index++]);this.outdated=false;return this;}},{key:"toString",value:function toString(){return"block(".concat(this.length,")");}}]);return HeightMapBlock;}(HeightMap);var HeightMapText=/*#__PURE__*/function(_HeightMapBlock){_inherits(HeightMapText,_HeightMapBlock);var _super18=_createSuper(HeightMapText);function HeightMapText(length,height){var _this30;_classCallCheck(this,HeightMapText);_this30=_super18.call(this,length,height,null);_this30.collapsed=0;_this30.widgetHeight=0;_this30.breaks=0;return _this30;}_createClass(HeightMapText,[{key:"blockAt",value:function blockAt(_height,_oracle,top2,offset){return new BlockInfo(offset,this.length,top2,this.height,this.breaks);}},{key:"replace",value:function replace(_from,_to,nodes){var node=nodes[0];if(nodes.length==1&&(node instanceof HeightMapText||node instanceof HeightMapGap&&node.flags&4)&&Math.abs(this.length-node.length)<10){if(node instanceof HeightMapGap)node=new HeightMapText(node.length,this.height);else node.height=this.height;if(!this.outdated)node.outdated=false;return node;}else{return HeightMap.of(nodes);}}},{key:"updateHeight",value:function updateHeight(oracle){var offset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var force=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var measured=arguments.length>3?arguments[3]:undefined;if(measured&&measured.from<=offset&&measured.more)this.setHeight(oracle,measured.heights[measured.index++]);else if(force||this.outdated)this.setHeight(oracle,Math.max(this.widgetHeight,oracle.heightForLine(this.length-this.collapsed))+this.breaks*oracle.lineHeight);this.outdated=false;return this;}},{key:"toString",value:function toString(){return"line(".concat(this.length).concat(this.collapsed?-this.collapsed:"").concat(this.widgetHeight?":"+this.widgetHeight:"",")");}}]);return HeightMapText;}(HeightMapBlock);var HeightMapGap=/*#__PURE__*/function(_HeightMap2){_inherits(HeightMapGap,_HeightMap2);var _super19=_createSuper(HeightMapGap);function HeightMapGap(length){_classCallCheck(this,HeightMapGap);return _super19.call(this,length,0);}_createClass(HeightMapGap,[{key:"heightMetrics",value:function heightMetrics(oracle,offset){var firstLine=oracle.doc.lineAt(offset).number,lastLine=oracle.doc.lineAt(offset+this.length).number;var lines=lastLine-firstLine+1;var perLine,perChar=0;if(oracle.lineWrapping){var totalPerLine=Math.min(this.height,oracle.lineHeight*lines);perLine=totalPerLine/lines;if(this.length>lines+1)perChar=(this.height-totalPerLine)/(this.length-lines-1);}else{perLine=this.height/lines;}return{firstLine:firstLine,lastLine:lastLine,perLine:perLine,perChar:perChar};}},{key:"blockAt",value:function blockAt(height,oracle,top2,offset){var _this$heightMetrics=this.heightMetrics(oracle,offset),firstLine=_this$heightMetrics.firstLine,lastLine=_this$heightMetrics.lastLine,perLine=_this$heightMetrics.perLine,perChar=_this$heightMetrics.perChar;if(oracle.lineWrapping){var guess=offset+Math.round(Math.max(0,Math.min(1,(height-top2)/this.height))*this.length);var line=oracle.doc.lineAt(guess),lineHeight=perLine+line.length*perChar;var lineTop=Math.max(top2,height-lineHeight/2);return new BlockInfo(line.from,line.length,lineTop,lineHeight,0);}else{var _line=Math.max(0,Math.min(lastLine-firstLine,Math.floor((height-top2)/perLine)));var _oracle$doc$line=oracle.doc.line(firstLine+_line),from=_oracle$doc$line.from,length=_oracle$doc$line.length;return new BlockInfo(from,length,top2+perLine*_line,perLine,0);}}},{key:"lineAt",value:function lineAt(value,type,oracle,top2,offset){if(type==QueryType.ByHeight)return this.blockAt(value,oracle,top2,offset);if(type==QueryType.ByPosNoHeight){var _oracle$doc$lineAt=oracle.doc.lineAt(value),from=_oracle$doc$lineAt.from,to=_oracle$doc$lineAt.to;return new BlockInfo(from,to-from,0,0,0);}var _this$heightMetrics2=this.heightMetrics(oracle,offset),firstLine=_this$heightMetrics2.firstLine,perLine=_this$heightMetrics2.perLine,perChar=_this$heightMetrics2.perChar;var line=oracle.doc.lineAt(value),lineHeight=perLine+line.length*perChar;var linesAbove=line.number-firstLine;var lineTop=top2+perLine*linesAbove+perChar*(line.from-offset-linesAbove);return new BlockInfo(line.from,line.length,Math.max(top2,Math.min(lineTop,top2+this.height-lineHeight)),lineHeight,0);}},{key:"forEachLine",value:function forEachLine(from,to,oracle,top2,offset,f){from=Math.max(from,offset);to=Math.min(to,offset+this.length);var _this$heightMetrics3=this.heightMetrics(oracle,offset),firstLine=_this$heightMetrics3.firstLine,perLine=_this$heightMetrics3.perLine,perChar=_this$heightMetrics3.perChar;for(var pos=from,lineTop=top2;pos<=to;){var line=oracle.doc.lineAt(pos);if(pos==from){var linesAbove=line.number-firstLine;lineTop+=perLine*linesAbove+perChar*(from-offset-linesAbove);}var lineHeight=perLine+perChar*line.length;f(new BlockInfo(line.from,line.length,lineTop,lineHeight,0));lineTop+=lineHeight;pos=line.to+1;}}},{key:"replace",value:function replace(from,to,nodes){var after=this.length-to;if(after>0){var last=nodes[nodes.length-1];if(last instanceof HeightMapGap)nodes[nodes.length-1]=new HeightMapGap(last.length+after);else nodes.push(null,new HeightMapGap(after-1));}if(from>0){var first=nodes[0];if(first instanceof HeightMapGap)nodes[0]=new HeightMapGap(from+first.length);else nodes.unshift(new HeightMapGap(from-1),null);}return HeightMap.of(nodes);}},{key:"decomposeLeft",value:function decomposeLeft(to,result){result.push(new HeightMapGap(to-1),null);}},{key:"decomposeRight",value:function decomposeRight(from,result){result.push(null,new HeightMapGap(this.length-from-1));}},{key:"updateHeight",value:function updateHeight(oracle){var offset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var force=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var measured=arguments.length>3?arguments[3]:undefined;var end=offset+this.length;if(measured&&measured.from<=offset+this.length&&measured.more){var nodes=[],pos=Math.max(offset,measured.from),singleHeight=-1;if(measured.from>offset)nodes.push(new HeightMapGap(measured.from-offset-1).updateHeight(oracle,offset));while(pos<=end&&measured.more){var len=oracle.doc.lineAt(pos).length;if(nodes.length)nodes.push(null);var height=measured.heights[measured.index++];if(singleHeight==-1)singleHeight=height;else if(Math.abs(height-singleHeight)>=Epsilon)singleHeight=-2;var line=new HeightMapText(len,height);line.outdated=false;nodes.push(line);pos+=len+1;}if(pos<=end)nodes.push(null,new HeightMapGap(end-pos).updateHeight(oracle,pos));var result=HeightMap.of(nodes);if(singleHeight<0||Math.abs(result.height-this.height)>=Epsilon||Math.abs(singleHeight-this.heightMetrics(oracle,offset).perLine)>=Epsilon)oracle.heightChanged=true;return result;}else if(force||this.outdated){this.setHeight(oracle,oracle.heightForGap(offset,offset+this.length));this.outdated=false;}return this;}},{key:"toString",value:function toString(){return"gap(".concat(this.length,")");}}]);return HeightMapGap;}(HeightMap);var HeightMapBranch=/*#__PURE__*/function(_HeightMap3){_inherits(HeightMapBranch,_HeightMap3);var _super20=_createSuper(HeightMapBranch);function HeightMapBranch(left,brk,right){var _this31;_classCallCheck(this,HeightMapBranch);_this31=_super20.call(this,left.length+brk+right.length,left.height+right.height,brk|(left.outdated||right.outdated?2:0));_this31.left=left;_this31.right=right;_this31.size=left.size+right.size;return _this31;}_createClass(HeightMapBranch,[{key:"break",get:function get(){return this.flags&1;}},{key:"blockAt",value:function blockAt(height,oracle,top2,offset){var mid=top2+this.left.height;return height<mid?this.left.blockAt(height,oracle,top2,offset):this.right.blockAt(height,oracle,mid,offset+this.left.length+this["break"]);}},{key:"lineAt",value:function lineAt(value,type,oracle,top2,offset){var rightTop=top2+this.left.height,rightOffset=offset+this.left.length+this["break"];var left=type==QueryType.ByHeight?value<rightTop:value<rightOffset;var base2=left?this.left.lineAt(value,type,oracle,top2,offset):this.right.lineAt(value,type,oracle,rightTop,rightOffset);if(this["break"]||(left?base2.to<rightOffset:base2.from>rightOffset))return base2;var subQuery=type==QueryType.ByPosNoHeight?QueryType.ByPosNoHeight:QueryType.ByPos;if(left)return base2.join(this.right.lineAt(rightOffset,subQuery,oracle,rightTop,rightOffset));else return this.left.lineAt(rightOffset,subQuery,oracle,top2,offset).join(base2);}},{key:"forEachLine",value:function forEachLine(from,to,oracle,top2,offset,f){var rightTop=top2+this.left.height,rightOffset=offset+this.left.length+this["break"];if(this["break"]){if(from<rightOffset)this.left.forEachLine(from,to,oracle,top2,offset,f);if(to>=rightOffset)this.right.forEachLine(from,to,oracle,rightTop,rightOffset,f);}else{var mid=this.lineAt(rightOffset,QueryType.ByPos,oracle,top2,offset);if(from<mid.from)this.left.forEachLine(from,mid.from-1,oracle,top2,offset,f);if(mid.to>=from&&mid.from<=to)f(mid);if(to>mid.to)this.right.forEachLine(mid.to+1,to,oracle,rightTop,rightOffset,f);}}},{key:"replace",value:function replace(from,to,nodes){var rightStart=this.left.length+this["break"];if(to<rightStart)return this.balanced(this.left.replace(from,to,nodes),this.right);if(from>this.left.length)return this.balanced(this.left,this.right.replace(from-rightStart,to-rightStart,nodes));var result=[];if(from>0)this.decomposeLeft(from,result);var left=result.length;var _iterator58=_createForOfIteratorHelper(nodes),_step58;try{for(_iterator58.s();!(_step58=_iterator58.n()).done;){var node=_step58.value;result.push(node);}}catch(err){_iterator58.e(err);}finally{_iterator58.f();}if(from>0)mergeGaps(result,left-1);if(to<this.length){var right=result.length;this.decomposeRight(to,result);mergeGaps(result,right);}return HeightMap.of(result);}},{key:"decomposeLeft",value:function decomposeLeft(to,result){var left=this.left.length;if(to<=left)return this.left.decomposeLeft(to,result);result.push(this.left);if(this["break"]){left++;if(to>=left)result.push(null);}if(to>left)this.right.decomposeLeft(to-left,result);}},{key:"decomposeRight",value:function decomposeRight(from,result){var left=this.left.length,right=left+this["break"];if(from>=right)return this.right.decomposeRight(from-right,result);if(from<left)this.left.decomposeRight(from,result);if(this["break"]&&from<right)result.push(null);result.push(this.right);}},{key:"balanced",value:function balanced(left,right){if(left.size>2*right.size||right.size>2*left.size)return HeightMap.of(this["break"]?[left,null,right]:[left,right]);this.left=left;this.right=right;this.height=left.height+right.height;this.outdated=left.outdated||right.outdated;this.size=left.size+right.size;this.length=left.length+this["break"]+right.length;return this;}},{key:"updateHeight",value:function updateHeight(oracle){var offset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var force=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var measured=arguments.length>3?arguments[3]:undefined;var left=this.left,right=this.right,rightStart=offset+left.length+this["break"],rebalance=null;if(measured&&measured.from<=offset+left.length&&measured.more)rebalance=left=left.updateHeight(oracle,offset,force,measured);else left.updateHeight(oracle,offset,force);if(measured&&measured.from<=rightStart+right.length&&measured.more)rebalance=right=right.updateHeight(oracle,rightStart,force,measured);else right.updateHeight(oracle,rightStart,force);if(rebalance)return this.balanced(left,right);this.height=this.left.height+this.right.height;this.outdated=false;return this;}},{key:"toString",value:function toString(){return this.left+(this["break"]?" ":"-")+this.right;}}]);return HeightMapBranch;}(HeightMap);function mergeGaps(nodes,around){var before,after;if(nodes[around]==null&&(before=nodes[around-1])instanceof HeightMapGap&&(after=nodes[around+1])instanceof HeightMapGap)nodes.splice(around-1,3,new HeightMapGap(before.length+1+after.length));}var relevantWidgetHeight=5;var NodeBuilder=/*#__PURE__*/function(){function NodeBuilder(pos,oracle){_classCallCheck(this,NodeBuilder);this.pos=pos;this.oracle=oracle;this.nodes=[];this.lineStart=-1;this.lineEnd=-1;this.covering=null;this.writtenTo=pos;}_createClass(NodeBuilder,[{key:"isCovered",get:function get(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering;}},{key:"span",value:function span(_from,to){if(this.lineStart>-1){var end=Math.min(to,this.lineEnd),last=this.nodes[this.nodes.length-1];if(last instanceof HeightMapText)last.length+=end-this.pos;else if(end>this.pos||!this.isCovered)this.nodes.push(new HeightMapText(end-this.pos,-1));this.writtenTo=end;if(to>end){this.nodes.push(null);this.writtenTo++;this.lineStart=-1;}}this.pos=to;}},{key:"point",value:function point(from,to,deco){if(from<to||deco.heightRelevant){var height=deco.widget?deco.widget.estimatedHeight:0;var breaks=deco.widget?deco.widget.lineBreaks:0;if(height<0)height=this.oracle.lineHeight;var len=to-from;if(deco.block){this.addBlock(new HeightMapBlock(len,height,deco));}else if(len||breaks||height>=relevantWidgetHeight){this.addLineDeco(height,breaks,len);}}else if(to>from){this.span(from,to);}if(this.lineEnd>-1&&this.lineEnd<this.pos)this.lineEnd=this.oracle.doc.lineAt(this.pos).to;}},{key:"enterLine",value:function enterLine(){if(this.lineStart>-1)return;var _this$oracle$doc$line=this.oracle.doc.lineAt(this.pos),from=_this$oracle$doc$line.from,to=_this$oracle$doc$line.to;this.lineStart=from;this.lineEnd=to;if(this.writtenTo<from){if(this.writtenTo<from-1||this.nodes[this.nodes.length-1]==null)this.nodes.push(this.blankContent(this.writtenTo,from-1));this.nodes.push(null);}if(this.pos>from)this.nodes.push(new HeightMapText(this.pos-from,-1));this.writtenTo=this.pos;}},{key:"blankContent",value:function blankContent(from,to){var gap=new HeightMapGap(to-from);if(this.oracle.doc.lineAt(from).to==to)gap.flags|=4;return gap;}},{key:"ensureLine",value:function ensureLine(){this.enterLine();var last=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(last instanceof HeightMapText)return last;var line=new HeightMapText(0,-1);this.nodes.push(line);return line;}},{key:"addBlock",value:function addBlock(block){this.enterLine();var deco=block.deco;if(deco&&deco.startSide>0&&!this.isCovered)this.ensureLine();this.nodes.push(block);this.writtenTo=this.pos=this.pos+block.length;if(deco&&deco.endSide>0)this.covering=block;}},{key:"addLineDeco",value:function addLineDeco(height,breaks,length){var line=this.ensureLine();line.length+=length;line.collapsed+=length;line.widgetHeight=Math.max(line.widgetHeight,height);line.breaks+=breaks;this.writtenTo=this.pos=this.pos+length;}},{key:"finish",value:function finish(from){var last=this.nodes.length==0?null:this.nodes[this.nodes.length-1];if(this.lineStart>-1&&!(last instanceof HeightMapText)&&!this.isCovered)this.nodes.push(new HeightMapText(0,-1));else if(this.writtenTo<this.pos||last==null)this.nodes.push(this.blankContent(this.writtenTo,this.pos));var pos=from;var _iterator59=_createForOfIteratorHelper(this.nodes),_step59;try{for(_iterator59.s();!(_step59=_iterator59.n()).done;){var node=_step59.value;if(node instanceof HeightMapText)node.updateHeight(this.oracle,pos);pos+=node?node.length:1;}}catch(err){_iterator59.e(err);}finally{_iterator59.f();}return this.nodes;}}],[{key:"build",value:function build(oracle,decorations2,from,to){var builder=new NodeBuilder(from,oracle);RangeSet.spans(decorations2,from,to,builder,0);return builder.finish(from);}}]);return NodeBuilder;}();function heightRelevantDecoChanges(a,b,diff){var comp=new DecorationComparator2();RangeSet.compare(a,b,diff,comp,0);return comp.changes;}var DecorationComparator2=/*#__PURE__*/function(){function DecorationComparator2(){_classCallCheck(this,DecorationComparator2);this.changes=[];}_createClass(DecorationComparator2,[{key:"compareRange",value:function compareRange(){}},{key:"comparePoint",value:function comparePoint(from,to,a,b){if(from<to||a&&a.heightRelevant||b&&b.heightRelevant)addRange(from,to,this.changes,5);}}]);return DecorationComparator2;}();function visiblePixelRange(dom,paddingTop){var rect=dom.getBoundingClientRect();var doc2=dom.ownerDocument,win=doc2.defaultView||window;var left=Math.max(0,rect.left),right=Math.min(win.innerWidth,rect.right);var top2=Math.max(0,rect.top),bottom=Math.min(win.innerHeight,rect.bottom);for(var parent=dom.parentNode;parent&&parent!=doc2.body;){if(parent.nodeType==1){var elt=parent;var style=window.getComputedStyle(elt);if((elt.scrollHeight>elt.clientHeight||elt.scrollWidth>elt.clientWidth)&&style.overflow!="visible"){var parentRect=elt.getBoundingClientRect();left=Math.max(left,parentRect.left);right=Math.min(right,parentRect.right);top2=Math.max(top2,parentRect.top);bottom=parent==dom.parentNode?parentRect.bottom:Math.min(bottom,parentRect.bottom);}parent=style.position=="absolute"||style.position=="fixed"?elt.offsetParent:elt.parentNode;}else if(parent.nodeType==11){parent=parent.host;}else{break;}}return{left:left-rect.left,right:Math.max(left,right)-rect.left,top:top2-(rect.top+paddingTop),bottom:Math.max(top2,bottom)-(rect.top+paddingTop)};}function fullPixelRange(dom,paddingTop){var rect=dom.getBoundingClientRect();return{left:0,right:rect.right-rect.left,top:paddingTop,bottom:rect.bottom-(rect.top+paddingTop)};}var LineGap=/*#__PURE__*/function(){function LineGap(from,to,size){_classCallCheck(this,LineGap);this.from=from;this.to=to;this.size=size;}_createClass(LineGap,[{key:"draw",value:function draw(viewState,wrapping){return Decoration.replace({widget:new LineGapWidget(this.size*(wrapping?viewState.scaleY:viewState.scaleX),wrapping)}).range(this.from,this.to);}}],[{key:"same",value:function same(a,b){if(a.length!=b.length)return false;for(var _i97=0;_i97<a.length;_i97++){var gA=a[_i97],gB=b[_i97];if(gA.from!=gB.from||gA.to!=gB.to||gA.size!=gB.size)return false;}return true;}}]);return LineGap;}();var LineGapWidget=/*#__PURE__*/function(_WidgetType3){_inherits(LineGapWidget,_WidgetType3);var _super21=_createSuper(LineGapWidget);function LineGapWidget(size,vertical){var _this32;_classCallCheck(this,LineGapWidget);_this32=_super21.call(this);_this32.size=size;_this32.vertical=vertical;return _this32;}_createClass(LineGapWidget,[{key:"eq",value:function eq(other){return other.size==this.size&&other.vertical==this.vertical;}},{key:"toDOM",value:function toDOM(){var elt=document.createElement("div");if(this.vertical){elt.style.height=this.size+"px";}else{elt.style.width=this.size+"px";elt.style.height="2px";elt.style.display="inline-block";}return elt;}},{key:"estimatedHeight",get:function get(){return this.vertical?this.size:-1;}}]);return LineGapWidget;}(WidgetType);var ViewState=/*#__PURE__*/function(){function ViewState(state){var _this33=this;_classCallCheck(this,ViewState);this.state=state;this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0};this.inView=true;this.paddingTop=0;this.paddingBottom=0;this.contentDOMWidth=0;this.contentDOMHeight=0;this.editorHeight=0;this.editorWidth=0;this.scrollTop=0;this.scrolledToBottom=true;this.scaleX=1;this.scaleY=1;this.scrollAnchorPos=0;this.scrollAnchorHeight=-1;this.scaler=IdScaler;this.scrollTarget=null;this.printing=false;this.mustMeasureContent=true;this.defaultTextDirection=Direction.LTR;this.visibleRanges=[];this.mustEnforceCursorAssoc=false;var guessWrapping=state.facet(contentAttributes).some(function(v){return typeof v!="function"&&v["class"]=="cm-lineWrapping";});this.heightOracle=new HeightOracle(guessWrapping);this.stateDeco=state.facet(decorations).filter(function(d){return typeof d!="function";});this.heightMap=HeightMap.empty().applyChanges(this.stateDeco,Text.empty,this.heightOracle.setDoc(state.doc),[new ChangedRange(0,0,0,state.doc.length)]);this.viewport=this.getViewport(0,null);this.updateViewportLines();this.updateForViewport();this.lineGaps=this.ensureLineGaps([]);this.lineGapDeco=Decoration.set(this.lineGaps.map(function(gap){return gap.draw(_this33,false);}));this.computeVisibleRanges();}_createClass(ViewState,[{key:"updateForViewport",value:function updateForViewport(){var _this34=this;var viewports=[this.viewport],main=this.state.selection.main;var _loop6=function _loop6(_i98){var pos=_i98?main.head:main.anchor;if(!viewports.some(function(_ref7){var from=_ref7.from,to=_ref7.to;return pos>=from&&pos<=to;})){var _this34$lineBlockAt=_this34.lineBlockAt(pos),from=_this34$lineBlockAt.from,to=_this34$lineBlockAt.to;viewports.push(new Viewport(from,to));}};for(var _i98=0;_i98<=1;_i98++){_loop6(_i98);}this.viewports=viewports.sort(function(a,b){return a.from-b.from;});this.scaler=this.heightMap.height<=7e6?IdScaler:new BigScaler(this.heightOracle,this.heightMap,this.viewports);}},{key:"updateViewportLines",value:function updateViewportLines(){var _this35=this;this.viewportLines=[];this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,function(block){_this35.viewportLines.push(_this35.scaler.scale==1?block:scaleBlock(block,_this35.scaler));});}},{key:"update",value:function update(_update5){var scrollTarget=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;this.state=_update5.state;var prevDeco=this.stateDeco;this.stateDeco=this.state.facet(decorations).filter(function(d){return typeof d!="function";});var contentChanges=_update5.changedRanges;var heightChanges=ChangedRange.extendWithRanges(contentChanges,heightRelevantDecoChanges(prevDeco,this.stateDeco,_update5?_update5.changes:ChangeSet.empty(this.state.doc.length)));var prevHeight=this.heightMap.height;var scrollAnchor=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollTop);this.heightMap=this.heightMap.applyChanges(this.stateDeco,_update5.startState.doc,this.heightOracle.setDoc(this.state.doc),heightChanges);if(this.heightMap.height!=prevHeight)_update5.flags|=2;if(scrollAnchor){this.scrollAnchorPos=_update5.changes.mapPos(scrollAnchor.from,-1);this.scrollAnchorHeight=scrollAnchor.top;}else{this.scrollAnchorPos=-1;this.scrollAnchorHeight=this.heightMap.height;}var viewport=heightChanges.length?this.mapViewport(this.viewport,_update5.changes):this.viewport;if(scrollTarget&&(scrollTarget.range.head<viewport.from||scrollTarget.range.head>viewport.to)||!this.viewportIsAppropriate(viewport))viewport=this.getViewport(0,scrollTarget);var updateLines=!_update5.changes.empty||_update5.flags&2||viewport.from!=this.viewport.from||viewport.to!=this.viewport.to;this.viewport=viewport;this.updateForViewport();if(updateLines)this.updateViewportLines();if(this.lineGaps.length||this.viewport.to-this.viewport.from>2e3<<1)this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,_update5.changes)));_update5.flags|=this.computeVisibleRanges();if(scrollTarget)this.scrollTarget=scrollTarget;if(!this.mustEnforceCursorAssoc&&_update5.selectionSet&&_update5.view.lineWrapping&&_update5.state.selection.main.empty&&_update5.state.selection.main.assoc&&!_update5.state.facet(nativeSelectionHidden))this.mustEnforceCursorAssoc=true;}},{key:"measure",value:function measure(view){var dom=view.contentDOM,style=window.getComputedStyle(dom);var oracle=this.heightOracle;var whiteSpace=style.whiteSpace;this.defaultTextDirection=style.direction=="rtl"?Direction.RTL:Direction.LTR;var refresh=this.heightOracle.mustRefreshForWrapping(whiteSpace);var domRect=dom.getBoundingClientRect();var measureContent=refresh||this.mustMeasureContent||this.contentDOMHeight!=domRect.height;this.contentDOMHeight=domRect.height;this.mustMeasureContent=false;var result=0,bias=0;if(domRect.width&&domRect.height){var _getScale2=getScale(dom,domRect),scaleX=_getScale2.scaleX,scaleY=_getScale2.scaleY;if(scaleX>5e-3&&Math.abs(this.scaleX-scaleX)>5e-3||scaleY>5e-3&&Math.abs(this.scaleY-scaleY)>5e-3){this.scaleX=scaleX;this.scaleY=scaleY;result|=8;refresh=measureContent=true;}}var paddingTop=(parseInt(style.paddingTop)||0)*this.scaleY;var paddingBottom=(parseInt(style.paddingBottom)||0)*this.scaleY;if(this.paddingTop!=paddingTop||this.paddingBottom!=paddingBottom){this.paddingTop=paddingTop;this.paddingBottom=paddingBottom;result|=8|2;}if(this.editorWidth!=view.scrollDOM.clientWidth){if(oracle.lineWrapping)measureContent=true;this.editorWidth=view.scrollDOM.clientWidth;result|=8;}var scrollTop=view.scrollDOM.scrollTop*this.scaleY;if(this.scrollTop!=scrollTop){this.scrollAnchorHeight=-1;this.scrollTop=scrollTop;}this.scrolledToBottom=isScrolledToBottom(view.scrollDOM);var pixelViewport=(this.printing?fullPixelRange:visiblePixelRange)(dom,this.paddingTop);var dTop=pixelViewport.top-this.pixelViewport.top,dBottom=pixelViewport.bottom-this.pixelViewport.bottom;this.pixelViewport=pixelViewport;var inView=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(inView!=this.inView){this.inView=inView;if(inView)measureContent=true;}if(!this.inView&&!this.scrollTarget)return 0;var contentWidth=domRect.width;if(this.contentDOMWidth!=contentWidth||this.editorHeight!=view.scrollDOM.clientHeight){this.contentDOMWidth=domRect.width;this.editorHeight=view.scrollDOM.clientHeight;result|=8;}if(measureContent){var lineHeights=view.docView.measureVisibleLineHeights(this.viewport);if(oracle.mustRefreshForHeights(lineHeights))refresh=true;if(refresh||oracle.lineWrapping&&Math.abs(contentWidth-this.contentDOMWidth)>oracle.charWidth){var _view$docView$measure=view.docView.measureTextSize(),lineHeight=_view$docView$measure.lineHeight,charWidth=_view$docView$measure.charWidth,textHeight=_view$docView$measure.textHeight;refresh=lineHeight>0&&oracle.refresh(whiteSpace,lineHeight,charWidth,textHeight,contentWidth/charWidth,lineHeights);if(refresh){view.docView.minWidth=0;result|=8;}}if(dTop>0&&dBottom>0)bias=Math.max(dTop,dBottom);else if(dTop<0&&dBottom<0)bias=Math.min(dTop,dBottom);oracle.heightChanged=false;var _iterator60=_createForOfIteratorHelper(this.viewports),_step60;try{for(_iterator60.s();!(_step60=_iterator60.n()).done;){var vp=_step60.value;var heights=vp.from==this.viewport.from?lineHeights:view.docView.measureVisibleLineHeights(vp);this.heightMap=(refresh?HeightMap.empty().applyChanges(this.stateDeco,Text.empty,this.heightOracle,[new ChangedRange(0,0,0,view.state.doc.length)]):this.heightMap).updateHeight(oracle,0,refresh,new MeasuredHeights(vp.from,heights));}}catch(err){_iterator60.e(err);}finally{_iterator60.f();}if(oracle.heightChanged)result|=2;}var viewportChange=!this.viewportIsAppropriate(this.viewport,bias)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);if(viewportChange)this.viewport=this.getViewport(bias,this.scrollTarget);this.updateForViewport();if(result&2||viewportChange)this.updateViewportLines();if(this.lineGaps.length||this.viewport.to-this.viewport.from>2e3<<1)this.updateLineGaps(this.ensureLineGaps(refresh?[]:this.lineGaps,view));result|=this.computeVisibleRanges();if(this.mustEnforceCursorAssoc){this.mustEnforceCursorAssoc=false;view.docView.enforceCursorAssoc();}return result;}},{key:"visibleTop",get:function get(){return this.scaler.fromDOM(this.pixelViewport.top);}},{key:"visibleBottom",get:function get(){return this.scaler.fromDOM(this.pixelViewport.bottom);}},{key:"getViewport",value:function getViewport(bias,scrollTarget){var marginTop=0.5-Math.max(-0.5,Math.min(0.5,bias/1e3/2));var map=this.heightMap,oracle=this.heightOracle;var visibleTop=this.visibleTop,visibleBottom=this.visibleBottom;var viewport=new Viewport(map.lineAt(visibleTop-marginTop*1e3,QueryType.ByHeight,oracle,0,0).from,map.lineAt(visibleBottom+(1-marginTop)*1e3,QueryType.ByHeight,oracle,0,0).to);if(scrollTarget){var head=scrollTarget.range.head;if(head<viewport.from||head>viewport.to){var viewHeight=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top);var block=map.lineAt(head,QueryType.ByPos,oracle,0,0),topPos;if(scrollTarget.y=="center")topPos=(block.top+block.bottom)/2-viewHeight/2;else if(scrollTarget.y=="start"||scrollTarget.y=="nearest"&&head<viewport.from)topPos=block.top;else topPos=block.bottom-viewHeight;viewport=new Viewport(map.lineAt(topPos-1e3/2,QueryType.ByHeight,oracle,0,0).from,map.lineAt(topPos+viewHeight+1e3/2,QueryType.ByHeight,oracle,0,0).to);}}return viewport;}},{key:"mapViewport",value:function mapViewport(viewport,changes){var from=changes.mapPos(viewport.from,-1),to=changes.mapPos(viewport.to,1);return new Viewport(this.heightMap.lineAt(from,QueryType.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(to,QueryType.ByPos,this.heightOracle,0,0).to);}},{key:"viewportIsAppropriate",value:function viewportIsAppropriate(_ref8){var from=_ref8.from,to=_ref8.to;var bias=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;if(!this.inView)return true;var _this$heightMap$lineA=this.heightMap.lineAt(from,QueryType.ByPos,this.heightOracle,0,0),top2=_this$heightMap$lineA.top;var _this$heightMap$lineA2=this.heightMap.lineAt(to,QueryType.ByPos,this.heightOracle,0,0),bottom=_this$heightMap$lineA2.bottom;var visibleTop=this.visibleTop,visibleBottom=this.visibleBottom;return(from==0||top2<=visibleTop-Math.max(10,Math.min(-bias,250)))&&(to==this.state.doc.length||bottom>=visibleBottom+Math.max(10,Math.min(bias,250)))&&top2>visibleTop-2*1e3&&bottom<visibleBottom+2*1e3;}},{key:"mapLineGaps",value:function mapLineGaps(gaps,changes){if(!gaps.length||changes.empty)return gaps;var mapped=[];var _iterator61=_createForOfIteratorHelper(gaps),_step61;try{for(_iterator61.s();!(_step61=_iterator61.n()).done;){var gap=_step61.value;if(!changes.touchesRange(gap.from,gap.to))mapped.push(new LineGap(changes.mapPos(gap.from),changes.mapPos(gap.to),gap.size));}}catch(err){_iterator61.e(err);}finally{_iterator61.f();}return mapped;}},{key:"ensureLineGaps",value:function ensureLineGaps(current,mayMeasure){var _this36=this;var wrapping=this.heightOracle.lineWrapping;var margin=wrapping?1e4:2e3,halfMargin=margin>>1,doubleMargin=margin<<1;if(this.defaultTextDirection!=Direction.LTR&&!wrapping)return[];var gaps=[];var addGap=function addGap(from,to,line,structure){if(to-from<halfMargin)return;var sel=_this36.state.selection.main,avoid=[sel.from];if(!sel.empty)avoid.push(sel.to);for(var _i99=0,_avoid=avoid;_i99<_avoid.length;_i99++){var pos=_avoid[_i99];if(pos>from&&pos<to){addGap(from,pos-10,line,structure);addGap(pos+10,to,line,structure);return;}}var gap=find(current,function(gap2){return gap2.from>=line.from&&gap2.to<=line.to&&Math.abs(gap2.from-from)<halfMargin&&Math.abs(gap2.to-to)<halfMargin&&!avoid.some(function(pos){return gap2.from<pos&&gap2.to>pos;});});if(!gap){if(to<line.to&&mayMeasure&&wrapping&&mayMeasure.visibleRanges.some(function(r){return r.from<=to&&r.to>=to;})){var lineStart=mayMeasure.moveToLineBoundary(EditorSelection.cursor(to),false,true).head;if(lineStart>from)to=lineStart;}gap=new LineGap(from,to,_this36.gapSize(line,from,to,structure));}gaps.push(gap);};var _iterator62=_createForOfIteratorHelper(this.viewportLines),_step62;try{for(_iterator62.s();!(_step62=_iterator62.n()).done;){var line=_step62.value;if(line.length<doubleMargin)continue;var structure=lineStructure(line.from,line.to,this.stateDeco);if(structure.total<doubleMargin)continue;var target=this.scrollTarget?this.scrollTarget.range.head:null;var viewFrom=void 0,viewTo=void 0;if(wrapping){var marginHeight=margin/this.heightOracle.lineLength*this.heightOracle.lineHeight;var top2=void 0,bot=void 0;if(target!=null){var targetFrac=findFraction(structure,target);var spaceFrac=((this.visibleBottom-this.visibleTop)/2+marginHeight)/line.height;top2=targetFrac-spaceFrac;bot=targetFrac+spaceFrac;}else{top2=(this.visibleTop-line.top-marginHeight)/line.height;bot=(this.visibleBottom-line.top+marginHeight)/line.height;}viewFrom=findPosition(structure,top2);viewTo=findPosition(structure,bot);}else{var totalWidth=structure.total*this.heightOracle.charWidth;var marginWidth=margin*this.heightOracle.charWidth;var left=void 0,right=void 0;if(target!=null){var _targetFrac=findFraction(structure,target);var _spaceFrac=((this.pixelViewport.right-this.pixelViewport.left)/2+marginWidth)/totalWidth;left=_targetFrac-_spaceFrac;right=_targetFrac+_spaceFrac;}else{left=(this.pixelViewport.left-marginWidth)/totalWidth;right=(this.pixelViewport.right+marginWidth)/totalWidth;}viewFrom=findPosition(structure,left);viewTo=findPosition(structure,right);}if(viewFrom>line.from)addGap(line.from,viewFrom,line,structure);if(viewTo<line.to)addGap(viewTo,line.to,line,structure);}}catch(err){_iterator62.e(err);}finally{_iterator62.f();}return gaps;}},{key:"gapSize",value:function gapSize(line,from,to,structure){var fraction=findFraction(structure,to)-findFraction(structure,from);if(this.heightOracle.lineWrapping){return line.height*fraction;}else{return structure.total*this.heightOracle.charWidth*fraction;}}},{key:"updateLineGaps",value:function updateLineGaps(gaps){var _this37=this;if(!LineGap.same(gaps,this.lineGaps)){this.lineGaps=gaps;this.lineGapDeco=Decoration.set(gaps.map(function(gap){return gap.draw(_this37,_this37.heightOracle.lineWrapping);}));}}},{key:"computeVisibleRanges",value:function computeVisibleRanges(){var deco=this.stateDeco;if(this.lineGaps.length)deco=deco.concat(this.lineGapDeco);var ranges=[];RangeSet.spans(deco,this.viewport.from,this.viewport.to,{span:function span(from,to){ranges.push({from:from,to:to});},point:function point(){}},20);var changed=ranges.length!=this.visibleRanges.length||this.visibleRanges.some(function(r,i){return r.from!=ranges[i].from||r.to!=ranges[i].to;});this.visibleRanges=ranges;return changed?4:0;}},{key:"lineBlockAt",value:function lineBlockAt(pos){return pos>=this.viewport.from&&pos<=this.viewport.to&&this.viewportLines.find(function(b){return b.from<=pos&&b.to>=pos;})||scaleBlock(this.heightMap.lineAt(pos,QueryType.ByPos,this.heightOracle,0,0),this.scaler);}},{key:"lineBlockAtHeight",value:function lineBlockAtHeight(height){return scaleBlock(this.heightMap.lineAt(this.scaler.fromDOM(height),QueryType.ByHeight,this.heightOracle,0,0),this.scaler);}},{key:"scrollAnchorAt",value:function scrollAnchorAt(scrollTop){var block=this.lineBlockAtHeight(scrollTop+8);return block.from>=this.viewport.from||this.viewportLines[0].top-scrollTop>200?block:this.viewportLines[0];}},{key:"elementAtHeight",value:function elementAtHeight(height){return scaleBlock(this.heightMap.blockAt(this.scaler.fromDOM(height),this.heightOracle,0,0),this.scaler);}},{key:"docHeight",get:function get(){return this.scaler.toDOM(this.heightMap.height);}},{key:"contentHeight",get:function get(){return this.docHeight+this.paddingTop+this.paddingBottom;}}]);return ViewState;}();var Viewport=/*#__PURE__*/_createClass(function Viewport(from,to){_classCallCheck(this,Viewport);this.from=from;this.to=to;});function lineStructure(from,to,stateDeco){var ranges=[],pos=from,total=0;RangeSet.spans(stateDeco,from,to,{span:function span(){},point:function point(from2,to2){if(from2>pos){ranges.push({from:pos,to:from2});total+=from2-pos;}pos=to2;}},20);if(pos<to){ranges.push({from:pos,to:to});total+=to-pos;}return{total:total,ranges:ranges};}function findPosition(_ref9,ratio){var total=_ref9.total,ranges=_ref9.ranges;if(ratio<=0)return ranges[0].from;if(ratio>=1)return ranges[ranges.length-1].to;var dist2=Math.floor(total*ratio);for(var _i100=0;;_i100++){var _ranges$_i=ranges[_i100],from=_ranges$_i.from,to=_ranges$_i.to,size=to-from;if(dist2<=size)return from+dist2;dist2-=size;}}function findFraction(structure,pos){var counted=0;var _iterator63=_createForOfIteratorHelper(structure.ranges),_step63;try{for(_iterator63.s();!(_step63=_iterator63.n()).done;){var _step63$value=_step63.value,from=_step63$value.from,to=_step63$value.to;if(pos<=to){counted+=pos-from;break;}counted+=to-from;}}catch(err){_iterator63.e(err);}finally{_iterator63.f();}return counted/structure.total;}function find(array,f){var _iterator64=_createForOfIteratorHelper(array),_step64;try{for(_iterator64.s();!(_step64=_iterator64.n()).done;){var val=_step64.value;if(f(val))return val;}}catch(err){_iterator64.e(err);}finally{_iterator64.f();}return void 0;}var IdScaler={toDOM:function toDOM(n){return n;},fromDOM:function fromDOM(n){return n;},scale:1};var BigScaler=/*#__PURE__*/function(){function BigScaler(oracle,heightMap,viewports){_classCallCheck(this,BigScaler);var vpHeight=0,base2=0,domBase=0;this.viewports=viewports.map(function(_ref10){var from=_ref10.from,to=_ref10.to;var top2=heightMap.lineAt(from,QueryType.ByPos,oracle,0,0).top;var bottom=heightMap.lineAt(to,QueryType.ByPos,oracle,0,0).bottom;vpHeight+=bottom-top2;return{from:from,to:to,top:top2,bottom:bottom,domTop:0,domBottom:0};});this.scale=(7e6-vpHeight)/(heightMap.height-vpHeight);var _iterator65=_createForOfIteratorHelper(this.viewports),_step65;try{for(_iterator65.s();!(_step65=_iterator65.n()).done;){var obj=_step65.value;obj.domTop=domBase+(obj.top-base2)*this.scale;domBase=obj.domBottom=obj.domTop+(obj.bottom-obj.top);base2=obj.bottom;}}catch(err){_iterator65.e(err);}finally{_iterator65.f();}}_createClass(BigScaler,[{key:"toDOM",value:function toDOM(n){for(var _i101=0,base2=0,domBase=0;;_i101++){var vp=_i101<this.viewports.length?this.viewports[_i101]:null;if(!vp||n<vp.top)return domBase+(n-base2)*this.scale;if(n<=vp.bottom)return vp.domTop+(n-vp.top);base2=vp.bottom;domBase=vp.domBottom;}}},{key:"fromDOM",value:function fromDOM(n){for(var _i102=0,base2=0,domBase=0;;_i102++){var vp=_i102<this.viewports.length?this.viewports[_i102]:null;if(!vp||n<vp.domTop)return base2+(n-domBase)/this.scale;if(n<=vp.domBottom)return vp.top+(n-vp.domTop);base2=vp.bottom;domBase=vp.domBottom;}}}]);return BigScaler;}();function scaleBlock(block,scaler){if(scaler.scale==1)return block;var bTop=scaler.toDOM(block.top),bBottom=scaler.toDOM(block.bottom);return new BlockInfo(block.from,block.length,bTop,bBottom-bTop,Array.isArray(block._content)?block._content.map(function(b){return scaleBlock(b,scaler);}):block._content);}var _theme=/* @__PURE__ */Facet.define({combine:function combine(strs){return strs.join(" ");}});var darkTheme=/* @__PURE__ */Facet.define({combine:function combine(values){return values.indexOf(true)>-1;}});var baseThemeID=/* @__PURE__ */StyleModule.newName();var baseLightID=/* @__PURE__ */StyleModule.newName();var baseDarkID=/* @__PURE__ */StyleModule.newName();var lightDarkIDs={"&light":"."+baseLightID,"&dark":"."+baseDarkID};function buildTheme(main,spec,scopes){return new StyleModule(spec,{finish:function finish(sel){return /&/.test(sel)?sel.replace(/&\w*/,function(m){if(m=="&")return main;if(!scopes||!scopes[m])throw new RangeError("Unsupported selector: ".concat(m));return scopes[m];}):main+" "+sel;}});}var baseTheme$1=/* @__PURE__ */buildTheme("."+baseThemeID,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#444"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",insetInlineStart:0,zIndex:200},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",borderRight:"1px solid #ddd"},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top"},".cm-highlightSpace:before":{content:"attr(data-display)",position:"absolute",pointerEvents:"none",color:"#888"},".cm-highlightTab":{backgroundImage:"url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"200\" height=\"20\"><path stroke=\"%23888\" stroke-width=\"1\" fill=\"none\" d=\"M1 10H196L190 5M190 15L196 10M197 4L197 16\"/></svg>')",backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},lightDarkIDs);var LineBreakPlaceholder="\uFFFF";var DOMReader=/*#__PURE__*/function(){function DOMReader(points,state){_classCallCheck(this,DOMReader);this.points=points;this.text="";this.lineSeparator=state.facet(EditorState.lineSeparator);}_createClass(DOMReader,[{key:"append",value:function append(text){this.text+=text;}},{key:"lineBreak",value:function lineBreak(){this.text+=LineBreakPlaceholder;}},{key:"readRange",value:function readRange(start,end){if(!start)return this;var parent=start.parentNode;for(var cur2=start;;){this.findPointBefore(parent,cur2);var oldLen=this.text.length;this.readNode(cur2);var next=cur2.nextSibling;if(next==end)break;var view=ContentView.get(cur2),nextView=ContentView.get(next);if(view&&nextView?view.breakAfter:(view?view.breakAfter:isBlockElement(cur2))||isBlockElement(next)&&(cur2.nodeName!="BR"||cur2.cmIgnore)&&this.text.length>oldLen)this.lineBreak();cur2=next;}this.findPointBefore(parent,end);return this;}},{key:"readTextNode",value:function readTextNode(node){var text=node.nodeValue;var _iterator66=_createForOfIteratorHelper(this.points),_step66;try{for(_iterator66.s();!(_step66=_iterator66.n()).done;){var _point=_step66.value;if(_point.node==node)_point.pos=this.text.length+Math.min(_point.offset,text.length);}}catch(err){_iterator66.e(err);}finally{_iterator66.f();}for(var off=0,re=this.lineSeparator?null:/\r\n?|\n/g;;){var nextBreak=-1,breakSize=1,m=void 0;if(this.lineSeparator){nextBreak=text.indexOf(this.lineSeparator,off);breakSize=this.lineSeparator.length;}else if(m=re.exec(text)){nextBreak=m.index;breakSize=m[0].length;}this.append(text.slice(off,nextBreak<0?text.length:nextBreak));if(nextBreak<0)break;this.lineBreak();if(breakSize>1){var _iterator67=_createForOfIteratorHelper(this.points),_step67;try{for(_iterator67.s();!(_step67=_iterator67.n()).done;){var point=_step67.value;if(point.node==node&&point.pos>this.text.length)point.pos-=breakSize-1;}}catch(err){_iterator67.e(err);}finally{_iterator67.f();}}off=nextBreak+breakSize;}}},{key:"readNode",value:function readNode(node){if(node.cmIgnore)return;var view=ContentView.get(node);var fromView=view&&view.overrideDOMText;if(fromView!=null){this.findPointInside(node,fromView.length);for(var _i103=fromView.iter();!_i103.next().done;){if(_i103.lineBreak)this.lineBreak();else this.append(_i103.value);}}else if(node.nodeType==3){this.readTextNode(node);}else if(node.nodeName=="BR"){if(node.nextSibling)this.lineBreak();}else if(node.nodeType==1){this.readRange(node.firstChild,null);}}},{key:"findPointBefore",value:function findPointBefore(node,next){var _iterator68=_createForOfIteratorHelper(this.points),_step68;try{for(_iterator68.s();!(_step68=_iterator68.n()).done;){var point=_step68.value;if(point.node==node&&node.childNodes[point.offset]==next)point.pos=this.text.length;}}catch(err){_iterator68.e(err);}finally{_iterator68.f();}}},{key:"findPointInside",value:function findPointInside(node,length){var _iterator69=_createForOfIteratorHelper(this.points),_step69;try{for(_iterator69.s();!(_step69=_iterator69.n()).done;){var point=_step69.value;if(node.nodeType==3?point.node==node:node.contains(point.node))point.pos=this.text.length+(isAtEnd(node,point.node,point.offset)?length:0);}}catch(err){_iterator69.e(err);}finally{_iterator69.f();}}}]);return DOMReader;}();function isAtEnd(parent,node,offset){for(;;){if(!node||offset<maxOffset(node))return false;if(node==parent)return true;offset=domIndex(node)+1;node=node.parentNode;}}function isBlockElement(node){return node.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(node.nodeName);}var DOMPoint=/*#__PURE__*/_createClass(function DOMPoint(node,offset){_classCallCheck(this,DOMPoint);this.node=node;this.offset=offset;this.pos=-1;});var DOMChange=/*#__PURE__*/_createClass(function DOMChange(view,start,end,typeOver){_classCallCheck(this,DOMChange);this.typeOver=typeOver;this.bounds=null;this.text="";var _view$docView=view.docView,iHead=_view$docView.impreciseHead,iAnchor=_view$docView.impreciseAnchor;if(view.state.readOnly&&start>-1){this.newSel=null;}else if(start>-1&&(this.bounds=view.docView.domBoundsAround(start,end,0))){var selPoints=iHead||iAnchor?[]:selectionPoints(view);var reader=new DOMReader(selPoints,view.state);reader.readRange(this.bounds.startDOM,this.bounds.endDOM);this.text=reader.text;this.newSel=selectionFromPoints(selPoints,this.bounds.from);}else{var domSel=view.observer.selectionRange;var head=iHead&&iHead.node==domSel.focusNode&&iHead.offset==domSel.focusOffset||!contains(view.contentDOM,domSel.focusNode)?view.state.selection.main.head:view.docView.posFromDOM(domSel.focusNode,domSel.focusOffset);var anchor=iAnchor&&iAnchor.node==domSel.anchorNode&&iAnchor.offset==domSel.anchorOffset||!contains(view.contentDOM,domSel.anchorNode)?view.state.selection.main.anchor:view.docView.posFromDOM(domSel.anchorNode,domSel.anchorOffset);var vp=view.viewport;if((browser.ios||browser.chrome)&&view.state.selection.main.empty&&head!=anchor&&(vp.from>0||vp.to<view.state.doc.length)){var from=Math.min(head,anchor),to=Math.max(head,anchor);var offFrom=vp.from-from,offTo=vp.to-to;if((offFrom==0||offFrom==1||from==0)&&(offTo==0||offTo==-1||to==view.state.doc.length)){head=0;anchor=view.state.doc.length;}}this.newSel=EditorSelection.single(anchor,head);}});function applyDOMChange(view,domChange){var change;var newSel=domChange.newSel,sel=view.state.selection.main;var lastKey=view.inputState.lastKeyTime>Date.now()-100?view.inputState.lastKeyCode:-1;if(domChange.bounds){var _domChange$bounds=domChange.bounds,from=_domChange$bounds.from,to=_domChange$bounds.to;var preferredPos=sel.from,preferredSide=null;if(lastKey===8||browser.android&&domChange.text.length<to-from){preferredPos=sel.to;preferredSide="end";}var diff=findDiff(view.state.doc.sliceString(from,to,LineBreakPlaceholder),domChange.text,preferredPos-from,preferredSide);if(diff){if(browser.chrome&&lastKey==13&&diff.toB==diff.from+2&&domChange.text.slice(diff.from,diff.toB)==LineBreakPlaceholder+LineBreakPlaceholder)diff.toB--;change={from:from+diff.from,to:from+diff.toA,insert:Text.of(domChange.text.slice(diff.from,diff.toB).split(LineBreakPlaceholder))};}}else if(newSel&&(!view.hasFocus&&view.state.facet(editable)||newSel.main.eq(sel))){newSel=null;}if(!change&&!newSel)return false;if(!change&&domChange.typeOver&&!sel.empty&&newSel&&newSel.main.empty){change={from:sel.from,to:sel.to,insert:view.state.doc.slice(sel.from,sel.to)};}else if(change&&change.from>=sel.from&&change.to<=sel.to&&(change.from!=sel.from||change.to!=sel.to)&&sel.to-sel.from-(change.to-change.from)<=4){change={from:sel.from,to:sel.to,insert:view.state.doc.slice(sel.from,change.from).append(change.insert).append(view.state.doc.slice(change.to,sel.to))};}else if((browser.mac||browser.android)&&change&&change.from==change.to&&change.from==sel.head-1&&/^\. ?$/.test(change.insert.toString())&&view.contentDOM.getAttribute("autocorrect")=="off"){if(newSel&&change.insert.length==2)newSel=EditorSelection.single(newSel.main.anchor-1,newSel.main.head-1);change={from:sel.from,to:sel.to,insert:Text.of([" "])};}else if(browser.chrome&&change&&change.from==change.to&&change.from==sel.head&&change.insert.toString()=="\n "&&view.lineWrapping){if(newSel)newSel=EditorSelection.single(newSel.main.anchor-1,newSel.main.head-1);change={from:sel.from,to:sel.to,insert:Text.of([" "])};}if(change){if(browser.ios&&view.inputState.flushIOSKey(change))return true;if(browser.android&&(change.to==sel.to&&(change.from==sel.from||change.from==sel.from-1&&view.state.sliceDoc(change.from,sel.from)==" ")&&change.insert.length==1&&change.insert.lines==2&&dispatchKey(view.contentDOM,"Enter",13)||(change.from==sel.from-1&&change.to==sel.to&&change.insert.length==0||lastKey==8&&change.insert.length<change.to-change.from&&change.to>sel.head)&&dispatchKey(view.contentDOM,"Backspace",8)||change.from==sel.from&&change.to==sel.to+1&&change.insert.length==0&&dispatchKey(view.contentDOM,"Delete",46)))return true;var _text5=change.insert.toString();if(view.inputState.composing>=0)view.inputState.composing++;var defaultTr;var defaultInsert=function defaultInsert(){return defaultTr||(defaultTr=applyDefaultInsert(view,change,newSel));};if(!view.state.facet(inputHandler).some(function(h){return h(view,change.from,change.to,_text5,defaultInsert);}))view.dispatch(defaultInsert());return true;}else if(newSel&&!newSel.main.eq(sel)){var scrollIntoView3=false,userEvent="select";if(view.inputState.lastSelectionTime>Date.now()-50){if(view.inputState.lastSelectionOrigin=="select")scrollIntoView3=true;userEvent=view.inputState.lastSelectionOrigin;}view.dispatch({selection:newSel,scrollIntoView:scrollIntoView3,userEvent:userEvent});return true;}else{return false;}}function applyDefaultInsert(view,change,newSel){var tr,startState=view.state,sel=startState.selection.main;if(change.from>=sel.from&&change.to<=sel.to&&change.to-change.from>=(sel.to-sel.from)/3&&(!newSel||newSel.main.empty&&newSel.main.from==change.from+change.insert.length)&&view.inputState.composing<0){var before=sel.from<change.from?startState.sliceDoc(sel.from,change.from):"";var after=sel.to>change.to?startState.sliceDoc(change.to,sel.to):"";tr=startState.replaceSelection(view.state.toText(before+change.insert.sliceString(0,void 0,view.state.lineBreak)+after));}else{var changes=startState.changes(change);var mainSel=newSel&&newSel.main.to<=changes.newLength?newSel.main:void 0;if(startState.selection.ranges.length>1&&view.inputState.composing>=0&&change.to<=sel.to&&change.to>=sel.to-10){var replaced=view.state.sliceDoc(change.from,change.to);var compositionRange,composition=newSel&&findCompositionNode(view,newSel.main.head);if(composition){var dLen=change.insert.length-(change.to-change.from);compositionRange={from:composition.from,to:composition.to-dLen};}else{compositionRange=view.state.doc.lineAt(sel.head);}var offset=sel.to-change.to,size=sel.to-sel.from;tr=startState.changeByRange(function(range){if(range.from==sel.from&&range.to==sel.to)return{changes:changes,range:mainSel||range.map(changes)};var to=range.to-offset,from=to-replaced.length;if(range.to-range.from!=size||view.state.sliceDoc(from,to)!=replaced||range.to>=compositionRange.from&&range.from<=compositionRange.to)return{range:range};var rangeChanges=startState.changes({from:from,to:to,insert:change.insert}),selOff=range.to-sel.to;return{changes:rangeChanges,range:!mainSel?range.map(rangeChanges):EditorSelection.range(Math.max(0,mainSel.anchor+selOff),Math.max(0,mainSel.head+selOff))};});}else{tr={changes:changes,selection:mainSel&&startState.selection.replaceRange(mainSel)};}}var userEvent="input.type";if(view.composing||view.inputState.compositionPendingChange&&view.inputState.compositionEndedAt>Date.now()-50){view.inputState.compositionPendingChange=false;userEvent+=".compose";if(view.inputState.compositionFirstChange){userEvent+=".start";view.inputState.compositionFirstChange=false;}}return startState.update(tr,{userEvent:userEvent,scrollIntoView:true});}function findDiff(a,b,preferredPos,preferredSide){var minLen=Math.min(a.length,b.length);var from=0;while(from<minLen&&a.charCodeAt(from)==b.charCodeAt(from)){from++;}if(from==minLen&&a.length==b.length)return null;var toA=a.length,toB=b.length;while(toA>0&&toB>0&&a.charCodeAt(toA-1)==b.charCodeAt(toB-1)){toA--;toB--;}if(preferredSide=="end"){var adjust=Math.max(0,from-Math.min(toA,toB));preferredPos-=toA+adjust-from;}if(toA<from&&a.length<b.length){var move=preferredPos<=from&&preferredPos>=toA?from-preferredPos:0;from-=move;toB=from+(toB-toA);toA=from;}else if(toB<from){var _move=preferredPos<=from&&preferredPos>=toB?from-preferredPos:0;from-=_move;toA=from+(toA-toB);toB=from;}return{from:from,toA:toA,toB:toB};}function selectionPoints(view){var result=[];if(view.root.activeElement!=view.contentDOM)return result;var _view$observer$select2=view.observer.selectionRange,anchorNode=_view$observer$select2.anchorNode,anchorOffset=_view$observer$select2.anchorOffset,focusNode=_view$observer$select2.focusNode,focusOffset=_view$observer$select2.focusOffset;if(anchorNode){result.push(new DOMPoint(anchorNode,anchorOffset));if(focusNode!=anchorNode||focusOffset!=anchorOffset)result.push(new DOMPoint(focusNode,focusOffset));}return result;}function selectionFromPoints(points,base2){if(points.length==0)return null;var anchor=points[0].pos,head=points.length==2?points[1].pos:anchor;return anchor>-1&&head>-1?EditorSelection.single(anchor+base2,head+base2):null;}var observeOptions={childList:true,characterData:true,subtree:true,attributes:true,characterDataOldValue:true};var useCharData=browser.ie&&browser.ie_version<=11;var DOMObserver=/*#__PURE__*/function(){function DOMObserver(view){var _this38=this;_classCallCheck(this,DOMObserver);this.view=view;this.active=false;this.selectionRange=new DOMSelectionState();this.selectionChanged=false;this.delayedFlush=-1;this.resizeTimeout=-1;this.queue=[];this.delayedAndroidKey=null;this.flushingAndroidKey=-1;this.lastChange=0;this.scrollTargets=[];this.intersection=null;this.resizeScroll=null;this.intersecting=false;this.gapIntersection=null;this.gaps=[];this.printQuery=null;this.parentCheck=-1;this.dom=view.contentDOM;this.observer=new MutationObserver(function(mutations){var _iterator70=_createForOfIteratorHelper(mutations),_step70;try{for(_iterator70.s();!(_step70=_iterator70.n()).done;){var mut=_step70.value;_this38.queue.push(mut);}}catch(err){_iterator70.e(err);}finally{_iterator70.f();}if((browser.ie&&browser.ie_version<=11||browser.ios&&view.composing)&&mutations.some(function(m){return m.type=="childList"&&m.removedNodes.length||m.type=="characterData"&&m.oldValue.length>m.target.nodeValue.length;}))_this38.flushSoon();else _this38.flush();});if(useCharData)this.onCharData=function(event){_this38.queue.push({target:event.target,type:"characterData",oldValue:event.prevValue});_this38.flushSoon();};this.onSelectionChange=this.onSelectionChange.bind(this);this.onResize=this.onResize.bind(this);this.onPrint=this.onPrint.bind(this);this.onScroll=this.onScroll.bind(this);if(window.matchMedia)this.printQuery=window.matchMedia("print");if(typeof ResizeObserver=="function"){this.resizeScroll=new ResizeObserver(function(){var _a2;if(((_a2=_this38.view.docView)===null||_a2===void 0?void 0:_a2.lastUpdate)<Date.now()-75)_this38.onResize();});this.resizeScroll.observe(view.scrollDOM);}this.addWindowListeners(this.win=view.win);this.start();if(typeof IntersectionObserver=="function"){this.intersection=new IntersectionObserver(function(entries){if(_this38.parentCheck<0)_this38.parentCheck=setTimeout(_this38.listenForScroll.bind(_this38),1e3);if(entries.length>0&&entries[entries.length-1].intersectionRatio>0!=_this38.intersecting){_this38.intersecting=!_this38.intersecting;if(_this38.intersecting!=_this38.view.inView)_this38.onScrollChanged(document.createEvent("Event"));}},{threshold:[0,1e-3]});this.intersection.observe(this.dom);this.gapIntersection=new IntersectionObserver(function(entries){if(entries.length>0&&entries[entries.length-1].intersectionRatio>0)_this38.onScrollChanged(document.createEvent("Event"));},{});}this.listenForScroll();this.readSelectionRange();}_createClass(DOMObserver,[{key:"onScrollChanged",value:function onScrollChanged(e){this.view.inputState.runHandlers("scroll",e);if(this.intersecting)this.view.measure();}},{key:"onScroll",value:function onScroll(e){if(this.intersecting)this.flush(false);this.onScrollChanged(e);}},{key:"onResize",value:function onResize(){var _this39=this;if(this.resizeTimeout<0)this.resizeTimeout=setTimeout(function(){_this39.resizeTimeout=-1;_this39.view.requestMeasure();},50);}},{key:"onPrint",value:function onPrint(event){var _this40=this;if(event.type=="change"&&!event.matches)return;this.view.viewState.printing=true;this.view.measure();setTimeout(function(){_this40.view.viewState.printing=false;_this40.view.requestMeasure();},500);}},{key:"updateGaps",value:function updateGaps(gaps){if(this.gapIntersection&&(gaps.length!=this.gaps.length||this.gaps.some(function(g,i){return g!=gaps[i];}))){this.gapIntersection.disconnect();var _iterator71=_createForOfIteratorHelper(gaps),_step71;try{for(_iterator71.s();!(_step71=_iterator71.n()).done;){var gap=_step71.value;this.gapIntersection.observe(gap);}}catch(err){_iterator71.e(err);}finally{_iterator71.f();}this.gaps=gaps;}}},{key:"onSelectionChange",value:function onSelectionChange(event){var wasChanged=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;var view=this.view,sel=this.selectionRange;if(view.state.facet(editable)?view.root.activeElement!=this.dom:!hasSelection(view.dom,sel))return;var context=sel.anchorNode&&view.docView.nearest(sel.anchorNode);if(context&&context.ignoreEvent(event)){if(!wasChanged)this.selectionChanged=false;return;}if((browser.ie&&browser.ie_version<=11||browser.android&&browser.chrome)&&!view.state.selection.main.empty&&sel.focusNode&&isEquivalentPosition(sel.focusNode,sel.focusOffset,sel.anchorNode,sel.anchorOffset))this.flushSoon();else this.flush(false);}},{key:"readSelectionRange",value:function readSelectionRange(){var view=this.view;var range=browser.safari&&view.root.nodeType==11&&deepActiveElement(this.dom.ownerDocument)==this.dom&&safariSelectionRangeHack(this.view)||getSelection(view.root);if(!range||this.selectionRange.eq(range))return false;var local=hasSelection(this.dom,range);if(local&&!this.selectionChanged&&view.inputState.lastFocusTime>Date.now()-200&&view.inputState.lastTouchTime<Date.now()-300&&atElementStart(this.dom,range)){this.view.inputState.lastFocusTime=0;view.docView.updateSelection();return false;}this.selectionRange.setRange(range);if(local)this.selectionChanged=true;return true;}},{key:"setSelectionRange",value:function setSelectionRange(anchor,head){this.selectionRange.set(anchor.node,anchor.offset,head.node,head.offset);this.selectionChanged=false;}},{key:"clearSelectionRange",value:function clearSelectionRange(){this.selectionRange.set(null,0,null,0);}},{key:"listenForScroll",value:function listenForScroll(){this.parentCheck=-1;var i=0,changed=null;for(var dom=this.dom;dom;){if(dom.nodeType==1){if(!changed&&i<this.scrollTargets.length&&this.scrollTargets[i]==dom)i++;else if(!changed)changed=this.scrollTargets.slice(0,i);if(changed)changed.push(dom);dom=dom.assignedSlot||dom.parentNode;}else if(dom.nodeType==11){dom=dom.host;}else{break;}}if(i<this.scrollTargets.length&&!changed)changed=this.scrollTargets.slice(0,i);if(changed){var _iterator72=_createForOfIteratorHelper(this.scrollTargets),_step72;try{for(_iterator72.s();!(_step72=_iterator72.n()).done;){var _dom2=_step72.value;_dom2.removeEventListener("scroll",this.onScroll);}}catch(err){_iterator72.e(err);}finally{_iterator72.f();}var _iterator73=_createForOfIteratorHelper(this.scrollTargets=changed),_step73;try{for(_iterator73.s();!(_step73=_iterator73.n()).done;){var _dom3=_step73.value;_dom3.addEventListener("scroll",this.onScroll);}}catch(err){_iterator73.e(err);}finally{_iterator73.f();}}}},{key:"ignore",value:function ignore(f){if(!this.active)return f();try{this.stop();return f();}finally{this.start();this.clear();}}},{key:"start",value:function start(){if(this.active)return;this.observer.observe(this.dom,observeOptions);if(useCharData)this.dom.addEventListener("DOMCharacterDataModified",this.onCharData);this.active=true;}},{key:"stop",value:function stop(){if(!this.active)return;this.active=false;this.observer.disconnect();if(useCharData)this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData);}},{key:"clear",value:function clear(){this.processRecords();this.queue.length=0;this.selectionChanged=false;}},{key:"delayAndroidKey",value:function delayAndroidKey(key,keyCode){var _this41=this;var _a2;if(!this.delayedAndroidKey){var flush=function flush(){var key2=_this41.delayedAndroidKey;if(key2){_this41.clearDelayedAndroidKey();_this41.view.inputState.lastKeyCode=key2.keyCode;_this41.view.inputState.lastKeyTime=Date.now();var flushed=_this41.flush();if(!flushed&&key2.force)dispatchKey(_this41.dom,key2.key,key2.keyCode);}};this.flushingAndroidKey=this.view.win.requestAnimationFrame(flush);}if(!this.delayedAndroidKey||key=="Enter")this.delayedAndroidKey={key:key,keyCode:keyCode,force:this.lastChange<Date.now()-50||!!((_a2=this.delayedAndroidKey)===null||_a2===void 0?void 0:_a2.force)};}},{key:"clearDelayedAndroidKey",value:function clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey);this.delayedAndroidKey=null;this.flushingAndroidKey=-1;}},{key:"flushSoon",value:function flushSoon(){var _this42=this;if(this.delayedFlush<0)this.delayedFlush=this.view.win.requestAnimationFrame(function(){_this42.delayedFlush=-1;_this42.flush();});}},{key:"forceFlush",value:function forceFlush(){if(this.delayedFlush>=0){this.view.win.cancelAnimationFrame(this.delayedFlush);this.delayedFlush=-1;}this.flush();}},{key:"pendingRecords",value:function pendingRecords(){var _iterator74=_createForOfIteratorHelper(this.observer.takeRecords()),_step74;try{for(_iterator74.s();!(_step74=_iterator74.n()).done;){var mut=_step74.value;this.queue.push(mut);}}catch(err){_iterator74.e(err);}finally{_iterator74.f();}return this.queue;}},{key:"processRecords",value:function processRecords(){var records=this.pendingRecords();if(records.length)this.queue=[];var from=-1,to=-1,typeOver=false;var _iterator75=_createForOfIteratorHelper(records),_step75;try{for(_iterator75.s();!(_step75=_iterator75.n()).done;){var record=_step75.value;var range=this.readMutation(record);if(!range)continue;if(range.typeOver)typeOver=true;if(from==-1){from=range.from;to=range.to;}else{from=Math.min(range.from,from);to=Math.max(range.to,to);}}}catch(err){_iterator75.e(err);}finally{_iterator75.f();}return{from:from,to:to,typeOver:typeOver};}},{key:"readChange",value:function readChange(){var _this$processRecords=this.processRecords(),from=_this$processRecords.from,to=_this$processRecords.to,typeOver=_this$processRecords.typeOver;var newSel=this.selectionChanged&&hasSelection(this.dom,this.selectionRange);if(from<0&&!newSel)return null;if(from>-1)this.lastChange=Date.now();this.view.inputState.lastFocusTime=0;this.selectionChanged=false;var change=new DOMChange(this.view,from,to,typeOver);this.view.docView.domChanged={newSel:change.newSel?change.newSel.main:null};return change;}},{key:"flush",value:function flush(){var readSelection=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;if(this.delayedFlush>=0||this.delayedAndroidKey)return false;if(readSelection)this.readSelectionRange();var domChange=this.readChange();if(!domChange){this.view.requestMeasure();return false;}var startState=this.view.state;var handled=applyDOMChange(this.view,domChange);if(this.view.state==startState)this.view.update([]);return handled;}},{key:"readMutation",value:function readMutation(rec){var cView=this.view.docView.nearest(rec.target);if(!cView||cView.ignoreMutation(rec))return null;cView.markDirty(rec.type=="attributes");if(rec.type=="attributes")cView.flags|=4;if(rec.type=="childList"){var childBefore=findChild(cView,rec.previousSibling||rec.target.previousSibling,-1);var childAfter=findChild(cView,rec.nextSibling||rec.target.nextSibling,1);return{from:childBefore?cView.posAfter(childBefore):cView.posAtStart,to:childAfter?cView.posBefore(childAfter):cView.posAtEnd,typeOver:false};}else if(rec.type=="characterData"){return{from:cView.posAtStart,to:cView.posAtEnd,typeOver:rec.target.nodeValue==rec.oldValue};}else{return null;}}},{key:"setWindow",value:function setWindow(win){if(win!=this.win){this.removeWindowListeners(this.win);this.win=win;this.addWindowListeners(this.win);}}},{key:"addWindowListeners",value:function addWindowListeners(win){win.addEventListener("resize",this.onResize);if(this.printQuery)this.printQuery.addEventListener("change",this.onPrint);else win.addEventListener("beforeprint",this.onPrint);win.addEventListener("scroll",this.onScroll);win.document.addEventListener("selectionchange",this.onSelectionChange);}},{key:"removeWindowListeners",value:function removeWindowListeners(win){win.removeEventListener("scroll",this.onScroll);win.removeEventListener("resize",this.onResize);if(this.printQuery)this.printQuery.removeEventListener("change",this.onPrint);else win.removeEventListener("beforeprint",this.onPrint);win.document.removeEventListener("selectionchange",this.onSelectionChange);}},{key:"destroy",value:function destroy(){var _a2,_b,_c;this.stop();(_a2=this.intersection)===null||_a2===void 0?void 0:_a2.disconnect();(_b=this.gapIntersection)===null||_b===void 0?void 0:_b.disconnect();(_c=this.resizeScroll)===null||_c===void 0?void 0:_c.disconnect();var _iterator76=_createForOfIteratorHelper(this.scrollTargets),_step76;try{for(_iterator76.s();!(_step76=_iterator76.n()).done;){var dom=_step76.value;dom.removeEventListener("scroll",this.onScroll);}}catch(err){_iterator76.e(err);}finally{_iterator76.f();}this.removeWindowListeners(this.win);clearTimeout(this.parentCheck);clearTimeout(this.resizeTimeout);this.win.cancelAnimationFrame(this.delayedFlush);this.win.cancelAnimationFrame(this.flushingAndroidKey);}}]);return DOMObserver;}();function findChild(cView,dom,dir){while(dom){var curView=ContentView.get(dom);if(curView&&curView.parent==cView)return curView;var parent=dom.parentNode;dom=parent!=cView.dom?parent:dir>0?dom.nextSibling:dom.previousSibling;}return null;}function safariSelectionRangeHack(view){var found=null;function read(event){event.preventDefault();event.stopImmediatePropagation();found=event.getTargetRanges()[0];}view.contentDOM.addEventListener("beforeinput",read,true);view.dom.ownerDocument.execCommand("indent");view.contentDOM.removeEventListener("beforeinput",read,true);if(!found)return null;var anchorNode=found.startContainer,anchorOffset=found.startOffset;var focusNode=found.endContainer,focusOffset=found.endOffset;var curAnchor=view.docView.domAtPos(view.state.selection.main.anchor);if(isEquivalentPosition(curAnchor.node,curAnchor.offset,focusNode,focusOffset)){var _ref11=[focusNode,focusOffset,anchorNode,anchorOffset];anchorNode=_ref11[0];anchorOffset=_ref11[1];focusNode=_ref11[2];focusOffset=_ref11[3];}return{anchorNode:anchorNode,anchorOffset:anchorOffset,focusNode:focusNode,focusOffset:focusOffset};}var EditorView=/*#__PURE__*/function(){function EditorView(){var _this43=this;var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};_classCallCheck(this,EditorView);this.plugins=[];this.pluginMap=/* @__PURE__ */new Map();this.editorAttrs={};this.contentAttrs={};this.bidiCache=[];this.destroyed=false;this.updateState=2;this.measureScheduled=-1;this.measureRequests=[];this.contentDOM=document.createElement("div");this.scrollDOM=document.createElement("div");this.scrollDOM.tabIndex=-1;this.scrollDOM.className="cm-scroller";this.scrollDOM.appendChild(this.contentDOM);this.announceDOM=document.createElement("div");this.announceDOM.className="cm-announced";this.announceDOM.setAttribute("aria-live","polite");this.dom=document.createElement("div");this.dom.appendChild(this.announceDOM);this.dom.appendChild(this.scrollDOM);if(config2.parent)config2.parent.appendChild(this.dom);var dispatch=config2.dispatch;this.dispatchTransactions=config2.dispatchTransactions||dispatch&&function(trs){return trs.forEach(function(tr){return dispatch(tr,_this43);});}||function(trs){return _this43.update(trs);};this.dispatch=this.dispatch.bind(this);this._root=config2.root||getRoot(config2.parent)||document;this.viewState=new ViewState(config2.state||EditorState.create(config2));if(config2.scrollTo&&config2.scrollTo.is(_scrollIntoView))this.viewState.scrollTarget=config2.scrollTo.value.clip(this.viewState.state);this.plugins=this.state.facet(viewPlugin).map(function(spec){return new PluginInstance(spec);});var _iterator77=_createForOfIteratorHelper(this.plugins),_step77;try{for(_iterator77.s();!(_step77=_iterator77.n()).done;){var plugin=_step77.value;plugin.update(this);}}catch(err){_iterator77.e(err);}finally{_iterator77.f();}this.observer=new DOMObserver(this);this.inputState=new InputState(this);this.inputState.ensureHandlers(this.plugins);this.docView=new DocView(this);this.mountStyles();this.updateAttrs();this.updateState=0;this.requestMeasure();}_createClass(EditorView,[{key:"state",get:function get(){return this.viewState.state;}},{key:"viewport",get:function get(){return this.viewState.viewport;}},{key:"visibleRanges",get:function get(){return this.viewState.visibleRanges;}},{key:"inView",get:function get(){return this.viewState.inView;}},{key:"composing",get:function get(){return this.inputState.composing>0;}},{key:"compositionStarted",get:function get(){return this.inputState.composing>=0;}},{key:"root",get:function get(){return this._root;}},{key:"win",get:function get(){return this.dom.ownerDocument.defaultView||window;}},{key:"dispatch",value:function dispatch(){var _this$state;for(var _len6=arguments.length,input=new Array(_len6),_key4=0;_key4<_len6;_key4++){input[_key4]=arguments[_key4];}var trs=input.length==1&&input[0]instanceof Transaction?input:input.length==1&&Array.isArray(input[0])?input[0]:[(_this$state=this.state).update.apply(_this$state,input)];this.dispatchTransactions(trs,this);}},{key:"update",value:function update(transactions){var _this44=this;if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");var redrawn=false,attrsChanged=false,update;var state=this.state;var _iterator78=_createForOfIteratorHelper(transactions),_step78;try{for(_iterator78.s();!(_step78=_iterator78.n()).done;){var _tr=_step78.value;if(_tr.startState!=state)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");state=_tr.state;}}catch(err){_iterator78.e(err);}finally{_iterator78.f();}if(this.destroyed){this.viewState.state=state;return;}var focus=this.hasFocus,focusFlag=0,dispatchFocus=null;if(transactions.some(function(tr){return tr.annotation(isFocusChange);})){this.inputState.notifiedFocused=focus;focusFlag=1;}else if(focus!=this.inputState.notifiedFocused){this.inputState.notifiedFocused=focus;dispatchFocus=focusChangeTransaction(state,focus);if(!dispatchFocus)focusFlag=1;}var pendingKey=this.observer.delayedAndroidKey,domChange=null;if(pendingKey){this.observer.clearDelayedAndroidKey();domChange=this.observer.readChange();if(domChange&&!this.state.doc.eq(state.doc)||!this.state.selection.eq(state.selection))domChange=null;}else{this.observer.clear();}if(state.facet(EditorState.phrases)!=this.state.facet(EditorState.phrases))return this.setState(state);update=ViewUpdate.create(this,state,transactions);update.flags|=focusFlag;var scrollTarget=this.viewState.scrollTarget;try{this.updateState=2;var _iterator79=_createForOfIteratorHelper(transactions),_step79;try{for(_iterator79.s();!(_step79=_iterator79.n()).done;){var tr=_step79.value;if(scrollTarget)scrollTarget=scrollTarget.map(tr.changes);if(tr.scrollIntoView){var main=tr.state.selection.main;scrollTarget=new ScrollTarget(main.empty?main:EditorSelection.cursor(main.head,main.head>main.anchor?-1:1));}var _iterator80=_createForOfIteratorHelper(tr.effects),_step80;try{for(_iterator80.s();!(_step80=_iterator80.n()).done;){var e=_step80.value;if(e.is(_scrollIntoView))scrollTarget=e.value.clip(this.state);}}catch(err){_iterator80.e(err);}finally{_iterator80.f();}}}catch(err){_iterator79.e(err);}finally{_iterator79.f();}this.viewState.update(update,scrollTarget);this.bidiCache=CachedOrder.update(this.bidiCache,update.changes);if(!update.empty){this.updatePlugins(update);this.inputState.update(update);}redrawn=this.docView.update(update);if(this.state.facet(styleModule)!=this.styleModules)this.mountStyles();attrsChanged=this.updateAttrs();this.showAnnouncements(transactions);this.docView.updateSelection(redrawn,transactions.some(function(tr){return tr.isUserEvent("select.pointer");}));}finally{this.updateState=0;}if(update.startState.facet(_theme)!=update.state.facet(_theme))this.viewState.mustMeasureContent=true;if(redrawn||attrsChanged||scrollTarget||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)this.requestMeasure();if(redrawn)this.docViewUpdate();if(!update.empty){var _iterator81=_createForOfIteratorHelper(this.state.facet(updateListener)),_step81;try{for(_iterator81.s();!(_step81=_iterator81.n()).done;){var listener=_step81.value;try{listener(update);}catch(e){logException(this.state,e,"update listener");}}}catch(err){_iterator81.e(err);}finally{_iterator81.f();}}if(dispatchFocus||domChange)Promise.resolve().then(function(){if(dispatchFocus&&_this44.state==dispatchFocus.startState)_this44.dispatch(dispatchFocus);if(domChange){if(!applyDOMChange(_this44,domChange)&&pendingKey.force)dispatchKey(_this44.contentDOM,pendingKey.key,pendingKey.keyCode);}});}},{key:"setState",value:function setState(newState){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=newState;return;}this.updateState=2;var hadFocus=this.hasFocus;try{var _iterator82=_createForOfIteratorHelper(this.plugins),_step82;try{for(_iterator82.s();!(_step82=_iterator82.n()).done;){var plugin=_step82.value;plugin.destroy(this);}}catch(err){_iterator82.e(err);}finally{_iterator82.f();}this.viewState=new ViewState(newState);this.plugins=newState.facet(viewPlugin).map(function(spec){return new PluginInstance(spec);});this.pluginMap.clear();var _iterator83=_createForOfIteratorHelper(this.plugins),_step83;try{for(_iterator83.s();!(_step83=_iterator83.n()).done;){var _plugin3=_step83.value;_plugin3.update(this);}}catch(err){_iterator83.e(err);}finally{_iterator83.f();}this.docView.destroy();this.docView=new DocView(this);this.inputState.ensureHandlers(this.plugins);this.mountStyles();this.updateAttrs();this.bidiCache=[];}finally{this.updateState=0;}if(hadFocus)this.focus();this.requestMeasure();}},{key:"updatePlugins",value:function updatePlugins(update){var prevSpecs=update.startState.facet(viewPlugin),specs=update.state.facet(viewPlugin);if(prevSpecs!=specs){var newPlugins=[];var _iterator84=_createForOfIteratorHelper(specs),_step84;try{for(_iterator84.s();!(_step84=_iterator84.n()).done;){var spec=_step84.value;var found=prevSpecs.indexOf(spec);if(found<0){newPlugins.push(new PluginInstance(spec));}else{var plugin=this.plugins[found];plugin.mustUpdate=update;newPlugins.push(plugin);}}}catch(err){_iterator84.e(err);}finally{_iterator84.f();}var _iterator85=_createForOfIteratorHelper(this.plugins),_step85;try{for(_iterator85.s();!(_step85=_iterator85.n()).done;){var _plugin4=_step85.value;if(_plugin4.mustUpdate!=update)_plugin4.destroy(this);}}catch(err){_iterator85.e(err);}finally{_iterator85.f();}this.plugins=newPlugins;this.pluginMap.clear();}else{var _iterator86=_createForOfIteratorHelper(this.plugins),_step86;try{for(_iterator86.s();!(_step86=_iterator86.n()).done;){var _p=_step86.value;_p.mustUpdate=update;}}catch(err){_iterator86.e(err);}finally{_iterator86.f();}}for(var _i104=0;_i104<this.plugins.length;_i104++){this.plugins[_i104].update(this);}if(prevSpecs!=specs)this.inputState.ensureHandlers(this.plugins);}},{key:"docViewUpdate",value:function docViewUpdate(){var _iterator87=_createForOfIteratorHelper(this.plugins),_step87;try{for(_iterator87.s();!(_step87=_iterator87.n()).done;){var plugin=_step87.value;var val=plugin.value;if(val&&val.docViewUpdate){try{val.docViewUpdate(this);}catch(e){logException(this.state,e,"doc view update listener");}}}}catch(err){_iterator87.e(err);}finally{_iterator87.f();}}},{key:"measure",value:function measure(){var _this45=this;var flush=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;if(this.destroyed)return;if(this.measureScheduled>-1)this.win.cancelAnimationFrame(this.measureScheduled);if(this.observer.delayedAndroidKey){this.measureScheduled=-1;this.requestMeasure();return;}this.measureScheduled=0;if(flush)this.observer.forceFlush();var updated=null;var sDOM=this.scrollDOM,scrollTop=sDOM.scrollTop*this.scaleY;var _this$viewState=this.viewState,scrollAnchorPos=_this$viewState.scrollAnchorPos,scrollAnchorHeight=_this$viewState.scrollAnchorHeight;if(Math.abs(scrollTop-this.viewState.scrollTop)>1)scrollAnchorHeight=-1;this.viewState.scrollAnchorHeight=-1;try{for(var _i105=0;;_i105++){if(scrollAnchorHeight<0){if(isScrolledToBottom(sDOM)){scrollAnchorPos=-1;scrollAnchorHeight=this.viewState.heightMap.height;}else{var block=this.viewState.scrollAnchorAt(scrollTop);scrollAnchorPos=block.from;scrollAnchorHeight=block.top;}}this.updateState=1;var changed=this.viewState.measure(this);if(!changed&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(_i105>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break;}var measuring=[];if(!(changed&4)){var _ref12=[measuring,this.measureRequests];this.measureRequests=_ref12[0];measuring=_ref12[1];}var measured=measuring.map(function(m){try{return m.read(_this45);}catch(e){logException(_this45.state,e);return BadMeasure;}});var update=ViewUpdate.create(this,this.state,[]),redrawn=false;update.flags|=changed;if(!updated)updated=update;else updated.flags|=changed;this.updateState=2;if(!update.empty){this.updatePlugins(update);this.inputState.update(update);this.updateAttrs();redrawn=this.docView.update(update);if(redrawn)this.docViewUpdate();}for(var i2=0;i2<measuring.length;i2++){if(measured[i2]!=BadMeasure){try{var m=measuring[i2];if(m.write)m.write(measured[i2],this);}catch(e){logException(this.state,e);}}}if(redrawn)this.docView.updateSelection(true);if(!update.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight){if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget);this.viewState.scrollTarget=null;scrollAnchorHeight=-1;continue;}else{var newAnchorHeight=scrollAnchorPos<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(scrollAnchorPos).top;var diff=newAnchorHeight-scrollAnchorHeight;if(diff>1||diff<-1){scrollTop=scrollTop+diff;sDOM.scrollTop=scrollTop/this.scaleY;scrollAnchorHeight=-1;continue;}}}break;}}}finally{this.updateState=0;this.measureScheduled=-1;}if(updated&&!updated.empty){var _iterator88=_createForOfIteratorHelper(this.state.facet(updateListener)),_step88;try{for(_iterator88.s();!(_step88=_iterator88.n()).done;){var listener=_step88.value;listener(updated);}}catch(err){_iterator88.e(err);}finally{_iterator88.f();}}}},{key:"themeClasses",get:function get(){return baseThemeID+" "+(this.state.facet(darkTheme)?baseDarkID:baseLightID)+" "+this.state.facet(_theme);}},{key:"updateAttrs",value:function updateAttrs(){var _this46=this;var editorAttrs=attrsFromFacet(this,editorAttributes,{"class":"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses});var contentAttrs={spellcheck:"false",autocorrect:"off",autocapitalize:"off",translate:"no",contenteditable:!this.state.facet(editable)?"false":"true","class":"cm-content",style:"".concat(browser.tabSize,": ").concat(this.state.tabSize),role:"textbox","aria-multiline":"true"};if(this.state.readOnly)contentAttrs["aria-readonly"]="true";attrsFromFacet(this,contentAttributes,contentAttrs);var changed=this.observer.ignore(function(){var changedContent=_updateAttrs(_this46.contentDOM,_this46.contentAttrs,contentAttrs);var changedEditor=_updateAttrs(_this46.dom,_this46.editorAttrs,editorAttrs);return changedContent||changedEditor;});this.editorAttrs=editorAttrs;this.contentAttrs=contentAttrs;return changed;}},{key:"showAnnouncements",value:function showAnnouncements(trs){var first=true;var _iterator89=_createForOfIteratorHelper(trs),_step89;try{for(_iterator89.s();!(_step89=_iterator89.n()).done;){var tr=_step89.value;var _iterator90=_createForOfIteratorHelper(tr.effects),_step90;try{for(_iterator90.s();!(_step90=_iterator90.n()).done;){var effect=_step90.value;if(effect.is(EditorView.announce)){if(first)this.announceDOM.textContent="";first=false;var div=this.announceDOM.appendChild(document.createElement("div"));div.textContent=effect.value;}}}catch(err){_iterator90.e(err);}finally{_iterator90.f();}}}catch(err){_iterator89.e(err);}finally{_iterator89.f();}}},{key:"mountStyles",value:function mountStyles(){this.styleModules=this.state.facet(styleModule);var nonce=this.state.facet(EditorView.cspNonce);StyleModule.mount(this.root,this.styleModules.concat(baseTheme$1).reverse(),nonce?{nonce:nonce}:void 0);}},{key:"readMeasured",value:function readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");if(this.updateState==0&&this.measureScheduled>-1)this.measure(false);}},{key:"requestMeasure",value:function requestMeasure(request){var _this47=this;if(this.measureScheduled<0)this.measureScheduled=this.win.requestAnimationFrame(function(){return _this47.measure();});if(request){if(this.measureRequests.indexOf(request)>-1)return;if(request.key!=null)for(var _i106=0;_i106<this.measureRequests.length;_i106++){if(this.measureRequests[_i106].key===request.key){this.measureRequests[_i106]=request;return;}}this.measureRequests.push(request);}}},{key:"plugin",value:function plugin(_plugin2){var known=this.pluginMap.get(_plugin2);if(known===void 0||known&&known.spec!=_plugin2)this.pluginMap.set(_plugin2,known=this.plugins.find(function(p){return p.spec==_plugin2;})||null);return known&&known.update(this).value;}},{key:"documentTop",get:function get(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop;}},{key:"documentPadding",get:function get(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom};}},{key:"scaleX",get:function get(){return this.viewState.scaleX;}},{key:"scaleY",get:function get(){return this.viewState.scaleY;}},{key:"elementAtHeight",value:function elementAtHeight(height){this.readMeasured();return this.viewState.elementAtHeight(height);}},{key:"lineBlockAtHeight",value:function lineBlockAtHeight(height){this.readMeasured();return this.viewState.lineBlockAtHeight(height);}},{key:"viewportLineBlocks",get:function get(){return this.viewState.viewportLines;}},{key:"lineBlockAt",value:function lineBlockAt(pos){return this.viewState.lineBlockAt(pos);}},{key:"contentHeight",get:function get(){return this.viewState.contentHeight;}},{key:"moveByChar",value:function moveByChar(start,forward,by){return skipAtoms(this,start,_moveByChar(this,start,forward,by));}},{key:"moveByGroup",value:function moveByGroup(start,forward){var _this48=this;return skipAtoms(this,start,_moveByChar(this,start,forward,function(initial){return byGroup(_this48,start.head,initial);}));}},{key:"visualLineSide",value:function visualLineSide(line,end){var order=this.bidiSpans(line),dir=this.textDirectionAt(line.from);var span=order[end?order.length-1:0];return EditorSelection.cursor(span.side(end,dir)+line.from,span.forward(!end,dir)?1:-1);}},{key:"moveToLineBoundary",value:function moveToLineBoundary(start,forward){var includeWrap=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;return _moveToLineBoundary(this,start,forward,includeWrap);}},{key:"moveVertically",value:function moveVertically(start,forward,distance){return skipAtoms(this,start,_moveVertically(this,start,forward,distance));}},{key:"domAtPos",value:function domAtPos(pos){return this.docView.domAtPos(pos);}},{key:"posAtDOM",value:function posAtDOM(node){var offset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;return this.docView.posFromDOM(node,offset);}},{key:"posAtCoords",value:function posAtCoords(coords){var precise=arguments.length>1&&arguments[1]!==undefined?arguments[1]:true;this.readMeasured();return _posAtCoords(this,coords,precise);}},{key:"coordsAtPos",value:function coordsAtPos(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;this.readMeasured();var rect=this.docView.coordsAt(pos,side);if(!rect||rect.left==rect.right)return rect;var line=this.state.doc.lineAt(pos),order=this.bidiSpans(line);var span=order[BidiSpan.find(order,pos-line.from,-1,side)];return flattenRect(rect,span.dir==Direction.LTR==side>0);}},{key:"coordsForChar",value:function coordsForChar(pos){this.readMeasured();return this.docView.coordsForChar(pos);}},{key:"defaultCharacterWidth",get:function get(){return this.viewState.heightOracle.charWidth;}},{key:"defaultLineHeight",get:function get(){return this.viewState.heightOracle.lineHeight;}},{key:"textDirection",get:function get(){return this.viewState.defaultTextDirection;}},{key:"textDirectionAt",value:function textDirectionAt(pos){var perLine=this.state.facet(perLineTextDirection);if(!perLine||pos<this.viewport.from||pos>this.viewport.to)return this.textDirection;this.readMeasured();return this.docView.textDirectionAt(pos);}},{key:"lineWrapping",get:function get(){return this.viewState.heightOracle.lineWrapping;}},{key:"bidiSpans",value:function bidiSpans(line){if(line.length>MaxBidiLine)return trivialOrder(line.length);var dir=this.textDirectionAt(line.from),isolates;var _iterator91=_createForOfIteratorHelper(this.bidiCache),_step91;try{for(_iterator91.s();!(_step91=_iterator91.n()).done;){var entry=_step91.value;if(entry.from==line.from&&entry.dir==dir&&(entry.fresh||isolatesEq(entry.isolates,isolates=getIsolatedRanges(this,line))))return entry.order;}}catch(err){_iterator91.e(err);}finally{_iterator91.f();}if(!isolates)isolates=getIsolatedRanges(this,line);var order=computeOrder(line.text,dir,isolates);this.bidiCache.push(new CachedOrder(line.from,line.to,dir,isolates,true,order));return order;}},{key:"hasFocus",get:function get(){var _a2;return(this.dom.ownerDocument.hasFocus()||browser.safari&&((_a2=this.inputState)===null||_a2===void 0?void 0:_a2.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM;}},{key:"focus",value:function focus(){var _this49=this;this.observer.ignore(function(){focusPreventScroll(_this49.contentDOM);_this49.docView.updateSelection();});}},{key:"setRoot",value:function setRoot(root){if(this._root!=root){this._root=root;this.observer.setWindow((root.nodeType==9?root:root.ownerDocument).defaultView||window);this.mountStyles();}}},{key:"destroy",value:function destroy(){var _iterator92=_createForOfIteratorHelper(this.plugins),_step92;try{for(_iterator92.s();!(_step92=_iterator92.n()).done;){var plugin=_step92.value;plugin.destroy(this);}}catch(err){_iterator92.e(err);}finally{_iterator92.f();}this.plugins=[];this.inputState.destroy();this.docView.destroy();this.dom.remove();this.observer.destroy();if(this.measureScheduled>-1)this.win.cancelAnimationFrame(this.measureScheduled);this.destroyed=true;}},{key:"scrollSnapshot",value:function scrollSnapshot(){var _this$scrollDOM=this.scrollDOM,scrollTop=_this$scrollDOM.scrollTop,scrollLeft=_this$scrollDOM.scrollLeft;var ref=this.viewState.scrollAnchorAt(scrollTop);return _scrollIntoView.of(new ScrollTarget(EditorSelection.cursor(ref.from),"start","start",ref.top-scrollTop,scrollLeft,true));}}],[{key:"scrollIntoView",value:function scrollIntoView(pos){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return _scrollIntoView.of(new ScrollTarget(typeof pos=="number"?EditorSelection.cursor(pos):pos,options.y,options.x,options.yMargin,options.xMargin));}},{key:"domEventHandlers",value:function domEventHandlers(handlers2){return ViewPlugin.define(function(){return{};},{eventHandlers:handlers2});}},{key:"domEventObservers",value:function domEventObservers(observers2){return ViewPlugin.define(function(){return{};},{eventObservers:observers2});}},{key:"theme",value:function theme(spec,options){var prefix=StyleModule.newName();var result=[_theme.of(prefix),styleModule.of(buildTheme(".".concat(prefix),spec))];if(options&&options.dark)result.push(darkTheme.of(true));return result;}},{key:"baseTheme",value:function baseTheme(spec){return Prec.lowest(styleModule.of(buildTheme("."+baseThemeID,spec,lightDarkIDs)));}},{key:"findFromDOM",value:function findFromDOM(dom){var _a2;var content2=dom.querySelector(".cm-content");var cView=content2&&ContentView.get(content2)||ContentView.get(dom);return((_a2=cView===null||cView===void 0?void 0:cView.rootView)===null||_a2===void 0?void 0:_a2.view)||null;}}]);return EditorView;}();EditorView.styleModule=styleModule;EditorView.inputHandler=inputHandler;EditorView.scrollHandler=scrollHandler;EditorView.focusChangeEffect=focusChangeEffect;EditorView.perLineTextDirection=perLineTextDirection;EditorView.exceptionSink=exceptionSink;EditorView.updateListener=updateListener;EditorView.editable=editable;EditorView.mouseSelectionStyle=mouseSelectionStyle;EditorView.dragMovesSelection=dragMovesSelection$1;EditorView.clickAddsSelectionRange=clickAddsSelectionRange;EditorView.decorations=decorations;EditorView.outerDecorations=outerDecorations;EditorView.atomicRanges=atomicRanges;EditorView.bidiIsolatedRanges=bidiIsolatedRanges;EditorView.scrollMargins=scrollMargins;EditorView.darkTheme=darkTheme;EditorView.cspNonce=/* @__PURE__ */Facet.define({combine:function combine(values){return values.length?values[0]:"";}});EditorView.contentAttributes=contentAttributes;EditorView.editorAttributes=editorAttributes;EditorView.lineWrapping=/* @__PURE__ */EditorView.contentAttributes.of({"class":"cm-lineWrapping"});EditorView.announce=/* @__PURE__ */StateEffect.define();var MaxBidiLine=4096;var BadMeasure={};var CachedOrder=/*#__PURE__*/function(){function CachedOrder(from,to,dir,isolates,fresh,order){_classCallCheck(this,CachedOrder);this.from=from;this.to=to;this.dir=dir;this.isolates=isolates;this.fresh=fresh;this.order=order;}_createClass(CachedOrder,null,[{key:"update",value:function update(cache,changes){if(changes.empty&&!cache.some(function(c){return c.fresh;}))return cache;var result=[],lastDir=cache.length?cache[cache.length-1].dir:Direction.LTR;for(var _i107=Math.max(0,cache.length-10);_i107<cache.length;_i107++){var entry=cache[_i107];if(entry.dir==lastDir&&!changes.touchesRange(entry.from,entry.to))result.push(new CachedOrder(changes.mapPos(entry.from,1),changes.mapPos(entry.to,-1),entry.dir,entry.isolates,false,entry.order));}return result;}}]);return CachedOrder;}();function attrsFromFacet(view,facet,base2){for(var sources=view.state.facet(facet),_i108=sources.length-1;_i108>=0;_i108--){var source=sources[_i108],value=typeof source=="function"?source(view):source;if(value)combineAttrs(value,base2);}return base2;}var currentPlatform=browser.mac?"mac":browser.windows?"win":browser.linux?"linux":"key";function normalizeKeyName(name2,platform){var parts=name2.split(/-(?!$)/);var result=parts[parts.length-1];if(result=="Space")result=" ";var alt,ctrl,shift2,meta2;for(var _i109=0;_i109<parts.length-1;++_i109){var mod=parts[_i109];if(/^(cmd|meta|m)$/i.test(mod))meta2=true;else if(/^a(lt)?$/i.test(mod))alt=true;else if(/^(c|ctrl|control)$/i.test(mod))ctrl=true;else if(/^s(hift)?$/i.test(mod))shift2=true;else if(/^mod$/i.test(mod)){if(platform=="mac")meta2=true;else ctrl=true;}else throw new Error("Unrecognized modifier name: "+mod);}if(alt)result="Alt-"+result;if(ctrl)result="Ctrl-"+result;if(meta2)result="Meta-"+result;if(shift2)result="Shift-"+result;return result;}function modifiers(name2,event,shift2){if(event.altKey)name2="Alt-"+name2;if(event.ctrlKey)name2="Ctrl-"+name2;if(event.metaKey)name2="Meta-"+name2;if(shift2!==false&&event.shiftKey)name2="Shift-"+name2;return name2;}var handleKeyEvents=/* @__PURE__ */Prec["default"](/* @__PURE__ */EditorView.domEventHandlers({keydown:function keydown(event,view){return runHandlers(getKeymap(view.state),event,view,"editor");}}));var keymap=/* @__PURE__ */Facet.define({enables:handleKeyEvents});var Keymaps=/* @__PURE__ */new WeakMap();function getKeymap(state){var bindings=state.facet(keymap);var map=Keymaps.get(bindings);if(!map)Keymaps.set(bindings,map=buildKeymap(bindings.reduce(function(a,b){return a.concat(b);},[])));return map;}function runScopeHandlers(view,event,scope){return runHandlers(getKeymap(view.state),event,view,scope);}var storedPrefix=null;var PrefixTimeout=4e3;function buildKeymap(bindings){var platform=arguments.length>1&&arguments[1]!==undefined?arguments[1]:currentPlatform;var bound=/* @__PURE__ */Object.create(null);var isPrefix=/* @__PURE__ */Object.create(null);var checkPrefix=function checkPrefix(name2,is){var current=isPrefix[name2];if(current==null)isPrefix[name2]=is;else if(current!=is)throw new Error("Key binding "+name2+" is used both as a regular binding and as a multi-stroke prefix");};var add2=function add2(scope,key,command2,preventDefault,stopPropagation){var _a2,_b;var scopeObj=bound[scope]||(bound[scope]=/* @__PURE__ */Object.create(null));var parts=key.split(/ (?!$)/).map(function(k){return normalizeKeyName(k,platform);});var _loop7=function _loop7(_i110){var prefix=parts.slice(0,_i110).join(" ");checkPrefix(prefix,true);if(!scopeObj[prefix])scopeObj[prefix]={preventDefault:true,stopPropagation:false,run:[function(view){var ourObj=storedPrefix={view:view,prefix:prefix,scope:scope};setTimeout(function(){if(storedPrefix==ourObj)storedPrefix=null;},PrefixTimeout);return true;}]};};for(var _i110=1;_i110<parts.length;_i110++){_loop7(_i110);}var full=parts.join(" ");checkPrefix(full,false);var binding=scopeObj[full]||(scopeObj[full]={preventDefault:false,stopPropagation:false,run:((_b=(_a2=scopeObj._any)===null||_a2===void 0?void 0:_a2.run)===null||_b===void 0?void 0:_b.slice())||[]});if(command2)binding.run.push(command2);if(preventDefault)binding.preventDefault=true;if(stopPropagation)binding.stopPropagation=true;};var _iterator93=_createForOfIteratorHelper(bindings),_step93;try{for(_iterator93.s();!(_step93=_iterator93.n()).done;){var b=_step93.value;var scopes=b.scope?b.scope.split(" "):["editor"];if(b.any){var _iterator94=_createForOfIteratorHelper(scopes),_step94;try{for(_iterator94.s();!(_step94=_iterator94.n()).done;){var scope=_step94.value;var scopeObj=bound[scope]||(bound[scope]=/* @__PURE__ */Object.create(null));if(!scopeObj._any)scopeObj._any={preventDefault:false,stopPropagation:false,run:[]};for(var key in scopeObj){scopeObj[key].run.push(b.any);}}}catch(err){_iterator94.e(err);}finally{_iterator94.f();}}var name2=b[platform]||b.key;if(!name2)continue;var _iterator95=_createForOfIteratorHelper(scopes),_step95;try{for(_iterator95.s();!(_step95=_iterator95.n()).done;){var _scope=_step95.value;add2(_scope,name2,b.run,b.preventDefault,b.stopPropagation);if(b.shift)add2(_scope,"Shift-"+name2,b.shift,b.preventDefault,b.stopPropagation);}}catch(err){_iterator95.e(err);}finally{_iterator95.f();}}}catch(err){_iterator93.e(err);}finally{_iterator93.f();}return bound;}function runHandlers(map,event,view,scope){var name2=keyName(event);var charCode=codePointAt(name2,0),isChar=codePointSize(charCode)==name2.length&&name2!=" ";var prefix="",handled=false,prevented=false,stopPropagation=false;if(storedPrefix&&storedPrefix.view==view&&storedPrefix.scope==scope){prefix=storedPrefix.prefix+" ";if(modifierCodes.indexOf(event.keyCode)<0){prevented=true;storedPrefix=null;}}var ran=/* @__PURE__ */new Set();var runFor=function runFor(binding){if(binding){var _iterator96=_createForOfIteratorHelper(binding.run),_step96;try{for(_iterator96.s();!(_step96=_iterator96.n()).done;){var cmd2=_step96.value;if(!ran.has(cmd2)){ran.add(cmd2);if(cmd2(view,event)){if(binding.stopPropagation)stopPropagation=true;return true;}}}}catch(err){_iterator96.e(err);}finally{_iterator96.f();}if(binding.preventDefault){if(binding.stopPropagation)stopPropagation=true;prevented=true;}}return false;};var scopeObj=map[scope],baseName,shiftName;if(scopeObj){if(runFor(scopeObj[prefix+modifiers(name2,event,!isChar)])){handled=true;}else if(isChar&&(event.altKey||event.metaKey||event.ctrlKey)&&!(browser.windows&&event.ctrlKey&&event.altKey)&&(baseName=base[event.keyCode])&&baseName!=name2){if(runFor(scopeObj[prefix+modifiers(baseName,event,true)])){handled=true;}else if(event.shiftKey&&(shiftName=shift[event.keyCode])!=name2&&shiftName!=baseName&&runFor(scopeObj[prefix+modifiers(shiftName,event,false)])){handled=true;}}else if(isChar&&event.shiftKey&&runFor(scopeObj[prefix+modifiers(name2,event,true)])){handled=true;}if(!handled&&runFor(scopeObj._any))handled=true;}if(prevented)handled=true;if(handled&&stopPropagation)event.stopPropagation();return handled;}var RectangleMarker=/*#__PURE__*/function(){function RectangleMarker(className,left,top2,width,height){_classCallCheck(this,RectangleMarker);this.className=className;this.left=left;this.top=top2;this.width=width;this.height=height;}_createClass(RectangleMarker,[{key:"draw",value:function draw(){var elt=document.createElement("div");elt.className=this.className;this.adjust(elt);return elt;}},{key:"update",value:function update(elt,prev){if(prev.className!=this.className)return false;this.adjust(elt);return true;}},{key:"adjust",value:function adjust(elt){elt.style.left=this.left+"px";elt.style.top=this.top+"px";if(this.width!=null)elt.style.width=this.width+"px";elt.style.height=this.height+"px";}},{key:"eq",value:function eq(p){return this.left==p.left&&this.top==p.top&&this.width==p.width&&this.height==p.height&&this.className==p.className;}}],[{key:"forRange",value:function forRange(view,className,range){if(range.empty){var pos=view.coordsAtPos(range.head,range.assoc||1);if(!pos)return[];var base2=getBase(view);return[new RectangleMarker(className,pos.left-base2.left,pos.top-base2.top,null,pos.bottom-pos.top)];}else{return rectanglesForRange(view,className,range);}}}]);return RectangleMarker;}();function getBase(view){var rect=view.scrollDOM.getBoundingClientRect();var left=view.textDirection==Direction.LTR?rect.left:rect.right-view.scrollDOM.clientWidth*view.scaleX;return{left:left-view.scrollDOM.scrollLeft*view.scaleX,top:rect.top-view.scrollDOM.scrollTop*view.scaleY};}function wrappedLine(view,pos,inside2){var range=EditorSelection.cursor(pos);return{from:Math.max(inside2.from,view.moveToLineBoundary(range,false,true).from),to:Math.min(inside2.to,view.moveToLineBoundary(range,true,true).from),type:BlockType.Text};}function rectanglesForRange(view,className,range){if(range.to<=view.viewport.from||range.from>=view.viewport.to)return[];var from=Math.max(range.from,view.viewport.from),to=Math.min(range.to,view.viewport.to);var ltr=view.textDirection==Direction.LTR;var content2=view.contentDOM,contentRect=content2.getBoundingClientRect(),base2=getBase(view);var lineElt=content2.querySelector(".cm-line"),lineStyle=lineElt&&window.getComputedStyle(lineElt);var leftSide=contentRect.left+(lineStyle?parseInt(lineStyle.paddingLeft)+Math.min(0,parseInt(lineStyle.textIndent)):0);var rightSide=contentRect.right-(lineStyle?parseInt(lineStyle.paddingRight):0);var startBlock=blockAt(view,from),endBlock=blockAt(view,to);var visualStart=startBlock.type==BlockType.Text?startBlock:null;var visualEnd=endBlock.type==BlockType.Text?endBlock:null;if(visualStart&&(view.lineWrapping||startBlock.widgetLineBreaks))visualStart=wrappedLine(view,from,visualStart);if(visualEnd&&(view.lineWrapping||endBlock.widgetLineBreaks))visualEnd=wrappedLine(view,to,visualEnd);if(visualStart&&visualEnd&&visualStart.from==visualEnd.from){return pieces(drawForLine(range.from,range.to,visualStart));}else{var top2=visualStart?drawForLine(range.from,null,visualStart):drawForWidget(startBlock,false);var bottom=visualEnd?drawForLine(null,range.to,visualEnd):drawForWidget(endBlock,true);var between=[];if((visualStart||startBlock).to<(visualEnd||endBlock).from-(visualStart&&visualEnd?1:0)||startBlock.widgetLineBreaks>1&&top2.bottom+view.defaultLineHeight/2<bottom.top)between.push(piece(leftSide,top2.bottom,rightSide,bottom.top));else if(top2.bottom<bottom.top&&view.elementAtHeight((top2.bottom+bottom.top)/2).type==BlockType.Text)top2.bottom=bottom.top=(top2.bottom+bottom.top)/2;return pieces(top2).concat(between).concat(pieces(bottom));}function piece(left,top2,right,bottom){return new RectangleMarker(className,left-base2.left,top2-base2.top-0.01,right-left,bottom-top2+0.01);}function pieces(_ref13){var top2=_ref13.top,bottom=_ref13.bottom,horizontal=_ref13.horizontal;var pieces2=[];for(var _i111=0;_i111<horizontal.length;_i111+=2){pieces2.push(piece(horizontal[_i111],top2,horizontal[_i111+1],bottom));}return pieces2;}function drawForLine(from2,to2,line){var top2=1e9,bottom=-1e9,horizontal=[];function addSpan(from3,fromOpen,to3,toOpen,dir){var fromCoords=view.coordsAtPos(from3,from3==line.to?-2:2);var toCoords=view.coordsAtPos(to3,to3==line.from?2:-2);if(!fromCoords||!toCoords)return;top2=Math.min(fromCoords.top,toCoords.top,top2);bottom=Math.max(fromCoords.bottom,toCoords.bottom,bottom);if(dir==Direction.LTR)horizontal.push(ltr&&fromOpen?leftSide:fromCoords.left,ltr&&toOpen?rightSide:toCoords.right);else horizontal.push(!ltr&&toOpen?leftSide:toCoords.left,!ltr&&fromOpen?rightSide:fromCoords.right);}var start=from2!==null&&from2!==void 0?from2:line.from,end=to2!==null&&to2!==void 0?to2:line.to;var _iterator97=_createForOfIteratorHelper(view.visibleRanges),_step97;try{for(_iterator97.s();!(_step97=_iterator97.n()).done;){var _r=_step97.value;if(_r.to>start&&_r.from<end){for(var pos=Math.max(_r.from,start),endPos=Math.min(_r.to,end);;){var docLine=view.state.doc.lineAt(pos);var _iterator98=_createForOfIteratorHelper(view.bidiSpans(docLine)),_step98;try{for(_iterator98.s();!(_step98=_iterator98.n()).done;){var span=_step98.value;var spanFrom=span.from+docLine.from,spanTo=span.to+docLine.from;if(spanFrom>=endPos)break;if(spanTo>pos)addSpan(Math.max(spanFrom,pos),from2==null&&spanFrom<=start,Math.min(spanTo,endPos),to2==null&&spanTo>=end,span.dir);}}catch(err){_iterator98.e(err);}finally{_iterator98.f();}pos=docLine.to+1;if(pos>=endPos)break;}}}}catch(err){_iterator97.e(err);}finally{_iterator97.f();}if(horizontal.length==0)addSpan(start,from2==null,end,to2==null,view.textDirection);return{top:top2,bottom:bottom,horizontal:horizontal};}function drawForWidget(block,top2){var y=contentRect.top+(top2?block.top:block.bottom);return{top:y,bottom:y,horizontal:[]};}}function sameMarker(a,b){return a.constructor==b.constructor&&a.eq(b);}var LayerView=/*#__PURE__*/function(){function LayerView(view,layer2){_classCallCheck(this,LayerView);this.view=view;this.layer=layer2;this.drawn=[];this.scaleX=1;this.scaleY=1;this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)};this.dom=view.scrollDOM.appendChild(document.createElement("div"));this.dom.classList.add("cm-layer");if(layer2.above)this.dom.classList.add("cm-layer-above");if(layer2["class"])this.dom.classList.add(layer2["class"]);this.scale();this.dom.setAttribute("aria-hidden","true");this.setOrder(view.state);view.requestMeasure(this.measureReq);if(layer2.mount)layer2.mount(this.dom,view);}_createClass(LayerView,[{key:"update",value:function update(_update6){if(_update6.startState.facet(layerOrder)!=_update6.state.facet(layerOrder))this.setOrder(_update6.state);if(this.layer.update(_update6,this.dom)||_update6.geometryChanged){this.scale();_update6.view.requestMeasure(this.measureReq);}}},{key:"docViewUpdate",value:function docViewUpdate(view){if(this.layer.updateOnDocViewUpdate!==false)view.requestMeasure(this.measureReq);}},{key:"setOrder",value:function setOrder(state){var pos=0,order=state.facet(layerOrder);while(pos<order.length&&order[pos]!=this.layer){pos++;}this.dom.style.zIndex=String((this.layer.above?150:-1)-pos);}},{key:"measure",value:function measure(){return this.layer.markers(this.view);}},{key:"scale",value:function scale(){var _this$view=this.view,scaleX=_this$view.scaleX,scaleY=_this$view.scaleY;if(scaleX!=this.scaleX||scaleY!=this.scaleY){this.scaleX=scaleX;this.scaleY=scaleY;this.dom.style.transform="scale(".concat(1/scaleX,", ").concat(1/scaleY,")");}}},{key:"draw",value:function draw(markers){var _this50=this;if(markers.length!=this.drawn.length||markers.some(function(p,i){return!sameMarker(p,_this50.drawn[i]);})){var old=this.dom.firstChild,oldI=0;var _iterator99=_createForOfIteratorHelper(markers),_step99;try{for(_iterator99.s();!(_step99=_iterator99.n()).done;){var marker=_step99.value;if(marker.update&&old&&marker.constructor&&this.drawn[oldI].constructor&&marker.update(old,this.drawn[oldI])){old=old.nextSibling;oldI++;}else{this.dom.insertBefore(marker.draw(),old);}}}catch(err){_iterator99.e(err);}finally{_iterator99.f();}while(old){var next=old.nextSibling;old.remove();old=next;}this.drawn=markers;}}},{key:"destroy",value:function destroy(){if(this.layer.destroy)this.layer.destroy(this.dom,this.view);this.dom.remove();}}]);return LayerView;}();var layerOrder=/* @__PURE__ */Facet.define();function layer(config2){return[ViewPlugin.define(function(v){return new LayerView(v,config2);}),layerOrder.of(config2)];}var CanHidePrimary=!browser.ios;var selectionConfig=/* @__PURE__ */Facet.define({combine:function combine(configs){return combineConfig(configs,{cursorBlinkRate:1200,drawRangeCursor:true},{cursorBlinkRate:function cursorBlinkRate(a,b){return Math.min(a,b);},drawRangeCursor:function drawRangeCursor(a,b){return a||b;}});}});function drawSelection(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return[selectionConfig.of(config2),cursorLayer,selectionLayer,hideNativeSelection,nativeSelectionHidden.of(true)];}function configChanged(update){return update.startState.facet(selectionConfig)!=update.state.facet(selectionConfig);}var cursorLayer=/* @__PURE__ */layer({above:true,markers:function markers(view){var state=view.state,conf=state.facet(selectionConfig);var cursors=[];var _iterator100=_createForOfIteratorHelper(state.selection.ranges),_step100;try{for(_iterator100.s();!(_step100=_iterator100.n()).done;){var _r2=_step100.value;var prim=_r2==state.selection.main;if(_r2.empty?!prim||CanHidePrimary:conf.drawRangeCursor){var className=prim?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary";var cursor=_r2.empty?_r2:EditorSelection.cursor(_r2.head,_r2.head>_r2.anchor?-1:1);var _iterator101=_createForOfIteratorHelper(RectangleMarker.forRange(view,className,cursor)),_step101;try{for(_iterator101.s();!(_step101=_iterator101.n()).done;){var piece=_step101.value;cursors.push(piece);}}catch(err){_iterator101.e(err);}finally{_iterator101.f();}}}}catch(err){_iterator100.e(err);}finally{_iterator100.f();}return cursors;},update:function update(_update7,dom){if(_update7.transactions.some(function(tr){return tr.selection;}))dom.style.animationName=dom.style.animationName=="cm-blink"?"cm-blink2":"cm-blink";var confChange=configChanged(_update7);if(confChange)setBlinkRate(_update7.state,dom);return _update7.docChanged||_update7.selectionSet||confChange;},mount:function mount(dom,view){setBlinkRate(view.state,dom);},"class":"cm-cursorLayer"});function setBlinkRate(state,dom){dom.style.animationDuration=state.facet(selectionConfig).cursorBlinkRate+"ms";}var selectionLayer=/* @__PURE__ */layer({above:false,markers:function markers(view){return view.state.selection.ranges.map(function(r){return r.empty?[]:RectangleMarker.forRange(view,"cm-selectionBackground",r);}).reduce(function(a,b){return a.concat(b);});},update:function update(_update8,dom){return _update8.docChanged||_update8.selectionSet||_update8.viewportChanged||configChanged(_update8);},"class":"cm-selectionLayer"});var themeSpec={".cm-line":{"& ::selection":{backgroundColor:"transparent !important"},"&::selection":{backgroundColor:"transparent !important"}}};if(CanHidePrimary){themeSpec[".cm-line"].caretColor="transparent !important";themeSpec[".cm-content"]={caretColor:"transparent !important"};}var hideNativeSelection=/* @__PURE__ */Prec.highest(/* @__PURE__ */EditorView.theme(themeSpec));var setDropCursorPos=/* @__PURE__ */StateEffect.define({map:function map(pos,mapping){return pos==null?null:mapping.mapPos(pos);}});var dropCursorPos=/* @__PURE__ */StateField.define({create:function create(){return null;},update:function update(pos,tr){if(pos!=null)pos=tr.changes.mapPos(pos);return tr.effects.reduce(function(pos2,e){return e.is(setDropCursorPos)?e.value:pos2;},pos);}});var drawDropCursor=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class(view){_classCallCheck(this,_class);this.view=view;this.cursor=null;this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)};}_createClass(_class,[{key:"update",value:function update(_update9){var _a2;var cursorPos=_update9.state.field(dropCursorPos);if(cursorPos==null){if(this.cursor!=null){(_a2=this.cursor)===null||_a2===void 0?void 0:_a2.remove();this.cursor=null;}}else{if(!this.cursor){this.cursor=this.view.scrollDOM.appendChild(document.createElement("div"));this.cursor.className="cm-dropCursor";}if(_update9.startState.field(dropCursorPos)!=cursorPos||_update9.docChanged||_update9.geometryChanged)this.view.requestMeasure(this.measureReq);}}},{key:"readPos",value:function readPos(){var view=this.view;var pos=view.state.field(dropCursorPos);var rect=pos!=null&&view.coordsAtPos(pos);if(!rect)return null;var outer=view.scrollDOM.getBoundingClientRect();return{left:rect.left-outer.left+view.scrollDOM.scrollLeft*view.scaleX,top:rect.top-outer.top+view.scrollDOM.scrollTop*view.scaleY,height:rect.bottom-rect.top};}},{key:"drawCursor",value:function drawCursor(pos){if(this.cursor){var _this$view2=this.view,scaleX=_this$view2.scaleX,scaleY=_this$view2.scaleY;if(pos){this.cursor.style.left=pos.left/scaleX+"px";this.cursor.style.top=pos.top/scaleY+"px";this.cursor.style.height=pos.height/scaleY+"px";}else{this.cursor.style.left="-100000px";}}}},{key:"destroy",value:function destroy(){if(this.cursor)this.cursor.remove();}},{key:"setDropPos",value:function setDropPos(pos){if(this.view.state.field(dropCursorPos)!=pos)this.view.dispatch({effects:setDropCursorPos.of(pos)});}}]);return _class;}(),{eventObservers:{dragover:function dragover(event){this.setDropPos(this.view.posAtCoords({x:event.clientX,y:event.clientY}));},dragleave:function dragleave(event){if(event.target==this.view.contentDOM||!this.view.contentDOM.contains(event.relatedTarget))this.setDropPos(null);},dragend:function dragend(){this.setDropPos(null);},drop:function drop(){this.setDropPos(null);}}});function dropCursor(){return[dropCursorPos,drawDropCursor];}function iterMatches(doc2,re,from,to,f){re.lastIndex=0;for(var cursor=doc2.iterRange(from,to),pos=from,m;!cursor.next().done;pos+=cursor.value.length){if(!cursor.lineBreak)while(m=re.exec(cursor.value)){f(pos+m.index,m);}}}function matchRanges(view,maxLength){var visible=view.visibleRanges;if(visible.length==1&&visible[0].from==view.viewport.from&&visible[0].to==view.viewport.to)return visible;var result=[];var _iterator102=_createForOfIteratorHelper(visible),_step102;try{for(_iterator102.s();!(_step102=_iterator102.n()).done;){var _step102$value=_step102.value,from=_step102$value.from,to=_step102$value.to;from=Math.max(view.state.doc.lineAt(from).from,from-maxLength);to=Math.min(view.state.doc.lineAt(to).to,to+maxLength);if(result.length&&result[result.length-1].to>=from)result[result.length-1].to=to;else result.push({from:from,to:to});}}catch(err){_iterator102.e(err);}finally{_iterator102.f();}return result;}var MatchDecorator=/*#__PURE__*/function(){function MatchDecorator(config2){_classCallCheck(this,MatchDecorator);var regexp=config2.regexp,decoration=config2.decoration,decorate=config2.decorate,boundary=config2.boundary,_config2$maxLength=config2.maxLength,maxLength=_config2$maxLength===void 0?1e3:_config2$maxLength;if(!regexp.global)throw new RangeError("The regular expression given to MatchDecorator should have its 'g' flag set");this.regexp=regexp;if(decorate){this.addMatch=function(match,view,from,add2){return decorate(add2,from,from+match[0].length,match,view);};}else if(typeof decoration=="function"){this.addMatch=function(match,view,from,add2){var deco=decoration(match,view,from);if(deco)add2(from,from+match[0].length,deco);};}else if(decoration){this.addMatch=function(match,_view,from,add2){return add2(from,from+match[0].length,decoration);};}else{throw new RangeError("Either 'decorate' or 'decoration' should be provided to MatchDecorator");}this.boundary=boundary;this.maxLength=maxLength;}_createClass(MatchDecorator,[{key:"createDeco",value:function createDeco(view){var _this51=this;var build=new RangeSetBuilder(),add2=build.add.bind(build);var _iterator103=_createForOfIteratorHelper(matchRanges(view,this.maxLength)),_step103;try{for(_iterator103.s();!(_step103=_iterator103.n()).done;){var _step103$value=_step103.value,from=_step103$value.from,to=_step103$value.to;iterMatches(view.state.doc,this.regexp,from,to,function(from2,m){return _this51.addMatch(m,view,from2,add2);});}}catch(err){_iterator103.e(err);}finally{_iterator103.f();}return build.finish();}},{key:"updateDeco",value:function updateDeco(update,deco){var changeFrom=1e9,changeTo=-1;if(update.docChanged)update.changes.iterChanges(function(_f,_t,from,to){if(to>update.view.viewport.from&&from<update.view.viewport.to){changeFrom=Math.min(from,changeFrom);changeTo=Math.max(to,changeTo);}});if(update.viewportChanged||changeTo-changeFrom>1e3)return this.createDeco(update.view);if(changeTo>-1)return this.updateRange(update.view,deco.map(update.changes),changeFrom,changeTo);return deco;}},{key:"updateRange",value:function updateRange(view,deco,updateFrom,updateTo){var _this52=this;var _iterator104=_createForOfIteratorHelper(view.visibleRanges),_step104;try{for(_iterator104.s();!(_step104=_iterator104.n()).done;){var _r3=_step104.value;var from=Math.max(_r3.from,updateFrom),to=Math.min(_r3.to,updateTo);if(to>from){(function(){var fromLine=view.state.doc.lineAt(from),toLine=fromLine.to<to?view.state.doc.lineAt(to):fromLine;var start=Math.max(_r3.from,fromLine.from),end=Math.min(_r3.to,toLine.to);if(_this52.boundary){for(;from>fromLine.from;from--){if(_this52.boundary.test(fromLine.text[from-1-fromLine.from])){start=from;break;}}for(;to<toLine.to;to++){if(_this52.boundary.test(toLine.text[to-toLine.from])){end=to;break;}}}var ranges=[],m=void 0;var add2=function add2(from2,to2,deco2){return ranges.push(deco2.range(from2,to2));};if(fromLine==toLine){_this52.regexp.lastIndex=start-fromLine.from;while((m=_this52.regexp.exec(fromLine.text))&&m.index<end-fromLine.from){_this52.addMatch(m,view,m.index+fromLine.from,add2);}}else{iterMatches(view.state.doc,_this52.regexp,start,end,function(from2,m2){return _this52.addMatch(m2,view,from2,add2);});}deco=deco.update({filterFrom:start,filterTo:end,filter:function filter(from2,to2){return from2<start||to2>end;},add:ranges});})();}}}catch(err){_iterator104.e(err);}finally{_iterator104.f();}return deco;}}]);return MatchDecorator;}();var UnicodeRegexpSupport=/x/.unicode!=null?"gu":"g";var Specials=/* @__PURE__ */new RegExp("[\0-\b\n-\x1F\x7F-\x9F\xAD\u061C\u200B\u200E\u200F\u2028\u2029\u202D\u202E\u2066\u2067\u2069\uFEFF\uFFF9-\uFFFC]",UnicodeRegexpSupport);var Names={0:"null",7:"bell",8:"backspace",10:"newline",11:"vertical tab",13:"carriage return",27:"escape",8203:"zero width space",8204:"zero width non-joiner",8205:"zero width joiner",8206:"left-to-right mark",8207:"right-to-left mark",8232:"line separator",8237:"left-to-right override",8238:"right-to-left override",8294:"left-to-right isolate",8295:"right-to-left isolate",8297:"pop directional isolate",8233:"paragraph separator",65279:"zero width no-break space",65532:"object replacement"};var _supportsTabSize=null;function supportsTabSize(){var _a2;if(_supportsTabSize==null&&typeof document!="undefined"&&document.body){var styles=document.body.style;_supportsTabSize=((_a2=styles.tabSize)!==null&&_a2!==void 0?_a2:styles.MozTabSize)!=null;}return _supportsTabSize||false;}var specialCharConfig=/* @__PURE__ */Facet.define({combine:function combine(configs){var config2=combineConfig(configs,{render:null,specialChars:Specials,addSpecialChars:null});if(config2.replaceTabs=!supportsTabSize())config2.specialChars=new RegExp(" |"+config2.specialChars.source,UnicodeRegexpSupport);if(config2.addSpecialChars)config2.specialChars=new RegExp(config2.specialChars.source+"|"+config2.addSpecialChars.source,UnicodeRegexpSupport);return config2;}});function highlightSpecialChars(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return[specialCharConfig.of(config2),specialCharPlugin()];}var _plugin=null;function specialCharPlugin(){return _plugin||(_plugin=ViewPlugin.fromClass(/*#__PURE__*/function(){function _class2(view){_classCallCheck(this,_class2);this.view=view;this.decorations=Decoration.none;this.decorationCache=/* @__PURE__ */Object.create(null);this.decorator=this.makeDecorator(view.state.facet(specialCharConfig));this.decorations=this.decorator.createDeco(view);}_createClass(_class2,[{key:"makeDecorator",value:function makeDecorator(conf){var _this53=this;return new MatchDecorator({regexp:conf.specialChars,decoration:function decoration(m,view,pos){var doc2=view.state.doc;var code=codePointAt(m[0],0);if(code==9){var line=doc2.lineAt(pos);var size=view.state.tabSize,col=_countColumn(line.text,size,pos-line.from);return Decoration.replace({widget:new TabWidget((size-col%size)*_this53.view.defaultCharacterWidth/_this53.view.scaleX)});}return _this53.decorationCache[code]||(_this53.decorationCache[code]=Decoration.replace({widget:new SpecialCharWidget(conf,code)}));},boundary:conf.replaceTabs?void 0:/[^]/});}},{key:"update",value:function update(_update10){var conf=_update10.state.facet(specialCharConfig);if(_update10.startState.facet(specialCharConfig)!=conf){this.decorator=this.makeDecorator(conf);this.decorations=this.decorator.createDeco(_update10.view);}else{this.decorations=this.decorator.updateDeco(_update10,this.decorations);}}}]);return _class2;}(),{decorations:function decorations(v){return v.decorations;}}));}var DefaultPlaceholder="\u2022";function placeholder$1(code){if(code>=32)return DefaultPlaceholder;if(code==10)return"\u2424";return String.fromCharCode(9216+code);}var SpecialCharWidget=/*#__PURE__*/function(_WidgetType4){_inherits(SpecialCharWidget,_WidgetType4);var _super22=_createSuper(SpecialCharWidget);function SpecialCharWidget(options,code){var _this54;_classCallCheck(this,SpecialCharWidget);_this54=_super22.call(this);_this54.options=options;_this54.code=code;return _this54;}_createClass(SpecialCharWidget,[{key:"eq",value:function eq(other){return other.code==this.code;}},{key:"toDOM",value:function toDOM(view){var ph=placeholder$1(this.code);var desc=view.state.phrase("Control character")+" "+(Names[this.code]||"0x"+this.code.toString(16));var custom=this.options.render&&this.options.render(this.code,desc,ph);if(custom)return custom;var span=document.createElement("span");span.textContent=ph;span.title=desc;span.setAttribute("aria-label",desc);span.className="cm-specialChar";return span;}},{key:"ignoreEvent",value:function ignoreEvent(){return false;}}]);return SpecialCharWidget;}(WidgetType);var TabWidget=/*#__PURE__*/function(_WidgetType5){_inherits(TabWidget,_WidgetType5);var _super23=_createSuper(TabWidget);function TabWidget(width){var _this55;_classCallCheck(this,TabWidget);_this55=_super23.call(this);_this55.width=width;return _this55;}_createClass(TabWidget,[{key:"eq",value:function eq(other){return other.width==this.width;}},{key:"toDOM",value:function toDOM(){var span=document.createElement("span");span.textContent=" ";span.className="cm-tab";span.style.width=this.width+"px";return span;}},{key:"ignoreEvent",value:function ignoreEvent(){return false;}}]);return TabWidget;}(WidgetType);function highlightActiveLine(){return activeLineHighlighter;}var lineDeco=/* @__PURE__ */Decoration.line({"class":"cm-activeLine"});var activeLineHighlighter=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class3(view){_classCallCheck(this,_class3);this.decorations=this.getDeco(view);}_createClass(_class3,[{key:"update",value:function update(_update11){if(_update11.docChanged||_update11.selectionSet)this.decorations=this.getDeco(_update11.view);}},{key:"getDeco",value:function getDeco(view){var lastLineStart=-1,deco=[];var _iterator105=_createForOfIteratorHelper(view.state.selection.ranges),_step105;try{for(_iterator105.s();!(_step105=_iterator105.n()).done;){var _r4=_step105.value;var line=view.lineBlockAt(_r4.head);if(line.from>lastLineStart){deco.push(lineDeco.range(line.from));lastLineStart=line.from;}}}catch(err){_iterator105.e(err);}finally{_iterator105.f();}return Decoration.set(deco);}}]);return _class3;}(),{decorations:function decorations(v){return v.decorations;}});var MaxOff=2e3;function rectangleFor(state,a,b){var startLine=Math.min(a.line,b.line),endLine=Math.max(a.line,b.line);var ranges=[];if(a.off>MaxOff||b.off>MaxOff||a.col<0||b.col<0){var startOff=Math.min(a.off,b.off),endOff=Math.max(a.off,b.off);for(var _i112=startLine;_i112<=endLine;_i112++){var line=state.doc.line(_i112);if(line.length<=endOff)ranges.push(EditorSelection.range(line.from+startOff,line.to+endOff));}}else{var startCol=Math.min(a.col,b.col),endCol=Math.max(a.col,b.col);for(var _i113=startLine;_i113<=endLine;_i113++){var _line2=state.doc.line(_i113);var start=findColumn(_line2.text,startCol,state.tabSize,true);if(start<0){ranges.push(EditorSelection.cursor(_line2.to));}else{var end=findColumn(_line2.text,endCol,state.tabSize);ranges.push(EditorSelection.range(_line2.from+start,_line2.from+end));}}}return ranges;}function absoluteColumn(view,x){var ref=view.coordsAtPos(view.viewport.from);return ref?Math.round(Math.abs((ref.left-x)/view.defaultCharacterWidth)):-1;}function getPos(view,event){var offset=view.posAtCoords({x:event.clientX,y:event.clientY},false);var line=view.state.doc.lineAt(offset),off=offset-line.from;var col=off>MaxOff?-1:off==line.length?absoluteColumn(view,event.clientX):_countColumn(line.text,view.state.tabSize,offset-line.from);return{line:line.number,col:col,off:off};}function rectangleSelectionStyle(view,event){var start=getPos(view,event),startSel=view.state.selection;if(!start)return null;return{update:function update(_update12){if(_update12.docChanged){var newStart=_update12.changes.mapPos(_update12.startState.doc.line(start.line).from);var newLine=_update12.state.doc.lineAt(newStart);start={line:newLine.number,col:start.col,off:Math.min(start.off,newLine.length)};startSel=startSel.map(_update12.changes);}},get:function get(event2,_extend,multiple){var cur2=getPos(view,event2);if(!cur2)return startSel;var ranges=rectangleFor(view.state,start,cur2);if(!ranges.length)return startSel;if(multiple)return EditorSelection.create(ranges.concat(startSel.ranges));else return EditorSelection.create(ranges);}};}function rectangularSelection(options){var filter=(options===null||options===void 0?void 0:options.eventFilter)||function(e){return e.altKey&&e.button==0;};return EditorView.mouseSelectionStyle.of(function(view,event){return filter(event)?rectangleSelectionStyle(view,event):null;});}var keys={Alt:[18,function(e){return!!e.altKey;}],Control:[17,function(e){return!!e.ctrlKey;}],Shift:[16,function(e){return!!e.shiftKey;}],Meta:[91,function(e){return!!e.metaKey;}]};var showCrosshair={style:"cursor: crosshair"};function crosshairCursor(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var _keys=_slicedToArray(keys[options.key||"Alt"],2),code=_keys[0],getter=_keys[1];var plugin=ViewPlugin.fromClass(/*#__PURE__*/function(){function _class4(view){_classCallCheck(this,_class4);this.view=view;this.isDown=false;}_createClass(_class4,[{key:"set",value:function set(isDown){if(this.isDown!=isDown){this.isDown=isDown;this.view.update([]);}}}]);return _class4;}(),{eventObservers:{keydown:function keydown(e){this.set(e.keyCode==code||getter(e));},keyup:function keyup(e){if(e.keyCode==code||!getter(e))this.set(false);},mousemove:function mousemove(e){this.set(getter(e));}}});return[plugin,EditorView.contentAttributes.of(function(view){var _a2;return((_a2=view.plugin(plugin))===null||_a2===void 0?void 0:_a2.isDown)?showCrosshair:null;})];}var Outside="-10000px";var TooltipViewManager=/*#__PURE__*/function(){function TooltipViewManager(view,facet,createTooltipView,removeTooltipView){_classCallCheck(this,TooltipViewManager);this.facet=facet;this.createTooltipView=createTooltipView;this.removeTooltipView=removeTooltipView;this.input=view.state.facet(facet);this.tooltips=this.input.filter(function(t2){return t2;});var prev=null;this.tooltipViews=this.tooltips.map(function(t2){return prev=createTooltipView(t2,prev);});}_createClass(TooltipViewManager,[{key:"update",value:function update(_update13,above){var _a2;var input=_update13.state.facet(this.facet);var tooltips=input.filter(function(x){return x;});if(input===this.input){var _iterator106=_createForOfIteratorHelper(this.tooltipViews),_step106;try{for(_iterator106.s();!(_step106=_iterator106.n()).done;){var t2=_step106.value;if(t2.update)t2.update(_update13);}}catch(err){_iterator106.e(err);}finally{_iterator106.f();}return false;}var tooltipViews=[],newAbove=above?[]:null;for(var _i114=0;_i114<tooltips.length;_i114++){var tip=tooltips[_i114],known=-1;if(!tip)continue;for(var i2=0;i2<this.tooltips.length;i2++){var other=this.tooltips[i2];if(other&&other.create==tip.create)known=i2;}if(known<0){tooltipViews[_i114]=this.createTooltipView(tip,_i114?tooltipViews[_i114-1]:null);if(newAbove)newAbove[_i114]=!!tip.above;}else{var tooltipView=tooltipViews[_i114]=this.tooltipViews[known];if(newAbove)newAbove[_i114]=above[known];if(tooltipView.update)tooltipView.update(_update13);}}var _iterator107=_createForOfIteratorHelper(this.tooltipViews),_step107;try{for(_iterator107.s();!(_step107=_iterator107.n()).done;){var _t2=_step107.value;if(tooltipViews.indexOf(_t2)<0){this.removeTooltipView(_t2);(_a2=_t2.destroy)===null||_a2===void 0?void 0:_a2.call(_t2);}}}catch(err){_iterator107.e(err);}finally{_iterator107.f();}if(above){newAbove.forEach(function(val,i){return above[i]=val;});above.length=newAbove.length;}this.input=input;this.tooltips=tooltips;this.tooltipViews=tooltipViews;return true;}}]);return TooltipViewManager;}();function windowSpace(view){var win=view.win;return{top:0,left:0,bottom:win.innerHeight,right:win.innerWidth};}var tooltipConfig=/* @__PURE__ */Facet.define({combine:function combine(values){var _a2,_b,_c;return{position:browser.ios?"absolute":((_a2=values.find(function(conf){return conf.position;}))===null||_a2===void 0?void 0:_a2.position)||"fixed",parent:((_b=values.find(function(conf){return conf.parent;}))===null||_b===void 0?void 0:_b.parent)||null,tooltipSpace:((_c=values.find(function(conf){return conf.tooltipSpace;}))===null||_c===void 0?void 0:_c.tooltipSpace)||windowSpace};}});var knownHeight=/* @__PURE__ */new WeakMap();var tooltipPlugin=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class5(view){var _this56=this;_classCallCheck(this,_class5);this.view=view;this.above=[];this.inView=true;this.madeAbsolute=false;this.lastTransaction=0;this.measureTimeout=-1;var config2=view.state.facet(tooltipConfig);this.position=config2.position;this.parent=config2.parent;this.classes=view.themeClasses;this.createContainer();this.measureReq={read:this.readMeasure.bind(this),write:this.writeMeasure.bind(this),key:this};this.resizeObserver=typeof ResizeObserver=="function"?new ResizeObserver(function(){return _this56.measureSoon();}):null;this.manager=new TooltipViewManager(view,showTooltip,function(t2,p){return _this56.createTooltip(t2,p);},function(t2){if(_this56.resizeObserver)_this56.resizeObserver.unobserve(t2.dom);t2.dom.remove();});this.above=this.manager.tooltips.map(function(t2){return!!t2.above;});this.intersectionObserver=typeof IntersectionObserver=="function"?new IntersectionObserver(function(entries){if(Date.now()>_this56.lastTransaction-50&&entries.length>0&&entries[entries.length-1].intersectionRatio<1)_this56.measureSoon();},{threshold:[1]}):null;this.observeIntersection();view.win.addEventListener("resize",this.measureSoon=this.measureSoon.bind(this));this.maybeMeasure();}_createClass(_class5,[{key:"createContainer",value:function createContainer(){if(this.parent){this.container=document.createElement("div");this.container.style.position="relative";this.container.className=this.view.themeClasses;this.parent.appendChild(this.container);}else{this.container=this.view.dom;}}},{key:"observeIntersection",value:function observeIntersection(){if(this.intersectionObserver){this.intersectionObserver.disconnect();var _iterator108=_createForOfIteratorHelper(this.manager.tooltipViews),_step108;try{for(_iterator108.s();!(_step108=_iterator108.n()).done;){var tooltip=_step108.value;this.intersectionObserver.observe(tooltip.dom);}}catch(err){_iterator108.e(err);}finally{_iterator108.f();}}}},{key:"measureSoon",value:function measureSoon(){var _this57=this;if(this.measureTimeout<0)this.measureTimeout=setTimeout(function(){_this57.measureTimeout=-1;_this57.maybeMeasure();},50);}},{key:"update",value:function update(_update14){if(_update14.transactions.length)this.lastTransaction=Date.now();var updated=this.manager.update(_update14,this.above);if(updated)this.observeIntersection();var shouldMeasure=updated||_update14.geometryChanged;var newConfig=_update14.state.facet(tooltipConfig);if(newConfig.position!=this.position&&!this.madeAbsolute){this.position=newConfig.position;var _iterator109=_createForOfIteratorHelper(this.manager.tooltipViews),_step109;try{for(_iterator109.s();!(_step109=_iterator109.n()).done;){var t2=_step109.value;t2.dom.style.position=this.position;}}catch(err){_iterator109.e(err);}finally{_iterator109.f();}shouldMeasure=true;}if(newConfig.parent!=this.parent){if(this.parent)this.container.remove();this.parent=newConfig.parent;this.createContainer();var _iterator110=_createForOfIteratorHelper(this.manager.tooltipViews),_step110;try{for(_iterator110.s();!(_step110=_iterator110.n()).done;){var _t3=_step110.value;this.container.appendChild(_t3.dom);}}catch(err){_iterator110.e(err);}finally{_iterator110.f();}shouldMeasure=true;}else if(this.parent&&this.view.themeClasses!=this.classes){this.classes=this.container.className=this.view.themeClasses;}if(shouldMeasure)this.maybeMeasure();}},{key:"createTooltip",value:function createTooltip(tooltip,prev){var tooltipView=tooltip.create(this.view);var before=prev?prev.dom:null;tooltipView.dom.classList.add("cm-tooltip");if(tooltip.arrow&&!tooltipView.dom.querySelector(".cm-tooltip > .cm-tooltip-arrow")){var arrow=document.createElement("div");arrow.className="cm-tooltip-arrow";tooltipView.dom.insertBefore(arrow,before);}tooltipView.dom.style.position=this.position;tooltipView.dom.style.top=Outside;tooltipView.dom.style.left="0px";this.container.insertBefore(tooltipView.dom,before);if(tooltipView.mount)tooltipView.mount(this.view);if(this.resizeObserver)this.resizeObserver.observe(tooltipView.dom);return tooltipView;}},{key:"destroy",value:function destroy(){var _a2,_b,_c;this.view.win.removeEventListener("resize",this.measureSoon);var _iterator111=_createForOfIteratorHelper(this.manager.tooltipViews),_step111;try{for(_iterator111.s();!(_step111=_iterator111.n()).done;){var tooltipView=_step111.value;tooltipView.dom.remove();(_a2=tooltipView.destroy)===null||_a2===void 0?void 0:_a2.call(tooltipView);}}catch(err){_iterator111.e(err);}finally{_iterator111.f();}if(this.parent)this.container.remove();(_b=this.resizeObserver)===null||_b===void 0?void 0:_b.disconnect();(_c=this.intersectionObserver)===null||_c===void 0?void 0:_c.disconnect();clearTimeout(this.measureTimeout);}},{key:"readMeasure",value:function readMeasure(){var _this58=this;var editor=this.view.dom.getBoundingClientRect();var scaleX=1,scaleY=1,makeAbsolute=false;if(this.position=="fixed"&&this.manager.tooltipViews.length){var dom=this.manager.tooltipViews[0].dom;if(browser.gecko){makeAbsolute=dom.offsetParent!=this.container.ownerDocument.body;}else if(dom.style.top==Outside&&dom.style.left=="0px"){var rect=dom.getBoundingClientRect();makeAbsolute=Math.abs(rect.top+1e4)>1||Math.abs(rect.left)>1;}}if(makeAbsolute||this.position=="absolute"){if(this.parent){var _rect=this.parent.getBoundingClientRect();if(_rect.width&&_rect.height){scaleX=_rect.width/this.parent.offsetWidth;scaleY=_rect.height/this.parent.offsetHeight;}}else{var _this$view$viewState=this.view.viewState;scaleX=_this$view$viewState.scaleX;scaleY=_this$view$viewState.scaleY;}}return{editor:editor,parent:this.parent?this.container.getBoundingClientRect():editor,pos:this.manager.tooltips.map(function(t2,i){var tv=_this58.manager.tooltipViews[i];return tv.getCoords?tv.getCoords(t2.pos):_this58.view.coordsAtPos(t2.pos);}),size:this.manager.tooltipViews.map(function(_ref14){var dom=_ref14.dom;return dom.getBoundingClientRect();}),space:this.view.state.facet(tooltipConfig).tooltipSpace(this.view),scaleX:scaleX,scaleY:scaleY,makeAbsolute:makeAbsolute};}},{key:"writeMeasure",value:function writeMeasure(measured){var _a2;if(measured.makeAbsolute){this.madeAbsolute=true;this.position="absolute";var _iterator112=_createForOfIteratorHelper(this.manager.tooltipViews),_step112;try{for(_iterator112.s();!(_step112=_iterator112.n()).done;){var t2=_step112.value;t2.dom.style.position="absolute";}}catch(err){_iterator112.e(err);}finally{_iterator112.f();}}var editor=measured.editor,space=measured.space,scaleX=measured.scaleX,scaleY=measured.scaleY;var others=[];for(var _i115=0;_i115<this.manager.tooltips.length;_i115++){var tooltip=this.manager.tooltips[_i115],tView=this.manager.tooltipViews[_i115],dom=tView.dom;var pos=measured.pos[_i115],size=measured.size[_i115];if(!pos||pos.bottom<=Math.max(editor.top,space.top)||pos.top>=Math.min(editor.bottom,space.bottom)||pos.right<Math.max(editor.left,space.left)-0.1||pos.left>Math.min(editor.right,space.right)+0.1){dom.style.top=Outside;continue;}var arrow=tooltip.arrow?tView.dom.querySelector(".cm-tooltip-arrow"):null;var arrowHeight=arrow?7:0;var width=size.right-size.left,height=(_a2=knownHeight.get(tView))!==null&&_a2!==void 0?_a2:size.bottom-size.top;var offset=tView.offset||noOffset,ltr=this.view.textDirection==Direction.LTR;var left=size.width>space.right-space.left?ltr?space.left:space.right-size.width:ltr?Math.min(pos.left-(arrow?14:0)+offset.x,space.right-width):Math.max(space.left,pos.left-width+(arrow?14:0)-offset.x);var above=this.above[_i115];if(!tooltip.strictSide&&(above?pos.top-(size.bottom-size.top)-offset.y<space.top:pos.bottom+(size.bottom-size.top)+offset.y>space.bottom)&&above==space.bottom-pos.bottom>pos.top-space.top)above=this.above[_i115]=!above;var spaceVert=(above?pos.top-space.top:space.bottom-pos.bottom)-arrowHeight;if(spaceVert<height&&tView.resize!==false){if(spaceVert<this.view.defaultLineHeight){dom.style.top=Outside;continue;}knownHeight.set(tView,height);dom.style.height=(height=spaceVert)/scaleY+"px";}else if(dom.style.height){dom.style.height="";}var top2=above?pos.top-height-arrowHeight-offset.y:pos.bottom+arrowHeight+offset.y;var right=left+width;if(tView.overlap!==true){var _iterator113=_createForOfIteratorHelper(others),_step113;try{for(_iterator113.s();!(_step113=_iterator113.n()).done;){var _r5=_step113.value;if(_r5.left<right&&_r5.right>left&&_r5.top<top2+height&&_r5.bottom>top2)top2=above?_r5.top-height-2-arrowHeight:_r5.bottom+arrowHeight+2;}}catch(err){_iterator113.e(err);}finally{_iterator113.f();}}if(this.position=="absolute"){dom.style.top=(top2-measured.parent.top)/scaleY+"px";dom.style.left=(left-measured.parent.left)/scaleX+"px";}else{dom.style.top=top2/scaleY+"px";dom.style.left=left/scaleX+"px";}if(arrow){var arrowLeft=pos.left+(ltr?offset.x:-offset.x)-(left+14-7);arrow.style.left=arrowLeft/scaleX+"px";}if(tView.overlap!==true)others.push({left:left,top:top2,right:right,bottom:top2+height});dom.classList.toggle("cm-tooltip-above",above);dom.classList.toggle("cm-tooltip-below",!above);if(tView.positioned)tView.positioned(measured.space);}}},{key:"maybeMeasure",value:function maybeMeasure(){if(this.manager.tooltips.length){if(this.view.inView)this.view.requestMeasure(this.measureReq);if(this.inView!=this.view.inView){this.inView=this.view.inView;if(!this.inView){var _iterator114=_createForOfIteratorHelper(this.manager.tooltipViews),_step114;try{for(_iterator114.s();!(_step114=_iterator114.n()).done;){var tv=_step114.value;tv.dom.style.top=Outside;}}catch(err){_iterator114.e(err);}finally{_iterator114.f();}}}}}}]);return _class5;}(),{eventObservers:{scroll:function scroll(){this.maybeMeasure();}}});var baseTheme=/* @__PURE__ */EditorView.baseTheme({".cm-tooltip":{zIndex:100,boxSizing:"border-box"},"&light .cm-tooltip":{border:"1px solid #bbb",backgroundColor:"#f5f5f5"},"&light .cm-tooltip-section:not(:first-child)":{borderTop:"1px solid #bbb"},"&dark .cm-tooltip":{backgroundColor:"#333338",color:"white"},".cm-tooltip-arrow":{height:"".concat(7,"px"),width:"".concat(7*2,"px"),position:"absolute",zIndex:-1,overflow:"hidden","&:before, &:after":{content:"''",position:"absolute",width:0,height:0,borderLeft:"".concat(7,"px solid transparent"),borderRight:"".concat(7,"px solid transparent")},".cm-tooltip-above &":{bottom:"-".concat(7,"px"),"&:before":{borderTop:"".concat(7,"px solid #bbb")},"&:after":{borderTop:"".concat(7,"px solid #f5f5f5"),bottom:"1px"}},".cm-tooltip-below &":{top:"-".concat(7,"px"),"&:before":{borderBottom:"".concat(7,"px solid #bbb")},"&:after":{borderBottom:"".concat(7,"px solid #f5f5f5"),top:"1px"}}},"&dark .cm-tooltip .cm-tooltip-arrow":{"&:before":{borderTopColor:"#333338",borderBottomColor:"#333338"},"&:after":{borderTopColor:"transparent",borderBottomColor:"transparent"}}});var noOffset={x:0,y:0};var showTooltip=/* @__PURE__ */Facet.define({enables:[tooltipPlugin,baseTheme]});var showHoverTooltip=/* @__PURE__ */Facet.define({combine:function combine(inputs){return inputs.reduce(function(a,i){return a.concat(i);},[]);}});var HoverTooltipHost=/*#__PURE__*/function(){function HoverTooltipHost(view){var _this59=this;_classCallCheck(this,HoverTooltipHost);this.view=view;this.mounted=false;this.dom=document.createElement("div");this.dom.classList.add("cm-tooltip-hover");this.manager=new TooltipViewManager(view,showHoverTooltip,function(t2,p){return _this59.createHostedView(t2,p);},function(t2){return t2.dom.remove();});}_createClass(HoverTooltipHost,[{key:"createHostedView",value:function createHostedView(tooltip,prev){var hostedView=tooltip.create(this.view);hostedView.dom.classList.add("cm-tooltip-section");this.dom.insertBefore(hostedView.dom,prev?prev.dom.nextSibling:this.dom.firstChild);if(this.mounted&&hostedView.mount)hostedView.mount(this.view);return hostedView;}},{key:"mount",value:function mount(view){var _iterator115=_createForOfIteratorHelper(this.manager.tooltipViews),_step115;try{for(_iterator115.s();!(_step115=_iterator115.n()).done;){var hostedView=_step115.value;if(hostedView.mount)hostedView.mount(view);}}catch(err){_iterator115.e(err);}finally{_iterator115.f();}this.mounted=true;}},{key:"positioned",value:function positioned(space){var _iterator116=_createForOfIteratorHelper(this.manager.tooltipViews),_step116;try{for(_iterator116.s();!(_step116=_iterator116.n()).done;){var hostedView=_step116.value;if(hostedView.positioned)hostedView.positioned(space);}}catch(err){_iterator116.e(err);}finally{_iterator116.f();}}},{key:"update",value:function update(_update15){this.manager.update(_update15);}},{key:"destroy",value:function destroy(){var _a2;var _iterator117=_createForOfIteratorHelper(this.manager.tooltipViews),_step117;try{for(_iterator117.s();!(_step117=_iterator117.n()).done;){var t2=_step117.value;(_a2=t2.destroy)===null||_a2===void 0?void 0:_a2.call(t2);}}catch(err){_iterator117.e(err);}finally{_iterator117.f();}}},{key:"passProp",value:function passProp(name2){var value=void 0;var _iterator118=_createForOfIteratorHelper(this.manager.tooltipViews),_step118;try{for(_iterator118.s();!(_step118=_iterator118.n()).done;){var view=_step118.value;var given=view[name2];if(given!==void 0){if(value===void 0)value=given;else if(value!==given)return void 0;}}}catch(err){_iterator118.e(err);}finally{_iterator118.f();}return value;}},{key:"offset",get:function get(){return this.passProp("offset");}},{key:"getCoords",get:function get(){return this.passProp("getCoords");}},{key:"overlap",get:function get(){return this.passProp("overlap");}},{key:"resize",get:function get(){return this.passProp("resize");}}],[{key:"create",value:function create(view){return new HoverTooltipHost(view);}}]);return HoverTooltipHost;}();var showHoverTooltipHost=/* @__PURE__ */showTooltip.compute([showHoverTooltip],function(state){var tooltips=state.facet(showHoverTooltip);if(tooltips.length===0)return null;return{pos:Math.min.apply(Math,_toConsumableArray(tooltips.map(function(t2){return t2.pos;}))),end:Math.max.apply(Math,_toConsumableArray(tooltips.map(function(t2){var _a2;return(_a2=t2.end)!==null&&_a2!==void 0?_a2:t2.pos;}))),create:HoverTooltipHost.create,above:tooltips[0].above,arrow:tooltips.some(function(t2){return t2.arrow;})};});var HoverPlugin=/*#__PURE__*/function(){function HoverPlugin(view,source,field,setHover,hoverTime){_classCallCheck(this,HoverPlugin);this.view=view;this.source=source;this.field=field;this.setHover=setHover;this.hoverTime=hoverTime;this.hoverTimeout=-1;this.restartTimeout=-1;this.pending=null;this.lastMove={x:0,y:0,target:view.dom,time:0};this.checkHover=this.checkHover.bind(this);view.dom.addEventListener("mouseleave",this.mouseleave=this.mouseleave.bind(this));view.dom.addEventListener("mousemove",this.mousemove=this.mousemove.bind(this));}_createClass(HoverPlugin,[{key:"update",value:function update(){var _this60=this;if(this.pending){this.pending=null;clearTimeout(this.restartTimeout);this.restartTimeout=setTimeout(function(){return _this60.startHover();},20);}}},{key:"active",get:function get(){return this.view.state.field(this.field);}},{key:"checkHover",value:function checkHover(){this.hoverTimeout=-1;if(this.active.length)return;var hovered=Date.now()-this.lastMove.time;if(hovered<this.hoverTime)this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime-hovered);else this.startHover();}},{key:"startHover",value:function startHover(){var _this61=this;clearTimeout(this.restartTimeout);var view=this.view,lastMove=this.lastMove;var desc=view.docView.nearest(lastMove.target);if(!desc)return;var pos,side=1;if(desc instanceof WidgetView){pos=desc.posAtStart;}else{pos=view.posAtCoords(lastMove);if(pos==null)return;var posCoords=view.coordsAtPos(pos);if(!posCoords||lastMove.y<posCoords.top||lastMove.y>posCoords.bottom||lastMove.x<posCoords.left-view.defaultCharacterWidth||lastMove.x>posCoords.right+view.defaultCharacterWidth)return;var bidi=view.bidiSpans(view.state.doc.lineAt(pos)).find(function(s){return s.from<=pos&&s.to>=pos;});var rtl=bidi&&bidi.dir==Direction.RTL?-1:1;side=lastMove.x<posCoords.left?-rtl:rtl;}var open=this.source(view,pos,side);if(open===null||open===void 0?void 0:open.then){var pending=this.pending={pos:pos};open.then(function(result){if(_this61.pending==pending){_this61.pending=null;if(result&&!(Array.isArray(result)&&!result.length))view.dispatch({effects:_this61.setHover.of(Array.isArray(result)?result:[result])});}},function(e){return logException(view.state,e,"hover tooltip");});}else if(open&&!(Array.isArray(open)&&!open.length)){view.dispatch({effects:this.setHover.of(Array.isArray(open)?open:[open])});}}},{key:"tooltip",get:function get(){var plugin=this.view.plugin(tooltipPlugin);var index=plugin?plugin.manager.tooltips.findIndex(function(t2){return t2.create==HoverTooltipHost.create;}):-1;return index>-1?plugin.manager.tooltipViews[index]:null;}},{key:"mousemove",value:function mousemove(event){var _a2,_b;this.lastMove={x:event.clientX,y:event.clientY,target:event.target,time:Date.now()};if(this.hoverTimeout<0)this.hoverTimeout=setTimeout(this.checkHover,this.hoverTime);var active=this.active,tooltip=this.tooltip;if(active.length&&tooltip&&!isInTooltip(tooltip.dom,event)||this.pending){var _ref15=active[0]||this.pending,pos=_ref15.pos,end=(_b=(_a2=active[0])===null||_a2===void 0?void 0:_a2.end)!==null&&_b!==void 0?_b:pos;if(pos==end?this.view.posAtCoords(this.lastMove)!=pos:!isOverRange(this.view,pos,end,event.clientX,event.clientY)){this.view.dispatch({effects:this.setHover.of([])});this.pending=null;}}}},{key:"mouseleave",value:function mouseleave(event){clearTimeout(this.hoverTimeout);this.hoverTimeout=-1;var active=this.active;if(active.length){var tooltip=this.tooltip;var inTooltip=tooltip&&tooltip.dom.contains(event.relatedTarget);if(!inTooltip)this.view.dispatch({effects:this.setHover.of([])});else this.watchTooltipLeave(tooltip.dom);}}},{key:"watchTooltipLeave",value:function watchTooltipLeave(tooltip){var _this62=this;var watch=function watch(event){tooltip.removeEventListener("mouseleave",watch);if(_this62.active.length&&!_this62.view.dom.contains(event.relatedTarget))_this62.view.dispatch({effects:_this62.setHover.of([])});};tooltip.addEventListener("mouseleave",watch);}},{key:"destroy",value:function destroy(){clearTimeout(this.hoverTimeout);this.view.dom.removeEventListener("mouseleave",this.mouseleave);this.view.dom.removeEventListener("mousemove",this.mousemove);}}]);return HoverPlugin;}();var tooltipMargin=4;function isInTooltip(tooltip,event){var rect=tooltip.getBoundingClientRect();return event.clientX>=rect.left-tooltipMargin&&event.clientX<=rect.right+tooltipMargin&&event.clientY>=rect.top-tooltipMargin&&event.clientY<=rect.bottom+tooltipMargin;}function isOverRange(view,from,to,x,y,margin){var rect=view.scrollDOM.getBoundingClientRect();var docBottom=view.documentTop+view.documentPadding.top+view.contentHeight;if(rect.left>x||rect.right<x||rect.top>y||Math.min(rect.bottom,docBottom)<y)return false;var pos=view.posAtCoords({x:x,y:y},false);return pos>=from&&pos<=to;}function hoverTooltip(source){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var setHover=StateEffect.define();var hoverState=StateField.define({create:function create(){return[];},update:function update(value,tr){if(value.length){if(options.hideOnChange&&(tr.docChanged||tr.selection))value=[];else if(options.hideOn)value=value.filter(function(v){return!options.hideOn(tr,v);});if(tr.docChanged){var mapped=[];var _iterator119=_createForOfIteratorHelper(value),_step119;try{for(_iterator119.s();!(_step119=_iterator119.n()).done;){var tooltip=_step119.value;var newPos=tr.changes.mapPos(tooltip.pos,-1,MapMode.TrackDel);if(newPos!=null){var copy=Object.assign(/* @__PURE__ */Object.create(null),tooltip);copy.pos=newPos;if(copy.end!=null)copy.end=tr.changes.mapPos(copy.end);mapped.push(copy);}}}catch(err){_iterator119.e(err);}finally{_iterator119.f();}value=mapped;}}var _iterator120=_createForOfIteratorHelper(tr.effects),_step120;try{for(_iterator120.s();!(_step120=_iterator120.n()).done;){var effect=_step120.value;if(effect.is(setHover))value=effect.value;if(effect.is(closeHoverTooltipEffect))value=[];}}catch(err){_iterator120.e(err);}finally{_iterator120.f();}return value;},provide:function provide(f){return showHoverTooltip.from(f);}});return[hoverState,ViewPlugin.define(function(view){return new HoverPlugin(view,source,hoverState,setHover,options.hoverTime||300);}),showHoverTooltipHost];}function getTooltip(view,tooltip){var plugin=view.plugin(tooltipPlugin);if(!plugin)return null;var found=plugin.manager.tooltips.indexOf(tooltip);return found<0?null:plugin.manager.tooltipViews[found];}var closeHoverTooltipEffect=/* @__PURE__ */StateEffect.define();var panelConfig=/* @__PURE__ */Facet.define({combine:function combine(configs){var topContainer,bottomContainer;var _iterator121=_createForOfIteratorHelper(configs),_step121;try{for(_iterator121.s();!(_step121=_iterator121.n()).done;){var c=_step121.value;topContainer=topContainer||c.topContainer;bottomContainer=bottomContainer||c.bottomContainer;}}catch(err){_iterator121.e(err);}finally{_iterator121.f();}return{topContainer:topContainer,bottomContainer:bottomContainer};}});function getPanel(view,panel){var plugin=view.plugin(panelPlugin);var index=plugin?plugin.specs.indexOf(panel):-1;return index>-1?plugin.panels[index]:null;}var panelPlugin=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class6(view){_classCallCheck(this,_class6);this.input=view.state.facet(showPanel);this.specs=this.input.filter(function(s){return s;});this.panels=this.specs.map(function(spec){return spec(view);});var conf=view.state.facet(panelConfig);this.top=new PanelGroup(view,true,conf.topContainer);this.bottom=new PanelGroup(view,false,conf.bottomContainer);this.top.sync(this.panels.filter(function(p){return p.top;}));this.bottom.sync(this.panels.filter(function(p){return!p.top;}));var _iterator122=_createForOfIteratorHelper(this.panels),_step122;try{for(_iterator122.s();!(_step122=_iterator122.n()).done;){var _p2=_step122.value;_p2.dom.classList.add("cm-panel");if(_p2.mount)_p2.mount();}}catch(err){_iterator122.e(err);}finally{_iterator122.f();}}_createClass(_class6,[{key:"update",value:function update(_update16){var conf=_update16.state.facet(panelConfig);if(this.top.container!=conf.topContainer){this.top.sync([]);this.top=new PanelGroup(_update16.view,true,conf.topContainer);}if(this.bottom.container!=conf.bottomContainer){this.bottom.sync([]);this.bottom=new PanelGroup(_update16.view,false,conf.bottomContainer);}this.top.syncClasses();this.bottom.syncClasses();var input=_update16.state.facet(showPanel);if(input!=this.input){var specs=input.filter(function(x){return x;});var panels=[],top2=[],bottom=[],mount=[];var _iterator123=_createForOfIteratorHelper(specs),_step123;try{for(_iterator123.s();!(_step123=_iterator123.n()).done;){var spec=_step123.value;var known=this.specs.indexOf(spec),panel=void 0;if(known<0){panel=spec(_update16.view);mount.push(panel);}else{panel=this.panels[known];if(panel.update)panel.update(_update16);}panels.push(panel);(panel.top?top2:bottom).push(panel);}}catch(err){_iterator123.e(err);}finally{_iterator123.f();}this.specs=specs;this.panels=panels;this.top.sync(top2);this.bottom.sync(bottom);for(var _i116=0,_mount=mount;_i116<_mount.length;_i116++){var _p3=_mount[_i116];_p3.dom.classList.add("cm-panel");if(_p3.mount)_p3.mount();}}else{var _iterator124=_createForOfIteratorHelper(this.panels),_step124;try{for(_iterator124.s();!(_step124=_iterator124.n()).done;){var _p4=_step124.value;if(_p4.update)_p4.update(_update16);}}catch(err){_iterator124.e(err);}finally{_iterator124.f();}}}},{key:"destroy",value:function destroy(){this.top.sync([]);this.bottom.sync([]);}}]);return _class6;}(),{provide:function provide(plugin){return EditorView.scrollMargins.of(function(view){var value=view.plugin(plugin);return value&&{top:value.top.scrollMargin(),bottom:value.bottom.scrollMargin()};});}});var PanelGroup=/*#__PURE__*/function(){function PanelGroup(view,top2,container){_classCallCheck(this,PanelGroup);this.view=view;this.top=top2;this.container=container;this.dom=void 0;this.classes="";this.panels=[];this.syncClasses();}_createClass(PanelGroup,[{key:"sync",value:function sync(panels){var _iterator125=_createForOfIteratorHelper(this.panels),_step125;try{for(_iterator125.s();!(_step125=_iterator125.n()).done;){var _p5=_step125.value;if(_p5.destroy&&panels.indexOf(_p5)<0)_p5.destroy();}}catch(err){_iterator125.e(err);}finally{_iterator125.f();}this.panels=panels;this.syncDOM();}},{key:"syncDOM",value:function syncDOM(){if(this.panels.length==0){if(this.dom){this.dom.remove();this.dom=void 0;}return;}if(!this.dom){this.dom=document.createElement("div");this.dom.className=this.top?"cm-panels cm-panels-top":"cm-panels cm-panels-bottom";this.dom.style[this.top?"top":"bottom"]="0";var parent=this.container||this.view.dom;parent.insertBefore(this.dom,this.top?parent.firstChild:null);}var curDOM=this.dom.firstChild;var _iterator126=_createForOfIteratorHelper(this.panels),_step126;try{for(_iterator126.s();!(_step126=_iterator126.n()).done;){var panel=_step126.value;if(panel.dom.parentNode==this.dom){while(curDOM!=panel.dom){curDOM=rm(curDOM);}curDOM=curDOM.nextSibling;}else{this.dom.insertBefore(panel.dom,curDOM);}}}catch(err){_iterator126.e(err);}finally{_iterator126.f();}while(curDOM){curDOM=rm(curDOM);}}},{key:"scrollMargin",value:function scrollMargin(){return!this.dom||this.container?0:Math.max(0,this.top?this.dom.getBoundingClientRect().bottom-Math.max(0,this.view.scrollDOM.getBoundingClientRect().top):Math.min(innerHeight,this.view.scrollDOM.getBoundingClientRect().bottom)-this.dom.getBoundingClientRect().top);}},{key:"syncClasses",value:function syncClasses(){if(!this.container||this.classes==this.view.themeClasses)return;var _iterator127=_createForOfIteratorHelper(this.classes.split(" ")),_step127;try{for(_iterator127.s();!(_step127=_iterator127.n()).done;){var cls=_step127.value;if(cls)this.container.classList.remove(cls);}}catch(err){_iterator127.e(err);}finally{_iterator127.f();}var _iterator128=_createForOfIteratorHelper((this.classes=this.view.themeClasses).split(" ")),_step128;try{for(_iterator128.s();!(_step128=_iterator128.n()).done;){var _cls=_step128.value;if(_cls)this.container.classList.add(_cls);}}catch(err){_iterator128.e(err);}finally{_iterator128.f();}}}]);return PanelGroup;}();function rm(node){var next=node.nextSibling;node.remove();return next;}var showPanel=/* @__PURE__ */Facet.define({enables:panelPlugin});var GutterMarker=/*#__PURE__*/function(_RangeValue2){_inherits(GutterMarker,_RangeValue2);var _super24=_createSuper(GutterMarker);function GutterMarker(){_classCallCheck(this,GutterMarker);return _super24.apply(this,arguments);}_createClass(GutterMarker,[{key:"compare",value:function compare(other){return this==other||this.constructor==other.constructor&&this.eq(other);}},{key:"eq",value:function eq(other){return false;}},{key:"destroy",value:function destroy(dom){}}]);return GutterMarker;}(RangeValue);GutterMarker.prototype.elementClass="";GutterMarker.prototype.toDOM=void 0;GutterMarker.prototype.mapMode=MapMode.TrackBefore;GutterMarker.prototype.startSide=GutterMarker.prototype.endSide=-1;GutterMarker.prototype.point=true;var gutterLineClass=/* @__PURE__ */Facet.define();var defaults={"class":"",renderEmptyElements:false,elementStyle:"",markers:function markers(){return RangeSet.empty;},lineMarker:function lineMarker(){return null;},widgetMarker:function widgetMarker(){return null;},lineMarkerChange:null,initialSpacer:null,updateSpacer:null,domEventHandlers:{}};var activeGutters=/* @__PURE__ */Facet.define();function gutter(config2){return[gutters(),activeGutters.of(Object.assign(Object.assign({},defaults),config2))];}var unfixGutters=/* @__PURE__ */Facet.define({combine:function combine(values){return values.some(function(x){return x;});}});function gutters(config2){var result=[gutterView];if(config2&&config2.fixed===false)result.push(unfixGutters.of(true));return result;}var gutterView=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class7(view){_classCallCheck(this,_class7);this.view=view;this.prevViewport=view.viewport;this.dom=document.createElement("div");this.dom.className="cm-gutters";this.dom.setAttribute("aria-hidden","true");this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px";this.gutters=view.state.facet(activeGutters).map(function(conf){return new SingleGutterView(view,conf);});var _iterator129=_createForOfIteratorHelper(this.gutters),_step129;try{for(_iterator129.s();!(_step129=_iterator129.n()).done;){var gutter2=_step129.value;this.dom.appendChild(gutter2.dom);}}catch(err){_iterator129.e(err);}finally{_iterator129.f();}this.fixed=!view.state.facet(unfixGutters);if(this.fixed){this.dom.style.position="sticky";}this.syncGutters(false);view.scrollDOM.insertBefore(this.dom,view.contentDOM);}_createClass(_class7,[{key:"update",value:function update(_update17){if(this.updateGutters(_update17)){var vpA=this.prevViewport,vpB=_update17.view.viewport;var vpOverlap=Math.min(vpA.to,vpB.to)-Math.max(vpA.from,vpB.from);this.syncGutters(vpOverlap<(vpB.to-vpB.from)*0.8);}if(_update17.geometryChanged){this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px";}if(this.view.state.facet(unfixGutters)!=!this.fixed){this.fixed=!this.fixed;this.dom.style.position=this.fixed?"sticky":"";}this.prevViewport=_update17.view.viewport;}},{key:"syncGutters",value:function syncGutters(detach){var _this63=this;var after=this.dom.nextSibling;if(detach)this.dom.remove();var lineClasses=RangeSet.iter(this.view.state.facet(gutterLineClass),this.view.viewport.from);var classSet=[];var contexts=this.gutters.map(function(gutter2){return new UpdateContext(gutter2,_this63.view.viewport,-_this63.view.documentPadding.top);});var _iterator130=_createForOfIteratorHelper(this.view.viewportLineBlocks),_step130;try{for(_iterator130.s();!(_step130=_iterator130.n()).done;){var line=_step130.value;if(classSet.length)classSet=[];if(Array.isArray(line.type)){var first=true;var _iterator132=_createForOfIteratorHelper(line.type),_step132;try{for(_iterator132.s();!(_step132=_iterator132.n()).done;){var b=_step132.value;if(b.type==BlockType.Text&&first){advanceCursor(lineClasses,classSet,b.from);var _iterator133=_createForOfIteratorHelper(contexts),_step133;try{for(_iterator133.s();!(_step133=_iterator133.n()).done;){var cx=_step133.value;cx.line(this.view,b,classSet);}}catch(err){_iterator133.e(err);}finally{_iterator133.f();}first=false;}else if(b.widget){var _iterator134=_createForOfIteratorHelper(contexts),_step134;try{for(_iterator134.s();!(_step134=_iterator134.n()).done;){var _cx=_step134.value;_cx.widget(this.view,b);}}catch(err){_iterator134.e(err);}finally{_iterator134.f();}}}}catch(err){_iterator132.e(err);}finally{_iterator132.f();}}else if(line.type==BlockType.Text){advanceCursor(lineClasses,classSet,line.from);var _iterator135=_createForOfIteratorHelper(contexts),_step135;try{for(_iterator135.s();!(_step135=_iterator135.n()).done;){var _cx2=_step135.value;_cx2.line(this.view,line,classSet);}}catch(err){_iterator135.e(err);}finally{_iterator135.f();}}else if(line.widget){var _iterator136=_createForOfIteratorHelper(contexts),_step136;try{for(_iterator136.s();!(_step136=_iterator136.n()).done;){var _cx3=_step136.value;_cx3.widget(this.view,line);}}catch(err){_iterator136.e(err);}finally{_iterator136.f();}}}}catch(err){_iterator130.e(err);}finally{_iterator130.f();}var _iterator131=_createForOfIteratorHelper(contexts),_step131;try{for(_iterator131.s();!(_step131=_iterator131.n()).done;){var _cx4=_step131.value;_cx4.finish();}}catch(err){_iterator131.e(err);}finally{_iterator131.f();}if(detach)this.view.scrollDOM.insertBefore(this.dom,after);}},{key:"updateGutters",value:function updateGutters(update){var prev=update.startState.facet(activeGutters),cur2=update.state.facet(activeGutters);var change=update.docChanged||update.heightChanged||update.viewportChanged||!RangeSet.eq(update.startState.facet(gutterLineClass),update.state.facet(gutterLineClass),update.view.viewport.from,update.view.viewport.to);if(prev==cur2){var _iterator137=_createForOfIteratorHelper(this.gutters),_step137;try{for(_iterator137.s();!(_step137=_iterator137.n()).done;){var gutter2=_step137.value;if(gutter2.update(update))change=true;}}catch(err){_iterator137.e(err);}finally{_iterator137.f();}}else{change=true;var gutters2=[];var _iterator138=_createForOfIteratorHelper(cur2),_step138;try{for(_iterator138.s();!(_step138=_iterator138.n()).done;){var conf=_step138.value;var known=prev.indexOf(conf);if(known<0){gutters2.push(new SingleGutterView(this.view,conf));}else{this.gutters[known].update(update);gutters2.push(this.gutters[known]);}}}catch(err){_iterator138.e(err);}finally{_iterator138.f();}var _iterator139=_createForOfIteratorHelper(this.gutters),_step139;try{for(_iterator139.s();!(_step139=_iterator139.n()).done;){var _g=_step139.value;_g.dom.remove();if(gutters2.indexOf(_g)<0)_g.destroy();}}catch(err){_iterator139.e(err);}finally{_iterator139.f();}for(var _i117=0,_gutters=gutters2;_i117<_gutters.length;_i117++){var g=_gutters[_i117];this.dom.appendChild(g.dom);}this.gutters=gutters2;}return change;}},{key:"destroy",value:function destroy(){var _iterator140=_createForOfIteratorHelper(this.gutters),_step140;try{for(_iterator140.s();!(_step140=_iterator140.n()).done;){var view=_step140.value;view.destroy();}}catch(err){_iterator140.e(err);}finally{_iterator140.f();}this.dom.remove();}}]);return _class7;}(),{provide:function provide(plugin){return EditorView.scrollMargins.of(function(view){var value=view.plugin(plugin);if(!value||value.gutters.length==0||!value.fixed)return null;return view.textDirection==Direction.LTR?{left:value.dom.offsetWidth*view.scaleX}:{right:value.dom.offsetWidth*view.scaleX};});}});function asArray2(val){return Array.isArray(val)?val:[val];}function advanceCursor(cursor,collect,pos){while(cursor.value&&cursor.from<=pos){if(cursor.from==pos)collect.push(cursor.value);cursor.next();}}var UpdateContext=/*#__PURE__*/function(){function UpdateContext(gutter2,viewport,height){_classCallCheck(this,UpdateContext);this.gutter=gutter2;this.height=height;this.i=0;this.cursor=RangeSet.iter(gutter2.markers,viewport.from);}_createClass(UpdateContext,[{key:"addElement",value:function addElement(view,block,markers){var gutter2=this.gutter,above=(block.top-this.height)/view.scaleY,height=block.height/view.scaleY;if(this.i==gutter2.elements.length){var newElt=new GutterElement(view,height,above,markers);gutter2.elements.push(newElt);gutter2.dom.appendChild(newElt.dom);}else{gutter2.elements[this.i].update(view,height,above,markers);}this.height=block.bottom;this.i++;}},{key:"line",value:function line(view,_line3,extraMarkers){var localMarkers=[];advanceCursor(this.cursor,localMarkers,_line3.from);if(extraMarkers.length)localMarkers=localMarkers.concat(extraMarkers);var forLine=this.gutter.config.lineMarker(view,_line3,localMarkers);if(forLine)localMarkers.unshift(forLine);var gutter2=this.gutter;if(localMarkers.length==0&&!gutter2.config.renderEmptyElements)return;this.addElement(view,_line3,localMarkers);}},{key:"widget",value:function widget(view,block){var marker=this.gutter.config.widgetMarker(view,block.widget,block);if(marker)this.addElement(view,block,[marker]);}},{key:"finish",value:function finish(){var gutter2=this.gutter;while(gutter2.elements.length>this.i){var last=gutter2.elements.pop();gutter2.dom.removeChild(last.dom);last.destroy();}}}]);return UpdateContext;}();var SingleGutterView=/*#__PURE__*/function(){function SingleGutterView(view,config2){var _this64=this;_classCallCheck(this,SingleGutterView);this.view=view;this.config=config2;this.elements=[];this.spacer=null;this.dom=document.createElement("div");this.dom.className="cm-gutter"+(this.config["class"]?" "+this.config["class"]:"");var _loop8=function _loop8(prop){_this64.dom.addEventListener(prop,function(event){var target=event.target,y;if(target!=_this64.dom&&_this64.dom.contains(target)){while(target.parentNode!=_this64.dom){target=target.parentNode;}var rect=target.getBoundingClientRect();y=(rect.top+rect.bottom)/2;}else{y=event.clientY;}var line=view.lineBlockAtHeight(y-view.documentTop);if(config2.domEventHandlers[prop](view,line,event))event.preventDefault();});};for(var prop in config2.domEventHandlers){_loop8(prop);}this.markers=asArray2(config2.markers(view));if(config2.initialSpacer){this.spacer=new GutterElement(view,0,0,[config2.initialSpacer(view)]);this.dom.appendChild(this.spacer.dom);this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none";}}_createClass(SingleGutterView,[{key:"update",value:function update(_update18){var prevMarkers=this.markers;this.markers=asArray2(this.config.markers(_update18.view));if(this.spacer&&this.config.updateSpacer){var updated=this.config.updateSpacer(this.spacer.markers[0],_update18);if(updated!=this.spacer.markers[0])this.spacer.update(_update18.view,0,0,[updated]);}var vp=_update18.view.viewport;return!RangeSet.eq(this.markers,prevMarkers,vp.from,vp.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(_update18):false);}},{key:"destroy",value:function destroy(){var _iterator141=_createForOfIteratorHelper(this.elements),_step141;try{for(_iterator141.s();!(_step141=_iterator141.n()).done;){var elt=_step141.value;elt.destroy();}}catch(err){_iterator141.e(err);}finally{_iterator141.f();}}}]);return SingleGutterView;}();var GutterElement=/*#__PURE__*/function(){function GutterElement(view,height,above,markers){_classCallCheck(this,GutterElement);this.height=-1;this.above=0;this.markers=[];this.dom=document.createElement("div");this.dom.className="cm-gutterElement";this.update(view,height,above,markers);}_createClass(GutterElement,[{key:"update",value:function update(view,height,above,markers){if(this.height!=height){this.height=height;this.dom.style.height=height+"px";}if(this.above!=above)this.dom.style.marginTop=(this.above=above)?above+"px":"";if(!sameMarkers(this.markers,markers))this.setMarkers(view,markers);}},{key:"setMarkers",value:function setMarkers(view,markers){var cls="cm-gutterElement",domPos=this.dom.firstChild;for(var iNew=0,iOld=0;;){var skipTo=iOld,marker=iNew<markers.length?markers[iNew++]:null,matched=false;if(marker){var c=marker.elementClass;if(c)cls+=" "+c;for(var _i118=iOld;_i118<this.markers.length;_i118++){if(this.markers[_i118].compare(marker)){skipTo=_i118;matched=true;break;}}}else{skipTo=this.markers.length;}while(iOld<skipTo){var next=this.markers[iOld++];if(next.toDOM){next.destroy(domPos);var after=domPos.nextSibling;domPos.remove();domPos=after;}}if(!marker)break;if(marker.toDOM){if(matched)domPos=domPos.nextSibling;else this.dom.insertBefore(marker.toDOM(view),domPos);}if(matched)iOld++;}this.dom.className=cls;this.markers=markers;}},{key:"destroy",value:function destroy(){this.setMarkers(null,[]);}}]);return GutterElement;}();function sameMarkers(a,b){if(a.length!=b.length)return false;for(var _i119=0;_i119<a.length;_i119++){if(!a[_i119].compare(b[_i119]))return false;}return true;}var lineNumberMarkers=/* @__PURE__ */Facet.define();var lineNumberConfig=/* @__PURE__ */Facet.define({combine:function combine(values){return combineConfig(values,{formatNumber:String,domEventHandlers:{}},{domEventHandlers:function domEventHandlers(a,b){var result=Object.assign({},a);var _loop9=function _loop9(event){var exists=result[event],add2=b[event];result[event]=exists?function(view,line,event2){return exists(view,line,event2)||add2(view,line,event2);}:add2;};for(var event in b){_loop9(event);}return result;}});}});var NumberMarker=/*#__PURE__*/function(_GutterMarker){_inherits(NumberMarker,_GutterMarker);var _super25=_createSuper(NumberMarker);function NumberMarker(number2){var _this65;_classCallCheck(this,NumberMarker);_this65=_super25.call(this);_this65.number=number2;return _this65;}_createClass(NumberMarker,[{key:"eq",value:function eq(other){return this.number==other.number;}},{key:"toDOM",value:function toDOM(){return document.createTextNode(this.number);}}]);return NumberMarker;}(GutterMarker);function formatNumber(view,number2){return view.state.facet(lineNumberConfig).formatNumber(number2,view.state);}var lineNumberGutter=/* @__PURE__ */activeGutters.compute([lineNumberConfig],function(state){return{"class":"cm-lineNumbers",renderEmptyElements:false,markers:function markers(view){return view.state.facet(lineNumberMarkers);},lineMarker:function lineMarker(view,line,others){if(others.some(function(m){return m.toDOM;}))return null;return new NumberMarker(formatNumber(view,view.state.doc.lineAt(line.from).number));},widgetMarker:function widgetMarker(){return null;},lineMarkerChange:function lineMarkerChange(update){return update.startState.facet(lineNumberConfig)!=update.state.facet(lineNumberConfig);},initialSpacer:function initialSpacer(view){return new NumberMarker(formatNumber(view,maxLineNumber(view.state.doc.lines)));},updateSpacer:function updateSpacer(spacer,update){var max=formatNumber(update.view,maxLineNumber(update.view.state.doc.lines));return max==spacer.number?spacer:new NumberMarker(max);},domEventHandlers:state.facet(lineNumberConfig).domEventHandlers};});function lineNumbers(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return[lineNumberConfig.of(config2),gutters(),lineNumberGutter];}function maxLineNumber(lines){var last=9;while(last<lines){last=last*10+9;}return last;}var activeLineGutterMarker=/* @__PURE__ */new(/*#__PURE__*/function(_GutterMarker2){_inherits(_class8,_GutterMarker2);var _super26=_createSuper(_class8);function _class8(){var _this66;_classCallCheck(this,_class8);_this66=_super26.apply(this,arguments);_this66.elementClass="cm-activeLineGutter";return _this66;}return _createClass(_class8);}(GutterMarker))();var activeLineGutterHighlighter=/* @__PURE__ */gutterLineClass.compute(["selection"],function(state){var marks2=[],last=-1;var _iterator142=_createForOfIteratorHelper(state.selection.ranges),_step142;try{for(_iterator142.s();!(_step142=_iterator142.n()).done;){var range=_step142.value;var linePos=state.doc.lineAt(range.head).from;if(linePos>last){last=linePos;marks2.push(activeLineGutterMarker.range(linePos));}}}catch(err){_iterator142.e(err);}finally{_iterator142.f();}return RangeSet.of(marks2);});function highlightActiveLineGutter(){return activeLineGutterHighlighter;}// ../node_modules/@codemirror/language/dist/index.js 6var dist_exports={};__export(dist_exports,{DocInput:function DocInput(){return _DocInput;},HighlightStyle:function HighlightStyle(){return _HighlightStyle;},IndentContext:function IndentContext(){return _IndentContext;},LRLanguage:function LRLanguage(){return _LRLanguage;},Language:function Language(){return _Language;},LanguageDescription:function LanguageDescription(){return _LanguageDescription;},LanguageSupport:function LanguageSupport(){return _LanguageSupport;},ParseContext:function ParseContext(){return _ParseContext;},StreamLanguage:function StreamLanguage(){return _StreamLanguage;},StringStream:function StringStream(){return _StringStream;},TreeIndentContext:function TreeIndentContext(){return _TreeIndentContext;},bidiIsolates:function bidiIsolates(){return _bidiIsolates;},bracketMatching:function bracketMatching(){return _bracketMatching;},bracketMatchingHandle:function bracketMatchingHandle(){return _bracketMatchingHandle;},codeFolding:function codeFolding(){return _codeFolding;},continuedIndent:function continuedIndent(){return _continuedIndent;},defaultHighlightStyle:function defaultHighlightStyle(){return _defaultHighlightStyle;},defineLanguageFacet:function defineLanguageFacet(){return _defineLanguageFacet;},delimitedIndent:function delimitedIndent(){return _delimitedIndent;},ensureSyntaxTree:function ensureSyntaxTree(){return _ensureSyntaxTree;},flatIndent:function flatIndent(){return _flatIndent;},foldAll:function foldAll(){return _foldAll;},foldCode:function foldCode(){return _foldCode;},foldEffect:function foldEffect(){return _foldEffect;},foldGutter:function foldGutter(){return _foldGutter;},foldInside:function foldInside(){return _foldInside;},foldKeymap:function foldKeymap(){return _foldKeymap;},foldNodeProp:function foldNodeProp(){return _foldNodeProp;},foldService:function foldService(){return _foldService;},foldState:function foldState(){return _foldState;},foldable:function foldable(){return _foldable;},foldedRanges:function foldedRanges(){return _foldedRanges;},forceParsing:function forceParsing(){return _forceParsing;},getIndentUnit:function getIndentUnit(){return _getIndentUnit;},getIndentation:function getIndentation(){return _getIndentation;},highlightingFor:function highlightingFor(){return _highlightingFor;},indentNodeProp:function indentNodeProp(){return _indentNodeProp;},indentOnInput:function indentOnInput(){return _indentOnInput;},indentRange:function indentRange(){return _indentRange;},indentService:function indentService(){return _indentService;},indentString:function indentString(){return _indentString;},indentUnit:function indentUnit(){return _indentUnit;},language:function language(){return _language;},languageDataProp:function languageDataProp(){return _languageDataProp;},matchBrackets:function matchBrackets(){return _matchBrackets;},sublanguageProp:function sublanguageProp(){return _sublanguageProp;},syntaxHighlighting:function syntaxHighlighting(){return _syntaxHighlighting;},syntaxParserRunning:function syntaxParserRunning(){return _syntaxParserRunning;},syntaxTree:function syntaxTree(){return _syntaxTree;},syntaxTreeAvailable:function syntaxTreeAvailable(){return _syntaxTreeAvailable;},toggleFold:function toggleFold(){return _toggleFold;},unfoldAll:function unfoldAll(){return _unfoldAll;},unfoldCode:function unfoldCode(){return _unfoldCode;},unfoldEffect:function unfoldEffect(){return _unfoldEffect;}});// ../node_modules/@lezer/common/dist/index.js 7var DefaultBufferLength=1024;var nextPropID=0;var Range2=/*#__PURE__*/_createClass(function Range2(from,to){_classCallCheck(this,Range2);this.from=from;this.to=to;});var NodeProp=/*#__PURE__*/function(){function NodeProp(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};_classCallCheck(this,NodeProp);this.id=nextPropID++;this.perNode=!!config2.perNode;this.deserialize=config2.deserialize||function(){throw new Error("This node type doesn't define a deserialize function");};}_createClass(NodeProp,[{key:"add",value:function add(match){var _this67=this;if(this.perNode)throw new RangeError("Can't add per-node props to node types");if(typeof match!="function")match=NodeType.match(match);return function(type){var result=match(type);return result===void 0?null:[_this67,result];};}}]);return NodeProp;}();NodeProp.closedBy=new NodeProp({deserialize:function deserialize(str){return str.split(" ");}});NodeProp.openedBy=new NodeProp({deserialize:function deserialize(str){return str.split(" ");}});NodeProp.group=new NodeProp({deserialize:function deserialize(str){return str.split(" ");}});NodeProp.isolate=new NodeProp({deserialize:function deserialize(value){if(value&&value!="rtl"&&value!="ltr"&&value!="auto")throw new RangeError("Invalid value for isolate: "+value);return value||"auto";}});NodeProp.contextHash=new NodeProp({perNode:true});NodeProp.lookAhead=new NodeProp({perNode:true});NodeProp.mounted=new NodeProp({perNode:true});var MountedTree=/*#__PURE__*/function(){function MountedTree(tree,overlay,parser){_classCallCheck(this,MountedTree);this.tree=tree;this.overlay=overlay;this.parser=parser;}_createClass(MountedTree,null,[{key:"get",value:function get(tree){return tree&&tree.props&&tree.props[NodeProp.mounted.id];}}]);return MountedTree;}();var noProps=/* @__PURE__ */Object.create(null);var NodeType=/*#__PURE__*/function(){function NodeType(name2,props,id){var flags=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;_classCallCheck(this,NodeType);this.name=name2;this.props=props;this.id=id;this.flags=flags;}_createClass(NodeType,[{key:"prop",value:function prop(_prop){return this.props[_prop.id];}},{key:"isTop",get:function get(){return(this.flags&1)>0;}},{key:"isSkipped",get:function get(){return(this.flags&2)>0;}},{key:"isError",get:function get(){return(this.flags&4)>0;}},{key:"isAnonymous",get:function get(){return(this.flags&8)>0;}},{key:"is",value:function is(name2){if(typeof name2=="string"){if(this.name==name2)return true;var group=this.prop(NodeProp.group);return group?group.indexOf(name2)>-1:false;}return this.id==name2;}}],[{key:"define",value:function define(spec){var props=spec.props&&spec.props.length?/* @__PURE__ */Object.create(null):noProps;var flags=(spec.top?1:0)|(spec.skipped?2:0)|(spec.error?4:0)|(spec.name==null?8:0);var type=new NodeType(spec.name||"",props,spec.id,flags);if(spec.props){var _iterator143=_createForOfIteratorHelper(spec.props),_step143;try{for(_iterator143.s();!(_step143=_iterator143.n()).done;){var src=_step143.value;if(!Array.isArray(src))src=src(type);if(src){if(src[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");props[src[0].id]=src[1];}}}catch(err){_iterator143.e(err);}finally{_iterator143.f();}}return type;}},{key:"match",value:function match(map){var direct=/* @__PURE__ */Object.create(null);for(var prop in map){var _iterator144=_createForOfIteratorHelper(prop.split(" ")),_step144;try{for(_iterator144.s();!(_step144=_iterator144.n()).done;){var name2=_step144.value;direct[name2]=map[prop];}}catch(err){_iterator144.e(err);}finally{_iterator144.f();}}return function(node){for(var groups=node.prop(NodeProp.group),_i120=-1;_i120<(groups?groups.length:0);_i120++){var found=direct[_i120<0?node.name:groups[_i120]];if(found)return found;}};}}]);return NodeType;}();NodeType.none=new NodeType("",/* @__PURE__ */Object.create(null),0,8);var NodeSet=/*#__PURE__*/function(){function NodeSet(types2){_classCallCheck(this,NodeSet);this.types=types2;for(var _i121=0;_i121<types2.length;_i121++){if(types2[_i121].id!=_i121)throw new RangeError("Node type ids should correspond to array positions when creating a node set");}}_createClass(NodeSet,[{key:"extend",value:function extend(){var newTypes=[];for(var _len7=arguments.length,props=new Array(_len7),_key5=0;_key5<_len7;_key5++){props[_key5]=arguments[_key5];}var _iterator145=_createForOfIteratorHelper(this.types),_step145;try{for(_iterator145.s();!(_step145=_iterator145.n()).done;){var type=_step145.value;var newProps=null;var _iterator146=_createForOfIteratorHelper(props),_step146;try{for(_iterator146.s();!(_step146=_iterator146.n()).done;){var source=_step146.value;var add2=source(type);if(add2){if(!newProps)newProps=Object.assign({},type.props);newProps[add2[0].id]=add2[1];}}}catch(err){_iterator146.e(err);}finally{_iterator146.f();}newTypes.push(newProps?new NodeType(type.name,newProps,type.id,type.flags):type);}}catch(err){_iterator145.e(err);}finally{_iterator145.f();}return new NodeSet(newTypes);}}]);return NodeSet;}();var CachedNode=/* @__PURE__ */new WeakMap();var CachedInnerNode=/* @__PURE__ */new WeakMap();var IterMode;(function(IterMode2){IterMode2[IterMode2["ExcludeBuffers"]=1]="ExcludeBuffers";IterMode2[IterMode2["IncludeAnonymous"]=2]="IncludeAnonymous";IterMode2[IterMode2["IgnoreMounts"]=4]="IgnoreMounts";IterMode2[IterMode2["IgnoreOverlays"]=8]="IgnoreOverlays";})(IterMode||(IterMode={}));var Tree=/*#__PURE__*/function(){function Tree(type,children,positions,length,props){_classCallCheck(this,Tree);this.type=type;this.children=children;this.positions=positions;this.length=length;this.props=null;if(props&&props.length){this.props=/* @__PURE__ */Object.create(null);var _iterator147=_createForOfIteratorHelper(props),_step147;try{for(_iterator147.s();!(_step147=_iterator147.n()).done;){var _step147$value=_slicedToArray(_step147.value,2),prop=_step147$value[0],value=_step147$value[1];this.props[typeof prop=="number"?prop:prop.id]=value;}}catch(err){_iterator147.e(err);}finally{_iterator147.f();}}}_createClass(Tree,[{key:"toString",value:function toString(){var mounted=MountedTree.get(this);if(mounted&&!mounted.overlay)return mounted.tree.toString();var children="";var _iterator148=_createForOfIteratorHelper(this.children),_step148;try{for(_iterator148.s();!(_step148=_iterator148.n()).done;){var ch=_step148.value;var str=ch.toString();if(str){if(children)children+=",";children+=str;}}}catch(err){_iterator148.e(err);}finally{_iterator148.f();}return!this.type.name?children:(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(children.length?"("+children+")":"");}},{key:"cursor",value:function cursor(){var mode=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;return new TreeCursor(this.topNode,mode);}},{key:"cursorAt",value:function cursorAt(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var mode=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var scope=CachedNode.get(this)||this.topNode;var cursor=new TreeCursor(scope);cursor.moveTo(pos,side);CachedNode.set(this,cursor._tree);return cursor;}},{key:"topNode",get:function get(){return new TreeNode(this,0,0,null);}},{key:"resolve",value:function resolve(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var node=resolveNode(CachedNode.get(this)||this.topNode,pos,side,false);CachedNode.set(this,node);return node;}},{key:"resolveInner",value:function resolveInner(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var node=resolveNode(CachedInnerNode.get(this)||this.topNode,pos,side,true);CachedInnerNode.set(this,node);return node;}},{key:"resolveStack",value:function resolveStack(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;return stackIterator(this,pos,side);}},{key:"iterate",value:function iterate(spec){var enter=spec.enter,leave=spec.leave,_spec$from=spec.from,from=_spec$from===void 0?0:_spec$from,_spec$to2=spec.to,to=_spec$to2===void 0?this.length:_spec$to2;var mode=spec.mode||0,anon=(mode&IterMode.IncludeAnonymous)>0;for(var c=this.cursor(mode|IterMode.IncludeAnonymous);;){var entered=false;if(c.from<=to&&c.to>=from&&(!anon&&c.type.isAnonymous||enter(c)!==false)){if(c.firstChild())continue;entered=true;}for(;;){if(entered&&leave&&(anon||!c.type.isAnonymous))leave(c);if(c.nextSibling())break;if(!c.parent())return;entered=true;}}}},{key:"prop",value:function prop(_prop2){return!_prop2.perNode?this.type.prop(_prop2):this.props?this.props[_prop2.id]:void 0;}},{key:"propValues",get:function get(){var result=[];if(this.props)for(var id in this.props){result.push([+id,this.props[id]]);}return result;}},{key:"balance",value:function balance(){var _this68=this;var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return this.children.length<=8?this:balanceRange(NodeType.none,this.children,this.positions,0,this.children.length,0,this.length,function(children,positions,length){return new Tree(_this68.type,children,positions,length,_this68.propValues);},config2.makeTree||function(children,positions,length){return new Tree(NodeType.none,children,positions,length);});}}],[{key:"build",value:function build(data){return buildTree(data);}}]);return Tree;}();Tree.empty=new Tree(NodeType.none,[],[],0);var FlatBufferCursor=/*#__PURE__*/function(){function FlatBufferCursor(buffer,index){_classCallCheck(this,FlatBufferCursor);this.buffer=buffer;this.index=index;}_createClass(FlatBufferCursor,[{key:"id",get:function get(){return this.buffer[this.index-4];}},{key:"start",get:function get(){return this.buffer[this.index-3];}},{key:"end",get:function get(){return this.buffer[this.index-2];}},{key:"size",get:function get(){return this.buffer[this.index-1];}},{key:"pos",get:function get(){return this.index;}},{key:"next",value:function next(){this.index-=4;}},{key:"fork",value:function fork(){return new FlatBufferCursor(this.buffer,this.index);}}]);return FlatBufferCursor;}();var TreeBuffer=/*#__PURE__*/function(){function TreeBuffer(buffer,length,set){_classCallCheck(this,TreeBuffer);this.buffer=buffer;this.length=length;this.set=set;}_createClass(TreeBuffer,[{key:"type",get:function get(){return NodeType.none;}},{key:"toString",value:function toString(){var result=[];for(var index=0;index<this.buffer.length;){result.push(this.childString(index));index=this.buffer[index+3];}return result.join(",");}},{key:"childString",value:function childString(index){var id=this.buffer[index],endIndex=this.buffer[index+3];var type=this.set.types[id],result=type.name;if(/\W/.test(result)&&!type.isError)result=JSON.stringify(result);index+=4;if(endIndex==index)return result;var children=[];while(index<endIndex){children.push(this.childString(index));index=this.buffer[index+3];}return result+"("+children.join(",")+")";}},{key:"findChild",value:function findChild(startIndex,endIndex,dir,pos,side){var buffer=this.buffer,pick=-1;for(var _i122=startIndex;_i122!=endIndex;_i122=buffer[_i122+3]){if(checkSide(side,pos,buffer[_i122+1],buffer[_i122+2])){pick=_i122;if(dir>0)break;}}return pick;}},{key:"slice",value:function slice(startI,endI,from){var b=this.buffer;var copy=new Uint16Array(endI-startI),len=0;for(var _i123=startI,j=0;_i123<endI;){copy[j++]=b[_i123++];copy[j++]=b[_i123++]-from;var to=copy[j++]=b[_i123++]-from;copy[j++]=b[_i123++]-startI;len=Math.max(len,to);}return new TreeBuffer(copy,len,this.set);}}]);return TreeBuffer;}();function checkSide(side,pos,from,to){switch(side){case-2:return from<pos;case-1:return to>=pos&&from<pos;case 0:return from<pos&&to>pos;case 1:return from<=pos&&to>pos;case 2:return to>pos;case 4:return true;}}function resolveNode(node,pos,side,overlays){var _a2;while(node.from==node.to||(side<1?node.from>=pos:node.from>pos)||(side>-1?node.to<=pos:node.to<pos)){var parent=!overlays&&node instanceof TreeNode&&node.index<0?null:node.parent;if(!parent)return node;node=parent;}var mode=overlays?0:IterMode.IgnoreOverlays;if(overlays)for(var scan=node,_parent2=scan.parent;_parent2;scan=_parent2,_parent2=scan.parent){if(scan instanceof TreeNode&&scan.index<0&&((_a2=_parent2.enter(pos,side,mode))===null||_a2===void 0?void 0:_a2.from)!=scan.from)node=_parent2;}for(;;){var inner=node.enter(pos,side,mode);if(!inner)return node;node=inner;}}var BaseNode=/*#__PURE__*/function(){function BaseNode(){_classCallCheck(this,BaseNode);}_createClass(BaseNode,[{key:"cursor",value:function cursor(){var mode=arguments.length>0&&arguments[0]!==undefined?arguments[0]:0;return new TreeCursor(this,mode);}},{key:"getChild",value:function getChild(type){var before=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var after=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;var r=_getChildren(this,type,before,after);return r.length?r[0]:null;}},{key:"getChildren",value:function getChildren(type){var before=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var after=arguments.length>2&&arguments[2]!==undefined?arguments[2]:null;return _getChildren(this,type,before,after);}},{key:"resolve",value:function resolve(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;return resolveNode(this,pos,side,false);}},{key:"resolveInner",value:function resolveInner(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;return resolveNode(this,pos,side,true);}},{key:"matchContext",value:function matchContext(context){return matchNodeContext(this,context);}},{key:"enterUnfinishedNodesBefore",value:function enterUnfinishedNodesBefore(pos){var scan=this.childBefore(pos),node=this;while(scan){var last=scan.lastChild;if(!last||last.to!=scan.to)break;if(last.type.isError&&last.from==last.to){node=scan;scan=last.prevSibling;}else{scan=last;}}return node;}},{key:"node",get:function get(){return this;}},{key:"next",get:function get(){return this.parent;}}]);return BaseNode;}();var TreeNode=/*#__PURE__*/function(_BaseNode){_inherits(TreeNode,_BaseNode);var _super27=_createSuper(TreeNode);function TreeNode(_tree,from,index,_parent){var _this69;_classCallCheck(this,TreeNode);_this69=_super27.call(this);_this69._tree=_tree;_this69.from=from;_this69.index=index;_this69._parent=_parent;return _this69;}_createClass(TreeNode,[{key:"type",get:function get(){return this._tree.type;}},{key:"name",get:function get(){return this._tree.type.name;}},{key:"to",get:function get(){return this.from+this._tree.length;}},{key:"nextChild",value:function nextChild(i,dir,pos,side){var mode=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;for(var parent=this;;){for(var _parent$_tree=parent._tree,children=_parent$_tree.children,positions=_parent$_tree.positions,e=dir>0?children.length:-1;i!=e;i+=dir){var next=children[i],start=positions[i]+parent.from;if(!checkSide(side,pos,start,start+next.length))continue;if(next instanceof TreeBuffer){if(mode&IterMode.ExcludeBuffers)continue;var index=next.findChild(0,next.buffer.length,dir,pos-start,side);if(index>-1)return new BufferNode(new BufferContext(parent,next,i,start),null,index);}else if(mode&IterMode.IncludeAnonymous||!next.type.isAnonymous||hasChild(next)){var mounted=void 0;if(!(mode&IterMode.IgnoreMounts)&&(mounted=MountedTree.get(next))&&!mounted.overlay)return new TreeNode(mounted.tree,start,i,parent);var inner=new TreeNode(next,start,i,parent);return mode&IterMode.IncludeAnonymous||!inner.type.isAnonymous?inner:inner.nextChild(dir<0?next.children.length-1:0,dir,pos,side);}}if(mode&IterMode.IncludeAnonymous||!parent.type.isAnonymous)return null;if(parent.index>=0)i=parent.index+dir;else i=dir<0?-1:parent._parent._tree.children.length;parent=parent._parent;if(!parent)return null;}}},{key:"firstChild",get:function get(){return this.nextChild(0,1,0,4);}},{key:"lastChild",get:function get(){return this.nextChild(this._tree.children.length-1,-1,0,4);}},{key:"childAfter",value:function childAfter(pos){return this.nextChild(0,1,pos,2);}},{key:"childBefore",value:function childBefore(pos){return this.nextChild(this._tree.children.length-1,-1,pos,-2);}},{key:"enter",value:function enter(pos,side){var mode=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var mounted;if(!(mode&IterMode.IgnoreOverlays)&&(mounted=MountedTree.get(this._tree))&&mounted.overlay){var rPos=pos-this.from;var _iterator149=_createForOfIteratorHelper(mounted.overlay),_step149;try{for(_iterator149.s();!(_step149=_iterator149.n()).done;){var _step149$value=_step149.value,from=_step149$value.from,to=_step149$value.to;if((side>0?from<=rPos:from<rPos)&&(side<0?to>=rPos:to>rPos))return new TreeNode(mounted.tree,mounted.overlay[0].from+this.from,-1,this);}}catch(err){_iterator149.e(err);}finally{_iterator149.f();}}return this.nextChild(0,1,pos,side,mode);}},{key:"nextSignificantParent",value:function nextSignificantParent(){var val=this;while(val.type.isAnonymous&&val._parent){val=val._parent;}return val;}},{key:"parent",get:function get(){return this._parent?this._parent.nextSignificantParent():null;}},{key:"nextSibling",get:function get(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null;}},{key:"prevSibling",get:function get(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null;}},{key:"tree",get:function get(){return this._tree;}},{key:"toTree",value:function toTree(){return this._tree;}},{key:"toString",value:function toString(){return this._tree.toString();}}]);return TreeNode;}(BaseNode);function _getChildren(node,type,before,after){var cur2=node.cursor(),result=[];if(!cur2.firstChild())return result;if(before!=null)for(var found=false;!found;){found=cur2.type.is(before);if(!cur2.nextSibling())return result;}for(;;){if(after!=null&&cur2.type.is(after))return result;if(cur2.type.is(type))result.push(cur2.node);if(!cur2.nextSibling())return after==null?result:[];}}function matchNodeContext(node,context){var i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:context.length-1;for(var _p6=node.parent;i>=0;_p6=_p6.parent){if(!_p6)return false;if(!_p6.type.isAnonymous){if(context[i]&&context[i]!=_p6.name)return false;i--;}}return true;}var BufferContext=/*#__PURE__*/_createClass(function BufferContext(parent,buffer,index,start){_classCallCheck(this,BufferContext);this.parent=parent;this.buffer=buffer;this.index=index;this.start=start;});var BufferNode=/*#__PURE__*/function(_BaseNode2){_inherits(BufferNode,_BaseNode2);var _super28=_createSuper(BufferNode);function BufferNode(context,_parent,index){var _this70;_classCallCheck(this,BufferNode);_this70=_super28.call(this);_this70.context=context;_this70._parent=_parent;_this70.index=index;_this70.type=context.buffer.set.types[context.buffer.buffer[index]];return _this70;}_createClass(BufferNode,[{key:"name",get:function get(){return this.type.name;}},{key:"from",get:function get(){return this.context.start+this.context.buffer.buffer[this.index+1];}},{key:"to",get:function get(){return this.context.start+this.context.buffer.buffer[this.index+2];}},{key:"child",value:function child(dir,pos,side){var buffer=this.context.buffer;var index=buffer.findChild(this.index+4,buffer.buffer[this.index+3],dir,pos-this.context.start,side);return index<0?null:new BufferNode(this.context,this,index);}},{key:"firstChild",get:function get(){return this.child(1,0,4);}},{key:"lastChild",get:function get(){return this.child(-1,0,4);}},{key:"childAfter",value:function childAfter(pos){return this.child(1,pos,2);}},{key:"childBefore",value:function childBefore(pos){return this.child(-1,pos,-2);}},{key:"enter",value:function enter(pos,side){var mode=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;if(mode&IterMode.ExcludeBuffers)return null;var buffer=this.context.buffer;var index=buffer.findChild(this.index+4,buffer.buffer[this.index+3],side>0?1:-1,pos-this.context.start,side);return index<0?null:new BufferNode(this.context,this,index);}},{key:"parent",get:function get(){return this._parent||this.context.parent.nextSignificantParent();}},{key:"externalSibling",value:function externalSibling(dir){return this._parent?null:this.context.parent.nextChild(this.context.index+dir,dir,0,4);}},{key:"nextSibling",get:function get(){var buffer=this.context.buffer;var after=buffer.buffer[this.index+3];if(after<(this._parent?buffer.buffer[this._parent.index+3]:buffer.buffer.length))return new BufferNode(this.context,this._parent,after);return this.externalSibling(1);}},{key:"prevSibling",get:function get(){var buffer=this.context.buffer;var parentStart=this._parent?this._parent.index+4:0;if(this.index==parentStart)return this.externalSibling(-1);return new BufferNode(this.context,this._parent,buffer.findChild(parentStart,this.index,-1,0,4));}},{key:"tree",get:function get(){return null;}},{key:"toTree",value:function toTree(){var children=[],positions=[];var buffer=this.context.buffer;var startI=this.index+4,endI=buffer.buffer[this.index+3];if(endI>startI){var from=buffer.buffer[this.index+1];children.push(buffer.slice(startI,endI,from));positions.push(0);}return new Tree(this.type,children,positions,this.to-this.from);}},{key:"toString",value:function toString(){return this.context.buffer.childString(this.index);}}]);return BufferNode;}(BaseNode);function iterStack(heads){if(!heads.length)return null;var pick=0,picked=heads[0];for(var _i124=1;_i124<heads.length;_i124++){var node=heads[_i124];if(node.from>picked.from||node.to<picked.to){picked=node;pick=_i124;}}var next=picked instanceof TreeNode&&picked.index<0?null:picked.parent;var newHeads=heads.slice();if(next)newHeads[pick]=next;else newHeads.splice(pick,1);return new StackIterator(newHeads,picked);}var StackIterator=/*#__PURE__*/function(){function StackIterator(heads,node){_classCallCheck(this,StackIterator);this.heads=heads;this.node=node;}_createClass(StackIterator,[{key:"next",get:function get(){return iterStack(this.heads);}}]);return StackIterator;}();function stackIterator(tree,pos,side){var inner=tree.resolveInner(pos,side),layers=null;for(var scan=inner instanceof TreeNode?inner:inner.context.parent;scan;scan=scan.parent){if(scan.index<0){var parent=scan.parent;(layers||(layers=[inner])).push(parent.resolve(pos,side));scan=parent;}else{var mount=MountedTree.get(scan.tree);if(mount&&mount.overlay&&mount.overlay[0].from<=pos&&mount.overlay[mount.overlay.length-1].to>=pos){var root=new TreeNode(mount.tree,mount.overlay[0].from+scan.from,-1,scan);(layers||(layers=[inner])).push(resolveNode(root,pos,side,false));}}}return layers?iterStack(layers):inner;}var TreeCursor=/*#__PURE__*/function(){function TreeCursor(node){var mode=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;_classCallCheck(this,TreeCursor);this.mode=mode;this.buffer=null;this.stack=[];this.index=0;this.bufferNode=null;if(node instanceof TreeNode){this.yieldNode(node);}else{this._tree=node.context.parent;this.buffer=node.context;for(var n=node._parent;n;n=n._parent){this.stack.unshift(n.index);}this.bufferNode=node;this.yieldBuf(node.index);}}_createClass(TreeCursor,[{key:"name",get:function get(){return this.type.name;}},{key:"yieldNode",value:function yieldNode(node){if(!node)return false;this._tree=node;this.type=node.type;this.from=node.from;this.to=node.to;return true;}},{key:"yieldBuf",value:function yieldBuf(index,type){this.index=index;var _this$buffer=this.buffer,start=_this$buffer.start,buffer=_this$buffer.buffer;this.type=type||buffer.set.types[buffer.buffer[index]];this.from=start+buffer.buffer[index+1];this.to=start+buffer.buffer[index+2];return true;}},{key:"yield",value:function _yield(node){if(!node)return false;if(node instanceof TreeNode){this.buffer=null;return this.yieldNode(node);}this.buffer=node.context;return this.yieldBuf(node.index,node.type);}},{key:"toString",value:function toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString();}},{key:"enterChild",value:function enterChild(dir,pos,side){if(!this.buffer)return this["yield"](this._tree.nextChild(dir<0?this._tree._tree.children.length-1:0,dir,pos,side,this.mode));var buffer=this.buffer.buffer;var index=buffer.findChild(this.index+4,buffer.buffer[this.index+3],dir,pos-this.buffer.start,side);if(index<0)return false;this.stack.push(this.index);return this.yieldBuf(index);}},{key:"firstChild",value:function firstChild(){return this.enterChild(1,0,4);}},{key:"lastChild",value:function lastChild(){return this.enterChild(-1,0,4);}},{key:"childAfter",value:function childAfter(pos){return this.enterChild(1,pos,2);}},{key:"childBefore",value:function childBefore(pos){return this.enterChild(-1,pos,-2);}},{key:"enter",value:function enter(pos,side){var mode=arguments.length>2&&arguments[2]!==undefined?arguments[2]:this.mode;if(!this.buffer)return this["yield"](this._tree.enter(pos,side,mode));return mode&IterMode.ExcludeBuffers?false:this.enterChild(1,pos,side);}},{key:"parent",value:function parent(){if(!this.buffer)return this.yieldNode(this.mode&IterMode.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());var parent=this.mode&IterMode.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();this.buffer=null;return this.yieldNode(parent);}},{key:"sibling",value:function sibling(dir){if(!this.buffer)return!this._tree._parent?false:this["yield"](this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+dir,dir,0,4,this.mode));var buffer=this.buffer.buffer,d=this.stack.length-1;if(dir<0){var parentStart=d<0?0:this.stack[d]+4;if(this.index!=parentStart)return this.yieldBuf(buffer.findChild(parentStart,this.index,-1,0,4));}else{var after=buffer.buffer[this.index+3];if(after<(d<0?buffer.buffer.length:buffer.buffer[this.stack[d]+3]))return this.yieldBuf(after);}return d<0?this["yield"](this.buffer.parent.nextChild(this.buffer.index+dir,dir,0,4,this.mode)):false;}},{key:"nextSibling",value:function nextSibling(){return this.sibling(1);}},{key:"prevSibling",value:function prevSibling(){return this.sibling(-1);}},{key:"atLastNode",value:function atLastNode(dir){var index,parent,buffer=this.buffer;if(buffer){if(dir>0){if(this.index<buffer.buffer.buffer.length)return false;}else{for(var _i125=0;_i125<this.index;_i125++){if(buffer.buffer.buffer[_i125+3]<this.index)return false;}}index=buffer.index;parent=buffer.parent;}else{var _this$_tree=this._tree;index=_this$_tree.index;parent=_this$_tree._parent;}for(;parent;_parent3=parent,index=_parent3.index,parent=_parent3._parent,_parent3){var _parent3;if(index>-1)for(var _i126=index+dir,e=dir<0?-1:parent._tree.children.length;_i126!=e;_i126+=dir){var child=parent._tree.children[_i126];if(this.mode&IterMode.IncludeAnonymous||child instanceof TreeBuffer||!child.type.isAnonymous||hasChild(child))return false;}}return true;}},{key:"move",value:function move(dir,enter){if(enter&&this.enterChild(dir,0,4))return true;for(;;){if(this.sibling(dir))return true;if(this.atLastNode(dir)||!this.parent())return false;}}},{key:"next",value:function next(){var enter=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;return this.move(1,enter);}},{key:"prev",value:function prev(){var enter=arguments.length>0&&arguments[0]!==undefined?arguments[0]:true;return this.move(-1,enter);}},{key:"moveTo",value:function moveTo(pos){var side=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;while(this.from==this.to||(side<1?this.from>=pos:this.from>pos)||(side>-1?this.to<=pos:this.to<pos)){if(!this.parent())break;}while(this.enterChild(1,pos,side)){}return this;}},{key:"node",get:function get(){if(!this.buffer)return this._tree;var cache=this.bufferNode,result=null,depth=0;if(cache&&cache.context==this.buffer){scan:for(var index=this.index,d=this.stack.length;d>=0;){for(var c=cache;c;c=c._parent){if(c.index==index){if(index==this.index)return c;result=c;depth=d+1;break scan;}}index=this.stack[--d];}}for(var _i127=depth;_i127<this.stack.length;_i127++){result=new BufferNode(this.buffer,result,this.stack[_i127]);}return this.bufferNode=new BufferNode(this.buffer,result,this.index);}},{key:"tree",get:function get(){return this.buffer?null:this._tree._tree;}},{key:"iterate",value:function iterate(enter,leave){for(var depth=0;;){var mustLeave=false;if(this.type.isAnonymous||enter(this)!==false){if(this.firstChild()){depth++;continue;}if(!this.type.isAnonymous)mustLeave=true;}for(;;){if(mustLeave&&leave)leave(this);mustLeave=this.type.isAnonymous;if(this.nextSibling())break;if(!depth)return;this.parent();depth--;mustLeave=true;}}}},{key:"matchContext",value:function matchContext(context){if(!this.buffer)return matchNodeContext(this.node,context);var buffer=this.buffer.buffer,types2=buffer.set.types;for(var _i128=context.length-1,d=this.stack.length-1;_i128>=0;d--){if(d<0)return matchNodeContext(this.node,context,_i128);var type=types2[buffer.buffer[this.stack[d]]];if(!type.isAnonymous){if(context[_i128]&&context[_i128]!=type.name)return false;_i128--;}}return true;}}]);return TreeCursor;}();function hasChild(tree){return tree.children.some(function(ch){return ch instanceof TreeBuffer||!ch.type.isAnonymous||hasChild(ch);});}function buildTree(data){var _a2;var buffer=data.buffer,nodeSet2=data.nodeSet,_data$maxBufferLength=data.maxBufferLength,maxBufferLength=_data$maxBufferLength===void 0?DefaultBufferLength:_data$maxBufferLength,_data$reused=data.reused,reused=_data$reused===void 0?[]:_data$reused,_data$minRepeatType=data.minRepeatType,minRepeatType=_data$minRepeatType===void 0?nodeSet2.types.length:_data$minRepeatType;var cursor=Array.isArray(buffer)?new FlatBufferCursor(buffer,buffer.length):buffer;var types2=nodeSet2.types;var contextHash=0,lookAhead=0;function takeNode(parentStart,minPos,children2,positions2,inRepeat,depth){var id=cursor.id,start=cursor.start,end=cursor.end,size=cursor.size;var lookAheadAtStart=lookAhead;while(size<0){cursor.next();if(size==-1){var node2=reused[id];children2.push(node2);positions2.push(start-parentStart);return;}else if(size==-3){contextHash=id;return;}else if(size==-4){lookAhead=id;return;}else{throw new RangeError("Unrecognized record size: ".concat(size));}}var type=types2[id],node,buffer2;var startPos=start-parentStart;if(end-start<=maxBufferLength&&(buffer2=findBufferSize(cursor.pos-minPos,inRepeat))){var data2=new Uint16Array(buffer2.size-buffer2.skip);var endPos=cursor.pos-buffer2.size,index=data2.length;while(cursor.pos>endPos){index=copyToBuffer(buffer2.start,data2,index);}node=new TreeBuffer(data2,end-buffer2.start,nodeSet2);startPos=buffer2.start-parentStart;}else{var _endPos=cursor.pos-size;cursor.next();var localChildren=[],localPositions=[];var localInRepeat=id>=minRepeatType?id:-1;var lastGroup=0,lastEnd=end;while(cursor.pos>_endPos){if(localInRepeat>=0&&cursor.id==localInRepeat&&cursor.size>=0){if(cursor.end<=lastEnd-maxBufferLength){makeRepeatLeaf(localChildren,localPositions,start,lastGroup,cursor.end,lastEnd,localInRepeat,lookAheadAtStart);lastGroup=localChildren.length;lastEnd=cursor.end;}cursor.next();}else if(depth>2500){takeFlatNode(start,_endPos,localChildren,localPositions);}else{takeNode(start,_endPos,localChildren,localPositions,localInRepeat,depth+1);}}if(localInRepeat>=0&&lastGroup>0&&lastGroup<localChildren.length)makeRepeatLeaf(localChildren,localPositions,start,lastGroup,start,lastEnd,localInRepeat,lookAheadAtStart);localChildren.reverse();localPositions.reverse();if(localInRepeat>-1&&lastGroup>0){var make=makeBalanced(type);node=balanceRange(type,localChildren,localPositions,0,localChildren.length,0,end-start,make,make);}else{node=makeTree(type,localChildren,localPositions,end-start,lookAheadAtStart-end);}}children2.push(node);positions2.push(startPos);}function takeFlatNode(parentStart,minPos,children2,positions2){var nodes=[];var nodeCount=0,stopAt=-1;while(cursor.pos>minPos){var id=cursor.id,start=cursor.start,end=cursor.end,size=cursor.size;if(size>4){cursor.next();}else if(stopAt>-1&&start<stopAt){break;}else{if(stopAt<0)stopAt=end-maxBufferLength;nodes.push(id,start,end);nodeCount++;cursor.next();}}if(nodeCount){var buffer2=new Uint16Array(nodeCount*4);var _start3=nodes[nodes.length-2];for(var _i129=nodes.length-3,j=0;_i129>=0;_i129-=3){buffer2[j++]=nodes[_i129];buffer2[j++]=nodes[_i129+1]-_start3;buffer2[j++]=nodes[_i129+2]-_start3;buffer2[j++]=j;}children2.push(new TreeBuffer(buffer2,nodes[2]-_start3,nodeSet2));positions2.push(_start3-parentStart);}}function makeBalanced(type){return function(children2,positions2,length2){var lookAhead2=0,lastI=children2.length-1,last,lookAheadProp;if(lastI>=0&&(last=children2[lastI])instanceof Tree){if(!lastI&&last.type==type&&last.length==length2)return last;if(lookAheadProp=last.prop(NodeProp.lookAhead))lookAhead2=positions2[lastI]+last.length+lookAheadProp;}return makeTree(type,children2,positions2,length2,lookAhead2);};}function makeRepeatLeaf(children2,positions2,base2,i,from,to,type,lookAhead2){var localChildren=[],localPositions=[];while(children2.length>i){localChildren.push(children2.pop());localPositions.push(positions2.pop()+base2-from);}children2.push(makeTree(nodeSet2.types[type],localChildren,localPositions,to-from,lookAhead2-to));positions2.push(from-base2);}function makeTree(type,children2,positions2,length2){var lookAhead2=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;var props=arguments.length>5?arguments[5]:undefined;if(contextHash){var pair=[NodeProp.contextHash,contextHash];props=props?[pair].concat(props):[pair];}if(lookAhead2>25){var _pair=[NodeProp.lookAhead,lookAhead2];props=props?[_pair].concat(props):[_pair];}return new Tree(type,children2,positions2,length2,props);}function findBufferSize(maxSize,inRepeat){var fork=cursor.fork();var size=0,start=0,skip=0,minStart=fork.end-maxBufferLength;var result={size:0,start:0,skip:0};scan:for(var minPos=fork.pos-maxSize;fork.pos>minPos;){var nodeSize2=fork.size;if(fork.id==inRepeat&&nodeSize2>=0){result.size=size;result.start=start;result.skip=skip;skip+=4;size+=4;fork.next();continue;}var startPos=fork.pos-nodeSize2;if(nodeSize2<0||startPos<minPos||fork.start<minStart)break;var localSkipped=fork.id>=minRepeatType?4:0;var nodeStart2=fork.start;fork.next();while(fork.pos>startPos){if(fork.size<0){if(fork.size==-3)localSkipped+=4;else break scan;}else if(fork.id>=minRepeatType){localSkipped+=4;}fork.next();}start=nodeStart2;size+=nodeSize2;skip+=localSkipped;}if(inRepeat<0||size==maxSize){result.size=size;result.start=start;result.skip=skip;}return result.size>4?result:void 0;}function copyToBuffer(bufferStart,buffer2,index){var id=cursor.id,start=cursor.start,end=cursor.end,size=cursor.size;cursor.next();if(size>=0&&id<minRepeatType){var startIndex=index;if(size>4){var endPos=cursor.pos-(size-4);while(cursor.pos>endPos){index=copyToBuffer(bufferStart,buffer2,index);}}buffer2[--index]=startIndex;buffer2[--index]=end-bufferStart;buffer2[--index]=start-bufferStart;buffer2[--index]=id;}else if(size==-3){contextHash=id;}else if(size==-4){lookAhead=id;}return index;}var children=[],positions=[];while(cursor.pos>0){takeNode(data.start||0,data.bufferStart||0,children,positions,-1,0);}var length=(_a2=data.length)!==null&&_a2!==void 0?_a2:children.length?positions[0]+children[0].length:0;return new Tree(types2[data.topID],children.reverse(),positions.reverse(),length);}var nodeSizeCache=/* @__PURE__ */new WeakMap();function nodeSize(balanceType,node){if(!balanceType.isAnonymous||node instanceof TreeBuffer||node.type!=balanceType)return 1;var size=nodeSizeCache.get(node);if(size==null){size=1;var _iterator150=_createForOfIteratorHelper(node.children),_step150;try{for(_iterator150.s();!(_step150=_iterator150.n()).done;){var child=_step150.value;if(child.type!=balanceType||!(child instanceof Tree)){size=1;break;}size+=nodeSize(balanceType,child);}}catch(err){_iterator150.e(err);}finally{_iterator150.f();}nodeSizeCache.set(node,size);}return size;}function balanceRange(balanceType,children,positions,from,to,start,length,mkTop,mkTree){var total=0;for(var _i130=from;_i130<to;_i130++){total+=nodeSize(balanceType,children[_i130]);}var maxChild=Math.ceil(total*1.5/8);var localChildren=[],localPositions=[];function divide(children2,positions2,from2,to2,offset){for(var _i131=from2;_i131<to2;){var groupFrom=_i131,groupStart=positions2[_i131],groupSize=nodeSize(balanceType,children2[_i131]);_i131++;for(;_i131<to2;_i131++){var nextSize=nodeSize(balanceType,children2[_i131]);if(groupSize+nextSize>=maxChild)break;groupSize+=nextSize;}if(_i131==groupFrom+1){if(groupSize>maxChild){var only=children2[groupFrom];divide(only.children,only.positions,0,only.children.length,positions2[groupFrom]+offset);continue;}localChildren.push(children2[groupFrom]);}else{var length2=positions2[_i131-1]+children2[_i131-1].length-groupStart;localChildren.push(balanceRange(balanceType,children2,positions2,groupFrom,_i131,groupStart,length2,null,mkTree));}localPositions.push(groupStart+offset-start);}}divide(children,positions,from,to,0);return(mkTop||mkTree)(localChildren,localPositions,length);}var TreeFragment=/*#__PURE__*/function(){function TreeFragment(from,to,tree,offset){var openStart=arguments.length>4&&arguments[4]!==undefined?arguments[4]:false;var openEnd=arguments.length>5&&arguments[5]!==undefined?arguments[5]:false;_classCallCheck(this,TreeFragment);this.from=from;this.to=to;this.tree=tree;this.offset=offset;this.open=(openStart?1:0)|(openEnd?2:0);}_createClass(TreeFragment,[{key:"openStart",get:function get(){return(this.open&1)>0;}},{key:"openEnd",get:function get(){return(this.open&2)>0;}}],[{key:"addTree",value:function addTree(tree){var fragments=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];var partial=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;var result=[new TreeFragment(0,tree.length,tree,0,false,partial)];var _iterator151=_createForOfIteratorHelper(fragments),_step151;try{for(_iterator151.s();!(_step151=_iterator151.n()).done;){var f=_step151.value;if(f.to>tree.length)result.push(f);}}catch(err){_iterator151.e(err);}finally{_iterator151.f();}return result;}},{key:"applyChanges",value:function applyChanges(fragments,changes){var minGap=arguments.length>2&&arguments[2]!==undefined?arguments[2]:128;if(!changes.length)return fragments;var result=[];var fI=1,nextF=fragments.length?fragments[0]:null;for(var cI=0,pos=0,off=0;;cI++){var nextC=cI<changes.length?changes[cI]:null;var nextPos=nextC?nextC.fromA:1e9;if(nextPos-pos>=minGap)while(nextF&&nextF.from<nextPos){var cut=nextF;if(pos>=cut.from||nextPos<=cut.to||off){var fFrom=Math.max(cut.from,pos)-off,fTo=Math.min(cut.to,nextPos)-off;cut=fFrom>=fTo?null:new TreeFragment(fFrom,fTo,cut.tree,cut.offset+off,cI>0,!!nextC);}if(cut)result.push(cut);if(nextF.to>nextPos)break;nextF=fI<fragments.length?fragments[fI++]:null;}if(!nextC)break;pos=nextC.toA;off=nextC.toA-nextC.toB;}return result;}}]);return TreeFragment;}();var Parser=/*#__PURE__*/function(){function Parser(){_classCallCheck(this,Parser);}_createClass(Parser,[{key:"startParse",value:function startParse(input,fragments,ranges){if(typeof input=="string")input=new StringInput(input);ranges=!ranges?[new Range2(0,input.length)]:ranges.length?ranges.map(function(r){return new Range2(r.from,r.to);}):[new Range2(0,0)];return this.createParse(input,fragments||[],ranges);}},{key:"parse",value:function parse(input,fragments,ranges){var parse=this.startParse(input,fragments,ranges);for(;;){var done=parse.advance();if(done)return done;}}}]);return Parser;}();var StringInput=/*#__PURE__*/function(){function StringInput(string2){_classCallCheck(this,StringInput);this.string=string2;}_createClass(StringInput,[{key:"length",get:function get(){return this.string.length;}},{key:"chunk",value:function chunk(from){return this.string.slice(from);}},{key:"lineChunks",get:function get(){return false;}},{key:"read",value:function read(from,to){return this.string.slice(from,to);}}]);return StringInput;}();var stoppedInner=new NodeProp({perNode:true});// ../node_modules/@lezer/highlight/dist/index.js 8var nextTagID=0;var Tag=/*#__PURE__*/function(){function Tag(set,base2,modified){_classCallCheck(this,Tag);this.set=set;this.base=base2;this.modified=modified;this.id=nextTagID++;}_createClass(Tag,null,[{key:"define",value:function define(parent){if(parent===null||parent===void 0?void 0:parent.base)throw new Error("Can not derive from a modified tag");var tag=new Tag([],null,[]);tag.set.push(tag);if(parent){var _iterator152=_createForOfIteratorHelper(parent.set),_step152;try{for(_iterator152.s();!(_step152=_iterator152.n()).done;){var t2=_step152.value;tag.set.push(t2);}}catch(err){_iterator152.e(err);}finally{_iterator152.f();}}return tag;}},{key:"defineModifier",value:function defineModifier(){var mod=new Modifier();return function(tag){if(tag.modified.indexOf(mod)>-1)return tag;return Modifier.get(tag.base||tag,tag.modified.concat(mod).sort(function(a,b){return a.id-b.id;}));};}}]);return Tag;}();var nextModifierID=0;var Modifier=/*#__PURE__*/function(){function Modifier(){_classCallCheck(this,Modifier);this.instances=[];this.id=nextModifierID++;}_createClass(Modifier,null,[{key:"get",value:function get(base2,mods){if(!mods.length)return base2;var exists=mods[0].instances.find(function(t2){return t2.base==base2&&sameArray2(mods,t2.modified);});if(exists)return exists;var set=[],tag=new Tag(set,base2,mods);var _iterator153=_createForOfIteratorHelper(mods),_step153;try{for(_iterator153.s();!(_step153=_iterator153.n()).done;){var m=_step153.value;m.instances.push(tag);}}catch(err){_iterator153.e(err);}finally{_iterator153.f();}var configs=powerSet(mods);var _iterator154=_createForOfIteratorHelper(base2.set),_step154;try{for(_iterator154.s();!(_step154=_iterator154.n()).done;){var parent=_step154.value;if(!parent.modified.length){var _iterator155=_createForOfIteratorHelper(configs),_step155;try{for(_iterator155.s();!(_step155=_iterator155.n()).done;){var config2=_step155.value;set.push(Modifier.get(parent,config2));}}catch(err){_iterator155.e(err);}finally{_iterator155.f();}}}}catch(err){_iterator154.e(err);}finally{_iterator154.f();}return tag;}}]);return Modifier;}();function sameArray2(a,b){return a.length==b.length&&a.every(function(x,i){return x==b[i];});}function powerSet(array){var sets=[[]];for(var _i132=0;_i132<array.length;_i132++){for(var j=0,e=sets.length;j<e;j++){sets.push(sets[j].concat(array[_i132]));}}return sets.sort(function(a,b){return b.length-a.length;});}function styleTags(spec){var byName=/* @__PURE__ */Object.create(null);for(var prop in spec){var tags2=spec[prop];if(!Array.isArray(tags2))tags2=[tags2];var _iterator156=_createForOfIteratorHelper(prop.split(" ")),_step156;try{for(_iterator156.s();!(_step156=_iterator156.n()).done;){var part=_step156.value;if(part){var pieces=[],mode=2,rest=part;for(var pos=0;;){if(rest=="..."&&pos>0&&pos+3==part.length){mode=1;break;}var m=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(rest);if(!m)throw new RangeError("Invalid path: "+part);pieces.push(m[0]=="*"?"":m[0][0]=='"'?JSON.parse(m[0]):m[0]);pos+=m[0].length;if(pos==part.length)break;var next=part[pos++];if(pos==part.length&&next=="!"){mode=0;break;}if(next!="/")throw new RangeError("Invalid path: "+part);rest=part.slice(pos);}var last=pieces.length-1,inner=pieces[last];if(!inner)throw new RangeError("Invalid path: "+part);var rule=new Rule(tags2,mode,last>0?pieces.slice(0,last):null);byName[inner]=rule.sort(byName[inner]);}}}catch(err){_iterator156.e(err);}finally{_iterator156.f();}}return ruleNodeProp.add(byName);}var ruleNodeProp=new NodeProp();var Rule=/*#__PURE__*/function(){function Rule(tags2,mode,context,next){_classCallCheck(this,Rule);this.tags=tags2;this.mode=mode;this.context=context;this.next=next;}_createClass(Rule,[{key:"opaque",get:function get(){return this.mode==0;}},{key:"inherit",get:function get(){return this.mode==1;}},{key:"sort",value:function sort(other){if(!other||other.depth<this.depth){this.next=other;return this;}other.next=this.sort(other.next);return other;}},{key:"depth",get:function get(){return this.context?this.context.length:0;}}]);return Rule;}();Rule.empty=new Rule([],2,null);function tagHighlighter(tags2,options){var map=/* @__PURE__ */Object.create(null);var _iterator157=_createForOfIteratorHelper(tags2),_step157;try{for(_iterator157.s();!(_step157=_iterator157.n()).done;){var style=_step157.value;if(!Array.isArray(style.tag))map[style.tag.id]=style["class"];else{var _iterator160=_createForOfIteratorHelper(style.tag),_step160;try{for(_iterator160.s();!(_step160=_iterator160.n()).done;){var tag=_step160.value;map[tag.id]=style["class"];}}catch(err){_iterator160.e(err);}finally{_iterator160.f();}}}}catch(err){_iterator157.e(err);}finally{_iterator157.f();}var _ref16=options||{},scope=_ref16.scope,_ref16$all=_ref16.all,all=_ref16$all===void 0?null:_ref16$all;return{style:function style(tags3){var cls=all;var _iterator158=_createForOfIteratorHelper(tags3),_step158;try{for(_iterator158.s();!(_step158=_iterator158.n()).done;){var tag=_step158.value;var _iterator159=_createForOfIteratorHelper(tag.set),_step159;try{for(_iterator159.s();!(_step159=_iterator159.n()).done;){var sub=_step159.value;var tagClass=map[sub.id];if(tagClass){cls=cls?cls+" "+tagClass:tagClass;break;}}}catch(err){_iterator159.e(err);}finally{_iterator159.f();}}}catch(err){_iterator158.e(err);}finally{_iterator158.f();}return cls;},scope:scope};}function highlightTags(highlighters,tags2){var result=null;var _iterator161=_createForOfIteratorHelper(highlighters),_step161;try{for(_iterator161.s();!(_step161=_iterator161.n()).done;){var highlighter=_step161.value;var value=highlighter.style(tags2);if(value)result=result?result+" "+value:value;}}catch(err){_iterator161.e(err);}finally{_iterator161.f();}return result;}function highlightTree(tree,highlighter,putStyle){var from=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var to=arguments.length>4&&arguments[4]!==undefined?arguments[4]:tree.length;var builder=new HighlightBuilder(from,Array.isArray(highlighter)?highlighter:[highlighter],putStyle);builder.highlightRange(tree.cursor(),from,to,"",builder.highlighters);builder.flush(to);}var HighlightBuilder=/*#__PURE__*/function(){function HighlightBuilder(at,highlighters,span){_classCallCheck(this,HighlightBuilder);this.at=at;this.highlighters=highlighters;this.span=span;this["class"]="";}_createClass(HighlightBuilder,[{key:"startSpan",value:function startSpan(at,cls){if(cls!=this["class"]){this.flush(at);if(at>this.at)this.at=at;this["class"]=cls;}}},{key:"flush",value:function flush(to){if(to>this.at&&this["class"])this.span(this.at,to,this["class"]);}},{key:"highlightRange",value:function highlightRange(cursor,from,to,inheritedClass,highlighters){var type=cursor.type,start=cursor.from,end=cursor.to;if(start>=to||end<=from)return;if(type.isTop)highlighters=this.highlighters.filter(function(h){return!h.scope||h.scope(type);});var cls=inheritedClass;var rule=getStyleTags(cursor)||Rule.empty;var tagCls=highlightTags(highlighters,rule.tags);if(tagCls){if(cls)cls+=" ";cls+=tagCls;if(rule.mode==1)inheritedClass+=(inheritedClass?" ":"")+tagCls;}this.startSpan(Math.max(from,start),cls);if(rule.opaque)return;var mounted=cursor.tree&&cursor.tree.prop(NodeProp.mounted);if(mounted&&mounted.overlay){var inner=cursor.node.enter(mounted.overlay[0].from+start,1);var innerHighlighters=this.highlighters.filter(function(h){return!h.scope||h.scope(mounted.tree.type);});var hasChild2=cursor.firstChild();for(var _i133=0,pos=start;;_i133++){var next=_i133<mounted.overlay.length?mounted.overlay[_i133]:null;var nextPos=next?next.from+start:end;var rangeFrom=Math.max(from,pos),rangeTo=Math.min(to,nextPos);if(rangeFrom<rangeTo&&hasChild2){while(cursor.from<rangeTo){this.highlightRange(cursor,rangeFrom,rangeTo,inheritedClass,highlighters);this.startSpan(Math.min(rangeTo,cursor.to),cls);if(cursor.to>=nextPos||!cursor.nextSibling())break;}}if(!next||nextPos>to)break;pos=next.to+start;if(pos>from){this.highlightRange(inner.cursor(),Math.max(from,next.from+start),Math.min(to,pos),"",innerHighlighters);this.startSpan(Math.min(to,pos),cls);}}if(hasChild2)cursor.parent();}else if(cursor.firstChild()){if(mounted)inheritedClass="";do{if(cursor.to<=from)continue;if(cursor.from>=to)break;this.highlightRange(cursor,from,to,inheritedClass,highlighters);this.startSpan(Math.min(to,cursor.to),cls);}while(cursor.nextSibling());cursor.parent();}}}]);return HighlightBuilder;}();function getStyleTags(node){var rule=node.type.prop(ruleNodeProp);while(rule&&rule.context&&!node.matchContext(rule.context)){rule=rule.next;}return rule||null;}var t=Tag.define;var comment=t();var name=t();var typeName=t(name);var propertyName=t(name);var literal=t();var string=t(literal);var number=t(literal);var content=t();var heading=t(content);var keyword=t();var operator=t();var punctuation=t();var bracket=t(punctuation);var meta=t();var tags={comment:comment,lineComment:t(comment),blockComment:t(comment),docComment:t(comment),name:name,variableName:t(name),typeName:typeName,tagName:t(typeName),propertyName:propertyName,attributeName:t(propertyName),className:t(name),labelName:t(name),namespace:t(name),macroName:t(name),literal:literal,string:string,docString:t(string),character:t(string),attributeValue:t(string),number:number,integer:t(number),"float":t(number),bool:t(literal),regexp:t(literal),escape:t(literal),color:t(literal),url:t(literal),keyword:keyword,self:t(keyword),"null":t(keyword),atom:t(keyword),unit:t(keyword),modifier:t(keyword),operatorKeyword:t(keyword),controlKeyword:t(keyword),definitionKeyword:t(keyword),moduleKeyword:t(keyword),operator:operator,derefOperator:t(operator),arithmeticOperator:t(operator),logicOperator:t(operator),bitwiseOperator:t(operator),compareOperator:t(operator),updateOperator:t(operator),definitionOperator:t(operator),typeOperator:t(operator),controlOperator:t(operator),punctuation:punctuation,separator:t(punctuation),bracket:bracket,angleBracket:t(bracket),squareBracket:t(bracket),paren:t(bracket),brace:t(bracket),content:content,heading:heading,heading1:t(heading),heading2:t(heading),heading3:t(heading),heading4:t(heading),heading5:t(heading),heading6:t(heading),contentSeparator:t(content),list:t(content),quote:t(content),emphasis:t(content),strong:t(content),link:t(content),monospace:t(content),strikethrough:t(content),inserted:t(),deleted:t(),changed:t(),invalid:t(),meta:meta,documentMeta:t(meta),annotation:t(meta),processingInstruction:t(meta),definition:Tag.defineModifier(),constant:Tag.defineModifier(),"function":Tag.defineModifier(),standard:Tag.defineModifier(),local:Tag.defineModifier(),special:Tag.defineModifier()};var classHighlighter=tagHighlighter([{tag:tags.link,"class":"tok-link"},{tag:tags.heading,"class":"tok-heading"},{tag:tags.emphasis,"class":"tok-emphasis"},{tag:tags.strong,"class":"tok-strong"},{tag:tags.keyword,"class":"tok-keyword"},{tag:tags.atom,"class":"tok-atom"},{tag:tags.bool,"class":"tok-bool"},{tag:tags.url,"class":"tok-url"},{tag:tags.labelName,"class":"tok-labelName"},{tag:tags.inserted,"class":"tok-inserted"},{tag:tags.deleted,"class":"tok-deleted"},{tag:tags.literal,"class":"tok-literal"},{tag:tags.string,"class":"tok-string"},{tag:tags.number,"class":"tok-number"},{tag:[tags.regexp,tags.escape,tags.special(tags.string)],"class":"tok-string2"},{tag:tags.variableName,"class":"tok-variableName"},{tag:tags.local(tags.variableName),"class":"tok-variableName tok-local"},{tag:tags.definition(tags.variableName),"class":"tok-variableName tok-definition"},{tag:tags.special(tags.variableName),"class":"tok-variableName2"},{tag:tags.definition(tags.propertyName),"class":"tok-propertyName tok-definition"},{tag:tags.typeName,"class":"tok-typeName"},{tag:tags.namespace,"class":"tok-namespace"},{tag:tags.className,"class":"tok-className"},{tag:tags.macroName,"class":"tok-macroName"},{tag:tags.propertyName,"class":"tok-propertyName"},{tag:tags.operator,"class":"tok-operator"},{tag:tags.comment,"class":"tok-comment"},{tag:tags.meta,"class":"tok-meta"},{tag:tags.invalid,"class":"tok-invalid"},{tag:tags.punctuation,"class":"tok-punctuation"}]);// ../node_modules/@codemirror/language/dist/index.js 9var _a;var _languageDataProp=/* @__PURE__ */new NodeProp();function _defineLanguageFacet(baseData){return Facet.define({combine:baseData?function(values){return values.concat(baseData);}:void 0});}var _sublanguageProp=/* @__PURE__ */new NodeProp();var _Language=/*#__PURE__*/function(){function _Language(data,parser){var extraExtensions=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var name2=arguments.length>3&&arguments[3]!==undefined?arguments[3]:"";_classCallCheck(this,_Language);this.data=data;this.name=name2;if(!EditorState.prototype.hasOwnProperty("tree"))Object.defineProperty(EditorState.prototype,"tree",{get:function get(){return _syntaxTree(this);}});this.parser=parser;this.extension=[_language.of(this),EditorState.languageData.of(function(state,pos,side){var top2=topNodeAt(state,pos,side),data2=top2.type.prop(_languageDataProp);if(!data2)return[];var base2=state.facet(data2),sub=top2.type.prop(_sublanguageProp);if(sub){var innerNode=top2.resolve(pos-top2.from,side);var _iterator162=_createForOfIteratorHelper(sub),_step162;try{for(_iterator162.s();!(_step162=_iterator162.n()).done;){var sublang=_step162.value;if(sublang.test(innerNode,state)){var data3=state.facet(sublang.facet);return sublang.type=="replace"?data3:data3.concat(base2);}}}catch(err){_iterator162.e(err);}finally{_iterator162.f();}}return base2;})].concat(extraExtensions);}_createClass(_Language,[{key:"isActiveAt",value:function isActiveAt(state,pos){var side=arguments.length>2&&arguments[2]!==undefined?arguments[2]:-1;return topNodeAt(state,pos,side).type.prop(_languageDataProp)==this.data;}},{key:"findRegions",value:function findRegions(state){var _this71=this;var lang=state.facet(_language);if((lang===null||lang===void 0?void 0:lang.data)==this.data)return[{from:0,to:state.doc.length}];if(!lang||!lang.allowsNesting)return[];var result=[];var explore=function explore(tree,from){if(tree.prop(_languageDataProp)==_this71.data){result.push({from:from,to:from+tree.length});return;}var mount=tree.prop(NodeProp.mounted);if(mount){if(mount.tree.prop(_languageDataProp)==_this71.data){if(mount.overlay){var _iterator163=_createForOfIteratorHelper(mount.overlay),_step163;try{for(_iterator163.s();!(_step163=_iterator163.n()).done;){var _r6=_step163.value;result.push({from:_r6.from+from,to:_r6.to+from});}}catch(err){_iterator163.e(err);}finally{_iterator163.f();}}else result.push({from:from,to:from+tree.length});return;}else if(mount.overlay){var size=result.length;explore(mount.tree,mount.overlay[0].from+from);if(result.length>size)return;}}for(var _i134=0;_i134<tree.children.length;_i134++){var ch=tree.children[_i134];if(ch instanceof Tree)explore(ch,tree.positions[_i134]+from);}};explore(_syntaxTree(state),0);return result;}},{key:"allowsNesting",get:function get(){return true;}}]);return _Language;}();_Language.setState=/* @__PURE__ */StateEffect.define();function topNodeAt(state,pos,side){var topLang=state.facet(_language),tree=_syntaxTree(state).topNode;if(!topLang||topLang.allowsNesting){for(var node=tree;node;node=node.enter(pos,side,IterMode.ExcludeBuffers)){if(node.type.isTop)tree=node;}}return tree;}var _LRLanguage=/*#__PURE__*/function(_Language2){_inherits(_LRLanguage,_Language2);var _super29=_createSuper(_LRLanguage);function _LRLanguage(data,parser,name2){var _this72;_classCallCheck(this,_LRLanguage);_this72=_super29.call(this,data,parser,[],name2);_this72.parser=parser;return _this72;}_createClass(_LRLanguage,[{key:"configure",value:function configure(options,name2){return new _LRLanguage(this.data,this.parser.configure(options),name2||this.name);}},{key:"allowsNesting",get:function get(){return this.parser.hasWrappers();}}],[{key:"define",value:function define(spec){var data=_defineLanguageFacet(spec.languageData);return new _LRLanguage(data,spec.parser.configure({props:[_languageDataProp.add(function(type){return type.isTop?data:void 0;})]}),spec.name);}}]);return _LRLanguage;}(_Language);function _syntaxTree(state){var field=state.field(_Language.state,false);return field?field.tree:Tree.empty;}function _ensureSyntaxTree(state,upto){var timeout=arguments.length>2&&arguments[2]!==undefined?arguments[2]:50;var _a2;var parse=(_a2=state.field(_Language.state,false))===null||_a2===void 0?void 0:_a2.context;if(!parse)return null;var oldVieport=parse.viewport;parse.updateViewport({from:0,to:upto});var result=parse.isDone(upto)||parse.work(timeout,upto)?parse.tree:null;parse.updateViewport(oldVieport);return result;}function _syntaxTreeAvailable(state){var upto=arguments.length>1&&arguments[1]!==undefined?arguments[1]:state.doc.length;var _a2;return((_a2=state.field(_Language.state,false))===null||_a2===void 0?void 0:_a2.context.isDone(upto))||false;}function _forceParsing(view){var upto=arguments.length>1&&arguments[1]!==undefined?arguments[1]:view.viewport.to;var timeout=arguments.length>2&&arguments[2]!==undefined?arguments[2]:100;var success=_ensureSyntaxTree(view.state,upto,timeout);if(success!=_syntaxTree(view.state))view.dispatch({});return!!success;}function _syntaxParserRunning(view){var _a2;return((_a2=view.plugin(parseWorker))===null||_a2===void 0?void 0:_a2.isWorking())||false;}var _DocInput=/*#__PURE__*/function(){function _DocInput(doc2){_classCallCheck(this,_DocInput);this.doc=doc2;this.cursorPos=0;this.string="";this.cursor=doc2.iter();}_createClass(_DocInput,[{key:"length",get:function get(){return this.doc.length;}},{key:"syncTo",value:function syncTo(pos){this.string=this.cursor.next(pos-this.cursorPos).value;this.cursorPos=pos+this.string.length;return this.cursorPos-this.string.length;}},{key:"chunk",value:function chunk(pos){this.syncTo(pos);return this.string;}},{key:"lineChunks",get:function get(){return true;}},{key:"read",value:function read(from,to){var stringStart=this.cursorPos-this.string.length;if(from<stringStart||to>=this.cursorPos)return this.doc.sliceString(from,to);else return this.string.slice(from-stringStart,to-stringStart);}}]);return _DocInput;}();var currentContext=null;var _ParseContext=/*#__PURE__*/function(){function _ParseContext(parser,state){var fragments=arguments.length>2&&arguments[2]!==undefined?arguments[2]:[];var tree=arguments.length>3?arguments[3]:undefined;var treeLen=arguments.length>4?arguments[4]:undefined;var viewport=arguments.length>5?arguments[5]:undefined;var skipped=arguments.length>6?arguments[6]:undefined;var scheduleOn=arguments.length>7?arguments[7]:undefined;_classCallCheck(this,_ParseContext);this.parser=parser;this.state=state;this.fragments=fragments;this.tree=tree;this.treeLen=treeLen;this.viewport=viewport;this.skipped=skipped;this.scheduleOn=scheduleOn;this.parse=null;this.tempSkipped=[];}_createClass(_ParseContext,[{key:"startParse",value:function startParse(){return this.parser.startParse(new _DocInput(this.state.doc),this.fragments);}},{key:"work",value:function work(until,upto){var _this73=this;if(upto!=null&&upto>=this.state.doc.length)upto=void 0;if(this.tree!=Tree.empty&&this.isDone(upto!==null&&upto!==void 0?upto:this.state.doc.length)){this.takeTree();return true;}return this.withContext(function(){var _a2;if(typeof until=="number"){var endTime=Date.now()+until;until=function until(){return Date.now()>endTime;};}if(!_this73.parse)_this73.parse=_this73.startParse();if(upto!=null&&(_this73.parse.stoppedAt==null||_this73.parse.stoppedAt>upto)&&upto<_this73.state.doc.length)_this73.parse.stopAt(upto);for(;;){var done=_this73.parse.advance();if(done){_this73.fragments=_this73.withoutTempSkipped(TreeFragment.addTree(done,_this73.fragments,_this73.parse.stoppedAt!=null));_this73.treeLen=(_a2=_this73.parse.stoppedAt)!==null&&_a2!==void 0?_a2:_this73.state.doc.length;_this73.tree=done;_this73.parse=null;if(_this73.treeLen<(upto!==null&&upto!==void 0?upto:_this73.state.doc.length))_this73.parse=_this73.startParse();else return true;}if(until())return false;}});}},{key:"takeTree",value:function takeTree(){var _this74=this;var pos,tree;if(this.parse&&(pos=this.parse.parsedPos)>=this.treeLen){if(this.parse.stoppedAt==null||this.parse.stoppedAt>pos)this.parse.stopAt(pos);this.withContext(function(){while(!(tree=_this74.parse.advance())){}});this.treeLen=pos;this.tree=tree;this.fragments=this.withoutTempSkipped(TreeFragment.addTree(this.tree,this.fragments,true));this.parse=null;}}},{key:"withContext",value:function withContext(f){var prev=currentContext;currentContext=this;try{return f();}finally{currentContext=prev;}}},{key:"withoutTempSkipped",value:function withoutTempSkipped(fragments){for(var _r7;_r7=this.tempSkipped.pop();){fragments=cutFragments(fragments,_r7.from,_r7.to);}return fragments;}},{key:"changes",value:function changes(_changes,newState){var fragments=this.fragments,tree=this.tree,treeLen=this.treeLen,viewport=this.viewport,skipped=this.skipped;this.takeTree();if(!_changes.empty){var ranges=[];_changes.iterChangedRanges(function(fromA,toA,fromB,toB){return ranges.push({fromA:fromA,toA:toA,fromB:fromB,toB:toB});});fragments=TreeFragment.applyChanges(fragments,ranges);tree=Tree.empty;treeLen=0;viewport={from:_changes.mapPos(viewport.from,-1),to:_changes.mapPos(viewport.to,1)};if(this.skipped.length){skipped=[];var _iterator164=_createForOfIteratorHelper(this.skipped),_step164;try{for(_iterator164.s();!(_step164=_iterator164.n()).done;){var _r8=_step164.value;var from=_changes.mapPos(_r8.from,1),to=_changes.mapPos(_r8.to,-1);if(from<to)skipped.push({from:from,to:to});}}catch(err){_iterator164.e(err);}finally{_iterator164.f();}}}return new _ParseContext(this.parser,newState,fragments,tree,treeLen,viewport,skipped,this.scheduleOn);}},{key:"updateViewport",value:function updateViewport(viewport){if(this.viewport.from==viewport.from&&this.viewport.to==viewport.to)return false;this.viewport=viewport;var startLen=this.skipped.length;for(var _i135=0;_i135<this.skipped.length;_i135++){var _this$skipped$_i=this.skipped[_i135],from=_this$skipped$_i.from,to=_this$skipped$_i.to;if(from<viewport.to&&to>viewport.from){this.fragments=cutFragments(this.fragments,from,to);this.skipped.splice(_i135--,1);}}if(this.skipped.length>=startLen)return false;this.reset();return true;}},{key:"reset",value:function reset(){if(this.parse){this.takeTree();this.parse=null;}}},{key:"skipUntilInView",value:function skipUntilInView(from,to){this.skipped.push({from:from,to:to});}},{key:"isDone",value:function isDone(upto){upto=Math.min(upto,this.state.doc.length);var frags=this.fragments;return this.treeLen>=upto&&frags.length&&frags[0].from==0&&frags[0].to>=upto;}}],[{key:"create",value:function create(parser,state,viewport){return new _ParseContext(parser,state,[],Tree.empty,0,viewport,[],null);}},{key:"getSkippingParser",value:function getSkippingParser(until){return new(/*#__PURE__*/function(_Parser){_inherits(_class9,_Parser);var _super30=_createSuper(_class9);function _class9(){_classCallCheck(this,_class9);return _super30.apply(this,arguments);}_createClass(_class9,[{key:"createParse",value:function createParse(input,fragments,ranges){var from=ranges[0].from,to=ranges[ranges.length-1].to;var parser={parsedPos:from,advance:function advance(){var cx=currentContext;if(cx){var _iterator165=_createForOfIteratorHelper(ranges),_step165;try{for(_iterator165.s();!(_step165=_iterator165.n()).done;){var _r9=_step165.value;cx.tempSkipped.push(_r9);}}catch(err){_iterator165.e(err);}finally{_iterator165.f();}if(until)cx.scheduleOn=cx.scheduleOn?Promise.all([cx.scheduleOn,until]):until;}this.parsedPos=to;return new Tree(NodeType.none,[],[],to-from);},stoppedAt:null,stopAt:function stopAt(){}};return parser;}}]);return _class9;}(Parser))();}},{key:"get",value:function get(){return currentContext;}}]);return _ParseContext;}();function cutFragments(fragments,from,to){return TreeFragment.applyChanges(fragments,[{fromA:from,toA:to,fromB:from,toB:to}]);}var LanguageState=/*#__PURE__*/function(){function LanguageState(context){_classCallCheck(this,LanguageState);this.context=context;this.tree=context.tree;}_createClass(LanguageState,[{key:"apply",value:function apply(tr){if(!tr.docChanged&&this.tree==this.context.tree)return this;var newCx=this.context.changes(tr.changes,tr.state);var upto=this.context.treeLen==tr.startState.doc.length?void 0:Math.max(tr.changes.mapPos(this.context.treeLen),newCx.viewport.to);if(!newCx.work(20,upto))newCx.takeTree();return new LanguageState(newCx);}}],[{key:"init",value:function init(state){var vpTo=Math.min(3e3,state.doc.length);var parseState=_ParseContext.create(state.facet(_language).parser,state,{from:0,to:vpTo});if(!parseState.work(20,vpTo))parseState.takeTree();return new LanguageState(parseState);}}]);return LanguageState;}();_Language.state=/* @__PURE__ */StateField.define({create:LanguageState.init,update:function update(value,tr){var _iterator166=_createForOfIteratorHelper(tr.effects),_step166;try{for(_iterator166.s();!(_step166=_iterator166.n()).done;){var e=_step166.value;if(e.is(_Language.setState))return e.value;}}catch(err){_iterator166.e(err);}finally{_iterator166.f();}if(tr.startState.facet(_language)!=tr.state.facet(_language))return LanguageState.init(tr.state);return value.apply(tr);}});var requestIdle=function requestIdle(callback){var timeout=setTimeout(function(){return callback();},500);return function(){return clearTimeout(timeout);};};if(typeof requestIdleCallback!="undefined")requestIdle=function requestIdle(callback){var idle=-1,timeout=setTimeout(function(){idle=requestIdleCallback(callback,{timeout:500-100});},100);return function(){return idle<0?clearTimeout(timeout):cancelIdleCallback(idle);};};var isInputPending=typeof navigator!="undefined"&&((_a=navigator.scheduling)===null||_a===void 0?void 0:_a.isInputPending)?function(){return navigator.scheduling.isInputPending();}:null;var parseWorker=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function ParseWorker(view){_classCallCheck(this,ParseWorker);this.view=view;this.working=null;this.workScheduled=0;this.chunkEnd=-1;this.chunkBudget=-1;this.work=this.work.bind(this);this.scheduleWork();}_createClass(ParseWorker,[{key:"update",value:function update(_update19){var cx=this.view.state.field(_Language.state).context;if(cx.updateViewport(_update19.view.viewport)||this.view.viewport.to>cx.treeLen)this.scheduleWork();if(_update19.docChanged||_update19.selectionSet){if(this.view.hasFocus)this.chunkBudget+=50;this.scheduleWork();}this.checkAsyncSchedule(cx);}},{key:"scheduleWork",value:function scheduleWork(){if(this.working)return;var state=this.view.state,field=state.field(_Language.state);if(field.tree!=field.context.tree||!field.context.isDone(state.doc.length))this.working=requestIdle(this.work);}},{key:"work",value:function work(deadline){this.working=null;var now=Date.now();if(this.chunkEnd<now&&(this.chunkEnd<0||this.view.hasFocus)){this.chunkEnd=now+3e4;this.chunkBudget=3e3;}if(this.chunkBudget<=0)return;var _this$view3=this.view,state=_this$view3.state,vpTo=_this$view3.viewport.to,field=state.field(_Language.state);if(field.tree==field.context.tree&&field.context.isDone(vpTo+1e5))return;var endTime=Date.now()+Math.min(this.chunkBudget,100,deadline&&!isInputPending?Math.max(25,deadline.timeRemaining()-5):1e9);var viewportFirst=field.context.treeLen<vpTo&&state.doc.length>vpTo+1e3;var done=field.context.work(function(){return isInputPending&&isInputPending()||Date.now()>endTime;},vpTo+(viewportFirst?0:1e5));this.chunkBudget-=Date.now()-now;if(done||this.chunkBudget<=0){field.context.takeTree();this.view.dispatch({effects:_Language.setState.of(new LanguageState(field.context))});}if(this.chunkBudget>0&&!(done&&!viewportFirst))this.scheduleWork();this.checkAsyncSchedule(field.context);}},{key:"checkAsyncSchedule",value:function checkAsyncSchedule(cx){var _this75=this;if(cx.scheduleOn){this.workScheduled++;cx.scheduleOn.then(function(){return _this75.scheduleWork();})["catch"](function(err){return logException(_this75.view.state,err);}).then(function(){return _this75.workScheduled--;});cx.scheduleOn=null;}}},{key:"destroy",value:function destroy(){if(this.working)this.working();}},{key:"isWorking",value:function isWorking(){return!!(this.working||this.workScheduled>0);}}]);return ParseWorker;}(),{eventHandlers:{focus:function focus(){this.scheduleWork();}}});var _language=/* @__PURE__ */Facet.define({combine:function combine(languages){return languages.length?languages[0]:null;},enables:function enables(language2){return[_Language.state,parseWorker,EditorView.contentAttributes.compute([language2],function(state){var lang=state.facet(language2);return lang&&lang.name?{"data-language":lang.name}:{};})];}});var _LanguageSupport=/*#__PURE__*/_createClass(function _LanguageSupport(language2){var support=arguments.length>1&&arguments[1]!==undefined?arguments[1]:[];_classCallCheck(this,_LanguageSupport);this.language=language2;this.support=support;this.extension=[language2,support];});var _LanguageDescription=/*#__PURE__*/function(){function _LanguageDescription(name2,alias,extensions,filename,loadFunc){var support=arguments.length>5&&arguments[5]!==undefined?arguments[5]:void 0;_classCallCheck(this,_LanguageDescription);this.name=name2;this.alias=alias;this.extensions=extensions;this.filename=filename;this.loadFunc=loadFunc;this.support=support;this.loading=null;}_createClass(_LanguageDescription,[{key:"load",value:function load(){var _this76=this;return this.loading||(this.loading=this.loadFunc().then(function(support){return _this76.support=support;},function(err){_this76.loading=null;throw err;}));}}],[{key:"of",value:function of(spec){var load=spec.load,support=spec.support;if(!load){if(!support)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");load=function load(){return Promise.resolve(support);};}return new _LanguageDescription(spec.name,(spec.alias||[]).concat(spec.name).map(function(s){return s.toLowerCase();}),spec.extensions||[],spec.filename,load,support);}},{key:"matchFilename",value:function matchFilename(descs,filename){var _iterator167=_createForOfIteratorHelper(descs),_step167;try{for(_iterator167.s();!(_step167=_iterator167.n()).done;){var _d2=_step167.value;if(_d2.filename&&_d2.filename.test(filename))return _d2;}}catch(err){_iterator167.e(err);}finally{_iterator167.f();}var ext=/\.([^.]+)$/.exec(filename);if(ext){var _iterator168=_createForOfIteratorHelper(descs),_step168;try{for(_iterator168.s();!(_step168=_iterator168.n()).done;){var d=_step168.value;if(d.extensions.indexOf(ext[1])>-1)return d;}}catch(err){_iterator168.e(err);}finally{_iterator168.f();}}return null;}},{key:"matchLanguageName",value:function matchLanguageName(descs,name2){var fuzzy=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;name2=name2.toLowerCase();var _iterator169=_createForOfIteratorHelper(descs),_step169;try{for(_iterator169.s();!(_step169=_iterator169.n()).done;){var _d3=_step169.value;if(_d3.alias.some(function(a){return a==name2;}))return _d3;}}catch(err){_iterator169.e(err);}finally{_iterator169.f();}if(fuzzy){var _iterator170=_createForOfIteratorHelper(descs),_step170;try{for(_iterator170.s();!(_step170=_iterator170.n()).done;){var d=_step170.value;var _iterator171=_createForOfIteratorHelper(d.alias),_step171;try{for(_iterator171.s();!(_step171=_iterator171.n()).done;){var a=_step171.value;var found=name2.indexOf(a);if(found>-1&&(a.length>2||!/\w/.test(name2[found-1])&&!/\w/.test(name2[found+a.length])))return d;}}catch(err){_iterator171.e(err);}finally{_iterator171.f();}}}catch(err){_iterator170.e(err);}finally{_iterator170.f();}}return null;}}]);return _LanguageDescription;}();var _indentService=/* @__PURE__ */Facet.define();var _indentUnit=/* @__PURE__ */Facet.define({combine:function combine(values){if(!values.length)return" ";var unit=values[0];if(!unit||/\S/.test(unit)||Array.from(unit).some(function(e){return e!=unit[0];}))throw new Error("Invalid indent unit: "+JSON.stringify(values[0]));return unit;}});function _getIndentUnit(state){var unit=state.facet(_indentUnit);return unit.charCodeAt(0)==9?state.tabSize*unit.length:unit.length;}function _indentString(state,cols){var result="",ts=state.tabSize,ch=state.facet(_indentUnit)[0];if(ch==" "){while(cols>=ts){result+=" ";cols-=ts;}ch=" ";}for(var _i136=0;_i136<cols;_i136++){result+=ch;}return result;}function _getIndentation(context,pos){if(context instanceof EditorState)context=new _IndentContext(context);var _iterator172=_createForOfIteratorHelper(context.state.facet(_indentService)),_step172;try{for(_iterator172.s();!(_step172=_iterator172.n()).done;){var service=_step172.value;var result=service(context,pos);if(result!==void 0)return result;}}catch(err){_iterator172.e(err);}finally{_iterator172.f();}var tree=_syntaxTree(context.state);return tree.length>=pos?syntaxIndentation(context,tree,pos):null;}function _indentRange(state,from,to){var updated=/* @__PURE__ */Object.create(null);var context=new _IndentContext(state,{overrideIndentation:function overrideIndentation(start){var _a2;return(_a2=updated[start])!==null&&_a2!==void 0?_a2:-1;}});var changes=[];for(var pos=from;pos<=to;){var line=state.doc.lineAt(pos);pos=line.to+1;var indent=_getIndentation(context,line.from);if(indent==null)continue;if(!/\S/.test(line.text))indent=0;var cur2=/^\s*/.exec(line.text)[0];var norm=_indentString(state,indent);if(cur2!=norm){updated[line.from]=indent;changes.push({from:line.from,to:line.from+cur2.length,insert:norm});}}return state.changes(changes);}var _IndentContext=/*#__PURE__*/function(){function _IndentContext(state){var options=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};_classCallCheck(this,_IndentContext);this.state=state;this.options=options;this.unit=_getIndentUnit(state);}_createClass(_IndentContext,[{key:"lineAt",value:function lineAt(pos){var bias=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var line=this.state.doc.lineAt(pos);var _this$options=this.options,simulateBreak=_this$options.simulateBreak,simulateDoubleBreak=_this$options.simulateDoubleBreak;if(simulateBreak!=null&&simulateBreak>=line.from&&simulateBreak<=line.to){if(simulateDoubleBreak&&simulateBreak==pos)return{text:"",from:pos};else if(bias<0?simulateBreak<pos:simulateBreak<=pos)return{text:line.text.slice(simulateBreak-line.from),from:simulateBreak};else return{text:line.text.slice(0,simulateBreak-line.from),from:line.from};}return line;}},{key:"textAfterPos",value:function textAfterPos(pos){var bias=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;if(this.options.simulateDoubleBreak&&pos==this.options.simulateBreak)return"";var _this$lineAt=this.lineAt(pos,bias),text=_this$lineAt.text,from=_this$lineAt.from;return text.slice(pos-from,Math.min(text.length,pos+100-from));}},{key:"column",value:function column(pos){var bias=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var _this$lineAt2=this.lineAt(pos,bias),text=_this$lineAt2.text,from=_this$lineAt2.from;var result=this.countColumn(text,pos-from);var override=this.options.overrideIndentation?this.options.overrideIndentation(from):-1;if(override>-1)result+=override-this.countColumn(text,text.search(/\S|$/));return result;}},{key:"countColumn",value:function countColumn(line){var pos=arguments.length>1&&arguments[1]!==undefined?arguments[1]:line.length;return _countColumn(line,this.state.tabSize,pos);}},{key:"lineIndent",value:function lineIndent(pos){var bias=arguments.length>1&&arguments[1]!==undefined?arguments[1]:1;var _this$lineAt3=this.lineAt(pos,bias),text=_this$lineAt3.text,from=_this$lineAt3.from;var override=this.options.overrideIndentation;if(override){var overriden=override(from);if(overriden>-1)return overriden;}return this.countColumn(text,text.search(/\S|$/));}},{key:"simulatedBreak",get:function get(){return this.options.simulateBreak||null;}}]);return _IndentContext;}();var _indentNodeProp=/* @__PURE__ */new NodeProp();function syntaxIndentation(cx,ast,pos){var stack=ast.resolveStack(pos);var inner=stack.node.enterUnfinishedNodesBefore(pos);if(inner!=stack.node){var add2=[];for(var cur2=inner;cur2!=stack.node;cur2=cur2.parent){add2.push(cur2);}for(var _i137=add2.length-1;_i137>=0;_i137--){stack={node:add2[_i137],next:stack};}}return indentFor(stack,cx,pos);}function indentFor(stack,cx,pos){for(var cur2=stack;cur2;cur2=cur2.next){var strategy=indentStrategy(cur2.node);if(strategy)return strategy(_TreeIndentContext.create(cx,pos,cur2));}return 0;}function ignoreClosed(cx){return cx.pos==cx.options.simulateBreak&&cx.options.simulateDoubleBreak;}function indentStrategy(tree){var strategy=tree.type.prop(_indentNodeProp);if(strategy)return strategy;var first=tree.firstChild,close;if(first&&(close=first.type.prop(NodeProp.closedBy))){var last=tree.lastChild,closed=last&&close.indexOf(last.name)>-1;return function(cx){return delimitedStrategy(cx,true,1,void 0,closed&&!ignoreClosed(cx)?last.from:void 0);};}return tree.parent==null?topIndent:null;}function topIndent(){return 0;}var _TreeIndentContext=/*#__PURE__*/function(_IndentContext2){_inherits(_TreeIndentContext,_IndentContext2);var _super31=_createSuper(_TreeIndentContext);function _TreeIndentContext(base2,pos,context){var _this77;_classCallCheck(this,_TreeIndentContext);_this77=_super31.call(this,base2.state,base2.options);_this77.base=base2;_this77.pos=pos;_this77.context=context;return _this77;}_createClass(_TreeIndentContext,[{key:"node",get:function get(){return this.context.node;}},{key:"textAfter",get:function get(){return this.textAfterPos(this.pos);}},{key:"baseIndent",get:function get(){return this.baseIndentFor(this.node);}},{key:"baseIndentFor",value:function baseIndentFor(node){var line=this.state.doc.lineAt(node.from);for(;;){var atBreak=node.resolve(line.from);while(atBreak.parent&&atBreak.parent.from==atBreak.from){atBreak=atBreak.parent;}if(isParent(atBreak,node))break;line=this.state.doc.lineAt(atBreak.from);}return this.lineIndent(line.from);}},{key:"continue",value:function _continue(){return indentFor(this.context.next,this.base,this.pos);}}],[{key:"create",value:function create(base2,pos,context){return new _TreeIndentContext(base2,pos,context);}}]);return _TreeIndentContext;}(_IndentContext);function isParent(parent,of){for(var cur2=of;cur2;cur2=cur2.parent){if(parent==cur2)return true;}return false;}function bracketedAligned(context){var tree=context.node;var openToken=tree.childAfter(tree.from),last=tree.lastChild;if(!openToken)return null;var sim=context.options.simulateBreak;var openLine=context.state.doc.lineAt(openToken.from);var lineEnd=sim==null||sim<=openLine.from?openLine.to:Math.min(openLine.to,sim);for(var pos=openToken.to;;){var next=tree.childAfter(pos);if(!next||next==last)return null;if(!next.type.isSkipped)return next.from<lineEnd?openToken:null;pos=next.to;}}function _delimitedIndent(_ref17){var closing2=_ref17.closing,_ref17$align=_ref17.align,align=_ref17$align===void 0?true:_ref17$align,_ref17$units=_ref17.units,units=_ref17$units===void 0?1:_ref17$units;return function(context){return delimitedStrategy(context,align,units,closing2);};}function delimitedStrategy(context,align,units,closing2,closedAt){var after=context.textAfter,space=after.match(/^\s*/)[0].length;var closed=closing2&&after.slice(space,space+closing2.length)==closing2||closedAt==context.pos+space;var aligned=align?bracketedAligned(context):null;if(aligned)return closed?context.column(aligned.from):context.column(aligned.to);return context.baseIndent+(closed?0:context.unit*units);}var _flatIndent=function _flatIndent(context){return context.baseIndent;};function _continuedIndent(){var _ref18=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},except=_ref18.except,_ref18$units=_ref18.units,units=_ref18$units===void 0?1:_ref18$units;return function(context){var matchExcept=except&&except.test(context.textAfter);return context.baseIndent+(matchExcept?0:units*context.unit);};}var DontIndentBeyond=200;function _indentOnInput(){return EditorState.transactionFilter.of(function(tr){if(!tr.docChanged||!tr.isUserEvent("input.type")&&!tr.isUserEvent("input.complete"))return tr;var rules=tr.startState.languageDataAt("indentOnInput",tr.startState.selection.main.head);if(!rules.length)return tr;var doc2=tr.newDoc,head=tr.newSelection.main.head,line=doc2.lineAt(head);if(head>line.from+DontIndentBeyond)return tr;var lineStart=doc2.sliceString(line.from,head);if(!rules.some(function(r){return r.test(lineStart);}))return tr;var state=tr.state,last=-1,changes=[];var _iterator173=_createForOfIteratorHelper(state.selection.ranges),_step173;try{for(_iterator173.s();!(_step173=_iterator173.n()).done;){var head2=_step173.value.head;var line2=state.doc.lineAt(head2);if(line2.from==last)continue;last=line2.from;var indent=_getIndentation(state,line2.from);if(indent==null)continue;var cur2=/^\s*/.exec(line2.text)[0];var norm=_indentString(state,indent);if(cur2!=norm)changes.push({from:line2.from,to:line2.from+cur2.length,insert:norm});}}catch(err){_iterator173.e(err);}finally{_iterator173.f();}return changes.length?[tr,{changes:changes,sequential:true}]:tr;});}var _foldService=/* @__PURE__ */Facet.define();var _foldNodeProp=/* @__PURE__ */new NodeProp();function _foldInside(node){var first=node.firstChild,last=node.lastChild;return first&&first.to<last.from?{from:first.to,to:last.type.isError?node.to:last.from}:null;}function syntaxFolding(state,start,end){var tree=_syntaxTree(state);if(tree.length<end)return null;var stack=tree.resolveStack(end,1);var found=null;for(var iter=stack;iter;iter=iter.next){var cur2=iter.node;if(cur2.to<=end||cur2.from>end)continue;if(found&&cur2.from<start)break;var prop=cur2.type.prop(_foldNodeProp);if(prop&&(cur2.to<tree.length-50||tree.length==state.doc.length||!isUnfinished(cur2))){var value=prop(cur2,state);if(value&&value.from<=end&&value.from>=start&&value.to>end)found=value;}}return found;}function isUnfinished(node){var ch=node.lastChild;return ch&&ch.to==node.to&&ch.type.isError;}function _foldable(state,lineStart,lineEnd){var _iterator174=_createForOfIteratorHelper(state.facet(_foldService)),_step174;try{for(_iterator174.s();!(_step174=_iterator174.n()).done;){var service=_step174.value;var result=service(state,lineStart,lineEnd);if(result)return result;}}catch(err){_iterator174.e(err);}finally{_iterator174.f();}return syntaxFolding(state,lineStart,lineEnd);}function mapRange(range,mapping){var from=mapping.mapPos(range.from,1),to=mapping.mapPos(range.to,-1);return from>=to?void 0:{from:from,to:to};}var _foldEffect=/* @__PURE__ */StateEffect.define({map:mapRange});var _unfoldEffect=/* @__PURE__ */StateEffect.define({map:mapRange});function selectedLines(view){var lines=[];var _iterator175=_createForOfIteratorHelper(view.state.selection.ranges),_step175;try{var _loop10=function _loop10(){var head=_step175.value.head;if(lines.some(function(l){return l.from<=head&&l.to>=head;}))return"continue";lines.push(view.lineBlockAt(head));};for(_iterator175.s();!(_step175=_iterator175.n()).done;){var _ret3=_loop10();if(_ret3==="continue")continue;}}catch(err){_iterator175.e(err);}finally{_iterator175.f();}return lines;}var _foldState=/* @__PURE__ */StateField.define({create:function create(){return Decoration.none;},update:function update(folded,tr){folded=folded.map(tr.changes);var _iterator176=_createForOfIteratorHelper(tr.effects),_step176;try{var _loop11=function _loop11(){var e=_step176.value;if(e.is(_foldEffect)&&!foldExists(folded,e.value.from,e.value.to)){var _tr$state$facet=tr.state.facet(foldConfig),preparePlaceholder=_tr$state$facet.preparePlaceholder;var widget=!preparePlaceholder?foldWidget:Decoration.replace({widget:new PreparedFoldWidget(preparePlaceholder(tr.state,e.value))});folded=folded.update({add:[widget.range(e.value.from,e.value.to)]});}else if(e.is(_unfoldEffect)){folded=folded.update({filter:function filter(from,to){return e.value.from!=from||e.value.to!=to;},filterFrom:e.value.from,filterTo:e.value.to});}};for(_iterator176.s();!(_step176=_iterator176.n()).done;){_loop11();}}catch(err){_iterator176.e(err);}finally{_iterator176.f();}if(tr.selection){var onSelection=false,head=tr.selection.main.head;folded.between(head,head,function(a,b){if(a<head&&b>head)onSelection=true;});if(onSelection)folded=folded.update({filterFrom:head,filterTo:head,filter:function filter(a,b){return b<=head||a>=head;}});}return folded;},provide:function provide(f){return EditorView.decorations.from(f);},toJSON:function toJSON(folded,state){var ranges=[];folded.between(0,state.doc.length,function(from,to){ranges.push(from,to);});return ranges;},fromJSON:function fromJSON(value){if(!Array.isArray(value)||value.length%2)throw new RangeError("Invalid JSON for fold state");var ranges=[];for(var _i138=0;_i138<value.length;){var from=value[_i138++],to=value[_i138++];if(typeof from!="number"||typeof to!="number")throw new RangeError("Invalid JSON for fold state");ranges.push(foldWidget.range(from,to));}return Decoration.set(ranges,true);}});function _foldedRanges(state){return state.field(_foldState,false)||RangeSet.empty;}function findFold(state,from,to){var _a2;var found=null;(_a2=state.field(_foldState,false))===null||_a2===void 0?void 0:_a2.between(from,to,function(from2,to2){if(!found||found.from>from2)found={from:from2,to:to2};});return found;}function foldExists(folded,from,to){var found=false;folded.between(from,from,function(a,b){if(a==from&&b==to)found=true;});return found;}function maybeEnable(state,other){return state.field(_foldState,false)?other:other.concat(StateEffect.appendConfig.of(_codeFolding()));}var _foldCode=function _foldCode(view){var _iterator177=_createForOfIteratorHelper(selectedLines(view)),_step177;try{for(_iterator177.s();!(_step177=_iterator177.n()).done;){var line=_step177.value;var range=_foldable(view.state,line.from,line.to);if(range){view.dispatch({effects:maybeEnable(view.state,[_foldEffect.of(range),announceFold(view,range)])});return true;}}}catch(err){_iterator177.e(err);}finally{_iterator177.f();}return false;};var _unfoldCode=function _unfoldCode(view){if(!view.state.field(_foldState,false))return false;var effects=[];var _iterator178=_createForOfIteratorHelper(selectedLines(view)),_step178;try{for(_iterator178.s();!(_step178=_iterator178.n()).done;){var line=_step178.value;var folded=findFold(view.state,line.from,line.to);if(folded)effects.push(_unfoldEffect.of(folded),announceFold(view,folded,false));}}catch(err){_iterator178.e(err);}finally{_iterator178.f();}if(effects.length)view.dispatch({effects:effects});return effects.length>0;};function announceFold(view,range){var fold=arguments.length>2&&arguments[2]!==undefined?arguments[2]:true;var lineFrom=view.state.doc.lineAt(range.from).number,lineTo=view.state.doc.lineAt(range.to).number;return EditorView.announce.of("".concat(view.state.phrase(fold?"Folded lines":"Unfolded lines")," ").concat(lineFrom," ").concat(view.state.phrase("to")," ").concat(lineTo,"."));}var _foldAll=function _foldAll(view){var state=view.state,effects=[];for(var pos=0;pos<state.doc.length;){var line=view.lineBlockAt(pos),range=_foldable(state,line.from,line.to);if(range)effects.push(_foldEffect.of(range));pos=(range?view.lineBlockAt(range.to):line).to+1;}if(effects.length)view.dispatch({effects:maybeEnable(view.state,effects)});return!!effects.length;};var _unfoldAll=function _unfoldAll(view){var field=view.state.field(_foldState,false);if(!field||!field.size)return false;var effects=[];field.between(0,view.state.doc.length,function(from,to){effects.push(_unfoldEffect.of({from:from,to:to}));});view.dispatch({effects:effects});return true;};function foldableContainer(view,lineBlock){for(var line=lineBlock;;){var foldableRegion=_foldable(view.state,line.from,line.to);if(foldableRegion&&foldableRegion.to>lineBlock.from)return foldableRegion;if(!line.from)return null;line=view.lineBlockAt(line.from-1);}}var _toggleFold=function _toggleFold(view){var effects=[];var _iterator179=_createForOfIteratorHelper(selectedLines(view)),_step179;try{for(_iterator179.s();!(_step179=_iterator179.n()).done;){var line=_step179.value;var folded=findFold(view.state,line.from,line.to);if(folded){effects.push(_unfoldEffect.of(folded),announceFold(view,folded,false));}else{var foldRange=foldableContainer(view,line);if(foldRange)effects.push(_foldEffect.of(foldRange),announceFold(view,foldRange));}}}catch(err){_iterator179.e(err);}finally{_iterator179.f();}if(effects.length>0)view.dispatch({effects:maybeEnable(view.state,effects)});return!!effects.length;};var _foldKeymap=[{key:"Ctrl-Shift-[",mac:"Cmd-Alt-[",run:_foldCode},{key:"Ctrl-Shift-]",mac:"Cmd-Alt-]",run:_unfoldCode},{key:"Ctrl-Alt-[",run:_foldAll},{key:"Ctrl-Alt-]",run:_unfoldAll}];var defaultConfig={placeholderDOM:null,preparePlaceholder:null,placeholderText:"\u2026"};var foldConfig=/* @__PURE__ */Facet.define({combine:function combine(values){return combineConfig(values,defaultConfig);}});function _codeFolding(config2){var result=[_foldState,baseTheme$12];if(config2)result.push(foldConfig.of(config2));return result;}function widgetToDOM(view,prepared){var state=view.state,conf=state.facet(foldConfig);var onclick=function onclick(event){var line=view.lineBlockAt(view.posAtDOM(event.target));var folded=findFold(view.state,line.from,line.to);if(folded)view.dispatch({effects:_unfoldEffect.of(folded)});event.preventDefault();};if(conf.placeholderDOM)return conf.placeholderDOM(view,onclick,prepared);var element=document.createElement("span");element.textContent=conf.placeholderText;element.setAttribute("aria-label",state.phrase("folded code"));element.title=state.phrase("unfold");element.className="cm-foldPlaceholder";element.onclick=onclick;return element;}var foldWidget=/* @__PURE__ */Decoration.replace({widget:/* @__PURE__ */new(/*#__PURE__*/function(_WidgetType6){_inherits(_class10,_WidgetType6);var _super32=_createSuper(_class10);function _class10(){_classCallCheck(this,_class10);return _super32.apply(this,arguments);}_createClass(_class10,[{key:"toDOM",value:function toDOM(view){return widgetToDOM(view,null);}}]);return _class10;}(WidgetType))()});var PreparedFoldWidget=/*#__PURE__*/function(_WidgetType7){_inherits(PreparedFoldWidget,_WidgetType7);var _super33=_createSuper(PreparedFoldWidget);function PreparedFoldWidget(value){var _this78;_classCallCheck(this,PreparedFoldWidget);_this78=_super33.call(this);_this78.value=value;return _this78;}_createClass(PreparedFoldWidget,[{key:"eq",value:function eq(other){return this.value==other.value;}},{key:"toDOM",value:function toDOM(view){return widgetToDOM(view,this.value);}}]);return PreparedFoldWidget;}(WidgetType);var foldGutterDefaults={openText:"\u2304",closedText:"\u203A",markerDOM:null,domEventHandlers:{},foldingChanged:function foldingChanged(){return false;}};var FoldMarker=/*#__PURE__*/function(_GutterMarker3){_inherits(FoldMarker,_GutterMarker3);var _super34=_createSuper(FoldMarker);function FoldMarker(config2,open){var _this79;_classCallCheck(this,FoldMarker);_this79=_super34.call(this);_this79.config=config2;_this79.open=open;return _this79;}_createClass(FoldMarker,[{key:"eq",value:function eq(other){return this.config==other.config&&this.open==other.open;}},{key:"toDOM",value:function toDOM(view){if(this.config.markerDOM)return this.config.markerDOM(this.open);var span=document.createElement("span");span.textContent=this.open?this.config.openText:this.config.closedText;span.title=view.state.phrase(this.open?"Fold line":"Unfold line");return span;}}]);return FoldMarker;}(GutterMarker);function _foldGutter(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var fullConfig=Object.assign(Object.assign({},foldGutterDefaults),config2);var canFold=new FoldMarker(fullConfig,true),canUnfold=new FoldMarker(fullConfig,false);var _markers=ViewPlugin.fromClass(/*#__PURE__*/function(){function _class11(view){_classCallCheck(this,_class11);this.from=view.viewport.from;this.markers=this.buildMarkers(view);}_createClass(_class11,[{key:"update",value:function update(_update20){if(_update20.docChanged||_update20.viewportChanged||_update20.startState.facet(_language)!=_update20.state.facet(_language)||_update20.startState.field(_foldState,false)!=_update20.state.field(_foldState,false)||_syntaxTree(_update20.startState)!=_syntaxTree(_update20.state)||fullConfig.foldingChanged(_update20))this.markers=this.buildMarkers(_update20.view);}},{key:"buildMarkers",value:function buildMarkers(view){var builder=new RangeSetBuilder();var _iterator180=_createForOfIteratorHelper(view.viewportLineBlocks),_step180;try{for(_iterator180.s();!(_step180=_iterator180.n()).done;){var line=_step180.value;var mark=findFold(view.state,line.from,line.to)?canUnfold:_foldable(view.state,line.from,line.to)?canFold:null;if(mark)builder.add(line.from,line.from,mark);}}catch(err){_iterator180.e(err);}finally{_iterator180.f();}return builder.finish();}}]);return _class11;}());var domEventHandlers=fullConfig.domEventHandlers;return[_markers,gutter({"class":"cm-foldGutter",markers:function markers(view){var _a2;return((_a2=view.plugin(_markers))===null||_a2===void 0?void 0:_a2.markers)||RangeSet.empty;},initialSpacer:function initialSpacer(){return new FoldMarker(fullConfig,false);},domEventHandlers:Object.assign(Object.assign({},domEventHandlers),{click:function click(view,line,event){if(domEventHandlers.click&&domEventHandlers.click(view,line,event))return true;var folded=findFold(view.state,line.from,line.to);if(folded){view.dispatch({effects:_unfoldEffect.of(folded)});return true;}var range=_foldable(view.state,line.from,line.to);if(range){view.dispatch({effects:_foldEffect.of(range)});return true;}return false;}})}),_codeFolding()];}var baseTheme$12=/* @__PURE__ */EditorView.baseTheme({".cm-foldPlaceholder":{backgroundColor:"#eee",border:"1px solid #ddd",color:"#888",borderRadius:".2em",margin:"0 1px",padding:"0 1px",cursor:"pointer"},".cm-foldGutter span":{padding:"0 1px",cursor:"pointer"}});var _HighlightStyle=/*#__PURE__*/function(){function _HighlightStyle(specs,options){_classCallCheck(this,_HighlightStyle);this.specs=specs;var modSpec;function def(spec){var cls=StyleModule.newName();(modSpec||(modSpec=/* @__PURE__ */Object.create(null)))["."+cls]=spec;return cls;}var all=typeof options.all=="string"?options.all:options.all?def(options.all):void 0;var scopeOpt=options.scope;this.scope=scopeOpt instanceof _Language?function(type){return type.prop(_languageDataProp)==scopeOpt.data;}:scopeOpt?function(type){return type==scopeOpt;}:void 0;this.style=tagHighlighter(specs.map(function(style){return{tag:style.tag,"class":style["class"]||def(Object.assign({},style,{tag:null}))};}),{all:all}).style;this.module=modSpec?new StyleModule(modSpec):null;this.themeType=options.themeType;}_createClass(_HighlightStyle,null,[{key:"define",value:function define(specs,options){return new _HighlightStyle(specs,options||{});}}]);return _HighlightStyle;}();var highlighterFacet=/* @__PURE__ */Facet.define();var fallbackHighlighter=/* @__PURE__ */Facet.define({combine:function combine(values){return values.length?[values[0]]:null;}});function getHighlighters(state){var main=state.facet(highlighterFacet);return main.length?main:state.facet(fallbackHighlighter);}function _syntaxHighlighting(highlighter,options){var ext=[treeHighlighter],themeType;if(highlighter instanceof _HighlightStyle){if(highlighter.module)ext.push(EditorView.styleModule.of(highlighter.module));themeType=highlighter.themeType;}if(options===null||options===void 0?void 0:options.fallback)ext.push(fallbackHighlighter.of(highlighter));else if(themeType)ext.push(highlighterFacet.computeN([EditorView.darkTheme],function(state){return state.facet(EditorView.darkTheme)==(themeType=="dark")?[highlighter]:[];}));else ext.push(highlighterFacet.of(highlighter));return ext;}function _highlightingFor(state,tags2,scope){var highlighters=getHighlighters(state);var result=null;if(highlighters){var _iterator181=_createForOfIteratorHelper(highlighters),_step181;try{for(_iterator181.s();!(_step181=_iterator181.n()).done;){var highlighter=_step181.value;if(!highlighter.scope||scope&&highlighter.scope(scope)){var cls=highlighter.style(tags2);if(cls)result=result?result+" "+cls:cls;}}}catch(err){_iterator181.e(err);}finally{_iterator181.f();}}return result;}var TreeHighlighter=/*#__PURE__*/function(){function TreeHighlighter(view){_classCallCheck(this,TreeHighlighter);this.markCache=/* @__PURE__ */Object.create(null);this.tree=_syntaxTree(view.state);this.decorations=this.buildDeco(view,getHighlighters(view.state));this.decoratedTo=view.viewport.to;}_createClass(TreeHighlighter,[{key:"update",value:function update(_update21){var tree=_syntaxTree(_update21.state),highlighters=getHighlighters(_update21.state);var styleChange=highlighters!=getHighlighters(_update21.startState);var viewport=_update21.view.viewport,decoratedToMapped=_update21.changes.mapPos(this.decoratedTo,1);if(tree.length<viewport.to&&!styleChange&&tree.type==this.tree.type&&decoratedToMapped>=viewport.to){this.decorations=this.decorations.map(_update21.changes);this.decoratedTo=decoratedToMapped;}else if(tree!=this.tree||_update21.viewportChanged||styleChange){this.tree=tree;this.decorations=this.buildDeco(_update21.view,highlighters);this.decoratedTo=viewport.to;}}},{key:"buildDeco",value:function buildDeco(view,highlighters){var _this80=this;if(!highlighters||!this.tree.length)return Decoration.none;var builder=new RangeSetBuilder();var _iterator182=_createForOfIteratorHelper(view.visibleRanges),_step182;try{for(_iterator182.s();!(_step182=_iterator182.n()).done;){var _step182$value=_step182.value,from=_step182$value.from,to=_step182$value.to;highlightTree(this.tree,highlighters,function(from2,to2,style){builder.add(from2,to2,_this80.markCache[style]||(_this80.markCache[style]=Decoration.mark({"class":style})));},from,to);}}catch(err){_iterator182.e(err);}finally{_iterator182.f();}return builder.finish();}}]);return TreeHighlighter;}();var treeHighlighter=/* @__PURE__ */Prec.high(/* @__PURE__ */ViewPlugin.fromClass(TreeHighlighter,{decorations:function decorations(v){return v.decorations;}}));var _defaultHighlightStyle=/* @__PURE__ */_HighlightStyle.define([{tag:tags.meta,color:"#404740"},{tag:tags.link,textDecoration:"underline"},{tag:tags.heading,textDecoration:"underline",fontWeight:"bold"},{tag:tags.emphasis,fontStyle:"italic"},{tag:tags.strong,fontWeight:"bold"},{tag:tags.strikethrough,textDecoration:"line-through"},{tag:tags.keyword,color:"#708"},{tag:[tags.atom,tags.bool,tags.url,tags.contentSeparator,tags.labelName],color:"#219"},{tag:[tags.literal,tags.inserted],color:"#164"},{tag:[tags.string,tags.deleted],color:"#a11"},{tag:[tags.regexp,tags.escape,/* @__PURE__ */tags.special(tags.string)],color:"#e40"},{tag:/* @__PURE__ */tags.definition(tags.variableName),color:"#00f"},{tag:/* @__PURE__ */tags.local(tags.variableName),color:"#30a"},{tag:[tags.typeName,tags.namespace],color:"#085"},{tag:tags.className,color:"#167"},{tag:[/* @__PURE__ */tags.special(tags.variableName),tags.macroName],color:"#256"},{tag:/* @__PURE__ */tags.definition(tags.propertyName),color:"#00c"},{tag:tags.comment,color:"#940"},{tag:tags.invalid,color:"#f00"}]);var baseTheme2=/* @__PURE__ */EditorView.baseTheme({"&.cm-focused .cm-matchingBracket":{backgroundColor:"#328c8252"},"&.cm-focused .cm-nonmatchingBracket":{backgroundColor:"#bb555544"}});var DefaultScanDist=1e4;var DefaultBrackets="()[]{}";var bracketMatchingConfig=/* @__PURE__ */Facet.define({combine:function combine(configs){return combineConfig(configs,{afterCursor:true,brackets:DefaultBrackets,maxScanDistance:DefaultScanDist,renderMatch:defaultRenderMatch});}});var matchingMark=/* @__PURE__ */Decoration.mark({"class":"cm-matchingBracket"});var nonmatchingMark=/* @__PURE__ */Decoration.mark({"class":"cm-nonmatchingBracket"});function defaultRenderMatch(match){var decorations2=[];var mark=match.matched?matchingMark:nonmatchingMark;decorations2.push(mark.range(match.start.from,match.start.to));if(match.end)decorations2.push(mark.range(match.end.from,match.end.to));return decorations2;}var bracketMatchingState=/* @__PURE__ */StateField.define({create:function create(){return Decoration.none;},update:function update(deco,tr){if(!tr.docChanged&&!tr.selection)return deco;var decorations2=[];var config2=tr.state.facet(bracketMatchingConfig);var _iterator183=_createForOfIteratorHelper(tr.state.selection.ranges),_step183;try{for(_iterator183.s();!(_step183=_iterator183.n()).done;){var range=_step183.value;if(!range.empty)continue;var match=_matchBrackets(tr.state,range.head,-1,config2)||range.head>0&&_matchBrackets(tr.state,range.head-1,1,config2)||config2.afterCursor&&(_matchBrackets(tr.state,range.head,1,config2)||range.head<tr.state.doc.length&&_matchBrackets(tr.state,range.head+1,-1,config2));if(match)decorations2=decorations2.concat(config2.renderMatch(match,tr.state));}}catch(err){_iterator183.e(err);}finally{_iterator183.f();}return Decoration.set(decorations2,true);},provide:function provide(f){return EditorView.decorations.from(f);}});var bracketMatchingUnique=[bracketMatchingState,baseTheme2];function _bracketMatching(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return[bracketMatchingConfig.of(config2),bracketMatchingUnique];}var _bracketMatchingHandle=/* @__PURE__ */new NodeProp();function matchingNodes(node,dir,brackets){var byProp=node.prop(dir<0?NodeProp.openedBy:NodeProp.closedBy);if(byProp)return byProp;if(node.name.length==1){var index=brackets.indexOf(node.name);if(index>-1&&index%2==(dir<0?1:0))return[brackets[index+dir]];}return null;}function findHandle(node){var hasHandle=node.type.prop(_bracketMatchingHandle);return hasHandle?hasHandle(node.node):node;}function _matchBrackets(state,pos,dir){var config2=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{};var maxScanDistance=config2.maxScanDistance||DefaultScanDist,brackets=config2.brackets||DefaultBrackets;var tree=_syntaxTree(state),node=tree.resolveInner(pos,dir);for(var cur2=node;cur2;cur2=cur2.parent){var matches=matchingNodes(cur2.type,dir,brackets);if(matches&&cur2.from<cur2.to){var handle=findHandle(cur2);if(handle&&(dir>0?pos>=handle.from&&pos<handle.to:pos>handle.from&&pos<=handle.to))return matchMarkedBrackets(state,pos,dir,cur2,handle,matches,brackets);}}return matchPlainBrackets(state,pos,dir,tree,node.type,maxScanDistance,brackets);}function matchMarkedBrackets(_state,_pos,dir,token,handle,matching,brackets){var parent=token.parent,firstToken={from:handle.from,to:handle.to};var depth=0,cursor=parent===null||parent===void 0?void 0:parent.cursor();if(cursor&&(dir<0?cursor.childBefore(token.from):cursor.childAfter(token.to)))do{if(dir<0?cursor.to<=token.from:cursor.from>=token.to){if(depth==0&&matching.indexOf(cursor.type.name)>-1&&cursor.from<cursor.to){var endHandle=findHandle(cursor);return{start:firstToken,end:endHandle?{from:endHandle.from,to:endHandle.to}:void 0,matched:true};}else if(matchingNodes(cursor.type,dir,brackets)){depth++;}else if(matchingNodes(cursor.type,-dir,brackets)){if(depth==0){var _endHandle=findHandle(cursor);return{start:firstToken,end:_endHandle&&_endHandle.from<_endHandle.to?{from:_endHandle.from,to:_endHandle.to}:void 0,matched:false};}depth--;}}}while(dir<0?cursor.prevSibling():cursor.nextSibling());return{start:firstToken,matched:false};}function matchPlainBrackets(state,pos,dir,tree,tokenType,maxScanDistance,brackets){var startCh=dir<0?state.sliceDoc(pos-1,pos):state.sliceDoc(pos,pos+1);var bracket2=brackets.indexOf(startCh);if(bracket2<0||bracket2%2==0!=dir>0)return null;var startToken={from:dir<0?pos-1:pos,to:dir>0?pos+1:pos};var iter=state.doc.iterRange(pos,dir>0?state.doc.length:0),depth=0;for(var distance=0;!iter.next().done&&distance<=maxScanDistance;){var _text6=iter.value;if(dir<0)distance+=_text6.length;var basePos=pos+distance*dir;for(var pos2=dir>0?0:_text6.length-1,end=dir>0?_text6.length:-1;pos2!=end;pos2+=dir){var found=brackets.indexOf(_text6[pos2]);if(found<0||tree.resolveInner(basePos+pos2,1).type!=tokenType)continue;if(found%2==0==dir>0){depth++;}else if(depth==1){return{start:startToken,end:{from:basePos+pos2,to:basePos+pos2+1},matched:found>>1==bracket2>>1};}else{depth--;}}if(dir>0)distance+=_text6.length;}return iter.done?{start:startToken,matched:false}:null;}function countCol(string2,end,tabSize){var startIndex=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var startValue=arguments.length>4&&arguments[4]!==undefined?arguments[4]:0;if(end==null){end=string2.search(/[^\s\u00a0]/);if(end==-1)end=string2.length;}var n=startValue;for(var _i139=startIndex;_i139<end;_i139++){if(string2.charCodeAt(_i139)==9)n+=tabSize-n%tabSize;else n++;}return n;}var _StringStream=/*#__PURE__*/function(){function _StringStream(string2,tabSize,indentUnit2,overrideIndent){_classCallCheck(this,_StringStream);this.string=string2;this.tabSize=tabSize;this.indentUnit=indentUnit2;this.overrideIndent=overrideIndent;this.pos=0;this.start=0;this.lastColumnPos=0;this.lastColumnValue=0;}_createClass(_StringStream,[{key:"eol",value:function eol(){return this.pos>=this.string.length;}},{key:"sol",value:function sol(){return this.pos==0;}},{key:"peek",value:function peek(){return this.string.charAt(this.pos)||void 0;}},{key:"next",value:function next(){if(this.pos<this.string.length)return this.string.charAt(this.pos++);}},{key:"eat",value:function eat(match){var ch=this.string.charAt(this.pos);var ok;if(typeof match=="string")ok=ch==match;else ok=ch&&(match instanceof RegExp?match.test(ch):match(ch));if(ok){++this.pos;return ch;}}},{key:"eatWhile",value:function eatWhile(match){var start=this.pos;while(this.eat(match)){}return this.pos>start;}},{key:"eatSpace",value:function eatSpace(){var start=this.pos;while(/[\s\u00a0]/.test(this.string.charAt(this.pos))){++this.pos;}return this.pos>start;}},{key:"skipToEnd",value:function skipToEnd(){this.pos=this.string.length;}},{key:"skipTo",value:function skipTo(ch){var found=this.string.indexOf(ch,this.pos);if(found>-1){this.pos=found;return true;}}},{key:"backUp",value:function backUp(n){this.pos-=n;}},{key:"column",value:function column(){if(this.lastColumnPos<this.start){this.lastColumnValue=countCol(this.string,this.start,this.tabSize,this.lastColumnPos,this.lastColumnValue);this.lastColumnPos=this.start;}return this.lastColumnValue;}},{key:"indentation",value:function indentation(){var _a2;return(_a2=this.overrideIndent)!==null&&_a2!==void 0?_a2:countCol(this.string,null,this.tabSize);}},{key:"match",value:function match(pattern,consume,caseInsensitive){if(typeof pattern=="string"){var cased=function cased(str){return caseInsensitive?str.toLowerCase():str;};var substr=this.string.substr(this.pos,pattern.length);if(cased(substr)==cased(pattern)){if(consume!==false)this.pos+=pattern.length;return true;}else return null;}else{var match=this.string.slice(this.pos).match(pattern);if(match&&match.index>0)return null;if(match&&consume!==false)this.pos+=match[0].length;return match;}}},{key:"current",value:function current(){return this.string.slice(this.start,this.pos);}}]);return _StringStream;}();function fullParser(spec){return{name:spec.name||"",token:spec.token,blankLine:spec.blankLine||function(){},startState:spec.startState||function(){return true;},copyState:spec.copyState||defaultCopyState,indent:spec.indent||function(){return null;},languageData:spec.languageData||{},tokenTable:spec.tokenTable||noTokens};}function defaultCopyState(state){if(_typeof(state)!="object")return state;var newState={};for(var prop in state){var val=state[prop];newState[prop]=val instanceof Array?val.slice():val;}return newState;}var IndentedFrom=/* @__PURE__ */new WeakMap();var _StreamLanguage=/*#__PURE__*/function(_Language3){_inherits(_StreamLanguage,_Language3);var _super35=_createSuper(_StreamLanguage);function _StreamLanguage(parser){var _this81;_classCallCheck(this,_StreamLanguage);var data=_defineLanguageFacet(parser.languageData);var p=fullParser(parser),self;var impl=new(/*#__PURE__*/function(_Parser2){_inherits(_class12,_Parser2);var _super36=_createSuper(_class12);function _class12(){_classCallCheck(this,_class12);return _super36.apply(this,arguments);}_createClass(_class12,[{key:"createParse",value:function createParse(input,fragments,ranges){return new Parse(self,input,fragments,ranges);}}]);return _class12;}(Parser))();_this81=_super35.call(this,data,impl,[_indentService.of(function(cx,pos){return _this81.getIndent(cx,pos);})],parser.name);_this81.topNode=docID(data);self=_assertThisInitialized(_this81);_this81.streamParser=p;_this81.stateAfter=new NodeProp({perNode:true});_this81.tokenTable=parser.tokenTable?new TokenTable(p.tokenTable):defaultTokenTable;return _this81;}_createClass(_StreamLanguage,[{key:"getIndent",value:function getIndent(cx,pos){var tree=_syntaxTree(cx.state),at=tree.resolve(pos);while(at&&at.type!=this.topNode){at=at.parent;}if(!at)return null;var from=void 0;var overrideIndentation=cx.options.overrideIndentation;if(overrideIndentation){from=IndentedFrom.get(cx.state);if(from!=null&&from<pos-1e4)from=void 0;}var start=findState(this,tree,0,at.from,from!==null&&from!==void 0?from:pos),statePos,state;if(start){state=start.state;statePos=start.pos+1;}else{state=this.streamParser.startState(cx.unit);statePos=0;}if(pos-statePos>1e4)return null;while(statePos<pos){var line2=cx.state.doc.lineAt(statePos),end=Math.min(pos,line2.to);if(line2.length){var indentation=overrideIndentation?overrideIndentation(line2.from):-1;var stream=new _StringStream(line2.text,cx.state.tabSize,cx.unit,indentation<0?void 0:indentation);while(stream.pos<end-line2.from){readToken(this.streamParser.token,stream,state);}}else{this.streamParser.blankLine(state,cx.unit);}if(end==pos)break;statePos=line2.to+1;}var line=cx.lineAt(pos);if(overrideIndentation&&from==null)IndentedFrom.set(cx.state,line.from);return this.streamParser.indent(state,/^\s*(.*)/.exec(line.text)[1],cx);}},{key:"allowsNesting",get:function get(){return false;}}],[{key:"define",value:function define(spec){return new _StreamLanguage(spec);}}]);return _StreamLanguage;}(_Language);function findState(lang,tree,off,startPos,before){var state=off>=startPos&&off+tree.length<=before&&tree.prop(lang.stateAfter);if(state)return{state:lang.streamParser.copyState(state),pos:off+tree.length};for(var _i140=tree.children.length-1;_i140>=0;_i140--){var child=tree.children[_i140],pos=off+tree.positions[_i140];var found=child instanceof Tree&&pos<before&&findState(lang,child,pos,startPos,before);if(found)return found;}return null;}function cutTree(lang,tree,from,to,inside2){if(inside2&&from<=0&&to>=tree.length)return tree;if(!inside2&&tree.type==lang.topNode)inside2=true;for(var _i141=tree.children.length-1;_i141>=0;_i141--){var pos=tree.positions[_i141],child=tree.children[_i141],inner=void 0;if(pos<to&&child instanceof Tree){if(!(inner=cutTree(lang,child,from-pos,to-pos,inside2)))break;return!inside2?inner:new Tree(tree.type,tree.children.slice(0,_i141).concat(inner),tree.positions.slice(0,_i141+1),pos+inner.length);}}return null;}function findStartInFragments(lang,fragments,startPos,editorState){var _iterator184=_createForOfIteratorHelper(fragments),_step184;try{for(_iterator184.s();!(_step184=_iterator184.n()).done;){var f=_step184.value;var from=f.from+(f.openStart?25:0),to=f.to-(f.openEnd?25:0);var found=from<=startPos&&to>startPos&&findState(lang,f.tree,0-f.offset,startPos,to),tree=void 0;if(found&&(tree=cutTree(lang,f.tree,startPos+f.offset,found.pos+f.offset,false)))return{state:found.state,tree:tree};}}catch(err){_iterator184.e(err);}finally{_iterator184.f();}return{state:lang.streamParser.startState(editorState?_getIndentUnit(editorState):4),tree:Tree.empty};}var Parse=/*#__PURE__*/function(){function Parse(lang,input,fragments,ranges){_classCallCheck(this,Parse);this.lang=lang;this.input=input;this.fragments=fragments;this.ranges=ranges;this.stoppedAt=null;this.chunks=[];this.chunkPos=[];this.chunk=[];this.chunkReused=void 0;this.rangeIndex=0;this.to=ranges[ranges.length-1].to;var context=_ParseContext.get(),from=ranges[0].from;var _findStartInFragments=findStartInFragments(lang,fragments,from,context===null||context===void 0?void 0:context.state),state=_findStartInFragments.state,tree=_findStartInFragments.tree;this.state=state;this.parsedPos=this.chunkStart=from+tree.length;for(var _i142=0;_i142<tree.children.length;_i142++){this.chunks.push(tree.children[_i142]);this.chunkPos.push(tree.positions[_i142]);}if(context&&this.parsedPos<context.viewport.from-1e5){this.state=this.lang.streamParser.startState(_getIndentUnit(context.state));context.skipUntilInView(this.parsedPos,context.viewport.from);this.parsedPos=context.viewport.from;}this.moveRangeIndex();}_createClass(Parse,[{key:"advance",value:function advance(){var context=_ParseContext.get();var parseEnd=this.stoppedAt==null?this.to:Math.min(this.to,this.stoppedAt);var end=Math.min(parseEnd,this.chunkStart+2048);if(context)end=Math.min(end,context.viewport.to);while(this.parsedPos<end){this.parseLine(context);}if(this.chunkStart<this.parsedPos)this.finishChunk();if(this.parsedPos>=parseEnd)return this.finish();if(context&&this.parsedPos>=context.viewport.to){context.skipUntilInView(this.parsedPos,parseEnd);return this.finish();}return null;}},{key:"stopAt",value:function stopAt(pos){this.stoppedAt=pos;}},{key:"lineAfter",value:function lineAfter(pos){var chunk=this.input.chunk(pos);if(!this.input.lineChunks){var eol=chunk.indexOf("\n");if(eol>-1)chunk=chunk.slice(0,eol);}else if(chunk=="\n"){chunk="";}return pos+chunk.length<=this.to?chunk:chunk.slice(0,this.to-pos);}},{key:"nextLine",value:function nextLine(){var from=this.parsedPos,line=this.lineAfter(from),end=from+line.length;for(var index=this.rangeIndex;;){var rangeEnd2=this.ranges[index].to;if(rangeEnd2>=end)break;line=line.slice(0,rangeEnd2-(end-line.length));index++;if(index==this.ranges.length)break;var rangeStart=this.ranges[index].from;var after=this.lineAfter(rangeStart);line+=after;end=rangeStart+after.length;}return{line:line,end:end};}},{key:"skipGapsTo",value:function skipGapsTo(pos,offset,side){for(;;){var end=this.ranges[this.rangeIndex].to,offPos=pos+offset;if(side>0?end>offPos:end>=offPos)break;var start=this.ranges[++this.rangeIndex].from;offset+=start-end;}return offset;}},{key:"moveRangeIndex",value:function moveRangeIndex(){while(this.ranges[this.rangeIndex].to<this.parsedPos){this.rangeIndex++;}}},{key:"emitToken",value:function emitToken(id,from,to,size,offset){if(this.ranges.length>1){offset=this.skipGapsTo(from,offset,1);from+=offset;var len0=this.chunk.length;offset=this.skipGapsTo(to,offset,-1);to+=offset;size+=this.chunk.length-len0;}this.chunk.push(id,from,to,size);return offset;}},{key:"parseLine",value:function parseLine(context){var _this$nextLine=this.nextLine(),line=_this$nextLine.line,end=_this$nextLine.end,offset=0,streamParser=this.lang.streamParser;var stream=new _StringStream(line,context?context.state.tabSize:4,context?_getIndentUnit(context.state):2);if(stream.eol()){streamParser.blankLine(this.state,stream.indentUnit);}else{while(!stream.eol()){var token=readToken(streamParser.token,stream,this.state);if(token)offset=this.emitToken(this.lang.tokenTable.resolve(token),this.parsedPos+stream.start,this.parsedPos+stream.pos,4,offset);if(stream.start>1e4)break;}}this.parsedPos=end;this.moveRangeIndex();if(this.parsedPos<this.to)this.parsedPos++;}},{key:"finishChunk",value:function finishChunk(){var tree=Tree.build({buffer:this.chunk,start:this.chunkStart,length:this.parsedPos-this.chunkStart,nodeSet:nodeSet,topID:0,maxBufferLength:2048,reused:this.chunkReused});tree=new Tree(tree.type,tree.children,tree.positions,tree.length,[[this.lang.stateAfter,this.lang.streamParser.copyState(this.state)]]);this.chunks.push(tree);this.chunkPos.push(this.chunkStart-this.ranges[0].from);this.chunk=[];this.chunkReused=void 0;this.chunkStart=this.parsedPos;}},{key:"finish",value:function finish(){return new Tree(this.lang.topNode,this.chunks,this.chunkPos,this.parsedPos-this.ranges[0].from).balance();}}]);return Parse;}();function readToken(token,stream,state){stream.start=stream.pos;for(var _i143=0;_i143<10;_i143++){var result=token(stream,state);if(stream.pos>stream.start)return result;}throw new Error("Stream parser failed to advance stream.");}var noTokens=/* @__PURE__ */Object.create(null);var typeArray=[NodeType.none];var nodeSet=/* @__PURE__ */new NodeSet(typeArray);var warned=[];var byTag=/* @__PURE__ */Object.create(null);var defaultTable=/* @__PURE__ */Object.create(null);for(var _i144=0,_arr3=[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]];_i144<_arr3.length;_i144++){var _arr3$_i=_slicedToArray(_arr3[_i144],2),legacyName=_arr3$_i[0],name2=_arr3$_i[1];defaultTable[legacyName]=/* @__PURE__ */createTokenType(noTokens,name2);}var TokenTable=/*#__PURE__*/function(){function TokenTable(extra){_classCallCheck(this,TokenTable);this.extra=extra;this.table=Object.assign(/* @__PURE__ */Object.create(null),defaultTable);}_createClass(TokenTable,[{key:"resolve",value:function resolve(tag){return!tag?0:this.table[tag]||(this.table[tag]=createTokenType(this.extra,tag));}}]);return TokenTable;}();var defaultTokenTable=/* @__PURE__ */new TokenTable(noTokens);function warnForPart(part,msg){if(warned.indexOf(part)>-1)return;warned.push(part);console.warn(msg);}function createTokenType(extra,tagStr){var tags$1=[];var _iterator185=_createForOfIteratorHelper(tagStr.split(" ")),_step185;try{for(_iterator185.s();!(_step185=_iterator185.n()).done;){var name3=_step185.value;var found=[];var _iterator186=_createForOfIteratorHelper(name3.split(".")),_step186;try{for(_iterator186.s();!(_step186=_iterator186.n()).done;){var part=_step186.value;var value=extra[part]||tags[part];if(!value){warnForPart(part,"Unknown highlighting tag ".concat(part));}else if(typeof value=="function"){if(!found.length)warnForPart(part,"Modifier ".concat(part," used at start of tag"));else found=found.map(value);}else{if(found.length)warnForPart(part,"Tag ".concat(part," used as modifier"));else found=Array.isArray(value)?value:[value];}}}catch(err){_iterator186.e(err);}finally{_iterator186.f();}var _iterator187=_createForOfIteratorHelper(found),_step187;try{for(_iterator187.s();!(_step187=_iterator187.n()).done;){var tag=_step187.value;tags$1.push(tag);}}catch(err){_iterator187.e(err);}finally{_iterator187.f();}}}catch(err){_iterator185.e(err);}finally{_iterator185.f();}if(!tags$1.length)return 0;var name2=tagStr.replace(/ /g,"_"),key=name2+" "+tags$1.map(function(t2){return t2.id;});var known=byTag[key];if(known)return known.id;var type=byTag[key]=NodeType.define({id:typeArray.length,name:name2,props:[styleTags(_defineProperty({},name2,tags$1))]});typeArray.push(type);return type.id;}function docID(data){var type=NodeType.define({id:typeArray.length,name:"Document",props:[_languageDataProp.add(function(){return data;})],top:true});typeArray.push(type);return type;}function buildForLine(line){return line.length<=4096&&/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/.test(line);}function textHasRTL(text){for(var _i145=text.iter();!_i145.next().done;){if(buildForLine(_i145.value))return true;}return false;}function changeAddsRTL(change){var added=false;change.iterChanges(function(fA,tA,fB,tB,ins){if(!added&&textHasRTL(ins))added=true;});return added;}var alwaysIsolate=/* @__PURE__ */Facet.define({combine:function combine(values){return values.some(function(x){return x;});}});function _bidiIsolates(){var options=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};var extensions=[isolateMarks];if(options.alwaysIsolate)extensions.push(alwaysIsolate.of(true));return extensions;}var isolateMarks=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class13(view){_classCallCheck(this,_class13);this.always=view.state.facet(alwaysIsolate)||view.textDirection!=Direction.LTR||view.state.facet(EditorView.perLineTextDirection);this.hasRTL=!this.always&&textHasRTL(view.state.doc);this.tree=_syntaxTree(view.state);this.decorations=this.always||this.hasRTL?buildDeco(view,this.tree,this.always):Decoration.none;}_createClass(_class13,[{key:"update",value:function update(_update22){var always=_update22.state.facet(alwaysIsolate)||_update22.view.textDirection!=Direction.LTR||_update22.state.facet(EditorView.perLineTextDirection);if(!always&&!this.hasRTL&&changeAddsRTL(_update22.changes))this.hasRTL=true;if(!always&&!this.hasRTL)return;var tree=_syntaxTree(_update22.state);if(always!=this.always||tree!=this.tree||_update22.docChanged||_update22.viewportChanged){this.tree=tree;this.always=always;this.decorations=buildDeco(_update22.view,tree,always);}}}]);return _class13;}(),{provide:function provide(plugin){function access(view){var _a2,_b;return(_b=(_a2=view.plugin(plugin))===null||_a2===void 0?void 0:_a2.decorations)!==null&&_b!==void 0?_b:Decoration.none;}return[EditorView.outerDecorations.of(access),Prec.lowest(EditorView.bidiIsolatedRanges.of(access))];}});function buildDeco(view,tree,always){var deco=new RangeSetBuilder();var ranges=view.visibleRanges;if(!always)ranges=clipRTLLines(ranges,view.state.doc);var _iterator188=_createForOfIteratorHelper(ranges),_step188;try{for(_iterator188.s();!(_step188=_iterator188.n()).done;){var _step188$value=_step188.value,from=_step188$value.from,to=_step188$value.to;tree.iterate({enter:function enter(node){var iso=node.type.prop(NodeProp.isolate);if(iso)deco.add(node.from,node.to,marks[iso]);},from:from,to:to});}}catch(err){_iterator188.e(err);}finally{_iterator188.f();}return deco.finish();}function clipRTLLines(ranges,doc2){var cur2=doc2.iter(),pos=0,result=[],last=null;var _iterator189=_createForOfIteratorHelper(ranges),_step189;try{for(_iterator189.s();!(_step189=_iterator189.n()).done;){var _step189$value=_step189.value,from=_step189$value.from,to=_step189$value.to;if(from!=pos){if(pos<from)cur2.next(from-pos);pos=from;}for(;;){var start=pos,end=pos+cur2.value.length;if(!cur2.lineBreak&&buildForLine(cur2.value)){if(last&&last.to>start-10)last.to=Math.min(to,end);else result.push(last={from:start,to:Math.min(to,end)});}if(pos>=to)break;pos=end;cur2.next();}}}catch(err){_iterator189.e(err);}finally{_iterator189.f();}return result;}var marks={rtl:/* @__PURE__ */Decoration.mark({"class":"cm-iso",inclusive:true,attributes:{dir:"rtl"},bidiIsolate:Direction.RTL}),ltr:/* @__PURE__ */Decoration.mark({"class":"cm-iso",inclusive:true,attributes:{dir:"ltr"},bidiIsolate:Direction.LTR}),auto:/* @__PURE__ */Decoration.mark({"class":"cm-iso",inclusive:true,attributes:{dir:"auto"},bidiIsolate:null})};// ../node_modules/@codemirror/commands/dist/index.js 10var toggleComment=function toggleComment(target){var config2=getConfig(target.state);return config2.line?toggleLineComment(target):config2.block?toggleBlockCommentByLine(target):false;};function command(f,option){return function(_ref19){var state=_ref19.state,dispatch=_ref19.dispatch;if(state.readOnly)return false;var tr=f(option,state);if(!tr)return false;dispatch(state.update(tr));return true;};}var toggleLineComment=/* @__PURE__ */command(changeLineComment,0);var toggleBlockComment=/* @__PURE__ */command(changeBlockComment,0);var toggleBlockCommentByLine=/* @__PURE__ */command(function(o,s){return changeBlockComment(o,s,selectedLineRanges(s));},0);function getConfig(state){var pos=arguments.length>1&&arguments[1]!==undefined?arguments[1]:state.selection.main.head;var data=state.languageDataAt("commentTokens",pos);return data.length?data[0]:{};}var SearchMargin=50;function findBlockComment(state,_ref20,from,to){var open=_ref20.open,close=_ref20.close;var textBefore=state.sliceDoc(from-SearchMargin,from);var textAfter=state.sliceDoc(to,to+SearchMargin);var spaceBefore=/\s*$/.exec(textBefore)[0].length,spaceAfter=/^\s*/.exec(textAfter)[0].length;var beforeOff=textBefore.length-spaceBefore;if(textBefore.slice(beforeOff-open.length,beforeOff)==open&&textAfter.slice(spaceAfter,spaceAfter+close.length)==close){return{open:{pos:from-spaceBefore,margin:spaceBefore&&1},close:{pos:to+spaceAfter,margin:spaceAfter&&1}};}var startText,endText;if(to-from<=2*SearchMargin){startText=endText=state.sliceDoc(from,to);}else{startText=state.sliceDoc(from,from+SearchMargin);endText=state.sliceDoc(to-SearchMargin,to);}var startSpace=/^\s*/.exec(startText)[0].length,endSpace=/\s*$/.exec(endText)[0].length;var endOff=endText.length-endSpace-close.length;if(startText.slice(startSpace,startSpace+open.length)==open&&endText.slice(endOff,endOff+close.length)==close){return{open:{pos:from+startSpace+open.length,margin:/\s/.test(startText.charAt(startSpace+open.length))?1:0},close:{pos:to-endSpace-close.length,margin:/\s/.test(endText.charAt(endOff-1))?1:0}};}return null;}function selectedLineRanges(state){var ranges=[];var _iterator190=_createForOfIteratorHelper(state.selection.ranges),_step190;try{for(_iterator190.s();!(_step190=_iterator190.n()).done;){var _r10=_step190.value;var fromLine=state.doc.lineAt(_r10.from);var toLine=_r10.to<=fromLine.to?fromLine:state.doc.lineAt(_r10.to);var last=ranges.length-1;if(last>=0&&ranges[last].to>fromLine.from)ranges[last].to=toLine.to;else ranges.push({from:fromLine.from,to:toLine.to});}}catch(err){_iterator190.e(err);}finally{_iterator190.f();}return ranges;}function changeBlockComment(option,state){var ranges=arguments.length>2&&arguments[2]!==undefined?arguments[2]:state.selection.ranges;var tokens=ranges.map(function(r){return getConfig(state,r.from).block;});if(!tokens.every(function(c){return c;}))return null;var comments=ranges.map(function(r,i){return findBlockComment(state,tokens[i],r.from,r.to);});if(option!=2&&!comments.every(function(c){return c;})){return{changes:state.changes(ranges.map(function(range,i){if(comments[i])return[];return[{from:range.from,insert:tokens[i].open+" "},{from:range.to,insert:" "+tokens[i].close}];}))};}else if(option!=1&&comments.some(function(c){return c;})){var changes=[];for(var _i146=0,comment2;_i146<comments.length;_i146++){if(comment2=comments[_i146]){var token=tokens[_i146],_comment=comment2,open=_comment.open,close=_comment.close;changes.push({from:open.pos-token.open.length,to:open.pos+open.margin},{from:close.pos-close.margin,to:close.pos+token.close.length});}}return{changes:changes};}return null;}function changeLineComment(option,state){var ranges=arguments.length>2&&arguments[2]!==undefined?arguments[2]:state.selection.ranges;var lines=[];var prevLine=-1;var _iterator191=_createForOfIteratorHelper(ranges),_step191;try{for(_iterator191.s();!(_step191=_iterator191.n()).done;){var _step191$value=_step191.value,_from2=_step191$value.from,_to2=_step191$value.to;var startI=lines.length,minIndent=1e9;for(var pos=_from2;pos<=_to2;){var _line5=state.doc.lineAt(pos);if(_line5.from>prevLine&&(_from2==_to2||_to2>_line5.from)){prevLine=_line5.from;var _token2=getConfig(state,pos).line;if(!_token2)continue;var _indent=/^\s*/.exec(_line5.text)[0].length;var _empty=_indent==_line5.length;var _comment2=_line5.text.slice(_indent,_indent+_token2.length)==_token2?_indent:-1;if(_indent<_line5.text.length&&_indent<minIndent)minIndent=_indent;lines.push({line:_line5,comment:_comment2,token:_token2,indent:_indent,empty:_empty,single:false});}pos=_line5.to+1;}if(minIndent<1e9){for(var _i147=startI;_i147<lines.length;_i147++){if(lines[_i147].indent<lines[_i147].line.text.length)lines[_i147].indent=minIndent;}}if(lines.length==startI+1)lines[startI].single=true;}}catch(err){_iterator191.e(err);}finally{_iterator191.f();}if(option!=2&&lines.some(function(l){return l.comment<0&&(!l.empty||l.single);})){var changes=[];var _iterator192=_createForOfIteratorHelper(lines),_step192;try{for(_iterator192.s();!(_step192=_iterator192.n()).done;){var _step192$value=_step192.value,line=_step192$value.line,token=_step192$value.token,indent=_step192$value.indent,empty2=_step192$value.empty,single=_step192$value.single;if(single||!empty2)changes.push({from:line.from+indent,insert:token+" "});}}catch(err){_iterator192.e(err);}finally{_iterator192.f();}var changeSet=state.changes(changes);return{changes:changeSet,selection:state.selection.map(changeSet,1)};}else if(option!=1&&lines.some(function(l){return l.comment>=0;})){var _changes2=[];var _iterator193=_createForOfIteratorHelper(lines),_step193;try{for(_iterator193.s();!(_step193=_iterator193.n()).done;){var _step193$value=_step193.value,_line4=_step193$value.line,comment2=_step193$value.comment,_token=_step193$value.token;if(comment2>=0){var from=_line4.from+comment2,to=from+_token.length;if(_line4.text[to-_line4.from]==" ")to++;_changes2.push({from:from,to:to});}}}catch(err){_iterator193.e(err);}finally{_iterator193.f();}return{changes:_changes2};}return null;}var fromHistory=/* @__PURE__ */Annotation.define();var isolateHistory=/* @__PURE__ */Annotation.define();var invertedEffects=/* @__PURE__ */Facet.define();var historyConfig=/* @__PURE__ */Facet.define({combine:function combine(configs){return combineConfig(configs,{minDepth:100,newGroupDelay:500},{minDepth:Math.max,newGroupDelay:Math.min});}});function changeEnd(changes){var end=0;changes.iterChangedRanges(function(_,to){return end=to;});return end;}var historyField_=/* @__PURE__ */StateField.define({create:function create(){return HistoryState.empty;},update:function update(state,tr){var config2=tr.state.facet(historyConfig);var fromHist=tr.annotation(fromHistory);if(fromHist){var selection=tr.docChanged?EditorSelection.single(changeEnd(tr.changes)):void 0;var item=HistEvent.fromTransaction(tr,selection),from=fromHist.side;var other=from==0?state.undone:state.done;if(item)other=updateBranch(other,other.length,config2.minDepth,item);else other=_addSelection(other,tr.startState.selection);return new HistoryState(from==0?fromHist.rest:other,from==0?other:fromHist.rest);}var isolate=tr.annotation(isolateHistory);if(isolate=="full"||isolate=="before")state=state.isolate();if(tr.annotation(Transaction.addToHistory)===false)return!tr.changes.empty?state.addMapping(tr.changes.desc):state;var event=HistEvent.fromTransaction(tr);var time=tr.annotation(Transaction.time),userEvent=tr.annotation(Transaction.userEvent);if(event)state=state.addChanges(event,time,userEvent,config2.newGroupDelay,config2.minDepth);else if(tr.selection)state=state.addSelection(tr.startState.selection,time,userEvent,config2.newGroupDelay);if(isolate=="full"||isolate=="after")state=state.isolate();return state;},toJSON:function toJSON(value){return{done:value.done.map(function(e){return e.toJSON();}),undone:value.undone.map(function(e){return e.toJSON();})};},fromJSON:function fromJSON(json){return new HistoryState(json.done.map(HistEvent.fromJSON),json.undone.map(HistEvent.fromJSON));}});function history(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return[historyField_,historyConfig.of(config2),EditorView.domEventHandlers({beforeinput:function beforeinput(e,view){var command2=e.inputType=="historyUndo"?undo:e.inputType=="historyRedo"?redo:null;if(!command2)return false;e.preventDefault();return command2(view);}})];}function cmd(side,selection){return function(_ref21){var state=_ref21.state,dispatch=_ref21.dispatch;if(!selection&&state.readOnly)return false;var historyState=state.field(historyField_,false);if(!historyState)return false;var tr=historyState.pop(side,state,selection);if(!tr)return false;dispatch(tr);return true;};}var undo=/* @__PURE__ */cmd(0,false);var redo=/* @__PURE__ */cmd(1,false);var undoSelection=/* @__PURE__ */cmd(0,true);var redoSelection=/* @__PURE__ */cmd(1,true);var HistEvent=/*#__PURE__*/function(){function HistEvent(changes,effects,mapped,startSelection,selectionsAfter){_classCallCheck(this,HistEvent);this.changes=changes;this.effects=effects;this.mapped=mapped;this.startSelection=startSelection;this.selectionsAfter=selectionsAfter;}_createClass(HistEvent,[{key:"setSelAfter",value:function setSelAfter(after){return new HistEvent(this.changes,this.effects,this.mapped,this.startSelection,after);}},{key:"toJSON",value:function toJSON(){var _a2,_b,_c;return{changes:(_a2=this.changes)===null||_a2===void 0?void 0:_a2.toJSON(),mapped:(_b=this.mapped)===null||_b===void 0?void 0:_b.toJSON(),startSelection:(_c=this.startSelection)===null||_c===void 0?void 0:_c.toJSON(),selectionsAfter:this.selectionsAfter.map(function(s){return s.toJSON();})};}}],[{key:"fromJSON",value:function fromJSON(json){return new HistEvent(json.changes&&ChangeSet.fromJSON(json.changes),[],json.mapped&&ChangeDesc.fromJSON(json.mapped),json.startSelection&&EditorSelection.fromJSON(json.startSelection),json.selectionsAfter.map(EditorSelection.fromJSON));}},{key:"fromTransaction",value:function fromTransaction(tr,selection){var effects=none2;var _iterator194=_createForOfIteratorHelper(tr.startState.facet(invertedEffects)),_step194;try{for(_iterator194.s();!(_step194=_iterator194.n()).done;){var invert=_step194.value;var result=invert(tr);if(result.length)effects=effects.concat(result);}}catch(err){_iterator194.e(err);}finally{_iterator194.f();}if(!effects.length&&tr.changes.empty)return null;return new HistEvent(tr.changes.invert(tr.startState.doc),effects,void 0,selection||tr.startState.selection,none2);}},{key:"selection",value:function selection(selections){return new HistEvent(void 0,none2,void 0,void 0,selections);}}]);return HistEvent;}();function updateBranch(branch,to,maxLen,newEvent){var start=to+1>maxLen+20?to-maxLen-1:0;var newBranch=branch.slice(start,to);newBranch.push(newEvent);return newBranch;}function isAdjacent(a,b){var ranges=[],isAdjacent2=false;a.iterChangedRanges(function(f,t2){return ranges.push(f,t2);});b.iterChangedRanges(function(_f,_t,f,t2){for(var _i148=0;_i148<ranges.length;){var from=ranges[_i148++],to=ranges[_i148++];if(t2>=from&&f<=to)isAdjacent2=true;}});return isAdjacent2;}function eqSelectionShape(a,b){return a.ranges.length==b.ranges.length&&a.ranges.filter(function(r,i){return r.empty!=b.ranges[i].empty;}).length===0;}function conc(a,b){return!a.length?b:!b.length?a:a.concat(b);}var none2=[];var MaxSelectionsPerEvent=200;function _addSelection(branch,selection){if(!branch.length){return[HistEvent.selection([selection])];}else{var lastEvent=branch[branch.length-1];var sels=lastEvent.selectionsAfter.slice(Math.max(0,lastEvent.selectionsAfter.length-MaxSelectionsPerEvent));if(sels.length&&sels[sels.length-1].eq(selection))return branch;sels.push(selection);return updateBranch(branch,branch.length-1,1e9,lastEvent.setSelAfter(sels));}}function popSelection(branch){var last=branch[branch.length-1];var newBranch=branch.slice();newBranch[branch.length-1]=last.setSelAfter(last.selectionsAfter.slice(0,last.selectionsAfter.length-1));return newBranch;}function addMappingToBranch(branch,mapping){if(!branch.length)return branch;var length=branch.length,selections=none2;while(length){var event=mapEvent(branch[length-1],mapping,selections);if(event.changes&&!event.changes.empty||event.effects.length){var result=branch.slice(0,length);result[length-1]=event;return result;}else{mapping=event.mapped;length--;selections=event.selectionsAfter;}}return selections.length?[HistEvent.selection(selections)]:none2;}function mapEvent(event,mapping,extraSelections){var selections=conc(event.selectionsAfter.length?event.selectionsAfter.map(function(s){return s.map(mapping);}):none2,extraSelections);if(!event.changes)return HistEvent.selection(selections);var mappedChanges=event.changes.map(mapping),before=mapping.mapDesc(event.changes,true);var fullMapping=event.mapped?event.mapped.composeDesc(before):before;return new HistEvent(mappedChanges,StateEffect.mapEffects(event.effects,mapping),fullMapping,event.startSelection.map(before),selections);}var joinableUserEvent=/^(input\.type|delete)($|\.)/;var HistoryState=/*#__PURE__*/function(){function HistoryState(done,undone){var prevTime=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var prevUserEvent=arguments.length>3&&arguments[3]!==undefined?arguments[3]:void 0;_classCallCheck(this,HistoryState);this.done=done;this.undone=undone;this.prevTime=prevTime;this.prevUserEvent=prevUserEvent;}_createClass(HistoryState,[{key:"isolate",value:function isolate(){return this.prevTime?new HistoryState(this.done,this.undone):this;}},{key:"addChanges",value:function addChanges(event,time,userEvent,newGroupDelay,maxLen){var done=this.done,lastEvent=done[done.length-1];if(lastEvent&&lastEvent.changes&&!lastEvent.changes.empty&&event.changes&&(!userEvent||joinableUserEvent.test(userEvent))&&(!lastEvent.selectionsAfter.length&&time-this.prevTime<newGroupDelay&&isAdjacent(lastEvent.changes,event.changes)||userEvent=="input.type.compose")){done=updateBranch(done,done.length-1,maxLen,new HistEvent(event.changes.compose(lastEvent.changes),conc(event.effects,lastEvent.effects),lastEvent.mapped,lastEvent.startSelection,none2));}else{done=updateBranch(done,done.length,maxLen,event);}return new HistoryState(done,none2,time,userEvent);}},{key:"addSelection",value:function addSelection(selection,time,userEvent,newGroupDelay){var last=this.done.length?this.done[this.done.length-1].selectionsAfter:none2;if(last.length>0&&time-this.prevTime<newGroupDelay&&userEvent==this.prevUserEvent&&userEvent&&/^select($|\.)/.test(userEvent)&&eqSelectionShape(last[last.length-1],selection))return this;return new HistoryState(_addSelection(this.done,selection),this.undone,time,userEvent);}},{key:"addMapping",value:function addMapping(mapping){return new HistoryState(addMappingToBranch(this.done,mapping),addMappingToBranch(this.undone,mapping),this.prevTime,this.prevUserEvent);}},{key:"pop",value:function pop(side,state,selection){var branch=side==0?this.done:this.undone;if(branch.length==0)return null;var event=branch[branch.length-1];if(selection&&event.selectionsAfter.length){return state.update({selection:event.selectionsAfter[event.selectionsAfter.length-1],annotations:fromHistory.of({side:side,rest:popSelection(branch)}),userEvent:side==0?"select.undo":"select.redo",scrollIntoView:true});}else if(!event.changes){return null;}else{var rest=branch.length==1?none2:branch.slice(0,branch.length-1);if(event.mapped)rest=addMappingToBranch(rest,event.mapped);return state.update({changes:event.changes,selection:event.startSelection,effects:event.effects,annotations:fromHistory.of({side:side,rest:rest}),filter:false,userEvent:side==0?"undo":"redo",scrollIntoView:true});}}}]);return HistoryState;}();HistoryState.empty=/* @__PURE__ */new HistoryState(none2,none2);var historyKeymap=[{key:"Mod-z",run:undo,preventDefault:true},{key:"Mod-y",mac:"Mod-Shift-z",run:redo,preventDefault:true},{linux:"Ctrl-Shift-z",run:redo,preventDefault:true},{key:"Mod-u",run:undoSelection,preventDefault:true},{key:"Alt-u",mac:"Mod-Shift-u",run:redoSelection,preventDefault:true}];function updateSel(sel,by){return EditorSelection.create(sel.ranges.map(by),sel.mainIndex);}function setSel(state,selection){return state.update({selection:selection,scrollIntoView:true,userEvent:"select"});}function moveSel(_ref22,how){var state=_ref22.state,dispatch=_ref22.dispatch;var selection=updateSel(state.selection,how);if(selection.eq(state.selection))return false;dispatch(setSel(state,selection));return true;}function rangeEnd(range,forward){return EditorSelection.cursor(forward?range.to:range.from);}function cursorByChar(view,forward){return moveSel(view,function(range){return range.empty?view.moveByChar(range,forward):rangeEnd(range,forward);});}function ltrAtCursor(view){return view.textDirectionAt(view.state.selection.main.head)==Direction.LTR;}var cursorCharLeft=function cursorCharLeft(view){return cursorByChar(view,!ltrAtCursor(view));};var cursorCharRight=function cursorCharRight(view){return cursorByChar(view,ltrAtCursor(view));};function cursorByGroup(view,forward){return moveSel(view,function(range){return range.empty?view.moveByGroup(range,forward):rangeEnd(range,forward);});}var cursorGroupLeft=function cursorGroupLeft(view){return cursorByGroup(view,!ltrAtCursor(view));};var cursorGroupRight=function cursorGroupRight(view){return cursorByGroup(view,ltrAtCursor(view));};function interestingNode(state,node,bracketProp){if(node.type.prop(bracketProp))return true;var len=node.to-node.from;return len&&(len>2||/[^\s,.;:]/.test(state.sliceDoc(node.from,node.to)))||node.firstChild;}function moveBySyntax(state,start,forward){var pos=_syntaxTree(state).resolveInner(start.head);var bracketProp=forward?NodeProp.closedBy:NodeProp.openedBy;for(var at=start.head;;){var next=forward?pos.childAfter(at):pos.childBefore(at);if(!next)break;if(interestingNode(state,next,bracketProp))pos=next;else at=forward?next.to:next.from;}var bracket2=pos.type.prop(bracketProp),match,newPos;if(bracket2&&(match=forward?_matchBrackets(state,pos.from,1):_matchBrackets(state,pos.to,-1))&&match.matched)newPos=forward?match.end.to:match.end.from;else newPos=forward?pos.to:pos.from;return EditorSelection.cursor(newPos,forward?-1:1);}var cursorSyntaxLeft=function cursorSyntaxLeft(view){return moveSel(view,function(range){return moveBySyntax(view.state,range,!ltrAtCursor(view));});};var cursorSyntaxRight=function cursorSyntaxRight(view){return moveSel(view,function(range){return moveBySyntax(view.state,range,ltrAtCursor(view));});};function cursorByLine(view,forward){return moveSel(view,function(range){if(!range.empty)return rangeEnd(range,forward);var moved=view.moveVertically(range,forward);return moved.head!=range.head?moved:view.moveToLineBoundary(range,forward);});}var cursorLineUp=function cursorLineUp(view){return cursorByLine(view,false);};var cursorLineDown=function cursorLineDown(view){return cursorByLine(view,true);};function pageHeight(view){return Math.max(view.defaultLineHeight,Math.min(view.dom.clientHeight,innerHeight)-5);}function cursorByPage(view,forward){var state=view.state,selection=updateSel(state.selection,function(range){return range.empty?view.moveVertically(range,forward,pageHeight(view)):rangeEnd(range,forward);});if(selection.eq(state.selection))return false;var startPos=view.coordsAtPos(state.selection.main.head);var scrollRect=view.scrollDOM.getBoundingClientRect();var effect;if(startPos&&startPos.top>scrollRect.top&&startPos.bottom<scrollRect.bottom&&startPos.top-scrollRect.top<=view.scrollDOM.scrollHeight-view.scrollDOM.scrollTop-view.scrollDOM.clientHeight)effect=EditorView.scrollIntoView(selection.main.head,{y:"start",yMargin:startPos.top-scrollRect.top});view.dispatch(setSel(state,selection),{effects:effect});return true;}var cursorPageUp=function cursorPageUp(view){return cursorByPage(view,false);};var cursorPageDown=function cursorPageDown(view){return cursorByPage(view,true);};function moveByLineBoundary(view,start,forward){var line=view.lineBlockAt(start.head),moved=view.moveToLineBoundary(start,forward);if(moved.head==start.head&&moved.head!=(forward?line.to:line.from))moved=view.moveToLineBoundary(start,forward,false);if(!forward&&moved.head==line.from&&line.length){var space=/^\s*/.exec(view.state.sliceDoc(line.from,Math.min(line.from+100,line.to)))[0].length;if(space&&start.head!=line.from+space)moved=EditorSelection.cursor(line.from+space);}return moved;}var cursorLineBoundaryForward=function cursorLineBoundaryForward(view){return moveSel(view,function(range){return moveByLineBoundary(view,range,true);});};var cursorLineBoundaryBackward=function cursorLineBoundaryBackward(view){return moveSel(view,function(range){return moveByLineBoundary(view,range,false);});};var cursorLineStart=function cursorLineStart(view){return moveSel(view,function(range){return EditorSelection.cursor(view.lineBlockAt(range.head).from,1);});};var cursorLineEnd=function cursorLineEnd(view){return moveSel(view,function(range){return EditorSelection.cursor(view.lineBlockAt(range.head).to,-1);});};function toMatchingBracket(state,dispatch,extend2){var found=false,selection=updateSel(state.selection,function(range){var matching=_matchBrackets(state,range.head,-1)||_matchBrackets(state,range.head,1)||range.head>0&&_matchBrackets(state,range.head-1,1)||range.head<state.doc.length&&_matchBrackets(state,range.head+1,-1);if(!matching||!matching.end)return range;found=true;var head=matching.start.from==range.head?matching.end.to:matching.end.from;return extend2?EditorSelection.range(range.anchor,head):EditorSelection.cursor(head);});if(!found)return false;dispatch(setSel(state,selection));return true;}var cursorMatchingBracket=function cursorMatchingBracket(_ref23){var state=_ref23.state,dispatch=_ref23.dispatch;return toMatchingBracket(state,dispatch,false);};function extendSel(view,how){var selection=updateSel(view.state.selection,function(range){var head=how(range);return EditorSelection.range(range.anchor,head.head,head.goalColumn);});if(selection.eq(view.state.selection))return false;view.dispatch(setSel(view.state,selection));return true;}function selectByChar(view,forward){return extendSel(view,function(range){return view.moveByChar(range,forward);});}var selectCharLeft=function selectCharLeft(view){return selectByChar(view,!ltrAtCursor(view));};var selectCharRight=function selectCharRight(view){return selectByChar(view,ltrAtCursor(view));};function selectByGroup(view,forward){return extendSel(view,function(range){return view.moveByGroup(range,forward);});}var selectGroupLeft=function selectGroupLeft(view){return selectByGroup(view,!ltrAtCursor(view));};var selectGroupRight=function selectGroupRight(view){return selectByGroup(view,ltrAtCursor(view));};var selectSyntaxLeft=function selectSyntaxLeft(view){return extendSel(view,function(range){return moveBySyntax(view.state,range,!ltrAtCursor(view));});};var selectSyntaxRight=function selectSyntaxRight(view){return extendSel(view,function(range){return moveBySyntax(view.state,range,ltrAtCursor(view));});};function selectByLine(view,forward){return extendSel(view,function(range){return view.moveVertically(range,forward);});}var selectLineUp=function selectLineUp(view){return selectByLine(view,false);};var selectLineDown=function selectLineDown(view){return selectByLine(view,true);};function selectByPage(view,forward){return extendSel(view,function(range){return view.moveVertically(range,forward,pageHeight(view));});}var selectPageUp=function selectPageUp(view){return selectByPage(view,false);};var selectPageDown=function selectPageDown(view){return selectByPage(view,true);};var selectLineBoundaryForward=function selectLineBoundaryForward(view){return extendSel(view,function(range){return moveByLineBoundary(view,range,true);});};var selectLineBoundaryBackward=function selectLineBoundaryBackward(view){return extendSel(view,function(range){return moveByLineBoundary(view,range,false);});};var selectLineStart=function selectLineStart(view){return extendSel(view,function(range){return EditorSelection.cursor(view.lineBlockAt(range.head).from);});};var selectLineEnd=function selectLineEnd(view){return extendSel(view,function(range){return EditorSelection.cursor(view.lineBlockAt(range.head).to);});};var cursorDocStart=function cursorDocStart(_ref24){var state=_ref24.state,dispatch=_ref24.dispatch;dispatch(setSel(state,{anchor:0}));return true;};var cursorDocEnd=function cursorDocEnd(_ref25){var state=_ref25.state,dispatch=_ref25.dispatch;dispatch(setSel(state,{anchor:state.doc.length}));return true;};var selectDocStart=function selectDocStart(_ref26){var state=_ref26.state,dispatch=_ref26.dispatch;dispatch(setSel(state,{anchor:state.selection.main.anchor,head:0}));return true;};var selectDocEnd=function selectDocEnd(_ref27){var state=_ref27.state,dispatch=_ref27.dispatch;dispatch(setSel(state,{anchor:state.selection.main.anchor,head:state.doc.length}));return true;};var selectAll=function selectAll(_ref28){var state=_ref28.state,dispatch=_ref28.dispatch;dispatch(state.update({selection:{anchor:0,head:state.doc.length},userEvent:"select"}));return true;};var selectLine=function selectLine(_ref29){var state=_ref29.state,dispatch=_ref29.dispatch;var ranges=selectedLineBlocks(state).map(function(_ref30){var from=_ref30.from,to=_ref30.to;return EditorSelection.range(from,Math.min(to+1,state.doc.length));});dispatch(state.update({selection:EditorSelection.create(ranges),userEvent:"select"}));return true;};var selectParentSyntax=function selectParentSyntax(_ref31){var state=_ref31.state,dispatch=_ref31.dispatch;var selection=updateSel(state.selection,function(range){var _a2;var context=_syntaxTree(state).resolveInner(range.head,1);while(!(context.from<range.from&&context.to>=range.to||context.to>range.to&&context.from<=range.from||!((_a2=context.parent)===null||_a2===void 0?void 0:_a2.parent))){context=context.parent;}return EditorSelection.range(context.to,context.from);});dispatch(setSel(state,selection));return true;};var simplifySelection=function simplifySelection(_ref32){var state=_ref32.state,dispatch=_ref32.dispatch;var cur2=state.selection,selection=null;if(cur2.ranges.length>1)selection=EditorSelection.create([cur2.main]);else if(!cur2.main.empty)selection=EditorSelection.create([EditorSelection.cursor(cur2.main.head)]);if(!selection)return false;dispatch(setSel(state,selection));return true;};function deleteBy(_ref33,by){var state=_ref33.state,dispatch=_ref33.dispatch;if(state.readOnly)return false;var event="delete.selection";var changes=state.changeByRange(function(range){var from=range.from,to=range.to;if(from==to){var towards=by(from);if(towards<from)event="delete.backward";else if(towards>from)event="delete.forward";from=Math.min(from,towards);to=Math.max(to,towards);}return from==to?{range:range}:{changes:{from:from,to:to},range:EditorSelection.cursor(from)};});if(changes.changes.empty)return false;dispatch(state.update(changes,{scrollIntoView:true,userEvent:event,effects:event=="delete.selection"?EditorView.announce.of(state.phrase("Selection deleted")):void 0}));return true;}function skipAtomic(target,pos,forward){if(target instanceof EditorView){var _iterator195=_createForOfIteratorHelper(target.state.facet(EditorView.atomicRanges).map(function(f){return f(target);})),_step195;try{for(_iterator195.s();!(_step195=_iterator195.n()).done;){var ranges=_step195.value;ranges.between(pos,pos,function(from,to){if(from<pos&&to>pos)pos=forward?to:from;});}}catch(err){_iterator195.e(err);}finally{_iterator195.f();}}return pos;}var deleteByChar=function deleteByChar(target,forward){return deleteBy(target,function(pos){var state=target.state,line=state.doc.lineAt(pos),before,targetPos;if(!forward&&pos>line.from&&pos<line.from+200&&!/[^ \t]/.test(before=line.text.slice(0,pos-line.from))){if(before[before.length-1]==" ")return pos-1;var col=_countColumn(before,state.tabSize),drop=col%_getIndentUnit(state)||_getIndentUnit(state);for(var _i149=0;_i149<drop&&before[before.length-1-_i149]==" ";_i149++){pos--;}targetPos=pos;}else{targetPos=findClusterBreak(line.text,pos-line.from,forward,forward)+line.from;if(targetPos==pos&&line.number!=(forward?state.doc.lines:1))targetPos+=forward?1:-1;}return skipAtomic(target,targetPos,forward);});};var deleteCharBackward=function deleteCharBackward(view){return deleteByChar(view,false);};var deleteCharForward=function deleteCharForward(view){return deleteByChar(view,true);};var deleteByGroup=function deleteByGroup(target,forward){return deleteBy(target,function(start){var pos=start,state=target.state,line=state.doc.lineAt(pos);var categorize=state.charCategorizer(pos);for(var cat=null;;){if(pos==(forward?line.to:line.from)){if(pos==start&&line.number!=(forward?state.doc.lines:1))pos+=forward?1:-1;break;}var next=findClusterBreak(line.text,pos-line.from,forward)+line.from;var nextChar2=line.text.slice(Math.min(pos,next)-line.from,Math.max(pos,next)-line.from);var nextCat=categorize(nextChar2);if(cat!=null&&nextCat!=cat)break;if(nextChar2!=" "||pos!=start)cat=nextCat;pos=next;}return skipAtomic(target,pos,forward);});};var deleteGroupBackward=function deleteGroupBackward(target){return deleteByGroup(target,false);};var deleteGroupForward=function deleteGroupForward(target){return deleteByGroup(target,true);};var deleteToLineEnd=function deleteToLineEnd(view){return deleteBy(view,function(pos){var lineEnd=view.lineBlockAt(pos).to;return skipAtomic(view,pos<lineEnd?lineEnd:Math.min(view.state.doc.length,pos+1),true);});};var deleteToLineStart=function deleteToLineStart(view){return deleteBy(view,function(pos){var lineStart=view.lineBlockAt(pos).from;return skipAtomic(view,pos>lineStart?lineStart:Math.max(0,pos-1),false);});};var splitLine=function splitLine(_ref34){var state=_ref34.state,dispatch=_ref34.dispatch;if(state.readOnly)return false;var changes=state.changeByRange(function(range){return{changes:{from:range.from,to:range.to,insert:Text.of(["",""])},range:EditorSelection.cursor(range.from)};});dispatch(state.update(changes,{scrollIntoView:true,userEvent:"input"}));return true;};var transposeChars=function transposeChars(_ref35){var state=_ref35.state,dispatch=_ref35.dispatch;if(state.readOnly)return false;var changes=state.changeByRange(function(range){if(!range.empty||range.from==0||range.from==state.doc.length)return{range:range};var pos=range.from,line=state.doc.lineAt(pos);var from=pos==line.from?pos-1:findClusterBreak(line.text,pos-line.from,false)+line.from;var to=pos==line.to?pos+1:findClusterBreak(line.text,pos-line.from,true)+line.from;return{changes:{from:from,to:to,insert:state.doc.slice(pos,to).append(state.doc.slice(from,pos))},range:EditorSelection.cursor(to)};});if(changes.changes.empty)return false;dispatch(state.update(changes,{scrollIntoView:true,userEvent:"move.character"}));return true;};function selectedLineBlocks(state){var blocks=[],upto=-1;var _iterator196=_createForOfIteratorHelper(state.selection.ranges),_step196;try{for(_iterator196.s();!(_step196=_iterator196.n()).done;){var range=_step196.value;var startLine=state.doc.lineAt(range.from),endLine=state.doc.lineAt(range.to);if(!range.empty&&range.to==endLine.from)endLine=state.doc.lineAt(range.to-1);if(upto>=startLine.number){var prev=blocks[blocks.length-1];prev.to=endLine.to;prev.ranges.push(range);}else{blocks.push({from:startLine.from,to:endLine.to,ranges:[range]});}upto=endLine.number+1;}}catch(err){_iterator196.e(err);}finally{_iterator196.f();}return blocks;}function moveLine(state,dispatch,forward){if(state.readOnly)return false;var changes=[],ranges=[];var _iterator197=_createForOfIteratorHelper(selectedLineBlocks(state)),_step197;try{for(_iterator197.s();!(_step197=_iterator197.n()).done;){var block=_step197.value;if(forward?block.to==state.doc.length:block.from==0)continue;var nextLine=state.doc.lineAt(forward?block.to+1:block.from-1);var size=nextLine.length+1;if(forward){changes.push({from:block.to,to:nextLine.to},{from:block.from,insert:nextLine.text+state.lineBreak});var _iterator198=_createForOfIteratorHelper(block.ranges),_step198;try{for(_iterator198.s();!(_step198=_iterator198.n()).done;){var _r11=_step198.value;ranges.push(EditorSelection.range(Math.min(state.doc.length,_r11.anchor+size),Math.min(state.doc.length,_r11.head+size)));}}catch(err){_iterator198.e(err);}finally{_iterator198.f();}}else{changes.push({from:nextLine.from,to:block.from},{from:block.to,insert:state.lineBreak+nextLine.text});var _iterator199=_createForOfIteratorHelper(block.ranges),_step199;try{for(_iterator199.s();!(_step199=_iterator199.n()).done;){var _r12=_step199.value;ranges.push(EditorSelection.range(_r12.anchor-size,_r12.head-size));}}catch(err){_iterator199.e(err);}finally{_iterator199.f();}}}}catch(err){_iterator197.e(err);}finally{_iterator197.f();}if(!changes.length)return false;dispatch(state.update({changes:changes,scrollIntoView:true,selection:EditorSelection.create(ranges,state.selection.mainIndex),userEvent:"move.line"}));return true;}var moveLineUp=function moveLineUp(_ref36){var state=_ref36.state,dispatch=_ref36.dispatch;return moveLine(state,dispatch,false);};var moveLineDown=function moveLineDown(_ref37){var state=_ref37.state,dispatch=_ref37.dispatch;return moveLine(state,dispatch,true);};function copyLine(state,dispatch,forward){if(state.readOnly)return false;var changes=[];var _iterator200=_createForOfIteratorHelper(selectedLineBlocks(state)),_step200;try{for(_iterator200.s();!(_step200=_iterator200.n()).done;){var block=_step200.value;if(forward)changes.push({from:block.from,insert:state.doc.slice(block.from,block.to)+state.lineBreak});else changes.push({from:block.to,insert:state.lineBreak+state.doc.slice(block.from,block.to)});}}catch(err){_iterator200.e(err);}finally{_iterator200.f();}dispatch(state.update({changes:changes,scrollIntoView:true,userEvent:"input.copyline"}));return true;}var copyLineUp=function copyLineUp(_ref38){var state=_ref38.state,dispatch=_ref38.dispatch;return copyLine(state,dispatch,false);};var copyLineDown=function copyLineDown(_ref39){var state=_ref39.state,dispatch=_ref39.dispatch;return copyLine(state,dispatch,true);};var deleteLine=function deleteLine(view){if(view.state.readOnly)return false;var state=view.state,changes=state.changes(selectedLineBlocks(state).map(function(_ref40){var from=_ref40.from,to=_ref40.to;if(from>0)from--;else if(to<state.doc.length)to++;return{from:from,to:to};}));var selection=updateSel(state.selection,function(range){return view.moveVertically(range,true);}).map(changes);view.dispatch({changes:changes,selection:selection,scrollIntoView:true,userEvent:"delete.line"});return true;};function isBetweenBrackets(state,pos){if(/\(\)|\[\]|\{\}/.test(state.sliceDoc(pos-1,pos+1)))return{from:pos,to:pos};var context=_syntaxTree(state).resolveInner(pos);var before=context.childBefore(pos),after=context.childAfter(pos),closedBy;if(before&&after&&before.to<=pos&&after.from>=pos&&(closedBy=before.type.prop(NodeProp.closedBy))&&closedBy.indexOf(after.name)>-1&&state.doc.lineAt(before.to).from==state.doc.lineAt(after.from).from)return{from:before.to,to:after.from};return null;}var insertNewlineAndIndent=/* @__PURE__ */newlineAndIndent(false);var insertBlankLine=/* @__PURE__ */newlineAndIndent(true);function newlineAndIndent(atEof){return function(_ref41){var state=_ref41.state,dispatch=_ref41.dispatch;if(state.readOnly)return false;var changes=state.changeByRange(function(range){var from=range.from,to=range.to,line=state.doc.lineAt(from);var explode=!atEof&&from==to&&isBetweenBrackets(state,from);if(atEof)from=to=(to<=line.to?line:state.doc.lineAt(to)).to;var cx=new _IndentContext(state,{simulateBreak:from,simulateDoubleBreak:!!explode});var indent=_getIndentation(cx,from);if(indent==null)indent=/^\s*/.exec(state.doc.lineAt(from).text)[0].length;while(to<line.to&&/\s/.test(line.text[to-line.from])){to++;}if(explode){from=explode.from;to=explode.to;}else if(from>line.from&&from<line.from+100&&!/\S/.test(line.text.slice(0,from)))from=line.from;var insert2=["",_indentString(state,indent)];if(explode)insert2.push(_indentString(state,cx.lineIndent(line.from,-1)));return{changes:{from:from,to:to,insert:Text.of(insert2)},range:EditorSelection.cursor(from+1+insert2[1].length)};});dispatch(state.update(changes,{scrollIntoView:true,userEvent:"input"}));return true;};}function changeBySelectedLine(state,f){var atLine=-1;return state.changeByRange(function(range){var changes=[];for(var pos=range.from;pos<=range.to;){var line=state.doc.lineAt(pos);if(line.number>atLine&&(range.empty||range.to>line.from)){f(line,changes,range);atLine=line.number;}pos=line.to+1;}var changeSet=state.changes(changes);return{changes:changes,range:EditorSelection.range(changeSet.mapPos(range.anchor,1),changeSet.mapPos(range.head,1))};});}var indentSelection=function indentSelection(_ref42){var state=_ref42.state,dispatch=_ref42.dispatch;if(state.readOnly)return false;var updated=/* @__PURE__ */Object.create(null);var context=new _IndentContext(state,{overrideIndentation:function overrideIndentation(start){var found=updated[start];return found==null?-1:found;}});var changes=changeBySelectedLine(state,function(line,changes2,range){var indent=_getIndentation(context,line.from);if(indent==null)return;if(!/\S/.test(line.text))indent=0;var cur2=/^\s*/.exec(line.text)[0];var norm=_indentString(state,indent);if(cur2!=norm||range.from<line.from+cur2.length){updated[line.from]=indent;changes2.push({from:line.from,to:line.from+cur2.length,insert:norm});}});if(!changes.changes.empty)dispatch(state.update(changes,{userEvent:"indent"}));return true;};var indentMore=function indentMore(_ref43){var state=_ref43.state,dispatch=_ref43.dispatch;if(state.readOnly)return false;dispatch(state.update(changeBySelectedLine(state,function(line,changes){changes.push({from:line.from,insert:state.facet(_indentUnit)});}),{userEvent:"input.indent"}));return true;};var indentLess=function indentLess(_ref44){var state=_ref44.state,dispatch=_ref44.dispatch;if(state.readOnly)return false;dispatch(state.update(changeBySelectedLine(state,function(line,changes){var space=/^\s*/.exec(line.text)[0];if(!space)return;var col=_countColumn(space,state.tabSize),keep=0;var insert2=_indentString(state,Math.max(0,col-_getIndentUnit(state)));while(keep<space.length&&keep<insert2.length&&space.charCodeAt(keep)==insert2.charCodeAt(keep)){keep++;}changes.push({from:line.from+keep,to:line.from+space.length,insert:insert2.slice(keep)});}),{userEvent:"delete.dedent"}));return true;};var emacsStyleKeymap=[{key:"Ctrl-b",run:cursorCharLeft,shift:selectCharLeft,preventDefault:true},{key:"Ctrl-f",run:cursorCharRight,shift:selectCharRight},{key:"Ctrl-p",run:cursorLineUp,shift:selectLineUp},{key:"Ctrl-n",run:cursorLineDown,shift:selectLineDown},{key:"Ctrl-a",run:cursorLineStart,shift:selectLineStart},{key:"Ctrl-e",run:cursorLineEnd,shift:selectLineEnd},{key:"Ctrl-d",run:deleteCharForward},{key:"Ctrl-h",run:deleteCharBackward},{key:"Ctrl-k",run:deleteToLineEnd},{key:"Ctrl-Alt-h",run:deleteGroupBackward},{key:"Ctrl-o",run:splitLine},{key:"Ctrl-t",run:transposeChars},{key:"Ctrl-v",run:cursorPageDown}];var standardKeymap=/* @__PURE__ */[{key:"ArrowLeft",run:cursorCharLeft,shift:selectCharLeft,preventDefault:true},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:cursorGroupLeft,shift:selectGroupLeft},{mac:"Cmd-ArrowLeft",run:cursorLineBoundaryBackward,shift:selectLineBoundaryBackward},{key:"ArrowRight",run:cursorCharRight,shift:selectCharRight,preventDefault:true},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:cursorGroupRight,shift:selectGroupRight},{mac:"Cmd-ArrowRight",run:cursorLineBoundaryForward,shift:selectLineBoundaryForward},{key:"ArrowUp",run:cursorLineUp,shift:selectLineUp,preventDefault:true},{mac:"Cmd-ArrowUp",run:cursorDocStart,shift:selectDocStart},{mac:"Ctrl-ArrowUp",run:cursorPageUp,shift:selectPageUp},{key:"ArrowDown",run:cursorLineDown,shift:selectLineDown,preventDefault:true},{mac:"Cmd-ArrowDown",run:cursorDocEnd,shift:selectDocEnd},{mac:"Ctrl-ArrowDown",run:cursorPageDown,shift:selectPageDown},{key:"PageUp",run:cursorPageUp,shift:selectPageUp},{key:"PageDown",run:cursorPageDown,shift:selectPageDown},{key:"Home",run:cursorLineBoundaryBackward,shift:selectLineBoundaryBackward,preventDefault:true},{key:"Mod-Home",run:cursorDocStart,shift:selectDocStart},{key:"End",run:cursorLineBoundaryForward,shift:selectLineBoundaryForward,preventDefault:true},{key:"Mod-End",run:cursorDocEnd,shift:selectDocEnd},{key:"Enter",run:insertNewlineAndIndent},{key:"Mod-a",run:selectAll},{key:"Backspace",run:deleteCharBackward,shift:deleteCharBackward},{key:"Delete",run:deleteCharForward},{key:"Mod-Backspace",mac:"Alt-Backspace",run:deleteGroupBackward},{key:"Mod-Delete",mac:"Alt-Delete",run:deleteGroupForward},{mac:"Mod-Backspace",run:deleteToLineStart},{mac:"Mod-Delete",run:deleteToLineEnd}].concat(/* @__PURE__ */emacsStyleKeymap.map(function(b){return{mac:b.key,run:b.run,shift:b.shift};}));var defaultKeymap=/* @__PURE__ */[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:cursorSyntaxLeft,shift:selectSyntaxLeft},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:cursorSyntaxRight,shift:selectSyntaxRight},{key:"Alt-ArrowUp",run:moveLineUp},{key:"Shift-Alt-ArrowUp",run:copyLineUp},{key:"Alt-ArrowDown",run:moveLineDown},{key:"Shift-Alt-ArrowDown",run:copyLineDown},{key:"Escape",run:simplifySelection},{key:"Mod-Enter",run:insertBlankLine},{key:"Alt-l",mac:"Ctrl-l",run:selectLine},{key:"Mod-i",run:selectParentSyntax,preventDefault:true},{key:"Mod-[",run:indentLess},{key:"Mod-]",run:indentMore},{key:"Mod-Alt-\\",run:indentSelection},{key:"Shift-Mod-k",run:deleteLine},{key:"Shift-Mod-\\",run:cursorMatchingBracket},{key:"Mod-/",run:toggleComment},{key:"Alt-A",run:toggleBlockComment}].concat(standardKeymap);// ../node_modules/crelt/index.es.js 11function crelt(){var elt=arguments[0];if(typeof elt=="string")elt=document.createElement(elt);var i=1,next=arguments[1];if(next&&_typeof(next)=="object"&&next.nodeType==null&&!Array.isArray(next)){for(var name2 in next){if(Object.prototype.hasOwnProperty.call(next,name2)){var value=next[name2];if(typeof value=="string")elt.setAttribute(name2,value);else if(value!=null)elt[name2]=value;}}i++;}for(;i<arguments.length;i++){add(elt,arguments[i]);}return elt;}function add(elt,child){if(typeof child=="string"){elt.appendChild(document.createTextNode(child));}else if(child==null){}else if(child.nodeType!=null){elt.appendChild(child);}else if(Array.isArray(child)){for(var i=0;i<child.length;i++){add(elt,child[i]);}}else{throw new RangeError("Unsupported child node: "+child);}}// ../node_modules/@codemirror/search/dist/index.js 12var basicNormalize=typeof String.prototype.normalize=="function"?function(x){return x.normalize("NFKD");}:function(x){return x;};var SearchCursor=/*#__PURE__*/function(){function SearchCursor(text,query){var from=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var to=arguments.length>3&&arguments[3]!==undefined?arguments[3]:text.length;var normalize=arguments.length>4?arguments[4]:undefined;_classCallCheck(this,SearchCursor);this.value={from:0,to:0};this.done=false;this.matches=[];this.buffer="";this.bufferPos=0;this.iter=text.iterRange(from,to);this.bufferStart=from;this.normalize=normalize?function(x){return normalize(basicNormalize(x));}:basicNormalize;this.query=this.normalize(query);}_createClass(SearchCursor,[{key:"peek",value:function peek(){if(this.bufferPos==this.buffer.length){this.bufferStart+=this.buffer.length;this.iter.next();if(this.iter.done)return-1;this.bufferPos=0;this.buffer=this.iter.value;}return codePointAt(this.buffer,this.bufferPos);}},{key:"next",value:function next(){while(this.matches.length){this.matches.pop();}return this.nextOverlapping();}},{key:"nextOverlapping",value:function nextOverlapping(){for(;;){var next=this.peek();if(next<0){this.done=true;return this;}var str=fromCodePoint(next),start=this.bufferStart+this.bufferPos;this.bufferPos+=codePointSize(next);var norm=this.normalize(str);for(var _i150=0,pos=start;;_i150++){var _code=norm.charCodeAt(_i150);var match=this.match(_code,pos);if(match){this.value=match;return this;}if(_i150==norm.length-1)break;if(pos==start&&_i150<str.length&&str.charCodeAt(_i150)==_code)pos++;}}}},{key:"match",value:function match(code,pos){var match=null;for(var _i151=0;_i151<this.matches.length;_i151+=2){var index=this.matches[_i151],keep=false;if(this.query.charCodeAt(index)==code){if(index==this.query.length-1){match={from:this.matches[_i151+1],to:pos+1};}else{this.matches[_i151]++;keep=true;}}if(!keep){this.matches.splice(_i151,2);_i151-=2;}}if(this.query.charCodeAt(0)==code){if(this.query.length==1)match={from:pos,to:pos+1};else this.matches.push(1,pos);}return match;}}]);return SearchCursor;}();if(typeof Symbol!="undefined")SearchCursor.prototype[Symbol.iterator]=function(){return this;};var empty={from:-1,to:-1,match:/* @__PURE__ */ /.*/.exec("")};var baseFlags="gm"+(/x/.unicode==null?"":"u");var RegExpCursor=/*#__PURE__*/function(){function RegExpCursor(text,query,options){var from=arguments.length>3&&arguments[3]!==undefined?arguments[3]:0;var to=arguments.length>4&&arguments[4]!==undefined?arguments[4]:text.length;_classCallCheck(this,RegExpCursor);this.to=to;this.curLine="";this.done=false;this.value=empty;if(/\\[sWDnr]|\n|\r|\[\^/.test(query))return new MultilineRegExpCursor(text,query,options,from,to);this.re=new RegExp(query,baseFlags+((options===null||options===void 0?void 0:options.ignoreCase)?"i":""));this.iter=text.iter();var startLine=text.lineAt(from);this.curLineStart=startLine.from;this.matchPos=from;this.getLine(this.curLineStart);}_createClass(RegExpCursor,[{key:"getLine",value:function getLine(skip){this.iter.next(skip);if(this.iter.lineBreak){this.curLine="";}else{this.curLine=this.iter.value;if(this.curLineStart+this.curLine.length>this.to)this.curLine=this.curLine.slice(0,this.to-this.curLineStart);this.iter.next();}}},{key:"nextLine",value:function nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1;if(this.curLineStart>this.to)this.curLine="";else this.getLine(0);}},{key:"next",value:function next(){for(var off=this.matchPos-this.curLineStart;;){this.re.lastIndex=off;var match=this.matchPos<=this.to&&this.re.exec(this.curLine);if(match){var from=this.curLineStart+match.index,to=from+match[0].length;this.matchPos=to+(from==to?1:0);if(from==this.curLine.length)this.nextLine();if(from<to||from>this.value.to){this.value={from:from,to:to,match:match};return this;}off=this.matchPos-this.curLineStart;}else if(this.curLineStart+this.curLine.length<this.to){this.nextLine();off=0;}else{this.done=true;return this;}}}}]);return RegExpCursor;}();var flattened=/* @__PURE__ */new WeakMap();var FlattenedDoc=/*#__PURE__*/function(){function FlattenedDoc(from,text){_classCallCheck(this,FlattenedDoc);this.from=from;this.text=text;}_createClass(FlattenedDoc,[{key:"to",get:function get(){return this.from+this.text.length;}}],[{key:"get",value:function get(doc2,from,to){var cached=flattened.get(doc2);if(!cached||cached.from>=to||cached.to<=from){var flat=new FlattenedDoc(from,doc2.sliceString(from,to));flattened.set(doc2,flat);return flat;}if(cached.from==from&&cached.to==to)return cached;var text=cached.text,cachedFrom=cached.from;if(cachedFrom>from){text=doc2.sliceString(from,cachedFrom)+text;cachedFrom=from;}if(cached.to<to)text+=doc2.sliceString(cached.to,to);flattened.set(doc2,new FlattenedDoc(cachedFrom,text));return new FlattenedDoc(from,text.slice(from-cachedFrom,to-cachedFrom));}}]);return FlattenedDoc;}();var MultilineRegExpCursor=/*#__PURE__*/function(){function MultilineRegExpCursor(text,query,options,from,to){_classCallCheck(this,MultilineRegExpCursor);this.text=text;this.to=to;this.done=false;this.value=empty;this.matchPos=from;this.re=new RegExp(query,baseFlags+((options===null||options===void 0?void 0:options.ignoreCase)?"i":""));this.flat=FlattenedDoc.get(text,from,this.chunkEnd(from+5e3));}_createClass(MultilineRegExpCursor,[{key:"chunkEnd",value:function chunkEnd(pos){return pos>=this.to?this.to:this.text.lineAt(pos).to;}},{key:"next",value:function next(){for(;;){var off=this.re.lastIndex=this.matchPos-this.flat.from;var match=this.re.exec(this.flat.text);if(match&&!match[0]&&match.index==off){this.re.lastIndex=off+1;match=this.re.exec(this.flat.text);}if(match&&this.flat.to<this.to&&match.index+match[0].length>this.flat.text.length-10)match=null;if(match){var from=this.flat.from+match.index,to=from+match[0].length;this.value={from:from,to:to,match:match};this.matchPos=to+(from==to?1:0);return this;}else{if(this.flat.to==this.to){this.done=true;return this;}this.flat=FlattenedDoc.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2));}}}}]);return MultilineRegExpCursor;}();if(typeof Symbol!="undefined"){RegExpCursor.prototype[Symbol.iterator]=MultilineRegExpCursor.prototype[Symbol.iterator]=function(){return this;};}function validRegExp(source){try{new RegExp(source,baseFlags);return true;}catch(_a2){return false;}}function createLineDialog(view){var input=crelt("input",{"class":"cm-textfield",name:"line"});var dom=crelt("form",{"class":"cm-gotoLine",onkeydown:function onkeydown(event){if(event.keyCode==27){event.preventDefault();view.dispatch({effects:dialogEffect.of(false)});view.focus();}else if(event.keyCode==13){event.preventDefault();go();}},onsubmit:function onsubmit(event){event.preventDefault();go();}},crelt("label",view.state.phrase("Go to line"),": ",input)," ",crelt("button",{"class":"cm-button",type:"submit"},view.state.phrase("go")));function go(){var match=/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(input.value);if(!match)return;var state=view.state,startLine=state.doc.lineAt(state.selection.main.head);var _match=_slicedToArray(match,5),sign=_match[1],ln=_match[2],cl=_match[3],percent=_match[4];var col=cl?+cl.slice(1):0;var line=ln?+ln:startLine.number;if(ln&&percent){var pc=line/100;if(sign)pc=pc*(sign=="-"?-1:1)+startLine.number/state.doc.lines;line=Math.round(state.doc.lines*pc);}else if(ln&&sign){line=line*(sign=="-"?-1:1)+startLine.number;}var docLine=state.doc.line(Math.max(1,Math.min(state.doc.lines,line)));view.dispatch({effects:dialogEffect.of(false),selection:EditorSelection.cursor(docLine.from+Math.max(0,Math.min(col,docLine.length))),scrollIntoView:true});view.focus();}return{dom:dom};}var dialogEffect=/* @__PURE__ */StateEffect.define();var dialogField=/* @__PURE__ */StateField.define({create:function create(){return true;},update:function update(value,tr){var _iterator201=_createForOfIteratorHelper(tr.effects),_step201;try{for(_iterator201.s();!(_step201=_iterator201.n()).done;){var e=_step201.value;if(e.is(dialogEffect))value=e.value;}}catch(err){_iterator201.e(err);}finally{_iterator201.f();}return value;},provide:function provide(f){return showPanel.from(f,function(val){return val?createLineDialog:null;});}});var gotoLine=function gotoLine(view){var panel=getPanel(view,createLineDialog);if(!panel){var effects=[dialogEffect.of(true)];if(view.state.field(dialogField,false)==null)effects.push(StateEffect.appendConfig.of([dialogField,baseTheme$13]));view.dispatch({effects:effects});panel=getPanel(view,createLineDialog);}if(panel)panel.dom.querySelector("input").focus();return true;};var baseTheme$13=/* @__PURE__ */EditorView.baseTheme({".cm-panel.cm-gotoLine":{padding:"2px 6px 4px","& label":{fontSize:"80%"}}});var defaultHighlightOptions={highlightWordAroundCursor:false,minSelectionLength:1,maxMatches:100,wholeWords:false};var highlightConfig=/* @__PURE__ */Facet.define({combine:function combine(options){return combineConfig(options,defaultHighlightOptions,{highlightWordAroundCursor:function highlightWordAroundCursor(a,b){return a||b;},minSelectionLength:Math.min,maxMatches:Math.min});}});function highlightSelectionMatches(options){var ext=[defaultTheme,matchHighlighter];if(options)ext.push(highlightConfig.of(options));return ext;}var matchDeco=/* @__PURE__ */Decoration.mark({"class":"cm-selectionMatch"});var mainMatchDeco=/* @__PURE__ */Decoration.mark({"class":"cm-selectionMatch cm-selectionMatch-main"});function insideWordBoundaries(check,state,from,to){return(from==0||check(state.sliceDoc(from-1,from))!=CharCategory.Word)&&(to==state.doc.length||check(state.sliceDoc(to,to+1))!=CharCategory.Word);}function insideWord(check,state,from,to){return check(state.sliceDoc(from,from+1))==CharCategory.Word&&check(state.sliceDoc(to-1,to))==CharCategory.Word;}var matchHighlighter=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class14(view){_classCallCheck(this,_class14);this.decorations=this.getDeco(view);}_createClass(_class14,[{key:"update",value:function update(_update23){if(_update23.selectionSet||_update23.docChanged||_update23.viewportChanged)this.decorations=this.getDeco(_update23.view);}},{key:"getDeco",value:function getDeco(view){var conf=view.state.facet(highlightConfig);var state=view.state,sel=state.selection;if(sel.ranges.length>1)return Decoration.none;var range=sel.main,query,check=null;if(range.empty){if(!conf.highlightWordAroundCursor)return Decoration.none;var word=state.wordAt(range.head);if(!word)return Decoration.none;check=state.charCategorizer(range.head);query=state.sliceDoc(word.from,word.to);}else{var len=range.to-range.from;if(len<conf.minSelectionLength||len>200)return Decoration.none;if(conf.wholeWords){query=state.sliceDoc(range.from,range.to);check=state.charCategorizer(range.head);if(!(insideWordBoundaries(check,state,range.from,range.to)&&insideWord(check,state,range.from,range.to)))return Decoration.none;}else{query=state.sliceDoc(range.from,range.to).trim();if(!query)return Decoration.none;}}var deco=[];var _iterator202=_createForOfIteratorHelper(view.visibleRanges),_step202;try{for(_iterator202.s();!(_step202=_iterator202.n()).done;){var part=_step202.value;var cursor=new SearchCursor(state.doc,query,part.from,part.to);while(!cursor.next().done){var _cursor$value=cursor.value,from=_cursor$value.from,to=_cursor$value.to;if(!check||insideWordBoundaries(check,state,from,to)){if(range.empty&&from<=range.from&&to>=range.to)deco.push(mainMatchDeco.range(from,to));else if(from>=range.to||to<=range.from)deco.push(matchDeco.range(from,to));if(deco.length>conf.maxMatches)return Decoration.none;}}}}catch(err){_iterator202.e(err);}finally{_iterator202.f();}return Decoration.set(deco);}}]);return _class14;}(),{decorations:function decorations(v){return v.decorations;}});var defaultTheme=/* @__PURE__ */EditorView.baseTheme({".cm-selectionMatch":{backgroundColor:"#99ff7780"},".cm-searchMatch .cm-selectionMatch":{backgroundColor:"transparent"}});var selectWord=function selectWord(_ref45){var state=_ref45.state,dispatch=_ref45.dispatch;var selection=state.selection;var newSel=EditorSelection.create(selection.ranges.map(function(range){return state.wordAt(range.head)||EditorSelection.cursor(range.head);}),selection.mainIndex);if(newSel.eq(selection))return false;dispatch(state.update({selection:newSel}));return true;};function findNextOccurrence(state,query){var _state$selection=state.selection,main=_state$selection.main,ranges=_state$selection.ranges;var word=state.wordAt(main.head),fullWord=word&&word.from==main.from&&word.to==main.to;var _loop12=function _loop12(_cycled,_cursor){_cursor.next();if(_cursor.done){if(_cycled){cursor=_cursor;{cycled=_cycled;return{v:null};}}_cursor=new SearchCursor(state.doc,query,0,Math.max(0,ranges[ranges.length-1].from-1));_cycled=true;}else{if(_cycled&&ranges.some(function(r){return r.from==_cursor.value.from;})){cursor=_cursor;{cycled=_cycled;return"continue";}}if(fullWord){var word2=state.wordAt(_cursor.value.from);if(!word2||word2.from!=_cursor.value.from||word2.to!=_cursor.value.to){cursor=_cursor;{cycled=_cycled;return"continue";}}}cycled=_cycled;cursor=_cursor;return{v:_cursor.value};}cycled=_cycled;cursor=_cursor;};for(var cycled=false,cursor=new SearchCursor(state.doc,query,ranges[ranges.length-1].to);;){var _ret4=_loop12(cycled,cursor);if(_ret4==="continue")continue;if(_typeof(_ret4)==="object")return _ret4.v;}}var selectNextOccurrence=function selectNextOccurrence(_ref46){var state=_ref46.state,dispatch=_ref46.dispatch;var ranges=state.selection.ranges;if(ranges.some(function(sel){return sel.from===sel.to;}))return selectWord({state:state,dispatch:dispatch});var searchedText=state.sliceDoc(ranges[0].from,ranges[0].to);if(state.selection.ranges.some(function(r){return state.sliceDoc(r.from,r.to)!=searchedText;}))return false;var range=findNextOccurrence(state,searchedText);if(!range)return false;dispatch(state.update({selection:state.selection.addRange(EditorSelection.range(range.from,range.to),false),effects:EditorView.scrollIntoView(range.to)}));return true;};var searchConfigFacet=/* @__PURE__ */Facet.define({combine:function combine(configs){var _a2;return{top:configs.reduce(function(val,conf){return val!==null&&val!==void 0?val:conf.top;},void 0)||false,caseSensitive:configs.reduce(function(val,conf){return val!==null&&val!==void 0?val:conf.caseSensitive;},void 0)||false,createPanel:((_a2=configs.find(function(c){return c.createPanel;}))===null||_a2===void 0?void 0:_a2.createPanel)||function(view){return new SearchPanel(view);}};}});var SearchQuery=/*#__PURE__*/function(){function SearchQuery(config2){_classCallCheck(this,SearchQuery);this.search=config2.search;this.caseSensitive=!!config2.caseSensitive;this.regexp=!!config2.regexp;this.replace=config2.replace||"";this.valid=!!this.search&&(!this.regexp||validRegExp(this.search));this.unquoted=config2.literal?this.search:this.search.replace(/\\([nrt\\])/g,function(_,ch){return ch=="n"?"\n":ch=="r"?"\r":ch=="t"?" ":"\\";});}_createClass(SearchQuery,[{key:"eq",value:function eq(other){return this.search==other.search&&this.replace==other.replace&&this.caseSensitive==other.caseSensitive&&this.regexp==other.regexp;}},{key:"create",value:function create(){return this.regexp?new RegExpQuery(this):new StringQuery(this);}},{key:"getCursor",value:function getCursor(doc2){var from=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;var to=arguments.length>2&&arguments[2]!==undefined?arguments[2]:doc2.length;return this.regexp?regexpCursor(this,doc2,from,to):stringCursor(this,doc2,from,to);}}]);return SearchQuery;}();var QueryType2=/*#__PURE__*/_createClass(function QueryType2(spec){_classCallCheck(this,QueryType2);this.spec=spec;});function stringCursor(spec,doc2,from,to){return new SearchCursor(doc2,spec.unquoted,from,to,spec.caseSensitive?void 0:function(x){return x.toLowerCase();});}var StringQuery=/*#__PURE__*/function(_QueryType){_inherits(StringQuery,_QueryType);var _super37=_createSuper(StringQuery);function StringQuery(spec){_classCallCheck(this,StringQuery);return _super37.call(this,spec);}_createClass(StringQuery,[{key:"nextMatch",value:function nextMatch(doc2,curFrom,curTo){var cursor=stringCursor(this.spec,doc2,curTo,doc2.length).nextOverlapping();if(cursor.done)cursor=stringCursor(this.spec,doc2,0,curFrom).nextOverlapping();return cursor.done?null:cursor.value;}},{key:"prevMatchInRange",value:function prevMatchInRange(doc2,from,to){for(var pos=to;;){var start=Math.max(from,pos-1e4-this.spec.unquoted.length);var _cursor2=stringCursor(this.spec,doc2,start,pos),range=null;while(!_cursor2.nextOverlapping().done){range=_cursor2.value;}if(range)return range;if(start==from)return null;pos-=1e4;}}},{key:"prevMatch",value:function prevMatch(doc2,curFrom,curTo){return this.prevMatchInRange(doc2,0,curFrom)||this.prevMatchInRange(doc2,curTo,doc2.length);}},{key:"getReplacement",value:function getReplacement(_result){return this.spec.replace;}},{key:"matchAll",value:function matchAll(doc2,limit){var cursor=stringCursor(this.spec,doc2,0,doc2.length),ranges=[];while(!cursor.next().done){if(ranges.length>=limit)return null;ranges.push(cursor.value);}return ranges;}},{key:"highlight",value:function highlight(doc2,from,to,add2){var cursor=stringCursor(this.spec,doc2,Math.max(0,from-this.spec.unquoted.length),Math.min(to+this.spec.unquoted.length,doc2.length));while(!cursor.next().done){add2(cursor.value.from,cursor.value.to);}}}]);return StringQuery;}(QueryType2);function regexpCursor(spec,doc2,from,to){return new RegExpCursor(doc2,spec.search,spec.caseSensitive?void 0:{ignoreCase:true},from,to);}var RegExpQuery=/*#__PURE__*/function(_QueryType2){_inherits(RegExpQuery,_QueryType2);var _super38=_createSuper(RegExpQuery);function RegExpQuery(){_classCallCheck(this,RegExpQuery);return _super38.apply(this,arguments);}_createClass(RegExpQuery,[{key:"nextMatch",value:function nextMatch(doc2,curFrom,curTo){var cursor=regexpCursor(this.spec,doc2,curTo,doc2.length).next();if(cursor.done)cursor=regexpCursor(this.spec,doc2,0,curFrom).next();return cursor.done?null:cursor.value;}},{key:"prevMatchInRange",value:function prevMatchInRange(doc2,from,to){for(var size=1;;size++){var start=Math.max(from,to-size*1e4);var _cursor3=regexpCursor(this.spec,doc2,start,to),range=null;while(!_cursor3.next().done){range=_cursor3.value;}if(range&&(start==from||range.from>start+10))return range;if(start==from)return null;}}},{key:"prevMatch",value:function prevMatch(doc2,curFrom,curTo){return this.prevMatchInRange(doc2,0,curFrom)||this.prevMatchInRange(doc2,curTo,doc2.length);}},{key:"getReplacement",value:function getReplacement(result){return this.spec.replace.replace(/\$([$&\d+])/g,function(m,i){return i=="$"?"$":i=="&"?result.match[0]:i!="0"&&+i<result.match.length?result.match[i]:m;});}},{key:"matchAll",value:function matchAll(doc2,limit){var cursor=regexpCursor(this.spec,doc2,0,doc2.length),ranges=[];while(!cursor.next().done){if(ranges.length>=limit)return null;ranges.push(cursor.value);}return ranges;}},{key:"highlight",value:function highlight(doc2,from,to,add2){var cursor=regexpCursor(this.spec,doc2,Math.max(0,from-250),Math.min(to+250,doc2.length));while(!cursor.next().done){add2(cursor.value.from,cursor.value.to);}}}]);return RegExpQuery;}(QueryType2);var setSearchQuery=/* @__PURE__ */StateEffect.define();var togglePanel=/* @__PURE__ */StateEffect.define();var searchState=/* @__PURE__ */StateField.define({create:function create(state){return new SearchState(defaultQuery(state).create(),null);},update:function update(value,tr){var _iterator203=_createForOfIteratorHelper(tr.effects),_step203;try{for(_iterator203.s();!(_step203=_iterator203.n()).done;){var effect=_step203.value;if(effect.is(setSearchQuery))value=new SearchState(effect.value.create(),value.panel);else if(effect.is(togglePanel))value=new SearchState(value.query,effect.value?createSearchPanel:null);}}catch(err){_iterator203.e(err);}finally{_iterator203.f();}return value;},provide:function provide(f){return showPanel.from(f,function(val){return val.panel;});}});var SearchState=/*#__PURE__*/_createClass(function SearchState(query,panel){_classCallCheck(this,SearchState);this.query=query;this.panel=panel;});var matchMark=/* @__PURE__ */Decoration.mark({"class":"cm-searchMatch"});var selectedMatchMark=/* @__PURE__ */Decoration.mark({"class":"cm-searchMatch cm-searchMatch-selected"});var searchHighlighter=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class15(view){_classCallCheck(this,_class15);this.view=view;this.decorations=this.highlight(view.state.field(searchState));}_createClass(_class15,[{key:"update",value:function update(_update24){var state=_update24.state.field(searchState);if(state!=_update24.startState.field(searchState)||_update24.docChanged||_update24.selectionSet||_update24.viewportChanged)this.decorations=this.highlight(state);}},{key:"highlight",value:function highlight(_ref47){var query=_ref47.query,panel=_ref47.panel;if(!panel||!query.spec.valid)return Decoration.none;var view=this.view;var builder=new RangeSetBuilder();for(var _i152=0,ranges=view.visibleRanges,_l2=ranges.length;_i152<_l2;_i152++){var _ranges$_i2=ranges[_i152],from=_ranges$_i2.from,to=_ranges$_i2.to;while(_i152<_l2-1&&to>ranges[_i152+1].from-2*250){to=ranges[++_i152].to;}query.highlight(view.state.doc,from,to,function(from2,to2){var selected=view.state.selection.ranges.some(function(r){return r.from==from2&&r.to==to2;});builder.add(from2,to2,selected?selectedMatchMark:matchMark);});}return builder.finish();}}]);return _class15;}(),{decorations:function decorations(v){return v.decorations;}});function searchCommand(f){return function(view){var state=view.state.field(searchState,false);return state&&state.query.spec.valid?f(view,state):openSearchPanel(view);};}var findNext=/* @__PURE__ */searchCommand(function(view,_ref48){var query=_ref48.query;var to=view.state.selection.main.to;var next=query.nextMatch(view.state.doc,to,to);if(!next)return false;view.dispatch({selection:{anchor:next.from,head:next.to},scrollIntoView:true,effects:announceMatch(view,next),userEvent:"select.search"});return true;});var findPrevious=/* @__PURE__ */searchCommand(function(view,_ref49){var query=_ref49.query;var state=view.state,from=state.selection.main.from;var range=query.prevMatch(state.doc,from,from);if(!range)return false;view.dispatch({selection:{anchor:range.from,head:range.to},scrollIntoView:true,effects:announceMatch(view,range),userEvent:"select.search"});return true;});var selectMatches=/* @__PURE__ */searchCommand(function(view,_ref50){var query=_ref50.query;var ranges=query.matchAll(view.state.doc,1e3);if(!ranges||!ranges.length)return false;view.dispatch({selection:EditorSelection.create(ranges.map(function(r){return EditorSelection.range(r.from,r.to);})),userEvent:"select.search.matches"});return true;});var selectSelectionMatches=function selectSelectionMatches(_ref51){var state=_ref51.state,dispatch=_ref51.dispatch;var sel=state.selection;if(sel.ranges.length>1||sel.main.empty)return false;var _sel$main=sel.main,from=_sel$main.from,to=_sel$main.to;var ranges=[],main=0;for(var cur2=new SearchCursor(state.doc,state.sliceDoc(from,to));!cur2.next().done;){if(ranges.length>1e3)return false;if(cur2.value.from==from)main=ranges.length;ranges.push(EditorSelection.range(cur2.value.from,cur2.value.to));}dispatch(state.update({selection:EditorSelection.create(ranges,main),userEvent:"select.search.matches"}));return true;};var replaceNext=/* @__PURE__ */searchCommand(function(view,_ref52){var query=_ref52.query;var state=view.state,_state$selection$main=state.selection.main,from=_state$selection$main.from,to=_state$selection$main.to;if(state.readOnly)return false;var next=query.nextMatch(state.doc,from,from);if(!next)return false;var changes=[],selection,replacement;var announce=[];if(next.from==from&&next.to==to){replacement=state.toText(query.getReplacement(next));changes.push({from:next.from,to:next.to,insert:replacement});next=query.nextMatch(state.doc,next.from,next.to);announce.push(EditorView.announce.of(state.phrase("replaced match on line $",state.doc.lineAt(from).number)+"."));}if(next){var off=changes.length==0||changes[0].from>=next.to?0:next.to-next.from-replacement.length;selection={anchor:next.from-off,head:next.to-off};announce.push(announceMatch(view,next));}view.dispatch({changes:changes,selection:selection,scrollIntoView:!!selection,effects:announce,userEvent:"input.replace"});return true;});var replaceAll=/* @__PURE__ */searchCommand(function(view,_ref53){var query=_ref53.query;if(view.state.readOnly)return false;var changes=query.matchAll(view.state.doc,1e9).map(function(match){var from=match.from,to=match.to;return{from:from,to:to,insert:query.getReplacement(match)};});if(!changes.length)return false;var announceText=view.state.phrase("replaced $ matches",changes.length)+".";view.dispatch({changes:changes,effects:EditorView.announce.of(announceText),userEvent:"input.replace.all"});return true;});function createSearchPanel(view){return view.state.facet(searchConfigFacet).createPanel(view);}function defaultQuery(state,fallback){var _a2;var sel=state.selection.main;var selText=sel.empty||sel.to>sel.from+100?"":state.sliceDoc(sel.from,sel.to);var caseSensitive=(_a2=fallback===null||fallback===void 0?void 0:fallback.caseSensitive)!==null&&_a2!==void 0?_a2:state.facet(searchConfigFacet).caseSensitive;return fallback&&!selText?fallback:new SearchQuery({search:selText.replace(/\n/g,"\\n"),caseSensitive:caseSensitive});}var openSearchPanel=function openSearchPanel(view){var state=view.state.field(searchState,false);if(state&&state.panel){var panel=getPanel(view,createSearchPanel);if(!panel)return false;var searchInput=panel.dom.querySelector("[main-field]");if(searchInput&&searchInput!=view.root.activeElement){var query=defaultQuery(view.state,state.query.spec);if(query.valid)view.dispatch({effects:setSearchQuery.of(query)});searchInput.focus();searchInput.select();}}else{view.dispatch({effects:[togglePanel.of(true),state?setSearchQuery.of(defaultQuery(view.state,state.query.spec)):StateEffect.appendConfig.of(searchExtensions)]});}return true;};var closeSearchPanel=function closeSearchPanel(view){var state=view.state.field(searchState,false);if(!state||!state.panel)return false;var panel=getPanel(view,createSearchPanel);if(panel&&panel.dom.contains(view.root.activeElement))view.focus();view.dispatch({effects:togglePanel.of(false)});return true;};var searchKeymap=[{key:"Mod-f",run:openSearchPanel,scope:"editor search-panel"},{key:"F3",run:findNext,shift:findPrevious,scope:"editor search-panel",preventDefault:true},{key:"Mod-g",run:findNext,shift:findPrevious,scope:"editor search-panel",preventDefault:true},{key:"Escape",run:closeSearchPanel,scope:"editor search-panel"},{key:"Mod-Shift-l",run:selectSelectionMatches},{key:"Alt-g",run:gotoLine},{key:"Mod-d",run:selectNextOccurrence,preventDefault:true}];var SearchPanel=/*#__PURE__*/function(){function SearchPanel(view){var _this82=this;_classCallCheck(this,SearchPanel);this.view=view;var query=this.query=view.state.field(searchState).query.spec;this.commit=this.commit.bind(this);this.searchField=crelt("input",{value:query.search,placeholder:phrase(view,"Find"),"aria-label":phrase(view,"Find"),"class":"cm-textfield",name:"search","main-field":"true",onchange:this.commit,onkeyup:this.commit});this.replaceField=crelt("input",{value:query.replace,placeholder:phrase(view,"Replace"),"aria-label":phrase(view,"Replace"),"class":"cm-textfield",name:"replace",onchange:this.commit,onkeyup:this.commit});this.caseField=crelt("input",{type:"checkbox",name:"case",checked:query.caseSensitive,onchange:this.commit});this.reField=crelt("input",{type:"checkbox",name:"re",checked:query.regexp,onchange:this.commit});function button(name2,onclick,content2){return crelt("button",{"class":"cm-button",name:name2,onclick:onclick,type:"button"},content2);}this.dom=crelt("div",{onkeydown:function onkeydown(e){return _this82.keydown(e);},"class":"cm-search"},[this.searchField,button("next",function(){return findNext(view);},[phrase(view,"next")]),button("prev",function(){return findPrevious(view);},[phrase(view,"previous")]),button("select",function(){return selectMatches(view);},[phrase(view,"all")]),crelt("label",null,[this.caseField,phrase(view,"match case")]),crelt("label",null,[this.reField,phrase(view,"regexp")])].concat(_toConsumableArray(view.state.readOnly?[]:[crelt("br"),this.replaceField,button("replace",function(){return replaceNext(view);},[phrase(view,"replace")]),button("replaceAll",function(){return replaceAll(view);},[phrase(view,"replace all")]),crelt("button",{name:"close",onclick:function onclick(){return closeSearchPanel(view);},"aria-label":phrase(view,"close"),type:"button"},["\xD7"])])));}_createClass(SearchPanel,[{key:"commit",value:function commit(){var query=new SearchQuery({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,replace:this.replaceField.value});if(!query.eq(this.query)){this.query=query;this.view.dispatch({effects:setSearchQuery.of(query)});}}},{key:"keydown",value:function keydown(e){if(runScopeHandlers(this.view,e,"search-panel")){e.preventDefault();}else if(e.keyCode==13&&e.target==this.searchField){e.preventDefault();(e.shiftKey?findPrevious:findNext)(this.view);}else if(e.keyCode==13&&e.target==this.replaceField){e.preventDefault();replaceNext(this.view);}}},{key:"update",value:function update(_update25){var _iterator204=_createForOfIteratorHelper(_update25.transactions),_step204;try{for(_iterator204.s();!(_step204=_iterator204.n()).done;){var tr=_step204.value;var _iterator205=_createForOfIteratorHelper(tr.effects),_step205;try{for(_iterator205.s();!(_step205=_iterator205.n()).done;){var effect=_step205.value;if(effect.is(setSearchQuery)&&!effect.value.eq(this.query))this.setQuery(effect.value);}}catch(err){_iterator205.e(err);}finally{_iterator205.f();}}}catch(err){_iterator204.e(err);}finally{_iterator204.f();}}},{key:"setQuery",value:function setQuery(query){this.query=query;this.searchField.value=query.search;this.replaceField.value=query.replace;this.caseField.checked=query.caseSensitive;this.reField.checked=query.regexp;}},{key:"mount",value:function mount(){this.searchField.select();}},{key:"pos",get:function get(){return 80;}},{key:"top",get:function get(){return this.view.state.facet(searchConfigFacet).top;}}]);return SearchPanel;}();function phrase(view,phrase2){return view.state.phrase(phrase2);}var AnnounceMargin=30;var Break=/[\s\.,:;?!]/;function announceMatch(view,_ref54){var from=_ref54.from,to=_ref54.to;var line=view.state.doc.lineAt(from),lineEnd=view.state.doc.lineAt(to).to;var start=Math.max(line.from,from-AnnounceMargin),end=Math.min(lineEnd,to+AnnounceMargin);var text=view.state.sliceDoc(start,end);if(start!=line.from){for(var _i153=0;_i153<AnnounceMargin;_i153++){if(!Break.test(text[_i153+1])&&Break.test(text[_i153])){text=text.slice(_i153);break;}}}if(end!=lineEnd){for(var _i154=text.length-1;_i154>text.length-AnnounceMargin;_i154--){if(!Break.test(text[_i154-1])&&Break.test(text[_i154])){text=text.slice(0,_i154);break;}}}return EditorView.announce.of("".concat(view.state.phrase("current match"),". ").concat(text," ").concat(view.state.phrase("on line")," ").concat(line.number,"."));}var baseTheme3=/* @__PURE__ */EditorView.baseTheme({".cm-panel.cm-search":{padding:"2px 6px 4px",position:"relative","& [name=close]":{position:"absolute",top:"0",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",padding:0,margin:0},"& input, & button, & label":{margin:".2em .6em .2em 0"},"& input[type=checkbox]":{marginRight:".2em"},"& label":{fontSize:"80%",whiteSpace:"pre"}},"&light .cm-searchMatch":{backgroundColor:"#ffff0054"},"&dark .cm-searchMatch":{backgroundColor:"#00ffff8a"},"&light .cm-searchMatch-selected":{backgroundColor:"#ff6a0054"},"&dark .cm-searchMatch-selected":{backgroundColor:"#ff00ff8a"}});var searchExtensions=[searchState,/* @__PURE__ */Prec.lowest(searchHighlighter),baseTheme3];// ../node_modules/@codemirror/autocomplete/dist/index.js 13var dist_exports2={};__export(dist_exports2,{CompletionContext:function CompletionContext(){return _CompletionContext;},acceptCompletion:function acceptCompletion(){return _acceptCompletion;},autocompletion:function autocompletion(){return _autocompletion;},clearSnippet:function clearSnippet(){return _clearSnippet;},closeBrackets:function closeBrackets(){return _closeBrackets;},closeBracketsKeymap:function closeBracketsKeymap(){return _closeBracketsKeymap;},closeCompletion:function closeCompletion(){return _closeCompletion;},completeAnyWord:function completeAnyWord(){return _completeAnyWord;},completeFromList:function completeFromList(){return _completeFromList;},completionKeymap:function completionKeymap(){return _completionKeymap;},completionStatus:function completionStatus(){return _completionStatus;},currentCompletions:function currentCompletions(){return _currentCompletions;},deleteBracketPair:function deleteBracketPair(){return _deleteBracketPair;},hasNextSnippetField:function hasNextSnippetField(){return _hasNextSnippetField;},hasPrevSnippetField:function hasPrevSnippetField(){return _hasPrevSnippetField;},ifIn:function ifIn(){return _ifIn;},ifNotIn:function ifNotIn(){return _ifNotIn;},insertBracket:function insertBracket(){return _insertBracket;},insertCompletionText:function insertCompletionText(){return _insertCompletionText;},moveCompletionSelection:function moveCompletionSelection(){return _moveCompletionSelection;},nextSnippetField:function nextSnippetField(){return _nextSnippetField;},pickedCompletion:function pickedCompletion(){return _pickedCompletion;},prevSnippetField:function prevSnippetField(){return _prevSnippetField;},selectedCompletion:function selectedCompletion(){return _selectedCompletion;},selectedCompletionIndex:function selectedCompletionIndex(){return _selectedCompletionIndex;},setSelectedCompletion:function setSelectedCompletion(){return _setSelectedCompletion;},snippet:function snippet(){return _snippet;},snippetCompletion:function snippetCompletion(){return _snippetCompletion;},snippetKeymap:function snippetKeymap(){return _snippetKeymap;},startCompletion:function startCompletion(){return _startCompletion;}});var _CompletionContext=/*#__PURE__*/function(){function _CompletionContext(state,pos,explicit){_classCallCheck(this,_CompletionContext);this.state=state;this.pos=pos;this.explicit=explicit;this.abortListeners=[];}_createClass(_CompletionContext,[{key:"tokenBefore",value:function tokenBefore(types2){var token=_syntaxTree(this.state).resolveInner(this.pos,-1);while(token&&types2.indexOf(token.name)<0){token=token.parent;}return token?{from:token.from,to:this.pos,text:this.state.sliceDoc(token.from,this.pos),type:token.type}:null;}},{key:"matchBefore",value:function matchBefore(expr){var line=this.state.doc.lineAt(this.pos);var start=Math.max(line.from,this.pos-250);var str=line.text.slice(start-line.from,this.pos-line.from);var found=str.search(ensureAnchor(expr,false));return found<0?null:{from:start+found,to:this.pos,text:str.slice(found)};}},{key:"aborted",get:function get(){return this.abortListeners==null;}},{key:"addEventListener",value:function addEventListener(type,listener){if(type=="abort"&&this.abortListeners)this.abortListeners.push(listener);}}]);return _CompletionContext;}();function toSet(chars){var flat=Object.keys(chars).join("");var words=/\w/.test(flat);if(words)flat=flat.replace(/\w/g,"");return"[".concat(words?"\\w":"").concat(flat.replace(/[^\w\s]/g,"\\$&"),"]");}function prefixMatch(options){var first=/* @__PURE__ */Object.create(null),rest=/* @__PURE__ */Object.create(null);var _iterator206=_createForOfIteratorHelper(options),_step206;try{for(_iterator206.s();!(_step206=_iterator206.n()).done;){var label=_step206.value.label;first[label[0]]=true;for(var _i155=1;_i155<label.length;_i155++){rest[label[_i155]]=true;}}}catch(err){_iterator206.e(err);}finally{_iterator206.f();}var source=toSet(first)+toSet(rest)+"*$";return[new RegExp("^"+source),new RegExp(source)];}function _completeFromList(list){var options=list.map(function(o){return typeof o=="string"?{label:o}:o;});var _ref55=options.every(function(o){return /^\w+$/.test(o.label);})?[/\w*$/,/\w+$/]:prefixMatch(options),_ref56=_slicedToArray(_ref55,2),validFor=_ref56[0],match=_ref56[1];return function(context){var token=context.matchBefore(match);return token||context.explicit?{from:token?token.from:context.pos,options:options,validFor:validFor}:null;};}function _ifIn(nodes,source){return function(context){for(var pos=_syntaxTree(context.state).resolveInner(context.pos,-1);pos;pos=pos.parent){if(nodes.indexOf(pos.name)>-1)return source(context);if(pos.type.isTop)break;}return null;};}function _ifNotIn(nodes,source){return function(context){for(var pos=_syntaxTree(context.state).resolveInner(context.pos,-1);pos;pos=pos.parent){if(nodes.indexOf(pos.name)>-1)return null;if(pos.type.isTop)break;}return source(context);};}var Option=/*#__PURE__*/_createClass(function Option(completion,source,match,score2){_classCallCheck(this,Option);this.completion=completion;this.source=source;this.match=match;this.score=score2;});function cur(state){return state.selection.main.from;}function ensureAnchor(expr,start){var _a2;var source=expr.source;var addStart=start&&source[0]!="^",addEnd=source[source.length-1]!="$";if(!addStart&&!addEnd)return expr;return new RegExp("".concat(addStart?"^":"","(?:").concat(source,")").concat(addEnd?"$":""),(_a2=expr.flags)!==null&&_a2!==void 0?_a2:expr.ignoreCase?"i":"");}var _pickedCompletion=/* @__PURE__ */Annotation.define();function _insertCompletionText(state,text,from,to){var main=state.selection.main,fromOff=from-main.from,toOff=to-main.from;return Object.assign(Object.assign({},state.changeByRange(function(range){if(range!=main&&from!=to&&state.sliceDoc(range.from+fromOff,range.from+toOff)!=state.sliceDoc(from,to))return{range:range};return{changes:{from:range.from+fromOff,to:to==main.from?range.to:range.from+toOff,insert:text},range:EditorSelection.cursor(range.from+fromOff+text.length)};})),{scrollIntoView:true,userEvent:"input.complete"});}var SourceCache=/* @__PURE__ */new WeakMap();function asSource(source){if(!Array.isArray(source))return source;var known=SourceCache.get(source);if(!known)SourceCache.set(source,known=_completeFromList(source));return known;}var startCompletionEffect=/* @__PURE__ */StateEffect.define();var closeCompletionEffect=/* @__PURE__ */StateEffect.define();var FuzzyMatcher=/*#__PURE__*/function(){function FuzzyMatcher(pattern){_classCallCheck(this,FuzzyMatcher);this.pattern=pattern;this.chars=[];this.folded=[];this.any=[];this.precise=[];this.byWord=[];this.score=0;this.matched=[];for(var _p7=0;_p7<pattern.length;){var _char3=codePointAt(pattern,_p7),size=codePointSize(_char3);this.chars.push(_char3);var part=pattern.slice(_p7,_p7+size),upper=part.toUpperCase();this.folded.push(codePointAt(upper==part?part.toLowerCase():upper,0));_p7+=size;}this.astral=pattern.length!=this.chars.length;}_createClass(FuzzyMatcher,[{key:"ret",value:function ret(score2,matched){this.score=score2;this.matched=matched;return this;}},{key:"match",value:function match(word){if(this.pattern.length==0)return this.ret(-100,[]);if(word.length<this.pattern.length)return null;var chars=this.chars,folded=this.folded,any=this.any,precise=this.precise,byWord=this.byWord;if(chars.length==1){var first=codePointAt(word,0),firstSize=codePointSize(first);var score2=firstSize==word.length?0:-100;if(first==chars[0]);else if(first==folded[0])score2+=-200;else return null;return this.ret(score2,[0,firstSize]);}var direct=word.indexOf(this.pattern);if(direct==0)return this.ret(word.length==this.pattern.length?0:-100,[0,this.pattern.length]);var len=chars.length,anyTo=0;if(direct<0){for(var _i156=0,e=Math.min(word.length,200);_i156<e&&anyTo<len;){var next=codePointAt(word,_i156);if(next==chars[anyTo]||next==folded[anyTo])any[anyTo++]=_i156;_i156+=codePointSize(next);}if(anyTo<len)return null;}var preciseTo=0;var byWordTo=0,byWordFolded=false;var adjacentTo=0,adjacentStart=-1,adjacentEnd=-1;var hasLower=/[a-z]/.test(word),wordAdjacent=true;for(var _i157=0,_e2=Math.min(word.length,200),prevType=0;_i157<_e2&&byWordTo<len;){var _next4=codePointAt(word,_i157);if(direct<0){if(preciseTo<len&&_next4==chars[preciseTo])precise[preciseTo++]=_i157;if(adjacentTo<len){if(_next4==chars[adjacentTo]||_next4==folded[adjacentTo]){if(adjacentTo==0)adjacentStart=_i157;adjacentEnd=_i157+1;adjacentTo++;}else{adjacentTo=0;}}}var ch=void 0,type=_next4<255?_next4>=48&&_next4<=57||_next4>=97&&_next4<=122?2:_next4>=65&&_next4<=90?1:0:(ch=fromCodePoint(_next4))!=ch.toLowerCase()?1:ch!=ch.toUpperCase()?2:0;if(!_i157||type==1&&hasLower||prevType==0&&type!=0){if(chars[byWordTo]==_next4||folded[byWordTo]==_next4&&(byWordFolded=true))byWord[byWordTo++]=_i157;else if(byWord.length)wordAdjacent=false;}prevType=type;_i157+=codePointSize(_next4);}if(byWordTo==len&&byWord[0]==0&&wordAdjacent)return this.result(-100+(byWordFolded?-200:0),byWord,word);if(adjacentTo==len&&adjacentStart==0)return this.ret(-200-word.length+(adjacentEnd==word.length?0:-100),[0,adjacentEnd]);if(direct>-1)return this.ret(-700-word.length,[direct,direct+this.pattern.length]);if(adjacentTo==len)return this.ret(-200+-700-word.length,[adjacentStart,adjacentEnd]);if(byWordTo==len)return this.result(-100+(byWordFolded?-200:0)+-700+(wordAdjacent?0:-1100),byWord,word);return chars.length==2?null:this.result((any[0]?-700:0)+-200+-1100,any,word);}},{key:"result",value:function result(score2,positions,word){var result=[],i=0;var _iterator207=_createForOfIteratorHelper(positions),_step207;try{for(_iterator207.s();!(_step207=_iterator207.n()).done;){var pos=_step207.value;var to=pos+(this.astral?codePointSize(codePointAt(word,pos)):1);if(i&&result[i-1]==pos)result[i-1]=to;else{result[i++]=pos;result[i++]=to;}}}catch(err){_iterator207.e(err);}finally{_iterator207.f();}return this.ret(score2-word.length,result);}}]);return FuzzyMatcher;}();var StrictMatcher=/*#__PURE__*/function(){function StrictMatcher(pattern){_classCallCheck(this,StrictMatcher);this.pattern=pattern;this.matched=[];this.score=0;this.folded=pattern.toLowerCase();}_createClass(StrictMatcher,[{key:"match",value:function match(word){if(word.length<this.pattern.length)return null;var start=word.slice(0,this.pattern.length);var match=start==this.pattern?0:start.toLowerCase()==this.folded?-200:null;if(match==null)return null;this.matched=[0,start.length];this.score=match+(word.length==this.pattern.length?0:-100);return this;}}]);return StrictMatcher;}();var completionConfig=/* @__PURE__ */Facet.define({combine:function combine(configs){return combineConfig(configs,{activateOnTyping:true,activateOnTypingDelay:100,selectOnOpen:true,override:null,closeOnBlur:true,maxRenderedOptions:100,defaultKeymap:true,tooltipClass:function tooltipClass(){return"";},optionClass:function optionClass(){return"";},aboveCursor:false,icons:true,addToOptions:[],positionInfo:defaultPositionInfo,filterStrict:false,compareCompletions:function compareCompletions(a,b){return a.label.localeCompare(b.label);},interactionDelay:75,updateSyncTime:100},{defaultKeymap:function defaultKeymap(a,b){return a&&b;},closeOnBlur:function closeOnBlur(a,b){return a&&b;},icons:function icons(a,b){return a&&b;},tooltipClass:function tooltipClass(a,b){return function(c){return joinClass(a(c),b(c));};},optionClass:function optionClass(a,b){return function(c){return joinClass(a(c),b(c));};},addToOptions:function addToOptions(a,b){return a.concat(b);},filterStrict:function filterStrict(a,b){return a||b;}});}});function joinClass(a,b){return a?b?a+" "+b:a:b;}function defaultPositionInfo(view,list,option,info,space,tooltip){var rtl=view.textDirection==Direction.RTL,left=rtl,narrow=false;var side="top",offset,maxWidth;var spaceLeft=list.left-space.left,spaceRight=space.right-list.right;var infoWidth=info.right-info.left,infoHeight=info.bottom-info.top;if(left&&spaceLeft<Math.min(infoWidth,spaceRight))left=false;else if(!left&&spaceRight<Math.min(infoWidth,spaceLeft))left=true;if(infoWidth<=(left?spaceLeft:spaceRight)){offset=Math.max(space.top,Math.min(option.top,space.bottom-infoHeight))-list.top;maxWidth=Math.min(400,left?spaceLeft:spaceRight);}else{narrow=true;maxWidth=Math.min(400,(rtl?list.right:space.right-list.left)-30);var spaceBelow=space.bottom-list.bottom;if(spaceBelow>=infoHeight||spaceBelow>list.top){offset=option.bottom-list.top;}else{side="bottom";offset=list.bottom-option.top;}}var scaleY=(list.bottom-list.top)/tooltip.offsetHeight;var scaleX=(list.right-list.left)/tooltip.offsetWidth;return{style:"".concat(side,": ").concat(offset/scaleY,"px; max-width: ").concat(maxWidth/scaleX,"px"),"class":"cm-completionInfo-"+(narrow?rtl?"left-narrow":"right-narrow":left?"left":"right")};}function optionContent(config2){var content2=config2.addToOptions.slice();if(config2.icons)content2.push({render:function render(completion){var _icon$classList;var icon=document.createElement("div");icon.classList.add("cm-completionIcon");if(completion.type)(_icon$classList=icon.classList).add.apply(_icon$classList,_toConsumableArray(completion.type.split(/\s+/g).map(function(cls){return"cm-completionIcon-"+cls;})));icon.setAttribute("aria-hidden","true");return icon;},position:20});content2.push({render:function render(completion,_s,_v,match){var labelElt=document.createElement("span");labelElt.className="cm-completionLabel";var label=completion.displayLabel||completion.label,off=0;for(var j=0;j<match.length;){var from=match[j++],to=match[j++];if(from>off)labelElt.appendChild(document.createTextNode(label.slice(off,from)));var span=labelElt.appendChild(document.createElement("span"));span.appendChild(document.createTextNode(label.slice(from,to)));span.className="cm-completionMatchedText";off=to;}if(off<label.length)labelElt.appendChild(document.createTextNode(label.slice(off)));return labelElt;},position:50},{render:function render(completion){if(!completion.detail)return null;var detailElt=document.createElement("span");detailElt.className="cm-completionDetail";detailElt.textContent=completion.detail;return detailElt;},position:80});return content2.sort(function(a,b){return a.position-b.position;}).map(function(a){return a.render;});}function rangeAroundSelected(total,selected,max){if(total<=max)return{from:0,to:total};if(selected<0)selected=0;if(selected<=total>>1){var off2=Math.floor(selected/max);return{from:off2*max,to:(off2+1)*max};}var off=Math.floor((total-selected)/max);return{from:total-(off+1)*max,to:total-off*max};}var CompletionTooltip=/*#__PURE__*/function(){function CompletionTooltip(view,stateField,applyCompletion2){var _this83=this;_classCallCheck(this,CompletionTooltip);this.view=view;this.stateField=stateField;this.applyCompletion=applyCompletion2;this.info=null;this.infoDestroy=null;this.placeInfoReq={read:function read(){return _this83.measureInfo();},write:function write(pos){return _this83.placeInfo(pos);},key:this};this.space=null;this.currentClass="";var cState=view.state.field(stateField);var _cState$open=cState.open,options=_cState$open.options,selected=_cState$open.selected;var config2=view.state.facet(completionConfig);this.optionContent=optionContent(config2);this.optionClass=config2.optionClass;this.tooltipClass=config2.tooltipClass;this.range=rangeAroundSelected(options.length,selected,config2.maxRenderedOptions);this.dom=document.createElement("div");this.dom.className="cm-tooltip-autocomplete";this.updateTooltipClass(view.state);this.dom.addEventListener("mousedown",function(e){var options2=view.state.field(stateField).open.options;for(var dom=e.target,match;dom&&dom!=_this83.dom;dom=dom.parentNode){if(dom.nodeName=="LI"&&(match=/-(\d+)$/.exec(dom.id))&&+match[1]<options2.length){_this83.applyCompletion(view,options2[+match[1]]);e.preventDefault();return;}}});this.dom.addEventListener("focusout",function(e){var state=view.state.field(_this83.stateField,false);if(state&&state.tooltip&&view.state.facet(completionConfig).closeOnBlur&&e.relatedTarget!=view.contentDOM)view.dispatch({effects:closeCompletionEffect.of(null)});});this.showOptions(options,cState.id);}_createClass(CompletionTooltip,[{key:"mount",value:function mount(){this.updateSel();}},{key:"showOptions",value:function showOptions(options,id){var _this84=this;if(this.list)this.list.remove();this.list=this.dom.appendChild(this.createListBox(options,id,this.range));this.list.addEventListener("scroll",function(){if(_this84.info)_this84.view.requestMeasure(_this84.placeInfoReq);});}},{key:"update",value:function update(_update26){var _a2;var cState=_update26.state.field(this.stateField);var prevState=_update26.startState.field(this.stateField);this.updateTooltipClass(_update26.state);if(cState!=prevState){var _cState$open2=cState.open,options=_cState$open2.options,selected=_cState$open2.selected,disabled=_cState$open2.disabled;if(!prevState.open||prevState.open.options!=options){this.range=rangeAroundSelected(options.length,selected,_update26.state.facet(completionConfig).maxRenderedOptions);this.showOptions(options,cState.id);}this.updateSel();if(disabled!=((_a2=prevState.open)===null||_a2===void 0?void 0:_a2.disabled))this.dom.classList.toggle("cm-tooltip-autocomplete-disabled",!!disabled);}}},{key:"updateTooltipClass",value:function updateTooltipClass(state){var cls=this.tooltipClass(state);if(cls!=this.currentClass){var _iterator208=_createForOfIteratorHelper(this.currentClass.split(" ")),_step208;try{for(_iterator208.s();!(_step208=_iterator208.n()).done;){var c=_step208.value;if(c)this.dom.classList.remove(c);}}catch(err){_iterator208.e(err);}finally{_iterator208.f();}var _iterator209=_createForOfIteratorHelper(cls.split(" ")),_step209;try{for(_iterator209.s();!(_step209=_iterator209.n()).done;){var _c2=_step209.value;if(_c2)this.dom.classList.add(_c2);}}catch(err){_iterator209.e(err);}finally{_iterator209.f();}this.currentClass=cls;}}},{key:"positioned",value:function positioned(space){this.space=space;if(this.info)this.view.requestMeasure(this.placeInfoReq);}},{key:"updateSel",value:function updateSel(){var _this85=this;var cState=this.view.state.field(this.stateField),open=cState.open;if(open.selected>-1&&open.selected<this.range.from||open.selected>=this.range.to){this.range=rangeAroundSelected(open.options.length,open.selected,this.view.state.facet(completionConfig).maxRenderedOptions);this.showOptions(open.options,cState.id);}if(this.updateSelectedOption(open.selected)){this.destroyInfo();var completion=open.options[open.selected].completion;var info=completion.info;if(!info)return;var infoResult=typeof info==="string"?document.createTextNode(info):info(completion);if(!infoResult)return;if("then"in infoResult){infoResult.then(function(obj){if(obj&&_this85.view.state.field(_this85.stateField,false)==cState)_this85.addInfoPane(obj,completion);})["catch"](function(e){return logException(_this85.view.state,e,"completion info");});}else{this.addInfoPane(infoResult,completion);}}}},{key:"addInfoPane",value:function addInfoPane(content2,completion){this.destroyInfo();var wrap=this.info=document.createElement("div");wrap.className="cm-tooltip cm-completionInfo";if(content2.nodeType!=null){wrap.appendChild(content2);this.infoDestroy=null;}else{var dom=content2.dom,destroy=content2.destroy;wrap.appendChild(dom);this.infoDestroy=destroy||null;}this.dom.appendChild(wrap);this.view.requestMeasure(this.placeInfoReq);}},{key:"updateSelectedOption",value:function updateSelectedOption(selected){var set=null;for(var opt=this.list.firstChild,_i158=this.range.from;opt;opt=opt.nextSibling,_i158++){if(opt.nodeName!="LI"||!opt.id){_i158--;}else if(_i158==selected){if(!opt.hasAttribute("aria-selected")){opt.setAttribute("aria-selected","true");set=opt;}}else{if(opt.hasAttribute("aria-selected"))opt.removeAttribute("aria-selected");}}if(set)scrollIntoView2(this.list,set);return set;}},{key:"measureInfo",value:function measureInfo(){var sel=this.dom.querySelector("[aria-selected]");if(!sel||!this.info)return null;var listRect=this.dom.getBoundingClientRect();var infoRect=this.info.getBoundingClientRect();var selRect=sel.getBoundingClientRect();var space=this.space;if(!space){var win=this.dom.ownerDocument.defaultView||window;space={left:0,top:0,right:win.innerWidth,bottom:win.innerHeight};}if(selRect.top>Math.min(space.bottom,listRect.bottom)-10||selRect.bottom<Math.max(space.top,listRect.top)+10)return null;return this.view.state.facet(completionConfig).positionInfo(this.view,listRect,selRect,infoRect,space,this.dom);}},{key:"placeInfo",value:function placeInfo(pos){if(this.info){if(pos){if(pos.style)this.info.style.cssText=pos.style;this.info.className="cm-tooltip cm-completionInfo "+(pos["class"]||"");}else{this.info.style.cssText="top: -1e6px";}}}},{key:"createListBox",value:function createListBox(options,id,range){var ul=document.createElement("ul");ul.id=id;ul.setAttribute("role","listbox");ul.setAttribute("aria-expanded","true");ul.setAttribute("aria-label",this.view.state.phrase("Completions"));var curSection=null;for(var _i159=range.from;_i159<range.to;_i159++){var _options$_i=options[_i159],completion=_options$_i.completion,match=_options$_i.match,section=completion.section;if(section){var _name2=typeof section=="string"?section:section.name;if(_name2!=curSection&&(_i159>range.from||range.from==0)){curSection=_name2;if(typeof section!="string"&&section.header){ul.appendChild(section.header(section));}else{var header=ul.appendChild(document.createElement("completion-section"));header.textContent=_name2;}}}var li=ul.appendChild(document.createElement("li"));li.id=id+"-"+_i159;li.setAttribute("role","option");var cls=this.optionClass(completion);if(cls)li.className=cls;var _iterator210=_createForOfIteratorHelper(this.optionContent),_step210;try{for(_iterator210.s();!(_step210=_iterator210.n()).done;){var source=_step210.value;var node=source(completion,this.view.state,this.view,match);if(node)li.appendChild(node);}}catch(err){_iterator210.e(err);}finally{_iterator210.f();}}if(range.from)ul.classList.add("cm-completionListIncompleteTop");if(range.to<options.length)ul.classList.add("cm-completionListIncompleteBottom");return ul;}},{key:"destroyInfo",value:function destroyInfo(){if(this.info){if(this.infoDestroy)this.infoDestroy();this.info.remove();this.info=null;}}},{key:"destroy",value:function destroy(){this.destroyInfo();}}]);return CompletionTooltip;}();function completionTooltip(stateField,applyCompletion2){return function(view){return new CompletionTooltip(view,stateField,applyCompletion2);};}function scrollIntoView2(container,element){var parent=container.getBoundingClientRect();var self=element.getBoundingClientRect();var scaleY=parent.height/container.offsetHeight;if(self.top<parent.top)container.scrollTop-=(parent.top-self.top)/scaleY;else if(self.bottom>parent.bottom)container.scrollTop+=(self.bottom-parent.bottom)/scaleY;}function score(option){return(option.boost||0)*100+(option.apply?10:0)+(option.info?5:0)+(option.type?1:0);}function sortOptions(active,state){var options=[];var sections=null;var addOption=function addOption(option){options.push(option);var section=option.completion.section;if(section){if(!sections)sections=[];var _name3=typeof section=="string"?section:section.name;if(!sections.some(function(s){return s.name==_name3;}))sections.push(typeof section=="string"?{name:_name3}:section);}};var conf=state.facet(completionConfig);var _iterator211=_createForOfIteratorHelper(active),_step211;try{for(_iterator211.s();!(_step211=_iterator211.n()).done;){var a=_step211.value;if(a.hasResult()){var getMatch=a.result.getMatch;if(a.result.filter===false){var _iterator215=_createForOfIteratorHelper(a.result.options),_step215;try{for(_iterator215.s();!(_step215=_iterator215.n()).done;){var _option=_step215.value;addOption(new Option(_option,a.source,getMatch?getMatch(_option):[],1e9-options.length));}}catch(err){_iterator215.e(err);}finally{_iterator215.f();}}else{var pattern=state.sliceDoc(a.from,a.to),match=void 0;var matcher=conf.filterStrict?new StrictMatcher(pattern):new FuzzyMatcher(pattern);var _iterator216=_createForOfIteratorHelper(a.result.options),_step216;try{for(_iterator216.s();!(_step216=_iterator216.n()).done;){var _option2=_step216.value;if(match=matcher.match(_option2.label)){var matched=!_option2.displayLabel?match.matched:getMatch?getMatch(_option2,match.matched):[];addOption(new Option(_option2,a.source,matched,match.score+(_option2.boost||0)));}}}catch(err){_iterator216.e(err);}finally{_iterator216.f();}}}}}catch(err){_iterator211.e(err);}finally{_iterator211.f();}if(sections){var sectionOrder=/* @__PURE__ */Object.create(null),pos=0;var cmp=function cmp(a,b){var _a2,_b;return((_a2=a.rank)!==null&&_a2!==void 0?_a2:1e9)-((_b=b.rank)!==null&&_b!==void 0?_b:1e9)||(a.name<b.name?-1:1);};var _iterator212=_createForOfIteratorHelper(sections.sort(cmp)),_step212;try{for(_iterator212.s();!(_step212=_iterator212.n()).done;){var s=_step212.value;pos-=1e5;sectionOrder[s.name]=pos;}}catch(err){_iterator212.e(err);}finally{_iterator212.f();}var _iterator213=_createForOfIteratorHelper(options),_step213;try{for(_iterator213.s();!(_step213=_iterator213.n()).done;){var option=_step213.value;var section=option.completion.section;if(section)option.score+=sectionOrder[typeof section=="string"?section:section.name];}}catch(err){_iterator213.e(err);}finally{_iterator213.f();}}var result=[],prev=null;var compare2=conf.compareCompletions;var _iterator214=_createForOfIteratorHelper(options.sort(function(a,b){return b.score-a.score||compare2(a.completion,b.completion);})),_step214;try{for(_iterator214.s();!(_step214=_iterator214.n()).done;){var opt=_step214.value;var cur2=opt.completion;if(!prev||prev.label!=cur2.label||prev.detail!=cur2.detail||prev.type!=null&&cur2.type!=null&&prev.type!=cur2.type||prev.apply!=cur2.apply||prev.boost!=cur2.boost)result.push(opt);else if(score(opt.completion)>score(prev))result[result.length-1]=opt;prev=opt.completion;}}catch(err){_iterator214.e(err);}finally{_iterator214.f();}return result;}var CompletionDialog=/*#__PURE__*/function(){function CompletionDialog(options,attrs,tooltip,timestamp,selected,disabled){_classCallCheck(this,CompletionDialog);this.options=options;this.attrs=attrs;this.tooltip=tooltip;this.timestamp=timestamp;this.selected=selected;this.disabled=disabled;}_createClass(CompletionDialog,[{key:"setSelected",value:function setSelected(selected,id){return selected==this.selected||selected>=this.options.length?this:new CompletionDialog(this.options,makeAttrs(id,selected),this.tooltip,this.timestamp,selected,this.disabled);}},{key:"map",value:function map(changes){return new CompletionDialog(this.options,this.attrs,Object.assign(Object.assign({},this.tooltip),{pos:changes.mapPos(this.tooltip.pos)}),this.timestamp,this.selected,this.disabled);}}],[{key:"build",value:function build(active,state,id,prev,conf){var options=sortOptions(active,state);if(!options.length){return prev&&active.some(function(a){return a.state==1;})?new CompletionDialog(prev.options,prev.attrs,prev.tooltip,prev.timestamp,prev.selected,true):null;}var selected=state.facet(completionConfig).selectOnOpen?0:-1;if(prev&&prev.selected!=selected&&prev.selected!=-1){var selectedValue=prev.options[prev.selected].completion;for(var _i160=0;_i160<options.length;_i160++){if(options[_i160].completion==selectedValue){selected=_i160;break;}}}return new CompletionDialog(options,makeAttrs(id,selected),{pos:active.reduce(function(a,b){return b.hasResult()?Math.min(a,b.from):a;},1e8),create:createTooltip,above:conf.aboveCursor},prev?prev.timestamp:Date.now(),selected,false);}}]);return CompletionDialog;}();var CompletionState=/*#__PURE__*/function(){function CompletionState(active,id,open){_classCallCheck(this,CompletionState);this.active=active;this.id=id;this.open=open;}_createClass(CompletionState,[{key:"update",value:function update(tr){var _this86=this;var state=tr.state,conf=state.facet(completionConfig);var sources=conf.override||state.languageDataAt("autocomplete",cur(state)).map(asSource);var active=sources.map(function(source){var value=_this86.active.find(function(s){return s.source==source;})||new ActiveSource(source,_this86.active.some(function(a){return a.state!=0;})?1:0);return value.update(tr,conf);});if(active.length==this.active.length&&active.every(function(a,i){return a==_this86.active[i];}))active=this.active;var open=this.open;if(open&&tr.docChanged)open=open.map(tr.changes);if(tr.selection||active.some(function(a){return a.hasResult()&&tr.changes.touchesRange(a.from,a.to);})||!sameResults(active,this.active))open=CompletionDialog.build(active,state,this.id,open,conf);else if(open&&open.disabled&&!active.some(function(a){return a.state==1;}))open=null;if(!open&&active.every(function(a){return a.state!=1;})&&active.some(function(a){return a.hasResult();}))active=active.map(function(a){return a.hasResult()?new ActiveSource(a.source,0):a;});var _iterator217=_createForOfIteratorHelper(tr.effects),_step217;try{for(_iterator217.s();!(_step217=_iterator217.n()).done;){var effect=_step217.value;if(effect.is(setSelectedEffect))open=open&&open.setSelected(effect.value,this.id);}}catch(err){_iterator217.e(err);}finally{_iterator217.f();}return active==this.active&&open==this.open?this:new CompletionState(active,this.id,open);}},{key:"tooltip",get:function get(){return this.open?this.open.tooltip:null;}},{key:"attrs",get:function get(){return this.open?this.open.attrs:baseAttrs;}}],[{key:"start",value:function start(){return new CompletionState(none3,"cm-ac-"+Math.floor(Math.random()*2e6).toString(36),null);}}]);return CompletionState;}();function sameResults(a,b){if(a==b)return true;for(var iA=0,iB=0;;){while(iA<a.length&&!a[iA].hasResult){iA++;}while(iB<b.length&&!b[iB].hasResult){iB++;}var endA=iA==a.length,endB=iB==b.length;if(endA||endB)return endA==endB;if(a[iA++].result!=b[iB++].result)return false;}}var baseAttrs={"aria-autocomplete":"list"};function makeAttrs(id,selected){var result={"aria-autocomplete":"list","aria-haspopup":"listbox","aria-controls":id};if(selected>-1)result["aria-activedescendant"]=id+"-"+selected;return result;}var none3=[];function getUserEvent(tr){return tr.isUserEvent("input.type")?"input":tr.isUserEvent("delete.backward")?"delete":null;}var ActiveSource=/*#__PURE__*/function(){function ActiveSource(source,state){var explicitPos=arguments.length>2&&arguments[2]!==undefined?arguments[2]:-1;_classCallCheck(this,ActiveSource);this.source=source;this.state=state;this.explicitPos=explicitPos;}_createClass(ActiveSource,[{key:"hasResult",value:function hasResult(){return false;}},{key:"update",value:function update(tr,conf){var event=getUserEvent(tr),value=this;if(event)value=value.handleUserEvent(tr,event,conf);else if(tr.docChanged)value=value.handleChange(tr);else if(tr.selection&&value.state!=0)value=new ActiveSource(value.source,0);var _iterator218=_createForOfIteratorHelper(tr.effects),_step218;try{for(_iterator218.s();!(_step218=_iterator218.n()).done;){var effect=_step218.value;if(effect.is(startCompletionEffect))value=new ActiveSource(value.source,1,effect.value?cur(tr.state):-1);else if(effect.is(closeCompletionEffect))value=new ActiveSource(value.source,0);else if(effect.is(setActiveEffect)){var _iterator219=_createForOfIteratorHelper(effect.value),_step219;try{for(_iterator219.s();!(_step219=_iterator219.n()).done;){var active=_step219.value;if(active.source==value.source)value=active;}}catch(err){_iterator219.e(err);}finally{_iterator219.f();}}}}catch(err){_iterator218.e(err);}finally{_iterator218.f();}return value;}},{key:"handleUserEvent",value:function handleUserEvent(tr,type,conf){return type=="delete"||!conf.activateOnTyping?this.map(tr.changes):new ActiveSource(this.source,1);}},{key:"handleChange",value:function handleChange(tr){return tr.changes.touchesRange(cur(tr.startState))?new ActiveSource(this.source,0):this.map(tr.changes);}},{key:"map",value:function map(changes){return changes.empty||this.explicitPos<0?this:new ActiveSource(this.source,this.state,changes.mapPos(this.explicitPos));}}]);return ActiveSource;}();var ActiveResult=/*#__PURE__*/function(_ActiveSource){_inherits(ActiveResult,_ActiveSource);var _super39=_createSuper(ActiveResult);function ActiveResult(source,explicitPos,result,from,to){var _this87;_classCallCheck(this,ActiveResult);_this87=_super39.call(this,source,2,explicitPos);_this87.result=result;_this87.from=from;_this87.to=to;return _this87;}_createClass(ActiveResult,[{key:"hasResult",value:function hasResult(){return true;}},{key:"handleUserEvent",value:function handleUserEvent(tr,type,conf){var _a2;var result=this.result;if(result.map&&!tr.changes.empty)result=result.map(result,tr.changes);var from=tr.changes.mapPos(this.from),to=tr.changes.mapPos(this.to,1);var pos=cur(tr.state);if((this.explicitPos<0?pos<=from:pos<this.from)||pos>to||!result||type=="delete"&&cur(tr.startState)==this.from)return new ActiveSource(this.source,type=="input"&&conf.activateOnTyping?1:0);var explicitPos=this.explicitPos<0?-1:tr.changes.mapPos(this.explicitPos);if(checkValid(result.validFor,tr.state,from,to))return new ActiveResult(this.source,explicitPos,result,from,to);if(result.update&&(result=result.update(result,from,to,new _CompletionContext(tr.state,pos,explicitPos>=0))))return new ActiveResult(this.source,explicitPos,result,result.from,(_a2=result.to)!==null&&_a2!==void 0?_a2:cur(tr.state));return new ActiveSource(this.source,1,explicitPos);}},{key:"handleChange",value:function handleChange(tr){return tr.changes.touchesRange(this.from,this.to)?new ActiveSource(this.source,0):this.map(tr.changes);}},{key:"map",value:function map(mapping){if(mapping.empty)return this;var result=this.result.map?this.result.map(this.result,mapping):this.result;if(!result)return new ActiveSource(this.source,0);return new ActiveResult(this.source,this.explicitPos<0?-1:mapping.mapPos(this.explicitPos),this.result,mapping.mapPos(this.from),mapping.mapPos(this.to,1));}}]);return ActiveResult;}(ActiveSource);function checkValid(validFor,state,from,to){if(!validFor)return false;var text=state.sliceDoc(from,to);return typeof validFor=="function"?validFor(text,from,to,state):ensureAnchor(validFor,true).test(text);}var setActiveEffect=/* @__PURE__ */StateEffect.define({map:function map(sources,mapping){return sources.map(function(s){return s.map(mapping);});}});var setSelectedEffect=/* @__PURE__ */StateEffect.define();var completionState=/* @__PURE__ */StateField.define({create:function create(){return CompletionState.start();},update:function update(value,tr){return value.update(tr);},provide:function provide(f){return[showTooltip.from(f,function(val){return val.tooltip;}),EditorView.contentAttributes.from(f,function(state){return state.attrs;})];}});function applyCompletion(view,option){var apply=option.completion.apply||option.completion.label;var result=view.state.field(completionState).active.find(function(a){return a.source==option.source;});if(!(result instanceof ActiveResult))return false;if(typeof apply=="string")view.dispatch(Object.assign(Object.assign({},_insertCompletionText(view.state,apply,result.from,result.to)),{annotations:_pickedCompletion.of(option.completion)}));else apply(view,option.completion,result.from,result.to);return true;}var createTooltip=/* @__PURE__ */completionTooltip(completionState,applyCompletion);function _moveCompletionSelection(forward){var by=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"option";return function(view){var cState=view.state.field(completionState,false);if(!cState||!cState.open||cState.open.disabled||Date.now()-cState.open.timestamp<view.state.facet(completionConfig).interactionDelay)return false;var step=1,tooltip;if(by=="page"&&(tooltip=getTooltip(view,cState.open.tooltip)))step=Math.max(2,Math.floor(tooltip.dom.offsetHeight/tooltip.dom.querySelector("li").offsetHeight)-1);var length=cState.open.options.length;var selected=cState.open.selected>-1?cState.open.selected+step*(forward?1:-1):forward?0:length-1;if(selected<0)selected=by=="page"?0:length-1;else if(selected>=length)selected=by=="page"?length-1:0;view.dispatch({effects:setSelectedEffect.of(selected)});return true;};}var _acceptCompletion=function _acceptCompletion(view){var cState=view.state.field(completionState,false);if(view.state.readOnly||!cState||!cState.open||cState.open.selected<0||cState.open.disabled||Date.now()-cState.open.timestamp<view.state.facet(completionConfig).interactionDelay)return false;return applyCompletion(view,cState.open.options[cState.open.selected]);};var _startCompletion=function _startCompletion(view){var cState=view.state.field(completionState,false);if(!cState)return false;view.dispatch({effects:startCompletionEffect.of(true)});return true;};var _closeCompletion=function _closeCompletion(view){var cState=view.state.field(completionState,false);if(!cState||!cState.active.some(function(a){return a.state!=0;}))return false;view.dispatch({effects:closeCompletionEffect.of(null)});return true;};var RunningQuery=/*#__PURE__*/_createClass(function RunningQuery(active,context){_classCallCheck(this,RunningQuery);this.active=active;this.context=context;this.time=Date.now();this.updates=[];this.done=void 0;});var MaxUpdateCount=50;var MinAbortTime=1e3;var completionPlugin=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class16(view){_classCallCheck(this,_class16);this.view=view;this.debounceUpdate=-1;this.running=[];this.debounceAccept=-1;this.pendingStart=false;this.composing=0;var _iterator220=_createForOfIteratorHelper(view.state.field(completionState).active),_step220;try{for(_iterator220.s();!(_step220=_iterator220.n()).done;){var active=_step220.value;if(active.state==1)this.startQuery(active);}}catch(err){_iterator220.e(err);}finally{_iterator220.f();}}_createClass(_class16,[{key:"update",value:function update(_update27){var _this88=this;var cState=_update27.state.field(completionState);if(!_update27.selectionSet&&!_update27.docChanged&&_update27.startState.field(completionState)==cState)return;var doesReset=_update27.transactions.some(function(tr){return(tr.selection||tr.docChanged)&&!getUserEvent(tr);});for(var _i161=0;_i161<this.running.length;_i161++){var query=this.running[_i161];if(doesReset||query.updates.length+_update27.transactions.length>MaxUpdateCount&&Date.now()-query.time>MinAbortTime){var _iterator221=_createForOfIteratorHelper(query.context.abortListeners),_step221;try{for(_iterator221.s();!(_step221=_iterator221.n()).done;){var handler=_step221.value;try{handler();}catch(e){logException(this.view.state,e);}}}catch(err){_iterator221.e(err);}finally{_iterator221.f();}query.context.abortListeners=null;this.running.splice(_i161--,1);}else{var _query$updates;(_query$updates=query.updates).push.apply(_query$updates,_toConsumableArray(_update27.transactions));}}if(this.debounceUpdate>-1)clearTimeout(this.debounceUpdate);if(_update27.transactions.some(function(tr){return tr.effects.some(function(e){return e.is(startCompletionEffect);});}))this.pendingStart=true;var delay=this.pendingStart?50:_update27.state.facet(completionConfig).activateOnTypingDelay;this.debounceUpdate=cState.active.some(function(a){return a.state==1&&!_this88.running.some(function(q){return q.active.source==a.source;});})?setTimeout(function(){return _this88.startUpdate();},delay):-1;if(this.composing!=0){var _iterator222=_createForOfIteratorHelper(_update27.transactions),_step222;try{for(_iterator222.s();!(_step222=_iterator222.n()).done;){var tr=_step222.value;if(getUserEvent(tr)=="input")this.composing=2;else if(this.composing==2&&tr.selection)this.composing=3;}}catch(err){_iterator222.e(err);}finally{_iterator222.f();}}}},{key:"startUpdate",value:function startUpdate(){var _this89=this;this.debounceUpdate=-1;this.pendingStart=false;var state=this.view.state,cState=state.field(completionState);var _iterator223=_createForOfIteratorHelper(cState.active),_step223;try{var _loop13=function _loop13(){var active=_step223.value;if(active.state==1&&!_this89.running.some(function(r){return r.active.source==active.source;}))_this89.startQuery(active);};for(_iterator223.s();!(_step223=_iterator223.n()).done;){_loop13();}}catch(err){_iterator223.e(err);}finally{_iterator223.f();}}},{key:"startQuery",value:function startQuery(active){var _this90=this;var state=this.view.state,pos=cur(state);var context=new _CompletionContext(state,pos,active.explicitPos==pos);var pending=new RunningQuery(active,context);this.running.push(pending);Promise.resolve(active.source(context)).then(function(result){if(!pending.context.aborted){pending.done=result||null;_this90.scheduleAccept();}},function(err){_this90.view.dispatch({effects:closeCompletionEffect.of(null)});logException(_this90.view.state,err);});}},{key:"scheduleAccept",value:function scheduleAccept(){var _this91=this;if(this.running.every(function(q){return q.done!==void 0;}))this.accept();else if(this.debounceAccept<0)this.debounceAccept=setTimeout(function(){return _this91.accept();},this.view.state.facet(completionConfig).updateSyncTime);}},{key:"accept",value:function accept(){var _this92=this;var _a2;if(this.debounceAccept>-1)clearTimeout(this.debounceAccept);this.debounceAccept=-1;var updated=[];var conf=this.view.state.facet(completionConfig);var _loop14=function _loop14(_i163){var query=_this92.running[_i163];if(query.done===void 0){_i162=_i163;return"continue";}_this92.running.splice(_i163--,1);if(query.done){var active=new ActiveResult(query.active.source,query.active.explicitPos,query.done,query.done.from,(_a2=query.done.to)!==null&&_a2!==void 0?_a2:cur(query.updates.length?query.updates[0].startState:_this92.view.state));var _iterator224=_createForOfIteratorHelper(query.updates),_step224;try{for(_iterator224.s();!(_step224=_iterator224.n()).done;){var tr=_step224.value;active=active.update(tr,conf);}}catch(err){_iterator224.e(err);}finally{_iterator224.f();}if(active.hasResult()){updated.push(active);_i162=_i163;return"continue";}}var current=_this92.view.state.field(completionState).active.find(function(a){return a.source==query.active.source;});if(current&&current.state==1){if(query.done==null){var _active=new ActiveSource(query.active.source,0);var _iterator225=_createForOfIteratorHelper(query.updates),_step225;try{for(_iterator225.s();!(_step225=_iterator225.n()).done;){var _tr2=_step225.value;_active=_active.update(_tr2,conf);}}catch(err){_iterator225.e(err);}finally{_iterator225.f();}if(_active.state!=1)updated.push(_active);}else{_this92.startQuery(current);}}_i162=_i163;};for(var _i162=0;_i162<this.running.length;_i162++){var _ret5=_loop14(_i162);if(_ret5==="continue")continue;}if(updated.length)this.view.dispatch({effects:setActiveEffect.of(updated)});}}]);return _class16;}(),{eventHandlers:{blur:function blur(event){var _this93=this;var state=this.view.state.field(completionState,false);if(state&&state.tooltip&&this.view.state.facet(completionConfig).closeOnBlur){var dialog=state.open&&getTooltip(this.view,state.open.tooltip);if(!dialog||!dialog.dom.contains(event.relatedTarget))setTimeout(function(){return _this93.view.dispatch({effects:closeCompletionEffect.of(null)});},10);}},compositionstart:function compositionstart(){this.composing=1;},compositionend:function compositionend(){var _this94=this;if(this.composing==3){setTimeout(function(){return _this94.view.dispatch({effects:startCompletionEffect.of(false)});},20);}this.composing=0;}}});var windows=(typeof navigator==="undefined"?"undefined":_typeof(navigator))=="object"&&/* @__PURE__ */ /Win/.test(navigator.platform);var commitCharacters=/* @__PURE__ */Prec.highest(/* @__PURE__ */EditorView.domEventHandlers({keydown:function keydown(event,view){var field=view.state.field(completionState,false);if(!field||!field.open||field.open.disabled||field.open.selected<0||event.key.length>1||event.ctrlKey&&!(windows&&event.altKey)||event.metaKey)return false;var option=field.open.options[field.open.selected];var result=field.active.find(function(a){return a.source==option.source;});var commitChars=option.completion.commitCharacters||result.result.commitCharacters;if(commitChars&&commitChars.indexOf(event.key)>-1)applyCompletion(view,option);return false;}}));var baseTheme4=/* @__PURE__ */EditorView.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:0.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"\xB7\xB7\xB7"',opacity:0.5,display:"block",textAlign:"center"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"".concat(400,"px"),boxSizing:"border-box"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"".concat(30,"px")},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"".concat(30,"px")},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'\u0192'"}},".cm-completionIcon-class":{"&:after":{content:"'\u25CB'"}},".cm-completionIcon-interface":{"&:after":{content:"'\u25CC'"}},".cm-completionIcon-variable":{"&:after":{content:"'\uD835\uDC65'"}},".cm-completionIcon-constant":{"&:after":{content:"'\uD835\uDC36'"}},".cm-completionIcon-type":{"&:after":{content:"'\uD835\uDC61'"}},".cm-completionIcon-enum":{"&:after":{content:"'\u222A'"}},".cm-completionIcon-property":{"&:after":{content:"'\u25A1'"}},".cm-completionIcon-keyword":{"&:after":{content:"'\uD83D\uDD11\uFE0E'"}},".cm-completionIcon-namespace":{"&:after":{content:"'\u25A2'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});var FieldPos=/*#__PURE__*/_createClass(function FieldPos(field,line,from,to){_classCallCheck(this,FieldPos);this.field=field;this.line=line;this.from=from;this.to=to;});var FieldRange=/*#__PURE__*/function(){function FieldRange(field,from,to){_classCallCheck(this,FieldRange);this.field=field;this.from=from;this.to=to;}_createClass(FieldRange,[{key:"map",value:function map(changes){var from=changes.mapPos(this.from,-1,MapMode.TrackDel);var to=changes.mapPos(this.to,1,MapMode.TrackDel);return from==null||to==null?null:new FieldRange(this.field,from,to);}}]);return FieldRange;}();var Snippet=/*#__PURE__*/function(){function Snippet(lines,fieldPositions){_classCallCheck(this,Snippet);this.lines=lines;this.fieldPositions=fieldPositions;}_createClass(Snippet,[{key:"instantiate",value:function instantiate(state,pos){var text=[],lineStart=[pos];var lineObj=state.doc.lineAt(pos),baseIndent=/^\s*/.exec(lineObj.text)[0];var _iterator226=_createForOfIteratorHelper(this.lines),_step226;try{for(_iterator226.s();!(_step226=_iterator226.n()).done;){var line=_step226.value;if(text.length){var indent=baseIndent,tabs=/^\t*/.exec(line)[0].length;for(var _i164=0;_i164<tabs;_i164++){indent+=state.facet(_indentUnit);}lineStart.push(pos+indent.length-tabs);line=indent+line.slice(tabs);}text.push(line);pos+=line.length+1;}}catch(err){_iterator226.e(err);}finally{_iterator226.f();}var ranges=this.fieldPositions.map(function(pos2){return new FieldRange(pos2.field,lineStart[pos2.line]+pos2.from,lineStart[pos2.line]+pos2.to);});return{text:text,ranges:ranges};}}],[{key:"parse",value:function parse(template){var fields=[];var lines=[],positions=[],m;var _iterator227=_createForOfIteratorHelper(template.split(/\r\n?|\n/)),_step227;try{for(_iterator227.s();!(_step227=_iterator227.n()).done;){var line=_step227.value;while(m=/[#$]\{(?:(\d+)(?::([^}]*))?|([^}]*))\}/.exec(line)){var seq=m[1]?+m[1]:null,_name4=m[2]||m[3]||"",found=-1;for(var _i165=0;_i165<fields.length;_i165++){if(seq!=null?fields[_i165].seq==seq:_name4?fields[_i165].name==_name4:false)found=_i165;}if(found<0){var _i166=0;while(_i166<fields.length&&(seq==null||fields[_i166].seq!=null&&fields[_i166].seq<seq)){_i166++;}fields.splice(_i166,0,{seq:seq,name:_name4});found=_i166;var _iterator228=_createForOfIteratorHelper(positions),_step228;try{for(_iterator228.s();!(_step228=_iterator228.n()).done;){var pos=_step228.value;if(pos.field>=found)pos.field++;}}catch(err){_iterator228.e(err);}finally{_iterator228.f();}}positions.push(new FieldPos(found,lines.length,m.index,m.index+_name4.length));line=line.slice(0,m.index)+_name4+line.slice(m.index+m[0].length);}for(var esc;esc=/\\([{}])/.exec(line);){line=line.slice(0,esc.index)+esc[1]+line.slice(esc.index+esc[0].length);var _iterator229=_createForOfIteratorHelper(positions),_step229;try{for(_iterator229.s();!(_step229=_iterator229.n()).done;){var _pos2=_step229.value;if(_pos2.line==lines.length&&_pos2.from>esc.index){_pos2.from--;_pos2.to--;}}}catch(err){_iterator229.e(err);}finally{_iterator229.f();}}lines.push(line);}}catch(err){_iterator227.e(err);}finally{_iterator227.f();}return new Snippet(lines,positions);}}]);return Snippet;}();var fieldMarker=/* @__PURE__ */Decoration.widget({widget:/* @__PURE__ */new(/*#__PURE__*/function(_WidgetType8){_inherits(_class17,_WidgetType8);var _super40=_createSuper(_class17);function _class17(){_classCallCheck(this,_class17);return _super40.apply(this,arguments);}_createClass(_class17,[{key:"toDOM",value:function toDOM(){var span=document.createElement("span");span.className="cm-snippetFieldPosition";return span;}},{key:"ignoreEvent",value:function ignoreEvent(){return false;}}]);return _class17;}(WidgetType))()});var fieldRange=/* @__PURE__ */Decoration.mark({"class":"cm-snippetField"});var ActiveSnippet=/*#__PURE__*/function(){function ActiveSnippet(ranges,active){_classCallCheck(this,ActiveSnippet);this.ranges=ranges;this.active=active;this.deco=Decoration.set(ranges.map(function(r){return(r.from==r.to?fieldMarker:fieldRange).range(r.from,r.to);}));}_createClass(ActiveSnippet,[{key:"map",value:function map(changes){var ranges=[];var _iterator230=_createForOfIteratorHelper(this.ranges),_step230;try{for(_iterator230.s();!(_step230=_iterator230.n()).done;){var _r13=_step230.value;var mapped=_r13.map(changes);if(!mapped)return null;ranges.push(mapped);}}catch(err){_iterator230.e(err);}finally{_iterator230.f();}return new ActiveSnippet(ranges,this.active);}},{key:"selectionInsideField",value:function selectionInsideField(sel){var _this95=this;return sel.ranges.every(function(range){return _this95.ranges.some(function(r){return r.field==_this95.active&&r.from<=range.from&&r.to>=range.to;});});}}]);return ActiveSnippet;}();var setActive=/* @__PURE__ */StateEffect.define({map:function map(value,changes){return value&&value.map(changes);}});var moveToField=/* @__PURE__ */StateEffect.define();var snippetState=/* @__PURE__ */StateField.define({create:function create(){return null;},update:function update(value,tr){var _iterator231=_createForOfIteratorHelper(tr.effects),_step231;try{for(_iterator231.s();!(_step231=_iterator231.n()).done;){var effect=_step231.value;if(effect.is(setActive))return effect.value;if(effect.is(moveToField)&&value)return new ActiveSnippet(value.ranges,effect.value);}}catch(err){_iterator231.e(err);}finally{_iterator231.f();}if(value&&tr.docChanged)value=value.map(tr.changes);if(value&&tr.selection&&!value.selectionInsideField(tr.selection))value=null;return value;},provide:function provide(f){return EditorView.decorations.from(f,function(val){return val?val.deco:Decoration.none;});}});function fieldSelection(ranges,field){return EditorSelection.create(ranges.filter(function(r){return r.field==field;}).map(function(r){return EditorSelection.range(r.from,r.to);}));}function _snippet(template){var snippet2=Snippet.parse(template);return function(editor,completion,from,to){var _snippet2$instantiate=snippet2.instantiate(editor.state,from),text=_snippet2$instantiate.text,ranges=_snippet2$instantiate.ranges;var spec={changes:{from:from,to:to,insert:Text.of(text)},scrollIntoView:true,annotations:completion?[_pickedCompletion.of(completion),Transaction.userEvent.of("input.complete")]:void 0};if(ranges.length)spec.selection=fieldSelection(ranges,0);if(ranges.some(function(r){return r.field>0;})){var active=new ActiveSnippet(ranges,0);var effects=spec.effects=[setActive.of(active)];if(editor.state.field(snippetState,false)===void 0)effects.push(StateEffect.appendConfig.of([snippetState,addSnippetKeymap,snippetPointerHandler,baseTheme4]));}editor.dispatch(editor.state.update(spec));};}function moveField(dir){return function(_ref57){var state=_ref57.state,dispatch=_ref57.dispatch;var active=state.field(snippetState,false);if(!active||dir<0&&active.active==0)return false;var next=active.active+dir,last=dir>0&&!active.ranges.some(function(r){return r.field==next+dir;});dispatch(state.update({selection:fieldSelection(active.ranges,next),effects:setActive.of(last?null:new ActiveSnippet(active.ranges,next)),scrollIntoView:true}));return true;};}var _clearSnippet=function _clearSnippet(_ref58){var state=_ref58.state,dispatch=_ref58.dispatch;var active=state.field(snippetState,false);if(!active)return false;dispatch(state.update({effects:setActive.of(null)}));return true;};var _nextSnippetField=/* @__PURE__ */moveField(1);var _prevSnippetField=/* @__PURE__ */moveField(-1);function _hasNextSnippetField(state){var active=state.field(snippetState,false);return!!(active&&active.ranges.some(function(r){return r.field==active.active+1;}));}function _hasPrevSnippetField(state){var active=state.field(snippetState,false);return!!(active&&active.active>0);}var defaultSnippetKeymap=[{key:"Tab",run:_nextSnippetField,shift:_prevSnippetField},{key:"Escape",run:_clearSnippet}];var _snippetKeymap=/* @__PURE__ */Facet.define({combine:function combine(maps){return maps.length?maps[0]:defaultSnippetKeymap;}});var addSnippetKeymap=/* @__PURE__ */Prec.highest(/* @__PURE__ */keymap.compute([_snippetKeymap],function(state){return state.facet(_snippetKeymap);}));function _snippetCompletion(template,completion){return Object.assign(Object.assign({},completion),{apply:_snippet(template)});}var snippetPointerHandler=/* @__PURE__ */EditorView.domEventHandlers({mousedown:function mousedown(event,view){var active=view.state.field(snippetState,false),pos;if(!active||(pos=view.posAtCoords({x:event.clientX,y:event.clientY}))==null)return false;var match=active.ranges.find(function(r){return r.from<=pos&&r.to>=pos;});if(!match||match.field==active.active)return false;view.dispatch({selection:fieldSelection(active.ranges,match.field),effects:setActive.of(active.ranges.some(function(r){return r.field>match.field;})?new ActiveSnippet(active.ranges,match.field):null),scrollIntoView:true});return true;}});function wordRE(wordChars){var escaped=wordChars.replace(/[\]\-\\]/g,"\\$&");try{return new RegExp("[\\p{Alphabetic}\\p{Number}_".concat(escaped,"]+"),"ug");}catch(_a2){return new RegExp("[w".concat(escaped,"]"),"g");}}function mapRE(re,f){return new RegExp(f(re.source),re.unicode?"u":"");}var wordCaches=/* @__PURE__ */Object.create(null);function wordCache(wordChars){return wordCaches[wordChars]||(wordCaches[wordChars]=/* @__PURE__ */new WeakMap());}function storeWords(doc2,wordRE2,result,seen,ignoreAt){for(var lines=doc2.iterLines(),pos=0;!lines.next().done;){var value=lines.value,m=void 0;wordRE2.lastIndex=0;while(m=wordRE2.exec(value)){if(!seen[m[0]]&&pos+m.index!=ignoreAt){result.push({type:"text",label:m[0]});seen[m[0]]=true;if(result.length>=2e3)return;}}pos+=value.length+1;}}function collectWords(doc2,cache,wordRE2,to,ignoreAt){var big=doc2.length>=1e3;var cached=big&&cache.get(doc2);if(cached)return cached;var result=[],seen=/* @__PURE__ */Object.create(null);if(doc2.children){var pos=0;var _iterator232=_createForOfIteratorHelper(doc2.children),_step232;try{for(_iterator232.s();!(_step232=_iterator232.n()).done;){var ch=_step232.value;if(ch.length>=1e3){var _iterator233=_createForOfIteratorHelper(collectWords(ch,cache,wordRE2,to-pos,ignoreAt-pos)),_step233;try{for(_iterator233.s();!(_step233=_iterator233.n()).done;){var c=_step233.value;if(!seen[c.label]){seen[c.label]=true;result.push(c);}}}catch(err){_iterator233.e(err);}finally{_iterator233.f();}}else{storeWords(ch,wordRE2,result,seen,ignoreAt-pos);}pos+=ch.length+1;}}catch(err){_iterator232.e(err);}finally{_iterator232.f();}}else{storeWords(doc2,wordRE2,result,seen,ignoreAt);}if(big&&result.length<2e3)cache.set(doc2,result);return result;}var _completeAnyWord=function _completeAnyWord(context){var wordChars=context.state.languageDataAt("wordChars",context.pos).join("");var re=wordRE(wordChars);var token=context.matchBefore(mapRE(re,function(s){return s+"$";}));if(!token&&!context.explicit)return null;var from=token?token.from:context.pos;var options=collectWords(context.state.doc,wordCache(wordChars),re,5e4,from);return{from:from,options:options,validFor:mapRE(re,function(s){return"^"+s;})};};var defaults2={brackets:["(","[","{","'",'"'],before:")]}:;>",stringPrefixes:[]};var closeBracketEffect=/* @__PURE__ */StateEffect.define({map:function map(value,mapping){var mapped=mapping.mapPos(value,-1,MapMode.TrackAfter);return mapped==null?void 0:mapped;}});var closedBracket=/* @__PURE__ */new(/*#__PURE__*/function(_RangeValue3){_inherits(_class18,_RangeValue3);var _super41=_createSuper(_class18);function _class18(){_classCallCheck(this,_class18);return _super41.apply(this,arguments);}return _createClass(_class18);}(RangeValue))();closedBracket.startSide=1;closedBracket.endSide=-1;var bracketState=/* @__PURE__ */StateField.define({create:function create(){return RangeSet.empty;},update:function update(value,tr){value=value.map(tr.changes);if(tr.selection){var line=tr.state.doc.lineAt(tr.selection.main.head);value=value.update({filter:function filter(from){return from>=line.from&&from<=line.to;}});}var _iterator234=_createForOfIteratorHelper(tr.effects),_step234;try{for(_iterator234.s();!(_step234=_iterator234.n()).done;){var effect=_step234.value;if(effect.is(closeBracketEffect))value=value.update({add:[closedBracket.range(effect.value,effect.value+1)]});}}catch(err){_iterator234.e(err);}finally{_iterator234.f();}return value;}});function _closeBrackets(){return[inputHandler2,bracketState];}var definedClosing="()[]{}<>";function closing(ch){for(var _i167=0;_i167<definedClosing.length;_i167+=2){if(definedClosing.charCodeAt(_i167)==ch)return definedClosing.charAt(_i167+1);}return fromCodePoint(ch<128?ch:ch+1);}function config(state,pos){return state.languageDataAt("closeBrackets",pos)[0]||defaults2;}var android=(typeof navigator==="undefined"?"undefined":_typeof(navigator))=="object"&&/* @__PURE__ */ /Android\b/.test(navigator.userAgent);var inputHandler2=/* @__PURE__ */EditorView.inputHandler.of(function(view,from,to,insert2){if((android?view.composing:view.compositionStarted)||view.state.readOnly)return false;var sel=view.state.selection.main;if(insert2.length>2||insert2.length==2&&codePointSize(codePointAt(insert2,0))==1||from!=sel.from||to!=sel.to)return false;var tr=_insertBracket(view.state,insert2);if(!tr)return false;view.dispatch(tr);return true;});var _deleteBracketPair=function _deleteBracketPair(_ref59){var state=_ref59.state,dispatch=_ref59.dispatch;if(state.readOnly)return false;var conf=config(state,state.selection.main.head);var tokens=conf.brackets||defaults2.brackets;var dont=null,changes=state.changeByRange(function(range){if(range.empty){var before=prevChar(state.doc,range.head);var _iterator235=_createForOfIteratorHelper(tokens),_step235;try{for(_iterator235.s();!(_step235=_iterator235.n()).done;){var token=_step235.value;if(token==before&&nextChar(state.doc,range.head)==closing(codePointAt(token,0)))return{changes:{from:range.head-token.length,to:range.head+token.length},range:EditorSelection.cursor(range.head-token.length)};}}catch(err){_iterator235.e(err);}finally{_iterator235.f();}}return{range:dont=range};});if(!dont)dispatch(state.update(changes,{scrollIntoView:true,userEvent:"delete.backward"}));return!dont;};var _closeBracketsKeymap=[{key:"Backspace",run:_deleteBracketPair}];function _insertBracket(state,bracket2){var conf=config(state,state.selection.main.head);var tokens=conf.brackets||defaults2.brackets;var _iterator236=_createForOfIteratorHelper(tokens),_step236;try{for(_iterator236.s();!(_step236=_iterator236.n()).done;){var tok=_step236.value;var closed=closing(codePointAt(tok,0));if(bracket2==tok)return closed==tok?handleSame(state,tok,tokens.indexOf(tok+tok+tok)>-1,conf):handleOpen(state,tok,closed,conf.before||defaults2.before);if(bracket2==closed&&closedBracketAt(state,state.selection.main.from))return handleClose(state,tok,closed);}}catch(err){_iterator236.e(err);}finally{_iterator236.f();}return null;}function closedBracketAt(state,pos){var found=false;state.field(bracketState).between(0,state.doc.length,function(from){if(from==pos)found=true;});return found;}function nextChar(doc2,pos){var next=doc2.sliceString(pos,pos+2);return next.slice(0,codePointSize(codePointAt(next,0)));}function prevChar(doc2,pos){var prev=doc2.sliceString(pos-2,pos);return codePointSize(codePointAt(prev,0))==prev.length?prev:prev.slice(1);}function handleOpen(state,open,close,closeBefore){var dont=null,changes=state.changeByRange(function(range){if(!range.empty)return{changes:[{insert:open,from:range.from},{insert:close,from:range.to}],effects:closeBracketEffect.of(range.to+open.length),range:EditorSelection.range(range.anchor+open.length,range.head+open.length)};var next=nextChar(state.doc,range.head);if(!next||/\s/.test(next)||closeBefore.indexOf(next)>-1)return{changes:{insert:open+close,from:range.head},effects:closeBracketEffect.of(range.head+open.length),range:EditorSelection.cursor(range.head+open.length)};return{range:dont=range};});return dont?null:state.update(changes,{scrollIntoView:true,userEvent:"input.type"});}function handleClose(state,_open,close){var dont=null,changes=state.changeByRange(function(range){if(range.empty&&nextChar(state.doc,range.head)==close)return{changes:{from:range.head,to:range.head+close.length,insert:close},range:EditorSelection.cursor(range.head+close.length)};return dont={range:range};});return dont?null:state.update(changes,{scrollIntoView:true,userEvent:"input.type"});}function handleSame(state,token,allowTriple,config2){var stringPrefixes=config2.stringPrefixes||defaults2.stringPrefixes;var dont=null,changes=state.changeByRange(function(range){if(!range.empty)return{changes:[{insert:token,from:range.from},{insert:token,from:range.to}],effects:closeBracketEffect.of(range.to+token.length),range:EditorSelection.range(range.anchor+token.length,range.head+token.length)};var pos=range.head,next=nextChar(state.doc,pos),start;if(next==token){if(nodeStart(state,pos)){return{changes:{insert:token+token,from:pos},effects:closeBracketEffect.of(pos+token.length),range:EditorSelection.cursor(pos+token.length)};}else if(closedBracketAt(state,pos)){var isTriple=allowTriple&&state.sliceDoc(pos,pos+token.length*3)==token+token+token;var content2=isTriple?token+token+token:token;return{changes:{from:pos,to:pos+content2.length,insert:content2},range:EditorSelection.cursor(pos+content2.length)};}}else if(allowTriple&&state.sliceDoc(pos-2*token.length,pos)==token+token&&(start=canStartStringAt(state,pos-2*token.length,stringPrefixes))>-1&&nodeStart(state,start)){return{changes:{insert:token+token+token+token,from:pos},effects:closeBracketEffect.of(pos+token.length),range:EditorSelection.cursor(pos+token.length)};}else if(state.charCategorizer(pos)(next)!=CharCategory.Word){if(canStartStringAt(state,pos,stringPrefixes)>-1&&!probablyInString(state,pos,token,stringPrefixes))return{changes:{insert:token+token,from:pos},effects:closeBracketEffect.of(pos+token.length),range:EditorSelection.cursor(pos+token.length)};}return{range:dont=range};});return dont?null:state.update(changes,{scrollIntoView:true,userEvent:"input.type"});}function nodeStart(state,pos){var tree=_syntaxTree(state).resolveInner(pos+1);return tree.parent&&tree.from==pos;}function probablyInString(state,pos,quoteToken,prefixes){var node=_syntaxTree(state).resolveInner(pos,-1);var maxPrefix=prefixes.reduce(function(m,p){return Math.max(m,p.length);},0);for(var _i168=0;_i168<5;_i168++){var start=state.sliceDoc(node.from,Math.min(node.to,node.from+quoteToken.length+maxPrefix));var quotePos=start.indexOf(quoteToken);if(!quotePos||quotePos>-1&&prefixes.indexOf(start.slice(0,quotePos))>-1){var first=node.firstChild;while(first&&first.from==node.from&&first.to-first.from>quoteToken.length+quotePos){if(state.sliceDoc(first.to-quoteToken.length,first.to)==quoteToken)return false;first=first.firstChild;}return true;}var parent=node.to==pos&&node.parent;if(!parent)break;node=parent;}return false;}function canStartStringAt(state,pos,prefixes){var charCat=state.charCategorizer(pos);if(charCat(state.sliceDoc(pos-1,pos))!=CharCategory.Word)return pos;var _iterator237=_createForOfIteratorHelper(prefixes),_step237;try{for(_iterator237.s();!(_step237=_iterator237.n()).done;){var prefix=_step237.value;var start=pos-prefix.length;if(state.sliceDoc(start,pos)==prefix&&charCat(state.sliceDoc(start-1,start))!=CharCategory.Word)return start;}}catch(err){_iterator237.e(err);}finally{_iterator237.f();}return-1;}function _autocompletion(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return[commitCharacters,completionState,completionConfig.of(config2),completionPlugin,completionKeymapExt,baseTheme4];}var _completionKeymap=[{key:"Ctrl-Space",run:_startCompletion},{key:"Escape",run:_closeCompletion},{key:"ArrowDown",run:/* @__PURE__ */_moveCompletionSelection(true)},{key:"ArrowUp",run:/* @__PURE__ */_moveCompletionSelection(false)},{key:"PageDown",run:/* @__PURE__ */_moveCompletionSelection(true,"page")},{key:"PageUp",run:/* @__PURE__ */_moveCompletionSelection(false,"page")},{key:"Enter",run:_acceptCompletion}];var completionKeymapExt=/* @__PURE__ */Prec.highest(/* @__PURE__ */keymap.computeN([completionConfig],function(state){return state.facet(completionConfig).defaultKeymap?[_completionKeymap]:[];}));function _completionStatus(state){var cState=state.field(completionState,false);return cState&&cState.active.some(function(a){return a.state==1;})?"pending":cState&&cState.active.some(function(a){return a.state!=0;})?"active":null;}var completionArrayCache=/* @__PURE__ */new WeakMap();function _currentCompletions(state){var _a2;var open=(_a2=state.field(completionState,false))===null||_a2===void 0?void 0:_a2.open;if(!open||open.disabled)return[];var completions=completionArrayCache.get(open.options);if(!completions)completionArrayCache.set(open.options,completions=open.options.map(function(o){return o.completion;}));return completions;}function _selectedCompletion(state){var _a2;var open=(_a2=state.field(completionState,false))===null||_a2===void 0?void 0:_a2.open;return open&&!open.disabled&&open.selected>=0?open.options[open.selected].completion:null;}function _selectedCompletionIndex(state){var _a2;var open=(_a2=state.field(completionState,false))===null||_a2===void 0?void 0:_a2.open;return open&&!open.disabled&&open.selected>=0?open.selected:null;}function _setSelectedCompletion(index){return setSelectedEffect.of(index);}// ../node_modules/@codemirror/lint/dist/index.js 14var dist_exports3={};__export(dist_exports3,{closeLintPanel:function closeLintPanel(){return _closeLintPanel;},diagnosticCount:function diagnosticCount(){return _diagnosticCount;},forceLinting:function forceLinting(){return _forceLinting;},lintGutter:function lintGutter(){return _lintGutter;},lintKeymap:function lintKeymap(){return _lintKeymap;},linter:function linter(){return _linter;},nextDiagnostic:function nextDiagnostic(){return _nextDiagnostic;},openLintPanel:function openLintPanel(){return _openLintPanel;},setDiagnostics:function setDiagnostics(){return _setDiagnostics;},setDiagnosticsEffect:function setDiagnosticsEffect(){return _setDiagnosticsEffect;}});var SelectedDiagnostic=/*#__PURE__*/_createClass(function SelectedDiagnostic(from,to,diagnostic){_classCallCheck(this,SelectedDiagnostic);this.from=from;this.to=to;this.diagnostic=diagnostic;});var LintState=/*#__PURE__*/function(){function LintState(diagnostics,panel,selected){_classCallCheck(this,LintState);this.diagnostics=diagnostics;this.panel=panel;this.selected=selected;}_createClass(LintState,null,[{key:"init",value:function init(diagnostics,panel,state){var markedDiagnostics=diagnostics;var diagnosticFilter=state.facet(lintConfig).markerFilter;if(diagnosticFilter)markedDiagnostics=diagnosticFilter(markedDiagnostics);var ranges=Decoration.set(markedDiagnostics.map(function(d){return d.from==d.to||d.from==d.to-1&&state.doc.lineAt(d.from).to==d.from?Decoration.widget({widget:new DiagnosticWidget(d),diagnostic:d}).range(d.from):Decoration.mark({attributes:{"class":"cm-lintRange cm-lintRange-"+d.severity},diagnostic:d}).range(d.from,d.to);}),true);return new LintState(ranges,panel,findDiagnostic(ranges));}}]);return LintState;}();function findDiagnostic(diagnostics){var diagnostic=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;var after=arguments.length>2&&arguments[2]!==undefined?arguments[2]:0;var found=null;diagnostics.between(after,1e9,function(from,to,_ref60){var spec=_ref60.spec;if(diagnostic&&spec.diagnostic!=diagnostic)return;found=new SelectedDiagnostic(from,to,spec.diagnostic);return false;});return found;}function hideTooltip(tr,tooltip){return!!(tr.effects.some(function(e){return e.is(_setDiagnosticsEffect);})||tr.changes.touchesRange(tooltip.pos));}function maybeEnableLint(state,effects){return state.field(lintState,false)?effects:effects.concat(StateEffect.appendConfig.of([lintState,EditorView.decorations.compute([lintState],function(state2){var _state2$field=state2.field(lintState),selected=_state2$field.selected,panel=_state2$field.panel;return!selected||!panel||selected.from==selected.to?Decoration.none:Decoration.set([activeMark.range(selected.from,selected.to)]);}),hoverTooltip(lintTooltip,{hideOn:hideTooltip}),baseTheme5]));}function _setDiagnostics(state,diagnostics){return{effects:maybeEnableLint(state,[_setDiagnosticsEffect.of(diagnostics)])};}var _setDiagnosticsEffect=/* @__PURE__ */StateEffect.define();var togglePanel2=/* @__PURE__ */StateEffect.define();var movePanelSelection=/* @__PURE__ */StateEffect.define();var lintState=/* @__PURE__ */StateField.define({create:function create(){return new LintState(Decoration.none,null,null);},update:function update(value,tr){if(tr.docChanged){var mapped=value.diagnostics.map(tr.changes),selected=null;if(value.selected){var selPos=tr.changes.mapPos(value.selected.from,1);selected=findDiagnostic(mapped,value.selected.diagnostic,selPos)||findDiagnostic(mapped,null,selPos);}value=new LintState(mapped,value.panel,selected);}var _iterator238=_createForOfIteratorHelper(tr.effects),_step238;try{for(_iterator238.s();!(_step238=_iterator238.n()).done;){var effect=_step238.value;if(effect.is(_setDiagnosticsEffect)){value=LintState.init(effect.value,value.panel,tr.state);}else if(effect.is(togglePanel2)){value=new LintState(value.diagnostics,effect.value?LintPanel.open:null,value.selected);}else if(effect.is(movePanelSelection)){value=new LintState(value.diagnostics,value.panel,effect.value);}}}catch(err){_iterator238.e(err);}finally{_iterator238.f();}return value;},provide:function provide(f){return[showPanel.from(f,function(val){return val.panel;}),EditorView.decorations.from(f,function(s){return s.diagnostics;})];}});function _diagnosticCount(state){var lint=state.field(lintState,false);return lint?lint.diagnostics.size:0;}var activeMark=/* @__PURE__ */Decoration.mark({"class":"cm-lintRange cm-lintRange-active"});function lintTooltip(view,pos,side){var _view$state$field=view.state.field(lintState),diagnostics=_view$state$field.diagnostics;var found=[],stackStart=2e8,stackEnd=0;diagnostics.between(pos-(side<0?1:0),pos+(side>0?1:0),function(from,to,_ref61){var spec=_ref61.spec;if(pos>=from&&pos<=to&&(from==to||(pos>from||side>0)&&(pos<to||side<0))){found.push(spec.diagnostic);stackStart=Math.min(from,stackStart);stackEnd=Math.max(to,stackEnd);}});var diagnosticFilter=view.state.facet(lintConfig).tooltipFilter;if(diagnosticFilter)found=diagnosticFilter(found);if(!found.length)return null;return{pos:stackStart,end:stackEnd,above:view.state.doc.lineAt(stackStart).to<stackEnd,create:function create(){return{dom:diagnosticsTooltip(view,found)};}};}function diagnosticsTooltip(view,diagnostics){return crelt("ul",{"class":"cm-tooltip-lint"},diagnostics.map(function(d){return renderDiagnostic(view,d,false);}));}var _openLintPanel=function _openLintPanel(view){var field=view.state.field(lintState,false);if(!field||!field.panel)view.dispatch({effects:maybeEnableLint(view.state,[togglePanel2.of(true)])});var panel=getPanel(view,LintPanel.open);if(panel)panel.dom.querySelector(".cm-panel-lint ul").focus();return true;};var _closeLintPanel=function _closeLintPanel(view){var field=view.state.field(lintState,false);if(!field||!field.panel)return false;view.dispatch({effects:togglePanel2.of(false)});return true;};var _nextDiagnostic=function _nextDiagnostic(view){var field=view.state.field(lintState,false);if(!field)return false;var sel=view.state.selection.main,next=field.diagnostics.iter(sel.to+1);if(!next.value){next=field.diagnostics.iter(0);if(!next.value||next.from==sel.from&&next.to==sel.to)return false;}view.dispatch({selection:{anchor:next.from,head:next.to},scrollIntoView:true});return true;};var _lintKeymap=[{key:"Mod-Shift-m",run:_openLintPanel},{key:"F8",run:_nextDiagnostic}];var lintPlugin=/* @__PURE__ */ViewPlugin.fromClass(/*#__PURE__*/function(){function _class19(view){_classCallCheck(this,_class19);this.view=view;this.timeout=-1;this.set=true;var _view$state$facet=view.state.facet(lintConfig),delay=_view$state$facet.delay;this.lintTime=Date.now()+delay;this.run=this.run.bind(this);this.timeout=setTimeout(this.run,delay);}_createClass(_class19,[{key:"run",value:function run(){var _this96=this;var now=Date.now();if(now<this.lintTime-10){setTimeout(this.run,this.lintTime-now);}else{this.set=false;var state=this.view.state,_state$facet=state.facet(lintConfig),sources=_state$facet.sources;Promise.all(sources.map(function(source){return Promise.resolve(source(_this96.view));})).then(function(annotations){var all=annotations.reduce(function(a,b){return a.concat(b);});if(_this96.view.state.doc==state.doc)_this96.view.dispatch(_setDiagnostics(_this96.view.state,all));},function(error){logException(_this96.view.state,error);});}}},{key:"update",value:function update(_update28){var config2=_update28.state.facet(lintConfig);if(_update28.docChanged||config2!=_update28.startState.facet(lintConfig)){this.lintTime=Date.now()+config2.delay;if(!this.set){this.set=true;this.timeout=setTimeout(this.run,config2.delay);}}}},{key:"force",value:function force(){if(this.set){this.lintTime=Date.now();this.run();}}},{key:"destroy",value:function destroy(){clearTimeout(this.timeout);}}]);return _class19;}());var lintConfig=/* @__PURE__ */Facet.define({combine:function combine(input){return Object.assign({sources:input.map(function(i){return i.source;})},combineConfig(input.map(function(i){return i.config;}),{delay:750,markerFilter:null,tooltipFilter:null}));},enables:lintPlugin});function _linter(source){var config2=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};return lintConfig.of({source:source,config:config2});}function _forceLinting(view){var plugin=view.plugin(lintPlugin);if(plugin)plugin.force();}function assignKeys(actions){var assigned=[];if(actions){var _iterator239=_createForOfIteratorHelper(actions),_step239;try{actions:for(_iterator239.s();!(_step239=_iterator239.n()).done;){var _name5=_step239.value.name;var _loop15=function _loop15(_i169){var ch=_name5[_i169];if(/[a-zA-Z]/.test(ch)&&!assigned.some(function(c){return c.toLowerCase()==ch.toLowerCase();})){assigned.push(ch);return"continue|actions";}};for(var _i169=0;_i169<_name5.length;_i169++){var _ret6=_loop15(_i169);if(_ret6==="continue|actions")continue actions;}assigned.push("");}}catch(err){_iterator239.e(err);}finally{_iterator239.f();}}return assigned;}function renderDiagnostic(view,diagnostic,inPanel){var _a2;var keys2=inPanel?assignKeys(diagnostic.actions):[];return crelt("li",{"class":"cm-diagnostic cm-diagnostic-"+diagnostic.severity},crelt("span",{"class":"cm-diagnosticText"},diagnostic.renderMessage?diagnostic.renderMessage():diagnostic.message),(_a2=diagnostic.actions)===null||_a2===void 0?void 0:_a2.map(function(action,i){var click=function click(e){e.preventDefault();var found=findDiagnostic(view.state.field(lintState).diagnostics,diagnostic);if(found)action.apply(view,found.from,found.to);};var name2=action.name,keyIndex=keys2[i]?name2.indexOf(keys2[i]):-1;var nameElt=keyIndex<0?name2:[name2.slice(0,keyIndex),crelt("u",name2.slice(keyIndex,keyIndex+1)),name2.slice(keyIndex+1)];return crelt("button",{type:"button","class":"cm-diagnosticAction",onclick:click,onmousedown:click,"aria-label":" Action: ".concat(name2).concat(keyIndex<0?"":" (access key \"".concat(keys2[i],")\""),".")},nameElt);}),diagnostic.source&&crelt("div",{"class":"cm-diagnosticSource"},diagnostic.source));}var DiagnosticWidget=/*#__PURE__*/function(_WidgetType9){_inherits(DiagnosticWidget,_WidgetType9);var _super42=_createSuper(DiagnosticWidget);function DiagnosticWidget(diagnostic){var _this97;_classCallCheck(this,DiagnosticWidget);_this97=_super42.call(this);_this97.diagnostic=diagnostic;return _this97;}_createClass(DiagnosticWidget,[{key:"eq",value:function eq(other){return other.diagnostic==this.diagnostic;}},{key:"toDOM",value:function toDOM(){return crelt("span",{"class":"cm-lintPoint cm-lintPoint-"+this.diagnostic.severity});}}]);return DiagnosticWidget;}(WidgetType);var PanelItem=/*#__PURE__*/_createClass(function PanelItem(view,diagnostic){_classCallCheck(this,PanelItem);this.diagnostic=diagnostic;this.id="item_"+Math.floor(Math.random()*4294967295).toString(16);this.dom=renderDiagnostic(view,diagnostic,true);this.dom.id=this.id;this.dom.setAttribute("role","option");});var LintPanel=/*#__PURE__*/function(){function LintPanel(view){var _this98=this;_classCallCheck(this,LintPanel);this.view=view;this.items=[];var onkeydown=function onkeydown(event){if(event.keyCode==27){_closeLintPanel(_this98.view);_this98.view.focus();}else if(event.keyCode==38||event.keyCode==33){_this98.moveSelection((_this98.selectedIndex-1+_this98.items.length)%_this98.items.length);}else if(event.keyCode==40||event.keyCode==34){_this98.moveSelection((_this98.selectedIndex+1)%_this98.items.length);}else if(event.keyCode==36){_this98.moveSelection(0);}else if(event.keyCode==35){_this98.moveSelection(_this98.items.length-1);}else if(event.keyCode==13){_this98.view.focus();}else if(event.keyCode>=65&&event.keyCode<=90&&_this98.selectedIndex>=0){var diagnostic=_this98.items[_this98.selectedIndex].diagnostic,keys2=assignKeys(diagnostic.actions);for(var _i170=0;_i170<keys2.length;_i170++){if(keys2[_i170].toUpperCase().charCodeAt(0)==event.keyCode){var found=findDiagnostic(_this98.view.state.field(lintState).diagnostics,diagnostic);if(found)diagnostic.actions[_i170].apply(view,found.from,found.to);}}}else{return;}event.preventDefault();};var onclick=function onclick(event){for(var _i171=0;_i171<_this98.items.length;_i171++){if(_this98.items[_i171].dom.contains(event.target))_this98.moveSelection(_i171);}};this.list=crelt("ul",{tabIndex:0,role:"listbox","aria-label":this.view.state.phrase("Diagnostics"),onkeydown:onkeydown,onclick:onclick});this.dom=crelt("div",{"class":"cm-panel-lint"},this.list,crelt("button",{type:"button",name:"close","aria-label":this.view.state.phrase("close"),onclick:function onclick(){return _closeLintPanel(_this98.view);}},"\xD7"));this.update();}_createClass(LintPanel,[{key:"selectedIndex",get:function get(){var selected=this.view.state.field(lintState).selected;if(!selected)return-1;for(var _i172=0;_i172<this.items.length;_i172++){if(this.items[_i172].diagnostic==selected.diagnostic)return _i172;}return-1;}},{key:"update",value:function update(){var _this99=this;var _this$view$state$fiel=this.view.state.field(lintState),diagnostics=_this$view$state$fiel.diagnostics,selected=_this$view$state$fiel.selected;var i=0,needsSync=false,newSelectedItem=null;diagnostics.between(0,this.view.state.doc.length,function(_start,_end,_ref62){var spec=_ref62.spec;var found=-1,item;for(var j=i;j<_this99.items.length;j++){if(_this99.items[j].diagnostic==spec.diagnostic){found=j;break;}}if(found<0){item=new PanelItem(_this99.view,spec.diagnostic);_this99.items.splice(i,0,item);needsSync=true;}else{item=_this99.items[found];if(found>i){_this99.items.splice(i,found-i);needsSync=true;}}if(selected&&item.diagnostic==selected.diagnostic){if(!item.dom.hasAttribute("aria-selected")){item.dom.setAttribute("aria-selected","true");newSelectedItem=item;}}else if(item.dom.hasAttribute("aria-selected")){item.dom.removeAttribute("aria-selected");}i++;});while(i<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0)){needsSync=true;this.items.pop();}if(this.items.length==0){this.items.push(new PanelItem(this.view,{from:-1,to:-1,severity:"info",message:this.view.state.phrase("No diagnostics")}));needsSync=true;}if(newSelectedItem){this.list.setAttribute("aria-activedescendant",newSelectedItem.id);this.view.requestMeasure({key:this,read:function read(){return{sel:newSelectedItem.dom.getBoundingClientRect(),panel:_this99.list.getBoundingClientRect()};},write:function write(_ref63){var sel=_ref63.sel,panel=_ref63.panel;if(sel.top<panel.top)_this99.list.scrollTop-=panel.top-sel.top;else if(sel.bottom>panel.bottom)_this99.list.scrollTop+=sel.bottom-panel.bottom;}});}else if(this.selectedIndex<0){this.list.removeAttribute("aria-activedescendant");}if(needsSync)this.sync();}},{key:"sync",value:function sync(){var domPos=this.list.firstChild;function rm2(){var prev=domPos;domPos=prev.nextSibling;prev.remove();}var _iterator240=_createForOfIteratorHelper(this.items),_step240;try{for(_iterator240.s();!(_step240=_iterator240.n()).done;){var item=_step240.value;if(item.dom.parentNode==this.list){while(domPos!=item.dom){rm2();}domPos=item.dom.nextSibling;}else{this.list.insertBefore(item.dom,domPos);}}}catch(err){_iterator240.e(err);}finally{_iterator240.f();}while(domPos){rm2();}}},{key:"moveSelection",value:function moveSelection(selectedIndex){if(this.selectedIndex<0)return;var field=this.view.state.field(lintState);var selection=findDiagnostic(field.diagnostics,this.items[selectedIndex].diagnostic);if(!selection)return;this.view.dispatch({selection:{anchor:selection.from,head:selection.to},scrollIntoView:true,effects:movePanelSelection.of(selection)});}}],[{key:"open",value:function open(view){return new LintPanel(view);}}]);return LintPanel;}();function svg(content2){var attrs=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"viewBox=\"0 0 40 40\"";return"url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" ".concat(attrs,">").concat(encodeURIComponent(content2),"</svg>')");}function underline(color){return svg("<path d=\"m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0\" stroke=\"".concat(color,"\" fill=\"none\" stroke-width=\".7\"/>"),"width=\"6\" height=\"3\"");}var baseTheme5=/* @__PURE__ */EditorView.baseTheme({".cm-diagnostic":{padding:"3px 6px 3px 8px",marginLeft:"-1px",display:"block",whiteSpace:"pre-wrap"},".cm-diagnostic-error":{borderLeft:"5px solid #d11"},".cm-diagnostic-warning":{borderLeft:"5px solid orange"},".cm-diagnostic-info":{borderLeft:"5px solid #999"},".cm-diagnosticAction":{font:"inherit",border:"none",padding:"2px 4px",backgroundColor:"#444",color:"white",borderRadius:"3px",marginLeft:"8px"},".cm-diagnosticSource":{fontSize:"70%",opacity:0.7},".cm-lintRange":{backgroundPosition:"left bottom",backgroundRepeat:"repeat-x",paddingBottom:"0.7px"},".cm-lintRange-error":{backgroundImage:/* @__PURE__ */underline("#d11")},".cm-lintRange-warning":{backgroundImage:/* @__PURE__ */underline("orange")},".cm-lintRange-info":{backgroundImage:/* @__PURE__ */underline("#999")},".cm-lintRange-active":{backgroundColor:"#ffdd9980"},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:"relative","&:after":{content:'""',position:"absolute",bottom:0,left:"-2px",borderLeft:"3px solid transparent",borderRight:"3px solid transparent",borderBottom:"4px solid #d11"}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:"orange"}},".cm-lintPoint-info":{"&:after":{borderBottomColor:"#999"}},".cm-panel.cm-panel-lint":{position:"relative","& ul":{maxHeight:"100px",overflowY:"auto","& [aria-selected]":{backgroundColor:"#ddd","& u":{textDecoration:"underline"}},"&:focus [aria-selected]":{background_fallback:"#bdf",backgroundColor:"Highlight",color_fallback:"white",color:"HighlightText"},"& u":{textDecoration:"none"},padding:0,margin:0},"& [name=close]":{position:"absolute",top:"0",right:"2px",background:"inherit",border:"none",font:"inherit",padding:0,margin:0}}});var LintGutterMarker=/*#__PURE__*/function(_GutterMarker4){_inherits(LintGutterMarker,_GutterMarker4);var _super43=_createSuper(LintGutterMarker);function LintGutterMarker(diagnostics){var _this100;_classCallCheck(this,LintGutterMarker);_this100=_super43.call(this);_this100.diagnostics=diagnostics;_this100.severity=diagnostics.reduce(function(max,d){var s=d.severity;return s=="error"||s=="warning"&&max=="info"?s:max;},"info");return _this100;}_createClass(LintGutterMarker,[{key:"toDOM",value:function toDOM(view){var elt=document.createElement("div");elt.className="cm-lint-marker cm-lint-marker-"+this.severity;var diagnostics=this.diagnostics;var diagnosticsFilter=view.state.facet(lintGutterConfig).tooltipFilter;if(diagnosticsFilter)diagnostics=diagnosticsFilter(diagnostics);if(diagnostics.length)elt.onmouseover=function(){return gutterMarkerMouseOver(view,elt,diagnostics);};return elt;}}]);return LintGutterMarker;}(GutterMarker);function trackHoverOn(view,marker){var mousemove=function mousemove(event){var rect=marker.getBoundingClientRect();if(event.clientX>rect.left-10&&event.clientX<rect.right+10&&event.clientY>rect.top-10&&event.clientY<rect.bottom+10)return;for(var target=event.target;target;target=target.parentNode){if(target.nodeType==1&&target.classList.contains("cm-tooltip-lint"))return;}window.removeEventListener("mousemove",mousemove);if(view.state.field(lintGutterTooltip))view.dispatch({effects:setLintGutterTooltip.of(null)});};window.addEventListener("mousemove",mousemove);}function gutterMarkerMouseOver(view,marker,diagnostics){function hovered(){var line=view.elementAtHeight(marker.getBoundingClientRect().top+5-view.documentTop);var linePos=view.coordsAtPos(line.from);if(linePos){view.dispatch({effects:setLintGutterTooltip.of({pos:line.from,above:false,create:function create(){return{dom:diagnosticsTooltip(view,diagnostics),getCoords:function getCoords(){return marker.getBoundingClientRect();}};}})});}marker.onmouseout=marker.onmousemove=null;trackHoverOn(view,marker);}var _view$state$facet2=view.state.facet(lintGutterConfig),hoverTime=_view$state$facet2.hoverTime;var hoverTimeout=setTimeout(hovered,hoverTime);marker.onmouseout=function(){clearTimeout(hoverTimeout);marker.onmouseout=marker.onmousemove=null;};marker.onmousemove=function(){clearTimeout(hoverTimeout);hoverTimeout=setTimeout(hovered,hoverTime);};}function markersForDiagnostics(doc2,diagnostics){var byLine=/* @__PURE__ */Object.create(null);var _iterator241=_createForOfIteratorHelper(diagnostics),_step241;try{for(_iterator241.s();!(_step241=_iterator241.n()).done;){var diagnostic=_step241.value;var _line6=doc2.lineAt(diagnostic.from);(byLine[_line6.from]||(byLine[_line6.from]=[])).push(diagnostic);}}catch(err){_iterator241.e(err);}finally{_iterator241.f();}var markers=[];for(var line in byLine){markers.push(new LintGutterMarker(byLine[line]).range(+line));}return RangeSet.of(markers,true);}var lintGutterExtension=/* @__PURE__ */gutter({"class":"cm-gutter-lint",markers:function markers(view){return view.state.field(lintGutterMarkers);}});var lintGutterMarkers=/* @__PURE__ */StateField.define({create:function create(){return RangeSet.empty;},update:function update(markers,tr){markers=markers.map(tr.changes);var diagnosticFilter=tr.state.facet(lintGutterConfig).markerFilter;var _iterator242=_createForOfIteratorHelper(tr.effects),_step242;try{for(_iterator242.s();!(_step242=_iterator242.n()).done;){var effect=_step242.value;if(effect.is(_setDiagnosticsEffect)){var diagnostics=effect.value;if(diagnosticFilter)diagnostics=diagnosticFilter(diagnostics||[]);markers=markersForDiagnostics(tr.state.doc,diagnostics.slice(0));}}}catch(err){_iterator242.e(err);}finally{_iterator242.f();}return markers;}});var setLintGutterTooltip=/* @__PURE__ */StateEffect.define();var lintGutterTooltip=/* @__PURE__ */StateField.define({create:function create(){return null;},update:function update(tooltip,tr){if(tooltip&&tr.docChanged)tooltip=hideTooltip(tr,tooltip)?null:Object.assign(Object.assign({},tooltip),{pos:tr.changes.mapPos(tooltip.pos)});return tr.effects.reduce(function(t2,e){return e.is(setLintGutterTooltip)?e.value:t2;},tooltip);},provide:function provide(field){return showTooltip.from(field);}});var lintGutterTheme=/* @__PURE__ */EditorView.baseTheme({".cm-gutter-lint":{width:"1.4em","& .cm-gutterElement":{padding:".2em"}},".cm-lint-marker":{width:"1em",height:"1em"},".cm-lint-marker-info":{content:/* @__PURE__ */svg("<path fill=\"#aaf\" stroke=\"#77e\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M5 5L35 5L35 35L5 35Z\"/>")},".cm-lint-marker-warning":{content:/* @__PURE__ */svg("<path fill=\"#fe8\" stroke=\"#fd7\" stroke-width=\"6\" stroke-linejoin=\"round\" d=\"M20 6L37 35L3 35Z\"/>")},".cm-lint-marker-error:before":{content:/* @__PURE__ */svg("<circle cx=\"20\" cy=\"20\" r=\"15\" fill=\"#f87\" stroke=\"#f43\" stroke-width=\"6\"/>")}});var lintGutterConfig=/* @__PURE__ */Facet.define({combine:function combine(configs){return combineConfig(configs,{hoverTime:300,markerFilter:null,tooltipFilter:null});}});function _lintGutter(){var config2=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};return[lintGutterConfig.of(config2),lintGutterMarkers,lintGutterExtension,lintGutterTheme,lintGutterTooltip];}// ../node_modules/codemirror/dist/index.js 15var basicSetup=/* @__PURE__ */function(){return[lineNumbers(),highlightActiveLineGutter(),highlightSpecialChars(),history(),_foldGutter(),drawSelection(),dropCursor(),EditorState.allowMultipleSelections.of(true),_indentOnInput(),_syntaxHighlighting(_defaultHighlightStyle,{fallback:true}),_bracketMatching(),_closeBrackets(),_autocompletion(),rectangularSelection(),crosshairCursor(),highlightActiveLine(),highlightSelectionMatches(),keymap.of([].concat(_closeBracketsKeymap,_toConsumableArray(defaultKeymap),searchKeymap,historyKeymap,_foldKeymap,_completionKeymap,_lintKeymap))];}();// ../node_modules/@codemirror/legacy-modes/mode/mllike.js 16function mlLike(parserConfig){var words={"as":"keyword","do":"keyword","else":"keyword","end":"keyword","exception":"keyword","fun":"keyword","functor":"keyword","if":"keyword","in":"keyword","include":"keyword","let":"keyword","of":"keyword","open":"keyword","rec":"keyword","struct":"keyword","then":"keyword","type":"keyword","val":"keyword","while":"keyword","with":"keyword"};var extraWords=parserConfig.extraWords||{};for(var prop in extraWords){if(extraWords.hasOwnProperty(prop)){words[prop]=parserConfig.extraWords[prop];}}var hintWords=[];for(var k in words){hintWords.push(k);}function tokenBase(stream,state){var ch=stream.next();if(ch==='"'){state.tokenize=tokenString;return state.tokenize(stream,state);}if(ch==="{"){if(stream.eat("|")){state.longString=true;state.tokenize=tokenLongString;return state.tokenize(stream,state);}}if(ch==="("){if(stream.match(/^\*(?!\))/)){state.commentLevel++;state.tokenize=tokenComment;return state.tokenize(stream,state);}}if(ch==="~"||ch==="?"){stream.eatWhile(/\w/);return"variableName.special";}if(ch==="`"){stream.eatWhile(/\w/);return"quote";}if(ch==="/"&&parserConfig.slashComments&&stream.eat("/")){stream.skipToEnd();return"comment";}if(/\d/.test(ch)){if(ch==="0"&&stream.eat(/[bB]/)){stream.eatWhile(/[01]/);}if(ch==="0"&&stream.eat(/[xX]/)){stream.eatWhile(/[0-9a-fA-F]/);}if(ch==="0"&&stream.eat(/[oO]/)){stream.eatWhile(/[0-7]/);}else{stream.eatWhile(/[\d_]/);if(stream.eat(".")){stream.eatWhile(/[\d]/);}if(stream.eat(/[eE]/)){stream.eatWhile(/[\d\-+]/);}}return"number";}if(/[+\-*&%=<>!?|@\.~:]/.test(ch)){return"operator";}if(/[\w\xa1-\uffff]/.test(ch)){stream.eatWhile(/[\w\xa1-\uffff]/);var cur2=stream.current();return words.hasOwnProperty(cur2)?words[cur2]:"variable";}return null;}function tokenString(stream,state){var next,end=false,escaped=false;while((next=stream.next())!=null){if(next==='"'&&!escaped){end=true;break;}escaped=!escaped&&next==="\\";}if(end&&!escaped){state.tokenize=tokenBase;}return"string";};function tokenComment(stream,state){var prev,next;while(state.commentLevel>0&&(next=stream.next())!=null){if(prev==="("&&next==="*")state.commentLevel++;if(prev==="*"&&next===")")state.commentLevel--;prev=next;}if(state.commentLevel<=0){state.tokenize=tokenBase;}return"comment";}function tokenLongString(stream,state){var prev,next;while(state.longString&&(next=stream.next())!=null){if(prev==="|"&&next==="}")state.longString=false;prev=next;}if(!state.longString){state.tokenize=tokenBase;}return"string";}return{startState:function startState(){return{tokenize:tokenBase,commentLevel:0,longString:false};},token:function token(stream,state){if(stream.eatSpace())return null;return state.tokenize(stream,state);},languageData:{autocomplete:hintWords,commentTokens:{line:parserConfig.slashComments?"//":void 0,block:{open:"(*",close:"*)"}}}};}var oCaml=mlLike({extraWords:{"and":"keyword","assert":"keyword","begin":"keyword","class":"keyword","constraint":"keyword","done":"keyword","downto":"keyword","external":"keyword","function":"keyword","initializer":"keyword","lazy":"keyword","match":"keyword","method":"keyword","module":"keyword","mutable":"keyword","new":"keyword","nonrec":"keyword","object":"keyword","private":"keyword","sig":"keyword","to":"keyword","try":"keyword","value":"keyword","virtual":"keyword","when":"keyword","raise":"builtin","failwith":"builtin","true":"builtin","false":"builtin","asr":"builtin","land":"builtin","lor":"builtin","lsl":"builtin","lsr":"builtin","lxor":"builtin","mod":"builtin","or":"builtin","raise_notrace":"builtin","trace":"builtin","exit":"builtin","print_string":"builtin","print_endline":"builtin","int":"type","float":"type","bool":"type","char":"type","string":"type","unit":"type","List":"builtin"}});var fSharp=mlLike({extraWords:{"abstract":"keyword","assert":"keyword","base":"keyword","begin":"keyword","class":"keyword","default":"keyword","delegate":"keyword","do!":"keyword","done":"keyword","downcast":"keyword","downto":"keyword","elif":"keyword","extern":"keyword","finally":"keyword","for":"keyword","function":"keyword","global":"keyword","inherit":"keyword","inline":"keyword","interface":"keyword","internal":"keyword","lazy":"keyword","let!":"keyword","match":"keyword","member":"keyword","module":"keyword","mutable":"keyword","namespace":"keyword","new":"keyword","null":"keyword","override":"keyword","private":"keyword","public":"keyword","return!":"keyword","return":"keyword","select":"keyword","static":"keyword","to":"keyword","try":"keyword","upcast":"keyword","use!":"keyword","use":"keyword","void":"keyword","when":"keyword","yield!":"keyword","yield":"keyword","atomic":"keyword","break":"keyword","checked":"keyword","component":"keyword","const":"keyword","constraint":"keyword","constructor":"keyword","continue":"keyword","eager":"keyword","event":"keyword","external":"keyword","fixed":"keyword","method":"keyword","mixin":"keyword","object":"keyword","parallel":"keyword","process":"keyword","protected":"keyword","pure":"keyword","sealed":"keyword","tailcall":"keyword","trait":"keyword","virtual":"keyword","volatile":"keyword","List":"builtin","Seq":"builtin","Map":"builtin","Set":"builtin","Option":"builtin","int":"builtin","string":"builtin","not":"builtin","true":"builtin","false":"builtin","raise":"builtin","failwith":"builtin"},slashComments:true});var sml=mlLike({extraWords:{"abstype":"keyword","and":"keyword","andalso":"keyword","case":"keyword","datatype":"keyword","fn":"keyword","handle":"keyword","infix":"keyword","infixr":"keyword","local":"keyword","nonfix":"keyword","op":"keyword","orelse":"keyword","raise":"keyword","withtype":"keyword","eqtype":"keyword","sharing":"keyword","sig":"keyword","signature":"keyword","structure":"keyword","where":"keyword","true":"keyword","false":"keyword","int":"builtin","real":"builtin","string":"builtin","char":"builtin","bool":"builtin"},slashComments:true});// includes.js 17joo_global_object.__CM__view=EditorView;joo_global_object.__CM__state=EditorState;joo_global_object.__CM__rangeSet=RangeSet;joo_global_object.__CM__decoration=Decoration;joo_global_object.__CM__widgetType=WidgetType;joo_global_object.__CM__compartment=Compartment;joo_global_object.__CM__lint=dist_exports3;joo_global_object.__CM__autocomplete=dist_exports2;joo_global_object.__CM__hoverTooltip=hoverTooltip;joo_global_object.__CM__lineNumbers=lineNumbers;joo_global_object.__CM__basic_setup=basicSetup;joo_global_object.__CM__stream_parser=dist_exports;joo_global_object.__CM__mllike=oCaml;})();